@sbb-esta/lyne-elements-dev 4.9.0-dev.1775092958 → 4.9.0-dev.1775113936
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.
- package/custom-elements.json +158 -149
- package/development/select/select.component.d.ts +2 -0
- package/development/select/select.component.d.ts.map +1 -1
- package/development/select/select.component.js +1 -1
- package/development/select.component-BCZS_tcp.js +811 -0
- package/development/select.js +1 -1
- package/development/select.pure.js +1 -1
- package/package.json +2 -2
- package/select/select.component.js +1 -1
- package/{select.component-GAwqix4S.js → select.component-DeeRGEGn.js} +77 -56
- package/select.js +1 -1
- package/select.pure.js +1 -1
- package/development/select.component-CY7l3oc2.js +0 -784
package/development/select.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as SbbSelectElement } from "./select.component-
|
|
1
|
+
import { t as SbbSelectElement } from "./select.component-BCZS_tcp.js";
|
|
2
2
|
export { SbbSelectElement };
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sbb-esta/lyne-elements-dev",
|
|
3
|
-
"version": "4.9.0-dev.
|
|
3
|
+
"version": "4.9.0-dev.1775113936",
|
|
4
4
|
"description": "Lyne Design System",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"design system",
|
|
7
7
|
"web components",
|
|
8
8
|
"lit",
|
|
9
|
-
"https://github.com/sbb-design-systems/lyne-components/commit/
|
|
9
|
+
"https://github.com/sbb-design-systems/lyne-components/commit/ba07c276667d850cad8bab8babc5111a27e4ea90"
|
|
10
10
|
],
|
|
11
11
|
"type": "module",
|
|
12
12
|
"exports": {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "../select.component-
|
|
1
|
+
import { t as e } from "../select.component-DeeRGEGn.js";
|
|
2
2
|
export { e as SbbSelectElement };
|
|
@@ -4,30 +4,30 @@ import { property as o, state as s } from "lit/decorators.js";
|
|
|
4
4
|
import { SbbOpenCloseBaseElement as ee } from "./core/base-elements.js";
|
|
5
5
|
import { forceType as c, getOverride as l, handleDistinctChange as u } from "./core/decorators.js";
|
|
6
6
|
import { isLean as d, isNextjs as f, isSafari as p, isZeroAnimationDuration as m, setOrRemoveAttribute as h } from "./core/dom.js";
|
|
7
|
-
import { SbbDisabledMixin as
|
|
8
|
-
import { boxSizingStyles as
|
|
9
|
-
import { SbbEscapableOverlayController as
|
|
10
|
-
import { i18nSelectionRequired as
|
|
11
|
-
import { ResizeController as
|
|
12
|
-
import { ref as
|
|
13
|
-
import { isEventOnElement as
|
|
14
|
-
import { getNextElementIndex as
|
|
15
|
-
import { MutationController as
|
|
16
|
-
import { until as
|
|
7
|
+
import { SbbDisabledMixin as te, SbbFormAssociatedMixin as ne, SbbNegativeMixin as g, SbbReadonlyMixin as _, SbbRequiredMixin as v, SbbUpdateSchedulerMixin as y } from "./core/mixins.js";
|
|
8
|
+
import { boxSizingStyles as b } from "./core/styles.js";
|
|
9
|
+
import { SbbEscapableOverlayController as x, SbbLanguageController as S, SbbPropertyWatcherController as C } from "./core/controllers.js";
|
|
10
|
+
import { i18nSelectionRequired as w } from "./core/i18n.js";
|
|
11
|
+
import { ResizeController as T } from "@lit-labs/observers/resize-controller.js";
|
|
12
|
+
import { ref as E } from "lit/directives/ref.js";
|
|
13
|
+
import { isEventOnElement as D, overlayGapFixCorners as O, setOverlayPosition as k } from "./core/overlay.js";
|
|
14
|
+
import { getNextElementIndex as re } from "./core/a11y.js";
|
|
15
|
+
import { MutationController as A } from "@lit-labs/observers/mutation-controller.js";
|
|
16
|
+
import { until as j } from "lit/directives/until.js";
|
|
17
17
|
//#region src/elements/select/select.scss?inline
|
|
18
|
-
var P = ".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-panel-internal-z-index: var( --sbb-select-z-index, var(--sbb-overlay-default-z-index) );--sbb-select-placeholder-fallback-color: var(--sbb-color-metal);--sbb-select-placeholder-fallback-color: light-dark( var(--sbb-color-metal), var(--sbb-color-smoke) );display:block;font-weight:400}: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([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);--sbb-select-placeholder-fallback-color: var(--sbb-color-5)}: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}: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) )}::slotted(sbb-divider){margin-block:var(--sbb-options-panel-divider-margin-block)}:host([preserve-icon-space]){--sbb-option-icon-container-display: block}.sbb-select__trigger{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:var(--sbb-cursor-default);height:calc(1em * var(--sbb-typo-line-height-text))}.sbb-select__trigger--placeholder{color:var(--sbb-select-placeholder-color, var(--sbb-select-placeholder-fallback-color));-webkit-text-fill-color:var(--sbb-select-placeholder-color, var(--sbb-select-placeholder-fallback-color))}.sbb-select__container{position:fixed;pointer-events:none;inset:0;z-index:var(--sbb-options-panel-internal-z-index)}.sbb-select__container[popover]{margin:0;padding:0;border:none;width:auto;height:auto;background-color:transparent}.sbb-select__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-select__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-select__panel:before,.sbb-select__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-select__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-select__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-select__panel{box-shadow:var(--sbb-box-shadow-level-5-hard-negative)}:host(:is(:state(options-panel-position-below),[state--options-panel-position-below])) .sbb-select__panel:before{display:block}:host(:is(:state(options-panel-position-above),[state--options-panel-position-above])) .sbb-select__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-select__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-select__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-select__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-select__panel:after{box-shadow:var(--sbb-box-shadow-level-5-hard-negative)}.sbb-select__wrapper{overflow:hidden}.sbb-select__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-select__options::-webkit-scrollbar{width:var(--sbb-scrollbar-width);height:var(--sbb-scrollbar-width);background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-select__options::-webkit-scrollbar-corner{background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-select__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-select__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-select__options::-webkit-scrollbar-button,.sbb-select__options::-webkit-scrollbar-corner{display:none}@supports not selector(::-webkit-scrollbar){.sbb-select__options{scrollbar-width:var(--sbb-scrollbar-width-firefox);scrollbar-color:var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent)}}@media(forced-colors:active){.sbb-select__options{border:var(--sbb-border-width-1x) solid CanvasText;border-block-start: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}}", F = p, I = 0, L = (() => {
|
|
19
|
-
let p =
|
|
18
|
+
var ie = ".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-panel-internal-z-index: var( --sbb-select-z-index, var(--sbb-overlay-default-z-index) );--sbb-select-placeholder-fallback-color: var(--sbb-color-metal);--sbb-select-placeholder-fallback-color: light-dark( var(--sbb-color-metal), var(--sbb-color-smoke) );display:block;font-weight:400}: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([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);--sbb-select-placeholder-fallback-color: var(--sbb-color-5)}: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}: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) )}::slotted(sbb-divider){margin-block:var(--sbb-options-panel-divider-margin-block)}:host([preserve-icon-space]){--sbb-option-icon-container-display: block}.sbb-select__trigger{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:var(--sbb-cursor-default);height:calc(1em * var(--sbb-typo-line-height-text))}.sbb-select__trigger--placeholder{color:var(--sbb-select-placeholder-color, var(--sbb-select-placeholder-fallback-color));-webkit-text-fill-color:var(--sbb-select-placeholder-color, var(--sbb-select-placeholder-fallback-color))}.sbb-select__container{position:fixed;pointer-events:none;inset:0;z-index:var(--sbb-options-panel-internal-z-index)}.sbb-select__container[popover]{margin:0;padding:0;border:none;width:auto;height:auto;background-color:transparent}.sbb-select__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-select__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-select__panel:before,.sbb-select__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-select__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-select__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-select__panel{box-shadow:var(--sbb-box-shadow-level-5-hard-negative)}:host(:is(:state(options-panel-position-below),[state--options-panel-position-below])) .sbb-select__panel:before{display:block}:host(:is(:state(options-panel-position-above),[state--options-panel-position-above])) .sbb-select__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-select__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-select__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-select__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-select__panel:after{box-shadow:var(--sbb-box-shadow-level-5-hard-negative)}.sbb-select__wrapper{overflow:hidden}.sbb-select__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-select__options::-webkit-scrollbar{width:var(--sbb-scrollbar-width);height:var(--sbb-scrollbar-width);background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-select__options::-webkit-scrollbar-corner{background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-select__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-select__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-select__options::-webkit-scrollbar-button,.sbb-select__options::-webkit-scrollbar-corner{display:none}@supports not selector(::-webkit-scrollbar){.sbb-select__options{scrollbar-width:var(--sbb-scrollbar-width-firefox);scrollbar-color:var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent)}}@media(forced-colors:active){.sbb-select__options{border:var(--sbb-border-width-1x) solid CanvasText;border-block-start: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}}", M = p, N = 0, P = (() => {
|
|
19
|
+
let p = y(te(g(v(_(ne(ee)))))), P = [], F, I = [], L = [], R, z = [], B = [], V, H = [], U = [], W, G = [], K = [], q, J, Y = [], X = [], Z, Q = [], $ = [];
|
|
20
20
|
return class extends p {
|
|
21
21
|
static {
|
|
22
22
|
let t = typeof Symbol == "function" && Symbol.metadata ? Object.create(p[Symbol.metadata] ?? null) : void 0;
|
|
23
|
-
|
|
23
|
+
F = [c(), o()], R = [
|
|
24
24
|
c(),
|
|
25
25
|
u((e, t) => e._onMultipleChanged(t)),
|
|
26
26
|
o({
|
|
27
27
|
reflect: !0,
|
|
28
28
|
type: Boolean
|
|
29
29
|
})
|
|
30
|
-
], W = [
|
|
30
|
+
], V = [o({ attribute: !1 })], W = [
|
|
31
31
|
c(),
|
|
32
32
|
u((e, t) => e._closeOnDisabledReadonlyChanged(t)),
|
|
33
33
|
o({
|
|
@@ -35,7 +35,7 @@ var P = ".sbb-gap-fix-wrapper{position:relative;overflow:hidden;width:var(--sbb-
|
|
|
35
35
|
type: Boolean
|
|
36
36
|
}),
|
|
37
37
|
l((e, t) => t || e.isDisabledExternally())
|
|
38
|
-
], q = [o()], J = [o({ reflect: !0 })], Z = [s()], e(this, null,
|
|
38
|
+
], q = [o()], J = [o({ reflect: !0 })], Z = [s()], e(this, null, F, {
|
|
39
39
|
kind: "accessor",
|
|
40
40
|
name: "placeholder",
|
|
41
41
|
static: !1,
|
|
@@ -48,7 +48,7 @@ var P = ".sbb-gap-fix-wrapper{position:relative;overflow:hidden;width:var(--sbb-
|
|
|
48
48
|
}
|
|
49
49
|
},
|
|
50
50
|
metadata: t
|
|
51
|
-
},
|
|
51
|
+
}, I, L), e(this, null, R, {
|
|
52
52
|
kind: "accessor",
|
|
53
53
|
name: "multiple",
|
|
54
54
|
static: !1,
|
|
@@ -61,6 +61,19 @@ var P = ".sbb-gap-fix-wrapper{position:relative;overflow:hidden;width:var(--sbb-
|
|
|
61
61
|
}
|
|
62
62
|
},
|
|
63
63
|
metadata: t
|
|
64
|
+
}, z, B), e(this, null, V, {
|
|
65
|
+
kind: "accessor",
|
|
66
|
+
name: "compareWith",
|
|
67
|
+
static: !1,
|
|
68
|
+
private: !1,
|
|
69
|
+
access: {
|
|
70
|
+
has: (e) => "compareWith" in e,
|
|
71
|
+
get: (e) => e.compareWith,
|
|
72
|
+
set: (e, t) => {
|
|
73
|
+
e.compareWith = t;
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
metadata: t
|
|
64
77
|
}, H, U), e(this, null, W, {
|
|
65
78
|
kind: "accessor",
|
|
66
79
|
name: "disabled",
|
|
@@ -86,7 +99,7 @@ var P = ".sbb-gap-fix-wrapper{position:relative;overflow:hidden;width:var(--sbb-
|
|
|
86
99
|
}
|
|
87
100
|
},
|
|
88
101
|
metadata: t
|
|
89
|
-
}, null,
|
|
102
|
+
}, null, P), e(this, null, J, {
|
|
90
103
|
kind: "accessor",
|
|
91
104
|
name: "size",
|
|
92
105
|
static: !1,
|
|
@@ -123,10 +136,10 @@ var P = ".sbb-gap-fix-wrapper{position:relative;overflow:hidden;width:var(--sbb-
|
|
|
123
136
|
this.elementName = "sbb-select";
|
|
124
137
|
}
|
|
125
138
|
static {
|
|
126
|
-
this.role =
|
|
139
|
+
this.role = M ? "listbox" : null;
|
|
127
140
|
}
|
|
128
141
|
static {
|
|
129
|
-
this.styles = [
|
|
142
|
+
this.styles = [b, a(ie)];
|
|
130
143
|
}
|
|
131
144
|
static {
|
|
132
145
|
this.events = {
|
|
@@ -154,34 +167,41 @@ var P = ".sbb-gap-fix-wrapper{position:relative;overflow:hidden;width:var(--sbb-
|
|
|
154
167
|
this.#t = e;
|
|
155
168
|
}
|
|
156
169
|
#n;
|
|
157
|
-
get
|
|
170
|
+
get compareWith() {
|
|
158
171
|
return this.#n;
|
|
159
172
|
}
|
|
160
|
-
set
|
|
173
|
+
set compareWith(e) {
|
|
161
174
|
this.#n = e;
|
|
162
175
|
}
|
|
176
|
+
#r;
|
|
177
|
+
get disabled() {
|
|
178
|
+
return this.#r;
|
|
179
|
+
}
|
|
180
|
+
set disabled(e) {
|
|
181
|
+
this.#r = e;
|
|
182
|
+
}
|
|
163
183
|
set value(e) {
|
|
164
184
|
this._value = e, this._updateOptionsFromValue(), this._isValueManuallyAssigned = !0;
|
|
165
185
|
}
|
|
166
186
|
get value() {
|
|
167
187
|
return this._value;
|
|
168
188
|
}
|
|
169
|
-
#
|
|
189
|
+
#i;
|
|
170
190
|
get size() {
|
|
171
|
-
return this.#
|
|
191
|
+
return this.#i;
|
|
172
192
|
}
|
|
173
193
|
set size(e) {
|
|
174
|
-
this.#
|
|
194
|
+
this.#i = e;
|
|
175
195
|
}
|
|
176
196
|
get type() {
|
|
177
197
|
return this.multiple ? "select-multiple" : "select-one";
|
|
178
198
|
}
|
|
179
|
-
#
|
|
199
|
+
#a;
|
|
180
200
|
get _displayValue() {
|
|
181
|
-
return this.#
|
|
201
|
+
return this.#a;
|
|
182
202
|
}
|
|
183
203
|
set _displayValue(e) {
|
|
184
|
-
this.#
|
|
204
|
+
this.#a = e;
|
|
185
205
|
}
|
|
186
206
|
get inputElement() {
|
|
187
207
|
return this._triggerElement ?? null;
|
|
@@ -193,27 +213,27 @@ var P = ".sbb-gap-fix-wrapper{position:relative;overflow:hidden;width:var(--sbb-
|
|
|
193
213
|
}), e;
|
|
194
214
|
}
|
|
195
215
|
constructor() {
|
|
196
|
-
super(), this.#e = (t(this,
|
|
216
|
+
super(), this.#e = (t(this, P), t(this, I, "")), this.#t = (t(this, L), t(this, z, !1)), this.#n = (t(this, B), t(this, H, (e, t) => e === t)), this.#r = (t(this, U), t(this, G, !1)), this._value = (t(this, K), null), this.#i = t(this, Y, d() ? "s" : "m"), this.#a = (t(this, X), t(this, Q, null)), this._originResizeObserver = (t(this, $), new T(this, {
|
|
197
217
|
target: null,
|
|
198
218
|
skipInitial: !0,
|
|
199
219
|
callback: () => {
|
|
200
220
|
this.isOpen && this._setOverlayPosition();
|
|
201
221
|
}
|
|
202
|
-
})), this._originElement = null, this._triggerElement = null, this._escapableOverlayController = new
|
|
203
|
-
this._isPointerDownEventOnMenu =
|
|
222
|
+
})), this._originElement = null, this._triggerElement = null, this._escapableOverlayController = new x(this), this._overlayId = `sbb-select-${++N}`, this._activeItemIndex = -1, this._searchString = "", this._didLoad = !1, this._isPointerDownEventOnMenu = !1, this._languageController = new S(this), this._isValueManuallyAssigned = !1, this._pointerDownListener = (e) => {
|
|
223
|
+
this._isPointerDownEventOnMenu = D(this._overlay, e);
|
|
204
224
|
}, this._closeOnBackdropClick = (e) => {
|
|
205
|
-
!this._isPointerDownEventOnMenu && !
|
|
225
|
+
!this._isPointerDownEventOnMenu && !D(this._overlay, e) && this.close();
|
|
206
226
|
}, this.addEventListener?.("optionselectionchange", (e) => this._onOptionChanged(e)), this.addEventListener?.("optionLabelChanged", (e) => this._onOptionLabelChanged(e)), this.addEventListener?.("ɵoptgroupslotchange", () => this._updateValueOptionState(), { capture: !0 }), this.addEventListener?.("click", (e) => {
|
|
207
227
|
let t = e.target;
|
|
208
228
|
t.localName === "sbb-option" ? !this.multiple && !t.disabled && (this.close(), this.focus()) : this._toggleOpening();
|
|
209
|
-
}), this.addController(new
|
|
229
|
+
}), this.addController(new A(this, {
|
|
210
230
|
config: { attributeFilter: [
|
|
211
231
|
"aria-labelledby",
|
|
212
232
|
"aria-label",
|
|
213
233
|
"aria-describedby"
|
|
214
234
|
] },
|
|
215
235
|
callback: () => this._syncAriaLabels()
|
|
216
|
-
})), this.addController(new
|
|
236
|
+
})), this.addController(new C(this, () => this.closest("sbb-form-field"), { negative: (e) => {
|
|
217
237
|
this.negative = e.negative, this._syncNegative();
|
|
218
238
|
} }));
|
|
219
239
|
}
|
|
@@ -269,7 +289,7 @@ var P = ".sbb-gap-fix-wrapper{position:relative;overflow:hidden;width:var(--sbb-
|
|
|
269
289
|
f() && e === "defer-hydration" && !this._didLoad && this.updateComplete.then(() => this._setupSelect()), super.removeAttribute(e);
|
|
270
290
|
}
|
|
271
291
|
connectedCallback() {
|
|
272
|
-
super.connectedCallback(),
|
|
292
|
+
super.connectedCallback(), M && (this.id ||= this._overlayId), this._syncNegative(), this._syncAriaLabels(), this._didLoad && (this._setupOrigin(), this._setupTrigger());
|
|
273
293
|
}
|
|
274
294
|
requestUpdate(e, t, n) {
|
|
275
295
|
super.requestUpdate(e, t, n), !e && this.hasUpdated && setTimeout(() => this._syncAriaLabels());
|
|
@@ -286,10 +306,6 @@ var P = ".sbb-gap-fix-wrapper{position:relative;overflow:hidden;width:var(--sbb-
|
|
|
286
306
|
formStateRestoreCallback(e, t) {
|
|
287
307
|
try {
|
|
288
308
|
let { value: t, manuallyAssigned: n } = JSON.parse(e);
|
|
289
|
-
if ((Array.isArray(t) ? t : [t]).some((e) => typeof e == "object" && !!e)) {
|
|
290
|
-
console.warn(`Restoring complex objects is not supported for sbb-select with state ${e}`);
|
|
291
|
-
return;
|
|
292
|
-
}
|
|
293
309
|
this._isValueManuallyAssigned = n, this._value = t, this._updateOptionsFromValue();
|
|
294
310
|
} catch {
|
|
295
311
|
console.warn(`Failed to restore sbb-select with state ${e}`);
|
|
@@ -308,7 +324,9 @@ var P = ".sbb-gap-fix-wrapper{position:relative;overflow:hidden;width:var(--sbb-
|
|
|
308
324
|
return super.shouldValidate(e) || e === "value" || e === "required";
|
|
309
325
|
}
|
|
310
326
|
validate() {
|
|
311
|
-
super.validate()
|
|
327
|
+
super.validate();
|
|
328
|
+
let e = Array.isArray(this.value) ? this.value : this.value === null ? [] : [this.value];
|
|
329
|
+
this.required && (this.options.every((t) => e.every((e) => !this.compareWith(e, t.value))) || !this._isValueManuallyAssigned && this.value == null) ? this.setValidityFlag("valueMissing", w[this._languageController.current]) : this.removeValidityFlag("valueMissing");
|
|
312
330
|
}
|
|
313
331
|
_setupSelect() {
|
|
314
332
|
this._setupOrigin(), this._setupTrigger(), this._didLoad = !0, this.completeUpdate();
|
|
@@ -321,7 +339,7 @@ var P = ".sbb-gap-fix-wrapper{position:relative;overflow:hidden;width:var(--sbb-
|
|
|
321
339
|
this.parentElement && this._triggerElement && this.parentElement.insertBefore?.(this._triggerElement, this);
|
|
322
340
|
}
|
|
323
341
|
_setOverlayPosition() {
|
|
324
|
-
this._originElement &&
|
|
342
|
+
this._originElement && k(this._overlay, this._originElement, this._optionContainer, this.shadowRoot.querySelector(".sbb-select__container"), this);
|
|
325
343
|
}
|
|
326
344
|
_onAnimationEnd(e) {
|
|
327
345
|
e.animationName === "open" && this.state === "opening" ? this._handleOpening() : e.animationName === "close" && this.state === "closing" && this._handleClosing();
|
|
@@ -333,10 +351,10 @@ var P = ".sbb-gap-fix-wrapper{position:relative;overflow:hidden;width:var(--sbb-
|
|
|
333
351
|
this.state = "closed", this.shadowRoot?.querySelector(".sbb-select__container")?.hidePopover?.(), this._triggerElement?.setAttribute("aria-expanded", "false"), this._resetActiveElement(), this._optionContainer.scrollTop = 0, this._escapableOverlayController.disconnect(), this.dispatchCloseEvent();
|
|
334
352
|
}
|
|
335
353
|
_onOptionSelected(e) {
|
|
336
|
-
this.multiple ? this.value ? Array.isArray(this.value) && !this.value.
|
|
354
|
+
this.multiple ? this.value ? Array.isArray(this.value) && !this.value.some((t) => this.compareWith(t, e.value)) && (this._value = [...this.value, e.value]) : this._value = [e.value] : this._value = e.value, this._updateOptionsFromValue(), this._dispatchInputEvents();
|
|
337
355
|
}
|
|
338
356
|
_onOptionDeselected(e) {
|
|
339
|
-
this.multiple && Array.isArray(this.value) && (this._value = this.value.filter((t) => t
|
|
357
|
+
this.multiple && Array.isArray(this.value) && (this._value = this.value.filter((t) => !this.compareWith(t, e.value)), this._updateOptionsFromValue(), this._dispatchInputEvents());
|
|
340
358
|
}
|
|
341
359
|
_dispatchInputEvents() {
|
|
342
360
|
this.dispatchEvent(new InputEvent("input", {
|
|
@@ -413,14 +431,14 @@ var P = ".sbb-gap-fix-wrapper{position:relative;overflow:hidden;width:var(--sbb-
|
|
|
413
431
|
_setNextActiveOption(e, t) {
|
|
414
432
|
let n = this._selectableOptions();
|
|
415
433
|
if (n.length === 0) return;
|
|
416
|
-
let r = t ??
|
|
434
|
+
let r = t ?? re(e, this._activeItemIndex, n.length), i = n[r], a = n[this._activeItemIndex];
|
|
417
435
|
this._setActiveElement(i, a), this.multiple ? e?.shiftKey && i.selectViaUserInteraction(!i.selected) : this._setSelectedElement(i, a), this._activeItemIndex = r;
|
|
418
436
|
}
|
|
419
437
|
_setActiveElement(e, t = null, n = !0) {
|
|
420
|
-
e.setActive(!0), e.scrollIntoView({ block: "nearest" }), n && this._triggerElement?.setAttribute("aria-activedescendant", e.id), t && t
|
|
438
|
+
e.setActive(!0), e.scrollIntoView({ block: "nearest" }), n && this._triggerElement?.setAttribute("aria-activedescendant", e.id), t && !this.compareWith(t.value, e.value) && t.setActive(!1);
|
|
421
439
|
}
|
|
422
440
|
_setSelectedElement(e, t) {
|
|
423
|
-
e.selectViaUserInteraction(!0), t && t
|
|
441
|
+
e.selectViaUserInteraction(!0), t && !this.compareWith(t.value, e.value) && t.selectViaUserInteraction(!1);
|
|
424
442
|
}
|
|
425
443
|
_resetActiveElement() {
|
|
426
444
|
let e = this._selectableOptions()[this._activeItemIndex];
|
|
@@ -428,8 +446,11 @@ var P = ".sbb-gap-fix-wrapper{position:relative;overflow:hidden;width:var(--sbb-
|
|
|
428
446
|
}
|
|
429
447
|
_updateOptionsFromValue() {
|
|
430
448
|
let e = Array.isArray(this.value) ? this.value : [this.value], t = [];
|
|
431
|
-
for (let n of this.options) n.selected = e.
|
|
432
|
-
this._updateDisplayValue(), Array.isArray(this.value)
|
|
449
|
+
for (let n of this.options) n.selected = e.some((e) => this.compareWith(e, n.value)), n.selected && t.push(n);
|
|
450
|
+
if (this._updateDisplayValue(), !Array.isArray(this.value)) {
|
|
451
|
+
let e = this.value;
|
|
452
|
+
this._activeItemIndex = this._selectableOptions().findIndex((t) => this.compareWith(t.value, e));
|
|
453
|
+
}
|
|
433
454
|
}
|
|
434
455
|
_updateValueFromOptions() {
|
|
435
456
|
let e = this._getSelected();
|
|
@@ -482,31 +503,31 @@ var P = ".sbb-gap-fix-wrapper{position:relative;overflow:hidden;width:var(--sbb-
|
|
|
482
503
|
aria-owns=${this._overlayId}
|
|
483
504
|
@keydown=${this._onKeyDown}
|
|
484
505
|
@click=${this._toggleOpening}
|
|
485
|
-
${
|
|
506
|
+
${E((e) => this._triggerElement = e)}
|
|
486
507
|
>
|
|
487
|
-
${
|
|
508
|
+
${j(...this._spreadDeferredDisplayValue(n`<span>${this.placeholder}</span>`))}
|
|
488
509
|
</div>
|
|
489
510
|
|
|
490
511
|
<!-- Visually display the value -->
|
|
491
512
|
<div class="sbb-select__trigger" aria-hidden="true">
|
|
492
|
-
${
|
|
513
|
+
${j(...this._spreadDeferredDisplayValue(n`<span class="sbb-select__trigger--placeholder">${this.placeholder}</span>`))}
|
|
493
514
|
</div>
|
|
494
515
|
|
|
495
516
|
<div class="sbb-select__gap-fix"></div>
|
|
496
517
|
<div class="sbb-select__container" popover="manual">
|
|
497
|
-
<div class="sbb-select__gap-fix">${
|
|
518
|
+
<div class="sbb-select__gap-fix">${O()}</div>
|
|
498
519
|
<div
|
|
499
520
|
@animationend=${this._onAnimationEnd}
|
|
500
521
|
class="sbb-select__panel"
|
|
501
|
-
${
|
|
522
|
+
${E((e) => this._overlay = e)}
|
|
502
523
|
>
|
|
503
524
|
<div class="sbb-select__wrapper">
|
|
504
525
|
<div
|
|
505
|
-
id=${
|
|
526
|
+
id=${M ? i : this._overlayId}
|
|
506
527
|
class="sbb-select__options"
|
|
507
|
-
role=${
|
|
528
|
+
role=${M ? i : "listbox"}
|
|
508
529
|
?aria-multiselectable=${this.multiple}
|
|
509
|
-
${
|
|
530
|
+
${E((e) => this._optionContainer = e)}
|
|
510
531
|
tabindex="-1"
|
|
511
532
|
>
|
|
512
533
|
<slot @slotchange=${this._updateValueOptionState}></slot>
|
|
@@ -519,4 +540,4 @@ var P = ".sbb-gap-fix-wrapper{position:relative;overflow:hidden;width:var(--sbb-
|
|
|
519
540
|
};
|
|
520
541
|
})();
|
|
521
542
|
//#endregion
|
|
522
|
-
export {
|
|
543
|
+
export { P as t };
|
package/select.js
CHANGED
package/select.pure.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "./select.component-
|
|
1
|
+
import { t as e } from "./select.component-DeeRGEGn.js";
|
|
2
2
|
export { e as SbbSelectElement };
|