@kirbydesign/designsystem 8.2.0-rc.1 → 8.2.0-rc.2

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 (33) hide show
  1. package/action-group/action-group.component.d.ts +15 -10
  2. package/action-group/public_api.d.ts +1 -1
  3. package/button/button.component.d.ts +3 -1
  4. package/esm2020/action-group/action-group.component.mjs +28 -31
  5. package/esm2020/action-group/public_api.mjs +2 -2
  6. package/esm2020/button/button.component.mjs +16 -5
  7. package/esm2020/header/header.component.mjs +58 -9
  8. package/esm2020/header/header.module.mjs +4 -4
  9. package/esm2020/header/public_api.mjs +2 -2
  10. package/esm2020/page/page.component.mjs +88 -23
  11. package/fesm2015/kirbydesign-designsystem-action-group.mjs +31 -31
  12. package/fesm2015/kirbydesign-designsystem-action-group.mjs.map +1 -1
  13. package/fesm2015/kirbydesign-designsystem-button.mjs +16 -4
  14. package/fesm2015/kirbydesign-designsystem-button.mjs.map +1 -1
  15. package/fesm2015/kirbydesign-designsystem-header.mjs +65 -11
  16. package/fesm2015/kirbydesign-designsystem-header.mjs.map +1 -1
  17. package/fesm2015/kirbydesign-designsystem-page.mjs +94 -24
  18. package/fesm2015/kirbydesign-designsystem-page.mjs.map +1 -1
  19. package/fesm2015/kirbydesign-designsystem.mjs +1 -0
  20. package/fesm2020/kirbydesign-designsystem-action-group.mjs +28 -31
  21. package/fesm2020/kirbydesign-designsystem-action-group.mjs.map +1 -1
  22. package/fesm2020/kirbydesign-designsystem-button.mjs +15 -4
  23. package/fesm2020/kirbydesign-designsystem-button.mjs.map +1 -1
  24. package/fesm2020/kirbydesign-designsystem-header.mjs +60 -11
  25. package/fesm2020/kirbydesign-designsystem-header.mjs.map +1 -1
  26. package/fesm2020/kirbydesign-designsystem-page.mjs +87 -22
  27. package/fesm2020/kirbydesign-designsystem-page.mjs.map +1 -1
  28. package/fesm2020/kirbydesign-designsystem.mjs +1 -0
  29. package/header/header.component.d.ts +20 -4
  30. package/header/header.module.d.ts +1 -1
  31. package/header/public_api.d.ts +1 -1
  32. package/package.json +1 -1
  33. package/page/page.component.d.ts +11 -4
@@ -1,28 +1,33 @@
1
- import { AfterContentInit, AfterViewInit, ElementRef, Renderer2 } from '@angular/core';
1
+ import { AfterContentInit, InjectionToken, Renderer2 } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
- export declare class ActionGroupComponent implements AfterContentInit, AfterViewInit {
3
+ export declare type ActionGroupConfig = {
4
+ isResizable?: boolean;
5
+ isCondensed?: boolean;
6
+ visibleActions?: number;
7
+ };
8
+ export declare const ACTIONGROUP_CONFIG: InjectionToken<ActionGroupConfig>;
9
+ export declare class ActionGroupComponent implements AfterContentInit {
4
10
  private renderer;
5
- private elementRef;
6
- visibleActions: number;
11
+ private config;
12
+ visibleActions?: number;
7
13
  emphasizeActions?: boolean;
8
14
  placement: 'left' | 'right';
9
- private buttonElements;
10
- private buttons;
15
+ private buttonElements?;
16
+ private buttons?;
11
17
  private hiddenLayer;
12
18
  private dropdown;
13
19
  _isCollapsed: boolean;
14
20
  _collapsedActions: string[];
21
+ _isResizeable: boolean;
15
22
  private _nonCollapsibleVisibleActions;
16
23
  private hiddenButtons;
17
- constructor(renderer: Renderer2, elementRef: ElementRef<HTMLElement>);
24
+ constructor(renderer: Renderer2, config: ActionGroupConfig);
18
25
  ngAfterContentInit(): void;
19
- set isCondensed(value: boolean);
20
- ngAfterViewInit(): void;
21
26
  onDropdownActionSelect(): void;
22
27
  private initializeCollapsing;
23
28
  private moveButtons;
24
29
  private toggleDropdown;
25
30
  private populateDropdown;
26
- static ɵfac: i0.ɵɵFactoryDeclaration<ActionGroupComponent, never>;
31
+ static ɵfac: i0.ɵɵFactoryDeclaration<ActionGroupComponent, [null, { optional: true; }]>;
27
32
  static ɵcmp: i0.ɵɵComponentDeclaration<ActionGroupComponent, "kirby-action-group", never, { "visibleActions": "visibleActions"; "emphasizeActions": "emphasizeActions"; "placement": "placement"; }, {}, ["buttonElements", "buttons"], ["button[kirby-button]"], true, never>;
28
33
  }
@@ -1 +1 @@
1
- export { ActionGroupComponent } from './action-group.component';
1
+ export { ActionGroupComponent, ActionGroupConfig, ACTIONGROUP_CONFIG, } from './action-group.component';
@@ -27,7 +27,9 @@ export declare class ButtonComponent implements AfterContentInit {
27
27
  expand: 'full' | 'block';
28
28
  isFloating: boolean;
29
29
  size: ButtonSize | `${ButtonSize}`;
30
- showIconOnly: boolean;
30
+ private _showIconOnly;
31
+ get showIconOnly(): boolean;
32
+ set showIconOnly(value: boolean);
31
33
  iconElementRef?: ElementRef<HTMLElement>;
32
34
  constructor(elementRef: ElementRef<HTMLElement>, renderer: Renderer2);
33
35
  private wrapTextNode;
@@ -1,34 +1,27 @@
1
1
  import { CommonModule } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, ContentChildren, ElementRef, HostBinding, Input, QueryList, Renderer2, ViewChild, } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, ContentChildren, ElementRef, HostBinding, Inject, InjectionToken, Input, Optional, QueryList, Renderer2, ViewChild, } from '@angular/core';
3
3
  import { ButtonComponent } from '@kirbydesign/designsystem/button';
4
4
  import { DropdownComponent, DropdownModule } from '@kirbydesign/designsystem/dropdown';
5
5
  import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- import * as i2 from "@kirbydesign/designsystem/dropdown";
6
+ import * as i1 from "@kirbydesign/designsystem/dropdown";
7
+ export const ACTIONGROUP_CONFIG = new InjectionToken('action-group.config');
8
8
  export class ActionGroupComponent {
9
- constructor(renderer, elementRef) {
9
+ constructor(renderer, config) {
10
10
  this.renderer = renderer;
11
- this.elementRef = elementRef;
11
+ this.config = config;
12
12
  this.placement = 'right';
13
13
  this._collapsedActions = [];
14
+ this._isResizeable = false;
14
15
  this._nonCollapsibleVisibleActions = 2;
15
16
  }
16
17
  ngAfterContentInit() {
17
- const isInToolbar = this.elementRef.nativeElement.closest('ion-toolbar');
18
- const emphasizeActions = !!this.elementRef.nativeElement.closest('.actions.emphasize');
19
- if (isInToolbar || emphasizeActions === false) {
20
- // Setting default visible actions to 1:
21
- this.visibleActions = 1;
18
+ if (this.config) {
19
+ this._isResizeable = this.config.isResizable;
20
+ this.visibleActions = this.config.visibleActions;
21
+ if (this.config.isCondensed) {
22
+ this.buttons?.forEach((button) => (button.showIconOnly = true));
23
+ }
22
24
  }
23
- if (isInToolbar) {
24
- this.isCondensed = true;
25
- this.placement = 'right';
26
- }
27
- }
28
- set isCondensed(value) {
29
- this.buttons.forEach((button) => (button.showIconOnly = value));
30
- }
31
- ngAfterViewInit() {
32
25
  if (this.visibleActions) {
33
26
  this.initializeCollapsing();
34
27
  }
@@ -61,12 +54,8 @@ export class ActionGroupComponent {
61
54
  });
62
55
  }
63
56
  toggleDropdown() {
64
- if (this.hiddenLayer.nativeElement.childElementCount === 0) {
65
- this._isCollapsed = false;
66
- }
67
- else {
68
- this._isCollapsed = true;
69
- }
57
+ const hasHiddenButtons = this.hiddenLayer.nativeElement.childElementCount > 0;
58
+ this._isCollapsed = hasHiddenButtons;
70
59
  }
71
60
  populateDropdown() {
72
61
  /*
@@ -79,12 +68,17 @@ export class ActionGroupComponent {
79
68
  this._collapsedActions = this.hiddenButtons.map((button) => button.textContent.trim());
80
69
  }
81
70
  }
82
- /** @nocollapse */ ActionGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ActionGroupComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
83
- /** @nocollapse */ ActionGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ActionGroupComponent, isStandalone: true, selector: "kirby-action-group", inputs: { visibleActions: "visibleActions", emphasizeActions: "emphasizeActions", placement: "placement" }, host: { properties: { "class": "this.placement", "class.is-collapsed": "this._isCollapsed" } }, queries: [{ propertyName: "buttonElements", predicate: ButtonComponent, read: ElementRef }, { propertyName: "buttons", predicate: ButtonComponent }], viewQueries: [{ propertyName: "hiddenLayer", first: true, predicate: ["hiddenLayer"], descendants: true, read: ElementRef }, { propertyName: "dropdown", first: true, predicate: DropdownComponent, descendants: true }], ngImport: i0, template: "<div *ngIf=\"placement === 'right'\" class=\"hidden-layer\" #hiddenLayer></div>\n<ng-content select=\"button[kirby-button]\"></ng-content>\n\n<kirby-dropdown\n [items]=\"_collapsedActions\"\n [usePopover]=\"true\"\n [_isMoreMenu]=\"true\"\n popout=\"left\"\n (change)=\"onDropdownActionSelect()\"\n></kirby-dropdown>\n<div *ngIf=\"placement === 'left'\" class=\"hidden-layer\" #hiddenLayer></div>\n", styles: [":host{display:flex;position:relative;overflow:hidden}:host(.right){justify-content:flex-end}:host(.is-collapsed) kirby-dropdown{display:inline-block}.hidden-layer{position:absolute;visibility:hidden;display:flex;flex-direction:row;justify-content:flex-end}kirby-dropdown{margin:4px;display:none;z-index:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i2.DropdownComponent, selector: "kirby-dropdown", inputs: ["items", "selectedIndex", "focusedIndex", "itemTextProperty", "placeholder", "popout", "attentionLevel", "expand", "disabled", "hasError", "size", "tabindex", "usePopover", "_isMoreMenu"], outputs: ["change"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
71
+ /** @nocollapse */ ActionGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ActionGroupComponent, deps: [{ token: i0.Renderer2 }, { token: ACTIONGROUP_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Component });
72
+ /** @nocollapse */ ActionGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ActionGroupComponent, isStandalone: true, selector: "kirby-action-group", inputs: { visibleActions: "visibleActions", emphasizeActions: "emphasizeActions", placement: "placement" }, host: { properties: { "class": "this.placement", "class.is-collapsed": "this._isCollapsed", "class.is-resizeable": "this._isResizeable" } }, queries: [{ propertyName: "buttonElements", predicate: ButtonComponent, read: ElementRef }, { propertyName: "buttons", predicate: ButtonComponent }], viewQueries: [{ propertyName: "hiddenLayer", first: true, predicate: ["hiddenLayer"], descendants: true, read: ElementRef, static: true }, { propertyName: "dropdown", first: true, predicate: DropdownComponent, descendants: true }], ngImport: i0, template: "<ng-content select=\"button[kirby-button]\"></ng-content>\n\n<kirby-dropdown\n [items]=\"_collapsedActions\"\n [usePopover]=\"true\"\n [_isMoreMenu]=\"true\"\n popout=\"left\"\n (change)=\"onDropdownActionSelect()\"\n></kirby-dropdown>\n\n<div class=\"hidden-layer\" #hiddenLayer></div>\n", styles: [":host{display:flex;position:relative;overflow:hidden}:host(.right){justify-content:flex-end}:host(.right) .hidden-layer{order:-1}:host(.is-collapsed) kirby-dropdown{display:inline-block}.hidden-layer{display:none;visibility:hidden}:host(.is-resizeable) .hidden-layer{display:flex;flex-direction:row;justify-content:flex-end}kirby-dropdown{margin:4px;display:none;z-index:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i1.DropdownComponent, selector: "kirby-dropdown", inputs: ["items", "selectedIndex", "focusedIndex", "itemTextProperty", "placeholder", "popout", "attentionLevel", "expand", "disabled", "hasError", "size", "tabindex", "usePopover", "_isMoreMenu"], outputs: ["change"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
84
73
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ActionGroupComponent, decorators: [{
85
74
  type: Component,
86
- args: [{ selector: 'kirby-action-group', standalone: true, imports: [CommonModule, ButtonComponent, DropdownModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"placement === 'right'\" class=\"hidden-layer\" #hiddenLayer></div>\n<ng-content select=\"button[kirby-button]\"></ng-content>\n\n<kirby-dropdown\n [items]=\"_collapsedActions\"\n [usePopover]=\"true\"\n [_isMoreMenu]=\"true\"\n popout=\"left\"\n (change)=\"onDropdownActionSelect()\"\n></kirby-dropdown>\n<div *ngIf=\"placement === 'left'\" class=\"hidden-layer\" #hiddenLayer></div>\n", styles: [":host{display:flex;position:relative;overflow:hidden}:host(.right){justify-content:flex-end}:host(.is-collapsed) kirby-dropdown{display:inline-block}.hidden-layer{position:absolute;visibility:hidden;display:flex;flex-direction:row;justify-content:flex-end}kirby-dropdown{margin:4px;display:none;z-index:1}\n"] }]
87
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { visibleActions: [{
75
+ args: [{ selector: 'kirby-action-group', standalone: true, imports: [CommonModule, ButtonComponent, DropdownModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content select=\"button[kirby-button]\"></ng-content>\n\n<kirby-dropdown\n [items]=\"_collapsedActions\"\n [usePopover]=\"true\"\n [_isMoreMenu]=\"true\"\n popout=\"left\"\n (change)=\"onDropdownActionSelect()\"\n></kirby-dropdown>\n\n<div class=\"hidden-layer\" #hiddenLayer></div>\n", styles: [":host{display:flex;position:relative;overflow:hidden}:host(.right){justify-content:flex-end}:host(.right) .hidden-layer{order:-1}:host(.is-collapsed) kirby-dropdown{display:inline-block}.hidden-layer{display:none;visibility:hidden}:host(.is-resizeable) .hidden-layer{display:flex;flex-direction:row;justify-content:flex-end}kirby-dropdown{margin:4px;display:none;z-index:1}\n"] }]
76
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: undefined, decorators: [{
77
+ type: Optional
78
+ }, {
79
+ type: Inject,
80
+ args: [ACTIONGROUP_CONFIG]
81
+ }] }]; }, propDecorators: { visibleActions: [{
88
82
  type: Input
89
83
  }], emphasizeActions: [{
90
84
  type: Input
@@ -101,12 +95,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
101
95
  args: [ButtonComponent]
102
96
  }], hiddenLayer: [{
103
97
  type: ViewChild,
104
- args: ['hiddenLayer', { read: ElementRef }]
98
+ args: ['hiddenLayer', { read: ElementRef, static: true }]
105
99
  }], dropdown: [{
106
100
  type: ViewChild,
107
101
  args: [DropdownComponent]
108
102
  }], _isCollapsed: [{
109
103
  type: HostBinding,
110
104
  args: ['class.is-collapsed']
105
+ }], _isResizeable: [{
106
+ type: HostBinding,
107
+ args: ['class.is-resizeable']
111
108
  }] } });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL2FjdGlvbi1ncm91cC9zcmMvYWN0aW9uLWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL2FjdGlvbi1ncm91cC9zcmMvYWN0aW9uLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBR0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7OztBQVV2RixNQUFNLE9BQU8sb0JBQW9CO0lBNEIvQixZQUFvQixRQUFtQixFQUFVLFVBQW1DO1FBQWhFLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQXJCcEYsY0FBUyxHQUFxQixPQUFPLENBQUM7UUFldEMsc0JBQWlCLEdBQWEsRUFBRSxDQUFDO1FBRXpCLGtDQUE2QixHQUFXLENBQUMsQ0FBQztJQUlxQyxDQUFDO0lBRXhGLGtCQUFrQjtRQUNoQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDekUsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENB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QVdBLDRXRFNZLFlBQVksa0lBQW1CLGNBQWM7MkZBSzVDLG9CQUFvQjtrQkFSaEMsU0FBUzsrQkFDRSxvQkFBb0IsY0FDbEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxjQUFjLENBQUMsbUJBQ3ZDLHVCQUF1QixDQUFDLE1BQU07eUhBS3RDLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUlOLFNBQVM7c0JBRlIsV0FBVzt1QkFBQyxPQUFPOztzQkFDbkIsS0FBSztnQkFHMEQsY0FBYztzQkFBN0UsZUFBZTt1QkFBQyxlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUdaLE9BQU87c0JBQWhELGVBQWU7dUJBQUMsZUFBZTtnQkFDd0IsV0FBVztzQkFBbEUsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUtSLFFBQVE7c0JBQTdDLFNBQVM7dUJBQUMsaUJBQWlCO2dCQUc1QixZQUFZO3NCQURYLFdBQVc7dUJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBRdWVyeUxpc3QsXG4gIFJlbmRlcmVyMixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vYnV0dG9uJztcbmltcG9ydCB7IERyb3Bkb3duQ29tcG9uZW50LCBEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vZHJvcGRvd24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdraXJieS1hY3Rpb24tZ3JvdXAnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBCdXR0b25Db21wb25lbnQsIERyb3Bkb3duTW9kdWxlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3Rpb24tZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hY3Rpb24tZ3JvdXAuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQWN0aW9uR3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgdmlzaWJsZUFjdGlvbnM6IG51bWJlcjtcblxuICBASW5wdXQoKSBlbXBoYXNpemVBY3Rpb25zPzogYm9vbGVhbjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgQElucHV0KClcbiAgcGxhY2VtZW50OiAnbGVmdCcgfCAncmlnaHQnID0gJ3JpZ2h0JztcblxuICBAQ29udGVudENoaWxkcmVuKEJ1dHRvbkNvbXBvbmVudCwgeyByZWFkOiBFbGVtZW50UmVmIH0pIHByaXZhdGUgYnV0dG9uRWxlbWVudHMhOiBRdWVyeUxpc3Q8XG4gICAgRWxlbWVudFJlZjxIVE1MQnV0dG9uRWxlbWVudD5cbiAgPjtcbiAgQENvbnRlbnRDaGlsZHJlbihCdXR0b25Db21wb25lbnQpIHByaXZhdGUgYnV0dG9uczogUXVlcnlMaXN0PEJ1dHRvbkNvbXBvbmVudD47XG4gIEBWaWV3Q2hpbGQoJ2hpZGRlbkxheWVyJywgeyByZWFkOiBFbGVtZW50UmVmIH0pIHByaXZhdGUgaGlkZGVuTGF5ZXIhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcbiAgLypcbiAgICogVEVNUE9SQVJZIE1PUkUtTUVOVVxuICAgKiBkcm9wZG93biBWaWV3Q2hpbGQgaXMgb25seSB1c2VkIGZvciB0ZW1wb3JhcnkgbW9yZS1tZW51XG4gICAqL1xuICBAVmlld0NoaWxkKERyb3Bkb3duQ29tcG9uZW50KSBwcml2YXRlIGRyb3Bkb3duITogRHJvcGRvd25Db21wb25lbnQ7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1jb2xsYXBzZWQnKVxuICBfaXNDb2xsYXBzZWQ6IGJvb2xlYW47XG4gIF9jb2xsYXBzZWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuXG4gIHByaXZhdGUgX25vbkNvbGxhcHNpYmxlVmlzaWJsZUFjdGlvbnM6IG51bWJlciA9IDI7XG5cbiAgcHJpdmF0ZSBoaWRkZW5CdXR0b25zOiBIVE1MQnV0dG9uRWxlbWVudFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge31cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgaXNJblRvb2xiYXIgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbG9zZXN0KCdpb24tdG9vbGJhcicpO1xuICAgIGNvbnN0IGVtcGhhc2l6ZUFjdGlvbnMgPSAhIXRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsb3Nlc3QoJy5hY3Rpb25zLmVtcGhhc2l6ZScpO1xuICAgIGlmIChpc0luVG9vbGJhciB8fCBlbXBoYXNpemVBY3Rpb25zID09PSBmYWxzZSkge1xuICAgICAgLy8gU2V0dGluZyBkZWZhdWx0IHZpc2libGUgYWN0aW9ucyB0byAxOlxuICAgICAgdGhpcy52aXNpYmxlQWN0aW9ucyA9IDE7XG4gICAgfVxuICAgIGlmIChpc0luVG9vbGJhcikge1xuICAgICAgdGhpcy5pc0NvbmRlbnNlZCA9IHRydWU7XG4gICAgICB0aGlzLnBsYWNlbWVudCA9ICdyaWdodCc7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldCBpc0NvbmRlbnNlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuYnV0dG9ucy5mb3JFYWNoKChidXR0b24pID0+IChidXR0b24uc2hvd0ljb25Pbmx5ID0gdmFsdWUpKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy52aXNpYmxlQWN0aW9ucykge1xuICAgICAgdGhpcy5pbml0aWFsaXplQ29sbGFwc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIG9uRHJvcGRvd25BY3Rpb25TZWxlY3QoKSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRJbmRleCA9IHRoaXMuZHJvcGRvd24uc2VsZWN0ZWRJbmRleDtcbiAgICBjb25zdCBzZWxlY3RlZEFjdGlvbiA9IHRoaXMuaGlkZGVuQnV0dG9uc1tzZWxlY3RlZEluZGV4XTtcblxuICAgIC8vIERyb3Bkb3duIHNob3VsZCBub3QgcGVyc2lzdCBzZWxlY3RlZCBpdGVtLCB3ZSB3YW50IGl0IHRvIGJlIHJlLXNlbGVjdGFibGVcbiAgICB0aGlzLmRyb3Bkb3duLnNlbGVjdGVkSW5kZXggPSAtMTtcblxuICAgIGlmIChzZWxlY3RlZEFjdGlvbikge1xuICAgICAgY29uc3QgZXZlbnQgPSBuZXcgUG9pbnRlckV2ZW50KCdjbGljaycsIHtcbiAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgY2FuY2VsYWJsZTogdHJ1ZSxcbiAgICAgICAgdmlldzogd2luZG93LFxuICAgICAgfSk7XG5cbiAgICAgIHNlbGVjdGVkQWN0aW9uLmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUNvbGxhcHNpbmcoKSB7XG4gICAgaWYgKHRoaXMuYnV0dG9uRWxlbWVudHMubGVuZ3RoIDw9IHRoaXMuX25vbkNvbGxhcHNpYmxlVmlzaWJsZUFjdGlvbnMpIHJldHVybjtcbiAgICB0aGlzLm1vdmVCdXR0b25zKCk7XG4gICAgdGhpcy5wb3B1bGF0ZURyb3Bkb3duKCk7XG4gICAgdGhpcy50b2dnbGVEcm9wZG93bigpO1xuICB9XG5cbiAgcHJpdmF0ZSBtb3ZlQnV0dG9ucygpIHtcbiAgICBjb25zdCBidXR0b25zVG9IaWRlID0gWy4uLnRoaXMuYnV0dG9uRWxlbWVudHNdLnNsaWNlKHRoaXMudmlzaWJsZUFjdGlvbnMpO1xuICAgIGJ1dHRvbnNUb0hpZGUuZm9yRWFjaCgoYnV0dG9uKSA9PiB7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuaGlkZGVuTGF5ZXIubmF0aXZlRWxlbWVudCwgYnV0dG9uLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB0b2dnbGVEcm9wZG93bigpIHtcbiAgICBpZiAodGhpcy5oaWRkZW5MYXllci5uYXRpdmVFbGVtZW50LmNoaWxkRWxlbWVudENvdW50ID09PSAwKSB7XG4gICAgICB0aGlzLl9pc0NvbGxhcHNlZCA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9pc0NvbGxhcHNlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBwb3B1bGF0ZURyb3Bkb3duKCkge1xuICAgIC8qXG4gICAgICogVGhpcyBmdW5jdGlvbiBleHRyYWN0cyB0aGUgYnV0dG9uIHRleHQgb2YgYWxsIGhpZGRlbiBidXR0b25zXG4gICAgICogYW5kIHVwZGF0ZXMgdGhlIGFycmF5IHVzZWQgdG8gcG9wdWxhdGUgdGhlIGRyb3Bkb3duIHdpdGggaXRlbXMuXG4gICAgICogSXQgYWxzbyBtYXBzIHRoZSBleHRyYWN0ZWQgdGV4dCB0byB0aGUgYWN0dWFsIGJ1dHRvbiBlbGVtZW50LCBmb3IgdXNlIHdoZW5cbiAgICAgKiBmaXJpbmcgdGhlIG1hdGNoaW5nIGJ1dHRvbnMgY2xpY2stZXZlbnQgaW4gb25Ecm9wZG93bkFjdGlvblNlbGVjdFxuICAgICAqL1xuXG4gICAgdGhpcy5oaWRkZW5CdXR0b25zID0gQXJyYXkuZnJvbSh0aGlzLmhpZGRlbkxheWVyLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4pIGFzIEhUTUxCdXR0b25FbGVtZW50W107XG4gICAgdGhpcy5fY29sbGFwc2VkQWN0aW9ucyA9IHRoaXMuaGlkZGVuQnV0dG9ucy5tYXAoKGJ1dHRvbikgPT4gYnV0dG9uLnRleHRDb250ZW50LnRyaW0oKSk7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJwbGFjZW1lbnQgPT09ICdyaWdodCdcIiBjbGFzcz1cImhpZGRlbi1sYXllclwiICNoaWRkZW5MYXllcj48L2Rpdj5cbjxuZy1jb250ZW50IHNlbGVjdD1cImJ1dHRvbltraXJieS1idXR0b25dXCI+PC9uZy1jb250ZW50PlxuXG48a2lyYnktZHJvcGRvd25cbiAgW2l0ZW1zXT1cIl9jb2xsYXBzZWRBY3Rpb25zXCJcbiAgW3VzZVBvcG92ZXJdPVwidHJ1ZVwiXG4gIFtfaXNNb3JlTWVudV09XCJ0cnVlXCJcbiAgcG9wb3V0PVwibGVmdFwiXG4gIChjaGFuZ2UpPVwib25Ecm9wZG93bkFjdGlvblNlbGVjdCgpXCJcbj48L2tpcmJ5LWRyb3Bkb3duPlxuPGRpdiAqbmdJZj1cInBsYWNlbWVudCA9PT0gJ2xlZnQnXCIgY2xhc3M9XCJoaWRkZW4tbGF5ZXJcIiAjaGlkZGVuTGF5ZXI+PC9kaXY+XG4iXX0=
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL2FjdGlvbi1ncm91cC9zcmMvYWN0aW9uLWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL2FjdGlvbi1ncm91cC9zcmMvYWN0aW9uLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFDTCxRQUFRLEVBQ1IsU0FBUyxFQUNULFNBQVMsRUFDVCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7O0FBT3ZGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUFvQixxQkFBcUIsQ0FBQyxDQUFDO0FBVS9GLE1BQU0sT0FBTyxvQkFBb0I7SUFnQy9CLFlBQ1UsUUFBbUIsRUFDcUIsTUFBeUI7UUFEakUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNxQixXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQTNCM0UsY0FBUyxHQUFxQixPQUFPLENBQUM7UUFnQnRDLHNCQUFpQixHQUFhLEVBQUUsQ0FBQztRQUdqQyxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUVkLGtDQUE2QixHQUFXLENBQUMsQ0FBQztJQU8vQyxDQUFDO0lBRUosa0JBQWtCO1FBQ2hCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLElBQUks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dkMsdUJBQXVCLENBQUMsTUFBTTs7MEJBc0M1QyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLGtCQUFrQjs0Q0FqQy9CLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUlOLFNBQVM7c0JBRlIsV0FBVzt1QkFBQyxPQUFPOztzQkFDbkIsS0FBSztnQkFHMEQsY0FBYztzQkFBN0UsZUFBZTt1QkFBQyxlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUdaLE9BQU87c0JBQWhELGVBQWU7dUJBQUMsZUFBZTtnQkFFeEIsV0FBVztzQkFEbEIsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBTXRCLFFBQVE7c0JBQTdDLFNBQVM7dUJBQUMsaUJBQWlCO2dCQUc1QixZQUFZO3NCQURYLFdBQVc7dUJBQUMsb0JBQW9CO2dCQUtqQyxhQUFhO3NCQURaLFdBQVc7dUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdCxcbiAgSW5qZWN0aW9uVG9rZW4sXG4gIElucHV0LFxuICBPcHRpb25hbCxcbiAgUXVlcnlMaXN0LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2J1dHRvbic7XG5pbXBvcnQgeyBEcm9wZG93bkNvbXBvbmVudCwgRHJvcGRvd25Nb2R1bGUgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2Ryb3Bkb3duJztcblxuZXhwb3J0IHR5cGUgQWN0aW9uR3JvdXBDb25maWcgPSB7XG4gIGlzUmVzaXphYmxlPzogYm9vbGVhbjtcbiAgaXNDb25kZW5zZWQ/OiBib29sZWFuO1xuICB2aXNpYmxlQWN0aW9ucz86IG51bWJlcjtcbn07XG5leHBvcnQgY29uc3QgQUNUSU9OR1JPVVBfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPEFjdGlvbkdyb3VwQ29uZmlnPignYWN0aW9uLWdyb3VwLmNvbmZpZycpO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdraXJieS1hY3Rpb24tZ3JvdXAnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBCdXR0b25Db21wb25lbnQsIERyb3Bkb3duTW9kdWxlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3Rpb24tZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hY3Rpb24tZ3JvdXAuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQWN0aW9uR3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgQElucHV0KCkgdmlzaWJsZUFjdGlvbnM/OiBudW1iZXI7XG5cbiAgQElucHV0KCkgZW1waGFzaXplQWN0aW9ucz86IGJvb2xlYW47XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIEBJbnB1dCgpXG4gIHBsYWNlbWVudDogJ2xlZnQnIHwgJ3JpZ2h0JyA9ICdyaWdodCc7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihCdXR0b25Db21wb25lbnQsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBwcml2YXRlIGJ1dHRvbkVsZW1lbnRzPzogUXVlcnlMaXN0PFxuICAgIEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+XG4gID47XG4gIEBDb250ZW50Q2hpbGRyZW4oQnV0dG9uQ29tcG9uZW50KSBwcml2YXRlIGJ1dHRvbnM/OiBRdWVyeUxpc3Q8QnV0dG9uQ29tcG9uZW50PjtcbiAgQFZpZXdDaGlsZCgnaGlkZGVuTGF5ZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICBwcml2YXRlIGhpZGRlbkxheWVyITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gIC8qXG4gICAqIFRFTVBPUkFSWSBNT1JFLU1FTlVcbiAgICogZHJvcGRvd24gVmlld0NoaWxkIGlzIG9ubHkgdXNlZCBmb3IgdGVtcG9yYXJ5IG1vcmUtbWVudVxuICAgKi9cbiAgQFZpZXdDaGlsZChEcm9wZG93bkNvbXBvbmVudCkgcHJpdmF0ZSBkcm9wZG93biE6IERyb3Bkb3duQ29tcG9uZW50O1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaXMtY29sbGFwc2VkJylcbiAgX2lzQ29sbGFwc2VkOiBib29sZWFuO1xuICBfY29sbGFwc2VkQWN0aW9uczogc3RyaW5nW10gPSBbXTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLXJlc2l6ZWFibGUnKVxuICBfaXNSZXNpemVhYmxlID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfbm9uQ29sbGFwc2libGVWaXNpYmxlQWN0aW9uczogbnVtYmVyID0gMjtcblxuICBwcml2YXRlIGhpZGRlbkJ1dHRvbnM6IEhUTUxCdXR0b25FbGVtZW50W107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQUNUSU9OR1JPVVBfQ09ORklHKSBwcml2YXRlIGNvbmZpZzogQWN0aW9uR3JvdXBDb25maWdcbiAgKSB7fVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb25maWcpIHtcbiAgICAgIHRoaXMuX2lzUmVzaXplYWJsZSA9IHRoaXMuY29uZmlnLmlzUmVzaXphYmxlO1xuICAgICAgdGhpcy52aXNpYmxlQWN0aW9ucyA9IHRoaXMuY29uZmlnLnZpc2libGVBY3Rpb25zO1xuICAgICAgaWYgKHRoaXMuY29uZmlnLmlzQ29uZGVuc2VkKSB7XG4gICAgICAgIHRoaXMuYnV0dG9ucz8uZm9yRWFjaCgoYnV0dG9uKSA9PiAoYnV0dG9uLnNob3dJY29uT25seSA9IHRydWUpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy52aXNpYmxlQWN0aW9ucykge1xuICAgICAgdGhpcy5pbml0aWFsaXplQ29sbGFwc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIG9uRHJvcGRvd25BY3Rpb25TZWxlY3QoKSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRJbmRleCA9IHRoaXMuZHJvcGRvd24uc2VsZWN0ZWRJbmRleDtcbiAgICBjb25zdCBzZWxlY3RlZEFjdGlvbiA9IHRoaXMuaGlkZGVuQnV0dG9uc1tzZWxlY3RlZEluZGV4XTtcblxuICAgIC8vIERyb3Bkb3duIHNob3VsZCBub3QgcGVyc2lzdCBzZWxlY3RlZCBpdGVtLCB3ZSB3YW50IGl0IHRvIGJlIHJlLXNlbGVjdGFibGVcbiAgICB0aGlzLmRyb3Bkb3duLnNlbGVjdGVkSW5kZXggPSAtMTtcblxuICAgIGlmIChzZWxlY3RlZEFjdGlvbikge1xuICAgICAgY29uc3QgZXZlbnQgPSBuZXcgUG9pbnRlckV2ZW50KCdjbGljaycsIHtcbiAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgY2FuY2VsYWJsZTogdHJ1ZSxcbiAgICAgICAgdmlldzogd2luZG93LFxuICAgICAgfSk7XG5cbiAgICAgIHNlbGVjdGVkQWN0aW9uLmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUNvbGxhcHNpbmcoKSB7XG4gICAgaWYgKHRoaXMuYnV0dG9uRWxlbWVudHMubGVuZ3RoIDw9IHRoaXMuX25vbkNvbGxhcHNpYmxlVmlzaWJsZUFjdGlvbnMpIHJldHVybjtcbiAgICB0aGlzLm1vdmVCdXR0b25zKCk7XG4gICAgdGhpcy5wb3B1bGF0ZURyb3Bkb3duKCk7XG4gICAgdGhpcy50b2dnbGVEcm9wZG93bigpO1xuICB9XG5cbiAgcHJpdmF0ZSBtb3ZlQnV0dG9ucygpIHtcbiAgICBjb25zdCBidXR0b25zVG9IaWRlID0gWy4uLnRoaXMuYnV0dG9uRWxlbWVudHNdLnNsaWNlKHRoaXMudmlzaWJsZUFjdGlvbnMpO1xuICAgIGJ1dHRvbnNUb0hpZGUuZm9yRWFjaCgoYnV0dG9uKSA9PiB7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuaGlkZGVuTGF5ZXIubmF0aXZlRWxlbWVudCwgYnV0dG9uLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB0b2dnbGVEcm9wZG93bigpIHtcbiAgICBjb25zdCBoYXNIaWRkZW5CdXR0b25zID0gdGhpcy5oaWRkZW5MYXllci5uYXRpdmVFbGVtZW50LmNoaWxkRWxlbWVudENvdW50ID4gMDtcbiAgICB0aGlzLl9pc0NvbGxhcHNlZCA9IGhhc0hpZGRlbkJ1dHRvbnM7XG4gIH1cblxuICBwcml2YXRlIHBvcHVsYXRlRHJvcGRvd24oKSB7XG4gICAgLypcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIGV4dHJhY3RzIHRoZSBidXR0b24gdGV4dCBvZiBhbGwgaGlkZGVuIGJ1dHRvbnNcbiAgICAgKiBhbmQgdXBkYXRlcyB0aGUgYXJyYXkgdXNlZCB0byBwb3B1bGF0ZSB0aGUgZHJvcGRvd24gd2l0aCBpdGVtcy5cbiAgICAgKiBJdCBhbHNvIG1hcHMgdGhlIGV4dHJhY3RlZCB0ZXh0IHRvIHRoZSBhY3R1YWwgYnV0dG9uIGVsZW1lbnQsIGZvciB1c2Ugd2hlblxuICAgICAqIGZpcmluZyB0aGUgbWF0Y2hpbmcgYnV0dG9ucyBjbGljay1ldmVudCBpbiBvbkRyb3Bkb3duQWN0aW9uU2VsZWN0XG4gICAgICovXG5cbiAgICB0aGlzLmhpZGRlbkJ1dHRvbnMgPSBBcnJheS5mcm9tKHRoaXMuaGlkZGVuTGF5ZXIubmF0aXZlRWxlbWVudC5jaGlsZHJlbikgYXMgSFRNTEJ1dHRvbkVsZW1lbnRbXTtcbiAgICB0aGlzLl9jb2xsYXBzZWRBY3Rpb25zID0gdGhpcy5oaWRkZW5CdXR0b25zLm1hcCgoYnV0dG9uKSA9PiBidXR0b24udGV4dENvbnRlbnQudHJpbSgpKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRlbnQgc2VsZWN0PVwiYnV0dG9uW2tpcmJ5LWJ1dHRvbl1cIj48L25nLWNvbnRlbnQ+XG5cbjxraXJieS1kcm9wZG93blxuICBbaXRlbXNdPVwiX2NvbGxhcHNlZEFjdGlvbnNcIlxuICBbdXNlUG9wb3Zlcl09XCJ0cnVlXCJcbiAgW19pc01vcmVNZW51XT1cInRydWVcIlxuICBwb3BvdXQ9XCJsZWZ0XCJcbiAgKGNoYW5nZSk9XCJvbkRyb3Bkb3duQWN0aW9uU2VsZWN0KClcIlxuPjwva2lyYnktZHJvcGRvd24+XG5cbjxkaXYgY2xhc3M9XCJoaWRkZW4tbGF5ZXJcIiAjaGlkZGVuTGF5ZXI+PC9kaXY+XG4iXX0=
@@ -1,2 +1,2 @@
1
- export { ActionGroupComponent } from './action-group.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL2FjdGlvbi1ncm91cC9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IEFjdGlvbkdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9hY3Rpb24tZ3JvdXAuY29tcG9uZW50JztcbiJdfQ==
1
+ export { ActionGroupComponent, ACTIONGROUP_CONFIG, } from './action-group.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL2FjdGlvbi1ncm91cC9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsb0JBQW9CLEVBRXBCLGtCQUFrQixHQUNuQixNQUFNLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHtcbiAgQWN0aW9uR3JvdXBDb21wb25lbnQsXG4gIEFjdGlvbkdyb3VwQ29uZmlnLFxuICBBQ1RJT05HUk9VUF9DT05GSUcsXG59IGZyb20gJy4vYWN0aW9uLWdyb3VwLmNvbXBvbmVudCc7XG4iXX0=
@@ -20,7 +20,7 @@ export class ButtonComponent {
20
20
  this._isIconRight = false;
21
21
  this.isFloating = false;
22
22
  this.size = ButtonSize.MD;
23
- this.showIconOnly = false;
23
+ this._showIconOnly = false;
24
24
  }
25
25
  set attentionLevel(level) {
26
26
  this.isAttentionLevel1 = level === '1';
@@ -51,6 +51,17 @@ export class ButtonComponent {
51
51
  get _cssClass() {
52
52
  return [this.themeColor, this.size].filter((cssClass) => !!cssClass);
53
53
  }
54
+ get showIconOnly() {
55
+ return this._showIconOnly;
56
+ }
57
+ set showIconOnly(value) {
58
+ if (value) {
59
+ // If the button text is supplied as plain text (i.e. as a text node not within an element tag),
60
+ // we need to wrap it in an element to be able to target and hide it with css:
61
+ this.wrapTextNode(this.iconElementRef?.nativeElement);
62
+ }
63
+ this._showIconOnly = value;
64
+ }
54
65
  wrapTextNode(iconElement) {
55
66
  if (!iconElement) {
56
67
  return;
@@ -87,7 +98,7 @@ export class ButtonComponent {
87
98
  const hasText = !!this.elementRef.nativeElement.textContent;
88
99
  if (!hasText) {
89
100
  // Button doesn't contain any text, make it round:
90
- this.showIconOnly = true;
101
+ this._showIconOnly = true;
91
102
  }
92
103
  if (hasText && !this.showIconOnly) {
93
104
  this._isIconLeft =
@@ -97,10 +108,10 @@ export class ButtonComponent {
97
108
  }
98
109
  }
99
110
  /** @nocollapse */ ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ButtonComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
100
- /** @nocollapse */ ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ButtonComponent, isStandalone: true, selector: "button[kirby-button],Button[kirby-button]", inputs: { attentionLevel: "attentionLevel", noDecoration: "noDecoration", themeColor: "themeColor", expand: "expand", isFloating: "isFloating", size: "size", showIconOnly: "showIconOnly" }, host: { properties: { "class.attention-level1": "this.isAttentionLevel1", "class.attention-level2": "this.isAttentionLevel2", "class.attention-level3": "this.isAttentionLevel3", "class.no-decoration": "this.hasNoDecoration", "class.floating": "this.isButtonFloating", "class.icon-only": "this.isIconOnly", "class.icon-left": "this.isIconLeft", "class.icon-right": "this.isIconRight", "class": "this._cssClass" } }, queries: [{ propertyName: "iconElementRef", first: true, predicate: IconComponent, descendants: true, read: ElementRef }], ngImport: i0, template: "<ng-container>\n <span class=\"state-layer\" aria-hidden=\"true\"></span>\n <span class=\"content-layer\"><ng-content></ng-content></span>\n</ng-container>\n<!--\n TODO: Fix globally exposed .state-layer and .content-layer\n \n See: https://github.com/kirbydesign/designsystem/issues/2101\n-->\n", styles: [":host{--kirby-button-padding-left: 24px;--kirby-button-padding-right: 24px;--state-layer-opacity: 0;--state-layer-background-color: var(--kirby-black);position:relative;font-family:var(--kirby-font-family);background-color:var(--kirby-button-background-color, initial);color:var(--kirby-button-color, inherit);border-radius:999px;box-sizing:border-box;display:inline-flex;flex-direction:row;flex-shrink:0;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap;font-size:14px;height:40px;min-width:88px;padding:0;margin:4px;line-height:20px;outline:none;border:none}:host:after{content:\"\";position:absolute;min-height:44px;min-width:44px;width:100%;height:100%;transform:translate(-50%,-50%);left:50%;top:50%}@media (hover: hover) and (pointer: fine){:host:focus{transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}:host:focus:not(:focus-visible){box-shadow:0 0 0 0 transparent}:host:focus-visible{transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}}:host .content-layer{position:relative;z-index:var(--content-layer-z-index, 1)}:host .state-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none;border-radius:inherit;z-index:2}:host .state-layer:before{transition:all 80ms linear 0ms;content:\"\";position:absolute;pointer-events:none;inset:-50%;opacity:var(--state-layer-opacity, 0);background-color:var(--state-layer-background-color, var(--kirby-black))}@media (hover: hover){:host:hover{--state-layer-opacity: .04;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host:active,:host.interaction-state-active{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black)}:host .content-layer{display:inherit;width:inherit;flex-direction:inherit;align-items:inherit;justify-content:inherit;padding-inline:var(--kirby-button-padding-left) var(--kirby-button-padding-right)}:host.attention-level3 .state-layer{box-shadow:var(--kirby-inputs-elevation)}:host.no-margin{margin:0}:host.icon-left{--kirby-icon-margin-right: 8px;--kirby-button-padding-left: 12px;--kirby-button-padding-right: 16px;padding:0}:host.icon-right{--kirby-icon-margin-left: 8px;--kirby-button-padding-left: 16px;--kirby-button-padding-right: 12px;padding:0}:host.icon-only{width:40px;padding:0;min-width:unset}:host.icon-only .content-layer ::ng-deep>:not(kirby-icon){display:none}:host.xs{font-size:12px;height:24px;min-width:44px}:host.xs:not(.icon-only){--kirby-button-padding-left: 12px;--kirby-button-padding-right: 12px}:host.xs.icon-only{--kirby-icon-font-size: 16px;width:24px;min-width:unset}:host.xs.icon-left{--kirby-button-padding-left: 8px;--kirby-icon-margin-right: 4px}:host.xs.icon-right{--kirby-button-padding-right: 8px;--kirby-icon-margin-left: 4px}:host.xs.icon-left,:host.xs.icon-right{--kirby-icon-font-size: 16px;min-width:44px}:host.sm{font-size:12px;height:32px;min-width:44px}:host.sm:not(.icon-only){--kirby-button-padding-left: 16px;--kirby-button-padding-right: 16px}:host.sm.icon-only{--kirby-icon-font-size: 16px;width:32px;min-width:unset}:host.sm.icon-left{--kirby-button-padding-left: 12px}:host.sm.icon-right{--kirby-button-padding-right: 12px}:host.sm.icon-left,:host.sm.icon-right{--kirby-icon-font-size: 16px;min-width:88px}:host.lg{font-size:16px;height:48px;min-width:220px}:host.lg.icon-only{width:48px;min-width:unset}:host.no-decoration{--kirby-button-background-color: transparent;--kirby-button-color: var(--kirby-black)}@media (hover: hover){:host.no-decoration:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host.no-decoration:active,:host.no-decoration.interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black)}:host.attention-level1{--kirby-button-background-color: var(--kirby-primary);--kirby-button-color: var(--kirby-primary-contrast)}:host.attention-level1.destructive{--kirby-button-background-color: var(--kirby-danger);--kirby-button-color: var(--kirby-danger-contrast)}:host.attention-level2{--kirby-button-background-color: var(--kirby-black);--kirby-button-color: var(--kirby-black-contrast)}@media (hover: hover){:host.attention-level2:hover{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black-contrast);cursor:pointer}}:host.attention-level2:active,:host.attention-level2.interaction-state-active{--state-layer-opacity: .2;--state-layer-background-color: var(--kirby-black-contrast)}:host.attention-level3{--kirby-button-background-color: var(--kirby-inputs-background-color);--kirby-button-color: var(--kirby-inputs-color)}@media (hover: hover){:host.attention-level3:hover{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host.attention-level3:active,:host.attention-level3.interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black)}:host[expand=block]{width:100%}:host:disabled{background-color:var(--kirby-semi-light);color:var(--kirby-semi-dark-shade);border-color:transparent;pointer-events:none}:host.floating{width:64px!important;height:64px!important;min-width:unset}:host.floating:not(:disabled){box-shadow:0 20px 30px -15px #1c1c1c4d,0 0 5px #1c1c1c14}:host-context(.kirby-color-brightness-dark).no-decoration{--kirby-button-color: var(--kirby-white)}@media (hover: hover){:host-context(.kirby-color-brightness-dark).no-decoration:hover{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black-contrast);cursor:pointer}}:host-context(.kirby-color-brightness-dark).no-decoration:active,:host-context(.kirby-color-brightness-dark).no-decoration.interaction-state-active{--state-layer-opacity: .2;--state-layer-background-color: var(--kirby-black-contrast)}:host-context(.kirby-color-brightness-dark).attention-level2{--kirby-button-background-color: var(--kirby-white);--kirby-button-color: var(--kirby-white-contrast)}@media (hover: hover){:host-context(.kirby-color-brightness-dark).attention-level2:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host-context(.kirby-color-brightness-dark).attention-level2:active,:host-context(.kirby-color-brightness-dark).attention-level2.interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black)}@media (hover: hover){:host-context(.kirby-color-brightness-dark).attention-level3:hover{--state-layer-opacity: .04;--state-layer-background-color: var(--kirby-black-contrast);cursor:pointer}}:host-context(.kirby-color-brightness-dark).attention-level3:active,:host-context(.kirby-color-brightness-dark).attention-level3.interaction-state-active{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black-contrast)}:host-context(kirby-item)[slot=end]{margin-inline-start:16px}:host-context(kirby-alert).ok-btn,:host-context(kirby-alert-experimental).ok-btn{--kirby-button-background-color: var(--kirby-success);--kirby-button-color: var(--kirby-success-contrast)}:host-context(kirby-dropdown){justify-content:space-between}:host-context(ion-toolbar ion-buttons.legacy-actions){font-size:14px;height:40px}:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only{width:40px}:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.no-decoration,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level1,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level2,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level3{--kirby-button-background-color: var(--kirby-inputs-background-color);--kirby-button-color: var(--kirby-inputs-color)}@media (hover: hover){:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.no-decoration:hover,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level1:hover,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level2:hover,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level3:hover{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.no-decoration:active,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.no-decoration.interaction-state-active,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level1:active,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level1.interaction-state-active,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level2:active,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level2.interaction-state-active,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level3:active,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level3.interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black)}:host-context(.page-title kirby-page-actions).no-decoration,:host-context(.page-title kirby-page-actions).attention-level1,:host-context(.page-title kirby-page-actions).attention-level2,:host-context(.page-title kirby-page-actions).attention-level3{--kirby-button-background-color: var(--kirby-inputs-background-color);--kirby-button-color: var(--kirby-inputs-color)}@media (hover: hover){:host-context(.page-title kirby-page-actions).no-decoration:hover,:host-context(.page-title kirby-page-actions).attention-level1:hover,:host-context(.page-title kirby-page-actions).attention-level2:hover,:host-context(.page-title kirby-page-actions).attention-level3:hover{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host-context(.page-title kirby-page-actions).no-decoration:active,:host-context(.page-title kirby-page-actions).no-decoration.interaction-state-active,:host-context(.page-title kirby-page-actions).attention-level1:active,:host-context(.page-title kirby-page-actions).attention-level1.interaction-state-active,:host-context(.page-title kirby-page-actions).attention-level2:active,:host-context(.page-title kirby-page-actions).attention-level2.interaction-state-active,:host-context(.page-title kirby-page-actions).attention-level3:active,:host-context(.page-title kirby-page-actions).attention-level3.interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black)}:host-context(kirby-empty-state .content){font-size:16px;height:48px;min-width:220px}:host-context(kirby-empty-state .content).icon-only{width:48px;min-width:unset}:host-context(kirby-toggle-button).success{--kirby-button-background-color: var(--kirby-success);--kirby-button-color: var(--kirby-success-contrast)}@media (hover: hover){:host-context(kirby-toggle-button).success:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host-context(kirby-toggle-button).success:active,:host-context(kirby-toggle-button).success.interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black)}:host-context(kirby-toggle-button).warning{--kirby-button-background-color: var(--kirby-warning);--kirby-button-color: var(--kirby-warning-contrast)}@media (hover: hover){:host-context(kirby-toggle-button).warning:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host-context(kirby-toggle-button).warning:active,:host-context(kirby-toggle-button).warning.interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black)}:host-context(kirby-toggle-button).danger{--kirby-button-background-color: var(--kirby-danger);--kirby-button-color: var(--kirby-danger-contrast)}@media (hover: hover){:host-context(kirby-toggle-button).danger:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host-context(kirby-toggle-button).danger:active,:host-context(kirby-toggle-button).danger.interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black)}:host-context(kirby-dropdown.more-menu){justify-content:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
111
+ /** @nocollapse */ ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ButtonComponent, isStandalone: true, selector: "button[kirby-button],Button[kirby-button]", inputs: { attentionLevel: "attentionLevel", noDecoration: "noDecoration", themeColor: "themeColor", expand: "expand", isFloating: "isFloating", size: "size", showIconOnly: "showIconOnly" }, host: { properties: { "class.attention-level1": "this.isAttentionLevel1", "class.attention-level2": "this.isAttentionLevel2", "class.attention-level3": "this.isAttentionLevel3", "class.no-decoration": "this.hasNoDecoration", "class.floating": "this.isButtonFloating", "class.icon-only": "this.isIconOnly", "class.icon-left": "this.isIconLeft", "class.icon-right": "this.isIconRight", "class": "this._cssClass" } }, queries: [{ propertyName: "iconElementRef", first: true, predicate: IconComponent, descendants: true, read: ElementRef }], ngImport: i0, template: "<ng-container>\n <span class=\"state-layer\" aria-hidden=\"true\"></span>\n <span class=\"content-layer\"><ng-content></ng-content></span>\n</ng-container>\n<!--\n TODO: Fix globally exposed .state-layer and .content-layer\n \n See: https://github.com/kirbydesign/designsystem/issues/2101\n-->\n", styles: [":host{--kirby-button-padding-left: 24px;--kirby-button-padding-right: 24px;flex-shrink:0;--state-layer-opacity: 0;--state-layer-background-color: var(--kirby-black);position:relative;font-family:var(--kirby-font-family);background-color:var(--kirby-button-background-color, initial);color:var(--kirby-button-color, inherit);border-radius:999px;box-sizing:border-box;display:inline-flex;flex-direction:row;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap;font-size:14px;height:40px;min-width:88px;padding:0;margin:4px;line-height:20px;outline:none;border:none}:host:after{content:\"\";position:absolute;min-height:44px;min-width:44px;width:100%;height:100%;transform:translate(-50%,-50%);left:50%;top:50%}@media (hover: hover) and (pointer: fine){:host:focus{transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}:host:focus:not(:focus-visible){box-shadow:0 0 0 0 transparent}:host:focus-visible{transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}}:host .content-layer{position:relative;z-index:var(--content-layer-z-index, 1)}:host .state-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none;border-radius:inherit;z-index:2}:host .state-layer:before{transition:all 80ms linear 0ms;content:\"\";position:absolute;pointer-events:none;inset:-50%;opacity:var(--state-layer-opacity, 0);background-color:var(--state-layer-background-color, var(--kirby-black))}@media (hover: hover){:host:hover{--state-layer-opacity: .04;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host:active,:host.interaction-state-active{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black)}:host .content-layer{display:inherit;width:inherit;flex-direction:inherit;align-items:inherit;justify-content:inherit;padding-inline:var(--kirby-button-padding-left) var(--kirby-button-padding-right)}:host .content-layer.attention-level3{box-shadow:var(--kirby-inputs-elevation)}:host.no-margin{margin:0}:host.icon-left{--kirby-icon-margin-right: 8px;--kirby-button-padding-left: 12px;--kirby-button-padding-right: 16px;padding:0}:host.icon-right{--kirby-icon-margin-left: 8px;--kirby-button-padding-left: 16px;--kirby-button-padding-right: 12px;padding:0}:host.icon-only{width:40px;padding:0;min-width:unset}:host.icon-only .content-layer ::ng-deep>:not(kirby-icon){display:none}:host.xs{font-size:12px;height:24px;min-width:44px}:host.xs:not(.icon-only){--kirby-button-padding-left: 12px;--kirby-button-padding-right: 12px}:host.xs.icon-only{--kirby-icon-font-size: 16px;width:24px;min-width:unset}:host.xs.icon-left{--kirby-button-padding-left: 8px;--kirby-icon-margin-right: 4px}:host.xs.icon-right{--kirby-button-padding-right: 8px;--kirby-icon-margin-left: 4px}:host.xs.icon-left,:host.xs.icon-right{--kirby-icon-font-size: 16px;min-width:44px}:host.sm{font-size:12px;height:32px;min-width:44px}:host.sm:not(.icon-only){--kirby-button-padding-left: 16px;--kirby-button-padding-right: 16px}:host.sm.icon-only{--kirby-icon-font-size: 16px;width:32px;min-width:unset}:host.sm.icon-left{--kirby-button-padding-left: 12px}:host.sm.icon-right{--kirby-button-padding-right: 12px}:host.sm.icon-left,:host.sm.icon-right{--kirby-icon-font-size: 16px;min-width:88px}:host.lg{font-size:16px;height:48px;min-width:220px}:host.lg.icon-only{width:48px;min-width:unset}:host.no-decoration{--kirby-button-background-color: transparent;--kirby-button-color: var(--kirby-black)}@media (hover: hover){:host.no-decoration:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host.no-decoration:active,:host.no-decoration.interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black)}:host.attention-level1{--kirby-button-background-color: var(--kirby-primary);--kirby-button-color: var(--kirby-primary-contrast)}:host.attention-level1.destructive{--kirby-button-background-color: var(--kirby-danger);--kirby-button-color: var(--kirby-danger-contrast)}:host.attention-level2{--kirby-button-background-color: var(--kirby-black);--kirby-button-color: var(--kirby-black-contrast)}@media (hover: hover){:host.attention-level2:hover{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black-contrast);cursor:pointer}}:host.attention-level2:active,:host.attention-level2.interaction-state-active{--state-layer-opacity: .2;--state-layer-background-color: var(--kirby-black-contrast)}:host.attention-level3{--kirby-button-background-color: var(--kirby-inputs-background-color);--kirby-button-color: var(--kirby-inputs-color)}@media (hover: hover){:host.attention-level3:hover{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host.attention-level3:active,:host.attention-level3.interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black)}:host[expand=block]{width:100%}:host:disabled{background-color:var(--kirby-semi-light);color:var(--kirby-semi-dark-shade);border-color:transparent;pointer-events:none}:host.floating{width:64px!important;height:64px!important;min-width:unset}:host.floating:not(:disabled){box-shadow:0 20px 30px -15px #1c1c1c4d,0 0 5px #1c1c1c14}:host-context(.kirby-color-brightness-dark).no-decoration{--kirby-button-color: var(--kirby-white)}@media (hover: hover){:host-context(.kirby-color-brightness-dark).no-decoration:hover{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black-contrast);cursor:pointer}}:host-context(.kirby-color-brightness-dark).no-decoration:active,:host-context(.kirby-color-brightness-dark).no-decoration.interaction-state-active{--state-layer-opacity: .2;--state-layer-background-color: var(--kirby-black-contrast)}:host-context(.kirby-color-brightness-dark).attention-level2{--kirby-button-background-color: var(--kirby-white);--kirby-button-color: var(--kirby-white-contrast)}@media (hover: hover){:host-context(.kirby-color-brightness-dark).attention-level2:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host-context(.kirby-color-brightness-dark).attention-level2:active,:host-context(.kirby-color-brightness-dark).attention-level2.interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black)}@media (hover: hover){:host-context(.kirby-color-brightness-dark).attention-level3:hover{--state-layer-opacity: .04;--state-layer-background-color: var(--kirby-black-contrast);cursor:pointer}}:host-context(.kirby-color-brightness-dark).attention-level3:active,:host-context(.kirby-color-brightness-dark).attention-level3.interaction-state-active{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black-contrast)}:host-context(kirby-item)[slot=end]{margin-inline-start:16px}:host-context(kirby-alert).ok-btn,:host-context(kirby-alert-experimental).ok-btn{--kirby-button-background-color: var(--kirby-success);--kirby-button-color: var(--kirby-success-contrast)}:host-context(kirby-dropdown){justify-content:space-between}:host-context(ion-toolbar ion-buttons.legacy-actions){font-size:14px;height:40px}:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only{width:40px}:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.no-decoration,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level1,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level2,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level3{--kirby-button-background-color: var(--kirby-inputs-background-color);--kirby-button-color: var(--kirby-inputs-color)}@media (hover: hover){:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.no-decoration:hover,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level1:hover,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level2:hover,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level3:hover{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.no-decoration:active,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.no-decoration.interaction-state-active,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level1:active,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level1.interaction-state-active,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level2:active,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level2.interaction-state-active,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level3:active,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level3.interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black)}:host-context(.page-title kirby-page-actions).no-decoration,:host-context(.page-title kirby-page-actions).attention-level1,:host-context(.page-title kirby-page-actions).attention-level2,:host-context(.page-title kirby-page-actions).attention-level3{--kirby-button-background-color: var(--kirby-inputs-background-color);--kirby-button-color: var(--kirby-inputs-color)}@media (hover: hover){:host-context(.page-title kirby-page-actions).no-decoration:hover,:host-context(.page-title kirby-page-actions).attention-level1:hover,:host-context(.page-title kirby-page-actions).attention-level2:hover,:host-context(.page-title kirby-page-actions).attention-level3:hover{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host-context(.page-title kirby-page-actions).no-decoration:active,:host-context(.page-title kirby-page-actions).no-decoration.interaction-state-active,:host-context(.page-title kirby-page-actions).attention-level1:active,:host-context(.page-title kirby-page-actions).attention-level1.interaction-state-active,:host-context(.page-title kirby-page-actions).attention-level2:active,:host-context(.page-title kirby-page-actions).attention-level2.interaction-state-active,:host-context(.page-title kirby-page-actions).attention-level3:active,:host-context(.page-title kirby-page-actions).attention-level3.interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black)}:host-context(kirby-empty-state .content){font-size:16px;height:48px;min-width:220px}:host-context(kirby-empty-state .content).icon-only{width:48px;min-width:unset}:host-context(kirby-toggle-button).success{--kirby-button-background-color: var(--kirby-success);--kirby-button-color: var(--kirby-success-contrast)}@media (hover: hover){:host-context(kirby-toggle-button).success:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host-context(kirby-toggle-button).success:active,:host-context(kirby-toggle-button).success.interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black)}:host-context(kirby-toggle-button).warning{--kirby-button-background-color: var(--kirby-warning);--kirby-button-color: var(--kirby-warning-contrast)}@media (hover: hover){:host-context(kirby-toggle-button).warning:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host-context(kirby-toggle-button).warning:active,:host-context(kirby-toggle-button).warning.interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black)}:host-context(kirby-toggle-button).danger{--kirby-button-background-color: var(--kirby-danger);--kirby-button-color: var(--kirby-danger-contrast)}@media (hover: hover){:host-context(kirby-toggle-button).danger:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host-context(kirby-toggle-button).danger:active,:host-context(kirby-toggle-button).danger.interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black)}:host-context(kirby-dropdown.more-menu){justify-content:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
101
112
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ButtonComponent, decorators: [{
102
113
  type: Component,
103
- args: [{ standalone: true, imports: [CommonModule], selector: 'button[kirby-button],Button[kirby-button]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container>\n <span class=\"state-layer\" aria-hidden=\"true\"></span>\n <span class=\"content-layer\"><ng-content></ng-content></span>\n</ng-container>\n<!--\n TODO: Fix globally exposed .state-layer and .content-layer\n \n See: https://github.com/kirbydesign/designsystem/issues/2101\n-->\n", styles: [":host{--kirby-button-padding-left: 24px;--kirby-button-padding-right: 24px;--state-layer-opacity: 0;--state-layer-background-color: var(--kirby-black);position:relative;font-family:var(--kirby-font-family);background-color:var(--kirby-button-background-color, initial);color:var(--kirby-button-color, inherit);border-radius:999px;box-sizing:border-box;display:inline-flex;flex-direction:row;flex-shrink:0;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap;font-size:14px;height:40px;min-width:88px;padding:0;margin:4px;line-height:20px;outline:none;border:none}:host:after{content:\"\";position:absolute;min-height:44px;min-width:44px;width:100%;height:100%;transform:translate(-50%,-50%);left:50%;top:50%}@media (hover: hover) and (pointer: fine){:host:focus{transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}:host:focus:not(:focus-visible){box-shadow:0 0 0 0 transparent}:host:focus-visible{transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}}:host .content-layer{position:relative;z-index:var(--content-layer-z-index, 1)}:host .state-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none;border-radius:inherit;z-index:2}:host .state-layer:before{transition:all 80ms linear 0ms;content:\"\";position:absolute;pointer-events:none;inset:-50%;opacity:var(--state-layer-opacity, 0);background-color:var(--state-layer-background-color, var(--kirby-black))}@media (hover: hover){:host:hover{--state-layer-opacity: .04;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host:active,:host.interaction-state-active{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black)}:host .content-layer{display:inherit;width:inherit;flex-direction:inherit;align-items:inherit;justify-content:inherit;padding-inline:var(--kirby-button-padding-left) var(--kirby-button-padding-right)}:host.attention-level3 .state-layer{box-shadow:var(--kirby-inputs-elevation)}:host.no-margin{margin:0}:host.icon-left{--kirby-icon-margin-right: 8px;--kirby-button-padding-left: 12px;--kirby-button-padding-right: 16px;padding:0}:host.icon-right{--kirby-icon-margin-left: 8px;--kirby-button-padding-left: 16px;--kirby-button-padding-right: 12px;padding:0}:host.icon-only{width:40px;padding:0;min-width:unset}:host.icon-only .content-layer ::ng-deep>:not(kirby-icon){display:none}:host.xs{font-size:12px;height:24px;min-width:44px}:host.xs:not(.icon-only){--kirby-button-padding-left: 12px;--kirby-button-padding-right: 12px}:host.xs.icon-only{--kirby-icon-font-size: 16px;width:24px;min-width:unset}:host.xs.icon-left{--kirby-button-padding-left: 8px;--kirby-icon-margin-right: 4px}:host.xs.icon-right{--kirby-button-padding-right: 8px;--kirby-icon-margin-left: 4px}:host.xs.icon-left,:host.xs.icon-right{--kirby-icon-font-size: 16px;min-width:44px}:host.sm{font-size:12px;height:32px;min-width:44px}:host.sm:not(.icon-only){--kirby-button-padding-left: 16px;--kirby-button-padding-right: 16px}:host.sm.icon-only{--kirby-icon-font-size: 16px;width:32px;min-width:unset}:host.sm.icon-left{--kirby-button-padding-left: 12px}:host.sm.icon-right{--kirby-button-padding-right: 12px}:host.sm.icon-left,:host.sm.icon-right{--kirby-icon-font-size: 16px;min-width:88px}:host.lg{font-size:16px;height:48px;min-width:220px}:host.lg.icon-only{width:48px;min-width:unset}:host.no-decoration{--kirby-button-background-color: transparent;--kirby-button-color: var(--kirby-black)}@media (hover: hover){:host.no-decoration:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host.no-decoration:active,:host.no-decoration.interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black)}:host.attention-level1{--kirby-button-background-color: var(--kirby-primary);--kirby-button-color: var(--kirby-primary-contrast)}:host.attention-level1.destructive{--kirby-button-background-color: var(--kirby-danger);--kirby-button-color: var(--kirby-danger-contrast)}:host.attention-level2{--kirby-button-background-color: var(--kirby-black);--kirby-button-color: var(--kirby-black-contrast)}@media (hover: hover){:host.attention-level2:hover{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black-contrast);cursor:pointer}}:host.attention-level2:active,:host.attention-level2.interaction-state-active{--state-layer-opacity: .2;--state-layer-background-color: var(--kirby-black-contrast)}:host.attention-level3{--kirby-button-background-color: var(--kirby-inputs-background-color);--kirby-button-color: var(--kirby-inputs-color)}@media (hover: hover){:host.attention-level3:hover{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host.attention-level3:active,:host.attention-level3.interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black)}:host[expand=block]{width:100%}:host:disabled{background-color:var(--kirby-semi-light);color:var(--kirby-semi-dark-shade);border-color:transparent;pointer-events:none}:host.floating{width:64px!important;height:64px!important;min-width:unset}:host.floating:not(:disabled){box-shadow:0 20px 30px -15px #1c1c1c4d,0 0 5px #1c1c1c14}:host-context(.kirby-color-brightness-dark).no-decoration{--kirby-button-color: var(--kirby-white)}@media (hover: hover){:host-context(.kirby-color-brightness-dark).no-decoration:hover{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black-contrast);cursor:pointer}}:host-context(.kirby-color-brightness-dark).no-decoration:active,:host-context(.kirby-color-brightness-dark).no-decoration.interaction-state-active{--state-layer-opacity: .2;--state-layer-background-color: var(--kirby-black-contrast)}:host-context(.kirby-color-brightness-dark).attention-level2{--kirby-button-background-color: var(--kirby-white);--kirby-button-color: var(--kirby-white-contrast)}@media (hover: hover){:host-context(.kirby-color-brightness-dark).attention-level2:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host-context(.kirby-color-brightness-dark).attention-level2:active,:host-context(.kirby-color-brightness-dark).attention-level2.interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black)}@media (hover: hover){:host-context(.kirby-color-brightness-dark).attention-level3:hover{--state-layer-opacity: .04;--state-layer-background-color: var(--kirby-black-contrast);cursor:pointer}}:host-context(.kirby-color-brightness-dark).attention-level3:active,:host-context(.kirby-color-brightness-dark).attention-level3.interaction-state-active{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black-contrast)}:host-context(kirby-item)[slot=end]{margin-inline-start:16px}:host-context(kirby-alert).ok-btn,:host-context(kirby-alert-experimental).ok-btn{--kirby-button-background-color: var(--kirby-success);--kirby-button-color: var(--kirby-success-contrast)}:host-context(kirby-dropdown){justify-content:space-between}:host-context(ion-toolbar ion-buttons.legacy-actions){font-size:14px;height:40px}:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only{width:40px}:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.no-decoration,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level1,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level2,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level3{--kirby-button-background-color: var(--kirby-inputs-background-color);--kirby-button-color: var(--kirby-inputs-color)}@media (hover: hover){:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.no-decoration:hover,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level1:hover,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level2:hover,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level3:hover{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.no-decoration:active,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.no-decoration.interaction-state-active,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level1:active,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level1.interaction-state-active,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level2:active,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level2.interaction-state-active,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level3:active,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level3.interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black)}:host-context(.page-title kirby-page-actions).no-decoration,:host-context(.page-title kirby-page-actions).attention-level1,:host-context(.page-title kirby-page-actions).attention-level2,:host-context(.page-title kirby-page-actions).attention-level3{--kirby-button-background-color: var(--kirby-inputs-background-color);--kirby-button-color: var(--kirby-inputs-color)}@media (hover: hover){:host-context(.page-title kirby-page-actions).no-decoration:hover,:host-context(.page-title kirby-page-actions).attention-level1:hover,:host-context(.page-title kirby-page-actions).attention-level2:hover,:host-context(.page-title kirby-page-actions).attention-level3:hover{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host-context(.page-title kirby-page-actions).no-decoration:active,:host-context(.page-title kirby-page-actions).no-decoration.interaction-state-active,:host-context(.page-title kirby-page-actions).attention-level1:active,:host-context(.page-title kirby-page-actions).attention-level1.interaction-state-active,:host-context(.page-title kirby-page-actions).attention-level2:active,:host-context(.page-title kirby-page-actions).attention-level2.interaction-state-active,:host-context(.page-title kirby-page-actions).attention-level3:active,:host-context(.page-title kirby-page-actions).attention-level3.interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black)}:host-context(kirby-empty-state .content){font-size:16px;height:48px;min-width:220px}:host-context(kirby-empty-state .content).icon-only{width:48px;min-width:unset}:host-context(kirby-toggle-button).success{--kirby-button-background-color: var(--kirby-success);--kirby-button-color: var(--kirby-success-contrast)}@media (hover: hover){:host-context(kirby-toggle-button).success:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host-context(kirby-toggle-button).success:active,:host-context(kirby-toggle-button).success.interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black)}:host-context(kirby-toggle-button).warning{--kirby-button-background-color: var(--kirby-warning);--kirby-button-color: var(--kirby-warning-contrast)}@media (hover: hover){:host-context(kirby-toggle-button).warning:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host-context(kirby-toggle-button).warning:active,:host-context(kirby-toggle-button).warning.interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black)}:host-context(kirby-toggle-button).danger{--kirby-button-background-color: var(--kirby-danger);--kirby-button-color: var(--kirby-danger-contrast)}@media (hover: hover){:host-context(kirby-toggle-button).danger:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host-context(kirby-toggle-button).danger:active,:host-context(kirby-toggle-button).danger.interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black)}:host-context(kirby-dropdown.more-menu){justify-content:center}\n"] }]
114
+ args: [{ standalone: true, imports: [CommonModule], selector: 'button[kirby-button],Button[kirby-button]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container>\n <span class=\"state-layer\" aria-hidden=\"true\"></span>\n <span class=\"content-layer\"><ng-content></ng-content></span>\n</ng-container>\n<!--\n TODO: Fix globally exposed .state-layer and .content-layer\n \n See: https://github.com/kirbydesign/designsystem/issues/2101\n-->\n", styles: [":host{--kirby-button-padding-left: 24px;--kirby-button-padding-right: 24px;flex-shrink:0;--state-layer-opacity: 0;--state-layer-background-color: var(--kirby-black);position:relative;font-family:var(--kirby-font-family);background-color:var(--kirby-button-background-color, initial);color:var(--kirby-button-color, inherit);border-radius:999px;box-sizing:border-box;display:inline-flex;flex-direction:row;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap;font-size:14px;height:40px;min-width:88px;padding:0;margin:4px;line-height:20px;outline:none;border:none}:host:after{content:\"\";position:absolute;min-height:44px;min-width:44px;width:100%;height:100%;transform:translate(-50%,-50%);left:50%;top:50%}@media (hover: hover) and (pointer: fine){:host:focus{transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}:host:focus:not(:focus-visible){box-shadow:0 0 0 0 transparent}:host:focus-visible{transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}}:host .content-layer{position:relative;z-index:var(--content-layer-z-index, 1)}:host .state-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none;border-radius:inherit;z-index:2}:host .state-layer:before{transition:all 80ms linear 0ms;content:\"\";position:absolute;pointer-events:none;inset:-50%;opacity:var(--state-layer-opacity, 0);background-color:var(--state-layer-background-color, var(--kirby-black))}@media (hover: hover){:host:hover{--state-layer-opacity: .04;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host:active,:host.interaction-state-active{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black)}:host .content-layer{display:inherit;width:inherit;flex-direction:inherit;align-items:inherit;justify-content:inherit;padding-inline:var(--kirby-button-padding-left) var(--kirby-button-padding-right)}:host .content-layer.attention-level3{box-shadow:var(--kirby-inputs-elevation)}:host.no-margin{margin:0}:host.icon-left{--kirby-icon-margin-right: 8px;--kirby-button-padding-left: 12px;--kirby-button-padding-right: 16px;padding:0}:host.icon-right{--kirby-icon-margin-left: 8px;--kirby-button-padding-left: 16px;--kirby-button-padding-right: 12px;padding:0}:host.icon-only{width:40px;padding:0;min-width:unset}:host.icon-only .content-layer ::ng-deep>:not(kirby-icon){display:none}:host.xs{font-size:12px;height:24px;min-width:44px}:host.xs:not(.icon-only){--kirby-button-padding-left: 12px;--kirby-button-padding-right: 12px}:host.xs.icon-only{--kirby-icon-font-size: 16px;width:24px;min-width:unset}:host.xs.icon-left{--kirby-button-padding-left: 8px;--kirby-icon-margin-right: 4px}:host.xs.icon-right{--kirby-button-padding-right: 8px;--kirby-icon-margin-left: 4px}:host.xs.icon-left,:host.xs.icon-right{--kirby-icon-font-size: 16px;min-width:44px}:host.sm{font-size:12px;height:32px;min-width:44px}:host.sm:not(.icon-only){--kirby-button-padding-left: 16px;--kirby-button-padding-right: 16px}:host.sm.icon-only{--kirby-icon-font-size: 16px;width:32px;min-width:unset}:host.sm.icon-left{--kirby-button-padding-left: 12px}:host.sm.icon-right{--kirby-button-padding-right: 12px}:host.sm.icon-left,:host.sm.icon-right{--kirby-icon-font-size: 16px;min-width:88px}:host.lg{font-size:16px;height:48px;min-width:220px}:host.lg.icon-only{width:48px;min-width:unset}:host.no-decoration{--kirby-button-background-color: transparent;--kirby-button-color: var(--kirby-black)}@media (hover: hover){:host.no-decoration:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host.no-decoration:active,:host.no-decoration.interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black)}:host.attention-level1{--kirby-button-background-color: var(--kirby-primary);--kirby-button-color: var(--kirby-primary-contrast)}:host.attention-level1.destructive{--kirby-button-background-color: var(--kirby-danger);--kirby-button-color: var(--kirby-danger-contrast)}:host.attention-level2{--kirby-button-background-color: var(--kirby-black);--kirby-button-color: var(--kirby-black-contrast)}@media (hover: hover){:host.attention-level2:hover{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black-contrast);cursor:pointer}}:host.attention-level2:active,:host.attention-level2.interaction-state-active{--state-layer-opacity: .2;--state-layer-background-color: var(--kirby-black-contrast)}:host.attention-level3{--kirby-button-background-color: var(--kirby-inputs-background-color);--kirby-button-color: var(--kirby-inputs-color)}@media (hover: hover){:host.attention-level3:hover{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host.attention-level3:active,:host.attention-level3.interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black)}:host[expand=block]{width:100%}:host:disabled{background-color:var(--kirby-semi-light);color:var(--kirby-semi-dark-shade);border-color:transparent;pointer-events:none}:host.floating{width:64px!important;height:64px!important;min-width:unset}:host.floating:not(:disabled){box-shadow:0 20px 30px -15px #1c1c1c4d,0 0 5px #1c1c1c14}:host-context(.kirby-color-brightness-dark).no-decoration{--kirby-button-color: var(--kirby-white)}@media (hover: hover){:host-context(.kirby-color-brightness-dark).no-decoration:hover{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black-contrast);cursor:pointer}}:host-context(.kirby-color-brightness-dark).no-decoration:active,:host-context(.kirby-color-brightness-dark).no-decoration.interaction-state-active{--state-layer-opacity: .2;--state-layer-background-color: var(--kirby-black-contrast)}:host-context(.kirby-color-brightness-dark).attention-level2{--kirby-button-background-color: var(--kirby-white);--kirby-button-color: var(--kirby-white-contrast)}@media (hover: hover){:host-context(.kirby-color-brightness-dark).attention-level2:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host-context(.kirby-color-brightness-dark).attention-level2:active,:host-context(.kirby-color-brightness-dark).attention-level2.interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black)}@media (hover: hover){:host-context(.kirby-color-brightness-dark).attention-level3:hover{--state-layer-opacity: .04;--state-layer-background-color: var(--kirby-black-contrast);cursor:pointer}}:host-context(.kirby-color-brightness-dark).attention-level3:active,:host-context(.kirby-color-brightness-dark).attention-level3.interaction-state-active{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black-contrast)}:host-context(kirby-item)[slot=end]{margin-inline-start:16px}:host-context(kirby-alert).ok-btn,:host-context(kirby-alert-experimental).ok-btn{--kirby-button-background-color: var(--kirby-success);--kirby-button-color: var(--kirby-success-contrast)}:host-context(kirby-dropdown){justify-content:space-between}:host-context(ion-toolbar ion-buttons.legacy-actions){font-size:14px;height:40px}:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only{width:40px}:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.no-decoration,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level1,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level2,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level3{--kirby-button-background-color: var(--kirby-inputs-background-color);--kirby-button-color: var(--kirby-inputs-color)}@media (hover: hover){:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.no-decoration:hover,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level1:hover,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level2:hover,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level3:hover{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.no-decoration:active,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.no-decoration.interaction-state-active,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level1:active,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level1.interaction-state-active,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level2:active,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level2.interaction-state-active,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level3:active,:host-context(ion-toolbar ion-buttons.legacy-actions).icon-only.attention-level3.interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black)}:host-context(.page-title kirby-page-actions).no-decoration,:host-context(.page-title kirby-page-actions).attention-level1,:host-context(.page-title kirby-page-actions).attention-level2,:host-context(.page-title kirby-page-actions).attention-level3{--kirby-button-background-color: var(--kirby-inputs-background-color);--kirby-button-color: var(--kirby-inputs-color)}@media (hover: hover){:host-context(.page-title kirby-page-actions).no-decoration:hover,:host-context(.page-title kirby-page-actions).attention-level1:hover,:host-context(.page-title kirby-page-actions).attention-level2:hover,:host-context(.page-title kirby-page-actions).attention-level3:hover{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host-context(.page-title kirby-page-actions).no-decoration:active,:host-context(.page-title kirby-page-actions).no-decoration.interaction-state-active,:host-context(.page-title kirby-page-actions).attention-level1:active,:host-context(.page-title kirby-page-actions).attention-level1.interaction-state-active,:host-context(.page-title kirby-page-actions).attention-level2:active,:host-context(.page-title kirby-page-actions).attention-level2.interaction-state-active,:host-context(.page-title kirby-page-actions).attention-level3:active,:host-context(.page-title kirby-page-actions).attention-level3.interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black)}:host-context(kirby-empty-state .content){font-size:16px;height:48px;min-width:220px}:host-context(kirby-empty-state .content).icon-only{width:48px;min-width:unset}:host-context(kirby-toggle-button).success{--kirby-button-background-color: var(--kirby-success);--kirby-button-color: var(--kirby-success-contrast)}@media (hover: hover){:host-context(kirby-toggle-button).success:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host-context(kirby-toggle-button).success:active,:host-context(kirby-toggle-button).success.interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black)}:host-context(kirby-toggle-button).warning{--kirby-button-background-color: var(--kirby-warning);--kirby-button-color: var(--kirby-warning-contrast)}@media (hover: hover){:host-context(kirby-toggle-button).warning:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host-context(kirby-toggle-button).warning:active,:host-context(kirby-toggle-button).warning.interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black)}:host-context(kirby-toggle-button).danger{--kirby-button-background-color: var(--kirby-danger);--kirby-button-color: var(--kirby-danger-contrast)}@media (hover: hover){:host-context(kirby-toggle-button).danger:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host-context(kirby-toggle-button).danger:active,:host-context(kirby-toggle-button).danger.interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black)}:host-context(kirby-dropdown.more-menu){justify-content:center}\n"] }]
104
115
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { isAttentionLevel1: [{
105
116
  type: HostBinding,
106
117
  args: ['class.attention-level1']
@@ -146,4 +157,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
146
157
  type: ContentChild,
147
158
  args: [IconComponent, { read: ElementRef }]
148
159
  }] } });
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL2J1dHRvbi9zcmMvYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL2J1dHRvbi9zcmMvYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBQ0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFFL0QsTUFBTSxDQUFOLElBQVksVUFLWDtBQUxELFdBQVksVUFBVTtJQUNwQix1QkFBUyxDQUFBO0lBQ1QsdUJBQVMsQ0FBQTtJQUNULHVCQUFTLENBQUE7SUFDVCx1QkFBUyxDQUFBO0FBQ1gsQ0FBQyxFQUxXLFVBQVUsS0FBVixVQUFVLFFBS3JCO0FBRUQsTUFBTSxxQ0FBcUMsR0FDekMsZ1FBQWdRLENBQUM7QUFXblEsTUFBTSxPQUFPLGVBQWU7SUE4RDFCLFlBQW9CLFVBQW1DLEVBQVUsUUFBbUI7UUFBaEUsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBNURwRixzQkFBaUIsR0FBWSxJQUFJLENBQUMsQ0FBQyxVQUFVO1FBZTdDLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBa0JoQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUtwQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQWNwQixlQUFVLEdBQVksS0FBSyxDQUFDO1FBRXJDLFNBQUksR0FBaUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztRQUMxQyxpQkFBWSxHQUFZLEtB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RXhCLGNBQWM7c0JBQTFCLEtBQUs7Z0JBVU4sZUFBZTtzQkFEZCxXQUFXO3VCQUFDLHFCQUFxQjtnQkFHOUIsWUFBWTtzQkFEZixLQUFLO2dCQVNLLGdCQUFnQjtzQkFEMUIsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBTWxCLFVBQVU7c0JBRHBCLFdBQVc7dUJBQUMsaUJBQWlCO2dCQU1uQixVQUFVO3NCQURwQixXQUFXO3VCQUFDLGlCQUFpQjtnQkFNbkIsV0FBVztzQkFEckIsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBTTNCLFNBQVM7c0JBRFosV0FBVzt1QkFBQyxPQUFPO2dCQU1wQixVQUFVO3NCQURULEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRU4sSUFBSTtzQkFESCxLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBR04sY0FBYztzQkFEYixZQUFZO3VCQUFDLGFBQWEsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5vdGlmaWNhdGlvbkNvbG9yIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2NvcmUnO1xuXG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9pY29uJztcblxuZXhwb3J0IGVudW0gQnV0dG9uU2l6ZSB7XG4gIFhTID0gJ3hzJyxcbiAgU00gPSAnc20nLFxuICBNRCA9ICdtZCcsXG4gIExHID0gJ2xnJyxcbn1cblxuY29uc3QgQVRURU5USU9OX0xFVkVMXzRfREVQUkVDQVRJT05fV0FSTklORyA9XG4gICdEZXByZWNhdGlvbiB3YXJuaW5nOiBUaGUgXCJraXJieS1idXR0b25cIiBzdXBwb3J0IGZvciB1c2luZyBpbnB1dCBwcm9wZXJ0eSBcImF0dGVudGlvbkxldmVsXCIgd2l0aCB0aGUgdmFsdWUgXCI0XCIgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHJlbGVhc2Ugb2YgS2lyYnkgZGVzaWduc3lzdGVtLiBXaGlsZSBkZXByZWNhdGVkLCBhbGwgYXR0ZW50aW9uLWxldmVsIDQgYnV0dG9ucyB3aWxsIGJlIHJlbmRlcmVkIGFzIGF0dGVudGlvbi1sZXZlbCAzLic7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdidXR0b25ba2lyYnktYnV0dG9uXSxCdXR0b25ba2lyYnktYnV0dG9uXScsXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmF0dGVudGlvbi1sZXZlbDEnKVxuICBpc0F0dGVudGlvbkxldmVsMTogYm9vbGVhbiA9IHRydWU7IC8vIERlZmF1bHRcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hdHRlbnRpb24tbGV2ZWwyJylcbiAgaXNBdHRlbnRpb25MZXZlbDI6IGJvb2xlYW47XG4gIEBIb3N0QmluZGluZygnY2xhc3MuYXR0ZW50aW9uLWxldmVsMycpXG4gIGlzQXR0ZW50aW9uTGV2ZWwzOiBib29sZWFuO1xuICBASW5wdXQoKSBzZXQgYXR0ZW50aW9uTGV2ZWwobGV2ZWw6ICcxJyB8ICcyJyB8ICczJyB8ICc0Jykge1xuICAgIHRoaXMuaXNBdHRlbnRpb25MZXZlbDEgPSBsZXZlbCA9PT0gJzEnO1xuICAgIHRoaXMuaXNBdHRlbnRpb25MZXZlbDIgPSBsZXZlbCA9PT0gJzInO1xuICAgIHRoaXMuaXNBdHRlbnRpb25MZXZlbDMgPSBsZXZlbCA9PT0gJzMnIHx8IGxldmVsID09PSAnNCc7XG4gICAgaWYgKGxldmVsID09PSAnNCcpIHtcbiAgICAgIGNvbnNvbGUud2FybihBVFRFTlRJT05fTEVWRUxfNF9ERVBSRUNBVElPTl9XQVJOSU5HKTtcbiAgICB9XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm5vLWRlY29yYXRpb24nKVxuICBoYXNOb0RlY29yYXRpb24gPSBmYWxzZTtcbiAgQElucHV0KClcbiAgc2V0IG5vRGVjb3JhdGlvbihlbmFibGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmhhc05vRGVjb3JhdGlvbiA9IGVuYWJsZTtcbiAgICB0aGlzLmlzQXR0ZW50aW9uTGV2ZWwxID0gIWVuYWJsZTtcbiAgICB0aGlzLmlzQXR0ZW50aW9uTGV2ZWwyID0gZmFsc2U7XG4gICAgdGhpcy5pc0F0dGVudGlvbkxldmVsMyA9IGZhbHNlO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mbG9hdGluZycpXG4gIHB1YmxpYyBnZXQgaXNCdXR0b25GbG9hdGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0Zsb2F0aW5nO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pY29uLW9ubHknKVxuICBwdWJsaWMgZ2V0IGlzSWNvbk9ubHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5pY29uRWxlbWVudFJlZiAmJiB0aGlzLnNob3dJY29uT25seTtcbiAgfVxuICBwcml2YXRlIF9pc0ljb25MZWZ0ID0gZmFsc2U7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuaWNvbi1sZWZ0JylcbiAgcHVibGljIGdldCBpc0ljb25MZWZ0KCkge1xuICAgIHJldHVybiB0aGlzLl9pc0ljb25MZWZ0ICYmICF0aGlzLnNob3dJY29uT25seTtcbiAgfVxuICBwcml2YXRlIF9pc0ljb25SaWdodCA9IGZhbHNlO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmljb24tcmlnaHQnKVxuICBwdWJsaWMgZ2V0IGlzSWNvblJpZ2h0KCkge1xuICAgIHJldHVybiB0aGlzLl9pc0ljb25SaWdodCAmJiAhdGhpcy5zaG93SWNvbk9ubHk7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IF9jc3NDbGFzcygpIHtcbiAgICByZXR1cm4gW3RoaXMudGhlbWVDb2xvciwgdGhpcy5zaXplXS5maWx0ZXIoKGNzc0NsYXNzKSA9PiAhIWNzc0NsYXNzKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHRoZW1lQ29sb3I6IE5vdGlmaWNhdGlvbkNvbG9yO1xuICBASW5wdXQoKSBleHBhbmQ6ICdmdWxsJyB8ICdibG9jayc7XG4gIEBJbnB1dCgpIGlzRmxvYXRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KClcbiAgc2l6ZTogQnV0dG9uU2l6ZSB8IGAke0J1dHRvblNpemV9YCA9IEJ1dHRvblNpemUuTUQ7XG4gIEBJbnB1dCgpIHNob3dJY29uT25seTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBDb250ZW50Q2hpbGQoSWNvbkNvbXBvbmVudCwgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIGljb25FbGVtZW50UmVmPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7fVxuXG4gIHByaXZhdGUgd3JhcFRleHROb2RlKGljb25FbGVtZW50PzogSFRNTEVsZW1lbnQpIHtcbiAgICBpZiAoIWljb25FbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaWZUZXh0Tm9kZSA9IChub2RlPzogQ2hpbGROb2RlKTogQ2hpbGROb2RlIHwgdW5kZWZpbmVkID0+IHtcbiAgICAgIHJldHVybiBub2RlPy5ub2RlVHlwZSA9PT0gTm9kZS5URVhUX05PREUgPyBub2RlIDogdW5kZWZpbmVkO1xuICAgIH07XG5cbiAgICBjb25zdCB0ZXh0Tm9kZSA9IGlmVGV4dE5vZGUoaWNvbkVsZW1lbnQucHJldmlvdXNTaWJsaW5nKSB8fCBpZlRleHROb2RlKGljb25FbGVtZW50Lm5leHRTaWJsaW5nKTtcbiAgICBpZiAodGV4dE5vZGUpIHtcbiAgICAgIGNvbnN0IHBsYWNlbWVudCA9IHRleHROb2RlID09PSBpY29uRWxlbWVudC5wcmV2aW91c1NpYmxpbmcgPyAnYmVmb3JlJyA6ICdhZnRlcic7XG4gICAgICBjb25zdCB0ZXh0V3JhcHBlciA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgY29uc3QgcGFyZW50ID0gdGV4dE5vZGUucGFyZW50Tm9kZTtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQodGV4dE5vZGUucGFyZW50Tm9kZSwgdGV4dE5vZGUpO1xuICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZCh0ZXh0V3JhcHBlciwgdGV4dE5vZGUpO1xuICAgICAgaWYgKHBsYWNlbWVudCA9PT0gJ2JlZm9yZScpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5pbnNlcnRCZWZvcmUocGFyZW50LCB0ZXh0V3JhcHBlciwgaWNvbkVsZW1lbnQpO1xuICAgICAgfSBlbHNlIGlmIChwbGFjZW1lbnQgPT09ICdhZnRlcicpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChwYXJlbnQsIHRleHRXcmFwcGVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgaWNvbkVsZW1lbnQgPSB0aGlzLmljb25FbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50O1xuXG4gICAgaWYgKGljb25FbGVtZW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIE5vdGhpbmcgdG8gZG8gaGVyZSB3aGVuIHRoZXJlJ3Mgbm8gaWNvbjpcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zaG93SWNvbk9ubHkpIHtcbiAgICAgIC8vIElmIHRoZSBidXR0b24gdGV4dCBpcyBzdXBwbGllZCBhcyBwbGFpbiB0ZXh0IChpLmUuIGFzIGEgdGV4dCBub2RlIG5vdCB3aXRoaW4gYW4gZWxlbWVudCB0YWcpLFxuICAgICAgLy8gd2UgbmVlZCB0byB3cmFwIGl0IGluIGFuIGVsZW1lbnQgdG8gYmUgYWJsZSB0byB0YXJnZXQgYW5kIGhpZGUgaXQgd2l0aCBjc3M6XG4gICAgICB0aGlzLndyYXBUZXh0Tm9kZShpY29uRWxlbWVudCk7XG4gICAgfVxuXG4gICAgY29uc3QgaGFzVGV4dCA9ICEhdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudGV4dENvbnRlbnQ7XG4gICAgaWYgKCFoYXNUZXh0KSB7XG4gICAgICAvLyBCdXR0b24gZG9lc24ndCBjb250YWluIGFueSB0ZXh0LCBtYWtlIGl0IHJvdW5kOlxuICAgICAgdGhpcy5zaG93SWNvbk9ubHkgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChoYXNUZXh0ICYmICF0aGlzLnNob3dJY29uT25seSkge1xuICAgICAgdGhpcy5faXNJY29uTGVmdCA9XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5jb250ZW50LWxheWVyJykuZmlyc3RDaGlsZCA9PT0gaWNvbkVsZW1lbnQ7XG4gICAgICB0aGlzLl9pc0ljb25SaWdodCA9ICF0aGlzLl9pc0ljb25MZWZ0O1xuICAgIH1cbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lcj5cbiAgPHNwYW4gY2xhc3M9XCJzdGF0ZS1sYXllclwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj5cbiAgPHNwYW4gY2xhc3M9XCJjb250ZW50LWxheWVyXCI+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pjwvc3Bhbj5cbjwvbmctY29udGFpbmVyPlxuPCEtLVxuICBUT0RPOiBGaXggZ2xvYmFsbHkgZXhwb3NlZCAuc3RhdGUtbGF5ZXIgYW5kIC5jb250ZW50LWxheWVyXG4gIFxuICBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9raXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vaXNzdWVzLzIxMDFcbi0tPlxuIl19
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL2J1dHRvbi9zcmMvYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL2J1dHRvbi9zcmMvYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBQ0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFFL0QsTUFBTSxDQUFOLElBQVksVUFLWDtBQUxELFdBQVksVUFBVTtJQUNwQix1QkFBUyxDQUFBO0lBQ1QsdUJBQVMsQ0FBQTtJQUNULHVCQUFTLENBQUE7SUFDVCx1QkFBUyxDQUFBO0FBQ1gsQ0FBQyxFQUxXLFVBQVUsS0FBVixVQUFVLFFBS3JCO0FBRUQsTUFBTSxxQ0FBcUMsR0FDekMsZ1FBQWdRLENBQUM7QUFXblEsTUFBTSxPQUFPLGVBQWU7SUEwRTFCLFlBQW9CLFVBQW1DLEVBQVUsUUFBbUI7UUFBaEUsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBeEVwRixzQkFBaUIsR0FBWSxJQUFJLENBQUMsQ0FBQyxVQUFVO1FBZTdDLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBa0JoQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUtwQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQWNwQixlQUFVLEdBQVksS0FBSyxDQUFDO1FBRXJDLFNBQUksR0FBaUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztRQUUzQyxrQkFBYSxHQUFZLEtB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QUFVLDZCQzFHakQsOFNBU0EsdWpZRG1CWSxZQUFZOzJGQU9YLGVBQWU7a0JBVDNCLFNBQVM7aUNBQ0ksSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDLFlBRWIsMkNBQTJDLG1CQUdwQyx1QkFBdUIsQ0FBQyxNQUFNO3lIQUkvQyxpQkFBaUI7c0JBRGhCLFdBQVc7dUJBQUMsd0JBQXdCO2dCQUdyQyxpQkFBaUI7c0JBRGhCLFdBQVc7dUJBQUMsd0JBQXdCO2dCQUdyQyxpQkFBaUI7c0JBRGhCLFdBQVc7dUJBQUMsd0JBQXdCO2dCQUV4QixjQUFjO3NCQUExQixLQUFLO2dCQVVOLGVBQWU7c0JBRGQsV0FBVzt1QkFBQyxxQkFBcUI7Z0JBRzlCLFlBQVk7c0JBRGYsS0FBSztnQkFTSyxnQkFBZ0I7c0JBRDFCLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQU1sQixVQUFVO3NCQURwQixXQUFXO3VCQUFDLGlCQUFpQjtnQkFNbkIsVUFBVTtzQkFEcEIsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBTW5CLFdBQVc7c0JBRHJCLFdBQVc7dUJBQUMsa0JBQWtCO2dCQU0zQixTQUFTO3NCQURaLFdBQVc7dUJBQUMsT0FBTztnQkFNcEIsVUFBVTtzQkFEVCxLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVOLElBQUk7c0JBREgsS0FBSztnQkFPTyxZQUFZO3NCQUF4QixLQUFLO2dCQVVOLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxhQUFhLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBSZW5kZXJlcjIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOb3RpZmljYXRpb25Db2xvciB9IGZyb20gJ0BraXJieWRlc2lnbi9jb3JlJztcblxuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vaWNvbic7XG5cbmV4cG9ydCBlbnVtIEJ1dHRvblNpemUge1xuICBYUyA9ICd4cycsXG4gIFNNID0gJ3NtJyxcbiAgTUQgPSAnbWQnLFxuICBMRyA9ICdsZycsXG59XG5cbmNvbnN0IEFUVEVOVElPTl9MRVZFTF80X0RFUFJFQ0FUSU9OX1dBUk5JTkcgPVxuICAnRGVwcmVjYXRpb24gd2FybmluZzogVGhlIFwia2lyYnktYnV0dG9uXCIgc3VwcG9ydCBmb3IgdXNpbmcgaW5wdXQgcHJvcGVydHkgXCJhdHRlbnRpb25MZXZlbFwiIHdpdGggdGhlIHZhbHVlIFwiNFwiIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSByZWxlYXNlIG9mIEtpcmJ5IGRlc2lnbnN5c3RlbS4gV2hpbGUgZGVwcmVjYXRlZCwgYWxsIGF0dGVudGlvbi1sZXZlbCA0IGJ1dHRvbnMgd2lsbCBiZSByZW5kZXJlZCBhcyBhdHRlbnRpb24tbGV2ZWwgMy4nO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnYnV0dG9uW2tpcmJ5LWJ1dHRvbl0sQnV0dG9uW2tpcmJ5LWJ1dHRvbl0nLFxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hdHRlbnRpb24tbGV2ZWwxJylcbiAgaXNBdHRlbnRpb25MZXZlbDE6IGJvb2xlYW4gPSB0cnVlOyAvLyBEZWZhdWx0XG4gIEBIb3N0QmluZGluZygnY2xhc3MuYXR0ZW50aW9uLWxldmVsMicpXG4gIGlzQXR0ZW50aW9uTGV2ZWwyOiBib29sZWFuO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmF0dGVudGlvbi1sZXZlbDMnKVxuICBpc0F0dGVudGlvbkxldmVsMzogYm9vbGVhbjtcbiAgQElucHV0KCkgc2V0IGF0dGVudGlvbkxldmVsKGxldmVsOiAnMScgfCAnMicgfCAnMycgfCAnNCcpIHtcbiAgICB0aGlzLmlzQXR0ZW50aW9uTGV2ZWwxID0gbGV2ZWwgPT09ICcxJztcbiAgICB0aGlzLmlzQXR0ZW50aW9uTGV2ZWwyID0gbGV2ZWwgPT09ICcyJztcbiAgICB0aGlzLmlzQXR0ZW50aW9uTGV2ZWwzID0gbGV2ZWwgPT09ICczJyB8fCBsZXZlbCA9PT0gJzQnO1xuICAgIGlmIChsZXZlbCA9PT0gJzQnKSB7XG4gICAgICBjb25zb2xlLndhcm4oQVRURU5USU9OX0xFVkVMXzRfREVQUkVDQVRJT05fV0FSTklORyk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5uby1kZWNvcmF0aW9uJylcbiAgaGFzTm9EZWNvcmF0aW9uID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIHNldCBub0RlY29yYXRpb24oZW5hYmxlOiBib29sZWFuKSB7XG4gICAgdGhpcy5oYXNOb0RlY29yYXRpb24gPSBlbmFibGU7XG4gICAgdGhpcy5pc0F0dGVudGlvbkxldmVsMSA9ICFlbmFibGU7XG4gICAgdGhpcy5pc0F0dGVudGlvbkxldmVsMiA9IGZhbHNlO1xuICAgIHRoaXMuaXNBdHRlbnRpb25MZXZlbDMgPSBmYWxzZTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZmxvYXRpbmcnKVxuICBwdWJsaWMgZ2V0IGlzQnV0dG9uRmxvYXRpbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNGbG9hdGluZztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaWNvbi1vbmx5JylcbiAgcHVibGljIGdldCBpc0ljb25Pbmx5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuaWNvbkVsZW1lbnRSZWYgJiYgdGhpcy5zaG93SWNvbk9ubHk7XG4gIH1cbiAgcHJpdmF0ZSBfaXNJY29uTGVmdCA9IGZhbHNlO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmljb24tbGVmdCcpXG4gIHB1YmxpYyBnZXQgaXNJY29uTGVmdCgpIHtcbiAgICByZXR1cm4gdGhpcy5faXNJY29uTGVmdCAmJiAhdGhpcy5zaG93SWNvbk9ubHk7XG4gIH1cbiAgcHJpdmF0ZSBfaXNJY29uUmlnaHQgPSBmYWxzZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pY29uLXJpZ2h0JylcbiAgcHVibGljIGdldCBpc0ljb25SaWdodCgpIHtcbiAgICByZXR1cm4gdGhpcy5faXNJY29uUmlnaHQgJiYgIXRoaXMuc2hvd0ljb25Pbmx5O1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBfY3NzQ2xhc3MoKSB7XG4gICAgcmV0dXJuIFt0aGlzLnRoZW1lQ29sb3IsIHRoaXMuc2l6ZV0uZmlsdGVyKChjc3NDbGFzcykgPT4gISFjc3NDbGFzcyk7XG4gIH1cblxuICBASW5wdXQoKVxuICB0aGVtZUNvbG9yOiBOb3RpZmljYXRpb25Db2xvcjtcbiAgQElucHV0KCkgZXhwYW5kOiAnZnVsbCcgfCAnYmxvY2snO1xuICBASW5wdXQoKSBpc0Zsb2F0aW5nOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIHNpemU6IEJ1dHRvblNpemUgfCBgJHtCdXR0b25TaXplfWAgPSBCdXR0b25TaXplLk1EO1xuXG4gIHByaXZhdGUgX3Nob3dJY29uT25seTogYm9vbGVhbiA9IGZhbHNlO1xuICBnZXQgc2hvd0ljb25Pbmx5KCkge1xuICAgIHJldHVybiB0aGlzLl9zaG93SWNvbk9ubHk7XG4gIH1cbiAgQElucHV0KCkgc2V0IHNob3dJY29uT25seSh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgLy8gSWYgdGhlIGJ1dHRvbiB0ZXh0IGlzIHN1cHBsaWVkIGFzIHBsYWluIHRleHQgKGkuZS4gYXMgYSB0ZXh0IG5vZGUgbm90IHdpdGhpbiBhbiBlbGVtZW50IHRhZyksXG4gICAgICAvLyB3ZSBuZWVkIHRvIHdyYXAgaXQgaW4gYW4gZWxlbWVudCB0byBiZSBhYmxlIHRvIHRhcmdldCBhbmQgaGlkZSBpdCB3aXRoIGNzczpcbiAgICAgIHRoaXMud3JhcFRleHROb2RlKHRoaXMuaWNvbkVsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgICB0aGlzLl9zaG93SWNvbk9ubHkgPSB2YWx1ZTtcbiAgfVxuXG4gIEBDb250ZW50Q2hpbGQoSWNvbkNvbXBvbmVudCwgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIGljb25FbGVtZW50UmVmPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7fVxuXG4gIHByaXZhdGUgd3JhcFRleHROb2RlKGljb25FbGVtZW50PzogSFRNTEVsZW1lbnQpIHtcbiAgICBpZiAoIWljb25FbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaWZUZXh0Tm9kZSA9IChub2RlPzogQ2hpbGROb2RlKTogQ2hpbGROb2RlIHwgdW5kZWZpbmVkID0+IHtcbiAgICAgIHJldHVybiBub2RlPy5ub2RlVHlwZSA9PT0gTm9kZS5URVhUX05PREUgPyBub2RlIDogdW5kZWZpbmVkO1xuICAgIH07XG5cbiAgICBjb25zdCB0ZXh0Tm9kZSA9IGlmVGV4dE5vZGUoaWNvbkVsZW1lbnQucHJldmlvdXNTaWJsaW5nKSB8fCBpZlRleHROb2RlKGljb25FbGVtZW50Lm5leHRTaWJsaW5nKTtcbiAgICBpZiAodGV4dE5vZGUpIHtcbiAgICAgIGNvbnN0IHBsYWNlbWVudCA9IHRleHROb2RlID09PSBpY29uRWxlbWVudC5wcmV2aW91c1NpYmxpbmcgPyAnYmVmb3JlJyA6ICdhZnRlcic7XG4gICAgICBjb25zdCB0ZXh0V3JhcHBlciA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgY29uc3QgcGFyZW50ID0gdGV4dE5vZGUucGFyZW50Tm9kZTtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQodGV4dE5vZGUucGFyZW50Tm9kZSwgdGV4dE5vZGUpO1xuICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZCh0ZXh0V3JhcHBlciwgdGV4dE5vZGUpO1xuICAgICAgaWYgKHBsYWNlbWVudCA9PT0gJ2JlZm9yZScpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5pbnNlcnRCZWZvcmUocGFyZW50LCB0ZXh0V3JhcHBlciwgaWNvbkVsZW1lbnQpO1xuICAgICAgfSBlbHNlIGlmIChwbGFjZW1lbnQgPT09ICdhZnRlcicpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChwYXJlbnQsIHRleHRXcmFwcGVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgaWNvbkVsZW1lbnQgPSB0aGlzLmljb25FbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50O1xuXG4gICAgaWYgKGljb25FbGVtZW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIE5vdGhpbmcgdG8gZG8gaGVyZSB3aGVuIHRoZXJlJ3Mgbm8gaWNvbjpcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zaG93SWNvbk9ubHkpIHtcbiAgICAgIC8vIElmIHRoZSBidXR0b24gdGV4dCBpcyBzdXBwbGllZCBhcyBwbGFpbiB0ZXh0IChpLmUuIGFzIGEgdGV4dCBub2RlIG5vdCB3aXRoaW4gYW4gZWxlbWVudCB0YWcpLFxuICAgICAgLy8gd2UgbmVlZCB0byB3cmFwIGl0IGluIGFuIGVsZW1lbnQgdG8gYmUgYWJsZSB0byB0YXJnZXQgYW5kIGhpZGUgaXQgd2l0aCBjc3M6XG4gICAgICB0aGlzLndyYXBUZXh0Tm9kZShpY29uRWxlbWVudCk7XG4gICAgfVxuXG4gICAgY29uc3QgaGFzVGV4dCA9ICEhdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudGV4dENvbnRlbnQ7XG4gICAgaWYgKCFoYXNUZXh0KSB7XG4gICAgICAvLyBCdXR0b24gZG9lc24ndCBjb250YWluIGFueSB0ZXh0LCBtYWtlIGl0IHJvdW5kOlxuICAgICAgdGhpcy5fc2hvd0ljb25Pbmx5ID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoaGFzVGV4dCAmJiAhdGhpcy5zaG93SWNvbk9ubHkpIHtcbiAgICAgIHRoaXMuX2lzSWNvbkxlZnQgPVxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuY29udGVudC1sYXllcicpLmZpcnN0Q2hpbGQgPT09IGljb25FbGVtZW50O1xuICAgICAgdGhpcy5faXNJY29uUmlnaHQgPSAhdGhpcy5faXNJY29uTGVmdDtcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXI+XG4gIDxzcGFuIGNsYXNzPVwic3RhdGUtbGF5ZXJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XG4gIDxzcGFuIGNsYXNzPVwiY29udGVudC1sYXllclwiPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L3NwYW4+XG48L25nLWNvbnRhaW5lcj5cbjwhLS1cbiAgVE9ETzogRml4IGdsb2JhbGx5IGV4cG9zZWQgLnN0YXRlLWxheWVyIGFuZCAuY29udGVudC1sYXllclxuICBcbiAgU2VlOiBodHRwczovL2dpdGh1Yi5jb20va2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2lzc3Vlcy8yMTAxXG4tLT5cbiJdfQ==