@sbb-esta/lyne-elements-dev 5.0.0-next.1-dev.1777366078 → 5.0.0-next.1-dev.1777448509

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.
Files changed (100) hide show
  1. package/card/card/card.component.js +1 -1
  2. package/card.component-BcHiYB03.js +61 -0
  3. package/card.js +1 -1
  4. package/card.pure.js +1 -1
  5. package/core/styles/core.scss +8 -33
  6. package/core/styles/mixins/card.scss +5 -3
  7. package/core/styles/mixins/typo.scss +13 -31
  8. package/core.css +3 -22
  9. package/custom-elements.json +1466 -1466
  10. package/development/card/card/card.component.js +1 -1
  11. package/development/{card.component-B2cQYSCD.js → card.component-CpOdKJJ0.js} +2 -2
  12. package/development/card.js +1 -1
  13. package/development/card.pure.js +1 -1
  14. package/development/dialog/dialog-title/dialog-title.component.js +1 -1
  15. package/development/dialog-title.component-CnIk_xMF.js +29 -0
  16. package/development/dialog.js +1 -1
  17. package/development/dialog.pure.js +1 -1
  18. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  19. package/development/{file-selector-dropzone.component-DMNom2OW.js → file-selector-dropzone.component-DvIIHINv.js} +2 -2
  20. package/development/file-selector.js +1 -1
  21. package/development/file-selector.pure.js +1 -1
  22. package/development/journey-header/journey-header.component.js +1 -1
  23. package/development/journey-header.component-Dvqw7fug.js +150 -0
  24. package/development/journey-header.js +1 -1
  25. package/development/journey-header.pure.js +1 -1
  26. package/development/navigation/navigation-section/navigation-section.component.js +1 -1
  27. package/development/navigation-section.component-DBINlaTX.js +346 -0
  28. package/development/navigation.js +1 -1
  29. package/development/navigation.pure.js +1 -1
  30. package/development/teaser/teaser.component.js +1 -1
  31. package/development/teaser-product/common/teaser-product-common.js +1 -1
  32. package/development/teaser-product/teaser-product/teaser-product.component.js +1 -1
  33. package/development/teaser-product-common-Q9KK6514.js +78 -0
  34. package/development/teaser-product.component-C5wV0a_c.js +44 -0
  35. package/development/teaser-product.js +2 -2
  36. package/development/teaser-product.pure.js +2 -2
  37. package/development/teaser.component-8cqR7wx4.js +116 -0
  38. package/development/teaser.js +1 -1
  39. package/development/teaser.pure.js +1 -1
  40. package/development/title/title-base.js +1 -1
  41. package/development/title/title.component.js +1 -1
  42. package/development/title-base-QBLTDdVa.js +102 -0
  43. package/development/title.component-DeSXwF7P.js +71 -0
  44. package/development/title.js +2 -2
  45. package/development/title.pure.js +2 -2
  46. package/development/toast/toast.component.js +1 -1
  47. package/development/toast.component-CrjaQMNl.js +268 -0
  48. package/development/toast.js +1 -1
  49. package/development/toast.pure.js +1 -1
  50. package/dialog/dialog-title/dialog-title.component.js +1 -1
  51. package/dialog-title.component-Cm-QxTF7.js +17 -0
  52. package/dialog.js +1 -1
  53. package/dialog.pure.js +1 -1
  54. package/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  55. package/{file-selector-dropzone.component-CWwpvAVD.js → file-selector-dropzone.component-DYLTIaiE.js} +1 -1
  56. package/file-selector.js +1 -1
  57. package/file-selector.pure.js +1 -1
  58. package/journey-header/journey-header.component.js +1 -1
  59. package/{journey-header.component-DU09Hyme.js → journey-header.component-DPqv2v3z.js} +1 -1
  60. package/journey-header.js +1 -1
  61. package/journey-header.pure.js +1 -1
  62. package/navigation/navigation-section/navigation-section.component.js +1 -1
  63. package/{navigation-section.component-K4Pa53K7.js → navigation-section.component-BkhBZ4vH.js} +1 -1
  64. package/navigation.js +1 -1
  65. package/navigation.pure.js +1 -1
  66. package/off-brand-theme.css +3 -22
  67. package/package.json +2 -2
  68. package/safety-theme.css +3 -22
  69. package/standard-theme.css +3 -22
  70. package/teaser/teaser.component.js +1 -1
  71. package/teaser-product/common/teaser-product-common.js +1 -1
  72. package/teaser-product/teaser-product/teaser-product.component.js +1 -1
  73. package/{teaser-product-common-Kz3ApcVE.js → teaser-product-common-DvenwiUs.js} +1 -1
  74. package/{teaser-product.component-C7KoSqcP.js → teaser-product.component-tut8eGiy.js} +1 -1
  75. package/teaser-product.js +2 -2
  76. package/teaser-product.pure.js +2 -2
  77. package/{teaser.component-B2y2AlAx.js → teaser.component-Bf74T58g.js} +1 -1
  78. package/teaser.js +1 -1
  79. package/teaser.pure.js +1 -1
  80. package/title/title-base.js +1 -1
  81. package/title/title.component.js +1 -1
  82. package/{title-base-B43-Q_7r.js → title-base-CBTQR0xw.js} +1 -1
  83. package/{title.component-DXJHJ6p6.js → title.component-DzmgLLrE.js} +2 -2
  84. package/title.js +2 -2
  85. package/title.pure.js +2 -2
  86. package/toast/toast.component.js +1 -1
  87. package/{toast.component-2hmfUgsX.js → toast.component-dNIDSiAM.js} +1 -1
  88. package/toast.js +1 -1
  89. package/toast.pure.js +1 -1
  90. package/card.component-DZrNg3sQ.js +0 -61
  91. package/development/dialog-title.component-CNMzIUB2.js +0 -29
  92. package/development/journey-header.component-D8o3F1Su.js +0 -150
  93. package/development/navigation-section.component-t36xyaq4.js +0 -346
  94. package/development/teaser-product-common-DasV_SDa.js +0 -78
  95. package/development/teaser-product.component-CB6fOX7T.js +0 -44
  96. package/development/teaser.component-C7uXEaPK.js +0 -116
  97. package/development/title-base-DKVyL7TQ.js +0 -102
  98. package/development/title.component-BEEzA9cF.js +0 -71
  99. package/development/toast.component-DvVY7zpe.js +0 -268
  100. package/dialog-title.component-CRGqiwZu.js +0 -17
@@ -0,0 +1,346 @@
1
+ import { __esDecorate, __runInitializers } from "tslib";
2
+ import { html, isServer, nothing, unsafeCSS } from "lit";
3
+ import { property } from "lit/decorators.js";
4
+ import { IS_FOCUSABLE_QUERY, SbbFocusTrapController, SbbLanguageController, SbbMediaMatcherController, SbbMediaQueryBreakpointSmallAndBelow, SbbOpenCloseBaseElement, SbbUpdateSchedulerMixin, boxSizingStyles, forceType, i18nGoBack, idReference, isZeroAnimationDuration, omitEmptyConverter, removeAriaOverlayTriggerProperties, sbbInputModalityDetector, setAriaOverlayTriggerProperties, ɵstateController } from "./core.js";
5
+ import { SbbTransparentButtonElement } from "./button.pure.js";
6
+ //#region src/elements/navigation/navigation-section/navigation-section.scss?inline
7
+ var navigation_section_default = ":host {\n --sbb-navigation-section-animation-duration: var(\n --sbb-disable-animation-duration,\n var(--sbb-animation-duration-3x)\n );\n --sbb-focus-outline-color: var(--sbb-focus-outline-color-dark);\n display: var(--sbb-navigation-section-display, none);\n position: var(--sbb-navigation-section-position);\n grid-column: var(--sbb-navigation-section-column);\n inset-inline-start: 0;\n inset-block-start: 0;\n width: var(--sbb-navigation-section-width);\n height: var(--sbb-navigation-section-height);\n z-index: var(--sbb-navigation-z-index, var(--sbb-overlay-default-z-index));\n}\n@media (min-width: calc(64rem)) {\n :host {\n --sbb-navigation-section-animation-duration: var(\n --sbb-disable-animation-duration,\n var(--sbb-animation-duration-4x)\n );\n --sbb-navigation-section-width: calc(\n 100% + var(--sbb-layout-base-offset-responsive) + var(--sbb-grid-base-gutter-responsive)\n );\n translate: calc(var(--sbb-grid-base-gutter-responsive) * -1) 0;\n }\n}\n\n:host(:is(:state(state-opened),[state--state-opened])) {\n --sbb-navigation-section-pointer-events: all;\n}\n\n:host(:is(:state(state-opening),[state--state-opening])) {\n --sbb-navigation-section-position: absolute;\n}\n\n:host(:is(:is(:state(state-opening),[state--state-opening]), :is(:state(state-closing),[state--state-closing]))) {\n --sbb-navigation-section-pointer-events: none;\n}\n\n:host(:is(:is(:state(state-opening),[state--state-opening]), :is(:state(state-opened),[state--state-opened]), :is(:state(state-closing),[state--state-closing]))) {\n --sbb-navigation-section-display: block;\n}\n\n::slotted(*) {\n padding-inline-start: var(--sbb-navigation-section-content-padding-inline-start);\n}\n\n::slotted(:is(:state(sbb-button),[state--sbb-button])) {\n grid-column-start: 1;\n}\n\n.sbb-navigation-section__container {\n pointer-events: var(--sbb-navigation-section-pointer-events);\n height: var(--sbb-navigation-section-height);\n}\n\n.sbb-navigation-section {\n display: none;\n border: none;\n margin: 0;\n width: 100%;\n height: 100%;\n color: var(--sbb-navigation-color, var(--sbb-color-1-negative));\n background-color: transparent;\n padding: 0;\n overflow: hidden;\n}\n:host(:is(:is(:state(state-opening),[state--state-opening]), :is(:state(state-opened),[state--state-opened]), :is(:state(state-closing),[state--state-closing]))) .sbb-navigation-section {\n display: block;\n animation-name: open;\n animation-duration: var(--sbb-navigation-section-animation-duration);\n animation-timing-function: var(--sbb-navigation-section-animation-easing);\n}\n:host(:is(:state(state-closing),[state--state-closing])) .sbb-navigation-section {\n animation-name: close;\n}\n@media (forced-colors: active) {\n .sbb-navigation-section {\n outline: var(--sbb-border-width-1x) solid CanvasText;\n }\n}\n\n.sbb-navigation-section__wrapper {\n --sbb-scrollbar-width: var(--sbb-spacing-fixed-3x);\n --sbb-scrollbar-thumb-width: 0.125rem;\n --sbb-scrollbar-thumb-width-hover: 0.25rem;\n --sbb-scrollbar-width-firefox: thin;\n --sbb-scrollbar-color: color-mix(in srgb, var(--sbb-color-white) 30%, transparent);\n --sbb-scrollbar-color-hover: color-mix(in srgb, var(--sbb-color-white) 60%, transparent);\n --sbb-scrollbar-track-color: transparent;\n}\n.sbb-navigation-section__wrapper::-webkit-scrollbar {\n width: var(--sbb-scrollbar-width);\n height: var(--sbb-scrollbar-width);\n background-color: var(--sbb-scrollbar-track-color, transparent);\n}\n.sbb-navigation-section__wrapper::-webkit-scrollbar-corner {\n background-color: var(--sbb-scrollbar-track-color, transparent);\n}\n.sbb-navigation-section__wrapper::-webkit-scrollbar-thumb {\n background-color: var(--sbb-scrollbar-color, currentcolor);\n border: calc(0.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width))) solid transparent;\n border-radius: var(--sbb-border-radius-4x);\n background-clip: padding-box;\n}\n.sbb-navigation-section__wrapper::-webkit-scrollbar-thumb:hover {\n background-color: var(--sbb-scrollbar-color-hover, currentcolor);\n border-width: calc(0.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width-hover)));\n}\n.sbb-navigation-section__wrapper::-webkit-scrollbar-button, .sbb-navigation-section__wrapper::-webkit-scrollbar-corner {\n display: none;\n}\n@supports not selector(::-webkit-scrollbar) {\n .sbb-navigation-section__wrapper {\n scrollbar-width: var(--sbb-scrollbar-width-firefox);\n scrollbar-color: var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent);\n }\n}\n.sbb-navigation-section__wrapper {\n height: 100%;\n padding-block: var(--sbb-navigation-section-padding-block);\n outline: none;\n overflow-y: auto;\n}\n:host(:is(:is(:state(state-opening),[state--state-opening]), :is(:state(state-closing),[state--state-closing]))) .sbb-navigation-section__wrapper {\n --sbb-scrollbar-color: transparent;\n scrollbar-color: transparent transparent;\n}\n\n.sbb-navigation-section__header {\n position: relative;\n display: flex;\n align-items: center;\n gap: var(--sbb-spacing-fixed-1x);\n margin-block-start: var(--sbb-spacing-responsive-xxl);\n padding-inline-start: var(--sbb-navigation-section-content-padding-inline-start);\n}\n@media (min-width: calc(64rem)) {\n .sbb-navigation-section__header {\n margin-block-start: 0;\n padding-inline-start: 0;\n }\n}\n@media (min-width: calc(90rem)) {\n .sbb-navigation-section__header {\n grid-column: 1/4;\n }\n}\n\n.sbb-navigation-section__back {\n position: absolute;\n translate: calc((100% + var(--sbb-spacing-fixed-1x)) * -1) 0;\n}\n@media (min-width: calc(64rem)) {\n .sbb-navigation-section__back {\n display: none;\n }\n}\n\n.sbb-navigation-section__title {\n font-weight: bold;\n font-size: var(--sbb-navigation-section-font-size);\n letter-spacing: var(--sbb-typo-letter-spacing-heading);\n line-height: var(--sbb-typo-line-height-heading);\n}\n\n.sbb-navigation-section__content {\n display: grid;\n grid-template-columns: 1fr;\n gap: var(--sbb-spacing-responsive-l) var(--sbb-grid-base-gutter-responsive);\n padding-inline: var(--sbb-navigation-section-padding-inline);\n}\n@media (min-width: calc(64rem)) {\n .sbb-navigation-section__content {\n opacity: 0;\n translate: 0 var(--sbb-spacing-fixed-3x);\n transition-duration: var(--sbb-navigation-section-animation-duration);\n transition-delay: var(--sbb-navigation-section-animation-duration);\n transition-timing-function: var(--sbb-navigation-section-animation-easing);\n transition-property: opacity, translate;\n }\n :host(:is(:state(state-opened),[state--state-opened])) .sbb-navigation-section__content {\n opacity: 1;\n translate: 0 0;\n }\n}\n@media (min-width: calc(90rem)) {\n .sbb-navigation-section__content {\n grid-template-columns: repeat(3, 1fr);\n }\n}\n:host(:is(:state(state-closing),[state--state-closing])) .sbb-navigation-section__content {\n transition-delay: 0s;\n}\n\n@keyframes open {\n from {\n translate: var(--sbb-navigation-section-translate) 0;\n }\n to {\n translate: 0 0;\n }\n}\n@keyframes close {\n from {\n translate: 0 0;\n }\n to {\n translate: var(--sbb-navigation-section-translate) 0;\n }\n}";
8
+ //#endregion
9
+ //#region src/elements/navigation/navigation-section/navigation-section.component.ts
10
+ /**
11
+ * It can be used as a container for `sbb-navigation-list` within a `sbb-navigation`.
12
+ *
13
+ * @slot - Use the unnamed slot to add content into the `sbb-navigation-section`.
14
+ */
15
+ var SbbNavigationSectionElement = (() => {
16
+ let _classSuper = SbbUpdateSchedulerMixin(SbbOpenCloseBaseElement);
17
+ let _titleContent_decorators;
18
+ let _titleContent_initializers = [];
19
+ let _titleContent_extraInitializers = [];
20
+ let _trigger_decorators;
21
+ let _trigger_initializers = [];
22
+ let _trigger_extraInitializers = [];
23
+ let _accessibilityLabel_decorators;
24
+ let _accessibilityLabel_initializers = [];
25
+ let _accessibilityLabel_extraInitializers = [];
26
+ let _accessibilityBackLabel_decorators;
27
+ let _accessibilityBackLabel_initializers = [];
28
+ let _accessibilityBackLabel_extraInitializers = [];
29
+ return class SbbNavigationSectionElement extends _classSuper {
30
+ static {
31
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
32
+ _titleContent_decorators = [forceType(), property({
33
+ attribute: "title-content",
34
+ reflect: true,
35
+ converter: omitEmptyConverter
36
+ })];
37
+ _trigger_decorators = [idReference(), property()];
38
+ _accessibilityLabel_decorators = [forceType(), property({ attribute: "accessibility-label" })];
39
+ _accessibilityBackLabel_decorators = [forceType(), property({ attribute: "accessibility-back-label" })];
40
+ __esDecorate(this, null, _titleContent_decorators, {
41
+ kind: "accessor",
42
+ name: "titleContent",
43
+ static: false,
44
+ private: false,
45
+ access: {
46
+ has: (obj) => "titleContent" in obj,
47
+ get: (obj) => obj.titleContent,
48
+ set: (obj, value) => {
49
+ obj.titleContent = value;
50
+ }
51
+ },
52
+ metadata: _metadata
53
+ }, _titleContent_initializers, _titleContent_extraInitializers);
54
+ __esDecorate(this, null, _trigger_decorators, {
55
+ kind: "accessor",
56
+ name: "trigger",
57
+ static: false,
58
+ private: false,
59
+ access: {
60
+ has: (obj) => "trigger" in obj,
61
+ get: (obj) => obj.trigger,
62
+ set: (obj, value) => {
63
+ obj.trigger = value;
64
+ }
65
+ },
66
+ metadata: _metadata
67
+ }, _trigger_initializers, _trigger_extraInitializers);
68
+ __esDecorate(this, null, _accessibilityLabel_decorators, {
69
+ kind: "accessor",
70
+ name: "accessibilityLabel",
71
+ static: false,
72
+ private: false,
73
+ access: {
74
+ has: (obj) => "accessibilityLabel" in obj,
75
+ get: (obj) => obj.accessibilityLabel,
76
+ set: (obj, value) => {
77
+ obj.accessibilityLabel = value;
78
+ }
79
+ },
80
+ metadata: _metadata
81
+ }, _accessibilityLabel_initializers, _accessibilityLabel_extraInitializers);
82
+ __esDecorate(this, null, _accessibilityBackLabel_decorators, {
83
+ kind: "accessor",
84
+ name: "accessibilityBackLabel",
85
+ static: false,
86
+ private: false,
87
+ access: {
88
+ has: (obj) => "accessibilityBackLabel" in obj,
89
+ get: (obj) => obj.accessibilityBackLabel,
90
+ set: (obj, value) => {
91
+ obj.accessibilityBackLabel = value;
92
+ }
93
+ },
94
+ metadata: _metadata
95
+ }, _accessibilityBackLabel_initializers, _accessibilityBackLabel_extraInitializers);
96
+ if (_metadata) Object.defineProperty(this, Symbol.metadata, {
97
+ enumerable: true,
98
+ configurable: true,
99
+ writable: true,
100
+ value: _metadata
101
+ });
102
+ }
103
+ static {
104
+ this.elementName = "sbb-navigation-section";
105
+ }
106
+ static {
107
+ this.elementDependencies = [SbbTransparentButtonElement];
108
+ }
109
+ static {
110
+ this.styles = [boxSizingStyles, unsafeCSS(navigation_section_default)];
111
+ }
112
+ #titleContent_accessor_storage;
113
+ /**
114
+ * The label to be shown before the action list.
115
+ */
116
+ get titleContent() {
117
+ return this.#titleContent_accessor_storage;
118
+ }
119
+ set titleContent(value) {
120
+ this.#titleContent_accessor_storage = value;
121
+ }
122
+ #trigger_accessor_storage;
123
+ /**
124
+ * The element that will trigger the navigation section.
125
+ *
126
+ * For attribute usage, provide an id reference.
127
+ */
128
+ get trigger() {
129
+ return this.#trigger_accessor_storage;
130
+ }
131
+ set trigger(value) {
132
+ this.#trigger_accessor_storage = value;
133
+ }
134
+ #accessibilityLabel_accessor_storage;
135
+ /**
136
+ * This will be forwarded as aria-label to the nav element and is read as a title of the navigation-section.
137
+ */
138
+ get accessibilityLabel() {
139
+ return this.#accessibilityLabel_accessor_storage;
140
+ }
141
+ set accessibilityLabel(value) {
142
+ this.#accessibilityLabel_accessor_storage = value;
143
+ }
144
+ #accessibilityBackLabel_accessor_storage;
145
+ /**
146
+ * This will be forwarded as aria-label to the back button element.
147
+ */
148
+ get accessibilityBackLabel() {
149
+ return this.#accessibilityBackLabel_accessor_storage;
150
+ }
151
+ set accessibilityBackLabel(value) {
152
+ this.#accessibilityBackLabel_accessor_storage = value;
153
+ }
154
+ /** The state of the component. */
155
+ set state(state) {
156
+ super.state = state;
157
+ this.internals.ariaHidden = this.state !== "opened" ? "true" : null;
158
+ }
159
+ get state() {
160
+ return super.state;
161
+ }
162
+ constructor() {
163
+ super();
164
+ this.#titleContent_accessor_storage = __runInitializers(this, _titleContent_initializers, "");
165
+ this.#trigger_accessor_storage = (__runInitializers(this, _titleContent_extraInitializers), __runInitializers(this, _trigger_initializers, null));
166
+ this.#accessibilityLabel_accessor_storage = (__runInitializers(this, _trigger_extraInitializers), __runInitializers(this, _accessibilityLabel_initializers, ""));
167
+ this.#accessibilityBackLabel_accessor_storage = (__runInitializers(this, _accessibilityLabel_extraInitializers), __runInitializers(this, _accessibilityBackLabel_initializers, ""));
168
+ this._firstLevelNavigation = (__runInitializers(this, _accessibilityBackLabel_extraInitializers), null);
169
+ this._triggerElement = null;
170
+ this._language = new SbbLanguageController(this);
171
+ this._focusTrapController = new SbbFocusTrapController(this);
172
+ this._lastKeydownEvent = null;
173
+ this._mediaMatcherController = new SbbMediaMatcherController(this, { [SbbMediaQueryBreakpointSmallAndBelow]: (matches) => {
174
+ if (this.state !== "closed") this._setNavigationInert(matches);
175
+ } });
176
+ this._handleNavigationSectionClose = (event) => {
177
+ if (event.composedPath().filter((el) => el instanceof HTMLElement).some((el) => this._isCloseElement(el))) this.close();
178
+ };
179
+ this.addEventListener?.("keydown", (e) => {
180
+ this._lastKeydownEvent = e;
181
+ });
182
+ this.addEventListener?.("focusout", (e) => {
183
+ if (e.relatedTarget instanceof HTMLElement && !this.contains(e.relatedTarget) && sbbInputModalityDetector.mostRecentModality === "keyboard" && this._lastKeydownEvent?.key === "Tab" && this._triggerElement) {
184
+ const navigationElement = this.closest("sbb-navigation");
185
+ const focusableElements = Array.from(navigationElement?.querySelectorAll(IS_FOCUSABLE_QUERY) ?? []).filter((e) => !this.contains(e));
186
+ if (this._lastKeydownEvent.shiftKey || !focusableElements.length) this._triggerElement?.focus();
187
+ else (focusableElements[focusableElements.indexOf(this._triggerElement) + 1] ?? navigationElement.closeButton)?.focus();
188
+ }
189
+ });
190
+ }
191
+ /**
192
+ * Opens the navigation section on trigger click.
193
+ */
194
+ open() {
195
+ if (this.state !== "closed" || !this.hasUpdated || !this.dispatchBeforeOpenEvent()) return;
196
+ if (this._isNavigationButton(this._triggerElement)) this._triggerElement?.marker?.select(this._triggerElement);
197
+ this._closePreviousNavigationSection();
198
+ this.state = "opening";
199
+ /** @internal */
200
+ this.dispatchEvent(new Event("ɵnavigationsectionopening"));
201
+ this.startUpdate();
202
+ this.inert = true;
203
+ if (this._triggerElement) this._triggerElement.ariaExpanded = "true";
204
+ if (this._isZeroAnimationDuration()) this._handleOpening();
205
+ }
206
+ _isZeroAnimationDuration() {
207
+ return isZeroAnimationDuration(this, "--sbb-navigation-section-animation-duration");
208
+ }
209
+ _handleOpening() {
210
+ this.state = "opened";
211
+ this.inert = false;
212
+ this._attachWindowEvents();
213
+ this._setNavigationInert();
214
+ this._focusTrapController.focusInitialElement();
215
+ this._checkActiveAction();
216
+ this.completeUpdate();
217
+ this.dispatchOpenEvent();
218
+ }
219
+ _handleClosing() {
220
+ this.state = "closed";
221
+ this.shadowRoot?.querySelector(".sbb-navigation-section__container")?.scrollTo(0, 0);
222
+ this._windowEventsController?.abort();
223
+ this._resetLists();
224
+ this._setNavigationInert();
225
+ if (this._isBelowLarge() && this._triggerElement) this._triggerElement.focus();
226
+ this.completeUpdate();
227
+ this.dispatchCloseEvent();
228
+ }
229
+ _closePreviousNavigationSection() {
230
+ this._firstLevelNavigation?.activeNavigationSection?.close();
231
+ }
232
+ /**
233
+ * Closes the navigation section.
234
+ */
235
+ close() {
236
+ if (this.state !== "opened" || !this.dispatchBeforeCloseEvent()) return;
237
+ /** @internal */
238
+ this.dispatchEvent(new Event("ɵnavigationsectionclosing"));
239
+ this.state = "closing";
240
+ this.startUpdate();
241
+ this.inert = true;
242
+ if (this._triggerElement) this._triggerElement.ariaExpanded = "false";
243
+ if (this._isZeroAnimationDuration()) this._handleClosing();
244
+ }
245
+ _configureTrigger() {
246
+ if (this.trigger === this._triggerElement) return;
247
+ this._triggerAbortController?.abort();
248
+ removeAriaOverlayTriggerProperties(this._triggerElement);
249
+ this._triggerElement = this.trigger;
250
+ if (!this._triggerElement) return;
251
+ setAriaOverlayTriggerProperties(this, this._triggerElement, "menu", this.state);
252
+ this._triggerAbortController = new AbortController();
253
+ if (this._isNavigationButton(this._triggerElement)) this._triggerElement.connectedSection = this;
254
+ this._triggerElement.addEventListener("click", () => this.open(), { signal: this._triggerAbortController.signal });
255
+ this._firstLevelNavigation = this._triggerElement?.closest?.("sbb-navigation");
256
+ }
257
+ _isNavigationButton(trigger) {
258
+ return trigger?.localName === "sbb-navigation-button";
259
+ }
260
+ _setNavigationInert(isBelowLarge = this._isBelowLarge()) {
261
+ const navigationContent = this._firstLevelNavigation?.navigationContent;
262
+ if (navigationContent) navigationContent.inert = isBelowLarge && this.state !== "closed";
263
+ }
264
+ _onAnimationEnd(event) {
265
+ if (event.animationName === "open" && this.state === "opening") this._handleOpening();
266
+ else if (event.animationName === "close" && this.state === "closing") this._handleClosing();
267
+ }
268
+ _resetLists() {
269
+ Array.from(this.querySelectorAll(":is(:state(section-action),[state--section-action]):is(:state(action-active),[state--action-active])") ?? []).forEach((action) => ɵstateController(action).delete("action-active"));
270
+ }
271
+ _attachWindowEvents() {
272
+ this._windowEventsController = new AbortController();
273
+ window.addEventListener("keydown", (event) => this._onKeydownEvent(event), { signal: this._windowEventsController.signal });
274
+ window.addEventListener("click", this._handleNavigationSectionClose, { signal: this._windowEventsController.signal });
275
+ }
276
+ _isCloseElement(element) {
277
+ return element.nodeName === "A" || !element.hasAttribute("disabled") && (element.hasAttribute("sbb-navigation-close") || element.hasAttribute("sbb-navigation-section-close"));
278
+ }
279
+ _isBelowLarge() {
280
+ return this._mediaMatcherController.matches(SbbMediaQueryBreakpointSmallAndBelow) ?? false;
281
+ }
282
+ _onKeydownEvent(event) {
283
+ if (this.state === "opened" && event.key === "Escape") this.close();
284
+ }
285
+ _checkActiveAction() {
286
+ ɵstateController(this.querySelector(":is(sbb-navigation-button, sbb-navigation-link).sbb-active"))?.toggle("action-active", true);
287
+ }
288
+ connectedCallback() {
289
+ super.connectedCallback();
290
+ this.slot ||= "navigation-section";
291
+ if (this.hasUpdated) this._configureTrigger();
292
+ }
293
+ disconnectedCallback() {
294
+ super.disconnectedCallback();
295
+ this._triggerElement = null;
296
+ this._triggerAbortController?.abort();
297
+ this._windowEventsController?.abort();
298
+ }
299
+ requestUpdate(name, oldValue, options) {
300
+ super.requestUpdate(name, oldValue, options);
301
+ if (!isServer && (!name || name === "trigger") && this.hasUpdated) this._configureTrigger();
302
+ }
303
+ firstUpdated(changedProperties) {
304
+ super.firstUpdated(changedProperties);
305
+ this._configureTrigger();
306
+ }
307
+ render() {
308
+ return html`
309
+ <div class="sbb-navigation-section__container">
310
+ <nav
311
+ @animationend=${this._onAnimationEnd}
312
+ class="sbb-navigation-section"
313
+ aria-labelledby=${!this.accessibilityLabel ? "title" : nothing}
314
+ aria-label=${this.accessibilityLabel ? this.accessibilityLabel : nothing}
315
+ >
316
+ <div class="sbb-navigation-section__wrapper">
317
+ <div class="sbb-navigation-section__content">
318
+ <div class="sbb-navigation-section__header">
319
+ <!-- Back button -->
320
+ <sbb-transparent-button
321
+ id="sbb-navigation-section-back-button"
322
+ class="sbb-navigation-section__back"
323
+ aria-label=${this.accessibilityBackLabel || i18nGoBack[this._language.current]}
324
+ negative
325
+ size="m"
326
+ icon-name="chevron-small-left-small"
327
+ sbb-navigation-section-close
328
+ ></sbb-transparent-button>
329
+
330
+ <span class="sbb-navigation-section__title" id="title">
331
+ <slot name="title">${this.titleContent}</slot>
332
+ </span>
333
+ </div>
334
+ <slot></slot>
335
+ </div>
336
+ </div>
337
+ </nav>
338
+ </div>
339
+ `;
340
+ }
341
+ };
342
+ })();
343
+ //#endregion
344
+ export { SbbNavigationSectionElement as t };
345
+
346
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1zZWN0aW9uLmNvbXBvbmVudC1EQklObGFUWC5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLXNlY3Rpb24vbmF2aWdhdGlvbi1zZWN0aW9uLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL25hdmlnYXRpb24vbmF2aWdhdGlvbi1zZWN0aW9uL25hdmlnYXRpb24tc2VjdGlvbi5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICAtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoXG4gICAgLS1zYmItZGlzYWJsZS1hbmltYXRpb24tZHVyYXRpb24sXG4gICAgdmFyKC0tc2JiLWFuaW1hdGlvbi1kdXJhdGlvbi0zeClcbiAgKTtcbiAgLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvcjogdmFyKC0tc2JiLWZvY3VzLW91dGxpbmUtY29sb3ItZGFyayk7XG5cbiAgLy8gV2UgaGF2ZSB0byBwbGFjZSB0aGUgc3R5bGVzIG9uIHRoZSBob3N0IGFzIGl0IGhhcyB0byBiZSBhbGlnbmVkIG9uIHRoZSBncmlkIG9mIHRoZSBuYXZpZ2F0aW9uXG4gIGRpc3BsYXk6IHZhcigtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tZGlzcGxheSwgbm9uZSk7XG4gIHBvc2l0aW9uOiB2YXIoLS1zYmItbmF2aWdhdGlvbi1zZWN0aW9uLXBvc2l0aW9uKTtcbiAgZ3JpZC1jb2x1bW46IHZhcigtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tY29sdW1uKTtcbiAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICBpbnNldC1ibG9jay1zdGFydDogMDtcbiAgd2lkdGg6IHZhcigtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24td2lkdGgpO1xuICBoZWlnaHQ6IHZhcigtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24taGVpZ2h0KTtcbiAgei1pbmRleDogdmFyKC0tc2JiLW5hdmlnYXRpb24tei1pbmRleCwgdmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KSk7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBsYXJnZSkge1xuICAgIC0tc2JiLW5hdmlnYXRpb24tc2VjdGlvbi1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAgIC0tc2JiLWRpc2FibGUtYW5pbWF0aW9uLWR1cmF0aW9uLFxuICAgICAgdmFyKC0tc2JiLWFuaW1hdGlvbi1kdXJhdGlvbi00eClcbiAgICApO1xuICAgIC0tc2JiLW5hdmlnYXRpb24tc2VjdGlvbi13aWR0aDogY2FsYyhcbiAgICAgIDEwMCUgKyB2YXIoLS1zYmItbGF5b3V0LWJhc2Utb2Zmc2V0LXJlc3BvbnNpdmUpICsgdmFyKC0tc2JiLWdyaWQtYmFzZS1ndXR0ZXItcmVzcG9uc2l2ZSlcbiAgICApO1xuXG4gICAgdHJhbnNsYXRlOiBjYWxjKHZhcigtLXNiYi1ncmlkLWJhc2UtZ3V0dGVyLXJlc3BvbnNpdmUpICogLTEpIDA7XG4gIH1cbn1cblxuOmhvc3QoOnN0YXRlKHN0YXRlLW9wZW5lZCkpIHtcbiAgLS1zYmItbmF2aWdhdGlvbi1zZWN0aW9uLXBvaW50ZXItZXZlbnRzOiBhbGw7XG59XG5cbjpob3N0KDpzdGF0ZShzdGF0ZS1vcGVuaW5nKSkge1xuICAtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tcG9zaXRpb246IGFic29sdXRlO1xufVxuXG46aG9zdCg6aXMoOnN0YXRlKHN0YXRlLW9wZW5pbmcpLCA6c3RhdGUoc3RhdGUtY2xvc2luZykpKSB7XG4gIC0tc2JiLW5hdmlnYXRpb24tc2VjdGlvbi1wb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuOmhvc3QoOmlzKDpzdGF0ZShzdGF0ZS1vcGVuaW5nKSwgOnN0YXRlKHN0YXRlLW9wZW5lZCksIDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkpIHtcbiAgLS1zYmItbmF2aWdhdGlvbi1zZWN0aW9uLWRpc3BsYXk6IGJsb2NrO1xufVxuXG46OnNsb3R0ZWQoKikge1xuICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0tc2JiLW5hdmlnYXRpb24tc2VjdGlvbi1jb250ZW50LXBhZGRpbmctaW5saW5lLXN0YXJ0KTtcbn1cblxuLy8gQWx3YXlzIHBsYWNlIHRoZSBzYmItYnV0dG9uIG9uIGEgbmV3IHJvd1xuOjpzbG90dGVkKDpzdGF0ZShzYmItYnV0dG9uKSkge1xuICBncmlkLWNvbHVtbi1zdGFydDogMTtcbn1cblxuLnNiYi1uYXZpZ2F0aW9uLXNlY3Rpb25fX2NvbnRhaW5lciB7XG4gIHBvaW50ZXItZXZlbnRzOiB2YXIoLS1zYmItbmF2aWdhdGlvbi1zZWN0aW9uLXBvaW50ZXItZXZlbnRzKTtcbiAgaGVpZ2h0OiB2YXIoLS1zYmItbmF2aWdhdGlvbi1zZWN0aW9uLWhlaWdodCk7XG59XG5cbi5zYmItbmF2aWdhdGlvbi1zZWN0aW9uIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGNvbG9yOiB2YXIoLS1zYmItbmF2aWdhdGlvbi1jb2xvciwgdmFyKC0tc2JiLWNvbG9yLTEtbmVnYXRpdmUpKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgOmhvc3QoOmlzKDpzdGF0ZShzdGF0ZS1vcGVuaW5nKSwgOnN0YXRlKHN0YXRlLW9wZW5lZCksIDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkpICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgYW5pbWF0aW9uOiB7XG4gICAgICBuYW1lOiBvcGVuO1xuICAgICAgZHVyYXRpb246IHZhcigtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICAgIHRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLW5hdmlnYXRpb24tc2VjdGlvbi1hbmltYXRpb24tZWFzaW5nKTtcbiAgICB9XG4gIH1cblxuICA6aG9zdCg6c3RhdGUoc3RhdGUtY2xvc2luZykpICYge1xuICAgIGFuaW1hdGlvbi1uYW1lOiBjbG9zZTtcbiAgfVxuXG4gIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICBvdXRsaW5lOiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KSBzb2xpZCBDYW52YXNUZXh0O1xuICB9XG59XG5cbi5zYmItbmF2aWdhdGlvbi1zZWN0aW9uX193cmFwcGVyIHtcbiAgQGluY2x1ZGUgc2JiLnNjcm9sbGJhcigkbmVnYXRpdmU6IHRydWUpO1xuXG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZy1ibG9jazogdmFyKC0tc2JiLW5hdmlnYXRpb24tc2VjdGlvbi1wYWRkaW5nLWJsb2NrKTtcbiAgb3V0bGluZTogbm9uZTtcbiAgb3ZlcmZsb3cteTogYXV0bztcblxuICA6aG9zdCg6aXMoOnN0YXRlKHN0YXRlLW9wZW5pbmcpLCA6c3RhdGUoc3RhdGUtY2xvc2luZykpKSAmIHtcbiAgICAtLXNiYi1zY3JvbGxiYXItY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgc2Nyb2xsYmFyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4uc2JiLW5hdmlnYXRpb24tc2VjdGlvbl9faGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTF4KTtcbiAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXh4bCk7XG4gIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1zYmItbmF2aWdhdGlvbi1zZWN0aW9uLWNvbnRlbnQtcGFkZGluZy1pbmxpbmUtc3RhcnQpO1xuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogbGFyZ2UpIHtcbiAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDA7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XG4gIH1cblxuICBAaW5jbHVkZSBzYmIubXEoJGZyb206IHVsdHJhKSB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyA0O1xuICB9XG59XG5cbi5zYmItbmF2aWdhdGlvbi1zZWN0aW9uX19iYWNrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2xhdGU6IGNhbGMoKDEwMCUgKyB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0xeCkpICogLTEpIDA7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBsYXJnZSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnNiYi1uYXZpZ2F0aW9uLXNlY3Rpb25fX3RpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogdmFyKC0tc2JiLW5hdmlnYXRpb24tc2VjdGlvbi1mb250LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctaGVhZGluZyk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC1oZWFkaW5nKTtcbn1cblxuLnNiYi1uYXZpZ2F0aW9uLXNlY3Rpb25fX2NvbnRlbnQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgZ2FwOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLWwpIHZhcigtLXNiYi1ncmlkLWJhc2UtZ3V0dGVyLXJlc3BvbnNpdmUpO1xuICBwYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLW5hdmlnYXRpb24tc2VjdGlvbi1wYWRkaW5nLWlubGluZSk7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBsYXJnZSkge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNsYXRlOiAwIHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTN4KTtcbiAgICB0cmFuc2l0aW9uOiB7XG4gICAgICBkdXJhdGlvbjogdmFyKC0tc2JiLW5hdmlnYXRpb24tc2VjdGlvbi1hbmltYXRpb24tZHVyYXRpb24pO1xuICAgICAgZGVsYXk6IHZhcigtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICAgIHRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLW5hdmlnYXRpb24tc2VjdGlvbi1hbmltYXRpb24tZWFzaW5nKTtcbiAgICAgIHByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2xhdGU7XG4gICAgfVxuXG4gICAgOmhvc3QoOnN0YXRlKHN0YXRlLW9wZW5lZCkpICYge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zbGF0ZTogMCAwO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogdWx0cmEpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICB9XG5cbiAgOmhvc3QoOnN0YXRlKHN0YXRlLWNsb3NpbmcpKSAmIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG9wZW4ge1xuICBmcm9tIHtcbiAgICB0cmFuc2xhdGU6IHZhcigtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tdHJhbnNsYXRlKSAwO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zbGF0ZTogMCAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgY2xvc2Uge1xuICBmcm9tIHtcbiAgICB0cmFuc2xhdGU6IDAgMDtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2xhdGU6IHZhcigtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tdHJhbnNsYXRlKSAwO1xuICB9XG59XG4iLCJpbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBpc1NlcnZlcixcbiAgbm90aGluZyxcbiAgdHlwZSBQcm9wZXJ0eURlY2xhcmF0aW9uLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxuICB1bnNhZmVDU1MsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiVHJhbnNwYXJlbnRCdXR0b25FbGVtZW50IH0gZnJvbSAnLi4vLi4vYnV0dG9uLnB1cmUudHMnO1xuaW1wb3J0IHtcbiAgYm94U2l6aW5nU3R5bGVzLFxuICBmb3JjZVR5cGUsXG4gIGkxOG5Hb0JhY2ssXG4gIGlkUmVmZXJlbmNlLFxuICBJU19GT0NVU0FCTEVfUVVFUlksXG4gIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uLFxuICBvbWl0RW1wdHlDb252ZXJ0ZXIsXG4gIHJlbW92ZUFyaWFPdmVybGF5VHJpZ2dlclByb3BlcnRpZXMsXG4gIHR5cGUgU2JiRWxlbWVudFR5cGUsXG4gIFNiYkZvY3VzVHJhcENvbnRyb2xsZXIsXG4gIHNiYklucHV0TW9kYWxpdHlEZXRlY3RvcixcbiAgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLFxuICBTYmJNZWRpYU1hdGNoZXJDb250cm9sbGVyLFxuICBTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludFNtYWxsQW5kQmVsb3csXG4gIFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50LFxuICB0eXBlIFNiYk9wZW5lZENsb3NlZFN0YXRlLFxuICBTYmJVcGRhdGVTY2hlZHVsZXJNaXhpbixcbiAgc2V0QXJpYU92ZXJsYXlUcmlnZ2VyUHJvcGVydGllcyxcbiAgybVzdGF0ZUNvbnRyb2xsZXIsXG59IGZyb20gJy4uLy4uL2NvcmUudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJOYXZpZ2F0aW9uRWxlbWVudCB9IGZyb20gJy4uL25hdmlnYXRpb24vbmF2aWdhdGlvbi5jb21wb25lbnQudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJOYXZpZ2F0aW9uQnV0dG9uRWxlbWVudCB9IGZyb20gJy4uL25hdmlnYXRpb24tYnV0dG9uL25hdmlnYXRpb24tYnV0dG9uLmNvbXBvbmVudC50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYk5hdmlnYXRpb25MaW5rRWxlbWVudCB9IGZyb20gJy4uL25hdmlnYXRpb24tbGluay9uYXZpZ2F0aW9uLWxpbmsuY29tcG9uZW50LnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vbmF2aWdhdGlvbi1zZWN0aW9uLnNjc3M/aW5saW5lJztcblxuLyoqXG4gKiBJdCBjYW4gYmUgdXNlZCBhcyBhIGNvbnRhaW5lciBmb3IgYHNiYi1uYXZpZ2F0aW9uLWxpc3RgIHdpdGhpbiBhIGBzYmItbmF2aWdhdGlvbmAuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCBpbnRvIHRoZSBgc2JiLW5hdmlnYXRpb24tc2VjdGlvbmAuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJOYXZpZ2F0aW9uU2VjdGlvbkVsZW1lbnQgZXh0ZW5kcyBTYmJVcGRhdGVTY2hlZHVsZXJNaXhpbihTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLW5hdmlnYXRpb24tc2VjdGlvbic7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgZWxlbWVudERlcGVuZGVuY2llczogU2JiRWxlbWVudFR5cGVbXSA9IFtTYmJUcmFuc3BhcmVudEJ1dHRvbkVsZW1lbnRdO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICAvKipcbiAgICogVGhlIGxhYmVsIHRvIGJlIHNob3duIGJlZm9yZSB0aGUgYWN0aW9uIGxpc3QuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAndGl0bGUtY29udGVudCcsIHJlZmxlY3Q6IHRydWUsIGNvbnZlcnRlcjogb21pdEVtcHR5Q29udmVydGVyIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciB0aXRsZUNvbnRlbnQ6IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBUaGUgZWxlbWVudCB0aGF0IHdpbGwgdHJpZ2dlciB0aGUgbmF2aWdhdGlvbiBzZWN0aW9uLlxuICAgKlxuICAgKiBGb3IgYXR0cmlidXRlIHVzYWdlLCBwcm92aWRlIGFuIGlkIHJlZmVyZW5jZS5cbiAgICovXG4gIEBpZFJlZmVyZW5jZSgpXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBhY2Nlc3NvciB0cmlnZ2VyOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGlzIHdpbGwgYmUgZm9yd2FyZGVkIGFzIGFyaWEtbGFiZWwgdG8gdGhlIG5hdiBlbGVtZW50IGFuZCBpcyByZWFkIGFzIGEgdGl0bGUgb2YgdGhlIG5hdmlnYXRpb24tc2VjdGlvbi5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdhY2Nlc3NpYmlsaXR5LWxhYmVsJyB9KVxuICBwdWJsaWMgYWNjZXNzb3IgYWNjZXNzaWJpbGl0eUxhYmVsOiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgICogVGhpcyB3aWxsIGJlIGZvcndhcmRlZCBhcyBhcmlhLWxhYmVsIHRvIHRoZSBiYWNrIGJ1dHRvbiBlbGVtZW50LlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktYmFjay1sYWJlbCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlCYWNrTGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gIC8qKiBUaGUgc3RhdGUgb2YgdGhlIGNvbXBvbmVudC4gKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHNldCBzdGF0ZShzdGF0ZTogU2JiT3BlbmVkQ2xvc2VkU3RhdGUpIHtcbiAgICBzdXBlci5zdGF0ZSA9IHN0YXRlO1xuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFIaWRkZW4gPSB0aGlzLnN0YXRlICE9PSAnb3BlbmVkJyA/ICd0cnVlJyA6IG51bGw7XG4gIH1cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGdldCBzdGF0ZSgpOiBTYmJPcGVuZWRDbG9zZWRTdGF0ZSB7XG4gICAgcmV0dXJuIHN1cGVyLnN0YXRlO1xuICB9XG5cbiAgcHJpdmF0ZSBfZmlyc3RMZXZlbE5hdmlnYXRpb24/OiBTYmJOYXZpZ2F0aW9uRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF90cmlnZ2VyRWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfdHJpZ2dlckFib3J0Q29udHJvbGxlciE6IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfd2luZG93RXZlbnRzQ29udHJvbGxlciE6IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9mb2N1c1RyYXBDb250cm9sbGVyID0gbmV3IFNiYkZvY3VzVHJhcENvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX2xhc3RLZXlkb3duRXZlbnQ6IEtleWJvYXJkRXZlbnQgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfbWVkaWFNYXRjaGVyQ29udHJvbGxlciA9IG5ldyBTYmJNZWRpYU1hdGNoZXJDb250cm9sbGVyKHRoaXMsIHtcbiAgICBbU2JiTWVkaWFRdWVyeUJyZWFrcG9pbnRTbWFsbEFuZEJlbG93XTogKG1hdGNoZXMpID0+IHtcbiAgICAgIGlmICh0aGlzLnN0YXRlICE9PSAnY2xvc2VkJykge1xuICAgICAgICB0aGlzLl9zZXROYXZpZ2F0aW9uSW5lcnQobWF0Y2hlcyk7XG4gICAgICB9XG4gICAgfSxcbiAgfSk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Ligna2V5ZG93bicsIChlKSA9PiB7XG4gICAgICB0aGlzLl9sYXN0S2V5ZG93bkV2ZW50ID0gZTtcbiAgICB9KTtcblxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdmb2N1c291dCcsIChlKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIGUucmVsYXRlZFRhcmdldCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50ICYmXG4gICAgICAgICF0aGlzLmNvbnRhaW5zKGUucmVsYXRlZFRhcmdldCkgJiZcbiAgICAgICAgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLm1vc3RSZWNlbnRNb2RhbGl0eSA9PT0gJ2tleWJvYXJkJyAmJlxuICAgICAgICB0aGlzLl9sYXN0S2V5ZG93bkV2ZW50Py5rZXkgPT09ICdUYWInICYmXG4gICAgICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50XG4gICAgICApIHtcbiAgICAgICAgY29uc3QgbmF2aWdhdGlvbkVsZW1lbnQgPSB0aGlzLmNsb3Nlc3Q8U2JiTmF2aWdhdGlvbkVsZW1lbnQ+KCdzYmItbmF2aWdhdGlvbicpO1xuICAgICAgICBjb25zdCBmb2N1c2FibGVFbGVtZW50cyA9IEFycmF5LmZyb20oXG4gICAgICAgICAgbmF2aWdhdGlvbkVsZW1lbnQ/LnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTEVsZW1lbnQ+KElTX0ZPQ1VTQUJMRV9RVUVSWSkgPz8gW10sXG4gICAgICAgICkuZmlsdGVyKChlKSA9PiAhdGhpcy5jb250YWlucyhlKSk7XG5cbiAgICAgICAgaWYgKHRoaXMuX2xhc3RLZXlkb3duRXZlbnQuc2hpZnRLZXkgfHwgIWZvY3VzYWJsZUVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50Py5mb2N1cygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IHRyaWdnZXJJbmRleCA9IGZvY3VzYWJsZUVsZW1lbnRzLmluZGV4T2YodGhpcy5fdHJpZ2dlckVsZW1lbnQpO1xuICAgICAgICAgIChmb2N1c2FibGVFbGVtZW50c1t0cmlnZ2VySW5kZXggKyAxXSA/PyBuYXZpZ2F0aW9uRWxlbWVudCEuY2xvc2VCdXR0b24pPy5mb2N1cygpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogT3BlbnMgdGhlIG5hdmlnYXRpb24gc2VjdGlvbiBvbiB0cmlnZ2VyIGNsaWNrLlxuICAgKi9cbiAgcHVibGljIG9wZW4oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdjbG9zZWQnIHx8ICF0aGlzLmhhc1VwZGF0ZWQgfHwgIXRoaXMuZGlzcGF0Y2hCZWZvcmVPcGVuRXZlbnQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9pc05hdmlnYXRpb25CdXR0b24odGhpcy5fdHJpZ2dlckVsZW1lbnQpKSB7XG4gICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudD8ubWFya2VyPy5zZWxlY3QodGhpcy5fdHJpZ2dlckVsZW1lbnQpO1xuICAgIH1cblxuICAgIHRoaXMuX2Nsb3NlUHJldmlvdXNOYXZpZ2F0aW9uU2VjdGlvbigpO1xuICAgIHRoaXMuc3RhdGUgPSAnb3BlbmluZyc7XG4gICAgLyoqIEBpbnRlcm5hbCAqL1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ8m1bmF2aWdhdGlvbnNlY3Rpb25vcGVuaW5nJykpO1xuICAgIHRoaXMuc3RhcnRVcGRhdGUoKTtcbiAgICB0aGlzLmluZXJ0ID0gdHJ1ZTtcbiAgICBpZiAodGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50LmFyaWFFeHBhbmRlZCA9ICd0cnVlJztcbiAgICB9XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgb3BlbmVkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1plcm9BbmltYXRpb25EdXJhdGlvbih0aGlzLCAnLS1zYmItbmF2aWdhdGlvbi1zZWN0aW9uLWFuaW1hdGlvbi1kdXJhdGlvbicpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlT3BlbmluZygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5lZCc7XG4gICAgdGhpcy5pbmVydCA9IGZhbHNlO1xuICAgIHRoaXMuX2F0dGFjaFdpbmRvd0V2ZW50cygpO1xuICAgIHRoaXMuX3NldE5hdmlnYXRpb25JbmVydCgpO1xuICAgIHRoaXMuX2ZvY3VzVHJhcENvbnRyb2xsZXIuZm9jdXNJbml0aWFsRWxlbWVudCgpO1xuICAgIHRoaXMuX2NoZWNrQWN0aXZlQWN0aW9uKCk7XG4gICAgdGhpcy5jb21wbGV0ZVVwZGF0ZSgpO1xuICAgIHRoaXMuZGlzcGF0Y2hPcGVuRXZlbnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUNsb3NpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zZWQnO1xuICAgIHRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcignLnNiYi1uYXZpZ2F0aW9uLXNlY3Rpb25fX2NvbnRhaW5lcicpPy5zY3JvbGxUbygwLCAwKTtcbiAgICB0aGlzLl93aW5kb3dFdmVudHNDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuX3Jlc2V0TGlzdHMoKTtcbiAgICB0aGlzLl9zZXROYXZpZ2F0aW9uSW5lcnQoKTtcbiAgICBpZiAodGhpcy5faXNCZWxvd0xhcmdlKCkgJiYgdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuICAgIHRoaXMuY29tcGxldGVVcGRhdGUoKTtcbiAgICB0aGlzLmRpc3BhdGNoQ2xvc2VFdmVudCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2xvc2VQcmV2aW91c05hdmlnYXRpb25TZWN0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX2ZpcnN0TGV2ZWxOYXZpZ2F0aW9uPy5hY3RpdmVOYXZpZ2F0aW9uU2VjdGlvbj8uY2xvc2UoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIG5hdmlnYXRpb24gc2VjdGlvbi5cbiAgICovXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ29wZW5lZCcgfHwgIXRoaXMuZGlzcGF0Y2hCZWZvcmVDbG9zZUV2ZW50KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvKiogQGludGVybmFsICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnybVuYXZpZ2F0aW9uc2VjdGlvbmNsb3NpbmcnKSk7XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zaW5nJztcbiAgICB0aGlzLnN0YXJ0VXBkYXRlKCk7XG4gICAgdGhpcy5pbmVydCA9IHRydWU7XG4gICAgaWYgKHRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5hcmlhRXhwYW5kZWQgPSAnZmFsc2UnO1xuICAgIH1cblxuICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBjbG9zZWRgIHN0YXRlLlxuICAgIGlmICh0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHRyaWdnZXIgaXMgdmFsaWQgYW5kIGF0dGFjaCBjbGljayBldmVudCBsaXN0ZW5lcnMuXG4gIHByaXZhdGUgX2NvbmZpZ3VyZVRyaWdnZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudHJpZ2dlciA9PT0gdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHJlbW92ZUFyaWFPdmVybGF5VHJpZ2dlclByb3BlcnRpZXModGhpcy5fdHJpZ2dlckVsZW1lbnQpO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50ID0gdGhpcy50cmlnZ2VyO1xuXG4gICAgaWYgKCF0aGlzLl90cmlnZ2VyRWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNldEFyaWFPdmVybGF5VHJpZ2dlclByb3BlcnRpZXModGhpcywgdGhpcy5fdHJpZ2dlckVsZW1lbnQsICdtZW51JywgdGhpcy5zdGF0ZSk7XG4gICAgdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICBpZiAodGhpcy5faXNOYXZpZ2F0aW9uQnV0dG9uKHRoaXMuX3RyaWdnZXJFbGVtZW50KSkge1xuICAgICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQuY29ubmVjdGVkU2VjdGlvbiA9IHRoaXM7XG4gICAgfVxuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gdGhpcy5vcGVuKCksIHtcbiAgICAgIHNpZ25hbDogdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gICAgdGhpcy5fZmlyc3RMZXZlbE5hdmlnYXRpb24gPSB0aGlzLl90cmlnZ2VyRWxlbWVudD8uY2xvc2VzdD8uKCdzYmItbmF2aWdhdGlvbicpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNOYXZpZ2F0aW9uQnV0dG9uKHRyaWdnZXI6IEhUTUxFbGVtZW50IHwgbnVsbCk6IHRyaWdnZXIgaXMgU2JiTmF2aWdhdGlvbkJ1dHRvbkVsZW1lbnQge1xuICAgIHJldHVybiB0cmlnZ2VyPy5sb2NhbE5hbWUgPT09ICdzYmItbmF2aWdhdGlvbi1idXR0b24nO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0TmF2aWdhdGlvbkluZXJ0KGlzQmVsb3dMYXJnZTogYm9vbGVhbiA9IHRoaXMuX2lzQmVsb3dMYXJnZSgpKTogdm9pZCB7XG4gICAgY29uc3QgbmF2aWdhdGlvbkNvbnRlbnQgPSB0aGlzLl9maXJzdExldmVsTmF2aWdhdGlvbj8ubmF2aWdhdGlvbkNvbnRlbnQ7XG4gICAgaWYgKG5hdmlnYXRpb25Db250ZW50KSB7XG4gICAgICBuYXZpZ2F0aW9uQ29udGVudC5pbmVydCA9IGlzQmVsb3dMYXJnZSAmJiB0aGlzLnN0YXRlICE9PSAnY2xvc2VkJztcbiAgICB9XG4gIH1cblxuICAvLyBJbiByYXJlIGNhc2VzIGl0IGNhbiBiZSB0aGF0IHRoZSBhbmltYXRpb25FbmQgZXZlbnQgaXMgdHJpZ2dlcmVkIHR3aWNlLlxuICAvLyBUbyBhdm9pZCBlbnRlcmluZyBhIGNvcnJ1cHQgc3RhdGUsIGV4aXQgd2hlbiBzdGF0ZSBpcyBub3QgZXhwZWN0ZWQuXG4gIHByaXZhdGUgX29uQW5pbWF0aW9uRW5kKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5hbmltYXRpb25OYW1lID09PSAnb3BlbicgJiYgdGhpcy5zdGF0ZSA9PT0gJ29wZW5pbmcnKSB7XG4gICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgfSBlbHNlIGlmIChldmVudC5hbmltYXRpb25OYW1lID09PSAnY2xvc2UnICYmIHRoaXMuc3RhdGUgPT09ICdjbG9zaW5nJykge1xuICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3Jlc2V0TGlzdHMoKTogdm9pZCB7XG4gICAgQXJyYXkuZnJvbShcbiAgICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbDxTYmJOYXZpZ2F0aW9uQnV0dG9uRWxlbWVudCB8IFNiYk5hdmlnYXRpb25MaW5rRWxlbWVudD4oXG4gICAgICAgICc6c3RhdGUoc2VjdGlvbi1hY3Rpb24pOnN0YXRlKGFjdGlvbi1hY3RpdmUpJyxcbiAgICAgICkgPz8gW10sXG4gICAgKS5mb3JFYWNoKChhY3Rpb24pID0+IMm1c3RhdGVDb250cm9sbGVyKGFjdGlvbikuZGVsZXRlKCdhY3Rpb24tYWN0aXZlJykpO1xuICB9XG5cbiAgcHJpdmF0ZSBfYXR0YWNoV2luZG93RXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMuX3dpbmRvd0V2ZW50c0NvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHRoaXMuX29uS2V5ZG93bkV2ZW50KGV2ZW50KSwge1xuICAgICAgc2lnbmFsOiB0aGlzLl93aW5kb3dFdmVudHNDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcblxuICAgIC8vIENsb3NlIG5hdmlnYXRpb24gc2VjdGlvbiBvbiBhY3Rpb24gY2xpY2sgb3Igc2JiLW5hdmlnYXRpb24tc2VjdGlvbi1jbG9zZSBjbGlja1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuX2hhbmRsZU5hdmlnYXRpb25TZWN0aW9uQ2xvc2UsIHtcbiAgICAgIHNpZ25hbDogdGhpcy5fd2luZG93RXZlbnRzQ29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgY2xpY2sgd2FzIHRyaWdnZXJlZCBvbiBhbiBlbGVtZW50IHRoYXQgc2hvdWxkIGNsb3NlIHRoZSBzZWN0aW9uLlxuICBwcml2YXRlIF9oYW5kbGVOYXZpZ2F0aW9uU2VjdGlvbkNsb3NlID0gKGV2ZW50OiBFdmVudCk6IHZvaWQgPT4ge1xuICAgIGlmIChcbiAgICAgIGV2ZW50XG4gICAgICAgIC5jb21wb3NlZFBhdGgoKVxuICAgICAgICAuZmlsdGVyKChlbCkgPT4gZWwgaW5zdGFuY2VvZiBIVE1MRWxlbWVudClcbiAgICAgICAgLnNvbWUoKGVsKSA9PiB0aGlzLl9pc0Nsb3NlRWxlbWVudChlbCkpXG4gICAgKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgX2lzQ2xvc2VFbGVtZW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIGVsZW1lbnQubm9kZU5hbWUgPT09ICdBJyB8fFxuICAgICAgKCFlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSAmJlxuICAgICAgICAoZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ3NiYi1uYXZpZ2F0aW9uLWNsb3NlJykgfHxcbiAgICAgICAgICBlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnc2JiLW5hdmlnYXRpb24tc2VjdGlvbi1jbG9zZScpKSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNCZWxvd0xhcmdlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9tZWRpYU1hdGNoZXJDb250cm9sbGVyLm1hdGNoZXMoU2JiTWVkaWFRdWVyeUJyZWFrcG9pbnRTbWFsbEFuZEJlbG93KSA/PyBmYWxzZTtcbiAgfVxuXG4gIC8vIENsb3NlcyB0aGUgbmF2aWdhdGlvbiBvbiBcIkVzY1wiIGtleSBwcmVzc2VkLlxuICBwcml2YXRlIF9vbktleWRvd25FdmVudChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXRlID09PSAnb3BlbmVkJyAmJiBldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfY2hlY2tBY3RpdmVBY3Rpb24oKTogdm9pZCB7XG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMucXVlcnlTZWxlY3RvcjxTYmJOYXZpZ2F0aW9uQnV0dG9uRWxlbWVudCB8IFNiYk5hdmlnYXRpb25MaW5rRWxlbWVudD4oXG4gICAgICAnOmlzKHNiYi1uYXZpZ2F0aW9uLWJ1dHRvbiwgc2JiLW5hdmlnYXRpb24tbGluaykuc2JiLWFjdGl2ZScsXG4gICAgKTtcbiAgICDJtXN0YXRlQ29udHJvbGxlcihlbGVtZW50KT8udG9nZ2xlKCdhY3Rpb24tYWN0aXZlJywgdHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLnNsb3QgfHw9ICduYXZpZ2F0aW9uLXNlY3Rpb24nO1xuICAgIGlmICh0aGlzLmhhc1VwZGF0ZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZ3VyZVRyaWdnZXIoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCA9IG51bGw7XG4gICAgdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl93aW5kb3dFdmVudHNDb250cm9sbGVyPy5hYm9ydCgpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlcXVlc3RVcGRhdGUoXG4gICAgbmFtZT86IFByb3BlcnR5S2V5LFxuICAgIG9sZFZhbHVlPzogdW5rbm93bixcbiAgICBvcHRpb25zPzogUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgKTogdm9pZCB7XG4gICAgc3VwZXIucmVxdWVzdFVwZGF0ZShuYW1lLCBvbGRWYWx1ZSwgb3B0aW9ucyk7XG5cbiAgICBpZiAoIWlzU2VydmVyICYmICghbmFtZSB8fCBuYW1lID09PSAndHJpZ2dlcicpICYmIHRoaXMuaGFzVXBkYXRlZCkge1xuICAgICAgdGhpcy5fY29uZmlndXJlVHJpZ2dlcigpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgICB0aGlzLl9jb25maWd1cmVUcmlnZ2VyKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItbmF2aWdhdGlvbi1zZWN0aW9uX19jb250YWluZXJcIj5cbiAgICAgICAgPG5hdlxuICAgICAgICAgIEBhbmltYXRpb25lbmQ9JHt0aGlzLl9vbkFuaW1hdGlvbkVuZH1cbiAgICAgICAgICBjbGFzcz1cInNiYi1uYXZpZ2F0aW9uLXNlY3Rpb25cIlxuICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT0keyF0aGlzLmFjY2Vzc2liaWxpdHlMYWJlbCA/ICd0aXRsZScgOiBub3RoaW5nfVxuICAgICAgICAgIGFyaWEtbGFiZWw9JHt0aGlzLmFjY2Vzc2liaWxpdHlMYWJlbCA/IHRoaXMuYWNjZXNzaWJpbGl0eUxhYmVsIDogbm90aGluZ31cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItbmF2aWdhdGlvbi1zZWN0aW9uX193cmFwcGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLW5hdmlnYXRpb24tc2VjdGlvbl9fY29udGVudFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLW5hdmlnYXRpb24tc2VjdGlvbl9faGVhZGVyXCI+XG4gICAgICAgICAgICAgICAgPCEtLSBCYWNrIGJ1dHRvbiAtLT5cbiAgICAgICAgICAgICAgICA8c2JiLXRyYW5zcGFyZW50LWJ1dHRvblxuICAgICAgICAgICAgICAgICAgaWQ9XCJzYmItbmF2aWdhdGlvbi1zZWN0aW9uLWJhY2stYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2JiLW5hdmlnYXRpb24tc2VjdGlvbl9fYmFja1wiXG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPSR7dGhpcy5hY2Nlc3NpYmlsaXR5QmFja0xhYmVsIHx8IGkxOG5Hb0JhY2tbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19XG4gICAgICAgICAgICAgICAgICBuZWdhdGl2ZVxuICAgICAgICAgICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgICAgICAgICAgaWNvbi1uYW1lPVwiY2hldnJvbi1zbWFsbC1sZWZ0LXNtYWxsXCJcbiAgICAgICAgICAgICAgICAgIHNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tY2xvc2VcbiAgICAgICAgICAgICAgICA+PC9zYmItdHJhbnNwYXJlbnQtYnV0dG9uPlxuXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItbmF2aWdhdGlvbi1zZWN0aW9uX190aXRsZVwiIGlkPVwidGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgIDxzbG90IG5hbWU9XCJ0aXRsZVwiPiR7dGhpcy50aXRsZUNvbnRlbnR9PC9zbG90PlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25hdj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1uYXZpZ2F0aW9uLXNlY3Rpb24nOiBTYmJOYXZpZ2F0aW9uU2VjdGlvbkVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7SUM2Q2EscUNBQTJCO21CQUFTLHdCQUF3Qix3QkFBd0I7Ozs7Ozs7Ozs7Ozs7Y0FBcEYsb0NBQW9DLFlB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
@@ -3,7 +3,7 @@ import { SbbNavigationButtonElement } from "./navigation/navigation-button/navig
3
3
  import { SbbNavigationLinkElement } from "./navigation/navigation-link/navigation-link.component.js";
4
4
  import { t as SbbNavigationListElement } from "./navigation-list.component-CQ4q671G.js";
5
5
  import { t as SbbNavigationMarkerElement } from "./navigation-marker.component-D7ks8vbC.js";
6
- import { t as SbbNavigationSectionElement } from "./navigation-section.component-t36xyaq4.js";
6
+ import { t as SbbNavigationSectionElement } from "./navigation-section.component-DBINlaTX.js";
7
7
  import { t as SbbNavigationElement } from "./navigation.component-Djm0PFOA.js";
8
8
  import "./navigation.pure.js";
9
9
  //#region src/elements/navigation.ts
@@ -3,6 +3,6 @@ import { SbbNavigationButtonElement } from "./navigation/navigation-button/navig
3
3
  import { SbbNavigationLinkElement } from "./navigation/navigation-link/navigation-link.component.js";
4
4
  import { t as SbbNavigationListElement } from "./navigation-list.component-CQ4q671G.js";
5
5
  import { t as SbbNavigationMarkerElement } from "./navigation-marker.component-D7ks8vbC.js";
6
- import { t as SbbNavigationSectionElement } from "./navigation-section.component-t36xyaq4.js";
6
+ import { t as SbbNavigationSectionElement } from "./navigation-section.component-DBINlaTX.js";
7
7
  import { t as SbbNavigationElement } from "./navigation.component-Djm0PFOA.js";
8
8
  export { SbbNavigationActionCommonElementMixin, SbbNavigationButtonElement, SbbNavigationElement, SbbNavigationLinkElement, SbbNavigationListElement, SbbNavigationMarkerElement, SbbNavigationSectionElement };
@@ -1,2 +1,2 @@
1
- import { t as SbbTeaserElement } from "../teaser.component-C7uXEaPK.js";
1
+ import { t as SbbTeaserElement } from "../teaser.component-8cqR7wx4.js";
2
2
  export { SbbTeaserElement };
@@ -1,2 +1,2 @@
1
- import { n as teaserProductCommonStyle, t as SbbTeaserProductCommonElementMixin } from "../../teaser-product-common-DasV_SDa.js";
1
+ import { n as teaserProductCommonStyle, t as SbbTeaserProductCommonElementMixin } from "../../teaser-product-common-Q9KK6514.js";
2
2
  export { SbbTeaserProductCommonElementMixin, teaserProductCommonStyle };
@@ -1,2 +1,2 @@
1
- import { t as SbbTeaserProductElement } from "../../teaser-product.component-CB6fOX7T.js";
1
+ import { t as SbbTeaserProductElement } from "../../teaser-product.component-C5wV0a_c.js";
2
2
  export { SbbTeaserProductElement };
@@ -0,0 +1,78 @@
1
+ import { __esDecorate, __runInitializers } from "tslib";
2
+ import { html, unsafeCSS } from "lit";
3
+ import { property } from "lit/decorators.js";
4
+ import { SbbNegativeMixin } from "./core.js";
5
+ //#endregion
6
+ //#region src/elements/teaser-product/common/teaser-product-common.ts
7
+ var teaserProductCommonStyle = unsafeCSS(":host {\n --sbb-teaser-product-background: var(--sbb-teaser-product-background-color);\n display: block;\n}\n@media (min-width: calc(64rem)) {\n :host {\n --sbb-teaser-product-content-min-height: calc(\n var(--sbb-teaser-product-min-height) - 2 * var(--sbb-teaser-product-container-spacing)\n );\n --sbb-teaser-product-background: linear-gradient(\n var(--sbb-teaser-product-background-gradient-direction),\n var(--sbb-teaser-product-background-color) var(--sbb-teaser-product-background-gradient-start),\n transparent var(--sbb-teaser-product-background-gradient-end)\n );\n }\n}\n\n:host([negative]) {\n --sbb-teaser-product-background-color: var(--sbb-background-color-1-negative);\n --sbb-teaser-product-content-color: var(--sbb-color-4-negative);\n --sbb-teaser-product-footer-color: var(--sbb-color-4-negative);\n --sbb-focus-outline-color: var(--sbb-focus-outline-color-dark);\n --sbb-title-color: var(--sbb-color-3-negative);\n}\n\n:host([image-alignment=before]) {\n --sbb-teaser-product-background-gradient-direction: to left;\n}\n\n:host(:not(:is(:state(slotted-footnote),[state--slotted-footnote]))) {\n --sbb-teaser-product-footer-padding-block-start: 0;\n}\n\n.sbb-teaser-product__image-container {\n overflow: hidden;\n border-radius: var(--sbb-teaser-product-border-radius) var(--sbb-teaser-product-border-radius) 0 0;\n}\n@media (min-width: calc(64rem)) {\n .sbb-teaser-product__image-container {\n position: absolute;\n inset: 0;\n border-radius: var(--sbb-teaser-product-border-radius);\n }\n}\n\n::slotted(p.sbb-teaser-product--spacing) {\n margin: 0;\n}\n\n::slotted(sbb-title.sbb-teaser-product--spacing) {\n margin-block-start: 0;\n}\n\n::slotted(:is(sbb-action-group, :is(:state(action),[state--action])).sbb-teaser-product--spacing) {\n margin-block-start: var(--sbb-spacing-responsive-xxs);\n}\n\n::slotted([slot=image]) {\n display: flex;\n width: 100%;\n height: 100%;\n}\n\n@media (forced-colors: active) {\n .sbb-teaser-product__root::after {\n content: \"\";\n position: absolute;\n display: block;\n inset: 0;\n pointer-events: none;\n border: var(--sbb-border-width-2x) solid CanvasText;\n border-radius: var(--sbb-teaser-product-border-radius);\n }\n}\n\n.sbb-action-base {\n display: block;\n position: relative;\n text-decoration: none;\n}\n\n.sbb-teaser-product__container {\n background: var(--sbb-teaser-product-background);\n border-radius: 0 0 var(--sbb-teaser-product-border-radius) var(--sbb-teaser-product-border-radius);\n padding-block: var(--sbb-teaser-product-container-padding-block);\n padding-inline: var(--sbb-teaser-product-container-padding-inline);\n}\n@media (min-width: calc(64rem)) {\n .sbb-teaser-product__container {\n display: grid;\n grid: \"content .\" 1fr \"footnote .\" auto/1fr 1fr;\n column-gap: var(--sbb-spacing-responsive-xxl);\n border-radius: var(--sbb-teaser-product-border-radius);\n position: relative;\n }\n :host([image-alignment=before]) .sbb-teaser-product__container {\n grid-template-areas: \". content\" \". footnote\";\n }\n}\n\n.sbb-teaser-product__content {\n grid-area: content;\n align-self: center;\n margin: 0;\n color: var(--sbb-teaser-product-content-color);\n min-height: var(--sbb-teaser-product-content-min-height, 0);\n align-content: var(--sbb-teaser-product-content-align-content, normal);\n}\n\n.sbb-teaser-product__footnote {\n grid-area: footnote;\n padding-block: var(--sbb-teaser-product-footer-padding-block-start) var(--sbb-teaser-product-footer-padding-block-end);\n color: var(--sbb-teaser-product-footer-color);\n font-size: var(--sbb-teaser-product-footer-font-size);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n min-height: var(--sbb-teaser-product-footer-min-height, 0);\n}");
8
+ var SbbTeaserProductCommonElementMixin = (superClass) => {
9
+ return (() => {
10
+ let _classSuper = SbbNegativeMixin(superClass);
11
+ let _imageAlignment_decorators;
12
+ let _imageAlignment_initializers = [];
13
+ let _imageAlignment_extraInitializers = [];
14
+ return class SbbTeaserProductCommonElement extends _classSuper {
15
+ static {
16
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
17
+ _imageAlignment_decorators = [property({
18
+ attribute: "image-alignment",
19
+ reflect: true
20
+ })];
21
+ __esDecorate(this, null, _imageAlignment_decorators, {
22
+ kind: "accessor",
23
+ name: "imageAlignment",
24
+ static: false,
25
+ private: false,
26
+ access: {
27
+ has: (obj) => "imageAlignment" in obj,
28
+ get: (obj) => obj.imageAlignment,
29
+ set: (obj, value) => {
30
+ obj.imageAlignment = value;
31
+ }
32
+ },
33
+ metadata: _metadata
34
+ }, _imageAlignment_initializers, _imageAlignment_extraInitializers);
35
+ if (_metadata) Object.defineProperty(this, Symbol.metadata, {
36
+ enumerable: true,
37
+ configurable: true,
38
+ writable: true,
39
+ value: _metadata
40
+ });
41
+ }
42
+ #imageAlignment_accessor_storage = __runInitializers(this, _imageAlignment_initializers, "after");
43
+ /**
44
+ * Whether the fully visible part of the image is aligned 'before' or 'after' the content.
45
+ * Only relevant starting from large breakpoint.
46
+ */
47
+ get imageAlignment() {
48
+ return this.#imageAlignment_accessor_storage;
49
+ }
50
+ set imageAlignment(value) {
51
+ this.#imageAlignment_accessor_storage = value;
52
+ }
53
+ renderTemplate() {
54
+ return html`
55
+ <div class="sbb-teaser-product__root">
56
+ <div class="sbb-teaser-product__image-container"><slot name="image"></slot></div>
57
+ <div class="sbb-teaser-product__container">
58
+ <span class="sbb-teaser-product__content">
59
+ <slot></slot>
60
+ </span>
61
+ <div class="sbb-teaser-product__footnote">
62
+ <slot name="footnote"></slot>
63
+ </div>
64
+ </div>
65
+ </div>
66
+ `;
67
+ }
68
+ constructor() {
69
+ super(...arguments);
70
+ __runInitializers(this, _imageAlignment_extraInitializers);
71
+ }
72
+ };
73
+ })();
74
+ };
75
+ //#endregion
76
+ export { teaserProductCommonStyle as n, SbbTeaserProductCommonElementMixin as t };
77
+
78
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVhc2VyLXByb2R1Y3QtY29tbW9uLVE5S0s2NTE0LmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90ZWFzZXItcHJvZHVjdC9jb21tb24vdGVhc2VyLXByb2R1Y3QtY29tbW9uLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RlYXNlci1wcm9kdWN0L2NvbW1vbi90ZWFzZXItcHJvZHVjdC1jb21tb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICAtLXNiYi10ZWFzZXItcHJvZHVjdC1iYWNrZ3JvdW5kOiB2YXIoLS1zYmItdGVhc2VyLXByb2R1Y3QtYmFja2dyb3VuZC1jb2xvcik7XG5cbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBsYXJnZSkge1xuICAgIC0tc2JiLXRlYXNlci1wcm9kdWN0LWNvbnRlbnQtbWluLWhlaWdodDogY2FsYyhcbiAgICAgIHZhcigtLXNiYi10ZWFzZXItcHJvZHVjdC1taW4taGVpZ2h0KSAtIDIgKiB2YXIoLS1zYmItdGVhc2VyLXByb2R1Y3QtY29udGFpbmVyLXNwYWNpbmcpXG4gICAgKTtcbiAgICAtLXNiYi10ZWFzZXItcHJvZHVjdC1iYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICB2YXIoLS1zYmItdGVhc2VyLXByb2R1Y3QtYmFja2dyb3VuZC1ncmFkaWVudC1kaXJlY3Rpb24pLFxuICAgICAgdmFyKC0tc2JiLXRlYXNlci1wcm9kdWN0LWJhY2tncm91bmQtY29sb3IpIHZhcigtLXNiYi10ZWFzZXItcHJvZHVjdC1iYWNrZ3JvdW5kLWdyYWRpZW50LXN0YXJ0KSxcbiAgICAgIHRyYW5zcGFyZW50IHZhcigtLXNiYi10ZWFzZXItcHJvZHVjdC1iYWNrZ3JvdW5kLWdyYWRpZW50LWVuZClcbiAgICApO1xuICB9XG59XG5cbjpob3N0KFtuZWdhdGl2ZV0pIHtcbiAgLS1zYmItdGVhc2VyLXByb2R1Y3QtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMS1uZWdhdGl2ZSk7XG4gIC0tc2JiLXRlYXNlci1wcm9kdWN0LWNvbnRlbnQtY29sb3I6IHZhcigtLXNiYi1jb2xvci00LW5lZ2F0aXZlKTtcbiAgLS1zYmItdGVhc2VyLXByb2R1Y3QtZm9vdGVyLWNvbG9yOiB2YXIoLS1zYmItY29sb3ItNC1uZWdhdGl2ZSk7XG4gIC0tc2JiLWZvY3VzLW91dGxpbmUtY29sb3I6IHZhcigtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yLWRhcmspO1xuICAtLXNiYi10aXRsZS1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLTMtbmVnYXRpdmUpO1xufVxuXG46aG9zdChbaW1hZ2UtYWxpZ25tZW50PSdiZWZvcmUnXSkge1xuICAtLXNiYi10ZWFzZXItcHJvZHVjdC1iYWNrZ3JvdW5kLWdyYWRpZW50LWRpcmVjdGlvbjogdG8gbGVmdDtcbn1cblxuOmhvc3QoOm5vdCg6c3RhdGUoc2xvdHRlZC1mb290bm90ZSkpKSB7XG4gIC0tc2JiLXRlYXNlci1wcm9kdWN0LWZvb3Rlci1wYWRkaW5nLWJsb2NrLXN0YXJ0OiAwO1xufVxuXG4uc2JiLXRlYXNlci1wcm9kdWN0X19pbWFnZS1jb250YWluZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC8vIFdlIGhhdmUgdG8gcmVtb3ZlIHRoZSBpbWFnZSBib3R0b20gYm9yZGVyLXJhZGl1cyB3aGVuIHN0YWNrZWRcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLXRlYXNlci1wcm9kdWN0LWJvcmRlci1yYWRpdXMpIHZhcigtLXNiYi10ZWFzZXItcHJvZHVjdC1ib3JkZXItcmFkaXVzKSAwIDA7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBsYXJnZSkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItdGVhc2VyLXByb2R1Y3QtYm9yZGVyLXJhZGl1cyk7XG4gIH1cbn1cblxuOjpzbG90dGVkKHAuc2JiLXRlYXNlci1wcm9kdWN0LS1zcGFjaW5nKSB7XG4gIG1hcmdpbjogMDtcbn1cblxuOjpzbG90dGVkKHNiYi10aXRsZS5zYmItdGVhc2VyLXByb2R1Y3QtLXNwYWNpbmcpIHtcbiAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xufVxuXG46OnNsb3R0ZWQoOmlzKHNiYi1hY3Rpb24tZ3JvdXAsIDpzdGF0ZShhY3Rpb24pKS5zYmItdGVhc2VyLXByb2R1Y3QtLXNwYWNpbmcpIHtcbiAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXh4cyk7XG59XG5cbjo6c2xvdHRlZChbc2xvdD0naW1hZ2UnXSkge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uc2JiLXRlYXNlci1wcm9kdWN0X19yb290IHtcbiAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgIC8vIEFwcGx5IGEgdmlzdWFsIGJvcmRlciBmb3IgZm9yY2VkIGNvbG9yIG1vZGVcbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaW5zZXQ6IDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGJvcmRlcjogdmFyKC0tc2JiLWJvcmRlci13aWR0aC0yeCkgc29saWQgQ2FudmFzVGV4dDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi10ZWFzZXItcHJvZHVjdC1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cbn1cblxuLnNiYi1hY3Rpb24tYmFzZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnNiYi10ZWFzZXItcHJvZHVjdF9fY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tc2JiLXRlYXNlci1wcm9kdWN0LWJhY2tncm91bmQpO1xuICBib3JkZXItcmFkaXVzOiAwIDAgdmFyKC0tc2JiLXRlYXNlci1wcm9kdWN0LWJvcmRlci1yYWRpdXMpIHZhcigtLXNiYi10ZWFzZXItcHJvZHVjdC1ib3JkZXItcmFkaXVzKTtcbiAgcGFkZGluZy1ibG9jazogdmFyKC0tc2JiLXRlYXNlci1wcm9kdWN0LWNvbnRhaW5lci1wYWRkaW5nLWJsb2NrKTtcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi10ZWFzZXItcHJvZHVjdC1jb250YWluZXItcGFkZGluZy1pbmxpbmUpO1xuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogbGFyZ2UpIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQ6XG4gICAgICAnY29udGVudCAuJyAxZnJcbiAgICAgICdmb290bm90ZSAuJyBhdXRvIC8gMWZyIDFmcjtcbiAgICBjb2x1bW4tZ2FwOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXh4bCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLXRlYXNlci1wcm9kdWN0LWJvcmRlci1yYWRpdXMpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIDpob3N0KFtpbWFnZS1hbGlnbm1lbnQ9J2JlZm9yZSddKSAmIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICAgICcuIGNvbnRlbnQnXG4gICAgICAgICcuIGZvb3Rub3RlJztcbiAgICB9XG4gIH1cbn1cblxuLnNiYi10ZWFzZXItcHJvZHVjdF9fY29udGVudCB7XG4gIGdyaWQtYXJlYTogY29udGVudDtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiB2YXIoLS1zYmItdGVhc2VyLXByb2R1Y3QtY29udGVudC1jb2xvcik7XG4gIG1pbi1oZWlnaHQ6IHZhcigtLXNiYi10ZWFzZXItcHJvZHVjdC1jb250ZW50LW1pbi1oZWlnaHQsIDApO1xuICBhbGlnbi1jb250ZW50OiB2YXIoLS1zYmItdGVhc2VyLXByb2R1Y3QtY29udGVudC1hbGlnbi1jb250ZW50LCBub3JtYWwpO1xufVxuXG4uc2JiLXRlYXNlci1wcm9kdWN0X19mb290bm90ZSB7XG4gIGdyaWQtYXJlYTogZm9vdG5vdGU7XG4gIHBhZGRpbmctYmxvY2s6IHZhcigtLXNiYi10ZWFzZXItcHJvZHVjdC1mb290ZXItcGFkZGluZy1ibG9jay1zdGFydClcbiAgICB2YXIoLS1zYmItdGVhc2VyLXByb2R1Y3QtZm9vdGVyLXBhZGRpbmctYmxvY2stZW5kKTtcbiAgY29sb3I6IHZhcigtLXNiYi10ZWFzZXItcHJvZHVjdC1mb290ZXItY29sb3IpO1xuICBmb250LXNpemU6IHZhcigtLXNiYi10ZWFzZXItcHJvZHVjdC1mb290ZXItZm9udC1zaXplKTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLXNiYi10eXBvLWxldHRlci1zcGFjaW5nLXRleHQpO1xuICBtaW4taGVpZ2h0OiB2YXIoLS1zYmItdGVhc2VyLXByb2R1Y3QtZm9vdGVyLW1pbi1oZWlnaHQsIDApO1xufVxuIiwiaW1wb3J0IHsgaHRtbCwgdHlwZSBUZW1wbGF0ZVJlc3VsdCwgdW5zYWZlQ1NTIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyB0eXBlIEFic3RyYWN0Q29uc3RydWN0b3IsIFNiYkFjdGlvbkJhc2VFbGVtZW50LCBTYmJOZWdhdGl2ZU1peGluIH0gZnJvbSAnLi4vLi4vY29yZS50cyc7XG5cbmltcG9ydCB0ZWFzZXJQcm9kdWN0Q29tbW9uU3R5bGVTdHJpbmcgZnJvbSAnLi90ZWFzZXItcHJvZHVjdC1jb21tb24uc2Nzcz9pbmxpbmUnO1xuXG5leHBvcnQgY29uc3QgdGVhc2VyUHJvZHVjdENvbW1vblN0eWxlID0gdW5zYWZlQ1NTKHRlYXNlclByb2R1Y3RDb21tb25TdHlsZVN0cmluZyk7XG5cbmV4cG9ydCBkZWNsYXJlIGNsYXNzIFNiYlRlYXNlclByb2R1Y3RDb21tb25FbGVtZW50TWl4aW5UeXBlIGV4dGVuZHMgU2JiTmVnYXRpdmVNaXhpbihcbiAgU2JiQWN0aW9uQmFzZUVsZW1lbnQsXG4pIHtcbiAgcHVibGljIGFjY2Vzc29yIGltYWdlQWxpZ25tZW50OiAnYWZ0ZXInIHwgJ2JlZm9yZSc7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJUZWFzZXJQcm9kdWN0Q29tbW9uRWxlbWVudE1peGluID0gPFxuICBUIGV4dGVuZHMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJBY3Rpb25CYXNlRWxlbWVudD4sXG4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJUZWFzZXJQcm9kdWN0Q29tbW9uRWxlbWVudE1peGluVHlwZT4gJiBUID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiVGVhc2VyUHJvZHVjdENvbW1vbkVsZW1lbnRcbiAgICBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oc3VwZXJDbGFzcylcbiAgICBpbXBsZW1lbnRzIFNiYlRlYXNlclByb2R1Y3RDb21tb25FbGVtZW50TWl4aW5UeXBlXG4gIHtcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBmdWxseSB2aXNpYmxlIHBhcnQgb2YgdGhlIGltYWdlIGlzIGFsaWduZWQgJ2JlZm9yZScgb3IgJ2FmdGVyJyB0aGUgY29udGVudC5cbiAgICAgKiBPbmx5IHJlbGV2YW50IHN0YXJ0aW5nIGZyb20gbGFyZ2UgYnJlYWtwb2ludC5cbiAgICAgKi9cbiAgICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdpbWFnZS1hbGlnbm1lbnQnLCByZWZsZWN0OiB0cnVlIH0pXG4gICAgcHVibGljIGFjY2Vzc29yIGltYWdlQWxpZ25tZW50OiAnYWZ0ZXInIHwgJ2JlZm9yZScgPSAnYWZ0ZXInO1xuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICAgIHJldHVybiBodG1sYFxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLXRlYXNlci1wcm9kdWN0X19yb290XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi10ZWFzZXItcHJvZHVjdF9faW1hZ2UtY29udGFpbmVyXCI+PHNsb3QgbmFtZT1cImltYWdlXCI+PC9zbG90PjwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItdGVhc2VyLXByb2R1Y3RfX2NvbnRhaW5lclwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdGVhc2VyLXByb2R1Y3RfX2NvbnRlbnRcIj5cbiAgICAgICAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi10ZWFzZXItcHJvZHVjdF9fZm9vdG5vdGVcIj5cbiAgICAgICAgICAgICAgPHNsb3QgbmFtZT1cImZvb3Rub3RlXCI+PC9zbG90PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgYDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIFNiYlRlYXNlclByb2R1Y3RDb21tb25FbGVtZW50IGFzIEFic3RyYWN0Q29uc3RydWN0b3I8U2JiVGVhc2VyUHJvZHVjdENvbW1vbkVsZW1lbnRNaXhpblR5cGU+ICZcbiAgICBUO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FDT0EsSUFBYSwyQkFBMkIsVUFBVSxndkhBQStCO0FBU2pGLElBQWEsc0NBR1gsZUFDbUU7QUE0Qm5FLGVBM0I0QztvQkFDbEMsaUJBQWlCLFdBQVc7Ozs7ZUFEdkIsc0NBQ0wsWUFBNEI7OztrQ0FPbkMsU0FBUztLQUFFLFdBQVc7S0FBbUIsU0FBUztLQUFNLENBQUMsQ0FBQTtBQUMxRCxpQkFBQSxNQUFBLE1BQUEsNEJBQUE7S0FBQSxNQUFBO0tBQUEsTUFBQTtLQUFBLFFBQUE7S0FBQSxTQUFBO0tBQUEsUUFBQTtNQUFBLE1BQUEsUUFBQSxvQkFBQTtNQUFBLE1BQUEsUUFBQSxJQUFnQjtNQUFjLE1BQUEsS0FBQSxVQUFBO0FBQUEsV0FBZCxpQkFBYzs7TUFBQTtLQUFBLFVBQUE7S0FBQSxFQUFBLDhCQUFBLGtDQUFBOzs7Ozs7OztHQUE5QixtQ0FBQSxrQkFBQSxNQUFBLDhCQUFxRCxRQUFPOzs7OztHQUE1RCxJQUFnQixpQkFBYztBQUFBLFdBQUEsTUFBQTs7R0FBOUIsSUFBZ0IsZUFBYyxPQUFBO0FBQUEsVUFBQSxrQ0FBQTs7R0FFWCxpQkFBYztBQUMvQixXQUFPLElBQUk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FlUiJ9
@@ -0,0 +1,44 @@
1
+ import { unsafeCSS } from "lit";
2
+ import { SbbLinkBaseElement, SbbScreenReaderOnlyElement, boxSizingStyles } from "./core.js";
3
+ import { html as html$1 } from "lit/static-html.js";
4
+ import { SbbTeaserProductCommonElementMixin, teaserProductCommonStyle } from "./teaser-product/common/teaser-product-common.js";
5
+ //#region src/elements/teaser-product/teaser-product/teaser-product.scss?inline
6
+ var teaser_product_default = "@media (forced-colors: active) {\n :host {\n --sbb-title-color: LinkText !important;\n --sbb-teaser-product-content-color: LinkText !important;\n --sbb-teaser-product-footer-color: LinkText !important;\n }\n}\n\n.sbb-teaser-product__wrapper {\n position: relative;\n}\n\n.sbb-teaser-product__root {\n pointer-events: none;\n}\n@media (forced-colors: active) {\n :host(:hover) .sbb-teaser-product__root::after {\n border-color: Highlight;\n }\n}\n\n.sbb-teaser-product {\n position: absolute;\n inset: 0;\n}\n.sbb-teaser-product: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-product-border-radius);\n}";
7
+ //#endregion
8
+ //#region src/elements/teaser-product/teaser-product/teaser-product.component.ts
9
+ /**
10
+ * Displays a text and a footnote, combined with an image, to tease a product
11
+ *
12
+ * @slot - Use this slot to provide the main content.
13
+ * @slot image - Use this slot to provide an image or a `sbb-image` as a background.
14
+ * @slot footnote - Use this slot to provide a footnote.
15
+ * @cssprop [--sbb-teaser-product-background-gradient-start=25%] - At which percentage the background should start getting transparent.
16
+ * @cssprop [--sbb-teaser-product-background-gradient-end=75%] - At which percentage the background should be fully transparent.
17
+ */
18
+ var SbbTeaserProductElement = class extends SbbTeaserProductCommonElementMixin(SbbLinkBaseElement) {
19
+ static {
20
+ this.elementName = "sbb-teaser-product";
21
+ }
22
+ static {
23
+ this.elementDependencies = [SbbScreenReaderOnlyElement];
24
+ }
25
+ static {
26
+ this.styles = [
27
+ boxSizingStyles,
28
+ teaserProductCommonStyle,
29
+ unsafeCSS(teaser_product_default)
30
+ ];
31
+ }
32
+ render() {
33
+ return html$1`
34
+ <div class="sbb-teaser-product__wrapper">
35
+ ${this.renderLink(html$1`<sbb-screen-reader-only>${this.accessibilityLabel}</sbb-screen-reader-only>`)}
36
+ ${this.renderTemplate()}
37
+ </div>
38
+ `;
39
+ }
40
+ };
41
+ //#endregion
42
+ export { SbbTeaserProductElement as t };
43
+
44
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVhc2VyLXByb2R1Y3QuY29tcG9uZW50LUM1d1YwYV9jLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90ZWFzZXItcHJvZHVjdC90ZWFzZXItcHJvZHVjdC90ZWFzZXItcHJvZHVjdC5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90ZWFzZXItcHJvZHVjdC90ZWFzZXItcHJvZHVjdC90ZWFzZXItcHJvZHVjdC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICAvLyBTaW11bGF0ZSBsaW5rIGNvbG9yIG9wdGljYWxseVxuICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgLS1zYmItdGl0bGUtY29sb3I6IExpbmtUZXh0ICFpbXBvcnRhbnQ7XG4gICAgLS1zYmItdGVhc2VyLXByb2R1Y3QtY29udGVudC1jb2xvcjogTGlua1RleHQgIWltcG9ydGFudDtcbiAgICAtLXNiYi10ZWFzZXItcHJvZHVjdC1mb290ZXItY29sb3I6IExpbmtUZXh0ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnNiYi10ZWFzZXItcHJvZHVjdF9fd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnNiYi10ZWFzZXItcHJvZHVjdF9fcm9vdCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICAmOjphZnRlciB7XG4gICAgICA6aG9zdCg6aG92ZXIpICYge1xuICAgICAgICBib3JkZXItY29sb3I6IEhpZ2hsaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnNiYi10ZWFzZXItcHJvZHVjdCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBAaW5jbHVkZSBzYmIuZm9jdXMtb3V0bGluZTtcblxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi10ZWFzZXItcHJvZHVjdC1ib3JkZXItcmFkaXVzKTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgdHlwZSBUZW1wbGF0ZVJlc3VsdCwgdW5zYWZlQ1NTIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwgfSBmcm9tICdsaXQvc3RhdGljLWh0bWwuanMnO1xuXG5pbXBvcnQge1xuICBib3hTaXppbmdTdHlsZXMsXG4gIHR5cGUgU2JiRWxlbWVudFR5cGUsXG4gIFNiYkxpbmtCYXNlRWxlbWVudCxcbiAgU2JiU2NyZWVuUmVhZGVyT25seUVsZW1lbnQsXG59IGZyb20gJy4uLy4uL2NvcmUudHMnO1xuaW1wb3J0IHtcbiAgU2JiVGVhc2VyUHJvZHVjdENvbW1vbkVsZW1lbnRNaXhpbixcbiAgdGVhc2VyUHJvZHVjdENvbW1vblN0eWxlLFxufSBmcm9tICcuLi9jb21tb24vdGVhc2VyLXByb2R1Y3QtY29tbW9uLnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vdGVhc2VyLXByb2R1Y3Quc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIERpc3BsYXlzIGEgdGV4dCBhbmQgYSBmb290bm90ZSwgY29tYmluZWQgd2l0aCBhbiBpbWFnZSwgdG8gdGVhc2UgYSBwcm9kdWN0XG4gKlxuICogQHNsb3QgLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgdGhlIG1haW4gY29udGVudC5cbiAqIEBzbG90IGltYWdlIC0gVXNlIHRoaXMgc2xvdCB0byBwcm92aWRlIGFuIGltYWdlIG9yIGEgYHNiYi1pbWFnZWAgYXMgYSBiYWNrZ3JvdW5kLlxuICogQHNsb3QgZm9vdG5vdGUgLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgYSBmb290bm90ZS5cbiAqIEBjc3Nwcm9wIFstLXNiYi10ZWFzZXItcHJvZHVjdC1iYWNrZ3JvdW5kLWdyYWRpZW50LXN0YXJ0PTI1JV0gLSBBdCB3aGljaCBwZXJjZW50YWdlIHRoZSBiYWNrZ3JvdW5kIHNob3VsZCBzdGFydCBnZXR0aW5nIHRyYW5zcGFyZW50LlxuICogQGNzc3Byb3AgWy0tc2JiLXRlYXNlci1wcm9kdWN0LWJhY2tncm91bmQtZ3JhZGllbnQtZW5kPTc1JV0gLSBBdCB3aGljaCBwZXJjZW50YWdlIHRoZSBiYWNrZ3JvdW5kIHNob3VsZCBiZSBmdWxseSB0cmFuc3BhcmVudC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYlRlYXNlclByb2R1Y3RFbGVtZW50IGV4dGVuZHMgU2JiVGVhc2VyUHJvZHVjdENvbW1vbkVsZW1lbnRNaXhpbihcbiAgU2JiTGlua0Jhc2VFbGVtZW50LFxuKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItdGVhc2VyLXByb2R1Y3QnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIGVsZW1lbnREZXBlbmRlbmNpZXM6IFNiYkVsZW1lbnRUeXBlW10gPSBbU2JiU2NyZWVuUmVhZGVyT25seUVsZW1lbnRdO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbXG4gICAgYm94U2l6aW5nU3R5bGVzLFxuICAgIHRlYXNlclByb2R1Y3RDb21tb25TdHlsZSxcbiAgICB1bnNhZmVDU1Moc3R5bGUpLFxuICBdO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIC8vIFdlIHJlbmRlciB0aGUgY29udGVudCBvdXRzaWRlIHRoZSBhbmNob3IgdGFnIHRvIGFsbG93IHNjcmVlbiByZWFkZXJzIHRvIG5hdmlnYXRlIHRocm91Z2ggaXRcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItdGVhc2VyLXByb2R1Y3RfX3dyYXBwZXJcIj5cbiAgICAgICAgJHt0aGlzLnJlbmRlckxpbmsoXG4gICAgICAgICAgLy8gRm9yIFNFTywgd2UgYWRkIHRoZSBhY2Nlc3NpYmlsaXR5IGhpZGRlbiBhcyBoaWRkZW4gY29udGVudCBvZiB0aGUgbGlua1xuICAgICAgICAgIGh0bWxgPHNiYi1zY3JlZW4tcmVhZGVyLW9ubHk+JHt0aGlzLmFjY2Vzc2liaWxpdHlMYWJlbH08L3NiYi1zY3JlZW4tcmVhZGVyLW9ubHk+YCxcbiAgICAgICAgKX1cbiAgICAgICAgJHt0aGlzLnJlbmRlclRlbXBsYXRlKCl9XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItdGVhc2VyLXByb2R1Y3QnOiBTYmJUZWFzZXJQcm9kdWN0RWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQ3lCQSxJQUFhLDBCQUFiLGNBQTZDLG1DQUMzQyxtQkFDRCxDQUFBOztBQUNpQyxPQUFBLGNBQXNCOzs7QUFDL0IsT0FBQSxzQkFBd0MsQ0FBQywyQkFBMkI7OztBQUNwRSxPQUFBLFNBQXlCO0dBQzlDO0dBQ0E7R0FDQSxVQUFVLHVCQUFBO0dBQ1g7O0NBRWtCLFNBQU07QUFFdkIsU0FBTyxNQUFJOztVQUVMLEtBQUssV0FFTCxNQUFJLDJCQUEyQixLQUFLLG1CQUFrQiwyQkFDdkQsQ0FBQTtVQUNDLEtBQUssZ0JBQWdCLENBQUEifQ==
@@ -1,6 +1,6 @@
1
- import { n as teaserProductCommonStyle, t as SbbTeaserProductCommonElementMixin } from "./teaser-product-common-DasV_SDa.js";
1
+ import { n as teaserProductCommonStyle, t as SbbTeaserProductCommonElementMixin } from "./teaser-product-common-Q9KK6514.js";
2
2
  import { SbbTeaserProductStaticElement } from "./teaser-product/teaser-product-static/teaser-product-static.component.js";
3
- import { t as SbbTeaserProductElement } from "./teaser-product.component-CB6fOX7T.js";
3
+ import { t as SbbTeaserProductElement } from "./teaser-product.component-C5wV0a_c.js";
4
4
  import "./teaser-product.pure.js";
5
5
  //#region src/elements/teaser-product.ts
6
6
  /** @entrypoint */
@@ -1,4 +1,4 @@
1
- import { n as teaserProductCommonStyle, t as SbbTeaserProductCommonElementMixin } from "./teaser-product-common-DasV_SDa.js";
1
+ import { n as teaserProductCommonStyle, t as SbbTeaserProductCommonElementMixin } from "./teaser-product-common-Q9KK6514.js";
2
2
  import { SbbTeaserProductStaticElement } from "./teaser-product/teaser-product-static/teaser-product-static.component.js";
3
- import { t as SbbTeaserProductElement } from "./teaser-product.component-CB6fOX7T.js";
3
+ import { t as SbbTeaserProductElement } from "./teaser-product.component-C5wV0a_c.js";
4
4
  export { SbbTeaserProductCommonElementMixin, SbbTeaserProductElement, SbbTeaserProductStaticElement, teaserProductCommonStyle };