@sbb-esta/lyne-elements 0.52.1 → 0.52.2
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-group.js +17 -17
- package/checkbox/checkbox.js +34 -34
- 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.js +122 -122
- package/core/testing.js +29 -29
- package/datepicker/common.js +55 -55
- package/datepicker/datepicker-toggle.js +94 -94
- package/datepicker/datepicker.js +144 -144
- 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/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 +1 -1
- package/popover/popover.js +110 -110
- package/radio-button/radio-button-group.js +93 -93
- package/radio-button/radio-button.js +84 -84
- package/select.js +178 -178
- package/selection-panel.js +44 -44
- package/slider.js +58 -58
- 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-group.js +67 -67
- package/tag/tag-group.js +8 -8
- package/tag/tag.js +27 -27
- package/teaser-paid.js +12 -12
- 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.js +36 -36
- package/train/train-wagon.js +30 -30
- package/train/train.js +13 -13
package/file-selector.js
CHANGED
|
@@ -1,98 +1,98 @@
|
|
|
1
|
-
import { css as g, LitElement as
|
|
2
|
-
import { property as
|
|
3
|
-
import { ref as
|
|
1
|
+
import { css as g, LitElement as m, nothing as h } from "lit";
|
|
2
|
+
import { property as r, state as v, customElement as y } from "lit/decorators.js";
|
|
3
|
+
import { ref as b } from "lit/directives/ref.js";
|
|
4
4
|
import { html as a, unsafeStatic as c } from "lit/static-html.js";
|
|
5
|
-
import { sbbInputModalityDetector as
|
|
5
|
+
import { sbbInputModalityDetector as _ } from "./core/a11y.js";
|
|
6
6
|
import { SbbLanguageController as x, SbbSlotStateController as $ } from "./core/controllers.js";
|
|
7
7
|
import { EventEmitter as z } from "./core/eventing.js";
|
|
8
|
-
import { i18nFileSelectorCurrentlySelected as u, i18nFileSelectorButtonLabel as p, i18nFileSelectorSubtitleLabel as
|
|
9
|
-
import { SbbDisabledMixin as
|
|
8
|
+
import { i18nFileSelectorCurrentlySelected as u, i18nFileSelectorButtonLabel as p, i18nFileSelectorSubtitleLabel as E, i18nFileSelectorDeleteFile as w } from "./core/i18n.js";
|
|
9
|
+
import { SbbDisabledMixin as F } from "./core/mixins.js";
|
|
10
10
|
import "./button/secondary-button.js";
|
|
11
11
|
import "./button/secondary-button-static.js";
|
|
12
12
|
import "./icon.js";
|
|
13
|
-
const
|
|
14
|
-
var
|
|
15
|
-
for (var
|
|
16
|
-
(
|
|
17
|
-
return
|
|
13
|
+
const k = g`*,:before,:after{box-sizing:border-box}:host{--sbb-file-selector-color: var(--sbb-color-black);--sbb-file-selector-subtitle-color: var(--sbb-color-granite);--sbb-file-selector-background-color: var(--sbb-color-white);--sbb-file-selector-border-color: var(--sbb-color-cloud);--sbb-file-selector-transition-duration: var( --sbb-disable-animation-zero-time, var(--sbb-animation-duration-2x) );--sbb-file-selector-transition-easing-function: var(--sbb-animation-easing);display:block;width:20rem}@media (forced-colors: active){:host([disabled]){--sbb-file-selector-color: GrayText;--sbb-file-selector-subtitle-color: GrayText;--sbb-file-selector-border-color: GrayText}}:host([data-active]){--sbb-file-selector-background-color: var(--sbb-color-milk);--sbb-file-selector-border-color: var(--sbb-color-storm)}@media (forced-colors: active){:host([data-active]){--sbb-file-selector-border-color: Highlight}}.sbb-file-selector__input-container{-webkit-tap-highlight-color:transparent;display:flex;flex-direction:column}.sbb-file-selector__visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.sbb-file-selector__dropzone-area{display:flex;flex-direction:column;align-items:center;padding:var(--sbb-spacing-responsive-s);background-color:var(--sbb-file-selector-background-color);border:var(--sbb-border-width-1x) dashed var(--sbb-file-selector-border-color);border-radius:var(--sbb-border-radius-4x);transition-duration:var(--sbb-file-selector-transition-duration);transition-timing-function:var(--sbb-file-selector-transition-easing-function);transition-property:background-color,border-color}.sbb-file-selector__dropzone-area--icon{color:var(--sbb-file-selector-color);line-height:0}.sbb-file-selector__dropzone-area--title{--sbb-title-line-height: var(--sbb-typo-line-height-titles);--sbb-title-margin-block-start: 0;--sbb-title-margin-block-end: 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;margin-block:var(--sbb-title-margin-block-start) var(--sbb-title-margin-block-end);font-family:var(--sbb-typo-font-family);font-weight:700;line-height:var(--sbb-title-line-height);letter-spacing:var(--sbb-typo-letter-spacing-titles);font-size:var(--sbb-title-font-size);--sbb-title-font-size: var(--sbb-font-size-title-6);--sbb-title-line-height: var(--sbb-typo-line-height-body-text);text-align:center;color:var(--sbb-file-selector-color)}.sbb-file-selector__dropzone-area--subtitle{--sbb-text-font-size: var(--sbb-font-size-text-xs);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);text-align:center;color:var(--sbb-file-selector-subtitle-color);margin-block-end:var(--sbb-spacing-fixed-4x)}.sbb-file-selector__file-list{display:flex;flex-direction:column;row-gap:var(--sbb-spacing-fixed-3x);margin-block:0;padding-inline:0;padding-block:var(--sbb-spacing-fixed-6x) var(--sbb-spacing-fixed-1x)}.sbb-file-selector__file{--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;gap:var(--sbb-spacing-fixed-4x);align-items:center;justify-content:space-between}.sbb-file-selector__file-details{display:flex;flex:1;justify-content:space-between;gap:var(--sbb-spacing-fixed-4x);overflow:auto}.sbb-file-selector__file-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sbb-file-selector__file-size{white-space:nowrap;color:var(--sbb-color-metal)}:host(:not([data-slot-names~=error])) .sbb-file-selector__error{display:none}`;
|
|
14
|
+
var M = Object.defineProperty, D = Object.getOwnPropertyDescriptor, l = (e, t, s, n) => {
|
|
15
|
+
for (var o = n > 1 ? void 0 : n ? D(t, s) : t, f = e.length - 1, d; f >= 0; f--)
|
|
16
|
+
(d = e[f]) && (o = (n ? d(t, s, o) : d(o)) || o);
|
|
17
|
+
return n && o && M(t, s, o), o;
|
|
18
18
|
};
|
|
19
|
-
let i = class extends
|
|
19
|
+
let i = class extends F(m) {
|
|
20
20
|
constructor() {
|
|
21
|
-
super(), this.variant = "default", this.size = "m", this.multiple = !1, this.multipleMode = "default", this.
|
|
21
|
+
super(), this.variant = "default", this.size = "m", this.multiple = !1, this.multipleMode = "default", this._fileChangedEvent = new z(
|
|
22
22
|
this,
|
|
23
23
|
i.events.fileChangedEvent
|
|
24
|
-
), this.
|
|
24
|
+
), this._counter = 0, this._suffixes = ["B", "kB", "MB", "GB", "TB"], this._language = new x(this), new $(this);
|
|
25
25
|
}
|
|
26
26
|
/**
|
|
27
27
|
* Gets the currently selected files.
|
|
28
28
|
*/
|
|
29
29
|
get files() {
|
|
30
|
-
return this.
|
|
30
|
+
return this._files || [];
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
33
|
* @deprecated use 'files' property instead
|
|
34
34
|
*/
|
|
35
35
|
getFiles() {
|
|
36
|
-
return this.
|
|
36
|
+
return this._files || [];
|
|
37
37
|
}
|
|
38
|
-
|
|
38
|
+
_blockEvent(e) {
|
|
39
39
|
e.stopPropagation(), e.preventDefault();
|
|
40
40
|
}
|
|
41
|
-
|
|
41
|
+
_checkFileEquality(e, t) {
|
|
42
42
|
return e.name === t.name && e.size === t.size && e.lastModified === t.lastModified;
|
|
43
43
|
}
|
|
44
|
-
|
|
45
|
-
this.
|
|
44
|
+
_onDragEnter(e) {
|
|
45
|
+
this._counter++, this.disabled || (this._setDragState(e.target, !0), this._blockEvent(e));
|
|
46
46
|
}
|
|
47
|
-
|
|
48
|
-
this.
|
|
47
|
+
_onDragLeave(e) {
|
|
48
|
+
this._counter--, !this.disabled && e.target === this._dragTarget && this._counter === 0 && (this._setDragState(), this._blockEvent(e));
|
|
49
49
|
}
|
|
50
|
-
|
|
51
|
-
this.
|
|
50
|
+
_onFileDrop(e) {
|
|
51
|
+
this._counter = 0, this.disabled || (this._setDragState(), this._blockEvent(e), this._createFileList(e.dataTransfer.files));
|
|
52
52
|
}
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
_onFocus() {
|
|
54
|
+
_.mostRecentModality === "keyboard" && this._loadButton.toggleAttribute("data-focus-visible", !0);
|
|
55
55
|
}
|
|
56
|
-
|
|
57
|
-
|
|
56
|
+
_onBlur() {
|
|
57
|
+
_.mostRecentModality === "keyboard" && this._loadButton.removeAttribute("data-focus-visible");
|
|
58
58
|
}
|
|
59
|
-
|
|
60
|
-
this.
|
|
59
|
+
_setDragState(e = void 0, t = !1) {
|
|
60
|
+
this._dragTarget = e, this.toggleAttribute("data-active", t), this._loadButton.toggleAttribute("data-active", t);
|
|
61
61
|
}
|
|
62
|
-
|
|
62
|
+
_readFiles(e) {
|
|
63
63
|
const t = e.target;
|
|
64
|
-
t.files && this.
|
|
64
|
+
t.files && this._createFileList(t.files);
|
|
65
65
|
}
|
|
66
|
-
|
|
67
|
-
!this.multiple || this.multipleMode !== "persistent" || !this.
|
|
68
|
-
(t) => this.
|
|
69
|
-
).concat(this.
|
|
66
|
+
_createFileList(e) {
|
|
67
|
+
!this.multiple || this.multipleMode !== "persistent" || !this._files || this._files.length === 0 ? this._files = Array.from(e) : this._files = Array.from(e).filter(
|
|
68
|
+
(t) => this._files.findIndex((s) => this._checkFileEquality(t, s)) === -1
|
|
69
|
+
).concat(this._files), this._liveRegion.innerText = u(this._files.map((t) => t.name))[this._language.current], this._fileChangedEvent.emit(this._files);
|
|
70
70
|
}
|
|
71
|
-
|
|
72
|
-
this.
|
|
71
|
+
_removeFile(e) {
|
|
72
|
+
this._files = this._files.filter((s) => !this._checkFileEquality(e, s));
|
|
73
73
|
const t = new DataTransfer();
|
|
74
|
-
this.
|
|
74
|
+
this._files.forEach((s) => t.items.add(s)), this._hiddenInput.files = t.files, this._liveRegion.innerText = u(this._files.map((s) => s.name))[this._language.current], this._fileChangedEvent.emit(this._files);
|
|
75
75
|
}
|
|
76
76
|
/** Calculates the correct unit for the file's size. */
|
|
77
|
-
|
|
77
|
+
_formatFileSize(e) {
|
|
78
78
|
const t = Math.floor(Math.log(e) / Math.log(1024));
|
|
79
|
-
return `${(e / Math.pow(1024, t)).toFixed(0)} ${this.
|
|
79
|
+
return `${(e / Math.pow(1024, t)).toFixed(0)} ${this._suffixes[t]}`;
|
|
80
80
|
}
|
|
81
|
-
|
|
81
|
+
_renderDefaultMode() {
|
|
82
82
|
return a`
|
|
83
83
|
<sbb-secondary-button-static
|
|
84
84
|
size=${this.size}
|
|
85
85
|
icon-name="folder-open-small"
|
|
86
86
|
?disabled=${this.disabled}
|
|
87
|
-
${
|
|
88
|
-
this.
|
|
87
|
+
${b((e) => {
|
|
88
|
+
this._loadButton = e;
|
|
89
89
|
})}
|
|
90
90
|
>
|
|
91
|
-
${p[this.
|
|
91
|
+
${p[this._language.current]}
|
|
92
92
|
</sbb-secondary-button-static>
|
|
93
93
|
`;
|
|
94
94
|
}
|
|
95
|
-
|
|
95
|
+
_renderDropzoneArea() {
|
|
96
96
|
return a`
|
|
97
97
|
<span class="sbb-file-selector__dropzone-area">
|
|
98
98
|
<span class="sbb-file-selector__dropzone-area--icon">
|
|
@@ -102,38 +102,38 @@ let i = class extends k(v) {
|
|
|
102
102
|
</span>
|
|
103
103
|
<span class="sbb-file-selector__dropzone-area--title">${this.titleContent}</span>
|
|
104
104
|
<span class="sbb-file-selector__dropzone-area--subtitle">
|
|
105
|
-
${
|
|
105
|
+
${E[this._language.current]}
|
|
106
106
|
</span>
|
|
107
107
|
<span class="sbb-file-selector__dropzone-area--button">
|
|
108
108
|
<sbb-secondary-button-static
|
|
109
109
|
size=${this.size}
|
|
110
110
|
?disabled=${this.disabled}
|
|
111
|
-
${
|
|
112
|
-
this.
|
|
111
|
+
${b((e) => {
|
|
112
|
+
this._loadButton = e;
|
|
113
113
|
})}
|
|
114
114
|
>
|
|
115
|
-
${p[this.
|
|
115
|
+
${p[this._language.current]}
|
|
116
116
|
</sbb-secondary-button-static>
|
|
117
117
|
</span>
|
|
118
118
|
</span>
|
|
119
119
|
`;
|
|
120
120
|
}
|
|
121
|
-
|
|
122
|
-
const e = this.
|
|
121
|
+
_renderFileList() {
|
|
122
|
+
const e = this._files.length > 1 ? { WRAPPER: "ul", ELEMENT: "li" } : { WRAPPER: "div", ELEMENT: "span" };
|
|
123
123
|
return a`
|
|
124
124
|
<${c(e.WRAPPER)} class="sbb-file-selector__file-list">
|
|
125
|
-
${this.
|
|
125
|
+
${this._files.map(
|
|
126
126
|
(t) => a`
|
|
127
127
|
<${c(e.ELEMENT)} class="sbb-file-selector__file">
|
|
128
128
|
<span class="sbb-file-selector__file-details">
|
|
129
129
|
<span class="sbb-file-selector__file-name">${t.name}</span>
|
|
130
|
-
<span class="sbb-file-selector__file-size">${this.
|
|
130
|
+
<span class="sbb-file-selector__file-size">${this._formatFileSize(t.size)}</span>
|
|
131
131
|
</span>
|
|
132
132
|
<sbb-secondary-button
|
|
133
133
|
size=${this.size}
|
|
134
134
|
icon-name="trash-small"
|
|
135
|
-
@click=${() => this.
|
|
136
|
-
aria-label=${`${
|
|
135
|
+
@click=${() => this._removeFile(t)}
|
|
136
|
+
aria-label=${`${w[this._language.current]} - ${t.name}`}
|
|
137
137
|
></sbb-secondary-button>
|
|
138
138
|
</${c(e.ELEMENT)}>`
|
|
139
139
|
)}
|
|
@@ -141,30 +141,30 @@ let i = class extends k(v) {
|
|
|
141
141
|
`;
|
|
142
142
|
}
|
|
143
143
|
render() {
|
|
144
|
-
const e = this.accessibilityLabel ? `${p[this.
|
|
144
|
+
const e = this.accessibilityLabel ? `${p[this._language.current]} - ${this.accessibilityLabel}` : void 0;
|
|
145
145
|
return a`
|
|
146
146
|
<div class="sbb-file-selector">
|
|
147
147
|
<div
|
|
148
148
|
class="sbb-file-selector__input-container"
|
|
149
|
-
@dragenter=${this.
|
|
150
|
-
@dragover=${this.
|
|
151
|
-
@dragleave=${this.
|
|
152
|
-
@drop=${this.
|
|
149
|
+
@dragenter=${this._onDragEnter}
|
|
150
|
+
@dragover=${this._blockEvent}
|
|
151
|
+
@dragleave=${this._onDragLeave}
|
|
152
|
+
@drop=${this._onFileDrop}
|
|
153
153
|
>
|
|
154
154
|
<label>
|
|
155
|
-
${this.variant === "default" ? this.
|
|
155
|
+
${this.variant === "default" ? this._renderDefaultMode() : this._renderDropzoneArea()}
|
|
156
156
|
<input
|
|
157
157
|
class="sbb-file-selector__visually-hidden"
|
|
158
158
|
type="file"
|
|
159
159
|
?disabled=${this.disabled}
|
|
160
160
|
?multiple=${this.multiple}
|
|
161
|
-
accept=${this.accept ||
|
|
162
|
-
aria-label=${e ||
|
|
163
|
-
@change=${this.
|
|
164
|
-
@focus=${this.
|
|
165
|
-
@blur=${this.
|
|
166
|
-
${
|
|
167
|
-
this.
|
|
161
|
+
accept=${this.accept || h}
|
|
162
|
+
aria-label=${e || h}
|
|
163
|
+
@change=${this._readFiles}
|
|
164
|
+
@focus=${this._onFocus}
|
|
165
|
+
@blur=${this._onBlur}
|
|
166
|
+
${b((t) => {
|
|
167
|
+
this._hiddenInput = t;
|
|
168
168
|
})}
|
|
169
169
|
/>
|
|
170
170
|
</label>
|
|
@@ -172,9 +172,9 @@ let i = class extends k(v) {
|
|
|
172
172
|
<p
|
|
173
173
|
role="status"
|
|
174
174
|
class="sbb-file-selector__visually-hidden"
|
|
175
|
-
${
|
|
175
|
+
${b((t) => this._liveRegion = t)}
|
|
176
176
|
></p>
|
|
177
|
-
${this.
|
|
177
|
+
${this._files && this._files.length > 0 ? this._renderFileList() : h}
|
|
178
178
|
<div class="sbb-file-selector__error">
|
|
179
179
|
<slot name="error"></slot>
|
|
180
180
|
</div>
|
|
@@ -182,36 +182,36 @@ let i = class extends k(v) {
|
|
|
182
182
|
`;
|
|
183
183
|
}
|
|
184
184
|
};
|
|
185
|
-
i.styles =
|
|
185
|
+
i.styles = k;
|
|
186
186
|
i.events = {
|
|
187
187
|
fileChangedEvent: "fileChanged"
|
|
188
188
|
};
|
|
189
|
-
|
|
190
|
-
|
|
189
|
+
l([
|
|
190
|
+
r()
|
|
191
191
|
], i.prototype, "variant", 2);
|
|
192
|
-
|
|
193
|
-
|
|
192
|
+
l([
|
|
193
|
+
r({ reflect: !0 })
|
|
194
194
|
], i.prototype, "size", 2);
|
|
195
|
-
|
|
196
|
-
|
|
195
|
+
l([
|
|
196
|
+
r({ type: Boolean })
|
|
197
197
|
], i.prototype, "multiple", 2);
|
|
198
|
-
|
|
199
|
-
|
|
198
|
+
l([
|
|
199
|
+
r({ attribute: "multiple-mode" })
|
|
200
200
|
], i.prototype, "multipleMode", 2);
|
|
201
|
-
|
|
202
|
-
|
|
201
|
+
l([
|
|
202
|
+
r()
|
|
203
203
|
], i.prototype, "accept", 2);
|
|
204
|
-
|
|
205
|
-
|
|
204
|
+
l([
|
|
205
|
+
r({ attribute: "title-content" })
|
|
206
206
|
], i.prototype, "titleContent", 2);
|
|
207
|
-
|
|
208
|
-
|
|
207
|
+
l([
|
|
208
|
+
r({ attribute: "accessibility-label" })
|
|
209
209
|
], i.prototype, "accessibilityLabel", 2);
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
], i.prototype, "
|
|
213
|
-
i =
|
|
214
|
-
|
|
210
|
+
l([
|
|
211
|
+
v()
|
|
212
|
+
], i.prototype, "_files", 2);
|
|
213
|
+
i = l([
|
|
214
|
+
y("sbb-file-selector")
|
|
215
215
|
], i);
|
|
216
216
|
export {
|
|
217
217
|
i as SbbFileSelectorElement
|
|
@@ -8,27 +8,27 @@ import { i18nClearInput as m } from "../core/i18n.js";
|
|
|
8
8
|
import { SbbNegativeMixin as p } from "../core/mixins.js";
|
|
9
9
|
import "../icon.js";
|
|
10
10
|
const g = l`*,:before,:after{box-sizing:border-box}:host{display:block;outline:none!important}:host{display:inline-block;-webkit-tap-highlight-color:transparent;height:fit-content;outline:none!important;--sbb-button-color-default-background: var(--sbb-color-black-alpha-0);--sbb-button-color-default-border: var(--sbb-color-black-alpha-0);--sbb-button-color-default-text: var(--sbb-color-charcoal);--sbb-button-color-hover-background: var(--sbb-color-milk);--sbb-button-color-hover-border: var(--sbb-color-milk);--sbb-button-color-hover-text: var(--sbb-color-charcoal);--sbb-button-color-active-background: var(--sbb-color-cloud);--sbb-button-color-active-border: var(--sbb-color-cloud);--sbb-button-color-active-text: var(--sbb-color-charcoal);--sbb-button-color-disabled-background: var(--sbb-color-milk);--sbb-button-color-disabled-border: var(--sbb-color-smoke);--sbb-button-color-disabled-text: var(--sbb-color-granite);--sbb-button-border-style: solid;--sbb-button-border-disabled-style: dashed;--sbb-button-border-width: 0rem;--sbb-button-border-radius: var(--sbb-border-radius-infinity);--sbb-button-transition-duration: var( --sbb-disable-animation-zero-time, var(--sbb-animation-duration-2x) );--sbb-button-transition-easing-function: var(--sbb-animation-easing);--sbb-button-inset: 0}@media (forced-colors: active){:host{--sbb-button-color-default-text: ButtonText !important;--sbb-button-color-default-border: CanvasText !important;--sbb-button-color-active-text: ButtonText !important;--sbb-button-color-active-border: Highlight !important;--sbb-button-color-hover-text: ButtonText !important}}:host .sbb-form-field-clear{position:relative;transition-duration:var(--sbb-button-transition-duration);transition-timing-function:var(--sbb-button-transition-easing-function);transition-property:color;border-radius:var(--sbb-button-border-radius);color:var(--sbb-button-color-default-text);cursor:pointer;-webkit-user-select:none;user-select:none;display:var(--sbb-button-display)}:host .sbb-form-field-clear:before{position:absolute;content:"";inset:var(--sbb-button-inset);border:var(--sbb-button-border-width) var(--sbb-button-border-style) var(--sbb-button-color-default-border);border-radius:var(--sbb-button-border-radius);background-color:var(--sbb-button-color-default-background);transition-duration:var(--sbb-button-transition-duration);transition-timing-function:var(--sbb-button-transition-easing-function);transition-property:inset,background-color,border-color}sbb-icon{transition:transform var(--sbb-button-transition-duration) var(--sbb-button-transition-easing-function);transform:translateY(var(--sbb-button-translate-y-content-hover, 0rem));display:flex}:host([negative]){--sbb-button-color-default-background: var(--sbb-color-black-alpha-0);--sbb-button-color-default-border: var(--sbb-color-black-alpha-0);--sbb-button-color-default-text: var(--sbb-color-milk);--sbb-button-color-hover-background: var(--sbb-color-charcoal);--sbb-button-color-hover-border: var(--sbb-color-charcoal);--sbb-button-color-hover-text: var(--sbb-color-milk);--sbb-button-color-active-background: var(--sbb-color-iron);--sbb-button-color-active-border: var(--sbb-color-iron);--sbb-button-color-active-text: var(--sbb-color-milk);--sbb-button-color-disabled-background: var(--sbb-color-black-alpha-0);--sbb-button-color-disabled-border: var(--sbb-color-smoke);--sbb-button-color-disabled-text: var(--sbb-color-smoke)}:host(:is([disabled],[data-disabled])){--sbb-button-border-width: var(--sbb-border-width-1x)}@media (forced-colors: active){:host(:is([disabled],[data-disabled])){--sbb-button-color-disabled-text: GrayText !important}}:host(:is([disabled],[data-disabled])) .sbb-form-field-clear{color:var(--sbb-button-color-disabled-text);cursor:default;pointer-events:none}:host(:is([disabled],[data-disabled])) .sbb-form-field-clear:before{background-color:var(--sbb-button-color-disabled-background);border-color:var(--sbb-button-color-disabled-border);border-style:var(--sbb-button-border-disabled-style)}:host(:focus-visible:not([data-focus-origin=mouse],[data-focus-origin=touch])) .sbb-form-field-clear:before{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) solid var(--sbb-focus-outline-width)}@media (any-hover: hover){:host(:not([disabled],[data-disabled],:active,[data-active]):hover){--sbb-button-translate-y-content-hover: -.0625rem}}@media (forced-colors: active){:host(:not([disabled],[data-disabled],:active,[data-active]):hover){--sbb-button-color-hover-border: Highlight !important}}@media (any-hover: hover){:host(:not([disabled],[data-disabled],:active,[data-active]):hover) .sbb-form-field-clear:before{inset:calc(var(--sbb-button-border-width) * -1);background-color:var(--sbb-button-color-hover-background);border-color:var(--sbb-button-color-hover-border)}}@media (any-hover: hover){:host(:not([disabled],[data-disabled],:active,[data-active]):hover) .sbb-form-field-clear{color:var(--sbb-button-color-hover-text)}}:host(:not([disabled],[data-disabled]):is(:active,[data-active])) .sbb-form-field-clear:before{color:var(--sbb-button-color-active-text);background-color:var(--sbb-button-color-active-background);border-color:var(--sbb-button-color-active-border)}`;
|
|
11
|
-
var k = Object.defineProperty, x = Object.getOwnPropertyDescriptor, y = (o, t,
|
|
12
|
-
for (var
|
|
13
|
-
(s = o[a]) && (
|
|
14
|
-
return e &&
|
|
11
|
+
var k = Object.defineProperty, x = Object.getOwnPropertyDescriptor, y = (o, t, b, e) => {
|
|
12
|
+
for (var r = e > 1 ? void 0 : e ? x(t, b) : t, a = o.length - 1, s; a >= 0; a--)
|
|
13
|
+
(s = o[a]) && (r = (e ? s(t, b, r) : s(r)) || r);
|
|
14
|
+
return e && r && k(t, b, r), r;
|
|
15
15
|
};
|
|
16
16
|
let n = class extends p(u) {
|
|
17
17
|
constructor() {
|
|
18
|
-
super(...arguments), this.
|
|
18
|
+
super(...arguments), this._abort = new v(this), this._language = new h(this);
|
|
19
19
|
}
|
|
20
20
|
connectedCallback() {
|
|
21
21
|
super.connectedCallback();
|
|
22
|
-
const o = this.
|
|
23
|
-
this.addEventListener("click", () => this.
|
|
22
|
+
const o = this._abort.signal;
|
|
23
|
+
this.addEventListener("click", () => this._handleClick(), { signal: o }), this._formField = i("sbb-form-field", this) ?? i("[data-form-field]", this), this._formField && (this.negative = this._formField.hasAttribute("negative"));
|
|
24
24
|
}
|
|
25
|
-
async
|
|
26
|
-
var t,
|
|
27
|
-
const o = (t = this.
|
|
28
|
-
!o || o.localName !== "input" || ((
|
|
25
|
+
async _handleClick() {
|
|
26
|
+
var t, b;
|
|
27
|
+
const o = (t = this._formField) == null ? void 0 : t.inputElement;
|
|
28
|
+
!o || o.localName !== "input" || ((b = this._formField) == null || b.clear(), o.focus(), o.dispatchEvent(new InputEvent("input", { bubbles: !0, composed: !0 })), o.dispatchEvent(new Event("change", { bubbles: !0 })));
|
|
29
29
|
}
|
|
30
30
|
willUpdate(o) {
|
|
31
|
-
super.willUpdate(o), this.setAttribute("aria-label", m[this.
|
|
31
|
+
super.willUpdate(o), this.setAttribute("aria-label", m[this._language.current]);
|
|
32
32
|
}
|
|
33
33
|
renderTemplate() {
|
|
34
34
|
return c` <sbb-icon name="cross-small"></sbb-icon> `;
|