@sbb-esta/lyne-elements 2.5.1 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (226) hide show
  1. package/autocomplete/autocomplete-base-element.d.ts +19 -20
  2. package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  3. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts.map +1 -1
  4. package/autocomplete-grid/autocomplete-grid-button.js +7 -7
  5. package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts +2 -2
  6. package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts.map +1 -1
  7. package/autocomplete.js +143 -134
  8. package/chip/chip/chip.d.ts +32 -0
  9. package/chip/chip/chip.d.ts.map +1 -0
  10. package/chip/chip-group/chip-group.d.ts +100 -0
  11. package/chip/chip-group/chip-group.d.ts.map +1 -0
  12. package/chip/chip-group.d.ts +2 -0
  13. package/chip/chip-group.d.ts.map +1 -0
  14. package/chip/chip-group.js +225 -0
  15. package/chip/chip.d.ts +2 -0
  16. package/chip/chip.d.ts.map +1 -0
  17. package/chip/chip.js +85 -0
  18. package/chip.d.ts +3 -0
  19. package/chip.d.ts.map +1 -0
  20. package/chip.js +2 -0
  21. package/clock/clock.d.ts.map +1 -1
  22. package/clock.js +1 -1
  23. package/core/controllers/id-observer-controller.d.ts +21 -0
  24. package/core/controllers/id-observer-controller.d.ts.map +1 -0
  25. package/core/controllers/media-matchers-controller.d.ts.map +1 -1
  26. package/core/controllers.d.ts +2 -1
  27. package/core/controllers.d.ts.map +1 -1
  28. package/core/controllers.js +135 -80
  29. package/core/datetime/native-date-adapter.d.ts.map +1 -1
  30. package/core/datetime.js +8 -3
  31. package/core/dom/find-referenced-element.d.ts +1 -0
  32. package/core/dom/find-referenced-element.d.ts.map +1 -1
  33. package/core/dom/input-element.d.ts +3 -1
  34. package/core/dom/input-element.d.ts.map +1 -1
  35. package/core/i18n/i18n.d.ts +3 -0
  36. package/core/i18n/i18n.d.ts.map +1 -1
  37. package/core/i18n.js +135 -117
  38. package/core/mixins/form-associated-input-mixin.d.ts.map +1 -1
  39. package/core/mixins.js +64 -59
  40. package/core/overlay/overlay-trigger-attributes.d.ts +1 -1
  41. package/core/overlay/overlay-trigger-attributes.d.ts.map +1 -1
  42. package/core/overlay/position.d.ts +1 -1
  43. package/core/overlay/position.d.ts.map +1 -1
  44. package/core/styles/core.scss +89 -24
  45. package/core/styles/image.scss +1 -1
  46. package/core/styles/mixins/table.scss +63 -26
  47. package/core/styles/table.scss +16 -0
  48. package/core/testing/scroll.d.ts +1 -0
  49. package/core/testing/scroll.d.ts.map +1 -1
  50. package/core/testing/wait-for-image-ready.d.ts.map +1 -1
  51. package/core/testing.js +8 -5
  52. package/core.css +90 -34
  53. package/custom-elements.json +1588 -650
  54. package/datepicker/datepicker/datepicker.d.ts +4 -4
  55. package/datepicker/datepicker/datepicker.d.ts.map +1 -1
  56. package/datepicker/datepicker-toggle/datepicker-toggle.d.ts +0 -3
  57. package/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
  58. package/datepicker/datepicker-toggle.js +30 -34
  59. package/datepicker/datepicker.js +103 -105
  60. package/development/autocomplete/autocomplete-base-element.d.ts +19 -20
  61. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  62. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts.map +1 -1
  63. package/development/autocomplete-grid/autocomplete-grid-button.js +3 -3
  64. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts +2 -2
  65. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts.map +1 -1
  66. package/development/autocomplete-grid/autocomplete-grid-optgroup.js +1 -1
  67. package/development/autocomplete.js +103 -79
  68. package/development/chip/chip/chip.d.ts +32 -0
  69. package/development/chip/chip/chip.d.ts.map +1 -0
  70. package/development/chip/chip-group/chip-group.d.ts +100 -0
  71. package/development/chip/chip-group/chip-group.d.ts.map +1 -0
  72. package/development/chip/chip-group.d.ts +2 -0
  73. package/development/chip/chip-group.d.ts.map +1 -0
  74. package/development/chip/chip-group.js +349 -0
  75. package/development/chip/chip.d.ts +2 -0
  76. package/development/chip/chip.d.ts.map +1 -0
  77. package/development/chip/chip.js +212 -0
  78. package/development/chip.d.ts +3 -0
  79. package/development/chip.d.ts.map +1 -0
  80. package/development/chip.js +3 -0
  81. package/development/clock/clock.d.ts.map +1 -1
  82. package/development/clock.js +5 -2
  83. package/development/core/controllers/id-observer-controller.d.ts +21 -0
  84. package/development/core/controllers/id-observer-controller.d.ts.map +1 -0
  85. package/development/core/controllers/media-matchers-controller.d.ts.map +1 -1
  86. package/development/core/controllers.d.ts +2 -1
  87. package/development/core/controllers.d.ts.map +1 -1
  88. package/development/core/controllers.js +116 -44
  89. package/development/core/datetime/native-date-adapter.d.ts.map +1 -1
  90. package/development/core/datetime.js +6 -2
  91. package/development/core/dom/find-referenced-element.d.ts +1 -0
  92. package/development/core/dom/find-referenced-element.d.ts.map +1 -1
  93. package/development/core/dom/input-element.d.ts +3 -1
  94. package/development/core/dom/input-element.d.ts.map +1 -1
  95. package/development/core/dom.js +1 -1
  96. package/development/core/i18n/i18n.d.ts +3 -0
  97. package/development/core/i18n/i18n.d.ts.map +1 -1
  98. package/development/core/i18n.js +23 -2
  99. package/development/core/mixins/form-associated-input-mixin.d.ts.map +1 -1
  100. package/development/core/mixins.js +12 -3
  101. package/development/core/overlay/overlay-trigger-attributes.d.ts +1 -1
  102. package/development/core/overlay/overlay-trigger-attributes.d.ts.map +1 -1
  103. package/development/core/overlay/position.d.ts +1 -1
  104. package/development/core/overlay/position.d.ts.map +1 -1
  105. package/development/core/overlay.js +1 -1
  106. package/development/core/testing/scroll.d.ts +1 -0
  107. package/development/core/testing/scroll.d.ts.map +1 -1
  108. package/development/core/testing/wait-for-image-ready.d.ts.map +1 -1
  109. package/development/core/testing.js +6 -2
  110. package/development/datepicker/datepicker/datepicker.d.ts +4 -4
  111. package/development/datepicker/datepicker/datepicker.d.ts.map +1 -1
  112. package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts +0 -3
  113. package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
  114. package/development/datepicker/datepicker-toggle.js +4 -12
  115. package/development/datepicker/datepicker.js +46 -43
  116. package/development/dialog/dialog-title/dialog-title.d.ts +0 -1
  117. package/development/dialog/dialog-title/dialog-title.d.ts.map +1 -1
  118. package/development/dialog/dialog-title.js +2 -5
  119. package/development/expansion-panel/expansion-panel/expansion-panel.d.ts +0 -2
  120. package/development/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -1
  121. package/development/expansion-panel/expansion-panel.js +2 -7
  122. package/development/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -1
  123. package/development/flip-card/flip-card-details.js +3 -3
  124. package/development/form-field/form-field/form-field.d.ts.map +1 -1
  125. package/development/form-field/form-field.js +12 -145
  126. package/development/header/header/header.d.ts +6 -7
  127. package/development/header/header/header.d.ts.map +1 -1
  128. package/development/header/header.js +45 -34
  129. package/development/menu/menu/menu.d.ts +7 -8
  130. package/development/menu/menu/menu.d.ts.map +1 -1
  131. package/development/menu/menu.js +42 -41
  132. package/development/navigation/navigation/navigation.d.ts +7 -8
  133. package/development/navigation/navigation/navigation.d.ts.map +1 -1
  134. package/development/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
  135. package/development/navigation/navigation-marker.js +3 -3
  136. package/development/navigation/navigation-section/navigation-section.d.ts +8 -9
  137. package/development/navigation/navigation-section/navigation-section.d.ts.map +1 -1
  138. package/development/navigation/navigation-section.js +50 -47
  139. package/development/navigation/navigation.js +42 -40
  140. package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  141. package/development/option/optgroup/optgroup.d.ts +2 -2
  142. package/development/option/optgroup/optgroup.d.ts.map +1 -1
  143. package/development/option/optgroup.js +3 -3
  144. package/development/option/option/option-base-element.d.ts.map +1 -1
  145. package/development/option/option.js +3 -3
  146. package/development/paginator/paginator.js +12 -1
  147. package/development/popover/popover/popover.d.ts +8 -7
  148. package/development/popover/popover/popover.d.ts.map +1 -1
  149. package/development/popover/popover.js +28 -35
  150. package/development/select/select.d.ts +1 -1
  151. package/development/select/select.d.ts.map +1 -1
  152. package/development/select.js +15 -15
  153. package/development/selection-expansion-panel/selection-expansion-panel.d.ts +0 -2
  154. package/development/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
  155. package/development/selection-expansion-panel.js +2 -7
  156. package/development/sidebar/sidebar/sidebar.d.ts.map +1 -1
  157. package/development/sidebar/sidebar.js +3 -3
  158. package/development/stepper/step/step.d.ts +15 -1
  159. package/development/stepper/step/step.d.ts.map +1 -1
  160. package/development/stepper/step-label.js +2 -2
  161. package/development/stepper/step.js +23 -3
  162. package/development/stepper/stepper/stepper.d.ts +1 -0
  163. package/development/stepper/stepper/stepper.d.ts.map +1 -1
  164. package/development/stepper/stepper.js +5 -1
  165. package/development/table/table-wrapper.js +2 -1
  166. package/development/time-input/time-input.d.ts +6 -8
  167. package/development/time-input/time-input.d.ts.map +1 -1
  168. package/development/time-input.js +42 -44
  169. package/dialog/dialog-title/dialog-title.d.ts +0 -1
  170. package/dialog/dialog-title/dialog-title.d.ts.map +1 -1
  171. package/dialog/dialog-title.js +18 -21
  172. package/expansion-panel/expansion-panel/expansion-panel.d.ts +0 -2
  173. package/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -1
  174. package/expansion-panel/expansion-panel.js +53 -56
  175. package/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -1
  176. package/flip-card/flip-card-details.js +8 -8
  177. package/form-field/form-field/form-field.d.ts.map +1 -1
  178. package/form-field/form-field.js +102 -97
  179. package/header/header/header.d.ts +6 -7
  180. package/header/header/header.d.ts.map +1 -1
  181. package/header/header.js +72 -70
  182. package/index.d.ts +4 -0
  183. package/index.js +4 -0
  184. package/menu/menu/menu.d.ts +7 -8
  185. package/menu/menu/menu.d.ts.map +1 -1
  186. package/menu/menu.js +73 -73
  187. package/navigation/navigation/navigation.d.ts +7 -8
  188. package/navigation/navigation/navigation.d.ts.map +1 -1
  189. package/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
  190. package/navigation/navigation-marker.js +4 -4
  191. package/navigation/navigation-section/navigation-section.d.ts +8 -9
  192. package/navigation/navigation-section/navigation-section.d.ts.map +1 -1
  193. package/navigation/navigation-section.js +75 -77
  194. package/navigation/navigation.js +70 -70
  195. package/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  196. package/option/optgroup/optgroup.d.ts +2 -2
  197. package/option/optgroup/optgroup.d.ts.map +1 -1
  198. package/option/optgroup.js +13 -13
  199. package/option/option/option-base-element.d.ts.map +1 -1
  200. package/option/option.js +2 -2
  201. package/package.json +16 -1
  202. package/paginator/paginator.js +44 -44
  203. package/popover/popover/popover.d.ts +8 -7
  204. package/popover/popover/popover.d.ts.map +1 -1
  205. package/popover/popover.js +73 -73
  206. package/select/select.d.ts +1 -1
  207. package/select/select.d.ts.map +1 -1
  208. package/select.js +68 -67
  209. package/selection-expansion-panel/selection-expansion-panel.d.ts +0 -2
  210. package/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
  211. package/selection-expansion-panel.js +10 -13
  212. package/sidebar/sidebar/sidebar.d.ts.map +1 -1
  213. package/sidebar/sidebar.js +2 -2
  214. package/standard-theme.css +166 -79
  215. package/stepper/step/step.d.ts +15 -1
  216. package/stepper/step/step.d.ts.map +1 -1
  217. package/stepper/step-label.js +1 -1
  218. package/stepper/step.js +36 -22
  219. package/stepper/stepper/stepper.d.ts +1 -0
  220. package/stepper/stepper/stepper.d.ts.map +1 -1
  221. package/stepper/stepper.js +19 -16
  222. package/table/table-wrapper.js +4 -4
  223. package/table.css +75 -44
  224. package/time-input/time-input.d.ts +6 -8
  225. package/time-input/time-input.d.ts.map +1 -1
  226. package/time-input.js +66 -73
@@ -5,12 +5,13 @@ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot
5
5
  var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
6
6
  var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
7
7
  var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
8
- import { __runInitializers, __esDecorate } from "tslib";
8
+ import { __esDecorate, __runInitializers } from "tslib";
9
9
  import { css, LitElement, isServer, html } from "lit";
10
10
  import { customElement, property, state } from "lit/decorators.js";
11
11
  import { SbbFocusVisibleWithinController } from "../core/a11y.js";
12
+ import { SbbIdReferenceController } from "../core/controllers.js";
12
13
  import { forceType } from "../core/decorators.js";
13
- import { isLean, findReferencedElement } from "../core/dom.js";
14
+ import { isLean } from "../core/dom.js";
14
15
  import { SbbHydrationMixin } from "../core/mixins.js";
15
16
  const style = css`*,
16
17
  ::before,
@@ -170,17 +171,18 @@ const style = css`*,
170
171
  }`;
171
172
  const IS_MENU_OPENED_QUERY = "[aria-controls][aria-expanded='true']";
172
173
  let SbbHeaderElement = (() => {
173
- var _expanded_accessor_storage, _hideOnScroll_accessor_storage, _size_accessor_storage, __headerOnTop_accessor_storage, _a;
174
+ var _expanded_accessor_storage, _scrollOrigin_accessor_storage, _hideOnScroll_accessor_storage, _size_accessor_storage, __headerOnTop_accessor_storage, _a;
174
175
  let _classDecorators = [customElement("sbb-header")];
175
176
  let _classDescriptor;
176
177
  let _classExtraInitializers = [];
177
178
  let _classThis;
178
179
  let _classSuper = SbbHydrationMixin(LitElement);
179
- let _instanceExtraInitializers = [];
180
180
  let _expanded_decorators;
181
181
  let _expanded_initializers = [];
182
182
  let _expanded_extraInitializers = [];
183
- let _set_scrollOrigin_decorators;
183
+ let _scrollOrigin_decorators;
184
+ let _scrollOrigin_initializers = [];
185
+ let _scrollOrigin_extraInitializers = [];
184
186
  let _hideOnScroll_decorators;
185
187
  let _hideOnScroll_initializers = [];
186
188
  let _hideOnScroll_extraInitializers = [];
@@ -192,18 +194,21 @@ let SbbHeaderElement = (() => {
192
194
  let __headerOnTop_extraInitializers = [];
193
195
  _a = class extends _classSuper {
194
196
  constructor() {
195
- super(...arguments);
197
+ super();
196
198
  __privateAdd(this, _expanded_accessor_storage);
199
+ __privateAdd(this, _scrollOrigin_accessor_storage);
197
200
  __privateAdd(this, _hideOnScroll_accessor_storage);
198
201
  __privateAdd(this, _size_accessor_storage);
199
202
  __privateAdd(this, __headerOnTop_accessor_storage);
200
- __privateSet(this, _expanded_accessor_storage, (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _expanded_initializers, false)));
201
- this._scrollOrigin = (__runInitializers(this, _expanded_extraInitializers), !isServer ? document : null);
202
- __privateSet(this, _hideOnScroll_accessor_storage, __runInitializers(this, _hideOnScroll_initializers, false));
203
+ __privateSet(this, _expanded_accessor_storage, __runInitializers(this, _expanded_initializers, false));
204
+ __privateSet(this, _scrollOrigin_accessor_storage, (__runInitializers(this, _expanded_extraInitializers), __runInitializers(this, _scrollOrigin_initializers, !isServer ? document : null)));
205
+ __privateSet(this, _hideOnScroll_accessor_storage, (__runInitializers(this, _scrollOrigin_extraInitializers), __runInitializers(this, _hideOnScroll_initializers, false)));
203
206
  __privateSet(this, _size_accessor_storage, (__runInitializers(this, _hideOnScroll_extraInitializers), __runInitializers(this, _size_initializers, isLean() ? "s" : "m")));
204
207
  __privateSet(this, __headerOnTop_accessor_storage, (__runInitializers(this, _size_extraInitializers), __runInitializers(this, __headerOnTop_initializers, true)));
205
208
  this._scrollElement = __runInitializers(this, __headerOnTop_extraInitializers);
206
209
  this._lastScroll = 0;
210
+ this._scrollOriginIdReferenceController = new SbbIdReferenceController(this, "scrollOrigin");
211
+ this.addController(new SbbFocusVisibleWithinController(this));
207
212
  }
208
213
  /**
209
214
  * Whether to allow the header content to stretch to full width.
@@ -215,14 +220,13 @@ let SbbHeaderElement = (() => {
215
220
  set expanded(value) {
216
221
  __privateSet(this, _expanded_accessor_storage, value);
217
222
  }
223
+ // TODO: Remove the document as default assignment and refactor logic to return document
218
224
  /** The element's id or the element on which the scroll listener is attached. */
219
- set scrollOrigin(value) {
220
- const oldValue = this._scrollOrigin;
221
- this._scrollOrigin = value;
222
- this._updateScrollOrigin(this._scrollOrigin, oldValue);
223
- }
224
225
  get scrollOrigin() {
225
- return this._scrollOrigin;
226
+ return __privateGet(this, _scrollOrigin_accessor_storage);
227
+ }
228
+ set scrollOrigin(value) {
229
+ __privateSet(this, _scrollOrigin_accessor_storage, value);
226
230
  }
227
231
  /** Whether the header should hide and show on scroll. */
228
232
  get hideOnScroll() {
@@ -247,36 +251,43 @@ let SbbHeaderElement = (() => {
247
251
  set _headerOnTop(value) {
248
252
  __privateSet(this, __headerOnTop_accessor_storage, value);
249
253
  }
250
- _updateScrollOrigin(newValue, oldValue) {
251
- if (newValue !== oldValue) {
252
- this._setListenerOnScrollElement(newValue);
253
- const currentScroll = this._getCurrentScrollProperty("scrollTop");
254
- this._lastScroll = currentScroll <= 0 ? 0 : currentScroll;
255
- }
256
- }
257
254
  /** If `hideOnScroll` is set, checks the element to hook the listener on, and possibly add it.*/
258
255
  connectedCallback() {
259
256
  super.connectedCallback();
260
- this._setListenerOnScrollElement(this.scrollOrigin);
261
- new SbbFocusVisibleWithinController(this);
257
+ this._updateScrollListener();
262
258
  }
263
259
  /** Removes the scroll listener, if previously attached. */
264
260
  disconnectedCallback() {
265
261
  var _a2;
266
262
  super.disconnectedCallback();
263
+ this._scrollElement = null;
267
264
  (_a2 = this._scrollEventsController) == null ? void 0 : _a2.abort();
268
265
  }
269
- /** Sets the value of `_scrollElement` and `_scrollFunction` and possibly adds the function on the correct element. */
270
- _setListenerOnScrollElement(scrollOrigin) {
271
- var _a2, _b;
266
+ requestUpdate(name, oldValue, options) {
267
+ super.requestUpdate(name, oldValue, options);
268
+ if (!isServer && (!name || name === "scrollOrigin") && this.hasUpdated) {
269
+ this._updateScrollListener();
270
+ }
271
+ }
272
+ _updateScrollListener() {
273
+ var _a2;
274
+ const scrollElement = this.scrollOrigin instanceof HTMLElement ? this.scrollOrigin : this._scrollOriginIdReferenceController.find() ?? document;
275
+ if (scrollElement === this._scrollElement) {
276
+ return;
277
+ }
272
278
  (_a2 = this._scrollEventsController) == null ? void 0 : _a2.abort();
279
+ this._scrollElement = scrollElement;
280
+ if (!this._scrollElement) {
281
+ return;
282
+ }
273
283
  this._scrollEventsController = new AbortController();
274
- this._scrollElement = findReferencedElement(scrollOrigin) || (!isServer ? document : null);
275
284
  this._scrollFunction = this._getScrollFunction.bind(this);
276
- (_b = this._scrollElement) == null ? void 0 : _b.addEventListener("scroll", this._scrollFunction, {
285
+ this._scrollElement.addEventListener("scroll", this._scrollFunction, {
277
286
  passive: true,
278
287
  signal: this._scrollEventsController.signal
279
288
  });
289
+ const currentScroll = this._getCurrentScrollProperty("scrollTop");
290
+ this._lastScroll = currentScroll <= 0 ? 0 : currentScroll;
280
291
  }
281
292
  /** Returns the correct function to attach on scroll. */
282
293
  _getScrollFunction() {
@@ -348,19 +359,19 @@ let SbbHeaderElement = (() => {
348
359
  </header>
349
360
  `;
350
361
  }
351
- }, _expanded_accessor_storage = new WeakMap(), _hideOnScroll_accessor_storage = new WeakMap(), _size_accessor_storage = new WeakMap(), __headerOnTop_accessor_storage = new WeakMap(), _classThis = _a, (() => {
362
+ }, _expanded_accessor_storage = new WeakMap(), _scrollOrigin_accessor_storage = new WeakMap(), _hideOnScroll_accessor_storage = new WeakMap(), _size_accessor_storage = new WeakMap(), __headerOnTop_accessor_storage = new WeakMap(), _classThis = _a, (() => {
352
363
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
353
364
  _expanded_decorators = [forceType(), property({ reflect: true, type: Boolean })];
354
- _set_scrollOrigin_decorators = [property({ attribute: "scroll-origin" })];
365
+ _scrollOrigin_decorators = [property({ attribute: "scroll-origin" })];
355
366
  _hideOnScroll_decorators = [forceType(), property({ attribute: "hide-on-scroll", reflect: true, type: Boolean })];
356
367
  _size_decorators = [property({ reflect: true })];
357
368
  __headerOnTop_decorators = [state()];
358
369
  __esDecorate(_a, null, _expanded_decorators, { kind: "accessor", name: "expanded", static: false, private: false, access: { has: (obj) => "expanded" in obj, get: (obj) => obj.expanded, set: (obj, value) => {
359
370
  obj.expanded = value;
360
371
  } }, metadata: _metadata }, _expanded_initializers, _expanded_extraInitializers);
361
- __esDecorate(_a, null, _set_scrollOrigin_decorators, { kind: "setter", name: "scrollOrigin", static: false, private: false, access: { has: (obj) => "scrollOrigin" in obj, set: (obj, value) => {
372
+ __esDecorate(_a, null, _scrollOrigin_decorators, { kind: "accessor", name: "scrollOrigin", static: false, private: false, access: { has: (obj) => "scrollOrigin" in obj, get: (obj) => obj.scrollOrigin, set: (obj, value) => {
362
373
  obj.scrollOrigin = value;
363
- } }, metadata: _metadata }, null, _instanceExtraInitializers);
374
+ } }, metadata: _metadata }, _scrollOrigin_initializers, _scrollOrigin_extraInitializers);
364
375
  __esDecorate(_a, null, _hideOnScroll_decorators, { kind: "accessor", name: "hideOnScroll", static: false, private: false, access: { has: (obj) => "hideOnScroll" in obj, get: (obj) => obj.hideOnScroll, set: (obj, value) => {
365
376
  obj.hideOnScroll = value;
366
377
  } }, metadata: _metadata }, _hideOnScroll_initializers, _hideOnScroll_extraInitializers);
@@ -379,4 +390,4 @@ let SbbHeaderElement = (() => {
379
390
  export {
380
391
  SbbHeaderElement
381
392
  };
382
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvaGVhZGVyL2hlYWRlci9oZWFkZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgaHRtbCwgaXNTZXJ2ZXIsIExpdEVsZW1lbnQsIHR5cGUgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHksIHN0YXRlIH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJGb2N1c1Zpc2libGVXaXRoaW5Db250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IGZvcmNlVHlwZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBmaW5kUmVmZXJlbmNlZEVsZW1lbnQsIGlzTGVhbiB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7IFNiYkh5ZHJhdGlvbk1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9oZWFkZXIuc2Nzcz9saXQmaW5saW5lJztcblxuY29uc3QgSVNfTUVOVV9PUEVORURfUVVFUlkgPSBcIlthcmlhLWNvbnRyb2xzXVthcmlhLWV4cGFuZGVkPSd0cnVlJ11cIjtcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIGhlYWRlciBzZWN0aW9uIGZvciB0aGUgcGFnZS5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBhY3Rpb25zLCBjb250ZW50IGFuZCBsb2dvIHRvIHRoZSBoZWFkZXIuXG4gKiBAY3NzcHJvcCBbLS1zYmItaGVhZGVyLXotaW5kZXg9MTBdIC0gQ2FuIGJlIHVzZWQgdG8gbW9kaWZ5IHRoZSB6LWluZGV4IG9mIHRoZSBoZWFkZXIuXG4gKiBAY3NzcHJvcCBbLS1zYmItaGVhZGVyLWhlaWdodD16ZXJvLXNtYWxsOnZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTE0eCk7bWVkaXVtLXVsdHJhOnZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTI0eCldIC0gQ2FuIGJlIHVzZWQgdG8gbW9kaWZ5IGhlaWdodCBvZiB0aGUgaGVhZGVyLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItaGVhZGVyJylcbmNsYXNzIFNiYkhlYWRlckVsZW1lbnQgZXh0ZW5kcyBTYmJIeWRyYXRpb25NaXhpbihMaXRFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGFsbG93IHRoZSBoZWFkZXIgY29udGVudCB0byBzdHJldGNoIHRvIGZ1bGwgd2lkdGguXG4gICAqIEJ5IGRlZmF1bHQsIHRoZSBjb250ZW50IGhhcyB0aGUgYXBwcm9wcmlhdGUgcGFnZSBzaXplLlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGV4cGFuZGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFRoZSBlbGVtZW50J3MgaWQgb3IgdGhlIGVsZW1lbnQgb24gd2hpY2ggdGhlIHNjcm9sbCBsaXN0ZW5lciBpcyBhdHRhY2hlZC4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnc2Nyb2xsLW9yaWdpbicgfSlcbiAgcHVibGljIHNldCBzY3JvbGxPcmlnaW4odmFsdWU6IHN0cmluZyB8IEhUTUxFbGVtZW50IHwgRG9jdW1lbnQpIHtcbiAgICBjb25zdCBvbGRWYWx1ZSA9IHRoaXMuX3Njcm9sbE9yaWdpbjtcbiAgICB0aGlzLl9zY3JvbGxPcmlnaW4gPSB2YWx1ZTtcbiAgICB0aGlzLl91cGRhdGVTY3JvbGxPcmlnaW4odGhpcy5fc2Nyb2xsT3JpZ2luLCBvbGRWYWx1ZSk7XG4gIH1cbiAgcHVibGljIGdldCBzY3JvbGxPcmlnaW4oKTogc3RyaW5nIHwgSFRNTEVsZW1lbnQgfCBEb2N1bWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX3Njcm9sbE9yaWdpbjtcbiAgfVxuICBwcml2YXRlIF9zY3JvbGxPcmlnaW46IHN0cmluZyB8IEhUTUxFbGVtZW50IHwgRG9jdW1lbnQgPSAhaXNTZXJ2ZXIgPyBkb2N1bWVudCA6IG51bGwhO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBoZWFkZXIgc2hvdWxkIGhpZGUgYW5kIHNob3cgb24gc2Nyb2xsLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnaGlkZS1vbi1zY3JvbGwnLCByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBoaWRlT25TY3JvbGw6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogU2l6ZSBvZiB0aGUgaGVhZGVyLCBlaXRoZXIgbSBvciBzLlxuICAgKiBAZGVmYXVsdCAnbScgLyAncycgKGxlYW4pXG4gICAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAnbScgfCAncycgPSBpc0xlYW4oKSA/ICdzJyA6ICdtJztcblxuICBAc3RhdGUoKSBwcml2YXRlIGFjY2Vzc29yIF9oZWFkZXJPblRvcCA9IHRydWU7XG5cbiAgcHJpdmF0ZSBfc2Nyb2xsRWxlbWVudDogSFRNTEVsZW1lbnQgfCBEb2N1bWVudCB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgX3Njcm9sbEV2ZW50c0NvbnRyb2xsZXIhOiBBYm9ydENvbnRyb2xsZXI7XG4gIHByaXZhdGUgX3Njcm9sbEZ1bmN0aW9uOiAoKCkgPT4gdm9pZCkgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgX2xhc3RTY3JvbGwgPSAwO1xuXG4gIHByaXZhdGUgX3VwZGF0ZVNjcm9sbE9yaWdpbihcbiAgICBuZXdWYWx1ZTogc3RyaW5nIHwgSFRNTEVsZW1lbnQgfCBEb2N1bWVudCxcbiAgICBvbGRWYWx1ZTogc3RyaW5nIHwgSFRNTEVsZW1lbnQgfCBEb2N1bWVudCxcbiAgKTogdm9pZCB7XG4gICAgaWYgKG5ld1ZhbHVlICE9PSBvbGRWYWx1ZSkge1xuICAgICAgdGhpcy5fc2V0TGlzdGVuZXJPblNjcm9sbEVsZW1lbnQobmV3VmFsdWUpO1xuICAgICAgY29uc3QgY3VycmVudFNjcm9sbCA9IHRoaXMuX2dldEN1cnJlbnRTY3JvbGxQcm9wZXJ0eSgnc2Nyb2xsVG9wJyk7XG4gICAgICAvLyBgY3VycmVudFNjcm9sbGAgY2FuIGJlIG5lZ2F0aXZlLCBlLmcuIG9uIG1vYmlsZTsgdGhpcyBpcyBub3QgYWxsb3dlZC5cbiAgICAgIHRoaXMuX2xhc3RTY3JvbGwgPSBjdXJyZW50U2Nyb2xsIDw9IDAgPyAwIDogY3VycmVudFNjcm9sbDtcbiAgICB9XG4gIH1cblxuICAvKiogSWYgYGhpZGVPblNjcm9sbGAgaXMgc2V0LCBjaGVja3MgdGhlIGVsZW1lbnQgdG8gaG9vayB0aGUgbGlzdGVuZXIgb24sIGFuZCBwb3NzaWJseSBhZGQgaXQuKi9cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fc2V0TGlzdGVuZXJPblNjcm9sbEVsZW1lbnQodGhpcy5zY3JvbGxPcmlnaW4pO1xuICAgIG5ldyBTYmJGb2N1c1Zpc2libGVXaXRoaW5Db250cm9sbGVyKHRoaXMpO1xuICB9XG5cbiAgLyoqIFJlbW92ZXMgdGhlIHNjcm9sbCBsaXN0ZW5lciwgaWYgcHJldmlvdXNseSBhdHRhY2hlZC4gKi9cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fc2Nyb2xsRXZlbnRzQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgfVxuXG4gIC8qKiBTZXRzIHRoZSB2YWx1ZSBvZiBgX3Njcm9sbEVsZW1lbnRgIGFuZCBgX3Njcm9sbEZ1bmN0aW9uYCBhbmQgcG9zc2libHkgYWRkcyB0aGUgZnVuY3Rpb24gb24gdGhlIGNvcnJlY3QgZWxlbWVudC4gKi9cbiAgcHJpdmF0ZSBfc2V0TGlzdGVuZXJPblNjcm9sbEVsZW1lbnQoc2Nyb2xsT3JpZ2luOiBzdHJpbmcgfCBIVE1MRWxlbWVudCB8IERvY3VtZW50KTogdm9pZCB7XG4gICAgdGhpcy5fc2Nyb2xsRXZlbnRzQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl9zY3JvbGxFdmVudHNDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIHRoaXMuX3Njcm9sbEVsZW1lbnQgPVxuICAgICAgZmluZFJlZmVyZW5jZWRFbGVtZW50KHNjcm9sbE9yaWdpbiBhcyBzdHJpbmcgfCBIVE1MRWxlbWVudCkgfHwgKCFpc1NlcnZlciA/IGRvY3VtZW50IDogbnVsbCk7XG4gICAgdGhpcy5fc2Nyb2xsRnVuY3Rpb24gPSB0aGlzLl9nZXRTY3JvbGxGdW5jdGlvbi5iaW5kKHRoaXMpO1xuICAgIHRoaXMuX3Njcm9sbEVsZW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMuX3Njcm9sbEZ1bmN0aW9uLCB7XG4gICAgICBwYXNzaXZlOiB0cnVlLFxuICAgICAgc2lnbmFsOiB0aGlzLl9zY3JvbGxFdmVudHNDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgfVxuICAvKiogUmV0dXJucyB0aGUgY29ycmVjdCBmdW5jdGlvbiB0byBhdHRhY2ggb24gc2Nyb2xsLiAqL1xuICBwcml2YXRlIF9nZXRTY3JvbGxGdW5jdGlvbigpOiB2b2lkIHtcbiAgICByZXR1cm4gdGhpcy5oaWRlT25TY3JvbGwgPyB0aGlzLl9zY3JvbGxMaXN0ZW5lcigpIDogdGhpcy5fc2Nyb2xsU2hhZG93TGlzdGVuZXIoKTtcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHRoZSByZXF1ZXN0ZWQgcHJvcGVydHkgb2YgdGhlIHNjcm9sbENvbnRleHQuICovXG4gIHByaXZhdGUgX2dldEN1cnJlbnRTY3JvbGxQcm9wZXJ0eShwcm9wZXJ0eTogJ3Njcm9sbFRvcCcgfCAnc2Nyb2xsSGVpZ2h0Jyk6IG51bWJlciB7XG4gICAgaWYgKHRoaXMuX3Njcm9sbEVsZW1lbnQgaW5zdGFuY2VvZiBEb2N1bWVudCkge1xuICAgICAgcmV0dXJuIHRoaXMuX3Njcm9sbEVsZW1lbnQuZG9jdW1lbnRFbGVtZW50W3Byb3BlcnR5XSB8fCB0aGlzLl9zY3JvbGxFbGVtZW50LmJvZHlbcHJvcGVydHldO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fc2Nyb2xsRWxlbWVudD8uW3Byb3BlcnR5XSB8fCAwO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGNvcnJlY3QgdmFsdWUgZm9yIGBzY3JvbGxUb3BgLCB0aGVuOlxuICAgKiAtIGFwcGx5IHRoZSBzaGFkb3cgaWYgdGhlIGVsZW1lbnQvZG9jdW1lbnQgaGFzIGJlZW4gc2Nyb2xsZWQgZG93bjtcbiAgICogLSBoaWRlcyB0aGUgaGVhZGVyLCByZW1vdmUgdGhlIHNoYWRvdyBhbmQgcG9zc2libHkgY2xvc2UgYW55IG9wZW4gbWVudSBvbiB0aGUgaGVhZGVyIGlmIGl0IGlzIG5vdCB2aXNpYmxlIGFueW1vcmU7XG4gICAqIC0gc2hvd3MgdGhlIGhlYWRlciBhbmQgcmUtYXBwbHkgdGhlIHNoYWRvdyBpZiB0aGUgZWxlbWVudC9kb2N1bWVudCBoYXMgYmVlbiBzY3JvbGxlZCB1cC5cbiAgICovXG4gIHByaXZhdGUgX3Njcm9sbExpc3RlbmVyKCk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRTY3JvbGwgPSB0aGlzLl9nZXRDdXJyZW50U2Nyb2xsUHJvcGVydHkoJ3Njcm9sbFRvcCcpO1xuXG4gICAgLy8gV2hldGhlciB0aGUgc2Nyb2xsIHZpZXcgaXMgYm91bmNpbmcgcGFzdCB0aGUgZWRnZSBvZiBjb250ZW50IGFuZCBiYWNrIGFnYWluLlxuICAgIGlmICh0aGlzLl9nZXRDdXJyZW50U2Nyb2xsUHJvcGVydHkoJ3Njcm9sbEhlaWdodCcpIC0gd2luZG93LmlubmVySGVpZ2h0IC0gY3VycmVudFNjcm9sbCA8PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtc2hhZG93JywgY3VycmVudFNjcm9sbCAhPT0gMCk7XG5cbiAgICAvLyBDbG9zZSBvcGVuIG92ZXJsYXlzIHdoZW4gc2Nyb2xsaW5nIGRvd24gaWYgdGhlIGhlYWRlciBpcyBzY3JvbGxlZCBvdXQgb2Ygc2lnaHQuXG4gICAgaWYgKFxuICAgICAgY3VycmVudFNjcm9sbCA+IHRoaXMub2Zmc2V0SGVpZ2h0ICYmXG4gICAgICBjdXJyZW50U2Nyb2xsID4gMCAmJlxuICAgICAgdGhpcy5fbGFzdFNjcm9sbCA8IGN1cnJlbnRTY3JvbGxcbiAgICApIHtcbiAgICAgIHRoaXMuX2Nsb3NlT3Blbk92ZXJsYXlzKCk7XG4gICAgfVxuICAgIC8vIENoZWNrIGlmIHRoZSBoZWFkZXIgaXMgc2Nyb2xsZWQgb3V0IG9mIHNpZ2h0LCBzY3JvbGwgcG9zaXRpb24gPiBoZWFkZXIgaGVpZ2h0ICogMi5cbiAgICBpZiAoY3VycmVudFNjcm9sbCA+IHRoaXMub2Zmc2V0SGVpZ2h0ICogMikge1xuICAgICAgdGhpcy5faGVhZGVyT25Ub3AgPSBmYWxzZTtcbiAgICAgIGlmIChjdXJyZW50U2Nyb2xsID4gMCAmJiB0aGlzLl9sYXN0U2Nyb2xsIDwgY3VycmVudFNjcm9sbCkge1xuICAgICAgICAvLyBTY3JvbGxpbmcgZG93blxuICAgICAgICBbJ2RhdGEtc2hhZG93JywgJ2RhdGEtdmlzaWJsZSddLmZvckVhY2goKG5hbWUpID0+IHRoaXMucmVtb3ZlQXR0cmlidXRlKG5hbWUpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFNjcm9sbGluZyB1cFxuICAgICAgICBbJ2RhdGEtZml4ZWQnLCAnZGF0YS1zaGFkb3cnLCAnZGF0YS1hbmltYXRlZCcsICdkYXRhLXZpc2libGUnXS5mb3JFYWNoKChuYW1lKSA9PlxuICAgICAgICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKG5hbWUsIHRydWUpLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBDaGVjayBpZiBoZWFkZXIgaW4gaXRzIG9yaWdpbmFsIHBvc2l0aW9uLCBzY3JvbGwgcG9zaXRpb24gPCBoZWFkZXIgaGVpZ2h0LlxuICAgICAgLy8gUmVzZXQgaGVhZGVyIGJlaGF2aW91ciB3aGVuIHNjcm9sbCBoaXRzIHRvcCBvZiB0aGUgcGFnZSwgb24gc2Nyb2xsIHBvc2l0aW9uID0gMC5cbiAgICAgIGlmIChjdXJyZW50U2Nyb2xsID09PSAwKSB7XG4gICAgICAgIHRoaXMuX2hlYWRlck9uVG9wID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLl9oZWFkZXJPblRvcCkge1xuICAgICAgICBbJ2RhdGEtc2hhZG93JywgJ2RhdGEtYW5pbWF0ZWQnLCAnZGF0YS1maXhlZCcsICdkYXRhLXZpc2libGUnXS5mb3JFYWNoKChuYW1lKSA9PlxuICAgICAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKG5hbWUpLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBgY3VycmVudFNjcm9sbGAgY2FuIGJlIG5lZ2F0aXZlLCBlLmcuIG9uIG1vYmlsZTsgdGhpcyBpcyBub3QgYWxsb3dlZC5cbiAgICB0aGlzLl9sYXN0U2Nyb2xsID0gY3VycmVudFNjcm9sbCA8PSAwID8gMCA6IGN1cnJlbnRTY3JvbGw7XG4gIH1cblxuICAvKiogQXBwbHkgdGhlIHNoYWRvdyBpZiB0aGUgZWxlbWVudC9kb2N1bWVudCBoYXMgYmVlbiBzY3JvbGxlZCBkb3duLiAqL1xuICBwcml2YXRlIF9zY3JvbGxTaGFkb3dMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1zaGFkb3cnLCB0aGlzLl9nZXRDdXJyZW50U2Nyb2xsUHJvcGVydHkoJ3Njcm9sbFRvcCcpICE9PSAwKTtcbiAgfVxuXG4gIHByaXZhdGUgX2Nsb3NlT3Blbk92ZXJsYXlzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmhhc0F0dHJpYnV0ZSgnZGF0YS1oYXMtdmlzaWJsZS1mb2N1cy13aXRoaW4nKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBvdmVybGF5VHJpZ2dlcnM6IEhUTUxFbGVtZW50W10gPSBBcnJheS5mcm9tKFxuICAgICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsKElTX01FTlVfT1BFTkVEX1FVRVJZKSBhcyBOb2RlTGlzdE9mPEhUTUxFbGVtZW50PixcbiAgICApO1xuICAgIGZvciAoY29uc3Qgb3ZlcmxheVRyaWdnZXIgb2Ygb3ZlcmxheVRyaWdnZXJzKSB7XG4gICAgICBjb25zdCBvdmVybGF5SWQ6IHN0cmluZyA9IG92ZXJsYXlUcmlnZ2VyLmdldEF0dHJpYnV0ZSgnYXJpYS1jb250cm9scycpITtcbiAgICAgIGNvbnN0IG92ZXJsYXkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChvdmVybGF5SWQpIGFzIEhUTUxFbGVtZW50ICYgeyBjbG9zZTogKCkgPT4gdm9pZCB9O1xuICAgICAgaWYgKHR5cGVvZiBvdmVybGF5Py5jbG9zZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBvdmVybGF5LmNsb3NlKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8aGVhZGVyIGNsYXNzPVwic2JiLWhlYWRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLWhlYWRlcl9fd3JhcHBlclwiPlxuICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2hlYWRlcj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItaGVhZGVyJzogU2JiSGVhZGVyRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIl9hIiwicHJvcGVydHkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBVUEsTUFBTSx1QkFBdUI7SUFXdkIsb0JBQWdCLE1BQUE7OzBCQURyQixjQUFjLFlBQVksQ0FBQzs7OztvQkFDRyxrQkFBa0IsVUFBVTs7Ozs7Ozs7Ozs7Ozs7O0FBQXBDLEVBQUEsbUJBQVEsWUFBNkI7QUFBQTs7QUFTMUQ7QUFpQkE7QUFNNkI7QUFFcEI7QUFsQ0wseUJBQUEsNkJBQUEsa0JBQUEsTUFBQSwwQkFBQSxHQVNnQyxrQkFBQSxNQUFBLHdCQUFBLEtBQUs7QUFZakMsV0FBYSxpQkFBQSxrQkFBQSxNQUFBLDJCQUFBLEdBQW9DLENBQUMsV0FBVyxXQUFXO0FBS2hFLHlCQUFBLGdDQUFBLGtCQUFBLE1BQUEsNEJBQXdCLEtBQUs7QUFNa0IseUJBQUEseUJBQUEsa0JBQUEsTUFBQSwrQkFBQSxHQUFBLGtCQUFBLE1BQUEsb0JBQUEsT0FBQSxJQUFXLE1BQU0sR0FBRztBQUV6RCx5QkFBQSxpQ0FBQSxrQkFBQSxNQUFBLHVCQUFBLEdBQUEsa0JBQUEsTUFBQSw0QkFBZSxJQUFJO0FBRXJDLFdBQUEsaUJBQTBELGtCQUFBLE1BQUEsK0JBQUE7QUFHMUQsV0FBVyxjQUFHO0FBQUEsSUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUE5QnRCLElBQWdCLFdBQTBCO0FBQUEsYUFBQSxtQkFBQTtBQUFBLElBQUE7QUFBQSxJQUExQyxJ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
393
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvaGVhZGVyL2hlYWRlci9oZWFkZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIExpdEVsZW1lbnQsXG4gIHR5cGUgUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiRm9jdXNWaXNpYmxlV2l0aGluQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvYTExeS5qcyc7XG5pbXBvcnQgeyBTYmJJZFJlZmVyZW5jZUNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGZvcmNlVHlwZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpc0xlYW4gfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBTYmJIeWRyYXRpb25NaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vaGVhZGVyLnNjc3M/bGl0JmlubGluZSc7XG5cbmNvbnN0IElTX01FTlVfT1BFTkVEX1FVRVJZID0gXCJbYXJpYS1jb250cm9sc11bYXJpYS1leHBhbmRlZD0ndHJ1ZSddXCI7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSBoZWFkZXIgc2VjdGlvbiBmb3IgdGhlIHBhZ2UuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYWN0aW9ucywgY29udGVudCBhbmQgbG9nbyB0byB0aGUgaGVhZGVyLlxuICogQGNzc3Byb3AgWy0tc2JiLWhlYWRlci16LWluZGV4PTEwXSAtIENhbiBiZSB1c2VkIHRvIG1vZGlmeSB0aGUgei1pbmRleCBvZiB0aGUgaGVhZGVyLlxuICogQGNzc3Byb3AgWy0tc2JiLWhlYWRlci1oZWlnaHQ9emVyby1zbWFsbDp2YXIoLS1zYmItc3BhY2luZy1maXhlZC0xNHgpO21lZGl1bS11bHRyYTp2YXIoLS1zYmItc3BhY2luZy1maXhlZC0yNHgpXSAtIENhbiBiZSB1c2VkIHRvIG1vZGlmeSBoZWlnaHQgb2YgdGhlIGhlYWRlci5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLWhlYWRlcicpXG5jbGFzcyBTYmJIZWFkZXJFbGVtZW50IGV4dGVuZHMgU2JiSHlkcmF0aW9uTWl4aW4oTGl0RWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvKipcbiAgICogV2hldGhlciB0byBhbGxvdyB0aGUgaGVhZGVyIGNvbnRlbnQgdG8gc3RyZXRjaCB0byBmdWxsIHdpZHRoLlxuICAgKiBCeSBkZWZhdWx0LCB0aGUgY29udGVudCBoYXMgdGhlIGFwcHJvcHJpYXRlIHBhZ2Ugc2l6ZS5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBleHBhbmRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8vIFRPRE86IFJlbW92ZSB0aGUgZG9jdW1lbnQgYXMgZGVmYXVsdCBhc3NpZ25tZW50IGFuZCByZWZhY3RvciBsb2dpYyB0byByZXR1cm4gZG9jdW1lbnRcbiAgLyoqIFRoZSBlbGVtZW50J3MgaWQgb3IgdGhlIGVsZW1lbnQgb24gd2hpY2ggdGhlIHNjcm9sbCBsaXN0ZW5lciBpcyBhdHRhY2hlZC4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnc2Nyb2xsLW9yaWdpbicgfSlcbiAgcHVibGljIGFjY2Vzc29yIHNjcm9sbE9yaWdpbjogc3RyaW5nIHwgSFRNTEVsZW1lbnQgfCBEb2N1bWVudCA9ICFpc1NlcnZlciA/IGRvY3VtZW50IDogbnVsbCE7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGhlYWRlciBzaG91bGQgaGlkZSBhbmQgc2hvdyBvbiBzY3JvbGwuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdoaWRlLW9uLXNjcm9sbCcsIHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGhpZGVPblNjcm9sbDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBTaXplIG9mIHRoZSBoZWFkZXIsIGVpdGhlciBtIG9yIHMuXG4gICAqIEBkZWZhdWx0ICdtJyAvICdzJyAobGVhbilcbiAgICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHNpemU6ICdtJyB8ICdzJyA9IGlzTGVhbigpID8gJ3MnIDogJ20nO1xuXG4gIEBzdGF0ZSgpIHByaXZhdGUgYWNjZXNzb3IgX2hlYWRlck9uVG9wID0gdHJ1ZTtcblxuICBwcml2YXRlIF9zY3JvbGxFbGVtZW50OiBIVE1MRWxlbWVudCB8IERvY3VtZW50IHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBfc2Nyb2xsRXZlbnRzQ29udHJvbGxlciE6IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfc2Nyb2xsRnVuY3Rpb246ICgoKSA9PiB2b2lkKSB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBfbGFzdFNjcm9sbCA9IDA7XG4gIHByaXZhdGUgX3Njcm9sbE9yaWdpbklkUmVmZXJlbmNlQ29udHJvbGxlciA9IG5ldyBTYmJJZFJlZmVyZW5jZUNvbnRyb2xsZXIodGhpcywgJ3Njcm9sbE9yaWdpbicpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5hZGRDb250cm9sbGVyKG5ldyBTYmJGb2N1c1Zpc2libGVXaXRoaW5Db250cm9sbGVyKHRoaXMpKTtcbiAgfVxuXG4gIC8qKiBJZiBgaGlkZU9uU2Nyb2xsYCBpcyBzZXQsIGNoZWNrcyB0aGUgZWxlbWVudCB0byBob29rIHRoZSBsaXN0ZW5lciBvbiwgYW5kIHBvc3NpYmx5IGFkZCBpdC4qL1xuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl91cGRhdGVTY3JvbGxMaXN0ZW5lcigpO1xuICB9XG5cbiAgLyoqIFJlbW92ZXMgdGhlIHNjcm9sbCBsaXN0ZW5lciwgaWYgcHJldmlvdXNseSBhdHRhY2hlZC4gKi9cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fc2Nyb2xsRWxlbWVudCA9IG51bGw7XG4gICAgdGhpcy5fc2Nyb2xsRXZlbnRzQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZXF1ZXN0VXBkYXRlKFxuICAgIG5hbWU/OiBQcm9wZXJ0eUtleSxcbiAgICBvbGRWYWx1ZT86IHVua25vd24sXG4gICAgb3B0aW9ucz86IFByb3BlcnR5RGVjbGFyYXRpb24sXG4gICk6IHZvaWQge1xuICAgIHN1cGVyLnJlcXVlc3RVcGRhdGUobmFtZSwgb2xkVmFsdWUsIG9wdGlvbnMpO1xuXG4gICAgaWYgKCFpc1NlcnZlciAmJiAoIW5hbWUgfHwgbmFtZSA9PT0gJ3Njcm9sbE9yaWdpbicpICYmIHRoaXMuaGFzVXBkYXRlZCkge1xuICAgICAgdGhpcy5fdXBkYXRlU2Nyb2xsTGlzdGVuZXIoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVTY3JvbGxMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICBjb25zdCBzY3JvbGxFbGVtZW50ID1cbiAgICAgIHRoaXMuc2Nyb2xsT3JpZ2luIGluc3RhbmNlb2YgSFRNTEVsZW1lbnRcbiAgICAgICAgPyB0aGlzLnNjcm9sbE9yaWdpblxuICAgICAgICA6ICh0aGlzLl9zY3JvbGxPcmlnaW5JZFJlZmVyZW5jZUNvbnRyb2xsZXIuZmluZCgpID8/IGRvY3VtZW50KTtcbiAgICBpZiAoc2Nyb2xsRWxlbWVudCA9PT0gdGhpcy5fc2Nyb2xsRWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3Njcm9sbEV2ZW50c0NvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5fc2Nyb2xsRWxlbWVudCA9IHNjcm9sbEVsZW1lbnQ7XG4gICAgaWYgKCF0aGlzLl9zY3JvbGxFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX3Njcm9sbEV2ZW50c0NvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgdGhpcy5fc2Nyb2xsRnVuY3Rpb24gPSB0aGlzLl9nZXRTY3JvbGxGdW5jdGlvbi5iaW5kKHRoaXMpO1xuICAgIHRoaXMuX3Njcm9sbEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5fc2Nyb2xsRnVuY3Rpb24sIHtcbiAgICAgIHBhc3NpdmU6IHRydWUsXG4gICAgICBzaWduYWw6IHRoaXMuX3Njcm9sbEV2ZW50c0NvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuXG4gICAgY29uc3QgY3VycmVudFNjcm9sbCA9IHRoaXMuX2dldEN1cnJlbnRTY3JvbGxQcm9wZXJ0eSgnc2Nyb2xsVG9wJyk7XG4gICAgLy8gYGN1cnJlbnRTY3JvbGxgIGNhbiBiZSBuZWdhdGl2ZSwgZS5nLiBvbiBtb2JpbGU7IHRoaXMgaXMgbm90IGFsbG93ZWQuXG4gICAgdGhpcy5fbGFzdFNjcm9sbCA9IGN1cnJlbnRTY3JvbGwgPD0gMCA/IDAgOiBjdXJyZW50U2Nyb2xsO1xuICB9XG5cbiAgLyoqIFJldHVybnMgdGhlIGNvcnJlY3QgZnVuY3Rpb24gdG8gYXR0YWNoIG9uIHNjcm9sbC4gKi9cbiAgcHJpdmF0ZSBfZ2V0U2Nyb2xsRnVuY3Rpb24oKTogdm9pZCB7XG4gICAgcmV0dXJuIHRoaXMuaGlkZU9uU2Nyb2xsID8gdGhpcy5fc2Nyb2xsTGlzdGVuZXIoKSA6IHRoaXMuX3Njcm9sbFNoYWRvd0xpc3RlbmVyKCk7XG4gIH1cblxuICAvKiogUmV0dXJucyB0aGUgcmVxdWVzdGVkIHByb3BlcnR5IG9mIHRoZSBzY3JvbGxDb250ZXh0LiAqL1xuICBwcml2YXRlIF9nZXRDdXJyZW50U2Nyb2xsUHJvcGVydHkocHJvcGVydHk6ICdzY3JvbGxUb3AnIHwgJ3Njcm9sbEhlaWdodCcpOiBudW1iZXIge1xuICAgIGlmICh0aGlzLl9zY3JvbGxFbGVtZW50IGluc3RhbmNlb2YgRG9jdW1lbnQpIHtcbiAgICAgIHJldHVybiB0aGlzLl9zY3JvbGxFbGVtZW50LmRvY3VtZW50RWxlbWVudFtwcm9wZXJ0eV0gfHwgdGhpcy5fc2Nyb2xsRWxlbWVudC5ib2R5W3Byb3BlcnR5XTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX3Njcm9sbEVsZW1lbnQ/Lltwcm9wZXJ0eV0gfHwgMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBjb3JyZWN0IHZhbHVlIGZvciBgc2Nyb2xsVG9wYCwgdGhlbjpcbiAgICogLSBhcHBseSB0aGUgc2hhZG93IGlmIHRoZSBlbGVtZW50L2RvY3VtZW50IGhhcyBiZWVuIHNjcm9sbGVkIGRvd247XG4gICAqIC0gaGlkZXMgdGhlIGhlYWRlciwgcmVtb3ZlIHRoZSBzaGFkb3cgYW5kIHBvc3NpYmx5IGNsb3NlIGFueSBvcGVuIG1lbnUgb24gdGhlIGhlYWRlciBpZiBpdCBpcyBub3QgdmlzaWJsZSBhbnltb3JlO1xuICAgKiAtIHNob3dzIHRoZSBoZWFkZXIgYW5kIHJlLWFwcGx5IHRoZSBzaGFkb3cgaWYgdGhlIGVsZW1lbnQvZG9jdW1lbnQgaGFzIGJlZW4gc2Nyb2xsZWQgdXAuXG4gICAqL1xuICBwcml2YXRlIF9zY3JvbGxMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50U2Nyb2xsID0gdGhpcy5fZ2V0Q3VycmVudFNjcm9sbFByb3BlcnR5KCdzY3JvbGxUb3AnKTtcblxuICAgIC8vIFdoZXRoZXIgdGhlIHNjcm9sbCB2aWV3IGlzIGJvdW5jaW5nIHBhc3QgdGhlIGVkZ2Ugb2YgY29udGVudCBhbmQgYmFjayBhZ2Fpbi5cbiAgICBpZiAodGhpcy5fZ2V0Q3VycmVudFNjcm9sbFByb3BlcnR5KCdzY3JvbGxIZWlnaHQnKSAtIHdpbmRvdy5pbm5lckhlaWdodCAtIGN1cnJlbnRTY3JvbGwgPD0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLXNoYWRvdycsIGN1cnJlbnRTY3JvbGwgIT09IDApO1xuXG4gICAgLy8gQ2xvc2Ugb3BlbiBvdmVybGF5cyB3aGVuIHNjcm9sbGluZyBkb3duIGlmIHRoZSBoZWFkZXIgaXMgc2Nyb2xsZWQgb3V0IG9mIHNpZ2h0LlxuICAgIGlmIChcbiAgICAgIGN1cnJlbnRTY3JvbGwgPiB0aGlzLm9mZnNldEhlaWdodCAmJlxuICAgICAgY3VycmVudFNjcm9sbCA+IDAgJiZcbiAgICAgIHRoaXMuX2xhc3RTY3JvbGwgPCBjdXJyZW50U2Nyb2xsXG4gICAgKSB7XG4gICAgICB0aGlzLl9jbG9zZU9wZW5PdmVybGF5cygpO1xuICAgIH1cbiAgICAvLyBDaGVjayBpZiB0aGUgaGVhZGVyIGlzIHNjcm9sbGVkIG91dCBvZiBzaWdodCwgc2Nyb2xsIHBvc2l0aW9uID4gaGVhZGVyIGhlaWdodCAqIDIuXG4gICAgaWYgKGN1cnJlbnRTY3JvbGwgPiB0aGlzLm9mZnNldEhlaWdodCAqIDIpIHtcbiAgICAgIHRoaXMuX2hlYWRlck9uVG9wID0gZmFsc2U7XG4gICAgICBpZiAoY3VycmVudFNjcm9sbCA+IDAgJiYgdGhpcy5fbGFzdFNjcm9sbCA8IGN1cnJlbnRTY3JvbGwpIHtcbiAgICAgICAgLy8gU2Nyb2xsaW5nIGRvd25cbiAgICAgICAgWydkYXRhLXNoYWRvdycsICdkYXRhLXZpc2libGUnXS5mb3JFYWNoKChuYW1lKSA9PiB0aGlzLnJlbW92ZUF0dHJpYnV0ZShuYW1lKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBTY3JvbGxpbmcgdXBcbiAgICAgICAgWydkYXRhLWZpeGVkJywgJ2RhdGEtc2hhZG93JywgJ2RhdGEtYW5pbWF0ZWQnLCAnZGF0YS12aXNpYmxlJ10uZm9yRWFjaCgobmFtZSkgPT5cbiAgICAgICAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZShuYW1lLCB0cnVlKSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gQ2hlY2sgaWYgaGVhZGVyIGluIGl0cyBvcmlnaW5hbCBwb3NpdGlvbiwgc2Nyb2xsIHBvc2l0aW9uIDwgaGVhZGVyIGhlaWdodC5cbiAgICAgIC8vIFJlc2V0IGhlYWRlciBiZWhhdmlvdXIgd2hlbiBzY3JvbGwgaGl0cyB0b3Agb2YgdGhlIHBhZ2UsIG9uIHNjcm9sbCBwb3NpdGlvbiA9IDAuXG4gICAgICBpZiAoY3VycmVudFNjcm9sbCA9PT0gMCkge1xuICAgICAgICB0aGlzLl9oZWFkZXJPblRvcCA9IHRydWU7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5faGVhZGVyT25Ub3ApIHtcbiAgICAgICAgWydkYXRhLXNoYWRvdycsICdkYXRhLWFuaW1hdGVkJywgJ2RhdGEtZml4ZWQnLCAnZGF0YS12aXNpYmxlJ10uZm9yRWFjaCgobmFtZSkgPT5cbiAgICAgICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZShuYW1lKSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gYGN1cnJlbnRTY3JvbGxgIGNhbiBiZSBuZWdhdGl2ZSwgZS5nLiBvbiBtb2JpbGU7IHRoaXMgaXMgbm90IGFsbG93ZWQuXG4gICAgdGhpcy5fbGFzdFNjcm9sbCA9IGN1cnJlbnRTY3JvbGwgPD0gMCA/IDAgOiBjdXJyZW50U2Nyb2xsO1xuICB9XG5cbiAgLyoqIEFwcGx5IHRoZSBzaGFkb3cgaWYgdGhlIGVsZW1lbnQvZG9jdW1lbnQgaGFzIGJlZW4gc2Nyb2xsZWQgZG93bi4gKi9cbiAgcHJpdmF0ZSBfc2Nyb2xsU2hhZG93TGlzdGVuZXIoKTogdm9pZCB7XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtc2hhZG93JywgdGhpcy5fZ2V0Q3VycmVudFNjcm9sbFByb3BlcnR5KCdzY3JvbGxUb3AnKSAhPT0gMCk7XG4gIH1cblxuICBwcml2YXRlIF9jbG9zZU9wZW5PdmVybGF5cygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5oYXNBdHRyaWJ1dGUoJ2RhdGEtaGFzLXZpc2libGUtZm9jdXMtd2l0aGluJykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgb3ZlcmxheVRyaWdnZXJzOiBIVE1MRWxlbWVudFtdID0gQXJyYXkuZnJvbShcbiAgICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbChJU19NRU5VX09QRU5FRF9RVUVSWSkgYXMgTm9kZUxpc3RPZjxIVE1MRWxlbWVudD4sXG4gICAgKTtcbiAgICBmb3IgKGNvbnN0IG92ZXJsYXlUcmlnZ2VyIG9mIG92ZXJsYXlUcmlnZ2Vycykge1xuICAgICAgY29uc3Qgb3ZlcmxheUlkOiBzdHJpbmcgPSBvdmVybGF5VHJpZ2dlci5nZXRBdHRyaWJ1dGUoJ2FyaWEtY29udHJvbHMnKSE7XG4gICAgICBjb25zdCBvdmVybGF5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQob3ZlcmxheUlkKSBhcyBIVE1MRWxlbWVudCAmIHsgY2xvc2U6ICgpID0+IHZvaWQgfTtcbiAgICAgIGlmICh0eXBlb2Ygb3ZlcmxheT8uY2xvc2UgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgb3ZlcmxheS5jbG9zZSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGhlYWRlciBjbGFzcz1cInNiYi1oZWFkZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1oZWFkZXJfX3dyYXBwZXJcIj5cbiAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9oZWFkZXI+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWhlYWRlcic6IFNiYkhlYWRlckVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJfYSIsInByb3BlcnR5Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFrQkEsTUFBTSx1QkFBdUI7SUFXdkIsb0JBQWdCLE1BQUE7OzBCQURyQixjQUFjLFlBQVksQ0FBQzs7OztvQkFDRyxrQkFBa0IsVUFBVTs7Ozs7Ozs7Ozs7Ozs7OztBQUFwQyxFQUFBLG1CQUFRLFlBQTZCO0FBQUEsSUFtQzFELGNBQUE7O0FBMUJBO0FBS0E7QUFLQTtBQU02QjtBQUVwQjtBQWxCTyx5QkFBQSw0QkFBQSxrQkFBQSxNQUFBLHdCQUFvQixLQUFLO0FBS3VCLHlCQUFBLGlDQUFBLGtCQUFBLE1BQUEsMkJBQUEsR0FBQSxrQkFBQSxNQUFBLDRCQUFBLENBQUMsV0FBVyxXQUFXLElBQUs7QUFLNUUseUJBQUEsaUNBQUEsa0JBQUEsTUFBQSwrQkFBQSxHQUFBLGtCQUFBLE1BQUEsNEJBQXdCLEtBQUs7QUFNa0IseUJBQUEseUJBQUEsa0JBQUEsTUFBQSwrQkFBQSxHQUFBLGtCQUFBLE1BQUEsb0JBQUEsT0FBQSxJQUFXLE1BQU0sR0FBRztBQUV6RCx5QkFBQSxpQ0FBQSxrQkFBQSxNQUFBLHVCQUFBLEdBQUEsa0JBQUEsTUFBQSw0QkFBZSxJQUFJO0FBRXJDLFdBQUEsaUJBQTBELGtCQUFBLE1BQUEsK0JBQUE7QUFHMUQsV0FBVyxjQUFHO0FBQ2QsV0FBa0MscUNBQUcsSUFBSSx5QkFBeUIsTUFBTSxjQUFjO0FBSzVGLFdBQUssY0FBYyxJQUFJLGdDQUFnQyxJQUFJLENBQUM7QUFBQSxJQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQTdCOUQsSUFBZ0IsV0FBMEI7QUFBQSxhQUFBLG1CQUFBO0FBQUEsSUFBQTtBQUFBLElBQTFDLElBQWdCLFNBQTBCLE9BQUE7QUFBQSx5QkFBQSw0QkFBQTtBQUFBLElBQUE7QUFBQTtBQUFBO0FBQUEsSUFLMUMsSUFBZ0IsZUFBNkU7QUFBQSxhQUFBLG1CQUFBO0FBQUEsSUFBQTtBQUFBLElBQTdGLElBQWdCLGFBQTZFLE9BQUE7QUFBQSx5QkFBQSxnQ0FBQTtBQUFBLElBQUE7QUFBQTtBQUFBLElBSzdGLElBQWdCLGVBQThCO0FBQUEsYUFBQSxtQkFBQTtBQUFBLElBQUE7QUFBQSxJQUE5QyxJQUFnQixhQUE4QixPQUFBO0FBQUEseUJBQUEsZ0NBQUE7QUFBQSxJQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQU1qQixJQUFnQixPQUF1QztBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBdkQsSUFBZ0IsS0FBdUMsT0FBQTtBQUFBLHlCQUFBLHdCQUFBO0FBQUEsSUFBQTtBQUFBLElBRTNFLElBQWlCLGVBQW9CO0FBQUEsYUFBQSxtQkFBQTtBQUFBLElBQUE7QUFBQSxJQUFyQyxJQUFpQixhQUFvQixPQUFBO0FBQUEseUJBQUEsZ0NBQUE7QUFBQSxJQUFBO0FBQUE7QUFBQSxJQWU5QixvQkFBaUI7QUFDL0IsWUFBTSxrQkFBaUI7QUFDdkIsV0FBSyxzQkFBcUI7QUFBQSxJQUFBO0FBQUE7QUFBQSxJQUlaLHVCQUFvQjs7QUFDbEMsWUFBTSxxQkFBb0I7QUFDMUIsV0FBSyxpQkFBaUI7QUFDdEIsT0FBQUEsTUFBQSxLQUFLLDRCQUFMLGdCQUFBQSxJQUE4QjtBQUFBO0lBR2hCLGNBQ2QsTUFDQSxVQUNBLFNBQTZCO0FBRXZCLFlBQUEsY0FBYyxNQUFNLFVBQVUsT0FBTztBQUUzQyxVQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsU0FBUyxtQkFBbUIsS0FBSyxZQUFZO0FBQ3RFLGFBQUssc0JBQXFCO0FBQUEsTUFBQTtBQUFBLElBQzVCO0FBQUEsSUFHTSx3QkFBcUI7O0FBQ3JCLFlBQUEsZ0JBQ0osS0FBSyx3QkFBd0IsY0FDekIsS0FBSyxlQUNKLEtBQUssbUNBQW1DLEtBQUEsS0FBVTtBQUNyRCxVQUFBLGtCQUFrQixLQUFLLGdCQUFnQjtBQUN6QztBQUFBLE1BQUE7QUFHRixPQUFBQSxNQUFBLEtBQUssNEJBQUwsZ0JBQUFBLElBQThCO0FBQzlCLFdBQUssaUJBQWlCO0FBQ2xCLFVBQUEsQ0FBQyxLQUFLLGdCQUFnQjtBQUN4QjtBQUFBLE1BQUE7QUFFRyxXQUFBLDBCQUEwQixJQUFJO0FBQ25DLFdBQUssa0JBQWtCLEtBQUssbUJBQW1CLEtBQUssSUFBSTtBQUN4RCxXQUFLLGVBQWUsaUJBQWlCLFVBQVUsS0FBSyxpQkFBaUI7QUFBQSxRQUNuRSxTQUFTO0FBQUEsUUFDVCxRQUFRLEtBQUssd0JBQXdCO0FBQUEsTUFBQSxDQUN0QztBQUVLLFlBQUEsZ0JBQWdCLEtBQUssMEJBQTBCLFdBQVc7QUFFM0QsV0FBQSxjQUFjLGlCQUFpQixJQUFJLElBQUk7QUFBQSxJQUFBO0FBQUE7QUFBQSxJQUl0QyxxQkFBa0I7QUFDeEIsYUFBTyxLQUFLLGVBQWUsS0FBSyxnQkFBZSxJQUFLLEtBQUs7OztJQUluRCwwQkFBMEJDLFdBQXNDOztBQUNsRSxVQUFBLEtBQUssMEJBQTBCLFVBQVU7QUFDcEMsZUFBQSxLQUFLLGVBQWUsZ0JBQWdCQSxTQUFRLEtBQUssS0FBSyxlQUFlLEtBQUtBLFNBQVE7QUFBQSxNQUFBO0FBRXBGLGVBQUFELE1BQUEsS0FBSyxtQkFBTCxnQkFBQUEsSUFBc0JDLGVBQWE7QUFBQSxJQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFTcEMsa0JBQWU7QUFDZixZQUFBLGdCQUFnQixLQUFLLDBCQUEwQixXQUFXO0FBR2hFLFVBQUksS0FBSywwQkFBMEIsY0FBYyxJQUFJLE9BQU8sY0FBYyxpQkFBaUIsR0FBRztBQUM1RjtBQUFBLE1BQUE7QUFHRyxXQUFBLGdCQUFnQixlQUFlLGtCQUFrQixDQUFDO0FBR3ZELFVBQ0UsZ0JBQWdCLEtBQUssZ0JBQ3JCLGdCQUFnQixLQUNoQixLQUFLLGNBQWMsZUFDbkI7QUFDQSxhQUFLLG1CQUFrQjtBQUFBLE1BQUE7QUFHckIsVUFBQSxnQkFBZ0IsS0FBSyxlQUFlLEdBQUc7QUFDekMsYUFBSyxlQUFlO0FBQ3BCLFlBQUksZ0JBQWdCLEtBQUssS0FBSyxjQUFjLGVBQWU7QUFFeEQsV0FBQSxlQUFlLGNBQWMsRUFBRSxRQUFRLENBQUMsU0FBUyxLQUFLLGdCQUFnQixJQUFJLENBQUM7QUFBQSxRQUFBLE9BQ3ZFO0FBRUwsV0FBQyxjQUFjLGVBQWUsaUJBQWlCLGNBQWMsRUFBRSxRQUFRLENBQUMsU0FDdEUsS0FBSyxnQkFBZ0IsTUFBTSxJQUFJLENBQUM7QUFBQSxRQUFBO0FBQUEsTUFFcEMsT0FDSztBQUdMLFlBQUksa0JBQWtCLEdBQUc7QUFDdkIsZUFBSyxlQUFlO0FBQUEsUUFBQTtBQUV0QixZQUFJLEtBQUssY0FBYztBQUNwQixXQUFBLGVBQWUsaUJBQWlCLGNBQWMsY0FBYyxFQUFFLFFBQVEsQ0FBQyxTQUN0RSxLQUFLLGdCQUFnQixJQUFJLENBQUM7QUFBQSxRQUFBO0FBQUEsTUFFOUI7QUFHRyxXQUFBLGNBQWMsaUJBQWlCLElBQUksSUFBSTtBQUFBLElBQUE7QUFBQTtBQUFBLElBSXRDLHdCQUFxQjtBQUMzQixXQUFLLGdCQUFnQixlQUFlLEtBQUssMEJBQTBCLFdBQVcsTUFBTSxDQUFDO0FBQUEsSUFBQTtBQUFBLElBRy9FLHFCQUFrQjtBQUNwQixVQUFBLEtBQUssYUFBYSwrQkFBK0IsR0FBRztBQUN0RDtBQUFBLE1BQUE7QUFFRixZQUFNLGtCQUFpQyxNQUFNLEtBQzNDLEtBQUssaUJBQWlCLG9CQUFvQixDQUE0QjtBQUV4RSxpQkFBVyxrQkFBa0IsaUJBQWlCO0FBQ3RDLGNBQUEsWUFBb0IsZUFBZSxhQUFhLGVBQWU7QUFDL0QsY0FBQSxVQUFVLFNBQVMsZUFBZSxTQUFTO0FBQzdDLFlBQUEsUUFBTyxtQ0FBUyxXQUFVLFlBQVk7QUFDeEMsa0JBQVEsTUFBSztBQUFBLFFBQUE7QUFBQSxNQUNmO0FBQUEsSUFDRjtBQUFBLElBR2lCLFNBQU07QUFDaEIsYUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLElBQUE7QUFBQSxLQTFLVCw0Q0FLQSxnREFLQSxnREFNNkIsd0NBRXBCOztBQXBCUiwyQkFBQSxDQUFBLFVBQVcsR0FDWCxTQUFTLEVBQUUsU0FBUyxNQUFNLE1BQU0sU0FBUyxDQUFDO0FBSzFDLCtCQUFBLENBQUEsU0FBUyxFQUFFLFdBQVcsZ0JBQWlCLENBQUEsQ0FBQztBQUl4QywrQkFBQSxDQUFBLGFBQ0EsU0FBUyxFQUFFLFdBQVcsa0JBQWtCLFNBQVMsTUFBTSxNQUFNLFFBQVMsQ0FBQSxDQUFDO0FBT3ZFLHVCQUFBLENBQUEsU0FBUyxFQUFFLFNBQVMsS0FBTSxDQUFBLENBQUM7QUFFM0IsK0JBQUEsQ0FBQSxPQUFPO0FBbEJRLGlCQUFBLElBQUEsTUFBQSxzQkFBQSxFQUFBLE1BQUEsWUFBQSxNQUFBLFlBQUEsUUFBQSxPQUFBLFNBQUEsT0FBQSxRQUFBLEVBQUEsS0FBQSxDQUFBLFFBQUEsY0FBQSxLQUFBLEtBQUEsQ0FBQSxRQUFBLElBQUEsVUFBQSxLQUFBLENBQUEsS0FBQSxVQUFBO0FBQUEsVUFBQSxXQUEwQjtBQUFBLFNBQUEsVUFBQSxhQUFBLHdCQUFBLDJCQUFBO0FBSzFCLGlCQUFBLElBQUEsTUFBQSwwQkFBQSxFQUFBLE1BQUEsWUFBQSxNQUFBLGdCQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLGtCQUFBLEtBQUEsS0FBQSxDQUFBLFFBQUEsSUFBQSxjQUFBLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxVQUFBLGVBQTZFO0FBQUEsU0FBQSxVQUFBLGFBQUEsNEJBQUEsK0JBQUE7QUFLN0UsaUJBQUEsSUFBQSxNQUFBLDBCQUFBLEVBQUEsTUFBQSxZQUFBLE1BQUEsZ0JBQUEsUUFBQSxPQUFBLFNBQUEsT0FBQSxRQUFBLEVBQUEsS0FBQSxDQUFBLFFBQUEsa0JBQUEsS0FBQSxLQUFBLENBQUEsUUFBQSxJQUFBLGNBQUEsS0FBQSxDQUFBLEtBQUEsVUFBQTtBQUFBLFVBQUEsZUFBOEI7QUFBQSxTQUFBLFVBQUEsYUFBQSw0QkFBQSwrQkFBQTtBQU1ELGlCQUFBLElBQUEsTUFBQSxrQkFBQSxFQUFBLE1BQUEsWUFBQSxNQUFBLFFBQUEsUUFBQSxPQUFBLFNBQUEsT0FBQSxRQUFBLEVBQUEsS0FBQSxDQUFBLFFBQUEsVUFBQSxLQUFBLEtBQUEsQ0FBQSxRQUFBLElBQUEsTUFBQSxLQUFBLENBQUEsS0FBQSxVQUFBO0FBQUEsVUFBQSxPQUF1QztBQUFBLFNBQUEsVUFBQSxhQUFBLG9CQUFBLHVCQUFBO0FBRTFELGlCQUFBLElBQUEsTUFBQSwwQkFBQSxFQUFBLE1BQUEsWUFBQSxNQUFBLGdCQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLGtCQUFBLEtBQUEsS0FBQSxDQUFBLFFBQUEsSUFBQSxjQUFBLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxVQUFBLGVBQW9CO0FBQUEsU0FBQSxVQUFBLGFBQUEsNEJBQUEsK0JBQUE7QUEzQmhELGlCQTJMQyxNQUFBLG1CQUFBLEVBQUEsT0FBQSxXQUFBLEdBQUEsa0JBQUEsRUFBQSxNQUFBLFNBQUEsTUFBQSxXQUFBLE1BQUEsVUFBQSxVQUFBLEdBQUEsTUFBQSx1QkFBQTs7O1FBMUx3QixHQUFNLFNBQW1CLE9BRDVDLGtCQUFnQixZQUFBLHVCQUFBLEdBQUM7OzsifQ==
@@ -1,4 +1,4 @@
1
- import { CSSResultGroup, TemplateResult } from 'lit';
1
+ import { CSSResultGroup, PropertyDeclaration, TemplateResult } from 'lit';
2
2
  import { SbbOpenCloseBaseElement } from '../../core/base-elements.js';
3
3
  import { SbbMenuButtonElement } from '../menu-button.js';
4
4
  import { SbbMenuLinkElement } from '../menu-link.js';
@@ -22,9 +22,7 @@ export declare class SbbMenuElement extends SbbMenuElement_base {
22
22
  * The element that will trigger the menu overlay.
23
23
  * Accepts both a string (id of an element) or an HTML element.
24
24
  */
25
- set trigger(value: string | HTMLElement | null);
26
- get trigger(): string | HTMLElement | null;
27
- private _trigger;
25
+ accessor trigger: string | HTMLElement | null;
28
26
  /**
29
27
  * This will be forwarded as aria-label to the inner list.
30
28
  * Used only if the menu automatically renders the actions inside as a list.
@@ -32,10 +30,11 @@ export declare class SbbMenuElement extends SbbMenuElement_base {
32
30
  accessor listAccessibilityLabel: string;
33
31
  private _menu;
34
32
  private _triggerElement;
33
+ private _triggerAbortController;
34
+ private _triggerIdReferenceController;
35
35
  private _isPointerDownEventOnMenu;
36
- private _menuController;
37
36
  private _windowEventsController;
38
- private _sbbEscapableOverlayController;
37
+ private _escapableOverlayController;
39
38
  private _focusHandler;
40
39
  private _scrollHandler;
41
40
  private _inertController;
@@ -57,12 +56,12 @@ export declare class SbbMenuElement extends SbbMenuElement_base {
57
56
  */
58
57
  private _onClick;
59
58
  private _handleKeyDown;
60
- private _removeTriggerClickListener;
61
59
  protected createRenderRoot(): HTMLElement | DocumentFragment;
62
60
  connectedCallback(): void;
63
61
  disconnectedCallback(): void;
62
+ requestUpdate(name?: PropertyKey, oldValue?: unknown, options?: PropertyDeclaration): void;
64
63
  private _checkListCase;
65
- private _configure;
64
+ private _configureTrigger;
66
65
  private _attachWindowEvents;
67
66
  private _closeOnInteractiveElementClick;
68
67
  private _pointerDownListener;
@@ -1 +1 @@
1
- {"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../../../../src/elements/menu/menu/menu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAQ,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAYrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAqBtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;;AAkB1D;;;;;;;;;;;GAWG;AACH,qBAKM,cAAe,SAAQ,mBAGH;IACxB,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,mBAA4B,mBAAmB,WAAwC;IAEvF;;;OAGG;IACH,IACW,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,EAIpD;IACD,IAAW,OAAO,IAAI,MAAM,GAAG,WAAW,GAAG,IAAI,CAEhD;IACD,OAAO,CAAC,QAAQ,CAAqC;IAErD;;;OAGG;IACH,SAEgB,sBAAsB,EAAE,MAAM,CAAM;IAEpD,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,yBAAyB,CAAkB;IACnD,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,uBAAuB,CAAmB;IAClD,OAAO,CAAC,8BAA8B,CAA2C;IACjF,OAAO,CAAC,aAAa,CAAyB;IAC9C,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,gBAAgB,CAAgC;IACxD,OAAO,CAAC,aAAa,CAQlB;;IAQH;;OAEG;IACI,IAAI,IAAI,IAAI;IAyBnB;;OAEG;IACI,KAAK,IAAI,IAAI;IAmBpB,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,cAAc;IAuBtB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,cAAc;IA2CtB,OAAO,CAAC,2BAA2B;cAWhB,gBAAgB,IAAI,WAAW,GAAG,gBAAgB;IAWrD,iBAAiB,IAAI,IAAI;IASzB,oBAAoB,IAAI,IAAI;IAQ5C,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,UAAU;IAsBlB,OAAO,CAAC,mBAAmB;IAuB3B,OAAO,CAAC,+BAA+B;IAQvC,OAAO,CAAC,oBAAoB,CAE1B;IAGF,OAAO,CAAC,qBAAqB,CAI3B;IAMF,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,gBAAgB;cAyBL,MAAM,IAAI,cAAc;CAsB5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,UAAU,EAAE,cAAc,CAAC;KAC5B;CACF"}
1
+ {"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../../../../src/elements/menu/menu/menu.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAGnB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAYb,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAkBtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;;AAkB1D;;;;;;;;;;;GAWG;AACH,qBAKM,cAAe,SAAQ,mBAGH;IACxB,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,mBAA4B,mBAAmB,WAAwC;IAEvF;;;OAGG;IACH,SACgB,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAAQ;IAE5D;;;OAGG;IACH,SAEgB,sBAAsB,EAAE,MAAM,CAAM;IAEpD,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,uBAAuB,CAAmB;IAClD,OAAO,CAAC,6BAA6B,CAAiD;IACtF,OAAO,CAAC,yBAAyB,CAAkB;IACnD,OAAO,CAAC,uBAAuB,CAAmB;IAClD,OAAO,CAAC,2BAA2B,CAA2C;IAC9E,OAAO,CAAC,aAAa,CAAyB;IAC9C,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,gBAAgB,CAAgC;IACxD,OAAO,CAAC,aAAa,CAQlB;;IAQH;;OAEG;IACI,IAAI,IAAI,IAAI;IAyBnB;;OAEG;IACI,KAAK,IAAI,IAAI;IAmBpB,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,cAAc;IAuBtB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,cAAc;cA2CH,gBAAgB,IAAI,WAAW,GAAG,gBAAgB;IAWrD,iBAAiB,IAAI,IAAI;IASzB,oBAAoB,IAAI,IAAI;IAS5B,aAAa,CAC3B,IAAI,CAAC,EAAE,WAAW,EAClB,QAAQ,CAAC,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,IAAI;IAQP,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,iBAAiB;IAyBzB,OAAO,CAAC,mBAAmB;IAuB3B,OAAO,CAAC,+BAA+B;IAQvC,OAAO,CAAC,oBAAoB,CAE1B;IAGF,OAAO,CAAC,qBAAqB,CAI3B;IAMF,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,gBAAgB;cAyBL,MAAM,IAAI,cAAc;CAsB5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,UAAU,EAAE,cAAc,CAAC;KAC5B;CACF"}