@fremtind/jokul 3.6.0 → 3.7.0

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 (271) hide show
  1. package/README.md +15 -2
  2. package/build/build-stats.html +1 -1
  3. package/build/cjs/components/menu/Menu.cjs +1 -1
  4. package/build/cjs/components/menu/Menu.cjs.map +1 -1
  5. package/build/cjs/components/text-input/BaseTextInput.cjs +1 -1
  6. package/build/cjs/components/text-input/BaseTextInput.cjs.map +1 -1
  7. package/build/cjs/core/tokens/style-dictionary/build.cjs +1 -1
  8. package/build/cjs/core/tokens/style-dictionary/build.cjs.map +1 -1
  9. package/build/cjs/core/tokens.cjs +1 -1
  10. package/build/cjs/core/tokens.cjs.map +1 -1
  11. package/build/cjs/core/tokens.d.cts +114 -0
  12. package/build/cjs/tailwind/plugins/jokulTypographyPlugin.cjs +1 -1
  13. package/build/cjs/tailwind/plugins/jokulTypographyPlugin.cjs.map +1 -1
  14. package/build/es/components/menu/Menu.js +1 -1
  15. package/build/es/components/menu/Menu.js.map +1 -1
  16. package/build/es/components/text-input/BaseTextInput.js +1 -1
  17. package/build/es/components/text-input/BaseTextInput.js.map +1 -1
  18. package/build/es/core/tokens/style-dictionary/build.js +1 -1
  19. package/build/es/core/tokens/style-dictionary/build.js.map +1 -1
  20. package/build/es/core/tokens.d.ts +114 -0
  21. package/build/es/core/tokens.js +1 -1
  22. package/build/es/core/tokens.js.map +1 -1
  23. package/build/es/tailwind/plugins/jokulTypographyPlugin.js +1 -1
  24. package/build/es/tailwind/plugins/jokulTypographyPlugin.js.map +1 -1
  25. package/package.json +4 -2
  26. package/styles/components/autosuggest/_index.scss +2 -0
  27. package/styles/components/autosuggest/autosuggest.scss +87 -0
  28. package/styles/components/breadcrumb/_index.scss +2 -0
  29. package/styles/components/breadcrumb/breadcrumb.scss +38 -0
  30. package/styles/components/button/_index.scss +2 -0
  31. package/styles/components/button/button.scss +169 -0
  32. package/styles/components/card/_index.scss +3 -0
  33. package/styles/components/card/card.scss +105 -0
  34. package/styles/components/checkbox/_index.scss +1 -0
  35. package/styles/components/checkbox/checkbox.css +4 -4
  36. package/styles/components/checkbox/checkbox.min.css +1 -1
  37. package/styles/components/checkbox/checkbox.scss +248 -0
  38. package/styles/components/checkbox-panel/_index.scss +1 -0
  39. package/styles/components/checkbox-panel/checkbox-panel.css +6 -6
  40. package/styles/components/checkbox-panel/checkbox-panel.min.css +1 -1
  41. package/styles/components/checkbox-panel/checkbox-panel.scss +95 -0
  42. package/styles/components/checkbox-panel/development/styles.scss +27 -0
  43. package/styles/components/chip/_index.scss +2 -0
  44. package/styles/components/chip/chip.scss +104 -0
  45. package/styles/components/combobox/_index.scss +6 -0
  46. package/styles/components/combobox/combobox.scss +238 -0
  47. package/styles/components/cookie-consent/_index.scss +5 -0
  48. package/styles/components/cookie-consent/cookie-consent.scss +31 -0
  49. package/styles/components/countdown/_index.scss +1 -0
  50. package/styles/components/countdown/countdown.css +2 -2
  51. package/styles/components/countdown/countdown.min.css +1 -1
  52. package/styles/components/countdown/countdown.scss +25 -0
  53. package/styles/components/datepicker/_calendar-date-button.scss +85 -0
  54. package/styles/components/datepicker/_calendar-navigation-dropdown.scss +52 -0
  55. package/styles/components/datepicker/_calendar-navigation.scss +12 -0
  56. package/styles/components/datepicker/_calendar-table.scss +27 -0
  57. package/styles/components/datepicker/_calendar.scss +36 -0
  58. package/styles/components/datepicker/_index.scss +6 -0
  59. package/styles/components/datepicker/datepicker.scss +47 -0
  60. package/styles/components/description-list/_index.scss +1 -0
  61. package/styles/components/description-list/description-list.scss +58 -0
  62. package/styles/components/expander/_index.scss +4 -0
  63. package/styles/components/expander/expandable.scss +141 -0
  64. package/styles/components/feedback/_index.scss +10 -0
  65. package/styles/components/feedback/feedback.css +2 -2
  66. package/styles/components/feedback/feedback.min.css +1 -1
  67. package/styles/components/feedback/feedback.scss +113 -0
  68. package/styles/components/file/_index.scss +3 -0
  69. package/styles/components/file/file.scss +164 -0
  70. package/styles/components/file-input/_index.scss +5 -0
  71. package/styles/components/file-input/file-input.css +9 -9
  72. package/styles/components/file-input/file-input.min.css +1 -1
  73. package/styles/components/file-input/file-input.scss +130 -0
  74. package/styles/components/flex/_index.scss +1 -0
  75. package/styles/components/flex/flex.scss +252 -0
  76. package/styles/components/help/_index.scss +2 -0
  77. package/styles/components/help/help.scss +47 -0
  78. package/styles/components/icon/_base-styles.scss +21 -0
  79. package/styles/components/icon/_index.scss +1 -0
  80. package/styles/components/icon/development/internal/icons-example-grid.scss +13 -0
  81. package/styles/components/icon/icon.scss +139 -0
  82. package/styles/components/icon-button/_index.scss +1 -0
  83. package/styles/components/icon-button/icon-button.scss +38 -0
  84. package/styles/components/image/_index.scss +1 -0
  85. package/styles/components/image/development/style.scss +9 -0
  86. package/styles/components/image/image.scss +37 -0
  87. package/styles/components/image/stories/styles.scss +9 -0
  88. package/styles/components/input-group/_field-group.scss +5 -0
  89. package/styles/components/input-group/_index.scss +3 -0
  90. package/styles/components/input-group/_labels.scss +159 -0
  91. package/styles/components/input-group/input-group.css +2 -2
  92. package/styles/components/input-group/input-group.min.css +1 -1
  93. package/styles/components/input-group/input-group.scss +11 -0
  94. package/styles/components/input-panel/input-panel.scss +84 -0
  95. package/styles/components/link/_index.scss +1 -0
  96. package/styles/components/link/link.scss +62 -0
  97. package/styles/components/link-list/_index.scss +2 -0
  98. package/styles/components/link-list/link-list.scss +94 -0
  99. package/styles/components/list/_index.scss +1 -0
  100. package/styles/components/list/list.scss +98 -0
  101. package/styles/components/loader/_index.scss +2 -0
  102. package/styles/components/loader/development/styles.scss +11 -0
  103. package/styles/components/loader/loader.css +6 -6
  104. package/styles/components/loader/loader.min.css +1 -1
  105. package/styles/components/loader/loader.scss +139 -0
  106. package/styles/components/loader/skeleton-loader.css +3 -3
  107. package/styles/components/loader/skeleton-loader.min.css +1 -1
  108. package/styles/components/loader/skeleton-loader.scss +137 -0
  109. package/styles/components/logo/_index.scss +1 -0
  110. package/styles/components/logo/development/styles.scss +9 -0
  111. package/styles/components/logo/logo.scss +90 -0
  112. package/styles/components/menu/_index.scss +1 -0
  113. package/styles/components/menu/_menu-divider.scss +10 -0
  114. package/styles/components/menu/_menu-item.scss +71 -0
  115. package/styles/components/menu/menu.scss +40 -0
  116. package/styles/components/message/_index.scss +2 -0
  117. package/styles/components/message/message.css +2 -2
  118. package/styles/components/message/message.min.css +1 -1
  119. package/styles/components/message/message.scss +187 -0
  120. package/styles/components/modal/_index.scss +3 -0
  121. package/styles/components/modal/modal.scss +107 -0
  122. package/styles/components/nav-link/_index.scss +1 -0
  123. package/styles/components/nav-link/nav-link.scss +66 -0
  124. package/styles/components/pagination/_index.scss +5 -0
  125. package/styles/components/pagination/development/styles.scss +35 -0
  126. package/styles/components/pagination/pagination.scss +49 -0
  127. package/styles/components/popover/_index.scss +1 -0
  128. package/styles/components/popover/popover.scss +19 -0
  129. package/styles/components/progress-bar/_index.scss +1 -0
  130. package/styles/components/progress-bar/progress-bar.css +1 -1
  131. package/styles/components/progress-bar/progress-bar.min.css +1 -1
  132. package/styles/components/progress-bar/progress-bar.scss +27 -0
  133. package/styles/components/radio-button/_index.scss +2 -0
  134. package/styles/components/radio-button/radio-button.css +2 -2
  135. package/styles/components/radio-button/radio-button.min.css +1 -1
  136. package/styles/components/radio-button/radio-button.scss +219 -0
  137. package/styles/components/radio-panel/_index.scss +1 -0
  138. package/styles/components/radio-panel/development/styles.scss +27 -0
  139. package/styles/components/radio-panel/radio-panel.css +2 -2
  140. package/styles/components/radio-panel/radio-panel.min.css +1 -1
  141. package/styles/components/radio-panel/radio-panel.scss +82 -0
  142. package/styles/components/segmented-control/_index.scss +3 -0
  143. package/styles/components/segmented-control/segmented-control.css +4 -4
  144. package/styles/components/segmented-control/segmented-control.min.css +1 -1
  145. package/styles/components/segmented-control/segmented-control.scss +99 -0
  146. package/styles/components/select/_index.scss +3 -0
  147. package/styles/components/select/select.scss +299 -0
  148. package/styles/components/summary-table/_index.scss +1 -0
  149. package/styles/components/summary-table/development/summary-table-example.scss +10 -0
  150. package/styles/components/summary-table/summary-table.scss +49 -0
  151. package/styles/components/system-message/_index.scss +2 -0
  152. package/styles/components/system-message/system-message.css +2 -2
  153. package/styles/components/system-message/system-message.min.css +1 -1
  154. package/styles/components/system-message/system-message.scss +177 -0
  155. package/styles/components/table/_index.scss +6 -0
  156. package/styles/components/table/_table-caption.scss +7 -0
  157. package/styles/components/table/_table-cell.scss +90 -0
  158. package/styles/components/table/_table-head.scss +36 -0
  159. package/styles/components/table/_table-header.scss +65 -0
  160. package/styles/components/table/_table-pagination.scss +126 -0
  161. package/styles/components/table/_table-row.scss +177 -0
  162. package/styles/components/table/table.css +4 -0
  163. package/styles/components/table/table.min.css +1 -1
  164. package/styles/components/table/table.scss +53 -0
  165. package/styles/components/table-of-contents/_index.scss +1 -0
  166. package/styles/components/tabs/_index.scss +1 -0
  167. package/styles/components/tabs/tabs.scss +114 -0
  168. package/styles/components/tag/_index.scss +3 -0
  169. package/styles/components/tag/tag.scss +65 -0
  170. package/styles/components/text-area/_index.scss +4 -0
  171. package/styles/components/text-area/text-area.scss +111 -0
  172. package/styles/components/text-input/_index.scss +4 -0
  173. package/styles/components/text-input/text-input.scss +43 -0
  174. package/styles/components/toast/_index.scss +4 -0
  175. package/styles/components/toast/toast.css +4 -4
  176. package/styles/components/toast/toast.min.css +1 -1
  177. package/styles/components/toast/toast.scss +219 -0
  178. package/styles/components/toggle-switch/_index.scss +2 -0
  179. package/styles/components/toggle-switch/_toggle-slider.scss +123 -0
  180. package/styles/components/toggle-switch/toggle-switch.scss +137 -0
  181. package/styles/components/tooltip/_index.scss +3 -0
  182. package/styles/components/tooltip/popuptip.scss +5 -0
  183. package/styles/components/tooltip/tooltip.scss +87 -0
  184. package/styles/components-beta/description-list/_index.scss +1 -0
  185. package/styles/components-beta/description-list/description-list.scss +80 -0
  186. package/styles/components-beta/link-list/_index.scss +2 -0
  187. package/styles/components-beta/link-list/link-list.scss +81 -0
  188. package/styles/components-beta/nav-link/_index.scss +1 -0
  189. package/styles/components-beta/nav-link/navlink.scss +66 -0
  190. package/styles/components-beta/search/_index.scss +4 -0
  191. package/styles/components-beta/search/search-with-submit-button.scss +37 -0
  192. package/styles/components-beta/search/search.scss +106 -0
  193. package/styles/components-beta/select/_index.scss +3 -0
  194. package/styles/components-beta/select/select.scss +128 -0
  195. package/styles/components-beta/table-of-contents/_index.scss +2 -0
  196. package/styles/components-beta/table-of-contents/table-of-contents.scss +88 -0
  197. package/styles/core/_layers.scss +3 -0
  198. package/styles/core/core.css +61 -3
  199. package/styles/core/core.min.css +1 -1
  200. package/styles/core/core.scss +6 -0
  201. package/styles/core/global/_base-class.scss +38 -0
  202. package/styles/core/global/_index.scss +2 -0
  203. package/styles/core/global/_top-layer.scss +20 -0
  204. package/styles/core/jkl/_colors.scss +26 -0
  205. package/styles/core/jkl/_convert.scss +102 -0
  206. package/styles/core/jkl/_helpers.scss +26 -0
  207. package/styles/core/jkl/_index.scss +18 -0
  208. package/styles/core/jkl/_motion.scss +63 -0
  209. package/styles/core/jkl/_navigation.scss +9 -0
  210. package/styles/core/jkl/_ornaments.scss +28 -0
  211. package/styles/core/jkl/_reset.scss +45 -0
  212. package/styles/core/jkl/_responsive-units.scss +30 -0
  213. package/styles/core/jkl/_screenreader.scss +59 -0
  214. package/styles/core/jkl/_screens.scss +135 -0
  215. package/styles/core/jkl/_shadows.scss +25 -0
  216. package/styles/core/jkl/_spacing.scss +149 -0
  217. package/styles/core/jkl/_theme.scss +119 -0
  218. package/styles/core/jkl/_tokens.scss +58 -0
  219. package/styles/core/jkl/_typography.scss +269 -0
  220. package/styles/core/jkl/_underline.scss +16 -0
  221. package/styles/core/jkl/_z-index.scss +23 -0
  222. package/styles/core/jkl/legacy/_dynamic-colors.scss +40 -0
  223. package/styles/core/jkl/legacy/_index.scss +2 -0
  224. package/styles/core/jkl/legacy/_tokens.scss +566 -0
  225. package/styles/core/resets/_index.scss +2 -0
  226. package/styles/core/resets/_normalize.scss +251 -0
  227. package/styles/core/resets/_reset.scss +68 -0
  228. package/styles/core/theme/_color-tokens.scss +73 -0
  229. package/styles/core/theme/_dynamic-spacing.scss +55 -0
  230. package/styles/core/theme/_index.scss +8 -0
  231. package/styles/core/theme/_legacy-color-tokens.scss +81 -0
  232. package/styles/core/theme/_legacy-tokens.scss +215 -0
  233. package/styles/core/theme/_old-vars.scss +30 -0
  234. package/styles/core/theme/_spacing-tokens.scss +32 -0
  235. package/styles/core/theme/_tokens.scss +32 -0
  236. package/styles/core/theme/_typography.scss +27 -0
  237. package/styles/core/utility/_headings.scss +31 -0
  238. package/styles/core/utility/_index.scss +4 -0
  239. package/styles/core/utility/_paragraphs.scss +18 -0
  240. package/styles/core/utility/_screen-reader.scss +11 -0
  241. package/styles/core/utility/_spacing.scss +49 -0
  242. package/styles/hooks/stories/styles.scss +78 -0
  243. package/styles/shared/input/shared-input-styles.scss +181 -0
  244. package/styles/shared/track/track.scss +27 -0
  245. package/styles/styles.css +38 -34
  246. package/styles/styles.min.css +2 -2
  247. package/styles/styles.scss +52 -0
  248. package/styles/components/checkbox/development/public/fonts/webfonts.css +0 -115
  249. package/styles/components/checkbox/development/public/fonts/webfonts.min.css +0 -1
  250. package/styles/components/file-input/development/public/fonts/_index.scss +0 -1
  251. package/styles/components/file-input/development/public/fonts/webfonts.css +0 -108
  252. package/styles/components/file-input/development/public/fonts/webfonts.min.css +0 -1
  253. package/styles/components/file-input/development/public/fonts/webfonts.scss +0 -137
  254. package/styles/components/menu/development/public/fonts/_index.scss +0 -1
  255. package/styles/components/menu/development/public/fonts/webfonts.css +0 -108
  256. package/styles/components/menu/development/public/fonts/webfonts.min.css +0 -1
  257. package/styles/components/menu/development/public/fonts/webfonts.scss +0 -137
  258. package/styles/components/radio-button/development/public/fonts/_index.scss +0 -1
  259. package/styles/components/radio-button/development/public/fonts/webfonts.css +0 -115
  260. package/styles/components/radio-button/development/public/fonts/webfonts.min.css +0 -1
  261. package/styles/components/radio-button/development/public/fonts/webfonts.scss +0 -145
  262. package/styles/components/text-input/development/public/fonts/_index.scss +0 -1
  263. package/styles/components/text-input/development/public/fonts/webfonts.css +0 -115
  264. package/styles/components/text-input/development/public/fonts/webfonts.min.css +0 -1
  265. package/styles/components/text-input/development/public/fonts/webfonts.scss +0 -145
  266. package/styles/components/toggle-switch/development/public/fonts/_index.scss +0 -1
  267. package/styles/components/toggle-switch/development/public/fonts/webfonts.css +0 -115
  268. package/styles/components/toggle-switch/development/public/fonts/webfonts.min.css +0 -1
  269. package/styles/components/toggle-switch/development/public/fonts/webfonts.scss +0 -145
  270. /package/styles/{components/checkbox/development/public/fonts → fonts}/_index.scss +0 -0
  271. /package/styles/{components/checkbox/development/public/fonts → fonts}/webfonts.scss +0 -0
@@ -0,0 +1,27 @@
1
+ @use "sass:string";
2
+ @use "../../core/jkl";
3
+ @use "../../shared/track/track";
4
+
5
+ @layer jokul.components {
6
+ .jkl-progress-bar {
7
+ @include track.track;
8
+
9
+ &__tracker {
10
+ transition-property: width;
11
+
12
+ @include jkl.motion("standard", "productive");
13
+ }
14
+ }
15
+
16
+ $_downcount: jkl-downcount-#{string.unique-id()};
17
+
18
+ @keyframes #{$_downcount} {
19
+ from {
20
+ width: 100%;
21
+ }
22
+
23
+ to {
24
+ width: 0%;
25
+ }
26
+ }
27
+ }
@@ -0,0 +1,2 @@
1
+ @forward "radio-button";
2
+ @use "../input-group";
@@ -44,7 +44,7 @@
44
44
  --jkl-radio-button-label-font-weight: var(--jkl-small-font-weight);
45
45
  }
46
46
 
47
- @keyframes jkl-dot-in-uhm7bez {
47
+ @keyframes jkl-dot-in-uw6e4eo {
48
48
  0% {
49
49
  transform: scale(0.8);
50
50
  }
@@ -90,7 +90,7 @@
90
90
  }
91
91
  .jkl-radio-button__input:checked + .jkl-radio-button__label > .jkl-radio-button__dot::after {
92
92
  --dot-color: var(--jkl-color-border-action);
93
- animation: jkl-dot-in-uhm7bez 150ms ease;
93
+ animation: jkl-dot-in-uw6e4eo 150ms ease;
94
94
  }
95
95
  @media screen and (forced-colors: active) {
96
96
  .jkl-radio-button__input:checked + .jkl-radio-button__label > .jkl-radio-button__dot::after {
@@ -1 +1 @@
1
- :root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-radio-button-height:3rem;--jkl-radio-button-line-height:2rem;--jkl-radio-button-size:1.5rem;--jkl-radio-button-text-margin:0.5rem 0;--jkl-radio-button-text-transform:translate3d(0,0.0625rem,0);--jkl-radio-button-dot-margin:0.75rem 0.5rem 0.75rem 0;--jkl-radio-button-dot-size:1rem;--jkl-radio-button-label-font-size:var(--jkl-body-font-size);--jkl-radio-button-label-line-height:var(--jkl-body-line-height);--jkl-radio-button-label-font-weight:var(--jkl-body-font-weight)}@media (width >= 0) and (max-width:679px){:root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-radio-button-height:2.5rem;--jkl-radio-button-line-height:1.75rem;--jkl-radio-button-size:1.5rem;--jkl-radio-button-text-margin:0.5rem 0;--jkl-radio-button-text-transform:translateZ(0);--jkl-radio-button-dot-margin:0.625rem 0.5rem 0.625rem 0;--jkl-radio-button-dot-size:1rem}}[data-density=compact],[data-layout-density=compact]{--jkl-radio-button-height:1.75rem;--jkl-radio-button-line-height:1.5rem;--jkl-radio-button-size:1.125rem;--jkl-radio-button-text-margin:calc(var(--jkl-unit-10)*0.5) 0;--jkl-radio-button-text-transform:translateZ(0);--jkl-radio-button-dot-margin:0.4375rem 0.5rem 0.4375rem 0;--jkl-radio-button-dot-size:0.625rem;--jkl-radio-button-label-font-size:var(--jkl-small-font-size);--jkl-radio-button-label-line-height:var(--jkl-small-line-height);--jkl-radio-button-label-font-weight:var(--jkl-small-font-weight)}@keyframes jkl-dot-in-uhm7bez{0%{transform:scale(.8)}to{transform:scale(1)}}.jkl-radio-button{--ring-color:var(--jkl-color-border-action);--dot-color:#0000;--background-color:#0000;--text-color:var(--jkl-color-text-default);border-style:none;color:var(--text-color);display:flex;min-height:var(--jkl-radio-button-height);position:relative}.jkl-radio-button,.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}.jkl-radio-button,.jkl-radio-button:active,.jkl-radio-button:focus,.jkl-radio-button:hover{outline:revert;outline-style:revert}}.jkl-radio-button__input{left:calc(var(--jkl-radio-button-size)*-.5);opacity:0;position:absolute;top:var(--jkl-radio-button-size)}.jkl-radio-button__input:checked+.jkl-radio-button__label>.jkl-radio-button__dot:after{--dot-color:var(--jkl-color-border-action);animation:jkl-dot-in-uhm7bez .15s ease}@media screen and (forced-colors:active){.jkl-radio-button__input:checked+.jkl-radio-button__label>.jkl-radio-button__dot:after{background-color:ButtonText}}.jkl-radio-button--error .jkl-radio-button__input:checked+.jkl-radio-button__label>.jkl-radio-button__dot:after{--background-color:var(--jkl-color-background-alert-error);--dot-color:var(--jkl-color-text-on-alert)}.jkl-radio-button__input:focus-visible+.jkl-radio-button__label{--background-color:var(--jkl-color-background-input-focus)}.jkl-radio-button__input:focus-visible+.jkl-radio-button__label>.jkl-radio-button__dot{outline:3px solid var(--jkl-color-border-action);outline-offset:3px}.jkl-radio-button--error .jkl-radio-button__input:focus-visible+.jkl-radio-button__label{--background-color:var(--jkl-color-background-alert-error);--dot-color:var(--jkl-color-text-on-alert)}.jkl-radio-button__label{align-items:flex-start;cursor:pointer;display:flex;font-size:var(--jkl-radio-button-label-font-size);font-weight:var(--jkl-radio-button-label-font-weight);line-height:var(--jkl-radio-button-label-line-height)}.jkl-radio-button__label:hover>.jkl-radio-button__dot{outline:1px solid var(--ring-color)}.jkl-radio-button__label:active>.jkl-radio-button__dot .jkl-radio-button__label:after{scale:.9}.jkl-radio-button__dot{background-color:var(--background-color);border:.0625rem solid var(--ring-color);border-radius:50%;box-sizing:border-box;display:inline-block;flex-shrink:0;height:var(--jkl-radio-button-size);margin:var(--jkl-radio-button-dot-margin);position:relative;transition-duration:.15s;transition-property:background-color,outline;transition-timing-function:ease;width:var(--jkl-radio-button-size)}.jkl-radio-button__dot:after{background-color:var(--dot-color);border-radius:50%;content:"";height:var(--jkl-radio-button-dot-size);left:50%;position:absolute;scale:1;top:50%;transition-duration:.15s;transition-property:transform;transition-timing-function:ease;translate:-50% -50%;width:var(--jkl-radio-button-dot-size)}@media screen and (forced-colors:active){.jkl-radio-button__dot{border:1px solid ButtonText;outline:revert}}.jkl-radio-button__text{display:inline-block;margin:var(--jkl-radio-button-text-margin);transform:var(--jkl-radio-button-text-transform)}.jkl-radio-button--error{--background-color:var(--jkl-color-background-alert-error)}.jkl-radio-button--inline{display:inline-flex;margin-right:1.5rem;margin-top:unset}.jkl-radio-button+.jkl-form-support-label{margin-bottom:.5rem;margin-left:calc(var(--jkl-radio-button-size) + .5rem);margin-top:-.375rem}
1
+ :root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-radio-button-height:3rem;--jkl-radio-button-line-height:2rem;--jkl-radio-button-size:1.5rem;--jkl-radio-button-text-margin:0.5rem 0;--jkl-radio-button-text-transform:translate3d(0,0.0625rem,0);--jkl-radio-button-dot-margin:0.75rem 0.5rem 0.75rem 0;--jkl-radio-button-dot-size:1rem;--jkl-radio-button-label-font-size:var(--jkl-body-font-size);--jkl-radio-button-label-line-height:var(--jkl-body-line-height);--jkl-radio-button-label-font-weight:var(--jkl-body-font-weight)}@media (width >= 0) and (max-width:679px){:root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-radio-button-height:2.5rem;--jkl-radio-button-line-height:1.75rem;--jkl-radio-button-size:1.5rem;--jkl-radio-button-text-margin:0.5rem 0;--jkl-radio-button-text-transform:translateZ(0);--jkl-radio-button-dot-margin:0.625rem 0.5rem 0.625rem 0;--jkl-radio-button-dot-size:1rem}}[data-density=compact],[data-layout-density=compact]{--jkl-radio-button-height:1.75rem;--jkl-radio-button-line-height:1.5rem;--jkl-radio-button-size:1.125rem;--jkl-radio-button-text-margin:calc(var(--jkl-unit-10)*0.5) 0;--jkl-radio-button-text-transform:translateZ(0);--jkl-radio-button-dot-margin:0.4375rem 0.5rem 0.4375rem 0;--jkl-radio-button-dot-size:0.625rem;--jkl-radio-button-label-font-size:var(--jkl-small-font-size);--jkl-radio-button-label-line-height:var(--jkl-small-line-height);--jkl-radio-button-label-font-weight:var(--jkl-small-font-weight)}@keyframes jkl-dot-in-uw6e4eo{0%{transform:scale(.8)}to{transform:scale(1)}}.jkl-radio-button{--ring-color:var(--jkl-color-border-action);--dot-color:#0000;--background-color:#0000;--text-color:var(--jkl-color-text-default);border-style:none;color:var(--text-color);display:flex;min-height:var(--jkl-radio-button-height);position:relative}.jkl-radio-button,.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}.jkl-radio-button,.jkl-radio-button:active,.jkl-radio-button:focus,.jkl-radio-button:hover{outline:revert;outline-style:revert}}.jkl-radio-button__input{left:calc(var(--jkl-radio-button-size)*-.5);opacity:0;position:absolute;top:var(--jkl-radio-button-size)}.jkl-radio-button__input:checked+.jkl-radio-button__label>.jkl-radio-button__dot:after{--dot-color:var(--jkl-color-border-action);animation:jkl-dot-in-uw6e4eo .15s ease}@media screen and (forced-colors:active){.jkl-radio-button__input:checked+.jkl-radio-button__label>.jkl-radio-button__dot:after{background-color:ButtonText}}.jkl-radio-button--error .jkl-radio-button__input:checked+.jkl-radio-button__label>.jkl-radio-button__dot:after{--background-color:var(--jkl-color-background-alert-error);--dot-color:var(--jkl-color-text-on-alert)}.jkl-radio-button__input:focus-visible+.jkl-radio-button__label{--background-color:var(--jkl-color-background-input-focus)}.jkl-radio-button__input:focus-visible+.jkl-radio-button__label>.jkl-radio-button__dot{outline:3px solid var(--jkl-color-border-action);outline-offset:3px}.jkl-radio-button--error .jkl-radio-button__input:focus-visible+.jkl-radio-button__label{--background-color:var(--jkl-color-background-alert-error);--dot-color:var(--jkl-color-text-on-alert)}.jkl-radio-button__label{align-items:flex-start;cursor:pointer;display:flex;font-size:var(--jkl-radio-button-label-font-size);font-weight:var(--jkl-radio-button-label-font-weight);line-height:var(--jkl-radio-button-label-line-height)}.jkl-radio-button__label:hover>.jkl-radio-button__dot{outline:1px solid var(--ring-color)}.jkl-radio-button__label:active>.jkl-radio-button__dot .jkl-radio-button__label:after{scale:.9}.jkl-radio-button__dot{background-color:var(--background-color);border:.0625rem solid var(--ring-color);border-radius:50%;box-sizing:border-box;display:inline-block;flex-shrink:0;height:var(--jkl-radio-button-size);margin:var(--jkl-radio-button-dot-margin);position:relative;transition-duration:.15s;transition-property:background-color,outline;transition-timing-function:ease;width:var(--jkl-radio-button-size)}.jkl-radio-button__dot:after{background-color:var(--dot-color);border-radius:50%;content:"";height:var(--jkl-radio-button-dot-size);left:50%;position:absolute;scale:1;top:50%;transition-duration:.15s;transition-property:transform;transition-timing-function:ease;translate:-50% -50%;width:var(--jkl-radio-button-dot-size)}@media screen and (forced-colors:active){.jkl-radio-button__dot{border:1px solid ButtonText;outline:revert}}.jkl-radio-button__text{display:inline-block;margin:var(--jkl-radio-button-text-margin);transform:var(--jkl-radio-button-text-transform)}.jkl-radio-button--error{--background-color:var(--jkl-color-background-alert-error)}.jkl-radio-button--inline{display:inline-flex;margin-right:1.5rem;margin-top:unset}.jkl-radio-button+.jkl-form-support-label{margin-bottom:.5rem;margin-left:calc(var(--jkl-radio-button-size) + .5rem);margin-top:-.375rem}
@@ -0,0 +1,219 @@
1
+ @charset "UTF-8";
2
+ @use "sass:string";
3
+ @use "../../core/jkl";
4
+ @use "../../core/jkl/colors";
5
+
6
+ $_radio-button-dot-padding: jkl.rem(4px);
7
+ $_radio-button-dot-animation-name: jkl-dot-in-#{string.unique-id()};
8
+
9
+ @include jkl.comfortable-density-variables {
10
+ $_radio-button-height: jkl.rem(48px);
11
+ $_radio-button-line-height: jkl.rem(32px);
12
+ $_radio-button-size: jkl.rem(24px);
13
+
14
+ --jkl-radio-button-height: #{$_radio-button-height};
15
+ --jkl-radio-button-line-height: #{$_radio-button-line-height};
16
+ --jkl-radio-button-size: #{$_radio-button-size};
17
+ --jkl-radio-button-text-margin: #{(
18
+ ($_radio-button-height - $_radio-button-line-height) * 0.5
19
+ )} 0;
20
+ --jkl-radio-button-text-transform: translate3d(0, #{jkl.rem(1px)}, 0);
21
+ --jkl-radio-button-dot-margin: #{(
22
+ ($_radio-button-height - $_radio-button-size) * 0.5
23
+ )} #{jkl.$spacing-8} #{(
24
+ ($_radio-button-height - $_radio-button-size) * 0.5
25
+ )} 0;
26
+ --jkl-radio-button-dot-size: #{$_radio-button-size
27
+ - (2 * $_radio-button-dot-padding)};
28
+
29
+ @include jkl.declare-font-variables("jkl-radio-button-label", "body");
30
+
31
+ @include jkl.small-device {
32
+ $_mobile-radio-button-height: jkl.rem(40px);
33
+ $_mobile-radio-button-size: jkl.rem(24px);
34
+ $_mobile-radio-button-line-height: jkl.rem(28px);
35
+
36
+ --jkl-radio-button-height: #{$_mobile-radio-button-height};
37
+ --jkl-radio-button-line-height: #{$_mobile-radio-button-line-height};
38
+ --jkl-radio-button-size: #{$_mobile-radio-button-size};
39
+ --jkl-radio-button-text-margin: #{jkl.$unit-10} 0;
40
+ --jkl-radio-button-text-transform: translate3d(0, 0, 0);
41
+ --jkl-radio-button-dot-margin: #{jkl.rem(10px)} #{jkl.$spacing-8}
42
+ #{jkl.rem(10px)} 0;
43
+ --jkl-radio-button-dot-size: #{$_mobile-radio-button-size
44
+ - (2 * $_radio-button-dot-padding)};
45
+ }
46
+ }
47
+
48
+ @include jkl.compact-density-variables {
49
+ $_compact-radio-button-height: jkl.rem(28px);
50
+ $_compact-radio-button-size: jkl.rem(18px);
51
+ $_compact-radio-button-line-height: jkl.rem(24px);
52
+
53
+ --jkl-radio-button-height: #{$_compact-radio-button-height};
54
+ --jkl-radio-button-line-height: #{$_compact-radio-button-line-height};
55
+ --jkl-radio-button-size: #{$_compact-radio-button-size};
56
+ --jkl-radio-button-text-margin: #{jkl.$unit-05} 0;
57
+ --jkl-radio-button-text-transform: translate3d(0, 0, 0);
58
+ --jkl-radio-button-dot-margin: #{jkl.rem(7px)} #{jkl.$spacing-8} #{jkl.rem(
59
+ 7px
60
+ )} 0;
61
+ --jkl-radio-button-dot-size: #{$_compact-radio-button-size
62
+ - (2 * $_radio-button-dot-padding)};
63
+
64
+ @include jkl.declare-font-variables("jkl-radio-button-label", "small");
65
+ }
66
+
67
+ @keyframes #{$_radio-button-dot-animation-name} {
68
+ 0% {
69
+ transform: scale(0.8);
70
+ }
71
+
72
+ 100% {
73
+ transform: scale(1);
74
+ }
75
+ }
76
+
77
+ .jkl-radio-button {
78
+ --ring-color: var(--jkl-color-border-action);
79
+ --dot-color: transparent;
80
+ --background-color: transparent;
81
+ --text-color: var(--jkl-color-text-default);
82
+
83
+ display: flex;
84
+ min-height: var(--jkl-radio-button-height);
85
+ color: var(--text-color);
86
+ position: relative;
87
+
88
+ @include jkl.reset-outline;
89
+
90
+ &__input {
91
+ // hide default radio button
92
+ position: absolute;
93
+ opacity: 0;
94
+ // Make sure that when the browser scrolls here because of focus, the control
95
+ // is positioned below the label so that the label becomes visible.
96
+ top: var(--jkl-radio-button-size);
97
+ left: calc(-0.5 * var(--jkl-radio-button-size));
98
+
99
+ // Checked state
100
+ &:checked {
101
+ + .jkl-radio-button__label > .jkl-radio-button__dot::after {
102
+ --dot-color: var(--jkl-color-border-action);
103
+ animation: $_radio-button-dot-animation-name
104
+ jkl.timing("productive") ease;
105
+
106
+ @include jkl.forced-colors-mode {
107
+ background-color: ButtonText;
108
+ }
109
+ }
110
+
111
+ .jkl-radio-button--error
112
+ &
113
+ + .jkl-radio-button__label
114
+ > .jkl-radio-button__dot::after {
115
+ --background-color: var(--jkl-color-background-alert-error);
116
+ --dot-color: var(--jkl-color-text-on-alert);
117
+ }
118
+ }
119
+
120
+ // Focused state
121
+ &:focus-visible {
122
+ + .jkl-radio-button__label {
123
+ --background-color: var(--jkl-color-background-input-focus);
124
+
125
+ & > .jkl-radio-button__dot {
126
+ @include jkl.focus-outline;
127
+ }
128
+ }
129
+
130
+ .jkl-radio-button--error & + .jkl-radio-button__label {
131
+ --background-color: var(--jkl-color-background-alert-error);
132
+ --dot-color: var(--jkl-color-text-on-alert);
133
+ }
134
+ }
135
+ }
136
+
137
+ &__label {
138
+ cursor: pointer;
139
+ display: flex;
140
+ align-items: flex-start;
141
+
142
+ @include jkl.use-font-variables("jkl-radio-button-label");
143
+
144
+ // Hovered state
145
+ &:hover > .jkl-radio-button__dot {
146
+ outline: 1px solid var(--ring-color);
147
+ }
148
+
149
+ // Active state
150
+ &:active > .jkl-radio-button__dot &::after {
151
+ scale: 0.9;
152
+ }
153
+ }
154
+
155
+ &__dot {
156
+ display: inline-block;
157
+ position: relative;
158
+ box-sizing: border-box;
159
+ margin: var(--jkl-radio-button-dot-margin);
160
+ flex-shrink: 0;
161
+
162
+ height: var(--jkl-radio-button-size);
163
+ width: var(--jkl-radio-button-size);
164
+ border-radius: 50%;
165
+ border: jkl.rem(1px) solid var(--ring-color);
166
+ background-color: var(--background-color);
167
+
168
+ transition-property: background-color, outline;
169
+
170
+ @include jkl.motion;
171
+
172
+ /* Inner dot */
173
+ &::after {
174
+ content: "";
175
+
176
+ position: absolute;
177
+ left: 50%;
178
+ top: 50%;
179
+ translate: -50% -50%;
180
+ scale: 1;
181
+
182
+ height: var(--jkl-radio-button-dot-size);
183
+ width: var(--jkl-radio-button-dot-size);
184
+ border-radius: 50%;
185
+ background-color: var(--dot-color);
186
+
187
+ transition-property: transform;
188
+
189
+ @include jkl.motion;
190
+ }
191
+
192
+ @include jkl.forced-colors-mode {
193
+ outline: revert;
194
+ border: 1px solid ButtonText;
195
+ }
196
+ }
197
+
198
+ &__text {
199
+ display: inline-block;
200
+ margin: var(--jkl-radio-button-text-margin);
201
+ transform: var(--jkl-radio-button-text-transform);
202
+ }
203
+
204
+ &--error {
205
+ --background-color: var(--jkl-color-background-alert-error);
206
+ }
207
+
208
+ &--inline {
209
+ display: inline-flex;
210
+ margin-top: unset;
211
+ margin-right: jkl.$spacing-24;
212
+ }
213
+
214
+ + .jkl-form-support-label {
215
+ margin-left: calc(var(--jkl-radio-button-size) + #{jkl.$unit-10});
216
+ margin-top: jkl.rem(-6px);
217
+ margin-bottom: jkl.$unit-10;
218
+ }
219
+ }
@@ -0,0 +1 @@
1
+ @forward "radio-panel";
@@ -0,0 +1,27 @@
1
+ @use "../../core/jkl/" as jkl;
2
+
3
+ .input-panel-example {
4
+ &__season-tag {
5
+ position: absolute;
6
+ top: calc(-50% - 2px);
7
+ right: 2px;
8
+
9
+ @include jkl.from-medium-device {
10
+ top: 2px;
11
+ }
12
+ }
13
+
14
+ &__custom-label {
15
+ position: relative;
16
+ height: 100%;
17
+ width: 100%;
18
+
19
+ &--small {
20
+ font-size: 0.8em;
21
+ }
22
+
23
+ &--bold {
24
+ font-weight: bold;
25
+ }
26
+ }
27
+ }
@@ -77,7 +77,7 @@
77
77
  }
78
78
  }
79
79
  @layer jokul.components {
80
- @keyframes jkl-dot-in-ucrmoyf {
80
+ @keyframes jkl-dot-in-uwl7vz5 {
81
81
  0% {
82
82
  transform: scale(0.8);
83
83
  }
@@ -125,7 +125,7 @@
125
125
  }
126
126
  }
127
127
  .jkl-radio-panel__input:checked + .jkl-radio-panel__decorator::after {
128
- animation: jkl-dot-in-ucrmoyf 150ms ease;
128
+ animation: jkl-dot-in-uwl7vz5 150ms ease;
129
129
  }
130
130
  .jkl-radio-panel:has(:checked) {
131
131
  --radio-dot-color: var(--jkl-color-border-action);
@@ -1 +1 @@
1
- @layer components{.jkl-input-panel{--outer-border-color:var(--jkl-color-border-input);--outer-border-thickness:0.0625rem;--background-color:#0000;background-color:var(--background-color);border-radius:4px;box-shadow:inset 0 0 0 var(--outer-border-thickness) var(--outer-border-color);display:flex;flex-direction:column;interpolate-size:allow-keywords;transition-duration:.15s;transition-property:box-shadow;transition-timing-function:ease}.jkl-input-panel__header{align-items:center;cursor:pointer;display:grid;gap:.5rem;grid-template-columns:1fr -webkit-max-content;grid-template-columns:1fr max-content;padding:var(--jkl-spacing-s) var(--jkl-spacing-m);position:relative}.jkl-input-panel__header__amount{align-items:center;display:flex;font-size:var(--jkl-checkbox-font-size);font-weight:var(--jkl-checkbox-font-weight);height:100%;line-height:var(--jkl-checkbox-line-height)}.jkl-input-panel__header .jkl-checkbox,.jkl-input-panel__header .jkl-radio-button,.jkl-input-panel__header label{position:unset}.jkl-input-panel__header label:after{block-size:100%;content:"";inline-size:100%;left:0;position:absolute;top:0}.jkl-input-panel__description{height:0;overflow:hidden;padding-inline:var(--jkl-spacing-m);-webkit-padding-after:var(--jkl-spacing-none);font-size:var(--jkl-checkbox-font-size);font-weight:var(--jkl-checkbox-font-weight);line-height:normal;line-height:var(--jkl-checkbox-line-height);padding-block-end:var(--jkl-spacing-none);transition-duration:.15s;transition-property:height;transition-timing-function:ease}.jkl-input-panel:has(:focus-visible){outline:3px solid var(--jkl-color-border-action);outline-offset:3px}.jkl-input-panel:has(:checked),.jkl-input-panel:not([data-always-open]),.jkl-input-panel[data-always-open=true]{--background-color:var(--jkl-color-background-container-high)}.jkl-input-panel:has(:checked) .jkl-input-panel__description,.jkl-input-panel:not([data-always-open]) .jkl-input-panel__description,.jkl-input-panel[data-always-open=true] .jkl-input-panel__description{height:auto;-webkit-padding-after:var(--jkl-spacing-s);padding-block-end:var(--jkl-spacing-s)}.jkl-input-panel:has(input:hover){--outer-border-color:var(--jkl-color-border-separator-hover);--outer-border-thickness:0.125rem;cursor:pointer}}@layer jokul.components{@keyframes jkl-dot-in-ucrmoyf{0%{transform:scale(.8)}to{transform:scale(1)}}.jkl-radio-panel{--radio-dot-color:#0000;--radio-ring-color:#0000}.jkl-radio-panel__decorator{background-color:var(--radio-ring-color);border:.0625rem solid var(--jkl-color-border-action);border-radius:50%;cursor:pointer;display:inline-block;height:1.5rem;position:relative;transition-duration:.15s;transition-property:background-color,outline;transition-timing-function:ease;width:1.5rem}.jkl-radio-panel__decorator:after{background-color:var(--radio-dot-color);border-radius:50%;content:"";height:1rem;left:50%;position:absolute;scale:1;top:50%;transition-duration:.15s;transition-property:transform;transition-timing-function:ease;translate:-50% -50%;width:1rem}@media screen and (forced-colors:active){.jkl-radio-panel__decorator{border:1px solid ButtonText}}.jkl-radio-panel__input:checked+.jkl-radio-panel__decorator:after{animation:jkl-dot-in-ucrmoyf .15s ease}.jkl-radio-panel:has(:checked){--radio-dot-color:var(--jkl-color-border-action)}[aria-invalid=true] .jkl-radio-panel{--radio-ring-color:var(--jkl-color-background-alert-error)}[aria-invalid=true] .jkl-radio-panel:has(:checked){--radio-dot-color:var(--jkl-color-text-on-alert)}}
1
+ @layer components{.jkl-input-panel{--outer-border-color:var(--jkl-color-border-input);--outer-border-thickness:0.0625rem;--background-color:#0000;background-color:var(--background-color);border-radius:4px;box-shadow:inset 0 0 0 var(--outer-border-thickness) var(--outer-border-color);display:flex;flex-direction:column;interpolate-size:allow-keywords;transition-duration:.15s;transition-property:box-shadow;transition-timing-function:ease}.jkl-input-panel__header{align-items:center;cursor:pointer;display:grid;gap:.5rem;grid-template-columns:1fr -webkit-max-content;grid-template-columns:1fr max-content;padding:var(--jkl-spacing-s) var(--jkl-spacing-m);position:relative}.jkl-input-panel__header__amount{align-items:center;display:flex;font-size:var(--jkl-checkbox-font-size);font-weight:var(--jkl-checkbox-font-weight);height:100%;line-height:var(--jkl-checkbox-line-height)}.jkl-input-panel__header .jkl-checkbox,.jkl-input-panel__header .jkl-radio-button,.jkl-input-panel__header label{position:unset}.jkl-input-panel__header label:after{block-size:100%;content:"";inline-size:100%;left:0;position:absolute;top:0}.jkl-input-panel__description{height:0;overflow:hidden;padding-inline:var(--jkl-spacing-m);-webkit-padding-after:var(--jkl-spacing-none);font-size:var(--jkl-checkbox-font-size);font-weight:var(--jkl-checkbox-font-weight);line-height:normal;line-height:var(--jkl-checkbox-line-height);padding-block-end:var(--jkl-spacing-none);transition-duration:.15s;transition-property:height;transition-timing-function:ease}.jkl-input-panel:has(:focus-visible){outline:3px solid var(--jkl-color-border-action);outline-offset:3px}.jkl-input-panel:has(:checked),.jkl-input-panel:not([data-always-open]),.jkl-input-panel[data-always-open=true]{--background-color:var(--jkl-color-background-container-high)}.jkl-input-panel:has(:checked) .jkl-input-panel__description,.jkl-input-panel:not([data-always-open]) .jkl-input-panel__description,.jkl-input-panel[data-always-open=true] .jkl-input-panel__description{height:auto;-webkit-padding-after:var(--jkl-spacing-s);padding-block-end:var(--jkl-spacing-s)}.jkl-input-panel:has(input:hover){--outer-border-color:var(--jkl-color-border-separator-hover);--outer-border-thickness:0.125rem;cursor:pointer}}@layer jokul.components{@keyframes jkl-dot-in-uwl7vz5{0%{transform:scale(.8)}to{transform:scale(1)}}.jkl-radio-panel{--radio-dot-color:#0000;--radio-ring-color:#0000}.jkl-radio-panel__decorator{background-color:var(--radio-ring-color);border:.0625rem solid var(--jkl-color-border-action);border-radius:50%;cursor:pointer;display:inline-block;height:1.5rem;position:relative;transition-duration:.15s;transition-property:background-color,outline;transition-timing-function:ease;width:1.5rem}.jkl-radio-panel__decorator:after{background-color:var(--radio-dot-color);border-radius:50%;content:"";height:1rem;left:50%;position:absolute;scale:1;top:50%;transition-duration:.15s;transition-property:transform;transition-timing-function:ease;translate:-50% -50%;width:1rem}@media screen and (forced-colors:active){.jkl-radio-panel__decorator{border:1px solid ButtonText}}.jkl-radio-panel__input:checked+.jkl-radio-panel__decorator:after{animation:jkl-dot-in-uwl7vz5 .15s ease}.jkl-radio-panel:has(:checked){--radio-dot-color:var(--jkl-color-border-action)}[aria-invalid=true] .jkl-radio-panel{--radio-ring-color:var(--jkl-color-background-alert-error)}[aria-invalid=true] .jkl-radio-panel:has(:checked){--radio-dot-color:var(--jkl-color-text-on-alert)}}
@@ -0,0 +1,82 @@
1
+ @use "../../core/jkl/" as jkl;
2
+ @use "sass:string";
3
+ @use "../input-panel/input-panel";
4
+
5
+ $_radio-panel-dot-animation-name: jkl-dot-in-#{string.unique-id()};
6
+
7
+ @layer jokul.components {
8
+ @keyframes #{$_radio-panel-dot-animation-name} {
9
+ 0% {
10
+ transform: scale(0.8);
11
+ }
12
+
13
+ 100% {
14
+ transform: scale(1);
15
+ }
16
+ }
17
+
18
+ .jkl-radio-panel {
19
+ --radio-dot-color: transparent;
20
+ --radio-ring-color: transparent;
21
+
22
+ /* The ring */
23
+ &__decorator {
24
+ cursor: pointer;
25
+
26
+ display: inline-block;
27
+ position: relative;
28
+
29
+ height: jkl.rem(24px);
30
+ width: jkl.rem(24px);
31
+ border-radius: 50%;
32
+ border: jkl.rem(1px) solid var(--jkl-color-border-action);
33
+ background-color: var(--radio-ring-color);
34
+
35
+ transition-property: background-color, outline;
36
+
37
+ @include jkl.motion;
38
+
39
+ /* The dot */
40
+ &::after {
41
+ content: "";
42
+
43
+ position: absolute;
44
+ left: 50%;
45
+ top: 50%;
46
+ translate: -50% -50%;
47
+ scale: 1;
48
+
49
+ height: jkl.rem(16px);
50
+ width: jkl.rem(16px);
51
+ border-radius: 50%;
52
+ background-color: var(--radio-dot-color);
53
+
54
+ transition-property: transform;
55
+
56
+ @include jkl.motion;
57
+ }
58
+
59
+ @include jkl.forced-colors-mode {
60
+ border: 1px solid ButtonText;
61
+ }
62
+ }
63
+
64
+ &__input:checked + &__decorator {
65
+ &::after {
66
+ animation: $_radio-panel-dot-animation-name jkl.timing("productive") ease;
67
+ }
68
+ }
69
+
70
+ &:has(:checked) {
71
+ --radio-dot-color: var(--jkl-color-border-action);
72
+ }
73
+
74
+ [aria-invalid="true"] & {
75
+ --radio-ring-color: var(--jkl-color-background-alert-error);
76
+ }
77
+
78
+ [aria-invalid="true"] &:has(:checked) {
79
+ --radio-dot-color: var(--jkl-color-text-on-alert);
80
+ }
81
+ }
82
+ }
@@ -0,0 +1,3 @@
1
+ @forward "segmented-control";
2
+ @use "../input-group" as input-group;
3
+ @use "../radio-button" as radio-button;
@@ -44,7 +44,7 @@
44
44
  --jkl-radio-button-label-font-weight: var(--jkl-small-font-weight);
45
45
  }
46
46
 
47
- @keyframes jkl-dot-in-u1x82jp {
47
+ @keyframes jkl-dot-in-ug37cfr {
48
48
  0% {
49
49
  transform: scale(0.8);
50
50
  }
@@ -90,7 +90,7 @@
90
90
  }
91
91
  .jkl-radio-button__input:checked + .jkl-radio-button__label > .jkl-radio-button__dot::after {
92
92
  --dot-color: var(--jkl-color-border-action);
93
- animation: jkl-dot-in-u1x82jp 150ms ease;
93
+ animation: jkl-dot-in-ug37cfr 150ms ease;
94
94
  }
95
95
  @media screen and (forced-colors: active) {
96
96
  .jkl-radio-button__input:checked + .jkl-radio-button__label > .jkl-radio-button__dot::after {
@@ -258,7 +258,7 @@
258
258
  --color: var(--jkl-color-text-default);
259
259
  }
260
260
  .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 {
261
- animation: 400ms cubic-bezier(0, 0, 0.3, 1) 250ms jkl-support-icon-entrance-u1x82k6 forwards;
261
+ animation: 400ms cubic-bezier(0, 0, 0.3, 1) 250ms jkl-support-icon-entrance-ug37cg9 forwards;
262
262
  }
263
263
  .jkl-form-support-label--sr-only {
264
264
  border: 0 !important;
@@ -346,7 +346,7 @@
346
346
  text-wrap: pretty;
347
347
  }
348
348
 
349
- @keyframes jkl-support-icon-entrance-u1x82k6 {
349
+ @keyframes jkl-support-icon-entrance-ug37cg9 {
350
350
  0% {
351
351
  margin-right: 0;
352
352
  opacity: 0;
@@ -1 +1 @@
1
- :root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-radio-button-height:3rem;--jkl-radio-button-line-height:2rem;--jkl-radio-button-size:1.5rem;--jkl-radio-button-text-margin:0.5rem 0;--jkl-radio-button-text-transform:translate3d(0,0.0625rem,0);--jkl-radio-button-dot-margin:0.75rem 0.5rem 0.75rem 0;--jkl-radio-button-dot-size:1rem;--jkl-radio-button-label-font-size:var(--jkl-body-font-size);--jkl-radio-button-label-line-height:var(--jkl-body-line-height);--jkl-radio-button-label-font-weight:var(--jkl-body-font-weight)}@media (width >= 0) and (max-width:679px){:root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-radio-button-height:2.5rem;--jkl-radio-button-line-height:1.75rem;--jkl-radio-button-size:1.5rem;--jkl-radio-button-text-margin:0.5rem 0;--jkl-radio-button-text-transform:translateZ(0);--jkl-radio-button-dot-margin:0.625rem 0.5rem 0.625rem 0;--jkl-radio-button-dot-size:1rem}}[data-density=compact],[data-layout-density=compact]{--jkl-radio-button-height:1.75rem;--jkl-radio-button-line-height:1.5rem;--jkl-radio-button-size:1.125rem;--jkl-radio-button-text-margin:calc(var(--jkl-unit-10)*0.5) 0;--jkl-radio-button-text-transform:translateZ(0);--jkl-radio-button-dot-margin:0.4375rem 0.5rem 0.4375rem 0;--jkl-radio-button-dot-size:0.625rem;--jkl-radio-button-label-font-size:var(--jkl-small-font-size);--jkl-radio-button-label-line-height:var(--jkl-small-line-height);--jkl-radio-button-label-font-weight:var(--jkl-small-font-weight)}@keyframes jkl-dot-in-u1x82jp{0%{transform:scale(.8)}to{transform:scale(1)}}.jkl-radio-button{--ring-color:var(--jkl-color-border-action);--dot-color:#0000;--background-color:#0000;--text-color:var(--jkl-color-text-default);border-style:none;color:var(--text-color);display:flex;min-height:var(--jkl-radio-button-height);position:relative}.jkl-radio-button,.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}.jkl-radio-button,.jkl-radio-button:active,.jkl-radio-button:focus,.jkl-radio-button:hover{outline:revert;outline-style:revert}}.jkl-radio-button__input{left:calc(var(--jkl-radio-button-size)*-.5);opacity:0;position:absolute;top:var(--jkl-radio-button-size)}.jkl-radio-button__input:checked+.jkl-radio-button__label>.jkl-radio-button__dot:after{--dot-color:var(--jkl-color-border-action);animation:jkl-dot-in-u1x82jp .15s ease}@media screen and (forced-colors:active){.jkl-radio-button__input:checked+.jkl-radio-button__label>.jkl-radio-button__dot:after{background-color:ButtonText}}.jkl-radio-button--error .jkl-radio-button__input:checked+.jkl-radio-button__label>.jkl-radio-button__dot:after{--background-color:var(--jkl-color-background-alert-error);--dot-color:var(--jkl-color-text-on-alert)}.jkl-radio-button__input:focus-visible+.jkl-radio-button__label{--background-color:var(--jkl-color-background-input-focus)}.jkl-radio-button__input:focus-visible+.jkl-radio-button__label>.jkl-radio-button__dot{outline:3px solid var(--jkl-color-border-action);outline-offset:3px}.jkl-radio-button--error .jkl-radio-button__input:focus-visible+.jkl-radio-button__label{--background-color:var(--jkl-color-background-alert-error);--dot-color:var(--jkl-color-text-on-alert)}.jkl-radio-button__label{align-items:flex-start;cursor:pointer;display:flex;font-size:var(--jkl-radio-button-label-font-size);font-weight:var(--jkl-radio-button-label-font-weight);line-height:var(--jkl-radio-button-label-line-height)}.jkl-radio-button__label:hover>.jkl-radio-button__dot{outline:1px solid var(--ring-color)}.jkl-radio-button__label:active>.jkl-radio-button__dot .jkl-radio-button__label:after{scale:.9}.jkl-radio-button__dot{background-color:var(--background-color);border:.0625rem solid var(--ring-color);border-radius:50%;box-sizing:border-box;display:inline-block;flex-shrink:0;height:var(--jkl-radio-button-size);margin:var(--jkl-radio-button-dot-margin);position:relative;transition-duration:.15s;transition-property:background-color,outline;transition-timing-function:ease;width:var(--jkl-radio-button-size)}.jkl-radio-button__dot:after{background-color:var(--dot-color);border-radius:50%;content:"";height:var(--jkl-radio-button-dot-size);left:50%;position:absolute;scale:1;top:50%;transition-duration:.15s;transition-property:transform;transition-timing-function:ease;translate:-50% -50%;width:var(--jkl-radio-button-dot-size)}@media screen and (forced-colors:active){.jkl-radio-button__dot{border:1px solid ButtonText;outline:revert}}.jkl-radio-button__text{display:inline-block;margin:var(--jkl-radio-button-text-margin);transform:var(--jkl-radio-button-text-transform)}.jkl-radio-button--error{--background-color:var(--jkl-color-background-alert-error)}.jkl-radio-button--inline{display:inline-flex;margin-right:1.5rem;margin-top:unset}.jkl-radio-button+.jkl-form-support-label{margin-bottom:.5rem;margin-left:calc(var(--jkl-radio-button-size) + .5rem);margin-top:-.375rem}.jkl-field-group{border-style:none}.jkl-field-group,.jkl-field-group:active,.jkl-field-group:focus,.jkl-field-group:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-field-group{border-style:revert}.jkl-field-group,.jkl-field-group:active,.jkl-field-group:focus,.jkl-field-group:hover{outline:revert;outline-style:revert}}.jkl-dormant-form-support-label{display:none;opacity:0;pointer-events:none}:root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-form-support-label-font-size:var(--jkl-small-font-size);--jkl-form-support-label-line-height:var(--jkl-small-line-height);--jkl-form-support-label-font-weight:var(--jkl-small-font-weight);--jkl-form-support-label-margin:0.5rem 0 0;--jkl-form-support-label-icon-size:1.25rem;--jkl-form-support-label-icon-margin:0 -1.25rem -0.375rem 0}[data-density=compact],[data-layout-density=compact]{--jkl-form-support-label-icon-size:1.375rem;--jkl-form-support-label-icon-margin:0 -1.375rem -0.3125rem 0}.jkl-form-support-label{--color:var(--jkl-color-text-subdued);color:var(--color);display:flex;font-size:var(--jkl-form-support-label-font-size);font-weight:var(--jkl-form-support-label-font-weight);line-height:var(--jkl-form-support-label-line-height);margin:var(--jkl-form-support-label-margin);transition-delay:.15s;transition-duration:.4s;transition-property:color;transition-timing-function:ease}.jkl-form-support-label__icon,.jkl-form-support-label__icon.jkl-icon{height:var(--jkl-form-support-label-icon-size);margin:var(--jkl-form-support-label-icon-margin);opacity:0}@media screen and (forced-colors:active){.jkl-form-support-label__icon,.jkl-form-support-label__icon path,.jkl-form-support-label__icon svg,.jkl-form-support-label__icon.jkl-icon,.jkl-form-support-label__icon.jkl-icon path,.jkl-form-support-label__icon.jkl-icon svg{fill:Canvas;stroke:CanvasText}}.jkl-form-support-label--error,.jkl-form-support-label--success,.jkl-form-support-label--warning{--color:var(--jkl-color-text-default)}.jkl-form-support-label--error .jkl-form-support-label__icon,.jkl-form-support-label--success .jkl-form-support-label__icon,.jkl-form-support-label--warning .jkl-form-support-label__icon{animation:jkl-support-icon-entrance-u1x82k6 .4s cubic-bezier(0,0,.3,1) .25s forwards}.jkl-form-support-label--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}:root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-label-small-margin:0 0 0.25rem 0;--jkl-label-medium-margin:0 0 0.5rem 0;--jkl-label-large-margin:0 0 1rem -0.0625rem;--jkl-label-small-font-size:var(--jkl-small-font-size);--jkl-label-small-line-height:var(--jkl-small-line-height);--jkl-label-small-font-weight:var(--jkl-small-font-weight);--jkl-label-medium-font-size:var(--jkl-body-font-size);--jkl-label-medium-line-height:var(--jkl-body-line-height);--jkl-label-medium-font-weight:var(--jkl-body-font-weight);--jkl-label-large-font-size:var(--jkl-heading-2-font-size);--jkl-label-large-line-height:var(--jkl-heading-2-line-height);--jkl-label-large-font-weight:var(--jkl-heading-2-font-weight)}[data-density=compact],[data-layout-density=compact]{--jkl-label-small-margin:0 0 0.25rem 0;--jkl-label-medium-margin:0 0 0.5rem 0;--jkl-label-large-margin:0 0 0.75rem -0.0625rem}.jkl-label{color:var(--jkl-color-text-default);display:block;margin-left:0}.jkl-label--small{font-size:var(--jkl-label-small-font-size);font-weight:var(--jkl-label-small-font-weight);line-height:var(--jkl-label-small-line-height);margin:var(--jkl-label-small-margin)}.jkl-label--medium{font-size:var(--jkl-label-medium-font-size);font-weight:var(--jkl-label-medium-font-weight);line-height:var(--jkl-label-medium-line-height);margin:var(--jkl-label-medium-margin)}.jkl-label--large{font-size:var(--jkl-label-large-font-size);font-weight:var(--jkl-label-large-font-weight);line-height:var(--jkl-label-large-line-height);margin:var(--jkl-label-large-margin)}.jkl-label--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-input-group-description{font-size:1rem;font-weight:400;line-height:1.5rem;--jkl-icon-weight:300;--jkl-icon-size:1.25rem;--jkl-icon-opsz:20;color:var(--jkl-color-text-subdued);margin:var(--jkl-label-medium-margin);max-inline-size:50ch;text-wrap:pretty}@keyframes jkl-support-icon-entrance-u1x82k6{0%{margin-right:0;opacity:0;transform:scale(1)}30%{margin-right:.5rem}50%{opacity:1}70%{transform:scale(1.1)}85%{transform:scale(.9)}to{margin-right:.5rem;opacity:1;transform:scale(1)}}@media screen and (forced-colors:active){.jkl-text-input-action-button,.jkl-text-input-action-button path,.jkl-text-input-action-button svg{fill:ButtonFace;stroke:ButtonText}}@layer jokul.theme{@media screen and (prefers-color-scheme:light){:root{--jkl-icon-grade:0}}[data-theme=light]{--jkl-icon-grade:0}@media screen and (prefers-color-scheme:dark){:root{--jkl-icon-grade:-25}}[data-theme=dark]{--jkl-icon-grade:-25}}@layer jokul.components{.jkl-icon{--jkl-icon-fill:0;display:inline-block;font-family:Fremtind Material Symbols,Fremtind Material Symbols Fallback,sans-serif;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";font-size:var(--jkl-icon-size,1.5rem);font-variation-settings:"FILL" var(--jkl-icon-fill,0),"GRAD" var(--jkl-icon-grade,0),"opsz" var(--jkl-icon-opsz,24);font-weight:var(--jkl-icon-weight,300);line-height:1;-webkit-font-smoothing:antialiased;transition-duration:.15s;transition-property:font-variation-settings,transform;transition-timing-function:ease}.jkl-icon--bold{--jkl-icon-weight:400}.jkl-icon--filled{--jkl-icon-fill:1}.jkl-icon--medium{--jkl-icon-opsz:24;--jkl-icon-size:1.5rem}.jkl-icon--small{--jkl-icon-opsz:20;--jkl-icon-size:1.25rem}.jkl-icon--inherit{--jkl-icon-opsz:20;--jkl-icon-size:1.2em}.jkl-icon--animated{display:block}.jkl-icon-red-cross{--red-cross-circle:var(--jkl-color-background-alert-error);--red-cross-path:var(--jkl-color-text-on-alert);height:1.5rem;width:1.5rem}.jkl-icon-red-cross path{fill:var(--red-cross-path)}.jkl-icon-red-cross circle{fill:var(--red-cross-circle)}.jkl-icon-green-check{--green-check-circle:var(--jkl-color-background-alert-success);--green-check-path:var(--jkl-color-text-on-alert);height:1.5rem;width:1.5rem}.jkl-icon-green-check path{fill:var(--green-check-path)}.jkl-icon-green-check circle{fill:var(--green-check-circle)}.jkl-animated-horizontal-arrows,.jkl-animated-vertical-arrows{height:var(--jkl-icon-size,1.5rem);overflow:hidden;width:var(--jkl-icon-size,1.5rem)}.jkl-animated-horizontal-arrows__slider,.jkl-animated-vertical-arrows__slider{display:flex;transition-delay:83.33333ms;transition-duration:.25s;transition-property:transform;transition-timing-function:ease}.jkl-animated-horizontal-arrows__arrow,.jkl-animated-vertical-arrows__arrow{flex-shrink:0}.jkl-animated-vertical-arrows__slider{flex-direction:column;height:calc(var(--jkl-icon-size, 1.5rem)*2)}.jkl-animated-vertical-arrows__slider[data-show=up]{transform:translateZ(0)}.jkl-animated-vertical-arrows__slider[data-show=down]{transform:translate3d(0,-50%,0)}.jkl-animated-horizontal-arrows__slider{flex-direction:row;width:calc(var(--jkl-icon-size, 1.5rem)*2)}.jkl-animated-horizontal-arrows__slider[data-show=left]{transform:translateZ(0)}.jkl-animated-horizontal-arrows__slider[data-show=right]{transform:translate3d(-50%,0,0)}.jkl-icons-animated__plus{transform-origin:50% 50%;transition-duration:.25s;transition-property:transform;transition-timing-function:cubic-bezier(0,0,.375,1.17)}.jkl-icons-animated__plus--plus{transform:rotate(0)}.jkl-icons-animated__plus--close{transform:rotate(135deg)}}:root,[data-density=comfortable],[data-layout-density=comfortable]{--content-padding:calc(var(--jkl-unit-10)*2)}@media (width >= 0) and (max-width:679px){:root,[data-density=comfortable],[data-layout-density=comfortable]{--content-padding:calc(var(--jkl-unit-10)*1.5)}}[data-density=compact],[data-layout-density=compact]{--content-padding:0.5rem}.jkl-tooltip-trigger{all:unset}html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-tooltip-trigger:focus{--jkl-icon-weight:400;font-weight:700;letter-spacing:-.014em}.jkl-tooltip-content{--background-color:var(--jkl-color-background-container-inverted);font-size:1rem;font-weight:400;line-height:1.5rem;--jkl-icon-weight:300;--jkl-icon-size:1.25rem;--jkl-icon-opsz:20;background-color:var(--background-color);color:var(--jkl-color-text-inverted);display:inline-block;max-width:min(19.375rem,100%);min-width:-webkit-min-content;min-width:min-content;padding:var(--content-padding);position:absolute;z-index:10000}@media screen and (forced-colors:active){.jkl-tooltip-content{border:1px solid CanvasText}}.jkl-tooltip-question-button{align-items:center;background-color:initial;border-radius:9999px;border-style:none;color:var(--jkl-color-text-interactive);cursor:pointer;display:inline-flex;font-size:1.2em;outline:0;outline-style:none;padding:0;position:relative;transform:translateY(max(.16em,.25rem));transition-duration:.1s;transition-property:color;transition-timing-function:ease-in}.jkl-tooltip-question-button:active,.jkl-tooltip-question-button:focus,.jkl-tooltip-question-button:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-tooltip-question-button{border-style:revert}.jkl-tooltip-question-button,.jkl-tooltip-question-button:active,.jkl-tooltip-question-button:focus,.jkl-tooltip-question-button:hover{outline:revert;outline-style:revert}}.jkl-tooltip-question-button:hover{--button-color:var(--jkl-color-text-interactive-hover)}.jkl-tooltip-question-button:focus-visible{outline:3px solid var(--jkl-color-border-action);outline-offset:0}.jkl-tooltip-question-button:after{content:"";left:50%;min-height:44px;min-width:44px;position:absolute;top:50%;translate:-50% -50%}.jkl-popuptip__content-wrapper:focus{outline:none}:root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-segmented-controls-padding:calc(var(--jkl-unit-10)*0.25);--jkl-segmented-controls-margin:1.5ch;--jkl-segmented-control-font-size:var(--jkl-body-font-size);--jkl-segmented-control-line-height:var(--jkl-body-line-height);--jkl-segmented-control-font-weight:var(--jkl-body-font-weight)}[data-density=compact],[data-layout-density=compact]{--jkl-segmented-controls-padding:0;--jkl-segmented-controls-margin:1ch;--jkl-segmented-control-font-size:var(--jkl-small-font-size);--jkl-segmented-control-line-height:var(--jkl-small-line-height);--jkl-segmented-control-font-weight:var(--jkl-small-font-weight)}.jkl-segmented-control{font-size:var(--jkl-segmented-control-font-size);font-weight:var(--jkl-segmented-control-font-weight);line-height:var(--jkl-segmented-control-line-height)}@media (width >= 0) and (max-width:679px){.jkl-segmented-control{--jkl-segmented-control-font-size:var(--jkl-small-font-size);--jkl-segmented-control-line-height:var(--jkl-small-line-height);--jkl-segmented-control-font-weight:var(--jkl-small-font-weight)}}.jkl-segmented-control .jkl-segmented-control-legend{-webkit-margin-after:.25lh;margin-block-end:.25lh}.jkl-segmented-control .jkl-segmented-control-item{--jkl-segmented-control-border-width:1px;--jkl-segmented-controls-border-radius:2lh;align-items:center;background-color:var(--jkl-color-background-interactive);border:var(--jkl-segmented-control-border-width) solid var(--jkl-color-border-separator);border-radius:0;cursor:pointer;display:inline-flex;position:relative;-webkit-margin-end:calc(var(--jkl-segmented-control-border-width)*-1);margin-inline-end:calc(var(--jkl-segmented-control-border-width)*-1);-webkit-margin-after:.5lh;margin-block-end:.5lh;transition-duration:.25s;transition-property:border background;transition-timing-function:cubic-bezier(0,0,.375,1.17)}.jkl-segmented-control .jkl-segmented-control-item label{cursor:pointer;padding-block:var(--jkl-segmented-controls-padding);padding-inline:1ch 1.5ch}.jkl-segmented-control .jkl-segmented-control-item:hover{background-color:var(--jkl-color-background-interactive-hover);border-color:var(--jkl-color-border-separator-hover);z-index:2}.jkl-segmented-control .jkl-segmented-control-item:has(input:checked){background-color:var(--jkl-color-background-container-high);border-color:var(--jkl-color-border-separator);z-index:1}.jkl-segmented-control .jkl-segmented-control-item:has(input[data-separated=true]){border-radius:var(--jkl-segmented-controls-border-radius);-webkit-margin-start:var(--jkl-segmented-controls-margin);margin-inline-start:var(--jkl-segmented-controls-margin)}.jkl-segmented-control .jkl-segmented-control-item:has(input[data-separated=true]):first-of-type{-webkit-margin-start:0;margin-inline-start:0}.jkl-segmented-control .jkl-segmented-control-item:has(input[data-separated=true])+span+.jkl-segmented-control-item{border-end-start-radius:var(--jkl-segmented-controls-border-radius);border-start-start-radius:var(--jkl-segmented-controls-border-radius);-webkit-margin-start:var(--jkl-segmented-controls-margin);margin-inline-start:var(--jkl-segmented-controls-margin)}.jkl-segmented-control .jkl-segmented-control-item:first-of-type{border-end-start-radius:var(--jkl-segmented-controls-border-radius);border-start-start-radius:var(--jkl-segmented-controls-border-radius)}.jkl-segmented-control .jkl-segmented-control-item:last-of-type{border-end-end-radius:var(--jkl-segmented-controls-border-radius);border-start-end-radius:var(--jkl-segmented-controls-border-radius)}.jkl-segmented-control .jkl-segmented-control-item:has(+span+.jkl-segmented-control-item>input[data-separated=true]){border-end-end-radius:var(--jkl-segmented-controls-border-radius);border-start-end-radius:var(--jkl-segmented-controls-border-radius)}
1
+ :root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-radio-button-height:3rem;--jkl-radio-button-line-height:2rem;--jkl-radio-button-size:1.5rem;--jkl-radio-button-text-margin:0.5rem 0;--jkl-radio-button-text-transform:translate3d(0,0.0625rem,0);--jkl-radio-button-dot-margin:0.75rem 0.5rem 0.75rem 0;--jkl-radio-button-dot-size:1rem;--jkl-radio-button-label-font-size:var(--jkl-body-font-size);--jkl-radio-button-label-line-height:var(--jkl-body-line-height);--jkl-radio-button-label-font-weight:var(--jkl-body-font-weight)}@media (width >= 0) and (max-width:679px){:root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-radio-button-height:2.5rem;--jkl-radio-button-line-height:1.75rem;--jkl-radio-button-size:1.5rem;--jkl-radio-button-text-margin:0.5rem 0;--jkl-radio-button-text-transform:translateZ(0);--jkl-radio-button-dot-margin:0.625rem 0.5rem 0.625rem 0;--jkl-radio-button-dot-size:1rem}}[data-density=compact],[data-layout-density=compact]{--jkl-radio-button-height:1.75rem;--jkl-radio-button-line-height:1.5rem;--jkl-radio-button-size:1.125rem;--jkl-radio-button-text-margin:calc(var(--jkl-unit-10)*0.5) 0;--jkl-radio-button-text-transform:translateZ(0);--jkl-radio-button-dot-margin:0.4375rem 0.5rem 0.4375rem 0;--jkl-radio-button-dot-size:0.625rem;--jkl-radio-button-label-font-size:var(--jkl-small-font-size);--jkl-radio-button-label-line-height:var(--jkl-small-line-height);--jkl-radio-button-label-font-weight:var(--jkl-small-font-weight)}@keyframes jkl-dot-in-ug37cfr{0%{transform:scale(.8)}to{transform:scale(1)}}.jkl-radio-button{--ring-color:var(--jkl-color-border-action);--dot-color:#0000;--background-color:#0000;--text-color:var(--jkl-color-text-default);border-style:none;color:var(--text-color);display:flex;min-height:var(--jkl-radio-button-height);position:relative}.jkl-radio-button,.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}.jkl-radio-button,.jkl-radio-button:active,.jkl-radio-button:focus,.jkl-radio-button:hover{outline:revert;outline-style:revert}}.jkl-radio-button__input{left:calc(var(--jkl-radio-button-size)*-.5);opacity:0;position:absolute;top:var(--jkl-radio-button-size)}.jkl-radio-button__input:checked+.jkl-radio-button__label>.jkl-radio-button__dot:after{--dot-color:var(--jkl-color-border-action);animation:jkl-dot-in-ug37cfr .15s ease}@media screen and (forced-colors:active){.jkl-radio-button__input:checked+.jkl-radio-button__label>.jkl-radio-button__dot:after{background-color:ButtonText}}.jkl-radio-button--error .jkl-radio-button__input:checked+.jkl-radio-button__label>.jkl-radio-button__dot:after{--background-color:var(--jkl-color-background-alert-error);--dot-color:var(--jkl-color-text-on-alert)}.jkl-radio-button__input:focus-visible+.jkl-radio-button__label{--background-color:var(--jkl-color-background-input-focus)}.jkl-radio-button__input:focus-visible+.jkl-radio-button__label>.jkl-radio-button__dot{outline:3px solid var(--jkl-color-border-action);outline-offset:3px}.jkl-radio-button--error .jkl-radio-button__input:focus-visible+.jkl-radio-button__label{--background-color:var(--jkl-color-background-alert-error);--dot-color:var(--jkl-color-text-on-alert)}.jkl-radio-button__label{align-items:flex-start;cursor:pointer;display:flex;font-size:var(--jkl-radio-button-label-font-size);font-weight:var(--jkl-radio-button-label-font-weight);line-height:var(--jkl-radio-button-label-line-height)}.jkl-radio-button__label:hover>.jkl-radio-button__dot{outline:1px solid var(--ring-color)}.jkl-radio-button__label:active>.jkl-radio-button__dot .jkl-radio-button__label:after{scale:.9}.jkl-radio-button__dot{background-color:var(--background-color);border:.0625rem solid var(--ring-color);border-radius:50%;box-sizing:border-box;display:inline-block;flex-shrink:0;height:var(--jkl-radio-button-size);margin:var(--jkl-radio-button-dot-margin);position:relative;transition-duration:.15s;transition-property:background-color,outline;transition-timing-function:ease;width:var(--jkl-radio-button-size)}.jkl-radio-button__dot:after{background-color:var(--dot-color);border-radius:50%;content:"";height:var(--jkl-radio-button-dot-size);left:50%;position:absolute;scale:1;top:50%;transition-duration:.15s;transition-property:transform;transition-timing-function:ease;translate:-50% -50%;width:var(--jkl-radio-button-dot-size)}@media screen and (forced-colors:active){.jkl-radio-button__dot{border:1px solid ButtonText;outline:revert}}.jkl-radio-button__text{display:inline-block;margin:var(--jkl-radio-button-text-margin);transform:var(--jkl-radio-button-text-transform)}.jkl-radio-button--error{--background-color:var(--jkl-color-background-alert-error)}.jkl-radio-button--inline{display:inline-flex;margin-right:1.5rem;margin-top:unset}.jkl-radio-button+.jkl-form-support-label{margin-bottom:.5rem;margin-left:calc(var(--jkl-radio-button-size) + .5rem);margin-top:-.375rem}.jkl-field-group{border-style:none}.jkl-field-group,.jkl-field-group:active,.jkl-field-group:focus,.jkl-field-group:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-field-group{border-style:revert}.jkl-field-group,.jkl-field-group:active,.jkl-field-group:focus,.jkl-field-group:hover{outline:revert;outline-style:revert}}.jkl-dormant-form-support-label{display:none;opacity:0;pointer-events:none}:root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-form-support-label-font-size:var(--jkl-small-font-size);--jkl-form-support-label-line-height:var(--jkl-small-line-height);--jkl-form-support-label-font-weight:var(--jkl-small-font-weight);--jkl-form-support-label-margin:0.5rem 0 0;--jkl-form-support-label-icon-size:1.25rem;--jkl-form-support-label-icon-margin:0 -1.25rem -0.375rem 0}[data-density=compact],[data-layout-density=compact]{--jkl-form-support-label-icon-size:1.375rem;--jkl-form-support-label-icon-margin:0 -1.375rem -0.3125rem 0}.jkl-form-support-label{--color:var(--jkl-color-text-subdued);color:var(--color);display:flex;font-size:var(--jkl-form-support-label-font-size);font-weight:var(--jkl-form-support-label-font-weight);line-height:var(--jkl-form-support-label-line-height);margin:var(--jkl-form-support-label-margin);transition-delay:.15s;transition-duration:.4s;transition-property:color;transition-timing-function:ease}.jkl-form-support-label__icon,.jkl-form-support-label__icon.jkl-icon{height:var(--jkl-form-support-label-icon-size);margin:var(--jkl-form-support-label-icon-margin);opacity:0}@media screen and (forced-colors:active){.jkl-form-support-label__icon,.jkl-form-support-label__icon path,.jkl-form-support-label__icon svg,.jkl-form-support-label__icon.jkl-icon,.jkl-form-support-label__icon.jkl-icon path,.jkl-form-support-label__icon.jkl-icon svg{fill:Canvas;stroke:CanvasText}}.jkl-form-support-label--error,.jkl-form-support-label--success,.jkl-form-support-label--warning{--color:var(--jkl-color-text-default)}.jkl-form-support-label--error .jkl-form-support-label__icon,.jkl-form-support-label--success .jkl-form-support-label__icon,.jkl-form-support-label--warning .jkl-form-support-label__icon{animation:jkl-support-icon-entrance-ug37cg9 .4s cubic-bezier(0,0,.3,1) .25s forwards}.jkl-form-support-label--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}:root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-label-small-margin:0 0 0.25rem 0;--jkl-label-medium-margin:0 0 0.5rem 0;--jkl-label-large-margin:0 0 1rem -0.0625rem;--jkl-label-small-font-size:var(--jkl-small-font-size);--jkl-label-small-line-height:var(--jkl-small-line-height);--jkl-label-small-font-weight:var(--jkl-small-font-weight);--jkl-label-medium-font-size:var(--jkl-body-font-size);--jkl-label-medium-line-height:var(--jkl-body-line-height);--jkl-label-medium-font-weight:var(--jkl-body-font-weight);--jkl-label-large-font-size:var(--jkl-heading-2-font-size);--jkl-label-large-line-height:var(--jkl-heading-2-line-height);--jkl-label-large-font-weight:var(--jkl-heading-2-font-weight)}[data-density=compact],[data-layout-density=compact]{--jkl-label-small-margin:0 0 0.25rem 0;--jkl-label-medium-margin:0 0 0.5rem 0;--jkl-label-large-margin:0 0 0.75rem -0.0625rem}.jkl-label{color:var(--jkl-color-text-default);display:block;margin-left:0}.jkl-label--small{font-size:var(--jkl-label-small-font-size);font-weight:var(--jkl-label-small-font-weight);line-height:var(--jkl-label-small-line-height);margin:var(--jkl-label-small-margin)}.jkl-label--medium{font-size:var(--jkl-label-medium-font-size);font-weight:var(--jkl-label-medium-font-weight);line-height:var(--jkl-label-medium-line-height);margin:var(--jkl-label-medium-margin)}.jkl-label--large{font-size:var(--jkl-label-large-font-size);font-weight:var(--jkl-label-large-font-weight);line-height:var(--jkl-label-large-line-height);margin:var(--jkl-label-large-margin)}.jkl-label--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-input-group-description{font-size:1rem;font-weight:400;line-height:1.5rem;--jkl-icon-weight:300;--jkl-icon-size:1.25rem;--jkl-icon-opsz:20;color:var(--jkl-color-text-subdued);margin:var(--jkl-label-medium-margin);max-inline-size:50ch;text-wrap:pretty}@keyframes jkl-support-icon-entrance-ug37cg9{0%{margin-right:0;opacity:0;transform:scale(1)}30%{margin-right:.5rem}50%{opacity:1}70%{transform:scale(1.1)}85%{transform:scale(.9)}to{margin-right:.5rem;opacity:1;transform:scale(1)}}@media screen and (forced-colors:active){.jkl-text-input-action-button,.jkl-text-input-action-button path,.jkl-text-input-action-button svg{fill:ButtonFace;stroke:ButtonText}}@layer jokul.theme{@media screen and (prefers-color-scheme:light){:root{--jkl-icon-grade:0}}[data-theme=light]{--jkl-icon-grade:0}@media screen and (prefers-color-scheme:dark){:root{--jkl-icon-grade:-25}}[data-theme=dark]{--jkl-icon-grade:-25}}@layer jokul.components{.jkl-icon{--jkl-icon-fill:0;display:inline-block;font-family:Fremtind Material Symbols,Fremtind Material Symbols Fallback,sans-serif;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";font-size:var(--jkl-icon-size,1.5rem);font-variation-settings:"FILL" var(--jkl-icon-fill,0),"GRAD" var(--jkl-icon-grade,0),"opsz" var(--jkl-icon-opsz,24);font-weight:var(--jkl-icon-weight,300);line-height:1;-webkit-font-smoothing:antialiased;transition-duration:.15s;transition-property:font-variation-settings,transform;transition-timing-function:ease}.jkl-icon--bold{--jkl-icon-weight:400}.jkl-icon--filled{--jkl-icon-fill:1}.jkl-icon--medium{--jkl-icon-opsz:24;--jkl-icon-size:1.5rem}.jkl-icon--small{--jkl-icon-opsz:20;--jkl-icon-size:1.25rem}.jkl-icon--inherit{--jkl-icon-opsz:20;--jkl-icon-size:1.2em}.jkl-icon--animated{display:block}.jkl-icon-red-cross{--red-cross-circle:var(--jkl-color-background-alert-error);--red-cross-path:var(--jkl-color-text-on-alert);height:1.5rem;width:1.5rem}.jkl-icon-red-cross path{fill:var(--red-cross-path)}.jkl-icon-red-cross circle{fill:var(--red-cross-circle)}.jkl-icon-green-check{--green-check-circle:var(--jkl-color-background-alert-success);--green-check-path:var(--jkl-color-text-on-alert);height:1.5rem;width:1.5rem}.jkl-icon-green-check path{fill:var(--green-check-path)}.jkl-icon-green-check circle{fill:var(--green-check-circle)}.jkl-animated-horizontal-arrows,.jkl-animated-vertical-arrows{height:var(--jkl-icon-size,1.5rem);overflow:hidden;width:var(--jkl-icon-size,1.5rem)}.jkl-animated-horizontal-arrows__slider,.jkl-animated-vertical-arrows__slider{display:flex;transition-delay:83.33333ms;transition-duration:.25s;transition-property:transform;transition-timing-function:ease}.jkl-animated-horizontal-arrows__arrow,.jkl-animated-vertical-arrows__arrow{flex-shrink:0}.jkl-animated-vertical-arrows__slider{flex-direction:column;height:calc(var(--jkl-icon-size, 1.5rem)*2)}.jkl-animated-vertical-arrows__slider[data-show=up]{transform:translateZ(0)}.jkl-animated-vertical-arrows__slider[data-show=down]{transform:translate3d(0,-50%,0)}.jkl-animated-horizontal-arrows__slider{flex-direction:row;width:calc(var(--jkl-icon-size, 1.5rem)*2)}.jkl-animated-horizontal-arrows__slider[data-show=left]{transform:translateZ(0)}.jkl-animated-horizontal-arrows__slider[data-show=right]{transform:translate3d(-50%,0,0)}.jkl-icons-animated__plus{transform-origin:50% 50%;transition-duration:.25s;transition-property:transform;transition-timing-function:cubic-bezier(0,0,.375,1.17)}.jkl-icons-animated__plus--plus{transform:rotate(0)}.jkl-icons-animated__plus--close{transform:rotate(135deg)}}:root,[data-density=comfortable],[data-layout-density=comfortable]{--content-padding:calc(var(--jkl-unit-10)*2)}@media (width >= 0) and (max-width:679px){:root,[data-density=comfortable],[data-layout-density=comfortable]{--content-padding:calc(var(--jkl-unit-10)*1.5)}}[data-density=compact],[data-layout-density=compact]{--content-padding:0.5rem}.jkl-tooltip-trigger{all:unset}html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-tooltip-trigger:focus{--jkl-icon-weight:400;font-weight:700;letter-spacing:-.014em}.jkl-tooltip-content{--background-color:var(--jkl-color-background-container-inverted);font-size:1rem;font-weight:400;line-height:1.5rem;--jkl-icon-weight:300;--jkl-icon-size:1.25rem;--jkl-icon-opsz:20;background-color:var(--background-color);color:var(--jkl-color-text-inverted);display:inline-block;max-width:min(19.375rem,100%);min-width:-webkit-min-content;min-width:min-content;padding:var(--content-padding);position:absolute;z-index:10000}@media screen and (forced-colors:active){.jkl-tooltip-content{border:1px solid CanvasText}}.jkl-tooltip-question-button{align-items:center;background-color:initial;border-radius:9999px;border-style:none;color:var(--jkl-color-text-interactive);cursor:pointer;display:inline-flex;font-size:1.2em;outline:0;outline-style:none;padding:0;position:relative;transform:translateY(max(.16em,.25rem));transition-duration:.1s;transition-property:color;transition-timing-function:ease-in}.jkl-tooltip-question-button:active,.jkl-tooltip-question-button:focus,.jkl-tooltip-question-button:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-tooltip-question-button{border-style:revert}.jkl-tooltip-question-button,.jkl-tooltip-question-button:active,.jkl-tooltip-question-button:focus,.jkl-tooltip-question-button:hover{outline:revert;outline-style:revert}}.jkl-tooltip-question-button:hover{--button-color:var(--jkl-color-text-interactive-hover)}.jkl-tooltip-question-button:focus-visible{outline:3px solid var(--jkl-color-border-action);outline-offset:0}.jkl-tooltip-question-button:after{content:"";left:50%;min-height:44px;min-width:44px;position:absolute;top:50%;translate:-50% -50%}.jkl-popuptip__content-wrapper:focus{outline:none}:root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-segmented-controls-padding:calc(var(--jkl-unit-10)*0.25);--jkl-segmented-controls-margin:1.5ch;--jkl-segmented-control-font-size:var(--jkl-body-font-size);--jkl-segmented-control-line-height:var(--jkl-body-line-height);--jkl-segmented-control-font-weight:var(--jkl-body-font-weight)}[data-density=compact],[data-layout-density=compact]{--jkl-segmented-controls-padding:0;--jkl-segmented-controls-margin:1ch;--jkl-segmented-control-font-size:var(--jkl-small-font-size);--jkl-segmented-control-line-height:var(--jkl-small-line-height);--jkl-segmented-control-font-weight:var(--jkl-small-font-weight)}.jkl-segmented-control{font-size:var(--jkl-segmented-control-font-size);font-weight:var(--jkl-segmented-control-font-weight);line-height:var(--jkl-segmented-control-line-height)}@media (width >= 0) and (max-width:679px){.jkl-segmented-control{--jkl-segmented-control-font-size:var(--jkl-small-font-size);--jkl-segmented-control-line-height:var(--jkl-small-line-height);--jkl-segmented-control-font-weight:var(--jkl-small-font-weight)}}.jkl-segmented-control .jkl-segmented-control-legend{-webkit-margin-after:.25lh;margin-block-end:.25lh}.jkl-segmented-control .jkl-segmented-control-item{--jkl-segmented-control-border-width:1px;--jkl-segmented-controls-border-radius:2lh;align-items:center;background-color:var(--jkl-color-background-interactive);border:var(--jkl-segmented-control-border-width) solid var(--jkl-color-border-separator);border-radius:0;cursor:pointer;display:inline-flex;position:relative;-webkit-margin-end:calc(var(--jkl-segmented-control-border-width)*-1);margin-inline-end:calc(var(--jkl-segmented-control-border-width)*-1);-webkit-margin-after:.5lh;margin-block-end:.5lh;transition-duration:.25s;transition-property:border background;transition-timing-function:cubic-bezier(0,0,.375,1.17)}.jkl-segmented-control .jkl-segmented-control-item label{cursor:pointer;padding-block:var(--jkl-segmented-controls-padding);padding-inline:1ch 1.5ch}.jkl-segmented-control .jkl-segmented-control-item:hover{background-color:var(--jkl-color-background-interactive-hover);border-color:var(--jkl-color-border-separator-hover);z-index:2}.jkl-segmented-control .jkl-segmented-control-item:has(input:checked){background-color:var(--jkl-color-background-container-high);border-color:var(--jkl-color-border-separator);z-index:1}.jkl-segmented-control .jkl-segmented-control-item:has(input[data-separated=true]){border-radius:var(--jkl-segmented-controls-border-radius);-webkit-margin-start:var(--jkl-segmented-controls-margin);margin-inline-start:var(--jkl-segmented-controls-margin)}.jkl-segmented-control .jkl-segmented-control-item:has(input[data-separated=true]):first-of-type{-webkit-margin-start:0;margin-inline-start:0}.jkl-segmented-control .jkl-segmented-control-item:has(input[data-separated=true])+span+.jkl-segmented-control-item{border-end-start-radius:var(--jkl-segmented-controls-border-radius);border-start-start-radius:var(--jkl-segmented-controls-border-radius);-webkit-margin-start:var(--jkl-segmented-controls-margin);margin-inline-start:var(--jkl-segmented-controls-margin)}.jkl-segmented-control .jkl-segmented-control-item:first-of-type{border-end-start-radius:var(--jkl-segmented-controls-border-radius);border-start-start-radius:var(--jkl-segmented-controls-border-radius)}.jkl-segmented-control .jkl-segmented-control-item:last-of-type{border-end-end-radius:var(--jkl-segmented-controls-border-radius);border-start-end-radius:var(--jkl-segmented-controls-border-radius)}.jkl-segmented-control .jkl-segmented-control-item:has(+span+.jkl-segmented-control-item>input[data-separated=true]){border-end-end-radius:var(--jkl-segmented-controls-border-radius);border-start-end-radius:var(--jkl-segmented-controls-border-radius)}