@sbb-esta/lyne-elements 0.52.1 → 0.53.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/accordion.js +54 -54
- package/action-group.js +3 -3
- package/alert/alert-group.js +22 -22
- package/alert/alert.js +22 -22
- package/autocomplete.js +126 -126
- package/breadcrumb/breadcrumb-group.js +60 -60
- package/breadcrumb/breadcrumb.js +17 -17
- package/calendar.js +423 -423
- package/card/card-badge.js +17 -17
- package/card/card.js +2 -2
- package/card/common.js +30 -30
- package/checkbox/checkbox/checkbox.d.ts +3 -46
- package/checkbox/checkbox/checkbox.d.ts.map +1 -1
- package/checkbox/checkbox-group/checkbox-group.d.ts +4 -2
- package/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -1
- package/checkbox/checkbox-group.js +26 -23
- package/checkbox/checkbox-panel/checkbox-panel.d.ts +41 -0
- package/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -0
- package/checkbox/checkbox-panel.d.ts +2 -0
- package/checkbox/checkbox-panel.d.ts.map +1 -0
- package/checkbox/checkbox-panel.js +67 -0
- package/checkbox/checkbox.js +27 -104
- package/checkbox/common/checkbox-common.d.ts +13 -0
- package/checkbox/common/checkbox-common.d.ts.map +1 -0
- package/checkbox/common.d.ts +2 -0
- package/checkbox/common.d.ts.map +1 -0
- package/checkbox/common.js +52 -0
- package/checkbox.d.ts +2 -0
- package/checkbox.d.ts.map +1 -1
- package/checkbox.js +2 -0
- package/clock.js +83 -83
- package/container/sticky-bar.js +16 -16
- package/core/a11y.js +91 -91
- package/core/base-elements.js +86 -86
- package/core/controllers.js +40 -40
- package/core/datetime.js +32 -32
- package/core/dom.js +26 -26
- package/core/eventing.js +33 -33
- package/core/mixins/panel-mixin.d.ts +13 -0
- package/core/mixins/panel-mixin.d.ts.map +1 -0
- package/core/mixins.d.ts +1 -0
- package/core/mixins.d.ts.map +1 -1
- package/core/mixins.js +170 -139
- package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables_css--mixin.scss +1 -1
- package/core/testing.js +29 -29
- package/core.css +1 -1
- package/custom-elements.json +8862 -6904
- package/datepicker/common.js +55 -55
- package/datepicker/datepicker-toggle.js +94 -94
- package/datepicker/datepicker.js +144 -144
- package/development/checkbox/checkbox/checkbox.d.ts +3 -46
- package/development/checkbox/checkbox/checkbox.d.ts.map +1 -1
- package/development/checkbox/checkbox-group/checkbox-group.d.ts +4 -2
- package/development/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -1
- package/development/checkbox/checkbox-group.js +43 -13
- package/development/checkbox/checkbox-panel/checkbox-panel.d.ts +41 -0
- package/development/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -0
- package/development/checkbox/checkbox-panel.d.ts +2 -0
- package/development/checkbox/checkbox-panel.d.ts.map +1 -0
- package/development/checkbox/checkbox-panel.js +86 -0
- package/development/checkbox/checkbox.js +19 -239
- package/development/checkbox/common/checkbox-common.d.ts +13 -0
- package/development/checkbox/common/checkbox-common.d.ts.map +1 -0
- package/development/checkbox/common.d.ts +2 -0
- package/development/checkbox/common.d.ts.map +1 -0
- package/development/checkbox/common.js +156 -0
- package/development/checkbox.d.ts +2 -0
- package/development/checkbox.d.ts.map +1 -1
- package/development/checkbox.js +3 -1
- package/development/core/mixins/panel-mixin.d.ts +13 -0
- package/development/core/mixins/panel-mixin.d.ts.map +1 -0
- package/development/core/mixins.d.ts +1 -0
- package/development/core/mixins.d.ts.map +1 -1
- package/development/core/mixins.js +187 -31
- package/development/image.js +1 -1
- package/development/radio-button/common/radio-button-common.d.ts +22 -0
- package/development/radio-button/common/radio-button-common.d.ts.map +1 -0
- package/development/radio-button/common.d.ts +2 -0
- package/development/radio-button/common.d.ts.map +1 -0
- package/development/radio-button/common.js +294 -0
- package/development/radio-button/radio-button/radio-button.d.ts +2 -81
- package/development/radio-button/radio-button/radio-button.d.ts.map +1 -1
- package/development/radio-button/radio-button-group/radio-button-group.d.ts +6 -4
- package/development/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
- package/development/radio-button/radio-button-group.js +55 -23
- package/development/radio-button/radio-button-panel/index.d.ts +2 -0
- package/development/radio-button/radio-button-panel/index.d.ts.map +1 -0
- package/development/radio-button/radio-button-panel/radio-button-panel.d.ts +29 -0
- package/development/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -0
- package/development/radio-button/radio-button-panel.d.ts +2 -0
- package/development/radio-button/radio-button-panel.d.ts.map +1 -0
- package/development/radio-button/radio-button-panel.js +69 -0
- package/development/radio-button/radio-button.js +10 -324
- package/development/radio-button.d.ts +2 -0
- package/development/radio-button.d.ts.map +1 -1
- package/development/radio-button.js +3 -1
- package/{selection-panel/selection-panel.d.ts → development/selection-expansion-panel/selection-expansion-panel.d.ts} +9 -7
- package/development/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -0
- package/development/selection-expansion-panel.d.ts +2 -0
- package/development/selection-expansion-panel.d.ts.map +1 -0
- package/development/selection-expansion-panel.js +340 -0
- package/development/tabs/tab/index.d.ts +2 -0
- package/development/tabs/tab/index.d.ts.map +1 -0
- package/development/tabs/tab/tab.d.ts +24 -0
- package/development/tabs/tab/tab.d.ts.map +1 -0
- package/development/tabs/tab-group/tab-group.d.ts +20 -15
- package/development/tabs/tab-group/tab-group.d.ts.map +1 -1
- package/development/tabs/tab-group.js +24 -14
- package/development/tabs/{tab-title/tab-title.d.ts → tab-label/tab-label.d.ts} +4 -4
- package/development/tabs/{tab-title/tab-title.d.ts.map → tab-label/tab-label.d.ts.map} +1 -1
- package/development/tabs/tab-label.d.ts +2 -0
- package/development/tabs/tab-label.d.ts.map +1 -0
- package/development/tabs/{tab-title.js → tab-label.js} +86 -86
- package/development/tabs/tab.d.ts +2 -0
- package/development/tabs/tab.d.ts.map +1 -0
- package/development/tabs/tab.js +71 -0
- package/development/tabs.d.ts +2 -1
- package/development/tabs.d.ts.map +1 -1
- package/development/tabs.js +3 -2
- package/development/train/train-formation/train-formation.d.ts.map +1 -1
- package/development/train/train-formation.js +12 -12
- package/dialog/dialog-title.js +20 -20
- package/dialog/dialog.js +66 -66
- package/expansion-panel/expansion-panel-header.js +20 -20
- package/expansion-panel/expansion-panel.js +60 -60
- package/file-selector.js +91 -91
- package/form-field/form-field-clear.js +12 -12
- package/form-field/form-field.js +111 -111
- package/header/header.js +53 -53
- package/icon.js +107 -107
- package/image.js +87 -87
- package/index.d.ts +10 -8
- package/index.js +10 -8
- package/journey-header.js +29 -29
- package/map-container.js +23 -23
- package/menu/menu.js +91 -91
- package/navigation/common.js +16 -16
- package/navigation/navigation-marker.js +34 -34
- package/navigation/navigation-section.js +83 -83
- package/navigation/navigation.js +87 -87
- package/notification.js +52 -52
- package/option/optgroup.js +45 -45
- package/option/option.js +108 -108
- package/overlay.js +5 -5
- package/package.json +34 -19
- package/popover/popover.js +110 -110
- package/radio-button/common/radio-button-common.d.ts +22 -0
- package/radio-button/common/radio-button-common.d.ts.map +1 -0
- package/radio-button/common.d.ts +2 -0
- package/radio-button/common.d.ts.map +1 -0
- package/radio-button/common.js +105 -0
- package/radio-button/radio-button/radio-button.d.ts +2 -81
- package/radio-button/radio-button/radio-button.d.ts.map +1 -1
- package/radio-button/radio-button-group/radio-button-group.d.ts +6 -4
- package/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
- package/radio-button/radio-button-group.js +86 -80
- package/radio-button/radio-button-panel/index.d.ts +2 -0
- package/radio-button/radio-button-panel/index.d.ts.map +1 -0
- package/radio-button/radio-button-panel/radio-button-panel.d.ts +29 -0
- package/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -0
- package/radio-button/radio-button-panel.d.ts +2 -0
- package/radio-button/radio-button-panel.d.ts.map +1 -0
- package/radio-button/radio-button-panel.js +59 -0
- package/radio-button/radio-button.js +20 -143
- package/radio-button.d.ts +2 -0
- package/radio-button.d.ts.map +1 -1
- package/radio-button.js +2 -0
- package/select.js +178 -178
- package/{development/selection-panel/selection-panel.d.ts → selection-expansion-panel/selection-expansion-panel.d.ts} +9 -7
- package/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -0
- package/selection-expansion-panel.d.ts +2 -0
- package/selection-expansion-panel.d.ts.map +1 -0
- package/selection-expansion-panel.js +146 -0
- package/slider.js +58 -58
- package/standard-theme.css +1 -1
- package/status.js +6 -6
- package/stepper/step-label.js +19 -19
- package/stepper/step.js +31 -31
- package/stepper/stepper.js +46 -46
- package/tabs/tab/index.d.ts +2 -0
- package/tabs/tab/index.d.ts.map +1 -0
- package/tabs/tab/tab.d.ts +24 -0
- package/tabs/tab/tab.d.ts.map +1 -0
- package/tabs/tab-group/tab-group.d.ts +20 -15
- package/tabs/tab-group/tab-group.d.ts.map +1 -1
- package/tabs/tab-group.js +85 -75
- package/tabs/{tab-title/tab-title.d.ts → tab-label/tab-label.d.ts} +4 -4
- package/tabs/{tab-title/tab-title.d.ts.map → tab-label/tab-label.d.ts.map} +1 -1
- package/tabs/tab-label.d.ts +2 -0
- package/tabs/tab-label.d.ts.map +1 -0
- package/tabs/tab-label.js +51 -0
- package/tabs/tab.d.ts +2 -0
- package/tabs/tab.d.ts.map +1 -0
- package/tabs/tab.js +41 -0
- package/tabs.d.ts +2 -1
- package/tabs.d.ts.map +1 -1
- package/tabs.js +2 -1
- package/tag/tag-group.js +8 -8
- package/tag/tag.js +27 -27
- package/time-input.js +73 -73
- package/timetable-occupancy-icon.js +26 -26
- package/timetable-occupancy.js +9 -9
- package/toast.js +38 -38
- package/toggle/toggle-option.js +33 -33
- package/toggle/toggle.js +46 -46
- package/train/train-formation/train-formation.d.ts.map +1 -1
- package/train/train-formation.js +51 -51
- package/train/train-wagon.js +30 -30
- package/train/train.js +13 -13
- package/development/selection-panel/selection-panel.d.ts.map +0 -1
- package/development/selection-panel.d.ts +0 -2
- package/development/selection-panel.d.ts.map +0 -1
- package/development/selection-panel.js +0 -376
- package/development/tabs/tab-title.d.ts +0 -2
- package/development/tabs/tab-title.d.ts.map +0 -1
- package/development/teaser-hero/teaser-hero.d.ts +0 -26
- package/development/teaser-hero/teaser-hero.d.ts.map +0 -1
- package/development/teaser-hero.d.ts +0 -2
- package/development/teaser-hero.d.ts.map +0 -1
- package/development/teaser-hero.js +0 -181
- package/development/teaser-paid/teaser-paid.d.ts +0 -20
- package/development/teaser-paid/teaser-paid.d.ts.map +0 -1
- package/development/teaser-paid.d.ts +0 -2
- package/development/teaser-paid.d.ts.map +0 -1
- package/development/teaser-paid.js +0 -91
- package/selection-panel/selection-panel.d.ts.map +0 -1
- package/selection-panel.d.ts +0 -2
- package/selection-panel.d.ts.map +0 -1
- package/selection-panel.js +0 -138
- package/tabs/tab-title.d.ts +0 -2
- package/tabs/tab-title.d.ts.map +0 -1
- package/tabs/tab-title.js +0 -51
- package/teaser-hero/teaser-hero.d.ts +0 -26
- package/teaser-hero/teaser-hero.d.ts.map +0 -1
- package/teaser-hero.d.ts +0 -2
- package/teaser-hero.d.ts.map +0 -1
- package/teaser-hero.js +0 -51
- package/teaser-paid/teaser-paid.d.ts +0 -20
- package/teaser-paid/teaser-paid.d.ts.map +0 -1
- package/teaser-paid.d.ts +0 -2
- package/teaser-paid.d.ts.map +0 -1
- package/teaser-paid.js +0 -28
package/accordion.js
CHANGED
|
@@ -1,88 +1,88 @@
|
|
|
1
|
-
import { css as
|
|
2
|
-
import { property as
|
|
3
|
-
import { SbbConnectedAbortController as
|
|
4
|
-
import { SbbHydrationMixin as
|
|
5
|
-
import { SbbExpansionPanelElement as
|
|
6
|
-
const
|
|
7
|
-
var
|
|
8
|
-
for (var
|
|
9
|
-
(
|
|
10
|
-
return
|
|
1
|
+
import { css as c, LitElement as p, html as b } from "lit";
|
|
2
|
+
import { property as h, customElement as _ } from "lit/decorators.js";
|
|
3
|
+
import { SbbConnectedAbortController as u } from "./core/controllers.js";
|
|
4
|
+
import { SbbHydrationMixin as d } from "./core/mixins.js";
|
|
5
|
+
import { SbbExpansionPanelElement as f } from "./expansion-panel.js";
|
|
6
|
+
const m = c`*,:before,:after{box-sizing:border-box}:host{display:block}`;
|
|
7
|
+
var v = Object.defineProperty, x = Object.getOwnPropertyDescriptor, o = (e, t, l, i) => {
|
|
8
|
+
for (var s = i > 1 ? void 0 : i ? x(t, l) : t, r = e.length - 1, a; r >= 0; r--)
|
|
9
|
+
(a = e[r]) && (s = (i ? a(t, l, s) : a(s)) || s);
|
|
10
|
+
return i && s && v(t, l, s), s;
|
|
11
11
|
};
|
|
12
|
-
let
|
|
12
|
+
let n = class extends d(p) {
|
|
13
13
|
constructor() {
|
|
14
|
-
super(...arguments), this.
|
|
14
|
+
super(...arguments), this._titleLevel = null, this._multi = !1, this.size = "l", this._abort = new u(this);
|
|
15
15
|
}
|
|
16
|
-
set titleLevel(
|
|
17
|
-
this.
|
|
16
|
+
set titleLevel(e) {
|
|
17
|
+
this._titleLevel = e, this._setTitleLevelOnChildren();
|
|
18
18
|
}
|
|
19
19
|
get titleLevel() {
|
|
20
|
-
return this.
|
|
20
|
+
return this._titleLevel;
|
|
21
21
|
}
|
|
22
|
-
set multi(
|
|
23
|
-
const
|
|
24
|
-
this.
|
|
22
|
+
set multi(e) {
|
|
23
|
+
const t = this._multi;
|
|
24
|
+
this._multi = e, this._resetExpansionPanels(this._multi, t);
|
|
25
25
|
}
|
|
26
26
|
get multi() {
|
|
27
|
-
return this.
|
|
27
|
+
return this._multi;
|
|
28
28
|
}
|
|
29
|
-
|
|
30
|
-
var
|
|
31
|
-
((
|
|
29
|
+
_closePanels(e) {
|
|
30
|
+
var t;
|
|
31
|
+
((t = e.target) == null ? void 0 : t.localName) !== "sbb-expansion-panel" || this.multi || this._expansionPanels.filter((l) => l !== e.target).forEach((l) => l.expanded = !1);
|
|
32
32
|
}
|
|
33
|
-
e
|
|
34
|
-
const
|
|
35
|
-
|
|
33
|
+
_resetExpansionPanels(e, t) {
|
|
34
|
+
const l = this._expansionPanels;
|
|
35
|
+
l.length > 1 && t && !e && (l[0].expanded = !0, l.filter((i, s) => s > 0).forEach((i) => i.expanded = !1));
|
|
36
36
|
}
|
|
37
|
-
|
|
38
|
-
this.
|
|
39
|
-
(
|
|
37
|
+
_setTitleLevelOnChildren() {
|
|
38
|
+
this._expansionPanels.forEach(
|
|
39
|
+
(e) => e.titleLevel = this.titleLevel
|
|
40
40
|
);
|
|
41
41
|
}
|
|
42
|
-
get
|
|
43
|
-
var
|
|
44
|
-
return Array.from(((
|
|
42
|
+
get _expansionPanels() {
|
|
43
|
+
var e;
|
|
44
|
+
return Array.from(((e = this.querySelectorAll) == null ? void 0 : e.call(this, "sbb-expansion-panel")) ?? []);
|
|
45
45
|
}
|
|
46
46
|
connectedCallback() {
|
|
47
47
|
super.connectedCallback();
|
|
48
|
-
const
|
|
48
|
+
const e = this._abort.signal;
|
|
49
49
|
this.addEventListener(
|
|
50
|
-
|
|
51
|
-
(
|
|
52
|
-
{ signal:
|
|
50
|
+
f.events.willOpen,
|
|
51
|
+
(t) => this._closePanels(t),
|
|
52
|
+
{ signal: e }
|
|
53
53
|
);
|
|
54
54
|
}
|
|
55
|
-
willUpdate(
|
|
56
|
-
super.willUpdate(
|
|
55
|
+
willUpdate(e) {
|
|
56
|
+
super.willUpdate(e), e.has("size") && this._expansionPanels.forEach((t) => t.size = this.size);
|
|
57
57
|
}
|
|
58
|
-
|
|
59
|
-
this.
|
|
60
|
-
(
|
|
61
|
-
|
|
58
|
+
_handleSlotchange() {
|
|
59
|
+
this._expansionPanels.forEach(
|
|
60
|
+
(e, t, l) => {
|
|
61
|
+
e.titleLevel = this.titleLevel, e.size = this.size, e.toggleAttribute("data-accordion-first", t === 0), e.toggleAttribute("data-accordion-last", t === l.length - 1);
|
|
62
62
|
}
|
|
63
63
|
);
|
|
64
64
|
}
|
|
65
65
|
render() {
|
|
66
|
-
return
|
|
66
|
+
return b`
|
|
67
67
|
<div class="sbb-accordion">
|
|
68
|
-
<slot @slotchange=${this.
|
|
68
|
+
<slot @slotchange=${this._handleSlotchange}></slot>
|
|
69
69
|
</div>
|
|
70
70
|
`;
|
|
71
71
|
}
|
|
72
72
|
};
|
|
73
|
-
|
|
73
|
+
n.styles = m;
|
|
74
74
|
o([
|
|
75
|
-
|
|
76
|
-
],
|
|
75
|
+
h({ attribute: "title-level" })
|
|
76
|
+
], n.prototype, "titleLevel", 1);
|
|
77
77
|
o([
|
|
78
|
-
|
|
79
|
-
],
|
|
78
|
+
h({ type: Boolean })
|
|
79
|
+
], n.prototype, "multi", 1);
|
|
80
80
|
o([
|
|
81
|
-
|
|
82
|
-
],
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
],
|
|
81
|
+
h({ reflect: !0 })
|
|
82
|
+
], n.prototype, "size", 2);
|
|
83
|
+
n = o([
|
|
84
|
+
_("sbb-accordion")
|
|
85
|
+
], n);
|
|
86
86
|
export {
|
|
87
|
-
|
|
87
|
+
n as SbbAccordionElement
|
|
88
88
|
};
|
package/action-group.js
CHANGED
|
@@ -10,16 +10,16 @@ let i = class extends p {
|
|
|
10
10
|
constructor() {
|
|
11
11
|
super(...arguments), this.alignGroup = "start", this.horizontalFrom = "medium", this.orientation = "horizontal", this.buttonSize = "l", this.linkSize = "m";
|
|
12
12
|
}
|
|
13
|
-
|
|
13
|
+
_syncButtons() {
|
|
14
14
|
var t;
|
|
15
15
|
(t = this.querySelectorAll) == null || t.call(this, "[data-sbb-button]").forEach(
|
|
16
16
|
(o) => o.size = this.buttonSize
|
|
17
17
|
);
|
|
18
18
|
}
|
|
19
19
|
willUpdate(t) {
|
|
20
|
-
super.willUpdate(t), t.has("buttonSize") && this.
|
|
20
|
+
super.willUpdate(t), t.has("buttonSize") && this._syncButtons(), t.has("linkSize") && this._syncLinks();
|
|
21
21
|
}
|
|
22
|
-
|
|
22
|
+
_syncLinks() {
|
|
23
23
|
var t;
|
|
24
24
|
(t = this.querySelectorAll) == null || t.call(this, "sbb-block-link, sbb-block-link-button, sbb-block-link-static").forEach((o) => {
|
|
25
25
|
o.size = this.linkSize;
|
package/alert/alert-group.js
CHANGED
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
import { css as
|
|
1
|
+
import { css as h, LitElement as m, nothing as u } from "lit";
|
|
2
2
|
import { property as b, state as f, customElement as v } from "lit/decorators.js";
|
|
3
3
|
import { html as c, unsafeStatic as p } from "lit/static-html.js";
|
|
4
4
|
import { SbbConnectedAbortController as g } from "../core/controllers.js";
|
|
5
5
|
import { EventEmitter as d } from "../core/eventing.js";
|
|
6
|
-
import { SbbHydrationMixin as
|
|
7
|
-
import { SbbAlertElement as
|
|
8
|
-
const
|
|
9
|
-
var
|
|
10
|
-
for (var o = r > 1 ? void 0 : r ?
|
|
6
|
+
import { SbbHydrationMixin as _ } from "../core/mixins.js";
|
|
7
|
+
import { SbbAlertElement as y } from "./alert.js";
|
|
8
|
+
const A = h`*,:before,:after{box-sizing:border-box}:host{--sbb-alert-group-gap: var(--sbb-spacing-fixed-3x);--sbb-alert-group-border-radius: var(--sbb-border-radius-4x);display:block}.sbb-alert-group{display:flex;flex-direction:column;gap:var(--sbb-alert-group-gap)}:host(:focus-visible:not([data-empty])){outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) solid var(--sbb-focus-outline-width);border-radius:var(--sbb-alert-group-border-radius)}.sbb-alert-group__title{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}`;
|
|
9
|
+
var x = Object.defineProperty, E = Object.getOwnPropertyDescriptor, l = (e, t, i, r) => {
|
|
10
|
+
for (var o = r > 1 ? void 0 : r ? E(t, i) : t, a = e.length - 1, n; a >= 0; a--)
|
|
11
11
|
(n = e[a]) && (o = (r ? n(t, i, o) : n(o)) || o);
|
|
12
|
-
return r && o &&
|
|
12
|
+
return r && o && x(t, i, o), o;
|
|
13
13
|
};
|
|
14
|
-
let s = class extends
|
|
14
|
+
let s = class extends _(m) {
|
|
15
15
|
constructor() {
|
|
16
|
-
super(...arguments), this.role = "status", this.accessibilityTitleLevel = "2", this.
|
|
16
|
+
super(...arguments), this.role = "status", this.accessibilityTitleLevel = "2", this._didDismissAlert = new d(
|
|
17
17
|
this,
|
|
18
18
|
s.events.didDismissAlert
|
|
19
|
-
), this.
|
|
19
|
+
), this._empty = new d(this, s.events.empty), this._abort = new g(this);
|
|
20
20
|
}
|
|
21
|
-
|
|
21
|
+
_removeAlert(e) {
|
|
22
22
|
var r;
|
|
23
23
|
const t = e.target, i = document.activeElement === t;
|
|
24
|
-
(r = t.parentNode) == null || r.removeChild(t), this.
|
|
24
|
+
(r = t.parentNode) == null || r.removeChild(t), this._didDismissAlert.emit(t), i && (this.tabIndex = 0, this.focus(), this.addEventListener("blur", () => this.removeAttribute("tabindex"), {
|
|
25
25
|
once: !0
|
|
26
26
|
}));
|
|
27
27
|
}
|
|
28
28
|
connectedCallback() {
|
|
29
29
|
super.connectedCallback();
|
|
30
|
-
const e = this.
|
|
31
|
-
this.addEventListener(
|
|
30
|
+
const e = this._abort.signal;
|
|
31
|
+
this.addEventListener(y.events.dismissalRequested, (t) => this._removeAlert(t), {
|
|
32
32
|
signal: e
|
|
33
33
|
});
|
|
34
34
|
}
|
|
35
|
-
|
|
36
|
-
const t = this.
|
|
37
|
-
this.
|
|
35
|
+
_slotChanged(e) {
|
|
36
|
+
const t = this._hasAlerts;
|
|
37
|
+
this._hasAlerts = e.target.assignedElements().filter((i) => i instanceof Element && i.localName === "sbb-alert").length > 0, !this._hasAlerts && t && this._empty.emit(), this.toggleAttribute("data-empty", !this._hasAlerts);
|
|
38
38
|
}
|
|
39
39
|
render() {
|
|
40
40
|
const e = `h${this.accessibilityTitleLevel}`;
|
|
41
41
|
return c`
|
|
42
42
|
<div class="sbb-alert-group">
|
|
43
|
-
${this.
|
|
43
|
+
${this._hasAlerts ? c`<${p(e)} class="sbb-alert-group__title">
|
|
44
44
|
<slot name="accessibility-title">${this.accessibilityTitle}</slot>
|
|
45
|
-
</${p(e)}>` :
|
|
46
|
-
<slot @slotchange=${(t) => this.
|
|
45
|
+
</${p(e)}>` : u}
|
|
46
|
+
<slot @slotchange=${(t) => this._slotChanged(t)}></slot>
|
|
47
47
|
</div>
|
|
48
48
|
`;
|
|
49
49
|
}
|
|
50
50
|
};
|
|
51
|
-
s.styles =
|
|
51
|
+
s.styles = A;
|
|
52
52
|
s.events = {
|
|
53
53
|
didDismissAlert: "didDismissAlert",
|
|
54
54
|
empty: "empty"
|
|
@@ -64,7 +64,7 @@ l([
|
|
|
64
64
|
], s.prototype, "accessibilityTitleLevel", 2);
|
|
65
65
|
l([
|
|
66
66
|
f()
|
|
67
|
-
], s.prototype, "
|
|
67
|
+
], s.prototype, "_hasAlerts", 2);
|
|
68
68
|
s = l([
|
|
69
69
|
v("sbb-alert-group")
|
|
70
70
|
], s);
|
package/alert/alert.js
CHANGED
|
@@ -2,49 +2,49 @@ import { css as m, LitElement as v, html as d, nothing as r } from "lit";
|
|
|
2
2
|
import { property as i, customElement as h } from "lit/decorators.js";
|
|
3
3
|
import { SbbLanguageController as u } from "../core/controllers.js";
|
|
4
4
|
import { EventEmitter as c } from "../core/eventing.js";
|
|
5
|
-
import { i18nFindOutMore as g, i18nCloseAlert as
|
|
6
|
-
import { SbbIconNameMixin as
|
|
5
|
+
import { i18nFindOutMore as g, i18nCloseAlert as _ } from "../core/i18n.js";
|
|
6
|
+
import { SbbIconNameMixin as f } from "../icon.js";
|
|
7
7
|
import "../button/transparent-button.js";
|
|
8
8
|
import "../divider.js";
|
|
9
9
|
import "../link.js";
|
|
10
10
|
import "../title.js";
|
|
11
|
-
const
|
|
12
|
-
var
|
|
13
|
-
for (var a = o > 1 ? void 0 : o ?
|
|
14
|
-
(p = s[
|
|
15
|
-
return o && a &&
|
|
11
|
+
const y = m`*,:before,:after{box-sizing:border-box}:host{--sbb-focus-outline-color: var(--sbb-focus-outline-color-dark);--sbb-alert-background-color: var(--sbb-color-midnight);--sbb-alert-border-radius: var(--sbb-border-radius-4x);--sbb-alert-color: var(--sbb-color-aluminium);--sbb-alert-padding: var(--sbb-spacing-responsive-xxs) var(--sbb-spacing-responsive-xs);--sbb-alert-icon-size: 1.25rem;--sbb-alert-close-icon-size: var(--sbb-size-icon-ui-small);--sbb-alert-close-icon-margin: var(--sbb-spacing-responsive-xxs);--sbb-alert-gap: var(--sbb-spacing-fixed-2x) var(--sbb-spacing-responsive-xs);--sbb-alert-animation-duration: var( --sbb-disable-animation-zero-time, var(--sbb-animation-duration-6x) );display:block}@media (min-width: 52.5rem){:host{--sbb-alert-icon-size: 1.75rem}}@media (forced-colors: active){:host{outline:var(--sbb-border-width-1x) solid CanvasText;border-radius:var(--sbb-alert-border-radius)}}:host([animation=none]){--sbb-disable-animation-time: .1ms;--sbb-disable-animation-zero-time: 0s}:host([size=s]){--sbb-alert-gap: var(--sbb-spacing-fixed-1x) var(--sbb-spacing-responsive-xxs);--sbb-alert-close-icon-margin: var(--sbb-spacing-responsive-xxxs)}:host([size=l]){--sbb-alert-icon-size: var(--sbb-size-icon-ui-small)}@media (min-width: 52.5rem){:host([size=l]){--sbb-alert-icon-size: 2.125rem}}.sbb-alert__transition-wrapper{display:grid;grid-template-rows:0fr;opacity:0}:host([data-state=opened]) .sbb-alert__transition-wrapper{grid-template-rows:1fr;opacity:1}:host([data-state=opening]) .sbb-alert__transition-wrapper{animation-name:open,open-opacity;animation-fill-mode:forwards;animation-duration:var(--sbb-alert-animation-duration);animation-timing-function:ease-in;animation-delay:0s,var(--sbb-alert-animation-duration)}.sbb-alert__transition-sub-wrapper{overflow:hidden}.sbb-alert{--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:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--sbb-alert-gap);min-width:fit-content;padding:var(--sbb-alert-padding);overflow:hidden;color:var(--sbb-alert-color);background-color:var(--sbb-alert-background-color);border-radius:var(--sbb-alert-border-radius)}@media (min-width: 37.5rem){.sbb-alert{grid-template-columns:auto 1fr auto;align-items:flex-start}}.sbb-alert__icon{display:flex;align-items:start;padding-block:var(--sbb-spacing-fixed-1x);min-width:var(--sbb-alert-icon-size);--sbb-icon-svg-width: var(--sbb-alert-icon-size);--sbb-icon-svg-height: var(--sbb-alert-icon-size)}.sbb-alert__content{order:3;grid-column:1/3}@media (min-width: 37.5rem){.sbb-alert__content{order:initial;grid-column-start:initial;grid-column-end:initial}}.sbb-alert__content-slot{display:inline;margin:0;padding:0}.sbb-alert__title{margin:0}.sbb-alert__close-button-wrapper{display:flex;justify-content:flex-end;align-items:center;height:100%}@media (min-width: 37.5rem){.sbb-alert__close-button{margin-inline-start:var(--sbb-alert-close-icon-margin)}}.sbb-alert__close-button-divider{display:none}@media (min-width: 37.5rem){.sbb-alert__close-button-divider{display:block;height:calc(100% - var(--sbb-spacing-fixed-1x) * 2)}}@keyframes open{0%{grid-template-rows:0fr}to{grid-template-rows:1fr}}@keyframes open-opacity{0%{opacity:0}to{opacity:1}}`;
|
|
12
|
+
var w = Object.defineProperty, x = Object.getOwnPropertyDescriptor, e = (s, n, l, o) => {
|
|
13
|
+
for (var a = o > 1 ? void 0 : o ? x(n, l) : n, b = s.length - 1, p; b >= 0; b--)
|
|
14
|
+
(p = s[b]) && (a = (o ? p(n, l, a) : p(a)) || a);
|
|
15
|
+
return o && a && w(n, l, a), a;
|
|
16
16
|
};
|
|
17
|
-
let t = class extends
|
|
17
|
+
let t = class extends f(v) {
|
|
18
18
|
constructor() {
|
|
19
|
-
super(...arguments), this.readonly = !1, this.size = "m", this.iconName = "info", this.titleLevel = "3", this.animation = "open", this.
|
|
19
|
+
super(...arguments), this.readonly = !1, this.size = "m", this.iconName = "info", this.titleLevel = "3", this.animation = "open", this._willOpen = new c(this, t.events.willOpen), this._didOpen = new c(this, t.events.didOpen), this._dismissalRequested = new c(
|
|
20
20
|
this,
|
|
21
21
|
t.events.dismissalRequested
|
|
22
|
-
), this.
|
|
22
|
+
), this._language = new u(this);
|
|
23
23
|
}
|
|
24
24
|
/** The state of the alert. */
|
|
25
|
-
get
|
|
25
|
+
get _state() {
|
|
26
26
|
return this.getAttribute("data-state") ?? "closed";
|
|
27
27
|
}
|
|
28
|
-
set
|
|
28
|
+
set _state(s) {
|
|
29
29
|
this.setAttribute("data-state", s);
|
|
30
30
|
}
|
|
31
31
|
async firstUpdated(s) {
|
|
32
|
-
super.firstUpdated(s), this.
|
|
32
|
+
super.firstUpdated(s), this._open();
|
|
33
33
|
}
|
|
34
34
|
/** Requests dismissal of the alert. */
|
|
35
35
|
requestDismissal() {
|
|
36
|
-
this.
|
|
36
|
+
this._dismissalRequested.emit();
|
|
37
37
|
}
|
|
38
38
|
/** Open the alert. */
|
|
39
|
-
|
|
40
|
-
this.
|
|
39
|
+
_open() {
|
|
40
|
+
this._state = "opening", this._willOpen.emit();
|
|
41
41
|
}
|
|
42
|
-
|
|
43
|
-
this.
|
|
42
|
+
_onAnimationEnd(s) {
|
|
43
|
+
this._state === "opening" && s.animationName === "open-opacity" && (this._state = "opened", this._didOpen.emit());
|
|
44
44
|
}
|
|
45
45
|
render() {
|
|
46
46
|
return d`
|
|
47
|
-
<div class="sbb-alert__transition-wrapper" @animationend=${this.
|
|
47
|
+
<div class="sbb-alert__transition-wrapper" @animationend=${this._onAnimationEnd}>
|
|
48
48
|
<!-- sub wrapper needed to properly support fade in animation -->
|
|
49
49
|
<div class="sbb-alert__transition-sub-wrapper">
|
|
50
50
|
<div class="sbb-alert">
|
|
@@ -68,7 +68,7 @@ let t = class extends y(v) {
|
|
|
68
68
|
rel=${this.rel ?? r}
|
|
69
69
|
negative
|
|
70
70
|
>
|
|
71
|
-
${this.linkContent ? this.linkContent : g[this.
|
|
71
|
+
${this.linkContent ? this.linkContent : g[this._language.current]}
|
|
72
72
|
</sbb-link>` : r}
|
|
73
73
|
</span>
|
|
74
74
|
${this.readonly ? r : d`<span class="sbb-alert__close-button-wrapper">
|
|
@@ -82,7 +82,7 @@ let t = class extends y(v) {
|
|
|
82
82
|
size=${this.size === "l" ? "m" : this.size}
|
|
83
83
|
icon-name="cross-small"
|
|
84
84
|
@click=${() => this.requestDismissal()}
|
|
85
|
-
aria-label=${
|
|
85
|
+
aria-label=${_[this._language.current]}
|
|
86
86
|
class="sbb-alert__close-button"
|
|
87
87
|
></sbb-transparent-button>
|
|
88
88
|
</span>`}
|
|
@@ -92,7 +92,7 @@ let t = class extends y(v) {
|
|
|
92
92
|
`;
|
|
93
93
|
}
|
|
94
94
|
};
|
|
95
|
-
t.styles =
|
|
95
|
+
t.styles = y;
|
|
96
96
|
t.events = {
|
|
97
97
|
willOpen: "willOpen",
|
|
98
98
|
didOpen: "didOpen",
|