@fremtind/jokul 5.0.5 → 5.2.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 (163) hide show
  1. package/build/build-stats.html +1 -1
  2. package/build/cjs/components/combobox/Combobox.cjs +1 -1
  3. package/build/cjs/components/combobox/Combobox.cjs.map +1 -1
  4. package/build/cjs/components/expander/types.d.cts +1 -1
  5. package/build/cjs/components/help/Help.cjs +1 -1
  6. package/build/cjs/components/help/Help.cjs.map +1 -1
  7. package/build/cjs/components/icon/Icon.cjs.map +1 -1
  8. package/build/cjs/components/icon/Icon.d.cts +2 -17
  9. package/build/cjs/components/icon/icons/ErrorIcon.cjs +1 -1
  10. package/build/cjs/components/icon/icons/ErrorIcon.cjs.map +1 -1
  11. package/build/cjs/components/icon/icons/GreenCheckIcon.cjs +1 -1
  12. package/build/cjs/components/icon/icons/GreenCheckIcon.cjs.map +1 -1
  13. package/build/cjs/components/icon/icons/InfoIcon.cjs +1 -1
  14. package/build/cjs/components/icon/icons/InfoIcon.cjs.map +1 -1
  15. package/build/cjs/components/icon/icons/RedCrossIcon.cjs +1 -1
  16. package/build/cjs/components/icon/icons/RedCrossIcon.cjs.map +1 -1
  17. package/build/cjs/components/icon/icons/SuccessIcon.cjs +1 -1
  18. package/build/cjs/components/icon/icons/SuccessIcon.cjs.map +1 -1
  19. package/build/cjs/components/icon/icons/WarningIcon.cjs +1 -1
  20. package/build/cjs/components/icon/icons/WarningIcon.cjs.map +1 -1
  21. package/build/cjs/components/icon/types.d.cts +1 -2
  22. package/build/cjs/components/input-group/InputGroup.cjs +1 -1
  23. package/build/cjs/components/input-group/InputGroup.cjs.map +1 -1
  24. package/build/cjs/components/radio-button/RadioButton.cjs.map +1 -1
  25. package/build/cjs/components/system-message/SystemMessage.cjs +1 -1
  26. package/build/cjs/components/system-message/SystemMessage.cjs.map +1 -1
  27. package/build/cjs/components/typography/Text.cjs +1 -1
  28. package/build/cjs/components/typography/Text.cjs.map +1 -1
  29. package/build/cjs/components/typography/Title.cjs +1 -1
  30. package/build/cjs/components/typography/Title.cjs.map +1 -1
  31. package/build/cjs/components/typography/types.d.cts +17 -0
  32. package/build/cjs/tokens.cjs +1 -1
  33. package/build/cjs/tokens.cjs.map +1 -1
  34. package/build/cjs/tokens.d.cts +1 -0
  35. package/build/cjs/utilities/formatters/util/registerWithMask.cjs +1 -1
  36. package/build/cjs/utilities/formatters/util/registerWithMask.cjs.map +1 -1
  37. package/build/cjs/utilities/formatters/util/registerWithMask.d.cts +1 -3
  38. package/build/es/components/combobox/Combobox.js +1 -1
  39. package/build/es/components/combobox/Combobox.js.map +1 -1
  40. package/build/es/components/expander/types.d.ts +1 -1
  41. package/build/es/components/help/Help.js +1 -1
  42. package/build/es/components/help/Help.js.map +1 -1
  43. package/build/es/components/icon/Icon.d.ts +2 -17
  44. package/build/es/components/icon/Icon.js.map +1 -1
  45. package/build/es/components/icon/icons/ErrorIcon.js +1 -1
  46. package/build/es/components/icon/icons/ErrorIcon.js.map +1 -1
  47. package/build/es/components/icon/icons/GreenCheckIcon.js +1 -1
  48. package/build/es/components/icon/icons/GreenCheckIcon.js.map +1 -1
  49. package/build/es/components/icon/icons/InfoIcon.js +1 -1
  50. package/build/es/components/icon/icons/InfoIcon.js.map +1 -1
  51. package/build/es/components/icon/icons/RedCrossIcon.js +1 -1
  52. package/build/es/components/icon/icons/RedCrossIcon.js.map +1 -1
  53. package/build/es/components/icon/icons/SuccessIcon.js +1 -1
  54. package/build/es/components/icon/icons/SuccessIcon.js.map +1 -1
  55. package/build/es/components/icon/icons/WarningIcon.js +1 -1
  56. package/build/es/components/icon/icons/WarningIcon.js.map +1 -1
  57. package/build/es/components/icon/types.d.ts +1 -2
  58. package/build/es/components/input-group/InputGroup.js +1 -1
  59. package/build/es/components/input-group/InputGroup.js.map +1 -1
  60. package/build/es/components/radio-button/RadioButton.js.map +1 -1
  61. package/build/es/components/system-message/SystemMessage.js +1 -1
  62. package/build/es/components/system-message/SystemMessage.js.map +1 -1
  63. package/build/es/components/typography/Text.js +1 -1
  64. package/build/es/components/typography/Text.js.map +1 -1
  65. package/build/es/components/typography/Title.js +1 -1
  66. package/build/es/components/typography/Title.js.map +1 -1
  67. package/build/es/components/typography/types.d.ts +17 -0
  68. package/build/es/tokens.d.ts +1 -0
  69. package/build/es/tokens.js +1 -1
  70. package/build/es/tokens.js.map +1 -1
  71. package/build/es/utilities/formatters/util/registerWithMask.d.ts +1 -3
  72. package/build/es/utilities/formatters/util/registerWithMask.js +1 -1
  73. package/build/es/utilities/formatters/util/registerWithMask.js.map +1 -1
  74. package/package.json +2 -2
  75. package/styles/base.css +17 -11
  76. package/styles/base.min.css +1 -1
  77. package/styles/components/beta/nav-link/navlink.css +2 -1
  78. package/styles/components/beta/nav-link/navlink.min.css +1 -1
  79. package/styles/components/checkbox/checkbox.css +9 -5
  80. package/styles/components/checkbox/checkbox.min.css +1 -1
  81. package/styles/components/checkbox/checkbox.scss +7 -4
  82. package/styles/components/checkbox-panel/checkbox-panel.css +27 -5
  83. package/styles/components/checkbox-panel/checkbox-panel.min.css +1 -1
  84. package/styles/components/combobox/combobox.css +3 -6
  85. package/styles/components/combobox/combobox.min.css +1 -1
  86. package/styles/components/combobox/combobox.scss +11 -10
  87. package/styles/components/countdown/countdown.css +2 -2
  88. package/styles/components/countdown/countdown.min.css +1 -1
  89. package/styles/components/feedback/feedback.css +2 -2
  90. package/styles/components/feedback/feedback.min.css +1 -1
  91. package/styles/components/file-input/file-input.css +13 -13
  92. package/styles/components/file-input/file-input.min.css +1 -1
  93. package/styles/components/help/help.css +0 -1
  94. package/styles/components/help/help.min.css +1 -1
  95. package/styles/components/help/help.scss +0 -1
  96. package/styles/components/icon/_base-styles.scss +2 -2
  97. package/styles/components/icon/icon.css +4 -23
  98. package/styles/components/icon/icon.min.css +1 -1
  99. package/styles/components/icon/icon.scss +2 -21
  100. package/styles/components/input-group/_labels.scss +22 -4
  101. package/styles/components/input-group/input-group.css +15 -3
  102. package/styles/components/input-group/input-group.min.css +1 -1
  103. package/styles/components/input-panel/input-panel.css +18 -0
  104. package/styles/components/input-panel/input-panel.min.css +1 -1
  105. package/styles/components/input-panel/input-panel.scss +24 -1
  106. package/styles/components/link/link.css +4 -4
  107. package/styles/components/link/link.min.css +1 -1
  108. package/styles/components/link/link.scss +2 -3
  109. package/styles/components/link-list/link-list.css +2 -1
  110. package/styles/components/link-list/link-list.min.css +1 -1
  111. package/styles/components/list/list.css +2 -1
  112. package/styles/components/list/list.min.css +1 -1
  113. package/styles/components/loader/loader.css +6 -6
  114. package/styles/components/loader/loader.min.css +1 -1
  115. package/styles/components/loader/skeleton-loader.css +3 -3
  116. package/styles/components/loader/skeleton-loader.min.css +1 -1
  117. package/styles/components/message/message.css +2 -2
  118. package/styles/components/message/message.min.css +1 -1
  119. package/styles/components/number-input/number-input.css +1 -1
  120. package/styles/components/number-input/number-input.min.css +1 -1
  121. package/styles/components/progress-bar/progress-bar.css +1 -1
  122. package/styles/components/progress-bar/progress-bar.min.css +1 -1
  123. package/styles/components/radio-button/radio-button.css +8 -3
  124. package/styles/components/radio-button/radio-button.min.css +1 -1
  125. package/styles/components/radio-button/radio-button.scss +7 -3
  126. package/styles/components/radio-panel/radio-panel.css +18 -0
  127. package/styles/components/radio-panel/radio-panel.min.css +1 -1
  128. package/styles/components/search/search-with-submit-button.css +13 -7
  129. package/styles/components/search/search-with-submit-button.min.css +1 -1
  130. package/styles/components/search/search-with-submit-button.scss +1 -15
  131. package/styles/components/search/search.css +3 -2
  132. package/styles/components/search/search.min.css +1 -1
  133. package/styles/components/segmented-control/segmented-control.css +27 -29
  134. package/styles/components/segmented-control/segmented-control.min.css +1 -1
  135. package/styles/components/select/select.css +4 -3
  136. package/styles/components/select/select.min.css +1 -1
  137. package/styles/components/select/select.scss +19 -10
  138. package/styles/components/system-message/system-message.css +2 -2
  139. package/styles/components/system-message/system-message.min.css +1 -1
  140. package/styles/components/text-area/text-area.css +1 -1
  141. package/styles/components/text-area/text-area.min.css +1 -1
  142. package/styles/components/text-input/text-input.css +1 -1
  143. package/styles/components/text-input/text-input.min.css +1 -1
  144. package/styles/components/toast/toast.css +4 -4
  145. package/styles/components/toast/toast.min.css +1 -1
  146. package/styles/components/toggle-switch/toggle-switch.css +3 -0
  147. package/styles/components/toggle-switch/toggle-switch.min.css +1 -1
  148. package/styles/components/toggle-switch/toggle-switch.scss +3 -0
  149. package/styles/components/typography/text.css +10 -1
  150. package/styles/components/typography/text.min.css +1 -1
  151. package/styles/components/typography/text.scss +11 -2
  152. package/styles/components/typography/title.css +3 -0
  153. package/styles/components/typography/title.min.css +1 -1
  154. package/styles/components/typography/title.scss +5 -1
  155. package/styles/components.css +128 -86
  156. package/styles/components.min.css +1 -1
  157. package/styles/global/_base-class.scss +2 -1
  158. package/styles/global/_top-layer.scss +19 -3
  159. package/styles/jkl/_tokens.scss +3 -1
  160. package/styles/jkl/_typography.scss +1 -3
  161. package/styles/shared/input/shared-input-styles.scss +32 -8
  162. package/styles/theme/_fonts.scss +1 -9
  163. package/styles/theme/_tokens.scss +2 -1
@@ -22,9 +22,10 @@
22
22
  color: var(--jkl-color);
23
23
 
24
24
  @include jkl.use-font-family("Jokul");
25
+ font-weight: var(--jkl-font-weight-normal);
25
26
 
26
27
  strong {
27
- font-weight: jkl.$font-weight-bold;
28
+ font-weight: var(--jkl-font-weight-bold);
28
29
  }
29
30
 
30
31
  a, button:not(:disabled) {
@@ -3,11 +3,20 @@
3
3
  @layer jokul.global {
4
4
  [popover] {
5
5
  opacity: 0;
6
- transition: opacity,
6
+
7
+ // Safari has not implemented the `overlay` CSS property (see
8
+ // [WebKit bug 276727](https://bugs.webkit.org/show_bug.cgi?id=276727)).
9
+ // Without `overlay allow-discrete`, the element is removed from the top layer
10
+ // immediately on close while the opacity transition is still running — leaving
11
+ // a transparent but fully interactive fixed element covering the viewport.
12
+ // We only apply the animated exit on browsers that support `overlay`.
13
+ @supports (overlay: auto) {
14
+ transition: opacity,
7
15
  overlay allow-discrete,
8
16
  display allow-discrete;
9
17
 
10
- @include jkl.motion("standard", "productive");
18
+ @include jkl.motion("standard", "productive");
19
+ }
11
20
 
12
21
  &:popover-open {
13
22
  opacity: 1;
@@ -15,6 +24,13 @@
15
24
  @starting-style {
16
25
  opacity: 0;
17
26
  }
27
+
28
+ // Entry transition works on all browsers since it doesn't depend on overlay.
29
+ @supports not (overlay: auto) {
30
+ transition: opacity;
31
+
32
+ @include jkl.motion("standard", "productive");
33
+ }
18
34
  }
19
35
  }
20
- }
36
+ }
@@ -136,6 +136,7 @@ $font-weight-bold: var(--jkl-font-weight-bold) !default;
136
136
  $font-family-regular: var(--jkl-font-family-regular) !default;
137
137
  $font-family-display: var(--jkl-font-family-display) !default;
138
138
  $font-family-mono: var(--jkl-font-family-mono) !default;
139
+ $font-family-icons: var(--jkl-font-family-icons) !default;
139
140
  $line-height-flush: var(--jkl-line-height-flush) !default;
140
141
  $line-height-tight: var(--jkl-line-height-tight) !default;
141
142
  $line-height-relaxed: var(--jkl-line-height-relaxed) !default;
@@ -353,7 +354,8 @@ $tokens: (
353
354
  'family': (
354
355
  'regular': $font-family-regular,
355
356
  'display': $font-family-display,
356
- 'mono': $font-family-mono
357
+ 'mono': $font-family-mono,
358
+ 'icons': $font-family-icons
357
359
  )
358
360
  ),
359
361
  'lineHeight': (
@@ -86,9 +86,7 @@ $_valid-font-family-values: (
86
86
  } @else if $font == "Jokul Display" {
87
87
  font-family: var(--jkl-font-family-display);
88
88
  } @else if $font == "Jokul Icons" {
89
- font-family:
90
- "Jokul Icons", "Jokul Icons Fallback",
91
- monospace;
89
+ font-family: var(--jkl-font-family-icons);
92
90
  } @else {
93
91
  font-family: var(--jkl-font-family-regular);
94
92
  }
@@ -17,6 +17,7 @@
17
17
  border-radius: var(--jkl-border-radius-s);
18
18
  box-sizing: border-box;
19
19
  max-width: 100%;
20
+ overflow: hidden;
20
21
 
21
22
  position: relative;
22
23
  display: flex;
@@ -28,9 +29,8 @@
28
29
 
29
30
  background-color: var(--background-color);
30
31
  color: var(--text-color);
31
- box-shadow:
32
- inset 0 0 0 jkl.rem(1px) var(--border-color),
33
- 0 0 0 jkl.rem(1px) transparent;
32
+ box-shadow: inset 0 0 0 jkl.rem(1px) var(--border-color),
33
+ 0 0 0 jkl.rem(1px) transparent;
34
34
 
35
35
  &:focus-within,
36
36
  &:has([data-focused="true"]) {
@@ -38,7 +38,6 @@
38
38
  }
39
39
 
40
40
  &[data-invalid="true"]:not(:focus-within):not(:has([data-focused="true"])) {
41
- --background-color: var(--jkl-color-error-background-container);
42
41
  --text-color: var(--jkl-color-error-text-default);
43
42
  --border-color: var(--jkl-color-error-border-default);
44
43
  --placeholder-color: var(--jkl-color-error-text-subdued);
@@ -49,9 +48,8 @@
49
48
  &:has([data-focused="true"]) {
50
49
  --border-color: var(--jkl-color-border-strong);
51
50
 
52
- box-shadow:
53
- inset 0 0 0 jkl.rem(1px) var(--border-color),
54
- 0 0 0 jkl.rem(1px) var(--border-color);
51
+ box-shadow: inset 0 0 0 jkl.rem(1px) var(--border-color),
52
+ 0 0 0 jkl.rem(1px) var(--border-color);
55
53
 
56
54
  @include jkl.forced-colors-mode {
57
55
  border: jkl.rem(2px) solid ButtonText;
@@ -84,7 +82,9 @@
84
82
  width: var(--jkl-text-input-action-button-size);
85
83
 
86
84
  // Unngå for langt mellomrom mellom ikon og teksten i feltet
87
- margin-inline-start: calc(var(--jkl-text-input-horizontal-padding) * -1);
85
+ margin-inline-start: calc(
86
+ var(--jkl-text-input-horizontal-padding) * -1
87
+ );
88
88
 
89
89
  .jkl-icon-button__icon {
90
90
  height: var(--jkl-text-input-action-button-icon-size);
@@ -129,3 +129,27 @@
129
129
  color: var(--placeholder-color);
130
130
  }
131
131
  }
132
+
133
+ @mixin input-separator {
134
+ --inset-size: 1ex;
135
+ --separator-color: var(--jkl-color-border-subdued);
136
+
137
+ position: relative;
138
+
139
+ &::before {
140
+ content: "";
141
+ position: absolute;
142
+ block-size: calc(100% * var(--inset-size));
143
+ top: 0;
144
+ left: 0;
145
+ inset-block: var(--inset-size);
146
+ border-inline-end: 1px solid var(--separator-color);
147
+ z-index: 1;
148
+ @include jkl.motion("standard", "productive", inset, border-color);
149
+ }
150
+
151
+ &:hover, &:focus-within {
152
+ --inset-size: 1px;
153
+ --separator-color: var(--jkl-color-border-subdued);
154
+ }
155
+ }
@@ -19,14 +19,6 @@ $webfonts-dir: "/fonts" !default;
19
19
  src: url("#{$webfonts-dir}/InterVariable.woff2") format("woff2");
20
20
  }
21
21
 
22
- @font-face {
23
- font-family: "Jokul Mono";
24
- font-display: fallback;
25
- font-weight: 400;
26
- font-style: normal;
27
- src: url("#{$webfonts-dir}/InterVariable.woff2") format("woff2");
28
- }
29
-
30
22
  @font-face {
31
23
  font-family: "Jokul Icons";
32
24
  font-weight: 300 400;
@@ -85,4 +77,4 @@ $webfonts-dir: "/fonts" !default;
85
77
  font-style: normal;
86
78
  size-adjust: 0%;
87
79
  }
88
- }
80
+ }
@@ -49,7 +49,8 @@
49
49
  --jkl-font-weight-bold: 530;
50
50
  --jkl-font-family-regular: 'Jokul', 'Adjusted Arial Fallback', arial, sans-serif;
51
51
  --jkl-font-family-display: 'Jokul Display', 'Adjusted Arial Display Fallback', arial, sans-serif;
52
- --jkl-font-family-mono: 'Jokul Mono', 'Adjusted Courier New Fallback', -apple-system, blinkmacsystemfont, monospace;
52
+ --jkl-font-family-mono: monospace;
53
+ --jkl-font-family-icons: 'Jokul Icons', 'Jokul Icons Fallback', monospace;
53
54
  --jkl-line-height-flush: 1;
54
55
  --jkl-line-height-tight: 1.3;
55
56
  --jkl-line-height-relaxed: 1.6;