@fremtind/jokul 4.7.0 → 4.7.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 (52) hide show
  1. package/build/build-stats.html +1 -1
  2. package/build/cjs/components/expander/Expander.cjs +1 -1
  3. package/build/cjs/components/expander/Expander.cjs.map +1 -1
  4. package/build/cjs/components/popover/Popover.cjs +1 -1
  5. package/build/cjs/components/popover/Popover.cjs.map +1 -1
  6. package/build/cjs/components/popover/types.d.cts +8 -1
  7. package/build/cjs/components/select/Select.cjs +1 -1
  8. package/build/cjs/components/select/Select.cjs.map +1 -1
  9. package/build/cjs/hooks/useListNavigation/useListNavigation.cjs +1 -1
  10. package/build/cjs/hooks/useListNavigation/useListNavigation.cjs.map +1 -1
  11. package/build/cjs/hooks/useListNavigation/useListNavigation.d.cts +11 -2
  12. package/build/es/components/expander/Expander.js +1 -1
  13. package/build/es/components/expander/Expander.js.map +1 -1
  14. package/build/es/components/popover/Popover.js +1 -1
  15. package/build/es/components/popover/Popover.js.map +1 -1
  16. package/build/es/components/popover/types.d.ts +8 -1
  17. package/build/es/components/select/Select.js +1 -1
  18. package/build/es/components/select/Select.js.map +1 -1
  19. package/build/es/hooks/useListNavigation/useListNavigation.d.ts +11 -2
  20. package/build/es/hooks/useListNavigation/useListNavigation.js +1 -1
  21. package/build/es/hooks/useListNavigation/useListNavigation.js.map +1 -1
  22. package/package.json +3 -3
  23. package/styles/components/countdown/countdown.css +2 -2
  24. package/styles/components/countdown/countdown.min.css +1 -1
  25. package/styles/components/expander/expandable.css +12 -10
  26. package/styles/components/expander/expandable.min.css +1 -1
  27. package/styles/components/expander/expandable.scss +15 -12
  28. package/styles/components/feedback/feedback.css +2 -2
  29. package/styles/components/feedback/feedback.min.css +1 -1
  30. package/styles/components/file-input/file-input.css +9 -9
  31. package/styles/components/file-input/file-input.min.css +1 -1
  32. package/styles/components/input-group/input-group.css +2 -2
  33. package/styles/components/input-group/input-group.min.css +1 -1
  34. package/styles/components/loader/loader.css +6 -6
  35. package/styles/components/loader/loader.min.css +1 -1
  36. package/styles/components/loader/skeleton-loader.css +3 -3
  37. package/styles/components/loader/skeleton-loader.min.css +1 -1
  38. package/styles/components/message/message.css +2 -2
  39. package/styles/components/message/message.min.css +1 -1
  40. package/styles/components/progress-bar/progress-bar.css +1 -1
  41. package/styles/components/progress-bar/progress-bar.min.css +1 -1
  42. package/styles/components/segmented-control/segmented-control.css +2 -2
  43. package/styles/components/segmented-control/segmented-control.min.css +1 -1
  44. package/styles/components/select/select.css +63 -14
  45. package/styles/components/select/select.min.css +1 -1
  46. package/styles/components/select/select.scss +120 -22
  47. package/styles/components/system-message/system-message.css +2 -2
  48. package/styles/components/system-message/system-message.min.css +1 -1
  49. package/styles/components/toast/toast.css +4 -4
  50. package/styles/components/toast/toast.min.css +1 -1
  51. package/styles/styles.css +99 -48
  52. package/styles/styles.min.css +1 -1
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-select{--jkl-select-arrow-right:var(--jkl-unit-05);--border-width:0.0625rem;--border-radius:var(--jkl-border-radius-s);--min-option-height:min(var(--jkl-unit-60),3rem);--button-padding:calc(var(--jkl-unit-15) - var(--border-width)) calc(0.75em - var(--border-width));--option-padding:var(--jkl-unit-05) 0.75em;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-visible{outline:none}.jkl-select .jkl-tooltip-question-button:focus{outline:3px solid var(--jkl-color-border-action);outline-offset:0}.jkl-select select{-webkit-appearance:none;appearance: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)}.jkl-select__button,.jkl-select__search-input{background-color:transparent;border:var(--border-width) solid var(--jkl-color-border-input);border-radius:var(--border-radius);box-shadow:0 0 0 .0625rem transparent;color:var(--jkl-color-text-subdued);cursor:pointer;height:var(--jkl-select-input-height);overflow:hidden;padding:var(--button-padding);text-align:left;text-overflow:ellipsis;white-space:nowrap;width:100%;-webkit-padding-end:2.05em;font-size:var(--jkl-font-size-3);font-weight:400;line-height:var(--jkl-line-height-tight);padding-inline-end:2.05em;transition-duration:.15s;transition-property:color,border-color,box-shadow;transition-timing-function:ease;--jkl-icon-weight:300}.jkl-select__button--active-value,.jkl-select__search-input--active-value{color:var(--jkl-color-text-default)}.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:focus-visible,.jkl-select__search-input:focus-visible{outline:none}html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select__button:focus-visible,html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select__button:has(:focus-visible),html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select__search-input:focus-visible,html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select__search-input:has(:focus-visible){outline:3px solid var(--jkl-color-border-action);outline-offset:3px}html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select:has(:focus-visible) .jkl-select__button,html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select:has(:focus-visible) .jkl-select__search-input{outline:3px solid var(--jkl-color-border-action);outline-offset:3px}.jkl-select__arrow{color:var(--jkl-color-text-default);pointer-events:none;position:absolute;right:.75em;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{fill:CanvasText;stroke:CanvasText}}.jkl-select: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 var(--border-radius) var(--border-radius);border-top:none;box-sizing:border-box;left:-.0625rem;max-height:calc((var(--jkl-select-max-shown-options, 5) + .5)*var(--min-option-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-font-size-3);font-weight:400;line-height:var(--jkl-line-height-tight);min-height:var(--min-option-height);padding:var(--option-padding);position:relative;text-align:left;transition-duration:.15s;transition-property:color,background-color;transition-timing-function:ease;width:100%;--jkl-icon-weight:300}.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:var(--jkl-font-size-2);font-weight:400;line-height:var(--jkl-line-height-tight);width:100%;--jkl-icon-weight:300}.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:400;font-weight:700;letter-spacing:-.014em}}}
1
+ @layer jokul.components{.jkl-select{--jkl-select-arrow-right:var(--jkl-unit-05);--border-width:0.0625rem;--border-radius:var(--jkl-border-radius-s);--min-option-height:min(var(--jkl-unit-60),3rem);--button-padding:calc(var(--jkl-unit-15) - var(--border-width)) calc(0.75em - var(--border-width));--option-padding:var(--jkl-unit-05) 0.75em;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-visible{outline:none}.jkl-select .jkl-tooltip-question-button:focus{outline:3px solid var(--jkl-color-border-action);outline-offset:0}.jkl-select select{-webkit-appearance:none;appearance: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)}.jkl-select__button,.jkl-select__search-input{background-color:transparent;border:var(--border-width) solid var(--jkl-color-border-input);border-radius:var(--border-radius);box-shadow:0 0 0 .0625rem transparent;color:var(--jkl-color-text-subdued);cursor:pointer;height:var(--jkl-select-input-height);overflow:hidden;padding:var(--button-padding);text-align:left;text-overflow:ellipsis;white-space:nowrap;width:100%;-webkit-padding-end:2.05em;font-size:var(--jkl-font-size-3);font-weight:400;line-height:var(--jkl-line-height-tight);padding-inline-end:2.05em;transition-duration:.15s;transition-property:color,border-color,box-shadow;transition-timing-function:ease;--jkl-icon-weight:300}.jkl-select__button--active-value,.jkl-select__search-input--active-value{color:var(--jkl-color-text-default)}.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:focus-visible,.jkl-select__search-input:focus-visible{outline:none}html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select__button:focus-visible,html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select__button:has(:focus-visible),html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select__search-input:focus-visible,html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select__search-input:has(:focus-visible){outline:3px solid var(--jkl-color-border-action);outline-offset:3px}html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select:has(:focus-visible) .jkl-select__button,html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select:has(:focus-visible) .jkl-select__search-input{outline:3px solid var(--jkl-color-border-action);outline-offset:3px}.jkl-select__arrow{color:var(--jkl-color-text-default);pointer-events:none;position:absolute;right:.75em;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{fill:CanvasText;stroke:CanvasText}}.jkl-select: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);box-sizing:border-box;margin-inline:-.0625rem;width:calc(100% + .125rem);--min-option-height:min(var(--jkl-unit-60),3rem);--option-padding:var(--jkl-unit-05) 0.75em;max-height:calc((var(--jkl-select-max-shown-options, 5) + .5)*var(--min-option-height));overflow-y:auto}.jkl-select__options-menu[data-popover-placement=bottom]{border-radius:0 0 var(--jkl-border-radius-s) var(--jkl-border-radius-s);border-top:none}.jkl-select__options-menu[data-popover-placement=top]{border-bottom:none;border-radius:var(--jkl-border-radius-s) var(--jkl-border-radius-s) 0 0}.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-font-size-3);font-weight:400;line-height:var(--jkl-line-height-tight);min-height:var(--min-option-height);padding:var(--option-padding);position:relative;text-align:left;transition-duration:.15s;transition-property:color,background-color;transition-timing-function:ease;width:100%;--jkl-icon-weight:300}.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:var(--jkl-font-size-2);font-weight:400;line-height:var(--jkl-line-height-tight);width:100%;--jkl-icon-weight:300}.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-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--open .jkl-select__outer-wrapper[data-popover-placement=bottom] .jkl-select__button,.jkl-select--open .jkl-select__outer-wrapper[data-popover-placement=bottom] .jkl-select__search-input{border-bottom-left-radius:0;border-bottom-right-radius:0}.jkl-select--open .jkl-select__outer-wrapper[data-popover-placement=top] .jkl-select__button,.jkl-select--open .jkl-select__outer-wrapper[data-popover-placement=top] .jkl-select__search-input{border-top-left-radius:0;border-top-right-radius:0}.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}}@media screen and (forced-colors:active){.jkl-select__option{border-bottom:1px solid Canvas;border-top:1px solid Canvas;color:CanvasText}.jkl-select__option:focus,.jkl-select__option:hover{border-bottom:1px solid SelectedItem;border-top:1px solid SelectedItem;--jkl-icon-weight:400;font-weight:700;letter-spacing:-.014em}}.jkl-popover.jkl-select__popover{background:none;border-radius:0;box-shadow:none;z-index:7000}@media (prefers-reduced-motion:no-preference){.jkl-select__options-menu{animation:jkl-select-options-menu-in var(--jkl-motion-timing-snappy) var(--jkl-motion-easing-standard)}.jkl-select__options-menu[data-popover-placement=top]{animation-name:jkl-select-options-menu-in-from-top}}@keyframes jkl-select-options-menu-in{0%{opacity:0;transform:translateY(-.25rem)}to{opacity:1;transform:translateY(0)}}@keyframes jkl-select-options-menu-in-from-top{0%{opacity:0;transform:translateY(.25rem)}to{opacity:1;transform:translateY(0)}}.jkl-select__option:focus-visible{outline:none}}
@@ -141,17 +141,18 @@
141
141
  }
142
142
 
143
143
  &__options-menu {
144
- position: absolute;
145
- left: jkl.rem(-1px);
146
- right: jkl.rem(-1px);
147
- top: 100%;
148
- z-index: jkl.$z-index--dropdown;
149
-
150
144
  background-color: var(--jkl-color-background-container-high);
151
145
  border: jkl.rem(2px) solid var(--jkl-color-border-input-focus);
152
- border-top: none;
153
- border-radius: 0 0 var(--border-radius) var(--border-radius);
154
146
  box-sizing: border-box;
147
+ // Strekker seg ut over kantene på trigger-knappen for å dekke
148
+ // den 1px brede borderen, slik at listen visuelt henger sammen
149
+ // med inputfeltet.
150
+ margin-inline: jkl.rem(-1px);
151
+ width: calc(100% + #{jkl.rem(2px)});
152
+ // Definerer egne tokens her fordi listen rendres i en portal og
153
+ // ikke arver kaskaderte custom properties fra `.jkl-select`.
154
+ --min-option-height: min(var(--jkl-unit-60), 3rem);
155
+ --option-padding: var(--jkl-unit-05) 0.75em;
155
156
 
156
157
  overflow-y: auto;
157
158
  // Sett makshøyde på listen til høyden av (maxShownOptions + 0.5) ganger høyden på ett enlinjes valg
@@ -160,9 +161,23 @@
160
161
  var(--min-option-height)
161
162
  );
162
163
 
163
- transition-property: height;
164
+ // Standard: lista ligger under triggeren — flat topp, runde
165
+ // bunnhjørner, ingen border på toppen som ville duplisert
166
+ // knappens border.
167
+ &[data-popover-placement="bottom"] {
168
+ border-top: none;
169
+ border-radius: 0 0 var(--jkl-border-radius-s)
170
+ var(--jkl-border-radius-s);
171
+ }
164
172
 
165
- @include jkl.motion;
173
+ // Når `flip` snur lista over knappen byttes flat side og runde
174
+ // hjørner, slik at lista og knappen fortsatt henger sammen
175
+ // visuelt.
176
+ &[data-popover-placement="top"] {
177
+ border-bottom: none;
178
+ border-radius: var(--jkl-border-radius-s)
179
+ var(--jkl-border-radius-s) 0 0;
180
+ }
166
181
  }
167
182
 
168
183
  &__option-wrapper {
@@ -218,8 +233,6 @@
218
233
  &--open {
219
234
  .jkl-select__search-input,
220
235
  .jkl-select__button {
221
- border-bottom-left-radius: 0;
222
- border-bottom-right-radius: 0;
223
236
  border-color: var(--jkl-color-border-input-focus);
224
237
  background-color: var(--jkl-color-background-container-high);
225
238
  box-shadow: 0 0 0 jkl.rem(1px)
@@ -229,6 +242,24 @@
229
242
  transform: translateY(calc(-50% + #{jkl.rem(-3px)}));
230
243
  }
231
244
  }
245
+
246
+ // Lista ligger under (default): flat bunn på input/knapp.
247
+ .jkl-select__outer-wrapper[data-popover-placement="bottom"] {
248
+ .jkl-select__search-input,
249
+ .jkl-select__button {
250
+ border-bottom-left-radius: 0;
251
+ border-bottom-right-radius: 0;
252
+ }
253
+ }
254
+
255
+ // Lista ligger over: flat topp på input/knapp.
256
+ .jkl-select__outer-wrapper[data-popover-placement="top"] {
257
+ .jkl-select__search-input,
258
+ .jkl-select__button {
259
+ border-top-left-radius: 0;
260
+ border-top-right-radius: 0;
261
+ }
262
+ }
232
263
  }
233
264
 
234
265
  &--invalid {
@@ -256,21 +287,88 @@
256
287
  border-color: Highlight;
257
288
  }
258
289
  }
290
+ }
291
+ }
259
292
 
260
- & .jkl-select__option {
261
- color: CanvasText;
293
+ // Options rendres i portal og er ikke descendants av `.jkl-select`,
294
+ // så forced-colors-reglene må stå på topp-nivå for å treffe dem.
295
+ @include jkl.forced-colors-mode {
296
+ .jkl-select__option {
297
+ color: CanvasText;
262
298
 
263
- border-top: 1px solid Canvas;
264
- border-bottom: 1px solid Canvas;
299
+ border-top: 1px solid Canvas;
300
+ border-bottom: 1px solid Canvas;
265
301
 
266
- &:hover,
267
- &:focus {
268
- border-top: 1px solid SelectedItem;
269
- border-bottom: 1px solid SelectedItem;
302
+ &:hover,
303
+ &:focus {
304
+ border-top: 1px solid SelectedItem;
305
+ border-bottom: 1px solid SelectedItem;
270
306
 
271
- @include jkl.no-grow-bold;
272
- }
307
+ @include jkl.no-grow-bold;
273
308
  }
274
309
  }
275
310
  }
311
+
312
+ // Listen rendres i en portal via `Popover`. Vi nøytraliserer Popover sin
313
+ // standard padding/bakgrunn/skygge slik at `.jkl-select__options-menu`
314
+ // selv styrer ramme og bakgrunn — også når Select brukes inne i en
315
+ // Card, ExpandablePanel eller andre containere med overflow-clip.
316
+ // Select skal følge samme lagdeling som andre dropdown-/menykomponenter
317
+ // (Combobox, Datepicker, Menu) og ikke arve Popover sitt floating-nivå.
318
+ .jkl-popover.jkl-select__popover {
319
+ background: none;
320
+ box-shadow: none;
321
+ border-radius: 0;
322
+ z-index: jkl.$z-index--dropdown;
323
+ }
324
+
325
+ // Mild fade + slide-in når lista mounter i portalen. Animeres på
326
+ // selve listbox-en — ikke på popover-wrapperen — fordi wrapperen
327
+ // bærer floating-ui sin posisjonerings-`transform`. Hadde vi animert
328
+ // wrapperen ville `translateY` overstyrt floating-ui's transform i
329
+ // animasjonsvinduet, og lista ville blinket i (0,0).
330
+ @media (prefers-reduced-motion: no-preference) {
331
+ .jkl-select__options-menu {
332
+ animation: jkl-select-options-menu-in
333
+ var(--jkl-motion-timing-snappy)
334
+ var(--jkl-motion-easing-standard);
335
+
336
+ // Når lista flippes opp animerer vi fra motsatt retning slik
337
+ // at bevegelsen alltid kommer fra triggeren.
338
+ &[data-popover-placement="top"] {
339
+ animation-name: jkl-select-options-menu-in-from-top;
340
+ }
341
+ }
342
+ }
343
+
344
+ @keyframes jkl-select-options-menu-in {
345
+ from {
346
+ opacity: 0;
347
+ transform: translateY(jkl.rem(-4px));
348
+ }
349
+ to {
350
+ opacity: 1;
351
+ transform: translateY(0);
352
+ }
353
+ }
354
+
355
+ @keyframes jkl-select-options-menu-in-from-top {
356
+ from {
357
+ opacity: 0;
358
+ transform: translateY(jkl.rem(4px));
359
+ }
360
+ to {
361
+ opacity: 1;
362
+ transform: translateY(0);
363
+ }
364
+ }
365
+
366
+ // Options rendres i en portal og er ikke lenger descendants av
367
+ // `.jkl-select`, så regelen `.jkl-select & *:focus-visible { outline:
368
+ // none }` treffer dem ikke. Vi gjenoppretter fokus-visualiseringen
369
+ // (background-color via &:focus) ved å eksplisitt fjerne den native
370
+ // outlinen på options i portalen.
371
+ .jkl-select__option:focus-visible {
372
+ outline: none;
373
+ }
276
374
  }
@@ -117,7 +117,7 @@
117
117
  margin-bottom: 0;
118
118
  }
119
119
  .jkl-system-message--dismissed {
120
- animation: jkl-dismiss-u4rmesp 400ms forwards;
120
+ animation: jkl-dismiss-usgzp54 400ms forwards;
121
121
  transition: block 400ms 400ms;
122
122
  }
123
123
  .jkl-system-message--info {
@@ -147,7 +147,7 @@
147
147
  border-width: 4px;
148
148
  }
149
149
  }
150
- @keyframes jkl-dismiss-u4rmesp {
150
+ @keyframes jkl-dismiss-usgzp54 {
151
151
  from {
152
152
  opacity: 1;
153
153
  transform: translateY(0);
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-system-message{--jkl-system-message-content-padding:var(--jkl-unit-30);--jkl-system-message-dismiss-button-size:var(--jkl-unit-40);--jkl-system-message-dismiss-button-margin:-0.40625rem -1.125rem -0.40625rem auto;--jkl-system-message-message-margin:0 var(--jkl-spacing-20);--background-color:var(--jkl-color-background-alert-neutral);--text-color:var(--jkl-color-text-on-alert);background-color:var(--background-color);box-sizing:border-box;color:var(--text-color);transition-behavior:allow-discrete;width:100%}.jkl-system-message__content{font-size:var(--jkl-font-size-3);font-weight:400;line-height:var(--jkl-line-height-tight);--jkl-icon-weight:300;align-items:start;box-sizing:border-box;display:grid;grid-template-columns:-webkit-min-content 1fr -webkit-min-content;grid-template-columns:min-content 1fr min-content;margin:0 auto;padding:var(--jkl-system-message-content-padding);width:100%}@media screen and (forced-colors:active){.jkl-system-message__icon,.jkl-system-message__icon path,.jkl-system-message__icon svg{stroke:CanvasText}}.jkl-system-message__message{margin:var(--jkl-system-message-message-margin)}.jkl-system-message__dismiss-button{background-color:transparent;color:inherit;cursor:pointer;display:grid;padding:0;place-content:center;position:relative}.jkl-system-message__dismiss-button:after{content:"";display:block;height:var(--jkl-system-message-dismiss-button-size);left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:var(--jkl-system-message-dismiss-button-size)}@media screen and (forced-colors:active){.jkl-system-message__dismiss-button,.jkl-system-message__dismiss-button path,.jkl-system-message__dismiss-button svg{stroke:ButtonText}.jkl-system-message__dismiss-button{background-color:ButtonFace}}.jkl-system-message__dismiss-button{border-style:none;outline:0;outline-style:none}.jkl-system-message__dismiss-button:active,.jkl-system-message__dismiss-button:focus,.jkl-system-message__dismiss-button:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-system-message__dismiss-button{border-style:revert;outline:revert;outline-style:revert}.jkl-system-message__dismiss-button:active,.jkl-system-message__dismiss-button:focus,.jkl-system-message__dismiss-button:hover{outline:revert;outline-style:revert}}.jkl-system-message__dismiss-button:hover{color:var(--jkl-color-text-interactive-hover)}@media screen and (forced-colors:active){.jkl-system-message__dismiss-button:hover{stroke:ButtonText}.jkl-system-message__dismiss-button:hover path,.jkl-system-message__dismiss-button:hover svg{stroke:ButtonText}}.jkl-system-message__dismiss-button:focus-visible{outline:3px solid var(--jkl-color-border-action);outline-offset:3px}@media screen and (forced-colors:active){.jkl-system-message__dismiss-button:focus-visible{outline:2px solid ButtonText;outline-offset:2px}}.jkl-system-message__message,.jkl-system-message__message:last-child{margin-bottom:0}.jkl-system-message--dismissed{animation:jkl-dismiss-u4rmesp .4s forwards;transition:block .4s .4s}.jkl-system-message--info{--background-color:var(--jkl-color-background-alert-info)}.jkl-system-message--warning{--background-color:var(--jkl-color-background-alert-warning)}.jkl-system-message--error{--background-color:var(--jkl-color-background-alert-error)}.jkl-system-message--success{--background-color:var(--jkl-color-background-alert-success)}@media screen and (forced-colors:active){.jkl-system-message{border:2px solid CanvasText}.jkl-system-message--info{border-style:dotted}.jkl-system-message--warning{border-style:dashed}.jkl-system-message--error{border-style:double;border-width:4px}}@keyframes jkl-dismiss-u4rmesp{0%{display:block;filter:saturate(1);opacity:1;transform:translateY(0)}to{display:none;filter:saturate(.7);opacity:0;transform:translateY(-10%)}}}
1
+ @layer jokul.components{.jkl-system-message{--jkl-system-message-content-padding:var(--jkl-unit-30);--jkl-system-message-dismiss-button-size:var(--jkl-unit-40);--jkl-system-message-dismiss-button-margin:-0.40625rem -1.125rem -0.40625rem auto;--jkl-system-message-message-margin:0 var(--jkl-spacing-20);--background-color:var(--jkl-color-background-alert-neutral);--text-color:var(--jkl-color-text-on-alert);background-color:var(--background-color);box-sizing:border-box;color:var(--text-color);transition-behavior:allow-discrete;width:100%}.jkl-system-message__content{font-size:var(--jkl-font-size-3);font-weight:400;line-height:var(--jkl-line-height-tight);--jkl-icon-weight:300;align-items:start;box-sizing:border-box;display:grid;grid-template-columns:-webkit-min-content 1fr -webkit-min-content;grid-template-columns:min-content 1fr min-content;margin:0 auto;padding:var(--jkl-system-message-content-padding);width:100%}@media screen and (forced-colors:active){.jkl-system-message__icon,.jkl-system-message__icon path,.jkl-system-message__icon svg{stroke:CanvasText}}.jkl-system-message__message{margin:var(--jkl-system-message-message-margin)}.jkl-system-message__dismiss-button{background-color:transparent;color:inherit;cursor:pointer;display:grid;padding:0;place-content:center;position:relative}.jkl-system-message__dismiss-button:after{content:"";display:block;height:var(--jkl-system-message-dismiss-button-size);left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:var(--jkl-system-message-dismiss-button-size)}@media screen and (forced-colors:active){.jkl-system-message__dismiss-button,.jkl-system-message__dismiss-button path,.jkl-system-message__dismiss-button svg{stroke:ButtonText}.jkl-system-message__dismiss-button{background-color:ButtonFace}}.jkl-system-message__dismiss-button{border-style:none;outline:0;outline-style:none}.jkl-system-message__dismiss-button:active,.jkl-system-message__dismiss-button:focus,.jkl-system-message__dismiss-button:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-system-message__dismiss-button{border-style:revert;outline:revert;outline-style:revert}.jkl-system-message__dismiss-button:active,.jkl-system-message__dismiss-button:focus,.jkl-system-message__dismiss-button:hover{outline:revert;outline-style:revert}}.jkl-system-message__dismiss-button:hover{color:var(--jkl-color-text-interactive-hover)}@media screen and (forced-colors:active){.jkl-system-message__dismiss-button:hover{stroke:ButtonText}.jkl-system-message__dismiss-button:hover path,.jkl-system-message__dismiss-button:hover svg{stroke:ButtonText}}.jkl-system-message__dismiss-button:focus-visible{outline:3px solid var(--jkl-color-border-action);outline-offset:3px}@media screen and (forced-colors:active){.jkl-system-message__dismiss-button:focus-visible{outline:2px solid ButtonText;outline-offset:2px}}.jkl-system-message__message,.jkl-system-message__message:last-child{margin-bottom:0}.jkl-system-message--dismissed{animation:jkl-dismiss-usgzp54 .4s forwards;transition:block .4s .4s}.jkl-system-message--info{--background-color:var(--jkl-color-background-alert-info)}.jkl-system-message--warning{--background-color:var(--jkl-color-background-alert-warning)}.jkl-system-message--error{--background-color:var(--jkl-color-background-alert-error)}.jkl-system-message--success{--background-color:var(--jkl-color-background-alert-success)}@media screen and (forced-colors:active){.jkl-system-message{border:2px solid CanvasText}.jkl-system-message--info{border-style:dotted}.jkl-system-message--warning{border-style:dashed}.jkl-system-message--error{border-style:double;border-width:4px}}@keyframes jkl-dismiss-usgzp54{0%{display:block;filter:saturate(1);opacity:1;transform:translateY(0)}to{display:none;filter:saturate(.7);opacity:0;transform:translateY(-10%)}}}
@@ -135,12 +135,12 @@
135
135
  }
136
136
  .jkl-toast[data-animation=entering],
137
137
  .jkl-toast[data-animation=queued] {
138
- animation: jkl-entering-udsse7u 200ms ease-out forwards;
138
+ animation: jkl-entering-u19c75a 200ms ease-out forwards;
139
139
  }
140
140
  .jkl-toast[data-animation=exiting] {
141
- animation: jkl-exiting-udsse8t 150ms ease-in forwards;
141
+ animation: jkl-exiting-u19c75h 150ms ease-in forwards;
142
142
  }
143
- @keyframes jkl-entering-udsse7u {
143
+ @keyframes jkl-entering-u19c75a {
144
144
  from {
145
145
  opacity: 0;
146
146
  transform: translate3d(0, 50%, 0);
@@ -150,7 +150,7 @@
150
150
  transform: translate3d(0, 0, 0);
151
151
  }
152
152
  }
153
- @keyframes jkl-exiting-udsse8t {
153
+ @keyframes jkl-exiting-u19c75h {
154
154
  from {
155
155
  opacity: 1;
156
156
  transform: translate3d(0, 0, 0);
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-toast-region{background:transparent;bottom:var(--jkl-unit-30);display:flex;justify-content:center;left:0;pointer-events:none;position:fixed;right:0;width:100%;z-index:10000}.jkl-toast-region__toasts{align-items:center;display:flex;flex-direction:column;gap:var(--jkl-unit-20);min-width:18rem;pointer-events:auto}.jkl-toast-region--left{justify-content:flex-start;left:var(--jkl-unit-30)}.jkl-toast{--background-color:var(--jkl-color-background-container-high);--text-color:var(--jkl-color-text-default);--jkl-toast-padding:var(--jkl-unit-20);align-items:start;background-color:var(--background-color);border-radius:4px;box-sizing:border-box;color:var(--text-color);font-size:var(--jkl-font-size-3);font-weight:400;line-height:var(--jkl-line-height-relaxed);overflow:hidden;padding:var(--jkl-toast-padding);position:relative;width:clamp(15em,100%,min(30rem,85vw));--jkl-icon-weight:300}.jkl-toast__progress{--bar-color:var(--text-color);--track-color:transparent;border-radius:0;inset:0 0 auto;position:absolute}@media screen and (forced-colors:active){.jkl-toast__icon,.jkl-toast__icon path,.jkl-toast__icon svg{stroke:CanvasText}}.jkl-toast:not(:has(.jkl-toast__title)) .jkl-toast__icon{-webkit-margin-before:.0625rem;margin-block-start:.0625rem}.jkl-toast:has(.jkl-toast__title) .jkl-toast__icon{-webkit-margin-before:0;margin-block-start:0}.jkl-toast__content{flex-basis:100vw;flex-grow:1}.jkl-toast__action{margin-top:var(--jkl-unit-15)}.jkl-toast__title{font-size:var(--jkl-font-size-4);font-weight:700;line-height:var(--jkl-line-height-tight);--jkl-icon-weight:400}.jkl-toast__dismiss-button{background-color:transparent;color:inherit;cursor:pointer;padding:0}@media screen and (forced-colors:active){.jkl-toast__dismiss-button,.jkl-toast__dismiss-button path,.jkl-toast__dismiss-button svg{stroke:ButtonText}.jkl-toast__dismiss-button{background-color:ButtonFace}}.jkl-toast__dismiss-button:after{--tap-size:44px;content:"";inset:calc((var(--tap-size) - 100%)/2*-1);position:absolute}.jkl-toast--error,.jkl-toast--info,.jkl-toast--success,.jkl-toast--warning{--text-color:var(--jkl-color-text-on-alert)}.jkl-toast--info{--background-color:var(--jkl-color-background-alert-info)}.jkl-toast--warning{--background-color:var(--jkl-color-background-alert-warning)}.jkl-toast--error{--background-color:var(--jkl-color-background-alert-error)}.jkl-toast--success{--background-color:var(--jkl-color-background-alert-success)}@media screen and (forced-colors:active){.jkl-toast{border:2px solid CanvasText}.jkl-toast--info{border-style:dotted}.jkl-toast--warning{border-style:dashed}.jkl-toast--error{border-style:double;border-width:4px}}.jkl-toast[data-animation=entering],.jkl-toast[data-animation=queued]{animation:jkl-entering-udsse7u .2s ease-out forwards}.jkl-toast[data-animation=exiting]{animation:jkl-exiting-udsse8t .15s ease-in forwards}@keyframes jkl-entering-udsse7u{0%{opacity:0;transform:translate3d(0,50%,0)}to{opacity:1;transform:translateZ(0)}}@keyframes jkl-exiting-udsse8t{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,50%,0)}}}
1
+ @layer jokul.components{.jkl-toast-region{background:transparent;bottom:var(--jkl-unit-30);display:flex;justify-content:center;left:0;pointer-events:none;position:fixed;right:0;width:100%;z-index:10000}.jkl-toast-region__toasts{align-items:center;display:flex;flex-direction:column;gap:var(--jkl-unit-20);min-width:18rem;pointer-events:auto}.jkl-toast-region--left{justify-content:flex-start;left:var(--jkl-unit-30)}.jkl-toast{--background-color:var(--jkl-color-background-container-high);--text-color:var(--jkl-color-text-default);--jkl-toast-padding:var(--jkl-unit-20);align-items:start;background-color:var(--background-color);border-radius:4px;box-sizing:border-box;color:var(--text-color);font-size:var(--jkl-font-size-3);font-weight:400;line-height:var(--jkl-line-height-relaxed);overflow:hidden;padding:var(--jkl-toast-padding);position:relative;width:clamp(15em,100%,min(30rem,85vw));--jkl-icon-weight:300}.jkl-toast__progress{--bar-color:var(--text-color);--track-color:transparent;border-radius:0;inset:0 0 auto;position:absolute}@media screen and (forced-colors:active){.jkl-toast__icon,.jkl-toast__icon path,.jkl-toast__icon svg{stroke:CanvasText}}.jkl-toast:not(:has(.jkl-toast__title)) .jkl-toast__icon{-webkit-margin-before:.0625rem;margin-block-start:.0625rem}.jkl-toast:has(.jkl-toast__title) .jkl-toast__icon{-webkit-margin-before:0;margin-block-start:0}.jkl-toast__content{flex-basis:100vw;flex-grow:1}.jkl-toast__action{margin-top:var(--jkl-unit-15)}.jkl-toast__title{font-size:var(--jkl-font-size-4);font-weight:700;line-height:var(--jkl-line-height-tight);--jkl-icon-weight:400}.jkl-toast__dismiss-button{background-color:transparent;color:inherit;cursor:pointer;padding:0}@media screen and (forced-colors:active){.jkl-toast__dismiss-button,.jkl-toast__dismiss-button path,.jkl-toast__dismiss-button svg{stroke:ButtonText}.jkl-toast__dismiss-button{background-color:ButtonFace}}.jkl-toast__dismiss-button:after{--tap-size:44px;content:"";inset:calc((var(--tap-size) - 100%)/2*-1);position:absolute}.jkl-toast--error,.jkl-toast--info,.jkl-toast--success,.jkl-toast--warning{--text-color:var(--jkl-color-text-on-alert)}.jkl-toast--info{--background-color:var(--jkl-color-background-alert-info)}.jkl-toast--warning{--background-color:var(--jkl-color-background-alert-warning)}.jkl-toast--error{--background-color:var(--jkl-color-background-alert-error)}.jkl-toast--success{--background-color:var(--jkl-color-background-alert-success)}@media screen and (forced-colors:active){.jkl-toast{border:2px solid CanvasText}.jkl-toast--info{border-style:dotted}.jkl-toast--warning{border-style:dashed}.jkl-toast--error{border-style:double;border-width:4px}}.jkl-toast[data-animation=entering],.jkl-toast[data-animation=queued]{animation:jkl-entering-u19c75a .2s ease-out forwards}.jkl-toast[data-animation=exiting]{animation:jkl-exiting-u19c75h .15s ease-in forwards}@keyframes jkl-entering-u19c75a{0%{opacity:0;transform:translate3d(0,50%,0)}to{opacity:1;transform:translateZ(0)}}@keyframes jkl-exiting-u19c75h{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,50%,0)}}}
package/styles/styles.css CHANGED
@@ -481,7 +481,7 @@
481
481
  --color: var(--jkl-color-text-default);
482
482
  }
483
483
  .jkl-form-support-label--error .jkl-form-support-label__icon, .jkl-form-support-label--warning .jkl-form-support-label__icon, .jkl-form-support-label--success .jkl-form-support-label__icon {
484
- animation: 400ms cubic-bezier(0, 0, 0.3, 1) 250ms jkl-support-icon-entrance-u5wtga8 forwards;
484
+ animation: 400ms cubic-bezier(0, 0, 0.3, 1) 250ms jkl-support-icon-entrance-uuo87ie forwards;
485
485
  }
486
486
  .jkl-form-support-label--sr-only {
487
487
  border: 0 !important;
@@ -547,7 +547,7 @@
547
547
  .jkl-label:has(+ .jkl-input-group-description) {
548
548
  margin-block-end: var(--jkl-spacing-4);
549
549
  }
550
- @keyframes jkl-support-icon-entrance-u5wtga8 {
550
+ @keyframes jkl-support-icon-entrance-uuo87ie {
551
551
  0% {
552
552
  margin-right: 0;
553
553
  opacity: 0;
@@ -904,22 +904,22 @@
904
904
  animation: 2500ms linear infinite;
905
905
  }
906
906
  .jkl-loader__dot--left {
907
- animation-name: jkl-loader-left-spin-u5wtgaz;
907
+ animation-name: jkl-loader-left-spin-uuo87ix;
908
908
  margin-right: calc(var(--jkl-loader-spacing) * 0.9);
909
909
  }
910
910
  .jkl-loader__dot--middle {
911
- animation-name: jkl-loader-middle-spin-u5wtgbc;
911
+ animation-name: jkl-loader-middle-spin-uuo87jb;
912
912
  margin-right: var(--jkl-loader-spacing);
913
913
  }
914
914
  .jkl-loader__dot--right {
915
- animation-name: jkl-loader-right-spin-u5wtgbf;
915
+ animation-name: jkl-loader-right-spin-uuo87js;
916
916
  }
917
917
  @media screen and (forced-colors: active) {
918
918
  .jkl-loader__dot {
919
919
  background-color: CanvasText;
920
920
  }
921
921
  }
922
- @keyframes jkl-loader-left-spin-u5wtgaz {
922
+ @keyframes jkl-loader-left-spin-uuo87ix {
923
923
  0% {
924
924
  transform: rotate(0) scale(0);
925
925
  }
@@ -933,7 +933,7 @@
933
933
  transform: rotate(180deg) scale(0);
934
934
  }
935
935
  }
936
- @keyframes jkl-loader-middle-spin-u5wtgbc {
936
+ @keyframes jkl-loader-middle-spin-uuo87jb {
937
937
  0% {
938
938
  transform: rotate(20deg) scale(0);
939
939
  }
@@ -950,7 +950,7 @@
950
950
  transform: rotate(200deg) scale(0);
951
951
  }
952
952
  }
953
- @keyframes jkl-loader-right-spin-u5wtgbf {
953
+ @keyframes jkl-loader-right-spin-uuo87js {
954
954
  0% {
955
955
  transform: rotate(40deg) scale(0);
956
956
  }
@@ -990,7 +990,7 @@
990
990
  @media screen and (forced-colors: active) {
991
991
  .jkl-skeleton-element {
992
992
  border: 1px solid CanvasText;
993
- animation: 2s ease infinite jkl-blink-u5wtgbu;
993
+ animation: 2s ease infinite jkl-blink-uuo87ju;
994
994
  }
995
995
  }
996
996
  .jkl-skeleton-input {
@@ -1038,10 +1038,10 @@
1038
1038
  }
1039
1039
  @media screen and (forced-colors: active) {
1040
1040
  .jkl-skeleton-table {
1041
- animation: 2s ease-in-out infinite jkl-blink-u5wtgbu;
1041
+ animation: 2s ease-in-out infinite jkl-blink-uuo87ju;
1042
1042
  }
1043
1043
  }
1044
- @keyframes jkl-blink-u5wtgbu {
1044
+ @keyframes jkl-blink-uuo87ju {
1045
1045
  0% {
1046
1046
  opacity: 1;
1047
1047
  }
@@ -2145,10 +2145,10 @@
2145
2145
  }
2146
2146
  }
2147
2147
  .jkl-countdown__tracker {
2148
- animation: jkl-downcount-u5wtgca var(--duration) linear forwards;
2148
+ animation: jkl-downcount-uuo87ky var(--duration) linear forwards;
2149
2149
  animation-play-state: var(--play-state, running);
2150
2150
  }
2151
- @keyframes jkl-downcount-u5wtgca {
2151
+ @keyframes jkl-downcount-uuo87ky {
2152
2152
  from {
2153
2153
  width: 100%;
2154
2154
  }
@@ -2568,6 +2568,18 @@
2568
2568
  outline-offset: 3px;
2569
2569
  outline-offset: var(--outline-offset);
2570
2570
  }
2571
+ .jkl-expandable__wrapper .jkl-expander {
2572
+ padding: var(--jkl-unit-20);
2573
+ width: 100%;
2574
+ }
2575
+ .jkl-expandable__wrapper .jkl-expander__label {
2576
+ flex-grow: 1;
2577
+ }
2578
+ @media (hover: hover) {
2579
+ .jkl-expandable__wrapper .jkl-expander:hover {
2580
+ background-color: var(--jkl-color-background-interactive-selected);
2581
+ }
2582
+ }
2571
2583
  .jkl-expandable__focus-container {
2572
2584
  border-radius: var(--border-radius);
2573
2585
  position: absolute;
@@ -2579,8 +2591,6 @@
2579
2591
  appearance: none;
2580
2592
  border: none;
2581
2593
  text-align: left;
2582
- width: 100%;
2583
- padding: var(--jkl-unit-20);
2584
2594
  cursor: pointer;
2585
2595
  color: var(--jkl-color);
2586
2596
  display: flex;
@@ -2592,9 +2602,6 @@
2592
2602
  .jkl-expander::-webkit-details-marker {
2593
2603
  display: none;
2594
2604
  }
2595
- .jkl-expander__label {
2596
- flex-grow: 1;
2597
- }
2598
2605
  .jkl-expander__chevron {
2599
2606
  user-select: none;
2600
2607
  transition-property: transform;
@@ -2611,11 +2618,6 @@
2611
2618
  transition-timing-function: ease;
2612
2619
  transition-duration: 100ms;
2613
2620
  }
2614
- @media (hover: hover) {
2615
- .jkl-expander:hover {
2616
- background-color: var(--jkl-color-background-interactive-selected);
2617
- }
2618
- }
2619
2621
  .jkl-expander {
2620
2622
  outline: 0;
2621
2623
  border-style: none;
@@ -2660,12 +2662,12 @@
2660
2662
  --jkl-icon-size: 1.2em;
2661
2663
  }
2662
2664
  .jkl-feedback__fade-in {
2663
- animation: jkl-show-u5wtgcd 0.25s ease-out;
2665
+ animation: jkl-show-uuo87l5 0.25s ease-out;
2664
2666
  }
2665
2667
  .jkl-feedback__buttons {
2666
2668
  display: flex;
2667
2669
  }
2668
- @keyframes jkl-show-u5wtgcd {
2670
+ @keyframes jkl-show-uuo87l5 {
2669
2671
  from {
2670
2672
  transform: translate3d(0, 0.5rem, 0);
2671
2673
  opacity: 0;
@@ -2880,7 +2882,7 @@
2880
2882
  --background-color: var(--jkl-color-background-alert-success);
2881
2883
  }
2882
2884
  .jkl-message--dismissed {
2883
- animation: jkl-dismiss-u5wtgcw 400ms ease-in-out forwards;
2885
+ animation: jkl-dismiss-uuo87lo 400ms ease-in-out forwards;
2884
2886
  transition: visibility 0ms 400ms;
2885
2887
  visibility: hidden;
2886
2888
  }
@@ -2902,7 +2904,7 @@
2902
2904
  .jkl-form-error-message {
2903
2905
  padding-bottom: calc(var(--jkl-unit-base) * 5);
2904
2906
  }
2905
- @keyframes jkl-dismiss-u5wtgcw {
2907
+ @keyframes jkl-dismiss-uuo87lo {
2906
2908
  from {
2907
2909
  opacity: 1;
2908
2910
  transform: translate3d(0, 0, 0);
@@ -4366,21 +4368,23 @@
4366
4368
  color: var(--jkl-color-text-on-alert);
4367
4369
  }
4368
4370
  .jkl-select__options-menu {
4369
- position: absolute;
4370
- left: -0.0625rem;
4371
- right: -0.0625rem;
4372
- top: 100%;
4373
- z-index: 7000;
4374
4371
  background-color: var(--jkl-color-background-container-high);
4375
4372
  border: 0.125rem solid var(--jkl-color-border-input-focus);
4376
- border-top: none;
4377
- border-radius: 0 0 var(--border-radius) var(--border-radius);
4378
4373
  box-sizing: border-box;
4374
+ margin-inline: -0.0625rem;
4375
+ width: calc(100% + 0.125rem);
4376
+ --min-option-height: min(var(--jkl-unit-60), 3rem);
4377
+ --option-padding: var(--jkl-unit-05) 0.75em;
4379
4378
  overflow-y: auto;
4380
4379
  max-height: calc((var(--jkl-select-max-shown-options, 5) + 0.5) * var(--min-option-height));
4381
- transition-property: height;
4382
- transition-timing-function: ease;
4383
- transition-duration: 150ms;
4380
+ }
4381
+ .jkl-select__options-menu[data-popover-placement=bottom] {
4382
+ border-top: none;
4383
+ border-radius: 0 0 var(--jkl-border-radius-s) var(--jkl-border-radius-s);
4384
+ }
4385
+ .jkl-select__options-menu[data-popover-placement=top] {
4386
+ border-bottom: none;
4387
+ border-radius: var(--jkl-border-radius-s) var(--jkl-border-radius-s) 0 0;
4384
4388
  }
4385
4389
  .jkl-select__option-wrapper {
4386
4390
  margin: 0;
@@ -4433,8 +4437,6 @@
4433
4437
  }
4434
4438
  .jkl-select--open .jkl-select__search-input,
4435
4439
  .jkl-select--open .jkl-select__button {
4436
- border-bottom-left-radius: 0;
4437
- border-bottom-right-radius: 0;
4438
4440
  border-color: var(--jkl-color-border-input-focus);
4439
4441
  background-color: var(--jkl-color-background-container-high);
4440
4442
  box-shadow: 0 0 0 0.0625rem var(--jkl-color-border-input-focus);
@@ -4443,6 +4445,16 @@
4443
4445
  .jkl-select--open .jkl-select__button:hover ~ .jkl-select__arrow {
4444
4446
  transform: translateY(calc(-50% + -0.1875rem));
4445
4447
  }
4448
+ .jkl-select--open .jkl-select__outer-wrapper[data-popover-placement=bottom] .jkl-select__search-input,
4449
+ .jkl-select--open .jkl-select__outer-wrapper[data-popover-placement=bottom] .jkl-select__button {
4450
+ border-bottom-left-radius: 0;
4451
+ border-bottom-right-radius: 0;
4452
+ }
4453
+ .jkl-select--open .jkl-select__outer-wrapper[data-popover-placement=top] .jkl-select__search-input,
4454
+ .jkl-select--open .jkl-select__outer-wrapper[data-popover-placement=top] .jkl-select__button {
4455
+ border-top-left-radius: 0;
4456
+ border-top-right-radius: 0;
4457
+ }
4446
4458
  .jkl-select--invalid .jkl-select__search-input,
4447
4459
  .jkl-select--invalid .jkl-select__button {
4448
4460
  background-color: var(--jkl-color-background-alert-error);
@@ -4462,12 +4474,14 @@
4462
4474
  .jkl-select .jkl-select__button:hover, .jkl-select .jkl-select__search-input:hover {
4463
4475
  border-color: Highlight;
4464
4476
  }
4465
- .jkl-select .jkl-select__option {
4477
+ }
4478
+ @media screen and (forced-colors: active) {
4479
+ .jkl-select__option {
4466
4480
  color: CanvasText;
4467
4481
  border-top: 1px solid Canvas;
4468
4482
  border-bottom: 1px solid Canvas;
4469
4483
  }
4470
- .jkl-select .jkl-select__option:hover, .jkl-select .jkl-select__option:focus {
4484
+ .jkl-select__option:hover, .jkl-select__option:focus {
4471
4485
  border-top: 1px solid SelectedItem;
4472
4486
  border-bottom: 1px solid SelectedItem;
4473
4487
  --jkl-icon-weight: 400;
@@ -4475,6 +4489,43 @@
4475
4489
  letter-spacing: -0.014em;
4476
4490
  }
4477
4491
  }
4492
+ .jkl-popover.jkl-select__popover {
4493
+ background: none;
4494
+ box-shadow: none;
4495
+ border-radius: 0;
4496
+ z-index: 7000;
4497
+ }
4498
+ @media (prefers-reduced-motion: no-preference) {
4499
+ .jkl-select__options-menu {
4500
+ animation: jkl-select-options-menu-in var(--jkl-motion-timing-snappy) var(--jkl-motion-easing-standard);
4501
+ }
4502
+ .jkl-select__options-menu[data-popover-placement=top] {
4503
+ animation-name: jkl-select-options-menu-in-from-top;
4504
+ }
4505
+ }
4506
+ @keyframes jkl-select-options-menu-in {
4507
+ from {
4508
+ opacity: 0;
4509
+ transform: translateY(-0.25rem);
4510
+ }
4511
+ to {
4512
+ opacity: 1;
4513
+ transform: translateY(0);
4514
+ }
4515
+ }
4516
+ @keyframes jkl-select-options-menu-in-from-top {
4517
+ from {
4518
+ opacity: 0;
4519
+ transform: translateY(0.25rem);
4520
+ }
4521
+ to {
4522
+ opacity: 1;
4523
+ transform: translateY(0);
4524
+ }
4525
+ }
4526
+ .jkl-select__option:focus-visible {
4527
+ outline: none;
4528
+ }
4478
4529
  }
4479
4530
  @layer jokul.components {
4480
4531
  .jkl-progress-bar {
@@ -4529,7 +4580,7 @@
4529
4580
  transition-timing-function: ease;
4530
4581
  transition-duration: 150ms;
4531
4582
  }
4532
- @keyframes jkl-downcount-u5wtgd2 {
4583
+ @keyframes jkl-downcount-uuo87lr {
4533
4584
  from {
4534
4585
  width: 100%;
4535
4586
  }
@@ -5033,7 +5084,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
5033
5084
  margin-bottom: 0;
5034
5085
  }
5035
5086
  .jkl-system-message--dismissed {
5036
- animation: jkl-dismiss-u5wtgeh 400ms forwards;
5087
+ animation: jkl-dismiss-uuo87mz 400ms forwards;
5037
5088
  transition: block 400ms 400ms;
5038
5089
  }
5039
5090
  .jkl-system-message--info {
@@ -5063,7 +5114,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
5063
5114
  border-width: 4px;
5064
5115
  }
5065
5116
  }
5066
- @keyframes jkl-dismiss-u5wtgeh {
5117
+ @keyframes jkl-dismiss-uuo87mz {
5067
5118
  from {
5068
5119
  opacity: 1;
5069
5120
  transform: translateY(0);
@@ -5900,12 +5951,12 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
5900
5951
  }
5901
5952
  .jkl-toast[data-animation=entering],
5902
5953
  .jkl-toast[data-animation=queued] {
5903
- animation: jkl-entering-u5wtgf4 200ms ease-out forwards;
5954
+ animation: jkl-entering-uuo87n4 200ms ease-out forwards;
5904
5955
  }
5905
5956
  .jkl-toast[data-animation=exiting] {
5906
- animation: jkl-exiting-u5wtgft 150ms ease-in forwards;
5957
+ animation: jkl-exiting-uuo87nj 150ms ease-in forwards;
5907
5958
  }
5908
- @keyframes jkl-entering-u5wtgf4 {
5959
+ @keyframes jkl-entering-uuo87n4 {
5909
5960
  from {
5910
5961
  opacity: 0;
5911
5962
  transform: translate3d(0, 50%, 0);
@@ -5915,7 +5966,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
5915
5966
  transform: translate3d(0, 0, 0);
5916
5967
  }
5917
5968
  }
5918
- @keyframes jkl-exiting-u5wtgft {
5969
+ @keyframes jkl-exiting-uuo87nj {
5919
5970
  from {
5920
5971
  opacity: 1;
5921
5972
  transform: translate3d(0, 0, 0);