@fremtind/jokul 0.8.0 → 0.9.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 (277) hide show
  1. package/build/NativeSelect-DOSP8-ZQ.js +2 -0
  2. package/build/NativeSelect-DOSP8-ZQ.js.map +1 -0
  3. package/build/NativeSelect-gBndJVSb.cjs +2 -0
  4. package/build/NativeSelect-gBndJVSb.cjs.map +1 -0
  5. package/build/build-stats.html +1 -1
  6. package/build/cjs/components/accordion/Accordion.js +2 -0
  7. package/build/cjs/components/accordion/Accordion.js.map +1 -0
  8. package/build/cjs/components/accordion/AccordionItem.js +2 -0
  9. package/build/cjs/components/accordion/AccordionItem.js.map +1 -0
  10. package/build/cjs/components/accordion/index.js +2 -0
  11. package/build/cjs/components/accordion/index.js.map +1 -0
  12. package/build/cjs/components/breadcrumb/Breadcrumb.js +2 -0
  13. package/build/cjs/components/breadcrumb/Breadcrumb.js.map +1 -0
  14. package/build/cjs/components/breadcrumb/BreadcrumbItem.js +2 -0
  15. package/build/cjs/components/breadcrumb/BreadcrumbItem.js.map +1 -0
  16. package/build/cjs/components/breadcrumb/index.js +2 -0
  17. package/build/cjs/components/breadcrumb/index.js.map +1 -0
  18. package/build/cjs/components/button/Button.js +2 -0
  19. package/build/cjs/components/button/Button.js.map +1 -0
  20. package/build/cjs/components/button/index.js +2 -0
  21. package/build/cjs/components/button/index.js.map +1 -0
  22. package/build/cjs/components/button/types.js +2 -0
  23. package/build/cjs/components/button/types.js.map +1 -0
  24. package/build/cjs/components/checkbox/Checkbox.js +2 -0
  25. package/build/cjs/components/checkbox/Checkbox.js.map +1 -0
  26. package/build/cjs/components/checkbox/index.js +2 -0
  27. package/build/cjs/components/checkbox/index.js.map +1 -0
  28. package/build/cjs/components/combobox/Combobox.js +2 -0
  29. package/build/cjs/components/combobox/Combobox.js.map +1 -0
  30. package/build/cjs/components/combobox/index.js +2 -0
  31. package/build/cjs/components/combobox/index.js.map +1 -0
  32. package/build/cjs/components/cookie-consent/CookieConsent.js +2 -0
  33. package/build/cjs/components/cookie-consent/CookieConsent.js.map +1 -0
  34. package/build/cjs/components/cookie-consent/CookieConsentContext.js +2 -0
  35. package/build/cjs/components/cookie-consent/CookieConsentContext.js.map +1 -0
  36. package/build/cjs/components/cookie-consent/CookieConsentModal.js +2 -0
  37. package/build/cjs/components/cookie-consent/CookieConsentModal.js.map +1 -0
  38. package/build/cjs/components/cookie-consent/consents/CustomConsents.js +2 -0
  39. package/build/cjs/components/cookie-consent/consents/CustomConsents.js.map +1 -0
  40. package/build/cjs/components/cookie-consent/consents/DefaultConsents.js +2 -0
  41. package/build/cjs/components/cookie-consent/consents/DefaultConsents.js.map +1 -0
  42. package/build/cjs/components/cookie-consent/consents/RequirementCheckbox.js +2 -0
  43. package/build/cjs/components/cookie-consent/consents/RequirementCheckbox.js.map +1 -0
  44. package/build/cjs/components/cookie-consent/cookieConsentUtils.js +2 -0
  45. package/build/cjs/components/cookie-consent/cookieConsentUtils.js.map +1 -0
  46. package/build/cjs/components/cookie-consent/index.js +2 -0
  47. package/build/cjs/components/cookie-consent/index.js.map +1 -0
  48. package/build/cjs/components/cookie-consent/types.js +2 -0
  49. package/build/cjs/components/cookie-consent/types.js.map +1 -0
  50. package/build/cjs/components/index.js +1 -1
  51. package/build/cjs/components/input-group/FieldGroup.js +1 -1
  52. package/build/cjs/components/input-group/FieldGroup.js.map +1 -1
  53. package/build/cjs/components/input-group/InputGroup.js +1 -1
  54. package/build/cjs/components/input-group/InputGroup.js.map +1 -1
  55. package/build/cjs/components/input-group/Label.js +1 -1
  56. package/build/cjs/components/input-group/Label.js.map +1 -1
  57. package/build/cjs/components/input-group/SupportLabel.js +1 -1
  58. package/build/cjs/components/input-group/SupportLabel.js.map +1 -1
  59. package/build/cjs/components/list/List.js +2 -0
  60. package/build/cjs/components/list/List.js.map +1 -0
  61. package/build/cjs/components/list/ListItem.js +2 -0
  62. package/build/cjs/components/list/ListItem.js.map +1 -0
  63. package/build/cjs/components/list/index.js +2 -0
  64. package/build/cjs/components/list/index.js.map +1 -0
  65. package/build/cjs/components/modal/Modal.js +2 -0
  66. package/build/cjs/components/modal/Modal.js.map +1 -0
  67. package/build/cjs/components/modal/index.js +2 -0
  68. package/build/cjs/components/modal/index.js.map +1 -0
  69. package/build/cjs/components/modal/useModal.js +2 -0
  70. package/build/cjs/components/modal/useModal.js.map +1 -0
  71. package/build/cjs/components/radio-button/BaseRadioButton.js +2 -0
  72. package/build/cjs/components/radio-button/BaseRadioButton.js.map +1 -0
  73. package/build/cjs/components/radio-button/RadioButton.js +2 -0
  74. package/build/cjs/components/radio-button/RadioButton.js.map +1 -0
  75. package/build/cjs/components/radio-button/RadioButtonGroup.js +2 -0
  76. package/build/cjs/components/radio-button/RadioButtonGroup.js.map +1 -0
  77. package/build/cjs/components/radio-button/index.js +2 -0
  78. package/build/cjs/components/radio-button/index.js.map +1 -0
  79. package/build/cjs/components/radio-button/radioGroupContext.js +2 -0
  80. package/build/cjs/components/radio-button/radioGroupContext.js.map +1 -0
  81. package/build/cjs/components/select/NativeSelect.js +2 -0
  82. package/build/cjs/components/select/NativeSelect.js.map +1 -0
  83. package/build/cjs/components/select/Select.js +2 -0
  84. package/build/cjs/components/select/Select.js.map +1 -0
  85. package/build/cjs/components/select/index.js +2 -0
  86. package/build/cjs/components/select/index.js.map +1 -0
  87. package/build/cjs/components/select/select-utils.js +2 -0
  88. package/build/cjs/components/select/select-utils.js.map +1 -0
  89. package/build/cjs/components/tag/Tag.js +1 -1
  90. package/build/cjs/components/tag/Tag.js.map +1 -1
  91. package/build/cjs/components/tooltip/PopupTip.js +1 -1
  92. package/build/cjs/components/tooltip/PopupTip.js.map +1 -1
  93. package/build/cjs/components/tooltip/TooltipContent.js +1 -1
  94. package/build/cjs/components/tooltip/TooltipContent.js.map +1 -1
  95. package/build/cjs/components/tooltip/TooltipTrigger.js +1 -1
  96. package/build/cjs/components/tooltip/TooltipTrigger.js.map +1 -1
  97. package/build/cjs/index.js +1 -1
  98. package/build/components/accordion/Accordion.d.ts +8 -0
  99. package/build/components/accordion/AccordionItem.d.ts +10 -0
  100. package/build/components/accordion/index.d.ts +4 -0
  101. package/build/components/breadcrumb/Breadcrumb.d.ts +6 -0
  102. package/build/components/breadcrumb/BreadcrumbItem.d.ts +10 -0
  103. package/build/components/breadcrumb/index.d.ts +4 -0
  104. package/build/components/button/Button.d.ts +7 -0
  105. package/build/components/button/index.d.ts +2 -0
  106. package/build/components/button/types.d.ts +19 -0
  107. package/build/components/checkbox/Checkbox.d.ts +17 -0
  108. package/build/components/checkbox/index.d.ts +2 -0
  109. package/build/components/combobox/Combobox.d.ts +39 -0
  110. package/build/components/combobox/index.d.ts +2 -0
  111. package/build/components/cookie-consent/CookieConsent.d.ts +6 -0
  112. package/build/components/cookie-consent/CookieConsentContext.d.ts +48 -0
  113. package/build/components/cookie-consent/CookieConsentModal.d.ts +3 -0
  114. package/build/components/cookie-consent/consents/CustomConsents.d.ts +9 -0
  115. package/build/components/cookie-consent/consents/DefaultConsents.d.ts +9 -0
  116. package/build/components/cookie-consent/consents/RequirementCheckbox.d.ts +9 -0
  117. package/build/components/cookie-consent/cookieConsentUtils.d.ts +23 -0
  118. package/build/components/cookie-consent/index.d.ts +5 -0
  119. package/build/components/cookie-consent/types.d.ts +12 -0
  120. package/build/components/index.d.ts +10 -0
  121. package/build/components/list/List.d.ts +8 -0
  122. package/build/components/list/ListItem.d.ts +8 -0
  123. package/build/components/list/index.d.ts +3 -0
  124. package/build/components/modal/Modal.d.ts +72 -0
  125. package/build/components/modal/index.d.ts +4 -0
  126. package/build/components/modal/useModal.d.ts +69 -0
  127. package/build/components/radio-button/BaseRadioButton.d.ts +10 -0
  128. package/build/components/radio-button/RadioButton.d.ts +15 -0
  129. package/build/components/radio-button/RadioButtonGroup.d.ts +24 -0
  130. package/build/components/radio-button/index.d.ts +6 -0
  131. package/build/components/radio-button/radioGroupContext.d.ts +16 -0
  132. package/build/components/select/NativeSelect.d.ts +19 -0
  133. package/build/components/select/Select.d.ts +53 -0
  134. package/build/components/select/index.d.ts +4 -0
  135. package/build/components/select/select-utils.d.ts +2 -0
  136. package/build/es/components/accordion/Accordion.js +2 -0
  137. package/build/es/components/accordion/Accordion.js.map +1 -0
  138. package/build/es/components/accordion/AccordionItem.js +2 -0
  139. package/build/es/components/accordion/AccordionItem.js.map +1 -0
  140. package/build/es/components/accordion/index.js +2 -0
  141. package/build/es/components/accordion/index.js.map +1 -0
  142. package/build/es/components/breadcrumb/Breadcrumb.js +2 -0
  143. package/build/es/components/breadcrumb/Breadcrumb.js.map +1 -0
  144. package/build/es/components/breadcrumb/BreadcrumbItem.js +2 -0
  145. package/build/es/components/breadcrumb/BreadcrumbItem.js.map +1 -0
  146. package/build/es/components/breadcrumb/index.js +2 -0
  147. package/build/es/components/breadcrumb/index.js.map +1 -0
  148. package/build/es/components/button/Button.js +2 -0
  149. package/build/es/components/button/Button.js.map +1 -0
  150. package/build/es/components/button/index.js +2 -0
  151. package/build/es/components/button/index.js.map +1 -0
  152. package/build/es/components/button/types.js +2 -0
  153. package/build/es/components/button/types.js.map +1 -0
  154. package/build/es/components/checkbox/Checkbox.js +2 -0
  155. package/build/es/components/checkbox/Checkbox.js.map +1 -0
  156. package/build/es/components/checkbox/index.js +2 -0
  157. package/build/es/components/checkbox/index.js.map +1 -0
  158. package/build/es/components/combobox/Combobox.js +2 -0
  159. package/build/es/components/combobox/Combobox.js.map +1 -0
  160. package/build/es/components/combobox/index.js +2 -0
  161. package/build/es/components/combobox/index.js.map +1 -0
  162. package/build/es/components/cookie-consent/CookieConsent.js +2 -0
  163. package/build/es/components/cookie-consent/CookieConsent.js.map +1 -0
  164. package/build/es/components/cookie-consent/CookieConsentContext.js +2 -0
  165. package/build/es/components/cookie-consent/CookieConsentContext.js.map +1 -0
  166. package/build/es/components/cookie-consent/CookieConsentModal.js +2 -0
  167. package/build/es/components/cookie-consent/CookieConsentModal.js.map +1 -0
  168. package/build/es/components/cookie-consent/consents/CustomConsents.js +2 -0
  169. package/build/es/components/cookie-consent/consents/CustomConsents.js.map +1 -0
  170. package/build/es/components/cookie-consent/consents/DefaultConsents.js +2 -0
  171. package/build/es/components/cookie-consent/consents/DefaultConsents.js.map +1 -0
  172. package/build/es/components/cookie-consent/consents/RequirementCheckbox.js +2 -0
  173. package/build/es/components/cookie-consent/consents/RequirementCheckbox.js.map +1 -0
  174. package/build/es/components/cookie-consent/cookieConsentUtils.js +2 -0
  175. package/build/es/components/cookie-consent/cookieConsentUtils.js.map +1 -0
  176. package/build/es/components/cookie-consent/index.js +2 -0
  177. package/build/es/components/cookie-consent/index.js.map +1 -0
  178. package/build/es/components/cookie-consent/types.js +2 -0
  179. package/build/es/components/cookie-consent/types.js.map +1 -0
  180. package/build/es/components/index.js +1 -1
  181. package/build/es/components/input-group/FieldGroup.js +1 -1
  182. package/build/es/components/input-group/FieldGroup.js.map +1 -1
  183. package/build/es/components/input-group/InputGroup.js +1 -1
  184. package/build/es/components/input-group/InputGroup.js.map +1 -1
  185. package/build/es/components/input-group/Label.js +1 -1
  186. package/build/es/components/input-group/Label.js.map +1 -1
  187. package/build/es/components/input-group/SupportLabel.js +1 -1
  188. package/build/es/components/input-group/SupportLabel.js.map +1 -1
  189. package/build/es/components/list/List.js +2 -0
  190. package/build/es/components/list/List.js.map +1 -0
  191. package/build/es/components/list/ListItem.js +2 -0
  192. package/build/es/components/list/ListItem.js.map +1 -0
  193. package/build/es/components/list/index.js +2 -0
  194. package/build/es/components/list/index.js.map +1 -0
  195. package/build/es/components/modal/Modal.js +2 -0
  196. package/build/es/components/modal/Modal.js.map +1 -0
  197. package/build/es/components/modal/index.js +2 -0
  198. package/build/es/components/modal/index.js.map +1 -0
  199. package/build/es/components/modal/useModal.js +2 -0
  200. package/build/es/components/modal/useModal.js.map +1 -0
  201. package/build/es/components/radio-button/BaseRadioButton.js +2 -0
  202. package/build/es/components/radio-button/BaseRadioButton.js.map +1 -0
  203. package/build/es/components/radio-button/RadioButton.js +2 -0
  204. package/build/es/components/radio-button/RadioButton.js.map +1 -0
  205. package/build/es/components/radio-button/RadioButtonGroup.js +2 -0
  206. package/build/es/components/radio-button/RadioButtonGroup.js.map +1 -0
  207. package/build/es/components/radio-button/index.js +2 -0
  208. package/build/es/components/radio-button/index.js.map +1 -0
  209. package/build/es/components/radio-button/radioGroupContext.js +2 -0
  210. package/build/es/components/radio-button/radioGroupContext.js.map +1 -0
  211. package/build/es/components/select/NativeSelect.js +2 -0
  212. package/build/es/components/select/NativeSelect.js.map +1 -0
  213. package/build/es/components/select/Select.js +2 -0
  214. package/build/es/components/select/Select.js.map +1 -0
  215. package/build/es/components/select/index.js +2 -0
  216. package/build/es/components/select/index.js.map +1 -0
  217. package/build/es/components/select/select-utils.js +2 -0
  218. package/build/es/components/select/select-utils.js.map +1 -0
  219. package/build/es/components/tag/Tag.js +1 -1
  220. package/build/es/components/tag/Tag.js.map +1 -1
  221. package/build/es/components/tooltip/PopupTip.js +1 -1
  222. package/build/es/components/tooltip/PopupTip.js.map +1 -1
  223. package/build/es/components/tooltip/TooltipContent.js +1 -1
  224. package/build/es/components/tooltip/TooltipContent.js.map +1 -1
  225. package/build/es/components/tooltip/TooltipTrigger.js +1 -1
  226. package/build/es/components/tooltip/TooltipTrigger.js.map +1 -1
  227. package/build/es/index.js +1 -1
  228. package/build/hooks/useAriaLiveRegion/useAriaLiveRegion.d.ts +1 -1
  229. package/package.json +26 -4
  230. package/src/components/accordion/styles/_index.scss +1 -0
  231. package/src/components/accordion/styles/accordion.css +166 -0
  232. package/src/components/accordion/styles/accordion.min.css +1 -0
  233. package/src/components/accordion/styles/accordion.scss +147 -0
  234. package/src/components/breadcrumb/styles/_index.scss +1 -0
  235. package/src/components/breadcrumb/styles/breadcrumb.css +29 -0
  236. package/src/components/breadcrumb/styles/breadcrumb.min.css +1 -0
  237. package/src/components/breadcrumb/styles/breadcrumb.scss +34 -0
  238. package/src/components/button/styles/_index.scss +1 -0
  239. package/src/components/button/styles/button.css +251 -0
  240. package/src/components/button/styles/button.min.css +1 -0
  241. package/src/components/button/styles/button.scss +294 -0
  242. package/src/components/checkbox/styles/_index.scss +1 -0
  243. package/src/components/checkbox/styles/checkbox.css +191 -0
  244. package/src/components/checkbox/styles/checkbox.min.css +1 -0
  245. package/src/components/checkbox/styles/checkbox.scss +229 -0
  246. package/src/components/combobox/styles/_index.scss +1 -0
  247. package/src/components/combobox/styles/combobox.css +337 -0
  248. package/src/components/combobox/styles/combobox.min.css +1 -0
  249. package/src/components/combobox/styles/combobox.scss +307 -0
  250. package/src/components/cookie-consent/styles/_index.scss +1 -0
  251. package/src/components/cookie-consent/styles/cookie-consent.css +94 -0
  252. package/src/components/cookie-consent/styles/cookie-consent.min.css +1 -0
  253. package/src/components/cookie-consent/styles/cookie-consent.scss +79 -0
  254. package/src/components/list/styles/_index.scss +1 -0
  255. package/src/components/list/styles/list.css +128 -0
  256. package/src/components/list/styles/list.min.css +1 -0
  257. package/src/components/list/styles/list.scss +166 -0
  258. package/src/components/loader/styles/loader.css +6 -6
  259. package/src/components/loader/styles/loader.min.css +1 -1
  260. package/src/components/loader/styles/skeleton-loader.css +5 -5
  261. package/src/components/loader/styles/skeleton-loader.min.css +1 -1
  262. package/src/components/modal/styles/_index.scss +1 -0
  263. package/src/components/modal/styles/modal.css +115 -0
  264. package/src/components/modal/styles/modal.min.css +1 -0
  265. package/src/components/modal/styles/modal.scss +100 -0
  266. package/src/components/radio-button/styles/_index.scss +1 -0
  267. package/src/components/radio-button/styles/radio-button.css +180 -0
  268. package/src/components/radio-button/styles/radio-button.min.css +1 -0
  269. package/src/components/radio-button/styles/radio-button.scss +201 -0
  270. package/src/components/select/styles/_index.scss +1 -0
  271. package/src/components/select/styles/select.css +350 -0
  272. package/src/components/select/styles/select.min.css +1 -0
  273. package/src/components/select/styles/select.scss +330 -0
  274. package/src/components/tooltip/styles/_index.scss +1 -0
  275. package/src/components/tooltip/styles/tooltip.css +136 -0
  276. package/src/components/tooltip/styles/tooltip.min.css +1 -0
  277. package/src/components/tooltip/styles/tooltip.scss +105 -0
@@ -0,0 +1,115 @@
1
+ /**
2
+ * Do not edit directly
3
+ * Generated on Mon, 23 Sep 2024 08:51:40 GMT
4
+ */
5
+ :root,
6
+ [data-layout-density=comfortable],
7
+ [data-density=comfortable] {
8
+ --jkl-modal-body-font-size: var(--jkl-body-font-size);
9
+ --jkl-modal-body-line-height: var(--jkl-body-line-height);
10
+ --jkl-modal-body-font-weight: var(--jkl-body-font-weight);
11
+ --jkl-modal-title-font-size: var(--jkl-heading-3-font-size);
12
+ --jkl-modal-title-line-height: var(--jkl-heading-3-line-height);
13
+ --jkl-modal-title-font-weight: var(--jkl-heading-3-font-weight);
14
+ --jkl-modal-padding: 2.5rem;
15
+ --jkl-modal-min-width: 13.75rem;
16
+ --jkl-modal-max-width: 41.25rem;
17
+ --jkl-modal-header-margin: 0 0 1.5rem;
18
+ --jkl-modal-actions-margin: 2.5rem 0 0 0;
19
+ }
20
+ @media (width >= 0) and (max-width: 679px) {
21
+ :root,
22
+ [data-layout-density=comfortable],
23
+ [data-density=comfortable] {
24
+ --jkl-modal-padding: 2rem;
25
+ --jkl-modal-header-margin: 0 0 1rem;
26
+ --jkl-modal-actions-margin: 2rem 0 0 0;
27
+ }
28
+ }
29
+
30
+ [data-layout-density=compact],
31
+ [data-density=compact] {
32
+ --jkl-modal-body-font-size: var(--jkl-small-font-size);
33
+ --jkl-modal-body-line-height: var(--jkl-small-line-height);
34
+ --jkl-modal-body-font-weight: var(--jkl-small-font-weight);
35
+ --jkl-modal-title-font-size: var(--jkl-heading-4-font-size);
36
+ --jkl-modal-title-line-height: var(--jkl-heading-4-line-height);
37
+ --jkl-modal-title-font-weight: var(--jkl-heading-4-font-weight);
38
+ --jkl-modal-padding: 1.5rem;
39
+ --jkl-modal-header-margin: 0 0 0.75rem;
40
+ --jkl-modal-actions-margin: 1.5rem 0 0 0;
41
+ --jkl-modal-min-width: 13.75rem;
42
+ }
43
+
44
+ .jkl-modal-container,
45
+ .jkl-modal-overlay {
46
+ position: fixed;
47
+ inset: 0;
48
+ }
49
+
50
+ .jkl-modal-container {
51
+ z-index: 9000;
52
+ display: flex;
53
+ }
54
+ .jkl-modal-container[aria-hidden=true] {
55
+ display: none;
56
+ }
57
+
58
+ .jkl-modal-overlay {
59
+ background-color: rgba(27, 25, 23, 0.8);
60
+ }
61
+
62
+ .jkl-modal {
63
+ margin: auto;
64
+ z-index: 9000;
65
+ position: relative;
66
+ background-color: var(--jkl-color-background-container-high);
67
+ border-radius: 0.125rem;
68
+ box-shadow: 0 0.25rem 0.75rem rgba(37, 42, 49, 0.03);
69
+ width: 100%;
70
+ min-width: var(--jkl-modal-min-width);
71
+ max-width: var(--jkl-modal-max-width);
72
+ max-height: 90vh;
73
+ overflow: auto;
74
+ padding: var(--jkl-modal-padding);
75
+ display: flex;
76
+ flex-direction: column;
77
+ }
78
+ @media screen and (forced-colors: active) {
79
+ .jkl-modal {
80
+ border-color: CanvasText;
81
+ }
82
+ }
83
+ @media (width >= 0) and (max-width: 679px) {
84
+ .jkl-modal {
85
+ margin: auto 1.5rem;
86
+ }
87
+ }
88
+
89
+ .jkl-modal-header {
90
+ display: flex;
91
+ flex-direction: row;
92
+ justify-content: space-between;
93
+ align-items: center;
94
+ margin: var(--jkl-modal-header-margin);
95
+ gap: var(--jkl-modal-gap);
96
+ }
97
+
98
+ .jkl-modal-body {
99
+ font-size: var(--jkl-modal-body-font-size);
100
+ line-height: var(--jkl-modal-body-line-height);
101
+ font-weight: var(--jkl-modal-body-font-weight);
102
+ }
103
+
104
+ .jkl-modal-title {
105
+ font-size: var(--jkl-modal-title-font-size);
106
+ line-height: var(--jkl-modal-title-line-height);
107
+ font-weight: var(--jkl-modal-title-font-weight);
108
+ }
109
+
110
+ .jkl-modal-actions {
111
+ margin: var(--jkl-modal-actions-margin);
112
+ display: flex;
113
+ flex-direction: row;
114
+ gap: 1rem;
115
+ }
@@ -0,0 +1 @@
1
+ :root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-modal-body-font-size:var(--jkl-body-font-size);--jkl-modal-body-line-height:var(--jkl-body-line-height);--jkl-modal-body-font-weight:var(--jkl-body-font-weight);--jkl-modal-title-font-size:var(--jkl-heading-3-font-size);--jkl-modal-title-line-height:var(--jkl-heading-3-line-height);--jkl-modal-title-font-weight:var(--jkl-heading-3-font-weight);--jkl-modal-padding:2.5rem;--jkl-modal-min-width:13.75rem;--jkl-modal-max-width:41.25rem;--jkl-modal-header-margin:0 0 1.5rem;--jkl-modal-actions-margin:2.5rem 0 0 0}@media (width >= 0) and (max-width:679px){:root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-modal-padding:2rem;--jkl-modal-header-margin:0 0 1rem;--jkl-modal-actions-margin:2rem 0 0 0}}[data-density=compact],[data-layout-density=compact]{--jkl-modal-body-font-size:var(--jkl-small-font-size);--jkl-modal-body-line-height:var(--jkl-small-line-height);--jkl-modal-body-font-weight:var(--jkl-small-font-weight);--jkl-modal-title-font-size:var(--jkl-heading-4-font-size);--jkl-modal-title-line-height:var(--jkl-heading-4-line-height);--jkl-modal-title-font-weight:var(--jkl-heading-4-font-weight);--jkl-modal-padding:1.5rem;--jkl-modal-header-margin:0 0 0.75rem;--jkl-modal-actions-margin:1.5rem 0 0 0;--jkl-modal-min-width:13.75rem}.jkl-modal-container,.jkl-modal-overlay{inset:0;position:fixed}.jkl-modal-container{display:flex;z-index:9000}.jkl-modal-container[aria-hidden=true]{display:none}.jkl-modal-overlay{background-color:#1b1917cc}.jkl-modal{background-color:var(--jkl-color-background-container-high);border-radius:.125rem;box-shadow:0 .25rem .75rem #252a3108;display:flex;flex-direction:column;margin:auto;max-height:90vh;max-width:var(--jkl-modal-max-width);min-width:var(--jkl-modal-min-width);overflow:auto;padding:var(--jkl-modal-padding);position:relative;width:100%;z-index:9000}@media screen and (forced-colors:active){.jkl-modal{border-color:CanvasText}}@media (width >= 0) and (max-width:679px){.jkl-modal{margin:auto 1.5rem}}.jkl-modal-header{align-items:center;display:flex;flex-direction:row;gap:var(--jkl-modal-gap);justify-content:space-between;margin:var(--jkl-modal-header-margin)}.jkl-modal-body{font-size:var(--jkl-modal-body-font-size);font-weight:var(--jkl-modal-body-font-weight);line-height:var(--jkl-modal-body-line-height)}.jkl-modal-title{font-size:var(--jkl-modal-title-font-size);font-weight:var(--jkl-modal-title-font-weight);line-height:var(--jkl-modal-title-line-height)}.jkl-modal-actions{display:flex;flex-direction:row;gap:1rem;margin:var(--jkl-modal-actions-margin)}
@@ -0,0 +1,100 @@
1
+ @charset "UTF-8";
2
+ @use "../../../core/jkl";
3
+
4
+ @include jkl.comfortable-density-variables {
5
+ @include jkl.declare-font-variables("jkl-modal-body", "body");
6
+ @include jkl.declare-font-variables("jkl-modal-title", "heading-3");
7
+
8
+ --jkl-modal-padding: #{jkl.$spacing-40};
9
+ --jkl-modal-min-width: #{jkl.rem(220px)};
10
+ --jkl-modal-max-width: #{jkl.rem(660px)};
11
+ --jkl-modal-header-margin: 0 0 #{jkl.$spacing-24};
12
+ --jkl-modal-actions-margin: #{jkl.$spacing-40} 0 0 0;
13
+
14
+ @include jkl.small-device {
15
+ --jkl-modal-padding: #{jkl.$spacing-32};
16
+ --jkl-modal-header-margin: 0 0 #{jkl.$spacing-16};
17
+ --jkl-modal-actions-margin: #{jkl.$spacing-32} 0 0 0;
18
+ }
19
+ }
20
+
21
+ @include jkl.compact-density-variables {
22
+ @include jkl.declare-font-variables("jkl-modal-body", "small");
23
+ @include jkl.declare-font-variables("jkl-modal-title", "heading-4");
24
+
25
+ --jkl-modal-padding: #{jkl.$spacing-24};
26
+ --jkl-modal-header-margin: 0 0 #{jkl.$spacing-12};
27
+ --jkl-modal-actions-margin: #{jkl.$spacing-24} 0 0 0;
28
+ --jkl-modal-min-width: #{jkl.rem(220px)};
29
+ }
30
+
31
+ .jkl-modal-container,
32
+ .jkl-modal-overlay {
33
+ position: fixed;
34
+ inset: 0;
35
+ }
36
+
37
+ .jkl-modal-container {
38
+ z-index: jkl.$z-index--modal;
39
+ display: flex;
40
+
41
+ &[aria-hidden="true"] {
42
+ display: none;
43
+ }
44
+ }
45
+
46
+ .jkl-modal-overlay {
47
+ background-color: rgba(27 25 23 / 80%);
48
+ }
49
+
50
+ .jkl-modal {
51
+ margin: auto;
52
+ z-index: jkl.$z-index--modal;
53
+ position: relative;
54
+
55
+ background-color: var(--jkl-color-background-container-high);
56
+ border-radius: jkl.rem(2px);
57
+ box-shadow: jkl.$shadow-task-card;
58
+
59
+ width: 100%;
60
+ min-width: var(--jkl-modal-min-width);
61
+ max-width: var(--jkl-modal-max-width);
62
+ max-height: 90vh;
63
+ overflow: auto;
64
+
65
+ padding: var(--jkl-modal-padding);
66
+ display: flex;
67
+ flex-direction: column;
68
+
69
+ @include jkl.forced-colors-mode {
70
+ border-color: CanvasText;
71
+ }
72
+
73
+ @include jkl.small-device {
74
+ margin: auto jkl.$spacing-24;
75
+ }
76
+ }
77
+
78
+ .jkl-modal-header {
79
+ display: flex;
80
+ flex-direction: row;
81
+ justify-content: space-between;
82
+ align-items: center;
83
+ margin: var(--jkl-modal-header-margin);
84
+ gap: var(--jkl-modal-gap);
85
+ }
86
+
87
+ .jkl-modal-body {
88
+ @include jkl.use-font-variables("jkl-modal-body");
89
+ }
90
+
91
+ .jkl-modal-title {
92
+ @include jkl.use-font-variables("jkl-modal-title");
93
+ }
94
+
95
+ .jkl-modal-actions {
96
+ margin: var(--jkl-modal-actions-margin);
97
+ display: flex;
98
+ flex-direction: row;
99
+ gap: jkl.$spacing-16;
100
+ }
@@ -0,0 +1 @@
1
+ @forward "radio-button";
@@ -0,0 +1,180 @@
1
+ /**
2
+ * Do not edit directly
3
+ * Generated on Mon, 23 Sep 2024 08:51:40 GMT
4
+ */
5
+ :root,
6
+ [data-layout-density=comfortable],
7
+ [data-density=comfortable] {
8
+ --jkl-radio-button-height: 3rem;
9
+ --jkl-radio-button-line-height: 2rem;
10
+ --jkl-radio-button-size: 1.5rem;
11
+ --jkl-radio-button-text-margin: 0.5rem 0;
12
+ --jkl-radio-button-text-transform: translate3d(0, 0.0625rem, 0);
13
+ --jkl-radio-button-dot-margin: 0.75rem 0.5rem 0.75rem 0;
14
+ --jkl-radio-button-dot-size: 1rem;
15
+ --jkl-radio-button-label-font-size: var(--jkl-body-font-size);
16
+ --jkl-radio-button-label-line-height: var(--jkl-body-line-height);
17
+ --jkl-radio-button-label-font-weight: var(--jkl-body-font-weight);
18
+ }
19
+ @media (width >= 0) and (max-width: 679px) {
20
+ :root,
21
+ [data-layout-density=comfortable],
22
+ [data-density=comfortable] {
23
+ --jkl-radio-button-height: 2.5rem;
24
+ --jkl-radio-button-line-height: 1.75rem;
25
+ --jkl-radio-button-size: 1.5rem;
26
+ --jkl-radio-button-text-margin: 0.5rem 0;
27
+ --jkl-radio-button-text-transform: translate3d(0, 0, 0);
28
+ --jkl-radio-button-dot-margin: 0.625rem 0.5rem 0.625rem 0;
29
+ --jkl-radio-button-dot-size: 1rem;
30
+ }
31
+ }
32
+
33
+ [data-layout-density=compact],
34
+ [data-density=compact] {
35
+ --jkl-radio-button-height: 1.75rem;
36
+ --jkl-radio-button-line-height: 1.5rem;
37
+ --jkl-radio-button-size: 1.125rem;
38
+ --jkl-radio-button-text-margin: 0.25rem 0;
39
+ --jkl-radio-button-text-transform: translate3d(0, 0, 0);
40
+ --jkl-radio-button-dot-margin: 0.4375rem 0.5rem 0.4375rem 0;
41
+ --jkl-radio-button-dot-size: 0.625rem;
42
+ --jkl-radio-button-label-font-size: var(--jkl-small-font-size);
43
+ --jkl-radio-button-label-line-height: var(--jkl-small-line-height);
44
+ --jkl-radio-button-label-font-weight: var(--jkl-small-font-weight);
45
+ }
46
+
47
+ @keyframes jkl-dot-in-u8irt39 {
48
+ 0% {
49
+ transform: scale(0.8);
50
+ }
51
+ 100% {
52
+ transform: scale(1);
53
+ }
54
+ }
55
+ .jkl-radio-button {
56
+ --ring-color: var(--jkl-color-border-action);
57
+ --dot-color: transparent;
58
+ --background-color: transparent;
59
+ --text-color: var(--jkl-color-text-default);
60
+ display: flex;
61
+ min-height: var(--jkl-radio-button-height);
62
+ color: var(--text-color);
63
+ position: relative;
64
+ outline: 0;
65
+ border-style: none;
66
+ outline-style: none;
67
+ }
68
+ .jkl-radio-button:active, .jkl-radio-button:hover, .jkl-radio-button:focus {
69
+ outline: 0;
70
+ outline-style: none;
71
+ }
72
+ @media screen and (forced-colors: active) {
73
+ .jkl-radio-button {
74
+ outline: revert;
75
+ border-style: revert;
76
+ outline-style: revert;
77
+ }
78
+ .jkl-radio-button:active, .jkl-radio-button:hover, .jkl-radio-button:focus {
79
+ outline: revert;
80
+ outline-style: revert;
81
+ }
82
+ }
83
+ .jkl-radio-button__input {
84
+ position: absolute;
85
+ opacity: 0;
86
+ top: -6px;
87
+ }
88
+ .jkl-radio-button__input:checked + .jkl-radio-button__label > .jkl-radio-button__dot::after {
89
+ --dot-color: var(--jkl-color-border-action);
90
+ animation: jkl-dot-in-u8irt39 150ms ease;
91
+ }
92
+ @media screen and (forced-colors: active) {
93
+ .jkl-radio-button__input:checked + .jkl-radio-button__label > .jkl-radio-button__dot::after {
94
+ background-color: ButtonText;
95
+ }
96
+ }
97
+ .jkl-radio-button--error .jkl-radio-button__input:checked + .jkl-radio-button__label {
98
+ --background-color: var(--jkl-color-background-alert-error);
99
+ --dot-color: var(--jkl-color-text-on-alert);
100
+ }
101
+ .jkl-radio-button__input:focus-visible + .jkl-radio-button__label {
102
+ --background-color: var(--jkl-color-background-input-focus);
103
+ }
104
+ .jkl-radio-button__input:focus-visible + .jkl-radio-button__label > .jkl-radio-button__dot {
105
+ outline: 2px solid var(--jkl-color-border-action);
106
+ outline-offset: 2px;
107
+ }
108
+ .jkl-radio-button--error .jkl-radio-button__input:focus-visible + .jkl-radio-button__label {
109
+ --background-color: var(--jkl-color-background-alert-error);
110
+ --dot-color: var(--jkl-color-text-on-alert);
111
+ }
112
+ .jkl-radio-button__label {
113
+ cursor: pointer;
114
+ display: flex;
115
+ align-items: flex-start;
116
+ font-size: var(--jkl-radio-button-label-font-size);
117
+ line-height: var(--jkl-radio-button-label-line-height);
118
+ font-weight: var(--jkl-radio-button-label-font-weight);
119
+ }
120
+ .jkl-radio-button__label:hover > .jkl-radio-button__dot {
121
+ outline: 1px solid var(--ring-color);
122
+ }
123
+ .jkl-radio-button__label:active > .jkl-radio-button__dot .jkl-radio-button__label::after {
124
+ scale: 0.9;
125
+ }
126
+ .jkl-radio-button__dot {
127
+ display: inline-block;
128
+ position: relative;
129
+ box-sizing: border-box;
130
+ margin: var(--jkl-radio-button-dot-margin);
131
+ flex-shrink: 0;
132
+ height: var(--jkl-radio-button-size);
133
+ width: var(--jkl-radio-button-size);
134
+ border-radius: 50%;
135
+ border: 0.0625rem solid var(--ring-color);
136
+ background-color: var(--background-color);
137
+ transition-property: background-color, outline;
138
+ transition-timing-function: ease;
139
+ transition-duration: 150ms;
140
+ /* Inner dot */
141
+ }
142
+ .jkl-radio-button__dot::after {
143
+ content: "";
144
+ position: absolute;
145
+ left: 50%;
146
+ top: 50%;
147
+ translate: -50% -50%;
148
+ scale: 1;
149
+ height: var(--jkl-radio-button-dot-size);
150
+ width: var(--jkl-radio-button-dot-size);
151
+ border-radius: 50%;
152
+ background-color: var(--dot-color);
153
+ transition-property: transform;
154
+ transition-timing-function: ease;
155
+ transition-duration: 150ms;
156
+ }
157
+ @media screen and (forced-colors: active) {
158
+ .jkl-radio-button__dot {
159
+ outline: revert;
160
+ border: 1px solid ButtonText;
161
+ }
162
+ }
163
+ .jkl-radio-button__text {
164
+ display: inline-block;
165
+ margin: var(--jkl-radio-button-text-margin);
166
+ transform: var(--jkl-radio-button-text-transform);
167
+ }
168
+ .jkl-radio-button--error {
169
+ --background-color: var(--jkl-color-background-alert-error);
170
+ }
171
+ .jkl-radio-button--inline {
172
+ display: inline-flex;
173
+ margin-top: unset;
174
+ margin-right: 1.5rem;
175
+ }
176
+ .jkl-radio-button + .jkl-form-support-label {
177
+ margin-left: calc(var(--jkl-radio-button-size) + 0.5rem);
178
+ margin-top: -0.375rem;
179
+ margin-bottom: 0.5rem;
180
+ }
@@ -0,0 +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:0.25rem 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-u8irt39{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{opacity:0;position:absolute;top:-6px}.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-u8irt39 .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{--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:2px solid var(--jkl-color-border-action);outline-offset:2px}.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,201 @@
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: #{(($_radio-button-height - $_radio-button-line-height) * 0.5)} 0;
18
+ --jkl-radio-button-text-transform: translate3d(0, #{jkl.rem(1px)}, 0);
19
+ --jkl-radio-button-dot-margin: #{(($_radio-button-height - $_radio-button-size) * 0.5)} #{jkl.$spacing-xs} #{(
20
+ ($_radio-button-height - $_radio-button-size) * 0.5
21
+ )} 0;
22
+ --jkl-radio-button-dot-size: #{$_radio-button-size - (2 * $_radio-button-dot-padding)};
23
+
24
+ @include jkl.declare-font-variables("jkl-radio-button-label", "body");
25
+
26
+ @include jkl.small-device {
27
+ $_mobile-radio-button-height: jkl.rem(40px);
28
+ $_mobile-radio-button-size: jkl.rem(24px);
29
+ $_mobile-radio-button-line-height: jkl.rem(28px);
30
+
31
+ --jkl-radio-button-height: #{$_mobile-radio-button-height};
32
+ --jkl-radio-button-line-height: #{$_mobile-radio-button-line-height};
33
+ --jkl-radio-button-size: #{$_mobile-radio-button-size};
34
+ --jkl-radio-button-text-margin: #{jkl.$spacing-8} 0;
35
+ --jkl-radio-button-text-transform: translate3d(0, 0, 0);
36
+ --jkl-radio-button-dot-margin: #{jkl.rem(10px)} #{jkl.$spacing-xs} #{jkl.rem(10px)} 0;
37
+ --jkl-radio-button-dot-size: #{$_mobile-radio-button-size - (2 * $_radio-button-dot-padding)};
38
+ }
39
+ }
40
+
41
+ @include jkl.compact-density-variables {
42
+ $_compact-radio-button-height: jkl.rem(28px);
43
+ $_compact-radio-button-size: jkl.rem(18px);
44
+ $_compact-radio-button-line-height: jkl.rem(24px);
45
+
46
+ --jkl-radio-button-height: #{$_compact-radio-button-height};
47
+ --jkl-radio-button-line-height: #{$_compact-radio-button-line-height};
48
+ --jkl-radio-button-size: #{$_compact-radio-button-size};
49
+ --jkl-radio-button-text-margin: #{jkl.$spacing-4} 0;
50
+ --jkl-radio-button-text-transform: translate3d(0, 0, 0);
51
+ --jkl-radio-button-dot-margin: #{jkl.rem(7px)} #{jkl.$spacing-xs} #{jkl.rem(7px)} 0;
52
+ --jkl-radio-button-dot-size: #{$_compact-radio-button-size - (2 * $_radio-button-dot-padding)};
53
+
54
+ @include jkl.declare-font-variables("jkl-radio-button-label", "small");
55
+ }
56
+
57
+ @keyframes #{$_radio-button-dot-animation-name} {
58
+ 0% {
59
+ transform: scale(0.8);
60
+ }
61
+
62
+ 100% {
63
+ transform: scale(1);
64
+ }
65
+ }
66
+
67
+ .jkl-radio-button {
68
+ --ring-color: var(--jkl-color-border-action);
69
+ --dot-color: transparent;
70
+ --background-color: transparent;
71
+ --text-color: var(--jkl-color-text-default);
72
+
73
+ display: flex;
74
+ min-height: var(--jkl-radio-button-height);
75
+ color: var(--text-color);
76
+ position: relative;
77
+
78
+ @include jkl.reset-outline;
79
+
80
+ &__input {
81
+ // hide default radio button
82
+ position: absolute;
83
+ opacity: 0;
84
+ // Position the hidden input so that Cypress can hit it without it being obscured by the visual checkbox
85
+ top: -6px;
86
+
87
+ // Checked state
88
+ &:checked {
89
+ + .jkl-radio-button__label > .jkl-radio-button__dot::after {
90
+ --dot-color: var(--jkl-color-border-action);
91
+ animation: $_radio-button-dot-animation-name jkl.timing("productive") ease;
92
+
93
+ @include jkl.forced-colors-mode {
94
+ background-color: ButtonText;
95
+ }
96
+ }
97
+
98
+ .jkl-radio-button--error & + .jkl-radio-button__label {
99
+ --background-color: var(--jkl-color-background-alert-error);
100
+ --dot-color: var(--jkl-color-text-on-alert);
101
+ }
102
+ }
103
+
104
+ // Focused state
105
+ &:focus-visible {
106
+ + .jkl-radio-button__label {
107
+ --background-color: var(--jkl-color-background-input-focus);
108
+
109
+ & > .jkl-radio-button__dot {
110
+ @include jkl.focus-outline;
111
+ }
112
+ }
113
+
114
+ .jkl-radio-button--error & + .jkl-radio-button__label {
115
+ --background-color: var(--jkl-color-background-alert-error);
116
+ --dot-color: var(--jkl-color-text-on-alert);
117
+ }
118
+ }
119
+ }
120
+
121
+ &__label {
122
+ cursor: pointer;
123
+ display: flex;
124
+ align-items: flex-start;
125
+
126
+ @include jkl.use-font-variables("jkl-radio-button-label");
127
+
128
+ // Hovered state
129
+ &:hover > .jkl-radio-button__dot {
130
+ outline: 1px solid var(--ring-color);
131
+ }
132
+
133
+ // Active state
134
+ &:active > .jkl-radio-button__dot &::after {
135
+ scale: 0.9;
136
+ }
137
+ }
138
+
139
+ &__dot {
140
+ display: inline-block;
141
+ position: relative;
142
+ box-sizing: border-box;
143
+ margin: var(--jkl-radio-button-dot-margin);
144
+ flex-shrink: 0;
145
+
146
+ height: var(--jkl-radio-button-size);
147
+ width: var(--jkl-radio-button-size);
148
+ border-radius: 50%;
149
+ border: jkl.rem(1px) solid var(--ring-color);
150
+ background-color: var(--background-color);
151
+
152
+ transition-property: background-color, outline;
153
+ @include jkl.motion;
154
+
155
+ /* Inner dot */
156
+ &::after {
157
+ content: "";
158
+
159
+ position: absolute;
160
+ left: 50%;
161
+ top: 50%;
162
+ translate: -50% -50%;
163
+ scale: 1;
164
+
165
+ height: var(--jkl-radio-button-dot-size);
166
+ width: var(--jkl-radio-button-dot-size);
167
+ border-radius: 50%;
168
+ background-color: var(--dot-color);
169
+
170
+ transition-property: transform;
171
+ @include jkl.motion;
172
+ }
173
+
174
+ @include jkl.forced-colors-mode {
175
+ outline: revert;
176
+ border: 1px solid ButtonText;
177
+ }
178
+ }
179
+
180
+ &__text {
181
+ display: inline-block;
182
+ margin: var(--jkl-radio-button-text-margin);
183
+ transform: var(--jkl-radio-button-text-transform);
184
+ }
185
+
186
+ &--error {
187
+ --background-color: var(--jkl-color-background-alert-error);
188
+ }
189
+
190
+ &--inline {
191
+ display: inline-flex;
192
+ margin-top: unset;
193
+ margin-right: jkl.$spacing-l;
194
+ }
195
+
196
+ + .jkl-form-support-label {
197
+ margin-left: calc(var(--jkl-radio-button-size) + #{jkl.$spacing-8});
198
+ margin-top: jkl.rem(-6px);
199
+ margin-bottom: jkl.$spacing-8;
200
+ }
201
+ }
@@ -0,0 +1 @@
1
+ @forward "select";