@bravura/ui 1.7.2 → 1.10.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 (44) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/behavior/await.directive.d.ts +60 -0
  3. package/behavior/behavior.module.d.ts +5 -2
  4. package/behavior/public-api.d.ts +1 -0
  5. package/behavior/sizing.directive.d.ts +12 -6
  6. package/bundles/bravura-ui-behavior.umd.js +161 -23
  7. package/bundles/bravura-ui-behavior.umd.js.map +1 -1
  8. package/bundles/bravura-ui-discrete-input.umd.js +2 -2
  9. package/bundles/bravura-ui-discrete-input.umd.js.map +1 -1
  10. package/bundles/bravura-ui-form-field.umd.js +2 -2
  11. package/bundles/bravura-ui-form-field.umd.js.map +1 -1
  12. package/bundles/bravura-ui-radio-panel.umd.js +2 -2
  13. package/bundles/bravura-ui-radio-panel.umd.js.map +1 -1
  14. package/bundles/bravura-ui-selection-panel.umd.js +7 -5
  15. package/bundles/bravura-ui-selection-panel.umd.js.map +1 -1
  16. package/bundles/bravura-ui-tooltip.umd.js +2 -1
  17. package/bundles/bravura-ui-tooltip.umd.js.map +1 -1
  18. package/esm2015/behavior/await.directive.js +106 -0
  19. package/esm2015/behavior/behavior.module.js +9 -6
  20. package/esm2015/behavior/public-api.js +2 -1
  21. package/esm2015/behavior/sizing.directive.js +42 -14
  22. package/esm2015/discrete-input/discrete-input.component.js +3 -3
  23. package/esm2015/form-field/form-field.component.js +3 -3
  24. package/esm2015/radio-panel/radio-panel.directive.js +3 -3
  25. package/esm2015/selection-panel/selection-panel-item.component.js +2 -2
  26. package/esm2015/selection-panel/selection-panel.directive.js +4 -3
  27. package/esm2015/selection-panel/selection-panel.module.js +4 -3
  28. package/esm2015/tooltip/tooltip.component.js +3 -2
  29. package/fesm2015/bravura-ui-behavior.js +151 -19
  30. package/fesm2015/bravura-ui-behavior.js.map +1 -1
  31. package/fesm2015/bravura-ui-discrete-input.js +2 -2
  32. package/fesm2015/bravura-ui-discrete-input.js.map +1 -1
  33. package/fesm2015/bravura-ui-form-field.js +2 -2
  34. package/fesm2015/bravura-ui-form-field.js.map +1 -1
  35. package/fesm2015/bravura-ui-radio-panel.js +2 -2
  36. package/fesm2015/bravura-ui-radio-panel.js.map +1 -1
  37. package/fesm2015/bravura-ui-selection-panel.js +7 -5
  38. package/fesm2015/bravura-ui-selection-panel.js.map +1 -1
  39. package/fesm2015/bravura-ui-tooltip.js +2 -1
  40. package/fesm2015/bravura-ui-tooltip.js.map +1 -1
  41. package/package.json +1 -1
  42. package/selection-panel/selection-panel-item.component.d.ts +1 -1
  43. package/selection-panel/selection-panel.module.d.ts +1 -1
  44. package/theme/_ui-theme.scss +39 -11
@@ -107,7 +107,7 @@ export class SelectionPanelItemComponent {
107
107
  }
108
108
  }
109
109
  SelectionPanelItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SelectionPanelItemComponent, deps: [{ token: SELECTION_PANEL_GROUP }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
110
- SelectionPanelItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: SelectionPanelItemComponent, selector: "bui-selection-panel-item", inputs: { title: "title", disabled: "disabled", value: "value", checked: "checked", color: "color" }, host: { properties: { "class.bui-selection-checked": "checked", "class.bui-border-accent": "checked && color ==='accent'", "class.bui-border-primary": "checked && color ==='primary'", "class.bui-border-warn": "checked && color ==='warn'", "class.bui-disabled": "disabled" }, classAttribute: "bui-selection-panel-item" }, viewQueries: [{ propertyName: "_ripple", first: true, predicate: MatRipple, descendants: true }], ngImport: i0, template: "<div class=\"bui-selection-panel-item-wrapper\">\n\t<div\n\t\tmatRipple\n\t\tmatRippleColor=\"rgba(128,128,128,.1)\"\n\t\tclass=\"bui-ripple\"\n\t\t*ngIf=\"!disabled\"\n\t\t[matRippleTrigger]=\"toggleTrigger\"\n\t\t#ripple=\"matRipple\"\n\t></div>\n\t<div class=\"bui-selection-panel-item-header\" #toggleTrigger>\n\t\t<mat-checkbox [(ngModel)]=\"checked\" [color]=\"color\" [disabled]=\"disabled\" (change)=\"_markInteracted()\">\n\t\t\t<div class=\"bui-selection-panel-item-title\" [innerHTML]=\"title\"></div>\n\t\t</mat-checkbox>\n\t</div>\n\n\t<div\n\t\tclass=\"bui-selection-panel-item-content\"\n\t\t[class.bui-selectable]=\"!_selectByHeader\"\n\t\t(click)=\"_contentClicked($event)\"\n\t>\n\t\t<ng-content></ng-content>\n\t</div>\n\t<div class=\"bui-selection-panel-item-bottom\"></div>\n</div>\n", styles: [":host{position:relative;border-radius:5px;border:1px solid rgba(128,128,128,.2);padding:1px}:host .bui-selection-panel-item-wrapper{padding-left:1rem;padding-right:1rem}:host .bui-ripple{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1}:host .bui-selection-panel-item-header{margin-top:calc(1rem - 4px);margin-bottom:calc(1rem - 4px)}:host .bui-selection-panel-item-title{font-size:larger;font-weight:bold;white-space:normal;margin-top:2px}:host .bui-selection-panel-item-content{margin-top:1rem;margin-bottom:1rem}:host(:not(:first-child)){margin-top:1rem}:host(:not([hidden])){display:block}:host(:not(.bui-disabled)):hover{border-width:2px;padding:0;border-color:#8080804d}:host(:not(.bui-disabled)) .bui-selection-panel-item-content.bui-selectable{cursor:pointer}\n"], components: [{ type: i1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleRadius", "matRippleDisabled", "matRippleTrigger", "matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleAnimation"], exportAs: ["matRipple"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
110
+ SelectionPanelItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: SelectionPanelItemComponent, selector: "bui-selection-panel-item", inputs: { title: "title", disabled: "disabled", value: "value", checked: "checked", color: "color" }, host: { properties: { "class.bui-selection-checked": "checked", "class.bui-border-accent": "checked && color ==='accent'", "class.bui-border-primary": "checked && color ==='primary'", "class.bui-border-warn": "checked && color ==='warn'", "class.bui-disabled": "disabled" }, classAttribute: "bui-selection-panel-item" }, viewQueries: [{ propertyName: "_ripple", first: true, predicate: MatRipple, descendants: true }], ngImport: i0, template: "<div class=\"bui-selection-panel-item-wrapper\">\n\t<div\n\t\tmatRipple\n\t\tmatRippleColor=\"rgba(128,128,128,.1)\"\n\t\tclass=\"bui-ripple\"\n\t\t*ngIf=\"!disabled\"\n\t\t[matRippleTrigger]=\"toggleTrigger\"\n\t\t#ripple=\"matRipple\"\n\t></div>\n\t<div class=\"bui-selection-panel-item-header\" #toggleTrigger>\n\t\t<mat-checkbox\n\t\t\t[(ngModel)]=\"checked\"\n\t\t\t[color]=\"color\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t(change)=\"_markInteracted()\"\n\t\t\tstyle=\"flex-grow: 1\"\n\t\t>\n\t\t\t<div class=\"bui-selection-panel-item-title\" [innerHTML]=\"title\"></div>\n\t\t</mat-checkbox>\n\t\t<ng-content select=\"[buiSelectionItemHeadingEnd]\"></ng-content>\n\t</div>\n\n\t<div\n\t\tclass=\"bui-selection-panel-item-content\"\n\t\t[class.bui-selectable]=\"!_selectByHeader\"\n\t\t(click)=\"_contentClicked($event)\"\n\t>\n\t\t<ng-content></ng-content>\n\t</div>\n\t<div class=\"bui-selection-panel-item-bottom\"></div>\n</div>\n", styles: [":host{position:relative;border-radius:5px;border:1px solid rgba(128,128,128,.2);padding:1px}:host .bui-selection-panel-item-wrapper{padding-left:1rem;padding-right:1rem}:host .bui-ripple{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1}:host .bui-selection-panel-item-header{margin-top:calc(1rem - 4px);margin-bottom:calc(1rem - 4px);display:flex;align-items:center}:host .bui-selection-panel-item-title{font-size:larger;font-weight:bold;white-space:normal;margin-top:2px}:host .bui-selection-panel-item-content{margin-top:1rem;margin-bottom:1rem}:host(:not(:first-child)){margin-top:1rem}:host(:not([hidden])){display:block}:host(:not(.bui-disabled)):hover{border-width:2px;padding:0;border-color:#8080804d}:host(:not(.bui-disabled)) .bui-selection-panel-item-content.bui-selectable{cursor:pointer}\n"], components: [{ type: i1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleRadius", "matRippleDisabled", "matRippleTrigger", "matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleAnimation"], exportAs: ["matRipple"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
111
111
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SelectionPanelItemComponent, decorators: [{
112
112
  type: Component,
113
113
  args: [{
@@ -141,4 +141,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
141
141
  type: ViewChild,
142
142
  args: [MatRipple]
143
143
  }] } });
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLXBhbmVsLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc2VsZWN0aW9uLXBhbmVsL3NlbGVjdGlvbi1wYW5lbC1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NlbGVjdGlvbi1wYW5lbC9zZWxlY3Rpb24tcGFuZWwtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQ04sdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFDTCxTQUFTLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7O0FBYWpFOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxjQUFjLENBQTBCLHlCQUF5QixDQUFDLENBQUM7QUFFNUc7O0dBRUc7QUFlSCxNQUFNLE9BQU8sMkJBQTJCO0lBbUV2QyxZQUFtRCxNQUErQixFQUFVLEdBQXNCO1FBQS9ELFdBQU0sR0FBTixNQUFNLENBQXlCO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUE1RGxIOztXQUVHO1FBRUgsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQWtESCxjQUFTLEdBQUcsS0FBSyxDQUFDO0lBTTJGLENBQUM7SUF0RHRILHNDQUFzQztJQUN0QyxJQUNJLFFBQVE7UUFDWCxPQUFPLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7SUFDbEQsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLEtBQWM7UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxnQ0FBZ0M7SUFDaEMsSUFDSSxLQUFLO1FBQ1IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3BCLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxLQUFVO1FBQ25CLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxLQUFLLEVBQUU7WUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDcEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUN4QjtJQUNGLENBQUM7SUFFRCxzQ0FBc0M7SUFDdEMsSUFDSSxPQUFPO1FBQ1YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxLQUFjO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRTtZQUM1QixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUM3QzthQUFNO1lBQ04sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN4QjtJQUNGLENBQUM7SUFFRCx1Q0FBdUM7SUFDdkMsSUFDSSxLQUFLO1FBQ1IsT0FBTyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxRQUFzQjtRQUMvQixJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUM7SUFDbkMsQ0FBQztJQVdELGNBQWM7SUFDZCxlQUFlO1FBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsY0FBYztJQUNkLE9BQU87UUFDTixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCx3Q0FBd0M7SUFDeEMsTUFBTTtRQUNMLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQzlCLENBQUM7SUFFRCxjQUFjO0lBQ2QsZUFBZSxDQUFDLEtBQWlCOztRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUMxQixNQUFBLElBQUksQ0FBQyxPQUFPLDBDQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuRCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDZDtJQUNGLENBQUM7SUFFRCx3RUFBd0U7SUFDaEUsWUFBWSxDQUFDLEtBQWM7UUFDbEMsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLEtBQUssRUFBRTtZQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3hCO0lBQ0YsQ0FBQztJQUVPLFdBQVcsQ0FBQyxLQUFjO1FBQ2pDLE1BQU0sZUFBZSxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEQsSUFBSSxHQUFHLEtBQUssZUFBZSxFQUFFO1lBQzVCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdEUsSUFBSSxlQUFlLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDakQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUNsRTtpQkFBTSxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksU0FBUyxFQUFFO2dCQUN4RCwwREFBMEQ7Z0JBQzFELHlCQUF5QjtnQkFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUMvRTtZQUNELElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDeEI7SUFDRixDQUFDOzt3SEFsSFcsMkJBQTJCLGtCQW1FbkIscUJBQXFCOzRHQW5FN0IsMkJBQTJCLGdoQkFnRTVCLFNBQVMsZ0RDN0dyQixzeUJBd0JBOzJGRHFCYSwyQkFBMkI7a0JBZHZDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsV0FBVyxFQUFFLHVDQUF1QztvQkFDcEQsU0FBUyxFQUFFLENBQUMsdUNBQXVDLENBQUM7b0JBQ3BELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxJQUFJLEVBQUU7d0JBQ0wsS0FBSyxFQUFFLDBCQUEwQjt3QkFDakMsK0JBQStCLEVBQUUsU0FBUzt3QkFDMUMsMkJBQTJCLEVBQUUsOEJBQThCO3dCQUMzRCw0QkFBNEIsRUFBRSwrQkFBK0I7d0JBQzdELHlCQUF5QixFQUFFLDRCQUE0Qjt3QkFDdkQsc0JBQXNCLEVBQUUsVUFBVTtxQkFDbEM7aUJBQ0Q7OzBCQW9FYSxNQUFNOzJCQUFDLHFCQUFxQjs0RUF4RHpDLEtBQUs7c0JBREosS0FBSztnQkFLRixRQUFRO3NCQURYLEtBQUs7Z0JBVUYsS0FBSztzQkFEUixLQUFLO2dCQWFGLE9BQU87c0JBRFYsS0FBSztnQkFjRixLQUFLO3NCQURSLEtBQUs7Z0JBaUJFLE9BQU87c0JBRGQsU0FBUzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDaGFuZ2VEZXRlY3RvclJlZixcblx0Q29tcG9uZW50LFxuXHRJbmplY3QsXG5cdEluamVjdGlvblRva2VuLFxuXHRJbnB1dCxcblx0Vmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0UmlwcGxlLCBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcblxuLyoqXG4gKiBAaWdub3JlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0aW9uUGFuZWxJdGVtR3JvdXAge1xuXHRfc2VsZWN0aW9uOiBhbnlbXTtcblx0Y29sb3I6IFRoZW1lUGFsZXR0ZTtcblx0X2lzRGlzYWJsZWQ6IGJvb2xlYW47XG5cdF9vblRvdWNoZWQ6ICgpID0+IHZvaWQ7XG5cdHNlbGVjdEJ5SGVhZGVyOiBib29sZWFuO1xufVxuXG4vKipcbiAqIEBpZ25vcmVcbiAqL1xuZXhwb3J0IGNvbnN0IFNFTEVDVElPTl9QQU5FTF9HUk9VUCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxTZWxlY3Rpb25QYW5lbEl0ZW1Hcm91cD4oJ1NlbGVjdGlvblBhbmVsSXRlbUdyb3VwJyk7XG5cbi8qKlxuICogVXNlIGBidWktc2VsZWN0aW9uLXBhbmVsLWl0ZW1gIHdpdGhpbiBhIGBidWktc2VsZWN0aW9uLXBhbmVsYCB0byBkaXNwbGF5IGFuIG9wdGlvbi5cbiAqL1xuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnYnVpLXNlbGVjdGlvbi1wYW5lbC1pdGVtJyxcblx0dGVtcGxhdGVVcmw6ICcuL3NlbGVjdGlvbi1wYW5lbC1pdGVtLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmxzOiBbJy4vc2VsZWN0aW9uLXBhbmVsLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdGhvc3Q6IHtcblx0XHRjbGFzczogJ2J1aS1zZWxlY3Rpb24tcGFuZWwtaXRlbScsXG5cdFx0J1tjbGFzcy5idWktc2VsZWN0aW9uLWNoZWNrZWRdJzogJ2NoZWNrZWQnLFxuXHRcdCdbY2xhc3MuYnVpLWJvcmRlci1hY2NlbnRdJzogYGNoZWNrZWQgJiYgY29sb3IgPT09J2FjY2VudCdgLFxuXHRcdCdbY2xhc3MuYnVpLWJvcmRlci1wcmltYXJ5XSc6IGBjaGVja2VkICYmIGNvbG9yID09PSdwcmltYXJ5J2AsXG5cdFx0J1tjbGFzcy5idWktYm9yZGVyLXdhcm5dJzogYGNoZWNrZWQgJiYgY29sb3IgPT09J3dhcm4nYCxcblx0XHQnW2NsYXNzLmJ1aS1kaXNhYmxlZF0nOiAnZGlzYWJsZWQnXG5cdH1cbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0aW9uUGFuZWxJdGVtQ29tcG9uZW50IHtcblx0LyoqIEBpZ25vcmUgKi9cblx0c3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2Rpc2FibGVkOiBib29sZWFuIHwgc3RyaW5nO1xuXG5cdC8qKiBAaWdub3JlICovXG5cdHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9jaGVja2VkOiBib29sZWFuIHwgc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBUaGlzIHdpbGwgYmUgZGlzcGxheWVkIGFzIHRoZSBwYW5lbCBoZWFkZXJcblx0ICovXG5cdEBJbnB1dCgpXG5cdHRpdGxlID0gJyc7XG5cblx0LyoqIFdoZXRoZXIgdGhlIG9wdGlvbiBpcyBkaXNhYmxlZC4gKi9cblx0QElucHV0KClcblx0Z2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLl9kaXNhYmxlZCB8fCB0aGlzLl9ncm91cC5faXNEaXNhYmxlZDtcblx0fVxuXHRzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcblx0XHR0aGlzLl9zZXREaXNhYmxlZChjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpKTtcblx0fVxuXG5cdC8qKiBUaGUgdmFsdWUgb2YgdGhpcyBvcHRpb24uICovXG5cdEBJbnB1dCgpXG5cdGdldCB2YWx1ZSgpOiBhbnkge1xuXHRcdHJldHVybiB0aGlzLl92YWx1ZTtcblx0fVxuXHRzZXQgdmFsdWUodmFsdWU6IGFueSkge1xuXHRcdGlmICh0aGlzLl92YWx1ZSAhPT0gdmFsdWUpIHtcblx0XHRcdHRoaXMuX3ZhbHVlID0gdmFsdWU7XG5cdFx0XHR0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcblx0XHR9XG5cdH1cblxuXHQvKiogV2hldGhlciB0aGlzIG9wdGlvbiBpcyBjaGVja2VkLiAqL1xuXHRASW5wdXQoKVxuXHRnZXQgY2hlY2tlZCgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5fZ3JvdXAuX3NlbGVjdGlvbi5pbmNsdWRlcyh0aGlzLnZhbHVlKTtcblx0fVxuXHRzZXQgY2hlY2tlZCh2YWx1ZTogYm9vbGVhbikge1xuXHRcdGlmICghdGhpcy5fZ3JvdXAuX29uVG91Y2hlZCkge1xuXHRcdFx0c2V0VGltZW91dCgoKSA9PiB0aGlzLl9zZXRDaGVja2VkKHZhbHVlKSwgMCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuX3NldENoZWNrZWQodmFsdWUpO1xuXHRcdH1cblx0fVxuXG5cdC8qKiBUaGVtZSBjb2xvciBvZiB0aGUgcmFkaW8gYnV0dG9uLiAqL1xuXHRASW5wdXQoKVxuXHRnZXQgY29sb3IoKTogVGhlbWVQYWxldHRlIHtcblx0XHRyZXR1cm4gdGhpcy5fY29sb3IgfHwgdGhpcy5fZ3JvdXAuY29sb3I7XG5cdH1cblx0c2V0IGNvbG9yKG5ld1ZhbHVlOiBUaGVtZVBhbGV0dGUpIHtcblx0XHR0aGlzLl9jb2xvciA9IG5ld1ZhbHVlO1xuXHR9XG5cblx0Z2V0IF9zZWxlY3RCeUhlYWRlcigpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5fZ3JvdXAuc2VsZWN0QnlIZWFkZXI7XG5cdH1cblxuXHRwcml2YXRlIF9jb2xvcjogVGhlbWVQYWxldHRlO1xuXHRwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuXHRwcml2YXRlIF92YWx1ZTogYW55O1xuXG5cdEBWaWV3Q2hpbGQoTWF0UmlwcGxlKVxuXHRwcml2YXRlIF9yaXBwbGU/OiBNYXRSaXBwbGU7XG5cblx0Y29uc3RydWN0b3IoQEluamVjdChTRUxFQ1RJT05fUEFORUxfR1JPVVApIHByaXZhdGUgX2dyb3VwOiBTZWxlY3Rpb25QYW5lbEl0ZW1Hcm91cCwgcHJpdmF0ZSBfY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG5cdC8qKiBAaWdub3JlICovXG5cdF9tYXJrSW50ZXJhY3RlZCgpIHtcblx0XHR0aGlzLl9ncm91cC5fb25Ub3VjaGVkKCk7XG5cdH1cblxuXHQvKiogQGlnbm9yZSAqL1xuXHRfbm90aWZ5KCkge1xuXHRcdHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuXHR9XG5cblx0LyoqIFRvZ2dsZSBzZWxlY3Rpb24gcHJvZ3JhbW1hdGljYWxseSAqL1xuXHR0b2dnbGUoKSB7XG5cdFx0dGhpcy5jaGVja2VkID0gIXRoaXMuY2hlY2tlZDtcblx0fVxuXG5cdC8qKiBAaWdub3JlICovXG5cdF9jb250ZW50Q2xpY2tlZChldmVudDogTW91c2VFdmVudCkge1xuXHRcdGlmICghdGhpcy5fc2VsZWN0QnlIZWFkZXIpIHtcblx0XHRcdHRoaXMuX3JpcHBsZT8ubGF1bmNoKGV2ZW50LmNsaWVudFgsIGV2ZW50LmNsaWVudFkpO1xuXHRcdFx0dGhpcy50b2dnbGUoKTtcblx0XHR9XG5cdH1cblxuXHQvKiogU2V0cyB0aGUgZGlzYWJsZWQgc3RhdGUgYW5kIG1hcmtzIGZvciBjaGVjayBpZiBhIGNoYW5nZSBvY2N1cnJlZC4gKi9cblx0cHJpdmF0ZSBfc2V0RGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcblx0XHRpZiAodGhpcy5fZGlzYWJsZWQgIT09IHZhbHVlKSB7XG5cdFx0XHR0aGlzLl9kaXNhYmxlZCA9IHZhbHVlO1xuXHRcdFx0dGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBfc2V0Q2hlY2tlZCh2YWx1ZTogYm9vbGVhbikge1xuXHRcdGNvbnN0IG5ld0NoZWNrZWRTdGF0ZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG5cdFx0Y29uc3Qgb2xkID0gdGhpcy5fZ3JvdXAuX3NlbGVjdGlvbi5pbmNsdWRlcyh0aGlzLnZhbHVlKTtcblx0XHRpZiAob2xkICE9PSBuZXdDaGVja2VkU3RhdGUpIHtcblx0XHRcdGNvbnN0IGNvbnRhaW5lZCA9IHRoaXMuX2dyb3VwLl9zZWxlY3Rpb24uc29tZSh2ID0+IHYgPT09IHRoaXMuX3ZhbHVlKTtcblx0XHRcdGlmIChuZXdDaGVja2VkU3RhdGUgJiYgdGhpcy5fZ3JvdXAgJiYgIWNvbnRhaW5lZCkge1xuXHRcdFx0XHR0aGlzLl9ncm91cC5fc2VsZWN0aW9uID0gWy4uLnRoaXMuX2dyb3VwLl9zZWxlY3Rpb24sIHRoaXMuX3ZhbHVlXTtcblx0XHRcdH0gZWxzZSBpZiAoIW5ld0NoZWNrZWRTdGF0ZSAmJiB0aGlzLl9ncm91cCAmJiBjb250YWluZWQpIHtcblx0XHRcdFx0Ly8gV2hlbiB1bmNoZWNraW5nIHRoZSBzZWxlY3RlZCBpdGVtLCB1cGRhdGUgdGhlIHNlbGVjdGlvblxuXHRcdFx0XHQvLyBwcm9wZXJ0eSBvbiB0aGUgZ3JvdXAuXG5cdFx0XHRcdHRoaXMuX2dyb3VwLl9zZWxlY3Rpb24gPSB0aGlzLl9ncm91cC5fc2VsZWN0aW9uLmZpbHRlcih2ID0+IHYgIT09IHRoaXMuX3ZhbHVlKTtcblx0XHRcdH1cblx0XHRcdHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuXHRcdH1cblx0fVxufVxuIiwiPGRpdiBjbGFzcz1cImJ1aS1zZWxlY3Rpb24tcGFuZWwtaXRlbS13cmFwcGVyXCI+XG5cdDxkaXZcblx0XHRtYXRSaXBwbGVcblx0XHRtYXRSaXBwbGVDb2xvcj1cInJnYmEoMTI4LDEyOCwxMjgsLjEpXCJcblx0XHRjbGFzcz1cImJ1aS1yaXBwbGVcIlxuXHRcdCpuZ0lmPVwiIWRpc2FibGVkXCJcblx0XHRbbWF0UmlwcGxlVHJpZ2dlcl09XCJ0b2dnbGVUcmlnZ2VyXCJcblx0XHQjcmlwcGxlPVwibWF0UmlwcGxlXCJcblx0PjwvZGl2PlxuXHQ8ZGl2IGNsYXNzPVwiYnVpLXNlbGVjdGlvbi1wYW5lbC1pdGVtLWhlYWRlclwiICN0b2dnbGVUcmlnZ2VyPlxuXHRcdDxtYXQtY2hlY2tib3ggWyhuZ01vZGVsKV09XCJjaGVja2VkXCIgW2NvbG9yXT1cImNvbG9yXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgKGNoYW5nZSk9XCJfbWFya0ludGVyYWN0ZWQoKVwiPlxuXHRcdFx0PGRpdiBjbGFzcz1cImJ1aS1zZWxlY3Rpb24tcGFuZWwtaXRlbS10aXRsZVwiIFtpbm5lckhUTUxdPVwidGl0bGVcIj48L2Rpdj5cblx0XHQ8L21hdC1jaGVja2JveD5cblx0PC9kaXY+XG5cblx0PGRpdlxuXHRcdGNsYXNzPVwiYnVpLXNlbGVjdGlvbi1wYW5lbC1pdGVtLWNvbnRlbnRcIlxuXHRcdFtjbGFzcy5idWktc2VsZWN0YWJsZV09XCIhX3NlbGVjdEJ5SGVhZGVyXCJcblx0XHQoY2xpY2spPVwiX2NvbnRlbnRDbGlja2VkKCRldmVudClcIlxuXHQ+XG5cdFx0PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXHQ8L2Rpdj5cblx0PGRpdiBjbGFzcz1cImJ1aS1zZWxlY3Rpb24tcGFuZWwtaXRlbS1ib3R0b21cIj48L2Rpdj5cbjwvZGl2PlxuIl19
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLXBhbmVsLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc2VsZWN0aW9uLXBhbmVsL3NlbGVjdGlvbi1wYW5lbC1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NlbGVjdGlvbi1wYW5lbC9zZWxlY3Rpb24tcGFuZWwtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQ04sdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFDTCxTQUFTLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7O0FBYWpFOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxjQUFjLENBQTBCLHlCQUF5QixDQUFDLENBQUM7QUFFNUc7O0dBRUc7QUFlSCxNQUFNLE9BQU8sMkJBQTJCO0lBbUV2QyxZQUFtRCxNQUErQixFQUFVLEdBQXNCO1FBQS9ELFdBQU0sR0FBTixNQUFNLENBQXlCO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUE1RGxIOztXQUVHO1FBRUgsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQWtESCxjQUFTLEdBQUcsS0FBSyxDQUFDO0lBTTJGLENBQUM7SUF0RHRILHNDQUFzQztJQUN0QyxJQUNJLFFBQVE7UUFDWCxPQUFPLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7SUFDbEQsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLEtBQWM7UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFD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QkFEZCxTQUFTO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENoYW5nZURldGVjdG9yUmVmLFxuXHRDb21wb25lbnQsXG5cdEluamVjdCxcblx0SW5qZWN0aW9uVG9rZW4sXG5cdElucHV0LFxuXHRWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRSaXBwbGUsIFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuXG4vKipcbiAqIEBpZ25vcmVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWxlY3Rpb25QYW5lbEl0ZW1Hcm91cCB7XG5cdF9zZWxlY3Rpb246IGFueVtdO1xuXHRjb2xvcjogVGhlbWVQYWxldHRlO1xuXHRfaXNEaXNhYmxlZDogYm9vbGVhbjtcblx0X29uVG91Y2hlZDogKCkgPT4gdm9pZDtcblx0c2VsZWN0QnlIZWFkZXI6IGJvb2xlYW47XG59XG5cbi8qKlxuICogQGlnbm9yZVxuICovXG5leHBvcnQgY29uc3QgU0VMRUNUSU9OX1BBTkVMX0dST1VQID0gbmV3IEluamVjdGlvblRva2VuPFNlbGVjdGlvblBhbmVsSXRlbUdyb3VwPignU2VsZWN0aW9uUGFuZWxJdGVtR3JvdXAnKTtcblxuLyoqXG4gKiBVc2UgYGJ1aS1zZWxlY3Rpb24tcGFuZWwtaXRlbWAgd2l0aGluIGEgYGJ1aS1zZWxlY3Rpb24tcGFuZWxgIHRvIGRpc3BsYXkgYW4gb3B0aW9uLlxuICovXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdidWktc2VsZWN0aW9uLXBhbmVsLWl0ZW0nLFxuXHR0ZW1wbGF0ZVVybDogJy4vc2VsZWN0aW9uLXBhbmVsLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi9zZWxlY3Rpb24tcGFuZWwtaXRlbS5jb21wb25lbnQuc2NzcyddLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0aG9zdDoge1xuXHRcdGNsYXNzOiAnYnVpLXNlbGVjdGlvbi1wYW5lbC1pdGVtJyxcblx0XHQnW2NsYXNzLmJ1aS1zZWxlY3Rpb24tY2hlY2tlZF0nOiAnY2hlY2tlZCcsXG5cdFx0J1tjbGFzcy5idWktYm9yZGVyLWFjY2VudF0nOiBgY2hlY2tlZCAmJiBjb2xvciA9PT0nYWNjZW50J2AsXG5cdFx0J1tjbGFzcy5idWktYm9yZGVyLXByaW1hcnldJzogYGNoZWNrZWQgJiYgY29sb3IgPT09J3ByaW1hcnknYCxcblx0XHQnW2NsYXNzLmJ1aS1ib3JkZXItd2Fybl0nOiBgY2hlY2tlZCAmJiBjb2xvciA9PT0nd2FybidgLFxuXHRcdCdbY2xhc3MuYnVpLWRpc2FibGVkXSc6ICdkaXNhYmxlZCdcblx0fVxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3Rpb25QYW5lbEl0ZW1Db21wb25lbnQge1xuXHQvKiogQGlnbm9yZSAqL1xuXHRzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfZGlzYWJsZWQ6IGJvb2xlYW4gfCBzdHJpbmc7XG5cblx0LyoqIEBpZ25vcmUgKi9cblx0c3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2NoZWNrZWQ6IGJvb2xlYW4gfCBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIFRoaXMgd2lsbCBiZSBkaXNwbGF5ZWQgYXMgdGhlIHBhbmVsIGhlYWRlclxuXHQgKi9cblx0QElucHV0KClcblx0dGl0bGUgPSAnJztcblxuXHQvKiogV2hldGhlciB0aGUgb3B0aW9uIGlzIGRpc2FibGVkLiAqL1xuXHRASW5wdXQoKVxuXHRnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuX2Rpc2FibGVkIHx8IHRoaXMuX2dyb3VwLl9pc0Rpc2FibGVkO1xuXHR9XG5cdHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuXHRcdHRoaXMuX3NldERpc2FibGVkKGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSkpO1xuXHR9XG5cblx0LyoqIFRoZSB2YWx1ZSBvZiB0aGlzIG9wdGlvbi4gKi9cblx0QElucHV0KClcblx0Z2V0IHZhbHVlKCk6IGFueSB7XG5cdFx0cmV0dXJuIHRoaXMuX3ZhbHVlO1xuXHR9XG5cdHNldCB2YWx1ZSh2YWx1ZTogYW55KSB7XG5cdFx0aWYgKHRoaXMuX3ZhbHVlICE9PSB2YWx1ZSkge1xuXHRcdFx0dGhpcy5fdmFsdWUgPSB2YWx1ZTtcblx0XHRcdHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuXHRcdH1cblx0fVxuXG5cdC8qKiBXaGV0aGVyIHRoaXMgb3B0aW9uIGlzIGNoZWNrZWQuICovXG5cdEBJbnB1dCgpXG5cdGdldCBjaGVja2VkKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLl9ncm91cC5fc2VsZWN0aW9uLmluY2x1ZGVzKHRoaXMudmFsdWUpO1xuXHR9XG5cdHNldCBjaGVja2VkKHZhbHVlOiBib29sZWFuKSB7XG5cdFx0aWYgKCF0aGlzLl9ncm91cC5fb25Ub3VjaGVkKSB7XG5cdFx0XHRzZXRUaW1lb3V0KCgpID0+IHRoaXMuX3NldENoZWNrZWQodmFsdWUpLCAwKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5fc2V0Q2hlY2tlZCh2YWx1ZSk7XG5cdFx0fVxuXHR9XG5cblx0LyoqIFRoZW1lIGNvbG9yIG9mIHRoZSByYWRpbyBidXR0b24uICovXG5cdEBJbnB1dCgpXG5cdGdldCBjb2xvcigpOiBUaGVtZVBhbGV0dGUge1xuXHRcdHJldHVybiB0aGlzLl9jb2xvciB8fCB0aGlzLl9ncm91cC5jb2xvcjtcblx0fVxuXHRzZXQgY29sb3IobmV3VmFsdWU6IFRoZW1lUGFsZXR0ZSkge1xuXHRcdHRoaXMuX2NvbG9yID0gbmV3VmFsdWU7XG5cdH1cblxuXHRnZXQgX3NlbGVjdEJ5SGVhZGVyKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLl9ncm91cC5zZWxlY3RCeUhlYWRlcjtcblx0fVxuXG5cdHByaXZhdGUgX2NvbG9yOiBUaGVtZVBhbGV0dGU7XG5cdHByaXZhdGUgX2Rpc2FibGVkID0gZmFsc2U7XG5cdHByaXZhdGUgX3ZhbHVlOiBhbnk7XG5cblx0QFZpZXdDaGlsZChNYXRSaXBwbGUpXG5cdHByaXZhdGUgX3JpcHBsZT86IE1hdFJpcHBsZTtcblxuXHRjb25zdHJ1Y3RvcihASW5qZWN0KFNFTEVDVElPTl9QQU5FTF9HUk9VUCkgcHJpdmF0ZSBfZ3JvdXA6IFNlbGVjdGlvblBhbmVsSXRlbUdyb3VwLCBwcml2YXRlIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cblx0LyoqIEBpZ25vcmUgKi9cblx0X21hcmtJbnRlcmFjdGVkKCkge1xuXHRcdHRoaXMuX2dyb3VwLl9vblRvdWNoZWQoKTtcblx0fVxuXG5cdC8qKiBAaWdub3JlICovXG5cdF9ub3RpZnkoKSB7XG5cdFx0dGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG5cdH1cblxuXHQvKiogVG9nZ2xlIHNlbGVjdGlvbiBwcm9ncmFtbWF0aWNhbGx5ICovXG5cdHRvZ2dsZSgpIHtcblx0XHR0aGlzLmNoZWNrZWQgPSAhdGhpcy5jaGVja2VkO1xuXHR9XG5cblx0LyoqIEBpZ25vcmUgKi9cblx0X2NvbnRlbnRDbGlja2VkKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG5cdFx0aWYgKCF0aGlzLl9zZWxlY3RCeUhlYWRlcikge1xuXHRcdFx0dGhpcy5fcmlwcGxlPy5sYXVuY2goZXZlbnQuY2xpZW50WCwgZXZlbnQuY2xpZW50WSk7XG5cdFx0XHR0aGlzLnRvZ2dsZSgpO1xuXHRcdH1cblx0fVxuXG5cdC8qKiBTZXRzIHRoZSBkaXNhYmxlZCBzdGF0ZSBhbmQgbWFya3MgZm9yIGNoZWNrIGlmIGEgY2hhbmdlIG9jY3VycmVkLiAqL1xuXHRwcml2YXRlIF9zZXREaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuXHRcdGlmICh0aGlzLl9kaXNhYmxlZCAhPT0gdmFsdWUpIHtcblx0XHRcdHRoaXMuX2Rpc2FibGVkID0gdmFsdWU7XG5cdFx0XHR0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIF9zZXRDaGVja2VkKHZhbHVlOiBib29sZWFuKSB7XG5cdFx0Y29uc3QgbmV3Q2hlY2tlZFN0YXRlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcblx0XHRjb25zdCBvbGQgPSB0aGlzLl9ncm91cC5fc2VsZWN0aW9uLmluY2x1ZGVzKHRoaXMudmFsdWUpO1xuXHRcdGlmIChvbGQgIT09IG5ld0NoZWNrZWRTdGF0ZSkge1xuXHRcdFx0Y29uc3QgY29udGFpbmVkID0gdGhpcy5fZ3JvdXAuX3NlbGVjdGlvbi5zb21lKHYgPT4gdiA9PT0gdGhpcy5fdmFsdWUpO1xuXHRcdFx0aWYgKG5ld0NoZWNrZWRTdGF0ZSAmJiB0aGlzLl9ncm91cCAmJiAhY29udGFpbmVkKSB7XG5cdFx0XHRcdHRoaXMuX2dyb3VwLl9zZWxlY3Rpb24gPSBbLi4udGhpcy5fZ3JvdXAuX3NlbGVjdGlvbiwgdGhpcy5fdmFsdWVdO1xuXHRcdFx0fSBlbHNlIGlmICghbmV3Q2hlY2tlZFN0YXRlICYmIHRoaXMuX2dyb3VwICYmIGNvbnRhaW5lZCkge1xuXHRcdFx0XHQvLyBXaGVuIHVuY2hlY2tpbmcgdGhlIHNlbGVjdGVkIGl0ZW0sIHVwZGF0ZSB0aGUgc2VsZWN0aW9uXG5cdFx0XHRcdC8vIHByb3BlcnR5IG9uIHRoZSBncm91cC5cblx0XHRcdFx0dGhpcy5fZ3JvdXAuX3NlbGVjdGlvbiA9IHRoaXMuX2dyb3VwLl9zZWxlY3Rpb24uZmlsdGVyKHYgPT4gdiAhPT0gdGhpcy5fdmFsdWUpO1xuXHRcdFx0fVxuXHRcdFx0dGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG5cdFx0fVxuXHR9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYnVpLXNlbGVjdGlvbi1wYW5lbC1pdGVtLXdyYXBwZXJcIj5cblx0PGRpdlxuXHRcdG1hdFJpcHBsZVxuXHRcdG1hdFJpcHBsZUNvbG9yPVwicmdiYSgxMjgsMTI4LDEyOCwuMSlcIlxuXHRcdGNsYXNzPVwiYnVpLXJpcHBsZVwiXG5cdFx0Km5nSWY9XCIhZGlzYWJsZWRcIlxuXHRcdFttYXRSaXBwbGVUcmlnZ2VyXT1cInRvZ2dsZVRyaWdnZXJcIlxuXHRcdCNyaXBwbGU9XCJtYXRSaXBwbGVcIlxuXHQ+PC9kaXY+XG5cdDxkaXYgY2xhc3M9XCJidWktc2VsZWN0aW9uLXBhbmVsLWl0ZW0taGVhZGVyXCIgI3RvZ2dsZVRyaWdnZXI+XG5cdFx0PG1hdC1jaGVja2JveFxuXHRcdFx0WyhuZ01vZGVsKV09XCJjaGVja2VkXCJcblx0XHRcdFtjb2xvcl09XCJjb2xvclwiXG5cdFx0XHRbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuXHRcdFx0KGNoYW5nZSk9XCJfbWFya0ludGVyYWN0ZWQoKVwiXG5cdFx0XHRzdHlsZT1cImZsZXgtZ3JvdzogMVwiXG5cdFx0PlxuXHRcdFx0PGRpdiBjbGFzcz1cImJ1aS1zZWxlY3Rpb24tcGFuZWwtaXRlbS10aXRsZVwiIFtpbm5lckhUTUxdPVwidGl0bGVcIj48L2Rpdj5cblx0XHQ8L21hdC1jaGVja2JveD5cblx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJbYnVpU2VsZWN0aW9uSXRlbUhlYWRpbmdFbmRdXCI+PC9uZy1jb250ZW50PlxuXHQ8L2Rpdj5cblxuXHQ8ZGl2XG5cdFx0Y2xhc3M9XCJidWktc2VsZWN0aW9uLXBhbmVsLWl0ZW0tY29udGVudFwiXG5cdFx0W2NsYXNzLmJ1aS1zZWxlY3RhYmxlXT1cIiFfc2VsZWN0QnlIZWFkZXJcIlxuXHRcdChjbGljayk9XCJfY29udGVudENsaWNrZWQoJGV2ZW50KVwiXG5cdD5cblx0XHQ8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cdDwvZGl2PlxuXHQ8ZGl2IGNsYXNzPVwiYnVpLXNlbGVjdGlvbi1wYW5lbC1pdGVtLWJvdHRvbVwiPjwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -92,7 +92,7 @@ export class SelectionPanelDirective {
92
92
  }
93
93
  }
94
94
  SelectionPanelDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SelectionPanelDirective, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
95
- SelectionPanelDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.7", type: SelectionPanelDirective, selector: "bui-selection-panel", inputs: { color: "color", selectByHeader: "selectByHeader" }, providers: [
95
+ SelectionPanelDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.7", type: SelectionPanelDirective, selector: "bui-selection-panel", inputs: { color: "color", selectByHeader: "selectByHeader" }, host: { classAttribute: "bui-selection-panel bui-host" }, providers: [
96
96
  { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SelectionPanelDirective), multi: true },
97
97
  { provide: SELECTION_PANEL_GROUP, useExisting: forwardRef(() => SelectionPanelDirective) }
98
98
  ], queries: [{ propertyName: "_items", predicate: SelectionPanelItemComponent, descendants: true }], exportAs: ["buiSelectionPanel"], usesOnChanges: true, ngImport: i0 });
@@ -104,7 +104,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
104
104
  { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SelectionPanelDirective), multi: true },
105
105
  { provide: SELECTION_PANEL_GROUP, useExisting: forwardRef(() => SelectionPanelDirective) }
106
106
  ],
107
- exportAs: 'buiSelectionPanel'
107
+ exportAs: 'buiSelectionPanel',
108
+ host: { class: 'bui-selection-panel bui-host' }
108
109
  }]
109
110
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { color: [{
110
111
  type: Input
@@ -114,4 +115,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
114
115
  type: ContentChildren,
115
116
  args: [SelectionPanelItemComponent, { descendants: true }]
116
117
  }] } });
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLXBhbmVsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NlbGVjdGlvbi1wYW5lbC9zZWxlY3Rpb24tcGFuZWwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTixlQUFlLEVBQ2YsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBSUwsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFDTiwyQkFBMkIsRUFFM0IscUJBQXFCLEVBQ3JCLE1BQU0sa0NBQWtDLENBQUM7O0FBRTFDOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBU0gsTUFBTSxPQUFPLHVCQUF1QjtJQXdDbkMsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFwQzFDOzs7OztXQUtHO1FBQ00sbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFvQi9CLGNBQWM7UUFDZCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUlaLGNBQVMsR0FBVSxFQUFFLENBQUM7SUFLZSxDQUFDO0lBNUI5Qzs7O09BR0c7SUFDSCxJQUFJLFVBQVU7UUFDYixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQUksVUFBVSxDQUFDLEtBQVk7UUFDMUIsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3hCO0lBQ0YsQ0FBQztJQWlCRDs7T0FFRztJQUNILFVBQVUsQ0FBQyxHQUFROztRQUNsQixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNwQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztTQUM1QjthQUFNLElBQUksR0FBRyxLQUFLLElBQUksSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFO1lBQzdDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3pCO1FBQ0QsTUFBQSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxnQkFBZ0IsQ0FBQyxFQUFvQjtRQUNwQyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxpQkFBaUIsQ0FBQyxFQUFjO1FBQy9CLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNuQyxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssVUFBVSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO1lBQzlCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztTQUN4QztJQUNGLENBQUM7SUFFRCxjQUFjO0lBQ2QsV0FBVyxDQUFDLE9BQXNCO1FBQ2pDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNoQixJQUFJLE9BQU8sQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLGNBQWMsRUFBRTtnQkFDNUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQzthQUM1QztTQUNEO0lBQ0YsQ0FBQzs7b0hBeEZXLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLDRHQU54QjtRQUNWLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO1FBQ25HLEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUMsRUFBRTtLQUMxRixpREF3Q2dCLDJCQUEyQjsyRkFyQ2hDLHVCQUF1QjtrQkFSbkMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUscUJBQXFCO29CQUMvQixTQUFTLEVBQUU7d0JBQ1YsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsd0JBQXdCLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO3dCQUNuRyxFQUFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx3QkFBd0IsQ0FBQyxFQUFFO3FCQUMxRjtvQkFDRCxRQUFRLEVBQUUsbUJBQW1CO2lCQUM3Qjt3R0FHUyxLQUFLO3NCQUFiLEtBQUs7Z0JBUUcsY0FBYztzQkFBdEIsS0FBSztnQkE0QkUsTUFBTTtzQkFEYixlQUFlO3VCQUFDLDJCQUEyQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdENoYW5nZURldGVjdG9yUmVmLFxuXHRDb250ZW50Q2hpbGRyZW4sXG5cdERpcmVjdGl2ZSxcblx0Zm9yd2FyZFJlZixcblx0SW5wdXQsXG5cdE9uQ2hhbmdlcyxcblx0UXVlcnlMaXN0LFxuXHRTaW1wbGVDaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVGhlbWVQYWxldHRlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQge1xuXHRTZWxlY3Rpb25QYW5lbEl0ZW1Db21wb25lbnQsXG5cdFNlbGVjdGlvblBhbmVsSXRlbUdyb3VwLFxuXHRTRUxFQ1RJT05fUEFORUxfR1JPVVBcbn0gZnJvbSAnLi9zZWxlY3Rpb24tcGFuZWwtaXRlbS5jb21wb25lbnQnO1xuXG4vKipcbiAqIFNlbGVjdGlvbiBwYW5lbCBpcyBhIFtjb250cm9sIHZhbHVlIGFjY2Vzc29yXShodHRwczovL2FuZ3VsYXIuaW8vYXBpL2Zvcm1zL0NvbnRyb2xWYWx1ZUFjY2Vzc29yKVxuICogdGhhdCBkaXNwbGF5IGEgc2V0IG9mIG11bHRpLXNlbGVjdGlvbiBpdGVtcyBhcyBib3JkZXJlZCBwYW5lbHMsIGluIGEgc2ltaWxhciBmYXNoaW9uIGFzIFJhZGlvIFBhbmVsIGBidWktcmFkaW8tcGFuZWxgLlxuICpcbiAqIEFjY2Vzc2liaWxpdHkgZmVhdHVyZXMgYXJlIG5vdCB5ZXQgZnVsbHkgaW1wbGVtZW50ZWQuXG4gKlxuICogRXhhbXBsZTpcbiAqXG4gKiBgYGBodG1sXG4gKiA8YnVpLXNlbGVjdGlvbi1wYW5lbD5cbiAqICAgPGJ1aS1zZWxlY3Rpb24tcGFuZWwtaXRlbSAqbmdGb3I9XCJsZXQgb2JqIG9mIG9iamVjdHNcIiBbdmFsdWVdPVwib2JqXCI+e3tvYmouZGVzY3JpcHRpb259fTwvYnVpLXNlbGVjdGlvbi1wYW5lbC1pdGVtPlxuICogPC9idWktc2VsZWN0aW9uLXBhbmVsPlxuICogYGBgXG4gKlxuICovXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdidWktc2VsZWN0aW9uLXBhbmVsJyxcblx0cHJvdmlkZXJzOiBbXG5cdFx0eyBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2VsZWN0aW9uUGFuZWxEaXJlY3RpdmUpLCBtdWx0aTogdHJ1ZSB9LFxuXHRcdHsgcHJvdmlkZTogU0VMRUNUSU9OX1BBTkVMX0dST1VQLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTZWxlY3Rpb25QYW5lbERpcmVjdGl2ZSkgfVxuXHRdLFxuXHRleHBvcnRBczogJ2J1aVNlbGVjdGlvblBhbmVsJ1xufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3Rpb25QYW5lbERpcmVjdGl2ZSBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBTZWxlY3Rpb25QYW5lbEl0ZW1Hcm91cCwgT25DaGFuZ2VzIHtcblx0LyoqIFRoZW1lIGNvbG9yIGZvciBhbGwgb2YgdGhlIHNlbGVjdGlvbiBjaGVja2JveGVzIGluIHRoZSBncm91cC4gKi9cblx0QElucHV0KCkgY29sb3I6IFRoZW1lUGFsZXR0ZTtcblxuXHQvKipcblx0ICogV2hlbiBzZXQgdG8gYGZhbHNlYCwgdGhlIHNlbGVjdGlvbiBpcyB0cmlnZ2VyZWQgYnkgY2xpY2sgZXZlcnl3aGVyZSB3aXRoaW4gdGhlIHBhbmVscyB0aGF0IGlzXG5cdCAqIG5vdCBmb2N1cy10cmFwcGluZzsgb3RoZXJ3aXNlLCBvbmx5IGNsaWNraW5nIG9uIHRoZSBoZWFkZXIgd2lsbCBhY3RpdmF0ZSB0aGUgc2VsZWN0aW9uLlxuXHQgKlxuXHQgKiBAZGVmYXVsdCB0cnVlXG5cdCAqL1xuXHRASW5wdXQoKSBzZWxlY3RCeUhlYWRlciA9IHRydWU7XG5cblx0LyoqXG5cdCAqIEBpZ25vcmVcblx0ICogVGhlIHNlbGVjdGVkIHZhbHVlcy4gVXNlZCBieSB0aGUgY2hpbGQgZWxlbWVudHMgdG8gbW9kaWZ5IHRoZSBncm91cCdzIHZhbHVlXG5cdCAqL1xuXHRnZXQgX3NlbGVjdGlvbigpOiBhbnlbXSB7XG5cdFx0cmV0dXJuIHRoaXMuX3NlbGVjdGVkO1xuXHR9XG5cdHNldCBfc2VsZWN0aW9uKHZhbHVlOiBhbnlbXSkge1xuXHRcdGlmICh2YWx1ZSAhPT0gdGhpcy5fc2VsZWN0ZWQpIHtcblx0XHRcdHRoaXMuX3NlbGVjdGVkID0gdmFsdWU7XG5cdFx0XHR0aGlzLl9vbkNoYW5nZSh0aGlzLl9zZWxlY3RlZCk7XG5cdFx0XHR0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcblx0XHR9XG5cdH1cblxuXHQvKiogQGlnbm9yZSAqL1xuXHRfb25Ub3VjaGVkITogKCkgPT4gdm9pZDtcblxuXHQvKiogQGlnbm9yZSAqL1xuXHRfaXNEaXNhYmxlZCA9IGZhbHNlO1xuXG5cdHByaXZhdGUgX29uQ2hhbmdlITogKF86IGFueSkgPT4gdm9pZDtcblxuXHRwcml2YXRlIF9zZWxlY3RlZDogYW55W10gPSBbXTtcblxuXHRAQ29udGVudENoaWxkcmVuKFNlbGVjdGlvblBhbmVsSXRlbUNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuXHRwcml2YXRlIF9pdGVtcyE6IFF1ZXJ5TGlzdDxTZWxlY3Rpb25QYW5lbEl0ZW1Db21wb25lbnQ+O1xuXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuXHQvKipcblx0ICogQGlnbm9yZVxuXHQgKi9cblx0d3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xuXHRcdHRoaXMuX3NlbGVjdGVkID0gW107XG5cdFx0aWYgKEFycmF5LmlzQXJyYXkob2JqKSkge1xuXHRcdFx0dGhpcy5fc2VsZWN0ZWQucHVzaCguLi5vYmopO1xuXHRcdH0gZWxzZSBpZiAob2JqICE9PSBudWxsICYmIG9iaiAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHR0aGlzLl9zZWxlY3RlZC5wdXNoKG9iaik7XG5cdFx0fVxuXHRcdHRoaXMuX2l0ZW1zPy5mb3JFYWNoKGl0ID0+IGl0Ll9ub3RpZnkoKSk7XG5cdH1cblxuXHQvKipcblx0ICogQGlnbm9yZVxuXHQgKi9cblx0cmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuXHRcdHRoaXMuX29uQ2hhbmdlID0gZm47XG5cdH1cblxuXHQvKipcblx0ICogQGlnbm9yZVxuXHQgKi9cblx0cmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcblx0XHR0aGlzLl9vblRvdWNoZWQgPSBmbjtcblx0fVxuXG5cdC8qKlxuXHQgKiBTZXRzIHRoZSBkaXNhYmxlZCBzdGF0ZSBhbmQgbWFya3MgZm9yIGNoZWNrIGlmIGEgY2hhbmdlIG9jY3VycmVkLlxuXHQgKiBAaWdub3JlXG5cdCAqL1xuXHRzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcblx0XHRpZiAodGhpcy5faXNEaXNhYmxlZCAhPT0gaXNEaXNhYmxlZCkge1xuXHRcdFx0dGhpcy5faXNEaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG5cdFx0XHR0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcblx0XHRcdHRoaXMuX2l0ZW1zLmZvckVhY2goaXQgPT4gaXQuX25vdGlmeSgpKTtcblx0XHR9XG5cdH1cblxuXHQvKiogQGlnbm9yZSAqL1xuXHRuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuX2l0ZW1zKSB7XG5cdFx0XHRpZiAoY2hhbmdlcy5jb2xvciB8fCBjaGFuZ2VzLnNlbGVjdEJ5SGVhZGVyKSB7XG5cdFx0XHRcdHRoaXMuX2l0ZW1zLmZvckVhY2goaXRlbSA9PiBpdGVtLl9ub3RpZnkoKSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iXX0=
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLXBhbmVsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NlbGVjdGlvbi1wYW5lbC9zZWxlY3Rpb24tcGFuZWwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTixlQUFlLEVBQ2YsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBSUwsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFDTiwyQkFBMkIsRUFFM0IscUJBQXFCLEVBQ3JCLE1BQU0sa0NBQWtDLENBQUM7O0FBRTFDOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBVUgsTUFBTSxPQUFPLHVCQUF1QjtJQXdDbkMsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFwQzFDOzs7OztXQUtHO1FBQ00sbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFvQi9CLGNBQWM7UUFDZCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUlaLGNBQVMsR0FBVSxFQUFFLENBQUM7SUFLZSxDQUFDO0lBNUI5Qzs7O09BR0c7SUFDSCxJQUFJLFVBQVU7UUFDYixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQUksVUFBVSxDQUFDLEtBQVk7UUFDMUIsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3hCO0lBQ0YsQ0FBQztJQWlCRDs7T0FFRztJQUNILFVBQVUsQ0FBQyxHQUFROztRQUNsQixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNwQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztTQUM1QjthQUFNLElBQUksR0FBRyxLQUFLLElBQUksSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFO1lBQzdDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3pCO1FBQ0QsTUFBQSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxnQkFBZ0IsQ0FBQyxFQUFvQjtRQUNwQyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxpQkFBaUIsQ0FBQyxFQUFjO1FBQy9CLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNuQyxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssVUFBVSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO1lBQzlCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztTQUN4QztJQUNGLENBQUM7SUFFRCxjQUFjO0lBQ2QsV0FBVyxDQUFDLE9BQXNCO1FBQ2pDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNoQixJQUFJLE9BQU8sQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLGNBQWMsRUFBRTtnQkFDNUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQzthQUM1QztTQUNEO0lBQ0YsQ0FBQzs7b0hBeEZXLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLHNLQVB4QjtRQUNWLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO1FBQ25HLEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUMsRUFBRTtLQUMxRixpREF5Q2dCLDJCQUEyQjsyRkFyQ2hDLHVCQUF1QjtrQkFUbkMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUscUJBQXFCO29CQUMvQixTQUFTLEVBQUU7d0JBQ1YsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsd0JBQXdCLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO3dCQUNuRyxFQUFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx3QkFBd0IsQ0FBQyxFQUFFO3FCQUMxRjtvQkFDRCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsOEJBQThCLEVBQUU7aUJBQy9DO3dHQUdTLEtBQUs7c0JBQWIsS0FBSztnQkFRRyxjQUFjO3NCQUF0QixLQUFLO2dCQTRCRSxNQUFNO3NCQURiLGVBQWU7dUJBQUMsMkJBQTJCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Q2hhbmdlRGV0ZWN0b3JSZWYsXG5cdENvbnRlbnRDaGlsZHJlbixcblx0RGlyZWN0aXZlLFxuXHRmb3J3YXJkUmVmLFxuXHRJbnB1dCxcblx0T25DaGFuZ2VzLFxuXHRRdWVyeUxpc3QsXG5cdFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7XG5cdFNlbGVjdGlvblBhbmVsSXRlbUNvbXBvbmVudCxcblx0U2VsZWN0aW9uUGFuZWxJdGVtR3JvdXAsXG5cdFNFTEVDVElPTl9QQU5FTF9HUk9VUFxufSBmcm9tICcuL3NlbGVjdGlvbi1wYW5lbC1pdGVtLmNvbXBvbmVudCc7XG5cbi8qKlxuICogU2VsZWN0aW9uIHBhbmVsIGlzIGEgW2NvbnRyb2wgdmFsdWUgYWNjZXNzb3JdKGh0dHBzOi8vYW5ndWxhci5pby9hcGkvZm9ybXMvQ29udHJvbFZhbHVlQWNjZXNzb3IpXG4gKiB0aGF0IGRpc3BsYXkgYSBzZXQgb2YgbXVsdGktc2VsZWN0aW9uIGl0ZW1zIGFzIGJvcmRlcmVkIHBhbmVscywgaW4gYSBzaW1pbGFyIGZhc2hpb24gYXMgUmFkaW8gUGFuZWwgYGJ1aS1yYWRpby1wYW5lbGAuXG4gKlxuICogQWNjZXNzaWJpbGl0eSBmZWF0dXJlcyBhcmUgbm90IHlldCBmdWxseSBpbXBsZW1lbnRlZC5cbiAqXG4gKiBFeGFtcGxlOlxuICpcbiAqIGBgYGh0bWxcbiAqIDxidWktc2VsZWN0aW9uLXBhbmVsPlxuICogICA8YnVpLXNlbGVjdGlvbi1wYW5lbC1pdGVtICpuZ0Zvcj1cImxldCBvYmogb2Ygb2JqZWN0c1wiIFt2YWx1ZV09XCJvYmpcIj57e29iai5kZXNjcmlwdGlvbn19PC9idWktc2VsZWN0aW9uLXBhbmVsLWl0ZW0+XG4gKiA8L2J1aS1zZWxlY3Rpb24tcGFuZWw+XG4gKiBgYGBcbiAqXG4gKi9cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ2J1aS1zZWxlY3Rpb24tcGFuZWwnLFxuXHRwcm92aWRlcnM6IFtcblx0XHR7IHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTZWxlY3Rpb25QYW5lbERpcmVjdGl2ZSksIG11bHRpOiB0cnVlIH0sXG5cdFx0eyBwcm92aWRlOiBTRUxFQ1RJT05fUEFORUxfR1JPVVAsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNlbGVjdGlvblBhbmVsRGlyZWN0aXZlKSB9XG5cdF0sXG5cdGV4cG9ydEFzOiAnYnVpU2VsZWN0aW9uUGFuZWwnLFxuXHRob3N0OiB7IGNsYXNzOiAnYnVpLXNlbGVjdGlvbi1wYW5lbCBidWktaG9zdCcgfVxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3Rpb25QYW5lbERpcmVjdGl2ZSBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBTZWxlY3Rpb25QYW5lbEl0ZW1Hcm91cCwgT25DaGFuZ2VzIHtcblx0LyoqIFRoZW1lIGNvbG9yIGZvciBhbGwgb2YgdGhlIHNlbGVjdGlvbiBjaGVja2JveGVzIGluIHRoZSBncm91cC4gKi9cblx0QElucHV0KCkgY29sb3I6IFRoZW1lUGFsZXR0ZTtcblxuXHQvKipcblx0ICogV2hlbiBzZXQgdG8gYGZhbHNlYCwgdGhlIHNlbGVjdGlvbiBpcyB0cmlnZ2VyZWQgYnkgY2xpY2sgZXZlcnl3aGVyZSB3aXRoaW4gdGhlIHBhbmVscyB0aGF0IGlzXG5cdCAqIG5vdCBmb2N1cy10cmFwcGluZzsgb3RoZXJ3aXNlLCBvbmx5IGNsaWNraW5nIG9uIHRoZSBoZWFkZXIgd2lsbCBhY3RpdmF0ZSB0aGUgc2VsZWN0aW9uLlxuXHQgKlxuXHQgKiBAZGVmYXVsdCB0cnVlXG5cdCAqL1xuXHRASW5wdXQoKSBzZWxlY3RCeUhlYWRlciA9IHRydWU7XG5cblx0LyoqXG5cdCAqIEBpZ25vcmVcblx0ICogVGhlIHNlbGVjdGVkIHZhbHVlcy4gVXNlZCBieSB0aGUgY2hpbGQgZWxlbWVudHMgdG8gbW9kaWZ5IHRoZSBncm91cCdzIHZhbHVlXG5cdCAqL1xuXHRnZXQgX3NlbGVjdGlvbigpOiBhbnlbXSB7XG5cdFx0cmV0dXJuIHRoaXMuX3NlbGVjdGVkO1xuXHR9XG5cdHNldCBfc2VsZWN0aW9uKHZhbHVlOiBhbnlbXSkge1xuXHRcdGlmICh2YWx1ZSAhPT0gdGhpcy5fc2VsZWN0ZWQpIHtcblx0XHRcdHRoaXMuX3NlbGVjdGVkID0gdmFsdWU7XG5cdFx0XHR0aGlzLl9vbkNoYW5nZSh0aGlzLl9zZWxlY3RlZCk7XG5cdFx0XHR0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcblx0XHR9XG5cdH1cblxuXHQvKiogQGlnbm9yZSAqL1xuXHRfb25Ub3VjaGVkITogKCkgPT4gdm9pZDtcblxuXHQvKiogQGlnbm9yZSAqL1xuXHRfaXNEaXNhYmxlZCA9IGZhbHNlO1xuXG5cdHByaXZhdGUgX29uQ2hhbmdlITogKF86IGFueSkgPT4gdm9pZDtcblxuXHRwcml2YXRlIF9zZWxlY3RlZDogYW55W10gPSBbXTtcblxuXHRAQ29udGVudENoaWxkcmVuKFNlbGVjdGlvblBhbmVsSXRlbUNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuXHRwcml2YXRlIF9pdGVtcyE6IFF1ZXJ5TGlzdDxTZWxlY3Rpb25QYW5lbEl0ZW1Db21wb25lbnQ+O1xuXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuXHQvKipcblx0ICogQGlnbm9yZVxuXHQgKi9cblx0d3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xuXHRcdHRoaXMuX3NlbGVjdGVkID0gW107XG5cdFx0aWYgKEFycmF5LmlzQXJyYXkob2JqKSkge1xuXHRcdFx0dGhpcy5fc2VsZWN0ZWQucHVzaCguLi5vYmopO1xuXHRcdH0gZWxzZSBpZiAob2JqICE9PSBudWxsICYmIG9iaiAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHR0aGlzLl9zZWxlY3RlZC5wdXNoKG9iaik7XG5cdFx0fVxuXHRcdHRoaXMuX2l0ZW1zPy5mb3JFYWNoKGl0ID0+IGl0Ll9ub3RpZnkoKSk7XG5cdH1cblxuXHQvKipcblx0ICogQGlnbm9yZVxuXHQgKi9cblx0cmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuXHRcdHRoaXMuX29uQ2hhbmdlID0gZm47XG5cdH1cblxuXHQvKipcblx0ICogQGlnbm9yZVxuXHQgKi9cblx0cmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcblx0XHR0aGlzLl9vblRvdWNoZWQgPSBmbjtcblx0fVxuXG5cdC8qKlxuXHQgKiBTZXRzIHRoZSBkaXNhYmxlZCBzdGF0ZSBhbmQgbWFya3MgZm9yIGNoZWNrIGlmIGEgY2hhbmdlIG9jY3VycmVkLlxuXHQgKiBAaWdub3JlXG5cdCAqL1xuXHRzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcblx0XHRpZiAodGhpcy5faXNEaXNhYmxlZCAhPT0gaXNEaXNhYmxlZCkge1xuXHRcdFx0dGhpcy5faXNEaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG5cdFx0XHR0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcblx0XHRcdHRoaXMuX2l0ZW1zLmZvckVhY2goaXQgPT4gaXQuX25vdGlmeSgpKTtcblx0XHR9XG5cdH1cblxuXHQvKiogQGlnbm9yZSAqL1xuXHRuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuX2l0ZW1zKSB7XG5cdFx0XHRpZiAoY2hhbmdlcy5jb2xvciB8fCBjaGFuZ2VzLnNlbGVjdEJ5SGVhZGVyKSB7XG5cdFx0XHRcdHRoaXMuX2l0ZW1zLmZvckVhY2goaXRlbSA9PiBpdGVtLl9ub3RpZnkoKSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iXX0=
@@ -9,13 +9,14 @@ import * as i0 from "@angular/core";
9
9
  export class SelectionPanelModule {
10
10
  }
11
11
  SelectionPanelModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SelectionPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- SelectionPanelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SelectionPanelModule, declarations: [SelectionPanelDirective, SelectionPanelItemComponent], imports: [CommonModule, MatCheckboxModule, FormsModule, MatRippleModule] });
12
+ SelectionPanelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SelectionPanelModule, declarations: [SelectionPanelDirective, SelectionPanelItemComponent], imports: [CommonModule, MatCheckboxModule, FormsModule, MatRippleModule], exports: [SelectionPanelDirective, SelectionPanelItemComponent] });
13
13
  SelectionPanelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SelectionPanelModule, imports: [[CommonModule, MatCheckboxModule, FormsModule, MatRippleModule]] });
14
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SelectionPanelModule, decorators: [{
15
15
  type: NgModule,
16
16
  args: [{
17
17
  declarations: [SelectionPanelDirective, SelectionPanelItemComponent],
18
- imports: [CommonModule, MatCheckboxModule, FormsModule, MatRippleModule]
18
+ imports: [CommonModule, MatCheckboxModule, FormsModule, MatRippleModule],
19
+ exports: [SelectionPanelDirective, SelectionPanelItemComponent]
19
20
  }]
20
21
  }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLXBhbmVsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NlbGVjdGlvbi1wYW5lbC9zZWxlY3Rpb24tcGFuZWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBTXpELE1BQU0sT0FBTyxvQkFBb0I7O2lIQUFwQixvQkFBb0I7a0hBQXBCLG9CQUFvQixpQkFIakIsdUJBQXVCLEVBQUUsMkJBQTJCLGFBQ3pELFlBQVksRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsZUFBZTtrSEFFM0Qsb0JBQW9CLFlBRnZCLENBQUMsWUFBWSxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxlQUFlLENBQUM7MkZBRTVELG9CQUFvQjtrQkFKaEMsUUFBUTttQkFBQztvQkFDVCxZQUFZLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSwyQkFBMkIsQ0FBQztvQkFDcEUsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxlQUFlLENBQUM7aUJBQ3hFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBTZWxlY3Rpb25QYW5lbERpcmVjdGl2ZSB9IGZyb20gJy4vc2VsZWN0aW9uLXBhbmVsLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcbmltcG9ydCB7IFNlbGVjdGlvblBhbmVsSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0aW9uLXBhbmVsLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0UmlwcGxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5cbkBOZ01vZHVsZSh7XG5cdGRlY2xhcmF0aW9uczogW1NlbGVjdGlvblBhbmVsRGlyZWN0aXZlLCBTZWxlY3Rpb25QYW5lbEl0ZW1Db21wb25lbnRdLFxuXHRpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRDaGVja2JveE1vZHVsZSwgRm9ybXNNb2R1bGUsIE1hdFJpcHBsZU1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0aW9uUGFuZWxNb2R1bGUge31cbiJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLXBhbmVsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NlbGVjdGlvbi1wYW5lbC9zZWxlY3Rpb24tcGFuZWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBT3pELE1BQU0sT0FBTyxvQkFBb0I7O2lIQUFwQixvQkFBb0I7a0hBQXBCLG9CQUFvQixpQkFKakIsdUJBQXVCLEVBQUUsMkJBQTJCLGFBQ3pELFlBQVksRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsZUFBZSxhQUM3RCx1QkFBdUIsRUFBRSwyQkFBMkI7a0hBRWxELG9CQUFvQixZQUh2QixDQUFDLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsZUFBZSxDQUFDOzJGQUc1RCxvQkFBb0I7a0JBTGhDLFFBQVE7bUJBQUM7b0JBQ1QsWUFBWSxFQUFFLENBQUMsdUJBQXVCLEVBQUUsMkJBQTJCLENBQUM7b0JBQ3BFLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsZUFBZSxDQUFDO29CQUN4RSxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSwyQkFBMkIsQ0FBQztpQkFDL0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFNlbGVjdGlvblBhbmVsRGlyZWN0aXZlIH0gZnJvbSAnLi9zZWxlY3Rpb24tcGFuZWwuZGlyZWN0aXZlJztcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHsgU2VsZWN0aW9uUGFuZWxJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3Rpb24tcGFuZWwtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRSaXBwbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcblxuQE5nTW9kdWxlKHtcblx0ZGVjbGFyYXRpb25zOiBbU2VsZWN0aW9uUGFuZWxEaXJlY3RpdmUsIFNlbGVjdGlvblBhbmVsSXRlbUNvbXBvbmVudF0sXG5cdGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdENoZWNrYm94TW9kdWxlLCBGb3Jtc01vZHVsZSwgTWF0UmlwcGxlTW9kdWxlXSxcblx0ZXhwb3J0czogW1NlbGVjdGlvblBhbmVsRGlyZWN0aXZlLCBTZWxlY3Rpb25QYW5lbEl0ZW1Db21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdGlvblBhbmVsTW9kdWxlIHt9XG4iXX0=
@@ -22,7 +22,7 @@ export class TooltipComponent extends MatTooltipComponent {
22
22
  }
23
23
  }
24
24
  TooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: TooltipComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.BreakpointObserver }, { token: BUI_TOOLTIP_TEMPLATE_REF }], target: i0.ɵɵFactoryTarget.Component });
25
- TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: TooltipComponent, selector: "bui-tooltip-component", host: { attributes: { "aria-hidden": "true" }, listeners: { "body:click": "this._handleBodyInteraction()", "body:auxclick": "this._handleBodyInteraction()" }, properties: { "style.zoom": "_visibility === \"visible\" ? 1 : null" } }, viewQueries: [{ propertyName: "tooltipDiv", first: true, predicate: ["tooltipDiv"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div\n\tclass=\"mat-tooltip bui-tooltip\"\n\t[ngClass]=\"tooltipClass\"\n\t[class.mat-tooltip-handset]=\"(_isHandset | async)?.matches\"\n\t[@state]=\"_visibility\"\n\t(@state.start)=\"_animationStart()\"\n\t(@state.done)=\"_animationDone($event)\"\n>\n\t<ng-template [ngIf]=\"_tooltip.template\">\n\t\t<ng-template [ngTemplateOutlet]=\"_tooltip.template\"></ng-template>\n\t</ng-template>\n\t<div #tooltipDiv></div>\n</div>\n", styles: [".bui-tooltip.mat-tooltip{max-width:100vw;font-size:inherit}\n"], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i2.AsyncPipe }, animations: [matTooltipAnimations.tooltipState], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
25
+ TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: TooltipComponent, selector: "bui-tooltip-component", host: { attributes: { "aria-hidden": "true" }, listeners: { "body:click": "this._handleBodyInteraction()", "body:auxclick": "this._handleBodyInteraction()" }, properties: { "style.zoom": "_visibility === \"visible\" ? 1 : null" }, classAttribute: "bui-tooltip-component bui-host" }, viewQueries: [{ propertyName: "tooltipDiv", first: true, predicate: ["tooltipDiv"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div\n\tclass=\"mat-tooltip bui-tooltip\"\n\t[ngClass]=\"tooltipClass\"\n\t[class.mat-tooltip-handset]=\"(_isHandset | async)?.matches\"\n\t[@state]=\"_visibility\"\n\t(@state.start)=\"_animationStart()\"\n\t(@state.done)=\"_animationDone($event)\"\n>\n\t<ng-template [ngIf]=\"_tooltip.template\">\n\t\t<ng-template [ngTemplateOutlet]=\"_tooltip.template\"></ng-template>\n\t</ng-template>\n\t<div #tooltipDiv></div>\n</div>\n", styles: [".bui-tooltip.mat-tooltip{max-width:100vw;font-size:inherit}\n"], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i2.AsyncPipe }, animations: [matTooltipAnimations.tooltipState], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
26
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: TooltipComponent, decorators: [{
27
27
  type: Component,
28
28
  args: [{
@@ -33,6 +33,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
33
33
  changeDetection: ChangeDetectionStrategy.OnPush,
34
34
  animations: [matTooltipAnimations.tooltipState],
35
35
  host: {
36
+ class: 'bui-tooltip-component bui-host',
36
37
  // Forces the element to have a layout in IE and Edge. This fixes issues where the element
37
38
  // won't be rendered if the animations are disabled or there is no web animations polyfill.
38
39
  '[style.zoom]': '_visibility === "visible" ? 1 : null',
@@ -49,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
49
50
  args: ['tooltipDiv', { static: true }]
50
51
  }] } });
51
52
  TooltipComponent.ɵcmp.styles.push(MatTooltipComponent.ɵcmp.styles);
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTix1QkFBdUIsRUFFdkIsU0FBUyxFQUVULE1BQU0sRUFDTixjQUFjLEVBRWQsU0FBUyxFQUNULGlCQUFpQixFQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLElBQUksbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7OztBQVMxRzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLElBQUksY0FBYyxDQUN6RCx1Q0FBdUMsQ0FDdkMsQ0FBQztBQWtCRixNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsbUJBQW1CO0lBTXhELFlBQ0MsaUJBQW9DLEVBQ3BDLG1CQUF1QyxFQUNFLFFBQWtDO1FBRTNFLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1FBRkwsYUFBUSxHQUFSLFFBQVEsQ0FBMEI7UUFScEUsaUJBQVksR0FBRyxFQUFFLENBQUM7SUFXMUIsQ0FBQztJQUVELElBQUksQ0FBQyxLQUFhO1FBQ2pCLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUU7WUFDbEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDdkQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQ2pDO1FBQ0QsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQixDQUFDOzs2R0FwQlcsZ0JBQWdCLHFGQVNuQix3QkFBd0I7aUdBVHJCLGdCQUFnQixxYkM1QzdCLDRhQWFBLDZaRHFCYSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQzsyRkFVbkMsZ0JBQWdCO2tCQWhCNUIsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxXQUFXLEVBQUUsMEJBQTBCO29CQUN2QyxTQUFTLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztvQkFDdkMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxVQUFVLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLENBQUM7b0JBQy9DLElBQUksRUFBRTt3QkFDTCwwRkFBMEY7d0JBQzFGLDJGQUEyRjt3QkFDM0YsY0FBYyxFQUFFLHNDQUFzQzt3QkFDdEQsY0FBYyxFQUFFLCtCQUErQjt3QkFDL0MsaUJBQWlCLEVBQUUsK0JBQStCO3dCQUNsRCxhQUFhLEVBQUUsTUFBTTtxQkFDckI7aUJBQ0Q7OzBCQVVFLE1BQU07MkJBQUMsd0JBQXdCOzRDQUx6QixVQUFVO3NCQURqQixTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7O0FBb0J6QyxnQkFBd0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBRSxtQkFBMkIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCcmVha3BvaW50T2JzZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcbmltcG9ydCB7XG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDaGFuZ2VEZXRlY3RvclJlZixcblx0Q29tcG9uZW50LFxuXHRFbGVtZW50UmVmLFxuXHRJbmplY3QsXG5cdEluamVjdGlvblRva2VuLFxuXHRUZW1wbGF0ZVJlZixcblx0Vmlld0NoaWxkLFxuXHRWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG1hdFRvb2x0aXBBbmltYXRpb25zLCBUb29sdGlwQ29tcG9uZW50IGFzIE1hdFRvb2x0aXBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcblxuLyoqXG4gKiBAaWdub3JlXG4gKi9cbmludGVyZmFjZSBUb29sdGlwVGVtcGxhdGVDb250YWluZXIge1xuXHR0ZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG59XG5cbi8qKlxuICogQGlnbm9yZVxuICovXG5leHBvcnQgY29uc3QgQlVJX1RPT0xUSVBfVEVNUExBVEVfUkVGID0gbmV3IEluamVjdGlvblRva2VuPFRvb2x0aXBUZW1wbGF0ZUNvbnRhaW5lcj4oXG5cdCdAYnJhdnVyYS91aS90b29sdGlwL3RlbXBsYXRlQ29udGFpbmVyJ1xuKTtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnYnVpLXRvb2x0aXAtY29tcG9uZW50Jyxcblx0dGVtcGxhdGVVcmw6ICcuL3Rvb2x0aXAuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi90b29sdGlwLmNvbXBvbmVudC5zY3NzJ10sXG5cdGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRhbmltYXRpb25zOiBbbWF0VG9vbHRpcEFuaW1hdGlvbnMudG9vbHRpcFN0YXRlXSxcblx0aG9zdDoge1xuXHRcdC8vIEZvcmNlcyB0aGUgZWxlbWVudCB0byBoYXZlIGEgbGF5b3V0IGluIElFIGFuZCBFZGdlLiBUaGlzIGZpeGVzIGlzc3VlcyB3aGVyZSB0aGUgZWxlbWVudFxuXHRcdC8vIHdvbid0IGJlIHJlbmRlcmVkIGlmIHRoZSBhbmltYXRpb25zIGFyZSBkaXNhYmxlZCBvciB0aGVyZSBpcyBubyB3ZWIgYW5pbWF0aW9ucyBwb2x5ZmlsbC5cblx0XHQnW3N0eWxlLnpvb21dJzogJ192aXNpYmlsaXR5ID09PSBcInZpc2libGVcIiA/IDEgOiBudWxsJyxcblx0XHQnKGJvZHk6Y2xpY2spJzogJ3RoaXMuX2hhbmRsZUJvZHlJbnRlcmFjdGlvbigpJyxcblx0XHQnKGJvZHk6YXV4Y2xpY2spJzogJ3RoaXMuX2hhbmRsZUJvZHlJbnRlcmFjdGlvbigpJyxcblx0XHQnYXJpYS1oaWRkZW4nOiAndHJ1ZSdcblx0fVxufSlcbmV4cG9ydCBjbGFzcyBUb29sdGlwQ29tcG9uZW50IGV4dGVuZHMgTWF0VG9vbHRpcENvbXBvbmVudCB7XG5cdHByaXZhdGUgX21lc3NhZ2VDb3B5ID0gJyc7XG5cblx0QFZpZXdDaGlsZCgndG9vbHRpcERpdicsIHsgc3RhdGljOiB0cnVlIH0pXG5cdHByaXZhdGUgdG9vbHRpcERpdiE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG5cdGNvbnN0cnVjdG9yKFxuXHRcdGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcblx0XHRfYnJlYWtwb2ludE9ic2VydmVyOiBCcmVha3BvaW50T2JzZXJ2ZXIsXG5cdFx0QEluamVjdChCVUlfVE9PTFRJUF9URU1QTEFURV9SRUYpIHB1YmxpYyBfdG9vbHRpcDogVG9vbHRpcFRlbXBsYXRlQ29udGFpbmVyXG5cdCkge1xuXHRcdHN1cGVyKGNoYW5nZURldGVjdG9yUmVmLCBfYnJlYWtwb2ludE9ic2VydmVyKTtcblx0fVxuXG5cdHNob3coZGVsYXk6IG51bWJlcik6IHZvaWQge1xuXHRcdGlmICh0aGlzLl9tZXNzYWdlQ29weSAhPT0gdGhpcy5tZXNzYWdlICYmICF0aGlzLl90b29sdGlwLnRlbXBsYXRlKSB7XG5cdFx0XHR0aGlzLnRvb2x0aXBEaXYubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgPSB0aGlzLm1lc3NhZ2U7XG5cdFx0XHR0aGlzLl9tZXNzYWdlQ29weSA9IHRoaXMubWVzc2FnZTtcblx0XHR9XG5cdFx0c3VwZXIuc2hvdyhkZWxheSk7XG5cdH1cbn1cblxuKFRvb2x0aXBDb21wb25lbnQgYXMgYW55KS7JtWNtcC5zdHlsZXMucHVzaCgoTWF0VG9vbHRpcENvbXBvbmVudCBhcyBhbnkpLsm1Y21wLnN0eWxlcyk7XG4iLCI8ZGl2XG5cdGNsYXNzPVwibWF0LXRvb2x0aXAgYnVpLXRvb2x0aXBcIlxuXHRbbmdDbGFzc109XCJ0b29sdGlwQ2xhc3NcIlxuXHRbY2xhc3MubWF0LXRvb2x0aXAtaGFuZHNldF09XCIoX2lzSGFuZHNldCB8IGFzeW5jKT8ubWF0Y2hlc1wiXG5cdFtAc3RhdGVdPVwiX3Zpc2liaWxpdHlcIlxuXHQoQHN0YXRlLnN0YXJ0KT1cIl9hbmltYXRpb25TdGFydCgpXCJcblx0KEBzdGF0ZS5kb25lKT1cIl9hbmltYXRpb25Eb25lKCRldmVudClcIlxuPlxuXHQ8bmctdGVtcGxhdGUgW25nSWZdPVwiX3Rvb2x0aXAudGVtcGxhdGVcIj5cblx0XHQ8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiX3Rvb2x0aXAudGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuXHQ8L25nLXRlbXBsYXRlPlxuXHQ8ZGl2ICN0b29sdGlwRGl2PjwvZGl2PlxuPC9kaXY+XG4iXX0=
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTix1QkFBdUIsRUFFdkIsU0FBUyxFQUVULE1BQU0sRUFDTixjQUFjLEVBRWQsU0FBUyxFQUNULGlCQUFpQixFQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLElBQUksbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7OztBQVMxRzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLElBQUksY0FBYyxDQUN6RCx1Q0FBdUMsQ0FDdkMsQ0FBQztBQW1CRixNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsbUJBQW1CO0lBTXhELFlBQ0MsaUJBQW9DLEVBQ3BDLG1CQUF1QyxFQUNFLFFBQWtDO1FBRTNFLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1FBRkwsYUFBUSxHQUFSLFFBQVEsQ0FBMEI7UUFScEUsaUJBQVksR0FBRyxFQUFFLENBQUM7SUFXMUIsQ0FBQztJQUVELElBQUksQ0FBQyxLQUFhO1FBQ2pCLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUU7WUFDbEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDdkQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQ2pDO1FBQ0QsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQixDQUFDOzs2R0FwQlcsZ0JBQWdCLHFGQVNuQix3QkFBd0I7aUdBVHJCLGdCQUFnQix1ZUM3QzdCLDRhQWFBLDZaRHFCYSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQzsyRkFXbkMsZ0JBQWdCO2tCQWpCNUIsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxXQUFXLEVBQUUsMEJBQTBCO29CQUN2QyxTQUFTLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztvQkFDdkMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxVQUFVLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLENBQUM7b0JBQy9DLElBQUksRUFBRTt3QkFDTCxLQUFLLEVBQUUsZ0NBQWdDO3dCQUN2QywwRkFBMEY7d0JBQzFGLDJGQUEyRjt3QkFDM0YsY0FBYyxFQUFFLHNDQUFzQzt3QkFDdEQsY0FBYyxFQUFFLCtCQUErQjt3QkFDL0MsaUJBQWlCLEVBQUUsK0JBQStCO3dCQUNsRCxhQUFhLEVBQUUsTUFBTTtxQkFDckI7aUJBQ0Q7OzBCQVVFLE1BQU07MkJBQUMsd0JBQXdCOzRDQUx6QixVQUFVO3NCQURqQixTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7O0FBb0J6QyxnQkFBd0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBRSxtQkFBMkIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCcmVha3BvaW50T2JzZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcbmltcG9ydCB7XG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDaGFuZ2VEZXRlY3RvclJlZixcblx0Q29tcG9uZW50LFxuXHRFbGVtZW50UmVmLFxuXHRJbmplY3QsXG5cdEluamVjdGlvblRva2VuLFxuXHRUZW1wbGF0ZVJlZixcblx0Vmlld0NoaWxkLFxuXHRWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG1hdFRvb2x0aXBBbmltYXRpb25zLCBUb29sdGlwQ29tcG9uZW50IGFzIE1hdFRvb2x0aXBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcblxuLyoqXG4gKiBAaWdub3JlXG4gKi9cbmludGVyZmFjZSBUb29sdGlwVGVtcGxhdGVDb250YWluZXIge1xuXHR0ZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG59XG5cbi8qKlxuICogQGlnbm9yZVxuICovXG5leHBvcnQgY29uc3QgQlVJX1RPT0xUSVBfVEVNUExBVEVfUkVGID0gbmV3IEluamVjdGlvblRva2VuPFRvb2x0aXBUZW1wbGF0ZUNvbnRhaW5lcj4oXG5cdCdAYnJhdnVyYS91aS90b29sdGlwL3RlbXBsYXRlQ29udGFpbmVyJ1xuKTtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnYnVpLXRvb2x0aXAtY29tcG9uZW50Jyxcblx0dGVtcGxhdGVVcmw6ICcuL3Rvb2x0aXAuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi90b29sdGlwLmNvbXBvbmVudC5zY3NzJ10sXG5cdGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRhbmltYXRpb25zOiBbbWF0VG9vbHRpcEFuaW1hdGlvbnMudG9vbHRpcFN0YXRlXSxcblx0aG9zdDoge1xuXHRcdGNsYXNzOiAnYnVpLXRvb2x0aXAtY29tcG9uZW50IGJ1aS1ob3N0Jyxcblx0XHQvLyBGb3JjZXMgdGhlIGVsZW1lbnQgdG8gaGF2ZSBhIGxheW91dCBpbiBJRSBhbmQgRWRnZS4gVGhpcyBmaXhlcyBpc3N1ZXMgd2hlcmUgdGhlIGVsZW1lbnRcblx0XHQvLyB3b24ndCBiZSByZW5kZXJlZCBpZiB0aGUgYW5pbWF0aW9ucyBhcmUgZGlzYWJsZWQgb3IgdGhlcmUgaXMgbm8gd2ViIGFuaW1hdGlvbnMgcG9seWZpbGwuXG5cdFx0J1tzdHlsZS56b29tXSc6ICdfdmlzaWJpbGl0eSA9PT0gXCJ2aXNpYmxlXCIgPyAxIDogbnVsbCcsXG5cdFx0Jyhib2R5OmNsaWNrKSc6ICd0aGlzLl9oYW5kbGVCb2R5SW50ZXJhY3Rpb24oKScsXG5cdFx0Jyhib2R5OmF1eGNsaWNrKSc6ICd0aGlzLl9oYW5kbGVCb2R5SW50ZXJhY3Rpb24oKScsXG5cdFx0J2FyaWEtaGlkZGVuJzogJ3RydWUnXG5cdH1cbn0pXG5leHBvcnQgY2xhc3MgVG9vbHRpcENvbXBvbmVudCBleHRlbmRzIE1hdFRvb2x0aXBDb21wb25lbnQge1xuXHRwcml2YXRlIF9tZXNzYWdlQ29weSA9ICcnO1xuXG5cdEBWaWV3Q2hpbGQoJ3Rvb2x0aXBEaXYnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuXHRwcml2YXRlIHRvb2x0aXBEaXYhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG5cdFx0X2JyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyLFxuXHRcdEBJbmplY3QoQlVJX1RPT0xUSVBfVEVNUExBVEVfUkVGKSBwdWJsaWMgX3Rvb2x0aXA6IFRvb2x0aXBUZW1wbGF0ZUNvbnRhaW5lclxuXHQpIHtcblx0XHRzdXBlcihjaGFuZ2VEZXRlY3RvclJlZiwgX2JyZWFrcG9pbnRPYnNlcnZlcik7XG5cdH1cblxuXHRzaG93KGRlbGF5OiBudW1iZXIpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5fbWVzc2FnZUNvcHkgIT09IHRoaXMubWVzc2FnZSAmJiAhdGhpcy5fdG9vbHRpcC50ZW1wbGF0ZSkge1xuXHRcdFx0dGhpcy50b29sdGlwRGl2Lm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gdGhpcy5tZXNzYWdlO1xuXHRcdFx0dGhpcy5fbWVzc2FnZUNvcHkgPSB0aGlzLm1lc3NhZ2U7XG5cdFx0fVxuXHRcdHN1cGVyLnNob3coZGVsYXkpO1xuXHR9XG59XG5cbihUb29sdGlwQ29tcG9uZW50IGFzIGFueSkuybVjbXAuc3R5bGVzLnB1c2goKE1hdFRvb2x0aXBDb21wb25lbnQgYXMgYW55KS7JtWNtcC5zdHlsZXMpO1xuIiwiPGRpdlxuXHRjbGFzcz1cIm1hdC10b29sdGlwIGJ1aS10b29sdGlwXCJcblx0W25nQ2xhc3NdPVwidG9vbHRpcENsYXNzXCJcblx0W2NsYXNzLm1hdC10b29sdGlwLWhhbmRzZXRdPVwiKF9pc0hhbmRzZXQgfCBhc3luYyk/Lm1hdGNoZXNcIlxuXHRbQHN0YXRlXT1cIl92aXNpYmlsaXR5XCJcblx0KEBzdGF0ZS5zdGFydCk9XCJfYW5pbWF0aW9uU3RhcnQoKVwiXG5cdChAc3RhdGUuZG9uZSk9XCJfYW5pbWF0aW9uRG9uZSgkZXZlbnQpXCJcbj5cblx0PG5nLXRlbXBsYXRlIFtuZ0lmXT1cIl90b29sdGlwLnRlbXBsYXRlXCI+XG5cdFx0PG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIl90b29sdGlwLnRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cblx0PC9uZy10ZW1wbGF0ZT5cblx0PGRpdiAjdG9vbHRpcERpdj48L2Rpdj5cbjwvZGl2PlxuIl19
@@ -3,6 +3,9 @@ import { DOCUMENT, CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
4
  import { Directive, EventEmitter, Inject, Optional, Input, Output, NgModule } from '@angular/core';
5
5
  import { debounceTime, take } from 'rxjs/operators';
6
+ import { MatProgressSpinner, MatProgressSpinnerModule } from '@angular/material/progress-spinner';
7
+ import * as i1 from '@angular/material/button';
8
+ import { MatButtonModule } from '@angular/material/button';
6
9
 
7
10
  /**
8
11
  * Use this directive to designate a target HTML element, based on which the child elements'
@@ -34,8 +37,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
34
37
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
35
38
 
36
39
  /**
37
- * This directive monitors the changes in width of the `sizingBy` target, and apply specified style
38
- * classes to the current element dynamically.
40
+ * This directive monitors the changes in the width of the `sizingBy` target, and apply specified style
41
+ * classes and/or inline styles to the current element dynamically.
39
42
  *
40
43
  * In order for the layout engine to efficiently calculate and stabilize the dimensions, the effective style property
41
44
  * `box-sizing` of the `sizingBy` target element must be set to `border-box`.
@@ -48,8 +51,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
48
51
  *
49
52
  * ```html
50
53
  * <div #parentElement>
51
- * <div [buiSizing]="{'400': 'small', '800': 'medium', '~': 'large'}" [sizingBy]="parentElement"></div>
52
- * <div [buiSizing]="['small', 'medium', 'large']" [sizingBy]="'root'"></div>
54
+ * <div [buiSizing]="{'400': 'small', '800': 'medium', '~': 'large'}" [buiSizingBy]="parentElement"></div>
55
+ * <div [buiSizing]="['small', 'medium', 'large']" [buiSizingBy]="'root'"></div>
56
+ * <div [buiSizing]="{'650': 'border-color: #28569', '~': 'bg-muted; border-style: dotted'}" [buiSizingBy]="parentElement"></div>
53
57
  * </div>
54
58
  * ```
55
59
  */
@@ -70,6 +74,7 @@ class SizingDirective {
70
74
  this.buiSizing = {};
71
75
  /**
72
76
  * The alias of `buiSizingBy`.
77
+ * @default 'root'
73
78
  */
74
79
  this.sizingBy = 'root';
75
80
  /**
@@ -92,8 +97,10 @@ class SizingDirective {
92
97
  /**
93
98
  * Designate an element to be monitored for recalculating the style classes of the current element.
94
99
  *
95
- * `root` specifies the document root or the enclosing shadow host.
96
- * `parent` specifies the parent element.
100
+ * - `root` specifies the document root or the enclosing shadow host. This is the default value.
101
+ * - `parent` specifies the parent element.
102
+ *
103
+ * @default 'root'
97
104
  * @alias sizingBy
98
105
  */
99
106
  get buiSizingBy() {
@@ -175,15 +182,11 @@ class SizingDirective {
175
182
  const bks = Object.keys(this._sizingSpec).sort((a, b) => this._toNumber(a) - this._toNumber(b));
176
183
  let found = false;
177
184
  for (const key of bks) {
178
- const classes = this._sizingSpec[key].split(/\s+/).filter(c => !!c);
179
- if (classes.length) {
180
- this._element.classList.remove(...classes);
181
- }
185
+ const classesOrStyles = this._sizingSpec[key].split(/;+/).filter(c => c);
186
+ this._removeClassesOrStyles(classesOrStyles);
182
187
  const expectedWidth = this._toNumber(key);
183
188
  if (this._width <= expectedWidth && !found) {
184
- if (classes.length) {
185
- this._element.classList.add(...classes);
186
- }
189
+ this._applyClassesOrStyles(classesOrStyles);
187
190
  found = true;
188
191
  }
189
192
  }
@@ -197,6 +200,34 @@ class SizingDirective {
197
200
  this.buiResized.emit({ width: this._width, height: this._height });
198
201
  }
199
202
  }
203
+ _applyClassesOrStyles(clsOrStyles) {
204
+ clsOrStyles.forEach(s => {
205
+ if (s.includes(':')) {
206
+ const [prop, val] = s.split(':');
207
+ this._element.style.setProperty(prop.trim(), val.trim());
208
+ }
209
+ else {
210
+ const classes = s.split(/\s+/).filter(c => c);
211
+ if (classes.length) {
212
+ this._element.classList.add(...classes);
213
+ }
214
+ }
215
+ });
216
+ }
217
+ _removeClassesOrStyles(clsOrStyles) {
218
+ clsOrStyles.forEach(s => {
219
+ if (s.includes(':')) {
220
+ const [prop] = s.split(':');
221
+ this._element.style.removeProperty(prop);
222
+ }
223
+ else {
224
+ const classes = s.split(/\s+/).filter(c => c);
225
+ if (classes.length) {
226
+ this._element.classList.remove(...classes);
227
+ }
228
+ }
229
+ });
230
+ }
200
231
  _reflowHeight() {
201
232
  const cnt = this._reflowFrameCount;
202
233
  if (cnt < 15) {
@@ -244,20 +275,121 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
244
275
  type: Input
245
276
  }] } });
246
277
 
278
+ /**
279
+ * Use this directive on a `MatButton` element to provide an alternative view when an sync operation is in progress.
280
+ *
281
+ * For example:
282
+ *
283
+ * ```
284
+ * <button (click)="submit();" [buiAwait]="submitSubscription" buiAwaitAriaLabel="submitting">Submit</button>
285
+ * ```
286
+ *
287
+ * Please refer to [Material Design](https://material.io/components/progress-indicators#circular-progress-indicators)
288
+ * for more details of integrating circular spinner component with action buttons.
289
+ *
290
+ * The operation is considered 'in progress' when the bound property `buiAwait` evaluates to
291
+ *
292
+ * - `true`; or
293
+ * - an instance of `rxjs/Subscription` and `buiAwait.closed` is falsy
294
+ *
295
+ * When in progress
296
+ *
297
+ * - the button's caption will be hidden;
298
+ * - a `<mat-progress-spinner>` will be displayed in place of the caption;
299
+ * - the button will be disabled by setting the property `disabled` of the `MatButton` instance.
300
+ */
301
+ class AwaitDirective {
302
+ constructor(_eRef, button, doc, factoryResolver, _viewCont) {
303
+ this._eRef = _eRef;
304
+ this.button = button;
305
+ this.doc = doc;
306
+ this._viewCont = _viewCont;
307
+ /** The ARIA label to be put on the spinner. The default value is `"In progress"`. */
308
+ this.buiAwaitAriaLabel = 'In progress';
309
+ /** The diameter of the in-progress spinner. The default value is `20`. */
310
+ this.buiAwaitDiameter = 20;
311
+ this._processing = false;
312
+ if (!button) {
313
+ console.error('[buiAwait] can only be used on a MatButton');
314
+ return;
315
+ }
316
+ this._factory = factoryResolver.resolveComponentFactory(MatProgressSpinner);
317
+ }
318
+ /** @ignore */
319
+ ngAfterViewInit() {
320
+ if (this.button) {
321
+ this._overlayEl = this.doc.createElement('div');
322
+ this._eRef.nativeElement.appendChild(this._overlayEl);
323
+ this._overlayEl.classList.add('bui-await-overlay');
324
+ this._overlayEl.style.cssText =
325
+ 'display:flex; position:absolute; top:0; right:0; bottom:0; left:0; align-items: center; justify-content: center';
326
+ this._captionWrapper = this._eRef.nativeElement.querySelector('.mat-button-wrapper');
327
+ }
328
+ }
329
+ /** @ignore */
330
+ ngDoCheck() {
331
+ const inProgress = this.buiAwait === true || (typeof this.buiAwait === 'object' && !this.buiAwait.closed);
332
+ if (inProgress !== this._processing) {
333
+ this._processing = inProgress;
334
+ this._statusChanged();
335
+ }
336
+ }
337
+ _statusChanged() {
338
+ if (this.button) {
339
+ this.button.disabled = this._processing;
340
+ if (this._processing) {
341
+ this._spinnerRef = this._viewCont.createComponent(this._factory);
342
+ const c = this._spinnerRef.instance;
343
+ c.diameter = this.buiAwaitDiameter;
344
+ c.mode = 'indeterminate';
345
+ c.color = this.button.color;
346
+ const e = this._spinnerRef.location.nativeElement;
347
+ e.setAttribute('aria-label', this.buiAwaitAriaLabel);
348
+ this._overlayEl.appendChild(e);
349
+ this._captionWrapper.style.visibility = 'hidden';
350
+ }
351
+ else {
352
+ this._captionWrapper.style.visibility = '';
353
+ this._spinnerRef.destroy();
354
+ this._overlayEl.innerHTML = '';
355
+ }
356
+ }
357
+ }
358
+ }
359
+ AwaitDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: AwaitDirective, deps: [{ token: i0.ElementRef }, { token: i1.MatButton, optional: true }, { token: DOCUMENT }, { token: i0.ComponentFactoryResolver }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
360
+ AwaitDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.7", type: AwaitDirective, selector: "[buiAwait]", inputs: { buiAwait: "buiAwait", buiAwaitAriaLabel: "buiAwaitAriaLabel", buiAwaitDiameter: "buiAwaitDiameter" }, ngImport: i0 });
361
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: AwaitDirective, decorators: [{
362
+ type: Directive,
363
+ args: [{
364
+ selector: '[buiAwait]'
365
+ }]
366
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.MatButton, decorators: [{
367
+ type: Optional
368
+ }] }, { type: Document, decorators: [{
369
+ type: Inject,
370
+ args: [DOCUMENT]
371
+ }] }, { type: i0.ComponentFactoryResolver }, { type: i0.ViewContainerRef }]; }, propDecorators: { buiAwait: [{
372
+ type: Input
373
+ }], buiAwaitAriaLabel: [{
374
+ type: Input
375
+ }], buiAwaitDiameter: [{
376
+ type: Input
377
+ }] } });
378
+
247
379
  /**
248
380
  * For functionality that cannot be easily achieved via CSS.
249
381
  */
250
382
  class BehaviorModule {
251
383
  }
252
384
  BehaviorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: BehaviorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
253
- BehaviorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: BehaviorModule, declarations: [SizingDirective, SizingMonitorDirective], imports: [CommonModule], exports: [SizingDirective, SizingMonitorDirective] });
254
- BehaviorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: BehaviorModule, imports: [[CommonModule]] });
385
+ BehaviorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: BehaviorModule, declarations: [SizingDirective, SizingMonitorDirective, AwaitDirective], imports: [CommonModule, MatButtonModule, MatProgressSpinnerModule], exports: [SizingDirective, SizingMonitorDirective, AwaitDirective, MatProgressSpinnerModule] });
386
+ BehaviorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: BehaviorModule, imports: [[CommonModule, MatButtonModule, MatProgressSpinnerModule], MatProgressSpinnerModule] });
255
387
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: BehaviorModule, decorators: [{
256
388
  type: NgModule,
257
389
  args: [{
258
- declarations: [SizingDirective, SizingMonitorDirective],
259
- imports: [CommonModule],
260
- exports: [SizingDirective, SizingMonitorDirective]
390
+ declarations: [SizingDirective, SizingMonitorDirective, AwaitDirective],
391
+ imports: [CommonModule, MatButtonModule, MatProgressSpinnerModule],
392
+ exports: [SizingDirective, SizingMonitorDirective, AwaitDirective, MatProgressSpinnerModule]
261
393
  }]
262
394
  }] });
263
395
 
@@ -265,5 +397,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
265
397
  * Generated bundle index. Do not edit.
266
398
  */
267
399
 
268
- export { BehaviorModule, SizingDirective, SizingMonitorDirective };
400
+ export { AwaitDirective, BehaviorModule, SizingDirective, SizingMonitorDirective };
269
401
  //# sourceMappingURL=bravura-ui-behavior.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bravura-ui-behavior.js","sources":["../../../projects/ui/behavior/sizing-monitor.directive.ts","../../../projects/ui/behavior/sizing.directive.ts","../../../projects/ui/behavior/behavior.module.ts","../../../projects/ui/behavior/bravura-ui-behavior.ts"],"sourcesContent":["import { Directive, ElementRef } from '@angular/core';\n\n/**\n * Use this directive to designate a target HTML element, based on which the child elements'\n * `[buiSizing]` directives will calculate the sizes.\n *\n * ```html\n * <div [buiSizingMonitor]>\n * <div [buiSizing]=\"...\">\n * </div>\n * <div>\n * <div [buiSizing]=\"...\">\n * </div>\n * </div>\n * <div>\n * ```\n */\n@Directive({\n\tselector: '[buiSizingMonitor]'\n})\nexport class SizingMonitorDirective {\n\tconstructor(public readonly element: ElementRef<HTMLElement>) {}\n}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { DOCUMENT } from '@angular/common';\nimport {\n\tDirective,\n\tElementRef,\n\tEventEmitter,\n\tInject,\n\tInput,\n\tNgZone,\n\tOnChanges,\n\tOnDestroy,\n\tOptional,\n\tOutput,\n\tSimpleChanges\n} from '@angular/core';\nimport { debounceTime, take } from 'rxjs/operators';\nimport { SizingMonitorDirective } from './sizing-monitor.directive';\n\n/**\n * This directive monitors the changes in width of the `sizingBy` target, and apply specified style\n * classes to the current element dynamically.\n *\n * In order for the layout engine to efficiently calculate and stabilize the dimensions, the effective style property\n * `box-sizing` of the `sizingBy` target element must be set to `border-box`.\n *\n * The directive uses [ResizeObserver API](https://developer.mozilla.org/en-US/docs/Web/API/Resize_Observer_API)\n * to capture the events of element resizing. Please use a polyfill if you want to support older browsers\n * that do not implement ResizeObserver API.\n *\n * Examples:\n *\n * ```html\n * <div #parentElement>\n * <div [buiSizing]=\"{'400': 'small', '800': 'medium', '~': 'large'}\" [sizingBy]=\"parentElement\"></div>\n * <div [buiSizing]=\"['small', 'medium', 'large']\" [sizingBy]=\"'root'\"></div>\n * </div>\n * ```\n */\n@Directive({\n\tselector: '[buiSizing],[buiResized],[buiSizingBy],[buiFixedHeight]'\n})\nexport class SizingDirective implements OnChanges, OnDestroy {\n\t/**\n\t * @ignore\n\t */\n\tstatic defaultSizingBreakpoints = ['400', '800', '~'];\n\n\t/**\n\t * Specifies the breakpoint widths and the style classes.\n\t *\n\t * The sizing spec `{\"400\": \"small\", \"800\": \"medium\", \"~\": \"large\"}` tells the directive to apply\n\t * a style class `small` when the width of the monitored target is smaller than 400 pixels,\n\t * `medium` when the width is between 400 and 800 pixels, and `large` when above.\n\t *\n\t * @example {'400': 'small', '800': 'medium', '~': 'large'}\n\t */\n\t@Input()\n\tbuiSizing: string | Array<string> | { [key: string]: string } = {};\n\n\t/**\n\t * The alias of `buiSizingBy`.\n\t */\n\t@Input()\n\tsizingBy: 'root' | 'parent' | HTMLElement = 'root';\n\n\t/**\n\t * Designate an element to be monitored for recalculating the style classes of the current element.\n\t *\n\t * `root` specifies the document root or the enclosing shadow host.\n\t * `parent` specifies the parent element.\n\t * @alias sizingBy\n\t */\n\t@Input()\n\tget buiSizingBy(): 'root' | 'parent' | HTMLElement {\n\t\treturn this.sizingBy;\n\t}\n\tset buiSizingBy(target: 'root' | 'parent' | HTMLElement) {\n\t\tthis.sizingBy = target;\n\t}\n\n\t/**\n\t * Emits `{width, height}` when the monitor target element resizes.\n\t *\n\t * Note that the dimensions emitted are of the [sizingBy] target, but not the current element.\n\t */\n\t@Output()\n\tbuiResized = new EventEmitter<{ width: number; height: number }>();\n\n\t/**\n\t * Recalculate the height of this element according to the height of the monitored target.\n\t */\n\t@Input()\n\tbuiFixedHeight = false;\n\n\tprivate _monitorTarget: HTMLElement;\n\tprivate _observer: ResizeObserver | undefined;\n\tprivate _sizingSpec: { [key: string]: string } = {};\n\tprivate _width = 0;\n\tprivate _height = 0;\n\tprivate _reflowFrameCount = 0;\n\tprivate _element: HTMLElement;\n\n\tconstructor(\n\t\t@Inject(DOCUMENT) private _doc: Document,\n\t\t@Optional() private _defaultTarget: SizingMonitorDirective,\n\t\telemRef: ElementRef<HTMLElement>,\n\t\tprivate _zone: NgZone\n\t) {\n\t\tthis._element = elemRef.nativeElement;\n\t\tthis._monitorTarget = this._element;\n\t}\n\n\tngOnChanges(_: SimpleChanges): void {\n\t\tconst disconnected = this._element.getRootNode() instanceof HTMLElement;\n\t\tif (disconnected) {\n\t\t\t// defer shadow detection till dom connection event\n\t\t\tthis._zone.onStable.pipe(debounceTime(10), take(1)).subscribe(() => this._initOrReset());\n\t\t} else {\n\t\t\tthis._initOrReset();\n\t\t}\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._tearDownNodeMonitor();\n\t}\n\n\tprivate _initOrReset() {\n\t\tconst originalTarget = this._monitorTarget;\n\t\tif (this.buiSizingBy instanceof HTMLElement) {\n\t\t\tthis._monitorTarget = this.buiSizingBy;\n\t\t} else if (this._defaultTarget) {\n\t\t\tthis._monitorTarget = this._defaultTarget.element.nativeElement;\n\t\t} else if (this.buiSizingBy === 'root') {\n\t\t\tconst root = this._element.getRootNode();\n\t\t\tif (root instanceof ShadowRoot) {\n\t\t\t\tthis._monitorTarget = root.host as HTMLElement;\n\t\t\t} else {\n\t\t\t\tthis._monitorTarget = this._doc.documentElement;\n\t\t\t}\n\t\t} else {\n\t\t\tthis._monitorTarget = this._element.parentElement as any;\n\t\t}\n\n\t\tif (this._monitorTarget != originalTarget) {\n\t\t\tthis._setUpNodeMonitor();\n\t\t}\n\n\t\tthis._sizingSpec = {};\n\t\tlet spec = this.buiSizing;\n\t\tif (typeof spec === 'string') {\n\t\t\tspec = spec.split(',').map(k => k.trim());\n\t\t}\n\n\t\tif (Array.isArray(spec)) {\n\t\t\tspec.forEach((c, i) => {\n\t\t\t\tthis._sizingSpec[SizingDirective.defaultSizingBreakpoints[i] || '~'] = c;\n\t\t\t});\n\t\t} else if (spec) {\n\t\t\tthis._sizingSpec = spec;\n\t\t}\n\n\t\tthis.buiFixedHeight = coerceBooleanProperty(this.buiFixedHeight);\n\n\t\tthis._calculateSize();\n\t}\n\n\tprivate _setUpNodeMonitor() {\n\t\tthis._tearDownNodeMonitor();\n\t\tif (this._monitorTarget) {\n\t\t\tthis._observer = new ResizeObserver(() => this._calculateSize());\n\n\t\t\tthis._observer.observe(this._monitorTarget, { box: 'border-box' });\n\t\t}\n\t}\n\n\tprivate _tearDownNodeMonitor() {\n\t\tif (this._observer) {\n\t\t\tthis._observer.disconnect();\n\t\t\tthis._observer = undefined;\n\t\t}\n\t}\n\n\tprivate _calculateSize() {\n\t\tconst widthChanged = this._width !== this._monitorTarget.clientWidth;\n\t\tconst heightChanged = this._height !== this._monitorTarget.clientHeight;\n\t\tif (widthChanged) {\n\t\t\tthis._width = this._monitorTarget.clientWidth;\n\n\t\t\tconst bks = Object.keys(this._sizingSpec).sort((a, b) => this._toNumber(a) - this._toNumber(b));\n\t\t\tlet found = false;\n\t\t\tfor (const key of bks) {\n\t\t\t\tconst classes = this._sizingSpec[key].split(/\\s+/).filter(c => !!c);\n\t\t\t\tif (classes.length) {\n\t\t\t\t\tthis._element.classList.remove(...classes);\n\t\t\t\t}\n\t\t\t\tconst expectedWidth = this._toNumber(key);\n\t\t\t\tif (this._width <= expectedWidth && !found) {\n\t\t\t\t\tif (classes.length) {\n\t\t\t\t\t\tthis._element.classList.add(...classes);\n\t\t\t\t\t}\n\t\t\t\t\tfound = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (widthChanged || heightChanged) {\n\t\t\tthis._height = this._monitorTarget.clientHeight;\n\t\t\tif (this.buiFixedHeight) {\n\t\t\t\tthis._reflowFrameCount = 0;\n\t\t\t\tthis._reflowHeight();\n\t\t\t}\n\t\t\tthis.buiResized.emit({ width: this._width, height: this._height });\n\t\t}\n\t}\n\n\tprivate _reflowHeight() {\n\t\tconst cnt = this._reflowFrameCount;\n\t\tif (cnt < 15) {\n\t\t\trequestAnimationFrame(this._reflowHeight.bind(this));\n\n\t\t\tif (cnt === 0) {\n\t\t\t\tthis._element.style.height = '0';\n\t\t\t} else if (cnt === 14) {\n\t\t\t\tconst gt = parseInt(\n\t\t\t\t\tgetComputedStyle(this._monitorTarget).getPropertyValue('padding-top').replace(/px$/, '') || '0',\n\t\t\t\t\t10\n\t\t\t\t);\n\t\t\t\tconst gb = parseInt(\n\t\t\t\t\tgetComputedStyle(this._monitorTarget).getPropertyValue('padding-bottom').replace(/px$/, '') || '0',\n\t\t\t\t\t10\n\t\t\t\t);\n\t\t\t\tthis._element.style.height = `${this._height - gt - gb - 5}px`;\n\t\t\t}\n\t\t}\n\t\tthis._reflowFrameCount++;\n\t}\n\n\tprivate _toNumber(s: string) {\n\t\treturn (s === '~' ? Infinity : Number(s)) || -Infinity;\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SizingDirective } from './sizing.directive';\nimport { SizingMonitorDirective } from './sizing-monitor.directive';\n\n/**\n * For functionality that cannot be easily achieved via CSS.\n */\n@NgModule({\n\tdeclarations: [SizingDirective, SizingMonitorDirective],\n\timports: [CommonModule],\n\texports: [SizingDirective, SizingMonitorDirective]\n})\nexport class BehaviorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bravura-ui-behavior.js","sources":["../../../projects/ui/behavior/sizing-monitor.directive.ts","../../../projects/ui/behavior/sizing.directive.ts","../../../projects/ui/behavior/await.directive.ts","../../../projects/ui/behavior/behavior.module.ts","../../../projects/ui/behavior/bravura-ui-behavior.ts"],"sourcesContent":["import { Directive, ElementRef } from '@angular/core';\n\n/**\n * Use this directive to designate a target HTML element, based on which the child elements'\n * `[buiSizing]` directives will calculate the sizes.\n *\n * ```html\n * <div [buiSizingMonitor]>\n * <div [buiSizing]=\"...\">\n * </div>\n * <div>\n * <div [buiSizing]=\"...\">\n * </div>\n * </div>\n * <div>\n * ```\n */\n@Directive({\n\tselector: '[buiSizingMonitor]'\n})\nexport class SizingMonitorDirective {\n\tconstructor(public readonly element: ElementRef<HTMLElement>) {}\n}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { DOCUMENT } from '@angular/common';\nimport {\n\tDirective,\n\tElementRef,\n\tEventEmitter,\n\tInject,\n\tInput,\n\tNgZone,\n\tOnChanges,\n\tOnDestroy,\n\tOptional,\n\tOutput,\n\tSimpleChanges\n} from '@angular/core';\nimport { debounceTime, take } from 'rxjs/operators';\nimport { SizingMonitorDirective } from './sizing-monitor.directive';\n\n/**\n * This directive monitors the changes in the width of the `sizingBy` target, and apply specified style\n * classes and/or inline styles to the current element dynamically.\n *\n * In order for the layout engine to efficiently calculate and stabilize the dimensions, the effective style property\n * `box-sizing` of the `sizingBy` target element must be set to `border-box`.\n *\n * The directive uses [ResizeObserver API](https://developer.mozilla.org/en-US/docs/Web/API/Resize_Observer_API)\n * to capture the events of element resizing. Please use a polyfill if you want to support older browsers\n * that do not implement ResizeObserver API.\n *\n * Examples:\n *\n * ```html\n * <div #parentElement>\n * <div [buiSizing]=\"{'400': 'small', '800': 'medium', '~': 'large'}\" [buiSizingBy]=\"parentElement\"></div>\n * <div [buiSizing]=\"['small', 'medium', 'large']\" [buiSizingBy]=\"'root'\"></div>\n * <div [buiSizing]=\"{'650': 'border-color: #28569', '~': 'bg-muted; border-style: dotted'}\" [buiSizingBy]=\"parentElement\"></div>\n * </div>\n * ```\n */\n@Directive({\n\tselector: '[buiSizing],[buiResized],[buiSizingBy],[buiFixedHeight]'\n})\nexport class SizingDirective implements OnChanges, OnDestroy {\n\t/**\n\t * @ignore\n\t */\n\tstatic defaultSizingBreakpoints = ['400', '800', '~'];\n\n\t/**\n\t * Specifies the breakpoint widths and the style classes.\n\t *\n\t * The sizing spec `{\"400\": \"small\", \"800\": \"medium\", \"~\": \"large\"}` tells the directive to apply\n\t * a style class `small` when the width of the monitored target is smaller than 400 pixels,\n\t * `medium` when the width is between 400 and 800 pixels, and `large` when above.\n\t *\n\t * @example {'400': 'small', '800': 'medium', '~': 'large'}\n\t */\n\t@Input()\n\tbuiSizing: string | Array<string> | { [key: string]: string } = {};\n\n\t/**\n\t * The alias of `buiSizingBy`.\n\t * @default 'root'\n\t */\n\t@Input()\n\tsizingBy: 'root' | 'parent' | HTMLElement = 'root';\n\n\t/**\n\t * Designate an element to be monitored for recalculating the style classes of the current element.\n\t *\n\t * - `root` specifies the document root or the enclosing shadow host. This is the default value.\n\t * - `parent` specifies the parent element.\n\t *\n\t * @default 'root'\n\t * @alias sizingBy\n\t */\n\t@Input()\n\tget buiSizingBy(): 'root' | 'parent' | HTMLElement {\n\t\treturn this.sizingBy;\n\t}\n\tset buiSizingBy(target: 'root' | 'parent' | HTMLElement) {\n\t\tthis.sizingBy = target;\n\t}\n\n\t/**\n\t * Emits `{width, height}` when the monitor target element resizes.\n\t *\n\t * Note that the dimensions emitted are of the [sizingBy] target, but not the current element.\n\t */\n\t@Output()\n\tbuiResized = new EventEmitter<{ width: number; height: number }>();\n\n\t/**\n\t * Recalculate the height of this element according to the height of the monitored target.\n\t */\n\t@Input()\n\tbuiFixedHeight = false;\n\n\tprivate _monitorTarget: HTMLElement;\n\tprivate _observer: ResizeObserver | undefined;\n\tprivate _sizingSpec: { [key: string]: string } = {};\n\tprivate _width = 0;\n\tprivate _height = 0;\n\tprivate _reflowFrameCount = 0;\n\tprivate _element: HTMLElement;\n\n\tconstructor(\n\t\t@Inject(DOCUMENT) private _doc: Document,\n\t\t@Optional() private _defaultTarget: SizingMonitorDirective,\n\t\telemRef: ElementRef<HTMLElement>,\n\t\tprivate _zone: NgZone\n\t) {\n\t\tthis._element = elemRef.nativeElement;\n\t\tthis._monitorTarget = this._element;\n\t}\n\n\tngOnChanges(_: SimpleChanges): void {\n\t\tconst disconnected = this._element.getRootNode() instanceof HTMLElement;\n\t\tif (disconnected) {\n\t\t\t// defer shadow detection till dom connection event\n\t\t\tthis._zone.onStable.pipe(debounceTime(10), take(1)).subscribe(() => this._initOrReset());\n\t\t} else {\n\t\t\tthis._initOrReset();\n\t\t}\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._tearDownNodeMonitor();\n\t}\n\n\tprivate _initOrReset() {\n\t\tconst originalTarget = this._monitorTarget;\n\t\tif (this.buiSizingBy instanceof HTMLElement) {\n\t\t\tthis._monitorTarget = this.buiSizingBy;\n\t\t} else if (this._defaultTarget) {\n\t\t\tthis._monitorTarget = this._defaultTarget.element.nativeElement;\n\t\t} else if (this.buiSizingBy === 'root') {\n\t\t\tconst root = this._element.getRootNode();\n\t\t\tif (root instanceof ShadowRoot) {\n\t\t\t\tthis._monitorTarget = root.host as HTMLElement;\n\t\t\t} else {\n\t\t\t\tthis._monitorTarget = this._doc.documentElement;\n\t\t\t}\n\t\t} else {\n\t\t\tthis._monitorTarget = this._element.parentElement as any;\n\t\t}\n\n\t\tif (this._monitorTarget != originalTarget) {\n\t\t\tthis._setUpNodeMonitor();\n\t\t}\n\n\t\tthis._sizingSpec = {};\n\t\tlet spec = this.buiSizing;\n\t\tif (typeof spec === 'string') {\n\t\t\tspec = spec.split(',').map(k => k.trim());\n\t\t}\n\n\t\tif (Array.isArray(spec)) {\n\t\t\tspec.forEach((c, i) => {\n\t\t\t\tthis._sizingSpec[SizingDirective.defaultSizingBreakpoints[i] || '~'] = c;\n\t\t\t});\n\t\t} else if (spec) {\n\t\t\tthis._sizingSpec = spec;\n\t\t}\n\n\t\tthis.buiFixedHeight = coerceBooleanProperty(this.buiFixedHeight);\n\n\t\tthis._calculateSize();\n\t}\n\n\tprivate _setUpNodeMonitor() {\n\t\tthis._tearDownNodeMonitor();\n\t\tif (this._monitorTarget) {\n\t\t\tthis._observer = new ResizeObserver(() => this._calculateSize());\n\n\t\t\tthis._observer.observe(this._monitorTarget, { box: 'border-box' });\n\t\t}\n\t}\n\n\tprivate _tearDownNodeMonitor() {\n\t\tif (this._observer) {\n\t\t\tthis._observer.disconnect();\n\t\t\tthis._observer = undefined;\n\t\t}\n\t}\n\n\tprivate _calculateSize() {\n\t\tconst widthChanged = this._width !== this._monitorTarget.clientWidth;\n\t\tconst heightChanged = this._height !== this._monitorTarget.clientHeight;\n\t\tif (widthChanged) {\n\t\t\tthis._width = this._monitorTarget.clientWidth;\n\n\t\t\tconst bks = Object.keys(this._sizingSpec).sort((a, b) => this._toNumber(a) - this._toNumber(b));\n\t\t\tlet found = false;\n\t\t\tfor (const key of bks) {\n\t\t\t\tconst classesOrStyles = this._sizingSpec[key].split(/;+/).filter(c => c);\n\t\t\t\tthis._removeClassesOrStyles(classesOrStyles);\n\t\t\t\tconst expectedWidth = this._toNumber(key);\n\t\t\t\tif (this._width <= expectedWidth && !found) {\n\t\t\t\t\tthis._applyClassesOrStyles(classesOrStyles);\n\t\t\t\t\tfound = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (widthChanged || heightChanged) {\n\t\t\tthis._height = this._monitorTarget.clientHeight;\n\t\t\tif (this.buiFixedHeight) {\n\t\t\t\tthis._reflowFrameCount = 0;\n\t\t\t\tthis._reflowHeight();\n\t\t\t}\n\t\t\tthis.buiResized.emit({ width: this._width, height: this._height });\n\t\t}\n\t}\n\n\tprivate _applyClassesOrStyles(clsOrStyles: string[]) {\n\t\tclsOrStyles.forEach(s => {\n\t\t\tif (s.includes(':')) {\n\t\t\t\tconst [prop, val] = s.split(':');\n\t\t\t\tthis._element.style.setProperty(prop.trim(), val.trim());\n\t\t\t} else {\n\t\t\t\tconst classes = s.split(/\\s+/).filter(c => c);\n\t\t\t\tif (classes.length) {\n\t\t\t\t\tthis._element.classList.add(...classes);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _removeClassesOrStyles(clsOrStyles: string[]) {\n\t\tclsOrStyles.forEach(s => {\n\t\t\tif (s.includes(':')) {\n\t\t\t\tconst [prop] = s.split(':');\n\t\t\t\tthis._element.style.removeProperty(prop);\n\t\t\t} else {\n\t\t\t\tconst classes = s.split(/\\s+/).filter(c => c);\n\t\t\t\tif (classes.length) {\n\t\t\t\t\tthis._element.classList.remove(...classes);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _reflowHeight() {\n\t\tconst cnt = this._reflowFrameCount;\n\t\tif (cnt < 15) {\n\t\t\trequestAnimationFrame(this._reflowHeight.bind(this));\n\n\t\t\tif (cnt === 0) {\n\t\t\t\tthis._element.style.height = '0';\n\t\t\t} else if (cnt === 14) {\n\t\t\t\tconst gt = parseInt(\n\t\t\t\t\tgetComputedStyle(this._monitorTarget).getPropertyValue('padding-top').replace(/px$/, '') || '0',\n\t\t\t\t\t10\n\t\t\t\t);\n\t\t\t\tconst gb = parseInt(\n\t\t\t\t\tgetComputedStyle(this._monitorTarget).getPropertyValue('padding-bottom').replace(/px$/, '') || '0',\n\t\t\t\t\t10\n\t\t\t\t);\n\t\t\t\tthis._element.style.height = `${this._height - gt - gb - 5}px`;\n\t\t\t}\n\t\t}\n\t\tthis._reflowFrameCount++;\n\t}\n\n\tprivate _toNumber(s: string) {\n\t\treturn (s === '~' ? Infinity : Number(s)) || -Infinity;\n\t}\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n\tAfterViewInit,\n\tComponentFactory,\n\tComponentFactoryResolver,\n\tComponentRef,\n\tDirective,\n\tDoCheck,\n\tElementRef,\n\tInject,\n\tInput,\n\tOptional,\n\tViewContainerRef\n} from '@angular/core';\nimport { MatButton } from '@angular/material/button';\nimport { MatProgressSpinner } from '@angular/material/progress-spinner';\nimport { Subscription } from 'rxjs';\n\n/**\n * Use this directive on a `MatButton` element to provide an alternative view when an sync operation is in progress.\n *\n * For example:\n *\n * ```\n * <button (click)=\"submit();\" [buiAwait]=\"submitSubscription\" buiAwaitAriaLabel=\"submitting\">Submit</button>\n * ```\n *\n * Please refer to [Material Design](https://material.io/components/progress-indicators#circular-progress-indicators)\n * for more details of integrating circular spinner component with action buttons.\n *\n * The operation is considered 'in progress' when the bound property `buiAwait` evaluates to\n *\n * - `true`; or\n * - an instance of `rxjs/Subscription` and `buiAwait.closed` is falsy\n *\n * When in progress\n *\n * - the button's caption will be hidden;\n * - a `<mat-progress-spinner>` will be displayed in place of the caption;\n * - the button will be disabled by setting the property `disabled` of the `MatButton` instance.\n */\n@Directive({\n\tselector: '[buiAwait]'\n})\nexport class AwaitDirective implements AfterViewInit, DoCheck {\n\t/**\n\t * Indicates the `in progress` status of an async operation.\n\t *\n\t * The operation is considered 'in progress' when the property evaluates to\n\t *\n\t * - `true`; or\n\t * - an instance of `rxjs/Subscription` and `buiAwait.closed` is falsy\n\t *\n\t */\n\t@Input()\n\tbuiAwait: null | undefined | boolean | Subscription;\n\n\t/** The ARIA label to be put on the spinner. The default value is `\"In progress\"`. */\n\t@Input()\n\tbuiAwaitAriaLabel = 'In progress';\n\n\t/** The diameter of the in-progress spinner. The default value is `20`. */\n\t@Input()\n\tbuiAwaitDiameter = 20;\n\n\tprivate _overlayEl: HTMLDivElement | undefined;\n\tprivate _processing = false;\n\tprivate _factory: ComponentFactory<MatProgressSpinner> | undefined;\n\tprivate _spinnerRef: ComponentRef<MatProgressSpinner> | undefined;\n\tprivate _captionWrapper: HTMLElement | undefined;\n\n\tconstructor(\n\t\tprivate readonly _eRef: ElementRef<HTMLElement>,\n\t\t@Optional() private readonly button: MatButton,\n\t\t@Inject(DOCUMENT) private readonly doc: Document,\n\t\tfactoryResolver: ComponentFactoryResolver,\n\t\tprivate _viewCont: ViewContainerRef\n\t) {\n\t\tif (!button) {\n\t\t\tconsole.error('[buiAwait] can only be used on a MatButton');\n\t\t\treturn;\n\t\t}\n\t\tthis._factory = factoryResolver.resolveComponentFactory(MatProgressSpinner);\n\t}\n\n\t/** @ignore */\n\tngAfterViewInit(): void {\n\t\tif (this.button) {\n\t\t\tthis._overlayEl = this.doc.createElement('div');\n\t\t\tthis._eRef.nativeElement.appendChild(this._overlayEl);\n\t\t\tthis._overlayEl.classList.add('bui-await-overlay');\n\t\t\tthis._overlayEl.style.cssText =\n\t\t\t\t'display:flex; position:absolute; top:0; right:0; bottom:0; left:0; align-items: center; justify-content: center';\n\t\t\tthis._captionWrapper = this._eRef.nativeElement.querySelector('.mat-button-wrapper') as HTMLElement;\n\t\t}\n\t}\n\n\t/** @ignore */\n\tngDoCheck(): void {\n\t\tconst inProgress = this.buiAwait === true || (typeof this.buiAwait === 'object' && !this.buiAwait!.closed);\n\t\tif (inProgress !== this._processing) {\n\t\t\tthis._processing = inProgress;\n\t\t\tthis._statusChanged();\n\t\t}\n\t}\n\n\tprivate _statusChanged() {\n\t\tif (this.button) {\n\t\t\tthis.button.disabled = this._processing;\n\n\t\t\tif (this._processing) {\n\t\t\t\tthis._spinnerRef = this._viewCont.createComponent(this._factory!);\n\t\t\t\tconst c = this._spinnerRef.instance;\n\t\t\t\tc.diameter = this.buiAwaitDiameter;\n\t\t\t\tc.mode = 'indeterminate';\n\t\t\t\tc.color = this.button.color;\n\t\t\t\tconst e: HTMLElement = this._spinnerRef.location.nativeElement;\n\t\t\t\te.setAttribute('aria-label', this.buiAwaitAriaLabel);\n\t\t\t\tthis._overlayEl!.appendChild(e);\n\t\t\t\tthis._captionWrapper!.style.visibility = 'hidden';\n\t\t\t} else {\n\t\t\t\tthis._captionWrapper!.style.visibility = '';\n\t\t\t\tthis._spinnerRef!.destroy();\n\t\t\t\tthis._overlayEl!.innerHTML = '';\n\t\t\t}\n\t\t}\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SizingDirective } from './sizing.directive';\nimport { SizingMonitorDirective } from './sizing-monitor.directive';\nimport { AwaitDirective } from './await.directive';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\n\n/**\n * For functionality that cannot be easily achieved via CSS.\n */\n@NgModule({\n\tdeclarations: [SizingDirective, SizingMonitorDirective, AwaitDirective],\n\timports: [CommonModule, MatButtonModule, MatProgressSpinnerModule],\n\texports: [SizingDirective, SizingMonitorDirective, AwaitDirective, MatProgressSpinnerModule]\n})\nexport class BehaviorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -285,7 +285,7 @@ class DiscreteInputComponent extends _DiscreteInputBase {
285
285
  /** @ignore */
286
286
  DiscreteInputComponent.nextId = 0;
287
287
  DiscreteInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: DiscreteInputComponent, deps: [{ token: i1.FocusMonitor }, { token: i0.ElementRef }, { token: MAT_FORM_FIELD, optional: true }, { token: i2.NgControl, optional: true, self: true }, { token: i2.NgForm, optional: true }, { token: i2.FormGroupDirective, optional: true }, { token: i3.ErrorStateMatcher }], target: i0.ɵɵFactoryTarget.Component });
288
- DiscreteInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: DiscreteInputComponent, selector: "bui-discrete-input", inputs: { type: "type", separator: "separator", accept: "accept", userAriaDescribedBy: ["aria-describedby", "userAriaDescribedBy"], sizeSpec: "sizeSpec", placeholder: "placeholder", required: "required", disabled: "disabled", value: "value" }, host: { classAttribute: "bui-discrete-input" }, providers: [{ provide: MatFormFieldControl, useExisting: DiscreteInputComponent }], viewQueries: [{ propertyName: "inputParts", predicate: ["part"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<div\n\trole=\"group\"\n\tclass=\"bui-discrete-input-container\"\n\t[formGroup]=\"group\"\n\t[attr.aria-labelledby]=\"_formField?.getLabelId()\"\n>\n\t<ng-container [formArrayName]=\"'parts'\">\n\t\t<ng-template ngFor [ngForOf]=\"parts.controls\" let-p let-i=\"index\">\n\t\t\t<input\n\t\t\t\tclass=\"bui-discrete-input-element bui-outline-{{ _colorSuffix }}\"\n\t\t\t\t[formControlName]=\"i\"\n\t\t\t\tsize=\"1\"\n\t\t\t\tmaxLength=\"1\"\n\t\t\t\t[attr.aria-label]=\"'character ' + (i + 1)\"\n\t\t\t\t(input)=\"_handleInput(p, i)\"\n\t\t\t\t(beforeinput)=\"_handleBeforeInput(i, $event)\"\n\t\t\t\t(keydown.backspace)=\"_handleBackspace(p, i)\"\n\t\t\t\t(keydown.arrowup)=\"_consumeKey($event)\"\n\t\t\t\t(keydown.arrowdown)=\"_consumeKey($event)\"\n\t\t\t\t(keydown.arrowleft)=\"_leftArrow(i, $event)\"\n\t\t\t\t(keydown.arrowright)=\"_rightArrow(i, $event)\"\n\t\t\t\t[attr.placeholder]=\"_placeholderAt(i)\"\n\t\t\t\t#part\n\t\t\t\t(click)=\"$event.stopPropagation()\"\n\t\t\t\t(paste)=\"_onPaste($event)\"\n\t\t\t\t[type]=\"['text', 'number', 'password'].includes(type) ? type : 'text'\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t/>\n\t\t\t<span *ngIf=\"_separatorRequired(i)\" class=\"bui-discrete-input-spacer\">{{ separator }}</span>\n\t\t</ng-template>\n\t</ng-container>\n</div>\n", styles: [".bui-discrete-input-container{display:flex;align-items:center}.bui-discrete-input-element{border:1px solid rgba(128,128,128,.4);border-radius:3px;background:none;padding:0;text-align:center;width:1.5em;height:1.5em;font-size:inherit;color:currentColor;caret-color:auto}.bui-discrete-input-element:not(:last-child){margin-right:.25em}.bui-discrete-input-element:focus-visible{outline-style:solid;outline-width:2px;outline-offset:-1px}.bui-discrete-input-element[type=number]::-webkit-inner-spin-button,.bui-discrete-input-element[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.bui-discrete-input-spacer{margin-right:.25em;vertical-align:middle}\n"], directives: [{ type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
288
+ DiscreteInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: DiscreteInputComponent, selector: "bui-discrete-input", inputs: { type: "type", separator: "separator", accept: "accept", userAriaDescribedBy: ["aria-describedby", "userAriaDescribedBy"], sizeSpec: "sizeSpec", placeholder: "placeholder", required: "required", disabled: "disabled", value: "value" }, host: { classAttribute: "bui-discrete-input bui-host" }, providers: [{ provide: MatFormFieldControl, useExisting: DiscreteInputComponent }], viewQueries: [{ propertyName: "inputParts", predicate: ["part"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<div\n\trole=\"group\"\n\tclass=\"bui-discrete-input-container\"\n\t[formGroup]=\"group\"\n\t[attr.aria-labelledby]=\"_formField?.getLabelId()\"\n>\n\t<ng-container [formArrayName]=\"'parts'\">\n\t\t<ng-template ngFor [ngForOf]=\"parts.controls\" let-p let-i=\"index\">\n\t\t\t<input\n\t\t\t\tclass=\"bui-discrete-input-element bui-outline-{{ _colorSuffix }}\"\n\t\t\t\t[formControlName]=\"i\"\n\t\t\t\tsize=\"1\"\n\t\t\t\tmaxLength=\"1\"\n\t\t\t\t[attr.aria-label]=\"'character ' + (i + 1)\"\n\t\t\t\t(input)=\"_handleInput(p, i)\"\n\t\t\t\t(beforeinput)=\"_handleBeforeInput(i, $event)\"\n\t\t\t\t(keydown.backspace)=\"_handleBackspace(p, i)\"\n\t\t\t\t(keydown.arrowup)=\"_consumeKey($event)\"\n\t\t\t\t(keydown.arrowdown)=\"_consumeKey($event)\"\n\t\t\t\t(keydown.arrowleft)=\"_leftArrow(i, $event)\"\n\t\t\t\t(keydown.arrowright)=\"_rightArrow(i, $event)\"\n\t\t\t\t[attr.placeholder]=\"_placeholderAt(i)\"\n\t\t\t\t#part\n\t\t\t\t(click)=\"$event.stopPropagation()\"\n\t\t\t\t(paste)=\"_onPaste($event)\"\n\t\t\t\t[type]=\"['text', 'number', 'password'].includes(type) ? type : 'text'\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t/>\n\t\t\t<span *ngIf=\"_separatorRequired(i)\" class=\"bui-discrete-input-spacer\">{{ separator }}</span>\n\t\t</ng-template>\n\t</ng-container>\n</div>\n", styles: [".bui-discrete-input-container{display:flex;align-items:center}.bui-discrete-input-element{border:1px solid rgba(128,128,128,.4);border-radius:3px;background:none;padding:0;text-align:center;width:1.5em;height:1.5em;font-size:inherit;color:currentColor;caret-color:auto}.bui-discrete-input-element:not(:last-child){margin-right:.25em}.bui-discrete-input-element:focus-visible{outline-style:solid;outline-width:2px;outline-offset:-1px}.bui-discrete-input-element[type=number]::-webkit-inner-spin-button,.bui-discrete-input-element[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.bui-discrete-input-spacer{margin-right:.25em;vertical-align:middle}\n"], directives: [{ type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
289
289
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: DiscreteInputComponent, decorators: [{
290
290
  type: Component,
291
291
  args: [{
@@ -294,7 +294,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
294
294
  styleUrls: ['discrete-input.component.scss'],
295
295
  providers: [{ provide: MatFormFieldControl, useExisting: DiscreteInputComponent }],
296
296
  host: {
297
- class: 'bui-discrete-input'
297
+ class: 'bui-discrete-input bui-host'
298
298
  }
299
299
  }]
300
300
  }], ctorParameters: function () { return [{ type: i1.FocusMonitor }, { type: i0.ElementRef }, { type: i5.MatFormField, decorators: [{