@skyux/action-bars 5.0.2 → 5.5.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 (70) hide show
  1. package/README.md +6 -4
  2. package/bundles/skyux-action-bars.umd.js +16 -7
  3. package/documentation.json +58 -7
  4. package/esm2015/index.js +11 -0
  5. package/esm2015/index.js.map +1 -0
  6. package/esm2015/lib/modules/shared/sky-action-bars-resources.module.js +50 -0
  7. package/esm2015/lib/modules/shared/sky-action-bars-resources.module.js.map +1 -0
  8. package/esm2015/lib/modules/summary-action-bar/actions/summary-action-bar-actions.component.js +19 -0
  9. package/esm2015/lib/modules/summary-action-bar/actions/summary-action-bar-actions.component.js.map +1 -0
  10. package/esm2015/lib/modules/summary-action-bar/actions/summary-action-bar-cancel.component.js +36 -0
  11. package/esm2015/lib/modules/summary-action-bar/actions/summary-action-bar-cancel.component.js.map +1 -0
  12. package/esm2015/lib/modules/summary-action-bar/actions/summary-action-bar-primary-action.component.js +37 -0
  13. package/esm2015/lib/modules/summary-action-bar/actions/summary-action-bar-primary-action.component.js.map +1 -0
  14. package/esm2015/lib/modules/summary-action-bar/actions/summary-action-bar-secondary-action.component.js +48 -0
  15. package/esm2015/lib/modules/summary-action-bar/actions/summary-action-bar-secondary-action.component.js.map +1 -0
  16. package/esm2015/lib/modules/summary-action-bar/actions/summary-action-bar-secondary-actions.component.js +73 -0
  17. package/esm2015/lib/modules/summary-action-bar/actions/summary-action-bar-secondary-actions.component.js.map +1 -0
  18. package/esm2015/lib/modules/summary-action-bar/summary/summary-action-bar-summary.component.js +18 -0
  19. package/esm2015/lib/modules/summary-action-bar/summary/summary-action-bar-summary.component.js.map +1 -0
  20. package/esm2015/lib/modules/summary-action-bar/summary-action-bar-adapter.service.js +81 -0
  21. package/esm2015/lib/modules/summary-action-bar/summary-action-bar-adapter.service.js.map +1 -0
  22. package/esm2015/lib/modules/summary-action-bar/summary-action-bar.component.js +179 -0
  23. package/esm2015/lib/modules/summary-action-bar/summary-action-bar.component.js.map +1 -0
  24. package/esm2015/lib/modules/summary-action-bar/summary-action-bar.module.js +79 -0
  25. package/esm2015/lib/modules/summary-action-bar/summary-action-bar.module.js.map +1 -0
  26. package/esm2015/lib/modules/summary-action-bar/types/summary-action-bar-type.js +12 -0
  27. package/esm2015/lib/modules/summary-action-bar/types/summary-action-bar-type.js.map +1 -0
  28. package/esm2015/skyux-action-bars.js +2 -2
  29. package/esm2015/skyux-action-bars.js.map +1 -0
  30. package/esm2015/testing/public-api.js +1 -1
  31. package/esm2015/testing/public-api.js.map +1 -0
  32. package/esm2015/testing/skyux-action-bars-testing.js +1 -1
  33. package/esm2015/testing/skyux-action-bars-testing.js.map +1 -0
  34. package/esm2015/testing/summary-action-bar/summary-action-bar-fixture-action.js +1 -1
  35. package/esm2015/testing/summary-action-bar/summary-action-bar-fixture-action.js.map +1 -0
  36. package/esm2015/testing/summary-action-bar/summary-action-bar-fixture.js +1 -1
  37. package/esm2015/testing/summary-action-bar/summary-action-bar-fixture.js.map +1 -0
  38. package/esm2015/testing/summary-action-bar/summary-action-bar.module.js +1 -1
  39. package/esm2015/testing/summary-action-bar/summary-action-bar.module.js.map +1 -0
  40. package/fesm2015/skyux-action-bars-testing.js.map +1 -1
  41. package/fesm2015/skyux-action-bars.js +16 -7
  42. package/fesm2015/skyux-action-bars.js.map +1 -1
  43. package/index.d.ts +8 -0
  44. package/{modules → lib/modules}/shared/sky-action-bars-resources.module.d.ts +0 -0
  45. package/{modules → lib/modules}/summary-action-bar/actions/summary-action-bar-actions.component.d.ts +0 -0
  46. package/{modules → lib/modules}/summary-action-bar/actions/summary-action-bar-cancel.component.d.ts +0 -0
  47. package/{modules → lib/modules}/summary-action-bar/actions/summary-action-bar-primary-action.component.d.ts +0 -0
  48. package/{modules → lib/modules}/summary-action-bar/actions/summary-action-bar-secondary-action.component.d.ts +0 -0
  49. package/{modules → lib/modules}/summary-action-bar/actions/summary-action-bar-secondary-actions.component.d.ts +0 -0
  50. package/{modules → lib/modules}/summary-action-bar/summary/summary-action-bar-summary.component.d.ts +0 -0
  51. package/{modules → lib/modules}/summary-action-bar/summary-action-bar-adapter.service.d.ts +0 -0
  52. package/{modules → lib/modules}/summary-action-bar/summary-action-bar.component.d.ts +0 -0
  53. package/{modules → lib/modules}/summary-action-bar/summary-action-bar.module.d.ts +0 -0
  54. package/{modules → lib/modules}/summary-action-bar/types/summary-action-bar-type.d.ts +0 -0
  55. package/package.json +20 -6
  56. package/skyux-action-bars.d.ts +1 -1
  57. package/LICENSE +0 -21
  58. package/esm2015/modules/shared/sky-action-bars-resources.module.js +0 -41
  59. package/esm2015/modules/summary-action-bar/actions/summary-action-bar-actions.component.js +0 -19
  60. package/esm2015/modules/summary-action-bar/actions/summary-action-bar-cancel.component.js +0 -36
  61. package/esm2015/modules/summary-action-bar/actions/summary-action-bar-primary-action.component.js +0 -37
  62. package/esm2015/modules/summary-action-bar/actions/summary-action-bar-secondary-action.component.js +0 -48
  63. package/esm2015/modules/summary-action-bar/actions/summary-action-bar-secondary-actions.component.js +0 -73
  64. package/esm2015/modules/summary-action-bar/summary/summary-action-bar-summary.component.js +0 -18
  65. package/esm2015/modules/summary-action-bar/summary-action-bar-adapter.service.js +0 -80
  66. package/esm2015/modules/summary-action-bar/summary-action-bar.component.js +0 -179
  67. package/esm2015/modules/summary-action-bar/summary-action-bar.module.js +0 -79
  68. package/esm2015/modules/summary-action-bar/types/summary-action-bar-type.js +0 -12
  69. package/esm2015/public-api.js +0 -11
  70. package/public-api.d.ts +0 -8
@@ -1,37 +0,0 @@
1
- import { Component, EventEmitter, Input, Output, ChangeDetectionStrategy, } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Displays a primary button.
5
- */
6
- export class SkySummaryActionBarPrimaryActionComponent {
7
- constructor() {
8
- /**
9
- * Indicates whether to disable the primary action.
10
- * @default false
11
- */
12
- this.disabled = false;
13
- /**
14
- * Fires when users select the primary action.
15
- */
16
- this.actionClick = new EventEmitter();
17
- }
18
- onButtonClicked() {
19
- this.actionClick.emit();
20
- }
21
- }
22
- SkySummaryActionBarPrimaryActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkySummaryActionBarPrimaryActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
- SkySummaryActionBarPrimaryActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkySummaryActionBarPrimaryActionComponent, selector: "sky-summary-action-bar-primary-action", inputs: { disabled: "disabled" }, outputs: { actionClick: "actionClick" }, ngImport: i0, template: "<button\n type=\"button\"\n class=\"sky-btn sky-btn-primary\"\n [disabled]=\"disabled\"\n (click)=\"onButtonClicked()\"\n>\n <ng-content></ng-content>\n</button>\n", styles: [".sky-btn{margin-right:10px}:host-context(.sky-theme-modern) .sky-btn{margin-right:10px}.sky-theme-modern .sky-btn{margin-right:10px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkySummaryActionBarPrimaryActionComponent, decorators: [{
25
- type: Component,
26
- args: [{
27
- selector: 'sky-summary-action-bar-primary-action',
28
- templateUrl: './summary-action-bar-primary-action.component.html',
29
- styleUrls: ['./summary-action-bar-primary-action.component.scss'],
30
- changeDetection: ChangeDetectionStrategy.OnPush,
31
- }]
32
- }], propDecorators: { disabled: [{
33
- type: Input
34
- }], actionClick: [{
35
- type: Output
36
- }] } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtbWFyeS1hY3Rpb24tYmFyLXByaW1hcnktYWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjdGlvbi1iYXJzL3NyYy9tb2R1bGVzL3N1bW1hcnktYWN0aW9uLWJhci9hY3Rpb25zL3N1bW1hcnktYWN0aW9uLWJhci1wcmltYXJ5LWFjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY3Rpb24tYmFycy9zcmMvbW9kdWxlcy9zdW1tYXJ5LWFjdGlvbi1iYXIvYWN0aW9ucy9zdW1tYXJ5LWFjdGlvbi1iYXItcHJpbWFyeS1hY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTix1QkFBdUIsR0FDeEIsTUFBTSxlQUFlLENBQUM7O0FBRXZCOztHQUVHO0FBT0gsTUFBTSxPQUFPLHlDQUF5QztJQU50RDtRQU9FOzs7V0FHRztRQUVJLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFeEI7O1dBRUc7UUFFSSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7S0FLL0M7SUFIUSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQzs7dUlBaEJVLHlDQUF5QzsySEFBekMseUNBQXlDLHdKQ2pCdEQsMEtBUUE7NEZEU2EseUNBQXlDO2tCQU5yRCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1Q0FBdUM7b0JBQ2pELFdBQVcsRUFBRSxvREFBb0Q7b0JBQ2pFLFNBQVMsRUFBRSxDQUFDLG9EQUFvRCxDQUFDO29CQUNqRSxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7OEJBT1EsUUFBUTtzQkFEZCxLQUFLO2dCQU9DLFdBQVc7c0JBRGpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIERpc3BsYXlzIGEgcHJpbWFyeSBidXR0b24uXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1zdW1tYXJ5LWFjdGlvbi1iYXItcHJpbWFyeS1hY3Rpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vc3VtbWFyeS1hY3Rpb24tYmFyLXByaW1hcnktYWN0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3VtbWFyeS1hY3Rpb24tYmFyLXByaW1hcnktYWN0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lTdW1tYXJ5QWN0aW9uQmFyUHJpbWFyeUFjdGlvbkNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBkaXNhYmxlIHRoZSBwcmltYXJ5IGFjdGlvbi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIHNlbGVjdCB0aGUgcHJpbWFyeSBhY3Rpb24uXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGFjdGlvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHB1YmxpYyBvbkJ1dHRvbkNsaWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5hY3Rpb25DbGljay5lbWl0KCk7XG4gIH1cbn1cbiIsIjxidXR0b25cbiAgdHlwZT1cImJ1dHRvblwiXG4gIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLXByaW1hcnlcIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAoY2xpY2spPVwib25CdXR0b25DbGlja2VkKClcIlxuPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2J1dHRvbj5cbiJdfQ==
@@ -1,48 +0,0 @@
1
- import { Component, EventEmitter, Input, Output, ChangeDetectionStrategy, } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@skyux/popovers";
4
- import * as i2 from "@angular/common";
5
- import * as i3 from "@skyux/theme";
6
- /**
7
- * Specifies secondary actions.
8
- */
9
- export class SkySummaryActionBarSecondaryActionComponent {
10
- constructor(changeDetector) {
11
- this.changeDetector = changeDetector;
12
- /**
13
- * Indicates whether to disable a secondary action.
14
- * @default false
15
- */
16
- this.disabled = false;
17
- /**
18
- * Fires when users select a secondary action.
19
- */
20
- this.actionClick = new EventEmitter();
21
- }
22
- set isDropdown(value) {
23
- this._isDropdown = value;
24
- this.changeDetector.detectChanges();
25
- }
26
- get isDropdown() {
27
- return this._isDropdown;
28
- }
29
- onButtonClicked() {
30
- this.actionClick.emit();
31
- }
32
- }
33
- SkySummaryActionBarSecondaryActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkySummaryActionBarSecondaryActionComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
34
- SkySummaryActionBarSecondaryActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkySummaryActionBarSecondaryActionComponent, selector: "sky-summary-action-bar-secondary-action", inputs: { disabled: "disabled" }, outputs: { actionClick: "actionClick" }, ngImport: i0, template: "<ng-container *ngIf=\"!isDropdown\">\n <button\n type=\"button\"\n class=\"sky-btn\"\n role=\"menuitem\"\n [disabled]=\"disabled\"\n [skyThemeClass]=\"{\n 'sky-btn-secondary': 'default',\n 'sky-btn-default': 'modern'\n }\"\n (click)=\"onButtonClicked()\"\n >\n <ng-container\n *ngTemplateOutlet=\"summaryActionBarSecondaryAction\"\n ></ng-container>\n </button>\n</ng-container>\n<sky-dropdown-item *ngIf=\"isDropdown\">\n <button type=\"button\" [disabled]=\"disabled\" (click)=\"onButtonClicked()\">\n <ng-container\n *ngTemplateOutlet=\"summaryActionBarSecondaryAction\"\n ></ng-container>\n </button>\n</sky-dropdown-item>\n\n<ng-template #summaryActionBarSecondaryAction>\n <ng-content></ng-content>\n</ng-template>\n", styles: [".sky-btn{margin-right:10px}:host-context(.sky-theme-modern) .sky-btn{margin-right:10px}.sky-theme-modern .sky-btn{margin-right:10px}\n"], components: [{ type: i1.λ1, selector: "sky-dropdown-item", inputs: ["ariaRole"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkySummaryActionBarSecondaryActionComponent, decorators: [{
36
- type: Component,
37
- args: [{
38
- selector: 'sky-summary-action-bar-secondary-action',
39
- templateUrl: './summary-action-bar-secondary-action.component.html',
40
- styleUrls: ['./summary-action-bar-secondary-action.component.scss'],
41
- changeDetection: ChangeDetectionStrategy.OnPush,
42
- }]
43
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { disabled: [{
44
- type: Input
45
- }], actionClick: [{
46
- type: Output
47
- }] } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtbWFyeS1hY3Rpb24tYmFyLXNlY29uZGFyeS1hY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWN0aW9uLWJhcnMvc3JjL21vZHVsZXMvc3VtbWFyeS1hY3Rpb24tYmFyL2FjdGlvbnMvc3VtbWFyeS1hY3Rpb24tYmFyLXNlY29uZGFyeS1hY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWN0aW9uLWJhcnMvc3JjL21vZHVsZXMvc3VtbWFyeS1hY3Rpb24tYmFyL2FjdGlvbnMvc3VtbWFyeS1hY3Rpb24tYmFyLXNlY29uZGFyeS1hY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTix1QkFBdUIsR0FDeEIsTUFBTSxlQUFlLENBQUM7Ozs7O0FBRXZCOztHQUVHO0FBT0gsTUFBTSxPQUFPLDJDQUEyQztJQXlCdEQsWUFBb0IsY0FBaUM7UUFBakMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBeEJyRDs7O1dBR0c7UUFFSSxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBV3hCOztXQUVHO1FBRUksZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBSVUsQ0FBQztJQWpCekQsSUFBVyxVQUFVLENBQUMsS0FBYztRQUNsQyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFZTSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQzs7eUlBN0JVLDJDQUEyQzs2SEFBM0MsMkNBQTJDLDBKQ2xCeEQsK3dCQTRCQTs0RkRWYSwyQ0FBMkM7a0JBTnZELFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHlDQUF5QztvQkFDbkQsV0FBVyxFQUFFLHNEQUFzRDtvQkFDbkUsU0FBUyxFQUFFLENBQUMsc0RBQXNELENBQUM7b0JBQ25FLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDt3R0FPUSxRQUFRO3NCQURkLEtBQUs7Z0JBZ0JDLFdBQVc7c0JBRGpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBTcGVjaWZpZXMgc2Vjb25kYXJ5IGFjdGlvbnMuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1zdW1tYXJ5LWFjdGlvbi1iYXItc2Vjb25kYXJ5LWFjdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdW1tYXJ5LWFjdGlvbi1iYXItc2Vjb25kYXJ5LWFjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N1bW1hcnktYWN0aW9uLWJhci1zZWNvbmRhcnktYWN0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lTdW1tYXJ5QWN0aW9uQmFyU2Vjb25kYXJ5QWN0aW9uQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRvIGRpc2FibGUgYSBzZWNvbmRhcnkgYWN0aW9uLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgcHVibGljIHNldCBpc0Ryb3Bkb3duKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5faXNEcm9wZG93biA9IHZhbHVlO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0Ryb3Bkb3duKCkge1xuICAgIHJldHVybiB0aGlzLl9pc0Ryb3Bkb3duO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdXNlcnMgc2VsZWN0IGEgc2Vjb25kYXJ5IGFjdGlvbi5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgYWN0aW9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSBfaXNEcm9wZG93bjogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBwdWJsaWMgb25CdXR0b25DbGlja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuYWN0aW9uQ2xpY2suZW1pdCgpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzRHJvcGRvd25cIj5cbiAgPGJ1dHRvblxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIGNsYXNzPVwic2t5LWJ0blwiXG4gICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtza3lUaGVtZUNsYXNzXT1cIntcbiAgICAgICdza3ktYnRuLXNlY29uZGFyeSc6ICdkZWZhdWx0JyxcbiAgICAgICdza3ktYnRuLWRlZmF1bHQnOiAnbW9kZXJuJ1xuICAgIH1cIlxuICAgIChjbGljayk9XCJvbkJ1dHRvbkNsaWNrZWQoKVwiXG4gID5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInN1bW1hcnlBY3Rpb25CYXJTZWNvbmRhcnlBY3Rpb25cIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgPC9idXR0b24+XG48L25nLWNvbnRhaW5lcj5cbjxza3ktZHJvcGRvd24taXRlbSAqbmdJZj1cImlzRHJvcGRvd25cIj5cbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgKGNsaWNrKT1cIm9uQnV0dG9uQ2xpY2tlZCgpXCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzdW1tYXJ5QWN0aW9uQmFyU2Vjb25kYXJ5QWN0aW9uXCJcbiAgICA+PC9uZy1jb250YWluZXI+XG4gIDwvYnV0dG9uPlxuPC9za3ktZHJvcGRvd24taXRlbT5cblxuPG5nLXRlbXBsYXRlICNzdW1tYXJ5QWN0aW9uQmFyU2Vjb25kYXJ5QWN0aW9uPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,73 +0,0 @@
1
- import { Component, ContentChildren, ChangeDetectionStrategy, } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import { SkyMediaBreakpoints } from '@skyux/core';
4
- import { SkyDropdownMessageType } from '@skyux/popovers';
5
- import { SkySummaryActionBarSecondaryActionComponent } from './summary-action-bar-secondary-action.component';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@skyux/core";
8
- import * as i2 from "@skyux/popovers";
9
- import * as i3 from "@angular/common";
10
- import * as i4 from "@skyux/i18n";
11
- /**
12
- * Contains secondary actions specified with `sky-summary-action-bar-secondary-action`
13
- * components.
14
- */
15
- export class SkySummaryActionBarSecondaryActionsComponent {
16
- constructor(changeDetector, mediaQueryService) {
17
- this.changeDetector = changeDetector;
18
- this.mediaQueryService = mediaQueryService;
19
- this.isMobile = false;
20
- this.dropdownMessageStream = new Subject();
21
- this.actionClicks = [];
22
- }
23
- ngAfterContentInit() {
24
- this.mediaQuerySubscription = this.mediaQueryService.subscribe((args) => {
25
- this.isMobile = args === SkyMediaBreakpoints.xs;
26
- this.checkAndUpdateChildrenType();
27
- });
28
- this.actionChanges = this.secondaryActionComponents.changes.subscribe(() => {
29
- this.checkAndUpdateChildrenType();
30
- });
31
- if (this.mediaQueryService.current === SkyMediaBreakpoints.xs) {
32
- this.isMobile = true;
33
- }
34
- this.checkAndUpdateChildrenType();
35
- }
36
- ngOnDestroy() {
37
- this.mediaQuerySubscription.unsubscribe();
38
- this.actionChanges.unsubscribe();
39
- this.actionClicks.forEach((actionClick) => actionClick.unsubscribe());
40
- }
41
- checkAndUpdateChildrenType() {
42
- /* istanbul ignore else */
43
- if (this.secondaryActionComponents) {
44
- let isDropdown = false;
45
- if (this.secondaryActionComponents.length >= 5 || this.isMobile) {
46
- isDropdown = true;
47
- }
48
- this.secondaryActionComponents.forEach((action) => {
49
- action.isDropdown = isDropdown;
50
- this.actionClicks.push(action.actionClick.subscribe(() => {
51
- this.dropdownMessageStream.next({
52
- type: SkyDropdownMessageType.Close,
53
- });
54
- }));
55
- });
56
- }
57
- this.changeDetector.detectChanges();
58
- }
59
- }
60
- SkySummaryActionBarSecondaryActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkySummaryActionBarSecondaryActionsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SkyMediaQueryService }], target: i0.ɵɵFactoryTarget.Component });
61
- SkySummaryActionBarSecondaryActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkySummaryActionBarSecondaryActionsComponent, selector: "sky-summary-action-bar-secondary-actions", queries: [{ propertyName: "secondaryActionComponents", predicate: SkySummaryActionBarSecondaryActionComponent }], ngImport: i0, template: "<div\n *ngIf=\"!isMobile && secondaryActionComponents.length < 5\"\n class=\"sky-summary-action-bar-secondary-buttons\"\n role=\"menubar\"\n>\n <ng-container\n *ngTemplateOutlet=\"summaryActionBarSecondaryActions\"\n ></ng-container>\n</div>\n<div *ngIf=\"isMobile || secondaryActionComponents.length > 4\">\n <sky-dropdown\n buttonType=\"ellipsis-h\"\n [attr.title]=\"'skyux_summary_action_bar_open_secondary' | skyLibResources\"\n [messageStream]=\"dropdownMessageStream\"\n >\n <sky-dropdown-menu>\n <ng-container\n *ngTemplateOutlet=\"summaryActionBarSecondaryActions\"\n ></ng-container>\n </sky-dropdown-menu>\n </sky-dropdown>\n</div>\n<ng-template #summaryActionBarSecondaryActions>\n <ng-content select=\"sky-summary-action-bar-secondary-action\"></ng-content>\n</ng-template>\n", components: [{ type: i2.λ3, selector: "sky-dropdown", inputs: ["buttonStyle", "buttonType", "disabled", "dismissOnBlur", "label", "horizontalAlignment", "messageStream", "title", "trigger"] }, { type: i2.λ4, selector: "sky-dropdown-menu", inputs: ["ariaLabelledBy", "ariaRole", "useNativeFocus"], outputs: ["menuChanges"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "skyLibResources": i4.SkyLibResourcesPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkySummaryActionBarSecondaryActionsComponent, decorators: [{
63
- type: Component,
64
- args: [{
65
- selector: 'sky-summary-action-bar-secondary-actions',
66
- templateUrl: './summary-action-bar-secondary-actions.component.html',
67
- changeDetection: ChangeDetectionStrategy.OnPush,
68
- }]
69
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.SkyMediaQueryService }]; }, propDecorators: { secondaryActionComponents: [{
70
- type: ContentChildren,
71
- args: [SkySummaryActionBarSecondaryActionComponent]
72
- }] } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtbWFyeS1hY3Rpb24tYmFyLXNlY29uZGFyeS1hY3Rpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjdGlvbi1iYXJzL3NyYy9tb2R1bGVzL3N1bW1hcnktYWN0aW9uLWJhci9hY3Rpb25zL3N1bW1hcnktYWN0aW9uLWJhci1zZWNvbmRhcnktYWN0aW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY3Rpb24tYmFycy9zcmMvbW9kdWxlcy9zdW1tYXJ5LWFjdGlvbi1iYXIvYWN0aW9ucy9zdW1tYXJ5LWFjdGlvbi1iYXItc2Vjb25kYXJ5LWFjdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLFNBQVMsRUFDVCxlQUFlLEVBR2YsdUJBQXVCLEdBQ3hCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBRTdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBd0IsTUFBTSxhQUFhLENBQUM7QUFFeEUsT0FBTyxFQUFzQixzQkFBc0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTdFLE9BQU8sRUFBRSwyQ0FBMkMsRUFBRSxNQUFNLGlEQUFpRCxDQUFDOzs7Ozs7QUFFOUc7OztHQUdHO0FBTUgsTUFBTSxPQUFPLDRDQUE0QztJQWN2RCxZQUNVLGNBQWlDLEVBQ2pDLGlCQUF1QztRQUR2QyxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDakMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFzQjtRQVYxQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLDBCQUFxQixHQUFHLElBQUksT0FBTyxFQUFzQixDQUFDO1FBSXpELGlCQUFZLEdBQW1CLEVBQUUsQ0FBQztJQUt2QyxDQUFDO0lBRUcsa0JBQWtCO1FBQ3ZCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUM1RCxDQUFDLElBQXlCLEVBQUUsRUFBRTtZQUM1QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksS0FBSyxtQkFBbUIsQ0FBQyxFQUFFLENBQUM7WUFDaEQsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7UUFDcEMsQ0FBQyxDQUNGLENBQUM7UUFFRixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUNuRSxHQUFHLEVBQUU7WUFDSCxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztRQUNwQyxDQUFDLENBQ0YsQ0FBQztRQUNGLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sS0FBSyxtQkFBbUIsQ0FBQyxFQUFFLEVBQUU7WUFDN0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7U0FDdEI7UUFDRCxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsc0JBQXNCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVPLDBCQUEwQjtRQUNoQywwQkFBMEI7UUFDMUIsSUFBSSxJQUFJLENBQUMseUJBQXlCLEVBQUU7WUFDbEMsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLElBQUksSUFBSSxDQUFDLHlCQUF5QixDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDL0QsVUFBVSxHQUFHLElBQUksQ0FBQzthQUNuQjtZQUNELElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDaEQsTUFBTSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUNwQixNQUFNLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7b0JBQ2hDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUM7d0JBQzlCLElBQUksRUFBRSxzQkFBc0IsQ0FBQyxLQUFLO3FCQUNuQyxDQUFDLENBQUM7Z0JBQ0wsQ0FBQyxDQUFDLENBQ0gsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3RDLENBQUM7OzBJQS9EVSw0Q0FBNEM7OEhBQTVDLDRDQUE0QywwSEFHdEMsMkNBQTJDLDZCQzlCOUQsaTBCQXlCQTs0RkRFYSw0Q0FBNEM7a0JBTHhELFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDBDQUEwQztvQkFDcEQsV0FBVyxFQUFFLHVEQUF1RDtvQkFDcEUsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOzJJQUtRLHlCQUF5QjtzQkFEL0IsZUFBZTt1QkFBQywyQ0FBMkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIE9uRGVzdHJveSxcbiAgUXVlcnlMaXN0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTa3lNZWRpYUJyZWFrcG9pbnRzLCBTa3lNZWRpYVF1ZXJ5U2VydmljZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHsgU2t5RHJvcGRvd25NZXNzYWdlLCBTa3lEcm9wZG93bk1lc3NhZ2VUeXBlIH0gZnJvbSAnQHNreXV4L3BvcG92ZXJzJztcblxuaW1wb3J0IHsgU2t5U3VtbWFyeUFjdGlvbkJhclNlY29uZGFyeUFjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vc3VtbWFyeS1hY3Rpb24tYmFyLXNlY29uZGFyeS1hY3Rpb24uY29tcG9uZW50JztcblxuLyoqXG4gKiBDb250YWlucyBzZWNvbmRhcnkgYWN0aW9ucyBzcGVjaWZpZWQgd2l0aCBgc2t5LXN1bW1hcnktYWN0aW9uLWJhci1zZWNvbmRhcnktYWN0aW9uYFxuICogY29tcG9uZW50cy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXN1bW1hcnktYWN0aW9uLWJhci1zZWNvbmRhcnktYWN0aW9ucycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdW1tYXJ5LWFjdGlvbi1iYXItc2Vjb25kYXJ5LWFjdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5U3VtbWFyeUFjdGlvbkJhclNlY29uZGFyeUFjdGlvbnNDb21wb25lbnRcbiAgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3lcbntcbiAgQENvbnRlbnRDaGlsZHJlbihTa3lTdW1tYXJ5QWN0aW9uQmFyU2Vjb25kYXJ5QWN0aW9uQ29tcG9uZW50KVxuICBwdWJsaWMgc2Vjb25kYXJ5QWN0aW9uQ29tcG9uZW50czogUXVlcnlMaXN0PFNreVN1bW1hcnlBY3Rpb25CYXJTZWNvbmRhcnlBY3Rpb25Db21wb25lbnQ+O1xuXG4gIHB1YmxpYyBpc01vYmlsZSA9IGZhbHNlO1xuXG4gIHB1YmxpYyBkcm9wZG93bk1lc3NhZ2VTdHJlYW0gPSBuZXcgU3ViamVjdDxTa3lEcm9wZG93bk1lc3NhZ2U+KCk7XG5cbiAgcHJpdmF0ZSBtZWRpYVF1ZXJ5U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgYWN0aW9uQ2hhbmdlczogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIGFjdGlvbkNsaWNrczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIG1lZGlhUXVlcnlTZXJ2aWNlOiBTa3lNZWRpYVF1ZXJ5U2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm1lZGlhUXVlcnlTdWJzY3JpcHRpb24gPSB0aGlzLm1lZGlhUXVlcnlTZXJ2aWNlLnN1YnNjcmliZShcbiAgICAgIChhcmdzOiBTa3lNZWRpYUJyZWFrcG9pbnRzKSA9PiB7XG4gICAgICAgIHRoaXMuaXNNb2JpbGUgPSBhcmdzID09PSBTa3lNZWRpYUJyZWFrcG9pbnRzLnhzO1xuICAgICAgICB0aGlzLmNoZWNrQW5kVXBkYXRlQ2hpbGRyZW5UeXBlKCk7XG4gICAgICB9XG4gICAgKTtcblxuICAgIHRoaXMuYWN0aW9uQ2hhbmdlcyA9IHRoaXMuc2Vjb25kYXJ5QWN0aW9uQ29tcG9uZW50cy5jaGFuZ2VzLnN1YnNjcmliZShcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy5jaGVja0FuZFVwZGF0ZUNoaWxkcmVuVHlwZSgpO1xuICAgICAgfVxuICAgICk7XG4gICAgaWYgKHRoaXMubWVkaWFRdWVyeVNlcnZpY2UuY3VycmVudCA9PT0gU2t5TWVkaWFCcmVha3BvaW50cy54cykge1xuICAgICAgdGhpcy5pc01vYmlsZSA9IHRydWU7XG4gICAgfVxuICAgIHRoaXMuY2hlY2tBbmRVcGRhdGVDaGlsZHJlblR5cGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm1lZGlhUXVlcnlTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmFjdGlvbkNoYW5nZXMudW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmFjdGlvbkNsaWNrcy5mb3JFYWNoKChhY3Rpb25DbGljaykgPT4gYWN0aW9uQ2xpY2sudW5zdWJzY3JpYmUoKSk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrQW5kVXBkYXRlQ2hpbGRyZW5UeXBlKCkge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuc2Vjb25kYXJ5QWN0aW9uQ29tcG9uZW50cykge1xuICAgICAgbGV0IGlzRHJvcGRvd24gPSBmYWxzZTtcbiAgICAgIGlmICh0aGlzLnNlY29uZGFyeUFjdGlvbkNvbXBvbmVudHMubGVuZ3RoID49IDUgfHwgdGhpcy5pc01vYmlsZSkge1xuICAgICAgICBpc0Ryb3Bkb3duID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2Vjb25kYXJ5QWN0aW9uQ29tcG9uZW50cy5mb3JFYWNoKChhY3Rpb24pID0+IHtcbiAgICAgICAgYWN0aW9uLmlzRHJvcGRvd24gPSBpc0Ryb3Bkb3duO1xuICAgICAgICB0aGlzLmFjdGlvbkNsaWNrcy5wdXNoKFxuICAgICAgICAgIGFjdGlvbi5hY3Rpb25DbGljay5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5kcm9wZG93bk1lc3NhZ2VTdHJlYW0ubmV4dCh7XG4gICAgICAgICAgICAgIHR5cGU6IFNreURyb3Bkb3duTWVzc2FnZVR5cGUuQ2xvc2UsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG59XG4iLCI8ZGl2XG4gICpuZ0lmPVwiIWlzTW9iaWxlICYmIHNlY29uZGFyeUFjdGlvbkNvbXBvbmVudHMubGVuZ3RoIDwgNVwiXG4gIGNsYXNzPVwic2t5LXN1bW1hcnktYWN0aW9uLWJhci1zZWNvbmRhcnktYnV0dG9uc1wiXG4gIHJvbGU9XCJtZW51YmFyXCJcbj5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwic3VtbWFyeUFjdGlvbkJhclNlY29uZGFyeUFjdGlvbnNcIlxuICA+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cbjxkaXYgKm5nSWY9XCJpc01vYmlsZSB8fCBzZWNvbmRhcnlBY3Rpb25Db21wb25lbnRzLmxlbmd0aCA+IDRcIj5cbiAgPHNreS1kcm9wZG93blxuICAgIGJ1dHRvblR5cGU9XCJlbGxpcHNpcy1oXCJcbiAgICBbYXR0ci50aXRsZV09XCInc2t5dXhfc3VtbWFyeV9hY3Rpb25fYmFyX29wZW5fc2Vjb25kYXJ5JyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgW21lc3NhZ2VTdHJlYW1dPVwiZHJvcGRvd25NZXNzYWdlU3RyZWFtXCJcbiAgPlxuICAgIDxza3ktZHJvcGRvd24tbWVudT5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzdW1tYXJ5QWN0aW9uQmFyU2Vjb25kYXJ5QWN0aW9uc1wiXG4gICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgPC9za3ktZHJvcGRvd24tbWVudT5cbiAgPC9za3ktZHJvcGRvd24+XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjc3VtbWFyeUFjdGlvbkJhclNlY29uZGFyeUFjdGlvbnM+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1zdW1tYXJ5LWFjdGlvbi1iYXItc2Vjb25kYXJ5LWFjdGlvblwiPjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,18 +0,0 @@
1
- import { Component, ChangeDetectionStrategy } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Specifies the summary information to display.
5
- */
6
- export class SkySummaryActionBarSummaryComponent {
7
- }
8
- SkySummaryActionBarSummaryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkySummaryActionBarSummaryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
- SkySummaryActionBarSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkySummaryActionBarSummaryComponent, selector: "sky-summary-action-bar-summary", ngImport: i0, template: "<ng-content></ng-content>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkySummaryActionBarSummaryComponent, decorators: [{
11
- type: Component,
12
- args: [{
13
- selector: 'sky-summary-action-bar-summary',
14
- templateUrl: './summary-action-bar-summary.component.html',
15
- changeDetection: ChangeDetectionStrategy.OnPush,
16
- }]
17
- }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtbWFyeS1hY3Rpb24tYmFyLXN1bW1hcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWN0aW9uLWJhcnMvc3JjL21vZHVsZXMvc3VtbWFyeS1hY3Rpb24tYmFyL3N1bW1hcnkvc3VtbWFyeS1hY3Rpb24tYmFyLXN1bW1hcnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWN0aW9uLWJhcnMvc3JjL21vZHVsZXMvc3VtbWFyeS1hY3Rpb24tYmFyL3N1bW1hcnkvc3VtbWFyeS1hY3Rpb24tYmFyLXN1bW1hcnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFbkU7O0dBRUc7QUFNSCxNQUFNLE9BQU8sbUNBQW1DOztpSUFBbkMsbUNBQW1DO3FIQUFuQyxtQ0FBbUMsc0VDVmhELDZCQUNBOzRGRFNhLG1DQUFtQztrQkFML0MsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0NBQWdDO29CQUMxQyxXQUFXLEVBQUUsNkNBQTZDO29CQUMxRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogU3BlY2lmaWVzIHRoZSBzdW1tYXJ5IGluZm9ybWF0aW9uIHRvIGRpc3BsYXkuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1zdW1tYXJ5LWFjdGlvbi1iYXItc3VtbWFyeScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdW1tYXJ5LWFjdGlvbi1iYXItc3VtbWFyeS5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lTdW1tYXJ5QWN0aW9uQmFyU3VtbWFyeUNvbXBvbmVudCB7fVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
@@ -1,80 +0,0 @@
1
- import { Injectable, } from '@angular/core';
2
- import { SkySummaryActionBarType } from './types/summary-action-bar-type';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@skyux/core";
5
- /**
6
- * @internal
7
- */
8
- export class SkySummaryActionBarAdapterService {
9
- constructor(rendererFactory, windowRef) {
10
- this.rendererFactory = rendererFactory;
11
- this.windowRef = windowRef;
12
- this.renderer = this.rendererFactory.createRenderer(undefined, undefined);
13
- }
14
- styleBodyElementForActionBar(summaryActionBarRef) {
15
- const window = this.windowRef.nativeWindow;
16
- const body = window.document.body;
17
- const actionBarEl = summaryActionBarRef.nativeElement.querySelector('.sky-summary-action-bar');
18
- /* istanbul ignore else */
19
- if (actionBarEl.style.visibility !== 'hidden') {
20
- this.renderer.setStyle(body, 'margin-bottom', actionBarEl.offsetHeight + 'px');
21
- }
22
- }
23
- styleSplitViewElementForActionBar(summaryActionBarRef) {
24
- const splitViewWorkspaceContent = document.querySelector('.sky-split-view-workspace-content');
25
- const splitViewWorkspaceFooter = document.querySelector('.sky-split-view-workspace-footer');
26
- const actionBarEl = summaryActionBarRef.nativeElement.querySelector('.sky-summary-action-bar');
27
- /* istanbul ignore else */
28
- if (actionBarEl.style.visibility !== 'hidden') {
29
- this.renderer.setStyle(splitViewWorkspaceContent, 'padding-bottom', '20px');
30
- this.renderer.setStyle(splitViewWorkspaceFooter, 'padding', 0);
31
- }
32
- }
33
- revertBodyElementStyles() {
34
- const window = this.windowRef.nativeWindow;
35
- const body = window.document.body;
36
- this.renderer.removeStyle(body, 'margin-bottom');
37
- }
38
- revertSplitViewElementStyles() {
39
- const splitViewWorkspaceContent = document.querySelector('.sky-split-view-workspace-content');
40
- const splitViewWorkspaceFooter = document.querySelector('.sky-split-view-workspace-footer');
41
- this.renderer.setStyle(splitViewWorkspaceContent, 'padding-bottom', 'none');
42
- this.renderer.setStyle(splitViewWorkspaceFooter, 'padding', '10px');
43
- }
44
- styleModalFooter(summaryActionBarRef) {
45
- const modalFooterEls = document.getElementsByClassName('sky-modal-footer-container');
46
- for (let i = 0; i < modalFooterEls.length; i++) {
47
- if (modalFooterEls.item(i).contains(summaryActionBarRef.nativeElement)) {
48
- this.renderer.setStyle(modalFooterEls.item(i), 'padding', 0);
49
- }
50
- }
51
- }
52
- getSummaryActionBarType(el) {
53
- do {
54
- if (el.tagName.toLowerCase() === 'sky-modal-footer') {
55
- while (el.tagName.toLowerCase() !== 'sky-modal') {
56
- if (el.classList.contains('sky-modal-full-page')) {
57
- return SkySummaryActionBarType.FullPageModal;
58
- }
59
- el = el.parentElement;
60
- }
61
- return SkySummaryActionBarType.StandardModal;
62
- }
63
- else if (el.classList.contains('sky-tab')) {
64
- return SkySummaryActionBarType.Tab;
65
- }
66
- else if (el.tagName.toLowerCase() === 'sky-split-view-workspace') {
67
- return SkySummaryActionBarType.SplitView;
68
- }
69
- el = el.parentElement;
70
- // tslint:disable-next-line:no-null-keyword
71
- } while (el !== null && el.nodeType === 1);
72
- return SkySummaryActionBarType.Page;
73
- }
74
- }
75
- SkySummaryActionBarAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkySummaryActionBarAdapterService, deps: [{ token: i0.RendererFactory2 }, { token: i1.SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Injectable });
76
- SkySummaryActionBarAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkySummaryActionBarAdapterService });
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkySummaryActionBarAdapterService, decorators: [{
78
- type: Injectable
79
- }], ctorParameters: function () { return [{ type: i0.RendererFactory2 }, { type: i1.SkyAppWindowRef }]; } });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtbWFyeS1hY3Rpb24tYmFyLWFkYXB0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjdGlvbi1iYXJzL3NyYy9tb2R1bGVzL3N1bW1hcnktYWN0aW9uLWJhci9zdW1tYXJ5LWFjdGlvbi1iYXItYWRhcHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxVQUFVLEdBR1gsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saUNBQWlDLENBQUM7OztBQUUxRTs7R0FFRztBQUVILE1BQU0sT0FBTyxpQ0FBaUM7SUFHNUMsWUFDVSxlQUFpQyxFQUNqQyxTQUEwQjtRQUQxQixvQkFBZSxHQUFmLGVBQWUsQ0FBa0I7UUFDakMsY0FBUyxHQUFULFNBQVMsQ0FBaUI7UUFFbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVNLDRCQUE0QixDQUFDLG1CQUErQjtRQUNqRSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQztRQUMzQyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztRQUNsQyxNQUFNLFdBQVcsR0FBRyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUNqRSx5QkFBeUIsQ0FDMUIsQ0FBQztRQUNGLDBCQUEwQjtRQUMxQixJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsVUFBVSxLQUFLLFFBQVEsRUFBRTtZQUM3QyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FDcEIsSUFBSSxFQUNKLGVBQWUsRUFDZixXQUFXLENBQUMsWUFBWSxHQUFHLElBQUksQ0FDaEMsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVNLGlDQUFpQyxDQUN0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O1lBQ0QsRUFBRSxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUM7WUFDdEIsMkNBQTJDO1NBQzVDLFFBQVEsRUFBRSxLQUFLLElBQUksSUFBSSxFQUFFLENBQUMsUUFBUSxLQUFLLENBQUMsRUFBRTtRQUMzQyxPQUFPLHVCQUF1QixDQUFDLElBQUksQ0FBQztJQUN0QyxDQUFDOzsrSEFoR1UsaUNBQWlDO21JQUFqQyxpQ0FBaUM7NEZBQWpDLGlDQUFpQztrQkFEN0MsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdGFibGUsXG4gIFJlbmRlcmVyMixcbiAgUmVuZGVyZXJGYWN0b3J5Mixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreUFwcFdpbmRvd1JlZiB9IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHsgU2t5U3VtbWFyeUFjdGlvbkJhclR5cGUgfSBmcm9tICcuL3R5cGVzL3N1bW1hcnktYWN0aW9uLWJhci10eXBlJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreVN1bW1hcnlBY3Rpb25CYXJBZGFwdGVyU2VydmljZSB7XG4gIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlbmRlcmVyRmFjdG9yeTogUmVuZGVyZXJGYWN0b3J5MixcbiAgICBwcml2YXRlIHdpbmRvd1JlZjogU2t5QXBwV2luZG93UmVmXG4gICkge1xuICAgIHRoaXMucmVuZGVyZXIgPSB0aGlzLnJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcih1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG4gIH1cblxuICBwdWJsaWMgc3R5bGVCb2R5RWxlbWVudEZvckFjdGlvbkJhcihzdW1tYXJ5QWN0aW9uQmFyUmVmOiBFbGVtZW50UmVmKTogdm9pZCB7XG4gICAgY29uc3Qgd2luZG93ID0gdGhpcy53aW5kb3dSZWYubmF0aXZlV2luZG93O1xuICAgIGNvbnN0IGJvZHkgPSB3aW5kb3cuZG9jdW1lbnQuYm9keTtcbiAgICBjb25zdCBhY3Rpb25CYXJFbCA9IHN1bW1hcnlBY3Rpb25CYXJSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgJy5za3ktc3VtbWFyeS1hY3Rpb24tYmFyJ1xuICAgICk7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoYWN0aW9uQmFyRWwuc3R5bGUudmlzaWJpbGl0eSAhPT0gJ2hpZGRlbicpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIGJvZHksXG4gICAgICAgICdtYXJnaW4tYm90dG9tJyxcbiAgICAgICAgYWN0aW9uQmFyRWwub2Zmc2V0SGVpZ2h0ICsgJ3B4J1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc3R5bGVTcGxpdFZpZXdFbGVtZW50Rm9yQWN0aW9uQmFyKFxuICAgIHN1bW1hcnlBY3Rpb25CYXJSZWY6IEVsZW1lbnRSZWZcbiAgKTogdm9pZCB7XG4gICAgY29uc3Qgc3BsaXRWaWV3V29ya3NwYWNlQ29udGVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAnLnNreS1zcGxpdC12aWV3LXdvcmtzcGFjZS1jb250ZW50J1xuICAgICk7XG4gICAgY29uc3Qgc3BsaXRWaWV3V29ya3NwYWNlRm9vdGVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICcuc2t5LXNwbGl0LXZpZXctd29ya3NwYWNlLWZvb3RlcidcbiAgICApO1xuICAgIGNvbnN0IGFjdGlvbkJhckVsID0gc3VtbWFyeUFjdGlvbkJhclJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAnLnNreS1zdW1tYXJ5LWFjdGlvbi1iYXInXG4gICAgKTtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChhY3Rpb25CYXJFbC5zdHlsZS52aXNpYmlsaXR5ICE9PSAnaGlkZGVuJykge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgc3BsaXRWaWV3V29ya3NwYWNlQ29udGVudCxcbiAgICAgICAgJ3BhZGRpbmctYm90dG9tJyxcbiAgICAgICAgJzIwcHgnXG4gICAgICApO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShzcGxpdFZpZXdXb3Jrc3BhY2VGb290ZXIsICdwYWRkaW5nJywgMCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJldmVydEJvZHlFbGVtZW50U3R5bGVzKCk6IHZvaWQge1xuICAgIGNvbnN0IHdpbmRvdyA9IHRoaXMud2luZG93UmVmLm5hdGl2ZVdpbmRvdztcbiAgICBjb25zdCBib2R5ID0gd2luZG93LmRvY3VtZW50LmJvZHk7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZShib2R5LCAnbWFyZ2luLWJvdHRvbScpO1xuICB9XG5cbiAgcHVibGljIHJldmVydFNwbGl0Vmlld0VsZW1lbnRTdHlsZXMoKTogdm9pZCB7XG4gICAgY29uc3Qgc3BsaXRWaWV3V29ya3NwYWNlQ29udGVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAnLnNreS1zcGxpdC12aWV3LXdvcmtzcGFjZS1jb250ZW50J1xuICAgICk7XG4gICAgY29uc3Qgc3BsaXRWaWV3V29ya3NwYWNlRm9vdGVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICcuc2t5LXNwbGl0LXZpZXctd29ya3NwYWNlLWZvb3RlcidcbiAgICApO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoc3BsaXRWaWV3V29ya3NwYWNlQ29udGVudCwgJ3BhZGRpbmctYm90dG9tJywgJ25vbmUnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHNwbGl0Vmlld1dvcmtzcGFjZUZvb3RlciwgJ3BhZGRpbmcnLCAnMTBweCcpO1xuICB9XG5cbiAgcHVibGljIHN0eWxlTW9kYWxGb290ZXIoc3VtbWFyeUFjdGlvbkJhclJlZjogRWxlbWVudFJlZik6IHZvaWQge1xuICAgIGNvbnN0IG1vZGFsRm9vdGVyRWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcbiAgICAgICdza3ktbW9kYWwtZm9vdGVyLWNvbnRhaW5lcidcbiAgICApO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbW9kYWxGb290ZXJFbHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmIChtb2RhbEZvb3RlckVscy5pdGVtKGkpLmNvbnRhaW5zKHN1bW1hcnlBY3Rpb25CYXJSZWYubmF0aXZlRWxlbWVudCkpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShtb2RhbEZvb3RlckVscy5pdGVtKGkpLCAncGFkZGluZycsIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRTdW1tYXJ5QWN0aW9uQmFyVHlwZShlbDogRWxlbWVudCk6IFNreVN1bW1hcnlBY3Rpb25CYXJUeXBlIHtcbiAgICBkbyB7XG4gICAgICBpZiAoZWwudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnc2t5LW1vZGFsLWZvb3RlcicpIHtcbiAgICAgICAgd2hpbGUgKGVsLnRhZ05hbWUudG9Mb3dlckNhc2UoKSAhPT0gJ3NreS1tb2RhbCcpIHtcbiAgICAgICAgICBpZiAoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdza3ktbW9kYWwtZnVsbC1wYWdlJykpIHtcbiAgICAgICAgICAgIHJldHVybiBTa3lTdW1tYXJ5QWN0aW9uQmFyVHlwZS5GdWxsUGFnZU1vZGFsO1xuICAgICAgICAgIH1cbiAgICAgICAgICBlbCA9IGVsLnBhcmVudEVsZW1lbnQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFNreVN1bW1hcnlBY3Rpb25CYXJUeXBlLlN0YW5kYXJkTW9kYWw7XG4gICAgICB9IGVsc2UgaWYgKGVsLmNsYXNzTGlzdC5jb250YWlucygnc2t5LXRhYicpKSB7XG4gICAgICAgIHJldHVybiBTa3lTdW1tYXJ5QWN0aW9uQmFyVHlwZS5UYWI7XG4gICAgICB9IGVsc2UgaWYgKGVsLnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ3NreS1zcGxpdC12aWV3LXdvcmtzcGFjZScpIHtcbiAgICAgICAgcmV0dXJuIFNreVN1bW1hcnlBY3Rpb25CYXJUeXBlLlNwbGl0VmlldztcbiAgICAgIH1cbiAgICAgIGVsID0gZWwucGFyZW50RWxlbWVudDtcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1udWxsLWtleXdvcmRcbiAgICB9IHdoaWxlIChlbCAhPT0gbnVsbCAmJiBlbC5ub2RlVHlwZSA9PT0gMSk7XG4gICAgcmV0dXJuIFNreVN1bW1hcnlBY3Rpb25CYXJUeXBlLlBhZ2U7XG4gIH1cbn1cbiJdfQ==
@@ -1,179 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, ContentChild, ElementRef, } from '@angular/core';
2
- import { fromEvent } from 'rxjs';
3
- import { takeUntil } from 'rxjs/operators';
4
- import { Subject } from 'rxjs';
5
- import { skyAnimationSlide } from '@skyux/animations';
6
- import { SkyMediaBreakpoints, } from '@skyux/core';
7
- import { SkySummaryActionBarSummaryComponent } from './summary/summary-action-bar-summary.component';
8
- import { SkySummaryActionBarType } from './types/summary-action-bar-type';
9
- import { SkySummaryActionBarAdapterService } from './summary-action-bar-adapter.service';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "./summary-action-bar-adapter.service";
12
- import * as i2 from "@skyux/core";
13
- import * as i3 from "@skyux/indicators";
14
- import * as i4 from "@angular/common";
15
- import * as i5 from "@skyux/theme";
16
- import * as i6 from "@skyux/i18n";
17
- /**
18
- * Auto-incrementing integer used to generate unique ids for summary action bar components.
19
- */
20
- let nextId = 0;
21
- /**
22
- * Contains the `sky-summary-action-bar-actions` and
23
- * `sky-summary-action-bar-summary` components.
24
- */
25
- export class SkySummaryActionBarComponent {
26
- constructor(adapterService, changeDetector, elementRef, mediaQueryService, observerService, windowRef) {
27
- this.adapterService = adapterService;
28
- this.changeDetector = changeDetector;
29
- this.elementRef = elementRef;
30
- this.mediaQueryService = mediaQueryService;
31
- this.observerService = observerService;
32
- this.windowRef = windowRef;
33
- this.isSummaryCollapsed = false;
34
- this.slideDirection = 'down';
35
- this.summaryId = `sky-summary-action-bar-summary-${++nextId}`;
36
- this.idled = new Subject();
37
- }
38
- get isSummaryCollapsible() {
39
- return (this.type === SkySummaryActionBarType.StandardModal ||
40
- this.mediaQueryService.current === SkyMediaBreakpoints.xs);
41
- }
42
- ngAfterViewInit() {
43
- this.type = this.adapterService.getSummaryActionBarType(this.elementRef.nativeElement);
44
- if (!(this.type === SkySummaryActionBarType.FullPageModal ||
45
- this.type === SkySummaryActionBarType.StandardModal)) {
46
- this.setupReactiveState();
47
- if (this.type === SkySummaryActionBarType.SplitView) {
48
- this.adapterService.styleSplitViewElementForActionBar(this.elementRef);
49
- }
50
- else {
51
- this.adapterService.styleBodyElementForActionBar(this.elementRef);
52
- }
53
- this.setupResizeListener();
54
- if (this.type === SkySummaryActionBarType.Tab) {
55
- this.setupTabListener();
56
- }
57
- }
58
- else {
59
- this.adapterService.styleModalFooter(this.elementRef);
60
- if (this.type === SkySummaryActionBarType.FullPageModal) {
61
- this.setupReactiveState();
62
- }
63
- }
64
- this.changeDetector.detectChanges();
65
- }
66
- ngOnDestroy() {
67
- if (this.type === SkySummaryActionBarType.SplitView) {
68
- this.adapterService.revertSplitViewElementStyles();
69
- }
70
- else if (this.type === SkySummaryActionBarType.Page ||
71
- this.type === SkySummaryActionBarType.Tab) {
72
- this.adapterService.revertBodyElementStyles();
73
- }
74
- this.removeResizeListener();
75
- this.removeTabListener();
76
- if (this.mediaQuerySubscription) {
77
- this.mediaQuerySubscription.unsubscribe();
78
- }
79
- this.idled.complete();
80
- }
81
- onDirectionChange(direction) {
82
- this.slideDirection = direction;
83
- }
84
- summaryContentExists() {
85
- return (this.summaryElement &&
86
- this.summaryElement.nativeElement.children.length > 0);
87
- }
88
- // NOTE: This function is needed so that the button is not removed until post-animation
89
- summaryTransitionEnd() {
90
- if (this.slideDirection === 'up') {
91
- this.isSummaryCollapsed = true;
92
- }
93
- if (this.type === SkySummaryActionBarType.Page ||
94
- this.type === SkySummaryActionBarType.Tab) {
95
- this.adapterService.styleBodyElementForActionBar(this.elementRef);
96
- }
97
- }
98
- // NOTE: This function is needed so that the button is added before animation
99
- summaryTransitionStart() {
100
- if (this.slideDirection === 'down') {
101
- this.isSummaryCollapsed = false;
102
- }
103
- }
104
- setupReactiveState() {
105
- this.mediaQuerySubscription = this.mediaQueryService.subscribe((args) => {
106
- if (args !== SkyMediaBreakpoints.xs) {
107
- this.isSummaryCollapsed = false;
108
- this.slideDirection = 'down';
109
- }
110
- this.changeDetector.detectChanges();
111
- });
112
- }
113
- setupTabListener() {
114
- /* istanbul ignore else */
115
- if (!this.observer) {
116
- this.observer = this.observerService.create((mutations) => {
117
- if (mutations[0].target.attributes.getNamedItem('hidden')) {
118
- this.adapterService.revertBodyElementStyles();
119
- this.removeResizeListener();
120
- }
121
- else {
122
- setTimeout(() => {
123
- this.adapterService.styleBodyElementForActionBar(this.elementRef);
124
- this.setupResizeListener();
125
- });
126
- }
127
- });
128
- }
129
- const config = {
130
- attributes: true,
131
- attributeFilter: ['hidden'],
132
- childList: false,
133
- characterDate: false,
134
- };
135
- let el = this.elementRef.nativeElement;
136
- do {
137
- if (el.classList.contains('sky-tab')) {
138
- this.observer.observe(el, config);
139
- }
140
- el = el.parentElement;
141
- // tslint:disable-next-line:no-null-keyword
142
- } while (el !== null && el.nodeType === 1);
143
- }
144
- removeTabListener() {
145
- if (this.observer) {
146
- this.observer.disconnect();
147
- }
148
- }
149
- setupResizeListener() {
150
- if (this.type !== SkySummaryActionBarType.SplitView) {
151
- const windowObj = this.windowRef.nativeWindow;
152
- fromEvent(windowObj, 'resize')
153
- .pipe(takeUntil(this.idled))
154
- .subscribe(() => {
155
- this.adapterService.styleBodyElementForActionBar(this.elementRef);
156
- });
157
- }
158
- }
159
- removeResizeListener() {
160
- this.idled.next(true);
161
- }
162
- }
163
- SkySummaryActionBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkySummaryActionBarComponent, deps: [{ token: i1.SkySummaryActionBarAdapterService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i2.SkyMediaQueryService }, { token: i2.MutationObserverService }, { token: i2.SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Component });
164
- SkySummaryActionBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkySummaryActionBarComponent, selector: "sky-summary-action-bar", providers: [SkySummaryActionBarAdapterService], queries: [{ propertyName: "summaryElement", first: true, predicate: SkySummaryActionBarSummaryComponent, descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n class=\"sky-summary-action-bar\"\n [ngClass]=\"{\n 'sky-summary-action-bar-summary-collapsible': isSummaryCollapsible,\n 'sky-summary-action-bar-modal': type === 1 || type === 2,\n 'sky-summary-action-bar-split-view': type === 4\n }\"\n>\n <div class=\"sky-summary-action-bar-actions\">\n <ng-content select=\"sky-summary-action-bar-actions\"></ng-content>\n </div>\n <ng-container *ngIf=\"summaryContentExists()\">\n <div\n class=\"sky-summary-action-bar-summary\"\n [id]=\"summaryId\"\n [@skyAnimationSlide]=\"slideDirection\"\n (@skyAnimationSlide.start)=\"summaryTransitionStart()\"\n (@skyAnimationSlide.done)=\"summaryTransitionEnd()\"\n >\n <div class=\"sky-summary-action-bar-summary-body\">\n <div class=\"sky-summary-action-bar-summary-items\">\n <ng-content select=\"sky-summary-action-bar-summary\"></ng-content>\n </div>\n <div\n *ngIf=\"isSummaryCollapsible && !isSummaryCollapsed\"\n class=\"sky-summary-action-bar-details-collapse\"\n >\n <ng-container *ngTemplateOutlet=\"chevron\"></ng-container>\n </div>\n </div>\n </div>\n <div\n *ngIf=\"isSummaryCollapsible && isSummaryCollapsed\"\n class=\"sky-summary-action-bar-details-expand\"\n >\n <ng-container *ngTemplateOutlet=\"chevron\"></ng-container>\n </div>\n </ng-container>\n</div>\n\n<ng-template #chevron>\n <sky-chevron\n [attr.aria-controls]=\"summaryId\"\n [ariaLabel]=\"'skyux_summary_action_bar_expand' | skyLibResources\"\n [direction]=\"isSummaryCollapsed ? 'up' : 'down'\"\n [skyThemeClass]=\"{\n 'sky-margin-inline-default': 'modern'\n }\"\n (directionChange)=\"onDirectionChange($event)\"\n >\n </sky-chevron>\n</ng-template>\n", styles: [".sky-summary-action-bar{display:flex;align-items:center;width:100%;margin-top:20px;position:fixed;bottom:0;left:0;z-index:999;background-color:#fff;box-shadow:0 -3px 3px #cdcfd2}.sky-summary-action-bar-modal,.sky-summary-action-bar-split-view{position:relative;margin-top:0}.sky-summary-action-bar-split-view{box-shadow:none}.sky-summary-action-bar-actions{padding:10px 20px 10px 10px;flex-shrink:0;background-color:#fff;z-index:999}.sky-summary-action-bar-summary{margin:10px 0;border-left:1px solid #e2e3e4}.sky-summary-action-bar-summary-body{padding-left:20px;display:flex}.sky-summary-action-bar-summary-items{display:flex;flex-wrap:wrap;flex-grow:1;margin-right:10px}.sky-summary-action-bar-details-expand{margin-left:auto;margin-right:10px}.sky-summary-action-bar-details-expand,.sky-summary-action-bar-details-collapse{display:none}.sky-summary-action-bar-summary-collapsible.sky-summary-action-bar{flex-wrap:wrap}.sky-summary-action-bar-summary-collapsible .sky-summary-action-bar-summary{order:-1;width:100%;border-bottom:1px solid #e2e3e4;margin:0;border-left:none;z-index:998}.sky-summary-action-bar-summary-collapsible .sky-summary-action-bar-summary-body{padding:10px}.sky-summary-action-bar-summary-collapsible .sky-summary-action-bar-details-expand,.sky-summary-action-bar-summary-collapsible .sky-summary-action-bar-details-collapse{display:block}:host-context(.sky-theme-modern) .sky-summary-action-bar-actions{padding:20px 30px}:host-context(.sky-theme-modern) .sky-summary-action-bar-summary{border:none}:host-context(.sky-theme-modern) .sky-summary-action-bar-summary-body{padding-left:30px}:host-context(.sky-theme-modern) .sky-summary-action-bar-summary-collapsible .sky-summary-action-bar-actions{padding:20px}:host-context(.sky-theme-modern) .sky-summary-action-bar-summary-collapsible .sky-summary-action-bar-summary-body{padding:20px}:host-context(.sky-theme-modern) .sky-summary-action-bar-summary-items{margin-bottom:-10px}:host-context(.sky-theme-modern) .sky-summary-action-bar-summary-items ::ng-deep sky-key-info{margin:0 30px 10px 0;display:inline-block}:host-context(.sky-theme-modern) .sky-summary-action-bar-summary-items ::ng-deep sky-key-info:last-child{margin:0 0 10px}.sky-theme-modern .sky-summary-action-bar-actions{padding:20px 30px}.sky-theme-modern .sky-summary-action-bar-summary{border:none}.sky-theme-modern .sky-summary-action-bar-summary-body{padding-left:30px}.sky-theme-modern .sky-summary-action-bar-summary-collapsible .sky-summary-action-bar-actions{padding:20px}.sky-theme-modern .sky-summary-action-bar-summary-collapsible .sky-summary-action-bar-summary-body{padding:20px}.sky-theme-modern .sky-summary-action-bar-summary-items{margin-bottom:-10px}.sky-theme-modern .sky-summary-action-bar-summary-items ::ng-deep sky-key-info{margin:0 30px 10px 0;display:inline-block}.sky-theme-modern .sky-summary-action-bar-summary-items ::ng-deep sky-key-info:last-child{margin:0 0 10px}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-summary-action-bar{background-color:#000;box-shadow:none}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-summary-action-bar-actions{background-color:#000}.sky-theme-modern.sky-theme-mode-dark .sky-summary-action-bar{background-color:#000;box-shadow:none}.sky-theme-modern.sky-theme-mode-dark .sky-summary-action-bar-actions{background-color:#000}\n"], components: [{ type: i3.λ2, selector: "sky-chevron", inputs: ["ariaControls", "ariaLabel", "direction", "disabled"], outputs: ["directionChange"] }], directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i5.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }], pipes: { "skyLibResources": i6.SkyLibResourcesPipe }, animations: [skyAnimationSlide], changeDetection: i0.ChangeDetectionStrategy.OnPush });
165
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkySummaryActionBarComponent, decorators: [{
166
- type: Component,
167
- args: [{
168
- selector: 'sky-summary-action-bar',
169
- templateUrl: './summary-action-bar.component.html',
170
- styleUrls: ['./summary-action-bar.component.scss'],
171
- animations: [skyAnimationSlide],
172
- providers: [SkySummaryActionBarAdapterService],
173
- changeDetection: ChangeDetectionStrategy.OnPush,
174
- }]
175
- }], ctorParameters: function () { return [{ type: i1.SkySummaryActionBarAdapterService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i2.SkyMediaQueryService }, { type: i2.MutationObserverService }, { type: i2.SkyAppWindowRef }]; }, propDecorators: { summaryElement: [{
176
- type: ContentChild,
177
- args: [SkySummaryActionBarSummaryComponent, { read: ElementRef }]
178
- }] } });
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtbWFyeS1hY3Rpb24tYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjdGlvbi1iYXJzL3NyYy9tb2R1bGVzL3N1bW1hcnktYWN0aW9uLWJhci9zdW1tYXJ5LWFjdGlvbi1iYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWN0aW9uLWJhcnMvc3JjL21vZHVsZXMvc3VtbWFyeS1hY3Rpb24tYmFyL3N1bW1hcnktYWN0aW9uLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxHQUVYLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFakMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJL0IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFdEQsT0FBTyxFQUVMLG1CQUFtQixHQUdwQixNQUFNLGFBQWEsQ0FBQztBQUVyQixPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUVyRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUxRSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7Ozs7QUFFekY7O0dBRUc7QUFDSCxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFFZjs7O0dBR0c7QUFTSCxNQUFNLE9BQU8sNEJBQTRCO0lBeUJ2QyxZQUNVLGNBQWlELEVBQ2pELGNBQWlDLEVBQ2pDLFVBQXNCLEVBQ3RCLGlCQUF1QyxFQUN2QyxlQUF3QyxFQUN4QyxTQUEwQjtRQUwxQixt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Q0gsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssdUJBQXVCLENBQUMsU0FBUyxFQUFFO1lBQ25ELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDO1lBQzlDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDO2lCQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDM0IsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsY0FBYyxDQUFDLDRCQUE0QixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNwRSxDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0gsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDOzswSEF6TFUsNEJBQTRCOzhHQUE1Qiw0QkFBNEIsaURBSDVCLENBQUMsaUNBQWlDLENBQUMsc0VBeUJoQyxtQ0FBbUMsMkJBQVUsVUFBVSw2QkN4RXZFLDZ3REFvREEsazNIRE5jLENBQUMsaUJBQWlCLENBQUM7NEZBSXBCLDRCQUE0QjtrQkFSeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxXQUFXLEVBQUUscUNBQXFDO29CQUNsRCxTQUFTLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQztvQkFDbEQsVUFBVSxFQUFFLENBQUMsaUJBQWlCLENBQUM7b0JBQy9CLFNBQVMsRUFBRSxDQUFDLGlDQUFpQyxDQUFDO29CQUM5QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7d1JBd0JTLGNBQWM7c0JBRHJCLFlBQVk7dUJBQUMsbUNBQW1DLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgc2t5QW5pbWF0aW9uU2xpZGUgfSBmcm9tICdAc2t5dXgvYW5pbWF0aW9ucyc7XG5cbmltcG9ydCB7XG4gIE11dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlLFxuICBTa3lNZWRpYUJyZWFrcG9pbnRzLFxuICBTa3lNZWRpYVF1ZXJ5U2VydmljZSxcbiAgU2t5QXBwV2luZG93UmVmLFxufSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IFNreVN1bW1hcnlBY3Rpb25CYXJTdW1tYXJ5Q29tcG9uZW50IH0gZnJvbSAnLi9zdW1tYXJ5L3N1bW1hcnktYWN0aW9uLWJhci1zdW1tYXJ5LmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IFNreVN1bW1hcnlBY3Rpb25CYXJUeXBlIH0gZnJvbSAnLi90eXBlcy9zdW1tYXJ5LWFjdGlvbi1iYXItdHlwZSc7XG5cbmltcG9ydCB7IFNreVN1bW1hcnlBY3Rpb25CYXJBZGFwdGVyU2VydmljZSB9IGZyb20gJy4vc3VtbWFyeS1hY3Rpb24tYmFyLWFkYXB0ZXIuc2VydmljZSc7XG5cbi8qKlxuICogQXV0by1pbmNyZW1lbnRpbmcgaW50ZWdlciB1c2VkIHRvIGdlbmVyYXRlIHVuaXF1ZSBpZHMgZm9yIHN1bW1hcnkgYWN0aW9uIGJhciBjb21wb25lbnRzLlxuICovXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBDb250YWlucyB0aGUgYHNreS1zdW1tYXJ5LWFjdGlvbi1iYXItYWN0aW9uc2AgYW5kXG4gKiBgc2t5LXN1bW1hcnktYWN0aW9uLWJhci1zdW1tYXJ5YCBjb21wb25lbnRzLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktc3VtbWFyeS1hY3Rpb24tYmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N1bW1hcnktYWN0aW9uLWJhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N1bW1hcnktYWN0aW9uLWJhci5jb21wb25lbnQuc2NzcyddLFxuICBhbmltYXRpb25zOiBbc2t5QW5pbWF0aW9uU2xpZGVdLFxuICBwcm92aWRlcnM6IFtTa3lTdW1tYXJ5QWN0aW9uQmFyQWRhcHRlclNlcnZpY2VdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5U3VtbWFyeUFjdGlvbkJhckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBpc1N1bW1hcnlDb2xsYXBzZWQgPSBmYWxzZTtcblxuICBwdWJsaWMgZ2V0IGlzU3VtbWFyeUNvbGxhcHNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnR5cGUgPT09IFNreVN1bW1hcnlBY3Rpb25CYXJUeXBlLlN0YW5kYXJkTW9kYWwgfHxcbiAgICAgIHRoaXMubWVkaWFRdWVyeVNlcnZpY2UuY3VycmVudCA9PT0gU2t5TWVkaWFCcmVha3BvaW50cy54c1xuICAgICk7XG4gIH1cblxuICBwdWJsaWMgdHlwZTogU2t5U3VtbWFyeUFjdGlvbkJhclR5cGU7XG5cbiAgcHVibGljIHNsaWRlRGlyZWN0aW9uOiBzdHJpbmcgPSAnZG93bic7XG5cbiAgcHVibGljIHN1bW1hcnlJZDogc3RyaW5nID0gYHNreS1zdW1tYXJ5LWFjdGlvbi1iYXItc3VtbWFyeS0keysrbmV4dElkfWA7XG5cbiAgcHJpdmF0ZSBtZWRpYVF1ZXJ5U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgcHJpdmF0ZSBvYnNlcnZlcjogTXV0YXRpb25PYnNlcnZlcjtcblxuICBwcml2YXRlIGlkbGVkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICBAQ29udGVudENoaWxkKFNreVN1bW1hcnlBY3Rpb25CYXJTdW1tYXJ5Q29tcG9uZW50LCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgcHJpdmF0ZSBzdW1tYXJ5RWxlbWVudDogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFkYXB0ZXJTZXJ2aWNlOiBTa3lTdW1tYXJ5QWN0aW9uQmFyQWRhcHRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgbWVkaWFRdWVyeVNlcnZpY2U6IFNreU1lZGlhUXVlcnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgb2JzZXJ2ZXJTZXJ2aWNlOiBNdXRhdGlvbk9ic2VydmVyU2VydmljZSxcbiAgICBwcml2YXRlIHdpbmRvd1JlZjogU2t5QXBwV2luZG93UmVmXG4gICkge31cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMudHlwZSA9IHRoaXMuYWRhcHRlclNlcnZpY2UuZ2V0U3VtbWFyeUFjdGlvbkJhclR5cGUoXG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudFxuICAgICk7XG4gICAgaWYgKFxuICAgICAgIShcbiAgICAgICAgdGhpcy50eXBlID09PSBTa3lTdW1tYXJ5QWN0aW9uQmFyVHlwZS5GdWxsUGFnZU1vZGFsIHx8XG4gICAgICAgIHRoaXMudHlwZSA9PT0gU2t5U3VtbWFyeUFjdGlvbkJhclR5cGUuU3RhbmRhcmRNb2RhbFxuICAgICAgKVxuICAgICkge1xuICAgICAgdGhpcy5zZXR1cFJlYWN0aXZlU3RhdGUoKTtcblxuICAgICAgaWYgKHRoaXMudHlwZSA9PT0gU2t5U3VtbWFyeUFjdGlvbkJhclR5cGUuU3BsaXRWaWV3KSB7XG4gICAgICAgIHRoaXMuYWRhcHRlclNlcnZpY2Uuc3R5bGVTcGxpdFZpZXdFbGVtZW50Rm9yQWN0aW9uQmFyKHRoaXMuZWxlbWVudFJlZik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmFkYXB0ZXJTZXJ2aWNlLnN0eWxlQm9keUVsZW1lbnRGb3JBY3Rpb25CYXIodGhpcy5lbGVtZW50UmVmKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5zZXR1cFJlc2l6ZUxpc3RlbmVyKCk7XG5cbiAgICAgIGlmICh0aGlzLnR5cGUgPT09IFNreVN1bW1hcnlBY3Rpb25CYXJUeXBlLlRhYikge1xuICAgICAgICB0aGlzLnNldHVwVGFiTGlzdGVuZXIoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hZGFwdGVyU2VydmljZS5zdHlsZU1vZGFsRm9vdGVyKHRoaXMuZWxlbWVudFJlZik7XG5cbiAgICAgIGlmICh0aGlzLnR5cGUgPT09IFNreVN1bW1hcnlBY3Rpb25CYXJUeXBlLkZ1bGxQYWdlTW9kYWwpIHtcbiAgICAgICAgdGhpcy5zZXR1cFJlYWN0aXZlU3RhdGUoKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gU2t5U3VtbWFyeUFjdGlvbkJhclR5cGUuU3BsaXRWaWV3KSB7XG4gICAgICB0aGlzLmFkYXB0ZXJTZXJ2aWNlLnJldmVydFNwbGl0Vmlld0VsZW1lbnRTdHlsZXMoKTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgdGhpcy50eXBlID09PSBTa3lTdW1tYXJ5QWN0aW9uQmFyVHlwZS5QYWdlIHx8XG4gICAgICB0aGlzLnR5cGUgPT09IFNreVN1bW1hcnlBY3Rpb25CYXJUeXBlLlRhYlxuICAgICkge1xuICAgICAgdGhpcy5hZGFwdGVyU2VydmljZS5yZXZlcnRCb2R5RWxlbWVudFN0eWxlcygpO1xuICAgIH1cblxuICAgIHRoaXMucmVtb3ZlUmVzaXplTGlzdGVuZXIoKTtcbiAgICB0aGlzLnJlbW92ZVRhYkxpc3RlbmVyKCk7XG5cbiAgICBpZiAodGhpcy5tZWRpYVF1ZXJ5U3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLm1lZGlhUXVlcnlTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgdGhpcy5pZGxlZC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIG9uRGlyZWN0aW9uQ2hhbmdlKGRpcmVjdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zbGlkZURpcmVjdGlvbiA9IGRpcmVjdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBzdW1tYXJ5Q29udGVudEV4aXN0cygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5zdW1tYXJ5RWxlbWVudCAmJlxuICAgICAgdGhpcy5zdW1tYXJ5RWxlbWVudC5uYXRpdmVFbGVtZW50LmNoaWxkcmVuLmxlbmd0aCA+IDBcbiAgICApO1xuICB9XG5cbiAgLy8gTk9URTogVGhpcyBmdW5jdGlvbiBpcyBuZWVkZWQgc28gdGhhdCB0aGUgYnV0dG9uIGlzIG5vdCByZW1vdmVkIHVudGlsIHBvc3QtYW5pbWF0aW9uXG4gIHB1YmxpYyBzdW1tYXJ5VHJhbnNpdGlvbkVuZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zbGlkZURpcmVjdGlvbiA9PT0gJ3VwJykge1xuICAgICAgdGhpcy5pc1N1bW1hcnlDb2xsYXBzZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHRoaXMudHlwZSA9PT0gU2t5U3VtbWFyeUFjdGlvbkJhclR5cGUuUGFnZSB8fFxuICAgICAgdGhpcy50eXBlID09PSBTa3lTdW1tYXJ5QWN0aW9uQmFyVHlwZS5UYWJcbiAgICApIHtcbiAgICAgIHRoaXMuYWRhcHRlclNlcnZpY2Uuc3R5bGVCb2R5RWxlbWVudEZvckFjdGlvbkJhcih0aGlzLmVsZW1lbnRSZWYpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5PVEU6IFRoaXMgZnVuY3Rpb24gaXMgbmVlZGVkIHNvIHRoYXQgdGhlIGJ1dHRvbiBpcyBhZGRlZCBiZWZvcmUgYW5pbWF0aW9uXG4gIHB1YmxpYyBzdW1tYXJ5VHJhbnNpdGlvblN0YXJ0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNsaWRlRGlyZWN0aW9uID09PSAnZG93bicpIHtcbiAgICAgIHRoaXMuaXNTdW1tYXJ5Q29sbGFwc2VkID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cFJlYWN0aXZlU3RhdGUoKSB7XG4gICAgdGhpcy5tZWRpYVF1ZXJ5U3Vic2NyaXB0aW9uID0gdGhpcy5tZWRpYVF1ZXJ5U2VydmljZS5zdWJzY3JpYmUoXG4gICAgICAoYXJnczogU2t5TWVkaWFCcmVha3BvaW50cykgPT4ge1xuICAgICAgICBpZiAoYXJncyAhPT0gU2t5TWVkaWFCcmVha3BvaW50cy54cykge1xuICAgICAgICAgIHRoaXMuaXNTdW1tYXJ5Q29sbGFwc2VkID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5zbGlkZURpcmVjdGlvbiA9ICdkb3duJztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cFRhYkxpc3RlbmVyKCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKCF0aGlzLm9ic2VydmVyKSB7XG4gICAgICB0aGlzLm9ic2VydmVyID0gdGhpcy5vYnNlcnZlclNlcnZpY2UuY3JlYXRlKFxuICAgICAgICAobXV0YXRpb25zOiBNdXRhdGlvblJlY29yZFtdKSA9PiB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgKDxIVE1MRWxlbWVudD5tdXRhdGlvbnNbMF0udGFyZ2V0KS5hdHRyaWJ1dGVzLmdldE5hbWVkSXRlbSgnaGlkZGVuJylcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuYWRhcHRlclNlcnZpY2UucmV2ZXJ0Qm9keUVsZW1lbnRTdHlsZXMoKTtcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlUmVzaXplTGlzdGVuZXIoKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuYWRhcHRlclNlcnZpY2Uuc3R5bGVCb2R5RWxlbWVudEZvckFjdGlvbkJhcih0aGlzLmVsZW1lbnRSZWYpO1xuICAgICAgICAgICAgICB0aGlzLnNldHVwUmVzaXplTGlzdGVuZXIoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBjb25maWcgPSB7XG4gICAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgICAgYXR0cmlidXRlRmlsdGVyOiBbJ2hpZGRlbiddLFxuICAgICAgY2hpbGRMaXN0OiBmYWxzZSxcbiAgICAgIGNoYXJhY3RlckRhdGU6IGZhbHNlLFxuICAgIH07XG4gICAgbGV0IGVsID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgZG8ge1xuICAgICAgaWYgKGVsLmNsYXNzTGlzdC5jb250YWlucygnc2t5LXRhYicpKSB7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZShlbCwgY29uZmlnKTtcbiAgICAgIH1cbiAgICAgIGVsID0gZWwucGFyZW50RWxlbWVudDtcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1udWxsLWtleXdvcmRcbiAgICB9IHdoaWxlIChlbCAhPT0gbnVsbCAmJiBlbC5ub2RlVHlwZSA9PT0gMSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZVRhYkxpc3RlbmVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm9ic2VydmVyKSB7XG4gICAgICB0aGlzLm9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldHVwUmVzaXplTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudHlwZSAhPT0gU2t5U3VtbWFyeUFjdGlvbkJhclR5cGUuU3BsaXRWaWV3KSB7XG4gICAgICBjb25zdCB3aW5kb3dPYmogPSB0aGlzLndpbmRvd1JlZi5uYXRpdmVXaW5kb3c7XG4gICAgICBmcm9tRXZlbnQod2luZG93T2JqLCAncmVzaXplJylcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuaWRsZWQpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmFkYXB0ZXJTZXJ2aWNlLnN0eWxlQm9keUVsZW1lbnRGb3JBY3Rpb25CYXIodGhpcy5lbGVtZW50UmVmKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVSZXNpemVMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICB0aGlzLmlkbGVkLm5leHQodHJ1ZSk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJza3ktc3VtbWFyeS1hY3Rpb24tYmFyXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdza3ktc3VtbWFyeS1hY3Rpb24tYmFyLXN1bW1hcnktY29sbGFwc2libGUnOiBpc1N1bW1hcnlDb2xsYXBzaWJsZSxcbiAgICAnc2t5LXN1bW1hcnktYWN0aW9uLWJhci1tb2RhbCc6IHR5cGUgPT09IDEgfHwgdHlwZSA9PT0gMixcbiAgICAnc2t5LXN1bW1hcnktYWN0aW9uLWJhci1zcGxpdC12aWV3JzogdHlwZSA9PT0gNFxuICB9XCJcbj5cbiAgPGRpdiBjbGFzcz1cInNreS1zdW1tYXJ5LWFjdGlvbi1iYXItYWN0aW9uc1wiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1zdW1tYXJ5LWFjdGlvbi1iYXItYWN0aW9uc1wiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdW1tYXJ5Q29udGVudEV4aXN0cygpXCI+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJza3ktc3VtbWFyeS1hY3Rpb24tYmFyLXN1bW1hcnlcIlxuICAgICAgW2lkXT1cInN1bW1hcnlJZFwiXG4gICAgICBbQHNreUFuaW1hdGlvblNsaWRlXT1cInNsaWRlRGlyZWN0aW9uXCJcbiAgICAgIChAc2t5QW5pbWF0aW9uU2xpZGUuc3RhcnQpPVwic3VtbWFyeVRyYW5zaXRpb25TdGFydCgpXCJcbiAgICAgIChAc2t5QW5pbWF0aW9uU2xpZGUuZG9uZSk9XCJzdW1tYXJ5VHJhbnNpdGlvbkVuZCgpXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwic2t5LXN1bW1hcnktYWN0aW9uLWJhci1zdW1tYXJ5LWJvZHlcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNreS1zdW1tYXJ5LWFjdGlvbi1iYXItc3VtbWFyeS1pdGVtc1wiPlxuICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1zdW1tYXJ5LWFjdGlvbi1iYXItc3VtbWFyeVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAqbmdJZj1cImlzU3VtbWFyeUNvbGxhcHNpYmxlICYmICFpc1N1bW1hcnlDb2xsYXBzZWRcIlxuICAgICAgICAgIGNsYXNzPVwic2t5LXN1bW1hcnktYWN0aW9uLWJhci1kZXRhaWxzLWNvbGxhcHNlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjaGV2cm9uXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJpc1N1bW1hcnlDb2xsYXBzaWJsZSAmJiBpc1N1bW1hcnlDb2xsYXBzZWRcIlxuICAgICAgY2xhc3M9XCJza3ktc3VtbWFyeS1hY3Rpb24tYmFyLWRldGFpbHMtZXhwYW5kXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2hldnJvblwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2NoZXZyb24+XG4gIDxza3ktY2hldnJvblxuICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwic3VtbWFyeUlkXCJcbiAgICBbYXJpYUxhYmVsXT1cIidza3l1eF9zdW1tYXJ5X2FjdGlvbl9iYXJfZXhwYW5kJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgW2RpcmVjdGlvbl09XCJpc1N1bW1hcnlDb2xsYXBzZWQgPyAndXAnIDogJ2Rvd24nXCJcbiAgICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgICAnc2t5LW1hcmdpbi1pbmxpbmUtZGVmYXVsdCc6ICdtb2Rlcm4nXG4gICAgfVwiXG4gICAgKGRpcmVjdGlvbkNoYW5nZSk9XCJvbkRpcmVjdGlvbkNoYW5nZSgkZXZlbnQpXCJcbiAgPlxuICA8L3NreS1jaGV2cm9uPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==