@sbb-esta/lyne-elements 3.8.0 → 3.9.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.
- package/core/base-elements/open-close-base-element.d.ts +2 -0
- package/core/base-elements/open-close-base-element.d.ts.map +1 -1
- package/core/base-elements/open-close-base-element.js +4 -0
- package/core/controllers/escapable-overlay-controller.js +3 -3
- package/core/controllers/inert-controller.d.ts +8 -1
- package/core/controllers/inert-controller.d.ts.map +1 -1
- package/core/controllers/inert-controller.js +25 -13
- package/core/overlay/position.d.ts +20 -0
- package/core/overlay/position.d.ts.map +1 -1
- package/core/overlay/position.js +34 -23
- package/core/overlay.js +11 -10
- package/core/styles/core.scss +7 -0
- package/core.css +6 -0
- package/custom-elements.json +612 -138
- package/development/core/base-elements/open-close-base-element.d.ts +2 -0
- package/development/core/base-elements/open-close-base-element.d.ts.map +1 -1
- package/development/core/base-elements/open-close-base-element.js +5 -1
- package/development/core/controllers/escapable-overlay-controller.js +2 -2
- package/development/core/controllers/inert-controller.d.ts +8 -1
- package/development/core/controllers/inert-controller.d.ts.map +1 -1
- package/development/core/controllers/inert-controller.js +49 -30
- package/development/core/overlay/position.d.ts +20 -0
- package/development/core/overlay/position.d.ts.map +1 -1
- package/development/core/overlay/position.js +41 -1
- package/development/core/overlay.js +2 -1
- package/development/menu/common/menu-action-common.d.ts.map +1 -1
- package/development/menu/common/menu-action-common.js +20 -3
- package/development/menu/menu/menu.component.d.ts +21 -10
- package/development/menu/menu/menu.component.d.ts.map +1 -1
- package/development/menu/menu/menu.component.js +203 -61
- package/development/option/option/option.component.js +4 -2
- package/development/tabs/tab/tab.component.d.ts +10 -4
- package/development/tabs/tab/tab.component.d.ts.map +1 -1
- package/development/tabs/tab/tab.component.js +15 -16
- package/development/tabs/tab-group/tab-group.component.d.ts +15 -14
- package/development/tabs/tab-group/tab-group.component.d.ts.map +1 -1
- package/development/tabs/tab-group/tab-group.component.js +46 -175
- package/development/tabs/tab-label/tab-label.component.d.ts +21 -2
- package/development/tabs/tab-label/tab-label.component.d.ts.map +1 -1
- package/development/tabs/tab-label/tab-label.component.js +91 -6
- package/development/tooltip/tooltip.component.d.ts +6 -6
- package/development/tooltip/tooltip.component.d.ts.map +1 -1
- package/development/tooltip/tooltip.component.js +14 -7
- package/menu/common/menu-action-common.d.ts.map +1 -1
- package/menu/common/menu-action-common.js +15 -12
- package/menu/menu/menu.component.d.ts +21 -10
- package/menu/menu/menu.component.d.ts.map +1 -1
- package/menu/menu/menu.component.js +144 -80
- package/off-brand-theme.css +6 -0
- package/option/option/option.component.js +1 -1
- package/package.json +1 -1
- package/safety-theme.css +6 -0
- package/standard-theme.css +6 -0
- package/tabs/tab/tab.component.d.ts +10 -4
- package/tabs/tab/tab.component.d.ts.map +1 -1
- package/tabs/tab/tab.component.js +22 -24
- package/tabs/tab-group/tab-group.component.d.ts +15 -14
- package/tabs/tab-group/tab-group.component.d.ts.map +1 -1
- package/tabs/tab-group/tab-group.component.js +68 -122
- package/tabs/tab-label/tab-label.component.d.ts +21 -2
- package/tabs/tab-label/tab-label.component.d.ts.map +1 -1
- package/tabs/tab-label/tab-label.component.js +88 -46
- package/tooltip/tooltip.component.d.ts +6 -6
- package/tooltip/tooltip.component.d.ts.map +1 -1
- package/tooltip/tooltip.component.js +59 -54
|
@@ -238,11 +238,16 @@ let SbbTabLabelElement = (() => {
|
|
|
238
238
|
let _amount_extraInitializers = [];
|
|
239
239
|
_a = class extends _classSuper {
|
|
240
240
|
constructor() {
|
|
241
|
-
super(
|
|
242
|
-
__privateAdd(this, _level_accessor_storage
|
|
243
|
-
__privateAdd(this, _active_accessor_storage
|
|
244
|
-
__privateAdd(this, _amount_accessor_storage
|
|
241
|
+
super();
|
|
242
|
+
__privateAdd(this, _level_accessor_storage);
|
|
243
|
+
__privateAdd(this, _active_accessor_storage);
|
|
244
|
+
__privateAdd(this, _amount_accessor_storage);
|
|
245
|
+
this._selected = false;
|
|
246
|
+
__privateSet(this, _level_accessor_storage, __runInitializers(this, _level_initializers, "1"));
|
|
247
|
+
__privateSet(this, _active_accessor_storage, (__runInitializers(this, _level_extraInitializers), __runInitializers(this, _active_initializers, false)));
|
|
248
|
+
__privateSet(this, _amount_accessor_storage, (__runInitializers(this, _active_extraInitializers), __runInitializers(this, _amount_initializers, "")));
|
|
245
249
|
__runInitializers(this, _amount_extraInitializers);
|
|
250
|
+
this.addEventListener("click", () => this.activate());
|
|
246
251
|
}
|
|
247
252
|
/**
|
|
248
253
|
* The level will correspond to the heading tag generated in the title.
|
|
@@ -254,7 +259,7 @@ let SbbTabLabelElement = (() => {
|
|
|
254
259
|
set level(value) {
|
|
255
260
|
__privateSet(this, _level_accessor_storage, value);
|
|
256
261
|
}
|
|
257
|
-
/** Active tab state */
|
|
262
|
+
/** Active tab state. */
|
|
258
263
|
get active() {
|
|
259
264
|
return __privateGet(this, _active_accessor_storage);
|
|
260
265
|
}
|
|
@@ -268,6 +273,86 @@ let SbbTabLabelElement = (() => {
|
|
|
268
273
|
set amount(value) {
|
|
269
274
|
__privateSet(this, _amount_accessor_storage, value);
|
|
270
275
|
}
|
|
276
|
+
/** Get the `sbb-tab` related to the `sbb-tab-label`. */
|
|
277
|
+
get tab() {
|
|
278
|
+
return this.nextElementSibling?.localName === "sbb-tab" ? this.nextElementSibling : null;
|
|
279
|
+
}
|
|
280
|
+
/** Get the parent `sbb-tab-group`. */
|
|
281
|
+
get group() {
|
|
282
|
+
return this.closest("sbb-tab-group");
|
|
283
|
+
}
|
|
284
|
+
connectedCallback() {
|
|
285
|
+
super.connectedCallback();
|
|
286
|
+
this.slot = "tab-bar";
|
|
287
|
+
this.tabIndex = this.active ? 0 : -1;
|
|
288
|
+
}
|
|
289
|
+
willUpdate(changedProperties) {
|
|
290
|
+
super.willUpdate(changedProperties);
|
|
291
|
+
if (changedProperties.has("active")) {
|
|
292
|
+
this.internals.ariaSelected = `${this.active}`;
|
|
293
|
+
this.tab?.toggleAttribute("data-active", this.active);
|
|
294
|
+
if (this.active && !this.disabled) {
|
|
295
|
+
this.activate();
|
|
296
|
+
} else {
|
|
297
|
+
this.deactivate();
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
if (changedProperties.has("disabled") && this.disabled) {
|
|
301
|
+
this.tabIndex = -1;
|
|
302
|
+
if (this.active) {
|
|
303
|
+
this.deactivate();
|
|
304
|
+
this.group?.activateTab(0);
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
/** Deactivate the tab. */
|
|
309
|
+
deactivate() {
|
|
310
|
+
this.active = false;
|
|
311
|
+
this._selected = false;
|
|
312
|
+
this.tabIndex = -1;
|
|
313
|
+
}
|
|
314
|
+
/** Select the tab, deactivating the current selected one, and dispatch the tabchange event. */
|
|
315
|
+
activate() {
|
|
316
|
+
if (this.disabled) {
|
|
317
|
+
{
|
|
318
|
+
console.warn("You cannot activate a disabled tab");
|
|
319
|
+
}
|
|
320
|
+
return;
|
|
321
|
+
}
|
|
322
|
+
const tabLabels = this.group?.labels || [];
|
|
323
|
+
const prevActiveTabLabel = tabLabels.find((e) => e._selected);
|
|
324
|
+
if (prevActiveTabLabel !== this) {
|
|
325
|
+
prevActiveTabLabel?.deactivate();
|
|
326
|
+
this.active = true;
|
|
327
|
+
this._selected = true;
|
|
328
|
+
this.tabIndex = 0;
|
|
329
|
+
this.tab?.dispatchEvent(new Event("active", { bubbles: true, composed: true }));
|
|
330
|
+
this.group?.dispatchEvent(new CustomEvent("tabchange", {
|
|
331
|
+
bubbles: true,
|
|
332
|
+
composed: true,
|
|
333
|
+
detail: {
|
|
334
|
+
activeIndex: tabLabels.findIndex((e) => e === this),
|
|
335
|
+
activeTabLabel: this,
|
|
336
|
+
activeTab: this.tab,
|
|
337
|
+
previousIndex: tabLabels.findIndex((e) => e === prevActiveTabLabel),
|
|
338
|
+
previousTabLabel: prevActiveTabLabel,
|
|
339
|
+
previousTab: prevActiveTabLabel?.tab
|
|
340
|
+
}
|
|
341
|
+
}));
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
/**
|
|
345
|
+
* @internal
|
|
346
|
+
*/
|
|
347
|
+
linkToTab() {
|
|
348
|
+
if (!this.tab) {
|
|
349
|
+
{
|
|
350
|
+
console.warn(`Missing content: you should provide a related content for the tab ${this.outerHTML}.`);
|
|
351
|
+
}
|
|
352
|
+
return;
|
|
353
|
+
}
|
|
354
|
+
this.internals.ariaControlsElements = [this.tab];
|
|
355
|
+
}
|
|
271
356
|
render() {
|
|
272
357
|
const TAGNAME = `h${Number(this.level) < 7 ? this.level : "1"}`;
|
|
273
358
|
return html`
|
|
@@ -309,4 +394,4 @@ let SbbTabLabelElement = (() => {
|
|
|
309
394
|
export {
|
|
310
395
|
SbbTabLabelElement
|
|
311
396
|
};
|
|
312
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWxhYmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RhYnMvdGFiLWxhYmVsL3RhYi1sYWJlbC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgTGl0RWxlbWVudCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGh0bWwsIHVuc2FmZVN0YXRpYyB9IGZyb20gJ2xpdC9zdGF0aWMtaHRtbC5qcyc7XG5cbmltcG9ydCB7IGZvcmNlVHlwZSwgb21pdEVtcHR5Q29udmVydGVyLCBzbG90U3RhdGUgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgU2JiRGlzYWJsZWRNaXhpbiwgU2JiRWxlbWVudEludGVybmFsc01peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHsgU2JiSWNvbk5hbWVNaXhpbiB9IGZyb20gJy4uLy4uL2ljb24uanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUaXRsZUxldmVsIH0gZnJvbSAnLi4vLi4vdGl0bGUuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi90YWItbGFiZWwuc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBDb21iaW5lZCB3aXRoIGEgYHNiYi10YWItZ3JvdXBgLCBpdCBkaXNwbGF5cyBhIHRhYidzIHRpdGxlLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIHRhYiB0aXRsZS5cbiAqIEBzbG90IGljb24gLSBVc2UgdGhpcyBzbG90IHRvIGRpc3BsYXkgYW4gaWNvbiB0byB0aGUgbGVmdCBvZiB0aGUgdGl0bGUsIGJ5IHByb3ZpZGluZyB0aGUgYHNiYi1pY29uYCBjb21wb25lbnQuXG4gKiBAc2xvdCBhbW91bnQgLSBQcm92aWRlIGEgbnVtYmVyIHRvIHNob3cgYW4gYW1vdW50IHRvIHRoZSByaWdodCBvZiB0aGUgdGl0bGUuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi10YWItbGFiZWwnKVxuQHNsb3RTdGF0ZSgpXG5jbGFzcyBTYmJUYWJMYWJlbEVsZW1lbnQgZXh0ZW5kcyBTYmJEaXNhYmxlZE1peGluKFxuICBTYmJJY29uTmFtZU1peGluKFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbihMaXRFbGVtZW50KSksXG4pIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByb2xlID0gJ3RhYic7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKlxuICAgKiBUaGUgbGV2ZWwgd2lsbCBjb3JyZXNwb25kIHRvIHRoZSBoZWFkaW5nIHRhZyBnZW5lcmF0ZWQgaW4gdGhlIHRpdGxlLlxuICAgKiBVc2UgdGhpcyBwcm9wZXJ0eSB0byBnZW5lcmF0ZSB0aGUgYXBwcm9wcmlhdGUgaGVhZGVyIHRhZywgdGFraW5nIFNFTyBpbnRvIGNvbnNpZGVyYXRpb24uXG4gICAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgYWNjZXNzb3IgbGV2ZWw6IFNiYlRpdGxlTGV2ZWwgPSAnMSc7XG5cbiAgLyoqIEFjdGl2ZSB0YWIgc3RhdGUgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBBbW91bnQgZGlzcGxheWVkIGluc2lkZSB0aGUgdGFiLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSwgY29udmVydGVyOiBvbWl0RW1wdHlDb252ZXJ0ZXIgfSlcbiAgcHVibGljIGFjY2Vzc29yIGFtb3VudDogc3RyaW5nID0gJyc7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3QgVEFHTkFNRSA9IGBoJHtOdW1iZXIodGhpcy5sZXZlbCkgPCA3ID8gdGhpcy5sZXZlbCA6ICcxJ31gO1xuXG4gICAgLyogZXNsaW50LWRpc2FibGUgbGl0L2JpbmRpbmctcG9zaXRpb25zICovXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLXRhYi1sYWJlbF9fd3JhcHBlclwiPlxuICAgICAgICA8JHt1bnNhZmVTdGF0aWMoVEFHTkFNRSl9IGNsYXNzPVwic2JiLXRhYi1sYWJlbFwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXRhYi1sYWJlbF9faWNvblwiPlxuICAgICAgICAgICAgJHt0aGlzLnJlbmRlckljb25TbG90KCl9XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXRhYi1sYWJlbF9fdGV4dFwiPlxuICAgICAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi10YWItbGFiZWxfX2Ftb3VudFwiPlxuICAgICAgICAgICAgPHNsb3QgbmFtZT1cImFtb3VudFwiPiR7dGhpcy5hbW91bnR9PC9zbG90PlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC8ke3Vuc2FmZVN0YXRpYyhUQUdOQU1FKX0+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItdGFiLWxhYmVsJzogU2JiVGFiTGFiZWxFbGVtZW50O1xu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
|
|
397
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWxhYmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RhYnMvdGFiLWxhYmVsL3RhYi1sYWJlbC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBodG1sLCB1bnNhZmVTdGF0aWMgfSBmcm9tICdsaXQvc3RhdGljLWh0bWwuanMnO1xuXG5pbXBvcnQgeyBmb3JjZVR5cGUsIG9taXRFbXB0eUNvbnZlcnRlciwgc2xvdFN0YXRlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IFNiYkRpc2FibGVkTWl4aW4sIFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7IFNiYkljb25OYW1lTWl4aW4gfSBmcm9tICcuLi8uLi9pY29uLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiVGl0bGVMZXZlbCB9IGZyb20gJy4uLy4uL3RpdGxlLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiVGFiRWxlbWVudCB9IGZyb20gJy4uL3RhYi90YWIuY29tcG9uZW50LmpzJztcbmltcG9ydCB0eXBlIHsgU2JiVGFiQ2hhbmdlZEV2ZW50RGV0YWlscywgU2JiVGFiR3JvdXBFbGVtZW50IH0gZnJvbSAnLi4vdGFiLWdyb3VwLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vdGFiLWxhYmVsLnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKlxuICogQ29tYmluZWQgd2l0aCBhIGBzYmItdGFiLWdyb3VwYCwgaXQgZGlzcGxheXMgYSB0YWIncyB0aXRsZS5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSB0YWIgdGl0bGUuXG4gKiBAc2xvdCBpY29uIC0gVXNlIHRoaXMgc2xvdCB0byBkaXNwbGF5IGFuIGljb24gdG8gdGhlIGxlZnQgb2YgdGhlIHRpdGxlLCBieSBwcm92aWRpbmcgdGhlIGBzYmItaWNvbmAgY29tcG9uZW50LlxuICogQHNsb3QgYW1vdW50IC0gUHJvdmlkZSBhIG51bWJlciB0byBzaG93IGFuIGFtb3VudCB0byB0aGUgcmlnaHQgb2YgdGhlIHRpdGxlLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItdGFiLWxhYmVsJylcbkBzbG90U3RhdGUoKVxuY2xhc3MgU2JiVGFiTGFiZWxFbGVtZW50IGV4dGVuZHMgU2JiRGlzYWJsZWRNaXhpbihcbiAgU2JiSWNvbk5hbWVNaXhpbihTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4oTGl0RWxlbWVudCkpLFxuKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcm9sZSA9ICd0YWInO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvKiogV2hldGhlciB0aGUgdGFiIGlzIHNlbGVjdGVkLiAqL1xuICBwcml2YXRlIF9zZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUaGUgbGV2ZWwgd2lsbCBjb3JyZXNwb25kIHRvIHRoZSBoZWFkaW5nIHRhZyBnZW5lcmF0ZWQgaW4gdGhlIHRpdGxlLlxuICAgKiBVc2UgdGhpcyBwcm9wZXJ0eSB0byBnZW5lcmF0ZSB0aGUgYXBwcm9wcmlhdGUgaGVhZGVyIHRhZywgdGFraW5nIFNFTyBpbnRvIGNvbnNpZGVyYXRpb24uXG4gICAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgYWNjZXNzb3IgbGV2ZWw6IFNiYlRpdGxlTGV2ZWwgPSAnMSc7XG5cbiAgLyoqIEFjdGl2ZSB0YWIgc3RhdGUuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogQW1vdW50IGRpc3BsYXllZCBpbnNpZGUgdGhlIHRhYi4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIGNvbnZlcnRlcjogb21pdEVtcHR5Q29udmVydGVyIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhbW91bnQ6IHN0cmluZyA9ICcnO1xuXG4gIC8qKiBHZXQgdGhlIGBzYmItdGFiYCByZWxhdGVkIHRvIHRoZSBgc2JiLXRhYi1sYWJlbGAuICovXG4gIHB1YmxpYyBnZXQgdGFiKCk6IFNiYlRhYkVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5uZXh0RWxlbWVudFNpYmxpbmc/LmxvY2FsTmFtZSA9PT0gJ3NiYi10YWInXG4gICAgICA/ICh0aGlzLm5leHRFbGVtZW50U2libGluZyBhcyBTYmJUYWJFbGVtZW50KVxuICAgICAgOiBudWxsO1xuICB9XG5cbiAgLyoqIEdldCB0aGUgcGFyZW50IGBzYmItdGFiLWdyb3VwYC4gKi9cbiAgcHVibGljIGdldCBncm91cCgpOiBTYmJUYWJHcm91cEVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5jbG9zZXN0KCdzYmItdGFiLWdyb3VwJyk7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLmFjdGl2YXRlKCkpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5zbG90ID0gJ3RhYi1iYXInO1xuICAgIHRoaXMudGFiSW5kZXggPSB0aGlzLmFjdGl2ZSA/IDAgOiAtMTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnYWN0aXZlJykpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFTZWxlY3RlZCA9IGAke3RoaXMuYWN0aXZlfWA7XG4gICAgICB0aGlzLnRhYj8udG9nZ2xlQXR0cmlidXRlKCdkYXRhLWFjdGl2ZScsIHRoaXMuYWN0aXZlKTtcblxuICAgICAgaWYgKHRoaXMuYWN0aXZlICYmICF0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgIHRoaXMuYWN0aXZhdGUoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZGVhY3RpdmF0ZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2Rpc2FibGVkJykgJiYgdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy50YWJJbmRleCA9IC0xO1xuICAgICAgaWYgKHRoaXMuYWN0aXZlKSB7XG4gICAgICAgIHRoaXMuZGVhY3RpdmF0ZSgpO1xuICAgICAgICB0aGlzLmdyb3VwPy5hY3RpdmF0ZVRhYigwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogRGVhY3RpdmF0ZSB0aGUgdGFiLiAqL1xuICBwdWJsaWMgZGVhY3RpdmF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZSA9IGZhbHNlO1xuICAgIHRoaXMuX3NlbGVjdGVkID0gZmFsc2U7XG4gICAgdGhpcy50YWJJbmRleCA9IC0xO1xuICB9XG5cbiAgLyoqIFNlbGVjdCB0aGUgdGFiLCBkZWFjdGl2YXRpbmcgdGhlIGN1cnJlbnQgc2VsZWN0ZWQgb25lLCBhbmQgZGlzcGF0Y2ggdGhlIHRhYmNoYW5nZSBldmVudC4gKi9cbiAgcHVibGljIGFjdGl2YXRlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICBpZiAoaW1wb3J0Lm1ldGEuZW52LkRFVikge1xuICAgICAgICBjb25zb2xlLndhcm4oJ1lvdSBjYW5ub3QgYWN0aXZhdGUgYSBkaXNhYmxlZCB0YWInKTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB0YWJMYWJlbHM6IFNiYlRhYkxhYmVsRWxlbWVudFtdID0gdGhpcy5ncm91cD8ubGFiZWxzIHx8IFtdO1xuICAgIGNvbnN0IHByZXZBY3RpdmVUYWJMYWJlbCA9IHRhYkxhYmVscy5maW5kKChlKSA9PiBlLl9zZWxlY3RlZCk7XG4gICAgaWYgKHByZXZBY3RpdmVUYWJMYWJlbCAhPT0gdGhpcykge1xuICAgICAgcHJldkFjdGl2ZVRhYkxhYmVsPy5kZWFjdGl2YXRlKCk7XG4gICAgICB0aGlzLmFjdGl2ZSA9IHRydWU7XG4gICAgICB0aGlzLl9zZWxlY3RlZCA9IHRydWU7XG4gICAgICB0aGlzLnRhYkluZGV4ID0gMDtcbiAgICAgIHRoaXMudGFiPy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnYWN0aXZlJywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KSk7XG4gICAgICB0aGlzLmdyb3VwPy5kaXNwYXRjaEV2ZW50KFxuICAgICAgICBuZXcgQ3VzdG9tRXZlbnQ8U2JiVGFiQ2hhbmdlZEV2ZW50RGV0YWlscz4oJ3RhYmNoYW5nZScsIHtcbiAgICAgICAgICBidWJibGVzOiB0cnVlLFxuICAgICAgICAgIGNvbXBvc2VkOiB0cnVlLFxuICAgICAgICAgIGRldGFpbDoge1xuICAgICAgICAgICAgYWN0aXZlSW5kZXg6IHRhYkxhYmVscy5maW5kSW5kZXgoKGUpID0+IGUgPT09IHRoaXMpLFxuICAgICAgICAgICAgYWN0aXZlVGFiTGFiZWw6IHRoaXMsXG4gICAgICAgICAgICBhY3RpdmVUYWI6IHRoaXMudGFiIGFzIFNiYlRhYkVsZW1lbnQsXG4gICAgICAgICAgICBwcmV2aW91c0luZGV4OiB0YWJMYWJlbHMuZmluZEluZGV4KChlKSA9PiBlID09PSBwcmV2QWN0aXZlVGFiTGFiZWwpLFxuICAgICAgICAgICAgcHJldmlvdXNUYWJMYWJlbDogcHJldkFjdGl2ZVRhYkxhYmVsLFxuICAgICAgICAgICAgcHJldmlvdXNUYWI6IHByZXZBY3RpdmVUYWJMYWJlbD8udGFiIGFzIFNiYlRhYkVsZW1lbnQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByb3RlY3RlZCBsaW5rVG9UYWIoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnRhYikge1xuICAgICAgaWYgKGltcG9ydC5tZXRhLmVudi5ERVYpIHtcbiAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgIGBNaXNzaW5nIGNvbnRlbnQ6IHlvdSBzaG91bGQgcHJvdmlkZSBhIHJlbGF0ZWQgY29udGVudCBmb3IgdGhlIHRhYiAke3RoaXMub3V0ZXJIVE1MfS5gLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmludGVybmFscy5hcmlhQ29udHJvbHNFbGVtZW50cyA9IFt0aGlzLnRhYl07XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBjb25zdCBUQUdOQU1FID0gYGgke051bWJlcih0aGlzLmxldmVsKSA8IDcgPyB0aGlzLmxldmVsIDogJzEnfWA7XG5cbiAgICAvKiBlc2xpbnQtZGlzYWJsZSBsaXQvYmluZGluZy1wb3NpdGlvbnMgKi9cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItdGFiLWxhYmVsX193cmFwcGVyXCI+XG4gICAgICAgIDwke3Vuc2FmZVN0YXRpYyhUQUdOQU1FKX0gY2xhc3M9XCJzYmItdGFiLWxhYmVsXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdGFiLWxhYmVsX19pY29uXCI+XG4gICAgICAgICAgICAke3RoaXMucmVuZGVySWNvblNsb3QoKX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdGFiLWxhYmVsX190ZXh0XCI+XG4gICAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXRhYi1sYWJlbF9fYW1vdW50XCI+XG4gICAgICAgICAgICA8c2xvdCBuYW1lPVwiYW1vdW50XCI+JHt0aGlzLmFtb3VudH08L3Nsb3Q+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8LyR7dW5zYWZlU3RhdGljKFRBR05BTUUpfT5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10YWItbGFiZWwnOiBTYmJUYWJMYWJlbEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUF3Qk0sc0JBQWtCLE1BQUE7O0FBRnZCLE1BQUEsbUJBQUEsQ0FBQSxjQUFjLGVBQWUsR0FDN0IsV0FBVzs7OztvQkFDcUIsaUJBQy9C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
|
|
@@ -23,20 +23,20 @@ export declare class SbbTooltipElement extends SbbTooltipElement_base {
|
|
|
23
23
|
* Open the tooltip after a given delay in milliseconds.
|
|
24
24
|
* Global configuration is used as default, if not set.
|
|
25
25
|
*
|
|
26
|
-
* @default
|
|
26
|
+
* @default null
|
|
27
27
|
*/
|
|
28
|
-
set openDelay(value: number);
|
|
28
|
+
set openDelay(value: number | null);
|
|
29
29
|
get openDelay(): number;
|
|
30
|
-
private _openDelay
|
|
30
|
+
private _openDelay;
|
|
31
31
|
/**
|
|
32
32
|
* Close the tooltip after a given delay in milliseconds.
|
|
33
33
|
* Global configuration is used as default, if not set.
|
|
34
34
|
*
|
|
35
|
-
* @default
|
|
35
|
+
* @default null
|
|
36
36
|
*/
|
|
37
|
-
set closeDelay(value: number);
|
|
37
|
+
set closeDelay(value: number | null);
|
|
38
38
|
get closeDelay(): number;
|
|
39
|
-
private _closeDelay
|
|
39
|
+
private _closeDelay;
|
|
40
40
|
/**
|
|
41
41
|
* Automatically close the tooltip after it has been open by long press.
|
|
42
42
|
* Global configuration is used as default, if not set.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/tooltip/tooltip.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAIb,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;;AA6BnE;;;;;;;GAOG;AACH,qBAEM,iBAAkB,SAAQ,sBAAyC;IACvE,gBAAgC,IAAI,aAAa;IACjD,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,OAAO,CAAC,MAAM,CAAC,cAAc,CAAU;IAUvC;;;;OAIG;IACH,SAEgB,OAAO,EAAE,WAAW,GAAG,IAAI,CAAQ;IAEnD;;;;;OAKG;IACH,IACW,SAAS,CAAC,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"tooltip.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/tooltip/tooltip.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAIb,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;;AA6BnE;;;;;;;GAOG;AACH,qBAEM,iBAAkB,SAAQ,sBAAyC;IACvE,gBAAgC,IAAI,aAAa;IACjD,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,OAAO,CAAC,MAAM,CAAC,cAAc,CAAU;IAUvC;;;;OAIG;IACH,SAEgB,OAAO,EAAE,WAAW,GAAG,IAAI,CAAQ;IAEnD;;;;;OAKG;IACH,IACW,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAExC;IACD,IAAW,SAAS,IAAI,MAAM,CAE7B;IACD,OAAO,CAAC,UAAU,CAAuB;IAEzC;;;;;OAKG;IACH,IACW,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAEzC;IACD,IAAW,UAAU,IAAI,MAAM,CAE9B;IACD,OAAO,CAAC,WAAW,CAAuB;IAE1C;;;;;OAKG;IACH,IACW,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAE3C;IACD,IAAW,mBAAmB,IAAI,MAAM,CAEvC;IACD,OAAO,CAAC,oBAAoB,CAAC,CAAS;IAEtC,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;IAEnC,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,uBAAuB,CAAC,CAAkB;IAClD,OAAO,CAAC,oBAAoB,CAAmB;IAC/C,OAAO,CAAC,2BAA2B,CAA2C;IAC9E,OAAO,CAAC,YAAY,CAAC,CAAgC;IACrD,OAAO,CAAC,aAAa,CAAC,CAAgC;IACtD,OAAO,CAAC,qBAAqB,CAAC,CAAgC;IAC9D,OAAO,CAAC,sBAAsB,CAAC,CAAgC;;IAwB/D,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAmCvC,OAAO,CAAC,MAAM,CAAC,6BAA6B;IAM5C,OAAO,CAAC,MAAM,CAAC,qBAAqB;IA2BpB,iBAAiB,IAAI,IAAI;IAYzB,oBAAoB,IAAI,IAAI;IAM5B,aAAa,CAC3B,IAAI,CAAC,EAAE,WAAW,EAClB,QAAQ,CAAC,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,IAAI;cAWY,YAAY,CAAC,iBAAiB,EAAE,cAAc,GAAG,IAAI;IAKjE,IAAI,IAAI,IAAI;IAsBZ,KAAK,IAAI,IAAI;IAgBpB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,OAAO;IAcf,OAAO,CAAC,OAAO;IAgBf,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,wBAAwB;IA0DhC,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,sBAAsB;cAKX,MAAM,IAAI,cAAc;CAW5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,aAAa,EAAE,iBAAiB,CAAC;KAClC;CACF"}
|
|
@@ -147,7 +147,8 @@ let SbbTooltipElement = (() => {
|
|
|
147
147
|
super();
|
|
148
148
|
__privateAdd(this, _trigger_accessor_storage);
|
|
149
149
|
__privateSet(this, _trigger_accessor_storage, (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _trigger_initializers, null)));
|
|
150
|
-
this._openDelay = __runInitializers(this, _trigger_extraInitializers);
|
|
150
|
+
this._openDelay = (__runInitializers(this, _trigger_extraInitializers), null);
|
|
151
|
+
this._closeDelay = null;
|
|
151
152
|
this._triggerElement = null;
|
|
152
153
|
this._escapableOverlayController = new SbbEscapableOverlayController(this);
|
|
153
154
|
this.addEventListener("mouseleave", (event) => {
|
|
@@ -172,10 +173,10 @@ let SbbTooltipElement = (() => {
|
|
|
172
173
|
* Open the tooltip after a given delay in milliseconds.
|
|
173
174
|
* Global configuration is used as default, if not set.
|
|
174
175
|
*
|
|
175
|
-
* @default
|
|
176
|
+
* @default null
|
|
176
177
|
*/
|
|
177
178
|
set openDelay(value) {
|
|
178
|
-
this._openDelay =
|
|
179
|
+
this._openDelay = value;
|
|
179
180
|
}
|
|
180
181
|
get openDelay() {
|
|
181
182
|
return this._openDelay ?? readConfig().tooltip?.openDelay ?? 0;
|
|
@@ -184,10 +185,10 @@ let SbbTooltipElement = (() => {
|
|
|
184
185
|
* Close the tooltip after a given delay in milliseconds.
|
|
185
186
|
* Global configuration is used as default, if not set.
|
|
186
187
|
*
|
|
187
|
-
* @default
|
|
188
|
+
* @default null
|
|
188
189
|
*/
|
|
189
190
|
set closeDelay(value) {
|
|
190
|
-
this._closeDelay =
|
|
191
|
+
this._closeDelay = value;
|
|
191
192
|
}
|
|
192
193
|
get closeDelay() {
|
|
193
194
|
return this._closeDelay ?? readConfig().tooltip?.closeDelay ?? 0;
|
|
@@ -208,6 +209,10 @@ let SbbTooltipElement = (() => {
|
|
|
208
209
|
this._tooltipOutlet = document.createElement("div");
|
|
209
210
|
this._tooltipOutlet.classList.add("sbb-overlay-outlet");
|
|
210
211
|
document.body.appendChild(this._tooltipOutlet);
|
|
212
|
+
const attributeMap = /* @__PURE__ */ new Map([
|
|
213
|
+
["sbb-tooltip-open-delay", "open-delay"],
|
|
214
|
+
["sbb-tooltip-close-delay", "close-delay"]
|
|
215
|
+
]);
|
|
211
216
|
new MutationObserver((mutations) => {
|
|
212
217
|
for (const mutation of mutations) {
|
|
213
218
|
if (mutation.type === "attributes") {
|
|
@@ -220,7 +225,7 @@ let SbbTooltipElement = (() => {
|
|
|
220
225
|
}
|
|
221
226
|
}
|
|
222
227
|
}).observe(document.documentElement, {
|
|
223
|
-
attributeFilter: ["sbb-tooltip"],
|
|
228
|
+
attributeFilter: ["sbb-tooltip", ...attributeMap.keys()],
|
|
224
229
|
childList: true,
|
|
225
230
|
subtree: true
|
|
226
231
|
});
|
|
@@ -240,6 +245,8 @@ let SbbTooltipElement = (() => {
|
|
|
240
245
|
tooltip.trigger = triggerElement;
|
|
241
246
|
}
|
|
242
247
|
tooltip.textContent = tooltipMessage;
|
|
248
|
+
tooltip.openDelay = triggerElement.hasAttribute("sbb-tooltip-open-delay") ? +triggerElement.getAttribute("sbb-tooltip-open-delay") : null;
|
|
249
|
+
tooltip.closeDelay = triggerElement.hasAttribute("sbb-tooltip-close-delay") ? +triggerElement.getAttribute("sbb-tooltip-close-delay") : null;
|
|
243
250
|
} else if (tooltip) {
|
|
244
251
|
tooltipTriggers.delete(triggerElement);
|
|
245
252
|
tooltip._destroy();
|
|
@@ -463,4 +470,4 @@ let SbbTooltipElement = (() => {
|
|
|
463
470
|
export {
|
|
464
471
|
SbbTooltipElement
|
|
465
472
|
};
|
|
466
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGh0bWwsXG4gIGlzU2VydmVyLFxuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxuICB0eXBlIFByb3BlcnR5RGVjbGFyYXRpb24sXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IHJlZiB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3JlZi5qcyc7XG5cbmltcG9ydCB7IFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50IH0gZnJvbSAnLi4vY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB7IHJlYWRDb25maWcgfSBmcm9tICcuLi9jb3JlL2NvbmZpZy5qcyc7XG5pbXBvcnQgeyBTYmJFc2NhcGFibGVPdmVybGF5Q29udHJvbGxlciB9IGZyb20gJy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgaWRSZWZlcmVuY2UgfSBmcm9tICcuLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHtcbiAgYWRkVG9MaXN0QXR0cmlidXRlLFxuICBpc0FuZHJvaWQsXG4gIGlzSU9TLFxuICBpc1plcm9BbmltYXRpb25EdXJhdGlvbixcbiAgcXVldWVEb21Db250ZW50TG9hZGVkLFxuICByZW1vdmVGcm9tTGlzdEF0dHJpYnV0ZSxcbn0gZnJvbSAnLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgU2JiRGlzYWJsZWRNaXhpbiB9IGZyb20gJy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7IGdldEVsZW1lbnRQb3NpdGlvbiwgc2JiT3ZlcmxheU91dHNpZGVQb2ludGVyRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uL2NvcmUvb3ZlcmxheS5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3Rvb2x0aXAuc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBUaW1lIGJldHdlZW4gdGhlIHVzZXIgcHV0dGluZyB0aGUgcG9pbnRlciBvbiBhIHRvb2x0aXBcbiAqIHRyaWdnZXIgYW5kIHRoZSBsb25nIHByZXNzIGV2ZW50IGJlaW5nIGZpcmVkLlxuICovXG5jb25zdCBMT05HUFJFU1NfREVMQVkgPSA1MDA7XG5jb25zdCBWRVJUSUNBTF9PRkZTRVQgPSA4O1xuY29uc3QgSE9SSVpPTlRBTF9PRkZTRVQgPSAxNjtcblxuY29uc3QgaXNNb2JpbGUgPSBpc0FuZHJvaWQgfHwgaXNJT1M7XG5jb25zdCB0b29sdGlwVHJpZ2dlcnMgPSBuZXcgV2Vha01hcDxIVE1MRWxlbWVudCwgU2JiVG9vbHRpcEVsZW1lbnQ+KCk7XG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyB0ZXh0IGNvbnRlbnQgd2l0aGluIGEgdG9vbHRpcC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCB0aGUgdGV4dCBpbnRvIHRoZSB0b29sdGlwLlxuICogQGNzc3Byb3AgWy0tc2JiLXRvb2x0aXAtei1pbmRleD12YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpXSAtIFRvIHNwZWNpZnkgYSBjdXN0b20gc3RhY2sgb3JkZXIsXG4gKiB0aGUgYHotaW5kZXhgIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGRlZmluaW5nIHRoaXMgQ1NTIHZhcmlhYmxlLiBUaGUgZGVmYXVsdCBgei1pbmRleGAgb2YgdGhlXG4gKiBjb21wb25lbnQgaXMgc2V0IHRvIGB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpYCB3aXRoIGEgdmFsdWUgb2YgYDEwMDBgLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItdG9vbHRpcCcpXG5jbGFzcyBTYmJUb29sdGlwRWxlbWVudCBleHRlbmRzIFNiYkRpc2FibGVkTWl4aW4oU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gJ3Rvb2x0aXAnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICBwcml2YXRlIHN0YXRpYyBfdG9vbHRpcE91dGxldDogRWxlbWVudDtcblxuICBzdGF0aWMge1xuICAgIGlmICghaXNTZXJ2ZXIpIHtcbiAgICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gYmxvY2sgZXhlY3V0aW9uIGZvciBpbml0aWFsaXphdGlvbixcbiAgICAgIC8vIHNvIHdlIGRlZmVyIGl0IHVudGlsIHRoZSBET00gY29udGVudCBpcyBsb2FkZWQuXG4gICAgICBxdWV1ZURvbUNvbnRlbnRMb2FkZWQoKCkgPT4gdGhpcy5faW5pdGlhbGl6ZVRvb2x0aXBPdXRsZXQoKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBlbGVtZW50IHRoYXQgd2lsbCB0cmlnZ2VyIHRoZSBwb3BvdmVyIG92ZXJsYXkuXG4gICAqXG4gICAqIEZvciBhdHRyaWJ1dGUgdXNhZ2UsIHByb3ZpZGUgYW4gaWQgcmVmZXJlbmNlLlxuICAgKi9cbiAgQGlkUmVmZXJlbmNlKClcbiAgQHByb3BlcnR5KClcbiAgcHVibGljIGFjY2Vzc29yIHRyaWdnZXI6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIE9wZW4gdGhlIHRvb2x0aXAgYWZ0ZXIgYSBnaXZlbiBkZWxheSBpbiBtaWxsaXNlY29uZHMuXG4gICAqIEdsb2JhbCBjb25maWd1cmF0aW9uIGlzIHVzZWQgYXMgZGVmYXVsdCwgaWYgbm90IHNldC5cbiAgICpcbiAgICogQGRlZmF1bHQgMFxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnb3Blbi1kZWxheScsIHR5cGU6IE51bWJlciB9KVxuICBwdWJsaWMgc2V0IG9wZW5EZWxheSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fb3BlbkRlbGF5ID0gK3ZhbHVlO1xuICB9XG4gIHB1YmxpYyBnZXQgb3BlbkRlbGF5KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX29wZW5EZWxheSA/PyByZWFkQ29uZmlnKCkudG9vbHRpcD8ub3BlbkRlbGF5ID8/IDA7XG4gIH1cbiAgcHJpdmF0ZSBfb3BlbkRlbGF5PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBDbG9zZSB0aGUgdG9vbHRpcCBhZnRlciBhIGdpdmVuIGRlbGF5IGluIG1pbGxpc2Vjb25kcy5cbiAgICogR2xvYmFsIGNvbmZpZ3VyYXRpb24gaXMgdXNlZCBhcyBkZWZhdWx0LCBpZiBub3Qgc2V0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAwXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdjbG9zZS1kZWxheScsIHR5cGU6IE51bWJlciB9KVxuICBwdWJsaWMgc2V0IGNsb3NlRGVsYXkodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX2Nsb3NlRGVsYXkgPSArdmFsdWU7XG4gIH1cbiAgcHVibGljIGdldCBjbG9zZURlbGF5KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2Nsb3NlRGVsYXkgPz8gcmVhZENvbmZpZygpLnRvb2x0aXA/LmNsb3NlRGVsYXkgPz8gMDtcbiAgfVxuICBwcml2YXRlIF9jbG9zZURlbGF5PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBBdXRvbWF0aWNhbGx5IGNsb3NlIHRoZSB0b29sdGlwIGFmdGVyIGl0IGhhcyBiZWVuIG9wZW4gYnkgbG9uZyBwcmVzcy5cbiAgICogR2xvYmFsIGNvbmZpZ3VyYXRpb24gaXMgdXNlZCBhcyBkZWZhdWx0LCBpZiBub3Qgc2V0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAxNTAwXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdsb25nLXByZXNzLWNsb3NlLWRlbGF5JywgdHlwZTogTnVtYmVyIH0pXG4gIHB1YmxpYyBzZXQgbG9uZ1ByZXNzQ2xvc2VEZWxheSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fbG9uZ1ByZXNzQ2xvc2VEZWxheSA9ICt2YWx1ZTtcbiAgfVxuICBwdWJsaWMgZ2V0IGxvbmdQcmVzc0Nsb3NlRGVsYXkoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fbG9uZ1ByZXNzQ2xvc2VEZWxheSA/PyByZWFkQ29uZmlnKCkudG9vbHRpcD8ubG9uZ1ByZXNzQ2xvc2VEZWxheSA/PyAxNTAwO1xuICB9XG4gIHByaXZhdGUgX2xvbmdQcmVzc0Nsb3NlRGVsYXk/OiBudW1iZXI7XG5cbiAgcHJvdGVjdGVkIG92ZXJsYXk/OiBIVE1MRGl2RWxlbWVudDtcblxuICBwcml2YXRlIF90cmlnZ2VyRWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfdHJpZ2dlckFib3J0Q29udHJvbGxlcj86IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfb3BlblN0YXRlQ29udHJvbGxlciE6IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIgPSBuZXcgU2JiRXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX29wZW5UaW1lb3V0PzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD47XG4gIHByaXZhdGUgX2Nsb3NlVGltZW91dD86IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+O1xuICBwcml2YXRlIF9sb25nUHJlc3NPcGVuVGltZW91dD86IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+O1xuICBwcml2YXRlIF9sb25nUHJlc3NDbG9zZVRpbWVvdXQ/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIC8vIFVudGlsIHRoZSBtb3VzZSBob3ZlcnMgdGhlIHRvb2x0aXAsIGl0IHN0YXlzIG9wZW4uXG4gICAgLy8gT24gJ21vdXNlbGVhdmUnIChpZiB0aGUgbW91c2UgaXMgbm90IG1vdmVkIG9udG8gdGhlIHRyaWdnZXIgYWdhaW4pLCBjbG9zZSBpdC5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAnbW91c2VsZWF2ZScsXG4gICAgICAoZXZlbnQpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICh0aGlzLnN0YXRlID09PSAnb3BlbmVkJyB8fCB0aGlzLnN0YXRlID09PSAnb3BlbmluZycpICYmXG4gICAgICAgICAgKCFldmVudC5yZWxhdGVkVGFyZ2V0IHx8ICF0aGlzLl90cmlnZ2VyRWxlbWVudD8uY29udGFpbnMoZXZlbnQucmVsYXRlZFRhcmdldCBhcyBOb2RlKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5fZGVsYXllZENsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7IHBhc3NpdmU6IHRydWUgfSxcbiAgICApO1xuXG4gICAgLy8gQW55IHVzZXIgaW50ZXJhY3Rpb24gb3V0c2lkZSB0aGUgdG9vbHRpcCwgY2xvc2VzIGl0IGltbWVkaWF0ZWx5XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdvdmVybGF5T3V0c2lkZVBvaW50ZXInLCAoKSA9PiB0aGlzLmNsb3NlKCksIHsgcGFzc2l2ZTogdHJ1ZSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIF9pbml0aWFsaXplVG9vbHRpcE91dGxldCgpOiB2b2lkIHtcbiAgICB0aGlzLl90b29sdGlwT3V0bGV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgdGhpcy5fdG9vbHRpcE91dGxldC5jbGFzc0xpc3QuYWRkKCdzYmItb3ZlcmxheS1vdXRsZXQnKTtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMuX3Rvb2x0aXBPdXRsZXQpO1xuXG4gICAgLy8gV2UgYXJlIHVzaW5nIE11dGF0aW9uT2JzZXJ2ZXIgZGlyZWN0bHkgaGVyZSwgYXMgaXQgd2lsbCBvbmx5IGJlIGNhbGxlZCBvbiBjbGllbnQgc2lkZVxuICAgIC8vIGFuZCB3ZSBkbyBub3QgbmVlZCB0byBkaXNjb25uZWN0IGl0LCBhcyB3ZSB3YW50IGl0IHRvIHdvcmsgZHVyaW5nIHRoZSBmdWxsIGxpZmV0aW1lXG4gICAgLy8gb2YgdGhlIHBhZ2UuXG4gICAgbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9ucykgPT4ge1xuICAgICAgZm9yIChjb25zdCBtdXRhdGlvbiBvZiBtdXRhdGlvbnMpIHtcbiAgICAgICAgaWYgKG11dGF0aW9uLnR5cGUgPT09ICdhdHRyaWJ1dGVzJykge1xuICAgICAgICAgIHRoaXMuX2hhbmRsZVRvb2x0aXBUcmlnZ2VyKG11dGF0aW9uLnRhcmdldCBhcyBIVE1MRWxlbWVudCk7XG4gICAgICAgIH0gZWxzZSBpZiAobXV0YXRpb24udHlwZSA9PT0gJ2NoaWxkTGlzdCcpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IG5vZGUgb2YgWy4uLm11dGF0aW9uLmFkZGVkTm9kZXMsIC4uLm11dGF0aW9uLnJlbW92ZWROb2Rlc10uZmlsdGVyKFxuICAgICAgICAgICAgKG4pOiBuIGlzIEhUTUxFbGVtZW50ID0+IG4ubm9kZVR5cGUgPT09IG4uRUxFTUVOVF9OT0RFLFxuICAgICAgICAgICkpIHtcbiAgICAgICAgICAgIHRoaXMuX2hhbmRsZVRvb2x0aXBUcmlnZ2VyKG5vZGUpO1xuICAgICAgICAgICAgdGhpcy5fZmluZEFuZEhhbmRsZVRvb2x0aXBUcmlnZ2Vycyhub2RlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KS5vYnNlcnZlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwge1xuICAgICAgYXR0cmlidXRlRmlsdGVyOiBbJ3NiYi10b29sdGlwJ10sXG4gICAgICBjaGlsZExpc3Q6IHRydWUsXG4gICAgICBzdWJ0cmVlOiB0cnVlLFxuICAgIH0pO1xuICAgIHRoaXMuX2ZpbmRBbmRIYW5kbGVUb29sdGlwVHJpZ2dlcnMoZG9jdW1lbnQuYm9keSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBfZmluZEFuZEhhbmRsZVRvb2x0aXBUcmlnZ2Vycyhyb290OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIHJvb3RcbiAgICAgIC5xdWVyeVNlbGVjdG9yQWxsPEhUTUxFbGVtZW50PignW3NiYi10b29sdGlwXScpXG4gICAgICAuZm9yRWFjaCgoZSkgPT4gdGhpcy5faGFuZGxlVG9vbHRpcFRyaWdnZXIoZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX2hhbmRsZVRvb2x0aXBUcmlnZ2VyKHRyaWdnZXJFbGVtZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIGNvbnN0IHRvb2x0aXBNZXNzYWdlID0gdHJpZ2dlckVsZW1lbnQuZ2V0QXR0cmlidXRlKCdzYmItdG9vbHRpcCcpO1xuICAgIGxldCB0b29sdGlwID0gdG9vbHRpcFRyaWdnZXJzLmdldCh0cmlnZ2VyRWxlbWVudCk7XG5cbiAgICBpZiAodG9vbHRpcE1lc3NhZ2UgJiYgdHJpZ2dlckVsZW1lbnQuaXNDb25uZWN0ZWQpIHtcbiAgICAgIGlmICghdG9vbHRpcCkge1xuICAgICAgICAvLyBDcmVhdGUgYSBuZXcgc2JiLXRvb2x0aXAgaW4gdGhlIG91dGxldCBhbmQgYXR0YWNoIGl0IHRvIHRoZSB0cmlnZ2VyXG4gICAgICAgIHRvb2x0aXAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzYmItdG9vbHRpcCcpO1xuICAgICAgICB0b29sdGlwVHJpZ2dlcnMuc2V0KHRyaWdnZXJFbGVtZW50LCB0b29sdGlwKTtcbiAgICAgICAgdGhpcy5fdG9vbHRpcE91dGxldC5hcHBlbmRDaGlsZCh0b29sdGlwKTtcbiAgICAgICAgdG9vbHRpcC50cmlnZ2VyID0gdHJpZ2dlckVsZW1lbnQ7XG4gICAgICB9XG4gICAgICB0b29sdGlwLnRleHRDb250ZW50ID0gdG9vbHRpcE1lc3NhZ2U7XG4gICAgfSBlbHNlIGlmICh0b29sdGlwKSB7XG4gICAgICAvLyBUaGUgdHJpZ2dlciBvciB0aGUgYXR0cmlidXRlIGhhcyBiZWVuIGRlbGV0ZWQgPT4gZGVsZXRlIHRoZSBjb25uZWN0ZWQgdG9vbHRpcFxuICAgICAgdG9vbHRpcFRyaWdnZXJzLmRlbGV0ZSh0cmlnZ2VyRWxlbWVudCk7XG4gICAgICB0b29sdGlwLl9kZXN0cm95KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5wb3BvdmVyID0gJ21hbnVhbCc7XG4gICAgdGhpcy5pZCB8fD0gYHNiYi10b29sdGlwLSR7KytuZXh0SWR9YDtcbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NlZCc7XG4gICAgc2JiT3ZlcmxheU91dHNpZGVQb2ludGVyRXZlbnRMaXN0ZW5lci5jb25uZWN0KHRoaXMpO1xuXG4gICAgaWYgKHRoaXMuaGFzVXBkYXRlZCAmJiB0aGlzLnRyaWdnZXIpIHtcbiAgICAgIHRoaXMuX2F0dGFjaCh0aGlzLnRyaWdnZXIpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHNiYk92ZXJsYXlPdXRzaWRlUG9pbnRlckV2ZW50TGlzdGVuZXIuZGlzY29ubmVjdCh0aGlzKTtcbiAgICB0aGlzLl9kZXRhY2goKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZXF1ZXN0VXBkYXRlKFxuICAgIG5hbWU/OiBQcm9wZXJ0eUtleSxcbiAgICBvbGRWYWx1ZT86IHVua25vd24sXG4gICAgb3B0aW9ucz86IFByb3BlcnR5RGVjbGFyYXRpb24sXG4gICk6IHZvaWQge1xuICAgIHN1cGVyLnJlcXVlc3RVcGRhdGUobmFtZSwgb2xkVmFsdWUsIG9wdGlvbnMpO1xuICAgIGlmIChpc1NlcnZlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICgoIW5hbWUgfHwgbmFtZSA9PT0gJ3RyaWdnZXInKSAmJiB0aGlzLmhhc1VwZGF0ZWQpIHtcbiAgICAgIHRoaXMuX2F0dGFjaCh0aGlzLnRyaWdnZXIpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzKTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgICB0aGlzLl9hdHRhY2godGhpcy50cmlnZ2VyKTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xuICAgIHRoaXMuX3Jlc2V0T3BlbkNsb3NlVGltZW91dCgpO1xuICAgIGlmIChcbiAgICAgICh0aGlzLnN0YXRlICE9PSAnY2xvc2VkJyAmJiB0aGlzLnN0YXRlICE9PSAnY2xvc2luZycpIHx8XG4gICAgICB0aGlzLmRpc2FibGVkIHx8XG4gICAgICAhdGhpcy5vdmVybGF5IHx8XG4gICAgICAhdGhpcy5kaXNwYXRjaEJlZm9yZU9wZW5FdmVudCgpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zaG93UG9wb3Zlcj8uKCk7XG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuaW5nJztcbiAgICB0aGlzLl9zZXRUb29sdGlwUG9zaXRpb24oKTtcblxuICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBvcGVuZWRgIHN0YXRlLlxuICAgIGlmICh0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuX3Jlc2V0T3BlbkNsb3NlVGltZW91dCgpO1xuICAgIGlmICh0aGlzLnN0YXRlICE9PSAnb3BlbmVkJyAmJiB0aGlzLnN0YXRlICE9PSAnb3BlbmluZycpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmRpc3BhdGNoQmVmb3JlQ2xvc2VFdmVudCgpO1xuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2luZyc7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgY2xvc2VkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2RlbGF5ZWRPcGVuKCk6IHZvaWQge1xuICAgIHRoaXMuX3Jlc2V0T3BlbkNsb3NlVGltZW91dCgpO1xuICAgIHRoaXMuX29wZW5UaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLm9wZW4oKSwgdGhpcy5vcGVuRGVsYXkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlT3BlbmluZygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5lZCc7XG4gICAgdGhpcy5fYXR0YWNoV2luZG93RXZlbnRzKCk7XG4gICAgdGhpcy5fZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIuY29ubmVjdCgpO1xuICAgIHRoaXMuZGlzcGF0Y2hPcGVuRXZlbnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2RlbGF5ZWRDbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9yZXNldE9wZW5DbG9zZVRpbWVvdXQoKTtcbiAgICB0aGlzLl9jbG9zZVRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY2xvc2UoKSwgdGhpcy5jbG9zZURlbGF5KTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUNsb3NpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zZWQnO1xuICAgIHRoaXMuaGlkZVBvcG92ZXI/LigpO1xuXG4gICAgdGhpcy5fZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIuZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuZGlzcGF0Y2hDbG9zZUV2ZW50KCk7XG4gICAgdGhpcy5fb3BlblN0YXRlQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX29uVG9vbHRpcEFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ29wZW4nICYmIHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlJyAmJiB0aGlzLnN0YXRlID09PSAnY2xvc2luZycpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9hdHRhY2godHJpZ2dlcjogSFRNTEVsZW1lbnQgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICAvLyBFdmVudHVhbGx5IGRldGFjaCBmcm9tIHRoZSBvbGQgdHJpZ2dlclxuICAgICAgdGhpcy5fZGV0YWNoKCk7XG4gICAgfVxuXG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQgPSB0cmlnZ2VyO1xuICAgIGlmICghdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgYWRkVG9MaXN0QXR0cmlidXRlKHRoaXMuX3RyaWdnZXJFbGVtZW50LCAnYXJpYS1kZXNjcmliZWRieScsIHRoaXMuaWQpO1xuICAgIHRoaXMuX2FkZFRyaWdnZXJFdmVudEhhbmRsZXJzKCk7XG4gIH1cblxuICBwcml2YXRlIF9kZXRhY2goKTogdm9pZCB7XG4gICAgdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyPy5hYm9ydCgpO1xuXG4gICAgLy8gY2xlYXIgdGltZW91dHNcbiAgICB0aGlzLl9yZXNldE9wZW5DbG9zZVRpbWVvdXQoKTtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5fbG9uZ1ByZXNzT3BlblRpbWVvdXQpO1xuICAgIGNsZWFyVGltZW91dCh0aGlzLl9sb25nUHJlc3NDbG9zZVRpbWVvdXQpO1xuXG4gICAgaWYgKCF0aGlzLl90cmlnZ2VyRWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICByZW1vdmVGcm9tTGlzdEF0dHJpYnV0ZSh0aGlzLl90cmlnZ2VyRWxlbWVudCwgJ2FyaWEtZGVzY3JpYmVkYnknLCB0aGlzLmlkKTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCA9IG51bGw7XG4gIH1cblxuICBwcml2YXRlIF9kZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2RldGFjaCgpO1xuICAgIHRoaXMucmVtb3ZlKCk7XG4gIH1cblxuICBwcml2YXRlIF9zZXRUb29sdGlwUG9zaXRpb24oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm92ZXJsYXkgfHwgIXRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcG9zaXRpb24gPSBnZXRFbGVtZW50UG9zaXRpb24odGhpcy5vdmVybGF5LCB0aGlzLl90cmlnZ2VyRWxlbWVudCwgdGhpcywge1xuICAgICAgdmVydGljYWxPZmZzZXQ6IFZFUlRJQ0FMX09GRlNFVCxcbiAgICAgIGhvcml6b250YWxPZmZzZXQ6IEhPUklaT05UQUxfT0ZGU0VULFxuICAgICAgY2VudGVyZWQ6IHRydWUsXG4gICAgICByZXNwb25zaXZlSGVpZ2h0OiB0cnVlLFxuICAgIH0pO1xuICAgIHRoaXMuc2V0QXR0cmlidXRlKCdkYXRhLXBvc2l0aW9uJywgcG9zaXRpb24uYWxpZ25tZW50LnZlcnRpY2FsKTtcblxuICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLXRvb2x0aXAtcG9zaXRpb24teCcsIGAke3Bvc2l0aW9uLmxlZnR9cHhgKTtcbiAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi10b29sdGlwLXBvc2l0aW9uLXknLCBgJHtwb3NpdGlvbi50b3B9cHhgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2FkZFRyaWdnZXJFdmVudEhhbmRsZXJzKCk6IHZvaWQge1xuICAgIGNvbnN0IHRyaWdnZXIgPSB0aGlzLl90cmlnZ2VyRWxlbWVudDtcbiAgICBpZiAoIXRyaWdnZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgY29uc3Qgb3B0aW9uczogQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMgPSB7XG4gICAgICBzaWduYWw6IHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICB9O1xuXG4gICAgaWYgKCFpc01vYmlsZSkge1xuICAgICAgdHJpZ2dlci5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgKCkgPT4gdGhpcy5fZGVsYXllZE9wZW4oKSwgb3B0aW9ucyk7XG4gICAgICB0cmlnZ2VyLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICdtb3VzZWxlYXZlJyxcbiAgICAgICAgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgY29uc3QgbmV3VGFyZ2V0ID0gZXZlbnQucmVsYXRlZFRhcmdldCBhcyBOb2RlIHwgbnVsbDtcbiAgICAgICAgICBpZiAoIW5ld1RhcmdldCB8fCBuZXdUYXJnZXQgIT09IHRoaXMpIHtcbiAgICAgICAgICAgIHRoaXMuX2RlbGF5ZWRDbG9zZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgb3B0aW9ucyxcbiAgICAgICk7XG5cbiAgICAgIC8vICdibHVycycgaW1tZWRpYXRlbHkgY2xvc2UgdGhlIHRvb2x0aXAgYmVjYXVzZSBpdCBpcyBjb25zaWRlcmVkIGFuICdpbnRlcmFjdGlvbiB3aXRoIG90aGVyIGVsZW1lbnRzJ1xuICAgICAgdHJpZ2dlci5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgKCkgPT4gdGhpcy5jbG9zZSgpLCBvcHRpb25zKTtcbiAgICAgIHRyaWdnZXIuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXMnLCAoKSA9PiB0aGlzLl9kZWxheWVkT3BlbigpLCBvcHRpb25zKTtcbiAgICB9XG5cbiAgICAvLyBMb25nLXByZXNzIGV2ZW50IGhhbmRsaW5nIChtYWlubHkgZm9yIG1vYmlsZSB1c2VycylcbiAgICB0cmlnZ2VyLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAndG91Y2hzdGFydCcsXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9sb25nUHJlc3NPcGVuVGltZW91dCk7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9sb25nUHJlc3NDbG9zZVRpbWVvdXQpO1xuICAgICAgICB0aGlzLl9sb25nUHJlc3NPcGVuVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5vcGVuKCksIExPTkdQUkVTU19ERUxBWSk7XG4gICAgICB9LFxuICAgICAgb3B0aW9ucyxcbiAgICApO1xuICAgIHRyaWdnZXIuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICd0b3VjaGVuZCcsXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9sb25nUHJlc3NPcGVuVGltZW91dCk7XG4gICAgICAgIHRoaXMuX2xvbmdQcmVzc0Nsb3NlVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jbG9zZSgpLCB0aGlzLmxvbmdQcmVzc0Nsb3NlRGVsYXkpO1xuICAgICAgfSxcbiAgICAgIG9wdGlvbnMsXG4gICAgKTtcbiAgICB0cmlnZ2VyLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAndG91Y2hjYW5jZWwnLFxuICAgICAgKCkgPT4ge1xuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5fbG9uZ1ByZXNzT3BlblRpbWVvdXQpO1xuICAgICAgfSxcbiAgICAgIG9wdGlvbnMsXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2F0dGFjaFdpbmRvd0V2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsICgpID0+IHRoaXMuX3NldFRvb2x0aXBQb3NpdGlvbigpLCB7XG4gICAgICBwYXNzaXZlOiB0cnVlLFxuICAgICAgc2lnbmFsOiB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIC8vIFdpdGhvdXQgY2FwdHVyZSwgb3RoZXIgc2Nyb2xsIGNvbnRleHRzIHdvdWxkIG5vdCBidWJibGUgdG8gdGhpcyBldmVudCBsaXN0ZW5lci5cbiAgICAgIC8vIENhcHR1cmUgYWxsb3dzIHVzIHRvIHJlYWN0IHRvIGFsbCBzY3JvbGwgY29udGV4dHMgaW4gdGhpcyBET00uXG4gICAgICBjYXB0dXJlOiB0cnVlLFxuICAgIH0pO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCAoKSA9PiB0aGlzLl9zZXRUb29sdGlwUG9zaXRpb24oKSwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICAgIHNpZ25hbDogdGhpcy5fb3BlblN0YXRlQ29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24odGhpcywgJy0tc2JiLXRvb2x0aXAtYW5pbWF0aW9uLWR1cmF0aW9uJyk7XG4gIH1cblxuICBwcml2YXRlIF9yZXNldE9wZW5DbG9zZVRpbWVvdXQoKTogdm9pZCB7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX29wZW5UaW1lb3V0KTtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5fY2xvc2VUaW1lb3V0KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdlxuICAgICAgICBAYW5pbWF0aW9uZW5kPSR7dGhpcy5fb25Ub29sdGlwQW5pbWF0aW9uRW5kfVxuICAgICAgICBjbGFzcz1cInNiYi10b29sdGlwXCJcbiAgICAgICAgJHtyZWYoKGVsPzogRWxlbWVudCkgPT4gKHRoaXMub3ZlcmxheSA9IGVsIGFzIEhUTUxEaXZFbGVtZW50KSl9XG4gICAgICA+XG4gICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10b29sdGlwJzogU2JiVG9vbHRpcEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBZ0NBLE1BQU0sa0JBQWtCO0FBQ3hCLE1BQU0sa0JBQWtCO0FBQ3hCLE1BQU0sb0JBQW9CO0FBRTFCLE1BQU0sV0FBVyxhQUFhO0FBQzlCLE1BQU0sc0NBQXNCLFFBQUE7QUFDNUIsSUFBSSxT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
|
|
473
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGh0bWwsXG4gIGlzU2VydmVyLFxuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxuICB0eXBlIFByb3BlcnR5RGVjbGFyYXRpb24sXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IHJlZiB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3JlZi5qcyc7XG5cbmltcG9ydCB7IFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50IH0gZnJvbSAnLi4vY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB7IHJlYWRDb25maWcgfSBmcm9tICcuLi9jb3JlL2NvbmZpZy5qcyc7XG5pbXBvcnQgeyBTYmJFc2NhcGFibGVPdmVybGF5Q29udHJvbGxlciB9IGZyb20gJy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgaWRSZWZlcmVuY2UgfSBmcm9tICcuLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHtcbiAgYWRkVG9MaXN0QXR0cmlidXRlLFxuICBpc0FuZHJvaWQsXG4gIGlzSU9TLFxuICBpc1plcm9BbmltYXRpb25EdXJhdGlvbixcbiAgcXVldWVEb21Db250ZW50TG9hZGVkLFxuICByZW1vdmVGcm9tTGlzdEF0dHJpYnV0ZSxcbn0gZnJvbSAnLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgU2JiRGlzYWJsZWRNaXhpbiB9IGZyb20gJy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7IGdldEVsZW1lbnRQb3NpdGlvbiwgc2JiT3ZlcmxheU91dHNpZGVQb2ludGVyRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uL2NvcmUvb3ZlcmxheS5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3Rvb2x0aXAuc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBUaW1lIGJldHdlZW4gdGhlIHVzZXIgcHV0dGluZyB0aGUgcG9pbnRlciBvbiBhIHRvb2x0aXBcbiAqIHRyaWdnZXIgYW5kIHRoZSBsb25nIHByZXNzIGV2ZW50IGJlaW5nIGZpcmVkLlxuICovXG5jb25zdCBMT05HUFJFU1NfREVMQVkgPSA1MDA7XG5jb25zdCBWRVJUSUNBTF9PRkZTRVQgPSA4O1xuY29uc3QgSE9SSVpPTlRBTF9PRkZTRVQgPSAxNjtcblxuY29uc3QgaXNNb2JpbGUgPSBpc0FuZHJvaWQgfHwgaXNJT1M7XG5jb25zdCB0b29sdGlwVHJpZ2dlcnMgPSBuZXcgV2Vha01hcDxIVE1MRWxlbWVudCwgU2JiVG9vbHRpcEVsZW1lbnQ+KCk7XG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyB0ZXh0IGNvbnRlbnQgd2l0aGluIGEgdG9vbHRpcC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCB0aGUgdGV4dCBpbnRvIHRoZSB0b29sdGlwLlxuICogQGNzc3Byb3AgWy0tc2JiLXRvb2x0aXAtei1pbmRleD12YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpXSAtIFRvIHNwZWNpZnkgYSBjdXN0b20gc3RhY2sgb3JkZXIsXG4gKiB0aGUgYHotaW5kZXhgIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGRlZmluaW5nIHRoaXMgQ1NTIHZhcmlhYmxlLiBUaGUgZGVmYXVsdCBgei1pbmRleGAgb2YgdGhlXG4gKiBjb21wb25lbnQgaXMgc2V0IHRvIGB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpYCB3aXRoIGEgdmFsdWUgb2YgYDEwMDBgLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItdG9vbHRpcCcpXG5jbGFzcyBTYmJUb29sdGlwRWxlbWVudCBleHRlbmRzIFNiYkRpc2FibGVkTWl4aW4oU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gJ3Rvb2x0aXAnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICBwcml2YXRlIHN0YXRpYyBfdG9vbHRpcE91dGxldDogRWxlbWVudDtcblxuICBzdGF0aWMge1xuICAgIGlmICghaXNTZXJ2ZXIpIHtcbiAgICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gYmxvY2sgZXhlY3V0aW9uIGZvciBpbml0aWFsaXphdGlvbixcbiAgICAgIC8vIHNvIHdlIGRlZmVyIGl0IHVudGlsIHRoZSBET00gY29udGVudCBpcyBsb2FkZWQuXG4gICAgICBxdWV1ZURvbUNvbnRlbnRMb2FkZWQoKCkgPT4gdGhpcy5faW5pdGlhbGl6ZVRvb2x0aXBPdXRsZXQoKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBlbGVtZW50IHRoYXQgd2lsbCB0cmlnZ2VyIHRoZSBwb3BvdmVyIG92ZXJsYXkuXG4gICAqXG4gICAqIEZvciBhdHRyaWJ1dGUgdXNhZ2UsIHByb3ZpZGUgYW4gaWQgcmVmZXJlbmNlLlxuICAgKi9cbiAgQGlkUmVmZXJlbmNlKClcbiAgQHByb3BlcnR5KClcbiAgcHVibGljIGFjY2Vzc29yIHRyaWdnZXI6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIE9wZW4gdGhlIHRvb2x0aXAgYWZ0ZXIgYSBnaXZlbiBkZWxheSBpbiBtaWxsaXNlY29uZHMuXG4gICAqIEdsb2JhbCBjb25maWd1cmF0aW9uIGlzIHVzZWQgYXMgZGVmYXVsdCwgaWYgbm90IHNldC5cbiAgICpcbiAgICogQGRlZmF1bHQgbnVsbFxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnb3Blbi1kZWxheScsIHR5cGU6IE51bWJlciB9KVxuICBwdWJsaWMgc2V0IG9wZW5EZWxheSh2YWx1ZTogbnVtYmVyIHwgbnVsbCkge1xuICAgIHRoaXMuX29wZW5EZWxheSA9IHZhbHVlO1xuICB9XG4gIHB1YmxpYyBnZXQgb3BlbkRlbGF5KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX29wZW5EZWxheSA/PyByZWFkQ29uZmlnKCkudG9vbHRpcD8ub3BlbkRlbGF5ID8/IDA7XG4gIH1cbiAgcHJpdmF0ZSBfb3BlbkRlbGF5OiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogQ2xvc2UgdGhlIHRvb2x0aXAgYWZ0ZXIgYSBnaXZlbiBkZWxheSBpbiBtaWxsaXNlY29uZHMuXG4gICAqIEdsb2JhbCBjb25maWd1cmF0aW9uIGlzIHVzZWQgYXMgZGVmYXVsdCwgaWYgbm90IHNldC5cbiAgICpcbiAgICogQGRlZmF1bHQgbnVsbFxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnY2xvc2UtZGVsYXknLCB0eXBlOiBOdW1iZXIgfSlcbiAgcHVibGljIHNldCBjbG9zZURlbGF5KHZhbHVlOiBudW1iZXIgfCBudWxsKSB7XG4gICAgdGhpcy5fY2xvc2VEZWxheSA9IHZhbHVlO1xuICB9XG4gIHB1YmxpYyBnZXQgY2xvc2VEZWxheSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9jbG9zZURlbGF5ID8/IHJlYWRDb25maWcoKS50b29sdGlwPy5jbG9zZURlbGF5ID8/IDA7XG4gIH1cbiAgcHJpdmF0ZSBfY2xvc2VEZWxheTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIEF1dG9tYXRpY2FsbHkgY2xvc2UgdGhlIHRvb2x0aXAgYWZ0ZXIgaXQgaGFzIGJlZW4gb3BlbiBieSBsb25nIHByZXNzLlxuICAgKiBHbG9iYWwgY29uZmlndXJhdGlvbiBpcyB1c2VkIGFzIGRlZmF1bHQsIGlmIG5vdCBzZXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IDE1MDBcbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2xvbmctcHJlc3MtY2xvc2UtZGVsYXknLCB0eXBlOiBOdW1iZXIgfSlcbiAgcHVibGljIHNldCBsb25nUHJlc3NDbG9zZURlbGF5KHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9sb25nUHJlc3NDbG9zZURlbGF5ID0gK3ZhbHVlO1xuICB9XG4gIHB1YmxpYyBnZXQgbG9uZ1ByZXNzQ2xvc2VEZWxheSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9sb25nUHJlc3NDbG9zZURlbGF5ID8/IHJlYWRDb25maWcoKS50b29sdGlwPy5sb25nUHJlc3NDbG9zZURlbGF5ID8/IDE1MDA7XG4gIH1cbiAgcHJpdmF0ZSBfbG9uZ1ByZXNzQ2xvc2VEZWxheT86IG51bWJlcjtcblxuICBwcm90ZWN0ZWQgb3ZlcmxheT86IEhUTUxEaXZFbGVtZW50O1xuXG4gIHByaXZhdGUgX3RyaWdnZXJFbGVtZW50OiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF90cmlnZ2VyQWJvcnRDb250cm9sbGVyPzogQWJvcnRDb250cm9sbGVyO1xuICBwcml2YXRlIF9vcGVuU3RhdGVDb250cm9sbGVyITogQWJvcnRDb250cm9sbGVyO1xuICBwcml2YXRlIF9lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlciA9IG5ldyBTYmJFc2NhcGFibGVPdmVybGF5Q29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfb3BlblRpbWVvdXQ/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PjtcbiAgcHJpdmF0ZSBfY2xvc2VUaW1lb3V0PzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD47XG4gIHByaXZhdGUgX2xvbmdQcmVzc09wZW5UaW1lb3V0PzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD47XG4gIHByaXZhdGUgX2xvbmdQcmVzc0Nsb3NlVGltZW91dD86IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgLy8gVW50aWwgdGhlIG1vdXNlIGhvdmVycyB0aGUgdG9vbHRpcCwgaXQgc3RheXMgb3Blbi5cbiAgICAvLyBPbiAnbW91c2VsZWF2ZScgKGlmIHRoZSBtb3VzZSBpcyBub3QgbW92ZWQgb250byB0aGUgdHJpZ2dlciBhZ2FpbiksIGNsb3NlIGl0LlxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdtb3VzZWxlYXZlJyxcbiAgICAgIChldmVudCkgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgKHRoaXMuc3RhdGUgPT09ICdvcGVuZWQnIHx8IHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJykgJiZcbiAgICAgICAgICAoIWV2ZW50LnJlbGF0ZWRUYXJnZXQgfHwgIXRoaXMuX3RyaWdnZXJFbGVtZW50Py5jb250YWlucyhldmVudC5yZWxhdGVkVGFyZ2V0IGFzIE5vZGUpKVxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLl9kZWxheWVkQ2xvc2UoKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHsgcGFzc2l2ZTogdHJ1ZSB9LFxuICAgICk7XG5cbiAgICAvLyBBbnkgdXNlciBpbnRlcmFjdGlvbiBvdXRzaWRlIHRoZSB0b29sdGlwLCBjbG9zZXMgaXQgaW1tZWRpYXRlbHlcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoJ292ZXJsYXlPdXRzaWRlUG9pbnRlcicsICgpID0+IHRoaXMuY2xvc2UoKSwgeyBwYXNzaXZlOiB0cnVlIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX2luaXRpYWxpemVUb29sdGlwT3V0bGV0KCk6IHZvaWQge1xuICAgIHRoaXMuX3Rvb2x0aXBPdXRsZXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICB0aGlzLl90b29sdGlwT3V0bGV0LmNsYXNzTGlzdC5hZGQoJ3NiYi1vdmVybGF5LW91dGxldCcpO1xuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5fdG9vbHRpcE91dGxldCk7XG5cbiAgICAvLyBLZXk6IHRyaWdnZXIgYXR0cmlidXRlLCB2YWx1ZTogdG9vbHRpcCBhdHRyaWJ1dGVcbiAgICBjb25zdCBhdHRyaWJ1dGVNYXAgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbXG4gICAgICBbJ3NiYi10b29sdGlwLW9wZW4tZGVsYXknLCAnb3Blbi1kZWxheSddLFxuICAgICAgWydzYmItdG9vbHRpcC1jbG9zZS1kZWxheScsICdjbG9zZS1kZWxheSddLFxuICAgIF0pO1xuXG4gICAgLy8gV2UgYXJlIHVzaW5nIE11dGF0aW9uT2JzZXJ2ZXIgZGlyZWN0bHkgaGVyZSwgYXMgaXQgd2lsbCBvbmx5IGJlIGNhbGxlZCBvbiBjbGllbnQgc2lkZSxcbiAgICAvLyBhbmQgd2UgZG8gbm90IG5lZWQgdG8gZGlzY29ubmVjdCBpdCwgYXMgd2Ugd2FudCBpdCB0byB3b3JrIGR1cmluZyB0aGUgZnVsbCBsaWZldGltZVxuICAgIC8vIG9mIHRoZSBwYWdlLlxuICAgIG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnMpID0+IHtcbiAgICAgIGZvciAoY29uc3QgbXV0YXRpb24gb2YgbXV0YXRpb25zKSB7XG4gICAgICAgIGlmIChtdXRhdGlvbi50eXBlID09PSAnYXR0cmlidXRlcycpIHtcbiAgICAgICAgICB0aGlzLl9oYW5kbGVUb29sdGlwVHJpZ2dlcihtdXRhdGlvbi50YXJnZXQgYXMgSFRNTEVsZW1lbnQpO1xuICAgICAgICB9IGVsc2UgaWYgKG11dGF0aW9uLnR5cGUgPT09ICdjaGlsZExpc3QnKSB7XG4gICAgICAgICAgZm9yIChjb25zdCBub2RlIG9mIFsuLi5tdXRhdGlvbi5hZGRlZE5vZGVzLCAuLi5tdXRhdGlvbi5yZW1vdmVkTm9kZXNdLmZpbHRlcihcbiAgICAgICAgICAgIChuKTogbiBpcyBIVE1MRWxlbWVudCA9PiBuLm5vZGVUeXBlID09PSBuLkVMRU1FTlRfTk9ERSxcbiAgICAgICAgICApKSB7XG4gICAgICAgICAgICB0aGlzLl9oYW5kbGVUb29sdGlwVHJpZ2dlcihub2RlKTtcbiAgICAgICAgICAgIHRoaXMuX2ZpbmRBbmRIYW5kbGVUb29sdGlwVHJpZ2dlcnMobm9kZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSkub2JzZXJ2ZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsIHtcbiAgICAgIGF0dHJpYnV0ZUZpbHRlcjogWydzYmItdG9vbHRpcCcsIC4uLmF0dHJpYnV0ZU1hcC5rZXlzKCldLFxuICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgc3VidHJlZTogdHJ1ZSxcbiAgICB9KTtcbiAgICB0aGlzLl9maW5kQW5kSGFuZGxlVG9vbHRpcFRyaWdnZXJzKGRvY3VtZW50LmJvZHkpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX2ZpbmRBbmRIYW5kbGVUb29sdGlwVHJpZ2dlcnMocm9vdDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICByb290XG4gICAgICAucXVlcnlTZWxlY3RvckFsbDxIVE1MRWxlbWVudD4oJ1tzYmItdG9vbHRpcF0nKVxuICAgICAgLmZvckVhY2goKGUpID0+IHRoaXMuX2hhbmRsZVRvb2x0aXBUcmlnZ2VyKGUpKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIF9oYW5kbGVUb29sdGlwVHJpZ2dlcih0cmlnZ2VyRWxlbWVudDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICBjb25zdCB0b29sdGlwTWVzc2FnZSA9IHRyaWdnZXJFbGVtZW50LmdldEF0dHJpYnV0ZSgnc2JiLXRvb2x0aXAnKTtcbiAgICBsZXQgdG9vbHRpcCA9IHRvb2x0aXBUcmlnZ2Vycy5nZXQodHJpZ2dlckVsZW1lbnQpO1xuXG4gICAgaWYgKHRvb2x0aXBNZXNzYWdlICYmIHRyaWdnZXJFbGVtZW50LmlzQ29ubmVjdGVkKSB7XG4gICAgICBpZiAoIXRvb2x0aXApIHtcbiAgICAgICAgLy8gQ3JlYXRlIGEgbmV3IHNiYi10b29sdGlwIGluIHRoZSBvdXRsZXQgYW5kIGF0dGFjaCBpdCB0byB0aGUgdHJpZ2dlclxuICAgICAgICB0b29sdGlwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2JiLXRvb2x0aXAnKTtcbiAgICAgICAgdG9vbHRpcFRyaWdnZXJzLnNldCh0cmlnZ2VyRWxlbWVudCwgdG9vbHRpcCk7XG4gICAgICAgIHRoaXMuX3Rvb2x0aXBPdXRsZXQuYXBwZW5kQ2hpbGQodG9vbHRpcCk7XG4gICAgICAgIHRvb2x0aXAudHJpZ2dlciA9IHRyaWdnZXJFbGVtZW50O1xuICAgICAgfVxuXG4gICAgICB0b29sdGlwLnRleHRDb250ZW50ID0gdG9vbHRpcE1lc3NhZ2U7XG4gICAgICB0b29sdGlwLm9wZW5EZWxheSA9IHRyaWdnZXJFbGVtZW50Lmhhc0F0dHJpYnV0ZSgnc2JiLXRvb2x0aXAtb3Blbi1kZWxheScpXG4gICAgICAgID8gK3RyaWdnZXJFbGVtZW50LmdldEF0dHJpYnV0ZSgnc2JiLXRvb2x0aXAtb3Blbi1kZWxheScpIVxuICAgICAgICA6IG51bGw7XG4gICAgICB0b29sdGlwLmNsb3NlRGVsYXkgPSB0cmlnZ2VyRWxlbWVudC5oYXNBdHRyaWJ1dGUoJ3NiYi10b29sdGlwLWNsb3NlLWRlbGF5JylcbiAgICAgICAgPyArdHJpZ2dlckVsZW1lbnQuZ2V0QXR0cmlidXRlKCdzYmItdG9vbHRpcC1jbG9zZS1kZWxheScpIVxuICAgICAgICA6IG51bGw7XG4gICAgfSBlbHNlIGlmICh0b29sdGlwKSB7XG4gICAgICAvLyBUaGUgdHJpZ2dlciBvciB0aGUgYXR0cmlidXRlIGhhcyBiZWVuIGRlbGV0ZWQgPT4gZGVsZXRlIHRoZSBjb25uZWN0ZWQgdG9vbHRpcFxuICAgICAgdG9vbHRpcFRyaWdnZXJzLmRlbGV0ZSh0cmlnZ2VyRWxlbWVudCk7XG4gICAgICB0b29sdGlwLl9kZXN0cm95KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5wb3BvdmVyID0gJ21hbnVhbCc7XG4gICAgdGhpcy5pZCB8fD0gYHNiYi10b29sdGlwLSR7KytuZXh0SWR9YDtcbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NlZCc7XG4gICAgc2JiT3ZlcmxheU91dHNpZGVQb2ludGVyRXZlbnRMaXN0ZW5lci5jb25uZWN0KHRoaXMpO1xuXG4gICAgaWYgKHRoaXMuaGFzVXBkYXRlZCAmJiB0aGlzLnRyaWdnZXIpIHtcbiAgICAgIHRoaXMuX2F0dGFjaCh0aGlzLnRyaWdnZXIpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHNiYk92ZXJsYXlPdXRzaWRlUG9pbnRlckV2ZW50TGlzdGVuZXIuZGlzY29ubmVjdCh0aGlzKTtcbiAgICB0aGlzLl9kZXRhY2goKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZXF1ZXN0VXBkYXRlKFxuICAgIG5hbWU/OiBQcm9wZXJ0eUtleSxcbiAgICBvbGRWYWx1ZT86IHVua25vd24sXG4gICAgb3B0aW9ucz86IFByb3BlcnR5RGVjbGFyYXRpb24sXG4gICk6IHZvaWQge1xuICAgIHN1cGVyLnJlcXVlc3RVcGRhdGUobmFtZSwgb2xkVmFsdWUsIG9wdGlvbnMpO1xuICAgIGlmIChpc1NlcnZlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICgoIW5hbWUgfHwgbmFtZSA9PT0gJ3RyaWdnZXInKSAmJiB0aGlzLmhhc1VwZGF0ZWQpIHtcbiAgICAgIHRoaXMuX2F0dGFjaCh0aGlzLnRyaWdnZXIpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzKTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgICB0aGlzLl9hdHRhY2godGhpcy50cmlnZ2VyKTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xuICAgIHRoaXMuX3Jlc2V0T3BlbkNsb3NlVGltZW91dCgpO1xuICAgIGlmIChcbiAgICAgICh0aGlzLnN0YXRlICE9PSAnY2xvc2VkJyAmJiB0aGlzLnN0YXRlICE9PSAnY2xvc2luZycpIHx8XG4gICAgICB0aGlzLmRpc2FibGVkIHx8XG4gICAgICAhdGhpcy5vdmVybGF5IHx8XG4gICAgICAhdGhpcy5kaXNwYXRjaEJlZm9yZU9wZW5FdmVudCgpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zaG93UG9wb3Zlcj8uKCk7XG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuaW5nJztcbiAgICB0aGlzLl9zZXRUb29sdGlwUG9zaXRpb24oKTtcblxuICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBvcGVuZWRgIHN0YXRlLlxuICAgIGlmICh0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuX3Jlc2V0T3BlbkNsb3NlVGltZW91dCgpO1xuICAgIGlmICh0aGlzLnN0YXRlICE9PSAnb3BlbmVkJyAmJiB0aGlzLnN0YXRlICE9PSAnb3BlbmluZycpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmRpc3BhdGNoQmVmb3JlQ2xvc2VFdmVudCgpO1xuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2luZyc7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgY2xvc2VkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2RlbGF5ZWRPcGVuKCk6IHZvaWQge1xuICAgIHRoaXMuX3Jlc2V0T3BlbkNsb3NlVGltZW91dCgpO1xuICAgIHRoaXMuX29wZW5UaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLm9wZW4oKSwgdGhpcy5vcGVuRGVsYXkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlT3BlbmluZygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5lZCc7XG4gICAgdGhpcy5fYXR0YWNoV2luZG93RXZlbnRzKCk7XG4gICAgdGhpcy5fZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIuY29ubmVjdCgpO1xuICAgIHRoaXMuZGlzcGF0Y2hPcGVuRXZlbnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2RlbGF5ZWRDbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9yZXNldE9wZW5DbG9zZVRpbWVvdXQoKTtcbiAgICB0aGlzLl9jbG9zZVRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY2xvc2UoKSwgdGhpcy5jbG9zZURlbGF5KTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUNsb3NpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zZWQnO1xuICAgIHRoaXMuaGlkZVBvcG92ZXI/LigpO1xuXG4gICAgdGhpcy5fZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIuZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuZGlzcGF0Y2hDbG9zZUV2ZW50KCk7XG4gICAgdGhpcy5fb3BlblN0YXRlQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX29uVG9vbHRpcEFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ29wZW4nICYmIHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlJyAmJiB0aGlzLnN0YXRlID09PSAnY2xvc2luZycpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9hdHRhY2godHJpZ2dlcjogSFRNTEVsZW1lbnQgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICAvLyBFdmVudHVhbGx5IGRldGFjaCBmcm9tIHRoZSBvbGQgdHJpZ2dlclxuICAgICAgdGhpcy5fZGV0YWNoKCk7XG4gICAgfVxuXG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQgPSB0cmlnZ2VyO1xuICAgIGlmICghdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgYWRkVG9MaXN0QXR0cmlidXRlKHRoaXMuX3RyaWdnZXJFbGVtZW50LCAnYXJpYS1kZXNjcmliZWRieScsIHRoaXMuaWQpO1xuICAgIHRoaXMuX2FkZFRyaWdnZXJFdmVudEhhbmRsZXJzKCk7XG4gIH1cblxuICBwcml2YXRlIF9kZXRhY2goKTogdm9pZCB7XG4gICAgdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyPy5hYm9ydCgpO1xuXG4gICAgLy8gY2xlYXIgdGltZW91dHNcbiAgICB0aGlzLl9yZXNldE9wZW5DbG9zZVRpbWVvdXQoKTtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5fbG9uZ1ByZXNzT3BlblRpbWVvdXQpO1xuICAgIGNsZWFyVGltZW91dCh0aGlzLl9sb25nUHJlc3NDbG9zZVRpbWVvdXQpO1xuXG4gICAgaWYgKCF0aGlzLl90cmlnZ2VyRWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICByZW1vdmVGcm9tTGlzdEF0dHJpYnV0ZSh0aGlzLl90cmlnZ2VyRWxlbWVudCwgJ2FyaWEtZGVzY3JpYmVkYnknLCB0aGlzLmlkKTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCA9IG51bGw7XG4gIH1cblxuICBwcml2YXRlIF9kZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2RldGFjaCgpO1xuICAgIHRoaXMucmVtb3ZlKCk7XG4gIH1cblxuICBwcml2YXRlIF9zZXRUb29sdGlwUG9zaXRpb24oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm92ZXJsYXkgfHwgIXRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcG9zaXRpb24gPSBnZXRFbGVtZW50UG9zaXRpb24odGhpcy5vdmVybGF5LCB0aGlzLl90cmlnZ2VyRWxlbWVudCwgdGhpcywge1xuICAgICAgdmVydGljYWxPZmZzZXQ6IFZFUlRJQ0FMX09GRlNFVCxcbiAgICAgIGhvcml6b250YWxPZmZzZXQ6IEhPUklaT05UQUxfT0ZGU0VULFxuICAgICAgY2VudGVyZWQ6IHRydWUsXG4gICAgICByZXNwb25zaXZlSGVpZ2h0OiB0cnVlLFxuICAgIH0pO1xuICAgIHRoaXMuc2V0QXR0cmlidXRlKCdkYXRhLXBvc2l0aW9uJywgcG9zaXRpb24uYWxpZ25tZW50LnZlcnRpY2FsKTtcblxuICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLXRvb2x0aXAtcG9zaXRpb24teCcsIGAke3Bvc2l0aW9uLmxlZnR9cHhgKTtcbiAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi10b29sdGlwLXBvc2l0aW9uLXknLCBgJHtwb3NpdGlvbi50b3B9cHhgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2FkZFRyaWdnZXJFdmVudEhhbmRsZXJzKCk6IHZvaWQge1xuICAgIGNvbnN0IHRyaWdnZXIgPSB0aGlzLl90cmlnZ2VyRWxlbWVudDtcbiAgICBpZiAoIXRyaWdnZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgY29uc3Qgb3B0aW9uczogQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMgPSB7XG4gICAgICBzaWduYWw6IHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICB9O1xuXG4gICAgaWYgKCFpc01vYmlsZSkge1xuICAgICAgdHJpZ2dlci5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgKCkgPT4gdGhpcy5fZGVsYXllZE9wZW4oKSwgb3B0aW9ucyk7XG4gICAgICB0cmlnZ2VyLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICdtb3VzZWxlYXZlJyxcbiAgICAgICAgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgY29uc3QgbmV3VGFyZ2V0ID0gZXZlbnQucmVsYXRlZFRhcmdldCBhcyBOb2RlIHwgbnVsbDtcbiAgICAgICAgICBpZiAoIW5ld1RhcmdldCB8fCBuZXdUYXJnZXQgIT09IHRoaXMpIHtcbiAgICAgICAgICAgIHRoaXMuX2RlbGF5ZWRDbG9zZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgb3B0aW9ucyxcbiAgICAgICk7XG5cbiAgICAgIC8vICdibHVycycgaW1tZWRpYXRlbHkgY2xvc2UgdGhlIHRvb2x0aXAgYmVjYXVzZSBpdCBpcyBjb25zaWRlcmVkIGFuICdpbnRlcmFjdGlvbiB3aXRoIG90aGVyIGVsZW1lbnRzJ1xuICAgICAgdHJpZ2dlci5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgKCkgPT4gdGhpcy5jbG9zZSgpLCBvcHRpb25zKTtcbiAgICAgIHRyaWdnZXIuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXMnLCAoKSA9PiB0aGlzLl9kZWxheWVkT3BlbigpLCBvcHRpb25zKTtcbiAgICB9XG5cbiAgICAvLyBMb25nLXByZXNzIGV2ZW50IGhhbmRsaW5nIChtYWlubHkgZm9yIG1vYmlsZSB1c2VycylcbiAgICB0cmlnZ2VyLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAndG91Y2hzdGFydCcsXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9sb25nUHJlc3NPcGVuVGltZW91dCk7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9sb25nUHJlc3NDbG9zZVRpbWVvdXQpO1xuICAgICAgICB0aGlzLl9sb25nUHJlc3NPcGVuVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5vcGVuKCksIExPTkdQUkVTU19ERUxBWSk7XG4gICAgICB9LFxuICAgICAgb3B0aW9ucyxcbiAgICApO1xuICAgIHRyaWdnZXIuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICd0b3VjaGVuZCcsXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9sb25nUHJlc3NPcGVuVGltZW91dCk7XG4gICAgICAgIHRoaXMuX2xvbmdQcmVzc0Nsb3NlVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jbG9zZSgpLCB0aGlzLmxvbmdQcmVzc0Nsb3NlRGVsYXkpO1xuICAgICAgfSxcbiAgICAgIG9wdGlvbnMsXG4gICAgKTtcbiAgICB0cmlnZ2VyLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAndG91Y2hjYW5jZWwnLFxuICAgICAgKCkgPT4ge1xuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5fbG9uZ1ByZXNzT3BlblRpbWVvdXQpO1xuICAgICAgfSxcbiAgICAgIG9wdGlvbnMsXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2F0dGFjaFdpbmRvd0V2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsICgpID0+IHRoaXMuX3NldFRvb2x0aXBQb3NpdGlvbigpLCB7XG4gICAgICBwYXNzaXZlOiB0cnVlLFxuICAgICAgc2lnbmFsOiB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIC8vIFdpdGhvdXQgY2FwdHVyZSwgb3RoZXIgc2Nyb2xsIGNvbnRleHRzIHdvdWxkIG5vdCBidWJibGUgdG8gdGhpcyBldmVudCBsaXN0ZW5lci5cbiAgICAgIC8vIENhcHR1cmUgYWxsb3dzIHVzIHRvIHJlYWN0IHRvIGFsbCBzY3JvbGwgY29udGV4dHMgaW4gdGhpcyBET00uXG4gICAgICBjYXB0dXJlOiB0cnVlLFxuICAgIH0pO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCAoKSA9PiB0aGlzLl9zZXRUb29sdGlwUG9zaXRpb24oKSwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICAgIHNpZ25hbDogdGhpcy5fb3BlblN0YXRlQ29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24odGhpcywgJy0tc2JiLXRvb2x0aXAtYW5pbWF0aW9uLWR1cmF0aW9uJyk7XG4gIH1cblxuICBwcml2YXRlIF9yZXNldE9wZW5DbG9zZVRpbWVvdXQoKTogdm9pZCB7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX29wZW5UaW1lb3V0KTtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5fY2xvc2VUaW1lb3V0KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdlxuICAgICAgICBAYW5pbWF0aW9uZW5kPSR7dGhpcy5fb25Ub29sdGlwQW5pbWF0aW9uRW5kfVxuICAgICAgICBjbGFzcz1cInNiYi10b29sdGlwXCJcbiAgICAgICAgJHtyZWYoKGVsPzogRWxlbWVudCkgPT4gKHRoaXMub3ZlcmxheSA9IGVsIGFzIEhUTUxEaXZFbGVtZW50KSl9XG4gICAgICA+XG4gICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10b29sdGlwJzogU2JiVG9vbHRpcEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBZ0NBLE1BQU0sa0JBQWtCO0FBQ3hCLE1BQU0sa0JBQWtCO0FBQ3hCLE1BQU0sb0JBQW9CO0FBRTFCLE1BQU0sV0FBVyxhQUFhO0FBQzlCLE1BQU0sc0NBQXNCLFFBQUE7QUFDNUIsSUFBSSxTQUFTO0lBWVAscUJBQWlCLE1BQUE7OzBCQUR0QixjQUFjLGFBQWEsQ0FBQzs7OztvQkFDRyxpQkFBaUIsdUJBQXVCOzs7Ozs7OztBQUFoRCxFQUFBLG1CQUFRLFlBQXlDO0FBQUEsSUErRXZFLGNBQUE7QUFDRSxZQUFBO0FBM0RGO0FBQWdCLHlCQUFBLDRCQXJCWixrQkFBQSxNQUFBLDBCQUFBLEdBQWlCLGtCQUFBLE1BQUEsdUJBcUJ5QixJQUFJO0FBZTFDLFdBQUEsY0FBVSxrQkFBQSxNQUFBLDBCQUFBLEdBQWtCO0FBZTVCLFdBQUEsY0FBNkI7QUFtQjdCLFdBQUEsa0JBQXNDO0FBR3RD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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-action-common.d.ts","sourceRoot":"","sources":["../../../../src/elements/menu/common/menu-action-common.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAExE,OAAO,EAAE,KAAK,mBAAmB,EAAoB,MAAM,sBAAsB,CAAC;;AAKlF,MAAM,CAAC,OAAO,OAAO,mCAAoC,SAAQ,wCAEhE;CAAG;AAGJ,eAAO,MAAM,+BAA+B,GAC1C,CAAC,SAAS,mBAAmB,CAAC,oBAAoB,CAAC,EAEnD,YAAY,CAAC,KACZ,mBAAmB,CAAC,mCAAmC,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"menu-action-common.d.ts","sourceRoot":"","sources":["../../../../src/elements/menu/common/menu-action-common.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAExE,OAAO,EAAE,KAAK,mBAAmB,EAAoB,MAAM,sBAAsB,CAAC;;AAKlF,MAAM,CAAC,OAAO,OAAO,mCAAoC,SAAQ,wCAEhE;CAAG;AAGJ,eAAO,MAAM,+BAA+B,GAC1C,CAAC,SAAS,mBAAmB,CAAC,oBAAoB,CAAC,EAEnD,YAAY,CAAC,KACZ,mBAAmB,CAAC,mCAAmC,CAAC,GAAG,CAwB7D,CAAC"}
|
|
@@ -1,27 +1,30 @@
|
|
|
1
1
|
import { __esDecorate as r, __runInitializers as c } from "tslib";
|
|
2
2
|
import { css as l } from "lit";
|
|
3
|
-
import { html as
|
|
4
|
-
import { slotState as
|
|
3
|
+
import { html as u } from "lit/static-html.js";
|
|
4
|
+
import { slotState as d } from "../../core/decorators.js";
|
|
5
5
|
import { SbbDisabledMixin as m } from "../../core/mixins.js";
|
|
6
|
-
import { SbbIconNameMixin as
|
|
7
|
-
const
|
|
8
|
-
var
|
|
9
|
-
let b = [
|
|
10
|
-
return
|
|
6
|
+
import { SbbIconNameMixin as p } from "../../icon.js";
|
|
7
|
+
const v = l`*,:before,:after{box-sizing:border-box}:host{outline:none!important;--sbb-menu-action-border-radius: var(--sbb-border-radius-infinity);--sbb-menu-action-outer-horizontal-padding: var(--sbb-spacing-fixed-3x);--sbb-menu-action-outer-vertical-padding: var(--sbb-spacing-fixed-1x);--sbb-menu-action-gap: var(--sbb-spacing-fixed-2x);--sbb-menu-action-cursor: pointer;--sbb-menu-action-color: var(--sbb-color-2-inverted);--sbb-menu-action-forced-color-border-color: CanvasText;--sbb-menu-action-content-padding-inline: var(--sbb-spacing-fixed-2x);--sbb-menu-action-content-padding-block: var(--sbb-spacing-fixed-1x);display:block}@media (any-hover: hover){:host(:is(:hover:not([disabled],:disabled,[disabled-interactive]),[aria-expanded=true])){--sbb-menu-background-color: var(--sbb-color-iron);--sbb-menu-background-color: light-dark(var(--sbb-color-iron), var(--sbb-color-milk));--sbb-menu-action-forced-color-border-color: Highlight}}:host(:is([disabled],:disabled,[disabled-interactive])){--sbb-menu-action-cursor: default;--sbb-menu-action-color: var(--sbb-color-graphite);--sbb-menu-action-color: light-dark(var(--sbb-color-graphite), var(--sbb-color-granite));--sbb-menu-action-forced-color-border-color: GrayText;pointer-events:none;cursor:default}@media (forced-colors: active){:host(:is([disabled],:disabled,[disabled-interactive])){--sbb-menu-action-color: GrayText}}:host([data-sbb-menu-trigger]){--sbb-menu-action-cursor: default}@media (forced-colors: active){:host([data-button]){--sbb-menu-action-color: ButtonText}}:host([sbb-badge]:not([icon-name],[data-slot-names~=icon])):after{inset:50% calc(100% - var(--sbb-menu-action-outer-horizontal-padding) - var(--sbb-menu-action-content-padding-inline) - .5 * var(--sbb-size-icon-ui-small)) auto auto!important;translate:50% -50%}:host([sbb-badge]:is([icon-name],[data-slot-names~=icon])):after{inset:calc(var(--sbb-menu-action-outer-vertical-padding) + var(--sbb-menu-action-content-padding-block) + var(--sbb-badge-position-offset)) calc(100% - var(--sbb-menu-action-outer-horizontal-padding) - var(--sbb-menu-action-content-padding-inline) - var(--sbb-size-icon-ui-small) + var(--sbb-badge-position-offset)) auto auto!important}:host([aria-controls*=sbb-menu]){--sbb-menu-action-submenu-icon-display: flex}:is(.sbb-menu-button,.sbb-menu-link){text-decoration:none;display:block;width:100%;color:var(--sbb-menu-action-color);padding:var(--sbb-menu-action-outer-vertical-padding) var(--sbb-menu-action-outer-horizontal-padding);cursor:var(--sbb-menu-action-cursor);outline:none}.sbb-menu-action__content{--sbb-text-font-size: var(--sbb-font-size-text-xs);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);display:flex;align-items:center;gap:var(--sbb-menu-action-gap);padding:var(--sbb-menu-action-content-padding-block) var(--sbb-menu-action-content-padding-inline);border-radius:var(--sbb-menu-action-border-radius);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background-color:var(--sbb-menu-background-color)}:host(:focus-visible) .sbb-menu-action__content,:focus-visible .sbb-menu-action__content{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width)}@media (forced-colors: active){.sbb-menu-action__content{border:var(--sbb-border-width-2x) solid var(--sbb-menu-action-forced-color-border-color)}}.sbb-menu-action__icon,.sbb-menu-submenu__icon{display:flex;min-width:var(--sbb-size-icon-ui-small);min-height:var(--sbb-size-icon-ui-small)}.sbb-menu-submenu__icon{display:var(--sbb-menu-action-submenu-icon-display, none);margin-inline-start:auto}.sbb-menu-action__label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host(:is([disabled],:disabled,[disabled-interactive])) .sbb-menu-action__label{text-decoration:line-through}`, z = (s) => (() => {
|
|
8
|
+
var o;
|
|
9
|
+
let b = [d()], t, a = [], e, i = p(m(s));
|
|
10
|
+
return o = class extends i {
|
|
11
11
|
renderTemplate() {
|
|
12
|
-
return
|
|
12
|
+
return u`
|
|
13
13
|
<span class="sbb-menu-action__content">
|
|
14
14
|
<span class="sbb-menu-action__icon"> ${super.renderIconSlot()} </span>
|
|
15
15
|
<span class="sbb-menu-action__label">
|
|
16
16
|
<slot></slot>
|
|
17
17
|
</span>
|
|
18
|
+
<span class="sbb-menu-submenu__icon">
|
|
19
|
+
<sbb-icon name="chevron-small-right-small"></sbb-icon>
|
|
20
|
+
</span>
|
|
18
21
|
</span>
|
|
19
22
|
`;
|
|
20
23
|
}
|
|
21
|
-
},
|
|
22
|
-
const
|
|
23
|
-
r(null,
|
|
24
|
-
})(),
|
|
24
|
+
}, e = o, (() => {
|
|
25
|
+
const n = typeof Symbol == "function" && Symbol.metadata ? Object.create(i[Symbol.metadata] ?? null) : void 0;
|
|
26
|
+
r(null, t = { value: e }, b, { kind: "class", name: e.name, metadata: n }, null, a), e = t.value, n && Object.defineProperty(e, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: n });
|
|
27
|
+
})(), o.styles = v, c(e, a), e;
|
|
25
28
|
})();
|
|
26
29
|
export {
|
|
27
30
|
z as SbbMenuActionCommonElementMixin
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CSSResultGroup, PropertyDeclaration, PropertyValues, TemplateResult } from 'lit';
|
|
2
2
|
import { SbbOpenCloseBaseElement } from '../../core/base-elements.js';
|
|
3
3
|
import { SbbMenuButtonElement } from '../menu-button.js';
|
|
4
|
-
import { SbbMenuLinkElement } from '../menu-link.js';
|
|
4
|
+
import { SbbMenuLinkElement } from '../menu-link/menu-link.component.js';
|
|
5
5
|
declare const SbbMenuElement_base: import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbNamedSlotListMixinType<SbbMenuButtonElement | SbbMenuLinkElement>> & typeof SbbOpenCloseBaseElement;
|
|
6
6
|
/**
|
|
7
7
|
* It displays a contextual menu with one or more action element.
|
|
@@ -35,39 +35,50 @@ export declare class SbbMenuElement extends SbbMenuElement_base {
|
|
|
35
35
|
private _focusTrapController;
|
|
36
36
|
private _scrollHandler;
|
|
37
37
|
private _inertController;
|
|
38
|
+
private _mobileBreakpoint;
|
|
38
39
|
private _mediaMatcher;
|
|
39
40
|
private _darkModeController;
|
|
41
|
+
private _language;
|
|
42
|
+
private _nestedMenu;
|
|
40
43
|
constructor();
|
|
44
|
+
protected firstUpdated(changedProperties: PropertyValues<this>): void;
|
|
45
|
+
escapeStrategy(): void;
|
|
41
46
|
/**
|
|
42
47
|
* Opens the menu on trigger click.
|
|
43
48
|
*/
|
|
44
49
|
open(): void;
|
|
45
|
-
/**
|
|
46
|
-
* Closes the menu.
|
|
47
|
-
*/
|
|
50
|
+
/** Closes the menu and all its nested menus. */
|
|
48
51
|
close(): void;
|
|
52
|
+
/** Closes the menu and all related menus nested and parent menus). */
|
|
53
|
+
closeAll(): void;
|
|
54
|
+
/** @param [closeAll='false'] - If true, it ensures animations are correct by toggling some states when closing all related menus at once. */
|
|
55
|
+
private _close;
|
|
49
56
|
private _isZeroAnimationDuration;
|
|
50
57
|
private _handleOpening;
|
|
51
58
|
private _handleClosing;
|
|
52
|
-
/**
|
|
53
|
-
* Handles click and checks if its target is a sbb-menu-button/sbb-menu-link.
|
|
54
|
-
*/
|
|
55
|
-
private _onClick;
|
|
56
59
|
private _handleKeyDown;
|
|
57
60
|
protected createRenderRoot(): HTMLElement | DocumentFragment;
|
|
58
61
|
connectedCallback(): void;
|
|
59
62
|
disconnectedCallback(): void;
|
|
60
63
|
requestUpdate(name?: PropertyKey, oldValue?: unknown, options?: PropertyDeclaration): void;
|
|
61
|
-
protected firstUpdated(changedProperties: PropertyValues<this>): void;
|
|
62
64
|
private _checkListCase;
|
|
63
65
|
private _configureTrigger;
|
|
64
66
|
private _attachWindowEvents;
|
|
65
|
-
private
|
|
67
|
+
private _interactiveElementClick;
|
|
66
68
|
private _pointerDownListener;
|
|
67
69
|
private _closeOnBackdropClick;
|
|
70
|
+
/** Converts the linked list into an array of SbbMenuElement. */
|
|
71
|
+
private _nestedMenus;
|
|
72
|
+
private _parentMenu;
|
|
73
|
+
/** The outermost menu. */
|
|
74
|
+
private _mainMenu;
|
|
75
|
+
private _isNested;
|
|
76
|
+
private _updateNestedInert;
|
|
77
|
+
private _handleMouseOver;
|
|
68
78
|
private _onMenuAnimationEnd;
|
|
69
79
|
private _setMenuPosition;
|
|
70
80
|
private _syncNegative;
|
|
81
|
+
private _isMobile;
|
|
71
82
|
protected render(): TemplateResult;
|
|
72
83
|
}
|
|
73
84
|
declare global {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/menu/menu/menu.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAGnB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAUb,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"menu.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/menu/menu/menu.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAGnB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAUb,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAqBtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAI9E,OAAO,kBAAkB,CAAC;AAC1B,OAAO,mBAAmB,CAAC;;AAmB3B;;;;;;;GAOG;AACH,qBAEM,cAAe,SAAQ,mBAGH;IACxB,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAgC,IAAI,UAAU;IAC9C,mBAA4B,mBAAmB,WAAwC;IAEvF;;;;OAIG;IACH,SAEgB,OAAO,EAAE,WAAW,GAAG,IAAI,CAAQ;IAEnD;;;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,yBAAyB,CAAkB;IACnD,OAAO,CAAC,uBAAuB,CAAmB;IAClD,OAAO,CAAC,2BAA2B,CAA2C;IAC9E,OAAO,CAAC,oBAAoB,CAAoC;IAChE,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,gBAAgB,CAAgC;IACxD,OAAO,CAAC,iBAAiB,CAAwC;IACjE,OAAO,CAAC,aAAa,CAQlB;IACH,OAAO,CAAC,mBAAmB,CAA+D;IAC1F,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,WAAW,CAA+B;;cAO/B,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAM9D,cAAc,IAAI,IAAI;IAItC;;OAEG;IACI,IAAI,IAAI,IAAI;IAuCnB,gDAAgD;IACzC,KAAK,IAAI,IAAI;IAIpB,uEAAuE;IAChE,QAAQ,IAAI,IAAI;IAIvB,6IAA6I;IAC7I,OAAO,CAAC,MAAM;IA0Bd,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,cAAc;IA4BtB,OAAO,CAAC,cAAc;cAqDH,gBAAgB,IAAI,WAAW,GAAG,gBAAgB;IAkBrD,iBAAiB,IAAI,IAAI;IASzB,oBAAoB,IAAI,IAAI;IAQ5B,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;IA2BzB,OAAO,CAAC,mBAAmB;IA2B3B,OAAO,CAAC,wBAAwB;IAchC,OAAO,CAAC,oBAAoB,CAM1B;IAGF,OAAO,CAAC,qBAAqB,CAc3B;IAEF,gEAAgE;IAChE,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,WAAW;IAInB,0BAA0B;IAC1B,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,gBAAgB;IA+BxB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,SAAS;cAIE,MAAM,IAAI,cAAc;CA+B5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,UAAU,EAAE,cAAc,CAAC;KAC5B;CACF"}
|