@fremtind/jokul 5.0.0-next.8 → 5.0.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 (238) hide show
  1. package/build/build-stats.html +1 -1
  2. package/build/cjs/components/autosuggest/BaseAutosuggest.cjs +1 -1
  3. package/build/cjs/components/autosuggest/BaseAutosuggest.cjs.map +1 -1
  4. package/build/cjs/components/expander/Accordion.cjs +2 -0
  5. package/build/cjs/components/expander/Accordion.cjs.map +1 -0
  6. package/build/cjs/components/expander/Accordion.d.cts +2 -0
  7. package/build/cjs/components/expander/ExpandablePanel.cjs +1 -1
  8. package/build/cjs/components/expander/ExpandablePanel.cjs.map +1 -1
  9. package/build/cjs/components/expander/ExpandablePanelContent.cjs +1 -1
  10. package/build/cjs/components/expander/ExpandablePanelContent.cjs.map +1 -1
  11. package/build/cjs/components/expander/Expander.cjs +1 -1
  12. package/build/cjs/components/expander/Expander.cjs.map +1 -1
  13. package/build/cjs/components/expander/index.d.cts +1 -1
  14. package/build/cjs/components/expander/types.d.cts +5 -2
  15. package/build/cjs/components/icon/Icon.cjs +1 -1
  16. package/build/cjs/components/icon/Icon.cjs.map +1 -1
  17. package/build/cjs/components/icon/Icon.d.cts +2 -2
  18. package/build/cjs/components/icon/icons/GreenCheckIcon.cjs +1 -1
  19. package/build/cjs/components/icon/icons/GreenCheckIcon.cjs.map +1 -1
  20. package/build/cjs/components/icon/icons/GreenCheckIcon.d.cts +2 -3
  21. package/build/cjs/components/icon/icons/RedCrossIcon.cjs +1 -1
  22. package/build/cjs/components/icon/icons/RedCrossIcon.cjs.map +1 -1
  23. package/build/cjs/components/icon/icons/RedCrossIcon.d.cts +2 -3
  24. package/build/cjs/components/link-list/LinkList.cjs +1 -1
  25. package/build/cjs/components/link-list/LinkList.cjs.map +1 -1
  26. package/build/cjs/components/link-list/LinkList.d.cts +1 -1
  27. package/build/cjs/components/link-list/types.d.cts +1 -0
  28. package/build/cjs/components/number-input/NumberInput.cjs +2 -0
  29. package/build/cjs/components/number-input/NumberInput.cjs.map +1 -0
  30. package/build/cjs/components/number-input/NumberInput.d.cts +7 -0
  31. package/build/cjs/components/number-input/index.cjs +2 -0
  32. package/build/cjs/components/number-input/index.cjs.map +1 -0
  33. package/build/cjs/components/number-input/index.d.cts +2 -0
  34. package/build/cjs/components/number-input/types.cjs +2 -0
  35. package/build/cjs/components/number-input/types.cjs.map +1 -0
  36. package/build/cjs/components/number-input/types.d.cts +20 -0
  37. package/build/cjs/components/popover/Popover.cjs +1 -1
  38. package/build/cjs/components/popover/Popover.cjs.map +1 -1
  39. package/build/cjs/components/popover/types.d.cts +8 -1
  40. package/build/cjs/components/select/Select.cjs +1 -1
  41. package/build/cjs/components/select/Select.cjs.map +1 -1
  42. package/build/cjs/components/system-message/types.d.cts +7 -2
  43. package/build/cjs/hooks/useListNavigation/useListNavigation.cjs +1 -1
  44. package/build/cjs/hooks/useListNavigation/useListNavigation.cjs.map +1 -1
  45. package/build/cjs/hooks/useListNavigation/useListNavigation.d.cts +11 -2
  46. package/build/cjs/tokens.cjs +1 -1
  47. package/build/cjs/tokens.cjs.map +1 -1
  48. package/build/cjs/utilities/index.cjs +1 -1
  49. package/build/cjs/utilities/types.cjs +1 -1
  50. package/build/cjs/utilities/types.cjs.map +1 -1
  51. package/build/cjs/utilities/types.d.cts +2 -0
  52. package/build/es/components/autosuggest/BaseAutosuggest.js +1 -1
  53. package/build/es/components/autosuggest/BaseAutosuggest.js.map +1 -1
  54. package/build/es/components/datepicker/DatePicker.js +1 -1
  55. package/build/es/components/datepicker/internal/Calendar.js +1 -1
  56. package/build/es/components/datepicker/internal/useCalendar.js +1 -1
  57. package/build/es/components/datepicker/internal/utils.js +1 -1
  58. package/build/es/components/expander/Accordion.d.ts +2 -0
  59. package/build/es/components/expander/Accordion.js +2 -0
  60. package/build/es/components/expander/Accordion.js.map +1 -0
  61. package/build/es/components/expander/ExpandablePanel.js +1 -1
  62. package/build/es/components/expander/ExpandablePanel.js.map +1 -1
  63. package/build/es/components/expander/ExpandablePanelContent.js +1 -1
  64. package/build/es/components/expander/ExpandablePanelContent.js.map +1 -1
  65. package/build/es/components/expander/Expander.js +1 -1
  66. package/build/es/components/expander/Expander.js.map +1 -1
  67. package/build/es/components/expander/index.d.ts +1 -1
  68. package/build/es/components/expander/types.d.ts +5 -2
  69. package/build/es/components/icon/Icon.d.ts +2 -2
  70. package/build/es/components/icon/Icon.js +1 -1
  71. package/build/es/components/icon/Icon.js.map +1 -1
  72. package/build/es/components/icon/icons/GreenCheckIcon.d.ts +2 -3
  73. package/build/es/components/icon/icons/GreenCheckIcon.js +1 -1
  74. package/build/es/components/icon/icons/GreenCheckIcon.js.map +1 -1
  75. package/build/es/components/icon/icons/RedCrossIcon.d.ts +2 -3
  76. package/build/es/components/icon/icons/RedCrossIcon.js +1 -1
  77. package/build/es/components/icon/icons/RedCrossIcon.js.map +1 -1
  78. package/build/es/components/link-list/LinkList.d.ts +1 -1
  79. package/build/es/components/link-list/LinkList.js +1 -1
  80. package/build/es/components/link-list/LinkList.js.map +1 -1
  81. package/build/es/components/link-list/types.d.ts +1 -0
  82. package/build/es/components/menu/Menu.js +1 -1
  83. package/build/es/components/number-input/NumberInput.d.ts +7 -0
  84. package/build/es/components/number-input/NumberInput.js +2 -0
  85. package/build/es/components/number-input/NumberInput.js.map +1 -0
  86. package/build/es/components/number-input/index.d.ts +2 -0
  87. package/build/es/components/number-input/index.js +2 -0
  88. package/build/es/components/number-input/index.js.map +1 -0
  89. package/build/es/components/number-input/types.d.ts +20 -0
  90. package/build/es/components/number-input/types.js +2 -0
  91. package/build/es/components/number-input/types.js.map +1 -0
  92. package/build/es/components/popover/Popover.js +1 -1
  93. package/build/es/components/popover/Popover.js.map +1 -1
  94. package/build/es/components/popover/types.d.ts +8 -1
  95. package/build/es/components/select/Select.js +1 -1
  96. package/build/es/components/select/Select.js.map +1 -1
  97. package/build/es/components/system-message/types.d.ts +7 -2
  98. package/build/es/components/toast/toastContext.js +1 -1
  99. package/build/es/components/tooltip/Tooltip.js +1 -1
  100. package/build/es/hooks/stories/content.js +1 -1
  101. package/build/es/hooks/useListNavigation/useListNavigation.d.ts +11 -2
  102. package/build/es/hooks/useListNavigation/useListNavigation.js +1 -1
  103. package/build/es/hooks/useListNavigation/useListNavigation.js.map +1 -1
  104. package/build/es/tokens.js +1 -1
  105. package/build/es/tokens.js.map +1 -1
  106. package/build/es/utilities/constants/index.js +1 -1
  107. package/build/es/utilities/constants/unicode.js +1 -1
  108. package/build/es/utilities/formatters/bytes/formatBytes.js +1 -1
  109. package/build/es/utilities/formatters/fodselsnummer/formatFodselsnummer.js +1 -1
  110. package/build/es/utilities/formatters/kontonummer/formatKontonummer.js +1 -1
  111. package/build/es/utilities/formatters/kortnummer/formatKortnummer.js +1 -1
  112. package/build/es/utilities/formatters/organisasjonsnummer/formatOrganisasjonsnummer.js +1 -1
  113. package/build/es/utilities/formatters/telefonnummer/formatTelefonnummer.js +1 -1
  114. package/build/es/utilities/formatters/valuta/formatValuta.js +1 -1
  115. package/build/es/utilities/index.js +1 -1
  116. package/build/es/utilities/types.d.ts +2 -0
  117. package/build/es/utilities/types.js +1 -1
  118. package/build/es/utilities/types.js.map +1 -1
  119. package/build/{index-CWRMnfcx.js → index-C1iqmqvT.js} +2 -2
  120. package/build/{index-CWRMnfcx.js.map → index-C1iqmqvT.js.map} +1 -1
  121. package/build/{utils-CcE6HjQp.js → utils-CtwpNW4I.js} +2 -2
  122. package/build/{utils-CcE6HjQp.js.map → utils-CtwpNW4I.js.map} +1 -1
  123. package/codemods/CODEMODS.md +133 -0
  124. package/codemods/__tests__/import-paths.test.mjs +568 -94
  125. package/codemods/import-paths.mjs +34 -339
  126. package/codemods/transforms/color-tokens.mjs +102 -0
  127. package/codemods/transforms/expandable-panel.mjs +41 -0
  128. package/codemods/transforms/font-family.mjs +23 -0
  129. package/codemods/transforms/import-specifiers.mjs +226 -0
  130. package/codemods/transforms/warnings.mjs +41 -0
  131. package/codemods/utils.mjs +35 -0
  132. package/package.json +8 -4
  133. package/styles/base.css +180 -805
  134. package/styles/base.min.css +1 -1
  135. package/styles/components/autosuggest/autosuggest.css +4 -3
  136. package/styles/components/autosuggest/autosuggest.min.css +1 -1
  137. package/styles/components/autosuggest/autosuggest.scss +4 -3
  138. package/styles/components/button/button.css +9 -3
  139. package/styles/components/button/button.min.css +1 -1
  140. package/styles/components/button/button.scss +10 -3
  141. package/styles/components/checkbox/checkbox.css +1 -1
  142. package/styles/components/checkbox/checkbox.min.css +1 -1
  143. package/styles/components/checkbox/checkbox.scss +1 -1
  144. package/styles/components/checkbox-panel/checkbox-panel.css +1 -1
  145. package/styles/components/checkbox-panel/checkbox-panel.min.css +1 -1
  146. package/styles/components/combobox/combobox.css +4 -4
  147. package/styles/components/combobox/combobox.min.css +1 -1
  148. package/styles/components/combobox/combobox.scss +4 -4
  149. package/styles/components/countdown/countdown.css +2 -2
  150. package/styles/components/countdown/countdown.min.css +1 -1
  151. package/styles/components/expander/_index.scss +1 -0
  152. package/styles/components/expander/accordion.css +21 -0
  153. package/styles/components/expander/accordion.min.css +1 -0
  154. package/styles/components/expander/accordion.scss +24 -0
  155. package/styles/components/expander/expandable.css +32 -37
  156. package/styles/components/expander/expandable.min.css +1 -1
  157. package/styles/components/expander/expandable.scss +27 -36
  158. package/styles/components/feedback/feedback.css +2 -2
  159. package/styles/components/feedback/feedback.min.css +1 -1
  160. package/styles/components/feedback/feedback.scss +0 -1
  161. package/styles/components/file/file.css +1 -1
  162. package/styles/components/file/file.min.css +1 -1
  163. package/styles/components/file/file.scss +1 -1
  164. package/styles/components/file-input/file-input.css +19 -13
  165. package/styles/components/file-input/file-input.min.css +1 -1
  166. package/styles/components/icon/icon.scss +1 -1
  167. package/styles/components/input-group/input-group.css +2 -2
  168. package/styles/components/input-group/input-group.min.css +1 -1
  169. package/styles/components/link-list/link-list.css +7 -2
  170. package/styles/components/link-list/link-list.min.css +1 -1
  171. package/styles/components/link-list/link-list.scss +10 -3
  172. package/styles/components/list/list.css +33 -21
  173. package/styles/components/list/list.min.css +1 -1
  174. package/styles/components/list/list.scss +24 -24
  175. package/styles/components/loader/loader.css +6 -6
  176. package/styles/components/loader/loader.min.css +1 -1
  177. package/styles/components/loader/skeleton-loader.css +3 -3
  178. package/styles/components/loader/skeleton-loader.min.css +1 -1
  179. package/styles/components/menu/_menu-item.scss +1 -1
  180. package/styles/components/menu/menu.css +1 -1
  181. package/styles/components/menu/menu.min.css +1 -1
  182. package/styles/components/message/message.css +9 -9
  183. package/styles/components/message/message.min.css +1 -1
  184. package/styles/components/message/message.scss +7 -7
  185. package/styles/components/modal/_index.scss +7 -0
  186. package/styles/components/modal/_overlay.scss +4 -0
  187. package/styles/components/modal/modal.css +32 -116
  188. package/styles/components/modal/modal.min.css +1 -1
  189. package/styles/components/modal/modal.scss +96 -6
  190. package/styles/components/number-input/_index.scss +2 -0
  191. package/styles/components/number-input/number-input.css +214 -0
  192. package/styles/components/number-input/number-input.min.css +1 -0
  193. package/styles/components/number-input/number-input.scss +115 -0
  194. package/styles/components/progress-bar/progress-bar.css +1 -1
  195. package/styles/components/progress-bar/progress-bar.min.css +1 -1
  196. package/styles/components/radio-button/radio-button.css +1 -5
  197. package/styles/components/radio-button/radio-button.min.css +1 -1
  198. package/styles/components/radio-button/radio-button.scss +2 -7
  199. package/styles/components/segmented-control/segmented-control.css +3 -7
  200. package/styles/components/segmented-control/segmented-control.min.css +1 -1
  201. package/styles/components/select/select.css +65 -7
  202. package/styles/components/select/select.min.css +1 -1
  203. package/styles/components/select/select.scss +129 -18
  204. package/styles/components/system-message/system-message.css +9 -13
  205. package/styles/components/system-message/system-message.min.css +1 -1
  206. package/styles/components/system-message/system-message.scss +116 -123
  207. package/styles/components/tag/tag.css +4 -4
  208. package/styles/components/tag/tag.min.css +1 -1
  209. package/styles/components/tag/tag.scss +4 -4
  210. package/styles/components/toast/toast.css +4 -4
  211. package/styles/components/toast/toast.min.css +1 -1
  212. package/styles/components/typography/text.scss +2 -2
  213. package/styles/components/typography/title.scss +1 -1
  214. package/styles/components.css +524 -130
  215. package/styles/components.min.css +1 -1
  216. package/styles/components.scss +2 -1
  217. package/styles/jkl/_convert.scss +15 -6
  218. package/styles/jkl/_tokens.scss +4 -4
  219. package/styles/tailwind.css +97 -97
  220. package/styles/theme/_color-scheme.scss +95 -95
  221. package/styles/theme/_dynamic-spacing.scss +21 -15
  222. package/styles/theme/_fonts.scss +3 -12
  223. package/styles/theme/_index.scss +0 -4
  224. package/styles/theme/_size.scss +20 -20
  225. package/styles/theme/_tokens.scss +11 -11
  226. package/styles/core/utility/_paragraphs.scss +0 -39
  227. package/styles/theme/brands/dnb/_color-scheme.scss +0 -121
  228. package/styles/theme/brands/dnb/_fonts.scss +0 -46
  229. package/styles/theme/brands/dnb/_index.scss +0 -2
  230. package/styles/theme/brands/eika/_color-scheme.scss +0 -121
  231. package/styles/theme/brands/eika/_fonts.scss +0 -46
  232. package/styles/theme/brands/eika/_index.scss +0 -2
  233. package/styles/theme/brands/fremtind/_color-scheme.scss +0 -121
  234. package/styles/theme/brands/fremtind/_fonts.scss +0 -30
  235. package/styles/theme/brands/fremtind/_index.scss +0 -2
  236. package/styles/theme/brands/sparebank1/_color-scheme.scss +0 -121
  237. package/styles/theme/brands/sparebank1/_fonts.scss +0 -38
  238. package/styles/theme/brands/sparebank1/_index.scss +0 -2
@@ -8,161 +8,154 @@ $_dismiss-animation-duration: jkl.timing("lazy");
8
8
  @layer jokul.components {
9
9
  .jkl-system-message {
10
10
  --jkl-system-message-icon-height: var(--jkl-unit-30);
11
- --jkl-system-message-icon-padding: #{jkl.rem(3px)} 0 0 0;
12
11
  --jkl-system-message-content-padding: var(--jkl-unit-30);
13
12
  --jkl-system-message-dismiss-button-size: var(--jkl-unit-40);
14
- --jkl-system-message-dismiss-button-margin: -#{jkl.rem(
15
- 6.5px)
16
- }
17
-
18
- -#{jkl.rem(18px)} -#{jkl.rem(6.5px)} auto;
19
- --jkl-system-message-message-margin: 0 var(--jkl-unit-20);
20
- --background-color: var(--jkl-color-background-container);
21
- --text-color: var(--jkl-color-text-default);
22
- --border-color: var(--jkl-color-border-subdued);
23
-
24
- width: 100%;
25
- background-color: var(--background-color);
26
- color: var(--text-color);
27
- border: 1px solid var(--border-color);
28
- transition-behavior: allow-discrete;
29
- box-sizing: border-box;
13
+ --jkl-system-message-dismiss-button-margin: -#{jkl.rem(6.5px)} -#{jkl.rem(18px)} -#{jkl.rem(6.5px)} auto;
14
+ --jkl-system-message-message-margin: 0 var(--jkl-unit-20);
15
+ --icon-color: var(--jkl-color-background-contrast);
16
+ --background-color: var(--jkl-color-background-container);
17
+ --text-color: var(--jkl-color-text-default);
30
18
 
31
- &__content {
32
- box-sizing: border-box;
33
- padding: var(--jkl-system-message-content-padding);
34
- display: grid;
35
- grid-template-columns: min-content 1fr min-content;
36
- align-items: flex-start;
37
19
  width: 100%;
38
- margin: 0 auto;
39
- }
40
-
41
- &__icon {
42
- height: var(--jkl-system-message-icon-height);
43
- margin: var(--jkl-system-message-icon-padding);
44
- flex-shrink: 0;
45
-
46
- @include jkl.forced-colors-svg-fallback($stroke: CanvasText);
47
- }
48
-
49
- &__message {
50
- @include jkl.text-style("text-medium");
51
- margin: var(--jkl-system-message-message-margin);
52
- }
20
+ background-color: var(--background-color);
21
+ color: var(--text-color);
22
+ transition-behavior: allow-discrete;
23
+ box-sizing: border-box;
53
24
 
54
- &__dismiss-button {
55
- background-color: transparent;
56
- padding: 0;
57
- cursor: pointer;
58
- display: grid;
59
- place-content: center;
60
- position: relative;
61
- flex-shrink: 0;
62
- margin-top: jkl.rem(3px); // visual alignment with text
63
- color: inherit;
64
-
65
- // Sørg for å ha en stor nok touch target.
66
- &::after {
67
- content: "";
68
- position: absolute;
69
- display: block;
70
- width: var(--jkl-system-message-dismiss-button-size);
71
- height: var(--jkl-system-message-dismiss-button-size);
72
- top: 50%;
73
- left: 50%;
74
- transform: translate(-50%, -50%);
25
+ &__content {
26
+ box-sizing: border-box;
27
+ padding: var(--jkl-system-message-content-padding);
28
+ display: grid;
29
+ grid-template-columns: min-content 1fr min-content;
30
+ align-items: flex-start;
31
+ width: 100%;
32
+ margin: 0 auto;
75
33
  }
76
34
 
77
- @include jkl.forced-colors-svg-fallback($stroke: ButtonText);
35
+ &__icon {
36
+ height: var(--jkl-system-message-icon-height);
37
+ color: var(--icon-color);
38
+ flex-shrink: 0;
78
39
 
79
- @include jkl.forced-colors-mode {
80
- background-color: ButtonFace;
40
+ @include jkl.forced-colors-svg-fallback($stroke: CanvasText);
81
41
  }
82
42
 
83
- @include jkl.reset-outline;
43
+ &__message {
44
+ @include jkl.text-style("text-medium");
45
+ margin: var(--jkl-system-message-message-margin);
46
+ }
84
47
 
85
- &:hover {
86
- color: var(--jkl-color-text-subdued);
48
+ &__dismiss-button {
49
+ background-color: transparent;
50
+ padding: 0;
51
+ cursor: pointer;
52
+ display: grid;
53
+ place-content: center;
54
+ position: relative;
55
+ flex-shrink: 0;
56
+ color: inherit;
57
+
58
+ // Sørg for å ha en stor nok touch target.
59
+ &::after {
60
+ content: "";
61
+ position: absolute;
62
+ display: block;
63
+ width: var(--jkl-system-message-dismiss-button-size);
64
+ height: var(--jkl-system-message-dismiss-button-size);
65
+ top: 50%;
66
+ left: 50%;
67
+ transform: translate(-50%, -50%);
68
+ }
87
69
 
88
70
  @include jkl.forced-colors-svg-fallback($stroke: ButtonText);
89
- }
90
-
91
- &:focus-visible {
92
- @include jkl.focus-outline;
93
71
 
94
72
  @include jkl.forced-colors-mode {
95
- outline: 2px solid ButtonText;
96
- outline-offset: 2px;
73
+ background-color: ButtonFace;
97
74
  }
98
- }
99
- }
100
75
 
101
- &__message,
102
- &__message:last-child {
103
- margin-bottom: 0;
104
- }
76
+ @include jkl.reset-outline;
105
77
 
106
- &--dismissed {
107
- animation: $_dismiss-animation-name jkl.timing("lazy") forwards;
108
- transition: block jkl.timing("lazy") jkl.timing("lazy");
109
- }
78
+ &:hover {
79
+ color: var(--jkl-color-text-subdued);
110
80
 
111
- &--info {
112
- --background-color: var(--jkl-color-info-background-container);
113
- --text-color: var(--jkl-color-info-text-default);
114
- --border-color: var(--jkl-color-info-border-subdued);
115
- }
81
+ @include jkl.forced-colors-svg-fallback($stroke: ButtonText);
82
+ }
116
83
 
117
- &--warning {
118
- --background-color: var(--jkl-color-warning-background-container);
119
- --text-color: var(--jkl-color-warning-text-default);
120
- --border-color: var(--jkl-color-warning-border-subdued);
121
- }
84
+ &:focus-visible {
85
+ @include jkl.focus-outline;
122
86
 
123
- &--error {
124
- --background-color: var(--jkl-color-error-background-container);
125
- --text-color: var(--jkl-color-error-text-default);
126
- --border-color: var(--jkl-color-error-border-subdued);
127
- }
87
+ @include jkl.forced-colors-mode {
88
+ outline: 2px solid ButtonText;
89
+ outline-offset: 2px;
90
+ }
91
+ }
92
+ }
128
93
 
129
- &--success {
130
- --background-color: var(--jkl-color-success-background-container);
131
- --text-color: var(--jkl-color-success-text-default);
132
- --border-color: var(--jkl-color-success-border-subdued);
133
- }
94
+ &__message,
95
+ &__message:last-child {
96
+ margin-bottom: 0;
97
+ }
134
98
 
135
- @include jkl.forced-colors-mode {
136
- border: 2px solid CanvasText;
99
+ &--dismissed {
100
+ animation: $_dismiss-animation-name jkl.timing("lazy") forwards;
101
+ transition: block jkl.timing("lazy") jkl.timing("lazy");
102
+ }
137
103
 
138
104
  &--info {
139
- border-style: dotted;
105
+ --background-color: var(--jkl-color-info-background-container);
106
+ --text-color: var(--jkl-color-info-text-default);
107
+ --icon-color: var(--jkl-color-info-background-contrast);
140
108
  }
141
109
 
142
110
  &--warning {
143
- border-style: dashed;
111
+ --background-color: var(--jkl-color-warning-background-container);
112
+ --text-color: var(--jkl-color-warning-text-default);
113
+ --icon-color: var(--jkl-color-warning-background-contrast);
144
114
  }
145
115
 
146
116
  &--error {
147
- border-style: double;
148
- border-width: 4px;
117
+ --background-color: var(--jkl-color-error-background-container);
118
+ --text-color: var(--jkl-color-error-text-default);
119
+ --icon-color: var(--jkl-color-error-background-contrast);
120
+ }
121
+
122
+ &--success {
123
+ --background-color: var(--jkl-color-success-background-container);
124
+ --text-color: var(--jkl-color-success-text-default);
125
+ --icon-color: var(--jkl-color-success-background-contrast);
126
+ }
127
+
128
+ @include jkl.forced-colors-mode {
129
+ border: 2px solid CanvasText;
130
+
131
+ &--info {
132
+ border-style: dotted;
133
+ }
134
+
135
+ &--warning {
136
+ border-style: dashed;
137
+ }
138
+
139
+ &--error {
140
+ border-style: double;
141
+ border-width: 4px;
142
+ }
149
143
  }
150
- }
151
- }
152
-
153
- @keyframes #{$_dismiss-animation-name} {
154
- from {
155
- opacity: 1;
156
- transform: translateY(0);
157
- filter: saturate(1);
158
- display: block;
159
144
  }
160
145
 
161
- to {
162
- opacity: 0;
163
- transform: translateY(-10%);
164
- filter: saturate(0.7);
165
- display: none;
146
+ @keyframes #{$_dismiss-animation-name} {
147
+ from {
148
+ opacity: 1;
149
+ transform: translateY(0);
150
+ filter: saturate(1);
151
+ display: block;
152
+ }
153
+
154
+ to {
155
+ opacity: 0;
156
+ transform: translateY(-10%);
157
+ filter: saturate(0.7);
158
+ display: none;
159
+ }
166
160
  }
167
- }
168
- }
161
+ }
@@ -20,22 +20,22 @@
20
20
  gap: var(--gap);
21
21
  }
22
22
  .jkl-tag--info {
23
- --background-color: var(--jkl-color-info-background-container);
23
+ --background-color: var(--jkl-color-info-background-container-accent);
24
24
  --text-color: var(--jkl-color-info-text-default);
25
25
  --border-color: var(--jkl-color-info-border-subdued);
26
26
  }
27
27
  .jkl-tag--warning {
28
- --background-color: var(--jkl-color-warning-background-container);
28
+ --background-color: var(--jkl-color-warning-background-container-accent);
29
29
  --text-color: var(--jkl-color-warning-text-default);
30
30
  --border-color: var(--jkl-color-warning-border-subdued);
31
31
  }
32
32
  .jkl-tag--error {
33
- --background-color: var(--jkl-color-error-background-container);
33
+ --background-color: var(--jkl-color-error-background-container-accent);
34
34
  --text-color: var(--jkl-color-error-text-default);
35
35
  --border-color: var(--jkl-color-error-border-subdued);
36
36
  }
37
37
  .jkl-tag--success {
38
- --background-color: var(--jkl-color-success-background-container);
38
+ --background-color: var(--jkl-color-success-background-container-accent);
39
39
  --text-color: var(--jkl-color-success-text-default);
40
40
  --border-color: var(--jkl-color-success-border-subdued);
41
41
  }
@@ -1 +1 @@
1
- .jkl-tag{--padding:var(--jkl-unit-02) var(--jkl-unit-10);--gap:var(--jkl-unit-05);--background-color:var(--jkl-color-background-container);--text-color:var(--jkl-color-text-default);--border-color:var(--jkl-color-border-subdued);align-items:center;background-color:var(--background-color);border:1px solid var(--border-color);border-radius:.25rem;color:var(--text-color);display:inline-flex;font:var(--jkl-text-style-text-small);font-weight:var(--jkl-font-weight-bold);gap:var(--gap);padding:var(--padding);white-space:nowrap}.jkl-tag--info{--background-color:var(--jkl-color-info-background-container);--text-color:var(--jkl-color-info-text-default);--border-color:var(--jkl-color-info-border-subdued)}.jkl-tag--warning{--background-color:var(--jkl-color-warning-background-container);--text-color:var(--jkl-color-warning-text-default);--border-color:var(--jkl-color-warning-border-subdued)}.jkl-tag--error{--background-color:var(--jkl-color-error-background-container);--text-color:var(--jkl-color-error-text-default);--border-color:var(--jkl-color-error-border-subdued)}.jkl-tag--success{--background-color:var(--jkl-color-success-background-container);--text-color:var(--jkl-color-success-text-default);--border-color:var(--jkl-color-success-border-subdued)}@media screen and (forced-colors:active){.jkl-tag{border:2px CanvasText;border-style:none none dotted}.jkl-tag--info{border-style:dotted}.jkl-tag--warning{border-style:dashed}.jkl-tag--error{border-style:double;border-width:4px}.jkl-tag--success{border-style:solid}}
1
+ .jkl-tag{--padding:var(--jkl-unit-02) var(--jkl-unit-10);--gap:var(--jkl-unit-05);--background-color:var(--jkl-color-background-container);--text-color:var(--jkl-color-text-default);--border-color:var(--jkl-color-border-subdued);align-items:center;background-color:var(--background-color);border:1px solid var(--border-color);border-radius:.25rem;color:var(--text-color);display:inline-flex;font:var(--jkl-text-style-text-small);font-weight:var(--jkl-font-weight-bold);gap:var(--gap);padding:var(--padding);white-space:nowrap}.jkl-tag--info{--background-color:var(--jkl-color-info-background-container-accent);--text-color:var(--jkl-color-info-text-default);--border-color:var(--jkl-color-info-border-subdued)}.jkl-tag--warning{--background-color:var(--jkl-color-warning-background-container-accent);--text-color:var(--jkl-color-warning-text-default);--border-color:var(--jkl-color-warning-border-subdued)}.jkl-tag--error{--background-color:var(--jkl-color-error-background-container-accent);--text-color:var(--jkl-color-error-text-default);--border-color:var(--jkl-color-error-border-subdued)}.jkl-tag--success{--background-color:var(--jkl-color-success-background-container-accent);--text-color:var(--jkl-color-success-text-default);--border-color:var(--jkl-color-success-border-subdued)}@media screen and (forced-colors:active){.jkl-tag{border:2px CanvasText;border-style:none none dotted}.jkl-tag--info{border-style:dotted}.jkl-tag--warning{border-style:dashed}.jkl-tag--error{border-style:double;border-width:4px}.jkl-tag--success{border-style:solid}}
@@ -23,25 +23,25 @@
23
23
  gap: var(--gap);
24
24
 
25
25
  &--info {
26
- --background-color: var(--jkl-color-info-background-container);
26
+ --background-color: var(--jkl-color-info-background-container-accent);
27
27
  --text-color: var(--jkl-color-info-text-default);
28
28
  --border-color: var(--jkl-color-info-border-subdued);
29
29
  }
30
30
 
31
31
  &--warning {
32
- --background-color: var(--jkl-color-warning-background-container);
32
+ --background-color: var(--jkl-color-warning-background-container-accent);
33
33
  --text-color: var(--jkl-color-warning-text-default);
34
34
  --border-color: var(--jkl-color-warning-border-subdued);
35
35
  }
36
36
 
37
37
  &--error {
38
- --background-color: var(--jkl-color-error-background-container);
38
+ --background-color: var(--jkl-color-error-background-container-accent);
39
39
  --text-color: var(--jkl-color-error-text-default);
40
40
  --border-color: var(--jkl-color-error-border-subdued);
41
41
  }
42
42
 
43
43
  &--success {
44
- --background-color: var(--jkl-color-success-background-container);
44
+ --background-color: var(--jkl-color-success-background-container-accent);
45
45
  --text-color: var(--jkl-color-success-text-default);
46
46
  --border-color: var(--jkl-color-success-border-subdued);
47
47
  }
@@ -136,12 +136,12 @@
136
136
  }
137
137
  .jkl-toast[data-animation=entering],
138
138
  .jkl-toast[data-animation=queued] {
139
- animation: jkl-entering-uf6jedw var(--jkl-motion-timing-polite) var(--jkl-motion-easing-entrance) forwards;
139
+ animation: jkl-entering-ugerm3k var(--jkl-motion-timing-polite) var(--jkl-motion-easing-entrance) forwards;
140
140
  }
141
141
  .jkl-toast[data-animation=exiting] {
142
- animation: jkl-exiting-uf6jeei var(--jkl-motion-timing-productive) var(--jkl-motion-easing-exit) forwards;
142
+ animation: jkl-exiting-ugerm3r var(--jkl-motion-timing-productive) var(--jkl-motion-easing-exit) forwards;
143
143
  }
144
- @keyframes jkl-entering-uf6jedw {
144
+ @keyframes jkl-entering-ugerm3k {
145
145
  from {
146
146
  opacity: 0;
147
147
  transform: translate3d(0, 50%, 0);
@@ -151,7 +151,7 @@
151
151
  transform: translate3d(0, 0, 0);
152
152
  }
153
153
  }
154
- @keyframes jkl-exiting-uf6jeei {
154
+ @keyframes jkl-exiting-ugerm3r {
155
155
  from {
156
156
  opacity: 1;
157
157
  transform: translate3d(0, 0, 0);
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-toast-region{background:transparent;bottom:var(--jkl-unit-30);display:flex;justify-content:center;left:0;pointer-events:none;position:fixed;right:0;width:100%;z-index:10000}.jkl-toast-region__toasts{align-items:center;display:flex;flex-direction:column;gap:var(--jkl-unit-20);min-width:18rem;pointer-events:auto}.jkl-toast-region--left{justify-content:flex-start;left:var(--jkl-unit-30)}.jkl-toast{--background-color:var(--jkl-color-background-container);--text-color:var(--jkl-color-text-default);--border-color:transparent;--jkl-toast-padding:var(--jkl-unit-20);align-items:start;background-color:var(--background-color);border:1px solid var(--border-color);border-radius:4px;box-sizing:border-box;color:var(--text-color);font:var(--jkl-text-style-paragraph-medium);overflow:hidden;padding:var(--jkl-toast-padding);position:relative;width:clamp(15em,100%,min(30rem,85vw))}.jkl-toast__progress{--bar-color:var(--jkl-color-background-contrast);--track-color:transparent;border-radius:0;inset:0 0 auto;position:absolute}@media screen and (forced-colors:active){.jkl-toast__icon,.jkl-toast__icon path,.jkl-toast__icon svg{stroke:CanvasText}}.jkl-toast:not(:has(.jkl-toast__title)) .jkl-toast__icon{-webkit-margin-before:.0625rem;margin-block-start:.0625rem}.jkl-toast:has(.jkl-toast__title) .jkl-toast__icon{-webkit-margin-before:0;margin-block-start:0}.jkl-toast__content{flex-basis:100vw;flex-grow:1}.jkl-toast__action{margin-top:var(--jkl-unit-15)}.jkl-toast__title{font:var(--jkl-text-style-heading-5)}.jkl-toast__dismiss-button{background-color:transparent;color:inherit;cursor:pointer;padding:0}@media screen and (forced-colors:active){.jkl-toast__dismiss-button,.jkl-toast__dismiss-button path,.jkl-toast__dismiss-button svg{stroke:ButtonText}.jkl-toast__dismiss-button{background-color:ButtonFace}}.jkl-toast__dismiss-button:after{--tap-size:44px;content:"";inset:calc((var(--tap-size) - 100%)/2*-1);position:absolute}.jkl-toast--info{--background-color:var(--jkl-color-info-background-container);--text-color:var(--jkl-color-info-text-default);--border-color:var(--jkl-color-info-border-subdued)}.jkl-toast--warning{--background-color:var(--jkl-color-warning-background-container);--text-color:var(--jkl-color-warning-text-default);--border-color:var(--jkl-color-warning-border-subdued)}.jkl-toast--error{--background-color:var(--jkl-color-error-background-container);--text-color:var(--jkl-color-error-text-default);--border-color:var(--jkl-color-error-border-subdued)}.jkl-toast--success{--background-color:var(--jkl-color-success-background-container);--text-color:var(--jkl-color-success-text-default);--border-color:var(--jkl-color-success-border-subdued)}@media screen and (forced-colors:active){.jkl-toast{border:2px solid CanvasText}.jkl-toast--info{border-style:dotted}.jkl-toast--warning{border-style:dashed}.jkl-toast--error{border-style:double;border-width:4px}}.jkl-toast[data-animation=entering],.jkl-toast[data-animation=queued]{animation:jkl-entering-uf6jedw var(--jkl-motion-timing-polite) var(--jkl-motion-easing-entrance) forwards}.jkl-toast[data-animation=exiting]{animation:jkl-exiting-uf6jeei var(--jkl-motion-timing-productive) var(--jkl-motion-easing-exit) forwards}@keyframes jkl-entering-uf6jedw{0%{opacity:0;transform:translate3d(0,50%,0)}to{opacity:1;transform:translateZ(0)}}@keyframes jkl-exiting-uf6jeei{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,50%,0)}}}
1
+ @layer jokul.components{.jkl-toast-region{background:transparent;bottom:var(--jkl-unit-30);display:flex;justify-content:center;left:0;pointer-events:none;position:fixed;right:0;width:100%;z-index:10000}.jkl-toast-region__toasts{align-items:center;display:flex;flex-direction:column;gap:var(--jkl-unit-20);min-width:18rem;pointer-events:auto}.jkl-toast-region--left{justify-content:flex-start;left:var(--jkl-unit-30)}.jkl-toast{--background-color:var(--jkl-color-background-container);--text-color:var(--jkl-color-text-default);--border-color:transparent;--jkl-toast-padding:var(--jkl-unit-20);align-items:start;background-color:var(--background-color);border:1px solid var(--border-color);border-radius:4px;box-sizing:border-box;color:var(--text-color);font:var(--jkl-text-style-paragraph-medium);overflow:hidden;padding:var(--jkl-toast-padding);position:relative;width:clamp(15em,100%,min(30rem,85vw))}.jkl-toast__progress{--bar-color:var(--jkl-color-background-contrast);--track-color:transparent;border-radius:0;inset:0 0 auto;position:absolute}@media screen and (forced-colors:active){.jkl-toast__icon,.jkl-toast__icon path,.jkl-toast__icon svg{stroke:CanvasText}}.jkl-toast:not(:has(.jkl-toast__title)) .jkl-toast__icon{-webkit-margin-before:.0625rem;margin-block-start:.0625rem}.jkl-toast:has(.jkl-toast__title) .jkl-toast__icon{-webkit-margin-before:0;margin-block-start:0}.jkl-toast__content{flex-basis:100vw;flex-grow:1}.jkl-toast__action{margin-top:var(--jkl-unit-15)}.jkl-toast__title{font:var(--jkl-text-style-heading-5)}.jkl-toast__dismiss-button{background-color:transparent;color:inherit;cursor:pointer;padding:0}@media screen and (forced-colors:active){.jkl-toast__dismiss-button,.jkl-toast__dismiss-button path,.jkl-toast__dismiss-button svg{stroke:ButtonText}.jkl-toast__dismiss-button{background-color:ButtonFace}}.jkl-toast__dismiss-button:after{--tap-size:44px;content:"";inset:calc((var(--tap-size) - 100%)/2*-1);position:absolute}.jkl-toast--info{--background-color:var(--jkl-color-info-background-container);--text-color:var(--jkl-color-info-text-default);--border-color:var(--jkl-color-info-border-subdued)}.jkl-toast--warning{--background-color:var(--jkl-color-warning-background-container);--text-color:var(--jkl-color-warning-text-default);--border-color:var(--jkl-color-warning-border-subdued)}.jkl-toast--error{--background-color:var(--jkl-color-error-background-container);--text-color:var(--jkl-color-error-text-default);--border-color:var(--jkl-color-error-border-subdued)}.jkl-toast--success{--background-color:var(--jkl-color-success-background-container);--text-color:var(--jkl-color-success-text-default);--border-color:var(--jkl-color-success-border-subdued)}@media screen and (forced-colors:active){.jkl-toast{border:2px solid CanvasText}.jkl-toast--info{border-style:dotted}.jkl-toast--warning{border-style:dashed}.jkl-toast--error{border-style:double;border-width:4px}}.jkl-toast[data-animation=entering],.jkl-toast[data-animation=queued]{animation:jkl-entering-ugerm3k var(--jkl-motion-timing-polite) var(--jkl-motion-easing-entrance) forwards}.jkl-toast[data-animation=exiting]{animation:jkl-exiting-ugerm3r var(--jkl-motion-timing-productive) var(--jkl-motion-easing-exit) forwards}@keyframes jkl-entering-ugerm3k{0%{opacity:0;transform:translate3d(0,50%,0)}to{opacity:1;transform:translateZ(0)}}@keyframes jkl-exiting-ugerm3r{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,50%,0)}}}
@@ -1,7 +1,7 @@
1
1
  @use "../../jkl";
2
2
 
3
3
  // Hver `size` mapper til en komplett tekst-stil fra `$text-styles` i
4
- // `core/jkl/_typography.scss` — både font-size, line-height, font-weight
4
+ // `styles/jkl/_typography.scss` — både font-size, line-height, font-weight
5
5
  // og ikon-variabler settes via `jkl.text-style`-mixinen.
6
6
  $_size-styles: (
7
7
  "xs": "text-micro",
@@ -51,4 +51,4 @@ $_size-styles: (
51
51
  display: block;
52
52
  margin-block-end: var(--jkl-spacing-8);
53
53
  }
54
- }
54
+ }
@@ -1,7 +1,7 @@
1
1
  @use "../../jkl";
2
2
 
3
3
  // Hver `size` mapper til en komplett tekst-stil fra `$text-styles` i
4
- // `core/jkl/_typography.scss` — både font-size, line-height, font-weight
4
+ // `styles/jkl/_typography.scss` — både font-size, line-height, font-weight
5
5
  // og ikon-variabler settes via `jkl.text-style`-mixinen.
6
6
  $_size-styles: (
7
7
  "xs": "heading-5",