@fundamental-ngx/core 0.43.10 → 0.43.12

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 (72) hide show
  1. package/date-picker/date-picker.component.d.ts +2 -0
  2. package/datetime-picker/datetime-picker.component.d.ts +2 -0
  3. package/dialog/base/dialog-base.service.d.ts +4 -3
  4. package/dialog/dialog-container/dialog-container.component.d.ts +12 -11
  5. package/dialog/index.d.ts +11 -10
  6. package/dialog/utils/dialog-container.model.d.ts +4 -0
  7. package/esm2020/busy-indicator/busy-indicator.component.mjs +4 -4
  8. package/esm2020/date-picker/date-picker.component.mjs +8 -8
  9. package/esm2020/datetime-picker/datetime-picker.component.mjs +8 -7
  10. package/esm2020/dialog/base/dialog-base.service.mjs +8 -3
  11. package/esm2020/dialog/dialog-container/dialog-container.component.mjs +23 -23
  12. package/esm2020/dialog/index.mjs +12 -11
  13. package/esm2020/dialog/utils/dialog-container.model.mjs +2 -0
  14. package/esm2020/form/form-message/popover-form-message.service.mjs +2 -12
  15. package/esm2020/message-box/message-box-container/message-box-container.component.mjs +23 -24
  16. package/esm2020/multi-input/multi-input.component.mjs +68 -56
  17. package/esm2020/multi-input/pair-selection.model.mjs +38 -0
  18. package/esm2020/popover/popover-body/popover-body.component.mjs +3 -3
  19. package/esm2020/popover/popover-service/popover.service.mjs +9 -2
  20. package/esm2020/time-picker/time-picker.component.mjs +19 -20
  21. package/esm2020/token/token.component.mjs +2 -1
  22. package/esm2020/token/tokenizer.component.mjs +3 -3
  23. package/fesm2015/fundamental-ngx-core-busy-indicator.mjs +3 -3
  24. package/fesm2015/fundamental-ngx-core-busy-indicator.mjs.map +1 -1
  25. package/fesm2015/fundamental-ngx-core-date-picker.mjs +6 -6
  26. package/fesm2015/fundamental-ngx-core-date-picker.mjs.map +1 -1
  27. package/fesm2015/fundamental-ngx-core-datetime-picker.mjs +6 -6
  28. package/fesm2015/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  29. package/fesm2015/fundamental-ngx-core-dialog.mjs +189 -184
  30. package/fesm2015/fundamental-ngx-core-dialog.mjs.map +1 -1
  31. package/fesm2015/fundamental-ngx-core-form.mjs +1 -10
  32. package/fesm2015/fundamental-ngx-core-form.mjs.map +1 -1
  33. package/fesm2015/fundamental-ngx-core-message-box.mjs +20 -20
  34. package/fesm2015/fundamental-ngx-core-message-box.mjs.map +1 -1
  35. package/fesm2015/fundamental-ngx-core-multi-input.mjs +104 -57
  36. package/fesm2015/fundamental-ngx-core-multi-input.mjs.map +1 -1
  37. package/fesm2015/fundamental-ngx-core-popover.mjs +10 -3
  38. package/fesm2015/fundamental-ngx-core-popover.mjs.map +1 -1
  39. package/fesm2015/fundamental-ngx-core-time-picker.mjs +14 -16
  40. package/fesm2015/fundamental-ngx-core-time-picker.mjs.map +1 -1
  41. package/fesm2015/fundamental-ngx-core-token.mjs +3 -2
  42. package/fesm2015/fundamental-ngx-core-token.mjs.map +1 -1
  43. package/fesm2020/fundamental-ngx-core-busy-indicator.mjs +3 -3
  44. package/fesm2020/fundamental-ngx-core-busy-indicator.mjs.map +1 -1
  45. package/fesm2020/fundamental-ngx-core-date-picker.mjs +6 -6
  46. package/fesm2020/fundamental-ngx-core-date-picker.mjs.map +1 -1
  47. package/fesm2020/fundamental-ngx-core-datetime-picker.mjs +6 -5
  48. package/fesm2020/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  49. package/fesm2020/fundamental-ngx-core-dialog.mjs +188 -183
  50. package/fesm2020/fundamental-ngx-core-dialog.mjs.map +1 -1
  51. package/fesm2020/fundamental-ngx-core-form.mjs +1 -10
  52. package/fesm2020/fundamental-ngx-core-form.mjs.map +1 -1
  53. package/fesm2020/fundamental-ngx-core-message-box.mjs +20 -20
  54. package/fesm2020/fundamental-ngx-core-message-box.mjs.map +1 -1
  55. package/fesm2020/fundamental-ngx-core-multi-input.mjs +104 -55
  56. package/fesm2020/fundamental-ngx-core-multi-input.mjs.map +1 -1
  57. package/fesm2020/fundamental-ngx-core-popover.mjs +10 -3
  58. package/fesm2020/fundamental-ngx-core-popover.mjs.map +1 -1
  59. package/fesm2020/fundamental-ngx-core-time-picker.mjs +15 -16
  60. package/fesm2020/fundamental-ngx-core-time-picker.mjs.map +1 -1
  61. package/fesm2020/fundamental-ngx-core-token.mjs +3 -2
  62. package/fesm2020/fundamental-ngx-core-token.mjs.map +1 -1
  63. package/form/form-message/popover-form-message.service.d.ts +3 -7
  64. package/fundamental-ngx-core-v0.43.12.tgz +0 -0
  65. package/message-box/message-box-container/message-box-container.component.d.ts +12 -13
  66. package/multi-input/multi-input.component.d.ts +26 -21
  67. package/multi-input/pair-selection.model.d.ts +19 -0
  68. package/package.json +3 -3
  69. package/popover/popover-service/popover.service.d.ts +1 -1
  70. package/schematics/add-dependencies/index.js +4 -4
  71. package/time-picker/time-picker.component.d.ts +17 -15
  72. package/fundamental-ngx-core-v0.43.10.tgz +0 -0
@@ -193,6 +193,8 @@ export declare class DatePickerComponent<D> implements OnInit, OnDestroy, AfterV
193
193
  _inputGroupElement: ElementRef;
194
194
  /** @hidden */
195
195
  _inputElement: ElementRef<HTMLInputElement>;
196
+ /** @hidden */
197
+ private readonly _messagePopoverTemplate;
196
198
  /** @hidden The value of the input */
197
199
  _inputFieldDate: string | null;
198
200
  /** @hidden Whether the date input is invalid */
@@ -197,6 +197,8 @@ export declare class DatetimePickerComponent<D> implements OnInit, OnDestroy, On
197
197
  _inputGroupElement: ElementRef;
198
198
  /** @hidden */
199
199
  _inputElement: ElementRef<HTMLInputElement>;
200
+ /** @hidden */
201
+ private readonly _formMessageTemplate;
200
202
  /**
201
203
  * @hidden
202
204
  * Date of the input field. Internal use.
@@ -1,11 +1,13 @@
1
1
  import { ComponentRef, OnDestroy } from '@angular/core';
2
2
  import { Subject } from 'rxjs';
3
3
  import { DialogConfig } from '../utils/dialog-config.class';
4
+ import { DialogContainer } from '../utils/dialog-container.model';
4
5
  import { DialogConfigBase } from './dialog-config-base.class';
5
6
  import { DialogRefBase } from './dialog-ref-base.class';
6
7
  import * as i0 from "@angular/core";
7
8
  /** Service used to dynamically generate a dialog. */
8
- export declare abstract class DialogBaseService<T> implements OnDestroy {
9
+ export declare abstract class DialogBaseService<T extends DialogContainer<any>> implements OnDestroy {
10
+ abstract open<D>(content: unknown, config: DialogConfigBase<D>): DialogRefBase<D>;
9
11
  /** @hidden Collection of existing dialog references */
10
12
  protected _dialogs: ComponentRef<T>[];
11
13
  /** @hidden */
@@ -16,10 +18,9 @@ export declare abstract class DialogBaseService<T> implements OnDestroy {
16
18
  */
17
19
  hasOpenDialogs(): boolean;
18
20
  /** Dismisses all currently open dialogs. */
19
- dismissAll(): void;
21
+ dismissAll(reason?: any): void;
20
22
  /** @hidden */
21
23
  ngOnDestroy(): void;
22
- abstract open<D>(content: unknown, config: DialogConfigBase<D>): DialogRefBase<D>;
23
24
  /** @hidden Extends configuration using default values*/
24
25
  protected _applyDefaultConfig(config: DialogConfig, defaultConfig: DialogConfig): DialogConfig;
25
26
  /** @hidden Destroy existing dialog */
@@ -1,15 +1,16 @@
1
- import { AfterContentChecked, AfterViewInit, ChangeDetectorRef, ElementRef, Injector } from '@angular/core';
2
1
  import { AnimationEvent } from '@angular/animations';
2
+ import { AfterContentChecked, AfterViewInit, ChangeDetectorRef, ElementRef, Injector } from '@angular/core';
3
3
  import { CssClassBuilder, DestroyedService, DynamicComponentContainer } from '@fundamental-ngx/cdk/utils';
4
- import { DialogRef } from '../utils/dialog-ref.class';
5
- import { DialogConfig } from '../utils/dialog-config.class';
6
- import { DialogContentType } from '../dialog.types';
7
4
  import { CdkPortalOutlet, CdkPortalOutletAttachedRef } from '@angular/cdk/portal';
5
+ import { DialogContentType } from '../dialog.types';
6
+ import { DialogConfig } from '../utils/dialog-config.class';
7
+ import { DialogContainer } from '../utils/dialog-container.model';
8
+ import { DialogRef } from '../utils/dialog-ref.class';
8
9
  import * as i0 from "@angular/core";
9
10
  /** Dialog container where the dialog content is embedded. */
10
- export declare class DialogContainerComponent extends DynamicComponentContainer<DialogContentType> implements AfterViewInit, AfterContentChecked, CssClassBuilder {
11
+ export declare class DialogContainerComponent extends DynamicComponentContainer<DialogContentType> implements DialogContainer<any>, AfterViewInit, AfterContentChecked, CssClassBuilder {
11
12
  dialogConfig: DialogConfig;
12
- private _dialogRef;
13
+ ref: DialogRef;
13
14
  private _destroy$;
14
15
  /** Custom classes */
15
16
  set class(userClass: string);
@@ -20,14 +21,16 @@ export declare class DialogContainerComponent extends DynamicComponentContainer<
20
21
  /** @hidden */
21
22
  private _class;
22
23
  /** @hidden */
23
- constructor(dialogConfig: DialogConfig, _dialogRef: DialogRef, _destroy$: DestroyedService, elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, injector: Injector);
24
+ constructor(dialogConfig: DialogConfig, ref: DialogRef, _destroy$: DestroyedService, elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, injector: Injector);
25
+ /** @hidden */
26
+ buildComponentCssClass(): string[];
27
+ /** Handle end of animations, updating the state of the Message Toast. */
28
+ onAnimationEnd(event: AnimationEvent): void;
24
29
  /** @hidden */
25
30
  ngAfterViewInit(): void;
26
31
  /** @hidden */
27
32
  ngAfterContentChecked(): void;
28
33
  /** @hidden */
29
- buildComponentCssClass(): string[];
30
- /** @hidden */
31
34
  protected _attached(event: CdkPortalOutletAttachedRef): void;
32
35
  /** @hidden Load received content */
33
36
  protected _loadContent(): void;
@@ -35,8 +38,6 @@ export declare class DialogContainerComponent extends DynamicComponentContainer<
35
38
  private _templateContext;
36
39
  /** @hidden Load Dialog component from passed object */
37
40
  private _createFromDefaultDialog;
38
- /** Handle end of animations, updating the state of the Message Toast. */
39
- onAnimationEnd(event: AnimationEvent): void;
40
41
  /**
41
42
  * @hidden
42
43
  * We need to wait until animation plays, and then send signal to the service to destroy the component.
package/dialog/index.d.ts CHANGED
@@ -1,19 +1,19 @@
1
- export * from './dialog.module';
2
- export * from './dialog.component';
3
- export * from './dialog-service/dialog.service';
4
1
  export * from './dialog-body/dialog-body.component';
5
- export * from './dialog-header/dialog-header.component';
6
- export * from './dialog-footer/dialog-footer.component';
7
2
  export * from './dialog-close-button/dialog-close-button.component';
8
3
  export * from './dialog-footer-button/dialog-footer-button.component';
4
+ export * from './dialog-footer/dialog-footer.component';
5
+ export * from './dialog-header/dialog-header.component';
6
+ export * from './dialog-service/dialog.service';
7
+ export * from './dialog.component';
8
+ export * from './dialog.module';
9
9
  export * from './directives/dialog-decisive-button.directive';
10
10
  export * from './directives/dialog-title.directive';
11
- export * from './utils/dialog-ref.class';
11
+ export * from './dialog-container/dialog-container.component';
12
+ export * from './dialog-default/dialog-default.component';
12
13
  export * from './utils/dialog-config.class';
13
- export * from './utils/dialog-position.class';
14
14
  export * from './utils/dialog-default-content.class';
15
- export * from './dialog-default/dialog-default.component';
16
- export * from './dialog-container/dialog-container.component';
15
+ export * from './utils/dialog-position.class';
16
+ export * from './utils/dialog-ref.class';
17
17
  export * from './base/dialog-base.class';
18
18
  export * from './base/dialog-base.service';
19
19
  export * from './base/dialog-config-base.class';
@@ -21,7 +21,8 @@ export * from './base/dialog-content-base.class';
21
21
  export * from './base/dialog-footer-base.class';
22
22
  export * from './base/dialog-header-base.class';
23
23
  export * from './base/dialog-ref-base.class';
24
+ export * from './utils/dialog-container.model';
24
25
  export * from './utils/dialog.animations';
25
26
  export * from './dialog.types';
26
- export * from './utils/dialog-overlay.container';
27
27
  export * from './tokens';
28
+ export * from './utils/dialog-overlay.container';
@@ -0,0 +1,4 @@
1
+ import { DialogRefBase } from '../base/dialog-ref-base.class';
2
+ export interface DialogContainer<T> {
3
+ ref: DialogRefBase<T>;
4
+ }
@@ -13,7 +13,7 @@ export class BusyIndicatorComponent {
13
13
  /** Whether to use loader as block element */
14
14
  this.block = false;
15
15
  /** Aria live attribute value. */
16
- this.ariaLive = 'polite';
16
+ this.ariaLive = null;
17
17
  }
18
18
  /** @hidden If focus escapes busy container focus element after wrapped content */
19
19
  hostFocusChangeHandler(event) {
@@ -36,7 +36,7 @@ BusyIndicatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
36
36
  provide: FD_BUSY_INDICATOR_COMPONENT,
37
37
  useExisting: BusyIndicatorComponent
38
38
  }
39
- ], viewQueries: [{ propertyName: "fakeFocusElement", first: true, predicate: ["fakeFocusElement"], descendants: true }], ngImport: i0, template: "<ng-content></ng-content>\n\n<ng-container *ngIf=\"loading\">\n <div\n #busyIndicator\n class=\"fd-busy-indicator\"\n [class.fd-busy-indicator--l]=\"size === 'l'\"\n [class.fd-busy-indicator--m]=\"size === 'm'\"\n [class.fd-busy-indicator--s]=\"size === 's'\"\n [class.fd-busy-indicator--absolute]=\"busyIndicator?.previousElementSibling\"\n >\n <div class=\"fd-busy-indicator__circle\"></div>\n <div class=\"fd-busy-indicator__circle\"></div>\n <div class=\"fd-busy-indicator__circle\"></div>\n </div>\n\n <span *ngIf=\"label\" class=\"fd-busy-indicator-extended__label\">{{ label }}</span>\n\n <div\n class=\"fd-busy-indicator__overlay\"\n [class.fd-busy-indicator__overlay--transparent]=\"!busyIndicator?.previousElementSibling\"\n ></div>\n\n <div #fakeFocusElement tabindex=\"0\" aria-hidden=\"true\" (focusin)=\"fakeElementFocusHandler($event)\"></div>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.28.3\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-busy-indicator{--Dot_Color:var(--fdBusy_Indicator_Dot_Color);--Dot_Size:.5rem;-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--Dot_Color);display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:0;font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative;text-align:center}.fd-busy-indicator--contrast{--Dot_Color:var(--fdBusy_Indicator_Dot_Contrast_Color)}.fd-busy-indicator--m{--Dot_Size:1rem}.fd-busy-indicator--l{--Dot_Size:2rem}.fd-busy-indicator:after,.fd-busy-indicator:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator-extended{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:flex;flex-direction:column;justify-content:center}.fd-busy-indicator-extended.fd-busy-indicator-extended--message-toast{-webkit-box-shadow:var(--sapContent_Shadow2);background-color:var(--sapPageFooter_Background);box-shadow:var(--sapContent_Shadow2);max-width:23.125rem;text-shadow:var(--sapContent_TextShadow);width:23.125rem}.fd-busy-indicator-extended__label{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapPageFooter_TextColor);display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:1rem 0 0;padding:0;text-align:center}.fd-busy-indicator-extended__label:after,.fd-busy-indicator-extended__label:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator__circle{-webkit-box-sizing:border-box;animation:grow 1.6s cubic-bezier(.32,.06,.85,1.11) infinite;background-color:currentColor;border:0;border-radius:50%;box-sizing:border-box;color:var(--sapTextColor);color:var(--Dot_Color);display:inline-block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--Dot_Size);line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative;width:var(--Dot_Size)}.fd-busy-indicator__circle:after,.fd-busy-indicator__circle:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator__circle:nth-child(2){animation-delay:.2s}.fd-busy-indicator__circle:nth-child(3){animation-delay:.4s}@keyframes grow{0%,50%,to{transform:scale(.5)}25%{transform:scale(1)}}.fd-busy-indicator{z-index:2}.fd-busy-indicator--absolute{white-space:nowrap;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.fd-busy-indicator__container{display:block;position:relative}.fd-busy-indicator__container:focus{outline-width:var(--sapContent_FocusWidth, .0625rem);outline-color:var(--sapContent_FocusColor, #000);outline-style:var(--sapContent_FocusStyle, dotted)}.fd-busy-indicator__container[tabindex=\"-1\"]{outline:none}.fd-busy-indicator__container--inline{display:inline-block}.fd-busy-indicator__overlay{position:absolute;inset:0;z-index:1;background-color:var(--sapBaseColor);opacity:.72}.fd-busy-indicator__overlay--transparent{background-color:transparent}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
39
+ ], viewQueries: [{ propertyName: "fakeFocusElement", first: true, predicate: ["fakeFocusElement"], descendants: true }], ngImport: i0, template: "<ng-content></ng-content>\n\n<ng-container *ngIf=\"loading\">\n <div\n #busyIndicator\n class=\"fd-busy-indicator\"\n [class.fd-busy-indicator--l]=\"size === 'l'\"\n [class.fd-busy-indicator--m]=\"size === 'm'\"\n [class.fd-busy-indicator--s]=\"size === 's'\"\n >\n <div class=\"fd-busy-indicator__circle\"></div>\n <div class=\"fd-busy-indicator__circle\"></div>\n <div class=\"fd-busy-indicator__circle\"></div>\n </div>\n\n <span *ngIf=\"label\" class=\"fd-busy-indicator-extended__label\">{{ label }}</span>\n\n <div class=\"fd-busy-indicator__overlay\"></div>\n\n <div #fakeFocusElement tabindex=\"0\" aria-hidden=\"true\" (focusin)=\"fakeElementFocusHandler($event)\"></div>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.28.3\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-busy-indicator{--Dot_Color:var(--fdBusy_Indicator_Dot_Color);--Dot_Size:.5rem;-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--Dot_Color);display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:0;font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative;text-align:center}.fd-busy-indicator--contrast{--Dot_Color:var(--fdBusy_Indicator_Dot_Contrast_Color)}.fd-busy-indicator--m{--Dot_Size:1rem}.fd-busy-indicator--l{--Dot_Size:2rem}.fd-busy-indicator:after,.fd-busy-indicator:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator-extended{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:flex;flex-direction:column;justify-content:center}.fd-busy-indicator-extended.fd-busy-indicator-extended--message-toast{-webkit-box-shadow:var(--sapContent_Shadow2);background-color:var(--sapPageFooter_Background);box-shadow:var(--sapContent_Shadow2);max-width:23.125rem;text-shadow:var(--sapContent_TextShadow);width:23.125rem}.fd-busy-indicator-extended__label{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapPageFooter_TextColor);display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:1rem 0 0;padding:0;text-align:center}.fd-busy-indicator-extended__label:after,.fd-busy-indicator-extended__label:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator__circle{-webkit-box-sizing:border-box;animation:grow 1.6s cubic-bezier(.32,.06,.85,1.11) infinite;background-color:currentColor;border:0;border-radius:50%;box-sizing:border-box;color:var(--sapTextColor);color:var(--Dot_Color);display:inline-block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--Dot_Size);line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative;width:var(--Dot_Size)}.fd-busy-indicator__circle:after,.fd-busy-indicator__circle:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator__circle:nth-child(2){animation-delay:.2s}.fd-busy-indicator__circle:nth-child(3){animation-delay:.4s}@keyframes grow{0%,50%,to{transform:scale(.5)}25%{transform:scale(1)}}*+.fd-busy-indicator,*+.fd-busy-indicator+.fd-busy-indicator-extended__label{white-space:nowrap;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}*+.fd-busy-indicator+.fd-busy-indicator-extended__label{z-index:2;transform:translate(-50%,50%)!important}.fd-busy-indicator:first-child~.fd-busy-indicator__overlay{background-color:transparent}.fd-busy-indicator{z-index:2}.fd-busy-indicator__container{display:block;position:relative}.fd-busy-indicator__container:focus{outline-width:var(--sapContent_FocusWidth, .0625rem);outline-color:var(--sapContent_FocusColor, #000);outline-style:var(--sapContent_FocusStyle, dotted)}.fd-busy-indicator__container[tabindex=\"-1\"]{outline:none}.fd-busy-indicator__container--inline{display:inline-block}.fd-busy-indicator__overlay{position:absolute;inset:0;z-index:1;background-color:var(--sapBaseColor);opacity:.72}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
40
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BusyIndicatorComponent, decorators: [{
41
41
  type: Component,
42
42
  args: [{ selector: 'fd-busy-indicator', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
@@ -53,7 +53,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
53
53
  '[attr.title]': 'title',
54
54
  '[class.fd-busy-indicator__container]': 'true',
55
55
  '[class.fd-busy-indicator__container--inline]': '!block'
56
- }, template: "<ng-content></ng-content>\n\n<ng-container *ngIf=\"loading\">\n <div\n #busyIndicator\n class=\"fd-busy-indicator\"\n [class.fd-busy-indicator--l]=\"size === 'l'\"\n [class.fd-busy-indicator--m]=\"size === 'm'\"\n [class.fd-busy-indicator--s]=\"size === 's'\"\n [class.fd-busy-indicator--absolute]=\"busyIndicator?.previousElementSibling\"\n >\n <div class=\"fd-busy-indicator__circle\"></div>\n <div class=\"fd-busy-indicator__circle\"></div>\n <div class=\"fd-busy-indicator__circle\"></div>\n </div>\n\n <span *ngIf=\"label\" class=\"fd-busy-indicator-extended__label\">{{ label }}</span>\n\n <div\n class=\"fd-busy-indicator__overlay\"\n [class.fd-busy-indicator__overlay--transparent]=\"!busyIndicator?.previousElementSibling\"\n ></div>\n\n <div #fakeFocusElement tabindex=\"0\" aria-hidden=\"true\" (focusin)=\"fakeElementFocusHandler($event)\"></div>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.28.3\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-busy-indicator{--Dot_Color:var(--fdBusy_Indicator_Dot_Color);--Dot_Size:.5rem;-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--Dot_Color);display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:0;font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative;text-align:center}.fd-busy-indicator--contrast{--Dot_Color:var(--fdBusy_Indicator_Dot_Contrast_Color)}.fd-busy-indicator--m{--Dot_Size:1rem}.fd-busy-indicator--l{--Dot_Size:2rem}.fd-busy-indicator:after,.fd-busy-indicator:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator-extended{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:flex;flex-direction:column;justify-content:center}.fd-busy-indicator-extended.fd-busy-indicator-extended--message-toast{-webkit-box-shadow:var(--sapContent_Shadow2);background-color:var(--sapPageFooter_Background);box-shadow:var(--sapContent_Shadow2);max-width:23.125rem;text-shadow:var(--sapContent_TextShadow);width:23.125rem}.fd-busy-indicator-extended__label{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapPageFooter_TextColor);display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:1rem 0 0;padding:0;text-align:center}.fd-busy-indicator-extended__label:after,.fd-busy-indicator-extended__label:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator__circle{-webkit-box-sizing:border-box;animation:grow 1.6s cubic-bezier(.32,.06,.85,1.11) infinite;background-color:currentColor;border:0;border-radius:50%;box-sizing:border-box;color:var(--sapTextColor);color:var(--Dot_Color);display:inline-block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--Dot_Size);line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative;width:var(--Dot_Size)}.fd-busy-indicator__circle:after,.fd-busy-indicator__circle:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator__circle:nth-child(2){animation-delay:.2s}.fd-busy-indicator__circle:nth-child(3){animation-delay:.4s}@keyframes grow{0%,50%,to{transform:scale(.5)}25%{transform:scale(1)}}.fd-busy-indicator{z-index:2}.fd-busy-indicator--absolute{white-space:nowrap;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.fd-busy-indicator__container{display:block;position:relative}.fd-busy-indicator__container:focus{outline-width:var(--sapContent_FocusWidth, .0625rem);outline-color:var(--sapContent_FocusColor, #000);outline-style:var(--sapContent_FocusStyle, dotted)}.fd-busy-indicator__container[tabindex=\"-1\"]{outline:none}.fd-busy-indicator__container--inline{display:inline-block}.fd-busy-indicator__overlay{position:absolute;inset:0;z-index:1;background-color:var(--sapBaseColor);opacity:.72}.fd-busy-indicator__overlay--transparent{background-color:transparent}\n"] }]
56
+ }, template: "<ng-content></ng-content>\n\n<ng-container *ngIf=\"loading\">\n <div\n #busyIndicator\n class=\"fd-busy-indicator\"\n [class.fd-busy-indicator--l]=\"size === 'l'\"\n [class.fd-busy-indicator--m]=\"size === 'm'\"\n [class.fd-busy-indicator--s]=\"size === 's'\"\n >\n <div class=\"fd-busy-indicator__circle\"></div>\n <div class=\"fd-busy-indicator__circle\"></div>\n <div class=\"fd-busy-indicator__circle\"></div>\n </div>\n\n <span *ngIf=\"label\" class=\"fd-busy-indicator-extended__label\">{{ label }}</span>\n\n <div class=\"fd-busy-indicator__overlay\"></div>\n\n <div #fakeFocusElement tabindex=\"0\" aria-hidden=\"true\" (focusin)=\"fakeElementFocusHandler($event)\"></div>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.28.3\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-busy-indicator{--Dot_Color:var(--fdBusy_Indicator_Dot_Color);--Dot_Size:.5rem;-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--Dot_Color);display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:0;font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative;text-align:center}.fd-busy-indicator--contrast{--Dot_Color:var(--fdBusy_Indicator_Dot_Contrast_Color)}.fd-busy-indicator--m{--Dot_Size:1rem}.fd-busy-indicator--l{--Dot_Size:2rem}.fd-busy-indicator:after,.fd-busy-indicator:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator-extended{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:flex;flex-direction:column;justify-content:center}.fd-busy-indicator-extended.fd-busy-indicator-extended--message-toast{-webkit-box-shadow:var(--sapContent_Shadow2);background-color:var(--sapPageFooter_Background);box-shadow:var(--sapContent_Shadow2);max-width:23.125rem;text-shadow:var(--sapContent_TextShadow);width:23.125rem}.fd-busy-indicator-extended__label{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapPageFooter_TextColor);display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:1rem 0 0;padding:0;text-align:center}.fd-busy-indicator-extended__label:after,.fd-busy-indicator-extended__label:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator__circle{-webkit-box-sizing:border-box;animation:grow 1.6s cubic-bezier(.32,.06,.85,1.11) infinite;background-color:currentColor;border:0;border-radius:50%;box-sizing:border-box;color:var(--sapTextColor);color:var(--Dot_Color);display:inline-block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--Dot_Size);line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative;width:var(--Dot_Size)}.fd-busy-indicator__circle:after,.fd-busy-indicator__circle:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator__circle:nth-child(2){animation-delay:.2s}.fd-busy-indicator__circle:nth-child(3){animation-delay:.4s}@keyframes grow{0%,50%,to{transform:scale(.5)}25%{transform:scale(1)}}*+.fd-busy-indicator,*+.fd-busy-indicator+.fd-busy-indicator-extended__label{white-space:nowrap;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}*+.fd-busy-indicator+.fd-busy-indicator-extended__label{z-index:2;transform:translate(-50%,50%)!important}.fd-busy-indicator:first-child~.fd-busy-indicator__overlay{background-color:transparent}.fd-busy-indicator{z-index:2}.fd-busy-indicator__container{display:block;position:relative}.fd-busy-indicator__container:focus{outline-width:var(--sapContent_FocusWidth, .0625rem);outline-color:var(--sapContent_FocusColor, #000);outline-style:var(--sapContent_FocusStyle, dotted)}.fd-busy-indicator__container[tabindex=\"-1\"]{outline:none}.fd-busy-indicator__container--inline{display:inline-block}.fd-busy-indicator__overlay{position:absolute;inset:0;z-index:1;background-color:var(--sapBaseColor);opacity:.72}\n"] }]
57
57
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { loading: [{
58
58
  type: Input
59
59
  }], size: [{
@@ -75,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
75
75
  type: HostListener,
76
76
  args: ['keydown', ['$event']]
77
77
  }] } });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzeS1pbmRpY2F0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvYnVzeS1pbmRpY2F0b3IvYnVzeS1pbmRpY2F0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvYnVzeS1pbmRpY2F0b3IvYnVzeS1pbmRpY2F0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFckQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7O0FBMkJ2RCxNQUFNLE9BQU8sc0JBQXNCO0lBaUMvQixjQUFjO0lBQ2QsWUFBb0IsV0FBdUI7UUFBdkIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUE3QjNDLGdFQUFnRTtRQUVoRSxTQUFJLEdBQXNCLEdBQUcsQ0FBQztRQUU5Qiw2Q0FBNkM7UUFFN0MsVUFBSyxHQUFHLEtBQUssQ0FBQztRQWNkLGlDQUFpQztRQUVqQyxhQUFRLEdBQTZDLFFBQVEsQ0FBQztJQU9oQixDQUFDO0lBRS9DLGtGQUFrRjtJQUVsRixzQkFBc0IsQ0FBQyxLQUFvQjtRQUN2QyxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ2xFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDL0M7SUFDTCxDQUFDO0lBRUQ7dUVBQ21FO0lBQ25FLHVCQUF1QixDQUFDLEtBQWlCO1FBQ3JDLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsYUFBYSxLQUFLLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFO1lBQ3hFLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUMxQztJQUNMLENBQUM7O21IQW5EUSxzQkFBc0I7dUdBQXRCLHNCQUFzQixva0JBakJwQjtRQUNQO1lBQ0ksT0FBTyxFQUFFLDJCQUEyQjtZQUNwQyxXQUFXLEVBQUUsc0JBQXNCO1NBQ3RDO0tBQ0osZ0pDM0JMLGk5QkF5QkE7MkZEY2Esc0JBQXNCO2tCQXZCbEMsU0FBUzsrQkFDSSxtQkFBbUIsaUJBR2QsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsMkJBQTJCOzRCQUNwQyxXQUFXLHdCQUF3Qjt5QkFDdEM7cUJBQ0osUUFDSzt3QkFDRixhQUFhLEVBQUUsMENBQTBDO3dCQUN6RCxpQkFBaUIsRUFBRSxrQkFBa0I7d0JBQ3JDLGtCQUFrQixFQUFFLFNBQVM7d0JBQzdCLGtCQUFrQixFQUFFLFVBQVU7d0JBQzlCLG1CQUFtQixFQUFFLFdBQVc7d0JBQ2hDLGNBQWMsRUFBRSxPQUFPO3dCQUN2QixzQ0FBc0MsRUFBRSxNQUFNO3dCQUM5Qyw4Q0FBOEMsRUFBRSxRQUFRO3FCQUMzRDtpR0FLRCxPQUFPO3NCQUROLEtBQUs7Z0JBS04sSUFBSTtzQkFESCxLQUFLO2dCQUtOLEtBQUs7c0JBREosS0FBSztnQkFLTixTQUFTO3NCQURSLEtBQUs7Z0JBS04sS0FBSztzQkFESixLQUFLO2dCQUtOLEtBQUs7c0JBREosS0FBSztnQkFLTixRQUFRO3NCQURQLEtBQUs7Z0JBS04sZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMsa0JBQWtCO2dCQVE3QixzQkFBc0I7c0JBRHJCLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS2V5VXRpbCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgVEFCIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IEZEX0JVU1lfSU5ESUNBVE9SX0NPTVBPTkVOVCB9IGZyb20gJy4vdG9rZW5zJztcblxuZXhwb3J0IHR5cGUgQnVzeUluZGljYXRvclNpemUgPSAncycgfCAnbScgfCAnbCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtYnVzeS1pbmRpY2F0b3InLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9idXN5LWluZGljYXRvci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYnVzeS1pbmRpY2F0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGRF9CVVNZX0lORElDQVRPUl9DT01QT05FTlQsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogQnVzeUluZGljYXRvckNvbXBvbmVudFxuICAgICAgICB9XG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5yb2xlXSc6IFwibG9hZGluZyA/ICdwcm9ncmVzc2JhcicgOiAncHJlc2VudGF0aW9uJ1wiLFxuICAgICAgICAnW2F0dHIudGFiaW5kZXhdJzogJ2xvYWRpbmcgPyAwIDogLTEnLFxuICAgICAgICAnW2F0dHIuYXJpYS1idXN5XSc6ICdsb2FkaW5nJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtbGl2ZV0nOiAnYXJpYUxpdmUnLFxuICAgICAgICAnW2F0dHIuYXJpYS1sYWJlbF0nOiAnYXJpYUxhYmVsJyxcbiAgICAgICAgJ1thdHRyLnRpdGxlXSc6ICd0aXRsZScsXG4gICAgICAgICdbY2xhc3MuZmQtYnVzeS1pbmRpY2F0b3JfX2NvbnRhaW5lcl0nOiAndHJ1ZScsXG4gICAgICAgICdbY2xhc3MuZmQtYnVzeS1pbmRpY2F0b3JfX2NvbnRhaW5lci0taW5saW5lXSc6ICchYmxvY2snXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBCdXN5SW5kaWNhdG9yQ29tcG9uZW50IHtcbiAgICAvKiogV2hldGhlciB0byBkaXNwbGF5IHRoZSBsb2FkaW5nIGluZGljYXRvciBhbmltYXRpb24uICovXG4gICAgQElucHV0KClcbiAgICBsb2FkaW5nOiBib29sZWFuO1xuXG4gICAgLyoqIFRoZSBzaXplIG9mIHRoZSBsb2FkaW5nIGluZGljYXRvciwgZGVmYXVsdCB3aWxsIGJlIG1lZGl1bSAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2l6ZTogQnVzeUluZGljYXRvclNpemUgPSAnbSc7XG5cbiAgICAvKiogV2hldGhlciB0byB1c2UgbG9hZGVyIGFzIGJsb2NrIGVsZW1lbnQgKi9cbiAgICBASW5wdXQoKVxuICAgIGJsb2NrID0gZmFsc2U7XG5cbiAgICAvKiogQXJpYSBsYWJlbCBhdHRyaWJ1dGUgdmFsdWUuICovXG4gICAgQElucHV0KClcbiAgICBhcmlhTGFiZWw6IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICAvKiogdGl0bGUgYXR0cmlidXRlIHZhbHVlIGZvciB0b29sdGlwLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgdGl0bGU6IHN0cmluZztcblxuICAgIC8qKiBhZGQgbG9hZGluZyBsYWJlbCB2YWx1ZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgbGFiZWw6IHN0cmluZztcblxuICAgIC8qKiBBcmlhIGxpdmUgYXR0cmlidXRlIHZhbHVlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXJpYUxpdmU6IE51bGxhYmxlPCdhc3NlcnRpdmUnIHwgJ3BvbGl0ZScgfCAnb2ZmJz4gPSAncG9saXRlJztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZCgnZmFrZUZvY3VzRWxlbWVudCcpXG4gICAgZmFrZUZvY3VzRWxlbWVudDogRWxlbWVudFJlZjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZikge31cblxuICAgIC8qKiBAaGlkZGVuIElmIGZvY3VzIGVzY2FwZXMgYnVzeSBjb250YWluZXIgZm9jdXMgZWxlbWVudCBhZnRlciB3cmFwcGVkIGNvbnRlbnQgKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgICBob3N0Rm9jdXNDaGFuZ2VIYW5kbGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmxvYWRpbmcgJiYgS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFRBQikgJiYgIWV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICB0aGlzLmZha2VGb2N1c0VsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gSWYgYnVzeSBjb250YWluZXIgaXMgbmF2aWdhdGVkIGFzIFwicHJldmlvdXMgZm9jdXNhYmxlIGVsZW1lbnRcIixcbiAgICAgKiBmb2N1cyBidXN5IGluZGljYXRvciB0byBwcmV2ZW50IGZyb20gZm9jdXNpbmcgd3JhcHBlZCBjb250ZW50ICovXG4gICAgZmFrZUVsZW1lbnRGb2N1c0hhbmRsZXIoZXZlbnQ6IEZvY3VzRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubG9hZGluZyAmJiBldmVudC5yZWxhdGVkVGFyZ2V0ICE9PSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nXCI+XG4gICAgPGRpdlxuICAgICAgICAjYnVzeUluZGljYXRvclxuICAgICAgICBjbGFzcz1cImZkLWJ1c3ktaW5kaWNhdG9yXCJcbiAgICAgICAgW2NsYXNzLmZkLWJ1c3ktaW5kaWNhdG9yLS1sXT1cInNpemUgPT09ICdsJ1wiXG4gICAgICAgIFtjbGFzcy5mZC1idXN5LWluZGljYXRvci0tbV09XCJzaXplID09PSAnbSdcIlxuICAgICAgICBbY2xhc3MuZmQtYnVzeS1pbmRpY2F0b3ItLXNdPVwic2l6ZSA9PT0gJ3MnXCJcbiAgICAgICAgW2NsYXNzLmZkLWJ1c3ktaW5kaWNhdG9yLS1hYnNvbHV0ZV09XCJidXN5SW5kaWNhdG9yPy5wcmV2aW91c0VsZW1lbnRTaWJsaW5nXCJcbiAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmZC1idXN5LWluZGljYXRvcl9fY2lyY2xlXCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmZC1idXN5LWluZGljYXRvcl9fY2lyY2xlXCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmZC1idXN5LWluZGljYXRvcl9fY2lyY2xlXCI+PC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8c3BhbiAqbmdJZj1cImxhYmVsXCIgY2xhc3M9XCJmZC1idXN5LWluZGljYXRvci1leHRlbmRlZF9fbGFiZWxcIj57eyBsYWJlbCB9fTwvc3Bhbj5cblxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJmZC1idXN5LWluZGljYXRvcl9fb3ZlcmxheVwiXG4gICAgICAgIFtjbGFzcy5mZC1idXN5LWluZGljYXRvcl9fb3ZlcmxheS0tdHJhbnNwYXJlbnRdPVwiIWJ1c3lJbmRpY2F0b3I/LnByZXZpb3VzRWxlbWVudFNpYmxpbmdcIlxuICAgID48L2Rpdj5cblxuICAgIDxkaXYgI2Zha2VGb2N1c0VsZW1lbnQgdGFiaW5kZXg9XCIwXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgKGZvY3VzaW4pPVwiZmFrZUVsZW1lbnRGb2N1c0hhbmRsZXIoJGV2ZW50KVwiPjwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzeS1pbmRpY2F0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvYnVzeS1pbmRpY2F0b3IvYnVzeS1pbmRpY2F0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvYnVzeS1pbmRpY2F0b3IvYnVzeS1pbmRpY2F0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFckQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7O0FBMkJ2RCxNQUFNLE9BQU8sc0JBQXNCO0lBaUMvQixjQUFjO0lBQ2QsWUFBb0IsV0FBdUI7UUFBdkIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUE3QjNDLGdFQUFnRTtRQUVoRSxTQUFJLEdBQXNCLEdBQUcsQ0FBQztRQUU5Qiw2Q0FBNkM7UUFFN0MsVUFBSyxHQUFHLEtBQUssQ0FBQztRQWNkLGlDQUFpQztRQUVqQyxhQUFRLEdBQTZDLElBQUksQ0FBQztJQU9aLENBQUM7SUFFL0Msa0ZBQWtGO0lBRWxGLHNCQUFzQixDQUFDLEtBQW9CO1FBQ3ZDLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDbEUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUMvQztJQUNMLENBQUM7SUFFRDt1RUFDbUU7SUFDbkUsdUJBQXVCLENBQUMsS0FBaUI7UUFDckMsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxhQUFhLEtBQUssSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUU7WUFDeEUsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQzFDO0lBQ0wsQ0FBQzs7bUhBbkRRLHNCQUFzQjt1R0FBdEIsc0JBQXNCLG9rQkFqQnBCO1FBQ1A7WUFDSSxPQUFPLEVBQUUsMkJBQTJCO1lBQ3BDLFdBQVcsRUFBRSxzQkFBc0I7U0FDdEM7S0FDSixnSkMzQkwsdXdCQXFCQTsyRkRrQmEsc0JBQXNCO2tCQXZCbEMsU0FBUzsrQkFDSSxtQkFBbUIsaUJBR2QsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsMkJBQTJCOzRCQUNwQyxXQUFXLHdCQUF3Qjt5QkFDdEM7cUJBQ0osUUFDSzt3QkFDRixhQUFhLEVBQUUsMENBQTBDO3dCQUN6RCxpQkFBaUIsRUFBRSxrQkFBa0I7d0JBQ3JDLGtCQUFrQixFQUFFLFNBQVM7d0JBQzdCLGtCQUFrQixFQUFFLFVBQVU7d0JBQzlCLG1CQUFtQixFQUFFLFdBQVc7d0JBQ2hDLGNBQWMsRUFBRSxPQUFPO3dCQUN2QixzQ0FBc0MsRUFBRSxNQUFNO3dCQUM5Qyw4Q0FBOEMsRUFBRSxRQUFRO3FCQUMzRDtpR0FLRCxPQUFPO3NCQUROLEtBQUs7Z0JBS04sSUFBSTtzQkFESCxLQUFLO2dCQUtOLEtBQUs7c0JBREosS0FBSztnQkFLTixTQUFTO3NCQURSLEtBQUs7Z0JBS04sS0FBSztzQkFESixLQUFLO2dCQUtOLEtBQUs7c0JBREosS0FBSztnQkFLTixRQUFRO3NCQURQLEtBQUs7Z0JBS04sZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMsa0JBQWtCO2dCQVE3QixzQkFBc0I7c0JBRHJCLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS2V5VXRpbCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgVEFCIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IEZEX0JVU1lfSU5ESUNBVE9SX0NPTVBPTkVOVCB9IGZyb20gJy4vdG9rZW5zJztcblxuZXhwb3J0IHR5cGUgQnVzeUluZGljYXRvclNpemUgPSAncycgfCAnbScgfCAnbCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtYnVzeS1pbmRpY2F0b3InLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9idXN5LWluZGljYXRvci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYnVzeS1pbmRpY2F0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGRF9CVVNZX0lORElDQVRPUl9DT01QT05FTlQsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogQnVzeUluZGljYXRvckNvbXBvbmVudFxuICAgICAgICB9XG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5yb2xlXSc6IFwibG9hZGluZyA/ICdwcm9ncmVzc2JhcicgOiAncHJlc2VudGF0aW9uJ1wiLFxuICAgICAgICAnW2F0dHIudGFiaW5kZXhdJzogJ2xvYWRpbmcgPyAwIDogLTEnLFxuICAgICAgICAnW2F0dHIuYXJpYS1idXN5XSc6ICdsb2FkaW5nJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtbGl2ZV0nOiAnYXJpYUxpdmUnLFxuICAgICAgICAnW2F0dHIuYXJpYS1sYWJlbF0nOiAnYXJpYUxhYmVsJyxcbiAgICAgICAgJ1thdHRyLnRpdGxlXSc6ICd0aXRsZScsXG4gICAgICAgICdbY2xhc3MuZmQtYnVzeS1pbmRpY2F0b3JfX2NvbnRhaW5lcl0nOiAndHJ1ZScsXG4gICAgICAgICdbY2xhc3MuZmQtYnVzeS1pbmRpY2F0b3JfX2NvbnRhaW5lci0taW5saW5lXSc6ICchYmxvY2snXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBCdXN5SW5kaWNhdG9yQ29tcG9uZW50IHtcbiAgICAvKiogV2hldGhlciB0byBkaXNwbGF5IHRoZSBsb2FkaW5nIGluZGljYXRvciBhbmltYXRpb24uICovXG4gICAgQElucHV0KClcbiAgICBsb2FkaW5nOiBib29sZWFuO1xuXG4gICAgLyoqIFRoZSBzaXplIG9mIHRoZSBsb2FkaW5nIGluZGljYXRvciwgZGVmYXVsdCB3aWxsIGJlIG1lZGl1bSAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2l6ZTogQnVzeUluZGljYXRvclNpemUgPSAnbSc7XG5cbiAgICAvKiogV2hldGhlciB0byB1c2UgbG9hZGVyIGFzIGJsb2NrIGVsZW1lbnQgKi9cbiAgICBASW5wdXQoKVxuICAgIGJsb2NrID0gZmFsc2U7XG5cbiAgICAvKiogQXJpYSBsYWJlbCBhdHRyaWJ1dGUgdmFsdWUuICovXG4gICAgQElucHV0KClcbiAgICBhcmlhTGFiZWw6IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICAvKiogdGl0bGUgYXR0cmlidXRlIHZhbHVlIGZvciB0b29sdGlwLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgdGl0bGU6IHN0cmluZztcblxuICAgIC8qKiBhZGQgbG9hZGluZyBsYWJlbCB2YWx1ZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgbGFiZWw6IHN0cmluZztcblxuICAgIC8qKiBBcmlhIGxpdmUgYXR0cmlidXRlIHZhbHVlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXJpYUxpdmU6IE51bGxhYmxlPCdhc3NlcnRpdmUnIHwgJ3BvbGl0ZScgfCAnb2ZmJz4gPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKCdmYWtlRm9jdXNFbGVtZW50JylcbiAgICBmYWtlRm9jdXNFbGVtZW50OiBFbGVtZW50UmVmO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxuXG4gICAgLyoqIEBoaWRkZW4gSWYgZm9jdXMgZXNjYXBlcyBidXN5IGNvbnRhaW5lciBmb2N1cyBlbGVtZW50IGFmdGVyIHdyYXBwZWQgY29udGVudCAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICAgIGhvc3RGb2N1c0NoYW5nZUhhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubG9hZGluZyAmJiBLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgVEFCKSAmJiAhZXZlbnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgIHRoaXMuZmFrZUZvY3VzRWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBJZiBidXN5IGNvbnRhaW5lciBpcyBuYXZpZ2F0ZWQgYXMgXCJwcmV2aW91cyBmb2N1c2FibGUgZWxlbWVudFwiLFxuICAgICAqIGZvY3VzIGJ1c3kgaW5kaWNhdG9yIHRvIHByZXZlbnQgZnJvbSBmb2N1c2luZyB3cmFwcGVkIGNvbnRlbnQgKi9cbiAgICBmYWtlRWxlbWVudEZvY3VzSGFuZGxlcihldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5sb2FkaW5nICYmIGV2ZW50LnJlbGF0ZWRUYXJnZXQgIT09IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkge1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmdcIj5cbiAgICA8ZGl2XG4gICAgICAgICNidXN5SW5kaWNhdG9yXG4gICAgICAgIGNsYXNzPVwiZmQtYnVzeS1pbmRpY2F0b3JcIlxuICAgICAgICBbY2xhc3MuZmQtYnVzeS1pbmRpY2F0b3ItLWxdPVwic2l6ZSA9PT0gJ2wnXCJcbiAgICAgICAgW2NsYXNzLmZkLWJ1c3ktaW5kaWNhdG9yLS1tXT1cInNpemUgPT09ICdtJ1wiXG4gICAgICAgIFtjbGFzcy5mZC1idXN5LWluZGljYXRvci0tc109XCJzaXplID09PSAncydcIlxuICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZkLWJ1c3ktaW5kaWNhdG9yX19jaXJjbGVcIj48L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZkLWJ1c3ktaW5kaWNhdG9yX19jaXJjbGVcIj48L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZkLWJ1c3ktaW5kaWNhdG9yX19jaXJjbGVcIj48L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxzcGFuICpuZ0lmPVwibGFiZWxcIiBjbGFzcz1cImZkLWJ1c3ktaW5kaWNhdG9yLWV4dGVuZGVkX19sYWJlbFwiPnt7IGxhYmVsIH19PC9zcGFuPlxuXG4gICAgPGRpdiBjbGFzcz1cImZkLWJ1c3ktaW5kaWNhdG9yX19vdmVybGF5XCI+PC9kaXY+XG5cbiAgICA8ZGl2ICNmYWtlRm9jdXNFbGVtZW50IHRhYmluZGV4PVwiMFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIChmb2N1c2luKT1cImZha2VFbGVtZW50Rm9jdXNIYW5kbGVyKCRldmVudClcIj48L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19