@kirbydesign/designsystem 8.2.0-rc.1 → 8.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/README.md +7 -0
  2. package/action-group/action-group.component.d.ts +25 -16
  3. package/action-group/public_api.d.ts +1 -1
  4. package/button/button.component.d.ts +3 -1
  5. package/esm2020/action-group/action-group.component.mjs +50 -57
  6. package/esm2020/action-group/public_api.mjs +2 -2
  7. package/esm2020/button/button.component.mjs +16 -5
  8. package/esm2020/header/header.component.mjs +47 -12
  9. package/esm2020/header/header.module.mjs +4 -4
  10. package/esm2020/header/public_api.mjs +2 -2
  11. package/esm2020/page/page.component.mjs +72 -22
  12. package/fesm2015/kirbydesign-designsystem-accordion.mjs +0 -1
  13. package/fesm2015/kirbydesign-designsystem-action-group.mjs +53 -58
  14. package/fesm2015/kirbydesign-designsystem-action-group.mjs.map +1 -1
  15. package/fesm2015/kirbydesign-designsystem-alert-experimental.mjs +0 -1
  16. package/fesm2015/kirbydesign-designsystem-avatar.mjs +0 -1
  17. package/fesm2015/kirbydesign-designsystem-button.mjs +16 -5
  18. package/fesm2015/kirbydesign-designsystem-button.mjs.map +1 -1
  19. package/fesm2015/kirbydesign-designsystem-calendar.mjs +0 -1
  20. package/fesm2015/kirbydesign-designsystem-card.mjs +0 -1
  21. package/fesm2015/kirbydesign-designsystem-chart.mjs +0 -1
  22. package/fesm2015/kirbydesign-designsystem-checkbox.mjs +0 -1
  23. package/fesm2015/kirbydesign-designsystem-data-table.mjs +0 -1
  24. package/fesm2015/kirbydesign-designsystem-divider.mjs +0 -1
  25. package/fesm2015/kirbydesign-designsystem-dropdown.mjs +0 -1
  26. package/fesm2015/kirbydesign-designsystem-empty-state.mjs +0 -1
  27. package/fesm2015/kirbydesign-designsystem-fab-sheet.mjs +0 -1
  28. package/fesm2015/kirbydesign-designsystem-flag.mjs +0 -1
  29. package/fesm2015/kirbydesign-designsystem-form-field.mjs +0 -1
  30. package/fesm2015/kirbydesign-designsystem-grid.mjs +0 -1
  31. package/fesm2015/kirbydesign-designsystem-header.mjs +51 -14
  32. package/fesm2015/kirbydesign-designsystem-header.mjs.map +1 -1
  33. package/fesm2015/kirbydesign-designsystem-helpers-scss.mjs +0 -1
  34. package/fesm2015/kirbydesign-designsystem-helpers.mjs +0 -1
  35. package/fesm2015/kirbydesign-designsystem-icon.mjs +0 -1
  36. package/fesm2015/kirbydesign-designsystem-item-group.mjs +0 -1
  37. package/fesm2015/kirbydesign-designsystem-item-sliding.mjs +0 -1
  38. package/fesm2015/kirbydesign-designsystem-item.mjs +0 -1
  39. package/fesm2015/kirbydesign-designsystem-kirby-app.mjs +0 -1
  40. package/fesm2015/kirbydesign-designsystem-kirby-ionic-module.mjs +0 -1
  41. package/fesm2015/kirbydesign-designsystem-list.mjs +0 -1
  42. package/fesm2015/kirbydesign-designsystem-loading-overlay.mjs +0 -1
  43. package/fesm2015/kirbydesign-designsystem-modal-v2.mjs +0 -1
  44. package/fesm2015/kirbydesign-designsystem-modal.mjs +0 -1
  45. package/fesm2015/kirbydesign-designsystem-page.mjs +78 -24
  46. package/fesm2015/kirbydesign-designsystem-page.mjs.map +1 -1
  47. package/fesm2015/kirbydesign-designsystem-popover.mjs +0 -1
  48. package/fesm2015/kirbydesign-designsystem-progress-circle.mjs +0 -1
  49. package/fesm2015/kirbydesign-designsystem-radio.mjs +0 -1
  50. package/fesm2015/kirbydesign-designsystem-range.mjs +0 -1
  51. package/fesm2015/kirbydesign-designsystem-reorder-list.mjs +0 -1
  52. package/fesm2015/kirbydesign-designsystem-router-outlet.mjs +0 -1
  53. package/fesm2015/kirbydesign-designsystem-section-header.mjs +0 -1
  54. package/fesm2015/kirbydesign-designsystem-shared-floating.mjs +0 -1
  55. package/fesm2015/kirbydesign-designsystem-shared-portal.mjs +0 -1
  56. package/fesm2015/kirbydesign-designsystem-shared.mjs +0 -1
  57. package/fesm2015/kirbydesign-designsystem-slide-button.mjs +0 -1
  58. package/fesm2015/kirbydesign-designsystem-slide.mjs +0 -1
  59. package/fesm2015/kirbydesign-designsystem-spinner.mjs +0 -1
  60. package/fesm2015/kirbydesign-designsystem-tabs.mjs +0 -1
  61. package/fesm2015/kirbydesign-designsystem-testing-base.mjs +0 -1
  62. package/fesm2015/kirbydesign-designsystem-testing-jasmine.mjs +0 -1
  63. package/fesm2015/kirbydesign-designsystem-testing-jest.mjs +0 -1
  64. package/fesm2015/kirbydesign-designsystem-testing.mjs +0 -1
  65. package/fesm2015/kirbydesign-designsystem-toast.mjs +0 -1
  66. package/fesm2015/kirbydesign-designsystem-toggle-button.mjs +0 -1
  67. package/fesm2015/kirbydesign-designsystem-toggle.mjs +0 -1
  68. package/fesm2015/kirbydesign-designsystem-types.mjs +0 -1
  69. package/fesm2020/kirbydesign-designsystem-accordion.mjs +0 -1
  70. package/fesm2020/kirbydesign-designsystem-action-group.mjs +50 -58
  71. package/fesm2020/kirbydesign-designsystem-action-group.mjs.map +1 -1
  72. package/fesm2020/kirbydesign-designsystem-alert-experimental.mjs +0 -1
  73. package/fesm2020/kirbydesign-designsystem-avatar.mjs +0 -1
  74. package/fesm2020/kirbydesign-designsystem-button.mjs +15 -5
  75. package/fesm2020/kirbydesign-designsystem-button.mjs.map +1 -1
  76. package/fesm2020/kirbydesign-designsystem-calendar.mjs +0 -1
  77. package/fesm2020/kirbydesign-designsystem-card.mjs +0 -1
  78. package/fesm2020/kirbydesign-designsystem-chart.mjs +0 -1
  79. package/fesm2020/kirbydesign-designsystem-checkbox.mjs +0 -1
  80. package/fesm2020/kirbydesign-designsystem-data-table.mjs +0 -1
  81. package/fesm2020/kirbydesign-designsystem-divider.mjs +0 -1
  82. package/fesm2020/kirbydesign-designsystem-dropdown.mjs +0 -1
  83. package/fesm2020/kirbydesign-designsystem-empty-state.mjs +0 -1
  84. package/fesm2020/kirbydesign-designsystem-fab-sheet.mjs +0 -1
  85. package/fesm2020/kirbydesign-designsystem-flag.mjs +0 -1
  86. package/fesm2020/kirbydesign-designsystem-form-field.mjs +0 -1
  87. package/fesm2020/kirbydesign-designsystem-grid.mjs +0 -1
  88. package/fesm2020/kirbydesign-designsystem-header.mjs +49 -15
  89. package/fesm2020/kirbydesign-designsystem-header.mjs.map +1 -1
  90. package/fesm2020/kirbydesign-designsystem-helpers-scss.mjs +0 -1
  91. package/fesm2020/kirbydesign-designsystem-helpers.mjs +0 -1
  92. package/fesm2020/kirbydesign-designsystem-icon.mjs +0 -1
  93. package/fesm2020/kirbydesign-designsystem-item-group.mjs +0 -1
  94. package/fesm2020/kirbydesign-designsystem-item-sliding.mjs +0 -1
  95. package/fesm2020/kirbydesign-designsystem-item.mjs +0 -1
  96. package/fesm2020/kirbydesign-designsystem-kirby-app.mjs +0 -1
  97. package/fesm2020/kirbydesign-designsystem-kirby-ionic-module.mjs +0 -1
  98. package/fesm2020/kirbydesign-designsystem-list.mjs +0 -1
  99. package/fesm2020/kirbydesign-designsystem-loading-overlay.mjs +0 -1
  100. package/fesm2020/kirbydesign-designsystem-modal-v2.mjs +0 -1
  101. package/fesm2020/kirbydesign-designsystem-modal.mjs +0 -1
  102. package/fesm2020/kirbydesign-designsystem-page.mjs +71 -22
  103. package/fesm2020/kirbydesign-designsystem-page.mjs.map +1 -1
  104. package/fesm2020/kirbydesign-designsystem-popover.mjs +0 -1
  105. package/fesm2020/kirbydesign-designsystem-progress-circle.mjs +0 -1
  106. package/fesm2020/kirbydesign-designsystem-radio.mjs +0 -1
  107. package/fesm2020/kirbydesign-designsystem-range.mjs +0 -1
  108. package/fesm2020/kirbydesign-designsystem-reorder-list.mjs +0 -1
  109. package/fesm2020/kirbydesign-designsystem-router-outlet.mjs +0 -1
  110. package/fesm2020/kirbydesign-designsystem-section-header.mjs +0 -1
  111. package/fesm2020/kirbydesign-designsystem-shared-floating.mjs +0 -1
  112. package/fesm2020/kirbydesign-designsystem-shared-portal.mjs +0 -1
  113. package/fesm2020/kirbydesign-designsystem-shared.mjs +0 -1
  114. package/fesm2020/kirbydesign-designsystem-slide-button.mjs +0 -1
  115. package/fesm2020/kirbydesign-designsystem-slide.mjs +0 -1
  116. package/fesm2020/kirbydesign-designsystem-spinner.mjs +0 -1
  117. package/fesm2020/kirbydesign-designsystem-tabs.mjs +0 -1
  118. package/fesm2020/kirbydesign-designsystem-testing-base.mjs +0 -1
  119. package/fesm2020/kirbydesign-designsystem-testing-jasmine.mjs +0 -1
  120. package/fesm2020/kirbydesign-designsystem-testing-jest.mjs +0 -1
  121. package/fesm2020/kirbydesign-designsystem-testing.mjs +0 -1
  122. package/fesm2020/kirbydesign-designsystem-toast.mjs +0 -1
  123. package/fesm2020/kirbydesign-designsystem-toggle-button.mjs +0 -1
  124. package/fesm2020/kirbydesign-designsystem-toggle.mjs +0 -1
  125. package/fesm2020/kirbydesign-designsystem-types.mjs +0 -1
  126. package/header/header.component.d.ts +15 -5
  127. package/header/header.module.d.ts +1 -1
  128. package/header/public_api.d.ts +1 -1
  129. package/package.json +2 -2
  130. package/page/page.component.d.ts +9 -3
  131. package/icon/src/README.md +0 -16
package/README.md ADDED
@@ -0,0 +1,7 @@
1
+ # designsystem
2
+
3
+ This library was generated with [Nx](https://nx.dev).
4
+
5
+ ## Running unit tests
6
+
7
+ Run `nx test designsystem` to execute the unit tests.
@@ -1,28 +1,37 @@
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
+ declare type CollapsedAction = {
10
+ button: HTMLButtonElement;
11
+ text: string;
12
+ };
13
+ export declare class ActionGroupComponent implements AfterContentInit {
4
14
  private renderer;
5
- private elementRef;
6
- visibleActions: number;
15
+ private config;
16
+ visibleActions?: number;
7
17
  emphasizeActions?: boolean;
8
- placement: 'left' | 'right';
9
- private buttonElements;
10
- private buttons;
18
+ align: 'start' | 'end';
19
+ private buttonElements?;
20
+ private buttons?;
11
21
  private hiddenLayer;
12
22
  private dropdown;
13
23
  _isCollapsed: boolean;
14
- _collapsedActions: string[];
15
- private _nonCollapsibleVisibleActions;
16
- private hiddenButtons;
17
- constructor(renderer: Renderer2, elementRef: ElementRef<HTMLElement>);
24
+ _collapsedActions: CollapsedAction[];
25
+ _isResizeable: boolean;
26
+ get _align(): string;
27
+ constructor(renderer: Renderer2, config: ActionGroupConfig);
18
28
  ngAfterContentInit(): void;
19
- set isCondensed(value: boolean);
20
- ngAfterViewInit(): void;
21
- onDropdownActionSelect(): void;
29
+ onActionSelect(action: CollapsedAction): void;
22
30
  private initializeCollapsing;
23
31
  private moveButtons;
24
32
  private toggleDropdown;
25
33
  private populateDropdown;
26
- static ɵfac: i0.ɵɵFactoryDeclaration<ActionGroupComponent, never>;
27
- static ɵcmp: i0.ɵɵComponentDeclaration<ActionGroupComponent, "kirby-action-group", never, { "visibleActions": "visibleActions"; "emphasizeActions": "emphasizeActions"; "placement": "placement"; }, {}, ["buttonElements", "buttons"], ["button[kirby-button]"], true, never>;
34
+ static ɵfac: i0.ɵɵFactoryDeclaration<ActionGroupComponent, [null, { optional: true; }]>;
35
+ static ɵcmp: i0.ɵɵComponentDeclaration<ActionGroupComponent, "kirby-action-group", never, { "visibleActions": "visibleActions"; "emphasizeActions": "emphasizeActions"; "align": "align"; }, {}, ["buttonElements", "buttons"], ["button[kirby-button]"], true, never>;
28
36
  }
37
+ export {};
@@ -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,54 +1,46 @@
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;
12
- this.placement = 'right';
11
+ this.config = config;
12
+ this.align = 'end';
13
13
  this._collapsedActions = [];
14
- this._nonCollapsibleVisibleActions = 2;
14
+ this._isResizeable = false;
15
+ }
16
+ get _align() {
17
+ return 'align-' + this.align;
15
18
  }
16
19
  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;
22
- }
23
- if (isInToolbar) {
24
- this.isCondensed = true;
25
- this.placement = 'right';
20
+ if (this.config) {
21
+ this._isResizeable = this.config.isResizable;
22
+ this.visibleActions = this.config.visibleActions;
23
+ if (this.config.isCondensed) {
24
+ this.buttons?.forEach((button) => (button.showIconOnly = true));
25
+ }
26
26
  }
27
- }
28
- set isCondensed(value) {
29
- this.buttons.forEach((button) => (button.showIconOnly = value));
30
- }
31
- ngAfterViewInit() {
32
27
  if (this.visibleActions) {
33
28
  this.initializeCollapsing();
34
29
  }
35
30
  }
36
- onDropdownActionSelect() {
37
- const selectedIndex = this.dropdown.selectedIndex;
38
- const selectedAction = this.hiddenButtons[selectedIndex];
31
+ onActionSelect(action) {
39
32
  // Dropdown should not persist selected item, we want it to be re-selectable
40
33
  this.dropdown.selectedIndex = -1;
41
- if (selectedAction) {
42
- const event = new PointerEvent('click', {
43
- bubbles: true,
44
- cancelable: true,
45
- view: window,
46
- });
47
- selectedAction.dispatchEvent(event);
48
- }
34
+ const event = new PointerEvent('click', {
35
+ bubbles: true,
36
+ cancelable: true,
37
+ view: window,
38
+ });
39
+ action.button.dispatchEvent(event);
49
40
  }
50
41
  initializeCollapsing() {
51
- if (this.buttonElements.length <= this._nonCollapsibleVisibleActions)
42
+ const collapseThreshold = 2;
43
+ if (this.buttonElements.length <= collapseThreshold)
52
44
  return;
53
45
  this.moveButtons();
54
46
  this.populateDropdown();
@@ -61,37 +53,32 @@ export class ActionGroupComponent {
61
53
  });
62
54
  }
63
55
  toggleDropdown() {
64
- if (this.hiddenLayer.nativeElement.childElementCount === 0) {
65
- this._isCollapsed = false;
66
- }
67
- else {
68
- this._isCollapsed = true;
69
- }
56
+ const hasHiddenButtons = this.hiddenLayer.nativeElement.childElementCount > 0;
57
+ this._isCollapsed = hasHiddenButtons;
70
58
  }
71
59
  populateDropdown() {
72
- /*
73
- * This function extracts the button text of all hidden buttons
74
- * and updates the array used to populate the dropdown with items.
75
- * It also maps the extracted text to the actual button element, for use when
76
- * firing the matching buttons click-event in onDropdownActionSelect
77
- */
78
- this.hiddenButtons = Array.from(this.hiddenLayer.nativeElement.children);
79
- this._collapsedActions = this.hiddenButtons.map((button) => button.textContent.trim());
60
+ const hiddenButtons = Array.from(this.hiddenLayer.nativeElement.children);
61
+ this._collapsedActions = hiddenButtons.map((button) => ({
62
+ button,
63
+ text: button.textContent.trim(),
64
+ }));
80
65
  }
81
66
  }
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 });
67
+ /** @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 });
68
+ /** @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", align: "align" }, host: { properties: { "class.is-collapsed": "this._isCollapsed", "class.is-resizeable": "this._isResizeable", "class": "this._align" } }, 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)=\"onActionSelect($event)\"\n></kirby-dropdown>\n\n<div class=\"hidden-layer\" #hiddenLayer></div>\n", styles: [":host{display:flex;position:relative;overflow:hidden}:host(.align-end){justify-content:flex-end}:host(.align-end) .hidden-layer{order:-1}.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}:host(.is-collapsed) kirby-dropdown{display:inline-block}\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
69
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ActionGroupComponent, decorators: [{
85
70
  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: [{
71
+ 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)=\"onActionSelect($event)\"\n></kirby-dropdown>\n\n<div class=\"hidden-layer\" #hiddenLayer></div>\n", styles: [":host{display:flex;position:relative;overflow:hidden}:host(.align-end){justify-content:flex-end}:host(.align-end) .hidden-layer{order:-1}.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}:host(.is-collapsed) kirby-dropdown{display:inline-block}\n"] }]
72
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: undefined, decorators: [{
73
+ type: Optional
74
+ }, {
75
+ type: Inject,
76
+ args: [ACTIONGROUP_CONFIG]
77
+ }] }]; }, propDecorators: { visibleActions: [{
88
78
  type: Input
89
79
  }], emphasizeActions: [{
90
80
  type: Input
91
- }], placement: [{
92
- type: HostBinding,
93
- args: ['class']
94
- }, {
81
+ }], align: [{
95
82
  type: Input
96
83
  }], buttonElements: [{
97
84
  type: ContentChildren,
@@ -101,12 +88,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
101
88
  args: [ButtonComponent]
102
89
  }], hiddenLayer: [{
103
90
  type: ViewChild,
104
- args: ['hiddenLayer', { read: ElementRef }]
91
+ args: ['hiddenLayer', { read: ElementRef, static: true }]
105
92
  }], dropdown: [{
106
93
  type: ViewChild,
107
94
  args: [DropdownComponent]
108
95
  }], _isCollapsed: [{
109
96
  type: HostBinding,
110
97
  args: ['class.is-collapsed']
98
+ }], _isResizeable: [{
99
+ type: HostBinding,
100
+ args: ['class.is-resizeable']
101
+ }], _align: [{
102
+ type: HostBinding,
103
+ args: ['class']
111
104
  }] } });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL2FjdGlvbi1ncm91cC9zcmMvYWN0aW9uLWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL2FjdGlvbi1ncm91cC9zcmMvYWN0aW9uLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBR0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7OztBQVV2RixNQUFNLE9BQU8sb0JBQW9CO0lBNEIvQixZQUFvQixRQUFtQixFQUFVLFVBQW1DO1FBQWhFLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQXJCcEYsY0FBUyxHQUFxQixPQUFPLENBQUM7UUFldEMsc0JBQWlCLEdBQWEsRUFBRSxDQUFDO1FBRXpCLGtDQUE2QixHQUFXLENBQUMsQ0FBQztJQUlxQyxDQUFDO0lBRXhGLGtCQUFrQjtRQUNoQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDekUsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENB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QVdBLDRXRFNZLFlBQVksa0lBQW1CLGNBQWM7MkZBSzVDLG9CQUFvQjtrQkFSaEMsU0FBUzsrQkFDRSxvQkFBb0IsY0FDbEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxjQUFjLENBQUMsbUJBQ3ZDLHVCQUF1QixDQUFDLE1BQU07eUhBS3RDLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUlOLFNBQVM7c0JBRlIsV0FBVzt1QkFBQyxPQUFPOztzQkFDbkIsS0FBSztnQkFHMEQsY0FBYztzQkFBN0UsZUFBZTt1QkFBQyxlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUdaLE9BQU87c0JBQWhELGVBQWU7dUJBQUMsZUFBZTtnQkFDd0IsV0FBVztzQkFBbEUsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUtSLFFBQVE7c0JBQTdDLFNBQVM7dUJBQUMsaUJBQWlCO2dCQUc1QixZQUFZO3NCQURYLFdBQVc7dUJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBRdWVyeUxpc3QsXG4gIFJlbmRlcmVyMixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vYnV0dG9uJztcbmltcG9ydCB7IERyb3Bkb3duQ29tcG9uZW50LCBEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vZHJvcGRvd24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdraXJieS1hY3Rpb24tZ3JvdXAnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBCdXR0b25Db21wb25lbnQsIERyb3Bkb3duTW9kdWxlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3Rpb24tZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hY3Rpb24tZ3JvdXAuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQWN0aW9uR3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgdmlzaWJsZUFjdGlvbnM6IG51bWJlcjtcblxuICBASW5wdXQoKSBlbXBoYXNpemVBY3Rpb25zPzogYm9vbGVhbjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgQElucHV0KClcbiAgcGxhY2VtZW50OiAnbGVmdCcgfCAncmlnaHQnID0gJ3JpZ2h0JztcblxuICBAQ29udGVudENoaWxkcmVuKEJ1dHRvbkNvbXBvbmVudCwgeyByZWFkOiBFbGVtZW50UmVmIH0pIHByaXZhdGUgYnV0dG9uRWxlbWVudHMhOiBRdWVyeUxpc3Q8XG4gICAgRWxlbWVudFJlZjxIVE1MQnV0dG9uRWxlbWVudD5cbiAgPjtcbiAgQENvbnRlbnRDaGlsZHJlbihCdXR0b25Db21wb25lbnQpIHByaXZhdGUgYnV0dG9uczogUXVlcnlMaXN0PEJ1dHRvbkNvbXBvbmVudD47XG4gIEBWaWV3Q2hpbGQoJ2hpZGRlbkxheWVyJywgeyByZWFkOiBFbGVtZW50UmVmIH0pIHByaXZhdGUgaGlkZGVuTGF5ZXIhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcbiAgLypcbiAgICogVEVNUE9SQVJZIE1PUkUtTUVOVVxuICAgKiBkcm9wZG93biBWaWV3Q2hpbGQgaXMgb25seSB1c2VkIGZvciB0ZW1wb3JhcnkgbW9yZS1tZW51XG4gICAqL1xuICBAVmlld0NoaWxkKERyb3Bkb3duQ29tcG9uZW50KSBwcml2YXRlIGRyb3Bkb3duITogRHJvcGRvd25Db21wb25lbnQ7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1jb2xsYXBzZWQnKVxuICBfaXNDb2xsYXBzZWQ6IGJvb2xlYW47XG4gIF9jb2xsYXBzZWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuXG4gIHByaXZhdGUgX25vbkNvbGxhcHNpYmxlVmlzaWJsZUFjdGlvbnM6IG51bWJlciA9IDI7XG5cbiAgcHJpdmF0ZSBoaWRkZW5CdXR0b25zOiBIVE1MQnV0dG9uRWxlbWVudFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge31cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgaXNJblRvb2xiYXIgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbG9zZXN0KCdpb24tdG9vbGJhcicpO1xuICAgIGNvbnN0IGVtcGhhc2l6ZUFjdGlvbnMgPSAhIXRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsb3Nlc3QoJy5hY3Rpb25zLmVtcGhhc2l6ZScpO1xuICAgIGlmIChpc0luVG9vbGJhciB8fCBlbXBoYXNpemVBY3Rpb25zID09PSBmYWxzZSkge1xuICAgICAgLy8gU2V0dGluZyBkZWZhdWx0IHZpc2libGUgYWN0aW9ucyB0byAxOlxuICAgICAgdGhpcy52aXNpYmxlQWN0aW9ucyA9IDE7XG4gICAgfVxuICAgIGlmIChpc0luVG9vbGJhcikge1xuICAgICAgdGhpcy5pc0NvbmRlbnNlZCA9IHRydWU7XG4gICAgICB0aGlzLnBsYWNlbWVudCA9ICdyaWdodCc7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldCBpc0NvbmRlbnNlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuYnV0dG9ucy5mb3JFYWNoKChidXR0b24pID0+IChidXR0b24uc2hvd0ljb25Pbmx5ID0gdmFsdWUpKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy52aXNpYmxlQWN0aW9ucykge1xuICAgICAgdGhpcy5pbml0aWFsaXplQ29sbGFwc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIG9uRHJvcGRvd25BY3Rpb25TZWxlY3QoKSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRJbmRleCA9IHRoaXMuZHJvcGRvd24uc2VsZWN0ZWRJbmRleDtcbiAgICBjb25zdCBzZWxlY3RlZEFjdGlvbiA9IHRoaXMuaGlkZGVuQnV0dG9uc1tzZWxlY3RlZEluZGV4XTtcblxuICAgIC8vIERyb3Bkb3duIHNob3VsZCBub3QgcGVyc2lzdCBzZWxlY3RlZCBpdGVtLCB3ZSB3YW50IGl0IHRvIGJlIHJlLXNlbGVjdGFibGVcbiAgICB0aGlzLmRyb3Bkb3duLnNlbGVjdGVkSW5kZXggPSAtMTtcblxuICAgIGlmIChzZWxlY3RlZEFjdGlvbikge1xuICAgICAgY29uc3QgZXZlbnQgPSBuZXcgUG9pbnRlckV2ZW50KCdjbGljaycsIHtcbiAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgY2FuY2VsYWJsZTogdHJ1ZSxcbiAgICAgICAgdmlldzogd2luZG93LFxuICAgICAgfSk7XG5cbiAgICAgIHNlbGVjdGVkQWN0aW9uLmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUNvbGxhcHNpbmcoKSB7XG4gICAgaWYgKHRoaXMuYnV0dG9uRWxlbWVudHMubGVuZ3RoIDw9IHRoaXMuX25vbkNvbGxhcHNpYmxlVmlzaWJsZUFjdGlvbnMpIHJldHVybjtcbiAgICB0aGlzLm1vdmVCdXR0b25zKCk7XG4gICAgdGhpcy5wb3B1bGF0ZURyb3Bkb3duKCk7XG4gICAgdGhpcy50b2dnbGVEcm9wZG93bigpO1xuICB9XG5cbiAgcHJpdmF0ZSBtb3ZlQnV0dG9ucygpIHtcbiAgICBjb25zdCBidXR0b25zVG9IaWRlID0gWy4uLnRoaXMuYnV0dG9uRWxlbWVudHNdLnNsaWNlKHRoaXMudmlzaWJsZUFjdGlvbnMpO1xuICAgIGJ1dHRvbnNUb0hpZGUuZm9yRWFjaCgoYnV0dG9uKSA9PiB7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuaGlkZGVuTGF5ZXIubmF0aXZlRWxlbWVudCwgYnV0dG9uLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB0b2dnbGVEcm9wZG93bigpIHtcbiAgICBpZiAodGhpcy5oaWRkZW5MYXllci5uYXRpdmVFbGVtZW50LmNoaWxkRWxlbWVudENvdW50ID09PSAwKSB7XG4gICAgICB0aGlzLl9pc0NvbGxhcHNlZCA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9pc0NvbGxhcHNlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBwb3B1bGF0ZURyb3Bkb3duKCkge1xuICAgIC8qXG4gICAgICogVGhpcyBmdW5jdGlvbiBleHRyYWN0cyB0aGUgYnV0dG9uIHRleHQgb2YgYWxsIGhpZGRlbiBidXR0b25zXG4gICAgICogYW5kIHVwZGF0ZXMgdGhlIGFycmF5IHVzZWQgdG8gcG9wdWxhdGUgdGhlIGRyb3Bkb3duIHdpdGggaXRlbXMuXG4gICAgICogSXQgYWxzbyBtYXBzIHRoZSBleHRyYWN0ZWQgdGV4dCB0byB0aGUgYWN0dWFsIGJ1dHRvbiBlbGVtZW50LCBmb3IgdXNlIHdoZW5cbiAgICAgKiBmaXJpbmcgdGhlIG1hdGNoaW5nIGJ1dHRvbnMgY2xpY2stZXZlbnQgaW4gb25Ecm9wZG93bkFjdGlvblNlbGVjdFxuICAgICAqL1xuXG4gICAgdGhpcy5oaWRkZW5CdXR0b25zID0gQXJyYXkuZnJvbSh0aGlzLmhpZGRlbkxheWVyLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4pIGFzIEhUTUxCdXR0b25FbGVtZW50W107XG4gICAgdGhpcy5fY29sbGFwc2VkQWN0aW9ucyA9IHRoaXMuaGlkZGVuQnV0dG9ucy5tYXAoKGJ1dHRvbikgPT4gYnV0dG9uLnRleHRDb250ZW50LnRyaW0oKSk7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJwbGFjZW1lbnQgPT09ICdyaWdodCdcIiBjbGFzcz1cImhpZGRlbi1sYXllclwiICNoaWRkZW5MYXllcj48L2Rpdj5cbjxuZy1jb250ZW50IHNlbGVjdD1cImJ1dHRvbltraXJieS1idXR0b25dXCI+PC9uZy1jb250ZW50PlxuXG48a2lyYnktZHJvcGRvd25cbiAgW2l0ZW1zXT1cIl9jb2xsYXBzZWRBY3Rpb25zXCJcbiAgW3VzZVBvcG92ZXJdPVwidHJ1ZVwiXG4gIFtfaXNNb3JlTWVudV09XCJ0cnVlXCJcbiAgcG9wb3V0PVwibGVmdFwiXG4gIChjaGFuZ2UpPVwib25Ecm9wZG93bkFjdGlvblNlbGVjdCgpXCJcbj48L2tpcmJ5LWRyb3Bkb3duPlxuPGRpdiAqbmdJZj1cInBsYWNlbWVudCA9PT0gJ2xlZnQnXCIgY2xhc3M9XCJoaWRkZW4tbGF5ZXJcIiAjaGlkZGVuTGF5ZXI+PC9kaXY+XG4iXX0=
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL2FjdGlvbi1ncm91cC9zcmMvYWN0aW9uLWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL2FjdGlvbi1ncm91cC9zcmMvYWN0aW9uLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFDTCxRQUFRLEVBQ1IsU0FBUyxFQUNULFNBQVMsRUFDVCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7O0FBT3ZGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUFvQixxQkFBcUIsQ0FBQyxDQUFDO0FBWS9GLE1BQU0sT0FBTyxvQkFBb0I7SUFnQy9CLFlBQ1UsUUFBbUIsRUFDcUIsTUFBeUI7UUFEakUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNxQixXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQTVCM0UsVUFBSyxHQUFvQixLQUFLLENBQUM7UUFnQi9CLHNCQUFpQixHQUFzQixFQUFFLENBQUM7UUFHMUMsa0JBQWEsR0FBRyxLQUFLLENBQUM7SUFVbkIsQ0FBQztJQVJKLElBQ0ksTUFBTTtRQUNSLE9BQU8sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDL0IsQ0FBQztJQU9ELGtCQUFrQjtR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TUFBTTsyQkFBQyxrQkFBa0I7NENBakMvQixjQUFjO3NCQUF0QixLQUFLO2dCQUVHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFHTixLQUFLO3NCQURKLEtBQUs7Z0JBRzBELGNBQWM7c0JBQTdFLGVBQWU7dUJBQUMsZUFBZSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFHWixPQUFPO3NCQUFoRCxlQUFlO3VCQUFDLGVBQWU7Z0JBRXhCLFdBQVc7c0JBRGxCLFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQU10QixRQUFRO3NCQUE3QyxTQUFTO3VCQUFDLGlCQUFpQjtnQkFHNUIsWUFBWTtzQkFEWCxXQUFXO3VCQUFDLG9CQUFvQjtnQkFLakMsYUFBYTtzQkFEWixXQUFXO3VCQUFDLHFCQUFxQjtnQkFJOUIsTUFBTTtzQkFEVCxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0LFxuICBJbmplY3Rpb25Ub2tlbixcbiAgSW5wdXQsXG4gIE9wdGlvbmFsLFxuICBRdWVyeUxpc3QsXG4gIFJlbmRlcmVyMixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vYnV0dG9uJztcbmltcG9ydCB7IERyb3Bkb3duQ29tcG9uZW50LCBEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vZHJvcGRvd24nO1xuXG5leHBvcnQgdHlwZSBBY3Rpb25Hcm91cENvbmZpZyA9IHtcbiAgaXNSZXNpemFibGU/OiBib29sZWFuO1xuICBpc0NvbmRlbnNlZD86IGJvb2xlYW47XG4gIHZpc2libGVBY3Rpb25zPzogbnVtYmVyO1xufTtcbmV4cG9ydCBjb25zdCBBQ1RJT05HUk9VUF9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48QWN0aW9uR3JvdXBDb25maWc+KCdhY3Rpb24tZ3JvdXAuY29uZmlnJyk7XG5cbnR5cGUgQ29sbGFwc2VkQWN0aW9uID0geyBidXR0b246IEhUTUxCdXR0b25FbGVtZW50OyB0ZXh0OiBzdHJpbmcgfTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAna2lyYnktYWN0aW9uLWdyb3VwJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQnV0dG9uQ29tcG9uZW50LCBEcm9wZG93bk1vZHVsZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWN0aW9uLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFjdGlvbkdyb3VwQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIEBJbnB1dCgpIHZpc2libGVBY3Rpb25zPzogbnVtYmVyO1xuXG4gIEBJbnB1dCgpIGVtcGhhc2l6ZUFjdGlvbnM/OiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIGFsaWduOiAnc3RhcnQnIHwgJ2VuZCcgPSAnZW5kJztcblxuICBAQ29udGVudENoaWxkcmVuKEJ1dHRvbkNvbXBvbmVudCwgeyByZWFkOiBFbGVtZW50UmVmIH0pIHByaXZhdGUgYnV0dG9uRWxlbWVudHM/OiBRdWVyeUxpc3Q8XG4gICAgRWxlbWVudFJlZjxIVE1MQnV0dG9uRWxlbWVudD5cbiAgPjtcbiAgQENvbnRlbnRDaGlsZHJlbihCdXR0b25Db21wb25lbnQpIHByaXZhdGUgYnV0dG9ucz86IFF1ZXJ5TGlzdDxCdXR0b25Db21wb25lbnQ+O1xuICBAVmlld0NoaWxkKCdoaWRkZW5MYXllcicsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pXG4gIHByaXZhdGUgaGlkZGVuTGF5ZXIhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcbiAgLypcbiAgICogVEVNUE9SQVJZIE1PUkUtTUVOVVxuICAgKiBkcm9wZG93biBWaWV3Q2hpbGQgaXMgb25seSB1c2VkIGZvciB0ZW1wb3JhcnkgbW9yZS1tZW51XG4gICAqL1xuICBAVmlld0NoaWxkKERyb3Bkb3duQ29tcG9uZW50KSBwcml2YXRlIGRyb3Bkb3duITogRHJvcGRvd25Db21wb25lbnQ7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1jb2xsYXBzZWQnKVxuICBfaXNDb2xsYXBzZWQ6IGJvb2xlYW47XG4gIF9jb2xsYXBzZWRBY3Rpb25zOiBDb2xsYXBzZWRBY3Rpb25bXSA9IFtdO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaXMtcmVzaXplYWJsZScpXG4gIF9pc1Jlc2l6ZWFibGUgPSBmYWxzZTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IF9hbGlnbigpIHtcbiAgICByZXR1cm4gJ2FsaWduLScgKyB0aGlzLmFsaWduO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQUNUSU9OR1JPVVBfQ09ORklHKSBwcml2YXRlIGNvbmZpZzogQWN0aW9uR3JvdXBDb25maWdcbiAgKSB7fVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb25maWcpIHtcbiAgICAgIHRoaXMuX2lzUmVzaXplYWJsZSA9IHRoaXMuY29uZmlnLmlzUmVzaXphYmxlO1xuICAgICAgdGhpcy52aXNpYmxlQWN0aW9ucyA9IHRoaXMuY29uZmlnLnZpc2libGVBY3Rpb25zO1xuICAgICAgaWYgKHRoaXMuY29uZmlnLmlzQ29uZGVuc2VkKSB7XG4gICAgICAgIHRoaXMuYnV0dG9ucz8uZm9yRWFjaCgoYnV0dG9uKSA9PiAoYnV0dG9uLnNob3dJY29uT25seSA9IHRydWUpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy52aXNpYmxlQWN0aW9ucykge1xuICAgICAgdGhpcy5pbml0aWFsaXplQ29sbGFwc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIG9uQWN0aW9uU2VsZWN0KGFjdGlvbjogQ29sbGFwc2VkQWN0aW9uKSB7XG4gICAgLy8gRHJvcGRvd24gc2hvdWxkIG5vdCBwZXJzaXN0IHNlbGVjdGVkIGl0ZW0sIHdlIHdhbnQgaXQgdG8gYmUgcmUtc2VsZWN0YWJsZVxuICAgIHRoaXMuZHJvcGRvd24uc2VsZWN0ZWRJbmRleCA9IC0xO1xuXG4gICAgY29uc3QgZXZlbnQgPSBuZXcgUG9pbnRlckV2ZW50KCdjbGljaycsIHtcbiAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICBjYW5jZWxhYmxlOiB0cnVlLFxuICAgICAgdmlldzogd2luZG93LFxuICAgIH0pO1xuXG4gICAgYWN0aW9uLmJ1dHRvbi5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUNvbGxhcHNpbmcoKSB7XG4gICAgY29uc3QgY29sbGFwc2VUaHJlc2hvbGQgPSAyO1xuICAgIGlmICh0aGlzLmJ1dHRvbkVsZW1lbnRzLmxlbmd0aCA8PSBjb2xsYXBzZVRocmVzaG9sZCkgcmV0dXJuO1xuXG4gICAgdGhpcy5tb3ZlQnV0dG9ucygpO1xuICAgIHRoaXMucG9wdWxhdGVEcm9wZG93bigpO1xuICAgIHRoaXMudG9nZ2xlRHJvcGRvd24oKTtcbiAgfVxuXG4gIHByaXZhdGUgbW92ZUJ1dHRvbnMoKSB7XG4gICAgY29uc3QgYnV0dG9uc1RvSGlkZSA9IFsuLi50aGlzLmJ1dHRvbkVsZW1lbnRzXS5zbGljZSh0aGlzLnZpc2libGVBY3Rpb25zKTtcbiAgICBidXR0b25zVG9IaWRlLmZvckVhY2goKGJ1dHRvbikgPT4ge1xuICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLmhpZGRlbkxheWVyLm5hdGl2ZUVsZW1lbnQsIGJ1dHRvbi5uYXRpdmVFbGVtZW50KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdG9nZ2xlRHJvcGRvd24oKSB7XG4gICAgY29uc3QgaGFzSGlkZGVuQnV0dG9ucyA9IHRoaXMuaGlkZGVuTGF5ZXIubmF0aXZlRWxlbWVudC5jaGlsZEVsZW1lbnRDb3VudCA+IDA7XG4gICAgdGhpcy5faXNDb2xsYXBzZWQgPSBoYXNIaWRkZW5CdXR0b25zO1xuICB9XG5cbiAgcHJpdmF0ZSBwb3B1bGF0ZURyb3Bkb3duKCkge1xuICAgIGNvbnN0IGhpZGRlbkJ1dHRvbnMgPSBBcnJheS5mcm9tKFxuICAgICAgdGhpcy5oaWRkZW5MYXllci5uYXRpdmVFbGVtZW50LmNoaWxkcmVuXG4gICAgKSBhcyBIVE1MQnV0dG9uRWxlbWVudFtdO1xuXG4gICAgdGhpcy5fY29sbGFwc2VkQWN0aW9ucyA9IGhpZGRlbkJ1dHRvbnMubWFwKChidXR0b24pID0+ICh7XG4gICAgICBidXR0b24sXG4gICAgICB0ZXh0OiBidXR0b24udGV4dENvbnRlbnQudHJpbSgpLFxuICAgIH0pKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRlbnQgc2VsZWN0PVwiYnV0dG9uW2tpcmJ5LWJ1dHRvbl1cIj48L25nLWNvbnRlbnQ+XG5cbjxraXJieS1kcm9wZG93blxuICBbaXRlbXNdPVwiX2NvbGxhcHNlZEFjdGlvbnNcIlxuICBbdXNlUG9wb3Zlcl09XCJ0cnVlXCJcbiAgW19pc01vcmVNZW51XT1cInRydWVcIlxuICBwb3BvdXQ9XCJsZWZ0XCJcbiAgKGNoYW5nZSk9XCJvbkFjdGlvblNlbGVjdCgkZXZlbnQpXCJcbj48L2tpcmJ5LWRyb3Bkb3duPlxuXG48ZGl2IGNsYXNzPVwiaGlkZGVuLWxheWVyXCIgI2hpZGRlbkxheWVyPjwvZGl2PlxuIl19
@@ -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==