@fremtind/jokul 0.27.6 → 0.28.1

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 (142) hide show
  1. package/build/build-stats.html +1 -1
  2. package/build/cjs/components/file-input/File.cjs +2 -0
  3. package/build/cjs/components/file-input/File.cjs.map +1 -0
  4. package/build/cjs/components/file-input/File.d.cts +15 -0
  5. package/build/cjs/components/file-input/FileInput.cjs +2 -0
  6. package/build/cjs/components/file-input/FileInput.cjs.map +1 -0
  7. package/build/cjs/components/file-input/FileInput.d.cts +26 -0
  8. package/build/cjs/components/file-input/index.cjs +2 -0
  9. package/build/cjs/components/file-input/index.cjs.map +1 -0
  10. package/build/cjs/components/file-input/index.d.cts +4 -0
  11. package/build/cjs/components/file-input/internal/Dropzone.cjs +2 -0
  12. package/build/cjs/components/file-input/internal/Dropzone.cjs.map +1 -0
  13. package/build/cjs/components/file-input/internal/Dropzone.d.cts +6 -0
  14. package/build/cjs/components/file-input/internal/Input.cjs +2 -0
  15. package/build/cjs/components/file-input/internal/Input.cjs.map +1 -0
  16. package/build/cjs/components/file-input/internal/Input.d.cts +8 -0
  17. package/build/cjs/components/file-input/internal/Thumbnail.cjs +2 -0
  18. package/build/cjs/components/file-input/internal/Thumbnail.cjs.map +1 -0
  19. package/build/cjs/components/file-input/internal/Thumbnail.d.cts +11 -0
  20. package/build/cjs/components/file-input/internal/fileInputContext.cjs +2 -0
  21. package/build/cjs/components/file-input/internal/fileInputContext.cjs.map +1 -0
  22. package/build/cjs/components/file-input/internal/fileInputContext.d.cts +15 -0
  23. package/build/cjs/components/file-input/internal/validateFile.cjs +2 -0
  24. package/build/cjs/components/file-input/internal/validateFile.cjs.map +1 -0
  25. package/build/cjs/components/file-input/internal/validateFile.d.cts +2 -0
  26. package/build/cjs/components/file-input/types.cjs +2 -0
  27. package/build/cjs/components/file-input/types.cjs.map +1 -0
  28. package/build/cjs/components/file-input/types.d.cts +11 -0
  29. package/build/cjs/components/file-input/utils.cjs +2 -0
  30. package/build/cjs/components/file-input/utils.cjs.map +1 -0
  31. package/build/cjs/components/file-input/utils.d.cts +11 -0
  32. package/build/cjs/components/select/Select.cjs +1 -1
  33. package/build/cjs/components/select/Select.cjs.map +1 -1
  34. package/build/cjs/core/tokens.cjs +1 -1
  35. package/build/cjs/core/tokens.cjs.map +1 -1
  36. package/build/cjs/core/tokens.d.cts +5 -1
  37. package/build/es/components/file-input/File.d.ts +15 -0
  38. package/build/es/components/file-input/File.js +2 -0
  39. package/build/es/components/file-input/File.js.map +1 -0
  40. package/build/es/components/file-input/FileInput.d.ts +26 -0
  41. package/build/es/components/file-input/FileInput.js +2 -0
  42. package/build/es/components/file-input/FileInput.js.map +1 -0
  43. package/build/es/components/file-input/index.d.ts +4 -0
  44. package/build/es/components/file-input/index.js +2 -0
  45. package/build/es/components/file-input/index.js.map +1 -0
  46. package/build/es/components/file-input/internal/Dropzone.d.ts +6 -0
  47. package/build/es/components/file-input/internal/Dropzone.js +2 -0
  48. package/build/es/components/file-input/internal/Dropzone.js.map +1 -0
  49. package/build/es/components/file-input/internal/Input.d.ts +8 -0
  50. package/build/es/components/file-input/internal/Input.js +2 -0
  51. package/build/es/components/file-input/internal/Input.js.map +1 -0
  52. package/build/es/components/file-input/internal/Thumbnail.d.ts +11 -0
  53. package/build/es/components/file-input/internal/Thumbnail.js +2 -0
  54. package/build/es/components/file-input/internal/Thumbnail.js.map +1 -0
  55. package/build/es/components/file-input/internal/fileInputContext.d.ts +15 -0
  56. package/build/es/components/file-input/internal/fileInputContext.js +2 -0
  57. package/build/es/components/file-input/internal/fileInputContext.js.map +1 -0
  58. package/build/es/components/file-input/internal/validateFile.d.ts +2 -0
  59. package/build/es/components/file-input/internal/validateFile.js +2 -0
  60. package/build/es/components/file-input/internal/validateFile.js.map +1 -0
  61. package/build/es/components/file-input/types.d.ts +11 -0
  62. package/build/es/components/file-input/types.js +2 -0
  63. package/build/es/components/file-input/types.js.map +1 -0
  64. package/build/es/components/file-input/utils.d.ts +11 -0
  65. package/build/es/components/file-input/utils.js +2 -0
  66. package/build/es/components/file-input/utils.js.map +1 -0
  67. package/build/es/components/select/Select.js +1 -1
  68. package/build/es/components/select/Select.js.map +1 -1
  69. package/build/es/core/tokens.d.ts +5 -1
  70. package/build/es/core/tokens.js +1 -1
  71. package/build/es/core/tokens.js.map +1 -1
  72. package/package.json +12 -2
  73. package/styles/components/accordion/accordion.css +1 -1
  74. package/styles/components/breadcrumb/breadcrumb.css +1 -1
  75. package/styles/components/button/button.css +3 -3
  76. package/styles/components/button/button.min.css +1 -1
  77. package/styles/components/card/card.css +1 -1
  78. package/styles/components/checkbox/checkbox.css +5 -5
  79. package/styles/components/checkbox/checkbox.min.css +1 -1
  80. package/styles/components/combobox/combobox.css +1 -1
  81. package/styles/components/cookie-consent/cookie-consent.css +1 -1
  82. package/styles/components/datepicker/datepicker.css +1 -1
  83. package/styles/components/description-list/description-list.css +1 -1
  84. package/styles/components/expander/expander.css +1 -1
  85. package/styles/components/feedback/feedback.css +3 -3
  86. package/styles/components/feedback/feedback.min.css +1 -1
  87. package/styles/components/file-input/_file.scss +172 -0
  88. package/styles/components/file-input/_index.scss +1 -0
  89. package/styles/components/file-input/file-input.css +290 -0
  90. package/styles/components/file-input/file-input.min.css +1 -0
  91. package/styles/components/file-input/file-input.scss +119 -0
  92. package/styles/components/icon/icon.css +1 -1
  93. package/styles/components/icon-button/icon-button.css +1 -1
  94. package/styles/components/image/image.css +1 -1
  95. package/styles/components/input-group/input-group.css +3 -3
  96. package/styles/components/input-group/input-group.min.css +1 -1
  97. package/styles/components/link/link.css +1 -1
  98. package/styles/components/link-list/link-list.css +1 -1
  99. package/styles/components/list/list.css +1 -1
  100. package/styles/components/loader/loader.css +7 -7
  101. package/styles/components/loader/loader.min.css +1 -1
  102. package/styles/components/loader/skeleton-loader.css +6 -6
  103. package/styles/components/loader/skeleton-loader.min.css +1 -1
  104. package/styles/components/logo/logo.css +1 -1
  105. package/styles/components/menu/menu.css +1 -1
  106. package/styles/components/message/message.css +3 -3
  107. package/styles/components/message/message.min.css +1 -1
  108. package/styles/components/modal/modal.css +1 -1
  109. package/styles/components/pagination/pagination.css +1 -1
  110. package/styles/components/popover/popover.css +1 -1
  111. package/styles/components/progress-bar/progress-bar.css +3 -3
  112. package/styles/components/progress-bar/progress-bar.min.css +1 -1
  113. package/styles/components/radio-button/radio-button.css +3 -3
  114. package/styles/components/radio-button/radio-button.min.css +1 -1
  115. package/styles/components/radio-panel/radio-panel.css +3 -3
  116. package/styles/components/radio-panel/radio-panel.min.css +1 -1
  117. package/styles/components/select/select.css +55 -145
  118. package/styles/components/select/select.min.css +1 -1
  119. package/styles/components/select/select.scss +62 -119
  120. package/styles/components/summary-table/summary-table.css +1 -1
  121. package/styles/components/system-message/system-message.css +3 -3
  122. package/styles/components/system-message/system-message.min.css +1 -1
  123. package/styles/components/table/table.css +1 -1
  124. package/styles/components/tabs/tabs.css +1 -1
  125. package/styles/components/tag/tag.css +1 -1
  126. package/styles/components/text-input/text-input.css +3 -3
  127. package/styles/components/text-input/text-input.min.css +1 -1
  128. package/styles/components/text-input/text-input.scss +1 -1
  129. package/styles/components/toast/toast.css +5 -5
  130. package/styles/components/toast/toast.min.css +1 -1
  131. package/styles/components/toggle-switch/toggle-switch.css +1 -1
  132. package/styles/components/tooltip/tooltip.css +1 -1
  133. package/styles/core/_color-tokens.scss +3 -1
  134. package/styles/core/_legacy-tokens.scss +1 -1
  135. package/styles/core/_tokens.scss +1 -1
  136. package/styles/core/core.css +8 -4
  137. package/styles/core/core.min.css +1 -1
  138. package/styles/core/jkl/_legacy-tokens.scss +1 -1
  139. package/styles/core/jkl/_tokens.scss +2 -1
  140. package/styles/styles.css +91 -181
  141. package/styles/styles.min.css +1 -1
  142. package/styles/vind/vind.css +1 -1
@@ -1,85 +1,34 @@
1
1
  @charset "UTF-8";
2
2
  /**
3
3
  * Do not edit directly
4
- * Generated on Mon, 23 Sep 2024 08:51:40 GMT
4
+ * Generated on Mon, 28 Oct 2024 14:22:00 GMT
5
5
  */
6
- @media screen and (prefers-color-scheme: light) {
7
- :root {
8
- --jkl-select-border-color: #636060;
9
- --jkl-select-text-color: #636060;
10
- --jkl-select-text-disabled-color: #636060;
11
- --jkl-select-text-active-value-color: #1b1917;
12
- --jkl-select-background-color: transparent;
13
- --jkl-select-open-background-color: #ffffff;
14
- --jkl-select-focus-color: #1b1917;
15
- --jkl-select-error-background-color: #f6b3b3;
16
- --jkl-select-error-text-color: #636060;
17
- --jkl-select-hover-option-color: #1b1917;
18
- --jkl-select-hover-option-background-color: #e0dbd4;
19
- --jkl-select-option-description-color: #636060;
20
- --jkl-select-search-input-selection-color: rgba(27, 25, 23, 0.2);
21
- --jkl-select-search-input-error-selection-color: rgba(27, 25, 23, 0.2);
22
- --jkl-select-arrow-color: #1b1917;
23
- }
6
+ .jkl-select {
7
+ display: block;
8
+ position: relative;
9
+ outline: 0;
10
+ border-style: none;
11
+ outline-style: none;
12
+ /* --------
13
+ VARIANTS
14
+ -------- */
15
+ }
16
+ .jkl-select:active, .jkl-select:hover, .jkl-select:focus {
17
+ outline: 0;
18
+ outline-style: none;
24
19
  }
25
- [data-theme=light] {
26
- --jkl-select-border-color: #636060;
27
- --jkl-select-text-color: #636060;
28
- --jkl-select-text-disabled-color: #636060;
29
- --jkl-select-text-active-value-color: #1b1917;
30
- --jkl-select-background-color: transparent;
31
- --jkl-select-open-background-color: #ffffff;
32
- --jkl-select-focus-color: #1b1917;
33
- --jkl-select-error-background-color: #f6b3b3;
34
- --jkl-select-error-text-color: #636060;
35
- --jkl-select-hover-option-color: #1b1917;
36
- --jkl-select-hover-option-background-color: #e0dbd4;
37
- --jkl-select-option-description-color: #636060;
38
- --jkl-select-search-input-selection-color: rgba(27, 25, 23, 0.2);
39
- --jkl-select-search-input-error-selection-color: rgba(27, 25, 23, 0.2);
40
- --jkl-select-arrow-color: #1b1917;
41
- }
42
-
43
- @media screen and (prefers-color-scheme: dark) {
44
- :root {
45
- --jkl-select-border-color: #c8c5c3;
46
- --jkl-select-text-color: #c8c5c3;
47
- --jkl-select-text-disabled-color: #c8c5c3;
48
- --jkl-select-text-active-value-color: #f9f9f9;
49
- --jkl-select-background-color: transparent;
50
- --jkl-select-open-background-color: #313030;
51
- --jkl-select-focus-color: #f9f9f9;
52
- --jkl-select-error-background-color: #f6b3b3;
53
- --jkl-select-error-text-color: #636060;
54
- --jkl-select-hover-option-color: #f9f9f9;
55
- --jkl-select-hover-option-background-color: #444141;
56
- --jkl-select-option-description-color: #ece9e5;
57
- --jkl-select-search-input-selection-color: rgba(249, 249, 249, 0.25);
58
- --jkl-select-search-input-error-selection-color: rgba(27, 25, 23, 0.2);
59
- --jkl-select-arrow-color: #f9f9f9;
20
+ @media screen and (forced-colors: active) {
21
+ .jkl-select {
22
+ outline: revert;
23
+ border-style: revert;
24
+ outline-style: revert;
25
+ }
26
+ .jkl-select:active, .jkl-select:hover, .jkl-select:focus {
27
+ outline: revert;
28
+ outline-style: revert;
60
29
  }
61
30
  }
62
- [data-theme=dark] {
63
- --jkl-select-border-color: #c8c5c3;
64
- --jkl-select-text-color: #c8c5c3;
65
- --jkl-select-text-disabled-color: #c8c5c3;
66
- --jkl-select-text-active-value-color: #f9f9f9;
67
- --jkl-select-background-color: transparent;
68
- --jkl-select-open-background-color: #313030;
69
- --jkl-select-focus-color: #f9f9f9;
70
- --jkl-select-error-background-color: #f6b3b3;
71
- --jkl-select-error-text-color: #636060;
72
- --jkl-select-hover-option-color: #f9f9f9;
73
- --jkl-select-hover-option-background-color: #444141;
74
- --jkl-select-option-description-color: #ece9e5;
75
- --jkl-select-search-input-selection-color: rgba(249, 249, 249, 0.25);
76
- --jkl-select-search-input-error-selection-color: rgba(27, 25, 23, 0.2);
77
- --jkl-select-arrow-color: #f9f9f9;
78
- }
79
-
80
- :root,
81
- [data-layout-density=comfortable],
82
- [data-density=comfortable] {
31
+ .jkl .jkl-select, .jkl-select[data-layout-density=comfortable], .jkl-select[data-density=comfortable], [data-layout-density=comfortable] .jkl-select, [data-density=comfortable] .jkl-select {
83
32
  --jkl-select-input-height: 3rem;
84
33
  --jkl-select-arrow-right: 0.5rem;
85
34
  --jkl-select-button-padding: 0.5rem 2.25rem 0.5rem
@@ -92,15 +41,11 @@
92
41
  --jkl-select-font-weight: var(--jkl-body-font-weight);
93
42
  }
94
43
  @media (width >= 0) and (max-width: 679px) {
95
- :root,
96
- [data-layout-density=comfortable],
97
- [data-density=comfortable] {
44
+ .jkl .jkl-select, .jkl-select[data-layout-density=comfortable], .jkl-select[data-density=comfortable], [data-layout-density=comfortable] .jkl-select, [data-density=comfortable] .jkl-select {
98
45
  --jkl-select-input-height: 2.75rem;
99
46
  }
100
47
  }
101
-
102
- [data-layout-density=compact],
103
- [data-density=compact] {
48
+ .jkl-select[data-layout-density=compact], .jkl-select[data-density=compact], [data-layout-density=compact] .jkl-select, [data-density=compact] .jkl-select {
104
49
  --jkl-select-input-height: 2rem;
105
50
  --jkl-select-arrow-right: 0.25rem;
106
51
  --jkl-select-button-padding: 0.25rem 2rem 0.25rem
@@ -113,32 +58,6 @@
113
58
  --jkl-select-line-height: var(--jkl-small-line-height);
114
59
  --jkl-select-font-weight: var(--jkl-small-font-weight);
115
60
  }
116
-
117
- .jkl-select {
118
- display: block;
119
- position: relative;
120
- outline: 0;
121
- border-style: none;
122
- outline-style: none;
123
- /* --------
124
- VARIANTS
125
- -------- */
126
- }
127
- .jkl-select:active, .jkl-select:hover, .jkl-select:focus {
128
- outline: 0;
129
- outline-style: none;
130
- }
131
- @media screen and (forced-colors: active) {
132
- .jkl-select {
133
- outline: revert;
134
- border-style: revert;
135
- outline-style: revert;
136
- }
137
- .jkl-select:active, .jkl-select:hover, .jkl-select:focus {
138
- outline: revert;
139
- outline-style: revert;
140
- }
141
- }
142
61
  .jkl-select *:focus {
143
62
  outline: none;
144
63
  }
@@ -150,16 +69,13 @@
150
69
  }
151
70
  .jkl-select select:-moz-focusring {
152
71
  color: transparent;
153
- text-shadow: 0 0 0 var(--jkl-select-text-color);
72
+ text-shadow: 0 0 0 var(--jkl-color-text-subdued);
154
73
  }
155
74
  .jkl-select select option {
156
75
  font-weight: normal;
157
76
  font-family: sans-serif;
158
- color: var(--jkl-select-text-color);
159
- background-color: var(--jkl-select-open-background-color);
160
- }
161
- .jkl-select select option:disabled {
162
- color: var(--jkl-select-text-disabled-color);
77
+ color: var(--jkl-color-text-subdued);
78
+ background-color: var(--jkl-color-background-container-high);
163
79
  }
164
80
  .jkl-select__outer-wrapper {
165
81
  position: relative;
@@ -170,24 +86,21 @@
170
86
  .jkl-select__search-input {
171
87
  box-sizing: border-box;
172
88
  padding: var(--jkl-select-search-input-padding);
173
- color: var(--jkl-select-text-color);
89
+ color: var(--jkl-color-text-subdued);
174
90
  }
175
91
  .jkl-select__search-input::selection {
176
- background-color: var(--jkl-select-search-input-selection-color);
177
- }
178
- [data-theme=dark] .jkl-select__search-input::selection {
179
- background-color: var(--jkl-select-search-input-selection-color);
92
+ background-color: color-mix(in oklab, var(--jkl-color-text-subdued) 25%, var(--jkl-color-background-container) 15%);
180
93
  }
181
94
  .jkl-select__search-input, .jkl-select__button {
182
95
  overflow: hidden;
183
96
  text-overflow: ellipsis;
184
97
  white-space: nowrap;
185
- background-color: var(--jkl-select-background-color);
186
- color: var(--jkl-select-text-color);
98
+ background-color: transparent;
99
+ color: var(--jkl-color-text-subdued);
187
100
  cursor: pointer;
188
101
  height: var(--jkl-select-input-height);
189
102
  border-radius: 0.1875rem;
190
- border: 0.0625rem solid var(--jkl-select-border-color);
103
+ border: 0.0625rem solid var(--jkl-color-border-input);
191
104
  box-shadow: 0 0 0 0.0625rem transparent;
192
105
  text-align: left;
193
106
  width: 100%;
@@ -199,17 +112,17 @@
199
112
  font-weight: var(--jkl-select-font-weight);
200
113
  }
201
114
  .jkl-select__search-input--active-value, .jkl-select__button--active-value {
202
- color: var(--jkl-select-text-active-value-color);
115
+ color: var(--jkl-color-text-default);
203
116
  }
204
117
  .jkl-select__search-input:focus, .jkl-select__button:focus {
205
- border-color: var(--jkl-select-focus-color);
206
- color: var(--jkl-select-focus-color);
207
- box-shadow: 0 0 0 0.0625rem var(--jkl-select-focus-color);
208
- background-color: var(--jkl-select-open-background-color);
118
+ border-color: var(--jkl-color-border-input-focus);
119
+ color: var(--jkl-color-border-input-focus);
120
+ box-shadow: 0 0 0 0.0625rem var(--jkl-color-border-input-focus);
121
+ background-color: var(--jkl-color-background-container-high);
209
122
  }
210
123
  .jkl-select__search-input:hover, .jkl-select__button:hover {
211
- border-color: var(--jkl-select-focus-color);
212
- box-shadow: 0 0 0 0.0625rem var(--jkl-select-focus-color);
124
+ border-color: var(--jkl-color-border-input-focus);
125
+ box-shadow: 0 0 0 0.0625rem var(--jkl-color-border-input-focus);
213
126
  }
214
127
  .jkl-select__search-input:hover ~ .jkl-select__arrow, .jkl-select__button:hover ~ .jkl-select__arrow {
215
128
  transform: translateY(calc(-50% + 0.1875rem));
@@ -225,7 +138,7 @@
225
138
  position: absolute;
226
139
  right: var(--jkl-select-arrow-right);
227
140
  top: 50%;
228
- color: var(--jkl-select-arrow-color);
141
+ color: var(--jkl-color-text-default);
229
142
  transform: translateY(-50%);
230
143
  transition-property: transform, color;
231
144
  transition-timing-function: ease;
@@ -241,14 +154,17 @@
241
154
  fill: CanvasText;
242
155
  }
243
156
  }
157
+ :has([aria-invalid=true]) .jkl-select__arrow {
158
+ color: var(--jkl-color-text-on-alert);
159
+ }
244
160
  .jkl-select__options-menu {
245
161
  position: absolute;
246
162
  left: -0.0625rem;
247
163
  right: -0.0625rem;
248
164
  top: 100%;
249
165
  z-index: 7000;
250
- background-color: var(--jkl-select-open-background-color);
251
- border: 0.125rem solid var(--jkl-select-focus-color);
166
+ background-color: var(--jkl-color-background-container-high);
167
+ border: 0.125rem solid var(--jkl-color-border-input-focus);
252
168
  border-top: none;
253
169
  border-radius: 0 0 0.1875rem 0.1875rem;
254
170
  box-sizing: border-box;
@@ -285,11 +201,11 @@
285
201
  markeres ved hover som normalt. */
286
202
  }
287
203
  .jkl-select__option:focus, :not([data-focus=controlled]) > .jkl-select__option:hover {
288
- color: var(--jkl-select-hover-option-color);
289
- background-color: var(--jkl-select-hover-option-background-color);
204
+ color: var(--jkl-color-text-default);
205
+ background-color: var(--jkl-color-background-interactive-hover);
290
206
  }
291
207
  .jkl-select__option-description {
292
- color: var(--jkl-select-option-description-color);
208
+ color: var(--jkl-color-text-subdued);
293
209
  display: block;
294
210
  width: 100%;
295
211
  font-size: 1rem;
@@ -307,29 +223,23 @@
307
223
  .jkl-select--open .jkl-select__button {
308
224
  border-bottom-left-radius: 0;
309
225
  border-bottom-right-radius: 0;
310
- border-color: var(--jkl-select-focus-color);
311
- background-color: var(--jkl-select-open-background-color);
312
- box-shadow: 0 0 0 0.0625rem var(--jkl-select-focus-color);
226
+ border-color: var(--jkl-color-border-input-focus);
227
+ background-color: var(--jkl-color-background-container-high);
228
+ box-shadow: 0 0 0 0.0625rem var(--jkl-color-border-input-focus);
313
229
  }
314
230
  .jkl-select--open .jkl-select__search-input:hover ~ .jkl-select__arrow,
315
231
  .jkl-select--open .jkl-select__button:hover ~ .jkl-select__arrow {
316
232
  transform: translateY(calc(-50% + -0.1875rem));
317
233
  }
318
- .jkl-select--invalid {
319
- /* Color of text selection */
320
- }
321
234
  .jkl-select--invalid .jkl-select__search-input,
322
235
  .jkl-select--invalid .jkl-select__button {
323
- background-color: var(--jkl-select-error-background-color);
324
- color: var(--jkl-select-error-text-color);
236
+ background-color: var(--jkl-color-background-alert-error);
237
+ color: var(--jkl-color-text-on-alert-subdued);
325
238
  }
326
239
  .jkl-select--invalid .jkl-select__search-input--active-value,
327
240
  .jkl-select--invalid .jkl-select__button--active-value {
328
241
  color: revert;
329
242
  }
330
- .jkl-select--invalid .jkl-select__search-input::selection {
331
- background-color: var(--jkl-select-search-input-error-selection-color);
332
- }
333
243
  @media screen and (forced-colors: active) {
334
244
  .jkl-select .jkl-select__button, .jkl-select .jkl-select__search-input {
335
245
  color: CanvasText;
@@ -1 +1 @@
1
- @media screen and (prefers-color-scheme:light){:root{--jkl-select-border-color:#636060;--jkl-select-text-color:#636060;--jkl-select-text-disabled-color:#636060;--jkl-select-text-active-value-color:#1b1917;--jkl-select-background-color:transparent;--jkl-select-open-background-color:#fff;--jkl-select-focus-color:#1b1917;--jkl-select-error-background-color:#f6b3b3;--jkl-select-error-text-color:#636060;--jkl-select-hover-option-color:#1b1917;--jkl-select-hover-option-background-color:#e0dbd4;--jkl-select-option-description-color:#636060;--jkl-select-search-input-selection-color:rgba(27,25,23,.2);--jkl-select-search-input-error-selection-color:rgba(27,25,23,.2);--jkl-select-arrow-color:#1b1917}}[data-theme=light]{--jkl-select-border-color:#636060;--jkl-select-text-color:#636060;--jkl-select-text-disabled-color:#636060;--jkl-select-text-active-value-color:#1b1917;--jkl-select-background-color:transparent;--jkl-select-open-background-color:#fff;--jkl-select-focus-color:#1b1917;--jkl-select-error-background-color:#f6b3b3;--jkl-select-error-text-color:#636060;--jkl-select-hover-option-color:#1b1917;--jkl-select-hover-option-background-color:#e0dbd4;--jkl-select-option-description-color:#636060;--jkl-select-search-input-selection-color:rgba(27,25,23,.2);--jkl-select-search-input-error-selection-color:rgba(27,25,23,.2);--jkl-select-arrow-color:#1b1917}@media screen and (prefers-color-scheme:dark){:root{--jkl-select-border-color:#c8c5c3;--jkl-select-text-color:#c8c5c3;--jkl-select-text-disabled-color:#c8c5c3;--jkl-select-text-active-value-color:#f9f9f9;--jkl-select-background-color:transparent;--jkl-select-open-background-color:#313030;--jkl-select-focus-color:#f9f9f9;--jkl-select-error-background-color:#f6b3b3;--jkl-select-error-text-color:#636060;--jkl-select-hover-option-color:#f9f9f9;--jkl-select-hover-option-background-color:#444141;--jkl-select-option-description-color:#ece9e5;--jkl-select-search-input-selection-color:hsla(0,0%,98%,.25);--jkl-select-search-input-error-selection-color:rgba(27,25,23,.2);--jkl-select-arrow-color:#f9f9f9}}[data-theme=dark]{--jkl-select-border-color:#c8c5c3;--jkl-select-text-color:#c8c5c3;--jkl-select-text-disabled-color:#c8c5c3;--jkl-select-text-active-value-color:#f9f9f9;--jkl-select-background-color:transparent;--jkl-select-open-background-color:#313030;--jkl-select-focus-color:#f9f9f9;--jkl-select-error-background-color:#f6b3b3;--jkl-select-error-text-color:#636060;--jkl-select-hover-option-color:#f9f9f9;--jkl-select-hover-option-background-color:#444141;--jkl-select-option-description-color:#ece9e5;--jkl-select-search-input-selection-color:hsla(0,0%,98%,.25);--jkl-select-search-input-error-selection-color:rgba(27,25,23,.2);--jkl-select-arrow-color:#f9f9f9}:root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-select-input-height:3rem;--jkl-select-arrow-right:0.5rem;--jkl-select-button-padding:0.5rem 2.25rem 0.5rem 0.75rem;--jkl-select-search-input-padding:var(--jkl-select-button-padding);--jkl-select-native-padding:0 2.5rem 0 0.5rem;--jkl-select-option-padding:0.5rem 0.75rem;--jkl-select-font-size:var(--jkl-body-font-size);--jkl-select-line-height:var(--jkl-body-line-height);--jkl-select-font-weight:var(--jkl-body-font-weight)}@media (width >= 0) and (max-width:679px){:root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-select-input-height:2.75rem}}[data-density=compact],[data-layout-density=compact]{--jkl-select-input-height:2rem;--jkl-select-arrow-right:0.25rem;--jkl-select-button-padding:0.25rem 2rem 0.25rem 0.5rem;--jkl-select-search-input-padding:0.25rem 0.5rem;--jkl-select-native-padding:0.25rem 1.5rem 0.25rem 0.25rem;--jkl-select-option-padding:0.25rem 0.5rem;--jkl-select-font-size:var(--jkl-small-font-size);--jkl-select-line-height:var(--jkl-small-line-height);--jkl-select-font-weight:var(--jkl-small-font-weight)}.jkl-select{border-style:none;display:block;outline:0;outline-style:none;position:relative}.jkl-select:active,.jkl-select:focus,.jkl-select:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-select{border-style:revert;outline:revert;outline-style:revert}.jkl-select:active,.jkl-select:focus,.jkl-select:hover{outline:revert;outline-style:revert}}.jkl-select :focus{outline:none}.jkl-select select{-webkit-appearance:none;appearance:none}.jkl-select select::ms-expand{display:none}.jkl-select select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--jkl-select-text-color)}.jkl-select select option{background-color:var(--jkl-select-open-background-color);color:var(--jkl-select-text-color);font-family:sans-serif;font-weight:400}.jkl-select select option:disabled{color:var(--jkl-select-text-disabled-color)}.jkl-select__outer-wrapper{max-width:100%;min-width:7rem;position:relative;width:15rem}.jkl-select__search-input{box-sizing:border-box;color:var(--jkl-select-text-color);padding:var(--jkl-select-search-input-padding)}.jkl-select__search-input::selection{background-color:var(--jkl-select-search-input-selection-color)}[data-theme=dark] .jkl-select__search-input::selection{background-color:var(--jkl-select-search-input-selection-color)}.jkl-select__button,.jkl-select__search-input{background-color:var(--jkl-select-background-color);border:.0625rem solid var(--jkl-select-border-color);border-radius:.1875rem;box-shadow:0 0 0 .0625rem transparent;color:var(--jkl-select-text-color);cursor:pointer;font-size:var(--jkl-select-font-size);font-weight:var(--jkl-select-font-weight);height:var(--jkl-select-input-height);line-height:var(--jkl-select-line-height);overflow:hidden;text-align:left;text-overflow:ellipsis;transition-duration:.15s;transition-property:color,border-color,box-shadow;transition-timing-function:ease;white-space:nowrap;width:100%}.jkl-select__button--active-value,.jkl-select__search-input--active-value{color:var(--jkl-select-text-active-value-color)}.jkl-select__button:focus,.jkl-select__search-input:focus{background-color:var(--jkl-select-open-background-color);border-color:var(--jkl-select-focus-color);box-shadow:0 0 0 .0625rem var(--jkl-select-focus-color);color:var(--jkl-select-focus-color)}.jkl-select__button:hover,.jkl-select__search-input:hover{border-color:var(--jkl-select-focus-color);box-shadow:0 0 0 .0625rem var(--jkl-select-focus-color)}.jkl-select__button:hover~.jkl-select__arrow,.jkl-select__search-input:hover~.jkl-select__arrow{transform:translateY(calc(-50% + .1875rem))}.jkl-select__button{padding:var(--jkl-select-button-padding)}.jkl-select select.jkl-select__button{padding:var(--jkl-select-native-padding)}.jkl-select__arrow{color:var(--jkl-select-arrow-color);pointer-events:none;position:absolute;right:var(--jkl-select-arrow-right);top:50%;transform:translateY(-50%);transition-duration:.15s;transition-property:transform,color;transition-timing-function:ease}@media screen and (forced-colors:active){.jkl-select__arrow,.jkl-select__arrow path,.jkl-select__arrow svg{stroke:CanvasText;fill:CanvasText}}.jkl-select__options-menu{background-color:var(--jkl-select-open-background-color);border:.125rem solid var(--jkl-select-focus-color);border-radius:0 0 .1875rem .1875rem;border-top:none;box-sizing:border-box;left:-.0625rem;max-height:calc((var(--jkl-select-max-shown-options, 5) + .5)*var(--jkl-select-input-height));overflow-y:auto;position:absolute;right:-.0625rem;top:100%;transition-duration:.15s;transition-property:height;transition-timing-function:ease;z-index:7000}.jkl-select__option-wrapper{list-style-type:none;margin:0;padding:0;-webkit-overflow-scrolling:touch}.jkl-select__option{background-color:inherit;border:0;color:unset;cursor:pointer;font-size:var(--jkl-select-font-size);font-weight:var(--jkl-select-font-weight);line-height:var(--jkl-select-line-height);min-height:var(--jkl-select-input-height);padding:var(--jkl-select-option-padding);position:relative;text-align:left;transition-duration:.15s;transition-property:color,background-color;transition-timing-function:ease;width:100%}.jkl-select__option:focus,:not([data-focus=controlled])>.jkl-select__option:hover{background-color:var(--jkl-select-hover-option-background-color);color:var(--jkl-select-hover-option-color)}.jkl-select__option-description{color:var(--jkl-select-option-description-color);display:block;font-size:1rem;font-weight:400;line-height:1.5rem;width:100%;--jkl-icon-weight:300;--jkl-icon-size:1.25rem;--jkl-icon-opsz:20}.jkl-select--inline{display:inline-block;vertical-align:top}.jkl-select--open .jkl-select__button,.jkl-select--open .jkl-select__search-input{background-color:var(--jkl-select-open-background-color);border-bottom-left-radius:0;border-bottom-right-radius:0;border-color:var(--jkl-select-focus-color);box-shadow:0 0 0 .0625rem var(--jkl-select-focus-color)}.jkl-select--open .jkl-select__button:hover~.jkl-select__arrow,.jkl-select--open .jkl-select__search-input:hover~.jkl-select__arrow{transform:translateY(calc(-50% - .1875rem))}.jkl-select--invalid .jkl-select__button,.jkl-select--invalid .jkl-select__search-input{background-color:var(--jkl-select-error-background-color);color:var(--jkl-select-error-text-color)}.jkl-select--invalid .jkl-select__button--active-value,.jkl-select--invalid .jkl-select__search-input--active-value{color:revert}.jkl-select--invalid .jkl-select__search-input::selection{background-color:var(--jkl-select-search-input-error-selection-color)}@media screen and (forced-colors:active){.jkl-select .jkl-select__button,.jkl-select .jkl-select__search-input{background-color:Canvas;border:2px solid ButtonText;color:CanvasText;outline:revert}.jkl-select .jkl-select__button:hover,.jkl-select .jkl-select__search-input:hover{border-color:Highlight}.jkl-select .jkl-select__option{border-bottom:1px solid Canvas;border-top:1px solid Canvas;color:CanvasText}.jkl-select .jkl-select__option:focus,.jkl-select .jkl-select__option:hover{border-bottom:1px solid SelectedItem;border-top:1px solid SelectedItem;--jkl-icon-weight:500;font-weight:700;letter-spacing:-.014em}}
1
+ .jkl-select{border-style:none;display:block;outline:0;outline-style:none;position:relative}.jkl-select:active,.jkl-select:focus,.jkl-select:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-select{border-style:revert;outline:revert;outline-style:revert}.jkl-select:active,.jkl-select:focus,.jkl-select:hover{outline:revert;outline-style:revert}}.jkl .jkl-select,.jkl-select[data-density=comfortable],.jkl-select[data-layout-density=comfortable],[data-density=comfortable] .jkl-select,[data-layout-density=comfortable] .jkl-select{--jkl-select-input-height:3rem;--jkl-select-arrow-right:0.5rem;--jkl-select-button-padding:0.5rem 2.25rem 0.5rem 0.75rem;--jkl-select-search-input-padding:var(--jkl-select-button-padding);--jkl-select-native-padding:0 2.5rem 0 0.5rem;--jkl-select-option-padding:0.5rem 0.75rem;--jkl-select-font-size:var(--jkl-body-font-size);--jkl-select-line-height:var(--jkl-body-line-height);--jkl-select-font-weight:var(--jkl-body-font-weight)}@media (width >= 0) and (max-width:679px){.jkl .jkl-select,.jkl-select[data-density=comfortable],.jkl-select[data-layout-density=comfortable],[data-density=comfortable] .jkl-select,[data-layout-density=comfortable] .jkl-select{--jkl-select-input-height:2.75rem}}.jkl-select[data-density=compact],.jkl-select[data-layout-density=compact],[data-density=compact] .jkl-select,[data-layout-density=compact] .jkl-select{--jkl-select-input-height:2rem;--jkl-select-arrow-right:0.25rem;--jkl-select-button-padding:0.25rem 2rem 0.25rem 0.5rem;--jkl-select-search-input-padding:0.25rem 0.5rem;--jkl-select-native-padding:0.25rem 1.5rem 0.25rem 0.25rem;--jkl-select-option-padding:0.25rem 0.5rem;--jkl-select-font-size:var(--jkl-small-font-size);--jkl-select-line-height:var(--jkl-small-line-height);--jkl-select-font-weight:var(--jkl-small-font-weight)}.jkl-select :focus{outline:none}.jkl-select select{-webkit-appearance:none;appearance:none}.jkl-select select::ms-expand{display:none}.jkl-select select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--jkl-color-text-subdued)}.jkl-select select option{background-color:var(--jkl-color-background-container-high);color:var(--jkl-color-text-subdued);font-family:sans-serif;font-weight:400}.jkl-select__outer-wrapper{max-width:100%;min-width:7rem;position:relative;width:15rem}.jkl-select__search-input{box-sizing:border-box;color:var(--jkl-color-text-subdued);padding:var(--jkl-select-search-input-padding)}.jkl-select__search-input::selection{background-color:color-mix(in oklab,var(--jkl-color-text-subdued) 25%,var(--jkl-color-background-container) 15%)}.jkl-select__button,.jkl-select__search-input{background-color:transparent;border:.0625rem solid var(--jkl-color-border-input);border-radius:.1875rem;box-shadow:0 0 0 .0625rem transparent;color:var(--jkl-color-text-subdued);cursor:pointer;font-size:var(--jkl-select-font-size);font-weight:var(--jkl-select-font-weight);height:var(--jkl-select-input-height);line-height:var(--jkl-select-line-height);overflow:hidden;text-align:left;text-overflow:ellipsis;transition-duration:.15s;transition-property:color,border-color,box-shadow;transition-timing-function:ease;white-space:nowrap;width:100%}.jkl-select__button--active-value,.jkl-select__search-input--active-value{color:var(--jkl-color-text-default)}.jkl-select__button:focus,.jkl-select__search-input:focus{background-color:var(--jkl-color-background-container-high);border-color:var(--jkl-color-border-input-focus);box-shadow:0 0 0 .0625rem var(--jkl-color-border-input-focus);color:var(--jkl-color-border-input-focus)}.jkl-select__button:hover,.jkl-select__search-input:hover{border-color:var(--jkl-color-border-input-focus);box-shadow:0 0 0 .0625rem var(--jkl-color-border-input-focus)}.jkl-select__button:hover~.jkl-select__arrow,.jkl-select__search-input:hover~.jkl-select__arrow{transform:translateY(calc(-50% + .1875rem))}.jkl-select__button{padding:var(--jkl-select-button-padding)}.jkl-select select.jkl-select__button{padding:var(--jkl-select-native-padding)}.jkl-select__arrow{color:var(--jkl-color-text-default);pointer-events:none;position:absolute;right:var(--jkl-select-arrow-right);top:50%;transform:translateY(-50%);transition-duration:.15s;transition-property:transform,color;transition-timing-function:ease}@media screen and (forced-colors:active){.jkl-select__arrow,.jkl-select__arrow path,.jkl-select__arrow svg{stroke:CanvasText;fill:CanvasText}}:has([aria-invalid=true]) .jkl-select__arrow{color:var(--jkl-color-text-on-alert)}.jkl-select__options-menu{background-color:var(--jkl-color-background-container-high);border:.125rem solid var(--jkl-color-border-input-focus);border-radius:0 0 .1875rem .1875rem;border-top:none;box-sizing:border-box;left:-.0625rem;max-height:calc((var(--jkl-select-max-shown-options, 5) + .5)*var(--jkl-select-input-height));overflow-y:auto;position:absolute;right:-.0625rem;top:100%;transition-duration:.15s;transition-property:height;transition-timing-function:ease;z-index:7000}.jkl-select__option-wrapper{list-style-type:none;margin:0;padding:0;-webkit-overflow-scrolling:touch}.jkl-select__option{background-color:inherit;border:0;color:unset;cursor:pointer;font-size:var(--jkl-select-font-size);font-weight:var(--jkl-select-font-weight);line-height:var(--jkl-select-line-height);min-height:var(--jkl-select-input-height);padding:var(--jkl-select-option-padding);position:relative;text-align:left;transition-duration:.15s;transition-property:color,background-color;transition-timing-function:ease;width:100%}.jkl-select__option:focus,:not([data-focus=controlled])>.jkl-select__option:hover{background-color:var(--jkl-color-background-interactive-hover);color:var(--jkl-color-text-default)}.jkl-select__option-description{color:var(--jkl-color-text-subdued);display:block;font-size:1rem;font-weight:400;line-height:1.5rem;width:100%;--jkl-icon-weight:300;--jkl-icon-size:1.25rem;--jkl-icon-opsz:20}.jkl-select--inline{display:inline-block;vertical-align:top}.jkl-select--open .jkl-select__button,.jkl-select--open .jkl-select__search-input{background-color:var(--jkl-color-background-container-high);border-bottom-left-radius:0;border-bottom-right-radius:0;border-color:var(--jkl-color-border-input-focus);box-shadow:0 0 0 .0625rem var(--jkl-color-border-input-focus)}.jkl-select--open .jkl-select__button:hover~.jkl-select__arrow,.jkl-select--open .jkl-select__search-input:hover~.jkl-select__arrow{transform:translateY(calc(-50% - .1875rem))}.jkl-select--invalid .jkl-select__button,.jkl-select--invalid .jkl-select__search-input{background-color:var(--jkl-color-background-alert-error);color:var(--jkl-color-text-on-alert-subdued)}.jkl-select--invalid .jkl-select__button--active-value,.jkl-select--invalid .jkl-select__search-input--active-value{color:revert}@media screen and (forced-colors:active){.jkl-select .jkl-select__button,.jkl-select .jkl-select__search-input{background-color:Canvas;border:2px solid ButtonText;color:CanvasText;outline:revert}.jkl-select .jkl-select__button:hover,.jkl-select .jkl-select__search-input:hover{border-color:Highlight}.jkl-select .jkl-select__option{border-bottom:1px solid Canvas;border-top:1px solid Canvas;color:CanvasText}.jkl-select .jkl-select__option:focus,.jkl-select .jkl-select__option:hover{border-bottom:1px solid SelectedItem;border-top:1px solid SelectedItem;--jkl-icon-weight:500;font-weight:700;letter-spacing:-.014em}}
@@ -4,88 +4,40 @@
4
4
  @use "../../core/jkl";
5
5
  @use "../../core/jkl/colors";
6
6
 
7
- $_select-focus-color: jkl.$color-granitt;
8
- $_select-search-input-selection-color: color.scale(
9
- $color: $_select-focus-color,
10
- $alpha: -80%,
11
- );
12
-
13
- $_select-focus-color--inverted: jkl.$color-snohvit;
14
- $_select-search-input-selection-color--inverted: color.scale(
15
- $color: $_select-focus-color--inverted,
16
- $alpha: -75%,
17
- );
18
-
19
- @include jkl.light-mode-variables {
20
- --jkl-select-border-color: #{jkl.$color-stein};
21
- --jkl-select-text-color: #{jkl.$color-stein};
22
- --jkl-select-text-disabled-color: #{jkl.$color-stein};
23
- --jkl-select-text-active-value-color: #{jkl.$color-granitt};
24
- --jkl-select-background-color: transparent;
25
- --jkl-select-open-background-color: #{jkl.$color-hvit};
26
- --jkl-select-focus-color: #{$_select-focus-color};
27
- --jkl-select-error-background-color: #{jkl.$color-feil};
28
- --jkl-select-error-text-color: #{jkl.$color-stein};
29
- --jkl-select-hover-option-color: #{jkl.$color-granitt};
30
- --jkl-select-hover-option-background-color: #{jkl.$color-varde};
31
- --jkl-select-option-description-color: #{jkl.$color-stein};
32
- --jkl-select-search-input-selection-color: #{$_select-search-input-selection-color};
33
- --jkl-select-search-input-error-selection-color: #{$_select-search-input-selection-color};
34
- --jkl-select-arrow-color: #{jkl.$color-granitt};
35
- }
7
+ .jkl-select {
8
+ display: block;
9
+ position: relative;
36
10
 
37
- @include jkl.dark-mode-variables {
38
- --jkl-select-border-color: #{jkl.$color-svaberg};
39
- --jkl-select-text-color: #{jkl.$color-svaberg};
40
- --jkl-select-text-disabled-color: #{jkl.$color-svaberg};
41
- --jkl-select-text-active-value-color: #{jkl.$color-snohvit};
42
- --jkl-select-background-color: transparent;
43
- --jkl-select-open-background-color: #{jkl.$color-skifer};
44
- --jkl-select-focus-color: #{$_select-focus-color--inverted};
45
- --jkl-select-error-background-color: #{jkl.$color-feil};
46
- --jkl-select-error-text-color: #{jkl.$color-stein};
47
- --jkl-select-hover-option-color: #{jkl.$color-snohvit};
48
- --jkl-select-hover-option-background-color: #{jkl.$color-fjellgra};
49
- --jkl-select-option-description-color: #{jkl.$color-dis};
50
- --jkl-select-search-input-selection-color: #{$_select-search-input-selection-color--inverted};
51
- --jkl-select-search-input-error-selection-color: #{$_select-search-input-selection-color};
52
- --jkl-select-arrow-color: #{jkl.$color-snohvit};
53
- }
11
+ @include jkl.reset-outline;
54
12
 
55
- @include jkl.comfortable-density-variables {
56
- --jkl-select-input-height: #{jkl.rem(48px)};
57
- --jkl-select-arrow-right: #{jkl.$spacing-8};
58
- --jkl-select-button-padding: #{jkl.$spacing-8} #{jkl.rem(36px)} #{jkl.$spacing-8}
59
- #{jkl.$spacing-12};
60
- --jkl-select-search-input-padding: var(--jkl-select-button-padding);
61
- --jkl-select-native-padding: 0 #{jkl.$spacing-40} 0 #{jkl.$spacing-8};
62
- --jkl-select-option-padding: #{jkl.$spacing-8} #{jkl.$spacing-12};
13
+ @include jkl.comfortable-density {
14
+ --jkl-select-input-height: #{jkl.rem(48px)};
15
+ --jkl-select-arrow-right: #{jkl.$spacing-8};
16
+ --jkl-select-button-padding: #{jkl.$spacing-8} #{jkl.rem(36px)} #{jkl.$spacing-8}
17
+ #{jkl.$spacing-12};
18
+ --jkl-select-search-input-padding: var(--jkl-select-button-padding);
19
+ --jkl-select-native-padding: 0 #{jkl.$spacing-40} 0 #{jkl.$spacing-8};
20
+ --jkl-select-option-padding: #{jkl.$spacing-8} #{jkl.$spacing-12};
63
21
 
64
- @include jkl.declare-font-variables("jkl-select", "body");
22
+ @include jkl.declare-font-variables("jkl-select", "body");
65
23
 
66
- @include jkl.small-device {
67
- --jkl-select-input-height: #{jkl.rem(44px)};
24
+ @include jkl.small-device {
25
+ --jkl-select-input-height: #{jkl.rem(44px)};
26
+ }
68
27
  }
69
- }
70
-
71
- @include jkl.compact-density-variables {
72
- --jkl-select-input-height: #{jkl.rem(32px)};
73
- --jkl-select-arrow-right: #{jkl.rem(4px)};
74
- --jkl-select-button-padding: #{jkl.$spacing-4} #{jkl.$spacing-32} #{jkl.$spacing-4}
75
- #{jkl.$spacing-8};
76
- --jkl-select-search-input-padding: #{jkl.$spacing-4} #{jkl.$spacing-8};
77
- --jkl-select-native-padding: #{jkl.$spacing-4} #{jkl.$spacing-24} #{jkl.$spacing-4}
78
- #{jkl.$spacing-4};
79
- --jkl-select-option-padding: #{jkl.$spacing-4} #{jkl.$spacing-8};
80
-
81
- @include jkl.declare-font-variables("jkl-select", "small");
82
- }
83
-
84
- .jkl-select {
85
- display: block;
86
- position: relative;
87
28
 
88
- @include jkl.reset-outline;
29
+ @include jkl.compact-density {
30
+ --jkl-select-input-height: #{jkl.rem(32px)};
31
+ --jkl-select-arrow-right: #{jkl.rem(4px)};
32
+ --jkl-select-button-padding: #{jkl.$spacing-4} #{jkl.$spacing-32} #{jkl.$spacing-4}
33
+ #{jkl.$spacing-8};
34
+ --jkl-select-search-input-padding: #{jkl.$spacing-4} #{jkl.$spacing-8};
35
+ --jkl-select-native-padding: #{jkl.$spacing-4} #{jkl.$spacing-24} #{jkl.$spacing-4}
36
+ #{jkl.$spacing-4};
37
+ --jkl-select-option-padding: #{jkl.$spacing-4} #{jkl.$spacing-8};
38
+
39
+ @include jkl.declare-font-variables("jkl-select", "small");
40
+ }
89
41
 
90
42
  & *:focus {
91
43
  outline: none;
@@ -100,18 +52,14 @@ $_select-search-input-selection-color--inverted: color.scale(
100
52
 
101
53
  &:-moz-focusring {
102
54
  color: transparent;
103
- text-shadow: 0 0 0 var(--jkl-select-text-color);
55
+ text-shadow: 0 0 0 var(--jkl-color-text-subdued);
104
56
  }
105
57
 
106
58
  & option {
107
59
  font-weight: normal;
108
60
  font-family: sans-serif;
109
- color: var(--jkl-select-text-color);
110
- background-color: var(--jkl-select-open-background-color);
111
-
112
- &:disabled {
113
- color: var(--jkl-select-text-disabled-color);
114
- }
61
+ color: var(--jkl-color-text-subdued);
62
+ background-color: var(--jkl-color-background-container-high);
115
63
  }
116
64
  }
117
65
 
@@ -125,16 +73,14 @@ $_select-search-input-selection-color--inverted: color.scale(
125
73
  &__search-input {
126
74
  box-sizing: border-box;
127
75
  padding: var(--jkl-select-search-input-padding);
128
- color: var(--jkl-select-text-color);
76
+ color: var(--jkl-color-text-subdued);
129
77
 
130
78
  &::selection {
131
- background-color: var(--jkl-select-search-input-selection-color);
132
-
133
- [data-theme="dark"] & {
134
- background-color: var(
135
- --jkl-select-search-input-selection-color
136
- );
137
- }
79
+ background-color: color-mix(
80
+ in oklab,
81
+ var(--jkl-color-text-subdued) 25%,
82
+ var(--jkl-color-background-container) 15%
83
+ );
138
84
  }
139
85
  }
140
86
 
@@ -143,13 +89,13 @@ $_select-search-input-selection-color--inverted: color.scale(
143
89
  overflow: hidden;
144
90
  text-overflow: ellipsis;
145
91
  white-space: nowrap;
146
- background-color: var(--jkl-select-background-color);
147
- color: var(--jkl-select-text-color);
92
+ background-color: transparent;
93
+ color: var(--jkl-color-text-subdued);
148
94
  cursor: pointer;
149
95
 
150
96
  height: var(--jkl-select-input-height);
151
97
  border-radius: jkl.rem(3px);
152
- border: jkl.rem(1px) solid var(--jkl-select-border-color);
98
+ border: jkl.rem(1px) solid var(--jkl-color-border-input);
153
99
  box-shadow: 0 0 0 jkl.rem(1px) transparent;
154
100
  text-align: left;
155
101
  width: 100%;
@@ -160,19 +106,19 @@ $_select-search-input-selection-color--inverted: color.scale(
160
106
  @include jkl.use-font-variables("jkl-select");
161
107
 
162
108
  &--active-value {
163
- color: var(--jkl-select-text-active-value-color);
109
+ color: var(--jkl-color-text-default);
164
110
  }
165
111
 
166
112
  &:focus {
167
- border-color: var(--jkl-select-focus-color);
168
- color: var(--jkl-select-focus-color);
169
- box-shadow: 0 0 0 jkl.rem(1px) var(--jkl-select-focus-color);
170
- background-color: var(--jkl-select-open-background-color);
113
+ border-color: var(--jkl-color-border-input-focus);
114
+ color: var(--jkl-color-border-input-focus);
115
+ box-shadow: 0 0 0 jkl.rem(1px) var(--jkl-color-border-input-focus);
116
+ background-color: var(--jkl-color-background-container-high);
171
117
  }
172
118
 
173
119
  &:hover {
174
- border-color: var(--jkl-select-focus-color);
175
- box-shadow: 0 0 0 jkl.rem(1px) var(--jkl-select-focus-color);
120
+ border-color: var(--jkl-color-border-input-focus);
121
+ box-shadow: 0 0 0 jkl.rem(1px) var(--jkl-color-border-input-focus);
176
122
 
177
123
  & ~ .jkl-select__arrow {
178
124
  transform: translateY(calc(-50% + #{jkl.rem(3px)}));
@@ -193,7 +139,7 @@ $_select-search-input-selection-color--inverted: color.scale(
193
139
  position: absolute;
194
140
  right: var(--jkl-select-arrow-right);
195
141
  top: 50%;
196
- color: var(--jkl-select-arrow-color);
142
+ color: var(--jkl-color-text-default);
197
143
 
198
144
  transform: translateY(-50%);
199
145
  transition-property: transform, color;
@@ -203,6 +149,10 @@ $_select-search-input-selection-color--inverted: color.scale(
203
149
  $stroke: CanvasText,
204
150
  $fill: CanvasText
205
151
  );
152
+
153
+ :has([aria-invalid="true"]) & {
154
+ color: var(--jkl-color-text-on-alert);
155
+ }
206
156
  }
207
157
 
208
158
  &__options-menu {
@@ -212,8 +162,8 @@ $_select-search-input-selection-color--inverted: color.scale(
212
162
  top: 100%;
213
163
  z-index: jkl.$z-index--dropdown;
214
164
 
215
- background-color: var(--jkl-select-open-background-color);
216
- border: jkl.rem(2px) solid var(--jkl-select-focus-color);
165
+ background-color: var(--jkl-color-background-container-high);
166
+ border: jkl.rem(2px) solid var(--jkl-color-border-input-focus);
217
167
  border-top: none;
218
168
  border-radius: 0 0 jkl.rem(3px) jkl.rem(3px);
219
169
  box-sizing: border-box;
@@ -257,12 +207,12 @@ $_select-search-input-selection-color--inverted: color.scale(
257
207
  markeres ved hover som normalt. */
258
208
  &:focus,
259
209
  :not([data-focus="controlled"]) > &:hover {
260
- color: var(--jkl-select-hover-option-color);
261
- background-color: var(--jkl-select-hover-option-background-color);
210
+ color: var(--jkl-color-text-default);
211
+ background-color: var(--jkl-color-background-interactive-hover);
262
212
  }
263
213
 
264
214
  &-description {
265
- color: var(--jkl-select-option-description-color);
215
+ color: var(--jkl-color-text-subdued);
266
216
  display: block;
267
217
  width: 100%;
268
218
  @include jkl.text-style("small");
@@ -283,9 +233,9 @@ $_select-search-input-selection-color--inverted: color.scale(
283
233
  .jkl-select__button {
284
234
  border-bottom-left-radius: 0;
285
235
  border-bottom-right-radius: 0;
286
- border-color: var(--jkl-select-focus-color);
287
- background-color: var(--jkl-select-open-background-color);
288
- box-shadow: 0 0 0 jkl.rem(1px) var(--jkl-select-focus-color);
236
+ border-color: var(--jkl-color-border-input-focus);
237
+ background-color: var(--jkl-color-background-container-high);
238
+ box-shadow: 0 0 0 jkl.rem(1px) var(--jkl-color-border-input-focus);
289
239
 
290
240
  &:hover ~ .jkl-select__arrow {
291
241
  transform: translateY(calc(-50% + #{jkl.rem(-3px)}));
@@ -296,20 +246,13 @@ $_select-search-input-selection-color--inverted: color.scale(
296
246
  &--invalid {
297
247
  .jkl-select__search-input,
298
248
  .jkl-select__button {
299
- background-color: var(--jkl-select-error-background-color);
300
- color: var(--jkl-select-error-text-color);
249
+ background-color: var(--jkl-color-background-alert-error);
250
+ color: var(--jkl-color-text-on-alert-subdued);
301
251
 
302
252
  &--active-value {
303
253
  color: revert;
304
254
  }
305
255
  }
306
-
307
- /* Color of text selection */
308
- .jkl-select__search-input::selection {
309
- background-color: var(
310
- --jkl-select-search-input-error-selection-color
311
- );
312
- }
313
256
  }
314
257
 
315
258
  @include jkl.forced-colors-mode {
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Do not edit directly
3
- * Generated on Mon, 23 Sep 2024 08:51:40 GMT
3
+ * Generated on Mon, 28 Oct 2024 14:22:00 GMT
4
4
  */
5
5
  @media screen and (prefers-color-scheme: light) {
6
6
  :root {