@sbb-esta/lyne-elements 1.11.3 → 1.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_index.scss +1 -1
- package/core/i18n/i18n.d.ts +5 -0
- package/core/i18n/i18n.d.ts.map +1 -1
- package/core/i18n.js +85 -55
- package/core/styles/core/functions.scss +1 -1
- package/core/styles/lists.scss +4 -0
- package/core/styles/mixins/helpers.scss +1 -1
- package/core/styles/mixins/lists.scss +128 -77
- package/core/styles/mixins/scrollbar.scss +2 -2
- package/core/styles/mixins/table.scss +4 -6
- package/core/styles/normalize.scss +62 -131
- package/core.css +0 -5
- package/custom-elements.json +781 -77
- package/development/accordion.js +2 -9
- package/development/action-group.js +2 -9
- package/development/alert/alert-group.js +2 -9
- package/development/alert/alert.js +2 -9
- package/development/autocomplete-grid/autocomplete-grid-button.js +2 -9
- package/development/autocomplete-grid/autocomplete-grid-cell.js +2 -9
- package/development/autocomplete-grid/autocomplete-grid-option.js +2 -9
- package/development/autocomplete-grid/autocomplete-grid-row.js +2 -9
- package/development/autocomplete.js +2 -12
- package/development/breadcrumb/breadcrumb-group.js +2 -9
- package/development/breadcrumb/breadcrumb.js +2 -9
- package/development/button/common.js +2 -11
- package/development/button/mini-button-group.js +2 -9
- package/development/button/mini-button.js +2 -9
- package/development/calendar.js +2 -9
- package/development/card/card-badge.js +2 -9
- package/development/card/card.js +2 -9
- package/development/card/common.js +2 -9
- package/development/checkbox/checkbox-group.js +2 -9
- package/development/checkbox/checkbox.js +2 -9
- package/development/checkbox/common.js +1 -8
- package/development/chip.js +2 -9
- package/development/clock.js +2 -9
- package/development/container/container.js +1 -8
- package/development/container/sticky-bar.js +2 -9
- package/development/core/i18n/i18n.d.ts +5 -0
- package/development/core/i18n/i18n.d.ts.map +1 -1
- package/development/core/i18n.js +36 -1
- package/development/core/mixins.js +2 -9
- package/development/datepicker/datepicker-next-day.js +2 -9
- package/development/datepicker/datepicker-previous-day.js +2 -9
- package/development/datepicker/datepicker-toggle.js +2 -9
- package/development/datepicker/datepicker.js +2 -9
- package/development/dialog/dialog-actions.js +2 -9
- package/development/dialog/dialog-content.js +2 -11
- package/development/dialog/dialog-title.js +2 -9
- package/development/dialog/dialog.js +2 -9
- package/development/divider.js +2 -9
- package/development/expansion-panel/expansion-panel-content.js +2 -9
- package/development/expansion-panel/expansion-panel-header.js +2 -9
- package/development/expansion-panel/expansion-panel.js +2 -9
- package/development/file-selector.js +2 -9
- package/development/flip-card/flip-card-details.js +2 -9
- package/development/flip-card/flip-card-summary.js +2 -9
- package/development/flip-card/flip-card.js +2 -9
- package/development/footer.js +2 -9
- package/development/form-error.js +2 -9
- package/development/form-field/form-field-clear.js +2 -9
- package/development/form-field/form-field.js +1 -12
- package/development/header/common.js +2 -9
- package/development/header/header.js +2 -9
- package/development/icon.js +2 -9
- package/development/image/image.d.ts +1 -0
- package/development/image/image.d.ts.map +1 -1
- package/development/image.js +13 -13
- package/development/journey-header.js +2 -9
- package/development/lead-container.js +2 -9
- package/development/link/common.js +4 -25
- package/development/link-list/common.js +2 -9
- package/development/link-list/link-list-anchor.js +2 -9
- package/development/link-list/link-list.js +2 -9
- package/development/loading-indicator.js +2 -10
- package/development/logo.js +2 -9
- package/development/map-container.js +2 -11
- package/development/menu/common.js +2 -9
- package/development/menu/menu.js +2 -11
- package/development/message.js +2 -9
- package/development/navigation/common.js +2 -9
- package/development/navigation/navigation-list.js +2 -9
- package/development/navigation/navigation-marker.js +2 -9
- package/development/navigation/navigation-section.js +2 -11
- package/development/navigation/navigation.js +2 -11
- package/development/notification.js +2 -10
- package/development/option/optgroup.js +2 -9
- package/development/option/option.js +2 -9
- package/development/overlay.js +2 -11
- package/development/paginator/index.d.ts +2 -0
- package/development/paginator/index.d.ts.map +1 -0
- package/development/paginator/paginator.d.ts +91 -0
- package/development/paginator/paginator.d.ts.map +1 -0
- package/development/paginator.d.ts +2 -0
- package/development/paginator.d.ts.map +1 -0
- package/development/paginator.js +519 -0
- package/development/popover/popover-trigger.js +2 -9
- package/development/popover/popover.js +2 -9
- package/development/radio-button/common.js +2 -9
- package/development/radio-button/radio-button-group/radio-button-group.d.ts +1 -1
- package/development/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
- package/development/radio-button/radio-button-group.js +19 -22
- package/development/radio-button/radio-button.js +2 -9
- package/development/screen-reader-only.js +2 -9
- package/development/select/select.d.ts +6 -0
- package/development/select/select.d.ts.map +1 -1
- package/development/select.js +23 -18
- package/development/selection-expansion-panel.js +2 -9
- package/development/signet.js +2 -9
- package/development/skiplink-list.js +2 -9
- package/development/slider/slider.d.ts +35 -16
- package/development/slider/slider.d.ts.map +1 -1
- package/development/slider.js +102 -88
- package/development/status.js +2 -9
- package/development/stepper/step-label.js +2 -9
- package/development/stepper/step.js +2 -9
- package/development/stepper/stepper.js +2 -9
- package/development/table/table-wrapper.js +2 -11
- package/development/tabs/tab-group.js +2 -9
- package/development/tabs/tab-label.js +2 -9
- package/development/tabs/tab.js +1 -8
- package/development/tag/tag-group.js +2 -9
- package/development/tag/tag.js +2 -9
- package/development/teaser-hero.js +2 -9
- package/development/teaser-product/common.js +2 -9
- package/development/teaser-product/teaser-product.js +2 -9
- package/development/teaser.js +12 -11
- package/development/time-input.js +2 -9
- package/development/timetable-occupancy-icon.js +2 -9
- package/development/timetable-occupancy.js +2 -9
- package/development/title.js +3 -17
- package/development/toast.js +2 -9
- package/development/toggle/toggle-option.js +2 -9
- package/development/toggle/toggle.js +2 -9
- package/development/toggle-check.js +1 -8
- package/development/train/train-blocked-passage.js +2 -9
- package/development/train/train-formation.js +2 -11
- package/development/train/train-wagon.js +2 -9
- package/development/train/train.js +2 -9
- package/development/visual-checkbox.js +2 -9
- package/image/image.d.ts +1 -0
- package/image/image.d.ts.map +1 -1
- package/image.js +7 -7
- package/index.d.ts +2 -0
- package/index.js +2 -0
- package/lists.css +97 -38
- package/normalize.css +21 -113
- package/package.json +6 -1
- package/paginator/index.d.ts +2 -0
- package/paginator/index.d.ts.map +1 -0
- package/paginator/paginator.d.ts +91 -0
- package/paginator/paginator.d.ts.map +1 -0
- package/paginator.d.ts +2 -0
- package/paginator.d.ts.map +1 -0
- package/paginator.js +263 -0
- package/radio-button/radio-button-group/radio-button-group.d.ts +1 -1
- package/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
- package/radio-button/radio-button-group.js +13 -8
- package/select/select.d.ts +6 -0
- package/select/select.d.ts.map +1 -1
- package/select.js +40 -24
- package/slider/slider.d.ts +35 -16
- package/slider/slider.d.ts.map +1 -1
- package/slider.js +111 -78
- package/standard-theme.css +116 -160
- package/teaser.js +16 -16
package/paginator.js
ADDED
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
import { css as d, LitElement as u, html as r, nothing as h } from "lit";
|
|
2
|
+
import { property as p, customElement as m } from "lit/decorators.js";
|
|
3
|
+
import { repeat as c } from "lit/directives/repeat.js";
|
|
4
|
+
import { sbbInputModalityDetector as _ } from "./core/a11y.js";
|
|
5
|
+
import { SbbLanguageController as v } from "./core/controllers.js";
|
|
6
|
+
import { hostAttributes as f } from "./core/decorators.js";
|
|
7
|
+
import { EventEmitter as x } from "./core/eventing.js";
|
|
8
|
+
import { i18nSelectedPage as y, i18nPreviousPage as z, i18nNextPage as w, i18nItemsPerPage as P, i18nPage as I } from "./core/i18n.js";
|
|
9
|
+
import { SbbNegativeMixin as S } from "./core/mixins.js";
|
|
10
|
+
import "./button/mini-button.js";
|
|
11
|
+
import "./button/mini-button-group.js";
|
|
12
|
+
import "./divider.js";
|
|
13
|
+
import "./form-field.js";
|
|
14
|
+
import "./select.js";
|
|
15
|
+
import "./option.js";
|
|
16
|
+
import "./screen-reader-only.js";
|
|
17
|
+
const $ = d`*,:before,:after{box-sizing:border-box}:host{display:block;--sbb-paginator-height: var(--sbb-size-element-m);--sbb-paginator-page-color: var(--sbb-color-metal);--sbb-paginator-page-background-color: transparent;--sbb-paginator-page-border-width: 0;--sbb-paginator-page-border-style: none;--sbb-paginator-page-border-color: none;--sbb-paginator-page-inset: 0;--sbb-paginator-animation-easing: var(--sbb-animation-easing);--sbb-paginator-animation-duration: var( --sbb-disable-animation-zero-time, var(--sbb-animation-duration-2x) );--sbb-paginator-justify-content: start;--sbb-paginator-wrapping-group-wrap: wrap-reverse;--sbb-paginator-wrap: wrap}:host([size=s]){--sbb-paginator-height: var(--sbb-size-element-xs)}:host([negative]){--sbb-paginator-page-color: var(--sbb-color-smoke);--sbb-focus-outline-color: var(--sbb-focus-outline-color-dark)}:host([pager-position=end]){--sbb-paginator-justify-content: end;--sbb-paginator-wrapping-group-wrap: wrap;--sbb-paginator-wrap: wrap-reverse}.sbb-paginator,.sbb-paginator__wrapping-group{display:flex;gap:var(--sbb-spacing-fixed-3x) var(--sbb-spacing-fixed-6x);justify-content:var(--sbb-paginator-justify-content)}.sbb-paginator{flex-wrap:var(--sbb-paginator-wrap);min-height:var(--sbb-paginator-height)}.sbb-paginator__wrapping-group{flex-wrap:var(--sbb-paginator-wrapping-group-wrap)}.sbb-paginator__page-size-options{--sbb-text-font-size: var(--sbb-font-size-text-s);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);display:flex;align-items:center;gap:var(--sbb-spacing-fixed-2x);white-space:nowrap;color:var(--sbb-paginator-page-color)}.sbb-paginator__pages{list-style:none;margin:0;padding:0;font-size:inherit;display:flex;align-items:center;justify-content:center;gap:var(--sbb-spacing-fixed-1x);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.sbb-paginator__page--ellipsis,.sbb-paginator__page--number{--sbb-text-font-size: var(--sbb-font-size-text-s);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);position:relative;color:var(--sbb-paginator-page-color)}.sbb-paginator__page--ellipsis-item,.sbb-paginator__page--number-item{display:flex;justify-content:center;align-items:center;width:var(--sbb-size-element-xxs);height:var(--sbb-size-element-xxs)}.sbb-paginator__page--number-item{-webkit-appearance:none;-moz-appearance:none;box-sizing:border-box;margin:0;outline:none;border:none;border-radius:0;padding:0;background:none;-webkit-tap-highlight-color:transparent;color:inherit;--sbb-text-font-size: var(--sbb-font-size-text-s);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);position:relative;cursor:pointer;outline:none!important;color:var(--sbb-paginator-page-color);transition:color var(--sbb-paginator-animation-duration) var(--sbb-paginator-animation-easing)}.sbb-paginator__page--number-item:before{content:"";position:absolute;background-color:var(--sbb-paginator-page-background-color);border:var(--sbb-paginator-page-border-width) var(--sbb-paginator-page-border-style) var(--sbb-paginator-page-border-color);border-radius:var(--sbb-border-radius-infinity);inset:var(--sbb-paginator-page-inset);transition-property:background-color,border,inset;transition-duration:var(--sbb-paginator-animation-duration);transition-timing-function:var(--sbb-paginator-animation-easing)}.sbb-paginator__page--number-item:focus-visible:not([data-focus-origin=mouse],[data-focus-origin=touch]):before{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) solid var(--sbb-focus-outline-width);outline-offset:var(--sbb-border-width-2x)}.sbb-paginator__page--number-item[data-selected]{font-weight:700;--sbb-paginator-page-color: var(--sbb-color-charcoal);--sbb-paginator-page-border-width: var(--sbb-border-width-2x);--sbb-paginator-page-border-style: solid;--sbb-paginator-page-border-color: var(--sbb-color-charcoal)}:host([negative]) .sbb-paginator__page--number-item[data-selected]{--sbb-paginator-page-color: var(--sbb-color-milk);--sbb-paginator-page-border-width: var(--sbb-border-width-2x);--sbb-paginator-page-border-style: solid;--sbb-paginator-page-border-color: var(--sbb-color-white)}@media (forced-colors: active){.sbb-paginator__page--number-item[data-selected]{--sbb-paginator-page-border-color: Highlight !important}}@media (any-hover: hover){.sbb-paginator__page--number-item:hover{--sbb-paginator-page-background-color: var(--sbb-color-milk);--sbb-paginator-page-inset: calc(var(--sbb-border-width-2x) * -1);--sbb-paginator-translate-y-content-hover: -.0625rem}:host([negative]) .sbb-paginator__page--number-item:hover{--sbb-paginator-page-background-color: var(--sbb-color-charcoal)}}@media (any-hover: hover) and (forced-colors: active){.sbb-paginator__page--number-item:hover{--sbb-paginator-page-background-color: Highlight !important}}.sbb-paginator__page--number-item:active{--sbb-paginator-page-color: var(--sbb-color-charcoal);--sbb-paginator-page-background-color: var(--sbb-color-cloud);--sbb-paginator-page-inset: 0;--sbb-paginator-translate-y-content-hover: 0}:host([negative]) .sbb-paginator__page--number-item:active{--sbb-paginator-page-color: var(--sbb-color-milk);--sbb-paginator-page-background-color: var(--sbb-color-iron)}@media (forced-colors: active){.sbb-paginator__page--number-item:active{--sbb-paginator-page-background-color: Highlight !important}}.sbb-paginator__page--number-item-label{transition:transform var(--sbb-paginator-animation-duration) var(--sbb-paginator-animation-easing);transform:translateY(var(--sbb-paginator-translate-y-content-hover, 0rem))}.sbb-screen-reader-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}`;
|
|
18
|
+
var k = Object.defineProperty, O = Object.getOwnPropertyDescriptor, n = (e, t, a, s) => {
|
|
19
|
+
for (var o = s > 1 ? void 0 : s ? O(t, a) : t, g = e.length - 1, l; g >= 0; g--)
|
|
20
|
+
(l = e[g]) && (o = (s ? l(t, a, o) : l(o)) || o);
|
|
21
|
+
return s && o && k(t, a, o), o;
|
|
22
|
+
};
|
|
23
|
+
const b = 3;
|
|
24
|
+
let N = 0, i = class extends S(u) {
|
|
25
|
+
constructor() {
|
|
26
|
+
super(...arguments), this._length = 0, this._pageSize = 10, this._pageIndex = 0, this.pagerPosition = "start", this.size = "m", this._page = new x(
|
|
27
|
+
this,
|
|
28
|
+
i.events.page,
|
|
29
|
+
{ composed: !0, bubbles: !0 }
|
|
30
|
+
), this._paginatorOptionsLabel = `sbb-paginator-options-label-${++N}`, this._language = new v(this), this._markForFocus = null, this._updateSelectAriaLabelledBy = !1;
|
|
31
|
+
}
|
|
32
|
+
set length(e) {
|
|
33
|
+
this._length = isNaN(e) || e < 0 ? 0 : e, this.pageIndex = this.pageIndex;
|
|
34
|
+
}
|
|
35
|
+
get length() {
|
|
36
|
+
return this._length;
|
|
37
|
+
}
|
|
38
|
+
set pageSize(e) {
|
|
39
|
+
const t = this.pageSize;
|
|
40
|
+
this._pageSize = Math.max(e, 0), this.pageIndex = Math.floor(this.pageIndex * t / this.pageSize) || 0;
|
|
41
|
+
}
|
|
42
|
+
get pageSize() {
|
|
43
|
+
return this._pageSize;
|
|
44
|
+
}
|
|
45
|
+
set pageIndex(e) {
|
|
46
|
+
this._pageIndex = this._coercePageIndexInRange(e);
|
|
47
|
+
}
|
|
48
|
+
get pageIndex() {
|
|
49
|
+
return this._pageIndex;
|
|
50
|
+
}
|
|
51
|
+
set pageSizeOptions(e) {
|
|
52
|
+
this._pageSizeOptions = e, this._updateSelectAriaLabelledBy = !0;
|
|
53
|
+
}
|
|
54
|
+
get pageSizeOptions() {
|
|
55
|
+
return this._pageSizeOptions;
|
|
56
|
+
}
|
|
57
|
+
updated(e) {
|
|
58
|
+
if (super.updated(e), this._markForFocus && _.mostRecentModality === "keyboard") {
|
|
59
|
+
const a = this._getVisiblePages().find(
|
|
60
|
+
(s) => this.pageIndex === +s.getAttribute("data-index")
|
|
61
|
+
);
|
|
62
|
+
a && a.focus(), this._markForFocus = null;
|
|
63
|
+
}
|
|
64
|
+
const t = this.shadowRoot.querySelector("sbb-select");
|
|
65
|
+
t && this._updateSelectAriaLabelledBy && (t.setAttribute("aria-labelledby", this._paginatorOptionsLabel), this._updateSelectAriaLabelledBy = !1), this.shadowRoot.querySelector("sbb-screen-reader-only").textContent = this._currentPageLabel();
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Calculates the current number of pages based on the `length` and the `pageSize`;
|
|
69
|
+
* value must be rounded up (e.g. `length = 21` and `pageSize = 10` means 3 pages).
|
|
70
|
+
*/
|
|
71
|
+
_numberOfPages() {
|
|
72
|
+
return this.pageSize ? Math.ceil(this.length / this.pageSize) : 0;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* If the `pageSize` changes due to user interaction with the `pageSizeOptions` select,
|
|
76
|
+
* emit the `page` event and then update the `pageSize` value.
|
|
77
|
+
*/
|
|
78
|
+
_pageSizeChanged(e) {
|
|
79
|
+
const t = this.pageSize, a = this.pageIndex;
|
|
80
|
+
this.pageSize = e, t !== this.pageSize && this._emitPageEvent(a);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* If the `pageIndex` changes due to user interaction,
|
|
84
|
+
* emit the `page` event and then update the `pageIndex` value.
|
|
85
|
+
*/
|
|
86
|
+
_pageIndexChanged(e) {
|
|
87
|
+
const t = this.pageIndex;
|
|
88
|
+
this.pageIndex = e, t !== this.pageIndex && this._emitPageEvent(t);
|
|
89
|
+
}
|
|
90
|
+
_emitPageEvent(e) {
|
|
91
|
+
this._page.emit({
|
|
92
|
+
previousPageIndex: e,
|
|
93
|
+
pageIndex: this.pageIndex,
|
|
94
|
+
length: this.length,
|
|
95
|
+
pageSize: this.pageSize
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
/** Returns the displayed page elements. */
|
|
99
|
+
_getVisiblePages() {
|
|
100
|
+
return Array.from(this.shadowRoot.querySelectorAll(".sbb-paginator__page--number-item"));
|
|
101
|
+
}
|
|
102
|
+
/** Evaluate `pageIndex` by excluding edge cases. */
|
|
103
|
+
_coercePageIndexInRange(e) {
|
|
104
|
+
return Math.max(
|
|
105
|
+
Math.min(Math.max(isNaN(e) ? 0 : e, 0), this._numberOfPages() - 1),
|
|
106
|
+
0
|
|
107
|
+
);
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Calculate the pages set based on the following rules:
|
|
111
|
+
* - the first page must always be visible;
|
|
112
|
+
* - the last page must always be visible;
|
|
113
|
+
* - if there are more than `MAX_PAGE_NUMBERS_DISPLAYED` other pages, ellipsis button must be used.
|
|
114
|
+
*/
|
|
115
|
+
_getVisiblePagesIndex() {
|
|
116
|
+
const e = this._numberOfPages(), t = this.pageIndex;
|
|
117
|
+
return e <= b + 2 ? this._range(e) : t < b ? [...this._range(b + 1), "ellipsis", e - 1] : t >= e - b ? [
|
|
118
|
+
0,
|
|
119
|
+
"ellipsis",
|
|
120
|
+
...this._range(b + 1, e - 1 - b)
|
|
121
|
+
] : [
|
|
122
|
+
0,
|
|
123
|
+
"ellipsis",
|
|
124
|
+
t - 1,
|
|
125
|
+
t,
|
|
126
|
+
t + 1,
|
|
127
|
+
"ellipsis",
|
|
128
|
+
e - 1
|
|
129
|
+
];
|
|
130
|
+
}
|
|
131
|
+
/** Creates an array of consecutive numbers given the length and the starting value. */
|
|
132
|
+
_range(e, t = 0) {
|
|
133
|
+
return Array.from({ length: e }, (a, s) => s + t);
|
|
134
|
+
}
|
|
135
|
+
_handleKeyUp(e) {
|
|
136
|
+
if (e.key !== " " && e.key !== "Enter")
|
|
137
|
+
return;
|
|
138
|
+
this._getVisiblePages().find((a) => a === e.target) && (this._markForFocus = this.pageIndex);
|
|
139
|
+
}
|
|
140
|
+
_currentPageLabel() {
|
|
141
|
+
return y(this.pageIndex + 1)[this._language.current];
|
|
142
|
+
}
|
|
143
|
+
_renderPrevNextButtons() {
|
|
144
|
+
return r`
|
|
145
|
+
<sbb-mini-button-group ?negative=${this.negative} size=${this.size === "s" ? "s" : "l"}>
|
|
146
|
+
<sbb-mini-button
|
|
147
|
+
id="sbb-paginator-prev-page"
|
|
148
|
+
aria-label=${z[this._language.current]}
|
|
149
|
+
icon-name="chevron-small-left-small"
|
|
150
|
+
?disabled=${this.pageIndex === 0}
|
|
151
|
+
@click=${() => this._pageIndexChanged(this._pageIndex - 1)}
|
|
152
|
+
></sbb-mini-button>
|
|
153
|
+
<sbb-divider orientation="vertical"></sbb-divider>
|
|
154
|
+
<sbb-mini-button
|
|
155
|
+
id="sbb-paginator-next-page"
|
|
156
|
+
aria-label=${w[this._language.current]}
|
|
157
|
+
icon-name="chevron-small-right-small"
|
|
158
|
+
?disabled=${this.pageIndex === this._numberOfPages() - 1}
|
|
159
|
+
@click=${() => this._pageIndexChanged(this._pageIndex + 1)}
|
|
160
|
+
></sbb-mini-button>
|
|
161
|
+
</sbb-mini-button-group>
|
|
162
|
+
`;
|
|
163
|
+
}
|
|
164
|
+
_renderItemPerPageTemplate() {
|
|
165
|
+
var e;
|
|
166
|
+
return this.pageSizeOptions && this.pageSizeOptions.length > 0 ? r`
|
|
167
|
+
<div class="sbb-paginator__page-size-options">
|
|
168
|
+
<label id=${this._paginatorOptionsLabel}>
|
|
169
|
+
${P[this._language.current]}
|
|
170
|
+
</label>
|
|
171
|
+
<sbb-form-field
|
|
172
|
+
borderless
|
|
173
|
+
width="collapse"
|
|
174
|
+
?negative=${this.negative}
|
|
175
|
+
size=${this.size}
|
|
176
|
+
>
|
|
177
|
+
<sbb-select
|
|
178
|
+
value=${((e = this.pageSizeOptions) == null ? void 0 : e.find((t) => t === this.pageSize)) ?? this.pageSizeOptions[0]}
|
|
179
|
+
@change=${(t) => this._pageSizeChanged(+t.target.value)}
|
|
180
|
+
>
|
|
181
|
+
${c(
|
|
182
|
+
this.pageSizeOptions,
|
|
183
|
+
(t) => r`<sbb-option value=${t}>${t}</sbb-option>`
|
|
184
|
+
)}
|
|
185
|
+
</sbb-select>
|
|
186
|
+
</sbb-form-field>
|
|
187
|
+
</div>
|
|
188
|
+
` : h;
|
|
189
|
+
}
|
|
190
|
+
_renderPageNumbers() {
|
|
191
|
+
return r`
|
|
192
|
+
<ul class="sbb-paginator__pages">
|
|
193
|
+
${c(
|
|
194
|
+
this._getVisiblePagesIndex(),
|
|
195
|
+
(e) => e === "ellipsis" ? r`
|
|
196
|
+
<li class="sbb-paginator__page--ellipsis">
|
|
197
|
+
<span class="sbb-paginator__page--ellipsis-item">…</span>
|
|
198
|
+
</li>
|
|
199
|
+
` : r`
|
|
200
|
+
<li class="sbb-paginator__page--number">
|
|
201
|
+
<button
|
|
202
|
+
?data-selected=${this.pageIndex === e}
|
|
203
|
+
class="sbb-paginator__page--number-item"
|
|
204
|
+
data-index=${e}
|
|
205
|
+
aria-label="${I[this._language.current]} ${e + 1}"
|
|
206
|
+
aria-current=${this.pageIndex === e ? "true" : h}
|
|
207
|
+
@click=${() => this._pageIndexChanged(e)}
|
|
208
|
+
@keyup=${this._handleKeyUp}
|
|
209
|
+
>
|
|
210
|
+
<span class="sbb-paginator__page--number-item-label">${e + 1}</span>
|
|
211
|
+
</button>
|
|
212
|
+
</li>
|
|
213
|
+
`
|
|
214
|
+
)}
|
|
215
|
+
</ul>
|
|
216
|
+
`;
|
|
217
|
+
}
|
|
218
|
+
render() {
|
|
219
|
+
return r`
|
|
220
|
+
<div class="sbb-paginator">
|
|
221
|
+
${this.pagerPosition === "start" ? r`<span class="sbb-paginator__wrapping-group">
|
|
222
|
+
${this._renderPrevNextButtons()} ${this._renderPageNumbers()}
|
|
223
|
+
</span>
|
|
224
|
+
${this._renderItemPerPageTemplate()}` : r`${this._renderItemPerPageTemplate()}
|
|
225
|
+
<span class="sbb-paginator__wrapping-group">
|
|
226
|
+
${this._renderPageNumbers()} ${this._renderPrevNextButtons()}
|
|
227
|
+
</span>`}</span>
|
|
228
|
+
</div>
|
|
229
|
+
<sbb-screen-reader-only role='status'></sbb-screen-reader-only>
|
|
230
|
+
`;
|
|
231
|
+
}
|
|
232
|
+
};
|
|
233
|
+
i.styles = $;
|
|
234
|
+
i.events = {
|
|
235
|
+
page: "page"
|
|
236
|
+
};
|
|
237
|
+
n([
|
|
238
|
+
p({ type: Number })
|
|
239
|
+
], i.prototype, "length", 1);
|
|
240
|
+
n([
|
|
241
|
+
p({ attribute: "page-size", type: Number })
|
|
242
|
+
], i.prototype, "pageSize", 1);
|
|
243
|
+
n([
|
|
244
|
+
p({ attribute: "page-index", type: Number })
|
|
245
|
+
], i.prototype, "pageIndex", 1);
|
|
246
|
+
n([
|
|
247
|
+
p({ attribute: "page-size-options", type: Array })
|
|
248
|
+
], i.prototype, "pageSizeOptions", 1);
|
|
249
|
+
n([
|
|
250
|
+
p({ attribute: "pager-position", reflect: !0 })
|
|
251
|
+
], i.prototype, "pagerPosition", 2);
|
|
252
|
+
n([
|
|
253
|
+
p({ reflect: !0 })
|
|
254
|
+
], i.prototype, "size", 2);
|
|
255
|
+
i = n([
|
|
256
|
+
m("sbb-paginator"),
|
|
257
|
+
f({
|
|
258
|
+
role: "group"
|
|
259
|
+
})
|
|
260
|
+
], i);
|
|
261
|
+
export {
|
|
262
|
+
i as SbbPaginatorElement
|
|
263
|
+
};
|
|
@@ -74,7 +74,7 @@ export declare class SbbRadioButtonGroupElement extends SbbRadioButtonGroupEleme
|
|
|
74
74
|
private _valueChanged;
|
|
75
75
|
protected firstUpdated(changedProperties: PropertyValues<this>): void;
|
|
76
76
|
disconnectedCallback(): void;
|
|
77
|
-
private
|
|
77
|
+
private _onRadioButtonChange;
|
|
78
78
|
private _emitChange;
|
|
79
79
|
private _updateRadios;
|
|
80
80
|
private _setFocusableRadio;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio-button-group.d.ts","sourceRoot":"","sources":["../../../../src/elements/radio-button/radio-button-group/radio-button-group.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAOvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAkB,MAAM,0BAA0B,CAAC;AAElG,OAAO,KAAK,EAA6B,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAIhE,MAAM,MAAM,8BAA8B,GAAG;IAC3C,KAAK,EAAE,GAAG,GAAG,IAAI,CAAC;IAClB,WAAW,EAAE,qBAAqB,GAAG,0BAA0B,CAAC;CACjE,CAAC;;AAEF;;;;;;;;GAQG;AACH,qBAKa,0BAA2B,SAAQ,+BAA4B;IAC1E,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;;;MAIlB;IAEX;;OAEG;IAEI,mBAAmB,EAAE,OAAO,CAAS;IAE5C;;OAEG;IACiC,QAAQ,EAAE,OAAO,CAAS;IAE9D;;OAEG;IACgB,KAAK,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC;IAEtC;;OAEG;IACgB,IAAI,EAAE,kBAAkB,CAAO;IAElD;;OAEG;IAEI,cAAc,CAAC,EAAE,iBAAiB,CAAC;IAE1C;;OAEG;IAEI,WAAW,EAAE,cAAc,CAAgB;IAElD;;OAEG;IACH,IAAW,YAAY,IAAI,CAAC,qBAAqB,GAAG,0BAA0B,CAAC,EAAE,CAOhF;IAED,OAAO,KAAK,cAAc,GAIzB;IAED,OAAO,CAAC,kCAAkC,CAAkB;IAC5D,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAyC;IAEvD;;;OAGG;IACH,OAAO,CAAC,UAAU,CAGhB;IAEF;;OAEG;IACH,OAAO,CAAC,OAAO,CAGb;IAEF;;OAEG;IACH,OAAO,CAAC,MAAM,CAGZ;IAEc,iBAAiB,IAAI,IAAI;IAuBzB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAqBzE,OAAO,CAAC,aAAa;cAQF,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAO9D,oBAAoB,IAAI,IAAI;IAI5C,OAAO,CAAC,oBAAoB;
|
|
1
|
+
{"version":3,"file":"radio-button-group.d.ts","sourceRoot":"","sources":["../../../../src/elements/radio-button/radio-button-group/radio-button-group.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAOvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAkB,MAAM,0BAA0B,CAAC;AAElG,OAAO,KAAK,EAA6B,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAIhE,MAAM,MAAM,8BAA8B,GAAG;IAC3C,KAAK,EAAE,GAAG,GAAG,IAAI,CAAC;IAClB,WAAW,EAAE,qBAAqB,GAAG,0BAA0B,CAAC;CACjE,CAAC;;AAEF;;;;;;;;GAQG;AACH,qBAKa,0BAA2B,SAAQ,+BAA4B;IAC1E,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;;;MAIlB;IAEX;;OAEG;IAEI,mBAAmB,EAAE,OAAO,CAAS;IAE5C;;OAEG;IACiC,QAAQ,EAAE,OAAO,CAAS;IAE9D;;OAEG;IACgB,KAAK,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC;IAEtC;;OAEG;IACgB,IAAI,EAAE,kBAAkB,CAAO;IAElD;;OAEG;IAEI,cAAc,CAAC,EAAE,iBAAiB,CAAC;IAE1C;;OAEG;IAEI,WAAW,EAAE,cAAc,CAAgB;IAElD;;OAEG;IACH,IAAW,YAAY,IAAI,CAAC,qBAAqB,GAAG,0BAA0B,CAAC,EAAE,CAOhF;IAED,OAAO,KAAK,cAAc,GAIzB;IAED,OAAO,CAAC,kCAAkC,CAAkB;IAC5D,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAyC;IAEvD;;;OAGG;IACH,OAAO,CAAC,UAAU,CAGhB;IAEF;;OAEG;IACH,OAAO,CAAC,OAAO,CAGb;IAEF;;OAEG;IACH,OAAO,CAAC,MAAM,CAGZ;IAEc,iBAAiB,IAAI,IAAI;IAuBzB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAqBzE,OAAO,CAAC,aAAa;cAQF,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAO9D,oBAAoB,IAAI,IAAI;IAI5C,OAAO,CAAC,oBAAoB;IAwB5B,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,cAAc;cA+BH,MAAM,IAAI,cAAc;CAU5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,wBAAwB,EAAE,0BAA0B,CAAC;KACtD;CACF"}
|
|
@@ -44,7 +44,7 @@ let a = class extends _(u) {
|
|
|
44
44
|
const t = this._abort.signal;
|
|
45
45
|
this.addEventListener(
|
|
46
46
|
"stateChange",
|
|
47
|
-
(i) => this.
|
|
47
|
+
(i) => this._onRadioButtonChange(i),
|
|
48
48
|
{
|
|
49
49
|
signal: t,
|
|
50
50
|
passive: !0
|
|
@@ -83,12 +83,16 @@ let a = class extends _(u) {
|
|
|
83
83
|
disconnectedCallback() {
|
|
84
84
|
super.disconnectedCallback();
|
|
85
85
|
}
|
|
86
|
-
|
|
87
|
-
var
|
|
88
|
-
if (t.stopPropagation(),
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
86
|
+
_onRadioButtonChange(t) {
|
|
87
|
+
var o;
|
|
88
|
+
if (t.stopPropagation(), !!this._didLoad) {
|
|
89
|
+
if (t.detail.type === "disabled")
|
|
90
|
+
this._updateRadios(this.value);
|
|
91
|
+
else if (t.detail.type === "checked") {
|
|
92
|
+
const e = t.target;
|
|
93
|
+
t.detail.checked ? (this.value = e.value, this._emitChange(e, this.value)) : this.allowEmptySelection && (this.value = (o = this.radioButtons.find((i) => i.checked)) == null ? void 0 : o.value, this.value || this._emitChange(e));
|
|
94
|
+
}
|
|
95
|
+
}
|
|
92
96
|
}
|
|
93
97
|
_emitChange(t, o) {
|
|
94
98
|
this._change.emit({ value: o, radioButton: t }), this._input.emit({ value: o, radioButton: t }), this._didChange.emit({ value: o, radioButton: t });
|
|
@@ -108,7 +112,8 @@ let a = class extends _(u) {
|
|
|
108
112
|
!t && (o != null && o.length) && (o[0].tabIndex = 0);
|
|
109
113
|
}
|
|
110
114
|
_getRadioTabIndex(t) {
|
|
111
|
-
|
|
115
|
+
const o = !t.disabled && !this.disabled;
|
|
116
|
+
return (t.checked || this._hasSelectionExpansionPanelElement) && o ? 0 : -1;
|
|
112
117
|
}
|
|
113
118
|
_handleKeyDown(t) {
|
|
114
119
|
var n;
|
package/select/select.d.ts
CHANGED
|
@@ -74,6 +74,12 @@ export declare class SbbSelectElement extends SbbSelectElement_base {
|
|
|
74
74
|
/** Gets all the SbbOptionElement projected in the select. */
|
|
75
75
|
private get _options();
|
|
76
76
|
private get _filteredOptions();
|
|
77
|
+
constructor();
|
|
78
|
+
/**
|
|
79
|
+
* TODO: Accessibility fix required to correctly read the label;
|
|
80
|
+
* can be possibly removed after the merge of https://github.com/sbb-design-systems/lyne-components/issues/3062
|
|
81
|
+
*/
|
|
82
|
+
private _onSelectAttributesChange;
|
|
77
83
|
/** Opens the selection panel. */
|
|
78
84
|
open(): void;
|
|
79
85
|
/** 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":"
|
|
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;AAwBnE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC1B;;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAIa,gBAAiB,SAAQ,qBAErC;IACC,OAAuB,MAAM,EAAE,cAAc,CAAS;IAGtD,gBAAgC,MAAM;;;;;;;;;MAS3B;IAEX,+EAA+E;IAC5D,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAE7C,0DAA0D;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IAExC,wDAAwD;IACL,QAAQ,UAAS;IAEpE,sCAAsC;IACa,QAAQ,UAAS;IAEpE,sCAAsC;IACF,QAAQ,UAAS;IAErD,4CAA4C;IACnC,OAAO,CAAC,aAAa,CAAuB;IAErD;;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;;IAWD;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAWjC,iCAAiC;IAC1B,IAAI,IAAI,IAAI;IAYnB,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;cAsCtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAW5D,oBAAoB,IAAI,IAAI;IAM5C,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,37 +1,41 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { MutationController as g } from "@lit-labs/observers/mutation-controller.js";
|
|
2
|
+
import { css as m, html as d, nothing as c } from "lit";
|
|
3
|
+
import { property as b, state as w, customElement as y } from "lit/decorators.js";
|
|
3
4
|
import { ref as v } from "lit/directives/ref.js";
|
|
4
5
|
import { until as u } from "lit/directives/until.js";
|
|
5
|
-
import { getNextElementIndex as
|
|
6
|
-
import { SbbOpenCloseBaseElement as
|
|
7
|
-
import { SbbConnectedAbortController as
|
|
6
|
+
import { getNextElementIndex as x } from "./core/a11y.js";
|
|
7
|
+
import { SbbOpenCloseBaseElement as E } from "./core/base-elements.js";
|
|
8
|
+
import { SbbConnectedAbortController as k } from "./core/controllers.js";
|
|
8
9
|
import { hostAttributes as O } from "./core/decorators.js";
|
|
9
|
-
import { isNextjs as f, isSafari as
|
|
10
|
+
import { isNextjs as f, isSafari as C } from "./core/dom.js";
|
|
10
11
|
import { EventEmitter as p } from "./core/eventing.js";
|
|
11
|
-
import { SbbUpdateSchedulerMixin as
|
|
12
|
-
import { isEventOnElement as _, setOverlayPosition as
|
|
13
|
-
const $ = 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}}`;
|
|
14
|
-
var
|
|
15
|
-
for (var o = s > 1 ? void 0 : s ?
|
|
12
|
+
import { SbbUpdateSchedulerMixin as A, SbbDisabledMixin as S, SbbNegativeMixin as I, SbbHydrationMixin as D } from "./core/mixins.js";
|
|
13
|
+
import { isEventOnElement as _, setOverlayPosition as P, overlayGapFixCorners as $ } from "./core/overlay.js";
|
|
14
|
+
const L = m`*,: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}}`;
|
|
15
|
+
var V = Object.defineProperty, T = Object.getOwnPropertyDescriptor, n = (e, t, i, s) => {
|
|
16
|
+
for (var o = s > 1 ? void 0 : s ? T(t, i) : t, r = e.length - 1, l; r >= 0; r--)
|
|
16
17
|
(l = e[r]) && (o = (s ? l(t, i, o) : l(o)) || o);
|
|
17
|
-
return s && o &&
|
|
18
|
+
return s && o && V(t, i, o), o;
|
|
18
19
|
};
|
|
19
|
-
const h =
|
|
20
|
-
let
|
|
21
|
-
|
|
20
|
+
const h = C;
|
|
21
|
+
let N = 0, a = class extends A(
|
|
22
|
+
S(I(D(E)))
|
|
22
23
|
) {
|
|
23
24
|
constructor() {
|
|
24
|
-
super(
|
|
25
|
+
super(), this.multiple = !1, this.required = !1, this.readonly = !1, this._displayValue = null, this._didChange = new p(this, a.events.didChange), this._change = new p(this, a.events.change), this._input = new p(this, a.events.input), this._stateChange = new p(
|
|
25
26
|
this,
|
|
26
27
|
a.events.stateChange,
|
|
27
28
|
{
|
|
28
29
|
composed: !1
|
|
29
30
|
}
|
|
30
|
-
), this._overlayId = `sbb-select-${++
|
|
31
|
+
), this._overlayId = `sbb-select-${++N}`, this._activeItemIndex = -1, this._searchString = "", this._didLoad = !1, this._isPointerDownEventOnMenu = !1, this._abort = new k(this), this._pointerDownListener = (e) => {
|
|
31
32
|
this._isPointerDownEventOnMenu = _(this._overlay, e);
|
|
32
33
|
}, this._closeOnBackdropClick = (e) => {
|
|
33
34
|
!this._isPointerDownEventOnMenu && !_(this._overlay, e) && this.close();
|
|
34
|
-
}
|
|
35
|
+
}, new g(this, {
|
|
36
|
+
config: { attributeFilter: ["aria-labelledby"] },
|
|
37
|
+
callback: (e) => this._onSelectAttributesChange(e)
|
|
38
|
+
});
|
|
35
39
|
}
|
|
36
40
|
/**
|
|
37
41
|
* The 'combobox' input element
|
|
@@ -50,6 +54,18 @@ let T = 0, a = class extends C(
|
|
|
50
54
|
(e) => !e.disabled && !e.hasAttribute("data-group-disabled")
|
|
51
55
|
);
|
|
52
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* TODO: Accessibility fix required to correctly read the label;
|
|
59
|
+
* can be possibly removed after the merge of https://github.com/sbb-design-systems/lyne-components/issues/3062
|
|
60
|
+
*/
|
|
61
|
+
_onSelectAttributesChange(e) {
|
|
62
|
+
var t;
|
|
63
|
+
for (const i of e)
|
|
64
|
+
i.attributeName === "aria-labelledby" && ((t = this._triggerElement) == null || t.setAttribute(
|
|
65
|
+
"aria-labelledby",
|
|
66
|
+
this.getAttribute("aria-labelledby")
|
|
67
|
+
));
|
|
68
|
+
}
|
|
53
69
|
/** Opens the selection panel. */
|
|
54
70
|
open() {
|
|
55
71
|
this.state !== "closed" || !this._overlay || this._options.length === 0 || this.willOpen.emit() && (this.state = "opening", this._setOverlayPosition());
|
|
@@ -153,7 +169,7 @@ let T = 0, a = class extends C(
|
|
|
153
169
|
this._triggerElement.style.top = "0px", this._triggerElement.style.height = `${e.offsetHeight}px`, this._triggerElement.style.width = `${e.offsetWidth}px`;
|
|
154
170
|
}
|
|
155
171
|
_setOverlayPosition() {
|
|
156
|
-
|
|
172
|
+
P(
|
|
157
173
|
this._overlay,
|
|
158
174
|
this._originElement,
|
|
159
175
|
this._optionContainer,
|
|
@@ -270,7 +286,7 @@ let T = 0, a = class extends C(
|
|
|
270
286
|
this.multiple ? e.setSelectedViaUserInteraction(!e.selected) : this.close();
|
|
271
287
|
}
|
|
272
288
|
_setNextActiveOption(e, t) {
|
|
273
|
-
const i = t ??
|
|
289
|
+
const i = t ?? x(e, this._activeItemIndex, this._filteredOptions.length), s = this._filteredOptions[i], o = this._filteredOptions[this._activeItemIndex];
|
|
274
290
|
this._setActiveElement(s, o), this.multiple ? e != null && e.shiftKey && s.setSelectedViaUserInteraction(!s.selected) : this._setSelectedElement(s, o), this._activeItemIndex = i;
|
|
275
291
|
}
|
|
276
292
|
_setActiveElement(e, t = null, i = !0) {
|
|
@@ -350,7 +366,7 @@ let T = 0, a = class extends C(
|
|
|
350
366
|
|
|
351
367
|
<div class="sbb-select__gap-fix"></div>
|
|
352
368
|
<div class="sbb-select__container">
|
|
353
|
-
<div class="sbb-select__gap-fix">${
|
|
369
|
+
<div class="sbb-select__gap-fix">${$()}</div>
|
|
354
370
|
<div
|
|
355
371
|
@animationend=${this._onAnimationEnd}
|
|
356
372
|
class="sbb-select__panel"
|
|
@@ -372,7 +388,7 @@ let T = 0, a = class extends C(
|
|
|
372
388
|
`;
|
|
373
389
|
}
|
|
374
390
|
};
|
|
375
|
-
a.styles =
|
|
391
|
+
a.styles = L;
|
|
376
392
|
a.events = {
|
|
377
393
|
didChange: "didChange",
|
|
378
394
|
change: "change",
|
|
@@ -399,10 +415,10 @@ n([
|
|
|
399
415
|
b({ type: Boolean })
|
|
400
416
|
], a.prototype, "readonly", 2);
|
|
401
417
|
n([
|
|
402
|
-
|
|
418
|
+
w()
|
|
403
419
|
], a.prototype, "_displayValue", 2);
|
|
404
420
|
a = n([
|
|
405
|
-
|
|
421
|
+
y("sbb-select"),
|
|
406
422
|
O({
|
|
407
423
|
role: h ? "listbox" : null
|
|
408
424
|
})
|
package/slider/slider.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { CSSResultGroup, PropertyValues, TemplateResult, LitElement } from 'lit';
|
|
2
|
-
|
|
2
|
+
import { FormRestoreReason, FormRestoreState } from '../core/mixins.js';
|
|
3
|
+
declare const SbbSliderElement_base: import('../core/mixins.js').AbstractConstructor<import('../core/mixins.js').SbbDisabledMixinType> & import('../core/mixins.js').Constructor<import('../core/mixins.js').SbbFormAssociatedMixinType> & typeof LitElement;
|
|
3
4
|
/**
|
|
4
5
|
* It displays an input knob that can be moved in a range.
|
|
5
6
|
*
|
|
@@ -12,18 +13,23 @@ export declare class SbbSliderElement extends SbbSliderElement_base {
|
|
|
12
13
|
static readonly events: {
|
|
13
14
|
readonly didChange: "didChange";
|
|
14
15
|
};
|
|
15
|
-
/**
|
|
16
|
-
|
|
16
|
+
/**
|
|
17
|
+
* Value of the form element.
|
|
18
|
+
* If no value is provided, default is the middle point between min and max.
|
|
19
|
+
*/
|
|
20
|
+
set value(value: string | null);
|
|
21
|
+
get value(): string;
|
|
17
22
|
/** Numeric value for the inner HTMLInputElement. */
|
|
18
|
-
valueAsNumber
|
|
19
|
-
|
|
20
|
-
name?: string;
|
|
21
|
-
/** The <form> element to associate the inner HTMLInputElement with. */
|
|
22
|
-
form?: string;
|
|
23
|
+
set valueAsNumber(value: number);
|
|
24
|
+
get valueAsNumber(): number | null;
|
|
23
25
|
/** Minimum acceptable value for the inner HTMLInputElement. */
|
|
24
|
-
min
|
|
26
|
+
set min(value: string);
|
|
27
|
+
get min(): string;
|
|
28
|
+
private _min;
|
|
25
29
|
/** Maximum acceptable value for the inner HTMLInputElement. */
|
|
26
|
-
max
|
|
30
|
+
set max(value: string);
|
|
31
|
+
get max(): string;
|
|
32
|
+
private _max;
|
|
27
33
|
/**
|
|
28
34
|
* Readonly state for the inner HTMLInputElement.
|
|
29
35
|
* Since the input range does not allow this attribute, it will be merged with the `disabled` one.
|
|
@@ -45,16 +51,29 @@ export declare class SbbSliderElement extends SbbSliderElement_base {
|
|
|
45
51
|
/** Reference to the inner HTMLInputElement with type='range'. */
|
|
46
52
|
private _rangeInput;
|
|
47
53
|
private _abort;
|
|
54
|
+
constructor();
|
|
48
55
|
connectedCallback(): void;
|
|
49
56
|
protected willUpdate(changedProperties: PropertyValues<this>): void;
|
|
50
|
-
private _syncValues;
|
|
51
57
|
/**
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
|
|
55
|
-
|
|
58
|
+
* The reset value is the attribute value (the setup value). If not present, calculates the default.
|
|
59
|
+
* @internal
|
|
60
|
+
*/
|
|
61
|
+
formResetCallback(): void;
|
|
62
|
+
/**
|
|
63
|
+
* @internal
|
|
64
|
+
*/
|
|
65
|
+
formStateRestoreCallback(state: FormRestoreState | null, _reason: FormRestoreReason): void;
|
|
66
|
+
/**
|
|
67
|
+
* If no value is provided, default is the middle point between min and max
|
|
68
|
+
* (see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/range#value)
|
|
69
|
+
*/
|
|
70
|
+
private _getDefaultValue;
|
|
71
|
+
private _isValidNumber;
|
|
72
|
+
/**
|
|
73
|
+
* Restrains the value between the min and max
|
|
56
74
|
*/
|
|
57
|
-
private
|
|
75
|
+
private _boundBetweenMinMax;
|
|
76
|
+
private _calculateValueFraction;
|
|
58
77
|
private _handleKeydown;
|
|
59
78
|
/** Emits the change event. */
|
|
60
79
|
private _emitChange;
|
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;
|
|
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;;;;;;GAMG;AACH,qBAIa,gBAAiB,SAAQ,qBAAoD;IACxF,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;IACiC,QAAQ,CAAC,EAAE,OAAO,CAAS;IAE/D,6FAA6F;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IAEjE,2FAA2F;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IAE7D;;;OAGG;IACM,OAAO,CAAC,cAAc,CAAK;IAEpC;;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;IAIP;;;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"}
|