@microsoft/windows-admin-center-sdk 2.510.1 → 2.523.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 (42) hide show
  1. package/angular/assets/strings/id-ID/strings.json +1 -0
  2. package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.js +53 -14
  3. package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.js.map +1 -1
  4. package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.min.js +1 -1
  5. package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.min.js.map +1 -1
  6. package/angular/esm2015/src/controls/accordion/accordion-panel/accordion-panel.component.js +30 -5
  7. package/angular/esm2015/src/controls/details/details.component.js +18 -5
  8. package/angular/fesm2015/microsoft-windows-admin-center-sdk-angular.js +52 -14
  9. package/angular/fesm2015/microsoft-windows-admin-center-sdk-angular.js.map +1 -1
  10. package/angular/src/controls/accordion/accordion-panel/accordion-panel.component.d.ts +26 -1
  11. package/angular/src/controls/details/details.component.d.ts +5 -1
  12. package/core/assets/strings/id-ID/strings.json +1 -0
  13. package/core/data/wdac-operations.d.ts +0 -48
  14. package/core/data/wdac-operations.js +1 -37
  15. package/core/data/wdac-operations.js.map +1 -1
  16. package/core/manifest/module-schema.json +1 -0
  17. package/core/security/sign-on-manager.d.ts +1 -1
  18. package/core/security/sign-on-manager.js +1 -1
  19. package/core/security/sign-on-manager.js.map +1 -1
  20. package/e2e/assets/strings/cs-CZ/strings.json +1 -1
  21. package/e2e/assets/strings/de-DE/strings.json +1 -1
  22. package/e2e/assets/strings/es-ES/strings.json +1 -1
  23. package/e2e/assets/strings/fr-FR/strings.json +1 -1
  24. package/e2e/assets/strings/hu-HU/strings.json +1 -1
  25. package/e2e/assets/strings/id-ID/strings.json +1 -0
  26. package/e2e/assets/strings/it-IT/strings.json +1 -1
  27. package/e2e/assets/strings/ja-JP/strings.json +1 -1
  28. package/e2e/assets/strings/ko-KR/strings.json +1 -1
  29. package/e2e/assets/strings/nl-NL/strings.json +1 -1
  30. package/e2e/assets/strings/pl-PL/strings.json +1 -1
  31. package/e2e/assets/strings/pt-BR/strings.json +1 -1
  32. package/e2e/assets/strings/pt-PT/strings.json +1 -1
  33. package/e2e/assets/strings/ru-RU/strings.json +1 -1
  34. package/e2e/assets/strings/strings.json +1 -1
  35. package/e2e/assets/strings/sv-SE/strings.json +1 -1
  36. package/e2e/assets/strings/tr-TR/strings.json +1 -1
  37. package/e2e/assets/strings/zh-CN/strings.json +1 -1
  38. package/e2e/assets/strings/zh-TW/strings.json +1 -1
  39. package/package.json +1 -1
  40. package/styles/css/main-v2.css +1 -1
  41. package/tools/gulp-ps-resjson/index.js +1 -1
  42. package/tools/gulp-ps-resjson/index.js.map +1 -1
@@ -13,6 +13,9 @@ function AccordionPanelComponent_div_8_Template(rf, ctx) { if (rf & 1) {
13
13
  i0.ɵɵelementStart(0, "div", 8);
14
14
  i0.ɵɵprojection(1, 1);
15
15
  i0.ɵɵelementEnd();
16
+ } if (rf & 2) {
17
+ const ctx_r2 = i0.ɵɵnextContext();
18
+ i0.ɵɵclassProp("sme-padding-inset-sm", ctx_r2.paddingInset);
16
19
  } }
17
20
  const _c2 = [[["sme-panel-control"]], "*"];
18
21
  const _c3 = ["sme-panel-control", "*"];
@@ -32,11 +35,27 @@ export class PanelControlComponent {
32
35
  }], null, null); })();
33
36
  export class AccordionPanelComponent {
34
37
  constructor() {
38
+ /**
39
+ * It indicates whether the panel is expandable.
40
+ */
35
41
  this.isExpandable = true;
42
+ /**
43
+ * It determines the border radius for the panel.
44
+ * True will apply border radius to have round corners.
45
+ */
46
+ this.borderRadius = false;
47
+ /**
48
+ * It determines the padding inset for the panel body.
49
+ * True will apply a default padding to the panel body.
50
+ */
51
+ this.paddingInset = false;
36
52
  this.toggled = new EventEmitter();
37
53
  this.opened = true;
38
54
  this.canClose = this.isExpandable;
39
55
  }
56
+ /**
57
+ * The on toggle function implementation.
58
+ */
40
59
  onToggle() {
41
60
  if (this.isExpandable) {
42
61
  this.opened = !this.opened;
@@ -45,7 +64,7 @@ export class AccordionPanelComponent {
45
64
  }
46
65
  }
47
66
  /** @nocollapse */ AccordionPanelComponent.ɵfac = function AccordionPanelComponent_Factory(t) { return new (t || AccordionPanelComponent)(); };
48
- /** @nocollapse */ AccordionPanelComponent.ɵcmp = i0.ɵɵdefineComponent({ type: AccordionPanelComponent, selectors: [["sme-accordion-panel"]], inputs: { header: "header", opened: "opened", isExpandable: "isExpandable" }, outputs: { toggled: "toggled" }, ngContentSelectors: _c3, decls: 9, vars: 6, consts: [[1, "sme-accordion-panel"], [1, "sme-arrange-stack-h", "sme-panel-header"], [1, "sme-button", "sme-button-align-left", "sme-button-trigger", "sme-position-flex-auto", "sme-panel-expander", 3, "click"], ["accordionPanelButton", ""], ["class", "sme-position-flex-none sme-icon", 3, "ngClass", 4, "ngIf"], [1, "sme-arrange-ellipsis", 3, "title"], ["class", "sme-panel-body", 4, "ngIf"], [1, "sme-position-flex-none", "sme-icon", 3, "ngClass"], [1, "sme-panel-body"]], template: function AccordionPanelComponent_Template(rf, ctx) { if (rf & 1) {
67
+ /** @nocollapse */ AccordionPanelComponent.ɵcmp = i0.ɵɵdefineComponent({ type: AccordionPanelComponent, selectors: [["sme-accordion-panel"]], inputs: { header: "header", opened: "opened", isExpandable: "isExpandable", borderRadius: "borderRadius", paddingInset: "paddingInset" }, outputs: { toggled: "toggled" }, ngContentSelectors: _c3, decls: 9, vars: 14, consts: [[1, "sme-accordion-panel"], [1, "sme-arrange-stack-h", "sme-panel-header", "sme-layout-flex", "sme-position-flex-align-center"], [1, "sme-button", "sme-button-align-left", "sme-button-trigger", "sme-position-flex-auto", "sme-panel-expander", 3, "click"], ["accordionPanelButton", ""], ["class", "sme-position-flex-none sme-icon sme-position-stretch-v", 3, "ngClass", 4, "ngIf"], [1, "sme-arrange-ellipsis", "sme-position-stretch-v", 3, "title"], ["class", "sme-panel-body", 3, "sme-padding-inset-sm", 4, "ngIf"], [1, "sme-position-flex-none", "sme-icon", "sme-position-stretch-v", 3, "ngClass"], [1, "sme-panel-body"]], template: function AccordionPanelComponent_Template(rf, ctx) { if (rf & 1) {
49
68
  i0.ɵɵprojectionDef(_c2);
50
69
  i0.ɵɵelementStart(0, "div", 0);
51
70
  i0.ɵɵelementStart(1, "div", 1);
@@ -58,11 +77,13 @@ export class AccordionPanelComponent {
58
77
  i0.ɵɵelementEnd();
59
78
  i0.ɵɵprojection(7);
60
79
  i0.ɵɵelementEnd();
61
- i0.ɵɵtemplate(8, AccordionPanelComponent_div_8_Template, 2, 0, "div", 6);
80
+ i0.ɵɵtemplate(8, AccordionPanelComponent_div_8_Template, 2, 2, "div", 6);
62
81
  i0.ɵɵelementEnd();
63
82
  } if (rf & 2) {
64
- i0.ɵɵadvance(2);
65
- i0.ɵɵclassProp("sme-focus-zone", ctx.canClose);
83
+ i0.ɵɵadvance(1);
84
+ i0.ɵɵclassProp("sme-panel-header-border-radius", ctx.borderRadius)("sme-panel-header-border-radius-opened", ctx.borderRadius && ctx.opened);
85
+ i0.ɵɵadvance(1);
86
+ i0.ɵɵclassProp("sme-focus-zone", ctx.canClose)("sme-panel-header-border-radius", ctx.borderRadius)("sme-panel-header-border-radius-opened", ctx.borderRadius && ctx.opened);
66
87
  i0.ɵɵadvance(2);
67
88
  i0.ɵɵproperty("ngIf", ctx.canClose);
68
89
  i0.ɵɵadvance(1);
@@ -84,7 +105,11 @@ export class AccordionPanelComponent {
84
105
  type: Input
85
106
  }], isExpandable: [{
86
107
  type: Input
108
+ }], borderRadius: [{
109
+ type: Input
110
+ }], paddingInset: [{
111
+ type: Input
87
112
  }], toggled: [{
88
113
  type: Output
89
114
  }] }); })();
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2FuZ3VsYXIvc3JjL2NvbnRyb2xzL2FjY29yZGlvbi9hY2NvcmRpb24tcGFuZWwvYWNjb3JkaW9uLXBhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2FuZ3VsYXIvc3JjL2NvbnRyb2xzL2FjY29yZGlvbi9hY2NvcmRpb24tcGFuZWwvYWNjb3JkaW9uLXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztJQ0tqRSwwQkFDdUY7OztJQUFyRixtRkFBNkU7OztJQUtuRiw4QkFBMkM7SUFDekMscUJBQXlCO0lBQzNCLGlCQUFNOzs7O0FEUFIsTUFBTSxPQUFPLHFCQUFxQjs7NkdBQXJCLHFCQUFxQjs2RUFBckIscUJBQXFCOztRQUZuQixrQkFBeUI7O3VGQUUzQixxQkFBcUI7Y0FKakMsU0FBUztlQUFDO2dCQUNQLFFBQVEsRUFBRSxtQkFBbUI7Z0JBQzdCLFFBQVEsRUFBRSwyQkFBMkI7YUFDeEM7O0FBUUQsTUFBTSxPQUFPLHVCQUF1QjtJQVloQztRQUpPLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBVXBCLFlBQU8sR0FBMEMsSUFBSSxZQUFZLEVBQTJCLENBQUM7UUFMaEcsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQ3RDLENBQUM7SUFLTSxRQUFRO1FBQ1gsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzNCO0lBQ0wsQ0FBQzs7aUhBekJRLHVCQUF1QjsrRUFBdkIsdUJBQXVCOztRQ2JwQyw4QkFBaUM7UUFDL0IsOEJBQWtEO1FBQ2hELGlDQUV1QjtRQUFyQixpR0FBUyxjQUFVLElBQUM7UUFDcEIsMEVBQ3VGO1FBQ3ZGLCtCQUFvRDtRQUFBLFlBQVk7UUFBQSxpQkFBTztRQUN6RSxpQkFBTTtRQUNOLGtCQUFvRDtRQUN0RCxpQkFBTTtRQUNOLHdFQUVNO1FBQ1IsaUJBQU07O1FBWnlCLGVBQWlDO1FBQWpDLDhDQUFpQztRQUduRCxlQUFjO1FBQWQsbUNBQWM7UUFFYyxlQUFnQjtRQUFoQixrQ0FBZ0I7UUFBQyxlQUFZO1FBQVosZ0NBQVk7UUFJdkMsZUFBWTtRQUFaLGlDQUFZOzt1RkRFOUIsdUJBQXVCO2NBSm5DLFNBQVM7ZUFBQztnQkFDUCxRQUFRLEVBQUUscUJBQXFCO2dCQUMvQixXQUFXLEVBQUUsa0NBQWtDO2FBQ2xEO3NDQUdVLE1BQU07a0JBRFosS0FBSztZQUlDLE1BQU07a0JBRFosS0FBSztZQUlDLFlBQVk7a0JBRGxCLEtBQUs7WUFXQyxPQUFPO2tCQURiLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3NtZS1wYW5lbC1jb250cm9sJyxcclxuICAgIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PidcclxufSlcclxuZXhwb3J0IGNsYXNzIFBhbmVsQ29udHJvbENvbXBvbmVudCB7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzbWUtYWNjb3JkaW9uLXBhbmVsJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9hY2NvcmRpb24tcGFuZWwuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY2NvcmRpb25QYW5lbENvbXBvbmVudCB7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGhlYWRlcjogc3RyaW5nO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgb3BlbmVkOiBib29sZWFuO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgaXNFeHBhbmRhYmxlID0gdHJ1ZTtcclxuXHJcbiAgICBwdWJsaWMgY2FuQ2xvc2U6IGJvb2xlYW47XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgdGhpcy5vcGVuZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuY2FuQ2xvc2UgPSB0aGlzLmlzRXhwYW5kYWJsZTtcclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyB0b2dnbGVkOiBFdmVudEVtaXR0ZXI8QWNjb3JkaW9uUGFuZWxDb21wb25lbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBY2NvcmRpb25QYW5lbENvbXBvbmVudD4oKTtcclxuXHJcbiAgICBwdWJsaWMgb25Ub2dnbGUoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNFeHBhbmRhYmxlKSB7XHJcbiAgICAgICAgICAgIHRoaXMub3BlbmVkID0gIXRoaXMub3BlbmVkO1xyXG4gICAgICAgICAgICB0aGlzLnRvZ2dsZWQuZW1pdCh0aGlzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInNtZS1hY2NvcmRpb24tcGFuZWxcIj5cclxuICA8ZGl2IGNsYXNzPVwic21lLWFycmFuZ2Utc3RhY2staCBzbWUtcGFuZWwtaGVhZGVyXCI+XHJcbiAgICA8ZGl2ICNhY2NvcmRpb25QYW5lbEJ1dHRvbiBbY2xhc3Muc21lLWZvY3VzLXpvbmVdPVwiY2FuQ2xvc2VcIlxyXG4gICAgICBjbGFzcz1cInNtZS1idXR0b24gc21lLWJ1dHRvbi1hbGlnbi1sZWZ0IHNtZS1idXR0b24tdHJpZ2dlciBzbWUtcG9zaXRpb24tZmxleC1hdXRvIHNtZS1wYW5lbC1leHBhbmRlclwiXHJcbiAgICAgIChjbGljayk9XCJvblRvZ2dsZSgpXCI+XHJcbiAgICAgIDxzcGFuICpuZ0lmPVwiY2FuQ2xvc2VcIiBjbGFzcz1cInNtZS1wb3NpdGlvbi1mbGV4LW5vbmUgc21lLWljb25cIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cInsnc21lLWljb24tY2hldnJvbkRvd24nOm9wZW5lZCwgJ3NtZS1pY29uLWNoZXZyb25SaWdodCc6ICFvcGVuZWR9XCI+PC9zcGFuPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cInNtZS1hcnJhbmdlLWVsbGlwc2lzXCIgW3RpdGxlXT1cImhlYWRlclwiPnt7IGhlYWRlciB9fTwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic21lLXBhbmVsLWNvbnRyb2xcIj48L25nLWNvbnRlbnQ+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cInNtZS1wYW5lbC1ib2R5XCIgKm5nSWY9XCJvcGVuZWRcIj5cclxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2FuZ3VsYXIvc3JjL2NvbnRyb2xzL2FjY29yZGlvbi9hY2NvcmRpb24tcGFuZWwvYWNjb3JkaW9uLXBhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2FuZ3VsYXIvc3JjL2NvbnRyb2xzL2FjY29yZGlvbi9hY2NvcmRpb24tcGFuZWwvYWNjb3JkaW9uLXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztJQ09qRSwwQkFDdUY7OztJQUFyRixtRkFBNkU7OztJQUtuRiw4QkFBdUY7SUFDckYscUJBQXlCO0lBQzNCLGlCQUFNOzs7SUFGcUMsMkRBQTJDOzs7O0FEUHhGLE1BQU0sT0FBTyxxQkFBcUI7OzZHQUFyQixxQkFBcUI7NkVBQXJCLHFCQUFxQjs7UUFGbkIsa0JBQXlCOzt1RkFFM0IscUJBQXFCO2NBSmpDLFNBQVM7ZUFBQztnQkFDUCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3QixRQUFRLEVBQUUsMkJBQTJCO2FBQ3hDOztBQVFELE1BQU0sT0FBTyx1QkFBdUI7SUFzQ2hDO1FBekJBOztXQUVHO1FBRUksaUJBQVksR0FBRyxJQUFJLENBQUM7UUFFM0I7OztXQUdHO1FBRUksaUJBQVksR0FBRyxLQUFLLENBQUM7UUFFNUI7OztXQUdHO1FBRUksaUJBQVksR0FBRyxLQUFLLENBQUM7UUFhckIsWUFBTyxHQUEwQyxJQUFJLFlBQVksRUFBMkIsQ0FBQztRQUxoRyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDdEMsQ0FBQztJQUtEOztPQUVHO0lBQ0ksUUFBUTtRQUNYLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMzQjtJQUNMLENBQUM7O2lIQXREUSx1QkFBdUI7K0VBQXZCLHVCQUF1Qjs7UUNicEMsOEJBQWlDO1FBQy9CLDhCQUN5RTtRQUN2RSxpQ0FHdUI7UUFBckIsaUdBQVMsY0FBVSxJQUFDO1FBQ3BCLDBFQUN1RjtRQUN2RiwrQkFBMkU7UUFBQSxZQUFZO1FBQUEsaUJBQU87UUFDaEcsaUJBQU07UUFDTixrQkFBb0Q7UUFDdEQsaUJBQU07UUFDTix3RUFFTTtRQUNSLGlCQUFNOztRQWY2RixlQUFxRDtRQUFyRCxrRUFBcUQseUVBQUE7UUFFekgsZUFBaUM7UUFBakMsOENBQWlDLG9EQUFBLHlFQUFBO1FBSW5ELGVBQWM7UUFBZCxtQ0FBYztRQUVxQyxlQUFnQjtRQUFoQixrQ0FBZ0I7UUFBQyxlQUFZO1FBQVosZ0NBQVk7UUFJOUQsZUFBWTtRQUFaLGlDQUFZOzt1RkRBOUIsdUJBQXVCO2NBSm5DLFNBQVM7ZUFBQztnQkFDUCxRQUFRLEVBQUUscUJBQXFCO2dCQUMvQixXQUFXLEVBQUUsa0NBQWtDO2FBQ2xEO3NDQU1VLE1BQU07a0JBRFosS0FBSztZQU9DLE1BQU07a0JBRFosS0FBSztZQU9DLFlBQVk7a0JBRGxCLEtBQUs7WUFRQyxZQUFZO2tCQURsQixLQUFLO1lBUUMsWUFBWTtrQkFEbEIsS0FBSztZQWNDLE9BQU87a0JBRGIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc21lLXBhbmVsLWNvbnRyb2wnLFxyXG4gICAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFuZWxDb250cm9sQ29tcG9uZW50IHtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3NtZS1hY2NvcmRpb24tcGFuZWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FjY29yZGlvbi1wYW5lbC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFjY29yZGlvblBhbmVsQ29tcG9uZW50IHtcclxuICAgIC8qKlxyXG4gICAgICogSXQgZGV0ZXJtaW5lcyB0aGUgaGVhZGVyIGZvciB0aGUgcGFuZWwuXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgaGVhZGVyOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJdCBpbmRpY2F0ZXMgd2hldGhlciB0aGUgcGFuZWwgaXMgb3BlbmVkLlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIG9wZW5lZDogYm9vbGVhbjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEl0IGluZGljYXRlcyB3aGV0aGVyIHRoZSBwYW5lbCBpcyBleHBhbmRhYmxlLlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGlzRXhwYW5kYWJsZSA9IHRydWU7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJdCBkZXRlcm1pbmVzIHRoZSBib3JkZXIgcmFkaXVzIGZvciB0aGUgcGFuZWwuXHJcbiAgICAgKiBUcnVlIHdpbGwgYXBwbHkgYm9yZGVyIHJhZGl1cyB0byBoYXZlIHJvdW5kIGNvcm5lcnMuXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgYm9yZGVyUmFkaXVzID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJdCBkZXRlcm1pbmVzIHRoZSBwYWRkaW5nIGluc2V0IGZvciB0aGUgcGFuZWwgYm9keS5cclxuICAgICAqIFRydWUgd2lsbCBhcHBseSBhIGRlZmF1bHQgcGFkZGluZyB0byB0aGUgcGFuZWwgYm9keS5cclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBwYWRkaW5nSW5zZXQgPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEl0IGluZGljYXRlcyB3aGV0aGVyIHRoZSBwYW5lbCBjYW4gYmUgY2xvc2VkLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY2FuQ2xvc2U6IGJvb2xlYW47XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgdGhpcy5vcGVuZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuY2FuQ2xvc2UgPSB0aGlzLmlzRXhwYW5kYWJsZTtcclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyB0b2dnbGVkOiBFdmVudEVtaXR0ZXI8QWNjb3JkaW9uUGFuZWxDb21wb25lbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBY2NvcmRpb25QYW5lbENvbXBvbmVudD4oKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBvbiB0b2dnbGUgZnVuY3Rpb24gaW1wbGVtZW50YXRpb24uXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBvblRvZ2dsZSgpIHtcclxuICAgICAgICBpZiAodGhpcy5pc0V4cGFuZGFibGUpIHtcclxuICAgICAgICAgICAgdGhpcy5vcGVuZWQgPSAhdGhpcy5vcGVuZWQ7XHJcbiAgICAgICAgICAgIHRoaXMudG9nZ2xlZC5lbWl0KHRoaXMpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic21lLWFjY29yZGlvbi1wYW5lbFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJzbWUtYXJyYW5nZS1zdGFjay1oIHNtZS1wYW5lbC1oZWFkZXIgc21lLWxheW91dC1mbGV4IHNtZS1wb3NpdGlvbi1mbGV4LWFsaWduLWNlbnRlclwiIFtjbGFzcy5zbWUtcGFuZWwtaGVhZGVyLWJvcmRlci1yYWRpdXNdPVwiYm9yZGVyUmFkaXVzXCJcclxuICAgIFtjbGFzcy5zbWUtcGFuZWwtaGVhZGVyLWJvcmRlci1yYWRpdXMtb3BlbmVkXT1cImJvcmRlclJhZGl1cyAmJiBvcGVuZWRcIj5cclxuICAgIDxkaXYgI2FjY29yZGlvblBhbmVsQnV0dG9uIFtjbGFzcy5zbWUtZm9jdXMtem9uZV09XCJjYW5DbG9zZVwiIFtjbGFzcy5zbWUtcGFuZWwtaGVhZGVyLWJvcmRlci1yYWRpdXNdPVwiYm9yZGVyUmFkaXVzXCJcclxuICAgICAgW2NsYXNzLnNtZS1wYW5lbC1oZWFkZXItYm9yZGVyLXJhZGl1cy1vcGVuZWRdPVwiYm9yZGVyUmFkaXVzICYmIG9wZW5lZFwiXHJcbiAgICAgIGNsYXNzPVwic21lLWJ1dHRvbiBzbWUtYnV0dG9uLWFsaWduLWxlZnQgc21lLWJ1dHRvbi10cmlnZ2VyIHNtZS1wb3NpdGlvbi1mbGV4LWF1dG8gc21lLXBhbmVsLWV4cGFuZGVyXCJcclxuICAgICAgKGNsaWNrKT1cIm9uVG9nZ2xlKClcIj5cclxuICAgICAgPHNwYW4gKm5nSWY9XCJjYW5DbG9zZVwiIGNsYXNzPVwic21lLXBvc2l0aW9uLWZsZXgtbm9uZSBzbWUtaWNvbiBzbWUtcG9zaXRpb24tc3RyZXRjaC12XCJcclxuICAgICAgICBbbmdDbGFzc109XCJ7J3NtZS1pY29uLWNoZXZyb25Eb3duJzpvcGVuZWQsICdzbWUtaWNvbi1jaGV2cm9uUmlnaHQnOiAhb3BlbmVkfVwiPjwvc3Bhbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJzbWUtYXJyYW5nZS1lbGxpcHNpcyBzbWUtcG9zaXRpb24tc3RyZXRjaC12XCIgW3RpdGxlXT1cImhlYWRlclwiPnt7IGhlYWRlciB9fTwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic21lLXBhbmVsLWNvbnRyb2xcIj48L25nLWNvbnRlbnQ+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cInNtZS1wYW5lbC1ib2R5XCIgKm5nSWY9XCJvcGVuZWRcIiBbY2xhc3Muc21lLXBhZGRpbmctaW5zZXQtc21dPVwicGFkZGluZ0luc2V0XCI+XHJcbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -21,7 +21,8 @@ function DetailsComponent_span_6_Template(rf, ctx) { if (rf & 1) {
21
21
  const ctx_r2 = i0.ɵɵnextContext();
22
22
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(1, _c1, ctx_r2.isExpanded, !ctx_r2.isExpanded));
23
23
  } }
24
- const _c2 = ["*"];
24
+ const _c2 = function (a0, a1) { return { "sme-layout-absolute-phone-up sme-position-inset-none sme-padding-bottom-sm sme-arrange-overflow-auto": a0, "sme-layout-relative sme-position-stretch-v": a1 }; };
25
+ const _c3 = ["*"];
25
26
  /**
26
27
  *
27
28
  * @smeDoc {@label Details @id sme-details}
@@ -38,6 +39,10 @@ export class DetailsComponent extends CoreBaseComponent {
38
39
  constructor(injector, layout) {
39
40
  super(injector);
40
41
  this.resourceStrings = MsftSme.getStrings().MsftSmeShell.Angular.Details;
42
+ /**
43
+ * The detail component's height will be determined on the whole children's height.
44
+ */
45
+ this.autoHeight = false;
41
46
  this.isExpandedChange = new EventEmitter();
42
47
  this.layoutChanged = new EventEmitter();
43
48
  this.initialHeightPercentage = 30;
@@ -159,7 +164,12 @@ export class DetailsComponent extends CoreBaseComponent {
159
164
  potentialHeight = Math.min(potentialHeight, maxHeight);
160
165
  potentialHeight = Math.max(potentialHeight, minHeight);
161
166
  this.hostElement.nativeElement.style.minHeight = '';
162
- this.hostElement.nativeElement.style.height = `{0}px`.format(potentialHeight);
167
+ if (!this.autoHeight) {
168
+ this.hostElement.nativeElement.style.height = `{0}px`.format(potentialHeight);
169
+ }
170
+ else {
171
+ this.hostElement.nativeElement.style.height = '';
172
+ }
163
173
  }
164
174
  setTimeout(() => {
165
175
  // the height would be changed on window height or width change
@@ -184,7 +194,7 @@ export class DetailsComponent extends CoreBaseComponent {
184
194
  } if (rf & 2) {
185
195
  let _t;
186
196
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.expander = _t.first);
187
- } }, inputs: { initialHeightPercentage: "initialHeightPercentage", header: "header", chevronInverted: "chevronInverted", title: "title", isExpanded: "isExpanded" }, outputs: { isExpandedChange: "isExpandedChange" }, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c2, decls: 12, vars: 13, consts: [["role", "button", "tabindex", "0", 1, "sme-button", "sme-button-trigger", "sme-button-auto-width", "sme-position-flex-none", "sme-padding-squish-v-md", "sme-padding-horizontal-lg", "sme-position-stretch-h", "sme-position-left-inline", "sme-arrange-stack-h", "sme-focus-zone", 3, "click"], ["expander", ""], [1, "sme-font-h3", "sme-position-flex-auto", "sme-arrange-ellipsis"], ["class", "sme-icon sme-position-flex-none", "aria-hidden", "true", 3, "ngClass", 4, "ngIf"], [1, "sme-screen-reader", 3, "id"], [1, "sme-position-flex-auto", "sme-layout-relative"], [1, "sme-layout-absolute-phone-up", "sme-position-inset-none", "sme-padding-bottom-sm", "sme-arrange-overflow-auto"], ["aria-hidden", "true", 1, "sme-icon", "sme-position-flex-none", 3, "ngClass"]], template: function DetailsComponent_Template(rf, ctx) { if (rf & 1) {
197
+ } }, inputs: { initialHeightPercentage: "initialHeightPercentage", header: "header", chevronInverted: "chevronInverted", autoHeight: "autoHeight", title: "title", isExpanded: "isExpanded" }, outputs: { isExpandedChange: "isExpandedChange" }, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c3, decls: 12, vars: 19, consts: [["role", "button", "tabindex", "0", 1, "sme-button", "sme-button-trigger", "sme-button-auto-width", "sme-position-flex-none", "sme-padding-squish-v-md", "sme-padding-horizontal-lg", "sme-position-stretch-h", "sme-position-left-inline", "sme-arrange-stack-h", "sme-focus-zone", 3, "click"], ["expander", ""], [1, "sme-font-h3", "sme-position-flex-auto", "sme-arrange-ellipsis"], ["class", "sme-icon sme-position-flex-none", "aria-hidden", "true", 3, "ngClass", 4, "ngIf"], [1, "sme-screen-reader", 3, "id"], [1, "sme-position-flex-auto", "sme-layout-relative"], [3, "ngClass"], ["aria-hidden", "true", 1, "sme-icon", "sme-position-flex-none", 3, "ngClass"]], template: function DetailsComponent_Template(rf, ctx) { if (rf & 1) {
188
198
  i0.ɵɵprojectionDef();
189
199
  i0.ɵɵelementStart(0, "h3");
190
200
  i0.ɵɵelementStart(1, "div", 0, 1);
@@ -219,9 +229,10 @@ export class DetailsComponent extends CoreBaseComponent {
219
229
  i0.ɵɵadvance(1);
220
230
  i0.ɵɵtextInterpolate1(" ", ctx.resourceStrings.AriaDescription, "");
221
231
  i0.ɵɵadvance(1);
222
- i0.ɵɵclassProp("sme-margin-horizontal-lg", ctx.shouldContentSlim);
232
+ i0.ɵɵclassProp("sme-margin-horizontal-lg", ctx.shouldContentSlim)("sme-position-stretch-v", ctx.autoHeight);
223
233
  i0.ɵɵadvance(1);
224
234
  i0.ɵɵclassProp("sme-layout-none", !ctx.isExpanded);
235
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(16, _c2, !ctx.autoHeight, ctx.autoHeight));
225
236
  } }, directives: [i1.NgIf, i1.NgClass], encapsulation: 2 });
226
237
  __decorate([
227
238
  Yield(),
@@ -261,6 +272,8 @@ __decorate([
261
272
  type: Input
262
273
  }], chevronInverted: [{
263
274
  type: Input
275
+ }], autoHeight: [{
276
+ type: Input
264
277
  }], title: [{
265
278
  type: Input
266
279
  }], isExpanded: [{
@@ -268,4 +281,4 @@ __decorate([
268
281
  }], isExpandedChange: [{
269
282
  type: Output
270
283
  }], onWindowBreakpointChanged: [], deferredOnLayoutChanged: [], onLayoutChanged: [] }); })();
271
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9jb250cm9scy9kZXRhaWxzL2RldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvZGV0YWlscy9kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBRUwsUUFBUSxFQUNSLE1BQU0sRUFFTixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhFQUE4RSxDQUFDO0FBRXhHLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwwRUFBMEUsQ0FBQztBQUVqRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RCxPQUFPLEVBQVUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7O0lDYmpGLDBCQUU0Qjs7O0lBRDFCLDJGQUF5Rjs7O0lBRTNGLDBCQUU0Qjs7O0lBRDFCLDJGQUF5Rjs7O0FEVy9GOzs7Ozs7Ozs7OztHQVdHO0FBS0gsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGlCQUFpQjtJQW1EbkQsWUFBWSxRQUFrQixFQUEyQyxNQUFjO1FBQ25GLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQXJDYixvQkFBZSxHQUFHLE9BQU8sQ0FBQyxVQUFVLEVBQVcsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQThCN0UscUJBQWdCLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7UUFFdEUsa0JBQWEsR0FBdUIs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OytEQUdWO0FBTUQ7SUFEQyxLQUFLLEVBQUU7Ozs7dURBc0VQO3VGQTVLUSxnQkFBZ0I7Y0FKNUIsU0FBUztlQUFDO2dCQUNQLFFBQVEsRUFBRSxhQUFhO2dCQUN2QixXQUFXLEVBQUUsMEJBQTBCO2FBQzFDOztzQkFvRG9DLFFBQVE7O3NCQUFJLE1BQU07dUJBQUMsbUJBQW1CO3dCQWpDaEUsUUFBUTtrQkFEZCxTQUFTO21CQUFDLFVBQVU7WUFJZCx1QkFBdUI7a0JBRDdCLEtBQUs7WUFJQyxNQUFNO2tCQURaLEtBQUs7WUFJQyxlQUFlO2tCQURyQixLQUFLO1lBT0ssS0FBSztrQkFEZixLQUFLO1lBVUMsVUFBVTtrQkFEaEIsS0FBSztZQUlDLGdCQUFnQjtrQkFEdEIsTUFBTTtZQTJDQSx5QkFBeUIsTUFReEIsdUJBQXVCLE1BUXZCLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgRWxlbWVudFJlZixcclxuICAgIEV2ZW50RW1pdHRlcixcclxuICAgIEluamVjdCxcclxuICAgIEluamVjdG9yLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkNoYW5nZXMsXHJcbiAgICBPcHRpb25hbCxcclxuICAgIE91dHB1dCxcclxuICAgIFNpbXBsZUNoYW5nZXMsXHJcbiAgICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGVib3VuY2UgfSBmcm9tICdAbWljcm9zb2Z0L3dpbmRvd3MtYWRtaW4tY2VudGVyLXNkay9jb3JlL2Jhc2UvZGVjb3JhdG9ycy9kZWJvdW5jZS5kZWNvcmF0b3JzJztcclxuaW1wb3J0IHsgRGVwcmVjYXRlZCB9IGZyb20gJ0BtaWNyb3NvZnQvd2luZG93cy1hZG1pbi1jZW50ZXItc2RrL2NvcmUvYmFzZS9kZWNvcmF0b3JzL2RlcHJlY2F0aW9uLmRlY29yYXRvcnMnO1xyXG5pbXBvcnQgeyBZaWVsZCB9IGZyb20gJ0BtaWNyb3NvZnQvd2luZG93cy1hZG1pbi1jZW50ZXItc2RrL2NvcmUvYmFzZS9kZWNvcmF0b3JzL3lpZWxkLmRlY29yYXRvcic7XHJcbmltcG9ydCB7IFN0cmluZ3MgfSBmcm9tICcuLi8uLi9nZW5lcmF0ZWQvc3RyaW5ncyc7XHJcbmltcG9ydCB7IENvcmVCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tbW9uL2Jhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTGF5b3V0LCBTTUVfTEFZT1VUX1BST1ZJREVSIH0gZnJvbSAnLi4vY29tbW9uL2xheW91dCc7XHJcbmltcG9ydCB7IERldGFpbHNSZXNwb25zaXZlV2luZG93TWFuYWdlciB9IGZyb20gJy4vZGV0YWlscy1yZXNwb25zaXZlLXdpbmRvdy1tYW5hZ2VyJztcclxuXHJcbi8qKlxyXG4gKlxyXG4gKiBAc21lRG9jIHtAbGFiZWwgRGV0YWlscyBAaWQgc21lLWRldGFpbHN9XHJcbiAqXHJcbiAqIEBvdmVydmlld1xyXG4gKiBAZmlsZSB7QGZpbGVwYXRoIC4vZXhhbXBsZXMvZGV0YWlscy1vdmVydmlldy5tZH1cclxuICpcclxuICogQGV4YW1wbGUge0BsYWJlbCBCYXNpYyBVc2FnZSBAaWQgYmFzaWMtdXNhZ2V9XHJcbiAqIEBmaWxlIHtAZmlsZW5hbWUgY29tcG9uZW50LnRzIEBmaWxlcGF0aCAuL2V4YW1wbGVzL2RldGFpbHMtZXhhbXBsZS5jb21wb25lbnQudHN9XHJcbiAqIEBmaWxlIHtAZmlsZW5hbWUgY29tcG9uZW50Lmh0bWwgQGZpbGVwYXRoIC4vZXhhbXBsZXMvZGV0YWlscy1leGFtcGxlLmNvbXBvbmVudC5odG1sfVxyXG4gKlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3NtZS1kZXRhaWxzJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9kZXRhaWxzLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRGV0YWlsc0NvbXBvbmVudCBleHRlbmRzIENvcmVCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICAgIHB1YmxpYyBnZXQgbWluRXhwYW5kZXJIZWlnaHQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZGV0YWlsc1Jlc3BvbnNpdmVXaW5kb3dNYW5hZ2VyLm1pbkV4cGFuZGVySGVpZ2h0O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgc2hvdWxkQ29udGVudFNsaW0oKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZGV0YWlsc1Jlc3BvbnNpdmVXaW5kb3dNYW5hZ2VyLnNob3VsZENvbnRlbnRTbGltO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIHNvdXJjZSBuYW1lIHRvIHVzZSBmb3IgbG9nZ2luZ1xyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IGxvZ1NvdXJjZU5hbWUoKSB7XHJcbiAgICAgICAgcmV0dXJuICdEZXRhaWxzQ29tcG9uZW50JztcclxuICAgIH1cclxuICAgIHB1YmxpYyByZXNvdXJjZVN0cmluZ3MgPSBNc2Z0U21lLmdldFN0cmluZ3M8U3RyaW5ncz4oKS5Nc2Z0U21lU2hlbGwuQW5ndWxhci5EZXRhaWxzO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ2V4cGFuZGVyJylcclxuICAgIHB1YmxpYyBleHBhbmRlcjogRWxlbWVudFJlZjtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGluaXRpYWxIZWlnaHRQZXJjZW50YWdlOiBudW1iZXI7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBoZWFkZXI6IHN0cmluZztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGNoZXZyb25JbnZlcnRlZDogYm9vbGVhbjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXByZWNhdGVkIHNpbmNlIDAyLzI1LzIwMTkuIFBsZWFzZSB1c2UgJ2hlYWRlcicgaW5zdGVhZFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCB0aXRsZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5oZWFkZXIgPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHRpdGxlKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaGVhZGVyO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgaXNFeHBhbmRlZDogYm9vbGVhbjtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBpc0V4cGFuZGVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gICAgcHVibGljIGxheW91dENoYW5nZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgICBwcml2YXRlIGRldGFpbHNSZXNwb25zaXZlV2luZG93TWFuYWdlcjogRGV0YWlsc1Jlc3BvbnNpdmVXaW5kb3dNYW5hZ2VyO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3RvciwgQE9wdGlvbmFsKCkgQEluamVjdChTTUVfTEFZT1VUX1BST1ZJREVSKSBsYXlvdXQ6IExheW91dCkge1xyXG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcclxuICAgICAgICB0aGlzLmluaXRpYWxIZWlnaHRQZXJjZW50YWdlID0gMzA7XHJcbiAgICAgICAgaWYgKGxheW91dCkge1xyXG4gICAgICAgICAgICB0aGlzLmRldGFpbHNSZXNwb25zaXZlV2luZG93TWFuYWdlciA9IG5ldyBEZXRhaWxzUmVzcG9uc2l2ZVdpbmRvd01hbmFnZXIobGF5b3V0KTtcclxuICAgICAgICAgICAgLy8gb24gcGFyZW50IGxheW91dCBjaGFuZ2VzLCByZS1lbWl0IHRoZSBsYXlvdXQgY2hhbmdlIHRvIG91ciBldmVudFxyXG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChsYXlvdXQubGF5b3V0Q2hhbmdlZC5zdWJzY3JpYmUoKCgpID0+IHRoaXMub25MYXlvdXRDaGFuZ2VkKCkpKSk7XHJcbiAgICAgICAgICAgIC8vIG9uIHdpbmRvdyBicmVhayBwb2ludCBjaGFuZ2VzLCBlbWl0IHRoZSBldmVudCBhYm91dCBjcml0aWNhbCBjbGFzc2VzIGFuZCBzdHlsaW5nIHVwZGF0ZXMgc2lnbmFsLlxyXG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChsYXlvdXQud2luZG93QnJlYWtwb2ludENoYW5nZWQuc3Vic2NyaWJlKCgpID0+IHRoaXMub25XaW5kb3dCcmVha3BvaW50Q2hhbmdlZCgpKSk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLmRlZmVycmVkT25MYXlvdXRDaGFuZ2VkKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkNoYW5nZXMoY2hhbmdlcyk7XHJcbiAgICAgICAgaWYgKGNoYW5nZXMuaXNFeHBhbmRlZCkge1xyXG4gICAgICAgICAgICB0aGlzLm9uTGF5b3V0Q2hhbmdlZCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgdG9nZ2xlRXhwYW5zaW9uKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaXNFeHBhbmRlZCA9ICF0aGlzLmlzRXhwYW5kZWQ7XHJcbiAgICAgICAgdGhpcy5pc0V4cGFuZGVkQ2hhbmdlLmVtaXQodGhpcy5pc0V4cGFuZGVkKTtcclxuICAgICAgICB0aGlzLm9uTGF5b3V0Q2hhbmdlZCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZWZyZXNoKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25MYXlvdXRDaGFuZ2VkKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgb24gd2luZG93IGJyZWFrcG9pbnQgY2hhbmdlZCBoYW5kbGVyLlxyXG4gICAgICogQWRkaW5nIHlpZWxkIGZvciBjb21wb25lbnQgdG8gZ2V0IEVsZW1lbnRSZWYgYWZ0ZXIgaW5pdGlhbGl6YXRpb24uXHJcbiAgICAgKi9cclxuICAgIEBZaWVsZCgpXHJcbiAgICBwdWJsaWMgb25XaW5kb3dCcmVha3BvaW50Q2hhbmdlZCgpIHtcclxuICAgICAgICB0aGlzLmRldGFpbHNSZXNwb25zaXZlV2luZG93TWFuYWdlci5vbldpbmRvd1NpemVDaGFuZ2VkKHRoaXMuaG9zdEVsZW1lbnQ/Lm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIGRlZmVycmVkIGxheW91dCBjaGFuZ2VkIGhhbmRsZXIuXHJcbiAgICAgKi9cclxuICAgIEBEZWJvdW5jZSgpXHJcbiAgICBwcml2YXRlIGRlZmVycmVkT25MYXlvdXRDaGFuZ2VkKCkge1xyXG4gICAgICAgIHRoaXMub25MYXlvdXRDaGFuZ2VkKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgbGF5b3V0IGNoYW5nZWQgZXZlbnQgaGFuZGxlci5cclxuICAgICAqL1xyXG4gICAgQFlpZWxkKClcclxuICAgIHByaXZhdGUgb25MYXlvdXRDaGFuZ2VkKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5ob3N0RWxlbWVudCB8fCAhdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50KSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGV4cGFuZGVyT2Zmc2V0SGVpZ2h0ID0gTXNmdFNtZS5nZXRWYWx1ZTxudW1iZXI+KHRoaXMuZXhwYW5kZXIsICduYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodCcpIHx8IDA7XHJcbiAgICAgICAgY29uc3QgZXhwYW5kZXJIZWlnaHQgPSBleHBhbmRlck9mZnNldEhlaWdodCA+IDAgPyBgezB9cHhgLmZvcm1hdChleHBhbmRlck9mZnNldEhlaWdodCkgOiB0aGlzLm1pbkV4cGFuZGVySGVpZ2h0O1xyXG4gICAgICAgIGlmICghdGhpcy5pc0V4cGFuZGVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudC5zdHlsZS5oZWlnaHQgPSBleHBhbmRlckhlaWdodDtcclxuICAgICAgICAgICAgdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlLm1pbkhlaWdodCA9ICcnO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgcG90ZW50aWFsSGVpZ2h0ID0gdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFBhcmVudC5vZmZzZXRIZWlnaHQgfHwgMDtcclxuICAgICAgICBjb25zdCBwYXJlbnRPZmZzZXRUb3AgPSB0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0UGFyZW50Lm9mZnNldFRvcCB8fCAwO1xyXG4gICAgICAgIGNvbnN0IHRvdGFsSGVpZ2h0ID0gTWF0aC5tYXgoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCwgd2luZG93LmlubmVySGVpZ2h0IHx8IDApO1xyXG5cclxuICAgICAgICBjb25zdCBkZXRhaWxDb250ZW50SGVpZ2h0ID0gdGhpcy5kZXRhaWxzUmVzcG9uc2l2ZVdpbmRvd01hbmFnZXIuZGV0YWlsQ29udGVudEhlaWdodDtcclxuXHJcbiAgICAgICAgLy8gRW5mb3JjZXMgYSBtYXggaGVpZ2h0IHdoZW4gc2V0dGluZyB0aGUgZGVmYXVsdCBoZWlnaHQuXHJcbiAgICAgICAgY29uc3QgbWF4SGVpZ2h0ID0gZGV0YWlsQ29udGVudEhlaWdodC5tYXg7XHJcbiAgICAgICAgY29uc3QgbWluSGVpZ2h0ID0gZGV0YWlsQ29udGVudEhlaWdodC5taW47XHJcbiAgICAgICAgY29uc3QgcGhvbmVEb3duID0gZGV0YWlsQ29udGVudEhlaWdodC5waG9uZURvd247XHJcblxyXG4gICAgICAgIC8vIE9uIHNtYWxsIHdpbmRvdyBoZWlnaHQsIHRoZSBkZXRhaWwgcGFuZSBoZWlnaHQgd291bGQgYmUgdGhlIHNtYWxsZXIgdmFsdWUgW3dpbmRvdyBoZWlnaHQgKiAwLjYsIG1heEhlaWdodF1cclxuICAgICAgICBpZiAocGhvbmVEb3duKSB7XHJcbiAgICAgICAgICAgIHBvdGVudGlhbEhlaWdodCA9IE1hdGgubWluKHRvdGFsSGVpZ2h0IC0gcGFyZW50T2Zmc2V0VG9wLCBwb3RlbnRpYWxIZWlnaHQpO1xyXG4gICAgICAgICAgICAvLyBQcmV2ZW50cyB0aGUgaW5pdGlhbCBzaXplIGV4Y2VlZCBtYXggaGVpZ2h0XHJcbiAgICAgICAgICAgIHBvdGVudGlhbEhlaWdodCA9IE1hdGgubWluKHBvdGVudGlhbEhlaWdodCwgbWF4SGVpZ2h0KTtcclxuICAgICAgICAgICAgcG90ZW50aWFsSGVpZ2h0ID0gTWF0aC5tYXgocG90ZW50aWFsSGVpZ2h0LCBtaW5IZWlnaHQpO1xyXG5cclxuICAgICAgICAgICAgY29uc3QgcG9ydEhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcclxuICAgICAgICAgICAgaWYgKHBvcnRIZWlnaHQgPCBtaW5IZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgIHBvdGVudGlhbEhlaWdodCA9IG1pbkhlaWdodDtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChwb3J0SGVpZ2h0ID4gbWluSGVpZ2h0ICYmIHBvcnRIZWlnaHQgPCBtYXhIZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgIC8vIE1hdGguY2VpbCBjYW4gbWFrZSBjYWxjdWxhdGlvbiB3aXRob3V0IHJvdW5kaW5nIGlzc3Vlcy5cclxuICAgICAgICAgICAgICAgIHBvdGVudGlhbEhlaWdodCA9IE1hdGguY2VpbChwb3J0SGVpZ2h0ICogMC42KTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChwb3J0SGVpZ2h0ID4gbWF4SGVpZ2h0ICYmIHBvcnRIZWlnaHQgKiAwLjQgPiBtYXhIZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgIHBvdGVudGlhbEhlaWdodCA9IE1hdGguY2VpbChtYXhIZWlnaHQpO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHBvcnRIZWlnaHQgPiBtYXhIZWlnaHQgJiYgcG9ydEhlaWdodCAqIDAuNCA+IG1pbkhlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgcG90ZW50aWFsSGVpZ2h0ID0gTWF0aC5jZWlsKHBvcnRIZWlnaHQgKiAwLjQpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gJyc7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgLy8gU2hyaW5rIG9ubHkgaWYgZXhjZWVkcyBwYXJlbnRzIG9mZnNldCBoZWlnaHQ7XHJcbiAgICAgICAgICAgIGlmIChwb3RlbnRpYWxIZWlnaHQgPiB0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0UGFyZW50Lm9mZnNldEhlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgLy8gU2V0IGluaXRpYWwgZXhwYW5kZWQgaGVpZ2h0IHRvIDMwdmguXHJcbiAgICAgICAgICAgICAgICAvLyBQb29yIGRlc2lnbiB0aGF0IG5lZWRzIHRvIHJlLXZpc2l0LlxyXG4gICAgICAgICAgICAgICAgY29uc3Qgb25lVmggPSB0b3RhbEhlaWdodCAvIDEwMDtcclxuICAgICAgICAgICAgICAgIHBvdGVudGlhbEhlaWdodCA9IG9uZVZoICogdGhpcy5pbml0aWFsSGVpZ2h0UGVyY2VudGFnZTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIHNtZS1ib3JkZXItdG9wLXNtIG9uIHRoZSBkZXRhaWxzIHJlc2l6ZXIgYm9yZGVyLlxyXG4gICAgICAgICAgICAgICAgLy8gbWludXMgdGhlIGJvcmRlciBoZWlnaHQgdG8gZ2V0IHJpZCBvZiB0aGUgZXh0cmEgc2Nyb2xsIGJhci5cclxuICAgICAgICAgICAgICAgIHBvdGVudGlhbEhlaWdodCAtPSAxO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBwb3RlbnRpYWxIZWlnaHQgPSBNYXRoLm1pbihwb3RlbnRpYWxIZWlnaHQsIG1heEhlaWdodCk7XHJcbiAgICAgICAgICAgIHBvdGVudGlhbEhlaWdodCA9IE1hdGgubWF4KHBvdGVudGlhbEhlaWdodCwgbWluSGVpZ2h0KTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudC5zdHlsZS5taW5IZWlnaHQgPSAnJztcclxuICAgICAgICAgICAgdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlLmhlaWdodCA9IGB7MH1weGAuZm9ybWF0KHBvdGVudGlhbEhlaWdodCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgLy8gdGhlIGhlaWdodCB3b3VsZCBiZSBjaGFuZ2VkIG9uIHdpbmRvdyBoZWlnaHQgb3Igd2lkdGggY2hhbmdlXHJcbiAgICAgICAgICAgIC8vIHJlLWNhbGN1bGF0ZSB0aGUgcG90ZW50aWFsIGhlaWdodCBzaG91bGQgYmUgbm90aWZ5aW5nIHBhcmVudHMuXHJcbiAgICAgICAgICAgIHRoaXMubGF5b3V0Q2hhbmdlZC5lbWl0KCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldEluaXRpYWxIb3N0Q2xhc3NlcygpIHtcclxuICAgICAgICByZXR1cm4gc3VwZXIuZ2V0SW5pdGlhbEhvc3RDbGFzc2VzKCkuY29uY2F0KFtcclxuICAgICAgICAgICAgJ3NtZS1hcnJhbmdlLXN0YWNrLXYnXHJcbiAgICAgICAgXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGNyZWF0ZUlkQmFnKCk6IE1zZnRTbWUuU3RyaW5nTWFwPHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGRldGFpbHNTcGFuOiAnJ1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbn1cclxuIiwiPGgzPlxyXG4gIDxkaXYgI2V4cGFuZGVyXHJcbiAgICBjbGFzcz1cInNtZS1idXR0b24gc21lLWJ1dHRvbi10cmlnZ2VyIHNtZS1idXR0b24tYXV0by13aWR0aCBzbWUtcG9zaXRpb24tZmxleC1ub25lIHNtZS1wYWRkaW5nLXNxdWlzaC12LW1kIHNtZS1wYWRkaW5nLWhvcml6b250YWwtbGcgc21lLXBvc2l0aW9uLXN0cmV0Y2gtaCBzbWUtcG9zaXRpb24tbGVmdC1pbmxpbmUgc21lLWFycmFuZ2Utc3RhY2staCBzbWUtZm9jdXMtem9uZVwiXHJcbiAgICByb2xlPVwiYnV0dG9uXCIgdGFiaW5kZXg9XCIwXCIgKGNsaWNrKT1cInRvZ2dsZUV4cGFuc2lvbigpXCIgW3N0eWxlLm1pbi1oZWlnaHRdPVwibWluRXhwYW5kZXJIZWlnaHRcIlxyXG4gICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCIhIWlzRXhwYW5kZWRcIiBbYXR0ci5hcmlhLWRlc2NyaWJlZEJ5XT1cImlkQmFnLmRldGFpbHNTcGFuXCI+XHJcbiAgICA8c3BhbiBjbGFzcz1cInNtZS1mb250LWgzIHNtZS1wb3NpdGlvbi1mbGV4LWF1dG8gc21lLWFycmFuZ2UtZWxsaXBzaXNcIj57eyBoZWFkZXIgfX08L3NwYW4+XHJcbiAgICA8c3BhbiAqbmdJZj1cIiFjaGV2cm9uSW52ZXJ0ZWRcIiBjbGFzcz1cInNtZS1pY29uIHNtZS1wb3NpdGlvbi1mbGV4LW5vbmVcIlxyXG4gICAgICBbbmdDbGFzc109XCJ7J3NtZS1pY29uLWNoZXZyb25VcE1lZCc6ICFpc0V4cGFuZGVkLCAnc21lLWljb24tY2hldnJvbkRvd25NZWQnOiBpc0V4cGFuZGVkfVwiXHJcbiAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj5cclxuICAgIDxzcGFuICpuZ0lmPVwiY2hldnJvbkludmVydGVkXCIgY2xhc3M9XCJzbWUtaWNvbiBzbWUtcG9zaXRpb24tZmxleC1ub25lXCJcclxuICAgICAgW25nQ2xhc3NdPVwieydzbWUtaWNvbi1jaGV2cm9uVXBNZWQnOiBpc0V4cGFuZGVkLCAnc21lLWljb24tY2hldnJvbkRvd25NZWQnOiAhaXNFeHBhbmRlZH1cIlxyXG4gICAgICBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XHJcbiAgICA8ZGl2IGNsYXNzPVwic21lLXNjcmVlbi1yZWFkZXJcIiBbaWRdPVwiaWRCYWcuZGV0YWlsc1NwYW5cIj4ge3sgcmVzb3VyY2VTdHJpbmdzLkFyaWFEZXNjcmlwdGlvbiB9fTwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2gzPlxyXG5cclxuPGRpdiBjbGFzcz1cInNtZS1wb3NpdGlvbi1mbGV4LWF1dG8gc21lLWxheW91dC1yZWxhdGl2ZVwiIFtjbGFzcy5zbWUtbWFyZ2luLWhvcml6b250YWwtbGddPVwic2hvdWxkQ29udGVudFNsaW1cIj5cclxuICA8ZGl2IGNsYXNzPVwic21lLWxheW91dC1hYnNvbHV0ZS1waG9uZS11cCBzbWUtcG9zaXRpb24taW5zZXQtbm9uZSBzbWUtcGFkZGluZy1ib3R0b20tc20gc21lLWFycmFuZ2Utb3ZlcmZsb3ctYXV0b1wiXHJcbiAgICBbY2xhc3Muc21lLWxheW91dC1ub25lXT1cIiFpc0V4cGFuZGVkXCI+XHJcbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
284
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9jb250cm9scy9kZXRhaWxzL2RldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvZGV0YWlscy9kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBRUwsUUFBUSxFQUNSLE1BQU0sRUFFTixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhFQUE4RSxDQUFDO0FBRXhHLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwwRUFBMEUsQ0FBQztBQUVqRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RCxPQUFPLEVBQVUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7O0lDYmpGLDBCQUU0Qjs7O0lBRDFCLDJGQUF5Rjs7O0lBRTNGLDBCQUU0Qjs7O0lBRDFCLDJGQUF5Rjs7OztBRFcvRjs7Ozs7Ozs7Ozs7R0FXRztBQUtILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxpQkFBaUI7SUF5RG5ELFlBQVksUUFBa0IsRUFBMkMsTUFBYztRQUNuRixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUEzQ2Isb0JBQWUsR0FBRyxPQUFPLENBQUMsVUFBVSxFQUFXLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFjcEY7O1dBRUc7UUFFSSxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBa0JuQixxQkFBZ0IsR0FBMEIs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MENBQXFCO1FBR0csZUFBd0I7UUFBeEIsMENBQXdCO1FBQUUsZUFBcUM7UUFBckMsbUVBQXFDO1FBSTFDLGVBQW9EO1FBQXBELGlFQUFvRCwwQ0FBQTtRQUV4RyxlQUFxQztRQUFyQyxrREFBcUM7UUFEbEMsc0ZBQTJMOztBRGlIOUw7SUFEQyxLQUFLLEVBQUU7Ozs7aUVBR1A7QUFNRDtJQURDLFFBQVEsRUFBRTs7OzsrREFHVjtBQU1EO0lBREMsS0FBSyxFQUFFOzs7O3VEQTJFUDt1RkF2TFEsZ0JBQWdCO2NBSjVCLFNBQVM7ZUFBQztnQkFDUCxRQUFRLEVBQUUsYUFBYTtnQkFDdkIsV0FBVyxFQUFFLDBCQUEwQjthQUMxQzs7c0JBMERvQyxRQUFROztzQkFBSSxNQUFNO3VCQUFDLG1CQUFtQjt3QkF2Q2hFLFFBQVE7a0JBRGQsU0FBUzttQkFBQyxVQUFVO1lBSWQsdUJBQXVCO2tCQUQ3QixLQUFLO1lBSUMsTUFBTTtrQkFEWixLQUFLO1lBSUMsZUFBZTtrQkFEckIsS0FBSztZQU9DLFVBQVU7a0JBRGhCLEtBQUs7WUFPSyxLQUFLO2tCQURmLEtBQUs7WUFVQyxVQUFVO2tCQURoQixLQUFLO1lBSUMsZ0JBQWdCO2tCQUR0QixNQUFNO1lBMkNBLHlCQUF5QixNQVF4Qix1QkFBdUIsTUFRdkIsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgSW5qZWN0LFxyXG4gICAgSW5qZWN0b3IsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uQ2hhbmdlcyxcclxuICAgIE9wdGlvbmFsLFxyXG4gICAgT3V0cHV0LFxyXG4gICAgU2ltcGxlQ2hhbmdlcyxcclxuICAgIFZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEZWJvdW5jZSB9IGZyb20gJ0BtaWNyb3NvZnQvd2luZG93cy1hZG1pbi1jZW50ZXItc2RrL2NvcmUvYmFzZS9kZWNvcmF0b3JzL2RlYm91bmNlLmRlY29yYXRvcnMnO1xyXG5pbXBvcnQgeyBEZXByZWNhdGVkIH0gZnJvbSAnQG1pY3Jvc29mdC93aW5kb3dzLWFkbWluLWNlbnRlci1zZGsvY29yZS9iYXNlL2RlY29yYXRvcnMvZGVwcmVjYXRpb24uZGVjb3JhdG9ycyc7XHJcbmltcG9ydCB7IFlpZWxkIH0gZnJvbSAnQG1pY3Jvc29mdC93aW5kb3dzLWFkbWluLWNlbnRlci1zZGsvY29yZS9iYXNlL2RlY29yYXRvcnMveWllbGQuZGVjb3JhdG9yJztcclxuaW1wb3J0IHsgU3RyaW5ncyB9IGZyb20gJy4uLy4uL2dlbmVyYXRlZC9zdHJpbmdzJztcclxuaW1wb3J0IHsgQ29yZUJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9jb21tb24vYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMYXlvdXQsIFNNRV9MQVlPVVRfUFJPVklERVIgfSBmcm9tICcuLi9jb21tb24vbGF5b3V0JztcclxuaW1wb3J0IHsgRGV0YWlsc1Jlc3BvbnNpdmVXaW5kb3dNYW5hZ2VyIH0gZnJvbSAnLi9kZXRhaWxzLXJlc3BvbnNpdmUtd2luZG93LW1hbmFnZXInO1xyXG5cclxuLyoqXHJcbiAqXHJcbiAqIEBzbWVEb2Mge0BsYWJlbCBEZXRhaWxzIEBpZCBzbWUtZGV0YWlsc31cclxuICpcclxuICogQG92ZXJ2aWV3XHJcbiAqIEBmaWxlIHtAZmlsZXBhdGggLi9leGFtcGxlcy9kZXRhaWxzLW92ZXJ2aWV3Lm1kfVxyXG4gKlxyXG4gKiBAZXhhbXBsZSB7QGxhYmVsIEJhc2ljIFVzYWdlIEBpZCBiYXNpYy11c2FnZX1cclxuICogQGZpbGUge0BmaWxlbmFtZSBjb21wb25lbnQudHMgQGZpbGVwYXRoIC4vZXhhbXBsZXMvZGV0YWlscy1leGFtcGxlLmNvbXBvbmVudC50c31cclxuICogQGZpbGUge0BmaWxlbmFtZSBjb21wb25lbnQuaHRtbCBAZmlsZXBhdGggLi9leGFtcGxlcy9kZXRhaWxzLWV4YW1wbGUuY29tcG9uZW50Lmh0bWx9XHJcbiAqXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc21lLWRldGFpbHMnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RldGFpbHMuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEZXRhaWxzQ29tcG9uZW50IGV4dGVuZHMgQ29yZUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gICAgcHVibGljIGdldCBtaW5FeHBhbmRlckhlaWdodCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kZXRhaWxzUmVzcG9uc2l2ZVdpbmRvd01hbmFnZXIubWluRXhwYW5kZXJIZWlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBzaG91bGRDb250ZW50U2xpbSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kZXRhaWxzUmVzcG9uc2l2ZVdpbmRvd01hbmFnZXIuc2hvdWxkQ29udGVudFNsaW07XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgc291cmNlIG5hbWUgdG8gdXNlIGZvciBsb2dnaW5nXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBnZXQgbG9nU291cmNlTmFtZSgpIHtcclxuICAgICAgICByZXR1cm4gJ0RldGFpbHNDb21wb25lbnQnO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHJlc291cmNlU3RyaW5ncyA9IE1zZnRTbWUuZ2V0U3RyaW5nczxTdHJpbmdzPigpLk1zZnRTbWVTaGVsbC5Bbmd1bGFyLkRldGFpbHM7XHJcblxyXG4gICAgQFZpZXdDaGlsZCgnZXhwYW5kZXInKVxyXG4gICAgcHVibGljIGV4cGFuZGVyOiBFbGVtZW50UmVmO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgaW5pdGlhbEhlaWdodFBlcmNlbnRhZ2U6IG51bWJlcjtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGhlYWRlcjogc3RyaW5nO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgY2hldnJvbkludmVydGVkOiBib29sZWFuO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIGRldGFpbCBjb21wb25lbnQncyBoZWlnaHQgd2lsbCBiZSBkZXRlcm1pbmVkIG9uIHRoZSB3aG9sZSBjaGlsZHJlbidzIGhlaWdodC5cclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBhdXRvSGVpZ2h0ID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVwcmVjYXRlZCBzaW5jZSAwMi8yNS8yMDE5LiBQbGVhc2UgdXNlICdoZWFkZXInIGluc3RlYWRcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgdGl0bGUodmFsdWU6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuaGVhZGVyID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCB0aXRsZSgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmhlYWRlcjtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGlzRXhwYW5kZWQ6IGJvb2xlYW47XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgaXNFeHBhbmRlZENoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICAgIHB1YmxpYyBsYXlvdXRDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBkZXRhaWxzUmVzcG9uc2l2ZVdpbmRvd01hbmFnZXI6IERldGFpbHNSZXNwb25zaXZlV2luZG93TWFuYWdlcjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IsIEBPcHRpb25hbCgpIEBJbmplY3QoU01FX0xBWU9VVF9QUk9WSURFUikgbGF5b3V0OiBMYXlvdXQpIHtcclxuICAgICAgICBzdXBlcihpbmplY3Rvcik7XHJcbiAgICAgICAgdGhpcy5pbml0aWFsSGVpZ2h0UGVyY2VudGFnZSA9IDMwO1xyXG4gICAgICAgIGlmIChsYXlvdXQpIHtcclxuICAgICAgICAgICAgdGhpcy5kZXRhaWxzUmVzcG9uc2l2ZVdpbmRvd01hbmFnZXIgPSBuZXcgRGV0YWlsc1Jlc3BvbnNpdmVXaW5kb3dNYW5hZ2VyKGxheW91dCk7XHJcbiAgICAgICAgICAgIC8vIG9uIHBhcmVudCBsYXlvdXQgY2hhbmdlcywgcmUtZW1pdCB0aGUgbGF5b3V0IGNoYW5nZSB0byBvdXIgZXZlbnRcclxuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2gobGF5b3V0LmxheW91dENoYW5nZWQuc3Vic2NyaWJlKCgoKSA9PiB0aGlzLm9uTGF5b3V0Q2hhbmdlZCgpKSkpO1xyXG4gICAgICAgICAgICAvLyBvbiB3aW5kb3cgYnJlYWsgcG9pbnQgY2hhbmdlcywgZW1pdCB0aGUgZXZlbnQgYWJvdXQgY3JpdGljYWwgY2xhc3NlcyBhbmQgc3R5bGluZyB1cGRhdGVzIHNpZ25hbC5cclxuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2gobGF5b3V0LndpbmRvd0JyZWFrcG9pbnRDaGFuZ2VkLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uV2luZG93QnJlYWtwb2ludENoYW5nZWQoKSkpO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5kZWZlcnJlZE9uTGF5b3V0Q2hhbmdlZCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25DaGFuZ2VzKGNoYW5nZXMpO1xyXG4gICAgICAgIGlmIChjaGFuZ2VzLmlzRXhwYW5kZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5vbkxheW91dENoYW5nZWQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHRvZ2dsZUV4cGFuc2lvbigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmlzRXhwYW5kZWQgPSAhdGhpcy5pc0V4cGFuZGVkO1xyXG4gICAgICAgIHRoaXMuaXNFeHBhbmRlZENoYW5nZS5lbWl0KHRoaXMuaXNFeHBhbmRlZCk7XHJcbiAgICAgICAgdGhpcy5vbkxheW91dENoYW5nZWQoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVmcmVzaCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uTGF5b3V0Q2hhbmdlZCgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIG9uIHdpbmRvdyBicmVha3BvaW50IGNoYW5nZWQgaGFuZGxlci5cclxuICAgICAqIEFkZGluZyB5aWVsZCBmb3IgY29tcG9uZW50IHRvIGdldCBFbGVtZW50UmVmIGFmdGVyIGluaXRpYWxpemF0aW9uLlxyXG4gICAgICovXHJcbiAgICBAWWllbGQoKVxyXG4gICAgcHVibGljIG9uV2luZG93QnJlYWtwb2ludENoYW5nZWQoKSB7XHJcbiAgICAgICAgdGhpcy5kZXRhaWxzUmVzcG9uc2l2ZVdpbmRvd01hbmFnZXIub25XaW5kb3dTaXplQ2hhbmdlZCh0aGlzLmhvc3RFbGVtZW50Py5uYXRpdmVFbGVtZW50KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBkZWZlcnJlZCBsYXlvdXQgY2hhbmdlZCBoYW5kbGVyLlxyXG4gICAgICovXHJcbiAgICBARGVib3VuY2UoKVxyXG4gICAgcHJpdmF0ZSBkZWZlcnJlZE9uTGF5b3V0Q2hhbmdlZCgpIHtcclxuICAgICAgICB0aGlzLm9uTGF5b3V0Q2hhbmdlZCgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIGxheW91dCBjaGFuZ2VkIGV2ZW50IGhhbmRsZXIuXHJcbiAgICAgKi9cclxuICAgIEBZaWVsZCgpXHJcbiAgICBwcml2YXRlIG9uTGF5b3V0Q2hhbmdlZCgpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuaG9zdEVsZW1lbnQgfHwgIXRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBleHBhbmRlck9mZnNldEhlaWdodCA9IE1zZnRTbWUuZ2V0VmFsdWU8bnVtYmVyPih0aGlzLmV4cGFuZGVyLCAnbmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQnKSB8fCAwO1xyXG4gICAgICAgIGNvbnN0IGV4cGFuZGVySGVpZ2h0ID0gZXhwYW5kZXJPZmZzZXRIZWlnaHQgPiAwID8gYHswfXB4YC5mb3JtYXQoZXhwYW5kZXJPZmZzZXRIZWlnaHQpIDogdGhpcy5taW5FeHBhbmRlckhlaWdodDtcclxuICAgICAgICBpZiAoIXRoaXMuaXNFeHBhbmRlZCkge1xyXG4gICAgICAgICAgICB0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gZXhwYW5kZXJIZWlnaHQ7XHJcbiAgICAgICAgICAgIHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudC5zdHlsZS5taW5IZWlnaHQgPSAnJztcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IHBvdGVudGlhbEhlaWdodCA9IHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudC5vZmZzZXRQYXJlbnQub2Zmc2V0SGVpZ2h0IHx8IDA7XHJcbiAgICAgICAgY29uc3QgcGFyZW50T2Zmc2V0VG9wID0gdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFBhcmVudC5vZmZzZXRUb3AgfHwgMDtcclxuICAgICAgICBjb25zdCB0b3RhbEhlaWdodCA9IE1hdGgubWF4KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQsIHdpbmRvdy5pbm5lckhlaWdodCB8fCAwKTtcclxuXHJcbiAgICAgICAgY29uc3QgZGV0YWlsQ29udGVudEhlaWdodCA9IHRoaXMuZGV0YWlsc1Jlc3BvbnNpdmVXaW5kb3dNYW5hZ2VyLmRldGFpbENvbnRlbnRIZWlnaHQ7XHJcblxyXG4gICAgICAgIC8vIEVuZm9yY2VzIGEgbWF4IGhlaWdodCB3aGVuIHNldHRpbmcgdGhlIGRlZmF1bHQgaGVpZ2h0LlxyXG4gICAgICAgIGNvbnN0IG1heEhlaWdodCA9IGRldGFpbENvbnRlbnRIZWlnaHQubWF4O1xyXG4gICAgICAgIGNvbnN0IG1pbkhlaWdodCA9IGRldGFpbENvbnRlbnRIZWlnaHQubWluO1xyXG4gICAgICAgIGNvbnN0IHBob25lRG93biA9IGRldGFpbENvbnRlbnRIZWlnaHQucGhvbmVEb3duO1xyXG5cclxuICAgICAgICAvLyBPbiBzbWFsbCB3aW5kb3cgaGVpZ2h0LCB0aGUgZGV0YWlsIHBhbmUgaGVpZ2h0IHdvdWxkIGJlIHRoZSBzbWFsbGVyIHZhbHVlIFt3aW5kb3cgaGVpZ2h0ICogMC42LCBtYXhIZWlnaHRdXHJcbiAgICAgICAgaWYgKHBob25lRG93bikge1xyXG4gICAgICAgICAgICBwb3RlbnRpYWxIZWlnaHQgPSBNYXRoLm1pbih0b3RhbEhlaWdodCAtIHBhcmVudE9mZnNldFRvcCwgcG90ZW50aWFsSGVpZ2h0KTtcclxuICAgICAgICAgICAgLy8gUHJldmVudHMgdGhlIGluaXRpYWwgc2l6ZSBleGNlZWQgbWF4IGhlaWdodFxyXG4gICAgICAgICAgICBwb3RlbnRpYWxIZWlnaHQgPSBNYXRoLm1pbihwb3RlbnRpYWxIZWlnaHQsIG1heEhlaWdodCk7XHJcbiAgICAgICAgICAgIHBvdGVudGlhbEhlaWdodCA9IE1hdGgubWF4KHBvdGVudGlhbEhlaWdodCwgbWluSGVpZ2h0KTtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IHBvcnRIZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XHJcbiAgICAgICAgICAgIGlmIChwb3J0SGVpZ2h0IDwgbWluSGVpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICBwb3RlbnRpYWxIZWlnaHQgPSBtaW5IZWlnaHQ7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAocG9ydEhlaWdodCA+IG1pbkhlaWdodCAmJiBwb3J0SGVpZ2h0IDwgbWF4SGVpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICAvLyBNYXRoLmNlaWwgY2FuIG1ha2UgY2FsY3VsYXRpb24gd2l0aG91dCByb3VuZGluZyBpc3N1ZXMuXHJcbiAgICAgICAgICAgICAgICBwb3RlbnRpYWxIZWlnaHQgPSBNYXRoLmNlaWwocG9ydEhlaWdodCAqIDAuNik7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAocG9ydEhlaWdodCA+IG1heEhlaWdodCAmJiBwb3J0SGVpZ2h0ICogMC40ID4gbWF4SGVpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICBwb3RlbnRpYWxIZWlnaHQgPSBNYXRoLmNlaWwobWF4SGVpZ2h0KTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChwb3J0SGVpZ2h0ID4gbWF4SGVpZ2h0ICYmIHBvcnRIZWlnaHQgKiAwLjQgPiBtaW5IZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgIHBvdGVudGlhbEhlaWdodCA9IE1hdGguY2VpbChwb3J0SGVpZ2h0ICogMC40KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlLmhlaWdodCA9ICcnO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFNocmluayBvbmx5IGlmIGV4Y2VlZHMgcGFyZW50cyBvZmZzZXQgaGVpZ2h0O1xyXG4gICAgICAgICAgICBpZiAocG90ZW50aWFsSGVpZ2h0ID4gdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFBhcmVudC5vZmZzZXRIZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgIC8vIFNldCBpbml0aWFsIGV4cGFuZGVkIGhlaWdodCB0byAzMHZoLlxyXG4gICAgICAgICAgICAgICAgLy8gUG9vciBkZXNpZ24gdGhhdCBuZWVkcyB0byByZS12aXNpdC5cclxuICAgICAgICAgICAgICAgIGNvbnN0IG9uZVZoID0gdG90YWxIZWlnaHQgLyAxMDA7XHJcbiAgICAgICAgICAgICAgICBwb3RlbnRpYWxIZWlnaHQgPSBvbmVWaCAqIHRoaXMuaW5pdGlhbEhlaWdodFBlcmNlbnRhZ2U7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBzbWUtYm9yZGVyLXRvcC1zbSBvbiB0aGUgZGV0YWlscyByZXNpemVyIGJvcmRlci5cclxuICAgICAgICAgICAgICAgIC8vIG1pbnVzIHRoZSBib3JkZXIgaGVpZ2h0IHRvIGdldCByaWQgb2YgdGhlIGV4dHJhIHNjcm9sbCBiYXIuXHJcbiAgICAgICAgICAgICAgICBwb3RlbnRpYWxIZWlnaHQgLT0gMTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgcG90ZW50aWFsSGVpZ2h0ID0gTWF0aC5taW4ocG90ZW50aWFsSGVpZ2h0LCBtYXhIZWlnaHQpO1xyXG4gICAgICAgICAgICBwb3RlbnRpYWxIZWlnaHQgPSBNYXRoLm1heChwb3RlbnRpYWxIZWlnaHQsIG1pbkhlaWdodCk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc3R5bGUubWluSGVpZ2h0ID0gJyc7XHJcblxyXG4gICAgICAgICAgICBpZiAoIXRoaXMuYXV0b0hlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlLmhlaWdodCA9IGB7MH1weGAuZm9ybWF0KHBvdGVudGlhbEhlaWdodCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gJyc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAvLyB0aGUgaGVpZ2h0IHdvdWxkIGJlIGNoYW5nZWQgb24gd2luZG93IGhlaWdodCBvciB3aWR0aCBjaGFuZ2VcclxuICAgICAgICAgICAgLy8gcmUtY2FsY3VsYXRlIHRoZSBwb3RlbnRpYWwgaGVpZ2h0IHNob3VsZCBiZSBub3RpZnlpbmcgcGFyZW50cy5cclxuICAgICAgICAgICAgdGhpcy5sYXlvdXRDaGFuZ2VkLmVtaXQoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0SW5pdGlhbEhvc3RDbGFzc2VzKCkge1xyXG4gICAgICAgIHJldHVybiBzdXBlci5nZXRJbml0aWFsSG9zdENsYXNzZXMoKS5jb25jYXQoW1xyXG4gICAgICAgICAgICAnc21lLWFycmFuZ2Utc3RhY2stdidcclxuICAgICAgICBdKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgY3JlYXRlSWRCYWcoKTogTXNmdFNtZS5TdHJpbmdNYXA8c3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgZGV0YWlsc1NwYW46ICcnXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxufVxyXG4iLCI8aDM+XHJcbiAgPGRpdiAjZXhwYW5kZXJcclxuICAgIGNsYXNzPVwic21lLWJ1dHRvbiBzbWUtYnV0dG9uLXRyaWdnZXIgc21lLWJ1dHRvbi1hdXRvLXdpZHRoIHNtZS1wb3NpdGlvbi1mbGV4LW5vbmUgc21lLXBhZGRpbmctc3F1aXNoLXYtbWQgc21lLXBhZGRpbmctaG9yaXpvbnRhbC1sZyBzbWUtcG9zaXRpb24tc3RyZXRjaC1oIHNtZS1wb3NpdGlvbi1sZWZ0LWlubGluZSBzbWUtYXJyYW5nZS1zdGFjay1oIHNtZS1mb2N1cy16b25lXCJcclxuICAgIHJvbGU9XCJidXR0b25cIiB0YWJpbmRleD1cIjBcIiAoY2xpY2spPVwidG9nZ2xlRXhwYW5zaW9uKClcIiBbc3R5bGUubWluLWhlaWdodF09XCJtaW5FeHBhbmRlckhlaWdodFwiXHJcbiAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIiEhaXNFeHBhbmRlZFwiIFthdHRyLmFyaWEtZGVzY3JpYmVkQnldPVwiaWRCYWcuZGV0YWlsc1NwYW5cIj5cclxuICAgIDxzcGFuIGNsYXNzPVwic21lLWZvbnQtaDMgc21lLXBvc2l0aW9uLWZsZXgtYXV0byBzbWUtYXJyYW5nZS1lbGxpcHNpc1wiPnt7IGhlYWRlciB9fTwvc3Bhbj5cclxuICAgIDxzcGFuICpuZ0lmPVwiIWNoZXZyb25JbnZlcnRlZFwiIGNsYXNzPVwic21lLWljb24gc21lLXBvc2l0aW9uLWZsZXgtbm9uZVwiXHJcbiAgICAgIFtuZ0NsYXNzXT1cInsnc21lLWljb24tY2hldnJvblVwTWVkJzogIWlzRXhwYW5kZWQsICdzbWUtaWNvbi1jaGV2cm9uRG93bk1lZCc6IGlzRXhwYW5kZWR9XCJcclxuICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxyXG4gICAgPHNwYW4gKm5nSWY9XCJjaGV2cm9uSW52ZXJ0ZWRcIiBjbGFzcz1cInNtZS1pY29uIHNtZS1wb3NpdGlvbi1mbGV4LW5vbmVcIlxyXG4gICAgICBbbmdDbGFzc109XCJ7J3NtZS1pY29uLWNoZXZyb25VcE1lZCc6IGlzRXhwYW5kZWQsICdzbWUtaWNvbi1jaGV2cm9uRG93bk1lZCc6ICFpc0V4cGFuZGVkfVwiXHJcbiAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj5cclxuICAgIDxkaXYgY2xhc3M9XCJzbWUtc2NyZWVuLXJlYWRlclwiIFtpZF09XCJpZEJhZy5kZXRhaWxzU3BhblwiPiB7eyByZXNvdXJjZVN0cmluZ3MuQXJpYURlc2NyaXB0aW9uIH19PC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvaDM+XHJcblxyXG48ZGl2IGNsYXNzPVwic21lLXBvc2l0aW9uLWZsZXgtYXV0byBzbWUtbGF5b3V0LXJlbGF0aXZlXCIgW2NsYXNzLnNtZS1tYXJnaW4taG9yaXpvbnRhbC1sZ109XCJzaG91bGRDb250ZW50U2xpbVwiIFtjbGFzcy5zbWUtcG9zaXRpb24tc3RyZXRjaC12XT1cImF1dG9IZWlnaHRcIj5cclxuICA8ZGl2IFtuZ0NsYXNzXT1cInsnc21lLWxheW91dC1hYnNvbHV0ZS1waG9uZS11cCBzbWUtcG9zaXRpb24taW5zZXQtbm9uZSBzbWUtcGFkZGluZy1ib3R0b20tc20gc21lLWFycmFuZ2Utb3ZlcmZsb3ctYXV0byc6ICFhdXRvSGVpZ2h0LCAnc21lLWxheW91dC1yZWxhdGl2ZSBzbWUtcG9zaXRpb24tc3RyZXRjaC12JzogYXV0b0hlaWdodH1cIlxyXG4gICAgW2NsYXNzLnNtZS1sYXlvdXQtbm9uZV09XCIhaXNFeHBhbmRlZFwiPlxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -5247,6 +5247,9 @@ function AccordionPanelComponent_div_8_Template(rf, ctx) { if (rf & 1) {
5247
5247
  ɵɵelementStart(0, "div", 8);
5248
5248
  ɵɵprojection(1, 1);
5249
5249
  ɵɵelementEnd();
5250
+ } if (rf & 2) {
5251
+ const ctx_r2 = ɵɵnextContext();
5252
+ ɵɵclassProp("sme-padding-inset-sm", ctx_r2.paddingInset);
5250
5253
  } }
5251
5254
  const _c2 = [[["sme-panel-control"]], "*"];
5252
5255
  const _c3 = ["sme-panel-control", "*"];
@@ -5266,11 +5269,27 @@ class PanelControlComponent {
5266
5269
  }], null, null); })();
5267
5270
  class AccordionPanelComponent {
5268
5271
  constructor() {
5272
+ /**
5273
+ * It indicates whether the panel is expandable.
5274
+ */
5269
5275
  this.isExpandable = true;
5276
+ /**
5277
+ * It determines the border radius for the panel.
5278
+ * True will apply border radius to have round corners.
5279
+ */
5280
+ this.borderRadius = false;
5281
+ /**
5282
+ * It determines the padding inset for the panel body.
5283
+ * True will apply a default padding to the panel body.
5284
+ */
5285
+ this.paddingInset = false;
5270
5286
  this.toggled = new EventEmitter();
5271
5287
  this.opened = true;
5272
5288
  this.canClose = this.isExpandable;
5273
5289
  }
5290
+ /**
5291
+ * The on toggle function implementation.
5292
+ */
5274
5293
  onToggle() {
5275
5294
  if (this.isExpandable) {
5276
5295
  this.opened = !this.opened;
@@ -5279,7 +5298,7 @@ class AccordionPanelComponent {
5279
5298
  }
5280
5299
  }
5281
5300
  /** @nocollapse */ AccordionPanelComponent.ɵfac = function AccordionPanelComponent_Factory(t) { return new (t || AccordionPanelComponent)(); };
5282
- /** @nocollapse */ AccordionPanelComponent.ɵcmp = ɵɵdefineComponent({ type: AccordionPanelComponent, selectors: [["sme-accordion-panel"]], inputs: { header: "header", opened: "opened", isExpandable: "isExpandable" }, outputs: { toggled: "toggled" }, ngContentSelectors: _c3, decls: 9, vars: 6, consts: [[1, "sme-accordion-panel"], [1, "sme-arrange-stack-h", "sme-panel-header"], [1, "sme-button", "sme-button-align-left", "sme-button-trigger", "sme-position-flex-auto", "sme-panel-expander", 3, "click"], ["accordionPanelButton", ""], ["class", "sme-position-flex-none sme-icon", 3, "ngClass", 4, "ngIf"], [1, "sme-arrange-ellipsis", 3, "title"], ["class", "sme-panel-body", 4, "ngIf"], [1, "sme-position-flex-none", "sme-icon", 3, "ngClass"], [1, "sme-panel-body"]], template: function AccordionPanelComponent_Template(rf, ctx) { if (rf & 1) {
5301
+ /** @nocollapse */ AccordionPanelComponent.ɵcmp = ɵɵdefineComponent({ type: AccordionPanelComponent, selectors: [["sme-accordion-panel"]], inputs: { header: "header", opened: "opened", isExpandable: "isExpandable", borderRadius: "borderRadius", paddingInset: "paddingInset" }, outputs: { toggled: "toggled" }, ngContentSelectors: _c3, decls: 9, vars: 14, consts: [[1, "sme-accordion-panel"], [1, "sme-arrange-stack-h", "sme-panel-header", "sme-layout-flex", "sme-position-flex-align-center"], [1, "sme-button", "sme-button-align-left", "sme-button-trigger", "sme-position-flex-auto", "sme-panel-expander", 3, "click"], ["accordionPanelButton", ""], ["class", "sme-position-flex-none sme-icon sme-position-stretch-v", 3, "ngClass", 4, "ngIf"], [1, "sme-arrange-ellipsis", "sme-position-stretch-v", 3, "title"], ["class", "sme-panel-body", 3, "sme-padding-inset-sm", 4, "ngIf"], [1, "sme-position-flex-none", "sme-icon", "sme-position-stretch-v", 3, "ngClass"], [1, "sme-panel-body"]], template: function AccordionPanelComponent_Template(rf, ctx) { if (rf & 1) {
5283
5302
  ɵɵprojectionDef(_c2);
5284
5303
  ɵɵelementStart(0, "div", 0);
5285
5304
  ɵɵelementStart(1, "div", 1);
@@ -5292,11 +5311,13 @@ class AccordionPanelComponent {
5292
5311
  ɵɵelementEnd();
5293
5312
  ɵɵprojection(7);
5294
5313
  ɵɵelementEnd();
5295
- ɵɵtemplate(8, AccordionPanelComponent_div_8_Template, 2, 0, "div", 6);
5314
+ ɵɵtemplate(8, AccordionPanelComponent_div_8_Template, 2, 2, "div", 6);
5296
5315
  ɵɵelementEnd();
5297
5316
  } if (rf & 2) {
5298
- ɵɵadvance(2);
5299
- ɵɵclassProp("sme-focus-zone", ctx.canClose);
5317
+ ɵɵadvance(1);
5318
+ ɵɵclassProp("sme-panel-header-border-radius", ctx.borderRadius)("sme-panel-header-border-radius-opened", ctx.borderRadius && ctx.opened);
5319
+ ɵɵadvance(1);
5320
+ ɵɵclassProp("sme-focus-zone", ctx.canClose)("sme-panel-header-border-radius", ctx.borderRadius)("sme-panel-header-border-radius-opened", ctx.borderRadius && ctx.opened);
5300
5321
  ɵɵadvance(2);
5301
5322
  ɵɵproperty("ngIf", ctx.canClose);
5302
5323
  ɵɵadvance(1);
@@ -5318,6 +5339,10 @@ class AccordionPanelComponent {
5318
5339
  type: Input
5319
5340
  }], isExpandable: [{
5320
5341
  type: Input
5342
+ }], borderRadius: [{
5343
+ type: Input
5344
+ }], paddingInset: [{
5345
+ type: Input
5321
5346
  }], toggled: [{
5322
5347
  type: Output
5323
5348
  }] }); })();
@@ -38123,7 +38148,8 @@ function DetailsComponent_span_6_Template(rf, ctx) { if (rf & 1) {
38123
38148
  const ctx_r2 = ɵɵnextContext();
38124
38149
  ɵɵproperty("ngClass", ɵɵpureFunction2(1, _c1$F, ctx_r2.isExpanded, !ctx_r2.isExpanded));
38125
38150
  } }
38126
- const _c2$h = ["*"];
38151
+ const _c2$h = function (a0, a1) { return { "sme-layout-absolute-phone-up sme-position-inset-none sme-padding-bottom-sm sme-arrange-overflow-auto": a0, "sme-layout-relative sme-position-stretch-v": a1 }; };
38152
+ const _c3$b = ["*"];
38127
38153
  /**
38128
38154
  *
38129
38155
  * @smeDoc {@label Details @id sme-details}
@@ -38140,6 +38166,10 @@ class DetailsComponent extends CoreBaseComponent {
38140
38166
  constructor(injector, layout) {
38141
38167
  super(injector);
38142
38168
  this.resourceStrings = MsftSme.getStrings().MsftSmeShell.Angular.Details;
38169
+ /**
38170
+ * The detail component's height will be determined on the whole children's height.
38171
+ */
38172
+ this.autoHeight = false;
38143
38173
  this.isExpandedChange = new EventEmitter();
38144
38174
  this.layoutChanged = new EventEmitter();
38145
38175
  this.initialHeightPercentage = 30;
@@ -38261,7 +38291,12 @@ class DetailsComponent extends CoreBaseComponent {
38261
38291
  potentialHeight = Math.min(potentialHeight, maxHeight);
38262
38292
  potentialHeight = Math.max(potentialHeight, minHeight);
38263
38293
  this.hostElement.nativeElement.style.minHeight = '';
38264
- this.hostElement.nativeElement.style.height = `{0}px`.format(potentialHeight);
38294
+ if (!this.autoHeight) {
38295
+ this.hostElement.nativeElement.style.height = `{0}px`.format(potentialHeight);
38296
+ }
38297
+ else {
38298
+ this.hostElement.nativeElement.style.height = '';
38299
+ }
38265
38300
  }
38266
38301
  setTimeout(() => {
38267
38302
  // the height would be changed on window height or width change
@@ -38286,7 +38321,7 @@ class DetailsComponent extends CoreBaseComponent {
38286
38321
  } if (rf & 2) {
38287
38322
  let _t;
38288
38323
  ɵɵqueryRefresh(_t = ɵɵloadQuery()) && (ctx.expander = _t.first);
38289
- } }, inputs: { initialHeightPercentage: "initialHeightPercentage", header: "header", chevronInverted: "chevronInverted", title: "title", isExpanded: "isExpanded" }, outputs: { isExpandedChange: "isExpandedChange" }, features: [ɵɵInheritDefinitionFeature, ɵɵNgOnChangesFeature], ngContentSelectors: _c2$h, decls: 12, vars: 13, consts: [["role", "button", "tabindex", "0", 1, "sme-button", "sme-button-trigger", "sme-button-auto-width", "sme-position-flex-none", "sme-padding-squish-v-md", "sme-padding-horizontal-lg", "sme-position-stretch-h", "sme-position-left-inline", "sme-arrange-stack-h", "sme-focus-zone", 3, "click"], ["expander", ""], [1, "sme-font-h3", "sme-position-flex-auto", "sme-arrange-ellipsis"], ["class", "sme-icon sme-position-flex-none", "aria-hidden", "true", 3, "ngClass", 4, "ngIf"], [1, "sme-screen-reader", 3, "id"], [1, "sme-position-flex-auto", "sme-layout-relative"], [1, "sme-layout-absolute-phone-up", "sme-position-inset-none", "sme-padding-bottom-sm", "sme-arrange-overflow-auto"], ["aria-hidden", "true", 1, "sme-icon", "sme-position-flex-none", 3, "ngClass"]], template: function DetailsComponent_Template(rf, ctx) { if (rf & 1) {
38324
+ } }, inputs: { initialHeightPercentage: "initialHeightPercentage", header: "header", chevronInverted: "chevronInverted", autoHeight: "autoHeight", title: "title", isExpanded: "isExpanded" }, outputs: { isExpandedChange: "isExpandedChange" }, features: [ɵɵInheritDefinitionFeature, ɵɵNgOnChangesFeature], ngContentSelectors: _c3$b, decls: 12, vars: 19, consts: [["role", "button", "tabindex", "0", 1, "sme-button", "sme-button-trigger", "sme-button-auto-width", "sme-position-flex-none", "sme-padding-squish-v-md", "sme-padding-horizontal-lg", "sme-position-stretch-h", "sme-position-left-inline", "sme-arrange-stack-h", "sme-focus-zone", 3, "click"], ["expander", ""], [1, "sme-font-h3", "sme-position-flex-auto", "sme-arrange-ellipsis"], ["class", "sme-icon sme-position-flex-none", "aria-hidden", "true", 3, "ngClass", 4, "ngIf"], [1, "sme-screen-reader", 3, "id"], [1, "sme-position-flex-auto", "sme-layout-relative"], [3, "ngClass"], ["aria-hidden", "true", 1, "sme-icon", "sme-position-flex-none", 3, "ngClass"]], template: function DetailsComponent_Template(rf, ctx) { if (rf & 1) {
38290
38325
  ɵɵprojectionDef();
38291
38326
  ɵɵelementStart(0, "h3");
38292
38327
  ɵɵelementStart(1, "div", 0, 1);
@@ -38321,9 +38356,10 @@ class DetailsComponent extends CoreBaseComponent {
38321
38356
  ɵɵadvance(1);
38322
38357
  ɵɵtextInterpolate1(" ", ctx.resourceStrings.AriaDescription, "");
38323
38358
  ɵɵadvance(1);
38324
- ɵɵclassProp("sme-margin-horizontal-lg", ctx.shouldContentSlim);
38359
+ ɵɵclassProp("sme-margin-horizontal-lg", ctx.shouldContentSlim)("sme-position-stretch-v", ctx.autoHeight);
38325
38360
  ɵɵadvance(1);
38326
38361
  ɵɵclassProp("sme-layout-none", !ctx.isExpanded);
38362
+ ɵɵproperty("ngClass", ɵɵpureFunction2(16, _c2$h, !ctx.autoHeight, ctx.autoHeight));
38327
38363
  } }, directives: [NgIf, NgClass], encapsulation: 2 });
38328
38364
  __decorate([
38329
38365
  Yield$1(),
@@ -38363,6 +38399,8 @@ __decorate([
38363
38399
  type: Input
38364
38400
  }], chevronInverted: [{
38365
38401
  type: Input
38402
+ }], autoHeight: [{
38403
+ type: Input
38366
38404
  }], title: [{
38367
38405
  type: Input
38368
38406
  }], isExpanded: [{
@@ -42790,7 +42828,7 @@ class PropertyGridResponsiveWindowManager extends SmeResponsiveWindowManagerComp
42790
42828
  const _c0$1m = ["readonlyTemplate"];
42791
42829
  const _c1$K = ["actionLinkTemplate"];
42792
42830
  const _c2$i = ["internalLinkTemplate"];
42793
- const _c3$b = ["externalLinkTemplate"];
42831
+ const _c3$c = ["externalLinkTemplate"];
42794
42832
  function PropertyGridComponent_sme_layout_definition_3_Template(rf, ctx) { if (rf & 1) {
42795
42833
  ɵɵelement(0, "sme-layout-definition", 11);
42796
42834
  } if (rf & 2) {
@@ -43179,7 +43217,7 @@ class PropertyGridComponent extends CoreBaseComponent {
43179
43217
  ɵɵviewQuery(_c0$1m, 3);
43180
43218
  ɵɵviewQuery(_c1$K, 3);
43181
43219
  ɵɵviewQuery(_c2$i, 3);
43182
- ɵɵviewQuery(_c3$b, 3);
43220
+ ɵɵviewQuery(_c3$c, 3);
43183
43221
  } if (rf & 2) {
43184
43222
  let _t;
43185
43223
  ɵɵqueryRefresh(_t = ɵɵloadQuery()) && (ctx.readonlyTemplate = _t.first);
@@ -43295,7 +43333,7 @@ class PropertyGridModule {
43295
43333
  const _c0$1n = ["multiSelectTemplate"];
43296
43334
  const _c1$L = ["textTemplate"];
43297
43335
  const _c2$j = ["singleSelectTemplate"];
43298
- const _c3$c = ["timespanSelectTemplate"];
43336
+ const _c3$d = ["timespanSelectTemplate"];
43299
43337
  function QueryEditorComponent_ng_container_0_ng_container_1_div_1_div_1_span_1_Template(rf, ctx) { if (rf & 1) {
43300
43338
  ɵɵelement(0, "span", 22);
43301
43339
  } if (rf & 2) {
@@ -44567,7 +44605,7 @@ class QueryEditorComponent extends CoreBaseComponent {
44567
44605
  ɵɵviewQuery(_c0$1n, 1);
44568
44606
  ɵɵviewQuery(_c1$L, 1);
44569
44607
  ɵɵviewQuery(_c2$j, 1);
44570
- ɵɵviewQuery(_c3$c, 1);
44608
+ ɵɵviewQuery(_c3$d, 1);
44571
44609
  } if (rf & 2) {
44572
44610
  let _t;
44573
44611
  ɵɵqueryRefresh(_t = ɵɵloadQuery()) && (ctx.multiSelectTemplate = _t.first);
@@ -49801,7 +49839,7 @@ function WizardComponent_div_2_Template(rf, ctx) { if (rf & 1) {
49801
49839
  } }
49802
49840
  const _c1$T = function (a0, a1, a2) { return { "sme-wizard-stage-completed": a0, "sme-wizard-stage-clicked": a1, "sme-wizard-stage-active": a2 }; };
49803
49841
  const _c2$n = function (a0) { return { "sme-icon sme-icon-accept sme-icon-size-xxs": a0 }; };
49804
- const _c3$d = function (a0, a1, a2, a3) { return { "sme-font-emphasis1 sme-wizard-stage-active": a0, "sme-wizard-stage-completed": a1, "sme-margin-left-xs": a2, "sme-layout-none": a3 }; };
49842
+ const _c3$e = function (a0, a1, a2, a3) { return { "sme-font-emphasis1 sme-wizard-stage-active": a0, "sme-wizard-stage-completed": a1, "sme-margin-left-xs": a2, "sme-layout-none": a3 }; };
49805
49843
  function WizardComponent_div_3_button_1_Template(rf, ctx) { if (rf & 1) {
49806
49844
  const _r12 = ɵɵgetCurrentView();
49807
49845
  ɵɵelementStart(0, "button", 17);
@@ -49825,7 +49863,7 @@ function WizardComponent_div_3_button_1_Template(rf, ctx) { if (rf & 1) {
49825
49863
  ɵɵadvance(1);
49826
49864
  ɵɵtextInterpolate1(" ", !stage_r9.completed ? val_r10 + 1 : "", " ");
49827
49865
  ɵɵadvance(1);
49828
- ɵɵproperty("ngClass", ɵɵpureFunction4(25, _c3$d, val_r10 === ctx_r8.stagesArrayIndex || stage_r9.active, stage_r9.completed, !stage_r9.completed, !ctx_r8.shouldRenderTextOnSteps));
49866
+ ɵɵproperty("ngClass", ɵɵpureFunction4(25, _c3$e, val_r10 === ctx_r8.stagesArrayIndex || stage_r9.active, stage_r9.completed, !stage_r9.completed, !ctx_r8.shouldRenderTextOnSteps));
49829
49867
  ɵɵadvance(1);
49830
49868
  ɵɵtextInterpolate1(" ", stage_r9.name, " ");
49831
49869
  } }