@sbb-esta/lyne-elements-dev 5.0.0-next.1-dev.1777534945 → 5.0.0-next.1-dev.1777543026

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 (144) hide show
  1. package/autocomplete/autocomplete-base-element.js +1 -1
  2. package/autocomplete/autocomplete.component.js +1 -1
  3. package/{autocomplete-base-element-CSCv_WVh.js → autocomplete-base-element-BiLyvcN-.js} +1 -1
  4. package/autocomplete.js +1 -1
  5. package/autocomplete.pure.js +1 -1
  6. package/core/styles/mixins/scrollbar.scss +0 -6
  7. package/core/styles/scrollbar.scss +19 -24
  8. package/core/styles/styles.js +2 -2
  9. package/core.css +0 -37
  10. package/core.js +2 -2
  11. package/custom-elements.json +66 -16
  12. package/development/autocomplete/autocomplete-base-element.js +1 -1
  13. package/development/autocomplete/autocomplete.component.js +1 -1
  14. package/development/{autocomplete-base-element-Bwkns3IL.js → autocomplete-base-element-BxBpn8_e.js} +2 -2
  15. package/development/autocomplete.js +1 -1
  16. package/development/autocomplete.pure.js +1 -1
  17. package/development/core/styles/styles.d.ts +1 -0
  18. package/development/core/styles/styles.d.ts.map +1 -1
  19. package/development/core/styles/styles.js +2 -2
  20. package/development/core.js +2 -2
  21. package/development/dialog/dialog-content/dialog-content.component.d.ts +1 -0
  22. package/development/dialog/dialog-content/dialog-content.component.d.ts.map +1 -1
  23. package/development/dialog/dialog-content/dialog-content.component.js +1 -1
  24. package/development/{dialog-content.component-B7Grxjk6.js → dialog-content.component-Bzt-PL6f.js} +10 -3
  25. package/development/dialog.js +1 -1
  26. package/development/dialog.pure.js +1 -1
  27. package/development/file-selector/common/file-selector-common.d.ts +1 -2
  28. package/development/file-selector/common/file-selector-common.d.ts.map +1 -1
  29. package/development/file-selector/common/file-selector-common.js +2 -2
  30. package/development/file-selector/file-selector/file-selector.component.d.ts +1 -2
  31. package/development/file-selector/file-selector/file-selector.component.d.ts.map +1 -1
  32. package/development/file-selector/file-selector/file-selector.component.js +3 -6
  33. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts.map +1 -1
  34. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  35. package/development/file-selector-common-BH_iIjcB.js +417 -0
  36. package/development/{file-selector-dropzone.component-DRUUWI1A.js → file-selector-dropzone.component-ZCanLwF-.js} +4 -8
  37. package/development/file-selector.js +3 -3
  38. package/development/file-selector.pure.js +3 -3
  39. package/development/map-container/map-container.component.d.ts.map +1 -1
  40. package/development/map-container/map-container.component.js +1 -1
  41. package/development/map-container.component-DoFCVBoh.js +180 -0
  42. package/development/map-container.js +1 -1
  43. package/development/map-container.pure.js +1 -1
  44. package/development/menu/menu/menu.component.d.ts.map +1 -1
  45. package/development/menu/menu/menu.component.js +1 -1
  46. package/development/menu.component-CDBUaD8s.js +369 -0
  47. package/development/menu.js +1 -1
  48. package/development/menu.pure.js +1 -1
  49. package/development/navigation/navigation/navigation.component.d.ts.map +1 -1
  50. package/development/navigation/navigation/navigation.component.js +1 -1
  51. package/development/navigation/navigation-section/navigation-section.component.d.ts.map +1 -1
  52. package/development/navigation/navigation-section/navigation-section.component.js +1 -1
  53. package/development/navigation-section.component-D3_XVwyt.js +350 -0
  54. package/development/navigation.component-Cco4llBt.js +319 -0
  55. package/development/navigation.js +2 -2
  56. package/development/navigation.pure.js +2 -2
  57. package/development/overlay/overlay.component.d.ts.map +1 -1
  58. package/development/overlay/overlay.component.js +1 -1
  59. package/development/overlay.component-DBzb0PdD.js +206 -0
  60. package/development/overlay.js +1 -1
  61. package/development/overlay.pure.js +1 -1
  62. package/development/popover/popover.component.d.ts +1 -0
  63. package/development/popover/popover.component.d.ts.map +1 -1
  64. package/development/popover/popover.component.js +1 -1
  65. package/development/popover.component-Dj0INQsI.js +564 -0
  66. package/development/popover.js +1 -1
  67. package/development/popover.pure.js +1 -1
  68. package/development/select/select.component.js +1 -1
  69. package/development/{select.component-C1Xfvvii.js → select.component-D_9pjl7T.js} +2 -2
  70. package/development/select.js +1 -1
  71. package/development/select.pure.js +1 -1
  72. package/development/sidebar/sidebar/sidebar.component.d.ts.map +1 -1
  73. package/development/sidebar/sidebar/sidebar.component.js +1 -1
  74. package/development/sidebar.component-CYLbI1Vp.js +356 -0
  75. package/development/sidebar.js +1 -1
  76. package/development/sidebar.pure.js +1 -1
  77. package/development/styles-B_IWjHc5.js +22 -0
  78. package/development/table/table-wrapper/table-wrapper.component.js +1 -1
  79. package/development/table-wrapper.component-D8IFPow6.js +119 -0
  80. package/development/table.js +1 -1
  81. package/development/table.pure.js +1 -1
  82. package/dialog/dialog-content/dialog-content.component.js +1 -1
  83. package/{dialog-content.component-are-UBx3.js → dialog-content.component-iRLHPKPb.js} +7 -2
  84. package/dialog.js +1 -1
  85. package/dialog.pure.js +1 -1
  86. package/file-selector/common/file-selector-common.js +2 -2
  87. package/file-selector/file-selector/file-selector.component.js +10 -13
  88. package/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  89. package/{file-selector-common-jpJmVqAw.js → file-selector-common-PcqPdsnN.js} +44 -38
  90. package/{file-selector-dropzone.component-DDRTu6p2.js → file-selector-dropzone.component-2XUfh1NC.js} +20 -24
  91. package/file-selector.js +5 -5
  92. package/file-selector.pure.js +4 -4
  93. package/map-container/map-container.component.js +1 -1
  94. package/{map-container.component-Btnl3n9d.js → map-container.component-5I5DW5dJ.js} +23 -16
  95. package/map-container.js +1 -1
  96. package/map-container.pure.js +1 -1
  97. package/menu/menu/menu.component.js +1 -1
  98. package/{menu.component-CpNMheMG.js → menu.component-Bd37u3Ps.js} +26 -22
  99. package/menu.js +1 -1
  100. package/menu.pure.js +1 -1
  101. package/navigation/navigation/navigation.component.js +1 -1
  102. package/navigation/navigation-section/navigation-section.component.js +1 -1
  103. package/{navigation-section.component-219JlVIe.js → navigation-section.component-B_0xi30L.js} +24 -20
  104. package/{navigation.component-gLrMCbh9.js → navigation.component-CmrLIeDB.js} +24 -20
  105. package/navigation.js +2 -2
  106. package/navigation.pure.js +2 -2
  107. package/off-brand-theme.css +33 -134
  108. package/overlay/overlay.component.js +1 -1
  109. package/overlay.component-D2jtCeeb.js +156 -0
  110. package/overlay.js +1 -1
  111. package/overlay.pure.js +1 -1
  112. package/package.json +2 -2
  113. package/popover/popover.component.js +1 -1
  114. package/{popover.component-DnY9obd7.js → popover.component-CiMeNnO-.js} +27 -24
  115. package/popover.js +1 -1
  116. package/popover.pure.js +1 -1
  117. package/safety-theme.css +33 -134
  118. package/scrollbar.css +33 -97
  119. package/select/select.component.js +1 -1
  120. package/{select.component-Bhvd_sUV.js → select.component-BXPU7X_X.js} +1 -1
  121. package/select.js +1 -1
  122. package/select.pure.js +1 -1
  123. package/sidebar/sidebar/sidebar.component.js +1 -1
  124. package/{sidebar.component-Dpf9jZ1P.js → sidebar.component-CeUPJaqy.js} +28 -21
  125. package/sidebar.js +1 -1
  126. package/sidebar.pure.js +1 -1
  127. package/standard-theme.css +33 -134
  128. package/styles-Cb4jdMeE.js +5 -0
  129. package/table/table-wrapper/table-wrapper.component.js +1 -1
  130. package/{table-wrapper.component-DGL8RaxF.js → table-wrapper.component-CZ90q3pY.js} +1 -1
  131. package/table.js +1 -1
  132. package/table.pure.js +1 -1
  133. package/development/file-selector-common-BwkZZzA0.js +0 -409
  134. package/development/map-container.component-BLF21LG7.js +0 -173
  135. package/development/menu.component-BpKGNICN.js +0 -365
  136. package/development/navigation-section.component-DumXFFfg.js +0 -346
  137. package/development/navigation.component-CpoBEP55.js +0 -315
  138. package/development/overlay.component-CC_quHYI.js +0 -206
  139. package/development/popover.component-DT-cfDqo.js +0 -561
  140. package/development/sidebar.component-DR2JGwnM.js +0 -349
  141. package/development/styles-6T7UvhxK.js +0 -18
  142. package/development/table-wrapper.component-CjMOENHV.js +0 -119
  143. package/overlay.component-B00EoAd5.js +0 -156
  144. package/styles-D5okOWF1.js +0 -5
@@ -0,0 +1,319 @@
1
+ import { __esDecorate, __runInitializers } from "tslib";
2
+ import { html, isServer, unsafeCSS } from "lit";
3
+ import { property, state } from "lit/decorators.js";
4
+ import { SbbEscapableOverlayController, SbbFocusTrapController, SbbInertController, SbbLanguageController, SbbOpenCloseBaseElement, SbbScrollHandler, SbbUpdateSchedulerMixin, boxSizingStyles, forceType, i18nCloseNavigation, idReference, isEventOnElement, isZeroAnimationDuration, removeAriaOverlayTriggerProperties, scrollbarStyles, setAriaOverlayTriggerProperties } from "./core.js";
5
+ import { SbbTransparentButtonElement } from "./button.pure.js";
6
+ import { ResizeController } from "@lit-labs/observers/resize-controller.js";
7
+ import { ref } from "lit/directives/ref.js";
8
+ //#region src/elements/navigation/navigation/navigation.scss?inline
9
+ var navigation_default = ":host {\n --sbb-navigation-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: none;\n position: fixed;\n inset: var(--sbb-navigation-inset);\n z-index: var(--sbb-navigation-z-index, var(--sbb-overlay-default-z-index));\n overflow: hidden;\n}\n@media (min-width: calc(64rem)) {\n :host {\n --sbb-navigation-animation-duration: var(\n --sbb-disable-animation-duration,\n var(--sbb-animation-duration-6x)\n );\n --sbb-navigation-width: calc(100% + var(--sbb-layout-base-offset-responsive));\n }\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 display: block;\n}\n\n:host(:is(:state(state-opened),[state--state-opened])) {\n --sbb-navigation-animation-easing: ease-out;\n}\n\n:host(:is(:is(:state(state-opened),[state--state-opened]), :is(:state(state-opening),[state--state-opening]))) {\n --sbb-navigation-backdrop-visibility: visible;\n --sbb-navigation-backdrop-pointer-events: all;\n}\n\n:host(:not(:is(:state(state-closed),[state--state-closed]))) {\n --sbb-navigation-inset: 0;\n --sbb-navigation-translate: none;\n}\n\n:host(:is(:state(state-closing),[state--state-closing])) {\n --sbb-navigation-backdrop-animation-name: backdrop-close;\n}\n\n:host(:is(:state(has-open-navigation-section),[state--has-open-navigation-section])) {\n --sbb-navigation-content-translate: -100% 0;\n}\n@media (min-width: calc(64rem)) {\n :host(:is(:state(has-open-navigation-section),[state--has-open-navigation-section])) {\n --sbb-navigation-expanded-width: 100dvw;\n --sbb-navigation-content-translate: 0;\n }\n}\n\n:host(:is(:state(resize-disable-animation),[state--resize-disable-animation])) {\n --sbb-disable-animation-duration: 0s;\n}\n\n.sbb-navigation__container {\n display: grid;\n gap: var(--sbb-grid-base-gutter-responsive);\n grid-template-columns: repeat(var(--sbb-grid-base-columns), 1fr);\n padding-inline: 0;\n pointer-events: none;\n translate: var(--sbb-navigation-translate);\n}\n@media (min-width: calc(64rem)) {\n .sbb-navigation__container {\n padding-inline: var(--sbb-layout-base-offset-responsive);\n }\n .sbb-navigation__container::before {\n transition-duration: var(--sbb-navigation-animation-duration);\n transition-timing-function: var(--sbb-navigation-animation-easing);\n transition-property: visibility;\n animation-name: var(--sbb-navigation-backdrop-animation-name);\n animation-duration: var(--sbb-navigation-animation-duration);\n animation-timing-function: var(--sbb-navigation-animation-easing);\n content: \"\";\n visibility: var(--sbb-navigation-backdrop-visibility, hidden);\n pointer-events: var(--sbb-navigation-backdrop-pointer-events, none);\n position: fixed;\n inset: var(--sbb-navigation-inset);\n background-color: var(--sbb-navigation-backdrop-color);\n }\n}\n\n.sbb-navigation {\n transition-duration: var(--sbb-navigation-animation-duration);\n transition-timing-function: var(--sbb-navigation-animation-easing);\n transition-property: width;\n display: none;\n width: var(--sbb-navigation-width);\n grid-column: var(--sbb-navigation-grid-column);\n padding: 0;\n margin: 0;\n position: relative;\n inset-inline-start: var(--sbb-navigation-inline-start, 0);\n inset-block-start: 0;\n border: none;\n pointer-events: none;\n height: var(--sbb-navigation-height);\n color: var(--sbb-navigation-color);\n background-color: var(--sbb-navigation-background-color);\n}\n.sbb-navigation::before {\n transition-duration: var(--sbb-navigation-animation-duration);\n transition-timing-function: var(--sbb-navigation-animation-easing);\n transition-property: width;\n content: \"\";\n position: absolute;\n width: var(--sbb-navigation-expanded-width);\n height: var(--sbb-navigation-height);\n background-color: var(--sbb-navigation-background-color);\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 {\n display: block;\n pointer-events: all;\n animation-name: open;\n animation-duration: var(--sbb-navigation-animation-duration);\n animation-timing-function: var(--sbb-navigation-animation-easing);\n}\n:host(:is(:state(state-closing),[state--state-closing])) .sbb-navigation {\n pointer-events: none;\n animation-name: close;\n}\n@media (forced-colors: active) {\n .sbb-navigation {\n outline: var(--sbb-border-width-1x) solid CanvasText;\n }\n}\n\n.sbb-navigation__wrapper {\n outline: none;\n}\n\n.sbb-navigation__header {\n transition-duration: var(--sbb-navigation-animation-duration);\n transition-timing-function: var(--sbb-navigation-animation-easing);\n transition-property: width;\n display: flex;\n justify-content: flex-end;\n position: absolute;\n width: var(--sbb-navigation-expanded-width);\n pointer-events: none;\n padding: var(--sbb-spacing-responsive-xs);\n z-index: calc(var(--sbb-navigation-z-index, var(--sbb-overlay-default-z-index)) + 1);\n}\n\n.sbb-navigation__close {\n pointer-events: all;\n}\n\n.sbb-navigation__content {\n transition-duration: var(--sbb-navigation-animation-duration);\n transition-timing-function: var(--sbb-navigation-animation-easing);\n transition-property: translate;\n display: flex;\n flex-direction: column;\n gap: var(--sbb-navigation-content-gap);\n position: relative;\n height: var(--sbb-navigation-height);\n padding-inline: var(--sbb-navigation-padding-inline);\n padding-block: var(--sbb-navigation-padding-block-start) var(--sbb-navigation-padding-block-end);\n overflow-y: auto;\n translate: var(--sbb-navigation-content-translate);\n}\n\n::slotted(:first-child) {\n margin-block-start: var(--sbb-navigation-list-margin-block-start);\n}\n\n@keyframes open {\n from {\n translate: -100% 0;\n }\n to {\n translate: 0;\n }\n}\n@keyframes close {\n from {\n translate: 0;\n }\n to {\n translate: -100% 0;\n }\n}\n@keyframes backdrop-open {\n from {\n background-color: transparent;\n }\n}\n@keyframes backdrop-close {\n to {\n background-color: transparent;\n }\n}";
10
+ //#endregion
11
+ //#region src/elements/navigation/navigation/navigation.component.ts
12
+ var DEBOUNCE_TIME = 150;
13
+ /**
14
+ * It displays a navigation menu, wrapping one or more `sbb-navigation-*` components.
15
+ *
16
+ * @slot - Use the unnamed slot to add `sbb-navigation-button`/`sbb-navigation-link` elements into the sbb-navigation menu.
17
+ * @cssprop [--sbb-navigation-z-index=var(--sbb-overlay-default-z-index)] - To specify a custom stack order,
18
+ * the `z-index` can be overridden by defining this CSS variable. The default `z-index` of the
19
+ * component is set to `var(--sbb-overlay-default-z-index)` with a value of `1000`.
20
+ */
21
+ var SbbNavigationElement = (() => {
22
+ let _classSuper = SbbUpdateSchedulerMixin(SbbOpenCloseBaseElement);
23
+ let _trigger_decorators;
24
+ let _trigger_initializers = [];
25
+ let _trigger_extraInitializers = [];
26
+ let _accessibilityCloseLabel_decorators;
27
+ let _accessibilityCloseLabel_initializers = [];
28
+ let _accessibilityCloseLabel_extraInitializers = [];
29
+ let __activeNavigationSection_decorators;
30
+ let __activeNavigationSection_initializers = [];
31
+ let __activeNavigationSection_extraInitializers = [];
32
+ return class SbbNavigationElement extends _classSuper {
33
+ static {
34
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
35
+ _trigger_decorators = [idReference(), property()];
36
+ _accessibilityCloseLabel_decorators = [forceType(), property({ attribute: "accessibility-close-label" })];
37
+ __activeNavigationSection_decorators = [state()];
38
+ __esDecorate(this, null, _trigger_decorators, {
39
+ kind: "accessor",
40
+ name: "trigger",
41
+ static: false,
42
+ private: false,
43
+ access: {
44
+ has: (obj) => "trigger" in obj,
45
+ get: (obj) => obj.trigger,
46
+ set: (obj, value) => {
47
+ obj.trigger = value;
48
+ }
49
+ },
50
+ metadata: _metadata
51
+ }, _trigger_initializers, _trigger_extraInitializers);
52
+ __esDecorate(this, null, _accessibilityCloseLabel_decorators, {
53
+ kind: "accessor",
54
+ name: "accessibilityCloseLabel",
55
+ static: false,
56
+ private: false,
57
+ access: {
58
+ has: (obj) => "accessibilityCloseLabel" in obj,
59
+ get: (obj) => obj.accessibilityCloseLabel,
60
+ set: (obj, value) => {
61
+ obj.accessibilityCloseLabel = value;
62
+ }
63
+ },
64
+ metadata: _metadata
65
+ }, _accessibilityCloseLabel_initializers, _accessibilityCloseLabel_extraInitializers);
66
+ __esDecorate(this, null, __activeNavigationSection_decorators, {
67
+ kind: "accessor",
68
+ name: "_activeNavigationSection",
69
+ static: false,
70
+ private: false,
71
+ access: {
72
+ has: (obj) => "_activeNavigationSection" in obj,
73
+ get: (obj) => obj._activeNavigationSection,
74
+ set: (obj, value) => {
75
+ obj._activeNavigationSection = value;
76
+ }
77
+ },
78
+ metadata: _metadata
79
+ }, __activeNavigationSection_initializers, __activeNavigationSection_extraInitializers);
80
+ if (_metadata) Object.defineProperty(this, Symbol.metadata, {
81
+ enumerable: true,
82
+ configurable: true,
83
+ writable: true,
84
+ value: _metadata
85
+ });
86
+ }
87
+ static {
88
+ this.elementName = "sbb-navigation";
89
+ }
90
+ static {
91
+ this.elementDependencies = [SbbTransparentButtonElement];
92
+ }
93
+ static {
94
+ this.role = "navigation";
95
+ }
96
+ static {
97
+ this.styles = [
98
+ boxSizingStyles,
99
+ scrollbarStyles,
100
+ unsafeCSS(navigation_default)
101
+ ];
102
+ }
103
+ #trigger_accessor_storage;
104
+ /**
105
+ * The element that will trigger the navigation.
106
+ *
107
+ * For attribute usage, provide an id reference.
108
+ */
109
+ get trigger() {
110
+ return this.#trigger_accessor_storage;
111
+ }
112
+ set trigger(value) {
113
+ this.#trigger_accessor_storage = value;
114
+ }
115
+ #accessibilityCloseLabel_accessor_storage;
116
+ /** This will be forwarded as aria-label to the close button element. */
117
+ get accessibilityCloseLabel() {
118
+ return this.#accessibilityCloseLabel_accessor_storage;
119
+ }
120
+ set accessibilityCloseLabel(value) {
121
+ this.#accessibilityCloseLabel_accessor_storage = value;
122
+ }
123
+ #_activeNavigationSection_accessor_storage;
124
+ /** Whether a navigation section is displayed. */
125
+ get _activeNavigationSection() {
126
+ return this.#_activeNavigationSection_accessor_storage;
127
+ }
128
+ set _activeNavigationSection(value) {
129
+ this.#_activeNavigationSection_accessor_storage = value;
130
+ }
131
+ /** Returns the active navigation section element. */
132
+ get activeNavigationSection() {
133
+ return this._activeNavigationSection;
134
+ }
135
+ /** Returns the close button element. */
136
+ get closeButton() {
137
+ return this.shadowRoot?.querySelector("#sbb-navigation-close-button") ?? null;
138
+ }
139
+ /** Returns the navigation content element. */
140
+ get navigationContent() {
141
+ return this.shadowRoot?.querySelector(".sbb-navigation__content") ?? null;
142
+ }
143
+ constructor() {
144
+ super();
145
+ this.#trigger_accessor_storage = __runInitializers(this, _trigger_initializers, null);
146
+ this.#accessibilityCloseLabel_accessor_storage = (__runInitializers(this, _trigger_extraInitializers), __runInitializers(this, _accessibilityCloseLabel_initializers, ""));
147
+ this.#_activeNavigationSection_accessor_storage = (__runInitializers(this, _accessibilityCloseLabel_extraInitializers), __runInitializers(this, __activeNavigationSection_initializers, null));
148
+ this._navigation = __runInitializers(this, __activeNavigationSection_extraInitializers);
149
+ this._triggerElement = null;
150
+ this._language = new SbbLanguageController(this);
151
+ this._inertController = new SbbInertController(this);
152
+ this._escapableOverlayController = new SbbEscapableOverlayController(this);
153
+ this._focusTrapController = new SbbFocusTrapController(this);
154
+ this._scrollHandler = new SbbScrollHandler();
155
+ this._isPointerDownEventOnNavigation = false;
156
+ this._resizeObserverTimeout = null;
157
+ this._navigationResizeObserver = new ResizeController(this, {
158
+ skipInitial: true,
159
+ callback: () => this._onNavigationResize()
160
+ });
161
+ this._pointerDownListener = (event) => {
162
+ this._isPointerDownEventOnNavigation = isEventOnElement(this._navigation, event) || isEventOnElement(this.querySelector("sbb-navigation-section:is(:state(state-opened),[state--state-opened])")?.shadowRoot?.querySelector("nav.sbb-navigation-section"), event);
163
+ };
164
+ this._closeOnBackdropClick = (event) => {
165
+ if (!this._isPointerDownEventOnNavigation && !isEventOnElement(this._navigation, event)) this.close();
166
+ };
167
+ this.addEventListener?.("click", (event) => this._handleNavigationClose(event));
168
+ this.addEventListener?.("pointerup", (event) => this._closeOnBackdropClick(event));
169
+ this.addEventListener?.("pointerdown", (event) => this._pointerDownListener(event));
170
+ this.addEventListener?.("ɵnavigationsectionopening", (event) => {
171
+ this._activeNavigationSection = event.target;
172
+ this.toggleState("has-open-navigation-section", !!this._activeNavigationSection);
173
+ }, { capture: true });
174
+ this.addEventListener?.("ɵnavigationsectionclosing", (event) => {
175
+ if (this._activeNavigationSection === event.target) {
176
+ this._activeNavigationSection = null;
177
+ this.internals.states.delete("has-open-navigation-section");
178
+ }
179
+ }, { capture: true });
180
+ }
181
+ /** Opens the navigation. */
182
+ open() {
183
+ if (this.state !== "closed" || !this.hasUpdated || !this.dispatchBeforeOpenEvent()) return;
184
+ this.showPopover?.();
185
+ this.state = "opening";
186
+ this._checkActiveActions();
187
+ this._checkActiveSection();
188
+ this.startUpdate();
189
+ this._scrollHandler.disableScroll();
190
+ if (this._triggerElement) this._triggerElement.ariaExpanded = "true";
191
+ if (this._isZeroAnimationDuration()) this._handleOpening();
192
+ }
193
+ _checkActiveSection() {
194
+ this.querySelector("sbb-navigation-button.sbb-active")?.connectedSection?.open();
195
+ }
196
+ _checkActiveActions() {
197
+ Array.from(this.querySelectorAll(":is(sbb-navigation-button, sbb-navigation-link).sbb-active"))?.forEach((action) => action.marker?.select(action));
198
+ }
199
+ /** Closes the navigation. */
200
+ close() {
201
+ if (this.state !== "opened" || !this.dispatchBeforeCloseEvent()) return;
202
+ this.state = "closing";
203
+ this.startUpdate();
204
+ if (this._triggerElement) this._triggerElement.ariaExpanded = "false";
205
+ if (this._isZeroAnimationDuration()) this._handleClosing();
206
+ }
207
+ _isZeroAnimationDuration() {
208
+ return isZeroAnimationDuration(this, "--sbb-navigation-animation-duration");
209
+ }
210
+ _handleClosing() {
211
+ this.state = "closed";
212
+ this.hidePopover?.();
213
+ this.navigationContent?.scrollTo(0, 0);
214
+ this._inertController.deactivate();
215
+ this._triggerElement?.focus();
216
+ this._escapableOverlayController.disconnect();
217
+ this.dispatchCloseEvent();
218
+ this._navigationResizeObserver.unobserve(this);
219
+ this._resetMarkers();
220
+ this._focusTrapController.enabled = false;
221
+ this._scrollHandler.enableScroll();
222
+ this.completeUpdate();
223
+ }
224
+ _handleOpening() {
225
+ this.state = "opened";
226
+ this._navigationResizeObserver.observe(this);
227
+ this._inertController.activate();
228
+ this._escapableOverlayController.connect();
229
+ this._focusTrapController.focusInitialElement();
230
+ this._focusTrapController.enabled = true;
231
+ this.completeUpdate();
232
+ this.dispatchOpenEvent();
233
+ }
234
+ _configureTrigger() {
235
+ if (this.trigger === this._triggerElement) return;
236
+ this._triggerAbortController?.abort();
237
+ removeAriaOverlayTriggerProperties(this._triggerElement);
238
+ this._triggerElement = this.trigger;
239
+ if (!this._triggerElement) return;
240
+ setAriaOverlayTriggerProperties(this, this._triggerElement, "menu", this.state);
241
+ this._triggerAbortController = new AbortController();
242
+ this._triggerElement.addEventListener("click", () => this.open(), { signal: this._triggerAbortController.signal });
243
+ }
244
+ _onAnimationEnd(event) {
245
+ if (event.animationName === "open" && this.state === "opening") this._handleOpening();
246
+ else if (event.animationName === "close" && this.state === "closing") this._handleClosing();
247
+ }
248
+ _resetMarkers() {
249
+ Array.from(this.querySelectorAll(":is(sbb-navigation-button, sbb-navigation-link):is(:state(action-active),[state--action-active]):not(.sbb-active)"))?.forEach((action) => action.marker?.reset());
250
+ }
251
+ _handleNavigationClose(event) {
252
+ if (event.composedPath().filter((el) => el instanceof window.HTMLElement).some((el) => this._isCloseElement(el))) this.close();
253
+ }
254
+ _isCloseElement(element) {
255
+ return element.nodeName === "A" || element.hasAttribute("sbb-navigation-close") && !element.hasAttribute("disabled");
256
+ }
257
+ _onNavigationResize() {
258
+ if (this.state !== "opened") return;
259
+ if (this._resizeObserverTimeout) clearTimeout(this._resizeObserverTimeout);
260
+ this.internals.states.add("resize-disable-animation");
261
+ this._resizeObserverTimeout = setTimeout(() => this.internals.states.delete("resize-disable-animation"), DEBOUNCE_TIME);
262
+ }
263
+ connectedCallback() {
264
+ super.connectedCallback();
265
+ this.popover = "manual";
266
+ if (this.hasUpdated) this._configureTrigger();
267
+ }
268
+ disconnectedCallback() {
269
+ super.disconnectedCallback();
270
+ this._triggerElement = null;
271
+ this._triggerAbortController?.abort();
272
+ this._scrollHandler.enableScroll();
273
+ }
274
+ requestUpdate(name, oldValue, options) {
275
+ super.requestUpdate(name, oldValue, options);
276
+ if (!isServer && (!name || name === "trigger") && this.hasUpdated) this._configureTrigger();
277
+ }
278
+ firstUpdated(changedProperties) {
279
+ super.firstUpdated(changedProperties);
280
+ this._configureTrigger();
281
+ }
282
+ render() {
283
+ const closeButton = html`
284
+ <sbb-transparent-button
285
+ id="sbb-navigation-close-button"
286
+ class="sbb-navigation__close"
287
+ aria-label=${this.accessibilityCloseLabel || i18nCloseNavigation[this._language.current]}
288
+ aria-controls="sbb-navigation-overlay"
289
+ negative
290
+ size="m"
291
+ icon-name="cross-small"
292
+ sbb-navigation-close
293
+ ></sbb-transparent-button>
294
+ `;
295
+ return html`
296
+ <div class="sbb-navigation__container">
297
+ <div
298
+ id="sbb-navigation-overlay"
299
+ @animationend=${this._onAnimationEnd}
300
+ class="sbb-navigation"
301
+ ${ref((navigationRef) => this._navigation = navigationRef)}
302
+ >
303
+ <div class="sbb-navigation__header">${closeButton}</div>
304
+ <div class="sbb-navigation__wrapper">
305
+ <div class="sbb-navigation__content sbb-scrollbar-negative">
306
+ <slot></slot>
307
+ </div>
308
+ </div>
309
+ </div>
310
+ <slot name="navigation-section"></slot>
311
+ </div>
312
+ `;
313
+ }
314
+ };
315
+ })();
316
+ //#endregion
317
+ export { SbbNavigationElement as t };
318
+
319
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5jb21wb25lbnQtQ2NvNGxsQnQuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL25hdmlnYXRpb24vbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL25hdmlnYXRpb24vbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG5AbWl4aW4gdHJhbnNpdGlvbigkcHJvcGVydGllcy4uLikge1xuICB0cmFuc2l0aW9uOiB7XG4gICAgZHVyYXRpb246IHZhcigtLXNiYi1uYXZpZ2F0aW9uLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItbmF2aWdhdGlvbi1hbmltYXRpb24tZWFzaW5nKTtcbiAgICBwcm9wZXJ0eTogJHByb3BlcnRpZXM7XG4gIH1cbn1cblxuOmhvc3Qge1xuICAtLXNiYi1uYXZpZ2F0aW9uLWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKFxuICAgIC0tc2JiLWRpc2FibGUtYW5pbWF0aW9uLWR1cmF0aW9uLFxuICAgIHZhcigtLXNiYi1hbmltYXRpb24tZHVyYXRpb24tM3gpXG4gICk7XG4gIC0tc2JiLWZvY3VzLW91dGxpbmUtY29sb3I6IHZhcigtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yLWRhcmspO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IHZhcigtLXNiYi1uYXZpZ2F0aW9uLWluc2V0KTtcbiAgei1pbmRleDogdmFyKC0tc2JiLW5hdmlnYXRpb24tei1pbmRleCwgdmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBsYXJnZSkge1xuICAgIC0tc2JiLW5hdmlnYXRpb24tYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoXG4gICAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICAgIHZhcigtLXNiYi1hbmltYXRpb24tZHVyYXRpb24tNngpXG4gICAgKTtcbiAgICAtLXNiYi1uYXZpZ2F0aW9uLXdpZHRoOiBjYWxjKDEwMCUgKyB2YXIoLS1zYmItbGF5b3V0LWJhc2Utb2Zmc2V0LXJlc3BvbnNpdmUpKTtcbiAgfVxufVxuXG46aG9zdCg6aXMoOnN0YXRlKHN0YXRlLW9wZW5pbmcpLCA6c3RhdGUoc3RhdGUtb3BlbmVkKSwgOnN0YXRlKHN0YXRlLWNsb3NpbmcpKSkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuOmhvc3QoOnN0YXRlKHN0YXRlLW9wZW5lZCkpIHtcbiAgLS1zYmItbmF2aWdhdGlvbi1hbmltYXRpb24tZWFzaW5nOiBlYXNlLW91dDtcbn1cblxuOmhvc3QoOmlzKDpzdGF0ZShzdGF0ZS1vcGVuZWQpLCA6c3RhdGUoc3RhdGUtb3BlbmluZykpKSB7XG4gIC0tc2JiLW5hdmlnYXRpb24tYmFja2Ryb3AtdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgLS1zYmItbmF2aWdhdGlvbi1iYWNrZHJvcC1wb2ludGVyLWV2ZW50czogYWxsO1xufVxuXG46aG9zdCg6bm90KDpzdGF0ZShzdGF0ZS1jbG9zZWQpKSkge1xuICAtLXNiYi1uYXZpZ2F0aW9uLWluc2V0OiAwO1xuICAtLXNiYi1uYXZpZ2F0aW9uLXRyYW5zbGF0ZTogbm9uZTtcbn1cblxuOmhvc3QoOnN0YXRlKHN0YXRlLWNsb3NpbmcpKSB7XG4gIC0tc2JiLW5hdmlnYXRpb24tYmFja2Ryb3AtYW5pbWF0aW9uLW5hbWU6IGJhY2tkcm9wLWNsb3NlO1xufVxuXG46aG9zdCg6c3RhdGUoaGFzLW9wZW4tbmF2aWdhdGlvbi1zZWN0aW9uKSkge1xuICAtLXNiYi1uYXZpZ2F0aW9uLWNvbnRlbnQtdHJhbnNsYXRlOiAtMTAwJSAwO1xuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogJ2xhcmdlJykge1xuICAgIC0tc2JiLW5hdmlnYXRpb24tZXhwYW5kZWQtd2lkdGg6IDEwMGR2dztcbiAgICAtLXNiYi1uYXZpZ2F0aW9uLWNvbnRlbnQtdHJhbnNsYXRlOiAwO1xuICB9XG59XG5cbjpob3N0KDpzdGF0ZShyZXNpemUtZGlzYWJsZS1hbmltYXRpb24pKSB7XG4gIEBpbmNsdWRlIHNiYi5kaXNhYmxlLWFuaW1hdGlvbjtcbn1cblxuLnNiYi1uYXZpZ2F0aW9uX19jb250YWluZXIge1xuICBAaW5jbHVkZSBzYmIuZ3JpZC1iYXNlO1xuXG4gIHBhZGRpbmctaW5saW5lOiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNsYXRlOiB2YXIoLS1zYmItbmF2aWdhdGlvbi10cmFuc2xhdGUpO1xuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogbGFyZ2UpIHtcbiAgICBwYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLWxheW91dC1iYXNlLW9mZnNldC1yZXNwb25zaXZlKTtcblxuICAgIC8vIE5hdmlnYXRpb24gYmFja2Ryb3AgKG5vdCB2aXNpYmxlIG9uIG1vYmlsZSlcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih2aXNpYmlsaXR5KTtcblxuICAgICAgYW5pbWF0aW9uOiB7XG4gICAgICAgIG5hbWU6IHZhcigtLXNiYi1uYXZpZ2F0aW9uLWJhY2tkcm9wLWFuaW1hdGlvbi1uYW1lKTtcbiAgICAgICAgZHVyYXRpb246IHZhcigtLXNiYi1uYXZpZ2F0aW9uLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgICAgIHRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLW5hdmlnYXRpb24tYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgICB9XG5cbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgdmlzaWJpbGl0eTogdmFyKC0tc2JiLW5hdmlnYXRpb24tYmFja2Ryb3AtdmlzaWJpbGl0eSwgaGlkZGVuKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiB2YXIoLS1zYmItbmF2aWdhdGlvbi1iYWNrZHJvcC1wb2ludGVyLWV2ZW50cywgbm9uZSk7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICBpbnNldDogdmFyKC0tc2JiLW5hdmlnYXRpb24taW5zZXQpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLW5hdmlnYXRpb24tYmFja2Ryb3AtY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG4uc2JiLW5hdmlnYXRpb24ge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKHdpZHRoKTtcblxuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogdmFyKC0tc2JiLW5hdmlnYXRpb24td2lkdGgpO1xuICBncmlkLWNvbHVtbjogdmFyKC0tc2JiLW5hdmlnYXRpb24tZ3JpZC1jb2x1bW4pO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaW5zZXQtaW5saW5lLXN0YXJ0OiB2YXIoLS1zYmItbmF2aWdhdGlvbi1pbmxpbmUtc3RhcnQsIDApO1xuICBpbnNldC1ibG9jay1zdGFydDogMDtcbiAgYm9yZGVyOiBub25lO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgaGVpZ2h0OiB2YXIoLS1zYmItbmF2aWdhdGlvbi1oZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tc2JiLW5hdmlnYXRpb24tY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItbmF2aWdhdGlvbi1iYWNrZ3JvdW5kLWNvbG9yKTtcblxuICAmOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24od2lkdGgpO1xuXG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiB2YXIoLS1zYmItbmF2aWdhdGlvbi1leHBhbmRlZC13aWR0aCk7XG4gICAgaGVpZ2h0OiB2YXIoLS1zYmItbmF2aWdhdGlvbi1oZWlnaHQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1uYXZpZ2F0aW9uLWJhY2tncm91bmQtY29sb3IpO1xuICB9XG5cbiAgOmhvc3QoOmlzKDpzdGF0ZShzdGF0ZS1vcGVuaW5nKSwgOnN0YXRlKHN0YXRlLW9wZW5lZCksIDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkpICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG5cbiAgICBhbmltYXRpb246IHtcbiAgICAgIG5hbWU6IG9wZW47XG4gICAgICBkdXJhdGlvbjogdmFyKC0tc2JiLW5hdmlnYXRpb24tYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICAgIHRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLW5hdmlnYXRpb24tYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgfVxuICB9XG5cbiAgOmhvc3QoOnN0YXRlKHN0YXRlLWNsb3NpbmcpKSAmIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBhbmltYXRpb24tbmFtZTogY2xvc2U7XG4gIH1cblxuICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgb3V0bGluZTogdmFyKC0tc2JiLWJvcmRlci13aWR0aC0xeCkgc29saWQgQ2FudmFzVGV4dDtcbiAgfVxufVxuXG4uc2JiLW5hdmlnYXRpb25fX3dyYXBwZXIge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uc2JiLW5hdmlnYXRpb25fX2hlYWRlciB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24od2lkdGgpO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IHZhcigtLXNiYi1uYXZpZ2F0aW9uLWV4cGFuZGVkLXdpZHRoKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBhZGRpbmc6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHMpO1xuICB6LWluZGV4OiBjYWxjKHZhcigtLXNiYi1uYXZpZ2F0aW9uLXotaW5kZXgsIHZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleCkpICsgMSk7XG59XG5cbi5zYmItbmF2aWdhdGlvbl9fY2xvc2Uge1xuICBwb2ludGVyLWV2ZW50czogYWxsO1xufVxuXG4uc2JiLW5hdmlnYXRpb25fX2NvbnRlbnQge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zbGF0ZSk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1zYmItbmF2aWdhdGlvbi1jb250ZW50LWdhcCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiB2YXIoLS1zYmItbmF2aWdhdGlvbi1oZWlnaHQpO1xuICBwYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLW5hdmlnYXRpb24tcGFkZGluZy1pbmxpbmUpO1xuICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItbmF2aWdhdGlvbi1wYWRkaW5nLWJsb2NrLXN0YXJ0KSB2YXIoLS1zYmItbmF2aWdhdGlvbi1wYWRkaW5nLWJsb2NrLWVuZCk7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHRyYW5zbGF0ZTogdmFyKC0tc2JiLW5hdmlnYXRpb24tY29udGVudC10cmFuc2xhdGUpO1xufVxuXG46OnNsb3R0ZWQoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0tc2JiLW5hdmlnYXRpb24tbGlzdC1tYXJnaW4tYmxvY2stc3RhcnQpO1xufVxuXG5Aa2V5ZnJhbWVzIG9wZW4ge1xuICBmcm9tIHtcbiAgICB0cmFuc2xhdGU6IC0xMDAlIDA7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNsYXRlOiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgY2xvc2Uge1xuICBmcm9tIHtcbiAgICB0cmFuc2xhdGU6IDA7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNsYXRlOiAtMTAwJSAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYmFja2Ryb3Atb3BlbiB7XG4gIGZyb20ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYmFja2Ryb3AtY2xvc2Uge1xuICB0byB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cbiIsImltcG9ydCB7IFJlc2l6ZUNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL3Jlc2l6ZS1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIGlzU2VydmVyLFxuICB0eXBlIFByb3BlcnR5RGVjbGFyYXRpb24sXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG4gIHVuc2FmZUNTUyxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IHJlZiB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3JlZi5qcyc7XG5cbmltcG9ydCB7IFNiYlRyYW5zcGFyZW50QnV0dG9uRWxlbWVudCB9IGZyb20gJy4uLy4uL2J1dHRvbi5wdXJlLnRzJztcbmltcG9ydCB7XG4gIGJveFNpemluZ1N0eWxlcyxcbiAgZm9yY2VUeXBlLFxuICBpMThuQ2xvc2VOYXZpZ2F0aW9uLFxuICBpZFJlZmVyZW5jZSxcbiAgaXNFdmVudE9uRWxlbWVudCxcbiAgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24sXG4gIHJlbW92ZUFyaWFPdmVybGF5VHJpZ2dlclByb3BlcnRpZXMsXG4gIHR5cGUgU2JiRWxlbWVudFR5cGUsXG4gIFNiYkVzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyLFxuICBTYmJGb2N1c1RyYXBDb250cm9sbGVyLFxuICBTYmJJbmVydENvbnRyb2xsZXIsXG4gIFNiYkxhbmd1YWdlQ29udHJvbGxlcixcbiAgU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQsXG4gIFNiYlNjcm9sbEhhbmRsZXIsXG4gIFNiYlVwZGF0ZVNjaGVkdWxlck1peGluLFxuICBzY3JvbGxiYXJTdHlsZXMsXG4gIHNldEFyaWFPdmVybGF5VHJpZ2dlclByb3BlcnRpZXMsXG59IGZyb20gJy4uLy4uL2NvcmUudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJOYXZpZ2F0aW9uQnV0dG9uRWxlbWVudCB9IGZyb20gJy4uL25hdmlnYXRpb24tYnV0dG9uL25hdmlnYXRpb24tYnV0dG9uLmNvbXBvbmVudC50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYk5hdmlnYXRpb25MaW5rRWxlbWVudCB9IGZyb20gJy4uL25hdmlnYXRpb24tbGluay9uYXZpZ2F0aW9uLWxpbmsuY29tcG9uZW50LnRzJztcbmltcG9ydCB0eXBlIHsgU2JiTmF2aWdhdGlvblNlY3Rpb25FbGVtZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1zZWN0aW9uL25hdmlnYXRpb24tc2VjdGlvbi5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9uYXZpZ2F0aW9uLnNjc3M/aW5saW5lJztcblxuY29uc3QgREVCT1VOQ0VfVElNRSA9IDE1MDtcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIG5hdmlnYXRpb24gbWVudSwgd3JhcHBpbmcgb25lIG9yIG1vcmUgYHNiYi1uYXZpZ2F0aW9uLSpgIGNvbXBvbmVudHMuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYHNiYi1uYXZpZ2F0aW9uLWJ1dHRvbmAvYHNiYi1uYXZpZ2F0aW9uLWxpbmtgIGVsZW1lbnRzIGludG8gdGhlIHNiYi1uYXZpZ2F0aW9uIG1lbnUuXG4gKiBAY3NzcHJvcCBbLS1zYmItbmF2aWdhdGlvbi16LWluZGV4PXZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleCldIC0gVG8gc3BlY2lmeSBhIGN1c3RvbSBzdGFjayBvcmRlcixcbiAqIHRoZSBgei1pbmRleGAgY2FuIGJlIG92ZXJyaWRkZW4gYnkgZGVmaW5pbmcgdGhpcyBDU1MgdmFyaWFibGUuIFRoZSBkZWZhdWx0IGB6LWluZGV4YCBvZiB0aGVcbiAqIGNvbXBvbmVudCBpcyBzZXQgdG8gYHZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleClgIHdpdGggYSB2YWx1ZSBvZiBgMTAwMGAuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJOYXZpZ2F0aW9uRWxlbWVudCBleHRlbmRzIFNiYlVwZGF0ZVNjaGVkdWxlck1peGluKFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItbmF2aWdhdGlvbic7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgZWxlbWVudERlcGVuZGVuY2llczogU2JiRWxlbWVudFR5cGVbXSA9IFtTYmJUcmFuc3BhcmVudEJ1dHRvbkVsZW1lbnRdO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvbGUgPSAnbmF2aWdhdGlvbic7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtcbiAgICBib3hTaXppbmdTdHlsZXMsXG4gICAgc2Nyb2xsYmFyU3R5bGVzLFxuICAgIHVuc2FmZUNTUyhzdHlsZSksXG4gIF07XG5cbiAgLyoqXG4gICAqIFRoZSBlbGVtZW50IHRoYXQgd2lsbCB0cmlnZ2VyIHRoZSBuYXZpZ2F0aW9uLlxuICAgKlxuICAgKiBGb3IgYXR0cmlidXRlIHVzYWdlLCBwcm92aWRlIGFuIGlkIHJlZmVyZW5jZS5cbiAgICovXG4gIEBpZFJlZmVyZW5jZSgpXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBhY2Nlc3NvciB0cmlnZ2VyOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBUaGlzIHdpbGwgYmUgZm9yd2FyZGVkIGFzIGFyaWEtbGFiZWwgdG8gdGhlIGNsb3NlIGJ1dHRvbiBlbGVtZW50LiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYWNjZXNzaWJpbGl0eS1jbG9zZS1sYWJlbCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlDbG9zZUxhYmVsOiBzdHJpbmcgPSAnJztcblxuICAvKiogV2hldGhlciBhIG5hdmlnYXRpb24gc2VjdGlvbiBpcyBkaXNwbGF5ZWQuICovXG4gIEBzdGF0ZSgpIHByaXZhdGUgYWNjZXNzb3IgX2FjdGl2ZU5hdmlnYXRpb25TZWN0aW9uOiBTYmJOYXZpZ2F0aW9uU2VjdGlvbkVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAvKiogUmV0dXJucyB0aGUgYWN0aXZlIG5hdmlnYXRpb24gc2VjdGlvbiBlbGVtZW50LiAqL1xuICBwdWJsaWMgZ2V0IGFjdGl2ZU5hdmlnYXRpb25TZWN0aW9uKCk6IFNiYk5hdmlnYXRpb25TZWN0aW9uRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmVOYXZpZ2F0aW9uU2VjdGlvbjtcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHRoZSBjbG9zZSBidXR0b24gZWxlbWVudC4gKi9cbiAgcHVibGljIGdldCBjbG9zZUJ1dHRvbigpOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoJyNzYmItbmF2aWdhdGlvbi1jbG9zZS1idXR0b24nKSA/PyBudWxsO1xuICB9XG5cbiAgLyoqIFJldHVybnMgdGhlIG5hdmlnYXRpb24gY29udGVudCBlbGVtZW50LiAqL1xuICBwdWJsaWMgZ2V0IG5hdmlnYXRpb25Db250ZW50KCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcignLnNiYi1uYXZpZ2F0aW9uX19jb250ZW50JykgPz8gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgX25hdmlnYXRpb24hOiBIVE1MRGl2RWxlbWVudDtcbiAgcHJpdmF0ZSBfdHJpZ2dlckVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIhOiBBYm9ydENvbnRyb2xsZXI7XG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfaW5lcnRDb250cm9sbGVyID0gbmV3IFNiYkluZXJ0Q29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIgPSBuZXcgU2JiRXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX2ZvY3VzVHJhcENvbnRyb2xsZXIgPSBuZXcgU2JiRm9jdXNUcmFwQ29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfc2Nyb2xsSGFuZGxlciA9IG5ldyBTYmJTY3JvbGxIYW5kbGVyKCk7XG4gIHByaXZhdGUgX2lzUG9pbnRlckRvd25FdmVudE9uTmF2aWdhdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9yZXNpemVPYnNlcnZlclRpbWVvdXQ6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX25hdmlnYXRpb25SZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVDb250cm9sbGVyKHRoaXMsIHtcbiAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICBjYWxsYmFjazogKCkgPT4gdGhpcy5fb25OYXZpZ2F0aW9uUmVzaXplKCksXG4gIH0pO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdjbGljaycsIChldmVudCkgPT4gdGhpcy5faGFuZGxlTmF2aWdhdGlvbkNsb3NlKGV2ZW50KSk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ3BvaW50ZXJ1cCcsIChldmVudCkgPT4gdGhpcy5fY2xvc2VPbkJhY2tkcm9wQ2xpY2soZXZlbnQpKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LigncG9pbnRlcmRvd24nLCAoZXZlbnQpID0+IHRoaXMuX3BvaW50ZXJEb3duTGlzdGVuZXIoZXZlbnQpKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LihcbiAgICAgICfJtW5hdmlnYXRpb25zZWN0aW9ub3BlbmluZycsXG4gICAgICAoZXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy5fYWN0aXZlTmF2aWdhdGlvblNlY3Rpb24gPSBldmVudC50YXJnZXQgYXMgU2JiTmF2aWdhdGlvblNlY3Rpb25FbGVtZW50O1xuICAgICAgICB0aGlzLnRvZ2dsZVN0YXRlKCdoYXMtb3Blbi1uYXZpZ2F0aW9uLXNlY3Rpb24nLCAhIXRoaXMuX2FjdGl2ZU5hdmlnYXRpb25TZWN0aW9uKTtcbiAgICAgIH0sXG4gICAgICB7IGNhcHR1cmU6IHRydWUgfSxcbiAgICApO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKFxuICAgICAgJ8m1bmF2aWdhdGlvbnNlY3Rpb25jbG9zaW5nJyxcbiAgICAgIChldmVudCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5fYWN0aXZlTmF2aWdhdGlvblNlY3Rpb24gPT09IGV2ZW50LnRhcmdldCkge1xuICAgICAgICAgIHRoaXMuX2FjdGl2ZU5hdmlnYXRpb25TZWN0aW9uID0gbnVsbDtcbiAgICAgICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKCdoYXMtb3Blbi1uYXZpZ2F0aW9uLXNlY3Rpb24nKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHsgY2FwdHVyZTogdHJ1ZSB9LFxuICAgICk7XG4gIH1cblxuICAvKiogT3BlbnMgdGhlIG5hdmlnYXRpb24uICovXG4gIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXRlICE9PSAnY2xvc2VkJyB8fCAhdGhpcy5oYXNVcGRhdGVkIHx8ICF0aGlzLmRpc3BhdGNoQmVmb3JlT3BlbkV2ZW50KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNob3dQb3BvdmVyPy4oKTtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5pbmcnO1xuICAgIHRoaXMuX2NoZWNrQWN0aXZlQWN0aW9ucygpO1xuICAgIHRoaXMuX2NoZWNrQWN0aXZlU2VjdGlvbigpO1xuICAgIHRoaXMuc3RhcnRVcGRhdGUoKTtcblxuICAgIC8vIERpc2FibGUgc2Nyb2xsaW5nIGZvciBjb250ZW50IGJlbG93IHRoZSBuYXZpZ2F0aW9uXG4gICAgdGhpcy5fc2Nyb2xsSGFuZGxlci5kaXNhYmxlU2Nyb2xsKCk7XG4gICAgaWYgKHRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5hcmlhRXhwYW5kZWQgPSAndHJ1ZSc7XG4gICAgfVxuXG4gICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBkdXJhdGlvbiBpcyB6ZXJvLCB0aGUgYW5pbWF0aW9uZW5kIGV2ZW50IGlzIG5vdCBhbHdheXMgZmlyZWQgcmVsaWFibHkuXG4gICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYG9wZW5lZGAgc3RhdGUuXG4gICAgaWYgKHRoaXMuX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCkpIHtcbiAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jaGVja0FjdGl2ZVNlY3Rpb24oKTogdm9pZCB7XG4gICAgY29uc3QgYWN0aXZlQWN0aW9uID0gdGhpcy5xdWVyeVNlbGVjdG9yKFxuICAgICAgJ3NiYi1uYXZpZ2F0aW9uLWJ1dHRvbi5zYmItYWN0aXZlJyxcbiAgICApIGFzIFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50O1xuICAgIGFjdGl2ZUFjdGlvbj8uY29ubmVjdGVkU2VjdGlvbj8ub3BlbigpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2hlY2tBY3RpdmVBY3Rpb25zKCk6IHZvaWQge1xuICAgIGNvbnN0IGFjdGl2ZUFjdGlvbnMgPSBBcnJheS5mcm9tKFxuICAgICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsKCc6aXMoc2JiLW5hdmlnYXRpb24tYnV0dG9uLCBzYmItbmF2aWdhdGlvbi1saW5rKS5zYmItYWN0aXZlJyksXG4gICAgKSBhcyAoU2JiTmF2aWdhdGlvbkJ1dHRvbkVsZW1lbnQgfCBTYmJOYXZpZ2F0aW9uTGlua0VsZW1lbnQpW107XG4gICAgYWN0aXZlQWN0aW9ucz8uZm9yRWFjaCgoYWN0aW9uKSA9PiBhY3Rpb24ubWFya2VyPy5zZWxlY3QoYWN0aW9uKSk7XG4gIH1cblxuICAvKiogQ2xvc2VzIHRoZSBuYXZpZ2F0aW9uLiAqL1xuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdvcGVuZWQnIHx8ICF0aGlzLmRpc3BhdGNoQmVmb3JlQ2xvc2VFdmVudCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zaW5nJztcbiAgICB0aGlzLnN0YXJ0VXBkYXRlKCk7XG4gICAgaWYgKHRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5hcmlhRXhwYW5kZWQgPSAnZmFsc2UnO1xuICAgIH1cblxuICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBjbG9zZWRgIHN0YXRlLlxuICAgIGlmICh0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKHRoaXMsICctLXNiYi1uYXZpZ2F0aW9uLWFuaW1hdGlvbi1kdXJhdGlvbicpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlQ2xvc2luZygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NlZCc7XG4gICAgdGhpcy5oaWRlUG9wb3Zlcj8uKCk7XG4gICAgdGhpcy5uYXZpZ2F0aW9uQ29udGVudD8uc2Nyb2xsVG8oMCwgMCk7XG4gICAgdGhpcy5faW5lcnRDb250cm9sbGVyLmRlYWN0aXZhdGUoKTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudD8uZm9jdXMoKTtcbiAgICB0aGlzLl9lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlci5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5kaXNwYXRjaENsb3NlRXZlbnQoKTtcbiAgICB0aGlzLl9uYXZpZ2F0aW9uUmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKHRoaXMpO1xuICAgIHRoaXMuX3Jlc2V0TWFya2VycygpO1xuICAgIHRoaXMuX2ZvY3VzVHJhcENvbnRyb2xsZXIuZW5hYmxlZCA9IGZhbHNlO1xuXG4gICAgLy8gRW5hYmxlIHNjcm9sbGluZyBmb3IgY29udGVudCBiZWxvdyB0aGUgbmF2aWdhdGlvblxuICAgIHRoaXMuX3Njcm9sbEhhbmRsZXIuZW5hYmxlU2Nyb2xsKCk7XG4gICAgdGhpcy5jb21wbGV0ZVVwZGF0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlT3BlbmluZygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5lZCc7XG4gICAgdGhpcy5fbmF2aWdhdGlvblJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcyk7XG4gICAgdGhpcy5faW5lcnRDb250cm9sbGVyLmFjdGl2YXRlKCk7XG4gICAgdGhpcy5fZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIuY29ubmVjdCgpO1xuICAgIHRoaXMuX2ZvY3VzVHJhcENvbnRyb2xsZXIuZm9jdXNJbml0aWFsRWxlbWVudCgpO1xuICAgIHRoaXMuX2ZvY3VzVHJhcENvbnRyb2xsZXIuZW5hYmxlZCA9IHRydWU7XG4gICAgdGhpcy5jb21wbGV0ZVVwZGF0ZSgpO1xuICAgIHRoaXMuZGlzcGF0Y2hPcGVuRXZlbnQoKTtcbiAgfVxuXG4gIC8vIFJlbW92ZXMgdHJpZ2dlciBjbGljayBsaXN0ZW5lciBvbiB0cmlnZ2VyIGNoYW5nZS5cbiAgLy8gQ2hlY2sgaWYgdGhlIHRyaWdnZXIgaXMgdmFsaWQgYW5kIGF0dGFjaCBjbGljayBldmVudCBsaXN0ZW5lcnMuXG4gIHByaXZhdGUgX2NvbmZpZ3VyZVRyaWdnZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudHJpZ2dlciA9PT0gdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHJlbW92ZUFyaWFPdmVybGF5VHJpZ2dlclByb3BlcnRpZXModGhpcy5fdHJpZ2dlckVsZW1lbnQpO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50ID0gdGhpcy50cmlnZ2VyO1xuXG4gICAgaWYgKCF0aGlzLl90cmlnZ2VyRWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNldEFyaWFPdmVybGF5VHJpZ2dlclByb3BlcnRpZXModGhpcywgdGhpcy5fdHJpZ2dlckVsZW1lbnQsICdtZW51JywgdGhpcy5zdGF0ZSk7XG4gICAgdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMub3BlbigpLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICB9XG5cbiAgLy8gSW4gcmFyZSBjYXNlcyBpdCBjYW4gYmUgdGhhdCB0aGUgYW5pbWF0aW9uRW5kIGV2ZW50IGlzIHRyaWdnZXJlZCB0d2ljZS5cbiAgLy8gVG8gYXZvaWQgZW50ZXJpbmcgYSBjb3JydXB0IHN0YXRlLCBleGl0IHdoZW4gc3RhdGUgaXMgbm90IGV4cGVjdGVkLlxuICBwcml2YXRlIF9vbkFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ29wZW4nICYmIHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlJyAmJiB0aGlzLnN0YXRlID09PSAnY2xvc2luZycpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9yZXNldE1hcmtlcnMoKTogdm9pZCB7XG4gICAgY29uc3QgYWN0aXZlQWN0aW9ucyA9IEFycmF5LmZyb20oXG4gICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgICAgICc6aXMoc2JiLW5hdmlnYXRpb24tYnV0dG9uLCBzYmItbmF2aWdhdGlvbi1saW5rKTpzdGF0ZShhY3Rpb24tYWN0aXZlKTpub3QoLnNiYi1hY3RpdmUpJyxcbiAgICAgICksXG4gICAgKSBhcyAoU2JiTmF2aWdhdGlvbkJ1dHRvbkVsZW1lbnQgfCBTYmJOYXZpZ2F0aW9uTGlua0VsZW1lbnQpW107XG4gICAgYWN0aXZlQWN0aW9ucz8uZm9yRWFjaCgoYWN0aW9uKSA9PiBhY3Rpb24ubWFya2VyPy5yZXNldCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU5hdmlnYXRpb25DbG9zZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBjb21wb3NlZFBhdGhFbGVtZW50cyA9IGV2ZW50XG4gICAgICAuY29tcG9zZWRQYXRoKClcbiAgICAgIC5maWx0ZXIoKGVsKSA9PiBlbCBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MRWxlbWVudCk7XG4gICAgaWYgKGNvbXBvc2VkUGF0aEVsZW1lbnRzLnNvbWUoKGVsKSA9PiB0aGlzLl9pc0Nsb3NlRWxlbWVudChlbCBhcyBIVE1MRWxlbWVudCkpKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNDbG9zZUVsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgZWxlbWVudC5ub2RlTmFtZSA9PT0gJ0EnIHx8XG4gICAgICAoZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ3NiYi1uYXZpZ2F0aW9uLWNsb3NlJykgJiYgIWVsZW1lbnQuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpKVxuICAgICk7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgcG9pbnRlcmRvd24gZXZlbnQgdGFyZ2V0IGlzIHRyaWdnZXJlZCBvbiB0aGUgbmF2aWdhdGlvbi5cbiAgcHJpdmF0ZSBfcG9pbnRlckRvd25MaXN0ZW5lciA9IChldmVudDogUG9pbnRlckV2ZW50KTogdm9pZCA9PiB7XG4gICAgdGhpcy5faXNQb2ludGVyRG93bkV2ZW50T25OYXZpZ2F0aW9uID1cbiAgICAgIGlzRXZlbnRPbkVsZW1lbnQodGhpcy5fbmF2aWdhdGlvbiwgZXZlbnQpIHx8XG4gICAgICBpc0V2ZW50T25FbGVtZW50KFxuICAgICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3IoJ3NiYi1uYXZpZ2F0aW9uLXNlY3Rpb246c3RhdGUoc3RhdGUtb3BlbmVkKScpPy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAgICduYXYuc2JiLW5hdmlnYXRpb24tc2VjdGlvbicsXG4gICAgICAgICkgYXMgSFRNTEVsZW1lbnQsXG4gICAgICAgIGV2ZW50LFxuICAgICAgKTtcbiAgfTtcblxuICAvLyBDbG9zZSBuYXZpZ2F0aW9uIG9uIGJhY2tkcm9wIGNsaWNrLlxuICBwcml2YXRlIF9jbG9zZU9uQmFja2Ryb3BDbGljayA9IChldmVudDogUG9pbnRlckV2ZW50KTogdm9pZCA9PiB7XG4gICAgaWYgKCF0aGlzLl9pc1BvaW50ZXJEb3duRXZlbnRPbk5hdmlnYXRpb24gJiYgIWlzRXZlbnRPbkVsZW1lbnQodGhpcy5fbmF2aWdhdGlvbiwgZXZlbnQpKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgX29uTmF2aWdhdGlvblJlc2l6ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ29wZW5lZCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fcmVzaXplT2JzZXJ2ZXJUaW1lb3V0KSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5fcmVzaXplT2JzZXJ2ZXJUaW1lb3V0KTtcbiAgICB9XG5cbiAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKCdyZXNpemUtZGlzYWJsZS1hbmltYXRpb24nKTtcblxuICAgIC8vIERpc2FibGUgdGhlIGFuaW1hdGlvbiB3aGVuIHJlc2l6aW5nIHRoZSBuYXZpZ2F0aW9uIHRvIGF2b2lkIHN0cmFuZ2UgaGVpZ2h0IHRyYW5zaXRpb24gZWZmZWN0cy5cbiAgICB0aGlzLl9yZXNpemVPYnNlcnZlclRpbWVvdXQgPSBzZXRUaW1lb3V0KFxuICAgICAgKCkgPT4gdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZSgncmVzaXplLWRpc2FibGUtYW5pbWF0aW9uJyksXG4gICAgICBERUJPVU5DRV9USU1FLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLnBvcG92ZXIgPSAnbWFudWFsJztcbiAgICBpZiAodGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICB0aGlzLl9jb25maWd1cmVUcmlnZ2VyKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQgPSBudWxsO1xuICAgIHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5fc2Nyb2xsSGFuZGxlci5lbmFibGVTY3JvbGwoKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZXF1ZXN0VXBkYXRlKFxuICAgIG5hbWU/OiBQcm9wZXJ0eUtleSxcbiAgICBvbGRWYWx1ZT86IHVua25vd24sXG4gICAgb3B0aW9ucz86IFByb3BlcnR5RGVjbGFyYXRpb24sXG4gICk6IHZvaWQge1xuICAgIHN1cGVyLnJlcXVlc3RVcGRhdGUobmFtZSwgb2xkVmFsdWUsIG9wdGlvbnMpO1xuXG4gICAgaWYgKCFpc1NlcnZlciAmJiAoIW5hbWUgfHwgbmFtZSA9PT0gJ3RyaWdnZXInKSAmJiB0aGlzLmhhc1VwZGF0ZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZ3VyZVRyaWdnZXIoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgdGhpcy5fY29uZmlndXJlVHJpZ2dlcigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3QgY2xvc2VCdXR0b24gPSBodG1sYFxuICAgICAgPHNiYi10cmFuc3BhcmVudC1idXR0b25cbiAgICAgICAgaWQ9XCJzYmItbmF2aWdhdGlvbi1jbG9zZS1idXR0b25cIlxuICAgICAgICBjbGFzcz1cInNiYi1uYXZpZ2F0aW9uX19jbG9zZVwiXG4gICAgICAgIGFyaWEtbGFiZWw9JHt0aGlzLmFjY2Vzc2liaWxpdHlDbG9zZUxhYmVsIHx8IGkxOG5DbG9zZU5hdmlnYXRpb25bdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19XG4gICAgICAgIGFyaWEtY29udHJvbHM9XCJzYmItbmF2aWdhdGlvbi1vdmVybGF5XCJcbiAgICAgICAgbmVnYXRpdmVcbiAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICBpY29uLW5hbWU9XCJjcm9zcy1zbWFsbFwiXG4gICAgICAgIHNiYi1uYXZpZ2F0aW9uLWNsb3NlXG4gICAgICA+PC9zYmItdHJhbnNwYXJlbnQtYnV0dG9uPlxuICAgIGA7XG5cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItbmF2aWdhdGlvbl9fY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBpZD1cInNiYi1uYXZpZ2F0aW9uLW92ZXJsYXlcIlxuICAgICAgICAgIEBhbmltYXRpb25lbmQ9JHt0aGlzLl9vbkFuaW1hdGlvbkVuZH1cbiAgICAgICAgICBjbGFzcz1cInNiYi1uYXZpZ2F0aW9uXCJcbiAgICAgICAgICAke3JlZigobmF2aWdhdGlvblJlZj86IEVsZW1lbnQpID0+ICh0aGlzLl9uYXZpZ2F0aW9uID0gbmF2aWdhdGlvblJlZiBhcyBIVE1MRGl2RWxlbWVudCkpfVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1uYXZpZ2F0aW9uX19oZWFkZXJcIj4ke2Nsb3NlQnV0dG9ufTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItbmF2aWdhdGlvbl9fd3JhcHBlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1uYXZpZ2F0aW9uX19jb250ZW50IHNiYi1zY3JvbGxiYXItbmVnYXRpdmVcIj5cbiAgICAgICAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c2xvdCBuYW1lPVwibmF2aWdhdGlvbi1zZWN0aW9uXCI+PC9zbG90PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLW5hdmlnYXRpb24nOiBTYmJOYXZpZ2F0aW9uRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQ3VDQSxJQUFNLGdCQUFnQjs7Ozs7Ozs7O0lBVVQsOEJBQW9CO21CQUFTLHdCQUF3Qix3QkFBd0I7Ozs7Ozs7Ozs7Y0FBN0UsNkJBQTZCLFlBQWdEOzs7MEJBZXZGLGFBQWEsRUFDYixVQUFVLENBQUE7MENBSVYsV0FBVyxFQUNYLFNBQVMsRUFBRSxXQUFXLDZCQUE2QixDQUFDLENBQUE7MkNBSXBELE9BQU8sQ0FBQTtBQVJSLGdCQUFBLE1BQUEsTUFBQSxxQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLGFBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBTyxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQVAsVUFBTzs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLHVCQUFBLDJCQUFBO0FBS3ZCLGdCQUFBLE1BQUEsTUFBQSxxQ0FBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLDZCQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQXVCLE1BQUEsS0FBQSxVQUFBO0FBQUEsVUFBdkIsMEJBQXVCOztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEsdUNBQUEsMkNBQUE7QUFHOUIsZ0JBQUEsTUFBQSxNQUFBLHNDQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsOEJBQUE7S0FBQSxNQUFBLFFBQUEsSUFBaUI7S0FBd0IsTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUF4QiwyQkFBd0I7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSx3Q0FBQSw0Q0FBQTs7Ozs7Ozs7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
@@ -3,8 +3,8 @@ 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-DDjMz5TE.js";
5
5
  import { t as SbbNavigationMarkerElement } from "./navigation-marker.component-Cd6apD2P.js";
6
- import { t as SbbNavigationSectionElement } from "./navigation-section.component-DumXFFfg.js";
7
- import { t as SbbNavigationElement } from "./navigation.component-CpoBEP55.js";
6
+ import { t as SbbNavigationSectionElement } from "./navigation-section.component-D3_XVwyt.js";
7
+ import { t as SbbNavigationElement } from "./navigation.component-Cco4llBt.js";
8
8
  import "./navigation.pure.js";
9
9
  //#region src/elements/navigation.ts
10
10
  /** @entrypoint */
@@ -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-DDjMz5TE.js";
5
5
  import { t as SbbNavigationMarkerElement } from "./navigation-marker.component-Cd6apD2P.js";
6
- import { t as SbbNavigationSectionElement } from "./navigation-section.component-DumXFFfg.js";
7
- import { t as SbbNavigationElement } from "./navigation.component-CpoBEP55.js";
6
+ import { t as SbbNavigationSectionElement } from "./navigation-section.component-D3_XVwyt.js";
7
+ import { t as SbbNavigationElement } from "./navigation.component-Cco4llBt.js";
8
8
  export { SbbNavigationActionCommonElementMixin, SbbNavigationButtonElement, SbbNavigationElement, SbbNavigationLinkElement, SbbNavigationListElement, SbbNavigationMarkerElement, SbbNavigationSectionElement };
@@ -1 +1 @@
1
- {"version":3,"file":"overlay.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/overlay/overlay.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAa,MAAM,KAAK,CAAC;AAO/F,OAAO,KAAK,EAAE,cAAc,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAG9E,OAAO,EAEL,qBAAqB,EAEtB,MAAM,2BAA2B,CAAC;AAGnC;;;;;;;GAOG;AACH,qBAAa,iBAAkB,SAAQ,qBAAqB;IAC1D,gBAAgC,WAAW,EAAE,MAAM,CAAiB;IACpE,OAAuB,mBAAmB,EAAE,cAAc,EAAE,CAG1D;IACF,OAAuB,MAAM,EAAE,cAAc,CAAsB;IAGnE,gBAAgC,MAAM;;;;;MAK3B;IAEX;;;OAGG;IACH,SAEgB,QAAQ,EAAE,OAAO,CAAS;IAE1C,wEAAwE;IACxE,SAEgB,uBAAuB,EAAE,MAAM,CAAM;IAErD,SAAS,CAAC,cAAc,EAAE,MAAM,CAAuB;IACvD,OAAO,CAAC,sBAAsB,CAA4B;cAEvC,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAS9E,SAAS,CAAC,uBAAuB,IAAI,OAAO;IAI5C,SAAS,CAAC,aAAa,IAAI,IAAI;cAUZ,aAAa,IAAI,IAAI;cAwBrB,wBAAwB,CAAC,OAAO,CAAC,EAAE,2BAA2B,GAAG,OAAO;cAaxE,kBAAkB,CAAC,OAAO,CAAC,EAAE,2BAA2B,GAAG,OAAO;cAWlE,MAAM,IAAI,cAAc;CAsC5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,aAAa,EAAE,iBAAiB,CAAC;KAClC;CACF"}
1
+ {"version":3,"file":"overlay.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/overlay/overlay.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAa,MAAM,KAAK,CAAC;AAO/F,OAAO,EAKL,KAAK,cAAc,EACnB,KAAK,2BAA2B,EAEjC,MAAM,YAAY,CAAC;AAEpB,OAAO,EAEL,qBAAqB,EAEtB,MAAM,2BAA2B,CAAC;AAGnC;;;;;;;GAOG;AACH,qBAAa,iBAAkB,SAAQ,qBAAqB;IAC1D,gBAAgC,WAAW,EAAE,MAAM,CAAiB;IACpE,OAAuB,mBAAmB,EAAE,cAAc,EAAE,CAG1D;IACF,OAAuB,MAAM,EAAE,cAAc,CAAuC;IAGpF,gBAAgC,MAAM;;;;;MAK3B;IAEX;;;OAGG;IACH,SAEgB,QAAQ,EAAE,OAAO,CAAS;IAE1C,wEAAwE;IACxE,SAEgB,uBAAuB,EAAE,MAAM,CAAM;IAErD,SAAS,CAAC,cAAc,EAAE,MAAM,CAAuB;IACvD,OAAO,CAAC,sBAAsB,CAA4B;cAEvC,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAS9E,SAAS,CAAC,uBAAuB,IAAI,OAAO;IAI5C,SAAS,CAAC,aAAa,IAAI,IAAI;cAUZ,aAAa,IAAI,IAAI;cAwBrB,wBAAwB,CAAC,OAAO,CAAC,EAAE,2BAA2B,GAAG,OAAO;cAaxE,kBAAkB,CAAC,OAAO,CAAC,EAAE,2BAA2B,GAAG,OAAO;cAWlE,MAAM,IAAI,cAAc;CAwC5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,aAAa,EAAE,iBAAiB,CAAC;KAClC;CACF"}
@@ -1,2 +1,2 @@
1
- import { t as SbbOverlayElement } from "../overlay.component-CC_quHYI.js";
1
+ import { t as SbbOverlayElement } from "../overlay.component-DBzb0PdD.js";
2
2
  export { SbbOverlayElement };