@koobiq/components 18.39.0 → 18.39.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/app-switcher/app-switcher.d.ts +11 -4
  2. package/checkbox/checkbox.scss +5 -21
  3. package/code-block/code-block.scss +2 -2
  4. package/core/option/option.d.ts +1 -0
  5. package/dropdown/dropdown.scss +3 -0
  6. package/esm2022/app-switcher/app-switcher-dropdown-app.mjs +21 -7
  7. package/esm2022/app-switcher/app-switcher.mjs +21 -17
  8. package/esm2022/app-switcher/kbq-app-switcher-list-item.mjs +24 -11
  9. package/esm2022/checkbox/checkbox.mjs +2 -2
  10. package/esm2022/code-block/code-block.mjs +3 -3
  11. package/esm2022/core/option/option.mjs +3 -1
  12. package/esm2022/core/version.mjs +2 -2
  13. package/esm2022/dropdown/dropdown-trigger.directive.mjs +2 -4
  14. package/esm2022/dropdown/dropdown.component.mjs +3 -3
  15. package/esm2022/filter-bar/filter-bar.mjs +3 -17
  16. package/esm2022/filter-bar/pipes/pipe-date.mjs +4 -1
  17. package/esm2022/filter-bar/pipes/pipe-datetime.mjs +5 -2
  18. package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +35 -14
  19. package/esm2022/filter-bar/pipes/pipe-multi-tree-select.mjs +40 -11
  20. package/esm2022/input/input-number.mjs +3 -1
  21. package/esm2022/loader-overlay/loader-overlay.component.mjs +2 -2
  22. package/esm2022/navbar/navbar-brand.component.mjs +2 -2
  23. package/esm2022/navbar/navbar.component.mjs +2 -2
  24. package/esm2022/navbar/vertical-navbar.component.mjs +2 -2
  25. package/esm2022/popover/popover-confirm.component.mjs +3 -3
  26. package/esm2022/popover/popover.component.mjs +3 -3
  27. package/esm2022/select/select.component.mjs +4 -2
  28. package/esm2022/time-range/time-range-editor.mjs +2 -2
  29. package/esm2022/timepicker/timepicker.directive.mjs +59 -9
  30. package/esm2022/tooltip/tooltip.component.mjs +3 -3
  31. package/fesm2022/koobiq-components-app-switcher.mjs +63 -35
  32. package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
  33. package/fesm2022/koobiq-components-checkbox.mjs +2 -2
  34. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  35. package/fesm2022/koobiq-components-code-block.mjs +2 -2
  36. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  37. package/fesm2022/koobiq-components-core.mjs +3 -1
  38. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  39. package/fesm2022/koobiq-components-dropdown.mjs +3 -5
  40. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  41. package/fesm2022/koobiq-components-filter-bar.mjs +82 -39
  42. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  43. package/fesm2022/koobiq-components-input.mjs +2 -0
  44. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  45. package/fesm2022/koobiq-components-loader-overlay.mjs +2 -2
  46. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  47. package/fesm2022/koobiq-components-navbar.mjs +6 -6
  48. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  49. package/fesm2022/koobiq-components-popover.mjs +4 -4
  50. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  51. package/fesm2022/koobiq-components-select.mjs +4 -2
  52. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  53. package/fesm2022/koobiq-components-time-range.mjs +1 -1
  54. package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
  55. package/fesm2022/koobiq-components-timepicker.mjs +58 -8
  56. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  57. package/fesm2022/koobiq-components-tooltip.mjs +2 -2
  58. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  59. package/filter-bar/pipes/pipe-multi-select.d.ts +4 -1
  60. package/filter-bar/pipes/pipe-multi-tree-select.d.ts +5 -0
  61. package/loader-overlay/loader-overlay.scss +22 -31
  62. package/navbar/_navbar-item_vertical.scss +8 -0
  63. package/navbar/navbar-brand.scss +2 -2
  64. package/package.json +4 -4
  65. package/popover/_popover-theme.scss +2 -2
  66. package/schematics/ng-add/index.js +2 -2
  67. package/timepicker/timepicker.directive.d.ts +16 -6
  68. package/tooltip/_tooltip-theme.scss +5 -6
@@ -10,7 +10,10 @@ export interface KbqAppSwitcherApp {
10
10
  name: string;
11
11
  id: string | number;
12
12
  type?: string | number;
13
- icon: string;
13
+ /** Inline SVG markup for the application icon. Use this for SVG icons that should be rendered directly in the DOM. */
14
+ icon?: string;
15
+ /** Path to the icon file (URL or relative path). */
16
+ iconSrc?: string;
14
17
  caption?: string;
15
18
  aliases?: KbqAppSwitcherApp[];
16
19
  link?: string;
@@ -19,7 +22,10 @@ export interface KbqAppSwitcherSite {
19
22
  name: string;
20
23
  id: string | number;
21
24
  status?: string;
25
+ /** Inline SVG markup for the site icon. Use this for SVG icons that should be rendered directly in the DOM. */
22
26
  icon?: string;
27
+ /** Path to the icon file (URL or relative path). */
28
+ iconSrc?: string;
23
29
  apps: KbqAppSwitcherApp[];
24
30
  }
25
31
  /** @docs-private */
@@ -116,8 +122,7 @@ export declare class KbqAppSwitcherTrigger extends KbqPopUpTrigger<KbqAppSwitche
116
122
  /** Whether the sites are used or not
117
123
  * @docs-private */
118
124
  get sitesMode(): boolean;
119
- /** Whether the sites are used or not
120
- * @docs-private */
125
+ /** @docs-private */
121
126
  get currentApps(): KbqAppSwitcherApp[];
122
127
  /** Selected application */
123
128
  selectedApp: KbqAppSwitcherApp;
@@ -131,7 +136,9 @@ export declare class KbqAppSwitcherTrigger extends KbqPopUpTrigger<KbqAppSwitche
131
136
  get sites(): KbqAppSwitcherSite[];
132
137
  set sites(value: KbqAppSwitcherSite[]);
133
138
  private _parsedSites;
134
- /** Array of applications */
139
+ /**
140
+ * @deprecated Will be removed in next major release, use `sites` with one element instead.
141
+ */
135
142
  get apps(): KbqAppSwitcherApp[];
136
143
  set apps(apps: KbqAppSwitcherApp[]);
137
144
  private makeGroupsForApps;
@@ -1,4 +1,3 @@
1
- @use '../core/styles/common/tokens' as *;
2
1
  @use './checkbox-theme' as *;
3
2
 
4
3
  .kbq-checkbox-checkmark,
@@ -27,10 +26,7 @@
27
26
  }
28
27
 
29
28
  .kbq-checkbox__layout {
30
- $padding-left: kbq-sum-series-css-variables(
31
- [checkbox-size-normal-width,
32
- checkbox-size-normal-horizontal-content-padding]
33
- );
29
+ --padding: calc(var(--kbq-checkbox-size-normal-width) + var(--kbq-checkbox-size-normal-horizontal-content-padding));
34
30
 
35
31
  box-sizing: initial;
36
32
 
@@ -39,7 +35,7 @@
39
35
 
40
36
  display: inline-flex;
41
37
 
42
- max-width: calc(100% - $padding-left);
38
+ max-width: calc(100% - var(--padding));
43
39
 
44
40
  // `cursor: inherit` ensures that the wrapper element gets the same cursor as the kbq-checkbox
45
41
  // (e.g. pointer by default, regular when disabled), instead of the browser default.
@@ -49,7 +45,7 @@
49
45
 
50
46
  padding-bottom: var(--kbq-checkbox-size-normal-padding-bottom);
51
47
 
52
- padding-left: $padding-left;
48
+ padding-left: var(--padding);
53
49
 
54
50
  vertical-align: top;
55
51
  }
@@ -104,16 +100,7 @@
104
100
  }
105
101
 
106
102
  .kbq-checkbox.kbq-checkbox_big {
107
- & .kbq-checkbox__layout {
108
- $padding-left: kbq-sum-series-css-variables(
109
- [ checkbox-size-normal-width,
110
- checkbox-size-normal-horizontal-content-padding]
111
- );
112
-
113
- max-width: calc(100% - $padding-left);
114
-
115
- padding-left: $padding-left;
116
- }
103
+ --padding: calc(var(--kbq-checkbox-size-big-width) + var(--kbq-checkbox-size-big-horizontal-content-padding));
117
104
 
118
105
  & .kbq-checkbox__inner-container {
119
106
  top: var(--kbq-checkbox-size-big-top);
@@ -152,10 +139,7 @@
152
139
  .kbq-checkbox_label-before {
153
140
  .kbq-checkbox__layout {
154
141
  padding-left: 0;
155
- padding-right: kbq-sum-series-css-variables(
156
- [ checkbox-size-normal-width,
157
- checkbox-size-normal-horizontal-content-padding]
158
- );
142
+ padding-right: var(--padding);
159
143
  }
160
144
 
161
145
  .kbq-checkbox__inner-container {
@@ -139,8 +139,8 @@
139
139
  display: none;
140
140
  position: absolute;
141
141
  top: 0;
142
- right: 0;
143
- padding: var(--kbq-size-s) var(--kbq-size-m);
142
+ right: var(--kbq-size-m);
143
+ padding: var(--kbq-size-s) 0 var(--kbq-size-s) var(--kbq-size-m);
144
144
  }
145
145
 
146
146
  .kbq-code-block__main {
@@ -17,6 +17,7 @@ export declare class KbqOptionSelectionChange<T = KbqOption> {
17
17
  export interface KbqOptionParentComponent {
18
18
  multiple?: boolean;
19
19
  multiSelection?: boolean;
20
+ withVirtualScroll?: boolean;
20
21
  }
21
22
  /**
22
23
  * Handler that will update scroll position of elements inside overlay
@@ -32,6 +32,9 @@
32
32
  }
33
33
 
34
34
  .kbq-dropdown__panel {
35
+ overflow-x: hidden;
36
+ overflow-y: auto;
37
+
35
38
  min-width: var(--kbq-dropdown-size-container-width-min);
36
39
  max-width: var(--kbq-dropdown-size-container-width-max);
37
40
 
@@ -1,9 +1,11 @@
1
+ import { NgOptimizedImage } from '@angular/common';
1
2
  import { ChangeDetectionStrategy, Component, inject, Input, ViewEncapsulation } from '@angular/core';
2
3
  import { DomSanitizer } from '@angular/platform-browser';
3
4
  import { KBQ_TITLE_TEXT_REF } from '@koobiq/components/core';
4
5
  import { KbqDropdownItem } from '@koobiq/components/dropdown';
5
- import { KbqIcon } from '@koobiq/components/icon';
6
+ import { KbqIconModule } from '@koobiq/components/icon';
6
7
  import * as i0 from "@angular/core";
8
+ import * as i1 from "@koobiq/components/icon";
7
9
  /** @docs-private */
8
10
  export class KbqAppSwitcherDropdownApp extends KbqDropdownItem {
9
11
  constructor() {
@@ -19,7 +21,13 @@ export class KbqAppSwitcherDropdownApp extends KbqDropdownItem {
19
21
  { provide: KbqDropdownItem, useExisting: KbqAppSwitcherDropdownApp }
20
22
  ], exportAs: ["kbqAppSwitcherDropdownApp"], usesInheritance: true, ngImport: i0, template: `
21
23
  <i class="kbq kbq-icon" [className]=""></i>
22
- <span class="kbq-app-switcher-dropdown-app__icon" [innerHtml]="getIcon(app.icon)"></span>
24
+ @if (app.icon) {
25
+ <span class="kbq-app-switcher-dropdown-app__icon" [innerHtml]="getIcon(app.icon)"></span>
26
+ } @else if (app.iconSrc) {
27
+ <span class="kbq-app-switcher-dropdown-app__icon">
28
+ <img width="24" height="24" alt="{{ app.type }}" [ngSrc]="app.iconSrc" />
29
+ </span>
30
+ }
23
31
 
24
32
  <div class="kbq-app-switcher-dropdown-app__container">
25
33
  <div class="kbq-app-switcher-dropdown-app__name">
@@ -37,13 +45,19 @@ export class KbqAppSwitcherDropdownApp extends KbqDropdownItem {
37
45
  <div class="kbq-app-switcher-dropdown-app__caption">{{ app.caption }}</div>
38
46
  }
39
47
  </div>
40
- `, isInline: true, styles: ["@keyframes kbq-progress{0%{background-position:0 0}to{background-position:64px 0}}.kbq-progress{position:relative}.kbq-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,#0000000a 12px,#ffffff1a 12px 22px,#0000000a 22px 34px,#ffffff1a 34px) repeat;background-size:32px 32px;animation:kbq-progress 1s linear infinite}.kbq-group{display:flex;flex-direction:row}.kbq-group .kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-left:calc(-1 * var(--kbq-size-border-width))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--kbq-size-border-radius)}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-bottom-left-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--kbq-size-border-radius)}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-top-right-radius:0;border-top-left-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-size-border-width))}.kbq-truncate-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-app-switcher-dropdown-app{display:flex;flex-direction:row;width:100%;min-height:50px;border-radius:var(--kbq-size-xs);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-decoration:none;box-sizing:border-box;outline:none;-webkit-tap-highlight-color:transparent;cursor:pointer;padding:var(--kbq-size-xxs) var(--kbq-size-m)}.kbq-app-switcher-dropdown-app .kbq-app-switcher-dropdown-app__icon{padding-top:var(--kbq-size-s);padding-right:var(--kbq-size-m)}.kbq-app-switcher-dropdown-app .kbq-app-switcher-dropdown-app__container{width:100%;align-self:center}.kbq-app-switcher-dropdown-app .kbq-app-switcher-dropdown-app__container .kbq-app-switcher-dropdown-app__name{display:flex;flex-direction:row;justify-content:space-between}.kbq-app-switcher-dropdown-app .kbq-app-switcher-dropdown-app__container .kbq-app-switcher-dropdown-app__caption{margin-left:var(--kbq-size-3xs)}.kbq-app-switcher-dropdown-app .kbq-dropdown-item__caption{padding-top:var(--kbq-size-3xs)}.kbq-app-switcher-dropdown-app .kbq-app-switcher-dropdown-item-trigger__icon{margin-top:var(--kbq-size-3xs)}.kbq-app-switcher-dropdown-app{background:var(--kbq-list-default-container-background);color:var(--kbq-list-default-text-color)}.kbq-app-switcher-dropdown-app.kbq-dropdown-item_highlighted,.kbq-app-switcher-dropdown-app:hover{background:var(--kbq-states-background-transparent-active)}.kbq-app-switcher-dropdown-app.cdk-keyboard-focused{border-color:var(--kbq-list-states-focused-focus-outline-color)}.kbq-app-switcher-dropdown-app .kbq-app-switcher-dropdown-app__caption{color:var(--kbq-dropdown-item-caption-color)}.kbq-app-switcher-dropdown-app{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-app-switcher-dropdown-app .kbq-app-switcher-dropdown-app__caption{font-size:var(--kbq-typography-text-compact-font-size);font-style:var(--kbq-typography-text-compact-font-style);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}\n"], dependencies: [{ kind: "component", type: KbqIcon, selector: "[kbq-icon]", inputs: ["small", "autoColor", "kbq-icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
48
+ `, isInline: true, styles: ["@keyframes kbq-progress{0%{background-position:0 0}to{background-position:64px 0}}.kbq-progress{position:relative}.kbq-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,#0000000a 12px,#ffffff1a 12px 22px,#0000000a 22px 34px,#ffffff1a 34px) repeat;background-size:32px 32px;animation:kbq-progress 1s linear infinite}.kbq-group{display:flex;flex-direction:row}.kbq-group .kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-left:calc(-1 * var(--kbq-size-border-width))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--kbq-size-border-radius)}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-bottom-left-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--kbq-size-border-radius)}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-top-right-radius:0;border-top-left-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-size-border-width))}.kbq-truncate-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-app-switcher-dropdown-app{display:flex;flex-direction:row;width:100%;min-height:50px;border-radius:var(--kbq-size-xs);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-decoration:none;box-sizing:border-box;outline:none;-webkit-tap-highlight-color:transparent;cursor:pointer;padding:var(--kbq-size-xxs) var(--kbq-size-m)}.kbq-app-switcher-dropdown-app .kbq-app-switcher-dropdown-app__icon{padding-top:var(--kbq-size-s);padding-right:var(--kbq-size-m)}.kbq-app-switcher-dropdown-app .kbq-app-switcher-dropdown-app__container{width:100%;align-self:center}.kbq-app-switcher-dropdown-app .kbq-app-switcher-dropdown-app__container .kbq-app-switcher-dropdown-app__name{display:flex;flex-direction:row;justify-content:space-between}.kbq-app-switcher-dropdown-app .kbq-app-switcher-dropdown-app__container .kbq-app-switcher-dropdown-app__caption{margin-left:var(--kbq-size-3xs)}.kbq-app-switcher-dropdown-app .kbq-dropdown-item__caption{padding-top:var(--kbq-size-3xs)}.kbq-app-switcher-dropdown-app .kbq-app-switcher-dropdown-item-trigger__icon{margin-top:var(--kbq-size-3xs)}.kbq-app-switcher-dropdown-app{background:var(--kbq-list-default-container-background);color:var(--kbq-list-default-text-color)}.kbq-app-switcher-dropdown-app.kbq-dropdown-item_highlighted,.kbq-app-switcher-dropdown-app:hover{background:var(--kbq-states-background-transparent-active)}.kbq-app-switcher-dropdown-app.cdk-keyboard-focused{border-color:var(--kbq-list-states-focused-focus-outline-color)}.kbq-app-switcher-dropdown-app .kbq-app-switcher-dropdown-app__caption{color:var(--kbq-dropdown-item-caption-color)}.kbq-app-switcher-dropdown-app{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-app-switcher-dropdown-app .kbq-app-switcher-dropdown-app__caption{font-size:var(--kbq-typography-text-compact-font-size);font-style:var(--kbq-typography-text-compact-font-style);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}\n"], dependencies: [{ kind: "ngmodule", type: KbqIconModule }, { kind: "component", type: i1.KbqIcon, selector: "[kbq-icon]", inputs: ["small", "autoColor", "kbq-icon"] }, { kind: "directive", type: NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
41
49
  }
42
50
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqAppSwitcherDropdownApp, decorators: [{
43
51
  type: Component,
44
- args: [{ standalone: true, selector: '[kbq-app-switcher-dropdown-app]', exportAs: 'kbqAppSwitcherDropdownApp', template: `
52
+ args: [{ standalone: true, selector: '[kbq-app-switcher-dropdown-app]', exportAs: 'kbqAppSwitcherDropdownApp', imports: [KbqIconModule, NgOptimizedImage], template: `
45
53
  <i class="kbq kbq-icon" [className]=""></i>
46
- <span class="kbq-app-switcher-dropdown-app__icon" [innerHtml]="getIcon(app.icon)"></span>
54
+ @if (app.icon) {
55
+ <span class="kbq-app-switcher-dropdown-app__icon" [innerHtml]="getIcon(app.icon)"></span>
56
+ } @else if (app.iconSrc) {
57
+ <span class="kbq-app-switcher-dropdown-app__icon">
58
+ <img width="24" height="24" alt="{{ app.type }}" [ngSrc]="app.iconSrc" />
59
+ </span>
60
+ }
47
61
 
48
62
  <div class="kbq-app-switcher-dropdown-app__container">
49
63
  <div class="kbq-app-switcher-dropdown-app__name">
@@ -64,7 +78,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
64
78
  `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
65
79
  class: 'kbq-app-switcher-dropdown-app',
66
80
  '[class.kbq-dropdown-item]': 'false'
67
- }, imports: [KbqIcon], providers: [
81
+ }, providers: [
68
82
  { provide: KBQ_TITLE_TEXT_REF, useExisting: KbqAppSwitcherDropdownApp },
69
83
  { provide: KbqDropdownItem, useExisting: KbqAppSwitcherDropdownApp }
70
84
  ], styles: ["@keyframes kbq-progress{0%{background-position:0 0}to{background-position:64px 0}}.kbq-progress{position:relative}.kbq-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,#0000000a 12px,#ffffff1a 12px 22px,#0000000a 22px 34px,#ffffff1a 34px) repeat;background-size:32px 32px;animation:kbq-progress 1s linear infinite}.kbq-group{display:flex;flex-direction:row}.kbq-group .kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-left:calc(-1 * var(--kbq-size-border-width))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--kbq-size-border-radius)}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-bottom-left-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--kbq-size-border-radius)}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-top-right-radius:0;border-top-left-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-size-border-width))}.kbq-truncate-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-app-switcher-dropdown-app{display:flex;flex-direction:row;width:100%;min-height:50px;border-radius:var(--kbq-size-xs);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-decoration:none;box-sizing:border-box;outline:none;-webkit-tap-highlight-color:transparent;cursor:pointer;padding:var(--kbq-size-xxs) var(--kbq-size-m)}.kbq-app-switcher-dropdown-app .kbq-app-switcher-dropdown-app__icon{padding-top:var(--kbq-size-s);padding-right:var(--kbq-size-m)}.kbq-app-switcher-dropdown-app .kbq-app-switcher-dropdown-app__container{width:100%;align-self:center}.kbq-app-switcher-dropdown-app .kbq-app-switcher-dropdown-app__container .kbq-app-switcher-dropdown-app__name{display:flex;flex-direction:row;justify-content:space-between}.kbq-app-switcher-dropdown-app .kbq-app-switcher-dropdown-app__container .kbq-app-switcher-dropdown-app__caption{margin-left:var(--kbq-size-3xs)}.kbq-app-switcher-dropdown-app .kbq-dropdown-item__caption{padding-top:var(--kbq-size-3xs)}.kbq-app-switcher-dropdown-app .kbq-app-switcher-dropdown-item-trigger__icon{margin-top:var(--kbq-size-3xs)}.kbq-app-switcher-dropdown-app{background:var(--kbq-list-default-container-background);color:var(--kbq-list-default-text-color)}.kbq-app-switcher-dropdown-app.kbq-dropdown-item_highlighted,.kbq-app-switcher-dropdown-app:hover{background:var(--kbq-states-background-transparent-active)}.kbq-app-switcher-dropdown-app.cdk-keyboard-focused{border-color:var(--kbq-list-states-focused-focus-outline-color)}.kbq-app-switcher-dropdown-app .kbq-app-switcher-dropdown-app__caption{color:var(--kbq-dropdown-item-caption-color)}.kbq-app-switcher-dropdown-app{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-app-switcher-dropdown-app .kbq-app-switcher-dropdown-app__caption{font-size:var(--kbq-typography-text-compact-font-size);font-style:var(--kbq-typography-text-compact-font-style);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}\n"] }]
@@ -72,4 +86,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
72
86
  type: Input,
73
87
  args: ['kbq-app-switcher-dropdown-app']
74
88
  }] } });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXN3aXRjaGVyLWRyb3Bkb3duLWFwcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvYXBwLXN3aXRjaGVyL2FwcC1zd2l0Y2hlci1kcm9wZG93bi1hcHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUdsRCxvQkFBb0I7QUF1Q3BCLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxlQUFlO0lBdEM5RDs7UUF1Q1ksY0FBUyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztLQU81QztJQUhHLE9BQU8sQ0FBQyxJQUFtQjtRQUN2QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzlELENBQUM7a0lBUFEseUJBQXlCO3NIQUF6Qix5QkFBeUIsd1BBTHZCO1lBQ1AsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLHlCQUF5QixFQUFFO1lBQ3ZFLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUseUJBQXlCLEVBQUU7U0FDdkUsMEZBaENTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQW9CVCxxbUtBUVMsT0FBTzs7NEZBTVIseUJBQXlCO2tCQXRDckMsU0FBUztpQ0FDTSxJQUFJLFlBQ04saUNBQWlDLFlBQ2pDLDJCQUEyQixZQUMzQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FvQlQsbUJBRWdCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0YsS0FBSyxFQUFFLCtCQUErQjt3QkFDdEMsMkJBQTJCLEVBQUUsT0FBTztxQkFDdkMsV0FDUSxDQUFDLE9BQU8sQ0FBQyxhQUNQO3dCQUNQLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFdBQVcsMkJBQTJCLEVBQUU7d0JBQ3ZFLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLDJCQUEyQixFQUFFO3FCQUN2RTs4QkFLdUMsR0FBRztzQkFBMUMsS0FBSzt1QkFBQywrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBLQlFfVElUTEVfVEVYVF9SRUYgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvY29yZSc7XG5pbXBvcnQgeyBLYnFEcm9wZG93bkl0ZW0gfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvZHJvcGRvd24nO1xuaW1wb3J0IHsgS2JxSWNvbiB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9pY29uJztcbmltcG9ydCB7IEticUFwcFN3aXRjaGVyQXBwIH0gZnJvbSAnLi9hcHAtc3dpdGNoZXInO1xuXG4vKiogQGRvY3MtcHJpdmF0ZSAqL1xuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ1trYnEtYXBwLXN3aXRjaGVyLWRyb3Bkb3duLWFwcF0nLFxuICAgIGV4cG9ydEFzOiAna2JxQXBwU3dpdGNoZXJEcm9wZG93bkFwcCcsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGkgY2xhc3M9XCJrYnEga2JxLWljb25cIiBbY2xhc3NOYW1lXT1cIlwiPjwvaT5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJrYnEtYXBwLXN3aXRjaGVyLWRyb3Bkb3duLWFwcF9faWNvblwiIFtpbm5lckh0bWxdPVwiZ2V0SWNvbihhcHAuaWNvbilcIj48L3NwYW4+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImticS1hcHAtc3dpdGNoZXItZHJvcGRvd24tYXBwX19jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJrYnEtYXBwLXN3aXRjaGVyLWRyb3Bkb3duLWFwcF9fbmFtZVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7IGFwcC5uYW1lIH19PC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgQGlmIChpc05lc3RlZCkge1xuICAgICAgICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgICAgICAga2JxLWljb249XCJrYnEtY2hldnJvbi1yaWdodC1zXzE2XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwia2JxLWFwcC1zd2l0Y2hlci1kcm9wZG93bi1pdGVtLXRyaWdnZXJfX2ljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cImNvbXBvbmVudENvbG9ycy5Db250cmFzdEZhZGVcIlxuICAgICAgICAgICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgQGlmIChhcHAuY2FwdGlvbikge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJrYnEtYXBwLXN3aXRjaGVyLWRyb3Bkb3duLWFwcF9fY2FwdGlvblwiPnt7IGFwcC5jYXB0aW9uIH19PC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIGAsXG4gICAgc3R5bGVVcmxzOiBbJ2FwcC1zd2l0Y2hlci1kcm9wZG93bi1hcHAuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ticS1hcHAtc3dpdGNoZXItZHJvcGRvd24tYXBwJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtZHJvcGRvd24taXRlbV0nOiAnZmFsc2UnXG4gICAgfSxcbiAgICBpbXBvcnRzOiBbS2JxSWNvbl0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogS0JRX1RJVExFX1RFWFRfUkVGLCB1c2VFeGlzdGluZzogS2JxQXBwU3dpdGNoZXJEcm9wZG93bkFwcCB9LFxuICAgICAgICB7IHByb3ZpZGU6IEticURyb3Bkb3duSXRlbSwgdXNlRXhpc3Rpbmc6IEticUFwcFN3aXRjaGVyRHJvcGRvd25BcHAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgS2JxQXBwU3dpdGNoZXJEcm9wZG93bkFwcCBleHRlbmRzIEticURyb3Bkb3duSXRlbSB7XG4gICAgcHJpdmF0ZSBzYW5pdGl6ZXIgPSBpbmplY3QoRG9tU2FuaXRpemVyKTtcblxuICAgIEBJbnB1dCgna2JxLWFwcC1zd2l0Y2hlci1kcm9wZG93bi1hcHAnKSBhcHA6IEticUFwcFN3aXRjaGVyQXBwO1xuXG4gICAgZ2V0SWNvbihpY29uOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChpY29uIHx8ICcnKTtcbiAgICB9XG59XG4iXX0=
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXN3aXRjaGVyLWRyb3Bkb3duLWFwcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvYXBwLXN3aXRjaGVyL2FwcC1zd2l0Y2hlci1kcm9wZG93bi1hcHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFHeEQsb0JBQW9CO0FBNkNwQixNQUFNLE9BQU8seUJBQTBCLFNBQVEsZUFBZTtJQTVDOUQ7O1FBNkNZLGNBQVMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7S0FPNUM7SUFIRyxPQUFPLENBQUMsSUFBbUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM5RCxDQUFDO2tJQVBRLHlCQUF5QjtzSEFBekIseUJBQXlCLHdQQUx2QjtZQUNQLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSx5QkFBeUIsRUFBRTtZQUN2RSxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLHlCQUF5QixFQUFFO1NBQ3ZFLDBGQXJDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0EwQlQsb21LQTNCUyxhQUFhLDRJQUFFLGdCQUFnQjs7NEZBd0NoQyx5QkFBeUI7a0JBNUNyQyxTQUFTO2lDQUNNLElBQUksWUFDTixpQ0FBaUMsWUFDakMsMkJBQTJCLFdBQzVCLENBQUMsYUFBYSxFQUFFLGdCQUFnQixDQUFDLFlBQ2hDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQTBCVCxtQkFFZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDRixLQUFLLEVBQUUsK0JBQStCO3dCQUN0QywyQkFBMkIsRUFBRSxPQUFPO3FCQUN2QyxhQUNVO3dCQUNQLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFdBQVcsMkJBQTJCLEVBQUU7d0JBQ3ZFLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLDJCQUEyQixFQUFFO3FCQUN2RTs4QkFLdUMsR0FBRztzQkFBMUMsS0FBSzt1QkFBQywrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ09wdGltaXplZEltYWdlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IEtCUV9USVRMRV9URVhUX1JFRiB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9jb3JlJztcbmltcG9ydCB7IEticURyb3Bkb3duSXRlbSB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9kcm9wZG93bic7XG5pbXBvcnQgeyBLYnFJY29uTW9kdWxlIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2ljb24nO1xuaW1wb3J0IHsgS2JxQXBwU3dpdGNoZXJBcHAgfSBmcm9tICcuL2FwcC1zd2l0Y2hlcic7XG5cbi8qKiBAZG9jcy1wcml2YXRlICovXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW2ticS1hcHAtc3dpdGNoZXItZHJvcGRvd24tYXBwXScsXG4gICAgZXhwb3J0QXM6ICdrYnFBcHBTd2l0Y2hlckRyb3Bkb3duQXBwJyxcbiAgICBpbXBvcnRzOiBbS2JxSWNvbk1vZHVsZSwgTmdPcHRpbWl6ZWRJbWFnZV0sXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGkgY2xhc3M9XCJrYnEga2JxLWljb25cIiBbY2xhc3NOYW1lXT1cIlwiPjwvaT5cbiAgICAgICAgQGlmIChhcHAuaWNvbikge1xuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJrYnEtYXBwLXN3aXRjaGVyLWRyb3Bkb3duLWFwcF9faWNvblwiIFtpbm5lckh0bWxdPVwiZ2V0SWNvbihhcHAuaWNvbilcIj48L3NwYW4+XG4gICAgICAgIH0gQGVsc2UgaWYgKGFwcC5pY29uU3JjKSB7XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImticS1hcHAtc3dpdGNoZXItZHJvcGRvd24tYXBwX19pY29uXCI+XG4gICAgICAgICAgICAgICAgPGltZyB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiBhbHQ9XCJ7eyBhcHAudHlwZSB9fVwiIFtuZ1NyY109XCJhcHAuaWNvblNyY1wiIC8+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIH1cblxuICAgICAgICA8ZGl2IGNsYXNzPVwia2JxLWFwcC1zd2l0Y2hlci1kcm9wZG93bi1hcHBfX2NvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImticS1hcHAtc3dpdGNoZXItZHJvcGRvd24tYXBwX19uYW1lXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgYXBwLm5hbWUgfX08L3NwYW4+XG5cbiAgICAgICAgICAgICAgICBAaWYgKGlzTmVzdGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgICAgICAgICBrYnEtaWNvbj1cImticS1jaGV2cm9uLXJpZ2h0LXNfMTZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJrYnEtYXBwLXN3aXRjaGVyLWRyb3Bkb3duLWl0ZW0tdHJpZ2dlcl9faWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY29sb3JdPVwiY29tcG9uZW50Q29sb3JzLkNvbnRyYXN0RmFkZVwiXG4gICAgICAgICAgICAgICAgICAgID48L2k+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBAaWYgKGFwcC5jYXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImticS1hcHAtc3dpdGNoZXItZHJvcGRvd24tYXBwX19jYXB0aW9uXCI+e3sgYXBwLmNhcHRpb24gfX08L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgYCxcbiAgICBzdHlsZVVybHM6IFsnYXBwLXN3aXRjaGVyLWRyb3Bkb3duLWFwcC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAna2JxLWFwcC1zd2l0Y2hlci1kcm9wZG93bi1hcHAnLFxuICAgICAgICAnW2NsYXNzLmticS1kcm9wZG93bi1pdGVtXSc6ICdmYWxzZSdcbiAgICB9LFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IEtCUV9USVRMRV9URVhUX1JFRiwgdXNlRXhpc3Rpbmc6IEticUFwcFN3aXRjaGVyRHJvcGRvd25BcHAgfSxcbiAgICAgICAgeyBwcm92aWRlOiBLYnFEcm9wZG93bkl0ZW0sIHVzZUV4aXN0aW5nOiBLYnFBcHBTd2l0Y2hlckRyb3Bkb3duQXBwIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEticUFwcFN3aXRjaGVyRHJvcGRvd25BcHAgZXh0ZW5kcyBLYnFEcm9wZG93bkl0ZW0ge1xuICAgIHByaXZhdGUgc2FuaXRpemVyID0gaW5qZWN0KERvbVNhbml0aXplcik7XG5cbiAgICBASW5wdXQoJ2ticS1hcHAtc3dpdGNoZXItZHJvcGRvd24tYXBwJykgYXBwOiBLYnFBcHBTd2l0Y2hlckFwcDtcblxuICAgIGdldEljb24oaWNvbjogc3RyaW5nIHwgbnVsbCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoaWNvbiB8fCAnJyk7XG4gICAgfVxufVxuIl19