@sbb-esta/lyne-elements 1.14.1 → 1.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/autocomplete/autocomplete.d.ts +1 -1
- package/autocomplete/autocomplete.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts +1 -1
- package/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid.js +6 -6
- package/autocomplete.js +20 -19
- package/calendar/calendar.d.ts +1 -1
- package/calendar/calendar.d.ts.map +1 -1
- package/calendar.js +25 -27
- package/checkbox/checkbox-panel/checkbox-panel.d.ts +1 -1
- package/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -1
- package/checkbox/checkbox-panel.js +5 -5
- package/checkbox/common.js +1 -1
- package/clock/clock.d.ts +1 -1
- package/clock/clock.d.ts.map +1 -1
- package/clock.js +2 -2
- package/container/sticky-bar/sticky-bar.d.ts +29 -2
- package/container/sticky-bar/sticky-bar.d.ts.map +1 -1
- package/container/sticky-bar.js +69 -31
- package/core/controllers/media-matchers-controller.d.ts +32 -0
- package/core/controllers/media-matchers-controller.d.ts.map +1 -0
- package/core/controllers.d.ts +1 -0
- package/core/controllers.d.ts.map +1 -1
- package/core/controllers.js +75 -33
- package/core/dom/breakpoint.d.ts +2 -1
- package/core/dom/breakpoint.d.ts.map +1 -1
- package/core/dom.js +7 -7
- package/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
- package/core/mixins.js +8 -1
- package/core/styles/core/mediaqueries.scss +1 -2
- package/core/styles/mixins/buttons.scss +5 -5
- package/core/testing/event-spy.d.ts +6 -4
- package/core/testing/event-spy.d.ts.map +1 -1
- package/core/testing.js +82 -55
- package/custom-elements.json +609 -62
- package/datepicker/datepicker/datepicker.d.ts.map +1 -1
- package/development/autocomplete/autocomplete.d.ts +1 -1
- package/development/autocomplete/autocomplete.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts +1 -1
- package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid.js +4 -3
- package/development/autocomplete.js +4 -3
- package/development/calendar/calendar.d.ts +1 -1
- package/development/calendar/calendar.d.ts.map +1 -1
- package/development/calendar.js +8 -11
- package/development/checkbox/checkbox-panel/checkbox-panel.d.ts +1 -1
- package/development/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -1
- package/development/checkbox/checkbox-panel.js +2 -2
- package/development/checkbox/common.js +2 -2
- package/development/clock/clock.d.ts +1 -1
- package/development/clock/clock.d.ts.map +1 -1
- package/development/clock.js +3 -3
- package/development/container/sticky-bar/sticky-bar.d.ts +29 -2
- package/development/container/sticky-bar/sticky-bar.d.ts.map +1 -1
- package/development/container/sticky-bar.js +149 -36
- package/development/core/controllers/media-matchers-controller.d.ts +32 -0
- package/development/core/controllers/media-matchers-controller.d.ts.map +1 -0
- package/development/core/controllers.d.ts +1 -0
- package/development/core/controllers.d.ts.map +1 -1
- package/development/core/controllers.js +65 -1
- package/development/core/dom/breakpoint.d.ts +2 -1
- package/development/core/dom/breakpoint.d.ts.map +1 -1
- package/development/core/dom.js +2 -2
- package/development/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
- package/development/core/mixins.js +9 -2
- package/development/core/testing/event-spy.d.ts +6 -4
- package/development/core/testing/event-spy.d.ts.map +1 -1
- package/development/core/testing.js +35 -1
- package/development/datepicker/datepicker/datepicker.d.ts.map +1 -1
- package/development/datepicker/datepicker.js +1 -1
- package/development/dialog/dialog.js +2 -2
- package/development/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts +2 -0
- package/development/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts.map +1 -1
- package/development/expansion-panel/expansion-panel-header.js +7 -3
- package/development/file-selector/file-selector.d.ts +5 -0
- package/development/file-selector/file-selector.d.ts.map +1 -1
- package/development/file-selector.js +8 -1
- package/development/flip-card/flip-card/flip-card.d.ts +4 -0
- package/development/flip-card/flip-card/flip-card.d.ts.map +1 -1
- package/development/flip-card/flip-card-details.js +4 -6
- package/development/flip-card/flip-card-summary/flip-card-summary.d.ts +1 -1
- package/development/flip-card/flip-card-summary/flip-card-summary.d.ts.map +1 -1
- package/development/flip-card/flip-card-summary.js +9 -10
- package/development/flip-card/flip-card.js +26 -2
- package/development/form-field/form-field.js +5 -3
- package/development/icon/icon.d.ts +1 -1
- package/development/icon.js +1 -1
- package/development/image/image.d.ts.map +1 -1
- package/development/image.js +3 -19
- package/development/map-container.js +3 -2
- package/development/menu/menu/menu.d.ts +1 -0
- package/development/menu/menu/menu.d.ts.map +1 -1
- package/development/menu/menu.js +15 -11
- package/development/navigation/navigation-section.js +4 -14
- package/development/navigation/navigation.js +2 -7
- package/development/notification.js +3 -2
- package/development/paginator/paginator/paginator.d.ts +1 -5
- package/development/paginator/paginator/paginator.d.ts.map +1 -1
- package/development/paginator/paginator.js +19 -27
- package/development/popover/popover/popover.d.ts.map +1 -1
- package/development/popover/popover.js +9 -16
- package/development/radio-button/radio-button-panel/radio-button-panel.d.ts +1 -1
- package/development/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -1
- package/development/radio-button/radio-button-panel.js +2 -2
- package/development/sbb-tokens-BdGhUJjM.js +33 -0
- package/development/select/select.d.ts +6 -5
- package/development/select/select.d.ts.map +1 -1
- package/development/select.js +23 -14
- package/development/slider/slider.d.ts +5 -0
- package/development/slider/slider.d.ts.map +1 -1
- package/development/slider.js +8 -1
- package/development/table/table-wrapper/table-wrapper.d.ts +1 -1
- package/development/table/table-wrapper/table-wrapper.d.ts.map +1 -1
- package/development/table/table-wrapper.js +1 -1
- package/development/timetable-occupancy-icon/timetable-occupancy-icon.d.ts +2 -1
- package/development/timetable-occupancy-icon/timetable-occupancy-icon.d.ts.map +1 -1
- package/development/timetable-occupancy-icon.js +11 -9
- package/development/toggle-check/toggle-check.d.ts +1 -1
- package/development/toggle-check/toggle-check.d.ts.map +1 -1
- package/development/toggle-check.js +2 -2
- package/dialog/dialog.js +1 -1
- package/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts +2 -0
- package/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts.map +1 -1
- package/expansion-panel/expansion-panel-header.js +25 -23
- package/file-selector/file-selector.d.ts +5 -0
- package/file-selector/file-selector.d.ts.map +1 -1
- package/file-selector.js +7 -0
- package/flip-card/flip-card/flip-card.d.ts +4 -0
- package/flip-card/flip-card/flip-card.d.ts.map +1 -1
- package/flip-card/flip-card-details.js +6 -6
- package/flip-card/flip-card-summary/flip-card-summary.d.ts +1 -1
- package/flip-card/flip-card-summary/flip-card-summary.d.ts.map +1 -1
- package/flip-card/flip-card-summary.js +8 -8
- package/flip-card/flip-card.js +56 -42
- package/icon/icon.d.ts +1 -1
- package/image/image.d.ts.map +1 -1
- package/image.js +46 -45
- package/map-container.js +7 -7
- package/menu/menu/menu.d.ts +1 -0
- package/menu/menu/menu.d.ts.map +1 -1
- package/menu/menu.js +45 -41
- package/navigation/navigation-section.js +7 -7
- package/navigation/navigation.js +8 -8
- package/package.json +1 -1
- package/paginator/paginator/paginator.d.ts +1 -5
- package/paginator/paginator/paginator.d.ts.map +1 -1
- package/paginator/paginator.js +50 -52
- package/popover/popover/popover.d.ts.map +1 -1
- package/popover/popover.js +42 -46
- package/radio-button/radio-button-panel/radio-button-panel.d.ts +1 -1
- package/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -1
- package/radio-button/radio-button-panel.js +7 -7
- package/sbb-tokens-Dx20OtVg.js +18 -0
- package/select/select.d.ts +6 -5
- package/select/select.d.ts.map +1 -1
- package/select.js +55 -53
- package/slider/slider.d.ts +5 -0
- package/slider/slider.d.ts.map +1 -1
- package/slider.js +12 -5
- package/table/table-wrapper/table-wrapper.d.ts +1 -1
- package/table/table-wrapper/table-wrapper.d.ts.map +1 -1
- package/timetable-occupancy-icon/timetable-occupancy-icon.d.ts +2 -1
- package/timetable-occupancy-icon/timetable-occupancy-icon.d.ts.map +1 -1
- package/timetable-occupancy-icon.js +45 -44
- package/toggle-check/toggle-check.d.ts +1 -1
- package/toggle-check/toggle-check.d.ts.map +1 -1
- package/toggle-check.js +1 -1
package/popover/popover.js
CHANGED
|
@@ -4,26 +4,26 @@ var j = (s) => {
|
|
|
4
4
|
var K = (s, i, r) => i.has(s) || j("Cannot " + r);
|
|
5
5
|
var p = (s, i, r) => (K(s, i, "read from private field"), r ? r.call(s) : i.get(s)), c = (s, i, r) => i.has(s) ? j("Cannot add the same private member more than once") : i instanceof WeakSet ? i.add(s) : i.set(s, r), n = (s, i, r, b) => (K(s, i, "write to private field"), b ? b.call(s, r) : i.set(s, r), r);
|
|
6
6
|
import { __runInitializers as l, __esDecorate as h } from "tslib";
|
|
7
|
-
import { css as
|
|
7
|
+
import { css as G, isServer as Z, html as Q, nothing as J } from "lit";
|
|
8
8
|
import { customElement as ee, property as y } from "lit/decorators.js";
|
|
9
9
|
import { ref as te } from "lit/directives/ref.js";
|
|
10
|
-
import { SbbFocusHandler as oe, IS_FOCUSABLE_QUERY as se, setModalityOnNextFocus as
|
|
10
|
+
import { SbbFocusHandler as oe, IS_FOCUSABLE_QUERY as se, setModalityOnNextFocus as C, getFirstFocusableElement as ie } from "../core/a11y.js";
|
|
11
11
|
import { SbbOpenCloseBaseElement as re } from "../core/base-elements.js";
|
|
12
|
-
import {
|
|
12
|
+
import { SbbMediaQueryPointerCoarse as ae, SbbLanguageController as ne } from "../core/controllers.js";
|
|
13
13
|
import { forceType as w } from "../core/decorators.js";
|
|
14
|
-
import { findReferencedElement as
|
|
15
|
-
import { EventEmitter as V, composedPathHasAttribute as
|
|
16
|
-
import { i18nClosePopover as
|
|
17
|
-
import { SbbHydrationMixin as
|
|
18
|
-
import { isEventOnElement as X, removeAriaOverlayTriggerAttributes as
|
|
14
|
+
import { findReferencedElement as le } from "../core/dom.js";
|
|
15
|
+
import { EventEmitter as V, composedPathHasAttribute as be } from "../core/eventing.js";
|
|
16
|
+
import { i18nClosePopover as pe } from "../core/i18n.js";
|
|
17
|
+
import { SbbHydrationMixin as ce } from "../core/mixins.js";
|
|
18
|
+
import { isEventOnElement as X, removeAriaOverlayTriggerAttributes as he, setAriaOverlayTriggerAttributes as de, getElementPosition as ve } from "../core/overlay.js";
|
|
19
19
|
import "../button/secondary-button.js";
|
|
20
|
-
const
|
|
21
|
-
let
|
|
22
|
-
const E = /* @__PURE__ */ new Set();
|
|
23
|
-
let
|
|
20
|
+
const ue = G`*,:before,:after{box-sizing:border-box}:host{--sbb-popover-position: absolute;--sbb-popover-position-x: 0;--sbb-popover-position-y: 0;--sbb-popover-arrow-size: var(--sbb-spacing-fixed-4x);--sbb-popover-arrow-position-x: 0;--sbb-popover-max-width: calc(100% - var(--sbb-spacing-fixed-2x));--sbb-popover-inset: 0 auto auto 0;--sbb-popover-border-radius: var(--sbb-border-radius-8x);--sbb-popover-padding: var(--sbb-spacing-fixed-4x);--sbb-popover-background: var(--sbb-color-white);--sbb-popover-color: var(--sbb-color-charcoal);--sbb-popover-animation-duration: var( --sbb-disable-animation-time, var(--sbb-animation-duration-4x) );--sbb-popover-animation-easing: ease-out;--sbb-popover-transform: translateY(var(--sbb-spacing-fixed-2x));--sbb-focus-outline-color: var(--sbb-focus-outline-color-default);display:block}:host([data-position=above]){--sbb-popover-transform: translateY(calc(var(--sbb-spacing-fixed-2x) * -1))}:host(:not([data-state=closed])){--sbb-popover-inset: 0}.sbb-popover:after,.sbb-popover__content:before{content:"";position:absolute;display:block;width:var(--sbb-popover-arrow-size);height:var(--sbb-popover-arrow-size);left:var(--sbb-popover-arrow-position-x);bottom:calc(100% - var(--sbb-popover-arrow-size) / 2);background-color:var(--sbb-popover-background);border-radius:var(--sbb-border-radius-2x) 0;transform:rotate(45deg)}.sbb-popover__container{position:fixed;inset:var(--sbb-popover-inset);pointer-events:none;z-index:var(--sbb-popover-z-index, var(--sbb-overlay-default-z-index));color:var(--sbb-popover-color)}.sbb-popover{box-shadow:var(--sbb-shadow-elevation-level-5-shadow-2-offset-x) var(--sbb-shadow-elevation-level-5-shadow-2-offset-y) var(--sbb-shadow-elevation-level-5-shadow-2-blur) var(--sbb-shadow-elevation-level-5-shadow-2-spread) var(--sbb-shadow-elevation-level-5-hard-2-color),var(--sbb-shadow-elevation-level-5-shadow-1-offset-x) var(--sbb-shadow-elevation-level-5-shadow-1-offset-y) var(--sbb-shadow-elevation-level-5-shadow-1-blur) var(--sbb-shadow-elevation-level-5-shadow-1-spread) var(--sbb-shadow-elevation-level-5-hard-1-color);display:none;position:var(--sbb-popover-position);pointer-events:all;top:var(--sbb-popover-position-y);bottom:unset;left:var(--sbb-popover-position-x);right:unset;border:none;border-radius:var(--sbb-popover-border-radius);padding:0;max-width:var(--sbb-popover-max-width);width:max-content;background-color:var(--sbb-popover-background);outline:none}.sbb-popover:focus-visible:not([data-focus-origin=mouse],[data-focus-origin=touch]){outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) solid var(--sbb-focus-outline-width)}:host([data-state]:not([data-state=closed])) .sbb-popover{display:block;animation-name:open;animation-duration:var(--sbb-popover-animation-duration);animation-timing-function:var(--sbb-popover-animation-easing)}:host([data-state][data-state=closing]) .sbb-popover{pointer-events:none;animation-name:close;animation-duration:var(--sbb-popover-animation-duration);animation-timing-function:var(--sbb-popover-animation-easing)}.sbb-popover:after{z-index:-1;box-shadow:var(--sbb-shadow-elevation-level-5-shadow-2-offset-x) var(--sbb-shadow-elevation-level-5-shadow-2-offset-y) var(--sbb-shadow-elevation-level-5-shadow-2-blur) var(--sbb-shadow-elevation-level-5-shadow-2-spread) var(--sbb-shadow-elevation-level-5-hard-2-color),var(--sbb-shadow-elevation-level-5-shadow-1-offset-x) var(--sbb-shadow-elevation-level-5-shadow-1-offset-y) var(--sbb-shadow-elevation-level-5-shadow-1-blur) var(--sbb-shadow-elevation-level-5-shadow-1-spread) var(--sbb-shadow-elevation-level-5-hard-1-color)}@media (forced-colors: active){.sbb-popover:after{outline:var(--sbb-border-width-1x) solid CanvasText}}:host([data-position=above]) .sbb-popover:after{top:calc(100% - var(--sbb-popover-arrow-size) / 2)}@media (forced-colors: active){.sbb-popover{outline:var(--sbb-border-width-1x) solid CanvasText}}.sbb-popover:before{content:"";display:block;position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background-color:transparent}:host([data-position=below]) .sbb-popover:before{inset-block-start:calc(-1 * var(--sbb-spacing-fixed-6x))}:host([data-position=above]) .sbb-popover:before{inset-block-end:calc(-1 * var(--sbb-spacing-fixed-6x))}.sbb-popover__content{display:flex;gap:var(--sbb-spacing-fixed-4x);border-radius:var(--sbb-popover-border-radius);padding:var(--sbb-popover-padding);outline:none;background-color:var(--sbb-popover-background);overflow:hidden;flex-direction:row-reverse}:host([data-position=above]) .sbb-popover__content:before{top:calc(100% - var(--sbb-popover-arrow-size) / 2)}@keyframes open{0%{opacity:0;transform:var(--sbb-popover-transform)}to{opacity:1;transform:translateY(0)}}@keyframes close{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:var(--sbb-popover-transform)}}`, ge = 16, _e = 32;
|
|
21
|
+
let fe = 0;
|
|
22
|
+
const E = /* @__PURE__ */ new Set(), me = Z ? !1 : matchMedia(ae).matches;
|
|
23
|
+
let Me = (() => {
|
|
24
24
|
var d, v, u, g, _, f, a;
|
|
25
|
-
let s = [ee("sbb-popover")], i, r = [], b, T =
|
|
26
|
-
var
|
|
25
|
+
let s = [ee("sbb-popover")], i, r = [], b, T = ce(re), k, L = [], S = [], D, z = [], P = [], O, A = [], B = [], F, M = [], I = [], H, R = [], $ = [], N, U = [], Y = [];
|
|
26
|
+
var x = (a = class extends T {
|
|
27
27
|
constructor() {
|
|
28
28
|
super(...arguments);
|
|
29
29
|
c(this, d);
|
|
@@ -32,7 +32,7 @@ let Be = (() => {
|
|
|
32
32
|
c(this, g);
|
|
33
33
|
c(this, _);
|
|
34
34
|
c(this, f);
|
|
35
|
-
n(this, d, l(this, L, null)), n(this, v, (l(this, S), l(this, z, !1))), n(this, u, (l(this, P), l(this, A, !1))), n(this, g, (l(this, B), l(this, M, 0))), n(this, _, (l(this, I), l(this, R, 0))), n(this, f, (l(this, $), l(this, U, ""))), this.willClose = (l(this, Y), new V(this,
|
|
35
|
+
n(this, d, l(this, L, null)), n(this, v, (l(this, S), l(this, z, !1))), n(this, u, (l(this, P), l(this, A, !1))), n(this, g, (l(this, B), l(this, M, 0))), n(this, _, (l(this, I), l(this, R, 0))), n(this, f, (l(this, $), l(this, U, ""))), this.willClose = (l(this, Y), new V(this, x.events.willClose)), this.didClose = new V(this, x.events.didClose), this._skipCloseFocus = !1, this._focusHandler = new oe(), this._hoverTrigger = !1, this._language = new ne(this), this._pointerDownListener = (t) => {
|
|
36
36
|
this._isPointerDownEventOnPopover = X(this._overlay, t);
|
|
37
37
|
}, this._closeOnBackdropClick = (t) => {
|
|
38
38
|
!this._isPointerDownEventOnPopover && !X(this._overlay, t) && (this._nextFocusedElement = t.composedPath().filter((e) => e instanceof window.HTMLElement).find((e) => e.matches(se)), clearTimeout(this._closeTimeout), this.close());
|
|
@@ -115,7 +115,7 @@ let Be = (() => {
|
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
117
|
connectedCallback() {
|
|
118
|
-
super.connectedCallback(), this.id || (this.id = this.id || `sbb-popover-${++
|
|
118
|
+
super.connectedCallback(), this.id || (this.id = this.id || `sbb-popover-${++fe}`), this._configure(), this.state = "closed", E.add(this);
|
|
119
119
|
}
|
|
120
120
|
willUpdate(t) {
|
|
121
121
|
var e, o;
|
|
@@ -130,26 +130,22 @@ let Be = (() => {
|
|
|
130
130
|
}
|
|
131
131
|
// Check if the trigger is valid and attach click event listeners.
|
|
132
132
|
_configure() {
|
|
133
|
-
var
|
|
134
|
-
if (
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
ce(this._triggerElement), this.trigger && (this._triggerElement = ne(this.trigger), this._triggerElement && (he(this._triggerElement, "dialog", this.id, this.state), this._hoverTrigger = this.hoverTrigger && !window.matchMedia("(pointer: coarse)").matches, (t = this._popoverController) == null || t.abort(), this._popoverController = new AbortController(), this._hoverTrigger ? (this._triggerElement.addEventListener("mouseenter", this._onTriggerMouseEnter, {
|
|
140
|
-
signal: this._popoverController.signal
|
|
141
|
-
}), this._triggerElement.addEventListener("mouseleave", this._onTriggerMouseLeave, {
|
|
142
|
-
signal: this._popoverController.signal
|
|
143
|
-
}), this._triggerElement.addEventListener("keydown", (e) => {
|
|
144
|
-
(e.code === "Space" || e.code === "Enter") && this.open();
|
|
145
|
-
}, {
|
|
146
|
-
signal: this._popoverController.signal
|
|
147
|
-
})) : this._triggerElement.addEventListener("click", () => {
|
|
148
|
-
this.state === "closed" && this.open();
|
|
149
|
-
}, {
|
|
150
|
-
signal: this._popoverController.signal
|
|
151
|
-
})));
|
|
133
|
+
var e;
|
|
134
|
+
if (Z)
|
|
135
|
+
return;
|
|
136
|
+
if (this.hydrationRequired) {
|
|
137
|
+
this.hydrationComplete.then(() => this._configure());
|
|
138
|
+
return;
|
|
152
139
|
}
|
|
140
|
+
if (he(this._triggerElement), !this.trigger || (this._triggerElement = le(this.trigger), !this._triggerElement))
|
|
141
|
+
return;
|
|
142
|
+
de(this._triggerElement, "dialog", this.id, this.state), this._hoverTrigger = this.hoverTrigger && !me, (e = this._popoverController) == null || e.abort();
|
|
143
|
+
const { signal: t } = this._popoverController = new AbortController();
|
|
144
|
+
this._hoverTrigger ? (this._triggerElement.addEventListener("mouseenter", this._onTriggerMouseEnter, { signal: t }), this._triggerElement.addEventListener("mouseleave", this._onTriggerMouseLeave, { signal: t }), this._triggerElement.addEventListener("keydown", (o) => {
|
|
145
|
+
(o.code === "Space" || o.code === "Enter") && this.open();
|
|
146
|
+
}, { signal: t })) : this._triggerElement.addEventListener("click", () => {
|
|
147
|
+
this.state === "closed" && this.open();
|
|
148
|
+
}, { signal: t });
|
|
153
149
|
}
|
|
154
150
|
_attachWindowEvents() {
|
|
155
151
|
this._openStateController = new AbortController(), document.addEventListener("scroll", () => this._setPopoverPosition(), {
|
|
@@ -168,7 +164,7 @@ let Be = (() => {
|
|
|
168
164
|
}
|
|
169
165
|
// Close the popover on click of any element that has the 'sbb-popover-close' attribute.
|
|
170
166
|
_closeOnSbbPopoverCloseClick(t) {
|
|
171
|
-
const e =
|
|
167
|
+
const e = be(t, "sbb-popover-close", this);
|
|
172
168
|
e && !e.hasAttribute("disabled") && (clearTimeout(this._closeTimeout), this.close(e));
|
|
173
169
|
}
|
|
174
170
|
// Set popover position (x, y) to '0' once the popover is closed and the transition ended to prevent the
|
|
@@ -184,7 +180,7 @@ let Be = (() => {
|
|
|
184
180
|
else if (t.animationName === "close" && this.state === "closing") {
|
|
185
181
|
if (this.state = "closed", (o = (e = this._overlay) == null ? void 0 : e.firstElementChild) == null || o.scrollTo(0, 0), (q = this._overlay) == null || q.removeAttribute("tabindex"), !this._skipCloseFocus) {
|
|
186
182
|
const m = this._nextFocusedElement || this._triggerElement;
|
|
187
|
-
|
|
183
|
+
C(m), m == null || m.focus();
|
|
188
184
|
}
|
|
189
185
|
this.didClose.emit({ closeTarget: this._popoverCloseElement }), (W = this._openStateController) == null || W.abort(), this._focusHandler.disconnect();
|
|
190
186
|
}
|
|
@@ -192,7 +188,7 @@ let Be = (() => {
|
|
|
192
188
|
// Set focus on the first focusable element.
|
|
193
189
|
_setPopoverFocus() {
|
|
194
190
|
const t = this.shadowRoot.querySelector("[sbb-popover-close]") || ie(Array.from(this.children).filter((e) => e instanceof window.HTMLElement));
|
|
195
|
-
t ? (
|
|
191
|
+
t ? (C(t), t.focus()) : (this._overlay.setAttribute("tabindex", "0"), C(this._overlay), this._overlay.focus(), this._overlay.addEventListener("blur", () => {
|
|
196
192
|
setTimeout(() => {
|
|
197
193
|
var e;
|
|
198
194
|
document.visibilityState !== "hidden" && ((e = this._overlay) == null || e.removeAttribute("tabindex"), (this.state === "opened" || this.state === "opening") && (this._skipCloseFocus = !0), this.close());
|
|
@@ -204,9 +200,9 @@ let Be = (() => {
|
|
|
204
200
|
_setPopoverPosition() {
|
|
205
201
|
if (!this._overlay || !this._triggerElement)
|
|
206
202
|
return;
|
|
207
|
-
const t =
|
|
208
|
-
verticalOffset:
|
|
209
|
-
horizontalOffset:
|
|
203
|
+
const t = ve(this._overlay, this._triggerElement, this.shadowRoot.querySelector(".sbb-popover__container"), {
|
|
204
|
+
verticalOffset: ge,
|
|
205
|
+
horizontalOffset: _e,
|
|
210
206
|
centered: !0,
|
|
211
207
|
responsiveHeight: !0
|
|
212
208
|
});
|
|
@@ -218,7 +214,7 @@ let Be = (() => {
|
|
|
218
214
|
const t = Q`
|
|
219
215
|
<span class="sbb-popover__close">
|
|
220
216
|
<sbb-secondary-button
|
|
221
|
-
aria-label=${this.accessibilityCloseLabel ||
|
|
217
|
+
aria-label=${this.accessibilityCloseLabel || pe[this._language.current]}
|
|
222
218
|
size="s"
|
|
223
219
|
type="button"
|
|
224
220
|
icon-name="cross-small"
|
|
@@ -261,10 +257,10 @@ let Be = (() => {
|
|
|
261
257
|
e.closeDelay = o;
|
|
262
258
|
} }, metadata: t }, R, $), h(a, null, N, { kind: "accessor", name: "accessibilityCloseLabel", static: !1, private: !1, access: { has: (e) => "accessibilityCloseLabel" in e, get: (e) => e.accessibilityCloseLabel, set: (e, o) => {
|
|
263
259
|
e.accessibilityCloseLabel = o;
|
|
264
|
-
} }, metadata: t }, U, Y), h(null, i = { value: b }, s, { kind: "class", name: b.name, metadata: t }, null, r),
|
|
265
|
-
})(), a.styles =
|
|
266
|
-
return
|
|
260
|
+
} }, metadata: t }, U, Y), h(null, i = { value: b }, s, { kind: "class", name: b.name, metadata: t }, null, r), x = b = i.value, t && Object.defineProperty(b, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: t });
|
|
261
|
+
})(), a.styles = ue, l(b, r), a);
|
|
262
|
+
return x = b;
|
|
267
263
|
})();
|
|
268
264
|
export {
|
|
269
|
-
|
|
265
|
+
Me as SbbPopoverElement
|
|
270
266
|
};
|
|
@@ -18,7 +18,7 @@ export declare class SbbRadioButtonPanelElement extends SbbRadioButtonPanelEleme
|
|
|
18
18
|
};
|
|
19
19
|
/** Size variant. */
|
|
20
20
|
accessor size: SbbPanelSize;
|
|
21
|
-
protected willUpdate(changedProperties: PropertyValues<this>):
|
|
21
|
+
protected willUpdate(changedProperties: PropertyValues<this>): void;
|
|
22
22
|
protected render(): TemplateResult;
|
|
23
23
|
}
|
|
24
24
|
declare global {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio-button-panel.d.ts","sourceRoot":"","sources":["../../../../src/elements/radio-button/radio-button-panel/radio-button-panel.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAIb,OAAO,EAGL,KAAK,YAAY,EAElB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,6BAA6B,CAAC;;AAErC;;;;;;;;GAQG;AACH,qBAGM,0BAA2B,SAAQ,+BAExC;IACC,OAAuB,MAAM,EAAE,cAAc,CAA8C;IAG3F,gBAAuB,MAAM;;;MAGlB;IAEX,oBAAoB;IACpB,SAEgB,IAAI,EAAE,YAAY,CAAO;
|
|
1
|
+
{"version":3,"file":"radio-button-panel.d.ts","sourceRoot":"","sources":["../../../../src/elements/radio-button/radio-button-panel/radio-button-panel.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAIb,OAAO,EAGL,KAAK,YAAY,EAElB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,6BAA6B,CAAC;;AAErC;;;;;;;;GAQG;AACH,qBAGM,0BAA2B,SAAQ,+BAExC;IACC,OAAuB,MAAM,EAAE,cAAc,CAA8C;IAG3F,gBAAuB,MAAM;;;MAGlB;IAEX,oBAAoB;IACpB,SAEgB,IAAI,EAAE,YAAY,CAAO;cAEtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAQzD,MAAM,IAAI,cAAc;CA6B5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,wBAAwB,EAAE,0BAA0B,CAAC;KACtD;CACF"}
|
|
@@ -3,8 +3,8 @@ var h = (e) => {
|
|
|
3
3
|
};
|
|
4
4
|
var _ = (e, t, s) => t.has(e) || h("Cannot " + s);
|
|
5
5
|
var f = (e, t, s) => (_(e, t, "read from private field"), s ? s.call(e) : t.get(e)), z = (e, t, s) => t.has(e) ? h("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(e) : t.set(e, s), g = (e, t, s, a) => (_(e, t, "write to private field"), a ? a.call(e, s) : t.set(e, s), s);
|
|
6
|
-
import { __esDecorate as
|
|
7
|
-
import { LitElement as v, html as
|
|
6
|
+
import { __esDecorate as S, __runInitializers as c } from "tslib";
|
|
7
|
+
import { LitElement as v, html as y, nothing as x } from "lit";
|
|
8
8
|
import { customElement as k, property as C } from "lit/decorators.js";
|
|
9
9
|
import { slotState as $, getOverride as E } from "../core/decorators.js";
|
|
10
10
|
import { SbbPanelMixin as w, SbbUpdateSchedulerMixin as B, panelCommonStyle as D } from "../core/mixins.js";
|
|
@@ -26,11 +26,11 @@ let F = (() => {
|
|
|
26
26
|
set size(l) {
|
|
27
27
|
g(this, n, l);
|
|
28
28
|
}
|
|
29
|
-
|
|
29
|
+
willUpdate(l) {
|
|
30
30
|
super.willUpdate(l), l.has("checked") && this.toggleAttribute("data-checked", this.checked);
|
|
31
31
|
}
|
|
32
32
|
render() {
|
|
33
|
-
return
|
|
33
|
+
return y`
|
|
34
34
|
<label class="sbb-selection-panel">
|
|
35
35
|
<div class="sbb-selection-panel__badge">
|
|
36
36
|
<slot name="badge"></slot>
|
|
@@ -51,7 +51,7 @@ let F = (() => {
|
|
|
51
51
|
<slot name="suffix"></slot>
|
|
52
52
|
</span>
|
|
53
53
|
<slot name="subtext"></slot>
|
|
54
|
-
${this.expansionState ?
|
|
54
|
+
${this.expansionState ? y`<sbb-screen-reader-only>${this.expansionState}</sbb-screen-reader-only>` : x}
|
|
55
55
|
</span>
|
|
56
56
|
</label>
|
|
57
57
|
`;
|
|
@@ -61,9 +61,9 @@ let F = (() => {
|
|
|
61
61
|
b = [C({ reflect: !0 }), E((r, o) => {
|
|
62
62
|
var p;
|
|
63
63
|
return (p = r.group) != null && p.size ? r.group.size === "xs" ? "s" : r.group.size : o;
|
|
64
|
-
})],
|
|
64
|
+
})], S(i, null, b, { kind: "accessor", name: "size", static: !1, private: !1, access: { has: (r) => "size" in r, get: (r) => r.size, set: (r, o) => {
|
|
65
65
|
r.size = o;
|
|
66
|
-
} }, metadata: l }, m, u),
|
|
66
|
+
} }, metadata: l }, m, u), S(null, t = { value: a }, e, { kind: "class", name: a.name, metadata: l }, null, s), a = t.value, l && Object.defineProperty(a, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: l });
|
|
67
67
|
})(), i.styles = [M, D], i.events = {
|
|
68
68
|
stateChange: "stateChange",
|
|
69
69
|
panelConnected: "panelConnected"
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
const a = 0, n = 359, o = 360, t = 599, b = 600, s = 839, i = 840, e = 1023, r = 1024, c = 1279, S = 1280, M = 1439, p = 1440, k = 2579, B = 16;
|
|
2
|
+
export {
|
|
3
|
+
B as S,
|
|
4
|
+
a,
|
|
5
|
+
n as b,
|
|
6
|
+
o as c,
|
|
7
|
+
t as d,
|
|
8
|
+
b as e,
|
|
9
|
+
s as f,
|
|
10
|
+
i as g,
|
|
11
|
+
e as h,
|
|
12
|
+
r as i,
|
|
13
|
+
c as j,
|
|
14
|
+
S as k,
|
|
15
|
+
M as l,
|
|
16
|
+
p as m,
|
|
17
|
+
k as n
|
|
18
|
+
};
|
package/select/select.d.ts
CHANGED
|
@@ -40,6 +40,11 @@ export declare class SbbSelectElement extends SbbSelectElement_base {
|
|
|
40
40
|
accessor multiple: boolean;
|
|
41
41
|
/** Whether the select is readonly. */
|
|
42
42
|
accessor readonly: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Form type of element.
|
|
45
|
+
* @default 'select-one / select-multiple'
|
|
46
|
+
*/
|
|
47
|
+
get type(): string;
|
|
43
48
|
/** The value displayed by the component. */
|
|
44
49
|
private accessor _displayValue;
|
|
45
50
|
/**
|
|
@@ -73,11 +78,7 @@ export declare class SbbSelectElement extends SbbSelectElement_base {
|
|
|
73
78
|
private get _options();
|
|
74
79
|
private get _filteredOptions();
|
|
75
80
|
constructor();
|
|
76
|
-
|
|
77
|
-
* TODO: Accessibility fix required to correctly read the label;
|
|
78
|
-
* can be possibly removed after the merge of https://github.com/sbb-design-systems/lyne-components/issues/3062
|
|
79
|
-
*/
|
|
80
|
-
private _onSelectAttributesChange;
|
|
81
|
+
private _syncAriaLabels;
|
|
81
82
|
/** Opens the selection panel. */
|
|
82
83
|
open(): void;
|
|
83
84
|
/** Closes the selection panel. */
|
package/select/select.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../src/elements/select/select.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAO1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAKnE,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAOtB,MAAM,mBAAmB,CAAC;AAc3B,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC1B;;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAKM,gBAAiB,SAAQ,qBAY9B;IACC,OAAuB,MAAM,EAAE,cAAc,CAAS;IAGtD,gBAAgC,MAAM;;;;;;;;;MAS3B;IAEX,0DAA0D;IAC1D,SAEgB,WAAW,EAAE,MAAM,CAAM;IAEzC,wDAAwD;IACxD,SAEgB,QAAQ,EAAE,OAAO,CAAS;IAE1C,sCAAsC;IACtC,SAEgB,QAAQ,EAAE,OAAO,CAAS;IAE1C,4CAA4C;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAuB;IAE9D;;OAEG;IACH,OAAO,CAAC,UAAU,CAA2E;IAE7F,uDAAuD;IACvD,OAAO,CAAC,OAAO,CAAwE;IAEvF,uDAAuD;IACvD,OAAO,CAAC,MAAM,CAAuE;IAErF,gBAAgB;IAChB,OAAO,CAAC,YAAY,CAMlB;IAEF,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,gBAAgB,CAAe;IACvC,OAAO,CAAC,cAAc,CAAe;IACrC,OAAO,CAAC,eAAe,CAAe;IACtC,OAAO,CAAC,0BAA0B,CAAmB;IACrD,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,gBAAgB,CAAM;IAC9B,OAAO,CAAC,cAAc,CAAC,CAAgC;IACvD,OAAO,CAAC,aAAa,CAAM;IAC3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,yBAAyB,CAAkB;IACnD,OAAO,CAAC,MAAM,CAAyC;IAEvD;;;OAGG;IACH,IAAW,YAAY,IAAI,WAAW,CAErC;IAED,6DAA6D;IAC7D,OAAO,KAAK,QAAQ,GAEnB;IAED,OAAO,KAAK,gBAAgB,GAI3B;;
|
|
1
|
+
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../src/elements/select/select.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAO1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAKnE,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAOtB,MAAM,mBAAmB,CAAC;AAc3B,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC1B;;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAKM,gBAAiB,SAAQ,qBAY9B;IACC,OAAuB,MAAM,EAAE,cAAc,CAAS;IAGtD,gBAAgC,MAAM;;;;;;;;;MAS3B;IAEX,0DAA0D;IAC1D,SAEgB,WAAW,EAAE,MAAM,CAAM;IAEzC,wDAAwD;IACxD,SAEgB,QAAQ,EAAE,OAAO,CAAS;IAE1C,sCAAsC;IACtC,SAEgB,QAAQ,EAAE,OAAO,CAAS;IAE1C;;;OAGG;IACH,IAAoB,IAAI,IAAI,MAAM,CAEjC;IAED,4CAA4C;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAuB;IAE9D;;OAEG;IACH,OAAO,CAAC,UAAU,CAA2E;IAE7F,uDAAuD;IACvD,OAAO,CAAC,OAAO,CAAwE;IAEvF,uDAAuD;IACvD,OAAO,CAAC,MAAM,CAAuE;IAErF,gBAAgB;IAChB,OAAO,CAAC,YAAY,CAMlB;IAEF,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,gBAAgB,CAAe;IACvC,OAAO,CAAC,cAAc,CAAe;IACrC,OAAO,CAAC,eAAe,CAAe;IACtC,OAAO,CAAC,0BAA0B,CAAmB;IACrD,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,gBAAgB,CAAM;IAC9B,OAAO,CAAC,cAAc,CAAC,CAAgC;IACvD,OAAO,CAAC,aAAa,CAAM;IAC3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,yBAAyB,CAAkB;IACnD,OAAO,CAAC,MAAM,CAAyC;IAEvD;;;OAGG;IACH,IAAW,YAAY,IAAI,WAAW,CAErC;IAED,6DAA6D;IAC7D,OAAO,KAAK,QAAQ,GAEnB;IAED,OAAO,KAAK,gBAAgB,GAI3B;;IAaD,OAAO,CAAC,eAAe;IAiCvB,iCAAiC;IAC1B,IAAI,IAAI,IAAI;IAkBnB,kCAAkC;IAC3B,KAAK,IAAI,IAAI;IAYpB,wCAAwC;IACjC,eAAe,IAAI,MAAM;IAIhC,iCAAiC;IACjC,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,cAAc;IAWtB,oHAAoH;IACpH,OAAO,CAAC,eAAe;cAwBJ,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAc9E;;;;;OAKG;IACa,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAa5C,iBAAiB,IAAI,IAAI;cAuCtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAY5D,oBAAoB,IAAI,IAAI;cAMzB,eAAe,IAAI,IAAI;IAU1C;;;OAGG;IACI,iBAAiB,IAAI,IAAI;IAIhC;;OAEG;IACI,wBAAwB,CAC7B,KAAK,EAAE,gBAAgB,GAAG,IAAI,EAC9B,OAAO,EAAE,iBAAiB,GACzB,IAAI;IAcP,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,YAAY;IAOpB,sHAAsH;IACtH,OAAO,CAAC,YAAY;IAYpB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,oBAAoB;IAQ5B,yGAAyG;IACzG,OAAO,CAAC,iBAAiB;IAmBzB,kGAAkG;IAClG,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,sBAAsB;IAsB9B,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,+BAA+B;IAgBvC,OAAO,CAAC,+BAA+B;IAyCvC,OAAO,CAAC,wBAAwB;IAYhC,OAAO,CAAC,0BAA0B;IA0ClC,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,oBAAoB,CAE1B;IAGF,OAAO,CAAC,qBAAqB,CAI3B;IAEF,OAAO,CAAC,2BAA2B;IAqBnC,OAAO,CAAC,cAAc;IAoBtB,OAAO,CAAC,2BAA2B;YAMrB,qBAAqB;cAOhB,MAAM,IAAI,cAAc;CAoD5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,YAAY,EAAE,gBAAgB,CAAC;KAChC;CACF"}
|
package/select.js
CHANGED
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
var
|
|
1
|
+
var R = (a) => {
|
|
2
2
|
throw TypeError(a);
|
|
3
3
|
};
|
|
4
|
-
var q = (a, o, l) => o.has(a) ||
|
|
5
|
-
var f = (a, o, l) => (q(a, o, "read from private field"), l ? l.call(a) : o.get(a)), g = (a, o, l) => o.has(a) ?
|
|
4
|
+
var q = (a, o, l) => o.has(a) || R("Cannot " + l);
|
|
5
|
+
var f = (a, o, l) => (q(a, o, "read from private field"), l ? l.call(a) : o.get(a)), g = (a, o, l) => o.has(a) ? R("Cannot add the same private member more than once") : o instanceof WeakSet ? o.add(a) : o.set(a, l), d = (a, o, l, b) => (q(a, o, "write to private field"), b ? b.call(a, l) : o.set(a, l), l);
|
|
6
6
|
import { __esDecorate as m, __runInitializers as h } from "tslib";
|
|
7
|
-
import { MutationController as
|
|
8
|
-
import { css as
|
|
9
|
-
import { customElement as
|
|
7
|
+
import { MutationController as G } from "@lit-labs/observers/mutation-controller.js";
|
|
8
|
+
import { css as W, html as y, nothing as E } from "lit";
|
|
9
|
+
import { customElement as J, property as O, state as Q } from "lit/decorators.js";
|
|
10
10
|
import { ref as C } from "lit/directives/ref.js";
|
|
11
|
-
import { until as
|
|
12
|
-
import { getNextElementIndex as
|
|
13
|
-
import { SbbOpenCloseBaseElement as
|
|
14
|
-
import { SbbConnectedAbortController as
|
|
15
|
-
import { hostAttributes as
|
|
16
|
-
import { isNextjs as
|
|
11
|
+
import { until as j } from "lit/directives/until.js";
|
|
12
|
+
import { getNextElementIndex as X } from "./core/a11y.js";
|
|
13
|
+
import { SbbOpenCloseBaseElement as Z } from "./core/base-elements.js";
|
|
14
|
+
import { SbbConnectedAbortController as ee, SbbLanguageController as te } from "./core/controllers.js";
|
|
15
|
+
import { hostAttributes as se, forceType as A } from "./core/decorators.js";
|
|
16
|
+
import { setOrRemoveAttribute as S, isNextjs as H, isSafari as ie } from "./core/dom.js";
|
|
17
17
|
import { EventEmitter as x } from "./core/eventing.js";
|
|
18
|
-
import { SbbUpdateSchedulerMixin as
|
|
19
|
-
import { isEventOnElement as
|
|
20
|
-
const de = G`*,:before,:after{box-sizing:border-box}.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: var(--sbb-color-black-alpha-30);--sbb-scrollbar-color-hover: var(--sbb-color-black-alpha-60);--sbb-scrollbar-track-color: transparent;--sbb-options-panel-position-x: 0;--sbb-options-panel-position-y: 0;--sbb-options-panel-active-option-y: 0;--sbb-options-panel-max-height: calc(85vh - var(--sbb-spacing-fixed-8x));--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-time, 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-color-white);--sbb-focus-outline-color: var(--sbb-focus-outline-color-default);--sbb-options-panel-internal-z-index: var( --sbb-select-z-index, var(--sbb-overlay-default-z-index) );display:block}:host([negative]){--sbb-scrollbar-color: var(--sbb-color-white-alpha-30);--sbb-scrollbar-color-hover: var(--sbb-color-white-alpha-60);--sbb-options-panel-background-color: var(--sbb-color-midnight);--sbb-focus-outline-color: var(--sbb-focus-outline-color-dark)}:host(:not([data-state])),:host([data-state=closed]){--sbb-options-panel-visibility: hidden}:host([data-state=opening]){--sbb-options-panel-animation-name: open}:host([data-state=closing]){--sbb-options-panel-animation-name: close}:host([data-state=opened]),:host([data-state=opening]){--sbb-options-panel-gap-fix-opacity: 1}:host([data-options-panel-position=below]){--sbb-options-panel-animation-transform: translateY( calc((var(--sbb-options-panel-origin-height) / 2) * -1) )}:host([data-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-spacing-fixed-3x)}:host([preserve-icon-space]){--sbb-option-icon-container-display: block}.sbb-select__trigger{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;height:calc(1em * var(--sbb-typo-line-height-body-text))}.sbb-select__trigger--placeholder{color:var(--sbb-select-placeholder-color, var(--sbb-color-metal));-webkit-text-fill-color:var(--sbb-select-placeholder-color, var(--sbb-color-metal))}.sbb-select__container{position:fixed;pointer-events:none;top:0;right:0;bottom:0;left:0;z-index:var(--sbb-options-panel-internal-z-index)}.sbb-select__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-select__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-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([data-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([data-state=opened],[data-state=opening])) .sbb-select__panel{box-shadow:var(--sbb-shadow-elevation-level-5-shadow-2-offset-x) var(--sbb-shadow-elevation-level-5-shadow-2-offset-y) var(--sbb-shadow-elevation-level-5-shadow-2-blur) var(--sbb-shadow-elevation-level-5-shadow-2-spread) var(--sbb-shadow-elevation-level-5-hard-2-color),var(--sbb-shadow-elevation-level-5-shadow-1-offset-x) var(--sbb-shadow-elevation-level-5-shadow-1-offset-y) var(--sbb-shadow-elevation-level-5-shadow-1-blur) var(--sbb-shadow-elevation-level-5-shadow-1-spread) var(--sbb-shadow-elevation-level-5-hard-1-color)}:host(:is([data-state=opened],[data-state=opening])[negative]) .sbb-select__panel{box-shadow:var(--sbb-shadow-elevation-level-5-shadow-2-offset-x) var(--sbb-shadow-elevation-level-5-shadow-2-offset-y) var(--sbb-shadow-elevation-level-5-shadow-2-blur) var(--sbb-shadow-elevation-level-5-shadow-2-spread) var(--sbb-shadow-elevation-level-5-hard-negative-2-color),var(--sbb-shadow-elevation-level-5-shadow-1-offset-x) var(--sbb-shadow-elevation-level-5-shadow-1-offset-y) var(--sbb-shadow-elevation-level-5-shadow-1-blur) var(--sbb-shadow-elevation-level-5-shadow-1-spread) var(--sbb-shadow-elevation-level-5-hard-negative-1-color)}:host([data-options-panel-position=below]) .sbb-select__panel:before{display:block}:host([data-options-panel-position=above]) .sbb-select__panel:after{display:block}:host(:is([data-state=opened],[data-state=opening])[data-option-panel-origin-borderless]) .sbb-select__panel:before,:host(:is([data-state=opened],[data-state=opening])[data-option-panel-origin-borderless]) .sbb-select__panel:after{box-shadow:var(--sbb-shadow-elevation-level-5-shadow-2-offset-x) var(--sbb-shadow-elevation-level-5-shadow-2-offset-y) var(--sbb-shadow-elevation-level-5-shadow-2-blur) var(--sbb-shadow-elevation-level-5-shadow-2-spread) var(--sbb-shadow-elevation-level-5-hard-2-color),var(--sbb-shadow-elevation-level-5-shadow-1-offset-x) var(--sbb-shadow-elevation-level-5-shadow-1-offset-y) var(--sbb-shadow-elevation-level-5-shadow-1-blur) var(--sbb-shadow-elevation-level-5-shadow-1-spread) var(--sbb-shadow-elevation-level-5-hard-1-color)}:host(:is([data-state=opened],[data-state=opening])[data-option-panel-origin-borderless][negative]) .sbb-select__panel:before,:host(:is([data-state=opened],[data-state=opening])[data-option-panel-origin-borderless][negative]) .sbb-select__panel:after{box-shadow:var(--sbb-shadow-elevation-level-5-shadow-2-offset-x) var(--sbb-shadow-elevation-level-5-shadow-2-offset-y) var(--sbb-shadow-elevation-level-5-shadow-2-blur) var(--sbb-shadow-elevation-level-5-shadow-2-spread) var(--sbb-shadow-elevation-level-5-hard-negative-2-color),var(--sbb-shadow-elevation-level-5-shadow-1-offset-x) var(--sbb-shadow-elevation-level-5-shadow-1-offset-y) var(--sbb-shadow-elevation-level-5-shadow-1-blur) var(--sbb-shadow-elevation-level-5-shadow-1-spread) var(--sbb-shadow-elevation-level-5-hard-negative-1-color)}.sbb-select__wrapper{overflow:hidden}.sbb-select__options{background-color:var(--sbb-options-panel-background-color);padding-block:var(--sbb-spacing-fixed-3x);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)}}.sbb-select__options{padding-block:var(--sbb-spacing-fixed-2x)}@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}}`, k = te;
|
|
21
|
-
let
|
|
18
|
+
import { SbbUpdateSchedulerMixin as ae, SbbDisabledMixin as oe, SbbNegativeMixin as re, SbbHydrationMixin as le, SbbRequiredMixin as ne, SbbFormAssociatedMixin as be } from "./core/mixins.js";
|
|
19
|
+
import { isEventOnElement as Y, setOverlayPosition as de, overlayGapFixCorners as he } from "./core/overlay.js";
|
|
20
|
+
const pe = W`*,:before,:after{box-sizing:border-box}.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: var(--sbb-color-black-alpha-30);--sbb-scrollbar-color-hover: var(--sbb-color-black-alpha-60);--sbb-scrollbar-track-color: transparent;--sbb-options-panel-position-x: 0;--sbb-options-panel-position-y: 0;--sbb-options-panel-active-option-y: 0;--sbb-options-panel-max-height: calc(85vh - var(--sbb-spacing-fixed-8x));--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-time, 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-color-white);--sbb-focus-outline-color: var(--sbb-focus-outline-color-default);--sbb-options-panel-internal-z-index: var( --sbb-select-z-index, var(--sbb-overlay-default-z-index) );display:block}:host([negative]){--sbb-scrollbar-color: var(--sbb-color-white-alpha-30);--sbb-scrollbar-color-hover: var(--sbb-color-white-alpha-60);--sbb-options-panel-background-color: var(--sbb-color-midnight);--sbb-focus-outline-color: var(--sbb-focus-outline-color-dark)}:host(:not([data-state])),:host([data-state=closed]){--sbb-options-panel-visibility: hidden}:host([data-state=opening]){--sbb-options-panel-animation-name: open}:host([data-state=closing]){--sbb-options-panel-animation-name: close}:host([data-state=opened]),:host([data-state=opening]){--sbb-options-panel-gap-fix-opacity: 1}:host([data-options-panel-position=below]){--sbb-options-panel-animation-transform: translateY( calc((var(--sbb-options-panel-origin-height) / 2) * -1) )}:host([data-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-spacing-fixed-3x)}:host([preserve-icon-space]){--sbb-option-icon-container-display: block}.sbb-select__trigger{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;height:calc(1em * var(--sbb-typo-line-height-body-text))}.sbb-select__trigger--placeholder{color:var(--sbb-select-placeholder-color, var(--sbb-color-metal));-webkit-text-fill-color:var(--sbb-select-placeholder-color, var(--sbb-color-metal))}.sbb-select__container{position:fixed;pointer-events:none;top:0;right:0;bottom:0;left:0;z-index:var(--sbb-options-panel-internal-z-index)}.sbb-select__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-select__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-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([data-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([data-state=opened],[data-state=opening])) .sbb-select__panel{box-shadow:var(--sbb-shadow-elevation-level-5-shadow-2-offset-x) var(--sbb-shadow-elevation-level-5-shadow-2-offset-y) var(--sbb-shadow-elevation-level-5-shadow-2-blur) var(--sbb-shadow-elevation-level-5-shadow-2-spread) var(--sbb-shadow-elevation-level-5-hard-2-color),var(--sbb-shadow-elevation-level-5-shadow-1-offset-x) var(--sbb-shadow-elevation-level-5-shadow-1-offset-y) var(--sbb-shadow-elevation-level-5-shadow-1-blur) var(--sbb-shadow-elevation-level-5-shadow-1-spread) var(--sbb-shadow-elevation-level-5-hard-1-color)}:host(:is([data-state=opened],[data-state=opening])[negative]) .sbb-select__panel{box-shadow:var(--sbb-shadow-elevation-level-5-shadow-2-offset-x) var(--sbb-shadow-elevation-level-5-shadow-2-offset-y) var(--sbb-shadow-elevation-level-5-shadow-2-blur) var(--sbb-shadow-elevation-level-5-shadow-2-spread) var(--sbb-shadow-elevation-level-5-hard-negative-2-color),var(--sbb-shadow-elevation-level-5-shadow-1-offset-x) var(--sbb-shadow-elevation-level-5-shadow-1-offset-y) var(--sbb-shadow-elevation-level-5-shadow-1-blur) var(--sbb-shadow-elevation-level-5-shadow-1-spread) var(--sbb-shadow-elevation-level-5-hard-negative-1-color)}:host([data-options-panel-position=below]) .sbb-select__panel:before{display:block}:host([data-options-panel-position=above]) .sbb-select__panel:after{display:block}:host(:is([data-state=opened],[data-state=opening])[data-option-panel-origin-borderless]) .sbb-select__panel:before,:host(:is([data-state=opened],[data-state=opening])[data-option-panel-origin-borderless]) .sbb-select__panel:after{box-shadow:var(--sbb-shadow-elevation-level-5-shadow-2-offset-x) var(--sbb-shadow-elevation-level-5-shadow-2-offset-y) var(--sbb-shadow-elevation-level-5-shadow-2-blur) var(--sbb-shadow-elevation-level-5-shadow-2-spread) var(--sbb-shadow-elevation-level-5-hard-2-color),var(--sbb-shadow-elevation-level-5-shadow-1-offset-x) var(--sbb-shadow-elevation-level-5-shadow-1-offset-y) var(--sbb-shadow-elevation-level-5-shadow-1-blur) var(--sbb-shadow-elevation-level-5-shadow-1-spread) var(--sbb-shadow-elevation-level-5-hard-1-color)}:host(:is([data-state=opened],[data-state=opening])[data-option-panel-origin-borderless][negative]) .sbb-select__panel:before,:host(:is([data-state=opened],[data-state=opening])[data-option-panel-origin-borderless][negative]) .sbb-select__panel:after{box-shadow:var(--sbb-shadow-elevation-level-5-shadow-2-offset-x) var(--sbb-shadow-elevation-level-5-shadow-2-offset-y) var(--sbb-shadow-elevation-level-5-shadow-2-blur) var(--sbb-shadow-elevation-level-5-shadow-2-spread) var(--sbb-shadow-elevation-level-5-hard-negative-2-color),var(--sbb-shadow-elevation-level-5-shadow-1-offset-x) var(--sbb-shadow-elevation-level-5-shadow-1-offset-y) var(--sbb-shadow-elevation-level-5-shadow-1-blur) var(--sbb-shadow-elevation-level-5-shadow-1-spread) var(--sbb-shadow-elevation-level-5-hard-negative-1-color)}.sbb-select__wrapper{overflow:hidden}.sbb-select__options{background-color:var(--sbb-options-panel-background-color);padding-block:var(--sbb-spacing-fixed-3x);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)}}.sbb-select__options{padding-block:var(--sbb-spacing-fixed-2x)}@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}}`, k = ie;
|
|
21
|
+
let ce = 0, De = (() => {
|
|
22
22
|
var c, v, u, _, n;
|
|
23
|
-
let a = [
|
|
23
|
+
let a = [J("sbb-select"), se({
|
|
24
24
|
role: k ? "listbox" : null
|
|
25
|
-
})], o, l = [], b,
|
|
26
|
-
var p = (n = class extends
|
|
25
|
+
})], o, l = [], b, I = ae(oe(re(le(ne(be(Z)))))), D, V = [], L = [], $, P = [], T = [], z, N = [], U = [], B, K = [], M = [];
|
|
26
|
+
var p = (n = class extends I {
|
|
27
27
|
constructor() {
|
|
28
28
|
super();
|
|
29
29
|
g(this, c);
|
|
30
30
|
g(this, v);
|
|
31
31
|
g(this, u);
|
|
32
32
|
g(this, _);
|
|
33
|
-
d(this, c, h(this,
|
|
33
|
+
d(this, c, h(this, V, "")), d(this, v, (h(this, L), h(this, P, !1))), d(this, u, (h(this, T), h(this, N, !1))), d(this, _, (h(this, U), h(this, K, null))), this._didChange = (h(this, M), new x(this, p.events.didChange)), this._change = new x(this, p.events.change), this._input = new x(this, p.events.input), this._stateChange = new x(this, p.events.stateChange, {
|
|
34
34
|
composed: !1
|
|
35
|
-
}), this._overlayId = `sbb-select-${++
|
|
36
|
-
this._isPointerDownEventOnMenu =
|
|
35
|
+
}), this._overlayId = `sbb-select-${++ce}`, this._activeItemIndex = -1, this._searchString = "", this._didLoad = !1, this._isPointerDownEventOnMenu = !1, this._abort = new ee(this), this._pointerDownListener = (e) => {
|
|
36
|
+
this._isPointerDownEventOnMenu = Y(this._overlay, e);
|
|
37
37
|
}, this._closeOnBackdropClick = (e) => {
|
|
38
|
-
!this._isPointerDownEventOnMenu && !
|
|
39
|
-
}, new
|
|
40
|
-
config: { attributeFilter: ["aria-labelledby"] },
|
|
41
|
-
callback: (
|
|
42
|
-
});
|
|
38
|
+
!this._isPointerDownEventOnMenu && !Y(this._overlay, e) && this.close();
|
|
39
|
+
}, new G(this, {
|
|
40
|
+
config: { attributeFilter: ["aria-labelledby", "aria-label", "aria-describedby"] },
|
|
41
|
+
callback: () => this._syncAriaLabels()
|
|
42
|
+
}), new te(this).withHandler(() => setTimeout(() => this._syncAriaLabels()));
|
|
43
43
|
}
|
|
44
44
|
/** The placeholder used if no value has been selected. */
|
|
45
45
|
get placeholder() {
|
|
@@ -62,6 +62,13 @@ let he = 0, Se = (() => {
|
|
|
62
62
|
set readonly(e) {
|
|
63
63
|
d(this, u, e);
|
|
64
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* Form type of element.
|
|
67
|
+
* @default 'select-one / select-multiple'
|
|
68
|
+
*/
|
|
69
|
+
get type() {
|
|
70
|
+
return this.multiple ? "select-multiple" : "select-one";
|
|
71
|
+
}
|
|
65
72
|
/** The value displayed by the component. */
|
|
66
73
|
get _displayValue() {
|
|
67
74
|
return f(this, _);
|
|
@@ -84,14 +91,9 @@ let he = 0, Se = (() => {
|
|
|
84
91
|
get _filteredOptions() {
|
|
85
92
|
return this._options.filter((e) => !e.disabled && !e.hasAttribute("data-group-disabled"));
|
|
86
93
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
*/
|
|
91
|
-
_onSelectAttributesChange(e) {
|
|
92
|
-
var t;
|
|
93
|
-
for (const s of e)
|
|
94
|
-
s.attributeName === "aria-labelledby" && ((t = this._triggerElement) == null || t.setAttribute("aria-labelledby", this.getAttribute("aria-labelledby")));
|
|
94
|
+
_syncAriaLabels() {
|
|
95
|
+
var e;
|
|
96
|
+
this._triggerElement && (S(this._triggerElement, "aria-labelledby", this.getAttribute("aria-labelledby")), S(this._triggerElement, "aria-label", this.getAttribute("aria-label")), S(this._triggerElement, "aria-describedby", this.getAttribute("aria-describedby")), !this.getAttribute("aria-label") && !this.getAttribute("aria-labelledby") && this.internals.labels.length && ((e = this._triggerElement) == null || e.setAttribute("aria-label", Array.from(this.internals.labels).map((t) => t.textContent).join(", "))));
|
|
95
97
|
}
|
|
96
98
|
/** Opens the selection panel. */
|
|
97
99
|
open() {
|
|
@@ -128,7 +130,7 @@ let he = 0, Se = (() => {
|
|
|
128
130
|
this._stateChange.emit({ type: "value", value: e });
|
|
129
131
|
}
|
|
130
132
|
firstUpdated(e) {
|
|
131
|
-
super.firstUpdated(e), this.focus = () => this._triggerElement.focus(), this.blur = () => this._triggerElement.blur(),
|
|
133
|
+
super.firstUpdated(e), this.focus = () => this._triggerElement.focus(), this.blur = () => this._triggerElement.blur(), H() || (this.startUpdate(), this._setupSelect());
|
|
132
134
|
}
|
|
133
135
|
/**
|
|
134
136
|
* Removes element's first attribute whose qualified name is qualifiedName.
|
|
@@ -137,13 +139,13 @@ let he = 0, Se = (() => {
|
|
|
137
139
|
* @internal We need to override this due to a hydration issue with Next.js.
|
|
138
140
|
*/
|
|
139
141
|
removeAttribute(e) {
|
|
140
|
-
|
|
142
|
+
H() && e === "defer-hydration" && !this._didLoad && this.updateComplete.then(() => this._setupSelect()), super.removeAttribute(e);
|
|
141
143
|
}
|
|
142
144
|
connectedCallback() {
|
|
143
145
|
var s, i;
|
|
144
146
|
super.connectedCallback(), k && (this.id || (this.id = this._overlayId));
|
|
145
147
|
const e = this._abort.signal, t = ((s = this.closest) == null ? void 0 : s.call(this, "sbb-form-field")) ?? ((i = this.closest) == null ? void 0 : i.call(this, "[data-form-field]"));
|
|
146
|
-
t && (this.negative = t.hasAttribute("negative")), this._syncProperties(), this._didLoad && (this._setupOrigin(), this._setupTrigger()), this.value && this._onValueChanged(this.value), this.addEventListener("optionSelectionChange", (r) => this._onOptionChanged(r), { signal: e }), this.addEventListener("click", (r) => {
|
|
148
|
+
t && (this.negative = t.hasAttribute("negative")), this._syncProperties(), this._syncAriaLabels(), this._didLoad && (this._setupOrigin(), this._setupTrigger()), this.value && this._onValueChanged(this.value), this.addEventListener("optionSelectionChange", (r) => this._onOptionChanged(r), { signal: e }), this.addEventListener("click", (r) => {
|
|
147
149
|
this._onOptionClick(r), this._toggleOpening();
|
|
148
150
|
}, { signal: e });
|
|
149
151
|
}
|
|
@@ -204,7 +206,7 @@ let he = 0, Se = (() => {
|
|
|
204
206
|
this._triggerElement.style.top = "0px", this._triggerElement.style.height = `${e.offsetHeight}px`, this._triggerElement.style.width = `${e.offsetWidth}px`;
|
|
205
207
|
}
|
|
206
208
|
_setOverlayPosition() {
|
|
207
|
-
|
|
209
|
+
de(this._overlay, this._originElement, this._optionContainer, this.shadowRoot.querySelector(".sbb-select__container"), this);
|
|
208
210
|
}
|
|
209
211
|
// In rare cases it can be that the animationEnd event is triggered twice.
|
|
210
212
|
// To avoid entering a corrupt state, exit when state is not expected.
|
|
@@ -297,8 +299,8 @@ let he = 0, Se = (() => {
|
|
|
297
299
|
this._setNextActiveOption(e, this._filteredOptions.indexOf(i));
|
|
298
300
|
else if (this._searchString.length > 1 && new RegExp(`^${this._searchString.charAt(0)}*$`).test(this._searchString)) {
|
|
299
301
|
const r = s.find((w) => {
|
|
300
|
-
var
|
|
301
|
-
return ((
|
|
302
|
+
var F;
|
|
303
|
+
return ((F = w.textContent) == null ? void 0 : F.toLowerCase().indexOf(this._searchString[0].toLowerCase())) === 0;
|
|
302
304
|
});
|
|
303
305
|
r && this._setNextActiveOption(e, this._filteredOptions.indexOf(r));
|
|
304
306
|
} else
|
|
@@ -309,7 +311,7 @@ let he = 0, Se = (() => {
|
|
|
309
311
|
this.multiple ? e.setSelectedViaUserInteraction(!e.selected) : this.close();
|
|
310
312
|
}
|
|
311
313
|
_setNextActiveOption(e, t) {
|
|
312
|
-
const s = t ??
|
|
314
|
+
const s = t ?? X(e, this._activeItemIndex, this._filteredOptions.length), i = this._filteredOptions[s], r = this._filteredOptions[this._activeItemIndex];
|
|
313
315
|
this._setActiveElement(i, r), this.multiple ? e != null && e.shiftKey && i.setSelectedViaUserInteraction(!i.selected) : this._setSelectedElement(i, r), this._activeItemIndex = s;
|
|
314
316
|
}
|
|
315
317
|
_setActiveElement(e, t = null, s = !0) {
|
|
@@ -373,17 +375,17 @@ let he = 0, Se = (() => {
|
|
|
373
375
|
@click=${this._toggleOpening}
|
|
374
376
|
${C((e) => this._triggerElement = e)}
|
|
375
377
|
>
|
|
376
|
-
${
|
|
378
|
+
${j(...this._spreadDeferredDisplayValue(y`<span>${this.placeholder}</span>`))}
|
|
377
379
|
</div>
|
|
378
380
|
|
|
379
381
|
<!-- Visually display the value -->
|
|
380
382
|
<div class="sbb-select__trigger" aria-hidden="true">
|
|
381
|
-
${
|
|
383
|
+
${j(...this._spreadDeferredDisplayValue(y`<span class="sbb-select__trigger--placeholder">${this.placeholder}</span>`))}
|
|
382
384
|
</div>
|
|
383
385
|
|
|
384
386
|
<div class="sbb-select__gap-fix"></div>
|
|
385
387
|
<div class="sbb-select__container">
|
|
386
|
-
<div class="sbb-select__gap-fix">${
|
|
388
|
+
<div class="sbb-select__gap-fix">${he()}</div>
|
|
387
389
|
<div
|
|
388
390
|
@animationend=${this._onAnimationEnd}
|
|
389
391
|
class="sbb-select__panel"
|
|
@@ -405,17 +407,17 @@ let he = 0, Se = (() => {
|
|
|
405
407
|
`;
|
|
406
408
|
}
|
|
407
409
|
}, c = new WeakMap(), v = new WeakMap(), u = new WeakMap(), _ = new WeakMap(), b = n, (() => {
|
|
408
|
-
const e = typeof Symbol == "function" && Symbol.metadata ? Object.create(
|
|
409
|
-
|
|
410
|
+
const e = typeof Symbol == "function" && Symbol.metadata ? Object.create(I[Symbol.metadata] ?? null) : void 0;
|
|
411
|
+
D = [A(), O()], $ = [A(), O({ reflect: !0, type: Boolean })], z = [A(), O({ type: Boolean })], B = [Q()], m(n, null, D, { kind: "accessor", name: "placeholder", static: !1, private: !1, access: { has: (t) => "placeholder" in t, get: (t) => t.placeholder, set: (t, s) => {
|
|
410
412
|
t.placeholder = s;
|
|
411
|
-
} }, metadata: e },
|
|
413
|
+
} }, metadata: e }, V, L), m(n, null, $, { kind: "accessor", name: "multiple", static: !1, private: !1, access: { has: (t) => "multiple" in t, get: (t) => t.multiple, set: (t, s) => {
|
|
412
414
|
t.multiple = s;
|
|
413
|
-
} }, metadata: e }, P,
|
|
415
|
+
} }, metadata: e }, P, T), m(n, null, z, { kind: "accessor", name: "readonly", static: !1, private: !1, access: { has: (t) => "readonly" in t, get: (t) => t.readonly, set: (t, s) => {
|
|
414
416
|
t.readonly = s;
|
|
415
|
-
} }, metadata: e },
|
|
417
|
+
} }, metadata: e }, N, U), m(n, null, B, { kind: "accessor", name: "_displayValue", static: !1, private: !1, access: { has: (t) => "_displayValue" in t, get: (t) => t._displayValue, set: (t, s) => {
|
|
416
418
|
t._displayValue = s;
|
|
417
|
-
} }, metadata: e },
|
|
418
|
-
})(), n.styles =
|
|
419
|
+
} }, metadata: e }, K, M), m(null, o = { value: b }, a, { kind: "class", name: b.name, metadata: e }, null, l), p = b = o.value, e && Object.defineProperty(b, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: e });
|
|
420
|
+
})(), n.styles = pe, n.events = {
|
|
419
421
|
didChange: "didChange",
|
|
420
422
|
change: "change",
|
|
421
423
|
input: "input",
|
|
@@ -428,5 +430,5 @@ let he = 0, Se = (() => {
|
|
|
428
430
|
return p = b;
|
|
429
431
|
})();
|
|
430
432
|
export {
|
|
431
|
-
|
|
433
|
+
De as SbbSelectElement
|
|
432
434
|
};
|
package/slider/slider.d.ts
CHANGED
|
@@ -40,6 +40,11 @@ export declare class SbbSliderElement extends SbbSliderElement_base {
|
|
|
40
40
|
accessor startIcon: string;
|
|
41
41
|
/** Name of the icon at component's end, which will be forward to the nested `sbb-icon`. */
|
|
42
42
|
accessor endIcon: string;
|
|
43
|
+
/**
|
|
44
|
+
* Form type of element.
|
|
45
|
+
* @default 'range'
|
|
46
|
+
*/
|
|
47
|
+
get type(): string;
|
|
43
48
|
/**
|
|
44
49
|
* The ratio between the absolute value and the validity interval.
|
|
45
50
|
* E.g. given `min=0`, `max=100` and `value=50`, then `_valueFraction=0.5`
|
package/slider/slider.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../../src/elements/slider/slider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAQ,UAAU,EAAW,MAAM,KAAK,CAAC;AAQhD,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAGtB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,YAAY,CAAC;;AAEpB;;;;;;;GAOG;AACH,qBAKM,gBAAiB,SAAQ,qBAAoD;IACjF,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;MAElB;IAEX;;;OAGG;IACH,IACoB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAQ7C;IACD,IAAoB,KAAK,IAAI,MAAM,CAElC;IAED,oDAAoD;IACpD,IACW,aAAa,CAAC,KAAK,EAAE,MAAM,EAErC;IACD,IAAW,aAAa,IAAI,MAAM,GAAG,IAAI,CAExC;IAED,+DAA+D;IAC/D,IACW,GAAG,CAAC,KAAK,EAAE,MAAM,EAO3B;IACD,IAAW,GAAG,IAAI,MAAM,CAEvB;IACD,OAAO,CAAC,IAAI,CAAe;IAE3B,+DAA+D;IAC/D,IACW,GAAG,CAAC,KAAK,EAAE,MAAM,EAO3B;IACD,IAAW,GAAG,IAAI,MAAM,CAEvB;IACD,OAAO,CAAC,IAAI,CAAiB;IAE7B;;;OAGG;IACH,SAEgB,QAAQ,EAAE,OAAO,CAAS;IAE1C,6FAA6F;IAC7F,SAEgB,SAAS,EAAE,MAAM,CAAM;IAEvC,2FAA2F;IAC3F,SAEgB,OAAO,EAAE,MAAM,CAAM;IAErC;;;OAGG;IACM,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAK;IAE7C;;OAEG;IACH,OAAO,CAAC,UAAU,CAGf;IAEH,iEAAiE;IACjE,OAAO,CAAC,WAAW,CAAoB;IAEvC,OAAO,CAAC,MAAM,CAAyC;;IAQvC,iBAAiB,IAAI,IAAI;cAUtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAc5E;;;OAGG;IACI,iBAAiB,IAAI,IAAI;IAIhC;;OAEG;IACI,wBAAwB,CAC7B,KAAK,EAAE,gBAAgB,GAAG,IAAI,EAC9B,OAAO,EAAE,iBAAiB,GACzB,IAAI;cAIY,eAAe,IAAI,IAAI;IAI1C;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,uBAAuB;YASjB,cAAc;IAgC5B,8BAA8B;IAC9B,OAAO,CAAC,WAAW;cAKA,MAAM,IAAI,cAAc;CAmC5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,YAAY,EAAE,gBAAgB,CAAC;KAChC;CACF"}
|
|
1
|
+
{"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../../src/elements/slider/slider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAQ,UAAU,EAAW,MAAM,KAAK,CAAC;AAQhD,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAGtB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,YAAY,CAAC;;AAEpB;;;;;;;GAOG;AACH,qBAKM,gBAAiB,SAAQ,qBAAoD;IACjF,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;MAElB;IAEX;;;OAGG;IACH,IACoB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAQ7C;IACD,IAAoB,KAAK,IAAI,MAAM,CAElC;IAED,oDAAoD;IACpD,IACW,aAAa,CAAC,KAAK,EAAE,MAAM,EAErC;IACD,IAAW,aAAa,IAAI,MAAM,GAAG,IAAI,CAExC;IAED,+DAA+D;IAC/D,IACW,GAAG,CAAC,KAAK,EAAE,MAAM,EAO3B;IACD,IAAW,GAAG,IAAI,MAAM,CAEvB;IACD,OAAO,CAAC,IAAI,CAAe;IAE3B,+DAA+D;IAC/D,IACW,GAAG,CAAC,KAAK,EAAE,MAAM,EAO3B;IACD,IAAW,GAAG,IAAI,MAAM,CAEvB;IACD,OAAO,CAAC,IAAI,CAAiB;IAE7B;;;OAGG;IACH,SAEgB,QAAQ,EAAE,OAAO,CAAS;IAE1C,6FAA6F;IAC7F,SAEgB,SAAS,EAAE,MAAM,CAAM;IAEvC,2FAA2F;IAC3F,SAEgB,OAAO,EAAE,MAAM,CAAM;IAErC;;;OAGG;IACH,IAAoB,IAAI,IAAI,MAAM,CAEjC;IAED;;;OAGG;IACM,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAK;IAE7C;;OAEG;IACH,OAAO,CAAC,UAAU,CAGf;IAEH,iEAAiE;IACjE,OAAO,CAAC,WAAW,CAAoB;IAEvC,OAAO,CAAC,MAAM,CAAyC;;IAQvC,iBAAiB,IAAI,IAAI;cAUtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAc5E;;;OAGG;IACI,iBAAiB,IAAI,IAAI;IAIhC;;OAEG;IACI,wBAAwB,CAC7B,KAAK,EAAE,gBAAgB,GAAG,IAAI,EAC9B,OAAO,EAAE,iBAAiB,GACzB,IAAI;cAIY,eAAe,IAAI,IAAI;IAI1C;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,uBAAuB;YASjB,cAAc;IAgC5B,8BAA8B;IAC9B,OAAO,CAAC,WAAW;cAKA,MAAM,IAAI,cAAc;CAmC5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,YAAY,EAAE,gBAAgB,CAAC;KAChC;CACF"}
|