@fremtind/jokul 3.5.2 → 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 (284) 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/components/table/TableHeader.cjs +1 -1
  17. package/build/cjs/components/table/TableHeader.cjs.map +1 -1
  18. package/build/cjs/core/tokens/build-tailwind-4.cjs +2 -0
  19. package/build/cjs/core/tokens/build-tailwind-4.cjs.map +1 -0
  20. package/build/cjs/core/tokens/build-tailwind-4.d.cts +1 -0
  21. package/build/es/components/autosuggest/BaseAutosuggest.js +1 -1
  22. package/build/es/components/autosuggest/BaseAutosuggest.js.map +1 -1
  23. package/build/es/components/datepicker/DatePicker.js +1 -1
  24. package/build/es/components/datepicker/DatePicker.js.map +1 -1
  25. package/build/es/components/datepicker/internal/Calendar.js +1 -1
  26. package/build/es/components/datepicker/internal/Calendar.js.map +1 -1
  27. package/build/es/components/datepicker/internal/useCalendar.js +1 -1
  28. package/build/es/components/datepicker/internal/useCalendar.js.map +1 -1
  29. package/build/es/components/datepicker/internal/utils.js +1 -1
  30. package/build/es/components/datepicker/internal/utils.js.map +1 -1
  31. package/build/es/components/table/TableHeader.js +1 -1
  32. package/build/es/components/table/TableHeader.js.map +1 -1
  33. package/build/es/core/tokens/build-tailwind-4.d.ts +1 -0
  34. package/build/es/core/tokens/build-tailwind-4.js +2 -0
  35. package/build/es/core/tokens/build-tailwind-4.js.map +1 -0
  36. package/build/utils-CcE6HjQp.js +2 -0
  37. package/build/utils-CcE6HjQp.js.map +1 -0
  38. package/build/utils-DxmZDrR9.cjs +2 -0
  39. package/build/utils-DxmZDrR9.cjs.map +1 -0
  40. package/package.json +2 -2
  41. package/styles/components/checkbox/checkbox.css +4 -4
  42. package/styles/components/checkbox/checkbox.min.css +1 -1
  43. package/styles/components/checkbox/development/public/fonts/webfonts.css +115 -0
  44. package/styles/components/checkbox/development/public/fonts/webfonts.min.css +1 -0
  45. package/styles/components/checkbox-panel/checkbox-panel.css +6 -6
  46. package/styles/components/checkbox-panel/checkbox-panel.min.css +1 -1
  47. package/styles/components/countdown/countdown.css +2 -2
  48. package/styles/components/countdown/countdown.min.css +1 -1
  49. package/styles/components/feedback/feedback.css +2 -2
  50. package/styles/components/feedback/feedback.min.css +1 -1
  51. package/styles/components/file-input/development/public/fonts/_index.scss +1 -0
  52. package/styles/components/file-input/development/public/fonts/webfonts.css +108 -0
  53. package/styles/components/file-input/development/public/fonts/webfonts.min.css +1 -0
  54. package/styles/components/file-input/development/public/fonts/webfonts.scss +137 -0
  55. package/styles/components/file-input/file-input.css +9 -9
  56. package/styles/components/file-input/file-input.min.css +1 -1
  57. package/styles/components/input-group/input-group.css +2 -2
  58. package/styles/components/input-group/input-group.min.css +1 -1
  59. package/styles/components/loader/loader.css +6 -6
  60. package/styles/components/loader/loader.min.css +1 -1
  61. package/styles/components/loader/skeleton-loader.css +3 -3
  62. package/styles/components/loader/skeleton-loader.min.css +1 -1
  63. package/styles/components/menu/development/public/fonts/_index.scss +1 -0
  64. package/styles/components/menu/development/public/fonts/webfonts.css +108 -0
  65. package/styles/components/menu/development/public/fonts/webfonts.min.css +1 -0
  66. package/styles/components/menu/development/public/fonts/webfonts.scss +137 -0
  67. package/styles/components/message/message.css +2 -2
  68. package/styles/components/message/message.min.css +1 -1
  69. package/styles/components/progress-bar/progress-bar.css +1 -1
  70. package/styles/components/progress-bar/progress-bar.min.css +1 -1
  71. package/styles/components/radio-button/development/public/fonts/_index.scss +1 -0
  72. package/styles/components/radio-button/development/public/fonts/webfonts.css +115 -0
  73. package/styles/components/radio-button/development/public/fonts/webfonts.min.css +1 -0
  74. package/styles/components/radio-button/development/public/fonts/webfonts.scss +145 -0
  75. package/styles/components/radio-button/radio-button.css +2 -2
  76. package/styles/components/radio-button/radio-button.min.css +1 -1
  77. package/styles/components/radio-panel/radio-panel.css +2 -2
  78. package/styles/components/radio-panel/radio-panel.min.css +1 -1
  79. package/styles/components/segmented-control/segmented-control.css +4 -4
  80. package/styles/components/segmented-control/segmented-control.min.css +1 -1
  81. package/styles/components/system-message/system-message.css +2 -2
  82. package/styles/components/system-message/system-message.min.css +1 -1
  83. package/styles/components/table/table.css +6 -6
  84. package/styles/components/table/table.min.css +1 -1
  85. package/styles/components/text-input/development/public/fonts/_index.scss +1 -0
  86. package/styles/components/text-input/development/public/fonts/webfonts.css +115 -0
  87. package/styles/components/text-input/development/public/fonts/webfonts.min.css +1 -0
  88. package/styles/components/text-input/development/public/fonts/webfonts.scss +145 -0
  89. package/styles/components/toast/toast.css +4 -4
  90. package/styles/components/toast/toast.min.css +1 -1
  91. package/styles/components/toggle-switch/development/public/fonts/_index.scss +1 -0
  92. package/styles/components/toggle-switch/development/public/fonts/webfonts.css +115 -0
  93. package/styles/components/toggle-switch/development/public/fonts/webfonts.min.css +1 -0
  94. package/styles/components/toggle-switch/development/public/fonts/webfonts.scss +145 -0
  95. package/styles/styles.css +40 -40
  96. package/styles/styles.min.css +2 -2
  97. package/styles/components/autosuggest/_index.scss +0 -2
  98. package/styles/components/autosuggest/autosuggest.scss +0 -87
  99. package/styles/components/breadcrumb/_index.scss +0 -2
  100. package/styles/components/breadcrumb/breadcrumb.scss +0 -38
  101. package/styles/components/button/_index.scss +0 -2
  102. package/styles/components/button/button.scss +0 -169
  103. package/styles/components/card/_index.scss +0 -3
  104. package/styles/components/card/card.scss +0 -105
  105. package/styles/components/checkbox/_index.scss +0 -1
  106. package/styles/components/checkbox/checkbox.scss +0 -248
  107. package/styles/components/checkbox-panel/_index.scss +0 -1
  108. package/styles/components/checkbox-panel/checkbox-panel.scss +0 -95
  109. package/styles/components/checkbox-panel/development/styles.scss +0 -27
  110. package/styles/components/chip/_index.scss +0 -2
  111. package/styles/components/chip/chip.scss +0 -104
  112. package/styles/components/combobox/_index.scss +0 -6
  113. package/styles/components/combobox/combobox.scss +0 -238
  114. package/styles/components/cookie-consent/_index.scss +0 -5
  115. package/styles/components/cookie-consent/cookie-consent.scss +0 -31
  116. package/styles/components/countdown/_index.scss +0 -1
  117. package/styles/components/countdown/countdown.scss +0 -25
  118. package/styles/components/datepicker/_calendar-date-button.scss +0 -85
  119. package/styles/components/datepicker/_calendar-navigation-dropdown.scss +0 -52
  120. package/styles/components/datepicker/_calendar-navigation.scss +0 -12
  121. package/styles/components/datepicker/_calendar-table.scss +0 -27
  122. package/styles/components/datepicker/_calendar.scss +0 -36
  123. package/styles/components/datepicker/_index.scss +0 -6
  124. package/styles/components/datepicker/datepicker.scss +0 -47
  125. package/styles/components/description-list/_index.scss +0 -1
  126. package/styles/components/description-list/description-list.scss +0 -58
  127. package/styles/components/expander/_index.scss +0 -4
  128. package/styles/components/expander/expandable.scss +0 -141
  129. package/styles/components/feedback/_index.scss +0 -10
  130. package/styles/components/feedback/feedback.scss +0 -113
  131. package/styles/components/file/_index.scss +0 -3
  132. package/styles/components/file/file.scss +0 -164
  133. package/styles/components/file-input/_index.scss +0 -5
  134. package/styles/components/file-input/file-input.scss +0 -130
  135. package/styles/components/flex/_index.scss +0 -1
  136. package/styles/components/flex/flex.scss +0 -252
  137. package/styles/components/help/_index.scss +0 -2
  138. package/styles/components/help/help.scss +0 -47
  139. package/styles/components/icon/_base-styles.scss +0 -21
  140. package/styles/components/icon/_index.scss +0 -1
  141. package/styles/components/icon/development/internal/icons-example-grid.scss +0 -13
  142. package/styles/components/icon/icon.scss +0 -139
  143. package/styles/components/icon-button/_index.scss +0 -1
  144. package/styles/components/icon-button/icon-button.scss +0 -38
  145. package/styles/components/image/_index.scss +0 -1
  146. package/styles/components/image/development/style.scss +0 -9
  147. package/styles/components/image/image.scss +0 -37
  148. package/styles/components/image/stories/styles.scss +0 -9
  149. package/styles/components/input-group/_field-group.scss +0 -5
  150. package/styles/components/input-group/_index.scss +0 -3
  151. package/styles/components/input-group/_labels.scss +0 -159
  152. package/styles/components/input-group/input-group.scss +0 -11
  153. package/styles/components/input-panel/input-panel.scss +0 -84
  154. package/styles/components/link/_index.scss +0 -1
  155. package/styles/components/link/link.scss +0 -62
  156. package/styles/components/link-list/_index.scss +0 -2
  157. package/styles/components/link-list/link-list.scss +0 -94
  158. package/styles/components/list/_index.scss +0 -1
  159. package/styles/components/list/list.scss +0 -98
  160. package/styles/components/loader/_index.scss +0 -2
  161. package/styles/components/loader/development/styles.scss +0 -11
  162. package/styles/components/loader/loader.scss +0 -139
  163. package/styles/components/loader/skeleton-loader.scss +0 -137
  164. package/styles/components/logo/_index.scss +0 -1
  165. package/styles/components/logo/development/styles.scss +0 -9
  166. package/styles/components/logo/logo.scss +0 -90
  167. package/styles/components/menu/_index.scss +0 -1
  168. package/styles/components/menu/_menu-divider.scss +0 -10
  169. package/styles/components/menu/_menu-item.scss +0 -71
  170. package/styles/components/menu/menu.scss +0 -40
  171. package/styles/components/message/_index.scss +0 -2
  172. package/styles/components/message/message.scss +0 -187
  173. package/styles/components/modal/_index.scss +0 -3
  174. package/styles/components/modal/modal.scss +0 -107
  175. package/styles/components/nav-link/_index.scss +0 -1
  176. package/styles/components/nav-link/nav-link.scss +0 -66
  177. package/styles/components/pagination/_index.scss +0 -5
  178. package/styles/components/pagination/development/styles.scss +0 -35
  179. package/styles/components/pagination/pagination.scss +0 -49
  180. package/styles/components/popover/_index.scss +0 -1
  181. package/styles/components/popover/popover.scss +0 -19
  182. package/styles/components/progress-bar/_index.scss +0 -1
  183. package/styles/components/progress-bar/progress-bar.scss +0 -27
  184. package/styles/components/radio-button/_index.scss +0 -2
  185. package/styles/components/radio-button/radio-button.scss +0 -219
  186. package/styles/components/radio-panel/_index.scss +0 -1
  187. package/styles/components/radio-panel/development/styles.scss +0 -27
  188. package/styles/components/radio-panel/radio-panel.scss +0 -82
  189. package/styles/components/segmented-control/_index.scss +0 -3
  190. package/styles/components/segmented-control/segmented-control.scss +0 -99
  191. package/styles/components/select/_index.scss +0 -3
  192. package/styles/components/select/select.scss +0 -299
  193. package/styles/components/summary-table/_index.scss +0 -1
  194. package/styles/components/summary-table/development/summary-table-example.scss +0 -10
  195. package/styles/components/summary-table/summary-table.scss +0 -49
  196. package/styles/components/system-message/_index.scss +0 -2
  197. package/styles/components/system-message/system-message.scss +0 -177
  198. package/styles/components/table/_index.scss +0 -6
  199. package/styles/components/table/_table-caption.scss +0 -7
  200. package/styles/components/table/_table-cell.scss +0 -86
  201. package/styles/components/table/_table-head.scss +0 -36
  202. package/styles/components/table/_table-header.scss +0 -65
  203. package/styles/components/table/_table-pagination.scss +0 -126
  204. package/styles/components/table/_table-row.scss +0 -177
  205. package/styles/components/table/table.scss +0 -53
  206. package/styles/components/table-of-contents/_index.scss +0 -1
  207. package/styles/components/tabs/_index.scss +0 -1
  208. package/styles/components/tabs/tabs.scss +0 -114
  209. package/styles/components/tag/_index.scss +0 -3
  210. package/styles/components/tag/tag.scss +0 -65
  211. package/styles/components/text-area/_index.scss +0 -4
  212. package/styles/components/text-area/text-area.scss +0 -111
  213. package/styles/components/text-input/_index.scss +0 -4
  214. package/styles/components/text-input/text-input.scss +0 -43
  215. package/styles/components/toast/_index.scss +0 -4
  216. package/styles/components/toast/toast.scss +0 -219
  217. package/styles/components/toggle-switch/_index.scss +0 -2
  218. package/styles/components/toggle-switch/_toggle-slider.scss +0 -123
  219. package/styles/components/toggle-switch/toggle-switch.scss +0 -137
  220. package/styles/components/tooltip/_index.scss +0 -3
  221. package/styles/components/tooltip/popuptip.scss +0 -5
  222. package/styles/components/tooltip/tooltip.scss +0 -87
  223. package/styles/components-beta/description-list/_index.scss +0 -1
  224. package/styles/components-beta/description-list/description-list.scss +0 -80
  225. package/styles/components-beta/link-list/_index.scss +0 -2
  226. package/styles/components-beta/link-list/link-list.scss +0 -81
  227. package/styles/components-beta/nav-link/_index.scss +0 -1
  228. package/styles/components-beta/nav-link/navlink.scss +0 -66
  229. package/styles/components-beta/search/_index.scss +0 -4
  230. package/styles/components-beta/search/search-with-submit-button.scss +0 -37
  231. package/styles/components-beta/search/search.scss +0 -106
  232. package/styles/components-beta/select/_index.scss +0 -3
  233. package/styles/components-beta/select/select.scss +0 -128
  234. package/styles/components-beta/table-of-contents/_index.scss +0 -2
  235. package/styles/components-beta/table-of-contents/table-of-contents.scss +0 -88
  236. package/styles/core/_layers.scss +0 -3
  237. package/styles/core/core.scss +0 -6
  238. package/styles/core/global/_base-class.scss +0 -36
  239. package/styles/core/global/_index.scss +0 -2
  240. package/styles/core/global/_top-layer.scss +0 -20
  241. package/styles/core/jkl/_colors.scss +0 -26
  242. package/styles/core/jkl/_convert.scss +0 -102
  243. package/styles/core/jkl/_helpers.scss +0 -26
  244. package/styles/core/jkl/_index.scss +0 -18
  245. package/styles/core/jkl/_motion.scss +0 -63
  246. package/styles/core/jkl/_navigation.scss +0 -9
  247. package/styles/core/jkl/_ornaments.scss +0 -28
  248. package/styles/core/jkl/_reset.scss +0 -45
  249. package/styles/core/jkl/_responsive-units.scss +0 -30
  250. package/styles/core/jkl/_screenreader.scss +0 -59
  251. package/styles/core/jkl/_screens.scss +0 -135
  252. package/styles/core/jkl/_shadows.scss +0 -25
  253. package/styles/core/jkl/_spacing.scss +0 -149
  254. package/styles/core/jkl/_theme.scss +0 -119
  255. package/styles/core/jkl/_tokens.scss +0 -58
  256. package/styles/core/jkl/_typography.scss +0 -269
  257. package/styles/core/jkl/_underline.scss +0 -16
  258. package/styles/core/jkl/_z-index.scss +0 -23
  259. package/styles/core/jkl/legacy/_dynamic-colors.scss +0 -40
  260. package/styles/core/jkl/legacy/_index.scss +0 -2
  261. package/styles/core/jkl/legacy/_tokens.scss +0 -396
  262. package/styles/core/resets/_index.scss +0 -2
  263. package/styles/core/resets/_normalize.scss +0 -251
  264. package/styles/core/resets/_reset.scss +0 -68
  265. package/styles/core/theme/_color-tokens.scss +0 -73
  266. package/styles/core/theme/_dynamic-spacing.scss +0 -55
  267. package/styles/core/theme/_index.scss +0 -8
  268. package/styles/core/theme/_legacy-color-tokens.scss +0 -81
  269. package/styles/core/theme/_legacy-tokens.scss +0 -159
  270. package/styles/core/theme/_old-vars.scss +0 -30
  271. package/styles/core/theme/_spacing-tokens.scss +0 -32
  272. package/styles/core/theme/_tokens.scss +0 -32
  273. package/styles/core/theme/_typography.scss +0 -27
  274. package/styles/core/utility/_headings.scss +0 -31
  275. package/styles/core/utility/_index.scss +0 -4
  276. package/styles/core/utility/_paragraphs.scss +0 -18
  277. package/styles/core/utility/_screen-reader.scss +0 -11
  278. package/styles/core/utility/_spacing.scss +0 -49
  279. package/styles/hooks/stories/styles.scss +0 -78
  280. package/styles/shared/input/shared-input-styles.scss +0 -181
  281. package/styles/shared/track/track.scss +0 -27
  282. package/styles/styles.scss +0 -52
  283. /package/styles/{fonts → components/checkbox/development/public/fonts}/_index.scss +0 -0
  284. /package/styles/{fonts → components/checkbox/development/public/fonts}/webfonts.scss +0 -0
@@ -1,128 +0,0 @@
1
- @charset "UTF-8";
2
- @use "sass:color";
3
- @use "sass:math";
4
- @use "../../core/jkl/index" as jkl;
5
- @use "../../core/jkl/colors";
6
-
7
- @include jkl.compact-density-variables {
8
- --jkl-select-input-height: #{jkl.$unit-40};
9
- --jkl-select-button-padding: #{jkl.$unit-05} #{jkl.$unit-40} #{jkl.$unit-05}
10
- #{jkl.$unit-10};
11
- --jkl-select-arrow-right: #{jkl.$unit-05};
12
- --jkl-select-search-input-padding: #{jkl.$unit-05} #{jkl.$unit-10};
13
- --jkl-select-native-padding: #{jkl.$unit-05} #{jkl.$unit-30} #{jkl.$unit-05}
14
- #{jkl.$unit-05};
15
- --jkl-select-option-padding: #{jkl.$unit-05} #{jkl.$unit-10};
16
-
17
- @include jkl.declare-font-variables("jkl-select", "small");
18
- }
19
-
20
- @include jkl.comfortable-density-variables {
21
- --jkl-select-input-height: #{jkl.$unit-60};
22
- --jkl-select-button-padding: #{jkl.$unit-10} #{jkl.rem(36px)} #{jkl.$unit-10}
23
- #{jkl.$unit-15};
24
- --jkl-select-arrow-right: #{jkl.$unit-02};
25
- --jkl-select-search-input-padding: var(--jkl-select-button-padding);
26
- --jkl-select-native-padding: 0 #{jkl.$unit-50} 0 #{jkl.$unit-10};
27
- --jkl-select-option-padding: #{jkl.$unit-10} #{jkl.$unit-15};
28
-
29
- @include jkl.declare-font-variables("jkl-select", "body");
30
-
31
- @include jkl.small-device {
32
- --jkl-select-input-height: #{jkl.rem(44px)};
33
- }
34
- }
35
-
36
- .jkl-select--beta {
37
- --border-color: var(--jkl-color-border-input);
38
- --background-color: var(transparent);
39
- --color: var(--jkl-color-text-default);
40
- --box-shadow: 0 0 0 jkl.rem(1px) transparent;
41
-
42
- display: block;
43
- position: relative;
44
-
45
- @include jkl.reset-outline;
46
-
47
- & *:focus-visible {
48
- outline: none;
49
- }
50
-
51
- & .jkl-tooltip-question-button:focus {
52
- @include jkl.focus-outline($offset: 0);
53
- }
54
-
55
- &-wrapper {
56
- display: grid;
57
- grid-template-columns: 1fr auto;
58
- align-items: center;
59
- }
60
-
61
- & select,
62
- & .jkl-icon {
63
- grid-row: 1;
64
- }
65
-
66
- & select {
67
- // State variables
68
- background-color: var(--background-color);
69
- color: var(--color);
70
- border-color: var(--border-color);
71
- box-shadow: var(--box-shadow);
72
-
73
- // Mode variables
74
- padding: var(--jkl-select-button-padding);
75
- height: var(--jkl-select-input-height);
76
-
77
- grid-column: 1 / -1;
78
- appearance: none;
79
- overflow: hidden;
80
- text-overflow: ellipsis;
81
- white-space: nowrap;
82
- cursor: pointer;
83
- border-radius: jkl.rem(3px);
84
- border: jkl.rem(1px) solid;
85
- text-align: left;
86
- width: 100%;
87
- transition-property: color, border-color, box-shadow;
88
-
89
- &:has(option:checked[value=""]) {
90
- --color: var(--jkl-color-text-subdued);
91
- }
92
-
93
- &:hover {
94
- --border-color: var(--jkl-color-border-input-focus);
95
- --box-shadow: 0 0 0 jkl.rem(1px) var(--jkl-color-border-input-focus);
96
- }
97
-
98
- &:invalid {
99
- --background-color: var(--jkl-color-background-alert-error);
100
- --color: var(--jkl-color-text-on-alert-subdued);
101
- }
102
-
103
- &:focus-visible {
104
- outline: none;
105
- }
106
-
107
- @include jkl.motion;
108
- @include jkl.use-font-variables("jkl-select");
109
- @include jkl.keyboard-navigation {
110
- &:focus-visible,
111
- &:has(:focus-visible) {
112
- @include jkl.focus-outline;
113
- }
114
-
115
- &:has(:focus-visible) {
116
- select {
117
- @include jkl.focus-outline;
118
- }
119
- }
120
- }
121
- }
122
-
123
- & .jkl-icon {
124
- pointer-events: none;
125
- grid-column: 2;
126
- padding-inline-end: var(--jkl-select-arrow-right);
127
- }
128
- }
@@ -1,2 +0,0 @@
1
- @forward "table-of-contents";
2
- @use "../../components/icon";
@@ -1,88 +0,0 @@
1
- @use "../../core/jkl";
2
-
3
- @include jkl.comfortable-density-variables {
4
- --ordered-item-padding: var(--jkl-unit-10);
5
- }
6
-
7
- @include jkl.compact-density-variables {
8
- --ordered-item-padding: var(--jkl-unit-05);
9
- }
10
-
11
- .jkl-table-of-contents--beta {
12
- --border: 1px solid var(--jkl-color-border-separator);
13
- --text-color: var(--jkl-color-text-default);
14
-
15
- .jkl-table-of-contents-title {
16
- margin-block-end: var(--jkl-unit-05);
17
- @include jkl.text-style("small");
18
- }
19
-
20
- & ol {
21
- display: flex;
22
- flex-direction: column;
23
- width: 100%;
24
- padding: 0;
25
- margin: 0;
26
- height: min-content;
27
- }
28
-
29
- & .jkl-table-of-contents-item {
30
- display: flex;
31
-
32
- &:not(:last-of-type) {
33
- .jkl-table-of-contents-link {
34
- border-block-end: var(--border);
35
- }
36
- }
37
- }
38
-
39
- & .jkl-table-of-contents-link {
40
- display: flex;
41
- align-items: center;
42
- gap: var(--jkl-unit-20);
43
- width: 100%;
44
- text-decoration: none;
45
- color: var(--text-color);
46
- text-wrap: balance;
47
- box-sizing: border-box;
48
- }
49
-
50
- &:has(ol) {
51
- .jkl-table-of-contents-title {
52
- @include jkl.screenreader-only()
53
- }
54
- }
55
-
56
- & ol {
57
- border-block: var(--border);
58
- counter-reset: table-of-contents;
59
-
60
- &:has(.jkl-table-of-contents-link:is(:hover, :focus-visible)) {
61
- --text-color: rgb(from currentColor r g b / 0.6);
62
-
63
- .jkl-table-of-contents-link:is(:hover, :focus-visible) {
64
- --text-color: rgb(from currentColor r g b / 1);
65
- }
66
- }
67
-
68
- & .jkl-table-of-contents-item {
69
- counter-increment: table-of-contents;
70
- }
71
-
72
- & .jkl-table-of-contents-link {
73
- padding-inline-end: var(--jkl-unit-20);
74
- padding-block: var(--ordered-item-padding);
75
-
76
- @include jkl.motion("standard", "productive");
77
- transition-property: color;
78
-
79
- &::before {
80
- content: counter(table-of-contents, decimal-leading-zero);
81
-
82
- @include jkl.use-font-family("Fremtind Grotesk Mono");
83
- color: inherit;
84
- font-size: var(--jkl-small-font-size);
85
- }
86
- }
87
- }
88
- }
@@ -1,3 +0,0 @@
1
- @layer jokul {
2
- @layer resets, theme, global, components, utility;
3
- }
@@ -1,6 +0,0 @@
1
- @charset "UTF-8";
2
- @use "layers";
3
- @use "resets";
4
- @use "theme";
5
- @use "global";
6
- @use "utility";
@@ -1,36 +0,0 @@
1
- @use "../jkl";
2
-
3
- @layer jokul.global {
4
- /* Legger til støtte for fontskalering via OS-innstillinger på Apple-enheter */
5
- @supports (font: -apple-system-body) {
6
- :root {
7
- /* stylelint-disable-next-line font-family-no-missing-generic-family-keyword */
8
- font: -apple-system-body;
9
- }
10
- }
11
-
12
- .jkl {
13
- -webkit-font-smoothing: antialiased;
14
- -moz-osx-font-smoothing: grayscale;
15
-
16
- background-color: var(--jkl-background-color);
17
- color: var(--jkl-color);
18
-
19
- @include jkl.use-font-family("Fremtind Grotesk");
20
-
21
- strong {
22
- --jkl-icon-weight: #{jkl.$icon-weight-bold};
23
- font-weight: jkl.$typography-weight-bold;
24
- }
25
- }
26
-
27
- @include jkl.prefers-reduced-motion {
28
- *,
29
- *::after,
30
- *::before {
31
- animation-duration: 0ms !important;
32
- animation-delay: 0ms !important;
33
- transition: none !important;
34
- }
35
- }
36
- }
@@ -1,2 +0,0 @@
1
- @forward "base-class";
2
- @forward "top-layer";
@@ -1,20 +0,0 @@
1
- @use "../jkl";
2
-
3
- @layer jokul.global {
4
- [popover] {
5
- opacity: 0;
6
- transition: opacity,
7
- overlay allow-discrete,
8
- display allow-discrete;
9
-
10
- @include jkl.motion("standard", "productive");
11
-
12
- &:popover-open {
13
- opacity: 1;
14
-
15
- @starting-style {
16
- opacity: 0;
17
- }
18
- }
19
- }
20
- }
@@ -1,26 +0,0 @@
1
- @use "sass:map";
2
- @use "./legacy" as *;
3
-
4
- /// @type Color
5
- $color-focus-color: $color-granitt;
6
-
7
- /// @type Color
8
- $color-focus-color--darkbg: $color-snohvit;
9
-
10
- // Varslingsfarger / Meldingsfarger.
11
- // Kun til bruk som bakgrunn i komponenter som gir varslinger til bruker.
12
- $_varslingsfarger: (
13
- "suksess": var(--jkl-success),
14
- "feil": var(--jkl-error),
15
- "info": var(--jkl-info),
16
- "advarsel": var(--jkl-warning),
17
- );
18
-
19
- /// Hent fargekoden til en navngitt varslingsfarge
20
- /// @param {"suksess" | "feil" | "info" | "advarsel"} $farge - Navn på fargen du ønsker verdien til
21
- /// @deprecated Bruk tokens direkte ($color-success, $color-error, $color-info, $color-warning)
22
- /// @return {Color} - fargekoden til den ønskede fargen
23
- /// @access private - forwardes ikke ut av modulen, men er tilgjengelig ved direkteimport. KUN FOR INTERN BRUK I JØKUL.
24
- @function varslingsfarge($farge) {
25
- @return map.get($_varslingsfarger, $farge);
26
- }
@@ -1,102 +0,0 @@
1
- @use "sass:color";
2
- @use "sass:list";
3
- @use "sass:map";
4
- @use "sass:math";
5
- @use "sass:meta";
6
- @use "sass:string";
7
-
8
- /// Casts a string into a number
9
- /// https://hugogiraudel.com/2014/01/15/sass-string-to-number/
10
- /// @author Hugo Giraudel
11
- /// @param {String | Number} $value - Value to be parsed
12
- /// @return {Number} - $value converted to a number
13
- @function to-number($value) {
14
- @if meta.type-of($value) == "number" {
15
- @return $value;
16
- } @else if meta.type-of($value) != "string" {
17
- @warn "Value for `to-number` should be a number or a string.";
18
- }
19
-
20
- $result: 0;
21
- $digits: 0;
22
- $minus: string.slice($value, 1, 1) == "-";
23
- $numbers: (
24
- "0": 0,
25
- "1": 1,
26
- "2": 2,
27
- "3": 3,
28
- "4": 4,
29
- "5": 5,
30
- "6": 6,
31
- "7": 7,
32
- "8": 8,
33
- "9": 9,
34
- );
35
-
36
- @for $i from if($minus, 2, 1) through string.length($value) {
37
- $character: string.slice($value, $i, $i);
38
-
39
- @if not(list.index(map.keys($numbers), $character) or $character == ".")
40
- {
41
- @return to-length(
42
- if($minus, -$result, $result),
43
- string.slice($value, $i)
44
- );
45
- }
46
-
47
- @if $character == "." {
48
- $digits: 1;
49
- } @else if $digits == 0 {
50
- $result: $result * 10 + map.get($numbers, $character);
51
- } @else {
52
- $digits: $digits * 10;
53
- $result: $result + math.div(map.get($numbers, $character), $digits);
54
- }
55
- }
56
-
57
- @return if($minus, -$result, $result);
58
- }
59
-
60
- /// Add `$unit` to `$value`
61
- /// @param {Number} $value - Value to add unit to
62
- /// @param {String} $unit - String representation of the unit
63
- /// @return {Number} - `$value` expressed in `$unit`
64
- @function to-length($value, $unit) {
65
- $units: (
66
- "px": 1px,
67
- "cm": 1cm,
68
- "mm": 1mm,
69
- "%": 1%,
70
- "ch": 1ch,
71
- "pc": 1pc,
72
- "in": 1in,
73
- "em": 1em,
74
- "rem": 1rem,
75
- "pt": 1pt,
76
- "ex": 1ex,
77
- "vw": 1vw,
78
- "vh": 1vh,
79
- "vmin": 1vmin,
80
- "vmax": 1vmax,
81
- );
82
-
83
- @if not list.index(map.keys($units), $unit) {
84
- @warn "Invalid unit `#{$unit}`.";
85
- }
86
-
87
- @return $value * map.get($units, $unit);
88
- }
89
-
90
- /// Gjør en fargeverdi URL-safe, for eksempel til bruk i inline SVG
91
- /// @param {Color} $color - Sass fargetype. Kan være HEX, hsl, hsla, rgb eller rgba.
92
- /// @return {String} - input konvertert til en URL-safe HEX-verdi
93
- @function urlencodecolor($color) {
94
- @if meta.type-of($color) == "color" and string.index(#{$color}, "#") == 1 {
95
- $hex: string.slice(color.ie-hex-str($color), 4);
96
- $converted-color: string.unquote("#{$hex}");
97
-
98
- @return "%23" + $converted-color;
99
- }
100
-
101
- @return $color;
102
- }
@@ -1,26 +0,0 @@
1
- /// Gjør flexbox litt mindre verbos. Setter display: flex; med gitt align-items og justify-content.
2
- /// @param {String} $align-items [center] – settes på align-items
3
- /// @param {String} $justify-content [center] – settes på justify-content
4
- /// @output display: flex og angitt align-items og justify-content
5
- @mixin flex($align-items: center, $justify-content: center) {
6
- display: flex;
7
- align-items: $align-items;
8
- justify-content: $justify-content;
9
- }
10
-
11
- /// Samle alt som har med posisjonering å gjøre i én mixin. Alle parameternavn matcher CSS-attributtet.
12
- /// @param {String} $position
13
- /// @param {String} $top [initial]
14
- /// @param {String} $left [initial]
15
- /// @param {String} $right [initial]
16
- /// @param {String} $bottom [initial]
17
- @mixin position(
18
- $position,
19
- $top: initial,
20
- $left: initial,
21
- $right: initial,
22
- $bottom: initial
23
- ) {
24
- position: $position;
25
- inset: $top $right $bottom $left;
26
- }
@@ -1,18 +0,0 @@
1
- @forward "legacy";
2
- @forward "colors" hide varslingsfarge;
3
- @forward "convert";
4
- @forward "helpers";
5
- @forward "motion";
6
- @forward "navigation";
7
- @forward "ornaments";
8
- @forward "reset";
9
- @forward "responsive-units";
10
- @forward "screenreader";
11
- @forward "screens";
12
- @forward "shadows";
13
- @forward "spacing" hide $spacing, $combinations, $positions;
14
- @forward "theme";
15
- @forward "tokens" hide $color-background-page, $color-border-subdued, $color-text-default, $color-text-subdued;
16
- @forward "typography" hide $text-styles;
17
- @forward "underline";
18
- @forward "z-index";
@@ -1,63 +0,0 @@
1
- @use "sass:map";
2
- @use "sass:list";
3
-
4
- // Oppdater verdier i motion.ts også
5
- $_easings: (
6
- "standard": ease,
7
- "entrance": ease-out,
8
- "exit": ease-in,
9
- "easeInBounceOut": cubic-bezier(0, 0, 0.375, 1.17),
10
- "focus": cubic-bezier(0.6, 0.2, 0.35, 1),
11
- );
12
-
13
- /// Hent en easing til bruk i animasjoner. Se også `timing`-funksjonen og `motion`-mixinen.
14
- /// @param {"standard" | "entrance" | "exit" | "easeInBounceOut" | "focus"} $name - Navn på easingen du ønsker verdien til
15
- /// @return {String} - easingverdi til bruk i animasjoner
16
- /// @see timing
17
- /// @see motion
18
- @function easing($name, $easings: $_easings) {
19
- @if map.has-key($easings, $name) {
20
- @return map.get($easings, $name);
21
- } @else {
22
- @error 'Unable to find an easing named #{$name} in our supported easings.';
23
- }
24
- }
25
-
26
- // Oppdater verdier i motion.ts også
27
- $_timings: (
28
- "energetic": 75ms,
29
- "snappy": 100ms,
30
- "productive": 150ms,
31
- "polite": 200ms,
32
- "expressive": 250ms,
33
- "lazy": 400ms,
34
- );
35
-
36
- /// Hent en timing til bruk i animasjoner. Se også `easing`-funksjonen og `motion`-mixinen.
37
- /// @param {"energetic" | "snappy" | "productive" | "expressive" | "lazy"} $mode - Navn på timingen du ønsker verdien til
38
- /// @return {String} - timingverdi til bruk i animasjoner
39
- /// @see easing
40
- /// @see motion
41
- @function timing($mode, $timings: $_timings) {
42
- @if map.has-key($timings, $mode) {
43
- @return map.get($timings, $mode);
44
- } @else {
45
- @error 'Unable to find a timing named #{$mode} in our supported timings';
46
- }
47
- }
48
-
49
- /// Setter transition-timing-function og transition-duration, for bruk i animasjoner.
50
- /// Se også `timing`- og `easing`-funksjonene.
51
- /// @param {"standard" | "entrance" | "exit" | "easeInBounceOut" | "focus"} $name [standard] - Navn på easingen du ønsker verdien til
52
- /// @param {"energetic" | "snappy" | "productive" | "expressive" | "lazy"} $mode [productive] - Navn på timingen du ønsker verdien til
53
- /// @param $properties - Kommaseparert liste over egenskapene du ønsker å animere
54
- /// @see easing
55
- /// @see timing
56
- @mixin motion($name: "standard", $mode: "productive", $properties...) {
57
- transition-timing-function: easing($name);
58
- transition-duration: timing($mode);
59
-
60
- @if list.length($properties) > 0 {
61
- transition-property: $properties;
62
- }
63
- }
@@ -1,9 +0,0 @@
1
- /// Brukes for CSS som skal gjelde bare ved tastaturnavigasjon.
2
- /// Brukes typisk til ekstra tydelige fokus-stiler. Krever at
3
- /// `initTabListener()` fra core er kjørt. Se README til core.
4
- /// @content Innholdet plasseres i en selector som bare matcher dersom vi _ikke_ har data-mousenavigation eller data-touchnavigation på html-elementet.
5
- @mixin keyboard-navigation {
6
- @at-root html:not([data-mousenavigation]):not([data-touchnavigation]) #{&} {
7
- @content;
8
- }
9
- }
@@ -1,28 +0,0 @@
1
- @use "motion";
2
-
3
- @mixin chevron($size, $color, $weight: 0.125rem, $rotate: 0, $state: closed) {
4
- box-sizing: border-box;
5
- width: $size;
6
- height: $size;
7
-
8
- transform-origin: 26.33% 73.66%; // places origin in center of chevron
9
- transform: rotate(
10
- (-45 + $rotate) * 1deg
11
- ); // default orientation is pointing down
12
-
13
- border-left: $weight solid $color;
14
- border-bottom: $weight solid $color;
15
- transition: transform motion.timing("lazy") ease;
16
- }
17
-
18
- @mixin decorative($content) {
19
- // Detaljer finnes her: https://github.com/fremtind/jokul/issues/2774#issuecomment-1056575107
20
- content: $content; // Fallback for nettlesere som ikke støtter ny syntaks (Firefox, Safari)
21
- content: $content / ""; // Tom alternativ tekst
22
- alt: " "; // WebKit-alternativ, fases ut når varianten fra speccen er støttet
23
- }
24
-
25
- @mixin focus-outline($offset: 3px, $thickness: 3px) {
26
- outline: $thickness solid var(--jkl-color-border-action);
27
- outline-offset: $offset;
28
- }
@@ -1,45 +0,0 @@
1
- @use "theme";
2
-
3
- /// En omfattende reset for alt av outlines og borders på interaktive elementer
4
- @mixin reset-outline {
5
- & {
6
- outline: 0;
7
- border-style: none;
8
- outline-style: none;
9
- }
10
-
11
- &:active,
12
- &:hover,
13
- &:focus {
14
- outline: 0;
15
- outline-style: none;
16
- }
17
-
18
- // Reset alt som er gjort over hvis brukeren har på forced-colors.
19
- // Da mister vi box-shadow og er avhengig av at borders og outlines synes.
20
- @include theme.forced-colors-mode {
21
- outline: revert;
22
- border-style: revert;
23
- outline-style: revert;
24
-
25
- &:active,
26
- &:hover,
27
- &:focus {
28
- outline: revert;
29
- outline-style: revert;
30
- }
31
- }
32
- }
33
-
34
- /// Removes increment and decrement buttons
35
- /// for number input fields.
36
- @mixin remove-inner-outer-button {
37
- input[type="number"]::-webkit-outer-spin-button,
38
- input[type="number"]::-webkit-inner-spin-button {
39
- -webkit-appearance: none;
40
- }
41
-
42
- input[type="number"] {
43
- -moz-appearance: textfield;
44
- }
45
- }
@@ -1,30 +0,0 @@
1
- @use "sass:math";
2
- @use "convert";
3
-
4
- /// Kalkuler riktig rem-verdi basert på en gitt pixelverdi
5
- /// @param {Number} $px-size - Pixelverdi, helst med unit
6
- /// @return {Number} - Pixelverdien konvertert til rem
7
- /// @example
8
- /// jkl.rem(16px);
9
- @function rem($px-size) {
10
- @if $px-size == 0 {
11
- @return 0;
12
- }
13
- $rem-size: math.div($px-size, 16px);
14
- // Default font size on html element is 100%, equivalent to 16px;
15
- @return convert.to-number(#{$rem-size}rem);
16
- }
17
-
18
- /// Calculate a responsive size value relative to a given screen size
19
- /// Will return a CSS rule that corresponds to the given pixel size at
20
- /// the given screen size and scales with changes in screen size
21
- /// @param {Number} $px-size - Size to calculate from, in px without unit
22
- /// @param {Number} $screen-width - Screen width to calculate from, in px without unit, default 1400
23
- /// @param {Number} $screen-height - Screen height to calculate from, in px without unit, default 900
24
- /// @return {Number} - Input expressed as a responsive value
25
- @function relative-size($px-size, $screen-width: 1400, $screen-height: 900) {
26
- $hor-size: math.div($px-size, $screen-width) * 100 * 1vw;
27
- $ver-size: math.div($px-size, $screen-height) * 100 * 1vh;
28
-
29
- @return min(#{$hor-size}, #{$ver-size});
30
- }