@sbb-esta/lyne-elements-dev 4.6.0-dev.1772463840 → 4.6.0-dev.1772464299

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.
@@ -2,7 +2,7 @@ var it = (n) => {
2
2
  throw TypeError(n);
3
3
  };
4
4
  var st = (n, a, l) => a.has(n) || it("Cannot " + l);
5
- var p = (n, a, l) => (st(n, a, "read from private field"), l ? l.call(n) : a.get(n)), b = (n, a, l) => a.has(n) ? it("Cannot add the same private member more than once") : a instanceof WeakSet ? a.add(n) : a.set(n, l), s = (n, a, l, x) => (st(n, a, "write to private field"), x ? x.call(n, l) : a.set(n, l), l);
5
+ var p = (n, a, l) => (st(n, a, "read from private field"), l ? l.call(n) : a.get(n)), b = (n, a, l) => a.has(n) ? it("Cannot add the same private member more than once") : a instanceof WeakSet ? a.add(n) : a.set(n, l), s = (n, a, l, w) => (st(n, a, "write to private field"), w ? w.call(n, l) : a.set(n, l), l);
6
6
  import { __esDecorate as c, __runInitializers as o } from "tslib";
7
7
  import { ResizeController as at } from "@lit-labs/observers/resize-controller.js";
8
8
  import { css as lt, isServer as k, nothing as ot, html as pt } from "lit";
@@ -10,15 +10,15 @@ import { property as h } from "lit/decorators.js";
10
10
  import { ref as nt } from "lit/directives/ref.js";
11
11
  import { SbbOpenCloseBaseElement as bt } from "../core/base-elements.js";
12
12
  import { SbbEscapableOverlayController as ct, SbbPropertyWatcherController as ht } from "../core/controllers.js";
13
- import { idReference as rt, forceType as w } from "../core/decorators.js";
13
+ import { idReference as rt, forceType as x } from "../core/decorators.js";
14
14
  import { isLean as dt, isZeroAnimationDuration as gt, isSafari as ut } from "../core/dom.js";
15
15
  import { SbbNegativeMixin as vt, SbbHydrationMixin as _t } from "../core/mixins.js";
16
16
  import { isEventOnElement as S, removeAriaComboBoxAttributes as mt, setOverlayPosition as ft, overlayGapFixCorners as Ot } from "../core/overlay.js";
17
- import { boxSizingStyles as yt } from "../core/styles.js";
18
- const Et = lt`.sbb-gap-fix-wrapper{position:relative;overflow:hidden;width:var(--sbb-options-panel-border-radius);height:var(--sbb-options-panel-border-radius);background-color:transparent}.sbb-gap-fix-corner{position:absolute;border-radius:50%;border:calc(var(--sbb-options-panel-border-radius) / 2) solid var(--sbb-options-panel-background-color);width:calc(var(--sbb-options-panel-border-radius) * 3);height:calc(var(--sbb-options-panel-border-radius) * 3);bottom:calc(var(--sbb-options-panel-border-radius) / 2 * -1)}.sbb-gap-fix-corner#left{left:calc(var(--sbb-options-panel-border-radius) / 2 * -1)}:host(:dir(rtl)) .sbb-gap-fix-corner#left{right:calc(var(--sbb-options-panel-border-radius) / 2 * -1);left:unset}.sbb-gap-fix-corner#right{right:calc(var(--sbb-options-panel-border-radius) / 2 * -1)}:host(:dir(rtl)) .sbb-gap-fix-corner#right{left:calc(var(--sbb-options-panel-border-radius) / 2 * -1);right:unset}:host{--sbb-scrollbar-thumb-width: .125rem;--sbb-scrollbar-thumb-width-hover: .25rem;--sbb-scrollbar-width-firefox: thin;--sbb-scrollbar-color: color-mix(in srgb, var(--sbb-color-black) 30%, transparent);--sbb-scrollbar-color: light-dark( color-mix(in srgb, var(--sbb-color-black) 30%, transparent), color-mix(in srgb, var(--sbb-color-white) 30%, transparent) );--sbb-scrollbar-color-hover: color-mix(in srgb, var(--sbb-color-black) 60%, transparent);--sbb-scrollbar-color-hover: light-dark( color-mix(in srgb, var(--sbb-color-black) 60%, transparent), color-mix(in srgb, var(--sbb-color-white) 60%, transparent) );--sbb-scrollbar-track-color: transparent;--sbb-options-panel-position-x: 0;--sbb-options-panel-position-y: 0;--_sbb-options-panel-max-height: min( var(--sbb-options-panel-max-height-calculated), var(--sbb-options-panel-max-height, 100000em) );--sbb-options-panel-min-height: var(--sbb-options-panel-origin-height);--sbb-options-panel-visibility: visible;--sbb-options-panel-width: fit-content;--sbb-options-panel-border-radius: var(--sbb-border-radius-4x);--sbb-options-panel-options-border-radius: 0 0 var(--sbb-options-panel-border-radius) var(--sbb-options-panel-border-radius);--sbb-options-panel-animation-duration: var( --sbb-disable-animation-duration, var(--sbb-animation-duration-4x) );--sbb-options-panel-animation-timing-function: ease;--sbb-options-panel-gap-fix-opacity: 0;--sbb-options-panel-gap-fix-transform: none;--sbb-options-panel-gap-fix-top: calc( var(--sbb-options-panel-position-y) - var(--sbb-options-panel-border-radius) );--sbb-options-panel-background-color: var(--sbb-background-color-1);--sbb-options-panel-padding-block: var(--sbb-spacing-fixed-2x);--sbb-options-panel-divider-margin-block: var(--sbb-spacing-fixed-3x);--sbb-focus-outline-color: var(--sbb-focus-outline-color-default);--sbb-focus-outline-color: light-dark( var(--sbb-focus-outline-color-default), var(--sbb-focus-outline-color-dark) );--sbb-options-pointer-events: all;--sbb-options-panel-internal-z-index: var( --sbb-autocomplete-z-index, var(--sbb-overlay-default-z-index) );display:none}:host([size=s]){--sbb-options-panel-padding-block: var(--sbb-spacing-fixed-1x)}:host(:is(:is(:state(state-opening),[state--state-opening]),:is(:state(state-opened),[state--state-opened]),:is(:state(state-closing),[state--state-closing]))){display:block}:host([negative]){--sbb-scrollbar-color: color-mix(in srgb, var(--sbb-color-white) 30%, transparent);--sbb-scrollbar-color-hover: color-mix(in srgb, var(--sbb-color-white) 60%, transparent);--sbb-options-panel-background-color: var(--sbb-background-color-1-negative);--sbb-focus-outline-color: var(--sbb-focus-outline-color-dark)}:host(:not(:is(:state(state-opening),[state--state-opening]),:is(:state(state-opened),[state--state-opened]),:is(:state(state-closing),[state--state-closing]))),:host(:is(:state(state-closed),[state--state-closed])){--sbb-options-panel-visibility: hidden;--sbb-options-pointer-events: none}:host(:is(:state(state-opening),[state--state-opening])){--sbb-options-panel-animation-name: open}:host(:is(:state(state-closing),[state--state-closing])){--sbb-options-panel-animation-name: close}:host(:is(:state(state-opened),[state--state-opened])),:host(:is(:state(state-opening),[state--state-opening])){--sbb-options-panel-gap-fix-opacity: 1}:host(:is(:state(options-panel-position-below),[state--options-panel-position-below])){--sbb-options-panel-animation-transform: translateY( calc((var(--sbb-options-panel-origin-height) / 2) * -1) )}:host(:is(:state(options-panel-position-above),[state--options-panel-position-above])){--sbb-options-panel-options-border-radius: var(--sbb-options-panel-border-radius) var(--sbb-options-panel-border-radius) 0 0;--sbb-options-panel-gap-fix-top: var(--_sbb-options-panel-max-height);--sbb-options-panel-gap-fix-transform: rotate(180deg);--sbb-options-panel-animation-transform: translateY( calc(var(--sbb-options-panel-origin-height) / 2) )}:host([preserve-icon-space]){--sbb-option-icon-container-display: block}::slotted(sbb-divider){margin-block:var(--sbb-options-panel-divider-margin-block)}.sbb-autocomplete__container{position:fixed;pointer-events:none;inset:0;z-index:var(--sbb-options-panel-internal-z-index)}.sbb-autocomplete__gap-fix{display:flex;justify-content:space-between;position:fixed;visibility:var(--sbb-options-panel-visibility);opacity:var(--sbb-options-panel-gap-fix-opacity);background-color:transparent;width:var(--sbb-options-panel-width);height:var(--sbb-options-panel-border-radius);top:var(--sbb-options-panel-gap-fix-top);left:var(--sbb-options-panel-position-x);transform:var(--sbb-options-panel-gap-fix-transform);transition:opacity var(--sbb-options-panel-animation-duration) var(--sbb-options-panel-animation-timing-function)}.sbb-autocomplete__panel{display:block;position:absolute;visibility:var(--sbb-options-panel-visibility);overflow:hidden;background-color:transparent;border:none;border-radius:var(--sbb-options-panel-border-radius);top:var(--sbb-options-panel-position-y);left:var(--sbb-options-panel-position-x);width:var(--sbb-options-panel-width);transition:box-shadow var(--sbb-options-panel-animation-duration) var(--sbb-options-panel-animation-timing-function)}.sbb-autocomplete__panel:before,.sbb-autocomplete__panel:after{content:"";display:none;position:relative;width:100%;height:var(--sbb-options-panel-origin-height);background-color:transparent;border-radius:var(--sbb-options-panel-border-radius);pointer-events:none;transition:box-shadow var(--sbb-options-panel-animation-duration) var(--sbb-options-panel-animation-timing-function);z-index:1}:host(:is(:state(options-panel-position-below),[state--options-panel-position-below])) .sbb-autocomplete__panel{inset-block-start:calc(var(--sbb-options-panel-position-y) - var(--sbb-options-panel-origin-height))}:host(:is(:is(:state(state-opened),[state--state-opened]),:is(:state(state-opening),[state--state-opening]))) .sbb-autocomplete__panel{box-shadow:var(--sbb-box-shadow-level-5-hard)}:host(:is(:is(:state(state-opened),[state--state-opened]),:is(:state(state-opening),[state--state-opening]))[negative]) .sbb-autocomplete__panel{box-shadow:var(--sbb-box-shadow-level-5-hard-negative)}:host(:is(:state(options-panel-position-below),[state--options-panel-position-below])) .sbb-autocomplete__panel:before{display:block}:host(:is(:state(options-panel-position-above),[state--options-panel-position-above])) .sbb-autocomplete__panel:after{display:block}:host(:is(:is(:state(state-opened),[state--state-opened]),:is(:state(state-opening),[state--state-opening])):is(:state(option-panel-origin-borderless),[state--option-panel-origin-borderless])) .sbb-autocomplete__panel:before,:host(:is(:is(:state(state-opened),[state--state-opened]),:is(:state(state-opening),[state--state-opening])):is(:state(option-panel-origin-borderless),[state--option-panel-origin-borderless])) .sbb-autocomplete__panel:after{box-shadow:var(--sbb-box-shadow-level-5-hard)}:host(:is(:is(:state(state-opened),[state--state-opened]),:is(:state(state-opening),[state--state-opening])):is(:state(option-panel-origin-borderless),[state--option-panel-origin-borderless])[negative]) .sbb-autocomplete__panel:before,:host(:is(:is(:state(state-opened),[state--state-opened]),:is(:state(state-opening),[state--state-opening])):is(:state(option-panel-origin-borderless),[state--option-panel-origin-borderless])[negative]) .sbb-autocomplete__panel:after{box-shadow:var(--sbb-box-shadow-level-5-hard-negative)}.sbb-autocomplete__wrapper{overflow:hidden}.sbb-autocomplete__options{background-color:var(--sbb-options-panel-background-color);padding-block:var(--sbb-options-panel-padding-block);padding-inline:0;border-radius:var(--sbb-options-panel-options-border-radius);max-height:var(--_sbb-options-panel-max-height);min-height:var(--sbb-options-panel-min-height);pointer-events:all;overflow-y:auto;animation-name:var(--sbb-options-panel-animation-name);animation-duration:var(--sbb-options-panel-animation-duration);animation-timing-function:var(--sbb-options-panel-animation-timing-function);--sbb-scrollbar-width: var(--sbb-spacing-fixed-3x)}.sbb-autocomplete__options::-webkit-scrollbar{width:var(--sbb-scrollbar-width);height:var(--sbb-scrollbar-width);background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-autocomplete__options::-webkit-scrollbar-corner{background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-autocomplete__options::-webkit-scrollbar-thumb{background-color:var(--sbb-scrollbar-color, currentcolor);border:calc(.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width))) solid transparent;border-radius:var(--sbb-border-radius-4x);background-clip:padding-box}.sbb-autocomplete__options::-webkit-scrollbar-thumb:hover{background-color:var(--sbb-scrollbar-color-hover, currentcolor);border-width:calc(.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width-hover)))}.sbb-autocomplete__options::-webkit-scrollbar-button,.sbb-autocomplete__options::-webkit-scrollbar-corner{display:none}@supports not selector(::-webkit-scrollbar){.sbb-autocomplete__options{scrollbar-width:var(--sbb-scrollbar-width-firefox);scrollbar-color:var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent)}}.sbb-autocomplete__options{pointer-events:var(--sbb-options-pointer-events)}@media(forced-colors:active){.sbb-autocomplete__options{border:var(--sbb-border-width-1x) solid CanvasText;border-top:none}}@keyframes open{0%{transform:var(--sbb-options-panel-animation-transform);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes close{0%{transform:translateY(0);opacity:1}to{transform:var(--sbb-options-panel-animation-transform);opacity:0}}`, C = ut;
17
+ import { boxSizingStyles as Et } from "../core/styles.js";
18
+ const yt = lt`.sbb-gap-fix-wrapper{position:relative;overflow:hidden;width:var(--sbb-options-panel-border-radius);height:var(--sbb-options-panel-border-radius);background-color:transparent}.sbb-gap-fix-corner{position:absolute;border-radius:50%;border:calc(var(--sbb-options-panel-border-radius) / 2) solid var(--sbb-options-panel-background-color);width:calc(var(--sbb-options-panel-border-radius) * 3);height:calc(var(--sbb-options-panel-border-radius) * 3);bottom:calc(var(--sbb-options-panel-border-radius) / 2 * -1)}.sbb-gap-fix-corner#left{left:calc(var(--sbb-options-panel-border-radius) / 2 * -1)}:host(:dir(rtl)) .sbb-gap-fix-corner#left{right:calc(var(--sbb-options-panel-border-radius) / 2 * -1);left:unset}.sbb-gap-fix-corner#right{right:calc(var(--sbb-options-panel-border-radius) / 2 * -1)}:host(:dir(rtl)) .sbb-gap-fix-corner#right{left:calc(var(--sbb-options-panel-border-radius) / 2 * -1);right:unset}:host{--sbb-scrollbar-thumb-width: .125rem;--sbb-scrollbar-thumb-width-hover: .25rem;--sbb-scrollbar-width-firefox: thin;--sbb-scrollbar-color: color-mix(in srgb, var(--sbb-color-black) 30%, transparent);--sbb-scrollbar-color: light-dark( color-mix(in srgb, var(--sbb-color-black) 30%, transparent), color-mix(in srgb, var(--sbb-color-white) 30%, transparent) );--sbb-scrollbar-color-hover: color-mix(in srgb, var(--sbb-color-black) 60%, transparent);--sbb-scrollbar-color-hover: light-dark( color-mix(in srgb, var(--sbb-color-black) 60%, transparent), color-mix(in srgb, var(--sbb-color-white) 60%, transparent) );--sbb-scrollbar-track-color: transparent;--sbb-options-panel-position-x: 0;--sbb-options-panel-position-y: 0;--_sbb-options-panel-max-height: min( var(--sbb-options-panel-max-height-calculated), var(--sbb-options-panel-max-height, 100000em) );--sbb-options-panel-min-height: var(--sbb-options-panel-origin-height);--sbb-options-panel-options-border-radius: 0 0 var(--sbb-options-panel-border-radius) var(--sbb-options-panel-border-radius);--sbb-options-panel-animation-duration: var( --sbb-disable-animation-duration, var(--sbb-animation-duration-4x) );--sbb-options-panel-gap-fix-top: calc( var(--sbb-options-panel-position-y) - var(--sbb-options-panel-border-radius) );--sbb-focus-outline-color: var(--sbb-focus-outline-color-default);--sbb-focus-outline-color: light-dark( var(--sbb-focus-outline-color-default), var(--sbb-focus-outline-color-dark) );--sbb-options-pointer-events: all;--sbb-options-panel-internal-z-index: var( --sbb-autocomplete-z-index, var(--sbb-overlay-default-z-index) );display:none}:host([size=s]){--sbb-options-panel-padding-block: var(--sbb-spacing-fixed-1x)}:host([size=m]){--sbb-options-panel-padding-block: var(--sbb-spacing-fixed-2x)}:host(:is(:is(:state(state-opening),[state--state-opening]),:is(:state(state-opened),[state--state-opened]),:is(:state(state-closing),[state--state-closing]))){display:block}:host([negative]){--sbb-scrollbar-color: color-mix(in srgb, var(--sbb-color-white) 30%, transparent);--sbb-scrollbar-color-hover: color-mix(in srgb, var(--sbb-color-white) 60%, transparent);--sbb-options-panel-background-color: var(--sbb-background-color-1-negative);--sbb-focus-outline-color: var(--sbb-focus-outline-color-dark)}:host(:not(:is(:state(state-opening),[state--state-opening]),:is(:state(state-opened),[state--state-opened]),:is(:state(state-closing),[state--state-closing]))),:host(:is(:state(state-closed),[state--state-closed])){--sbb-options-panel-visibility: hidden;--sbb-options-pointer-events: none}:host(:is(:state(state-opening),[state--state-opening])){--sbb-options-panel-animation-name: open}:host(:is(:state(state-closing),[state--state-closing])){--sbb-options-panel-animation-name: close}:host(:is(:state(state-opened),[state--state-opened])),:host(:is(:state(state-opening),[state--state-opening])){--sbb-options-panel-gap-fix-opacity: 1}:host(:is(:state(options-panel-position-below),[state--options-panel-position-below])){--sbb-options-panel-animation-transform: translateY( calc((var(--sbb-options-panel-origin-height) / 2) * -1) )}:host(:is(:state(options-panel-position-above),[state--options-panel-position-above])){--sbb-options-panel-options-border-radius: var(--sbb-options-panel-border-radius) var(--sbb-options-panel-border-radius) 0 0;--sbb-options-panel-gap-fix-top: var(--_sbb-options-panel-max-height);--sbb-options-panel-gap-fix-transform: rotate(180deg);--sbb-options-panel-animation-transform: translateY( calc(var(--sbb-options-panel-origin-height) / 2) )}:host([preserve-icon-space]){--sbb-option-icon-container-display: block}::slotted(sbb-divider){margin-block:var(--sbb-options-panel-divider-margin-block)}.sbb-autocomplete__container{position:fixed;pointer-events:none;inset:0;z-index:var(--sbb-options-panel-internal-z-index)}.sbb-autocomplete__gap-fix{display:flex;justify-content:space-between;position:fixed;visibility:var(--sbb-options-panel-visibility, visible);opacity:var(--sbb-options-panel-gap-fix-opacity, 0);background-color:transparent;width:var(--sbb-options-panel-width, fit-content);height:var(--sbb-options-panel-border-radius);top:var(--sbb-options-panel-gap-fix-top);left:var(--sbb-options-panel-position-x);transform:var(--sbb-options-panel-gap-fix-transform, none);transition:opacity var(--sbb-options-panel-animation-duration) var(--sbb-options-panel-animation-timing-function)}.sbb-autocomplete__panel{display:block;position:absolute;visibility:var(--sbb-options-panel-visibility, "visible");overflow:hidden;background-color:transparent;border:none;border-radius:var(--sbb-options-panel-border-radius);top:var(--sbb-options-panel-position-y);left:var(--sbb-options-panel-position-x);width:var(--sbb-options-panel-width, fit-content);transition:box-shadow var(--sbb-options-panel-animation-duration) var(--sbb-options-panel-animation-timing-function)}.sbb-autocomplete__panel:before,.sbb-autocomplete__panel:after{content:"";display:none;position:relative;width:100%;height:var(--sbb-options-panel-origin-height);background-color:transparent;border-radius:var(--sbb-options-panel-border-radius);pointer-events:none;transition:box-shadow var(--sbb-options-panel-animation-duration) var(--sbb-options-panel-animation-timing-function);z-index:1}:host(:is(:state(options-panel-position-below),[state--options-panel-position-below])) .sbb-autocomplete__panel{inset-block-start:calc(var(--sbb-options-panel-position-y) - var(--sbb-options-panel-origin-height))}:host(:is(:is(:state(state-opened),[state--state-opened]),:is(:state(state-opening),[state--state-opening]))) .sbb-autocomplete__panel{box-shadow:var(--sbb-box-shadow-level-5-hard)}:host(:is(:is(:state(state-opened),[state--state-opened]),:is(:state(state-opening),[state--state-opening]))[negative]) .sbb-autocomplete__panel{box-shadow:var(--sbb-box-shadow-level-5-hard-negative)}:host(:is(:state(options-panel-position-below),[state--options-panel-position-below])) .sbb-autocomplete__panel:before{display:block}:host(:is(:state(options-panel-position-above),[state--options-panel-position-above])) .sbb-autocomplete__panel:after{display:block}:host(:is(:is(:state(state-opened),[state--state-opened]),:is(:state(state-opening),[state--state-opening])):is(:state(option-panel-origin-borderless),[state--option-panel-origin-borderless])) .sbb-autocomplete__panel:before,:host(:is(:is(:state(state-opened),[state--state-opened]),:is(:state(state-opening),[state--state-opening])):is(:state(option-panel-origin-borderless),[state--option-panel-origin-borderless])) .sbb-autocomplete__panel:after{box-shadow:var(--sbb-box-shadow-level-5-hard)}:host(:is(:is(:state(state-opened),[state--state-opened]),:is(:state(state-opening),[state--state-opening])):is(:state(option-panel-origin-borderless),[state--option-panel-origin-borderless])[negative]) .sbb-autocomplete__panel:before,:host(:is(:is(:state(state-opened),[state--state-opened]),:is(:state(state-opening),[state--state-opening])):is(:state(option-panel-origin-borderless),[state--option-panel-origin-borderless])[negative]) .sbb-autocomplete__panel:after{box-shadow:var(--sbb-box-shadow-level-5-hard-negative)}.sbb-autocomplete__wrapper{overflow:hidden}.sbb-autocomplete__options{background-color:var(--sbb-options-panel-background-color);padding-block:var(--sbb-options-panel-padding-block);padding-inline:0;border-radius:var(--sbb-options-panel-options-border-radius);max-height:var(--_sbb-options-panel-max-height);min-height:var(--sbb-options-panel-min-height);pointer-events:all;overflow-y:auto;animation-name:var(--sbb-options-panel-animation-name);animation-duration:var(--sbb-options-panel-animation-duration);animation-timing-function:var(--sbb-options-panel-animation-timing-function);--sbb-scrollbar-width: var(--sbb-spacing-fixed-3x)}.sbb-autocomplete__options::-webkit-scrollbar{width:var(--sbb-scrollbar-width);height:var(--sbb-scrollbar-width);background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-autocomplete__options::-webkit-scrollbar-corner{background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-autocomplete__options::-webkit-scrollbar-thumb{background-color:var(--sbb-scrollbar-color, currentcolor);border:calc(.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width))) solid transparent;border-radius:var(--sbb-border-radius-4x);background-clip:padding-box}.sbb-autocomplete__options::-webkit-scrollbar-thumb:hover{background-color:var(--sbb-scrollbar-color-hover, currentcolor);border-width:calc(.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width-hover)))}.sbb-autocomplete__options::-webkit-scrollbar-button,.sbb-autocomplete__options::-webkit-scrollbar-corner{display:none}@supports not selector(::-webkit-scrollbar){.sbb-autocomplete__options{scrollbar-width:var(--sbb-scrollbar-width-firefox);scrollbar-color:var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent)}}.sbb-autocomplete__options{pointer-events:var(--sbb-options-pointer-events)}@media(forced-colors:active){.sbb-autocomplete__options{border:var(--sbb-border-width-1x) solid CanvasText;border-top:none}}@keyframes open{0%{transform:var(--sbb-options-panel-animation-transform);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes close{0%{transform:translateY(0);opacity:1}to{transform:var(--sbb-options-panel-animation-transform);opacity:0}}`, C = ut;
19
19
  let Bt = (() => {
20
- var d, g, u, v, _, m, f, O, y, E, r;
21
- let n = vt(_t(bt)), a, l = [], x = [], I, z = [], P = [], F, L = [], q = [], D, U = [], B = [], N, W = [], V = [], R, T = [], M = [], $, j = [], H = [], Y, Z = [], K = [], G, J = [], Q = [], X, tt = [], et = [];
20
+ var d, g, u, v, _, m, f, O, E, y, r;
21
+ let n = vt(_t(bt)), a, l = [], w = [], z, I = [], P = [], F, L = [], q = [], D, U = [], B = [], N, W = [], V = [], R, T = [], M = [], $, j = [], H = [], Y, Z = [], K = [], G, J = [], Q = [], X, tt = [], et = [];
22
22
  return r = class extends n {
23
23
  constructor() {
24
24
  super();
@@ -30,9 +30,9 @@ let Bt = (() => {
30
30
  b(this, m);
31
31
  b(this, f);
32
32
  b(this, O);
33
- b(this, y);
34
33
  b(this, E);
35
- s(this, d, o(this, l, null)), s(this, g, (o(this, x), o(this, z, null))), s(this, u, (o(this, P), o(this, L, !1))), s(this, v, (o(this, q), o(this, U, !1))), s(this, _, (o(this, B), o(this, W, null))), s(this, m, (o(this, V), o(this, T, dt() ? "s" : "m"))), s(this, f, (o(this, M), o(this, j, !1))), s(this, O, (o(this, H), o(this, Z, !1))), s(this, y, (o(this, K), o(this, J, !1))), s(this, E, (o(this, Q), o(this, tt, "auto"))), this._triggerElement = o(this, et), this.activeOption = null, this.pendingAutoSelectedOption = null, this._originResizeObserver = new at(this, {
34
+ b(this, y);
35
+ s(this, d, o(this, l, null)), s(this, g, (o(this, w), o(this, I, null))), s(this, u, (o(this, P), o(this, L, !1))), s(this, v, (o(this, q), o(this, U, !1))), s(this, _, (o(this, B), o(this, W, null))), s(this, m, (o(this, V), o(this, T, dt() ? "s" : "m"))), s(this, f, (o(this, M), o(this, j, !1))), s(this, O, (o(this, H), o(this, Z, !1))), s(this, E, (o(this, K), o(this, J, !1))), s(this, y, (o(this, Q), o(this, tt, "auto"))), this._triggerElement = o(this, et), this.activeOption = null, this.pendingAutoSelectedOption = null, this._originResizeObserver = new at(this, {
36
36
  target: null,
37
37
  skipInitial: !0,
38
38
  callback: () => {
@@ -134,20 +134,20 @@ let Bt = (() => {
134
134
  * interacting or selecting a value, the initial value will be kept.
135
135
  */
136
136
  get requireSelection() {
137
- return p(this, y);
137
+ return p(this, E);
138
138
  }
139
139
  set requireSelection(t) {
140
- s(this, y, t);
140
+ s(this, E, t);
141
141
  }
142
142
  /**
143
143
  * The position of the autocomplete panel relative to the trigger.
144
144
  * @default 'auto'
145
145
  */
146
146
  get position() {
147
- return p(this, E);
147
+ return p(this, y);
148
148
  }
149
149
  set position(t) {
150
- s(this, E, t);
150
+ s(this, y, t);
151
151
  }
152
152
  /** Returns the element where the autocomplete overlay is attached to. */
153
153
  get originElement() {
@@ -346,13 +346,13 @@ let Bt = (() => {
346
346
  </div>
347
347
  `;
348
348
  }
349
- }, d = new WeakMap(), g = new WeakMap(), u = new WeakMap(), v = new WeakMap(), _ = new WeakMap(), m = new WeakMap(), f = new WeakMap(), O = new WeakMap(), y = new WeakMap(), E = new WeakMap(), (() => {
349
+ }, d = new WeakMap(), g = new WeakMap(), u = new WeakMap(), v = new WeakMap(), _ = new WeakMap(), m = new WeakMap(), f = new WeakMap(), O = new WeakMap(), E = new WeakMap(), y = new WeakMap(), (() => {
350
350
  const t = typeof Symbol == "function" && Symbol.metadata ? Object.create(n[Symbol.metadata] ?? null) : void 0;
351
- a = [rt(), h()], I = [rt(), h()], F = [w(), h({ attribute: "preserve-icon-space", reflect: !0, type: Boolean })], D = [w(), h({ attribute: "auto-active-first-option", type: Boolean })], N = [h({ attribute: !1 })], R = [h({ reflect: !0 })], $ = [w(), h({ attribute: "auto-select-active-option", type: Boolean })], Y = [w(), h({ attribute: "auto-select-active-option-on-blur", type: Boolean })], G = [w(), h({ attribute: "require-selection", type: Boolean })], X = [h()], c(r, null, a, { kind: "accessor", name: "origin", static: !1, private: !1, access: { has: (e) => "origin" in e, get: (e) => e.origin, set: (e, i) => {
351
+ a = [rt(), h()], z = [rt(), h()], F = [x(), h({ attribute: "preserve-icon-space", reflect: !0, type: Boolean })], D = [x(), h({ attribute: "auto-active-first-option", type: Boolean })], N = [h({ attribute: !1 })], R = [h({ reflect: !0 })], $ = [x(), h({ attribute: "auto-select-active-option", type: Boolean })], Y = [x(), h({ attribute: "auto-select-active-option-on-blur", type: Boolean })], G = [x(), h({ attribute: "require-selection", type: Boolean })], X = [h()], c(r, null, a, { kind: "accessor", name: "origin", static: !1, private: !1, access: { has: (e) => "origin" in e, get: (e) => e.origin, set: (e, i) => {
352
352
  e.origin = i;
353
- } }, metadata: t }, l, x), c(r, null, I, { kind: "accessor", name: "trigger", static: !1, private: !1, access: { has: (e) => "trigger" in e, get: (e) => e.trigger, set: (e, i) => {
353
+ } }, metadata: t }, l, w), c(r, null, z, { kind: "accessor", name: "trigger", static: !1, private: !1, access: { has: (e) => "trigger" in e, get: (e) => e.trigger, set: (e, i) => {
354
354
  e.trigger = i;
355
- } }, metadata: t }, z, P), c(r, null, F, { kind: "accessor", name: "preserveIconSpace", static: !1, private: !1, access: { has: (e) => "preserveIconSpace" in e, get: (e) => e.preserveIconSpace, set: (e, i) => {
355
+ } }, metadata: t }, I, P), c(r, null, F, { kind: "accessor", name: "preserveIconSpace", static: !1, private: !1, access: { has: (e) => "preserveIconSpace" in e, get: (e) => e.preserveIconSpace, set: (e, i) => {
356
356
  e.preserveIconSpace = i;
357
357
  } }, metadata: t }, L, q), c(r, null, D, { kind: "accessor", name: "autoActiveFirstOption", static: !1, private: !1, access: { has: (e) => "autoActiveFirstOption" in e, get: (e) => e.autoActiveFirstOption, set: (e, i) => {
358
358
  e.autoActiveFirstOption = i;
@@ -369,7 +369,7 @@ let Bt = (() => {
369
369
  } }, metadata: t }, J, Q), c(r, null, X, { kind: "accessor", name: "position", static: !1, private: !1, access: { has: (e) => "position" in e, get: (e) => e.position, set: (e, i) => {
370
370
  e.position = i;
371
371
  } }, metadata: t }, tt, et), t && Object.defineProperty(r, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: t });
372
- })(), r.styles = [yt, Et], r;
372
+ })(), r.styles = [Et, yt], r;
373
373
  })();
374
374
  export {
375
375
  Bt as SbbAutocompleteBaseElement
@@ -10,6 +10,7 @@ $theme: 'standard' !default;
10
10
  @use './mixins/font-face';
11
11
  @use './mixins/helpers';
12
12
  @use './mixins/inputs';
13
+ @use './mixins/overlay' as overlay;
13
14
  @use './mixins/popover';
14
15
  @use './mixins/scrollbar';
15
16
  @use './mixins/typo';
@@ -97,6 +98,15 @@ $theme: 'standard' !default;
97
98
  @use '../../footer/footer.global' as footer with (
98
99
  $theme: $theme
99
100
  );
101
+ @use '../../option/option/option.global' as option with (
102
+ $theme: $theme
103
+ );
104
+ @use '../../option/option-hint/option-hint.global' as option-hint with (
105
+ $theme: $theme
106
+ );
107
+ @use '../../option/optgroup/optgroup.global' as optgroup with (
108
+ $theme: $theme
109
+ );
100
110
  @use '../../radio-button/common/radio-button-common.global' as radio-button-common with (
101
111
  $theme: $theme
102
112
  );
@@ -155,6 +165,10 @@ $theme: 'standard' !default;
155
165
  @include expansion-panel-content.base;
156
166
  @include expansion-panel-header.base;
157
167
  @include footer.base;
168
+ @include option.base;
169
+ @include option-hint.base;
170
+ @include optgroup.base;
171
+ @include overlay.options-panel-overlay-variables--global($theme);
158
172
  @include radio-button-common.base;
159
173
  @include radio-button-group.base;
160
174
  @include selection-action-panel.base;
@@ -279,6 +293,7 @@ $theme: 'standard' !default;
279
293
  @include dialog-close-button.rules;
280
294
  @include dialog-content.rules;
281
295
  @include dialog-title.rules;
296
+ @include option.rules;
282
297
  @include tab-nav-bar.rules;
283
298
 
284
299
  // TODO: discuss where to add these classes
@@ -729,22 +744,6 @@ sbb-toggle:has(:focus-visible) {
729
744
  @include a11y.focus-outline;
730
745
  }
731
746
 
732
- :where(sbb-select, sbb-autocomplete, sbb-autocomplete-grid)[size='s'] {
733
- :where(sbb-option, sbb-autocomplete-grid-option) {
734
- --sbb-option-min-height: var(--sbb-size-element-xxs);
735
- --sbb-focus-outline-offset: calc(-1 * var(--sbb-spacing-fixed-1x));
736
- --sbb-option-focus-outline-inset: 0 var(--sbb-spacing-fixed-1x);
737
- }
738
-
739
- sbb-optgroup {
740
- --sbb-optgroup-label-padding-end: var(--sbb-spacing-fixed-1x);
741
- }
742
-
743
- sbb-option-hint {
744
- --sbb-option-hint-padding-block-end: var(--sbb-spacing-fixed-1x);
745
- }
746
- }
747
-
748
747
  sbb-notification:has(sbb-title) {
749
748
  --_sbb-notification-icon-authoritative-font-size: var(--sbb-heading-font-size-5);
750
749
  --_sbb-notification-icon-authoritative-line-height: var(--sbb-typo-line-height-heading);
@@ -1,5 +1,20 @@
1
+ @use '../core/functions';
1
2
  @use './scrollbar';
2
3
 
4
+ @mixin options-panel-overlay-variables--global($theme: 'standard') {
5
+ --sbb-options-panel-border-radius: var(--sbb-border-radius-4x);
6
+ --sbb-options-panel-animation-timing-function: ease;
7
+ --sbb-options-panel-background-color: var(--sbb-background-color-1);
8
+ --sbb-options-panel-divider-margin-block: var(--sbb-spacing-fixed-3x);
9
+ --sbb-options-panel-padding-block: #{functions.theme-pattern-select(
10
+ (
11
+ 'standard': var(--sbb-spacing-fixed-2x),
12
+ 'lean': var(--sbb-spacing-fixed-1x),
13
+ ),
14
+ $theme
15
+ )};
16
+ }
17
+
3
18
  @mixin options-panel-overlay-variables {
4
19
  @include scrollbar.scrollbar-variables;
5
20
 
@@ -12,24 +27,15 @@
12
27
  var(--sbb-options-panel-max-height, 100000em)
13
28
  );
14
29
  --sbb-options-panel-min-height: var(--sbb-options-panel-origin-height);
15
- --sbb-options-panel-visibility: visible;
16
- --sbb-options-panel-width: fit-content;
17
- --sbb-options-panel-border-radius: var(--sbb-border-radius-4x);
18
30
  --sbb-options-panel-options-border-radius: 0 0 var(--sbb-options-panel-border-radius)
19
31
  var(--sbb-options-panel-border-radius);
20
32
  --sbb-options-panel-animation-duration: var(
21
33
  --sbb-disable-animation-duration,
22
34
  var(--sbb-animation-duration-4x)
23
35
  );
24
- --sbb-options-panel-animation-timing-function: ease;
25
- --sbb-options-panel-gap-fix-opacity: 0;
26
- --sbb-options-panel-gap-fix-transform: none;
27
36
  --sbb-options-panel-gap-fix-top: calc(
28
37
  var(--sbb-options-panel-position-y) - var(--sbb-options-panel-border-radius)
29
38
  );
30
- --sbb-options-panel-background-color: var(--sbb-background-color-1);
31
- --sbb-options-panel-padding-block: var(--sbb-spacing-fixed-2x);
32
- --sbb-options-panel-divider-margin-block: var(--sbb-spacing-fixed-3x);
33
39
 
34
40
  // As the overlays have always a white background, we have to fix the focus outline color
35
41
  // to default color for cases where the overlays are used in a negative context.
@@ -53,6 +59,10 @@
53
59
  --sbb-options-panel-padding-block: var(--sbb-spacing-fixed-1x);
54
60
  }
55
61
 
62
+ @mixin options-panel-overlay-size-m-variables {
63
+ --sbb-options-panel-padding-block: var(--sbb-spacing-fixed-2x);
64
+ }
65
+
56
66
  @mixin options-panel-overlay-container {
57
67
  position: fixed;
58
68
  pointer-events: none;
@@ -64,14 +74,14 @@
64
74
  display: flex;
65
75
  justify-content: space-between;
66
76
  position: fixed;
67
- visibility: var(--sbb-options-panel-visibility);
68
- opacity: var(--sbb-options-panel-gap-fix-opacity);
77
+ visibility: var(--sbb-options-panel-visibility, visible);
78
+ opacity: var(--sbb-options-panel-gap-fix-opacity, 0);
69
79
  background-color: transparent;
70
- width: var(--sbb-options-panel-width);
80
+ width: var(--sbb-options-panel-width, fit-content);
71
81
  height: var(--sbb-options-panel-border-radius);
72
82
  top: var(--sbb-options-panel-gap-fix-top);
73
83
  left: var(--sbb-options-panel-position-x);
74
- transform: var(--sbb-options-panel-gap-fix-transform);
84
+ transform: var(--sbb-options-panel-gap-fix-transform, none);
75
85
  transition: opacity var(--sbb-options-panel-animation-duration)
76
86
  var(--sbb-options-panel-animation-timing-function);
77
87
  }
@@ -79,14 +89,14 @@
79
89
  @mixin options-panel-overlay {
80
90
  display: block;
81
91
  position: absolute;
82
- visibility: var(--sbb-options-panel-visibility);
92
+ visibility: var(--sbb-options-panel-visibility, 'visible');
83
93
  overflow: hidden;
84
94
  background-color: transparent;
85
95
  border: none;
86
96
  border-radius: var(--sbb-options-panel-border-radius);
87
97
  top: var(--sbb-options-panel-position-y);
88
98
  left: var(--sbb-options-panel-position-x);
89
- width: var(--sbb-options-panel-width);
99
+ width: var(--sbb-options-panel-width, fit-content);
90
100
  transition: box-shadow var(--sbb-options-panel-animation-duration)
91
101
  var(--sbb-options-panel-animation-timing-function);
92
102
 
package/core.css CHANGED
@@ -1468,6 +1468,40 @@
1468
1468
  --sbb-footer-gap-horizontal: var(--sbb-grid-base-gutter-responsive);
1469
1469
  --sbb-footer-gap-vertical: var(--sbb-spacing-responsive-l);
1470
1470
  --sbb-footer-padding-block: var(--sbb-spacing-responsive-l);
1471
+ --sbb-option-color: var(--sbb-color-3);
1472
+ --sbb-option-background-color: inherit;
1473
+ --sbb-option-background-color-hover: var(--sbb-background-color-3);
1474
+ --sbb-option-background-color-active: var(--sbb-background-color-4);
1475
+ --sbb-option-disabled-border-color: var(--sbb-color-graphite);
1476
+ --sbb-option-disabled-border-color: light-dark(var(--sbb-color-graphite), var(--sbb-color-smoke));
1477
+ --sbb-option-disabled-background-color: var(--sbb-background-color-3);
1478
+ --sbb-option-padding-inline: var(--sbb-spacing-responsive-xxxs);
1479
+ --sbb-option-min-height: var(--sbb-size-element-s);
1480
+ --sbb-option-column-gap: var(--sbb-spacing-responsive-xxxs);
1481
+ --sbb-option-justify-content: start;
1482
+ --sbb-option-cursor: var(--sbb-cursor-pointer);
1483
+ --sbb-option-border-radius: var(--sbb-border-radius-4x);
1484
+ --sbb-option-icon-color: var(--sbb-color-metal);
1485
+ --sbb-option-icon-color: light-dark(var(--sbb-color-metal), var(--sbb-color-smoke));
1486
+ --sbb-option-focus-outline-color: transparent;
1487
+ --sbb-option-focus-outline-inset: var(--sbb-spacing-fixed-1x);
1488
+ --sbb-option-font-size: var(--sbb-text-font-size-s);
1489
+ --sbb-option-hint-color: var(--sbb-color-metal);
1490
+ --sbb-option-hint-color: light-dark(var(--sbb-color-metal), var(--sbb-color-smoke));
1491
+ --sbb-option-hint-column-gap: var(--sbb-spacing-responsive-xxxs);
1492
+ --sbb-option-hint-padding-block-end: var(--sbb-spacing-fixed-2x);
1493
+ --sbb-option-hint-padding-inline: var(--sbb-spacing-responsive-xxxs);
1494
+ --sbb-option-hint-font-size: var(--sbb-text-font-size-xxs);
1495
+ --sbb-optgroup-label-color: var(--sbb-color-metal);
1496
+ --sbb-optgroup-label-color: light-dark(var(--sbb-color-metal), var(--sbb-color-smoke));
1497
+ --sbb-optgroup-label-font-size: var(--sbb-text-font-size-xxs);
1498
+ --sbb-optgroup-label-padding-end: var(--sbb-spacing-fixed-2x);
1499
+ --sbb-optgroup-label-padding-inline: var(--sbb-spacing-responsive-xxxs);
1500
+ --sbb-options-panel-border-radius: var(--sbb-border-radius-4x);
1501
+ --sbb-options-panel-animation-timing-function: ease;
1502
+ --sbb-options-panel-background-color: var(--sbb-background-color-1);
1503
+ --sbb-options-panel-divider-margin-block: var(--sbb-spacing-fixed-3x);
1504
+ --sbb-options-panel-padding-block: var(--sbb-spacing-fixed-2x);
1471
1505
  --sbb-radio-button-label-gap: var(--sbb-spacing-fixed-2x);
1472
1506
  --sbb-radio-button-label-color: var(--sbb-color-3);
1473
1507
  --sbb-radio-button-background-color: var(--sbb-background-color-1);
@@ -1735,6 +1769,18 @@ sbb-dialog:has(> sbb-dialog-close-button) > sbb-dialog-title, sbb-dialog:is(:sta
1735
1769
  padding-inline-end: 0;
1736
1770
  }
1737
1771
 
1772
+ :where(sbb-select, sbb-autocomplete, sbb-autocomplete-grid)[size=s] :where(sbb-option, sbb-autocomplete-grid-option) {
1773
+ --sbb-option-min-height: var(--sbb-size-element-xxs);
1774
+ --sbb-focus-outline-offset: calc(-1 * var(--sbb-spacing-fixed-1x));
1775
+ --sbb-option-focus-outline-inset: 0 var(--sbb-spacing-fixed-1x);
1776
+ }
1777
+ :where(sbb-select, sbb-autocomplete, sbb-autocomplete-grid)[size=s] sbb-optgroup {
1778
+ --sbb-optgroup-label-padding-end: var(--sbb-spacing-fixed-1x);
1779
+ }
1780
+ :where(sbb-select, sbb-autocomplete, sbb-autocomplete-grid)[size=s] sbb-option-hint {
1781
+ --sbb-option-hint-padding-block-end: var(--sbb-spacing-fixed-1x);
1782
+ }
1783
+
1738
1784
  sbb-tab-nav-bar .sbb-tab-amount {
1739
1785
  margin: 0;
1740
1786
  color: var(--sbb-tab-label-amount-color);
@@ -2179,18 +2225,6 @@ sbb-toggle:has(:focus-visible) {
2179
2225
  outline: var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);
2180
2226
  }
2181
2227
 
2182
- :where(sbb-select, sbb-autocomplete, sbb-autocomplete-grid)[size=s] :where(sbb-option, sbb-autocomplete-grid-option) {
2183
- --sbb-option-min-height: var(--sbb-size-element-xxs);
2184
- --sbb-focus-outline-offset: calc(-1 * var(--sbb-spacing-fixed-1x));
2185
- --sbb-option-focus-outline-inset: 0 var(--sbb-spacing-fixed-1x);
2186
- }
2187
- :where(sbb-select, sbb-autocomplete, sbb-autocomplete-grid)[size=s] sbb-optgroup {
2188
- --sbb-optgroup-label-padding-end: var(--sbb-spacing-fixed-1x);
2189
- }
2190
- :where(sbb-select, sbb-autocomplete, sbb-autocomplete-grid)[size=s] sbb-option-hint {
2191
- --sbb-option-hint-padding-block-end: var(--sbb-spacing-fixed-1x);
2192
- }
2193
-
2194
2228
  sbb-notification:has(sbb-title) {
2195
2229
  --_sbb-notification-icon-authoritative-font-size: var(--sbb-heading-font-size-5);
2196
2230
  --_sbb-notification-icon-authoritative-line-height: var(--sbb-typo-line-height-heading);