@sbb-esta/lyne-elements-dev 4.9.0-dev.1775120732 → 4.9.0-dev.1775125441
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/core/styles/core.scss +9 -1
- package/core.css +25 -0
- package/development/tag/tag/tag.component.js +1 -1
- package/development/tag/tag-group/tag-group.component.d.ts.map +1 -1
- package/development/tag/tag-group/tag-group.component.js +1 -1
- package/development/tag/tag-group.js +1 -1
- package/development/tag/tag.js +1 -1
- package/development/{tag-group.component-B7bBirrj.js → tag-group.component-Cw46bt0E.js} +2 -4
- package/development/tag.component-CnNPL6aI.js +245 -0
- package/development/tag.js +2 -2
- package/development/tag.pure.js +2 -2
- package/development/teaser/teaser.component.js +1 -1
- package/development/teaser.component-Cky6kKU0.js +118 -0
- package/development/teaser.js +1 -1
- package/development/teaser.pure.js +1 -1
- package/off-brand-theme.css +25 -0
- package/package.json +2 -2
- package/safety-theme.css +25 -0
- package/standard-theme.css +25 -0
- package/tag/tag/tag.component.js +1 -1
- package/tag/tag-group/tag-group.component.js +1 -1
- package/tag/tag-group.js +1 -1
- package/tag/tag.js +1 -1
- package/{tag-group.component-DyEB8c6w.js → tag-group.component-DkQVBbQY.js} +1 -3
- package/tag.component-CzYJZuFT.js +170 -0
- package/tag.js +2 -2
- package/tag.pure.js +2 -2
- package/teaser/teaser.component.js +1 -1
- package/teaser.component-WZL0vAo9.js +91 -0
- package/teaser.js +1 -1
- package/teaser.pure.js +1 -1
- package/development/tag.component-0vKnvMOm.js +0 -245
- package/development/teaser.component-C63t0z1I.js +0 -118
- package/tag.component-C3ogN9Th.js +0 -170
- package/teaser.component-u1uLVhwo.js +0 -91
|
@@ -1,245 +0,0 @@
|
|
|
1
|
-
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
|
-
import { html, unsafeCSS } from "lit";
|
|
3
|
-
import { property } from "lit/decorators.js";
|
|
4
|
-
import { SbbButtonLikeBaseElement } from "./core/base-elements.js";
|
|
5
|
-
import { forceType, getOverride, omitEmptyConverter } from "./core/decorators.js";
|
|
6
|
-
import { isLean } from "./core/dom.js";
|
|
7
|
-
import { SbbDisabledTabIndexActionMixin } from "./core/mixins.js";
|
|
8
|
-
import { boxSizingStyles } from "./core/styles.js";
|
|
9
|
-
import { SbbIconNameMixin } from "./icon.js";
|
|
10
|
-
//#region src/elements/tag/tag/tag.scss?inline
|
|
11
|
-
var tag_default = ":host {\n display: inline-block;\n outline: none !important;\n max-width: 100%;\n --sbb-tag-border-radius: var(--sbb-border-radius-infinity);\n --sbb-tag-background-color: var(--sbb-background-color-1);\n --sbb-tag-border-color: var(--sbb-border-color-4-inverted);\n --sbb-tag-border-style: solid;\n --sbb-tag-border-width: var(--sbb-border-width-1x);\n --sbb-tag-text-color: var(--sbb-color-2);\n --sbb-tag-amount-color: var(--sbb-color-metal);\n --sbb-tag-amount-color: light-dark(var(--sbb-color-metal), var(--sbb-color-smoke));\n --sbb-tag-height: var(--sbb-size-element-xs);\n --sbb-tag-inset: 0;\n --sbb-tag-cursor: var(--sbb-cursor-pointer);\n --sbb-tag-content-shift: translateY(0);\n --sbb-tag-animation-duration: var(\n --sbb-disable-animation-duration,\n var(--sbb-animation-duration-2x)\n );\n --sbb-tag-animation-easing: var(--sbb-animation-easing);\n --sbb-tag-padding-inline: var(--sbb-spacing-fixed-5x);\n --sbb-tag-gap: var(--sbb-spacing-fixed-2x);\n}\n@media (forced-colors: active) {\n :host {\n --sbb-tag-background-color: Canvas !important;\n --sbb-tag-text-color: ButtonText;\n --sbb-tag-amount-color: ButtonText;\n --sbb-tag-border-color: CanvasText;\n --sbb-tag-border-width: var(--sbb-border-width-2x);\n }\n}\n\n:host(:is(:state(checked),[state--checked])) {\n --sbb-tag-border-color: var(--sbb-border-color-3);\n --sbb-tag-border-width: var(--sbb-border-width-2x);\n}\n@media (forced-colors: active) {\n :host(:is(:state(checked),[state--checked])) {\n --sbb-tag-border-color: Highlight !important;\n --sbb-tag-border-width: var(--sbb-border-width-4x);\n }\n}\n\n:host(:is(:disabled, [disabled-interactive])) {\n --sbb-tag-text-color: var(--sbb-color-granite);\n --sbb-tag-text-color: light-dark(var(--sbb-color-granite), var(--sbb-color-aluminium));\n --sbb-tag-amount-color: var(--sbb-tag-text-color);\n --sbb-tag-background-color: var(--sbb-background-color-3);\n --sbb-tag-border-color: var(--sbb-color-cement);\n --sbb-tag-border-color: light-dark(var(--sbb-color-cement), var(--sbb-color-smoke));\n --sbb-tag-border-style: dashed;\n --sbb-tag-cursor: unset;\n --sbb-tag-pointer-events: none;\n}\n@media (forced-colors: active) {\n :host(:is(:disabled, [disabled-interactive])) {\n --sbb-tag-text-color: GrayText;\n --sbb-tag-amount-color: GrayText;\n --sbb-tag-border-color: GrayText;\n }\n}\n\n:host(:is(:state(checked),[state--checked]):is(:disabled, [disabled-interactive])) {\n --sbb-tag-border-color: var(--sbb-color-metal);\n --sbb-tag-border-color: light-dark(var(--sbb-color-metal), var(--sbb-color-cement));\n --sbb-tag-border-style: dashed;\n}\n\n@media (any-hover: hover) {\n :host(:hover:not(:disabled, [disabled-interactive], :active, :is(:state(active),[state--active]))) {\n --sbb-tag-background-color: var(--sbb-background-color-3);\n --sbb-tag-inset: calc(var(--sbb-border-width-2x) * -1);\n --sbb-tag-content-shift: translateY(calc(var(--sbb-border-width-1x) * -1));\n }\n}\n@media (any-hover: hover) and (forced-colors: active) {\n :host(:hover:not(:disabled, [disabled-interactive], :active, :is(:state(active),[state--active]))) {\n --sbb-tag-border-color: Highlight;\n }\n}\n\n:host(:is(:active, :is(:state(active),[state--active])):not(:disabled, [disabled-interactive])) {\n --sbb-tag-background-color: var(--sbb-background-color-3);\n --sbb-tag-border-color: var(--sbb-color-iron);\n --sbb-tag-border-color: light-dark(var(--sbb-color-iron), var(--sbb-color-storm));\n --sbb-tag-border-width: var(--sbb-border-width-2x);\n --sbb-tag-text-color: var(--sbb-color-4);\n}\n@media (forced-colors: active) {\n :host(:is(:active, :is(:state(active),[state--active])):not(:disabled, [disabled-interactive])) {\n --sbb-tag-border-color: Highlight;\n --sbb-tag-text-color: ButtonText;\n }\n}\n\n:host([size=s]) {\n --sbb-tag-height: var(--sbb-size-element-xxxs);\n --sbb-tag-padding-inline: var(--sbb-spacing-fixed-3x);\n}\n\n.sbb-tag {\n --sbb-text-font-size: var(--sbb-text-font-size-xs);\n font-family: var(--sbb-typo-font-family);\n font-weight: normal;\n line-height: var(--sbb-typo-line-height-text);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n font-size: var(--sbb-text-font-size);\n font-weight: bold;\n position: relative;\n display: flex;\n align-items: center;\n height: var(--sbb-tag-height);\n max-width: 100%;\n gap: var(--sbb-tag-gap);\n padding-inline: var(--sbb-tag-padding-inline);\n cursor: var(--sbb-tag-cursor);\n border-radius: var(--sbb-tag-border-radius);\n color: var(--sbb-tag-text-color);\n transition: color var(--sbb-tag-animation-duration) var(--sbb-tag-animation-easing);\n -webkit-tap-highlight-color: transparent;\n user-select: none;\n pointer-events: var(--sbb-tag-pointer-events, unset);\n}\n.sbb-tag::before {\n content: \"\";\n position: absolute;\n inset: var(--sbb-tag-inset);\n background-color: var(--sbb-tag-background-color);\n border: var(--sbb-tag-border-width) var(--sbb-tag-border-style) var(--sbb-tag-border-color);\n border-radius: var(--sbb-tag-border-radius);\n transition-duration: var(--sbb-tag-animation-duration);\n transition-timing-function: var(--sbb-tag-animation-easing);\n transition-property: inset, background-color, border-color, box-shadow;\n}\n:host(:focus-visible) .sbb-tag::before {\n outline-offset: var(--sbb-focus-outline-offset);\n outline: var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);\n}\n\n.sbb-tag__icon {\n display: flex;\n align-items: center;\n height: calc(var(--sbb-typo-line-height-text) * 1em);\n flex-shrink: 0;\n}\n:host(:not(:is(:state(slotted-icon),[state--slotted-icon]), :is(:state(has-icon-name),[state--has-icon-name]))) .sbb-tag__icon {\n display: none;\n}\n\n.sbb-tag__text {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.sbb-tag__amount {\n --sbb-text-font-size: var(--sbb-text-font-size-xs);\n font-family: var(--sbb-typo-font-family);\n font-weight: normal;\n line-height: var(--sbb-typo-line-height-text);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n font-size: var(--sbb-text-font-size);\n color: var(--sbb-tag-amount-color);\n}\n:host(:not(:is(:state(slotted-amount),[state--slotted-amount]), [amount])) .sbb-tag__amount {\n display: none;\n}\n\n.sbb-tag--shift {\n transition: transform var(--sbb-tag-animation-duration) var(--sbb-tag-animation-easing);\n transform: var(--sbb-tag-content-shift);\n will-change: transform;\n}";
|
|
12
|
-
//#endregion
|
|
13
|
-
//#region src/elements/tag/tag/tag.component.ts
|
|
14
|
-
/**
|
|
15
|
-
* It displays a selectable element which can be used as a filter.
|
|
16
|
-
*
|
|
17
|
-
* @slot - Use the unnamed slot to add content to the tag label.
|
|
18
|
-
* @slot icon - Use this slot to display an icon at the component start, by providing a `sbb-icon` component.
|
|
19
|
-
* @slot amount - Provide an amount to show it at the component end.
|
|
20
|
-
* @overrideType value - (T = string) | null
|
|
21
|
-
*/
|
|
22
|
-
var SbbTagElement = (() => {
|
|
23
|
-
let _classSuper = SbbIconNameMixin(SbbDisabledTabIndexActionMixin(SbbButtonLikeBaseElement));
|
|
24
|
-
let _value_decorators;
|
|
25
|
-
let _value_initializers = [];
|
|
26
|
-
let _value_extraInitializers = [];
|
|
27
|
-
let _amount_decorators;
|
|
28
|
-
let _amount_initializers = [];
|
|
29
|
-
let _amount_extraInitializers = [];
|
|
30
|
-
let _checked_decorators;
|
|
31
|
-
let _checked_initializers = [];
|
|
32
|
-
let _checked_extraInitializers = [];
|
|
33
|
-
let _size_decorators;
|
|
34
|
-
let _size_initializers = [];
|
|
35
|
-
let _size_extraInitializers = [];
|
|
36
|
-
return class SbbTagElement extends _classSuper {
|
|
37
|
-
static {
|
|
38
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
39
|
-
_value_decorators = [property()];
|
|
40
|
-
_amount_decorators = [forceType(), property({
|
|
41
|
-
reflect: true,
|
|
42
|
-
converter: omitEmptyConverter
|
|
43
|
-
})];
|
|
44
|
-
_checked_decorators = [forceType(), property({
|
|
45
|
-
reflect: false,
|
|
46
|
-
type: Boolean
|
|
47
|
-
})];
|
|
48
|
-
_size_decorators = [property({ reflect: true }), getOverride((i, v) => i._group?.size ?? v)];
|
|
49
|
-
__esDecorate(this, null, _value_decorators, {
|
|
50
|
-
kind: "accessor",
|
|
51
|
-
name: "value",
|
|
52
|
-
static: false,
|
|
53
|
-
private: false,
|
|
54
|
-
access: {
|
|
55
|
-
has: (obj) => "value" in obj,
|
|
56
|
-
get: (obj) => obj.value,
|
|
57
|
-
set: (obj, value) => {
|
|
58
|
-
obj.value = value;
|
|
59
|
-
}
|
|
60
|
-
},
|
|
61
|
-
metadata: _metadata
|
|
62
|
-
}, _value_initializers, _value_extraInitializers);
|
|
63
|
-
__esDecorate(this, null, _amount_decorators, {
|
|
64
|
-
kind: "accessor",
|
|
65
|
-
name: "amount",
|
|
66
|
-
static: false,
|
|
67
|
-
private: false,
|
|
68
|
-
access: {
|
|
69
|
-
has: (obj) => "amount" in obj,
|
|
70
|
-
get: (obj) => obj.amount,
|
|
71
|
-
set: (obj, value) => {
|
|
72
|
-
obj.amount = value;
|
|
73
|
-
}
|
|
74
|
-
},
|
|
75
|
-
metadata: _metadata
|
|
76
|
-
}, _amount_initializers, _amount_extraInitializers);
|
|
77
|
-
__esDecorate(this, null, _checked_decorators, {
|
|
78
|
-
kind: "accessor",
|
|
79
|
-
name: "checked",
|
|
80
|
-
static: false,
|
|
81
|
-
private: false,
|
|
82
|
-
access: {
|
|
83
|
-
has: (obj) => "checked" in obj,
|
|
84
|
-
get: (obj) => obj.checked,
|
|
85
|
-
set: (obj, value) => {
|
|
86
|
-
obj.checked = value;
|
|
87
|
-
}
|
|
88
|
-
},
|
|
89
|
-
metadata: _metadata
|
|
90
|
-
}, _checked_initializers, _checked_extraInitializers);
|
|
91
|
-
__esDecorate(this, null, _size_decorators, {
|
|
92
|
-
kind: "accessor",
|
|
93
|
-
name: "size",
|
|
94
|
-
static: false,
|
|
95
|
-
private: false,
|
|
96
|
-
access: {
|
|
97
|
-
has: (obj) => "size" in obj,
|
|
98
|
-
get: (obj) => obj.size,
|
|
99
|
-
set: (obj, value) => {
|
|
100
|
-
obj.size = value;
|
|
101
|
-
}
|
|
102
|
-
},
|
|
103
|
-
metadata: _metadata
|
|
104
|
-
}, _size_initializers, _size_extraInitializers);
|
|
105
|
-
if (_metadata) Object.defineProperty(this, Symbol.metadata, {
|
|
106
|
-
enumerable: true,
|
|
107
|
-
configurable: true,
|
|
108
|
-
writable: true,
|
|
109
|
-
value: _metadata
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
static {
|
|
113
|
-
this.elementName = "sbb-tag";
|
|
114
|
-
}
|
|
115
|
-
static {
|
|
116
|
-
this.styles = [boxSizingStyles, unsafeCSS(tag_default)];
|
|
117
|
-
}
|
|
118
|
-
static {
|
|
119
|
-
this.events = {
|
|
120
|
-
input: "input",
|
|
121
|
-
didChange: "didChange",
|
|
122
|
-
change: "change"
|
|
123
|
-
};
|
|
124
|
-
}
|
|
125
|
-
#value_accessor_storage;
|
|
126
|
-
/** Value of the form element. */
|
|
127
|
-
get value() {
|
|
128
|
-
return this.#value_accessor_storage;
|
|
129
|
-
}
|
|
130
|
-
set value(value) {
|
|
131
|
-
this.#value_accessor_storage = value;
|
|
132
|
-
}
|
|
133
|
-
#amount_accessor_storage;
|
|
134
|
-
/** Amount displayed inside the tag. */
|
|
135
|
-
get amount() {
|
|
136
|
-
return this.#amount_accessor_storage;
|
|
137
|
-
}
|
|
138
|
-
set amount(value) {
|
|
139
|
-
this.#amount_accessor_storage = value;
|
|
140
|
-
}
|
|
141
|
-
#checked_accessor_storage;
|
|
142
|
-
/** Whether the tag is checked. */
|
|
143
|
-
get checked() {
|
|
144
|
-
return this.#checked_accessor_storage;
|
|
145
|
-
}
|
|
146
|
-
set checked(value) {
|
|
147
|
-
this.#checked_accessor_storage = value;
|
|
148
|
-
}
|
|
149
|
-
#size_accessor_storage;
|
|
150
|
-
/**
|
|
151
|
-
* Tag size, either s or m.
|
|
152
|
-
* @default 'm' / 's' (lean)
|
|
153
|
-
*/
|
|
154
|
-
get size() {
|
|
155
|
-
return this.#size_accessor_storage;
|
|
156
|
-
}
|
|
157
|
-
set size(value) {
|
|
158
|
-
this.#size_accessor_storage = value;
|
|
159
|
-
}
|
|
160
|
-
constructor() {
|
|
161
|
-
super();
|
|
162
|
-
this.#value_accessor_storage = __runInitializers(this, _value_initializers, null);
|
|
163
|
-
this.#amount_accessor_storage = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _amount_initializers, ""));
|
|
164
|
-
this.#checked_accessor_storage = (__runInitializers(this, _amount_extraInitializers), __runInitializers(this, _checked_initializers, false));
|
|
165
|
-
this.#size_accessor_storage = (__runInitializers(this, _checked_extraInitializers), __runInitializers(this, _size_initializers, isLean() ? "s" : "m"));
|
|
166
|
-
/** Reference to the connected tag group. */
|
|
167
|
-
this._group = (__runInitializers(this, _size_extraInitializers), null);
|
|
168
|
-
this.addEventListener?.("click", () => this._handleClick());
|
|
169
|
-
}
|
|
170
|
-
connectedCallback() {
|
|
171
|
-
super.connectedCallback();
|
|
172
|
-
this._group = this.closest("sbb-tag-group");
|
|
173
|
-
}
|
|
174
|
-
isDisabledExternally() {
|
|
175
|
-
return this._group?.disabled ?? false;
|
|
176
|
-
}
|
|
177
|
-
/** Method triggered on button click. Inverts the checked value and emits events. */
|
|
178
|
-
_handleClick() {
|
|
179
|
-
if (this.disabled) return;
|
|
180
|
-
const tagGroup = this.closest("sbb-tag-group");
|
|
181
|
-
if (tagGroup && !tagGroup.multiple && this.checked) return;
|
|
182
|
-
this.checked = !this.checked;
|
|
183
|
-
/** The input event fires when the value has been changed as a direct result of a user action. */
|
|
184
|
-
this.dispatchEvent(new InputEvent("input", {
|
|
185
|
-
bubbles: true,
|
|
186
|
-
composed: true
|
|
187
|
-
}));
|
|
188
|
-
/**
|
|
189
|
-
* The change event is fired when the user modifies the element's value.
|
|
190
|
-
* Unlike the input event, the change event is not necessarily fired
|
|
191
|
-
* for each alteration to an element's value.
|
|
192
|
-
*/
|
|
193
|
-
this.dispatchEvent(new Event("change", { bubbles: true }));
|
|
194
|
-
/**
|
|
195
|
-
* Deprecated. Mirrors change event for React. Will be removed once React properly supports change events.
|
|
196
|
-
* @deprecated
|
|
197
|
-
*/
|
|
198
|
-
this.dispatchEvent(new Event("didChange", { bubbles: true }));
|
|
199
|
-
}
|
|
200
|
-
willUpdate(changedProperties) {
|
|
201
|
-
super.willUpdate(changedProperties);
|
|
202
|
-
if (changedProperties.has("checked")) {
|
|
203
|
-
this.internals.ariaPressed = `${this.checked}`;
|
|
204
|
-
this.toggleState("checked", this.checked);
|
|
205
|
-
this.updateFormValue();
|
|
206
|
-
}
|
|
207
|
-
const tagGroup = this.closest?.("sbb-tag-group");
|
|
208
|
-
if (tagGroup && !tagGroup.multiple && changedProperties.has("checked") && this.checked) tagGroup?.tags.filter((t) => t !== this).forEach((t) => t.checked = false);
|
|
209
|
-
}
|
|
210
|
-
/**
|
|
211
|
-
* @internal
|
|
212
|
-
*/
|
|
213
|
-
formResetCallback() {
|
|
214
|
-
this.checked = this.hasAttribute("checked");
|
|
215
|
-
}
|
|
216
|
-
/**
|
|
217
|
-
* @internal
|
|
218
|
-
*/
|
|
219
|
-
formStateRestoreCallback(state, _reason) {
|
|
220
|
-
if (state) this.checked = state === "true";
|
|
221
|
-
}
|
|
222
|
-
updateFormValue() {
|
|
223
|
-
if (this.checked) super.updateFormValue();
|
|
224
|
-
else this.internals.setFormValue(null);
|
|
225
|
-
}
|
|
226
|
-
formState() {
|
|
227
|
-
return `${this.checked}`;
|
|
228
|
-
}
|
|
229
|
-
renderTemplate() {
|
|
230
|
-
return html`
|
|
231
|
-
<span class="sbb-tag__icon sbb-tag--shift"> ${this.renderIconSlot()} </span>
|
|
232
|
-
<span class="sbb-tag__text sbb-tag--shift">
|
|
233
|
-
<slot></slot>
|
|
234
|
-
</span>
|
|
235
|
-
<span class="sbb-tag__amount sbb-tag--shift">
|
|
236
|
-
<slot name="amount">${this.amount}</slot>
|
|
237
|
-
</span>
|
|
238
|
-
`;
|
|
239
|
-
}
|
|
240
|
-
};
|
|
241
|
-
})();
|
|
242
|
-
//#endregion
|
|
243
|
-
export { SbbTagElement as t };
|
|
244
|
-
|
|
245
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLmNvbXBvbmVudC0wdktudk1PbS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvdGFnL3RhZy90YWcuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvdGFnL3RhZy90YWcuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbiRkaXNhYmxlZDogJzpkaXNhYmxlZCwgW2Rpc2FibGVkLWludGVyYWN0aXZlXSc7XG4kYWN0aXZlOiAnOmFjdGl2ZSwgOnN0YXRlKGFjdGl2ZSknO1xuXG46aG9zdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAvLyBVc2UgIWltcG9ydGFudCBoZXJlIHRvIG5vdCBpbnRlcmZlcmUgd2l0aCBGaXJlZm94IGZvY3VzIHJpbmcgZGVmaW5pdGlvblxuICAvLyB3aGljaCBhcHBlYXJzIGluIG5vcm1hbGl6ZSBDU1Mgb2Ygc2V2ZXJhbCBmcmFtZXdvcmtzLlxuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gIG1heC13aWR0aDogMTAwJTtcblxuICAtLXNiYi10YWctYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLWJvcmRlci1yYWRpdXMtaW5maW5pdHkpO1xuICAtLXNiYi10YWctYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMSk7XG4gIC0tc2JiLXRhZy1ib3JkZXItY29sb3I6IHZhcigtLXNiYi1ib3JkZXItY29sb3ItNC1pbnZlcnRlZCk7XG4gIC0tc2JiLXRhZy1ib3JkZXItc3R5bGU6IHNvbGlkO1xuICAtLXNiYi10YWctYm9yZGVyLXdpZHRoOiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KTtcbiAgLS1zYmItdGFnLXRleHQtY29sb3I6IHZhcigtLXNiYi1jb2xvci0yKTtcbiAgLS1zYmItdGFnLWFtb3VudC1jb2xvcjogbGlnaHQtZGFyayh2YXIoLS1zYmItY29sb3ItbWV0YWwpLCB2YXIoLS1zYmItY29sb3Itc21va2UpKTtcbiAgLS1zYmItdGFnLWhlaWdodDogdmFyKC0tc2JiLXNpemUtZWxlbWVudC14cyk7XG4gIC0tc2JiLXRhZy1pbnNldDogMDtcbiAgLS1zYmItdGFnLWN1cnNvcjogdmFyKC0tc2JiLWN1cnNvci1wb2ludGVyKTtcbiAgLS1zYmItdGFnLWNvbnRlbnQtc2hpZnQ6IHRyYW5zbGF0ZVkoMCk7XG4gIC0tc2JiLXRhZy1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTJ4KVxuICApO1xuICAtLXNiYi10YWctYW5pbWF0aW9uLWVhc2luZzogdmFyKC0tc2JiLWFuaW1hdGlvbi1lYXNpbmcpO1xuICAtLXNiYi10YWctcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTV4KTtcbiAgLS1zYmItdGFnLWdhcDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMngpO1xuXG4gIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICAtLXNiYi10YWctYmFja2dyb3VuZC1jb2xvcjogQ2FudmFzICFpbXBvcnRhbnQ7XG4gICAgLS1zYmItdGFnLXRleHQtY29sb3I6IEJ1dHRvblRleHQ7XG4gICAgLS1zYmItdGFnLWFtb3VudC1jb2xvcjogQnV0dG9uVGV4dDtcbiAgICAtLXNiYi10YWctYm9yZGVyLWNvbG9yOiBDYW52YXNUZXh0O1xuICAgIC0tc2JiLXRhZy1ib3JkZXItd2lkdGg6IHZhcigtLXNiYi1ib3JkZXItd2lkdGgtMngpO1xuICB9XG59XG5cbi8vIEFjdGl2ZSBzdGF0ZVxuOmhvc3QoOnN0YXRlKGNoZWNrZWQpKSB7XG4gIC0tc2JiLXRhZy1ib3JkZXItY29sb3I6IHZhcigtLXNiYi1ib3JkZXItY29sb3ItMyk7XG4gIC0tc2JiLXRhZy1ib3JkZXItd2lkdGg6IHZhcigtLXNiYi1ib3JkZXItd2lkdGgtMngpO1xuXG4gIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICAtLXNiYi10YWctYm9yZGVyLWNvbG9yOiBIaWdobGlnaHQgIWltcG9ydGFudDtcbiAgICAtLXNiYi10YWctYm9yZGVyLXdpZHRoOiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTR4KTtcbiAgfVxufVxuXG46aG9zdCg6aXMoI3skZGlzYWJsZWR9KSkge1xuICAtLXNiYi10YWctdGV4dC1jb2xvcjogbGlnaHQtZGFyayh2YXIoLS1zYmItY29sb3ItZ3Jhbml0ZSksIHZhcigtLXNiYi1jb2xvci1hbHVtaW5pdW0pKTtcbiAgLS1zYmItdGFnLWFtb3VudC1jb2xvcjogdmFyKC0tc2JiLXRhZy10ZXh0LWNvbG9yKTtcbiAgLS1zYmItdGFnLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMpO1xuICAtLXNiYi10YWctYm9yZGVyLWNvbG9yOiBsaWdodC1kYXJrKHZhcigtLXNiYi1jb2xvci1jZW1lbnQpLCB2YXIoLS1zYmItY29sb3Itc21va2UpKTtcbiAgLS1zYmItdGFnLWJvcmRlci1zdHlsZTogZGFzaGVkO1xuICAtLXNiYi10YWctY3Vyc29yOiB1bnNldDtcbiAgLS1zYmItdGFnLXBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICAtLXNiYi10YWctdGV4dC1jb2xvcjogR3JheVRleHQ7XG4gICAgLS1zYmItdGFnLWFtb3VudC1jb2xvcjogR3JheVRleHQ7XG4gICAgLS1zYmItdGFnLWJvcmRlci1jb2xvcjogR3JheVRleHQ7XG4gIH1cbn1cblxuOmhvc3QoOnN0YXRlKGNoZWNrZWQpOmlzKCN7JGRpc2FibGVkfSkpIHtcbiAgLS1zYmItdGFnLWJvcmRlci1jb2xvcjogbGlnaHQtZGFyayh2YXIoLS1zYmItY29sb3ItbWV0YWwpLCB2YXIoLS1zYmItY29sb3ItY2VtZW50KSk7XG4gIC0tc2JiLXRhZy1ib3JkZXItc3R5bGU6IGRhc2hlZDtcbn1cblxuOmhvc3QoOmhvdmVyOm5vdCgjeyRkaXNhYmxlZH0sICN7JGFjdGl2ZX0pKSB7XG4gIEBpbmNsdWRlIHNiYi5ob3Zlci1tcSgkaG92ZXI6IHRydWUpIHtcbiAgICAtLXNiYi10YWctYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMyk7XG4gICAgLS1zYmItdGFnLWluc2V0OiBjYWxjKHZhcigtLXNiYi1ib3JkZXItd2lkdGgtMngpICogLTEpO1xuICAgIC0tc2JiLXRhZy1jb250ZW50LXNoaWZ0OiB0cmFuc2xhdGVZKGNhbGModmFyKC0tc2JiLWJvcmRlci13aWR0aC0xeCkgKiAtMSkpO1xuXG4gICAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgICAgLS1zYmItdGFnLWJvcmRlci1jb2xvcjogSGlnaGxpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4vLyBQcmVzc2VkIHN0YXRlXG46aG9zdCg6aXMoI3skYWN0aXZlfSk6bm90KCN7JGRpc2FibGVkfSkpIHtcbiAgLS1zYmItdGFnLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMpO1xuICAtLXNiYi10YWctYm9yZGVyLWNvbG9yOiBsaWdodC1kYXJrKHZhcigtLXNiYi1jb2xvci1pcm9uKSwgdmFyKC0tc2JiLWNvbG9yLXN0b3JtKSk7XG4gIC0tc2JiLXRhZy1ib3JkZXItd2lkdGg6IHZhcigtLXNiYi1ib3JkZXItd2lkdGgtMngpO1xuICAtLXNiYi10YWctdGV4dC1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLTQpO1xuXG4gIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICAtLXNiYi10YWctYm9yZGVyLWNvbG9yOiBIaWdobGlnaHQ7XG4gICAgLS1zYmItdGFnLXRleHQtY29sb3I6IEJ1dHRvblRleHQ7XG4gIH1cbn1cblxuOmhvc3QoW3NpemU9J3MnXSkge1xuICAtLXNiYi10YWctaGVpZ2h0OiB2YXIoLS1zYmItc2l6ZS1lbGVtZW50LXh4eHMpO1xuICAtLXNiYi10YWctcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTN4KTtcbn1cblxuLnNiYi10YWcge1xuICBAaW5jbHVkZSBzYmIudGV4dC14cy0tYm9sZDtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogdmFyKC0tc2JiLXRhZy1oZWlnaHQpO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGdhcDogdmFyKC0tc2JiLXRhZy1nYXApO1xuICBwYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLXRhZy1wYWRkaW5nLWlubGluZSk7XG4gIGN1cnNvcjogdmFyKC0tc2JiLXRhZy1jdXJzb3IpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItdGFnLWJvcmRlci1yYWRpdXMpO1xuICBjb2xvcjogdmFyKC0tc2JiLXRhZy10ZXh0LWNvbG9yKTtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tc2JiLXRhZy1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLXNiYi10YWctYW5pbWF0aW9uLWVhc2luZyk7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBwb2ludGVyLWV2ZW50czogdmFyKC0tc2JiLXRhZy1wb2ludGVyLWV2ZW50cywgdW5zZXQpO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiB2YXIoLS1zYmItdGFnLWluc2V0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItdGFnLWJhY2tncm91bmQtY29sb3IpO1xuICAgIGJvcmRlcjogdmFyKC0tc2JiLXRhZy1ib3JkZXItd2lkdGgpIHZhcigtLXNiYi10YWctYm9yZGVyLXN0eWxlKSB2YXIoLS1zYmItdGFnLWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLXRhZy1ib3JkZXItcmFkaXVzKTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoLS1zYmItdGFnLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLXNiYi10YWctYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogaW5zZXQsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgYm94LXNoYWRvdztcblxuICAgIDpob3N0KDpmb2N1cy12aXNpYmxlKSAmIHtcbiAgICAgIEBpbmNsdWRlIHNiYi5mb2N1cy1vdXRsaW5lO1xuICAgIH1cbiAgfVxufVxuXG4uc2JiLXRhZ19faWNvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogY2FsYyh2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KSAqIDFlbSk7XG4gIGZsZXgtc2hyaW5rOiAwO1xuXG4gIDpob3N0KDpub3QoOnN0YXRlKHNsb3R0ZWQtaWNvbiksIDpzdGF0ZShoYXMtaWNvbi1uYW1lKSkpICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnNiYi10YWdfX3RleHQge1xuICBAaW5jbHVkZSBzYmIuZWxsaXBzaXM7XG59XG5cbi5zYmItdGFnX19hbW91bnQge1xuICBAaW5jbHVkZSBzYmIudGV4dC14cy0tcmVndWxhcjtcblxuICBjb2xvcjogdmFyKC0tc2JiLXRhZy1hbW91bnQtY29sb3IpO1xuXG4gIDpob3N0KDpub3QoOnN0YXRlKHNsb3R0ZWQtYW1vdW50KSwgW2Ftb3VudF0pKSAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5zYmItdGFnLS1zaGlmdCB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS1zYmItdGFnLWFuaW1hdGlvbi1kdXJhdGlvbikgdmFyKC0tc2JiLXRhZy1hbmltYXRpb24tZWFzaW5nKTtcbiAgdHJhbnNmb3JtOiB2YXIoLS1zYmItdGFnLWNvbnRlbnQtc2hpZnQpO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xufVxuIiwiaW1wb3J0IHtcbiAgaHRtbCxcbiAgdW5zYWZlQ1NTLFxuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYkJ1dHRvbkxpa2VCYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy50cyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUsIGdldE92ZXJyaWRlLCBvbWl0RW1wdHlDb252ZXJ0ZXIgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMudHMnO1xuaW1wb3J0IHsgaXNMZWFuIH0gZnJvbSAnLi4vLi4vY29yZS9kb20udHMnO1xuaW1wb3J0IHtcbiAgdHlwZSBGb3JtUmVzdG9yZVJlYXNvbixcbiAgdHlwZSBGb3JtUmVzdG9yZVN0YXRlLFxuICBTYmJEaXNhYmxlZFRhYkluZGV4QWN0aW9uTWl4aW4sXG59IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLnRzJztcbmltcG9ydCB7IGJveFNpemluZ1N0eWxlcyB9IGZyb20gJy4uLy4uL2NvcmUvc3R5bGVzLnRzJztcbmltcG9ydCB7IFNiYkljb25OYW1lTWl4aW4gfSBmcm9tICcuLi8uLi9pY29uLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiVGFnR3JvdXBFbGVtZW50IH0gZnJvbSAnLi4vdGFnLWdyb3VwL3RhZy1ncm91cC5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi90YWcuc2Nzcz9pbmxpbmUnO1xuXG5leHBvcnQgdHlwZSBTYmJUYWdTaXplID0gJ3MnIHwgJ20nO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgc2VsZWN0YWJsZSBlbGVtZW50IHdoaWNoIGNhbiBiZSB1c2VkIGFzIGEgZmlsdGVyLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIHRhZyBsYWJlbC5cbiAqIEBzbG90IGljb24gLSBVc2UgdGhpcyBzbG90IHRvIGRpc3BsYXkgYW4gaWNvbiBhdCB0aGUgY29tcG9uZW50IHN0YXJ0LCBieSBwcm92aWRpbmcgYSBgc2JiLWljb25gIGNvbXBvbmVudC5cbiAqIEBzbG90IGFtb3VudCAtIFByb3ZpZGUgYW4gYW1vdW50IHRvIHNob3cgaXQgYXQgdGhlIGNvbXBvbmVudCBlbmQuXG4gKiBAb3ZlcnJpZGVUeXBlIHZhbHVlIC0gKFQgPSBzdHJpbmcpIHwgbnVsbFxuICovXG5leHBvcnQgY2xhc3MgU2JiVGFnRWxlbWVudDxUID0gc3RyaW5nPiBleHRlbmRzIFNiYkljb25OYW1lTWl4aW4oXG4gIFNiYkRpc2FibGVkVGFiSW5kZXhBY3Rpb25NaXhpbihTYmJCdXR0b25MaWtlQmFzZUVsZW1lbnQpLFxuKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItdGFnJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIGlucHV0OiAnaW5wdXQnLFxuICAgIGRpZENoYW5nZTogJ2RpZENoYW5nZScsXG4gICAgY2hhbmdlOiAnY2hhbmdlJyxcbiAgfSBhcyBjb25zdDtcblxuICAvKiogVmFsdWUgb2YgdGhlIGZvcm0gZWxlbWVudC4gKi9cbiAgQHByb3BlcnR5KClcbiAgcHVibGljIGFjY2Vzc29yIHZhbHVlOiBUIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIEFtb3VudCBkaXNwbGF5ZWQgaW5zaWRlIHRoZSB0YWcuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCBjb252ZXJ0ZXI6IG9taXRFbXB0eUNvbnZlcnRlciB9KVxuICBwdWJsaWMgYWNjZXNzb3IgYW1vdW50OiBzdHJpbmcgPSAnJztcblxuICAvKiogV2hldGhlciB0aGUgdGFnIGlzIGNoZWNrZWQuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyByZWZsZWN0OiBmYWxzZSwgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgY2hlY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUYWcgc2l6ZSwgZWl0aGVyIHMgb3IgbS5cbiAgICogQGRlZmF1bHQgJ20nIC8gJ3MnIChsZWFuKVxuICAgKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KVxuICBAZ2V0T3ZlcnJpZGUoKGksIHYpID0+IGkuX2dyb3VwPy5zaXplID8/IHYpXG4gIHB1YmxpYyBhY2Nlc3NvciBzaXplOiBTYmJUYWdTaXplID0gaXNMZWFuKCkgPyAncycgOiAnbSc7XG5cbiAgLyoqIFJlZmVyZW5jZSB0byB0aGUgY29ubmVjdGVkIHRhZyBncm91cC4gKi9cbiAgcHJpdmF0ZSBfZ3JvdXA6IFNiYlRhZ0dyb3VwRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdjbGljaycsICgpID0+IHRoaXMuX2hhbmRsZUNsaWNrKCkpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fZ3JvdXAgPSB0aGlzLmNsb3Nlc3QoJ3NiYi10YWctZ3JvdXAnKSBhcyBTYmJUYWdHcm91cEVsZW1lbnQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaXNEaXNhYmxlZEV4dGVybmFsbHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2dyb3VwPy5kaXNhYmxlZCA/PyBmYWxzZTtcbiAgfVxuXG4gIC8qKiBNZXRob2QgdHJpZ2dlcmVkIG9uIGJ1dHRvbiBjbGljay4gSW52ZXJ0cyB0aGUgY2hlY2tlZCB2YWx1ZSBhbmQgZW1pdHMgZXZlbnRzLiAqL1xuICBwcml2YXRlIF9oYW5kbGVDbGljaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFByZXZlbnQgZGVhY3RpdmF0aW5nIG9uIGV4Y2x1c2l2ZSAvIHJhZGlvIG1vZGVcbiAgICBjb25zdCB0YWdHcm91cCA9IHRoaXMuY2xvc2VzdCgnc2JiLXRhZy1ncm91cCcpO1xuICAgIGlmICh0YWdHcm91cCAmJiAhdGFnR3JvdXAubXVsdGlwbGUgJiYgdGhpcy5jaGVja2VkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuY2hlY2tlZCA9ICF0aGlzLmNoZWNrZWQ7XG5cbiAgICAvKiogVGhlIGlucHV0IGV2ZW50IGZpcmVzIHdoZW4gdGhlIHZhbHVlIGhhcyBiZWVuIGNoYW5nZWQgYXMgYSBkaXJlY3QgcmVzdWx0IG9mIGEgdXNlciBhY3Rpb24uICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KFxuICAgICAgbmV3IElucHV0RXZlbnQoJ2lucHV0Jywge1xuICAgICAgICBidWJibGVzOiB0cnVlLFxuICAgICAgICBjb21wb3NlZDogdHJ1ZSxcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgY2hhbmdlIGV2ZW50IGlzIGZpcmVkIHdoZW4gdGhlIHVzZXIgbW9kaWZpZXMgdGhlIGVsZW1lbnQncyB2YWx1ZS5cbiAgICAgKiBVbmxpa2UgdGhlIGlucHV0IGV2ZW50LCB0aGUgY2hhbmdlIGV2ZW50IGlzIG5vdCBuZWNlc3NhcmlseSBmaXJlZFxuICAgICAqIGZvciBlYWNoIGFsdGVyYXRpb24gdG8gYW4gZWxlbWVudCdzIHZhbHVlLlxuICAgICAqL1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2NoYW5nZScsIHsgYnViYmxlczogdHJ1ZSB9KSk7XG5cbiAgICAvKipcbiAgICAgKiBEZXByZWNhdGVkLiBNaXJyb3JzIGNoYW5nZSBldmVudCBmb3IgUmVhY3QuIFdpbGwgYmUgcmVtb3ZlZCBvbmNlIFJlYWN0IHByb3Blcmx5IHN1cHBvcnRzIGNoYW5nZSBldmVudHMuXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKi9cbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdkaWRDaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdjaGVja2VkJykpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFQcmVzc2VkID0gYCR7dGhpcy5jaGVja2VkfWA7XG4gICAgICB0aGlzLnRvZ2dsZVN0YXRlKCdjaGVja2VkJywgdGhpcy5jaGVja2VkKTtcbiAgICAgIHRoaXMudXBkYXRlRm9ybVZhbHVlKCk7XG4gICAgfVxuXG4gICAgY29uc3QgdGFnR3JvdXAgPSB0aGlzLmNsb3Nlc3Q/Lignc2JiLXRhZy1ncm91cCcpO1xuICAgIGlmICh0YWdHcm91cCAmJiAhdGFnR3JvdXAubXVsdGlwbGUgJiYgY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdjaGVja2VkJykgJiYgdGhpcy5jaGVja2VkKSB7XG4gICAgICB0YWdHcm91cD8udGFncy5maWx0ZXIoKHQpID0+IHQgIT09IHRoaXMpLmZvckVhY2goKHQpID0+ICh0LmNoZWNrZWQgPSBmYWxzZSkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBmb3JtUmVzZXRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLmNoZWNrZWQgPSB0aGlzLmhhc0F0dHJpYnV0ZSgnY2hlY2tlZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGZvcm1TdGF0ZVJlc3RvcmVDYWxsYmFjayhcbiAgICBzdGF0ZTogRm9ybVJlc3RvcmVTdGF0ZSB8IG51bGwsXG4gICAgX3JlYXNvbjogRm9ybVJlc3RvcmVSZWFzb24sXG4gICk6IHZvaWQge1xuICAgIGlmIChzdGF0ZSkge1xuICAgICAgdGhpcy5jaGVja2VkID0gc3RhdGUgPT09ICd0cnVlJztcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdXBkYXRlRm9ybVZhbHVlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNoZWNrZWQpIHtcbiAgICAgIHN1cGVyLnVwZGF0ZUZvcm1WYWx1ZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmludGVybmFscy5zZXRGb3JtVmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZvcm1TdGF0ZSgpOiBGb3JtUmVzdG9yZVN0YXRlIHtcbiAgICByZXR1cm4gYCR7dGhpcy5jaGVja2VkfWA7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyVGVtcGxhdGUoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdGFnX19pY29uIHNiYi10YWctLXNoaWZ0XCI+ICR7dGhpcy5yZW5kZXJJY29uU2xvdCgpfSA8L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cInNiYi10YWdfX3RleHQgc2JiLXRhZy0tc2hpZnRcIj5cbiAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgPC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdGFnX19hbW91bnQgc2JiLXRhZy0tc2hpZnRcIj5cbiAgICAgICAgPHNsb3QgbmFtZT1cImFtb3VudFwiPiR7dGhpcy5hbW91bnR9PC9zbG90PlxuICAgICAgPC9zcGFuPlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10YWcnOiBTYmJUYWdFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ2lDYSx1QkFBYTttQkFBcUIsaUJBQzdDLCtCQUErQix5QkFBeUIsQ0FDekQ7Ozs7Ozs7Ozs7Ozs7Y0FGWSxzQkFBa0MsWUFFOUM7Ozt3QkFVRSxVQUFVLENBQUE7eUJBSVYsV0FBVyxFQUNYLFNBQVM7SUFBRSxTQUFTO0lBQU0sV0FBVztJQUFvQixDQUFDLENBQUE7MEJBSTFELFdBQVcsRUFDWCxTQUFTO0lBQUUsU0FBUztJQUFPLE1BQU07SUFBUyxDQUFDLENBQUE7dUJBTzNDLFNBQVMsRUFBRSxTQUFTLE1BQU0sQ0FBQyxFQUMzQixhQUFhLEdBQUcsTUFBTSxFQUFFLFFBQVEsUUFBUSxFQUFFLENBQUE7QUFqQjNDLGdCQUFBLE1BQUEsTUFBQSxtQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLFdBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBSyxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQUwsUUFBSzs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLHFCQUFBLHlCQUFBO0FBS3JCLGdCQUFBLE1BQUEsTUFBQSxvQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLFlBQUE7S0FBQSxNQUFBLFFB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
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
|
-
import { unsafeCSS } from "lit";
|
|
3
|
-
import { property } from "lit/decorators.js";
|
|
4
|
-
import { SbbLinkBaseElement } from "./core/base-elements.js";
|
|
5
|
-
import { boxSizingStyles } from "./core/styles.js";
|
|
6
|
-
import { html as html$1 } from "lit/static-html.js";
|
|
7
|
-
import "./screen-reader-only.js";
|
|
8
|
-
//#region src/elements/teaser/teaser.scss?inline
|
|
9
|
-
var teaser_default = "@charset \"UTF-8\";\n:host {\n display: inline-block;\n outline: none !important;\n --sbb-teaser-scale-hover: 1.02;\n --sbb-teaser-description-color: var(--sbb-color-granite);\n --sbb-teaser-description-color: light-dark(var(--sbb-color-granite), var(--sbb-color-silver));\n --sbb-teaser-flex-direction: row;\n --sbb-teaser-align-items: center;\n --sbb-teaser-gap: var(--sbb-spacing-fixed-4x);\n --sbb-teaser-border-radius: var(--sbb-border-radius-4x);\n}\n@media (forced-colors: active) {\n :host {\n --sbb-teaser-description-color: LinkText;\n --sbb-title-text-color-normal-override: LinkText !important;\n }\n}\n\n:host([alignment=after]) {\n --sbb-teaser-align-items: start;\n}\n\n:host([alignment=below]) {\n --sbb-teaser-flex-direction: column;\n --sbb-teaser-align-items: baseline;\n --sbb-teaser-gap: var(--sbb-spacing-fixed-3x);\n}\n\n@media (any-hover: hover) {\n :host(:hover) {\n --sbb-teaser-scale: var(--sbb-teaser-scale-hover);\n }\n}\n.sbb-teaser__wrapper {\n display: flex;\n position: relative;\n cursor: var(--sbb-cursor-pointer);\n}\n.sbb-teaser__wrapper::before {\n content: \"\";\n user-select: none;\n width: 0;\n height: 0;\n}\n\n.sbb-teaser {\n text-decoration: none;\n position: absolute;\n inset: 0;\n}\n.sbb-teaser:focus-visible {\n outline-offset: var(--sbb-focus-outline-offset);\n outline: var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);\n border-radius: var(--sbb-teaser-border-radius);\n}\n@media (forced-colors: active) {\n .sbb-teaser:focus-visible {\n outline-offset: calc(2 * var(--sbb-focus-outline-offset));\n }\n}\n@media (forced-colors: active) {\n .sbb-teaser::before {\n content: \"\";\n position: absolute;\n inset: calc(-1 * var(--sbb-focus-outline-offset));\n pointer-events: none;\n border-radius: calc(var(--sbb-teaser-border-radius) + var(--sbb-focus-outline-offset));\n border: var(--sbb-border-width-1x) solid CanvasText;\n }\n}\n\n.sbb-teaser__container {\n display: flex;\n flex-flow: var(--sbb-teaser-flex-direction) nowrap;\n align-items: var(--sbb-teaser-align-items);\n gap: var(--sbb-teaser-gap);\n max-width: 100%;\n width: 100%;\n pointer-events: none;\n}\n\n.sbb-teaser__text {\n --sbb-text-font-size: var(--sbb-text-font-size-s);\n font-family: var(--sbb-typo-font-family);\n font-weight: normal;\n line-height: var(--sbb-typo-line-height-text);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n font-size: var(--sbb-text-font-size);\n color: var(--sbb-teaser-description-color);\n overflow: hidden;\n max-width: 100%;\n}\n\n::slotted([slot=image]) {\n width: 18.75rem;\n display: block;\n}\n\n.sbb-teaser__image-wrapper {\n flex-shrink: 0;\n overflow: hidden;\n border-radius: var(--sbb-teaser-border-radius);\n transition: box-shadow var(--sbb-teaser-image-animation-duration) var(--sbb-animation-easing);\n}\n:host(:not(:is(:state(slotted-image),[state--slotted-image]))) .sbb-teaser__image-wrapper {\n display: none;\n}\n@media (any-hover: hover) {\n :host(:hover) .sbb-teaser__image-wrapper {\n box-shadow: var(--sbb-box-shadow-level-9-hard);\n }\n}\n\n.sbb-teaser__description {\n display: inline-block;\n margin: 0;\n padding: 0;\n}\n\n::slotted(sbb-chip-label) {\n display: block;\n max-width: fit-content;\n margin-block-end: var(--sbb-spacing-fixed-1x);\n}\n\n::slotted(sbb-title) {\n margin-block: 0;\n}";
|
|
10
|
-
//#endregion
|
|
11
|
-
//#region src/elements/teaser/teaser.component.ts
|
|
12
|
-
/**
|
|
13
|
-
* It displays an interactive image with caption.
|
|
14
|
-
*
|
|
15
|
-
* @slot image - Slot used to render the image.
|
|
16
|
-
* @slot chip - Slot for the `sbb-chip-label` element. The slot on the `sbb-chip-label` element is automatically assigned when slotted in the unnamed slot.
|
|
17
|
-
* @slot title - Slot for the title. For the standard `sbb-title` element, the slot is automatically assigned when slotted in the unnamed slot.
|
|
18
|
-
* @slot - Use the unnamed slot to render the description, the sbb-title and the sbb-chip-label.
|
|
19
|
-
*/
|
|
20
|
-
var SbbTeaserElement = (() => {
|
|
21
|
-
let _classSuper = SbbLinkBaseElement;
|
|
22
|
-
let _alignment_decorators;
|
|
23
|
-
let _alignment_initializers = [];
|
|
24
|
-
let _alignment_extraInitializers = [];
|
|
25
|
-
return class SbbTeaserElement extends _classSuper {
|
|
26
|
-
static {
|
|
27
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
28
|
-
_alignment_decorators = [property({ reflect: true })];
|
|
29
|
-
__esDecorate(this, null, _alignment_decorators, {
|
|
30
|
-
kind: "accessor",
|
|
31
|
-
name: "alignment",
|
|
32
|
-
static: false,
|
|
33
|
-
private: false,
|
|
34
|
-
access: {
|
|
35
|
-
has: (obj) => "alignment" in obj,
|
|
36
|
-
get: (obj) => obj.alignment,
|
|
37
|
-
set: (obj, value) => {
|
|
38
|
-
obj.alignment = value;
|
|
39
|
-
}
|
|
40
|
-
},
|
|
41
|
-
metadata: _metadata
|
|
42
|
-
}, _alignment_initializers, _alignment_extraInitializers);
|
|
43
|
-
if (_metadata) Object.defineProperty(this, Symbol.metadata, {
|
|
44
|
-
enumerable: true,
|
|
45
|
-
configurable: true,
|
|
46
|
-
writable: true,
|
|
47
|
-
value: _metadata
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
static {
|
|
51
|
-
this.elementName = "sbb-teaser";
|
|
52
|
-
}
|
|
53
|
-
static {
|
|
54
|
-
this.styles = [boxSizingStyles, unsafeCSS(teaser_default)];
|
|
55
|
-
}
|
|
56
|
-
#alignment_accessor_storage = __runInitializers(this, _alignment_initializers, "after-centered");
|
|
57
|
-
/** Teaser variant - define the position and the alignment of the text block. */
|
|
58
|
-
get alignment() {
|
|
59
|
-
return this.#alignment_accessor_storage;
|
|
60
|
-
}
|
|
61
|
-
set alignment(value) {
|
|
62
|
-
this.#alignment_accessor_storage = value;
|
|
63
|
-
}
|
|
64
|
-
_handleSlotchange() {
|
|
65
|
-
const chip = Array.from(this.children).find((el) => el.localName === "sbb-chip-label");
|
|
66
|
-
if (chip) chip.slot = "chip";
|
|
67
|
-
const title = Array.from(this.children).find((el) => el.localName === "sbb-title");
|
|
68
|
-
if (title) title.slot = "title";
|
|
69
|
-
}
|
|
70
|
-
_configureChip(event) {
|
|
71
|
-
const chipLabel = event.target.assignedElements().find((e) => e.localName === "sbb-chip-label");
|
|
72
|
-
if (chipLabel) {
|
|
73
|
-
customElements.upgrade(chipLabel);
|
|
74
|
-
chipLabel.color = "charcoal";
|
|
75
|
-
chipLabel.size = "xxs";
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
_configureTitle(event) {
|
|
79
|
-
const title = event.target.assignedElements().find((e) => e.localName === "sbb-title");
|
|
80
|
-
if (title) {
|
|
81
|
-
customElements.upgrade(title);
|
|
82
|
-
title.visualLevel = "5";
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
render() {
|
|
86
|
-
return html$1`
|
|
87
|
-
<div class="sbb-teaser__wrapper">
|
|
88
|
-
${this.renderLink(html$1`<sbb-screen-reader-only>${this.accessibilityLabel}</sbb-screen-reader-only>`)}
|
|
89
|
-
${this.renderContent()}
|
|
90
|
-
</div>
|
|
91
|
-
`;
|
|
92
|
-
}
|
|
93
|
-
renderContent() {
|
|
94
|
-
return html$1`
|
|
95
|
-
<span class="sbb-teaser__container">
|
|
96
|
-
<span class="sbb-teaser__image-wrapper">
|
|
97
|
-
<slot name="image"></slot>
|
|
98
|
-
</span>
|
|
99
|
-
<span class="sbb-teaser__text">
|
|
100
|
-
<slot name="chip" @slotchange=${this._configureChip}></slot>
|
|
101
|
-
<slot name="title" @slotchange=${this._configureTitle}></slot>
|
|
102
|
-
<p class="sbb-teaser__description">
|
|
103
|
-
<slot @slotchange=${this._handleSlotchange}></slot>
|
|
104
|
-
</p>
|
|
105
|
-
</span>
|
|
106
|
-
</span>
|
|
107
|
-
`;
|
|
108
|
-
}
|
|
109
|
-
constructor() {
|
|
110
|
-
super(...arguments);
|
|
111
|
-
__runInitializers(this, _alignment_extraInitializers);
|
|
112
|
-
}
|
|
113
|
-
};
|
|
114
|
-
})();
|
|
115
|
-
//#endregion
|
|
116
|
-
export { SbbTeaserElement as t };
|
|
117
|
-
|
|
118
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVhc2VyLmNvbXBvbmVudC1DNjN0MHoxSS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvdGVhc2VyL3RlYXNlci5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90ZWFzZXIvdGVhc2VyLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAvLyBVc2UgIWltcG9ydGFudCBoZXJlIHRvIG5vdCBpbnRlcmZlcmUgd2l0aCBGaXJlZm94IGZvY3VzIHJpbmcgZGVmaW5pdGlvblxuICAvLyB3aGljaCBhcHBlYXJzIGluIG5vcm1hbGl6ZSBDU1Mgb2Ygc2V2ZXJhbCBmcmFtZXdvcmtzLlxuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG5cbiAgLS1zYmItdGVhc2VyLXNjYWxlLWhvdmVyOiAxLjAyO1xuICAtLXNiYi10ZWFzZXItZGVzY3JpcHRpb24tY29sb3I6IGxpZ2h0LWRhcmsodmFyKC0tc2JiLWNvbG9yLWdyYW5pdGUpLCB2YXIoLS1zYmItY29sb3Itc2lsdmVyKSk7XG4gIC0tc2JiLXRlYXNlci1mbGV4LWRpcmVjdGlvbjogcm93O1xuICAtLXNiYi10ZWFzZXItYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLS1zYmItdGVhc2VyLWdhcDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtNHgpO1xuICAtLXNiYi10ZWFzZXItYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLWJvcmRlci1yYWRpdXMtNHgpO1xuXG4gIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICAtLXNiYi10ZWFzZXItZGVzY3JpcHRpb24tY29sb3I6IExpbmtUZXh0O1xuICAgIC0tc2JiLXRpdGxlLXRleHQtY29sb3Itbm9ybWFsLW92ZXJyaWRlOiBMaW5rVGV4dCAhaW1wb3J0YW50O1xuICB9XG59XG5cbjpob3N0KFthbGlnbm1lbnQ9J2FmdGVyJ10pIHtcbiAgLS1zYmItdGVhc2VyLWFsaWduLWl0ZW1zOiBzdGFydDtcbn1cblxuOmhvc3QoW2FsaWdubWVudD0nYmVsb3cnXSkge1xuICAtLXNiYi10ZWFzZXItZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLS1zYmItdGVhc2VyLWFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgLS1zYmItdGVhc2VyLWdhcDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtM3gpO1xufVxuXG5AaW5jbHVkZSBzYmIuaG92ZXItbXEoJGhvdmVyOiB0cnVlKSB7XG4gIDpob3N0KDpob3Zlcikge1xuICAgIC0tc2JiLXRlYXNlci1zY2FsZTogdmFyKC0tc2JiLXRlYXNlci1zY2FsZS1ob3Zlcik7XG4gIH1cbn1cblxuLnNiYi10ZWFzZXJfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogdmFyKC0tc2JiLWN1cnNvci1wb2ludGVyKTtcblxuICBAaW5jbHVkZSBzYmIuemVyby13aWR0aC1zcGFjZTtcbn1cblxuLnNiYi10ZWFzZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBAaW5jbHVkZSBzYmIuZm9jdXMtb3V0bGluZTtcblxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi10ZWFzZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgICAvLyBXZSBtb3ZlIHRoZSBmb2N1cyBvdXRsaW5lIGZ1cnRoZXIgb3V0IHRvIG5vdCBvdmVybGFwIHdpdGggdGhlIHRlYXNlciBib3JkZXIgaW4gZm9yY2VkIGNvbG9yc1xuICAgIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiBjYWxjKDIgKiB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1vZmZzZXQpKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaW5zZXQ6IGNhbGMoLTEgKiB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1vZmZzZXQpKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1zYmItdGVhc2VyLWJvcmRlci1yYWRpdXMpICsgdmFyKC0tc2JiLWZvY3VzLW91dGxpbmUtb2Zmc2V0KSk7XG4gICAgICBib3JkZXI6IHZhcigtLXNiYi1ib3JkZXItd2lkdGgtMXgpIHNvbGlkIENhbnZhc1RleHQ7XG4gICAgfVxuICB9XG59XG5cbi5zYmItdGVhc2VyX19jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHZhcigtLXNiYi10ZWFzZXItZmxleC1kaXJlY3Rpb24pIG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHZhcigtLXNiYi10ZWFzZXItYWxpZ24taXRlbXMpO1xuICBnYXA6IHZhcigtLXNiYi10ZWFzZXItZ2FwKTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5zYmItdGVhc2VyX190ZXh0IHtcbiAgQGluY2x1ZGUgc2JiLnRleHQtcy0tcmVndWxhcjtcblxuICBjb2xvcjogdmFyKC0tc2JiLXRlYXNlci1kZXNjcmlwdGlvbi1jb2xvcik7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuOjpzbG90dGVkKFtzbG90PSdpbWFnZSddKSB7XG4gIHdpZHRoOiAje3NiYi5weC10by1yZW0tYnVpbGQoMzAwKX07XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc2JiLXRlYXNlcl9faW1hZ2Utd3JhcHBlciB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItdGVhc2VyLWJvcmRlci1yYWRpdXMpO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IHZhcigtLXNiYi10ZWFzZXItaW1hZ2UtYW5pbWF0aW9uLWR1cmF0aW9uKSB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG5cbiAgOmhvc3QoOm5vdCg6c3RhdGUoc2xvdHRlZC1pbWFnZSkpKSAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgQGluY2x1ZGUgc2JiLmhvdmVyLW1xKCRob3ZlcjogdHJ1ZSkge1xuICAgIDpob3N0KDpob3ZlcikgJiB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS1zYmItYm94LXNoYWRvdy1sZXZlbC05LWhhcmQpO1xuICAgIH1cbiAgfVxufVxuXG4uc2JiLXRlYXNlcl9fZGVzY3JpcHRpb24ge1xuICAvLyBSZXNldCBwYXJhZ3JhcGggc3R5bGVzXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG46OnNsb3R0ZWQoc2JiLWNoaXAtbGFiZWwpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogZml0LWNvbnRlbnQ7XG4gIG1hcmdpbi1ibG9jay1lbmQ6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTF4KTtcbn1cblxuOjpzbG90dGVkKHNiYi10aXRsZSkge1xuICBtYXJnaW4tYmxvY2s6IDA7XG59XG4iLCJpbXBvcnQgeyB1bnNhZmVDU1MsIHR5cGUgQ1NTUmVzdWx0R3JvdXAsIHR5cGUgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBodG1sIH0gZnJvbSAnbGl0L3N0YXRpYy1odG1sLmpzJztcblxuaW1wb3J0IHR5cGUgeyBTYmJDaGlwTGFiZWxFbGVtZW50IH0gZnJvbSAnLi4vY2hpcC1sYWJlbC50cyc7XG5pbXBvcnQgeyBTYmJMaW5rQmFzZUVsZW1lbnQgfSBmcm9tICcuLi9jb3JlL2Jhc2UtZWxlbWVudHMudHMnO1xuaW1wb3J0IHsgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnLi4vY29yZS9zdHlsZXMudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUaXRsZUVsZW1lbnQgfSBmcm9tICcuLi90aXRsZS50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3RlYXNlci5zY3NzP2lubGluZSc7XG5cbmltcG9ydCAnLi4vc2NyZWVuLXJlYWRlci1vbmx5LnRzJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhbiBpbnRlcmFjdGl2ZSBpbWFnZSB3aXRoIGNhcHRpb24uXG4gKlxuICogQHNsb3QgaW1hZ2UgLSBTbG90IHVzZWQgdG8gcmVuZGVyIHRoZSBpbWFnZS5cbiAqIEBzbG90IGNoaXAgLSBTbG90IGZvciB0aGUgYHNiYi1jaGlwLWxhYmVsYCBlbGVtZW50LiBUaGUgc2xvdCBvbiB0aGUgYHNiYi1jaGlwLWxhYmVsYCBlbGVtZW50IGlzIGF1dG9tYXRpY2FsbHkgYXNzaWduZWQgd2hlbiBzbG90dGVkIGluIHRoZSB1bm5hbWVkIHNsb3QuXG4gKiBAc2xvdCB0aXRsZSAtIFNsb3QgZm9yIHRoZSB0aXRsZS4gRm9yIHRoZSBzdGFuZGFyZCBgc2JiLXRpdGxlYCBlbGVtZW50LCB0aGUgc2xvdCBpcyBhdXRvbWF0aWNhbGx5IGFzc2lnbmVkIHdoZW4gc2xvdHRlZCBpbiB0aGUgdW5uYW1lZCBzbG90LlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byByZW5kZXIgdGhlIGRlc2NyaXB0aW9uLCB0aGUgc2JiLXRpdGxlIGFuZCB0aGUgc2JiLWNoaXAtbGFiZWwuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJUZWFzZXJFbGVtZW50IGV4dGVuZHMgU2JiTGlua0Jhc2VFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi10ZWFzZXInO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICAvKiogVGVhc2VyIHZhcmlhbnQgLSBkZWZpbmUgdGhlIHBvc2l0aW9uIGFuZCB0aGUgYWxpZ25tZW50IG9mIHRoZSB0ZXh0IGJsb2NrLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBhbGlnbm1lbnQ6ICdhZnRlci1jZW50ZXJlZCcgfCAnYWZ0ZXInIHwgJ2JlbG93JyA9XG4gICAgJ2FmdGVyLWNlbnRlcmVkJztcblxuICBwcml2YXRlIF9oYW5kbGVTbG90Y2hhbmdlKCk6IHZvaWQge1xuICAgIGNvbnN0IGNoaXAgPSBBcnJheS5mcm9tKHRoaXMuY2hpbGRyZW4pLmZpbmQoKGVsKSA9PiBlbC5sb2NhbE5hbWUgPT09ICdzYmItY2hpcC1sYWJlbCcpO1xuICAgIGlmIChjaGlwKSB7XG4gICAgICBjaGlwLnNsb3QgPSAnY2hpcCc7XG4gICAgfVxuXG4gICAgY29uc3QgdGl0bGUgPSBBcnJheS5mcm9tKHRoaXMuY2hpbGRyZW4pLmZpbmQoKGVsKSA9PiBlbC5sb2NhbE5hbWUgPT09ICdzYmItdGl0bGUnKTtcbiAgICBpZiAodGl0bGUpIHtcbiAgICAgIHRpdGxlLnNsb3QgPSAndGl0bGUnO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NvbmZpZ3VyZUNoaXAoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgLy8gV2UgbmVlZCB0byBjaGVjayBhc3NpZ25lZCBlbGVtZW50cyBiZWNhdXNlIGluIHRoZSBpbWFnZSBzbG90IGl0IGNhbiBoYXZlIGxhYmVscyBhcyB3ZWxsLlxuICAgIGNvbnN0IGNoaXBMYWJlbCA9IChldmVudC50YXJnZXQgYXMgSFRNTFNsb3RFbGVtZW50KVxuICAgICAgLmFzc2lnbmVkRWxlbWVudHMoKVxuICAgICAgLmZpbmQoKGUpOiBlIGlzIFNiYkNoaXBMYWJlbEVsZW1lbnQgPT4gZS5sb2NhbE5hbWUgPT09ICdzYmItY2hpcC1sYWJlbCcpO1xuXG4gICAgaWYgKGNoaXBMYWJlbCkge1xuICAgICAgY3VzdG9tRWxlbWVudHMudXBncmFkZShjaGlwTGFiZWwpO1xuICAgICAgY2hpcExhYmVsLmNvbG9yID0gJ2NoYXJjb2FsJztcbiAgICAgIGNoaXBMYWJlbC5zaXplID0gJ3h4cyc7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfY29uZmlndXJlVGl0bGUoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgdGl0bGUgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxTbG90RWxlbWVudClcbiAgICAgIC5hc3NpZ25lZEVsZW1lbnRzKClcbiAgICAgIC5maW5kKChlKTogZSBpcyBTYmJUaXRsZUVsZW1lbnQgPT4gZS5sb2NhbE5hbWUgPT09ICdzYmItdGl0bGUnKTtcblxuICAgIGlmICh0aXRsZSkge1xuICAgICAgY3VzdG9tRWxlbWVudHMudXBncmFkZSh0aXRsZSk7XG4gICAgICB0aXRsZS52aXN1YWxMZXZlbCA9ICc1JztcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICAvLyBXZSByZW5kZXIgdGhlIGNvbnRlbnQgb3V0c2lkZSB0aGUgYW5jaG9yIHRhZyB0byBhbGxvdyBzY3JlZW4gcmVhZGVycyB0byBuYXZpZ2F0ZSB0aHJvdWdoIGl0XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLXRlYXNlcl9fd3JhcHBlclwiPlxuICAgICAgICAke3RoaXMucmVuZGVyTGluayhcbiAgICAgICAgICAvLyBGb3IgU0VPLCB3ZSBhZGQgdGhlIGFjY2Vzc2liaWxpdHkgaGlkZGVuIGFzIGhpZGRlbiBjb250ZW50IG9mIHRoZSBsaW5rXG4gICAgICAgICAgaHRtbGA8c2JiLXNjcmVlbi1yZWFkZXItb25seT4ke3RoaXMuYWNjZXNzaWJpbGl0eUxhYmVsfTwvc2JiLXNjcmVlbi1yZWFkZXItb25seT5gLFxuICAgICAgICApfVxuICAgICAgICAke3RoaXMucmVuZGVyQ29udGVudCgpfVxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxuXG4gIHByb3RlY3RlZCByZW5kZXJDb250ZW50KCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXRlYXNlcl9fY29udGFpbmVyXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXRlYXNlcl9faW1hZ2Utd3JhcHBlclwiPlxuICAgICAgICAgIDxzbG90IG5hbWU9XCJpbWFnZVwiPjwvc2xvdD5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi10ZWFzZXJfX3RleHRcIj5cbiAgICAgICAgICA8c2xvdCBuYW1lPVwiY2hpcFwiIEBzbG90Y2hhbmdlPSR7dGhpcy5fY29uZmlndXJlQ2hpcH0+PC9zbG90PlxuICAgICAgICAgIDxzbG90IG5hbWU9XCJ0aXRsZVwiIEBzbG90Y2hhbmdlPSR7dGhpcy5fY29uZmlndXJlVGl0bGV9Pjwvc2xvdD5cbiAgICAgICAgICA8cCBjbGFzcz1cInNiYi10ZWFzZXJfX2Rlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICA8c2xvdCBAc2xvdGNoYW5nZT0ke3RoaXMuX2hhbmRsZVNsb3RjaGFuZ2V9Pjwvc2xvdD5cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvc3Bhbj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItdGVhc2VyJzogU2JiVGVhc2VyRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDcUJhLDBCQUFnQjttQkFBUzs7OztjQUF6Qix5QkFBeUIsWUFBa0I7Ozs0QkFLckQsU0FBUyxFQUFFLFNBQVMsTUFBTSxDQUFDLENBQUE7QUFBQyxnQkFBQSxNQUFBLE1BQUEsdUJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxlQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQVMsTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFULFlBQVM7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSx5QkFBQSw2QkFBQTs7Ozs7Ozs7O0FBSnRCLFFBQUEsY0FBc0I7OztBQUMvQixRQUFBLFNBQXlCLENBQUMsaUJBQWlCLFVBQVUsZUFBTSxDQUFDOztFQUd0RCw4QkFBQSxrQkFBQSxNQUFBLHlCQUMzQixpQkFBZ0I7O0VBRFcsSUFBZ0IsWUFBUztBQUFBLFVBQUEsTUFBQTs7RUFBekIsSUFBZ0IsVUFBUyxPQUFBO0FBQUEsU0FBQSw2QkFBQTs7RUFHOUMsb0JBQWlCO0dBQ3ZCLE1BQU0sT0FBTyxNQUFNLEtBQUssS0FBSyxTQUFTLENBQUMsTUFBTSxPQUFPLEdBQUcsY0FBYyxpQkFBaUI7QUFDdEYsT0FBSSxLQUNGLE1BQUssT0FBTztHQUdkLE1BQU0sUUFBUSxNQUFNLEtBQUssS0FBSyxTQUFTLENBQUMsTUFBTSxPQUFPLEdBQUcsY0FBYyxZQUFZO0FBQ2xGLE9BQUksTUFDRixPQUFNLE9BQU87O0VBSVQsZUFBZSxPQUFZO0dBRWpDLE1BQU0sWUFBYSxNQUFNLE9BQ3RCLGtCQUFrQixDQUNsQixNQUFNLE1BQWdDLEVBQUUsY0FBYyxpQkFBaUI7QUFFMUUsT0FBSSxXQUFXO0FBQ2IsbUJBQWUsUUFBUSxVQUFVO0FBQ2pDLGNBQVUsUUFBUTtBQUNsQixjQUFVLE9BQU87OztFQUliLGdCQUFnQixPQUFZO0dBQ2xDLE1BQU0sUUFBUyxNQUFNLE9BQ2xCLGtCQUFrQixDQUNsQixNQUFNLE1BQTRCLEVBQUUsY0FBYyxZQUFZO0FBRWpFLE9BQUksT0FBTztBQUNULG1CQUFlLFFBQVEsTUFBTTtBQUM3QixVQUFNLGNBQWM7OztFQUlMLFNBQU07QUFFdkIsVUFBTyxNQUFJOztVQUVMLEtBQUssV0FFTCxNQUFJLDJCQUEyQixLQUFLLG1CQUFrQiwyQkFDdkQsQ0FBQTtVQUNDLEtBQUssZUFBZSxDQUFBOzs7O0VBS2xCLGdCQUFhO0FBQ3JCLFVBQU8sTUFBSTs7Ozs7OzBDQU0yQixLQUFLLGVBQWM7MkNBQ2xCLEtBQUssZ0JBQWU7O2dDQUUvQixLQUFLLGtCQUFpQiJ9
|
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
import { __esDecorate as e, __runInitializers as t } from "tslib";
|
|
2
|
-
import { html as n, unsafeCSS as r } from "lit";
|
|
3
|
-
import { property as i } from "lit/decorators.js";
|
|
4
|
-
import { SbbButtonLikeBaseElement as a } from "./core/base-elements.js";
|
|
5
|
-
import { forceType as o, getOverride as s, omitEmptyConverter as c } from "./core/decorators.js";
|
|
6
|
-
import { isLean as l } from "./core/dom.js";
|
|
7
|
-
import { SbbDisabledTabIndexActionMixin as u } from "./core/mixins.js";
|
|
8
|
-
import { boxSizingStyles as d } from "./core/styles.js";
|
|
9
|
-
import { SbbIconNameMixin as f } from "./icon.js";
|
|
10
|
-
//#region src/elements/tag/tag/tag.scss?inline
|
|
11
|
-
var p = ":host{display:inline-block;outline:none!important;max-width:100%;--sbb-tag-border-radius: var(--sbb-border-radius-infinity);--sbb-tag-background-color: var(--sbb-background-color-1);--sbb-tag-border-color: var(--sbb-border-color-4-inverted);--sbb-tag-border-style: solid;--sbb-tag-border-width: var(--sbb-border-width-1x);--sbb-tag-text-color: var(--sbb-color-2);--sbb-tag-amount-color: var(--sbb-color-metal);--sbb-tag-amount-color: light-dark(var(--sbb-color-metal), var(--sbb-color-smoke));--sbb-tag-height: var(--sbb-size-element-xs);--sbb-tag-inset: 0;--sbb-tag-cursor: var(--sbb-cursor-pointer);--sbb-tag-content-shift: translateY(0);--sbb-tag-animation-duration: var( --sbb-disable-animation-duration, var(--sbb-animation-duration-2x) );--sbb-tag-animation-easing: var(--sbb-animation-easing);--sbb-tag-padding-inline: var(--sbb-spacing-fixed-5x);--sbb-tag-gap: var(--sbb-spacing-fixed-2x)}@media(forced-colors:active){:host{--sbb-tag-background-color: Canvas !important;--sbb-tag-text-color: ButtonText;--sbb-tag-amount-color: ButtonText;--sbb-tag-border-color: CanvasText;--sbb-tag-border-width: var(--sbb-border-width-2x)}}:host(:is(:state(checked),[state--checked])){--sbb-tag-border-color: var(--sbb-border-color-3);--sbb-tag-border-width: var(--sbb-border-width-2x)}@media(forced-colors:active){:host(:is(:state(checked),[state--checked])){--sbb-tag-border-color: Highlight !important;--sbb-tag-border-width: var(--sbb-border-width-4x)}}:host(:is(:disabled,[disabled-interactive])){--sbb-tag-text-color: var(--sbb-color-granite);--sbb-tag-text-color: light-dark(var(--sbb-color-granite), var(--sbb-color-aluminium));--sbb-tag-amount-color: var(--sbb-tag-text-color);--sbb-tag-background-color: var(--sbb-background-color-3);--sbb-tag-border-color: var(--sbb-color-cement);--sbb-tag-border-color: light-dark(var(--sbb-color-cement), var(--sbb-color-smoke));--sbb-tag-border-style: dashed;--sbb-tag-cursor: unset;--sbb-tag-pointer-events: none}@media(forced-colors:active){:host(:is(:disabled,[disabled-interactive])){--sbb-tag-text-color: GrayText;--sbb-tag-amount-color: GrayText;--sbb-tag-border-color: GrayText}}:host(:is(:state(checked),[state--checked]):is(:disabled,[disabled-interactive])){--sbb-tag-border-color: var(--sbb-color-metal);--sbb-tag-border-color: light-dark(var(--sbb-color-metal), var(--sbb-color-cement));--sbb-tag-border-style: dashed}@media(any-hover:hover){:host(:hover:not(:disabled,[disabled-interactive],:active,:is(:state(active),[state--active]))){--sbb-tag-background-color: var(--sbb-background-color-3);--sbb-tag-inset: calc(var(--sbb-border-width-2x) * -1);--sbb-tag-content-shift: translateY(calc(var(--sbb-border-width-1x) * -1))}}@media(any-hover:hover)and (forced-colors:active){:host(:hover:not(:disabled,[disabled-interactive],:active,:is(:state(active),[state--active]))){--sbb-tag-border-color: Highlight}}:host(:is(:active,:is(:state(active),[state--active])):not(:disabled,[disabled-interactive])){--sbb-tag-background-color: var(--sbb-background-color-3);--sbb-tag-border-color: var(--sbb-color-iron);--sbb-tag-border-color: light-dark(var(--sbb-color-iron), var(--sbb-color-storm));--sbb-tag-border-width: var(--sbb-border-width-2x);--sbb-tag-text-color: var(--sbb-color-4)}@media(forced-colors:active){:host(:is(:active,:is(:state(active),[state--active])):not(:disabled,[disabled-interactive])){--sbb-tag-border-color: Highlight;--sbb-tag-text-color: ButtonText}}:host([size=s]){--sbb-tag-height: var(--sbb-size-element-xxxs);--sbb-tag-padding-inline: var(--sbb-spacing-fixed-3x)}.sbb-tag{--sbb-text-font-size: var(--sbb-text-font-size-xs);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-text);letter-spacing:var(--sbb-typo-letter-spacing-text);font-size:var(--sbb-text-font-size);font-weight:700;position:relative;display:flex;align-items:center;height:var(--sbb-tag-height);max-width:100%;gap:var(--sbb-tag-gap);padding-inline:var(--sbb-tag-padding-inline);cursor:var(--sbb-tag-cursor);border-radius:var(--sbb-tag-border-radius);color:var(--sbb-tag-text-color);transition:color var(--sbb-tag-animation-duration) var(--sbb-tag-animation-easing);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;pointer-events:var(--sbb-tag-pointer-events, unset)}.sbb-tag:before{content:\"\";position:absolute;inset:var(--sbb-tag-inset);background-color:var(--sbb-tag-background-color);border:var(--sbb-tag-border-width) var(--sbb-tag-border-style) var(--sbb-tag-border-color);border-radius:var(--sbb-tag-border-radius);transition-duration:var(--sbb-tag-animation-duration);transition-timing-function:var(--sbb-tag-animation-easing);transition-property:inset,background-color,border-color,box-shadow}:host(:focus-visible) .sbb-tag:before{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width)}.sbb-tag__icon{display:flex;align-items:center;height:calc(var(--sbb-typo-line-height-text) * 1em);flex-shrink:0}:host(:not(:is(:state(slotted-icon),[state--slotted-icon]),:is(:state(has-icon-name),[state--has-icon-name]))) .sbb-tag__icon{display:none}.sbb-tag__text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sbb-tag__amount{--sbb-text-font-size: var(--sbb-text-font-size-xs);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-text);letter-spacing:var(--sbb-typo-letter-spacing-text);font-size:var(--sbb-text-font-size);color:var(--sbb-tag-amount-color)}:host(:not(:is(:state(slotted-amount),[state--slotted-amount]),[amount])) .sbb-tag__amount{display:none}.sbb-tag--shift{transition:transform var(--sbb-tag-animation-duration) var(--sbb-tag-animation-easing);transform:var(--sbb-tag-content-shift);will-change:transform}", m = (() => {
|
|
12
|
-
let m = f(u(a)), h, g = [], _ = [], v, y = [], b = [], x, S = [], C = [], w, T = [], E = [];
|
|
13
|
-
return class extends m {
|
|
14
|
-
static {
|
|
15
|
-
let t = typeof Symbol == "function" && Symbol.metadata ? Object.create(m[Symbol.metadata] ?? null) : void 0;
|
|
16
|
-
h = [i()], v = [o(), i({
|
|
17
|
-
reflect: !0,
|
|
18
|
-
converter: c
|
|
19
|
-
})], x = [o(), i({
|
|
20
|
-
reflect: !1,
|
|
21
|
-
type: Boolean
|
|
22
|
-
})], w = [i({ reflect: !0 }), s((e, t) => e._group?.size ?? t)], e(this, null, h, {
|
|
23
|
-
kind: "accessor",
|
|
24
|
-
name: "value",
|
|
25
|
-
static: !1,
|
|
26
|
-
private: !1,
|
|
27
|
-
access: {
|
|
28
|
-
has: (e) => "value" in e,
|
|
29
|
-
get: (e) => e.value,
|
|
30
|
-
set: (e, t) => {
|
|
31
|
-
e.value = t;
|
|
32
|
-
}
|
|
33
|
-
},
|
|
34
|
-
metadata: t
|
|
35
|
-
}, g, _), e(this, null, v, {
|
|
36
|
-
kind: "accessor",
|
|
37
|
-
name: "amount",
|
|
38
|
-
static: !1,
|
|
39
|
-
private: !1,
|
|
40
|
-
access: {
|
|
41
|
-
has: (e) => "amount" in e,
|
|
42
|
-
get: (e) => e.amount,
|
|
43
|
-
set: (e, t) => {
|
|
44
|
-
e.amount = t;
|
|
45
|
-
}
|
|
46
|
-
},
|
|
47
|
-
metadata: t
|
|
48
|
-
}, y, b), e(this, null, x, {
|
|
49
|
-
kind: "accessor",
|
|
50
|
-
name: "checked",
|
|
51
|
-
static: !1,
|
|
52
|
-
private: !1,
|
|
53
|
-
access: {
|
|
54
|
-
has: (e) => "checked" in e,
|
|
55
|
-
get: (e) => e.checked,
|
|
56
|
-
set: (e, t) => {
|
|
57
|
-
e.checked = t;
|
|
58
|
-
}
|
|
59
|
-
},
|
|
60
|
-
metadata: t
|
|
61
|
-
}, S, C), e(this, null, w, {
|
|
62
|
-
kind: "accessor",
|
|
63
|
-
name: "size",
|
|
64
|
-
static: !1,
|
|
65
|
-
private: !1,
|
|
66
|
-
access: {
|
|
67
|
-
has: (e) => "size" in e,
|
|
68
|
-
get: (e) => e.size,
|
|
69
|
-
set: (e, t) => {
|
|
70
|
-
e.size = t;
|
|
71
|
-
}
|
|
72
|
-
},
|
|
73
|
-
metadata: t
|
|
74
|
-
}, T, E), t && Object.defineProperty(this, Symbol.metadata, {
|
|
75
|
-
enumerable: !0,
|
|
76
|
-
configurable: !0,
|
|
77
|
-
writable: !0,
|
|
78
|
-
value: t
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
static {
|
|
82
|
-
this.elementName = "sbb-tag";
|
|
83
|
-
}
|
|
84
|
-
static {
|
|
85
|
-
this.styles = [d, r(p)];
|
|
86
|
-
}
|
|
87
|
-
static {
|
|
88
|
-
this.events = {
|
|
89
|
-
input: "input",
|
|
90
|
-
didChange: "didChange",
|
|
91
|
-
change: "change"
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
#e;
|
|
95
|
-
get value() {
|
|
96
|
-
return this.#e;
|
|
97
|
-
}
|
|
98
|
-
set value(e) {
|
|
99
|
-
this.#e = e;
|
|
100
|
-
}
|
|
101
|
-
#t;
|
|
102
|
-
get amount() {
|
|
103
|
-
return this.#t;
|
|
104
|
-
}
|
|
105
|
-
set amount(e) {
|
|
106
|
-
this.#t = e;
|
|
107
|
-
}
|
|
108
|
-
#n;
|
|
109
|
-
get checked() {
|
|
110
|
-
return this.#n;
|
|
111
|
-
}
|
|
112
|
-
set checked(e) {
|
|
113
|
-
this.#n = e;
|
|
114
|
-
}
|
|
115
|
-
#r;
|
|
116
|
-
get size() {
|
|
117
|
-
return this.#r;
|
|
118
|
-
}
|
|
119
|
-
set size(e) {
|
|
120
|
-
this.#r = e;
|
|
121
|
-
}
|
|
122
|
-
constructor() {
|
|
123
|
-
super(), this.#e = t(this, g, null), this.#t = (t(this, _), t(this, y, "")), this.#n = (t(this, b), t(this, S, !1)), this.#r = (t(this, C), t(this, T, l() ? "s" : "m")), this._group = (t(this, E), null), this.addEventListener?.("click", () => this._handleClick());
|
|
124
|
-
}
|
|
125
|
-
connectedCallback() {
|
|
126
|
-
super.connectedCallback(), this._group = this.closest("sbb-tag-group");
|
|
127
|
-
}
|
|
128
|
-
isDisabledExternally() {
|
|
129
|
-
return this._group?.disabled ?? !1;
|
|
130
|
-
}
|
|
131
|
-
_handleClick() {
|
|
132
|
-
if (this.disabled) return;
|
|
133
|
-
let e = this.closest("sbb-tag-group");
|
|
134
|
-
e && !e.multiple && this.checked || (this.checked = !this.checked, this.dispatchEvent(new InputEvent("input", {
|
|
135
|
-
bubbles: !0,
|
|
136
|
-
composed: !0
|
|
137
|
-
})), this.dispatchEvent(new Event("change", { bubbles: !0 })), this.dispatchEvent(new Event("didChange", { bubbles: !0 })));
|
|
138
|
-
}
|
|
139
|
-
willUpdate(e) {
|
|
140
|
-
super.willUpdate(e), e.has("checked") && (this.internals.ariaPressed = `${this.checked}`, this.toggleState("checked", this.checked), this.updateFormValue());
|
|
141
|
-
let t = this.closest?.("sbb-tag-group");
|
|
142
|
-
t && !t.multiple && e.has("checked") && this.checked && t?.tags.filter((e) => e !== this).forEach((e) => e.checked = !1);
|
|
143
|
-
}
|
|
144
|
-
formResetCallback() {
|
|
145
|
-
this.checked = this.hasAttribute("checked");
|
|
146
|
-
}
|
|
147
|
-
formStateRestoreCallback(e, t) {
|
|
148
|
-
e && (this.checked = e === "true");
|
|
149
|
-
}
|
|
150
|
-
updateFormValue() {
|
|
151
|
-
this.checked ? super.updateFormValue() : this.internals.setFormValue(null);
|
|
152
|
-
}
|
|
153
|
-
formState() {
|
|
154
|
-
return `${this.checked}`;
|
|
155
|
-
}
|
|
156
|
-
renderTemplate() {
|
|
157
|
-
return n`
|
|
158
|
-
<span class="sbb-tag__icon sbb-tag--shift"> ${this.renderIconSlot()} </span>
|
|
159
|
-
<span class="sbb-tag__text sbb-tag--shift">
|
|
160
|
-
<slot></slot>
|
|
161
|
-
</span>
|
|
162
|
-
<span class="sbb-tag__amount sbb-tag--shift">
|
|
163
|
-
<slot name="amount">${this.amount}</slot>
|
|
164
|
-
</span>
|
|
165
|
-
`;
|
|
166
|
-
}
|
|
167
|
-
};
|
|
168
|
-
})();
|
|
169
|
-
//#endregion
|
|
170
|
-
export { m as t };
|