@sbb-esta/lyne-elements 2.5.0 → 2.6.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-base-element.d.ts +19 -21
- package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid-button.js +7 -7
- package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts +2 -2
- package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts.map +1 -1
- package/autocomplete.js +145 -136
- package/chip/chip/chip.d.ts +32 -0
- package/chip/chip/chip.d.ts.map +1 -0
- package/chip/chip-group/chip-group.d.ts +100 -0
- package/chip/chip-group/chip-group.d.ts.map +1 -0
- package/chip/chip-group.d.ts +2 -0
- package/chip/chip-group.d.ts.map +1 -0
- package/chip/chip-group.js +225 -0
- package/chip/chip.d.ts +2 -0
- package/chip/chip.d.ts.map +1 -0
- package/chip/chip.js +85 -0
- package/chip.d.ts +3 -0
- package/chip.d.ts.map +1 -0
- package/chip.js +2 -0
- package/clock/clock.d.ts.map +1 -1
- package/clock.js +1 -1
- package/core/base-elements/button-base-element.d.ts +5 -0
- package/core/base-elements/button-base-element.d.ts.map +1 -1
- package/core/base-elements.js +94 -79
- package/core/controllers/id-observer-controller.d.ts +21 -0
- package/core/controllers/id-observer-controller.d.ts.map +1 -0
- package/core/controllers/media-matchers-controller.d.ts.map +1 -1
- package/core/controllers.d.ts +2 -1
- package/core/controllers.d.ts.map +1 -1
- package/core/controllers.js +135 -80
- package/core/datetime/native-date-adapter.d.ts.map +1 -1
- package/core/datetime.js +8 -3
- package/core/dom/find-referenced-element.d.ts +1 -0
- package/core/dom/find-referenced-element.d.ts.map +1 -1
- package/core/dom/input-element.d.ts +3 -1
- package/core/dom/input-element.d.ts.map +1 -1
- package/core/dom/platform.d.ts +5 -0
- package/core/dom/platform.d.ts.map +1 -1
- package/core/dom.js +10 -9
- package/core/i18n/i18n.d.ts +3 -0
- package/core/i18n/i18n.d.ts.map +1 -1
- package/core/i18n.js +135 -117
- package/core/mixins/form-associated-input-mixin.d.ts.map +1 -1
- package/core/mixins/form-associated-radio-button-mixin.d.ts.map +1 -1
- package/core/mixins.js +71 -63
- package/core/overlay/overlay-trigger-attributes.d.ts +1 -1
- package/core/overlay/overlay-trigger-attributes.d.ts.map +1 -1
- package/core/overlay/position.d.ts +1 -1
- package/core/overlay/position.d.ts.map +1 -1
- package/core/styles/core.scss +89 -24
- package/core/styles/image.scss +1 -1
- package/core/styles/mixins/table.scss +63 -26
- package/core/styles/table.scss +16 -0
- package/core/testing/scroll.d.ts +1 -0
- package/core/testing/scroll.d.ts.map +1 -1
- package/core/testing/wait-for-image-ready.d.ts.map +1 -1
- package/core/testing.js +8 -5
- package/core.css +90 -34
- package/custom-elements.json +2568 -740
- package/datepicker/datepicker/datepicker.d.ts +4 -4
- package/datepicker/datepicker/datepicker.d.ts.map +1 -1
- package/datepicker/datepicker-toggle/datepicker-toggle.d.ts +0 -3
- package/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
- package/datepicker/datepicker-toggle.js +30 -34
- package/datepicker/datepicker.js +103 -105
- package/development/autocomplete/autocomplete-base-element.d.ts +19 -21
- package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-button.js +3 -3
- package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts +2 -2
- package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-optgroup.js +1 -1
- package/development/autocomplete.js +104 -82
- package/development/chip/chip/chip.d.ts +32 -0
- package/development/chip/chip/chip.d.ts.map +1 -0
- package/development/chip/chip-group/chip-group.d.ts +100 -0
- package/development/chip/chip-group/chip-group.d.ts.map +1 -0
- package/development/chip/chip-group.d.ts +2 -0
- package/development/chip/chip-group.d.ts.map +1 -0
- package/development/chip/chip-group.js +349 -0
- package/development/chip/chip.d.ts +2 -0
- package/development/chip/chip.d.ts.map +1 -0
- package/development/chip/chip.js +212 -0
- package/development/chip.d.ts +3 -0
- package/development/chip.d.ts.map +1 -0
- package/development/chip.js +3 -0
- package/development/clock/clock.d.ts.map +1 -1
- package/development/clock.js +5 -2
- package/development/core/base-elements/button-base-element.d.ts +5 -0
- package/development/core/base-elements/button-base-element.d.ts.map +1 -1
- package/development/core/base-elements.js +38 -10
- package/development/core/controllers/id-observer-controller.d.ts +21 -0
- package/development/core/controllers/id-observer-controller.d.ts.map +1 -0
- package/development/core/controllers/media-matchers-controller.d.ts.map +1 -1
- package/development/core/controllers.d.ts +2 -1
- package/development/core/controllers.d.ts.map +1 -1
- package/development/core/controllers.js +116 -44
- package/development/core/datetime/native-date-adapter.d.ts.map +1 -1
- package/development/core/datetime.js +6 -2
- package/development/core/dom/find-referenced-element.d.ts +1 -0
- package/development/core/dom/find-referenced-element.d.ts.map +1 -1
- package/development/core/dom/input-element.d.ts +3 -1
- package/development/core/dom/input-element.d.ts.map +1 -1
- package/development/core/dom/platform.d.ts +5 -0
- package/development/core/dom/platform.d.ts.map +1 -1
- package/development/core/dom.js +3 -1
- package/development/core/i18n/i18n.d.ts +3 -0
- package/development/core/i18n/i18n.d.ts.map +1 -1
- package/development/core/i18n.js +23 -2
- package/development/core/mixins/form-associated-input-mixin.d.ts.map +1 -1
- package/development/core/mixins/form-associated-radio-button-mixin.d.ts.map +1 -1
- package/development/core/mixins.js +19 -6
- package/development/core/overlay/overlay-trigger-attributes.d.ts +1 -1
- package/development/core/overlay/overlay-trigger-attributes.d.ts.map +1 -1
- package/development/core/overlay/position.d.ts +1 -1
- package/development/core/overlay/position.d.ts.map +1 -1
- package/development/core/overlay.js +1 -1
- package/development/core/testing/scroll.d.ts +1 -0
- package/development/core/testing/scroll.d.ts.map +1 -1
- package/development/core/testing/wait-for-image-ready.d.ts.map +1 -1
- package/development/core/testing.js +6 -2
- package/development/datepicker/datepicker/datepicker.d.ts +4 -4
- package/development/datepicker/datepicker/datepicker.d.ts.map +1 -1
- package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts +0 -3
- package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
- package/development/datepicker/datepicker-toggle.js +4 -12
- package/development/datepicker/datepicker.js +46 -43
- package/development/dialog/dialog-title/dialog-title.d.ts +0 -1
- package/development/dialog/dialog-title/dialog-title.d.ts.map +1 -1
- package/development/dialog/dialog-title.js +2 -5
- package/development/expansion-panel/expansion-panel/expansion-panel.d.ts +0 -2
- package/development/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -1
- package/development/expansion-panel/expansion-panel.js +2 -7
- package/development/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -1
- package/development/flip-card/flip-card-details.js +3 -3
- package/development/form-field/form-field/form-field.d.ts.map +1 -1
- package/development/form-field/form-field.js +13 -146
- package/development/header/header/header.d.ts +6 -7
- package/development/header/header/header.d.ts.map +1 -1
- package/development/header/header.js +45 -34
- package/development/menu/menu/menu.d.ts +7 -8
- package/development/menu/menu/menu.d.ts.map +1 -1
- package/development/menu/menu.js +42 -41
- package/development/navigation/navigation/navigation.d.ts +7 -8
- package/development/navigation/navigation/navigation.d.ts.map +1 -1
- package/development/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
- package/development/navigation/navigation-marker.js +3 -3
- package/development/navigation/navigation-section/navigation-section.d.ts +8 -9
- package/development/navigation/navigation-section/navigation-section.d.ts.map +1 -1
- package/development/navigation/navigation-section.js +50 -47
- package/development/navigation/navigation.js +42 -40
- package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
- package/development/option/optgroup/optgroup.d.ts +2 -2
- package/development/option/optgroup/optgroup.d.ts.map +1 -1
- package/development/option/optgroup.js +3 -3
- package/development/option/option/option-base-element.d.ts.map +1 -1
- package/development/option/option.js +3 -3
- package/development/paginator/paginator.js +12 -1
- package/development/popover/popover/popover.d.ts +8 -7
- package/development/popover/popover/popover.d.ts.map +1 -1
- package/development/popover/popover.js +28 -35
- package/development/radio-button/radio-button-group/radio-button-group.d.ts +0 -1
- package/development/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
- package/development/radio-button/radio-button-group.js +3 -5
- package/development/select/select.d.ts +6 -3
- package/development/select/select.d.ts.map +1 -1
- package/development/select.js +20 -18
- package/development/selection-expansion-panel/selection-expansion-panel.d.ts +0 -2
- package/development/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
- package/development/selection-expansion-panel.js +2 -7
- package/development/sidebar/sidebar/sidebar.d.ts.map +1 -1
- package/development/sidebar/sidebar.js +3 -3
- package/development/stepper/step/step.d.ts +13 -1
- package/development/stepper/step/step.d.ts.map +1 -1
- package/development/stepper/step-label.js +2 -2
- package/development/stepper/step.js +21 -6
- package/development/stepper/stepper/stepper.d.ts +1 -0
- package/development/stepper/stepper/stepper.d.ts.map +1 -1
- package/development/stepper/stepper.js +5 -1
- package/development/table/table-wrapper.js +2 -1
- package/development/time-input/time-input.d.ts +6 -8
- package/development/time-input/time-input.d.ts.map +1 -1
- package/development/time-input.js +42 -44
- package/dialog/dialog-title/dialog-title.d.ts +0 -1
- package/dialog/dialog-title/dialog-title.d.ts.map +1 -1
- package/dialog/dialog-title.js +18 -21
- package/expansion-panel/expansion-panel/expansion-panel.d.ts +0 -2
- package/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -1
- package/expansion-panel/expansion-panel.js +53 -56
- package/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -1
- package/flip-card/flip-card-details.js +8 -8
- package/form-field/form-field/form-field.d.ts.map +1 -1
- package/form-field/form-field.js +103 -98
- package/header/header/header.d.ts +6 -7
- package/header/header/header.d.ts.map +1 -1
- package/header/header.js +72 -70
- package/index.d.ts +4 -0
- package/index.js +4 -0
- package/menu/menu/menu.d.ts +7 -8
- package/menu/menu/menu.d.ts.map +1 -1
- package/menu/menu.js +73 -73
- package/navigation/navigation/navigation.d.ts +7 -8
- package/navigation/navigation/navigation.d.ts.map +1 -1
- package/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
- package/navigation/navigation-marker.js +4 -4
- package/navigation/navigation-section/navigation-section.d.ts +8 -9
- package/navigation/navigation-section/navigation-section.d.ts.map +1 -1
- package/navigation/navigation-section.js +75 -77
- package/navigation/navigation.js +70 -70
- package/option/optgroup/optgroup-base-element.d.ts.map +1 -1
- package/option/optgroup/optgroup.d.ts +2 -2
- package/option/optgroup/optgroup.d.ts.map +1 -1
- package/option/optgroup.js +13 -13
- package/option/option/option-base-element.d.ts.map +1 -1
- package/option/option.js +2 -2
- package/package.json +16 -1
- package/paginator/paginator.js +44 -44
- package/popover/popover/popover.d.ts +8 -7
- package/popover/popover/popover.d.ts.map +1 -1
- package/popover/popover.js +73 -73
- package/radio-button/radio-button-group/radio-button-group.d.ts +0 -1
- package/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
- package/radio-button/radio-button-group.js +8 -8
- package/select/select.d.ts +6 -3
- package/select/select.d.ts.map +1 -1
- package/select.js +73 -73
- package/selection-expansion-panel/selection-expansion-panel.d.ts +0 -2
- package/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
- package/selection-expansion-panel.js +10 -13
- package/sidebar/sidebar/sidebar.d.ts.map +1 -1
- package/sidebar/sidebar.js +2 -2
- package/standard-theme.css +166 -79
- package/stepper/step/step.d.ts +13 -1
- package/stepper/step/step.d.ts.map +1 -1
- package/stepper/step-label.js +1 -1
- package/stepper/step.js +34 -23
- package/stepper/stepper/stepper.d.ts +1 -0
- package/stepper/stepper/stepper.d.ts.map +1 -1
- package/stepper/stepper.js +19 -16
- package/table/table-wrapper.js +4 -4
- package/table.css +75 -44
- package/time-input/time-input.d.ts +6 -8
- package/time-input/time-input.d.ts.map +1 -1
- package/time-input.js +66 -73
package/stepper/stepper.js
CHANGED
|
@@ -2,36 +2,36 @@ var C = (i) => {
|
|
|
2
2
|
throw TypeError(i);
|
|
3
3
|
};
|
|
4
4
|
var H = (i, r, a) => r.has(i) || C("Cannot " + a);
|
|
5
|
-
var g = (i, r, a) => (H(i, r, "read from private field"), a ? a.call(i) : r.get(i)),
|
|
5
|
+
var g = (i, r, a) => (H(i, r, "read from private field"), a ? a.call(i) : r.get(i)), z = (i, r, a) => r.has(i) ? C("Cannot add the same private member more than once") : r instanceof WeakSet ? r.add(i) : r.set(i, a), h = (i, r, a, n) => (H(i, r, "write to private field"), n ? n.call(i, a) : r.set(i, a), a);
|
|
6
6
|
import { __esDecorate as c, __runInitializers as d } from "tslib";
|
|
7
|
-
import { IntersectionController as
|
|
7
|
+
import { IntersectionController as D } from "@lit-labs/observers/intersection-controller.js";
|
|
8
8
|
import { css as U, LitElement as q, html as B } from "lit";
|
|
9
9
|
import { customElement as N, property as _ } from "lit/decorators.js";
|
|
10
10
|
import { isArrowKeyPressed as $, getNextElementIndex as j } from "../core/a11y.js";
|
|
11
11
|
import { forceType as K } from "../core/decorators.js";
|
|
12
12
|
import { breakpoints as P, isLean as V, isBreakpoint as W } from "../core/dom.js";
|
|
13
13
|
import { SbbHydrationMixin as G } from "../core/mixins.js";
|
|
14
|
-
const J = U`*,:before,:after{box-sizing:border-box}:host{--sbb-stepper-orientation: row;--sbb-stepper-border-width: var(--sbb-border-width-1x);--sbb-stepper-marker-size: 0;--sbb-stepper-marker-width: var(--sbb-border-width-3x);--sbb-stepper-animation-duration: var( --sbb-disable-animation-duration, var(--sbb-animation-duration-6x) );--sbb-stepper-marker-color: var(--sbb-color-charcoal);display:block;position:relative;counter-reset:step-label}@media (forced-colors: active){:host{--sbb-stepper-marker-color: ButtonText}}:host([data-disable-animation]){--sbb-disable-animation-duration: 0s}:host([orientation=vertical]){--sbb-stepper-orientation: column}.sbb-stepper{width:100%}.sbb-stepper__labels{display:flex;flex-direction:var(--sbb-stepper-orientation);position:relative;justify-content:space-between;margin-block-end:var(--sbb-spacing-responsive-m)}.sbb-stepper__labels:before{content:"";position:absolute;inset-inline-start:calc(var(--sbb-stepper-border-width) * -1);background-color:var(--sbb-stepper-marker-color)}:host([orientation=horizontal]) .sbb-stepper__labels{gap:var(--sbb-spacing-fixed-4x);padding-block-end:var(--sbb-spacing-fixed-4x);border-block-end:var(--sbb-stepper-border-width) solid var(--sbb-color-cloud)}:host([orientation=horizontal]) .sbb-stepper__labels:before{inset-block-end:calc(var(--sbb-stepper-border-width) * -1);height:var(--sbb-stepper-marker-width);width:var(--sbb-stepper-marker-size);transition:width var(--sbb-stepper-animation-duration) var(--sbb-animation-easing)}:host([orientation=vertical]) .sbb-stepper__labels{padding-inline-start:var(--sbb-spacing-fixed-4x);border-inline-start:var(--sbb-stepper-border-width) solid var(--sbb-color-cloud)}:host([orientation=vertical]) .sbb-stepper__labels:before{inset-block-start:0;width:var(--sbb-stepper-marker-width);height:var(--sbb-stepper-marker-size);transition:height var(--sbb-stepper-animation-duration) var(--sbb-animation-easing)}.sbb-stepper__steps{position:relative}:host([orientation=horizontal]) .sbb-stepper__steps{height:var(--sbb-stepper-content-height);transition:height var(--sbb-stepper-animation-duration) var(--sbb-animation-easing)}::slotted(sbb-step-label):before{content:counter(step-label);counter-increment:step-label}`,
|
|
14
|
+
const J = U`*,:before,:after{box-sizing:border-box}:host{--sbb-stepper-orientation: row;--sbb-stepper-border-width: var(--sbb-border-width-1x);--sbb-stepper-marker-size: 0;--sbb-stepper-marker-width: var(--sbb-border-width-3x);--sbb-stepper-animation-duration: var( --sbb-disable-animation-duration, var(--sbb-animation-duration-6x) );--sbb-stepper-marker-color: var(--sbb-color-charcoal);display:block;position:relative;counter-reset:step-label}@media (forced-colors: active){:host{--sbb-stepper-marker-color: ButtonText}}:host([data-disable-animation]){--sbb-disable-animation-duration: 0s}:host([orientation=vertical]){--sbb-stepper-orientation: column}.sbb-stepper{width:100%}.sbb-stepper__labels{display:flex;flex-direction:var(--sbb-stepper-orientation);position:relative;justify-content:space-between;margin-block-end:var(--sbb-spacing-responsive-m)}.sbb-stepper__labels:before{content:"";position:absolute;inset-inline-start:calc(var(--sbb-stepper-border-width) * -1);background-color:var(--sbb-stepper-marker-color)}:host([orientation=horizontal]) .sbb-stepper__labels{gap:var(--sbb-spacing-fixed-4x);padding-block-end:var(--sbb-spacing-fixed-4x);border-block-end:var(--sbb-stepper-border-width) solid var(--sbb-color-cloud)}:host([orientation=horizontal]) .sbb-stepper__labels:before{inset-block-end:calc(var(--sbb-stepper-border-width) * -1);height:var(--sbb-stepper-marker-width);width:var(--sbb-stepper-marker-size);transition:width var(--sbb-stepper-animation-duration) var(--sbb-animation-easing)}:host([orientation=vertical]) .sbb-stepper__labels{padding-inline-start:var(--sbb-spacing-fixed-4x);border-inline-start:var(--sbb-stepper-border-width) solid var(--sbb-color-cloud)}:host([orientation=vertical]) .sbb-stepper__labels:before{inset-block-start:0;width:var(--sbb-stepper-marker-width);height:var(--sbb-stepper-marker-size);transition:height var(--sbb-stepper-animation-duration) var(--sbb-animation-easing)}.sbb-stepper__steps{position:relative}:host([orientation=horizontal]) .sbb-stepper__steps{height:var(--sbb-stepper-content-height);transition:height var(--sbb-stepper-animation-duration) var(--sbb-animation-easing)}::slotted(sbb-step-label):before{content:counter(step-label);counter-increment:step-label}`, R = 150;
|
|
15
15
|
let le = (() => {
|
|
16
16
|
var b, p, u, l;
|
|
17
|
-
let i = [N("sbb-stepper")], r, a = [], n,
|
|
18
|
-
return l = class extends
|
|
17
|
+
let i = [N("sbb-stepper")], r, a = [], n, x = G(q), f = [], v, k = [], S = [], y, I, w = [], E = [], A, F = [], L = [], O, T;
|
|
18
|
+
return l = class extends x {
|
|
19
19
|
constructor() {
|
|
20
20
|
var e;
|
|
21
21
|
super();
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
this._observer = (d(this, f), new
|
|
22
|
+
z(this, b);
|
|
23
|
+
z(this, p);
|
|
24
|
+
z(this, u);
|
|
25
|
+
this._observer = (d(this, f), new D(this, {
|
|
26
26
|
target: null,
|
|
27
27
|
callback: (t) => {
|
|
28
28
|
t.forEach((s) => {
|
|
29
29
|
s.intersectionRatio > 0 && (this._setStepperHeight(this.selected), this._setMarkerSize());
|
|
30
30
|
});
|
|
31
31
|
}
|
|
32
|
-
})), h(this, b, d(this, k, !1)), this._horizontalFrom = (d(this, S), null), h(this, p, d(this, w, "horizontal")), h(this, u, (d(this, E), d(this, F, V() ? "s" : "m"))), this._loaded = (d(this,
|
|
33
|
-
this._checkOrientation(), this._setStepperHeight(this.selected), clearTimeout(this._resizeObserverTimeout), this.toggleAttribute("data-disable-animation", !0), this._resizeObserverTimeout = setTimeout(() => this.toggleAttribute("data-disable-animation", !1),
|
|
34
|
-
}, (e = this.addEventListener) == null || e.call(this, "keydown", (t) => this._handleKeyDown(t));
|
|
32
|
+
})), h(this, b, d(this, k, !1)), this._horizontalFrom = (d(this, S), null), h(this, p, d(this, w, "horizontal")), h(this, u, (d(this, E), d(this, F, V() ? "s" : "m"))), this._loaded = (d(this, L), !1), this._resizeObserverTimeout = null, this._onStepperResize = () => {
|
|
33
|
+
this._checkOrientation(), this._setStepperHeight(this.selected), clearTimeout(this._resizeObserverTimeout), this.toggleAttribute("data-disable-animation", !0), this._resizeObserverTimeout = setTimeout(() => this.toggleAttribute("data-disable-animation", !1), R);
|
|
34
|
+
}, (e = this.addEventListener) == null || e.call(this, "keydown", (t) => this._handleKeyDown(t)), this.addEventListener("resizeChange", (t) => this._onSelectedStepResize(t));
|
|
35
35
|
}
|
|
36
36
|
/** If set to true, only the current and previous labels can be clicked and selected. */
|
|
37
37
|
get linear() {
|
|
@@ -158,6 +158,9 @@ let le = (() => {
|
|
|
158
158
|
}
|
|
159
159
|
return e + this.selected.label.offsetHeight + parseFloat(getComputedStyle(this).getPropertyValue("--sbb-spacing-fixed-6x")) * 16 * this.selectedIndex;
|
|
160
160
|
}
|
|
161
|
+
_onSelectedStepResize(e) {
|
|
162
|
+
this._setStepperHeight(e.target);
|
|
163
|
+
}
|
|
161
164
|
_configure() {
|
|
162
165
|
const e = this.steps;
|
|
163
166
|
e.forEach((t) => t.configure(this._loaded)), e.filter((t) => t.label).map((t) => t.label).forEach((t, s, o) => {
|
|
@@ -188,7 +191,7 @@ let le = (() => {
|
|
|
188
191
|
super.disconnectedCallback(), window.removeEventListener("resize", this._onStepperResize);
|
|
189
192
|
}
|
|
190
193
|
async firstUpdated(e) {
|
|
191
|
-
super.firstUpdated(e), await this.updateComplete, this._loaded = !0, this.selectedIndex = this.linear ? 0 : Number(this.getAttribute("selected-index")) || 0, this._observer.observe(this), this._checkOrientation(), setTimeout(() => this.toggleAttribute("data-disable-animation", !1),
|
|
194
|
+
super.firstUpdated(e), await this.updateComplete, this._loaded = !0, this.selectedIndex = this.linear ? 0 : Number(this.getAttribute("selected-index")) || 0, this._observer.observe(this), this._checkOrientation(), setTimeout(() => this.toggleAttribute("data-disable-animation", !1), R);
|
|
192
195
|
}
|
|
193
196
|
willUpdate(e) {
|
|
194
197
|
super.willUpdate(e), e.has("orientation") && !this.horizontalFrom && (this._updateLabels(), this._setMarkerSize()), e.has("linear") && this._loaded && this._configureLinearMode(), e.has("size") && (this._proxySize(), this._setMarkerSize());
|
|
@@ -220,8 +223,8 @@ let le = (() => {
|
|
|
220
223
|
`;
|
|
221
224
|
}
|
|
222
225
|
}, b = new WeakMap(), p = new WeakMap(), u = new WeakMap(), n = l, (() => {
|
|
223
|
-
const e = typeof Symbol == "function" && Symbol.metadata ? Object.create(
|
|
224
|
-
|
|
226
|
+
const e = typeof Symbol == "function" && Symbol.metadata ? Object.create(x[Symbol.metadata] ?? null) : void 0;
|
|
227
|
+
v = [K(), _({ type: Boolean })], y = [_({ attribute: "horizontal-from", reflect: !0 })], I = [_({ reflect: !0 })], A = [_({ reflect: !0 })], O = [_({ attribute: !1 })], T = [_({ attribute: "selected-index", type: Number })], c(l, null, v, { kind: "accessor", name: "linear", static: !1, private: !1, access: { has: (t) => "linear" in t, get: (t) => t.linear, set: (t, s) => {
|
|
225
228
|
t.linear = s;
|
|
226
229
|
} }, metadata: e }, k, S), c(l, null, y, { kind: "setter", name: "horizontalFrom", static: !1, private: !1, access: { has: (t) => "horizontalFrom" in t, set: (t, s) => {
|
|
227
230
|
t.horizontalFrom = s;
|
|
@@ -229,7 +232,7 @@ let le = (() => {
|
|
|
229
232
|
t.orientation = s;
|
|
230
233
|
} }, metadata: e }, w, E), c(l, null, A, { kind: "accessor", name: "size", static: !1, private: !1, access: { has: (t) => "size" in t, get: (t) => t.size, set: (t, s) => {
|
|
231
234
|
t.size = s;
|
|
232
|
-
} }, metadata: e }, F,
|
|
235
|
+
} }, metadata: e }, F, L), c(l, null, O, { kind: "setter", name: "selected", static: !1, private: !1, access: { has: (t) => "selected" in t, set: (t, s) => {
|
|
233
236
|
t.selected = s;
|
|
234
237
|
} }, metadata: e }, null, f), c(l, null, T, { kind: "setter", name: "selectedIndex", static: !1, private: !1, access: { has: (t) => "selectedIndex" in t, set: (t, s) => {
|
|
235
238
|
t.selectedIndex = s;
|
package/table/table-wrapper.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { __esDecorate as s, __runInitializers as c } from "tslib";
|
|
2
2
|
import { ResizeController as i } from "@lit-labs/observers/resize-controller.js";
|
|
3
|
-
import { css as p, LitElement as
|
|
3
|
+
import { css as p, LitElement as h, html as d } from "lit";
|
|
4
4
|
import { customElement as n } from "lit/decorators.js";
|
|
5
5
|
import { SbbNegativeMixin as u } from "../core/mixins.js";
|
|
6
|
-
const w = p`*,:before,:after{box-sizing:border-box}:host{--sbb-table-wrapper-border-radius: var(--sbb-border-radius-4x);display:block}::slotted(.sbb-table){width:100%}.sbb-table-wrapper{overflow:auto;--sbb-scrollbar-thumb-width: .5rem;--sbb-scrollbar-thumb-width-hover: var(--sbb-scrollbar-thumb-width);--sbb-scrollbar-width-firefox: auto;--sbb-scrollbar-color: var(--sbb-color-black-alpha-30);--sbb-scrollbar-color-hover: var(--sbb-color-black-alpha-60);--sbb-scrollbar-track-color: var(--sbb-color-cloud);--sbb-scrollbar-width: var(--sbb-spacing-fixed-3x)}.sbb-table-wrapper::-webkit-scrollbar{width:var(--sbb-scrollbar-width);height:var(--sbb-scrollbar-width);background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-table-wrapper::-webkit-scrollbar-corner{background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-table-wrapper::-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-table-wrapper::-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-table-wrapper::-webkit-scrollbar-button,.sbb-table-wrapper::-webkit-scrollbar-corner{display:none}@supports not selector(::-webkit-scrollbar){.sbb-table-wrapper{scrollbar-width:var(--sbb-scrollbar-width-firefox);scrollbar-color:var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent)}}:host([negative]) .sbb-table-wrapper{--sbb-scrollbar-color: var(--sbb-color-white-alpha-30);--sbb-scrollbar-color-hover: var(--sbb-color-white-alpha-60);--sbb-scrollbar-track-color: var(--sbb-color-iron)}:host([data-has-horizontal-scrollbar]) .sbb-table-wrapper{padding-bottom:var(--sbb-spacing-fixed-1x)}`;
|
|
6
|
+
const w = p`*,:before,:after{box-sizing:border-box}:host{--sbb-table-wrapper-border-radius: var(--sbb-border-radius-4x);display:block}::slotted(.sbb-table){width:100%}.sbb-table-wrapper{height:100%;overflow:auto;--sbb-scrollbar-thumb-width: .5rem;--sbb-scrollbar-thumb-width-hover: var(--sbb-scrollbar-thumb-width);--sbb-scrollbar-width-firefox: auto;--sbb-scrollbar-color: var(--sbb-color-black-alpha-30);--sbb-scrollbar-color-hover: var(--sbb-color-black-alpha-60);--sbb-scrollbar-track-color: var(--sbb-color-cloud);--sbb-scrollbar-width: var(--sbb-spacing-fixed-3x)}.sbb-table-wrapper::-webkit-scrollbar{width:var(--sbb-scrollbar-width);height:var(--sbb-scrollbar-width);background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-table-wrapper::-webkit-scrollbar-corner{background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-table-wrapper::-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-table-wrapper::-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-table-wrapper::-webkit-scrollbar-button,.sbb-table-wrapper::-webkit-scrollbar-corner{display:none}@supports not selector(::-webkit-scrollbar){.sbb-table-wrapper{scrollbar-width:var(--sbb-scrollbar-width-firefox);scrollbar-color:var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent)}}:host([negative]) .sbb-table-wrapper{--sbb-scrollbar-color: var(--sbb-color-white-alpha-30);--sbb-scrollbar-color-hover: var(--sbb-color-white-alpha-60);--sbb-scrollbar-track-color: var(--sbb-color-iron)}:host([data-has-horizontal-scrollbar]) .sbb-table-wrapper{padding-bottom:var(--sbb-spacing-fixed-1x)}`;
|
|
7
7
|
let _ = (() => {
|
|
8
8
|
var b;
|
|
9
|
-
let e = [n("sbb-table-wrapper")], l, t = [], r, o = u(
|
|
9
|
+
let e = [n("sbb-table-wrapper")], l, t = [], r, o = u(h);
|
|
10
10
|
return b = class extends o {
|
|
11
11
|
constructor() {
|
|
12
12
|
super(...arguments), this._resizeObserver = new i(this, {
|
|
@@ -22,7 +22,7 @@ let _ = (() => {
|
|
|
22
22
|
this.toggleAttribute("data-has-horizontal-scrollbar", this._tableWrapper.scrollWidth > this._tableWrapper.offsetWidth);
|
|
23
23
|
}
|
|
24
24
|
render() {
|
|
25
|
-
return
|
|
25
|
+
return d`<div class="sbb-table-wrapper">
|
|
26
26
|
<slot></slot>
|
|
27
27
|
</div>`;
|
|
28
28
|
}
|
package/table.css
CHANGED
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|
--sbb-table-cell-padding-block: var(--sbb-spacing-responsive-xxxs);
|
|
8
8
|
--sbb-table-cell-padding-inline: var(--sbb-spacing-fixed-4x);
|
|
9
9
|
}
|
|
10
|
-
.sbb-table tbody tr:nth-child(odd),
|
|
11
|
-
.sbb-table-m tbody tr:nth-child(odd),
|
|
12
|
-
.sbb-table-s tbody tr:nth-child(odd),
|
|
13
|
-
.sbb-table-xs tbody tr:nth-child(odd) {
|
|
10
|
+
.sbb-table tbody tr:nth-child(odd) :is(th, td),
|
|
11
|
+
.sbb-table-m tbody tr:nth-child(odd) :is(th, td),
|
|
12
|
+
.sbb-table-s tbody tr:nth-child(odd) :is(th, td),
|
|
13
|
+
.sbb-table-xs tbody tr:nth-child(odd) :is(th, td) {
|
|
14
14
|
background-color: var(--sbb-table-row-striped-color);
|
|
15
15
|
}
|
|
16
16
|
.sbb-table,
|
|
@@ -25,14 +25,35 @@
|
|
|
25
25
|
--sbb-table-color: inherit;
|
|
26
26
|
--sbb-table-caption-color: var(--sbb-color-granite);
|
|
27
27
|
--sbb-table-caption-margin-block-start: var(--sbb-spacing-fixed-4x);
|
|
28
|
-
background-color: var(--sbb-table-background-color);
|
|
29
|
-
border: var(--sbb-table-border);
|
|
30
|
-
border-radius: var(--sbb-table-border-radius);
|
|
31
28
|
border-spacing: 0;
|
|
32
29
|
caption-side: bottom;
|
|
33
30
|
color: var(--sbb-table-color);
|
|
34
31
|
table-layout: auto;
|
|
35
32
|
}
|
|
33
|
+
.sbb-table thead > tr:last-of-type > th,
|
|
34
|
+
.sbb-table-m thead > tr:last-of-type > th,
|
|
35
|
+
.sbb-table-s thead > tr:last-of-type > th,
|
|
36
|
+
.sbb-table-xs thead > tr:last-of-type > th {
|
|
37
|
+
border-bottom: var(--sbb-table-border);
|
|
38
|
+
}
|
|
39
|
+
.sbb-table thead > tr:first-of-type > th,
|
|
40
|
+
.sbb-table-m thead > tr:first-of-type > th,
|
|
41
|
+
.sbb-table-s thead > tr:first-of-type > th,
|
|
42
|
+
.sbb-table-xs thead > tr:first-of-type > th {
|
|
43
|
+
border-block-start: var(--sbb-table-border);
|
|
44
|
+
}
|
|
45
|
+
.sbb-table thead > tr:first-of-type > th:first-of-type,
|
|
46
|
+
.sbb-table-m thead > tr:first-of-type > th:first-of-type,
|
|
47
|
+
.sbb-table-s thead > tr:first-of-type > th:first-of-type,
|
|
48
|
+
.sbb-table-xs thead > tr:first-of-type > th:first-of-type {
|
|
49
|
+
border-start-start-radius: var(--sbb-table-border-radius);
|
|
50
|
+
}
|
|
51
|
+
.sbb-table thead > tr:first-of-type > th:last-of-type,
|
|
52
|
+
.sbb-table-m thead > tr:first-of-type > th:last-of-type,
|
|
53
|
+
.sbb-table-s thead > tr:first-of-type > th:last-of-type,
|
|
54
|
+
.sbb-table-xs thead > tr:first-of-type > th:last-of-type {
|
|
55
|
+
border-start-end-radius: var(--sbb-table-border-radius);
|
|
56
|
+
}
|
|
36
57
|
.sbb-table thead > tr > th,
|
|
37
58
|
.sbb-table-m thead > tr > th,
|
|
38
59
|
.sbb-table-s thead > tr > th,
|
|
@@ -44,23 +65,17 @@
|
|
|
44
65
|
letter-spacing: var(--sbb-typo-letter-spacing-body-text);
|
|
45
66
|
font-size: var(--sbb-text-font-size);
|
|
46
67
|
font-weight: bold;
|
|
47
|
-
|
|
48
|
-
border-
|
|
68
|
+
background-color: var(--sbb-table-background-color);
|
|
69
|
+
border-inline-end: var(--sbb-table-border);
|
|
49
70
|
padding-block: var(--sbb-table-header-padding-block);
|
|
50
71
|
padding-inline: var(--sbb-table-header-padding-inline);
|
|
51
72
|
text-align: left;
|
|
52
73
|
}
|
|
53
|
-
.sbb-table thead > tr > th:
|
|
54
|
-
.sbb-table-m thead > tr > th:
|
|
55
|
-
.sbb-table-s thead > tr > th:
|
|
56
|
-
.sbb-table-xs thead > tr > th:
|
|
57
|
-
border-
|
|
58
|
-
}
|
|
59
|
-
.sbb-table tbody > tr:first-of-type td,
|
|
60
|
-
.sbb-table-m tbody > tr:first-of-type td,
|
|
61
|
-
.sbb-table-s tbody > tr:first-of-type td,
|
|
62
|
-
.sbb-table-xs tbody > tr:first-of-type td {
|
|
63
|
-
border-top: none;
|
|
74
|
+
.sbb-table thead > tr > th:first-of-type,
|
|
75
|
+
.sbb-table-m thead > tr > th:first-of-type,
|
|
76
|
+
.sbb-table-s thead > tr > th:first-of-type,
|
|
77
|
+
.sbb-table-xs thead > tr > th:first-of-type {
|
|
78
|
+
border-inline-start: var(--sbb-table-border);
|
|
64
79
|
}
|
|
65
80
|
.sbb-table tbody > tr > td,
|
|
66
81
|
.sbb-table-m tbody > tr > td,
|
|
@@ -72,16 +87,29 @@
|
|
|
72
87
|
line-height: var(--sbb-typo-line-height-body-text);
|
|
73
88
|
letter-spacing: var(--sbb-typo-letter-spacing-body-text);
|
|
74
89
|
font-size: var(--sbb-text-font-size);
|
|
75
|
-
|
|
76
|
-
border-
|
|
90
|
+
background-color: var(--sbb-table-background-color);
|
|
91
|
+
border-block-end: var(--sbb-table-border);
|
|
92
|
+
border-inline-end: var(--sbb-table-border);
|
|
77
93
|
padding-block: var(--sbb-table-cell-padding-block);
|
|
78
94
|
padding-inline: var(--sbb-table-cell-padding-inline);
|
|
79
95
|
}
|
|
80
|
-
.sbb-table tbody > tr > td:
|
|
81
|
-
.sbb-table-m tbody > tr > td:
|
|
82
|
-
.sbb-table-s tbody > tr > td:
|
|
83
|
-
.sbb-table-xs tbody > tr > td:
|
|
84
|
-
border-
|
|
96
|
+
.sbb-table tbody > tr > td:first-of-type,
|
|
97
|
+
.sbb-table-m tbody > tr > td:first-of-type,
|
|
98
|
+
.sbb-table-s tbody > tr > td:first-of-type,
|
|
99
|
+
.sbb-table-xs tbody > tr > td:first-of-type {
|
|
100
|
+
border-inline-start: var(--sbb-table-border);
|
|
101
|
+
}
|
|
102
|
+
.sbb-table tbody > tr:last-of-type > td:first-of-type,
|
|
103
|
+
.sbb-table-m tbody > tr:last-of-type > td:first-of-type,
|
|
104
|
+
.sbb-table-s tbody > tr:last-of-type > td:first-of-type,
|
|
105
|
+
.sbb-table-xs tbody > tr:last-of-type > td:first-of-type {
|
|
106
|
+
border-end-start-radius: var(--sbb-table-border-radius);
|
|
107
|
+
}
|
|
108
|
+
.sbb-table tbody > tr:last-of-type > td:last-of-type,
|
|
109
|
+
.sbb-table-m tbody > tr:last-of-type > td:last-of-type,
|
|
110
|
+
.sbb-table-s tbody > tr:last-of-type > td:last-of-type,
|
|
111
|
+
.sbb-table-xs tbody > tr:last-of-type > td:last-of-type {
|
|
112
|
+
border-end-end-radius: var(--sbb-table-border-radius);
|
|
85
113
|
}
|
|
86
114
|
.sbb-table caption,
|
|
87
115
|
.sbb-table-m caption,
|
|
@@ -144,12 +172,12 @@ sbb-table-wrapper[negative] .sbb-table,
|
|
|
144
172
|
--sbb-table-caption-color: var(--sbb-color-cement);
|
|
145
173
|
}
|
|
146
174
|
|
|
147
|
-
.sbb-table--striped tbody tr:nth-child(odd) {
|
|
175
|
+
.sbb-table--striped tbody tr:nth-child(odd) :is(th, td) {
|
|
148
176
|
background-color: var(--sbb-table-row-striped-color);
|
|
149
177
|
}
|
|
150
178
|
|
|
151
|
-
.sbb-table--unstriped tbody tr:nth-child(odd) {
|
|
152
|
-
background-color:
|
|
179
|
+
.sbb-table--unstriped tbody tr:nth-child(odd) :is(th, td) {
|
|
180
|
+
background-color: var(--sbb-table-background-color);
|
|
153
181
|
}
|
|
154
182
|
|
|
155
183
|
.sbb-table--theme-iron {
|
|
@@ -162,6 +190,10 @@ sbb-table-wrapper[negative] .sbb-table,
|
|
|
162
190
|
--sbb-table-cell-color: var(--sbb-color-cloud);
|
|
163
191
|
}
|
|
164
192
|
|
|
193
|
+
.sbb-table-header-row:last-of-type > th {
|
|
194
|
+
border-bottom: var(--sbb-table-border);
|
|
195
|
+
}
|
|
196
|
+
|
|
165
197
|
.sbb-table-header-cell {
|
|
166
198
|
--sbb-text-font-size: var(--sbb-font-size-text-xs);
|
|
167
199
|
font-family: var(--sbb-typo-font-family);
|
|
@@ -170,19 +202,12 @@ sbb-table-wrapper[negative] .sbb-table,
|
|
|
170
202
|
letter-spacing: var(--sbb-typo-letter-spacing-body-text);
|
|
171
203
|
font-size: var(--sbb-text-font-size);
|
|
172
204
|
font-weight: bold;
|
|
173
|
-
|
|
174
|
-
border-
|
|
205
|
+
background-color: var(--sbb-table-background-color);
|
|
206
|
+
border-inline-end: var(--sbb-table-border);
|
|
175
207
|
padding-block: var(--sbb-table-header-padding-block);
|
|
176
208
|
padding-inline: var(--sbb-table-header-padding-inline);
|
|
177
209
|
text-align: left;
|
|
178
210
|
}
|
|
179
|
-
.sbb-table-header-cell:last-of-type {
|
|
180
|
-
border-right: none;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
.sbb-table-data-row:first-of-type td {
|
|
184
|
-
border-top: none;
|
|
185
|
-
}
|
|
186
211
|
|
|
187
212
|
.sbb-table-row--striped {
|
|
188
213
|
background-color: var(--sbb-table-row-striped-color);
|
|
@@ -195,14 +220,12 @@ sbb-table-wrapper[negative] .sbb-table,
|
|
|
195
220
|
line-height: var(--sbb-typo-line-height-body-text);
|
|
196
221
|
letter-spacing: var(--sbb-typo-letter-spacing-body-text);
|
|
197
222
|
font-size: var(--sbb-text-font-size);
|
|
198
|
-
|
|
199
|
-
border-
|
|
223
|
+
background-color: var(--sbb-table-background-color);
|
|
224
|
+
border-block-end: var(--sbb-table-border);
|
|
225
|
+
border-inline-end: var(--sbb-table-border);
|
|
200
226
|
padding-block: var(--sbb-table-cell-padding-block);
|
|
201
227
|
padding-inline: var(--sbb-table-cell-padding-inline);
|
|
202
228
|
}
|
|
203
|
-
.sbb-table-data-cell:last-of-type {
|
|
204
|
-
border-right: none;
|
|
205
|
-
}
|
|
206
229
|
|
|
207
230
|
.sbb-table-caption {
|
|
208
231
|
--sbb-text-font-size: var(--sbb-font-size-text-xs);
|
|
@@ -216,6 +239,14 @@ sbb-table-wrapper[negative] .sbb-table,
|
|
|
216
239
|
text-align: left;
|
|
217
240
|
}
|
|
218
241
|
|
|
242
|
+
.sbb-table-filter {
|
|
243
|
+
padding-block-start: 0 !important;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
.sbb-table-sticky {
|
|
247
|
+
position: sticky !important;
|
|
248
|
+
}
|
|
249
|
+
|
|
219
250
|
html.sbb-lean .sbb-table:not(.sbb-table-xs, .sbb-table-m) {
|
|
220
251
|
--sbb-table-header-padding-block: var(--sbb-spacing-fixed-1x);
|
|
221
252
|
--sbb-table-header-padding-inline: var(--sbb-spacing-fixed-2x);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CSSResultGroup,
|
|
1
|
+
import { CSSResultGroup, LitElement, PropertyDeclaration, TemplateResult } from 'lit';
|
|
2
2
|
import { SbbDateLike } from '../core/interfaces.js';
|
|
3
3
|
/**
|
|
4
4
|
* * Combined with a native input, it displays the input's value as a formatted time.
|
|
@@ -13,9 +13,7 @@ export declare class SbbTimeInputElement extends LitElement {
|
|
|
13
13
|
readonly validationChange: "validationChange";
|
|
14
14
|
};
|
|
15
15
|
/** Reference of the native input connected to the datepicker. */
|
|
16
|
-
|
|
17
|
-
get input(): string | HTMLElement | null;
|
|
18
|
-
private _input;
|
|
16
|
+
accessor input: string | HTMLElement | null;
|
|
19
17
|
private accessor _inputElement;
|
|
20
18
|
/** Formats the current input's value as date. */
|
|
21
19
|
set valueAsDate(date: SbbDateLike | null);
|
|
@@ -27,13 +25,13 @@ export declare class SbbTimeInputElement extends LitElement {
|
|
|
27
25
|
/** Emits whenever the internal validation state changes. */
|
|
28
26
|
private _validationChange;
|
|
29
27
|
private _statusContainer;
|
|
30
|
-
private
|
|
28
|
+
private _inputAbortController;
|
|
29
|
+
private _inputIdReferenceController;
|
|
31
30
|
private _language;
|
|
32
31
|
connectedCallback(): void;
|
|
33
32
|
disconnectedCallback(): void;
|
|
34
|
-
|
|
35
|
-
private
|
|
36
|
-
private _registerInputElement;
|
|
33
|
+
requestUpdate(name?: PropertyKey, oldValue?: unknown, options?: PropertyDeclaration): void;
|
|
34
|
+
private _configureInputElement;
|
|
37
35
|
/**
|
|
38
36
|
* Updates `value` and `valueAsDate`. The direct update on the `_inputElement` is required
|
|
39
37
|
* to force the input change when the typed value is the same of the current one.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time-input.d.ts","sourceRoot":"","sources":["../../../src/elements/time-input/time-input.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"time-input.d.ts","sourceRoot":"","sources":["../../../src/elements/time-input/time-input.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAGnB,UAAU,EACV,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAOb,OAAO,KAAK,EAAE,WAAW,EAA4B,MAAM,uBAAuB,CAAC;AAanF;;;;;GAKG;AACH,qBAEM,mBAAoB,SAAQ,UAAU;IAC1C,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;;MAGlB;IAGX,iEAAiE;IACjE,SACgB,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAAQ;IAEjD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiC;IAExE,iDAAiD;IACjD,IACW,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,EAc9C;IACD,IAAW,WAAW,IAAI,IAAI,GAAG,IAAI,CAEpC;IAED;;OAEG;IACH,OAAO,CAAC,UAAU,CAGf;IAEH,4DAA4D;IAC5D,OAAO,CAAC,iBAAiB,CAOvB;IAEF,OAAO,CAAC,gBAAgB,CAAwB;IAChD,OAAO,CAAC,qBAAqB,CAAyB;IACtD,OAAO,CAAC,2BAA2B,CAA+C;IAClF,OAAO,CAAC,SAAS,CAAmC;IAEpC,iBAAiB,IAAI,IAAI;IAMzB,oBAAoB,IAAI,IAAI;IAM5B,aAAa,CAC3B,IAAI,CAAC,EAAE,WAAW,EAClB,QAAQ,CAAC,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,IAAI;IAQP,OAAO,CAAC,sBAAsB;IA4D9B;;;OAGG;IACH,OAAO,CAAC,YAAY;IA4BpB,8BAA8B;IAC9B,OAAO,CAAC,WAAW;IAKnB,yDAAyD;IACzD,OAAO,CAAC,YAAY;IAMpB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAQ1B,uFAAuF;IACvF,OAAO,CAAC,YAAY;IAIpB,kDAAkD;IAClD,OAAO,CAAC,WAAW;IAoBnB,qDAAqD;IACrD,OAAO,CAAC,kBAAkB;IA6B1B,OAAO,CAAC,2BAA2B;cAWhB,MAAM,IAAI,cAAc;CAQ5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,gBAAgB,EAAE,mBAAmB,CAAC;KACvC;CACF"}
|
package/time-input.js
CHANGED
|
@@ -1,44 +1,45 @@
|
|
|
1
|
-
var
|
|
1
|
+
var T = (n) => {
|
|
2
2
|
throw TypeError(n);
|
|
3
3
|
};
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
import { __runInitializers as
|
|
7
|
-
import { css as
|
|
8
|
-
import { customElement as
|
|
9
|
-
import { ref as
|
|
10
|
-
import { SbbLanguageController as
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
var p = (r = class extends d {
|
|
4
|
+
var V = (n, s, a) => s.has(n) || T("Cannot " + a);
|
|
5
|
+
var E = (n, s, a) => (V(n, s, "read from private field"), a ? a.call(n) : s.get(n)), g = (n, s, a) => s.has(n) ? T("Cannot add the same private member more than once") : s instanceof WeakSet ? s.add(n) : s.set(n, a), c = (n, s, a, u) => (V(n, s, "write to private field"), u ? u.call(n, a) : s.set(n, a), a);
|
|
6
|
+
import { __runInitializers as m, __esDecorate as b } from "tslib";
|
|
7
|
+
import { css as x, LitElement as H, isServer as R, html as M } from "lit";
|
|
8
|
+
import { customElement as U, property as L, state as z } from "lit/decorators.js";
|
|
9
|
+
import { ref as $ } from "lit/directives/ref.js";
|
|
10
|
+
import { SbbIdReferenceController as P, SbbLanguageController as G } from "./core/controllers.js";
|
|
11
|
+
import { EventEmitter as O, forwardEvent as k } from "./core/eventing.js";
|
|
12
|
+
import { i18nTimeInputChange as j } from "./core/i18n.js";
|
|
13
|
+
const q = x`:host{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px;display:block}`, K = /[0-9.:,\-;_hH]/, W = /^([0-9]{1,2})([0-9]{2})$/, X = /^([0-9]{1,2})?[.:,\-;_hH]?([0-9]{1,2})?$/;
|
|
14
|
+
let it = (() => {
|
|
15
|
+
var p, h, r;
|
|
16
|
+
let n = [U("sbb-time-input")], s, a = [], u, f = H, C = [], v, A = [], w = [], y, I = [], D = [], S;
|
|
17
|
+
var _ = (r = class extends f {
|
|
19
18
|
constructor() {
|
|
20
19
|
super(...arguments);
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
g(this, p);
|
|
21
|
+
g(this, h);
|
|
22
|
+
c(this, p, (m(this, C), m(this, A, null))), c(this, h, (m(this, w), m(this, I, null))), this._didChange = (m(this, D), new O(this, _.events.didChange, {
|
|
23
23
|
bubbles: !0,
|
|
24
24
|
cancelable: !0
|
|
25
|
-
})), this._validationChange = new
|
|
25
|
+
})), this._validationChange = new O(this, _.events.validationChange, {
|
|
26
26
|
bubbles: !0,
|
|
27
27
|
composed: !1
|
|
28
|
-
}), this.
|
|
28
|
+
}), this._inputAbortController = new AbortController(), this._inputIdReferenceController = new P(this, "input"), this._language = new G(this);
|
|
29
29
|
}
|
|
30
|
+
// TODO: Replace HTMLElement by HTMLInputElement
|
|
30
31
|
/** Reference of the native input connected to the datepicker. */
|
|
31
|
-
set input(t) {
|
|
32
|
-
this._input = t, this._setupInputElement();
|
|
33
|
-
}
|
|
34
32
|
get input() {
|
|
35
|
-
return this
|
|
33
|
+
return E(this, p);
|
|
34
|
+
}
|
|
35
|
+
set input(t) {
|
|
36
|
+
c(this, p, t);
|
|
36
37
|
}
|
|
37
38
|
get _inputElement() {
|
|
38
|
-
return
|
|
39
|
+
return E(this, h);
|
|
39
40
|
}
|
|
40
41
|
set _inputElement(t) {
|
|
41
|
-
c(this,
|
|
42
|
+
c(this, h, t);
|
|
42
43
|
}
|
|
43
44
|
/** Formats the current input's value as date. */
|
|
44
45
|
set valueAsDate(t) {
|
|
@@ -55,36 +56,28 @@ let Z = (() => {
|
|
|
55
56
|
return this._formatValueAsDate(this._parseInput((t = this._inputElement) == null ? void 0 : t.value)) ?? null;
|
|
56
57
|
}
|
|
57
58
|
connectedCallback() {
|
|
58
|
-
super.connectedCallback(), this.
|
|
59
|
+
super.connectedCallback(), this._configureInputElement();
|
|
59
60
|
}
|
|
60
61
|
disconnectedCallback() {
|
|
61
62
|
var t;
|
|
62
|
-
super.disconnectedCallback(), (t = this.
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
super.
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
var i;
|
|
69
|
-
const t =
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
this._inputElement !== t && (this._inputElement = t, this._registerInputElement(), this._updateValue(this._inputElement.value));
|
|
75
|
-
}
|
|
76
|
-
_registerInputElement() {
|
|
77
|
-
var t;
|
|
78
|
-
(t = this._abortController) == null || t.abort(), this._inputElement && (this._abortController = new AbortController(), this._inputElement.toggleAttribute("data-sbb-time-input", !0), this._inputElement.type = "text", this._inputElement.inputMode = "numeric", this._inputElement.maxLength = 5, this._inputElement.placeholder || (this._inputElement.placeholder = "HH:MM"), this._inputElement.addEventListener("input", (e) => V(e, this), {
|
|
79
|
-
signal: this._abortController.signal
|
|
80
|
-
}), this._inputElement.addEventListener("keydown", (e) => this._preventCharInsert(e), { signal: this._abortController.signal }), this._inputElement.addEventListener("change", (e) => this._updateValue(e.target.value), {
|
|
81
|
-
signal: this._abortController.signal,
|
|
63
|
+
super.disconnectedCallback(), (t = this._inputAbortController) == null || t.abort(), this._inputElement = null;
|
|
64
|
+
}
|
|
65
|
+
requestUpdate(t, e, i) {
|
|
66
|
+
super.requestUpdate(t, e, i), !R && (!t || t === "input") && this.hasUpdated && this._configureInputElement();
|
|
67
|
+
}
|
|
68
|
+
_configureInputElement() {
|
|
69
|
+
var e, i, l, d;
|
|
70
|
+
const t = this.input instanceof HTMLInputElement ? this.input : this._inputIdReferenceController.find() ?? ((i = (e = this.closest) == null ? void 0 : e.call(this, "sbb-form-field")) == null ? void 0 : i.querySelector("input")) ?? null;
|
|
71
|
+
t !== this._inputElement && ((l = this._inputAbortController) == null || l.abort(), (d = this._inputElement) == null || d.removeAttribute("data-sbb-time-input"), this._inputElement = t, this._inputElement && (this._updateValue(this._inputElement.value), this._inputAbortController = new AbortController(), this._inputElement.toggleAttribute("data-sbb-time-input", !0), this._inputElement.type = "text", this._inputElement.inputMode = "numeric", this._inputElement.maxLength = 5, this._inputElement.placeholder || (this._inputElement.placeholder = "HH:MM"), this._inputElement.addEventListener("input", (o) => k(o, this), {
|
|
72
|
+
signal: this._inputAbortController.signal
|
|
73
|
+
}), this._inputElement.addEventListener("keydown", (o) => this._preventCharInsert(o), { signal: this._inputAbortController.signal }), this._inputElement.addEventListener("change", (o) => this._updateValue(o.target.value), {
|
|
74
|
+
signal: this._inputAbortController.signal,
|
|
82
75
|
capture: !0
|
|
83
|
-
}), this._inputElement.addEventListener("change", (
|
|
84
|
-
this._emitChange(
|
|
76
|
+
}), this._inputElement.addEventListener("change", (o) => {
|
|
77
|
+
this._emitChange(o), this._updateAccessibilityMessage();
|
|
85
78
|
}, {
|
|
86
|
-
signal: this.
|
|
87
|
-
}));
|
|
79
|
+
signal: this._inputAbortController.signal
|
|
80
|
+
})));
|
|
88
81
|
}
|
|
89
82
|
/**
|
|
90
83
|
* Updates `value` and `valueAsDate`. The direct update on the `_inputElement` is required
|
|
@@ -93,14 +86,14 @@ let Z = (() => {
|
|
|
93
86
|
_updateValue(t) {
|
|
94
87
|
if (this._statusContainer && (this._statusContainer.innerText = ""), !this._inputElement)
|
|
95
88
|
return;
|
|
96
|
-
const e = this._parseInput(t), i = !!e && this._isTimeValid(e),
|
|
97
|
-
|
|
98
|
-
const
|
|
99
|
-
this._inputElement.toggleAttribute("data-sbb-invalid", !
|
|
89
|
+
const e = this._parseInput(t), i = !!e && this._isTimeValid(e), l = !t || t.trim() === "" || i;
|
|
90
|
+
l && e && (Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, "value").set.call(this._inputElement, this._formatValue(e)), this._inputElement.dispatchEvent(new InputEvent("input", { bubbles: !0, composed: !0 })));
|
|
91
|
+
const d = !this._inputElement.hasAttribute("data-sbb-invalid");
|
|
92
|
+
this._inputElement.toggleAttribute("data-sbb-invalid", !l), d !== l && this._validationChange.emit({ valid: l });
|
|
100
93
|
}
|
|
101
94
|
/** Emits the change event. */
|
|
102
95
|
_emitChange(t) {
|
|
103
|
-
|
|
96
|
+
k(t, this), this._didChange.emit();
|
|
104
97
|
}
|
|
105
98
|
/** Returns the right format for the `value` property. */
|
|
106
99
|
_formatValue(t) {
|
|
@@ -123,11 +116,11 @@ let Z = (() => {
|
|
|
123
116
|
const e = t == null ? void 0 : t.trim();
|
|
124
117
|
if (!e)
|
|
125
118
|
return null;
|
|
126
|
-
const i = e.match(
|
|
119
|
+
const i = e.match(W);
|
|
127
120
|
if (i)
|
|
128
121
|
return { hours: +i[1] || 0, minutes: +i[2] || 0 };
|
|
129
|
-
const
|
|
130
|
-
return
|
|
122
|
+
const l = e.match(X);
|
|
123
|
+
return l ? { hours: +l[1] || 0, minutes: +l[2] || 0 } : null;
|
|
131
124
|
}
|
|
132
125
|
/** Only allow typing numbers and separator keys. */
|
|
133
126
|
_preventCharInsert(t) {
|
|
@@ -145,37 +138,37 @@ let Z = (() => {
|
|
|
145
138
|
"PageDown",
|
|
146
139
|
"Delete"
|
|
147
140
|
];
|
|
148
|
-
!t.ctrlKey && !t.altKey && !t.metaKey && !e.includes(t.key) && !
|
|
141
|
+
!t.ctrlKey && !t.altKey && !t.metaKey && !e.includes(t.key) && !K.test(t.key) && t.preventDefault();
|
|
149
142
|
}
|
|
150
143
|
// We use a programmatic approach to avoid initial setting the message
|
|
151
144
|
// and to not immediately change output if language should change (no reason to read out message).
|
|
152
145
|
_updateAccessibilityMessage() {
|
|
153
146
|
var e;
|
|
154
|
-
this._inputElement.hasAttribute("data-sbb-invalid") || (this._statusContainer.innerText = `${
|
|
147
|
+
this._inputElement.hasAttribute("data-sbb-invalid") || (this._statusContainer.innerText = `${j[this._language.current]} ${(e = this._inputElement) == null ? void 0 : e.value}.`);
|
|
155
148
|
}
|
|
156
149
|
render() {
|
|
157
|
-
return
|
|
150
|
+
return M`
|
|
158
151
|
<p
|
|
159
152
|
role="status"
|
|
160
|
-
${
|
|
153
|
+
${$((t) => this._statusContainer = t)}
|
|
161
154
|
></p>
|
|
162
155
|
`;
|
|
163
156
|
}
|
|
164
|
-
},
|
|
165
|
-
const t = typeof Symbol == "function" && Symbol.metadata ? Object.create(
|
|
166
|
-
|
|
157
|
+
}, p = new WeakMap(), h = new WeakMap(), u = r, (() => {
|
|
158
|
+
const t = typeof Symbol == "function" && Symbol.metadata ? Object.create(f[Symbol.metadata] ?? null) : void 0;
|
|
159
|
+
v = [L()], y = [z()], S = [L({ attribute: !1 })], b(r, null, v, { kind: "accessor", name: "input", static: !1, private: !1, access: { has: (e) => "input" in e, get: (e) => e.input, set: (e, i) => {
|
|
167
160
|
e.input = i;
|
|
168
|
-
} }, metadata: t },
|
|
161
|
+
} }, metadata: t }, A, w), b(r, null, y, { kind: "accessor", name: "_inputElement", static: !1, private: !1, access: { has: (e) => "_inputElement" in e, get: (e) => e._inputElement, set: (e, i) => {
|
|
169
162
|
e._inputElement = i;
|
|
170
|
-
} }, metadata: t },
|
|
163
|
+
} }, metadata: t }, I, D), b(r, null, S, { kind: "setter", name: "valueAsDate", static: !1, private: !1, access: { has: (e) => "valueAsDate" in e, set: (e, i) => {
|
|
171
164
|
e.valueAsDate = i;
|
|
172
|
-
} }, metadata: t }, null,
|
|
173
|
-
})(), r.styles =
|
|
165
|
+
} }, metadata: t }, null, C), b(null, s = { value: u }, n, { kind: "class", name: u.name, metadata: t }, null, a), _ = u = s.value, t && Object.defineProperty(u, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: t });
|
|
166
|
+
})(), r.styles = q, r.events = {
|
|
174
167
|
didChange: "didChange",
|
|
175
168
|
validationChange: "validationChange"
|
|
176
|
-
},
|
|
177
|
-
return
|
|
169
|
+
}, m(u, a), r);
|
|
170
|
+
return _ = u;
|
|
178
171
|
})();
|
|
179
172
|
export {
|
|
180
|
-
|
|
173
|
+
it as SbbTimeInputElement
|
|
181
174
|
};
|