@fremtind/jokul 3.5.3 → 3.6.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 (278) hide show
  1. package/build/_commonjsHelpers-C37NGDzP.cjs +2 -0
  2. package/build/_commonjsHelpers-C37NGDzP.cjs.map +1 -0
  3. package/build/_commonjsHelpers-CXUWDbkB.js +2 -0
  4. package/build/_commonjsHelpers-CXUWDbkB.js.map +1 -0
  5. package/build/build-stats.html +1 -1
  6. package/build/cjs/components/autosuggest/BaseAutosuggest.cjs +1 -1
  7. package/build/cjs/components/autosuggest/BaseAutosuggest.cjs.map +1 -1
  8. package/build/cjs/components/datepicker/DatePicker.cjs +1 -1
  9. package/build/cjs/components/datepicker/DatePicker.cjs.map +1 -1
  10. package/build/cjs/components/datepicker/internal/Calendar.cjs +1 -1
  11. package/build/cjs/components/datepicker/internal/Calendar.cjs.map +1 -1
  12. package/build/cjs/components/datepicker/internal/useCalendar.cjs +1 -1
  13. package/build/cjs/components/datepicker/internal/useCalendar.cjs.map +1 -1
  14. package/build/cjs/components/datepicker/internal/utils.cjs +1 -1
  15. package/build/cjs/components/datepicker/internal/utils.cjs.map +1 -1
  16. package/build/cjs/core/tokens/build-tailwind-4.cjs +2 -0
  17. package/build/cjs/core/tokens/build-tailwind-4.cjs.map +1 -0
  18. package/build/cjs/core/tokens/build-tailwind-4.d.cts +1 -0
  19. package/build/es/components/autosuggest/BaseAutosuggest.js +1 -1
  20. package/build/es/components/autosuggest/BaseAutosuggest.js.map +1 -1
  21. package/build/es/components/datepicker/DatePicker.js +1 -1
  22. package/build/es/components/datepicker/DatePicker.js.map +1 -1
  23. package/build/es/components/datepicker/internal/Calendar.js +1 -1
  24. package/build/es/components/datepicker/internal/Calendar.js.map +1 -1
  25. package/build/es/components/datepicker/internal/useCalendar.js +1 -1
  26. package/build/es/components/datepicker/internal/useCalendar.js.map +1 -1
  27. package/build/es/components/datepicker/internal/utils.js +1 -1
  28. package/build/es/components/datepicker/internal/utils.js.map +1 -1
  29. package/build/es/core/tokens/build-tailwind-4.d.ts +1 -0
  30. package/build/es/core/tokens/build-tailwind-4.js +2 -0
  31. package/build/es/core/tokens/build-tailwind-4.js.map +1 -0
  32. package/build/utils-CcE6HjQp.js +2 -0
  33. package/build/utils-CcE6HjQp.js.map +1 -0
  34. package/build/utils-DxmZDrR9.cjs +2 -0
  35. package/build/utils-DxmZDrR9.cjs.map +1 -0
  36. package/package.json +2 -2
  37. package/styles/components/checkbox/checkbox.css +4 -4
  38. package/styles/components/checkbox/checkbox.min.css +1 -1
  39. package/styles/components/checkbox/development/public/fonts/webfonts.css +115 -0
  40. package/styles/components/checkbox/development/public/fonts/webfonts.min.css +1 -0
  41. package/styles/components/checkbox-panel/checkbox-panel.css +6 -6
  42. package/styles/components/checkbox-panel/checkbox-panel.min.css +1 -1
  43. package/styles/components/countdown/countdown.css +2 -2
  44. package/styles/components/countdown/countdown.min.css +1 -1
  45. package/styles/components/feedback/feedback.css +2 -2
  46. package/styles/components/feedback/feedback.min.css +1 -1
  47. package/styles/components/file-input/development/public/fonts/_index.scss +1 -0
  48. package/styles/components/file-input/development/public/fonts/webfonts.css +108 -0
  49. package/styles/components/file-input/development/public/fonts/webfonts.min.css +1 -0
  50. package/styles/components/file-input/development/public/fonts/webfonts.scss +137 -0
  51. package/styles/components/file-input/file-input.css +9 -9
  52. package/styles/components/file-input/file-input.min.css +1 -1
  53. package/styles/components/input-group/input-group.css +2 -2
  54. package/styles/components/input-group/input-group.min.css +1 -1
  55. package/styles/components/loader/loader.css +6 -6
  56. package/styles/components/loader/loader.min.css +1 -1
  57. package/styles/components/loader/skeleton-loader.css +3 -3
  58. package/styles/components/loader/skeleton-loader.min.css +1 -1
  59. package/styles/components/menu/development/public/fonts/_index.scss +1 -0
  60. package/styles/components/menu/development/public/fonts/webfonts.css +108 -0
  61. package/styles/components/menu/development/public/fonts/webfonts.min.css +1 -0
  62. package/styles/components/menu/development/public/fonts/webfonts.scss +137 -0
  63. package/styles/components/message/message.css +2 -2
  64. package/styles/components/message/message.min.css +1 -1
  65. package/styles/components/progress-bar/progress-bar.css +1 -1
  66. package/styles/components/progress-bar/progress-bar.min.css +1 -1
  67. package/styles/components/radio-button/development/public/fonts/_index.scss +1 -0
  68. package/styles/components/radio-button/development/public/fonts/webfonts.css +115 -0
  69. package/styles/components/radio-button/development/public/fonts/webfonts.min.css +1 -0
  70. package/styles/components/radio-button/development/public/fonts/webfonts.scss +145 -0
  71. package/styles/components/radio-button/radio-button.css +2 -2
  72. package/styles/components/radio-button/radio-button.min.css +1 -1
  73. package/styles/components/radio-panel/radio-panel.css +2 -2
  74. package/styles/components/radio-panel/radio-panel.min.css +1 -1
  75. package/styles/components/segmented-control/segmented-control.css +4 -4
  76. package/styles/components/segmented-control/segmented-control.min.css +1 -1
  77. package/styles/components/system-message/system-message.css +2 -2
  78. package/styles/components/system-message/system-message.min.css +1 -1
  79. package/styles/components/text-input/development/public/fonts/_index.scss +1 -0
  80. package/styles/components/text-input/development/public/fonts/webfonts.css +115 -0
  81. package/styles/components/text-input/development/public/fonts/webfonts.min.css +1 -0
  82. package/styles/components/text-input/development/public/fonts/webfonts.scss +145 -0
  83. package/styles/components/toast/toast.css +4 -4
  84. package/styles/components/toast/toast.min.css +1 -1
  85. package/styles/components/toggle-switch/development/public/fonts/_index.scss +1 -0
  86. package/styles/components/toggle-switch/development/public/fonts/webfonts.css +115 -0
  87. package/styles/components/toggle-switch/development/public/fonts/webfonts.min.css +1 -0
  88. package/styles/components/toggle-switch/development/public/fonts/webfonts.scss +145 -0
  89. package/styles/styles.css +34 -34
  90. package/styles/styles.min.css +2 -2
  91. package/styles/components/autosuggest/_index.scss +0 -2
  92. package/styles/components/autosuggest/autosuggest.scss +0 -87
  93. package/styles/components/breadcrumb/_index.scss +0 -2
  94. package/styles/components/breadcrumb/breadcrumb.scss +0 -38
  95. package/styles/components/button/_index.scss +0 -2
  96. package/styles/components/button/button.scss +0 -169
  97. package/styles/components/card/_index.scss +0 -3
  98. package/styles/components/card/card.scss +0 -105
  99. package/styles/components/checkbox/_index.scss +0 -1
  100. package/styles/components/checkbox/checkbox.scss +0 -248
  101. package/styles/components/checkbox-panel/_index.scss +0 -1
  102. package/styles/components/checkbox-panel/checkbox-panel.scss +0 -95
  103. package/styles/components/checkbox-panel/development/styles.scss +0 -27
  104. package/styles/components/chip/_index.scss +0 -2
  105. package/styles/components/chip/chip.scss +0 -104
  106. package/styles/components/combobox/_index.scss +0 -6
  107. package/styles/components/combobox/combobox.scss +0 -238
  108. package/styles/components/cookie-consent/_index.scss +0 -5
  109. package/styles/components/cookie-consent/cookie-consent.scss +0 -31
  110. package/styles/components/countdown/_index.scss +0 -1
  111. package/styles/components/countdown/countdown.scss +0 -25
  112. package/styles/components/datepicker/_calendar-date-button.scss +0 -85
  113. package/styles/components/datepicker/_calendar-navigation-dropdown.scss +0 -52
  114. package/styles/components/datepicker/_calendar-navigation.scss +0 -12
  115. package/styles/components/datepicker/_calendar-table.scss +0 -27
  116. package/styles/components/datepicker/_calendar.scss +0 -36
  117. package/styles/components/datepicker/_index.scss +0 -6
  118. package/styles/components/datepicker/datepicker.scss +0 -47
  119. package/styles/components/description-list/_index.scss +0 -1
  120. package/styles/components/description-list/description-list.scss +0 -58
  121. package/styles/components/expander/_index.scss +0 -4
  122. package/styles/components/expander/expandable.scss +0 -141
  123. package/styles/components/feedback/_index.scss +0 -10
  124. package/styles/components/feedback/feedback.scss +0 -113
  125. package/styles/components/file/_index.scss +0 -3
  126. package/styles/components/file/file.scss +0 -164
  127. package/styles/components/file-input/_index.scss +0 -5
  128. package/styles/components/file-input/file-input.scss +0 -130
  129. package/styles/components/flex/_index.scss +0 -1
  130. package/styles/components/flex/flex.scss +0 -252
  131. package/styles/components/help/_index.scss +0 -2
  132. package/styles/components/help/help.scss +0 -47
  133. package/styles/components/icon/_base-styles.scss +0 -21
  134. package/styles/components/icon/_index.scss +0 -1
  135. package/styles/components/icon/development/internal/icons-example-grid.scss +0 -13
  136. package/styles/components/icon/icon.scss +0 -139
  137. package/styles/components/icon-button/_index.scss +0 -1
  138. package/styles/components/icon-button/icon-button.scss +0 -38
  139. package/styles/components/image/_index.scss +0 -1
  140. package/styles/components/image/development/style.scss +0 -9
  141. package/styles/components/image/image.scss +0 -37
  142. package/styles/components/image/stories/styles.scss +0 -9
  143. package/styles/components/input-group/_field-group.scss +0 -5
  144. package/styles/components/input-group/_index.scss +0 -3
  145. package/styles/components/input-group/_labels.scss +0 -159
  146. package/styles/components/input-group/input-group.scss +0 -11
  147. package/styles/components/input-panel/input-panel.scss +0 -84
  148. package/styles/components/link/_index.scss +0 -1
  149. package/styles/components/link/link.scss +0 -62
  150. package/styles/components/link-list/_index.scss +0 -2
  151. package/styles/components/link-list/link-list.scss +0 -94
  152. package/styles/components/list/_index.scss +0 -1
  153. package/styles/components/list/list.scss +0 -98
  154. package/styles/components/loader/_index.scss +0 -2
  155. package/styles/components/loader/development/styles.scss +0 -11
  156. package/styles/components/loader/loader.scss +0 -139
  157. package/styles/components/loader/skeleton-loader.scss +0 -137
  158. package/styles/components/logo/_index.scss +0 -1
  159. package/styles/components/logo/development/styles.scss +0 -9
  160. package/styles/components/logo/logo.scss +0 -90
  161. package/styles/components/menu/_index.scss +0 -1
  162. package/styles/components/menu/_menu-divider.scss +0 -10
  163. package/styles/components/menu/_menu-item.scss +0 -71
  164. package/styles/components/menu/menu.scss +0 -40
  165. package/styles/components/message/_index.scss +0 -2
  166. package/styles/components/message/message.scss +0 -187
  167. package/styles/components/modal/_index.scss +0 -3
  168. package/styles/components/modal/modal.scss +0 -107
  169. package/styles/components/nav-link/_index.scss +0 -1
  170. package/styles/components/nav-link/nav-link.scss +0 -66
  171. package/styles/components/pagination/_index.scss +0 -5
  172. package/styles/components/pagination/development/styles.scss +0 -35
  173. package/styles/components/pagination/pagination.scss +0 -49
  174. package/styles/components/popover/_index.scss +0 -1
  175. package/styles/components/popover/popover.scss +0 -19
  176. package/styles/components/progress-bar/_index.scss +0 -1
  177. package/styles/components/progress-bar/progress-bar.scss +0 -27
  178. package/styles/components/radio-button/_index.scss +0 -2
  179. package/styles/components/radio-button/radio-button.scss +0 -219
  180. package/styles/components/radio-panel/_index.scss +0 -1
  181. package/styles/components/radio-panel/development/styles.scss +0 -27
  182. package/styles/components/radio-panel/radio-panel.scss +0 -82
  183. package/styles/components/segmented-control/_index.scss +0 -3
  184. package/styles/components/segmented-control/segmented-control.scss +0 -99
  185. package/styles/components/select/_index.scss +0 -3
  186. package/styles/components/select/select.scss +0 -299
  187. package/styles/components/summary-table/_index.scss +0 -1
  188. package/styles/components/summary-table/development/summary-table-example.scss +0 -10
  189. package/styles/components/summary-table/summary-table.scss +0 -49
  190. package/styles/components/system-message/_index.scss +0 -2
  191. package/styles/components/system-message/system-message.scss +0 -177
  192. package/styles/components/table/_index.scss +0 -6
  193. package/styles/components/table/_table-caption.scss +0 -7
  194. package/styles/components/table/_table-cell.scss +0 -86
  195. package/styles/components/table/_table-head.scss +0 -36
  196. package/styles/components/table/_table-header.scss +0 -65
  197. package/styles/components/table/_table-pagination.scss +0 -126
  198. package/styles/components/table/_table-row.scss +0 -177
  199. package/styles/components/table/table.scss +0 -53
  200. package/styles/components/table-of-contents/_index.scss +0 -1
  201. package/styles/components/tabs/_index.scss +0 -1
  202. package/styles/components/tabs/tabs.scss +0 -114
  203. package/styles/components/tag/_index.scss +0 -3
  204. package/styles/components/tag/tag.scss +0 -65
  205. package/styles/components/text-area/_index.scss +0 -4
  206. package/styles/components/text-area/text-area.scss +0 -111
  207. package/styles/components/text-input/_index.scss +0 -4
  208. package/styles/components/text-input/text-input.scss +0 -43
  209. package/styles/components/toast/_index.scss +0 -4
  210. package/styles/components/toast/toast.scss +0 -219
  211. package/styles/components/toggle-switch/_index.scss +0 -2
  212. package/styles/components/toggle-switch/_toggle-slider.scss +0 -123
  213. package/styles/components/toggle-switch/toggle-switch.scss +0 -137
  214. package/styles/components/tooltip/_index.scss +0 -3
  215. package/styles/components/tooltip/popuptip.scss +0 -5
  216. package/styles/components/tooltip/tooltip.scss +0 -87
  217. package/styles/components-beta/description-list/_index.scss +0 -1
  218. package/styles/components-beta/description-list/description-list.scss +0 -80
  219. package/styles/components-beta/link-list/_index.scss +0 -2
  220. package/styles/components-beta/link-list/link-list.scss +0 -81
  221. package/styles/components-beta/nav-link/_index.scss +0 -1
  222. package/styles/components-beta/nav-link/navlink.scss +0 -66
  223. package/styles/components-beta/search/_index.scss +0 -4
  224. package/styles/components-beta/search/search-with-submit-button.scss +0 -37
  225. package/styles/components-beta/search/search.scss +0 -106
  226. package/styles/components-beta/select/_index.scss +0 -3
  227. package/styles/components-beta/select/select.scss +0 -128
  228. package/styles/components-beta/table-of-contents/_index.scss +0 -2
  229. package/styles/components-beta/table-of-contents/table-of-contents.scss +0 -88
  230. package/styles/core/_layers.scss +0 -3
  231. package/styles/core/core.scss +0 -6
  232. package/styles/core/global/_base-class.scss +0 -36
  233. package/styles/core/global/_index.scss +0 -2
  234. package/styles/core/global/_top-layer.scss +0 -20
  235. package/styles/core/jkl/_colors.scss +0 -26
  236. package/styles/core/jkl/_convert.scss +0 -102
  237. package/styles/core/jkl/_helpers.scss +0 -26
  238. package/styles/core/jkl/_index.scss +0 -18
  239. package/styles/core/jkl/_motion.scss +0 -63
  240. package/styles/core/jkl/_navigation.scss +0 -9
  241. package/styles/core/jkl/_ornaments.scss +0 -28
  242. package/styles/core/jkl/_reset.scss +0 -45
  243. package/styles/core/jkl/_responsive-units.scss +0 -30
  244. package/styles/core/jkl/_screenreader.scss +0 -59
  245. package/styles/core/jkl/_screens.scss +0 -135
  246. package/styles/core/jkl/_shadows.scss +0 -25
  247. package/styles/core/jkl/_spacing.scss +0 -149
  248. package/styles/core/jkl/_theme.scss +0 -119
  249. package/styles/core/jkl/_tokens.scss +0 -58
  250. package/styles/core/jkl/_typography.scss +0 -269
  251. package/styles/core/jkl/_underline.scss +0 -16
  252. package/styles/core/jkl/_z-index.scss +0 -23
  253. package/styles/core/jkl/legacy/_dynamic-colors.scss +0 -40
  254. package/styles/core/jkl/legacy/_index.scss +0 -2
  255. package/styles/core/jkl/legacy/_tokens.scss +0 -396
  256. package/styles/core/resets/_index.scss +0 -2
  257. package/styles/core/resets/_normalize.scss +0 -251
  258. package/styles/core/resets/_reset.scss +0 -68
  259. package/styles/core/theme/_color-tokens.scss +0 -73
  260. package/styles/core/theme/_dynamic-spacing.scss +0 -55
  261. package/styles/core/theme/_index.scss +0 -8
  262. package/styles/core/theme/_legacy-color-tokens.scss +0 -81
  263. package/styles/core/theme/_legacy-tokens.scss +0 -159
  264. package/styles/core/theme/_old-vars.scss +0 -30
  265. package/styles/core/theme/_spacing-tokens.scss +0 -32
  266. package/styles/core/theme/_tokens.scss +0 -32
  267. package/styles/core/theme/_typography.scss +0 -27
  268. package/styles/core/utility/_headings.scss +0 -31
  269. package/styles/core/utility/_index.scss +0 -4
  270. package/styles/core/utility/_paragraphs.scss +0 -18
  271. package/styles/core/utility/_screen-reader.scss +0 -11
  272. package/styles/core/utility/_spacing.scss +0 -49
  273. package/styles/hooks/stories/styles.scss +0 -78
  274. package/styles/shared/input/shared-input-styles.scss +0 -181
  275. package/styles/shared/track/track.scss +0 -27
  276. package/styles/styles.scss +0 -52
  277. /package/styles/{fonts → components/checkbox/development/public/fonts}/_index.scss +0 -0
  278. /package/styles/{fonts → components/checkbox/development/public/fonts}/webfonts.scss +0 -0
@@ -1,139 +0,0 @@
1
- @charset "UTF-8";
2
- @use "sass:string";
3
- @use "../../core/jkl";
4
-
5
- $_loader-dot-size--large: 0.9em;
6
- $_loader-dot-size--medium: 0.35em;
7
- $_loader-dot-size--small: 0.25em;
8
-
9
- $_loader-spacing--large: 1.9em;
10
- $_loader-spacing--medium: 0.65em;
11
- $_loader-spacing--small: 0.3em;
12
-
13
- $_loader-animation-properties: 2500ms linear infinite;
14
- $_loader-left-animation-name: jkl-loader-left-spin-#{string.unique-id()};
15
- $_loader-middle-animation-name: jkl-loader-middle-spin-#{string.unique-id()};
16
- $_loader-right-animation-name: jkl-loader-right-spin-#{string.unique-id()};
17
-
18
- @layer jokul.components {
19
- .jkl-loader {
20
- display: flex;
21
-
22
- &--inline {
23
- display: inline-flex;
24
- }
25
-
26
- &__dot {
27
- display: block;
28
- transform-origin: center;
29
- background-color: currentColor;
30
- height: $_loader-dot-size--large;
31
- width: $_loader-dot-size--large;
32
- animation: $_loader-animation-properties;
33
-
34
- &--left {
35
- animation-name: $_loader-left-animation-name;
36
- margin-right: $_loader-spacing--large
37
- * 0.9; // for visual balance
38
- }
39
-
40
- &--middle {
41
- animation-name: $_loader-middle-animation-name;
42
- margin-right: $_loader-spacing--large;
43
- }
44
-
45
- &--right {
46
- animation-name: $_loader-right-animation-name;
47
- }
48
-
49
- @include jkl.forced-colors-mode {
50
- background-color: CanvasText;
51
- }
52
- }
53
-
54
- .jkl-button & > .jkl-loader__dot,
55
- &--medium > .jkl-loader__dot {
56
- height: $_loader-dot-size--medium;
57
- width: $_loader-dot-size--medium;
58
-
59
- &--left {
60
- margin-right: $_loader-spacing--medium * 0.9;
61
- }
62
-
63
- &--middle {
64
- margin-right: $_loader-spacing--medium;
65
- }
66
- }
67
-
68
- &--small > .jkl-loader__dot {
69
- height: $_loader-dot-size--small;
70
- width: $_loader-dot-size--small;
71
-
72
- &--left {
73
- margin-right: $_loader-spacing--small * 0.9;
74
- }
75
-
76
- &--middle {
77
- margin-right: $_loader-spacing--small;
78
- }
79
- }
80
- }
81
-
82
- @keyframes #{$_loader-left-animation-name} {
83
- 0% {
84
- transform: rotate(0) scale(0);
85
- }
86
-
87
- 30% {
88
- transform: rotate(90deg) scale(1);
89
- }
90
-
91
- 70% {
92
- transform: rotate(180deg) scale(0);
93
- }
94
-
95
- 100% {
96
- transform: rotate(180deg) scale(0);
97
- }
98
- }
99
-
100
- @keyframes #{$_loader-middle-animation-name} {
101
- 0% {
102
- transform: rotate(20deg) scale(0);
103
- }
104
-
105
- 10% {
106
- transform: rotate(20deg) scale(0);
107
- }
108
-
109
- 40% {
110
- transform: rotate(110deg) scale(1.4);
111
- }
112
-
113
- 85% {
114
- transform: rotate(200deg) scale(0);
115
- }
116
-
117
- 100% {
118
- transform: rotate(200deg) scale(0);
119
- }
120
- }
121
-
122
- @keyframes #{$_loader-right-animation-name} {
123
- 0% {
124
- transform: rotate(40deg) scale(0);
125
- }
126
-
127
- 20% {
128
- transform: rotate(40deg) scale(0);
129
- }
130
-
131
- 50% {
132
- transform: rotate(130deg) scale(1);
133
- }
134
-
135
- 100% {
136
- transform: rotate(220deg) scale(0);
137
- }
138
- }
139
- }
@@ -1,137 +0,0 @@
1
- @charset "UTF-8";
2
- @use "sass:string";
3
- @use "../../core/jkl";
4
-
5
- $_blink-animation-name: jkl-blink-#{string.unique-id()};
6
-
7
- @layer jokul.components {
8
- @property --jkl-skeleton-sweeper-position {
9
- syntax: "<percentage>";
10
- initial-value: 0%;
11
- inherits: true;
12
- }
13
-
14
- @keyframes --jkl-skeleton-sweep {
15
- 0%,
16
- 67% {
17
- --jkl-skeleton-sweeper-position: 0%;
18
- }
19
-
20
- 100% {
21
- --jkl-skeleton-sweeper-position: calc(100% + var(--jkl-skeleton-sweeper-width));
22
- }
23
- }
24
-
25
- .jkl-skeleton-animation {
26
- --jkl-skeleton-element-color: var(--jkl-color-background-container-low);
27
- --jkl-skeleton-sweep-duration: 4500ms;
28
- --jkl-skeleton-sweeper-width: 40%;
29
-
30
- mask-image: linear-gradient(to right, #000 calc(var(--jkl-skeleton-sweeper-position) - var(--jkl-skeleton-sweeper-width)), transparent calc(var(--jkl-skeleton-sweeper-position) - var(--jkl-skeleton-sweeper-width) / 2), #000 var(--jkl-skeleton-sweeper-position));
31
- mask-size: 100dvi 100dvb;
32
- mask-position: center;
33
- animation: var(--jkl-skeleton-sweep-duration) ease-in-out infinite --jkl-skeleton-sweep;
34
- }
35
-
36
- .jkl-skeleton-element {
37
- border-radius: jkl.rem(2px);
38
- background-color: var(--jkl-skeleton-element-color);
39
-
40
- &--circle {
41
- border-radius: 50%;
42
- }
43
-
44
- @include jkl.forced-colors-mode {
45
- border: 1px solid CanvasText;
46
- // Vi kan ikke bruke "gradient-trikset" for å skape den samme effekten,
47
- // så vi må tenke annerledes. Bruk gjennomsiktighet for å indikere at
48
- // noe skjer.
49
- animation: 2s ease infinite $_blink-animation-name;
50
- }
51
- }
52
-
53
- .jkl-skeleton-input {
54
- display: flex;
55
- flex-direction: column;
56
- gap: jkl.$spacing-12;
57
-
58
- &__checkbox {
59
- display: flex;
60
- flex-direction: row;
61
- flex-wrap: nowrap;
62
- gap: jkl.$spacing-8;
63
- }
64
-
65
- @include jkl.small-device {
66
- gap: jkl.$spacing-8;
67
- }
68
-
69
- &--compact::after {
70
- gap: jkl.$spacing-8;
71
- }
72
- }
73
-
74
- .jkl-skeleton-table {
75
- display: flex;
76
- flex-direction: column;
77
-
78
- &__header,
79
- &__row {
80
- display: flex;
81
- flex-direction: row;
82
- justify-content: space-between;
83
- border-bottom: solid 1px var(--jkl-skeleton-element-color);
84
- }
85
-
86
- &__header {
87
- padding: jkl.$spacing-12 jkl.$spacing-8;
88
- }
89
-
90
- &__row {
91
- padding: jkl.$spacing-16 jkl.$spacing-8;
92
- }
93
-
94
- @include jkl.small-device {
95
- &__header {
96
- padding: jkl.$spacing-8 jkl.$spacing-4;
97
- }
98
-
99
- &__row {
100
- padding: jkl.$spacing-12 jkl.$spacing-4;
101
- }
102
- }
103
-
104
- &--compact::after {
105
- &__header {
106
- padding: jkl.$spacing-8 jkl.$spacing-4;
107
- }
108
-
109
- &__row {
110
- padding: jkl.$spacing-12 jkl.$spacing-4;
111
- }
112
- }
113
-
114
- @include jkl.forced-colors-mode {
115
- // Vi kan ikke bruke "gradient-trikset" for å skape den samme effekten,
116
- // så vi må tenke annerledes. Bruk gjennomsiktighet for å indikere at
117
- // noe skjer.
118
- animation: 2s ease-in-out infinite $_blink-animation-name;
119
- }
120
- }
121
-
122
- @keyframes #{$_blink-animation-name} {
123
- 0% {
124
- opacity: 1;
125
- }
126
-
127
- 40%,
128
- 50% {
129
- opacity: 0.3;
130
- }
131
-
132
- 70%,
133
- 100% {
134
- opacity: 1;
135
- }
136
- }
137
- }
@@ -1 +0,0 @@
1
- @forward "logo";
@@ -1,9 +0,0 @@
1
- .logo-example {
2
- width: 100%;
3
- height: 100%;
4
- }
5
-
6
- .logo-stamp-example {
7
- width: 100%;
8
- max-width: 16rem;
9
- }
@@ -1,90 +0,0 @@
1
- @charset "UTF-8";
2
- @use "../../core/jkl";
3
-
4
- @layer jokul.components {
5
- .jkl-logo {
6
- color: var(--jkl-color-text-default);
7
-
8
- // I valget mellom å følge merkevaren og å være lesbar velger vi å være lesbar.
9
- @include jkl.forced-colors-svg-fallback($stroke: CanvasText,
10
- $fill: CanvasText,
11
- );
12
-
13
- &__F {
14
- /* Is connected to the viewbox of the logo, change at your own risk */
15
- transform-origin: 30px 132px;
16
-
17
- &-line {
18
- /* Must be the same as the line x1 origin, change at your own risk */
19
- transform-origin: 34.3px;
20
- }
21
- }
22
-
23
- &__remtind {
24
- opacity: 1;
25
- }
26
-
27
- &--symbol-only {
28
- & .jkl-logo__F {
29
- transform: rotate(45deg);
30
-
31
- &-line {
32
- transform: scaleX(1.5);
33
- }
34
- }
35
-
36
- & .jkl-logo__remtind {
37
- transition-delay: 0ms;
38
- opacity: 0;
39
- transform: translateX(-5%);
40
- }
41
- }
42
-
43
- &--animated {
44
- & .jkl-logo__F {
45
- transition: transform jkl.timing("expressive") jkl.timing("energetic") cubic-bezier(0.5, 0, 0.62, 1);
46
- }
47
-
48
- & .jkl-logo__F-line {
49
- transition: transform jkl.timing("expressive") ease-in;
50
- }
51
-
52
- & .jkl-logo__remtind {
53
- transition:
54
- opacity jkl.timing("expressive") jkl.timing("energetic") ease-in,
55
- transform jkl.timing("expressive") ease;
56
- }
57
- }
58
- }
59
-
60
- .jkl-logo--centered.jkl-logo--symbol-only {
61
- & .jkl-logo__F {
62
- transform: translateX(35%) rotate(45deg);
63
- }
64
- }
65
-
66
- .jkl-logo-stamp {
67
- color: var(--logo-stamp-color);
68
-
69
- // I valget mellom å følge merkevaren og å være lesbar velger vi å være lesbar.
70
- @include jkl.forced-colors-svg-fallback($stroke: CanvasText,
71
- $fill: CanvasText,
72
- );
73
-
74
- &--animated {
75
- .jkl-logo-stamp__text {
76
- transform-origin: 256px 256px;
77
- transition-timing-function: cubic-bezier(0.75, 0, 0, 1);
78
- transition-duration: jkl.timing("productive");
79
- transition-property: transform;
80
- }
81
-
82
- &[data-rotate="true"] {
83
- .jkl-logo-stamp__text {
84
- transition-duration: 1500ms;
85
- transform: rotate(360deg);
86
- }
87
- }
88
- }
89
- }
90
- }
@@ -1 +0,0 @@
1
- @forward "menu";
@@ -1,10 +0,0 @@
1
- @use "../../core/jkl";
2
-
3
- @layer jokul.components {
4
- .jkl-menu-divider {
5
- width: 100%;
6
- margin-block: 0;
7
- border: none;
8
- border-bottom: jkl.rem(1px) solid var(--jkl-color-border-separator);
9
- }
10
- }
@@ -1,71 +0,0 @@
1
- @use "../../core/jkl";
2
-
3
- @layer jokul.components {
4
- @include jkl.comfortable-density-variables {
5
- --jkl-menu-item-height: #{jkl.rem(48px)};
6
- --jkl-menu-item-padding: #{jkl.$unit-10} #{jkl.$unit-30};
7
-
8
- @include jkl.declare-font-variables("jkl-menu-item", "body");
9
- }
10
-
11
- @include jkl.compact-density-variables {
12
- --jkl-menu-item-height: jkl.rem(32px);
13
- --jkl-menu-item-padding: #{jkl.$unit-05} #{jkl.$unit-15};
14
-
15
- @include jkl.declare-font-variables("jkl-menu-item", "small");
16
- }
17
-
18
- .jkl-menu-item {
19
- --background-color: var(--jkl-color-background-interactive);
20
-
21
- background-color: var(--background-color);
22
- color: var(--jkl-color-text-default);
23
- cursor: pointer;
24
- text-decoration: none;
25
-
26
- box-sizing: border-box;
27
- user-select: none;
28
-
29
- @include jkl.use-font-variables("jkl-menu-item");
30
- display: flex;
31
- align-items: center;
32
- gap: jkl.$unit-10;
33
- width: 100%;
34
- height: var(--jkl-menu-item-height);
35
- padding: var(--jkl-menu-item-padding);
36
-
37
- @include jkl.reset-outline;
38
-
39
- &__content {
40
- display: flex;
41
- gap: jkl.$unit-05;
42
- justify-content: flex-start;
43
- overflow: hidden;
44
- white-space: nowrap;
45
- text-overflow: ellipsis;
46
- flex-grow: 1;
47
- flex-shrink: 1;
48
- max-width: 100%;
49
- }
50
-
51
- &__icon {
52
- display: flex;
53
- align-items: center;
54
- flex-shrink: 0;
55
- }
56
-
57
- &__arrow {
58
- display: flex;
59
- align-items: center;
60
- }
61
-
62
- &__chevron {
63
- flex-shrink: 0;
64
- }
65
-
66
- &:hover,
67
- &:focus-visible {
68
- --background-color: var(--jkl-color-background-interactive-hover);
69
- }
70
- }
71
- }
@@ -1,40 +0,0 @@
1
- @charset "UTF-8";
2
- @use "../../core/jkl";
3
- @use "menu-item";
4
- @use "menu-divider";
5
-
6
- @layer jokul.components {
7
- @include jkl.light-mode-variables {
8
- --jkl-menu-border-color: transparent;
9
- }
10
-
11
- @include jkl.dark-mode-variables {
12
- --jkl-menu-border-color: var(--jkl-color-border-input-focus);
13
- }
14
-
15
- .jkl-menu {
16
- background-color: var(--jkl-color-background-container-high);
17
-
18
- width: 100%;
19
- max-width: jkl.rem(336px);
20
- display: flex;
21
- flex-direction: column;
22
- align-items: flex-start;
23
- flex-wrap: nowrap;
24
- box-shadow: 0 jkl.rem(4px) jkl.rem(20px) rgb(49 48 48 / 20%);
25
- border-radius: jkl.rem(2px);
26
- border: 2px solid var(--jkl-menu-border-color);
27
- z-index: jkl.$z-index--dropdown;
28
-
29
- &:focus-visible {
30
- outline: none;
31
- }
32
-
33
- & &[data-placement="bottom-start"] {
34
- box-shadow:
35
- rgb(0 0 0 / 20%) 0 -1px 2px 0,
36
- rgb(0 0 0 / 14%) -1px 2px 2px 0,
37
- rgb(0 0 0 / 12%) 3px 1px 5px 0;
38
- }
39
- }
40
- }
@@ -1,2 +0,0 @@
1
- @forward "message";
2
- @use "../icon";
@@ -1,187 +0,0 @@
1
- @charset "UTF-8";
2
- @use "sass:string";
3
- @use "../../core/jkl";
4
-
5
- $_dismiss-animation-duration: jkl.timing("lazy");
6
- $_message-width: jkl.rem(560px);
7
- $_message-width--compact: jkl.rem(440px);
8
-
9
- $_dismiss-animation-name: jkl-dismiss-#{string.unique-id()};
10
-
11
- @include jkl.comfortable-density-variables {
12
- @include jkl.declare-font-variables("jkl-message-content", "body");
13
- @include jkl.declare-font-variables("jkl-message-title", "heading-4");
14
-
15
- --jkl-message-icon-size: #{jkl.rem(24px)};
16
- --jkl-message-icon-left: #{jkl.rem(16px)};
17
- --jkl-message-icon-top: #{jkl.rem(24px)};
18
- --jkl-message-title-margin: 0 0 #{jkl.$unit-05} 0;
19
- --jkl-message-dismiss-button-size: #{jkl.rem(44px)};
20
- --jkl-message-gap: #{jkl.$unit-15};
21
- --jkl-message-padding: #{jkl.$unit-20} #{jkl.$unit-15};
22
-
23
- @include jkl.from-medium-device {
24
- --jkl-message-gap: #{jkl.$unit-20};
25
- --jkl-message-padding: #{jkl.$unit-30} #{jkl.$unit-20};
26
- }
27
- }
28
-
29
- @include jkl.compact-density-variables {
30
- @include jkl.declare-font-variables("jkl-message-content", "small");
31
- @include jkl.declare-font-variables("jkl-message-title", "heading-5");
32
-
33
- --jkl-message-icon-size: #{jkl.rem(20px)};
34
- --jkl-message-icon-left: #{jkl.rem(6px)};
35
- --jkl-message-icon-top: #{jkl.rem(14px)};
36
- --jkl-message-dismiss-button-size: #{jkl.rem(32px)};
37
- --jkl-message-gap: #{jkl.$unit-10};
38
- --jkl-message-padding: #{jkl.$unit-15} #{jkl.$unit-10};
39
- }
40
-
41
- .jkl-message {
42
- --background-color: var(--jkl-color-background-alert-neutral);
43
- --text-color: var(--jkl-color-text-on-alert);
44
-
45
- width: 100%;
46
- max-width: $_message-width;
47
- padding: var(--jkl-message-padding);
48
- background-color: var(--background-color);
49
- color: var(--text-color);
50
- border-radius: jkl.rem(4px);
51
- box-sizing: border-box;
52
-
53
- display: grid;
54
- align-items: start;
55
- grid-template-areas: "icon content dismiss";
56
- grid-template-columns: auto 1fr auto;
57
-
58
- &__icon {
59
- grid-area: icon;
60
- width: var(--jkl-message-icon-size);
61
- margin-right: var(--jkl-message-gap);
62
-
63
- @include jkl.forced-colors-svg-fallback($stroke: CanvasText);
64
- }
65
-
66
- &__content {
67
- grid-area: content;
68
- }
69
-
70
- &__message {
71
- @include jkl.use-font-variables("jkl-message-content");
72
-
73
- margin-top: jkl.rem(-2px); // Offset for å aligne med ikon hvis uten tittel.
74
- }
75
-
76
- &__title {
77
- @include jkl.use-font-variables("jkl-message-title");
78
- margin: var(--jkl-message-title-margin);
79
-
80
- & ~ .jkl-message__message {
81
- margin-top: 0; // Unset offset satt for å aligne med ikon hvis uten tittel.
82
- }
83
- }
84
-
85
- &__dismiss-button {
86
- grid-area: dismiss;
87
- justify-self: end;
88
- position: relative;
89
-
90
- background-color: transparent;
91
- padding: 0;
92
- cursor: pointer;
93
-
94
- color: inherit;
95
-
96
- display: grid;
97
- place-content: center;
98
-
99
- @include jkl.reset-outline;
100
- @include jkl.forced-colors-svg-fallback($stroke: ButtonText);
101
-
102
- @include jkl.forced-colors-mode {
103
- background-color: ButtonFace;
104
- }
105
-
106
- // Sørg for å ha en stor nok touch target.
107
- &::after {
108
- content: "";
109
- position: absolute;
110
- display: block;
111
- width: var(--jkl-message-dismiss-button-size);
112
- height: var(--jkl-message-dismiss-button-size);
113
- top: 50%;
114
- left: 50%;
115
- transform: translate(-50%, -50%);
116
- }
117
-
118
- &:hover {
119
- color: var(--jkl-color-text-interactive-hover);
120
-
121
- @include jkl.forced-colors-svg-fallback($stroke: ButtonText);
122
- }
123
-
124
- &:focus-visible {
125
- @include jkl.focus-outline;
126
- }
127
- }
128
-
129
- &--full {
130
- max-width: 100%;
131
- }
132
-
133
- &--info {
134
- --background-color: var(--jkl-color-background-alert-info);
135
- }
136
-
137
- &--warning {
138
- --background-color: var(--jkl-color-background-alert-warning);
139
- }
140
-
141
- &--error {
142
- --background-color: var(--jkl-color-background-alert-error);
143
- }
144
-
145
- &--success {
146
- --background-color: var(--jkl-color-background-alert-success);
147
- }
148
-
149
- &--dismissed {
150
- animation: $_dismiss-animation-name $_dismiss-animation-duration ease-in-out forwards;
151
- transition: visibility 0ms $_dismiss-animation-duration;
152
- visibility: hidden;
153
- }
154
-
155
- @include jkl.forced-colors-mode {
156
- border: 2px solid CanvasText;
157
-
158
- &--info {
159
- border-style: dotted;
160
- }
161
-
162
- &--warning {
163
- border-style: dashed;
164
- }
165
-
166
- &--error {
167
- border-style: double;
168
- border-width: 4px;
169
- }
170
- }
171
- }
172
-
173
- @keyframes #{$_dismiss-animation-name} {
174
- from {
175
- opacity: 1;
176
- transform: translate3d(0, 0, 0);
177
- }
178
-
179
- to {
180
- opacity: 0;
181
- transform: translate3d(0, -50%, 0);
182
- }
183
- }
184
-
185
- .jkl-form-error-message {
186
- padding-bottom: jkl.$unit-50;
187
- }
@@ -1,3 +0,0 @@
1
- @forward "modal";
2
- @use "../icon" as icon;
3
- @use "../icon-button" as icon-button;