@bravura/ui 3.8.0 → 4.0.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.
- package/CHANGELOG.md +579 -557
- package/LICENSE +6 -6
- package/README.md +56 -54
- package/alert/alert-container.component.d.ts +1 -1
- package/alert/alert-message.component.d.ts +1 -1
- package/behavior/await.directive.d.ts +1 -1
- package/behavior/observe-content-class.directive.d.ts +1 -1
- package/behavior/sizing.directive.d.ts +1 -1
- package/clip-note/clip-note.directive.d.ts +1 -1
- package/currency-input/currency-input.directive.d.ts +1 -1
- package/decimal-input/decimal-input.directive.d.ts +1 -1
- package/discrete-input/discrete-input.component.d.ts +1 -1
- package/esm2022/alert/alert-container.component.mjs +207 -0
- package/esm2022/alert/alert-message.component.mjs +101 -0
- package/esm2022/alert/alert.module.mjs +22 -0
- package/{esm2020 → esm2022}/alert/public-api.mjs +1 -1
- package/esm2022/alert/testing/test-api.mjs +44 -0
- package/{esm2020 → esm2022}/behavior/await.directive.mjs +6 -6
- package/esm2022/behavior/behavior.module.mjs +37 -0
- package/{esm2020 → esm2022}/behavior/observe-content-class.directive.mjs +5 -5
- package/{esm2020 → esm2022}/behavior/public-api.mjs +1 -1
- package/esm2022/behavior/sizing-monitor.directive.mjs +31 -0
- package/esm2022/behavior/sizing.directive.mjs +256 -0
- package/esm2022/clip-note/clip-note.component.mjs +216 -0
- package/esm2022/clip-note/clip-note.directive.mjs +141 -0
- package/esm2022/clip-note/clip-note.module.mjs +32 -0
- package/{esm2020 → esm2022}/clip-note/public-api.mjs +1 -1
- package/{esm2020 → esm2022}/common/common-utils.mjs +1 -1
- package/{esm2020 → esm2022}/common/common.module.mjs +7 -7
- package/{esm2020 → esm2022}/common/public-api.mjs +1 -1
- package/{esm2020 → esm2022}/currency-input/currency-input.directive.mjs +6 -6
- package/esm2022/currency-input/currency-input.module.mjs +19 -0
- package/{esm2020 → esm2022}/currency-input/public-api.mjs +1 -1
- package/{esm2020 → esm2022}/decimal-input/decimal-input.directive.mjs +9 -9
- package/{esm2020 → esm2022}/decimal-input/decimal-input.module.mjs +5 -5
- package/esm2022/discrete-input/discrete-input.component.mjs +337 -0
- package/esm2022/discrete-input/discrete-input.module.mjs +21 -0
- package/{esm2020 → esm2022}/discrete-input/public-api.mjs +1 -1
- package/esm2022/file-upload/file-upload.component.mjs +400 -0
- package/esm2022/file-upload/file-upload.module.mjs +44 -0
- package/esm2022/file-upload/file-upload.service.mjs +29 -0
- package/{esm2020 → esm2022}/file-upload/public-api.mjs +1 -1
- package/esm2022/form-field/form-field.component.mjs +82 -0
- package/esm2022/form-field/form-field.module.mjs +33 -0
- package/{esm2020 → esm2022}/form-field/public-api.mjs +1 -1
- package/esm2022/icon-font/icon-font.module.mjs +22 -0
- package/{esm2020 → esm2022}/icon-font/icon.directive.mjs +5 -5
- package/{esm2020 → esm2022}/icon-font/public-api.mjs +1 -1
- package/{esm2020 → esm2022}/icon-font/utilities.mjs +1 -1
- package/esm2022/panel/panel-section.component.mjs +41 -0
- package/esm2022/panel/panel.component.mjs +87 -0
- package/esm2022/panel/panel.module.mjs +23 -0
- package/{esm2020 → esm2022}/panel/public-api.mjs +1 -1
- package/esm2022/panel/tinted.directive.mjs +60 -0
- package/esm2022/phone-number/phone-number.directive.mjs +188 -0
- package/{esm2020 → esm2022}/phone-number/phone-number.module.mjs +5 -5
- package/{esm2020 → esm2022}/phone-number/phone-number.pipe.mjs +6 -6
- package/esm2022/phone-number/phone-number.validator.mjs +64 -0
- package/{esm2020 → esm2022}/phone-number/public-api.mjs +1 -1
- package/{esm2020 → esm2022}/public-api.mjs +1 -1
- package/esm2022/radio-panel/radio-panel-item.component.mjs +93 -0
- package/esm2022/radio-panel/radio-panel.component.mjs +81 -0
- package/{esm2020 → esm2022}/radio-panel/radio-panel.module.mjs +5 -5
- package/esm2022/radio-panel/testing/test-api.mjs +46 -0
- package/{esm2020 → esm2022}/selection-panel/public-api.mjs +1 -1
- package/esm2022/selection-panel/selection-panel-item.component.mjs +166 -0
- package/esm2022/selection-panel/selection-panel.directive.mjs +119 -0
- package/esm2022/selection-panel/selection-panel.module.mjs +23 -0
- package/{esm2020 → esm2022}/skeletons/public-api.mjs +1 -1
- package/esm2022/skeletons/skeleton-loader-presets.directive.mjs +83 -0
- package/{esm2020 → esm2022}/skeletons/skeleton-loader.component.mjs +5 -5
- package/esm2022/skeletons/skeletons.module.mjs +35 -0
- package/{esm2020 → esm2022}/stepper/public-api.mjs +1 -1
- package/{esm2020 → esm2022}/stepper/stepper-animation.mjs +1 -1
- package/esm2022/stepper/stepper.component.mjs +176 -0
- package/esm2022/stepper/stepper.module.mjs +52 -0
- package/{esm2020 → esm2022}/tooltip/public-api.mjs +1 -1
- package/esm2022/tooltip/tooltip.component.mjs +63 -0
- package/esm2022/tooltip/tooltip.directive.mjs +148 -0
- package/esm2022/tooltip/tooltip.module.mjs +25 -0
- package/{fesm2020 → fesm2022}/bravura-ui-alert-testing.mjs +2 -2
- package/fesm2022/bravura-ui-alert-testing.mjs.map +1 -0
- package/fesm2022/bravura-ui-alert.mjs +327 -0
- package/fesm2022/bravura-ui-alert.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/bravura-ui-behavior.mjs +45 -45
- package/fesm2022/bravura-ui-behavior.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/bravura-ui-clip-note.mjs +70 -70
- package/fesm2022/bravura-ui-clip-note.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/bravura-ui-common.mjs +6 -6
- package/fesm2022/bravura-ui-common.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/bravura-ui-currency-input.mjs +11 -11
- package/fesm2022/bravura-ui-currency-input.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/bravura-ui-decimal-input.mjs +12 -12
- package/fesm2022/bravura-ui-decimal-input.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/bravura-ui-discrete-input.mjs +48 -48
- package/fesm2022/bravura-ui-discrete-input.mjs.map +1 -0
- package/fesm2022/bravura-ui-file-upload.mjs +474 -0
- package/fesm2022/bravura-ui-file-upload.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/bravura-ui-form-field.mjs +19 -19
- package/fesm2022/bravura-ui-form-field.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/bravura-ui-icon-font.mjs +8 -8
- package/fesm2022/bravura-ui-icon-font.mjs.map +1 -0
- package/fesm2022/bravura-ui-panel.mjs +206 -0
- package/fesm2022/bravura-ui-panel.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/bravura-ui-phone-number.mjs +30 -30
- package/fesm2022/bravura-ui-phone-number.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/bravura-ui-radio-panel-testing.mjs +5 -6
- package/fesm2022/bravura-ui-radio-panel-testing.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/bravura-ui-radio-panel.mjs +31 -31
- package/fesm2022/bravura-ui-radio-panel.mjs.map +1 -0
- package/fesm2022/bravura-ui-selection-panel.mjs +306 -0
- package/fesm2022/bravura-ui-selection-panel.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/bravura-ui-skeletons.mjs +43 -43
- package/fesm2022/bravura-ui-skeletons.mjs.map +1 -0
- package/fesm2022/bravura-ui-stepper.mjs +251 -0
- package/fesm2022/bravura-ui-stepper.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/bravura-ui-tooltip.mjs +32 -24
- package/fesm2022/bravura-ui-tooltip.mjs.map +1 -0
- package/fesm2022/bravura-ui.mjs.map +1 -0
- package/file-upload/file-upload.component.d.ts +1 -1
- package/form-field/form-field.component.d.ts +1 -1
- package/icon-font/icon.directive.d.ts +1 -1
- package/package.json +76 -120
- package/panel/panel.component.d.ts +1 -1
- package/panel/tinted.directive.d.ts +1 -1
- package/phone-number/phone-number.directive.d.ts +1 -1
- package/phone-number/phone-number.validator.d.ts +2 -2
- package/radio-panel/radio-panel-item.component.d.ts +1 -1
- package/radio-panel/radio-panel.component.d.ts +1 -1
- package/radio-panel/testing/test-api.d.ts +2 -3
- package/selection-panel/selection-panel-item.component.d.ts +1 -1
- package/selection-panel/selection-panel.directive.d.ts +1 -1
- package/skeletons/skeleton-loader-presets.directive.d.ts +3 -3
- package/stepper/stepper.component.d.ts +1 -1
- package/theme/_bui-card.scss +56 -56
- package/theme/_ui-theme.scss +112 -112
- package/theme/global-style-by-bootstrap.scss +3 -3
- package/theme/global-style-by-tailwind.scss +3 -3
- package/theme/scrollbar.scss +40 -40
- package/tooltip/tooltip.component.d.ts +2 -0
- package/tooltip/tooltip.directive.d.ts +3 -5
- package/esm2020/alert/alert-container.component.mjs +0 -207
- package/esm2020/alert/alert-message.component.mjs +0 -102
- package/esm2020/alert/alert.module.mjs +0 -22
- package/esm2020/alert/testing/test-api.mjs +0 -44
- package/esm2020/behavior/behavior.module.mjs +0 -37
- package/esm2020/behavior/sizing-monitor.directive.mjs +0 -31
- package/esm2020/behavior/sizing.directive.mjs +0 -256
- package/esm2020/clip-note/clip-note.component.mjs +0 -216
- package/esm2020/clip-note/clip-note.directive.mjs +0 -141
- package/esm2020/clip-note/clip-note.module.mjs +0 -32
- package/esm2020/currency-input/currency-input.module.mjs +0 -19
- package/esm2020/discrete-input/discrete-input.component.mjs +0 -337
- package/esm2020/discrete-input/discrete-input.module.mjs +0 -21
- package/esm2020/file-upload/file-upload.component.mjs +0 -400
- package/esm2020/file-upload/file-upload.module.mjs +0 -44
- package/esm2020/file-upload/file-upload.service.mjs +0 -29
- package/esm2020/form-field/form-field.component.mjs +0 -82
- package/esm2020/form-field/form-field.module.mjs +0 -33
- package/esm2020/icon-font/icon-font.module.mjs +0 -22
- package/esm2020/panel/panel-section.component.mjs +0 -41
- package/esm2020/panel/panel.component.mjs +0 -87
- package/esm2020/panel/panel.module.mjs +0 -23
- package/esm2020/panel/tinted.directive.mjs +0 -60
- package/esm2020/phone-number/phone-number.directive.mjs +0 -188
- package/esm2020/phone-number/phone-number.validator.mjs +0 -64
- package/esm2020/radio-panel/radio-panel-item.component.mjs +0 -93
- package/esm2020/radio-panel/radio-panel.component.mjs +0 -81
- package/esm2020/radio-panel/testing/test-api.mjs +0 -47
- package/esm2020/selection-panel/selection-panel-item.component.mjs +0 -166
- package/esm2020/selection-panel/selection-panel.directive.mjs +0 -119
- package/esm2020/selection-panel/selection-panel.module.mjs +0 -23
- package/esm2020/skeletons/skeleton-loader-presets.directive.mjs +0 -83
- package/esm2020/skeletons/skeletons.module.mjs +0 -35
- package/esm2020/stepper/stepper.component.mjs +0 -176
- package/esm2020/stepper/stepper.module.mjs +0 -52
- package/esm2020/tooltip/tooltip.component.mjs +0 -54
- package/esm2020/tooltip/tooltip.directive.mjs +0 -149
- package/esm2020/tooltip/tooltip.module.mjs +0 -25
- package/fesm2015/bravura-ui-alert-testing.mjs +0 -64
- package/fesm2015/bravura-ui-alert-testing.mjs.map +0 -1
- package/fesm2015/bravura-ui-alert.mjs +0 -340
- package/fesm2015/bravura-ui-alert.mjs.map +0 -1
- package/fesm2015/bravura-ui-behavior.mjs +0 -515
- package/fesm2015/bravura-ui-behavior.mjs.map +0 -1
- package/fesm2015/bravura-ui-clip-note.mjs +0 -393
- package/fesm2015/bravura-ui-clip-note.mjs.map +0 -1
- package/fesm2015/bravura-ui-common.mjs +0 -96
- package/fesm2015/bravura-ui-common.mjs.map +0 -1
- package/fesm2015/bravura-ui-currency-input.mjs +0 -300
- package/fesm2015/bravura-ui-currency-input.mjs.map +0 -1
- package/fesm2015/bravura-ui-decimal-input.mjs +0 -145
- package/fesm2015/bravura-ui-decimal-input.mjs.map +0 -1
- package/fesm2015/bravura-ui-discrete-input.mjs +0 -365
- package/fesm2015/bravura-ui-discrete-input.mjs.map +0 -1
- package/fesm2015/bravura-ui-file-upload.mjs +0 -478
- package/fesm2015/bravura-ui-file-upload.mjs.map +0 -1
- package/fesm2015/bravura-ui-form-field.mjs +0 -120
- package/fesm2015/bravura-ui-form-field.mjs.map +0 -1
- package/fesm2015/bravura-ui-icon-font.mjs +0 -178
- package/fesm2015/bravura-ui-icon-font.mjs.map +0 -1
- package/fesm2015/bravura-ui-panel.mjs +0 -210
- package/fesm2015/bravura-ui-panel.mjs.map +0 -1
- package/fesm2015/bravura-ui-phone-number.mjs +0 -327
- package/fesm2015/bravura-ui-phone-number.mjs.map +0 -1
- package/fesm2015/bravura-ui-radio-panel-testing.mjs +0 -63
- package/fesm2015/bravura-ui-radio-panel-testing.mjs.map +0 -1
- package/fesm2015/bravura-ui-radio-panel.mjs +0 -200
- package/fesm2015/bravura-ui-radio-panel.mjs.map +0 -1
- package/fesm2015/bravura-ui-selection-panel.mjs +0 -311
- package/fesm2015/bravura-ui-selection-panel.mjs.map +0 -1
- package/fesm2015/bravura-ui-skeletons.mjs +0 -195
- package/fesm2015/bravura-ui-skeletons.mjs.map +0 -1
- package/fesm2015/bravura-ui-stepper.mjs +0 -253
- package/fesm2015/bravura-ui-stepper.mjs.map +0 -1
- package/fesm2015/bravura-ui-tooltip.mjs +0 -229
- package/fesm2015/bravura-ui-tooltip.mjs.map +0 -1
- package/fesm2015/bravura-ui.mjs.map +0 -1
- package/fesm2020/bravura-ui-alert-testing.mjs.map +0 -1
- package/fesm2020/bravura-ui-alert.mjs +0 -328
- package/fesm2020/bravura-ui-alert.mjs.map +0 -1
- package/fesm2020/bravura-ui-behavior.mjs.map +0 -1
- package/fesm2020/bravura-ui-clip-note.mjs.map +0 -1
- package/fesm2020/bravura-ui-common.mjs.map +0 -1
- package/fesm2020/bravura-ui-currency-input.mjs.map +0 -1
- package/fesm2020/bravura-ui-decimal-input.mjs.map +0 -1
- package/fesm2020/bravura-ui-discrete-input.mjs.map +0 -1
- package/fesm2020/bravura-ui-file-upload.mjs +0 -474
- package/fesm2020/bravura-ui-file-upload.mjs.map +0 -1
- package/fesm2020/bravura-ui-form-field.mjs.map +0 -1
- package/fesm2020/bravura-ui-icon-font.mjs.map +0 -1
- package/fesm2020/bravura-ui-panel.mjs +0 -206
- package/fesm2020/bravura-ui-panel.mjs.map +0 -1
- package/fesm2020/bravura-ui-phone-number.mjs.map +0 -1
- package/fesm2020/bravura-ui-radio-panel-testing.mjs.map +0 -1
- package/fesm2020/bravura-ui-radio-panel.mjs.map +0 -1
- package/fesm2020/bravura-ui-selection-panel.mjs +0 -306
- package/fesm2020/bravura-ui-selection-panel.mjs.map +0 -1
- package/fesm2020/bravura-ui-skeletons.mjs.map +0 -1
- package/fesm2020/bravura-ui-stepper.mjs +0 -251
- package/fesm2020/bravura-ui-stepper.mjs.map +0 -1
- package/fesm2020/bravura-ui-tooltip.mjs.map +0 -1
- package/fesm2020/bravura-ui.mjs +0 -8
- package/fesm2020/bravura-ui.mjs.map +0 -1
- /package/{esm2020 → esm2022}/alert/bravura-ui-alert.mjs +0 -0
- /package/{esm2020 → esm2022}/alert/testing/bravura-ui-alert-testing.mjs +0 -0
- /package/{esm2020 → esm2022}/behavior/bravura-ui-behavior.mjs +0 -0
- /package/{esm2020 → esm2022}/bravura-ui.mjs +0 -0
- /package/{esm2020 → esm2022}/clip-note/bravura-ui-clip-note.mjs +0 -0
- /package/{esm2020 → esm2022}/common/bravura-ui-common.mjs +0 -0
- /package/{esm2020 → esm2022}/currency-input/bravura-ui-currency-input.mjs +0 -0
- /package/{esm2020 → esm2022}/decimal-input/bravura-ui-decimal-input.mjs +0 -0
- /package/{esm2020 → esm2022}/decimal-input/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/discrete-input/bravura-ui-discrete-input.mjs +0 -0
- /package/{esm2020 → esm2022}/file-upload/bravura-ui-file-upload.mjs +0 -0
- /package/{esm2020 → esm2022}/form-field/bravura-ui-form-field.mjs +0 -0
- /package/{esm2020 → esm2022}/icon-font/bravura-ui-icon-font.mjs +0 -0
- /package/{esm2020 → esm2022}/panel/bravura-ui-panel.mjs +0 -0
- /package/{esm2020 → esm2022}/phone-number/bravura-ui-phone-number.mjs +0 -0
- /package/{esm2020 → esm2022}/radio-panel/bravura-ui-radio-panel.mjs +0 -0
- /package/{esm2020 → esm2022}/radio-panel/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/radio-panel/testing/bravura-ui-radio-panel-testing.mjs +0 -0
- /package/{esm2020 → esm2022}/selection-panel/bravura-ui-selection-panel.mjs +0 -0
- /package/{esm2020 → esm2022}/skeletons/bravura-ui-skeletons.mjs +0 -0
- /package/{esm2020 → esm2022}/stepper/bravura-ui-stepper.mjs +0 -0
- /package/{esm2020 → esm2022}/tooltip/bravura-ui-tooltip.mjs +0 -0
- /package/{fesm2015 → fesm2022}/bravura-ui.mjs +0 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
4
|
+
import { IconFontModule } from '@bravura/ui/icon-font';
|
|
5
|
+
import { AlertContainerComponent } from './alert-container.component';
|
|
6
|
+
import { AlertMessageComponent } from './alert-message.component';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class AlertModule {
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AlertModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
10
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: AlertModule, declarations: [AlertMessageComponent, AlertContainerComponent], imports: [CommonModule, IconFontModule, MatButtonModule], exports: [AlertMessageComponent, AlertContainerComponent] }); }
|
|
11
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AlertModule, imports: [CommonModule, IconFontModule, MatButtonModule] }); }
|
|
12
|
+
}
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AlertModule, decorators: [{
|
|
14
|
+
type: NgModule,
|
|
15
|
+
args: [{
|
|
16
|
+
declarations: [AlertMessageComponent, AlertContainerComponent],
|
|
17
|
+
imports: [CommonModule, IconFontModule, MatButtonModule],
|
|
18
|
+
exports: [AlertMessageComponent, AlertContainerComponent]
|
|
19
|
+
}]
|
|
20
|
+
}] });
|
|
21
|
+
export { AlertMessageComponent, AlertContainerComponent };
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvYWxlcnQvYWxlcnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBT2xFLE1BQU0sT0FBTyxXQUFXOytHQUFYLFdBQVc7Z0hBQVgsV0FBVyxpQkFKUixxQkFBcUIsRUFBRSx1QkFBdUIsYUFDbkQsWUFBWSxFQUFFLGNBQWMsRUFBRSxlQUFlLGFBQzdDLHFCQUFxQixFQUFFLHVCQUF1QjtnSEFFNUMsV0FBVyxZQUhiLFlBQVksRUFBRSxjQUFjLEVBQUUsZUFBZTs7NEZBRzNDLFdBQVc7a0JBTHZCLFFBQVE7bUJBQUM7b0JBQ1QsWUFBWSxFQUFFLENBQUMscUJBQXFCLEVBQUUsdUJBQXVCLENBQUM7b0JBQzlELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsZUFBZSxDQUFDO29CQUN4RCxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSx1QkFBdUIsQ0FBQztpQkFDekQ7O0FBR0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHVCQUF1QixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBJY29uRm9udE1vZHVsZSB9IGZyb20gJ0BicmF2dXJhL3VpL2ljb24tZm9udCc7XHJcbmltcG9ydCB7IEFsZXJ0Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9hbGVydC1jb250YWluZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWxlcnRNZXNzYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9hbGVydC1tZXNzYWdlLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG5cdGRlY2xhcmF0aW9uczogW0FsZXJ0TWVzc2FnZUNvbXBvbmVudCwgQWxlcnRDb250YWluZXJDb21wb25lbnRdLFxyXG5cdGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEljb25Gb250TW9kdWxlLCBNYXRCdXR0b25Nb2R1bGVdLFxyXG5cdGV4cG9ydHM6IFtBbGVydE1lc3NhZ2VDb21wb25lbnQsIEFsZXJ0Q29udGFpbmVyQ29tcG9uZW50XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWxlcnRNb2R1bGUge31cclxuXHJcbmV4cG9ydCB7IEFsZXJ0TWVzc2FnZUNvbXBvbmVudCwgQWxlcnRDb250YWluZXJDb21wb25lbnQgfTtcclxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './alert.module';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL2FsZXJ0L3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWxlcnQubW9kdWxlJztcclxuIl19
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';
|
|
2
|
+
export class AlertMessageHarness extends ComponentHarness {
|
|
3
|
+
constructor() {
|
|
4
|
+
super(...arguments);
|
|
5
|
+
this._getBackdrop = this.locatorFor('.bui-alert-backdrop');
|
|
6
|
+
this._getDeleteButton = this.locatorFor('.bui-alert-button');
|
|
7
|
+
this._getContentDiv = this.locatorFor('.bui-alert-content');
|
|
8
|
+
}
|
|
9
|
+
static { this.hostSelector = '.bui-alert'; }
|
|
10
|
+
static with(options = {}) {
|
|
11
|
+
return new HarnessPredicate(this, options).addOption('content', options.content, AlertMessageHarness.filterByContent);
|
|
12
|
+
}
|
|
13
|
+
async getColor() {
|
|
14
|
+
return (await this._getBackdrop()).getCssValue('background-color');
|
|
15
|
+
}
|
|
16
|
+
async delete() {
|
|
17
|
+
await (await this._getDeleteButton()).click();
|
|
18
|
+
}
|
|
19
|
+
async getContent(options) {
|
|
20
|
+
return (await this._getContentDiv()).text(options);
|
|
21
|
+
}
|
|
22
|
+
static async filterByContent(harness, content) {
|
|
23
|
+
const contentText = await harness.getContent();
|
|
24
|
+
return content.test(contentText);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
export class AlertContainerHarness extends ComponentHarness {
|
|
28
|
+
constructor() {
|
|
29
|
+
super(...arguments);
|
|
30
|
+
this._items = this.locatorForAll(AlertMessageHarness.with({ ancestor: '.bui-alert-fixed-panel' }));
|
|
31
|
+
this._floatingFrame = this.locatorFor('.bui-alert-float-panel-frame');
|
|
32
|
+
}
|
|
33
|
+
static { this.hostSelector = '.bui-alert-container'; }
|
|
34
|
+
getAlertItem(content) {
|
|
35
|
+
return this.locatorForOptional(AlertMessageHarness.with({ ancestor: '.bui-alert-fixed-panel', content }))();
|
|
36
|
+
}
|
|
37
|
+
async countAlertItems() {
|
|
38
|
+
return (await this._items()).length;
|
|
39
|
+
}
|
|
40
|
+
async isFloated() {
|
|
41
|
+
return (await (await this._floatingFrame()).getCssValue('display')) !== 'none';
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9hbGVydC90ZXN0aW5nL3Rlc3QtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTixnQkFBZ0IsRUFJaEIsZ0JBQWdCLEVBQ2hCLE1BQU0sc0JBQXNCLENBQUM7QUFPOUIsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGdCQUFnQjtJQUF6RDs7UUFFUyxpQkFBWSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN0RCxxQkFBZ0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDeEQsbUJBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUE2QmhFLENBQUM7YUFoQ08saUJBQVksR0FBRyxZQUFZLEFBQWYsQ0FBZ0I7SUFLbkMsTUFBTSxDQUFDLElBQUksQ0FFVixVQUFzQyxFQUFFO1FBRXhDLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUNuRCxTQUFTLEVBQ1QsT0FBTyxDQUFDLE9BQU8sRUFDZixtQkFBbUIsQ0FBQyxlQUFlLENBQ25DLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVE7UUFDYixPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU07UUFDWCxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQy9DLENBQUM7SUFFRCxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQXFCO1FBQ3JDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsT0FBNEIsRUFBRSxPQUFlO1FBQ2pGLE1BQU0sV0FBVyxHQUFHLE1BQU0sT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQy9DLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNsQyxDQUFDOztBQUdGLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxnQkFBZ0I7SUFBM0Q7O1FBR1MsV0FBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLHdCQUF3QixFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzlGLG1CQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0lBYTFFLENBQUM7YUFoQk8saUJBQVksR0FBRyxzQkFBc0IsQUFBekIsQ0FBMEI7SUFLN0MsWUFBWSxDQUFDLE9BQWU7UUFDM0IsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLHdCQUF3QixFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzdHLENBQUM7SUFFRCxLQUFLLENBQUMsZUFBZTtRQUNwQixPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDckMsQ0FBQztJQUVELEtBQUssQ0FBQyxTQUFTO1FBQ2QsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLE1BQU0sQ0FBQztJQUNoRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuXHRDb21wb25lbnRIYXJuZXNzLFxyXG5cdFRleHRPcHRpb25zLFxyXG5cdEJhc2VIYXJuZXNzRmlsdGVycyxcclxuXHRDb21wb25lbnRIYXJuZXNzQ29uc3RydWN0b3IsXHJcblx0SGFybmVzc1ByZWRpY2F0ZVxyXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQWxlcnRNZXNzYWdlSGFybmVzc0ZpbHRlcnMgZXh0ZW5kcyBCYXNlSGFybmVzc0ZpbHRlcnMge1xyXG5cdC8qKiBvbmx5IHNlbGVjdCB0aGUgYWxlcnQgd2l0aCB0aGUgY29udGVudCBtYXRjaGluZyB0aGlzIHJlZ3VsYXIgZXhwcmVzc2lvbiAqL1xyXG5cdGNvbnRlbnQ/OiBSZWdFeHA7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBbGVydE1lc3NhZ2VIYXJuZXNzIGV4dGVuZHMgQ29tcG9uZW50SGFybmVzcyB7XHJcblx0c3RhdGljIGhvc3RTZWxlY3RvciA9ICcuYnVpLWFsZXJ0JztcclxuXHRwcml2YXRlIF9nZXRCYWNrZHJvcCA9IHRoaXMubG9jYXRvckZvcignLmJ1aS1hbGVydC1iYWNrZHJvcCcpO1xyXG5cdHByaXZhdGUgX2dldERlbGV0ZUJ1dHRvbiA9IHRoaXMubG9jYXRvckZvcignLmJ1aS1hbGVydC1idXR0b24nKTtcclxuXHRwcml2YXRlIF9nZXRDb250ZW50RGl2ID0gdGhpcy5sb2NhdG9yRm9yKCcuYnVpLWFsZXJ0LWNvbnRlbnQnKTtcclxuXHJcblx0c3RhdGljIHdpdGg8VCBleHRlbmRzIEFsZXJ0TWVzc2FnZUhhcm5lc3M+KFxyXG5cdFx0dGhpczogQ29tcG9uZW50SGFybmVzc0NvbnN0cnVjdG9yPFQ+LFxyXG5cdFx0b3B0aW9uczogQWxlcnRNZXNzYWdlSGFybmVzc0ZpbHRlcnMgPSB7fVxyXG5cdCk6IEhhcm5lc3NQcmVkaWNhdGU8VD4ge1xyXG5cdFx0cmV0dXJuIG5ldyBIYXJuZXNzUHJlZGljYXRlKHRoaXMsIG9wdGlvbnMpLmFkZE9wdGlvbihcclxuXHRcdFx0J2NvbnRlbnQnLFxyXG5cdFx0XHRvcHRpb25zLmNvbnRlbnQsXHJcblx0XHRcdEFsZXJ0TWVzc2FnZUhhcm5lc3MuZmlsdGVyQnlDb250ZW50XHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0YXN5bmMgZ2V0Q29sb3IoKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuXHRcdHJldHVybiAoYXdhaXQgdGhpcy5fZ2V0QmFja2Ryb3AoKSkuZ2V0Q3NzVmFsdWUoJ2JhY2tncm91bmQtY29sb3InKTtcclxuXHR9XHJcblxyXG5cdGFzeW5jIGRlbGV0ZSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuXHRcdGF3YWl0IChhd2FpdCB0aGlzLl9nZXREZWxldGVCdXR0b24oKSkuY2xpY2soKTtcclxuXHR9XHJcblxyXG5cdGFzeW5jIGdldENvbnRlbnQob3B0aW9ucz86IFRleHRPcHRpb25zKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuXHRcdHJldHVybiAoYXdhaXQgdGhpcy5fZ2V0Q29udGVudERpdigpKS50ZXh0KG9wdGlvbnMpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBzdGF0aWMgYXN5bmMgZmlsdGVyQnlDb250ZW50KGhhcm5lc3M6IEFsZXJ0TWVzc2FnZUhhcm5lc3MsIGNvbnRlbnQ6IFJlZ0V4cCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG5cdFx0Y29uc3QgY29udGVudFRleHQgPSBhd2FpdCBoYXJuZXNzLmdldENvbnRlbnQoKTtcclxuXHRcdHJldHVybiBjb250ZW50LnRlc3QoY29udGVudFRleHQpO1xyXG5cdH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEFsZXJ0Q29udGFpbmVySGFybmVzcyBleHRlbmRzIENvbXBvbmVudEhhcm5lc3Mge1xyXG5cdHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnLmJ1aS1hbGVydC1jb250YWluZXInO1xyXG5cclxuXHRwcml2YXRlIF9pdGVtcyA9IHRoaXMubG9jYXRvckZvckFsbChBbGVydE1lc3NhZ2VIYXJuZXNzLndpdGgoeyBhbmNlc3RvcjogJy5idWktYWxlcnQtZml4ZWQtcGFuZWwnIH0pKTtcclxuXHRwcml2YXRlIF9mbG9hdGluZ0ZyYW1lID0gdGhpcy5sb2NhdG9yRm9yKCcuYnVpLWFsZXJ0LWZsb2F0LXBhbmVsLWZyYW1lJyk7XHJcblxyXG5cdGdldEFsZXJ0SXRlbShjb250ZW50OiBSZWdFeHApOiBQcm9taXNlPEFsZXJ0TWVzc2FnZUhhcm5lc3MgfCBudWxsPiB7XHJcblx0XHRyZXR1cm4gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoQWxlcnRNZXNzYWdlSGFybmVzcy53aXRoKHsgYW5jZXN0b3I6ICcuYnVpLWFsZXJ0LWZpeGVkLXBhbmVsJywgY29udGVudCB9KSkoKTtcclxuXHR9XHJcblxyXG5cdGFzeW5jIGNvdW50QWxlcnRJdGVtcygpOiBQcm9taXNlPG51bWJlcj4ge1xyXG5cdFx0cmV0dXJuIChhd2FpdCB0aGlzLl9pdGVtcygpKS5sZW5ndGg7XHJcblx0fVxyXG5cclxuXHRhc3luYyBpc0Zsb2F0ZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XHJcblx0XHRyZXR1cm4gKGF3YWl0IChhd2FpdCB0aGlzLl9mbG9hdGluZ0ZyYW1lKCkpLmdldENzc1ZhbHVlKCdkaXNwbGF5JykpICE9PSAnbm9uZSc7XHJcblx0fVxyXG59XHJcbiJdfQ==
|
|
@@ -98,15 +98,15 @@ export class AwaitDirective {
|
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
100
|
}
|
|
101
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AwaitDirective, deps: [{ token: i0.ElementRef }, { token: i1.MatButton, optional: true }, { token: i1.MatIconButton, optional: true }, { token: i1.MatIconAnchor, optional: true }, { token: i1.MatFabButton, optional: true }, { token: i1.MatFabAnchor, optional: true }, { token: i1.MatMiniFabButton, optional: true }, { token: i1.MatMiniFabAnchor, optional: true }, { token: DOCUMENT }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
102
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: AwaitDirective, selector: "[buiAwait]", inputs: { buiAwait: "buiAwait", buiAwaitAriaLabel: "buiAwaitAriaLabel", buiAwaitDiameter: "buiAwaitDiameter" }, ngImport: i0 }); }
|
|
101
103
|
}
|
|
102
|
-
|
|
103
|
-
AwaitDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.6", type: AwaitDirective, selector: "[buiAwait]", inputs: { buiAwait: "buiAwait", buiAwaitAriaLabel: "buiAwaitAriaLabel", buiAwaitDiameter: "buiAwaitDiameter" }, ngImport: i0 });
|
|
104
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: AwaitDirective, decorators: [{
|
|
104
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AwaitDirective, decorators: [{
|
|
105
105
|
type: Directive,
|
|
106
106
|
args: [{
|
|
107
107
|
selector: '[buiAwait]'
|
|
108
108
|
}]
|
|
109
|
-
}], ctorParameters:
|
|
109
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.MatButton, decorators: [{
|
|
110
110
|
type: Optional
|
|
111
111
|
}] }, { type: i1.MatIconButton, decorators: [{
|
|
112
112
|
type: Optional
|
|
@@ -123,11 +123,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImpor
|
|
|
123
123
|
}] }, { type: Document, decorators: [{
|
|
124
124
|
type: Inject,
|
|
125
125
|
args: [DOCUMENT]
|
|
126
|
-
}] }, { type: i0.ViewContainerRef }]
|
|
126
|
+
}] }, { type: i0.ViewContainerRef }], propDecorators: { buiAwait: [{
|
|
127
127
|
type: Input
|
|
128
128
|
}], buiAwaitAriaLabel: [{
|
|
129
129
|
type: Input
|
|
130
130
|
}], buiAwaitDiameter: [{
|
|
131
131
|
type: Input
|
|
132
132
|
}] } });
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdhaXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvYmVoYXZpb3IvYXdhaXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBR04sU0FBUyxFQUdULE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUVSLE1BQU0sZUFBZSxDQUFDO0FBVXZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBdUIsTUFBTSxvQ0FBb0MsQ0FBQzs7O0FBRzdGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUlILE1BQU0sT0FBTyxjQUFjO0lBcUMxQixZQUNrQixLQUE4QixFQUMxQixPQUFrQixFQUNsQixXQUEwQixFQUMxQixXQUEwQixFQUMxQixJQUFrQixFQUNsQixVQUF3QixFQUN4QixRQUEwQixFQUMxQixjQUFnQyxFQUNsQixHQUFhLEVBQ3hDLFNBQTJCO1FBVGxCLFVBQUssR0FBTCxLQUFLLENBQXlCO1FBQzFCLFlBQU8sR0FBUCxPQUFPLENBQVc7UUFDbEIsZ0JBQVcsR0FBWCxXQUFXLENBQWU7UUFDMUIsZ0JBQVcsR0FBWCxXQUFXLENBQWU7UUFDMUIsU0FBSSxHQUFKLElBQUksQ0FBYztRQUNsQixlQUFVLEdBQVYsVUFBVSxDQUFjO1FBQ3hCLGFBQVEsR0FBUixRQUFRLENBQWtCO1FBQzFCLG1CQUFjLEdBQWQsY0FBYyxDQUFrQjtRQUNsQixRQUFHLEdBQUgsR0FBRyxDQUFVO1FBQ3hDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBaENwQyxxRkFBcUY7UUFFckYsc0JBQWlCLEdBQUcsYUFBYSxDQUFDO1FBRWxDLDBFQUEwRTtRQUUxRSxxQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFHZCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQXlCM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLElBQUks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LENBQUMsZUFBZ0IsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQzthQUNsRDtpQkFBTTtnQkFDTixJQUFJLENBQUMsZUFBZ0IsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztnQkFDNUMsSUFBSSxDQUFDLFdBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxVQUFXLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQzthQUNoQztTQUNEO0lBQ0YsQ0FBQzs7MkdBM0dXLGNBQWMsdVdBOENqQixRQUFROytGQTlDTCxjQUFjOzJGQUFkLGNBQWM7a0JBSDFCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLFlBQVk7aUJBQ3RCOzswQkF3Q0UsUUFBUTs7MEJBQ1IsUUFBUTs7MEJBQ1IsUUFBUTs7MEJBQ1IsUUFBUTs7MEJBQ1IsUUFBUTs7MEJBQ1IsUUFBUTs7MEJBQ1IsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxRQUFROzJFQWpDakIsUUFBUTtzQkFEUCxLQUFLO2dCQUtOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFLTixnQkFBZ0I7c0JBRGYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG5cdEFmdGVyVmlld0luaXQsXG5cdENvbXBvbmVudFJlZixcblx0RGlyZWN0aXZlLFxuXHREb0NoZWNrLFxuXHRFbGVtZW50UmVmLFxuXHRJbmplY3QsXG5cdElucHV0LFxuXHRPcHRpb25hbCxcblx0Vmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG5cdE1hdEJ1dHRvbixcblx0TWF0RmFiQW5jaG9yLFxuXHRNYXRGYWJCdXR0b24sXG5cdE1hdEljb25BbmNob3IsXG5cdE1hdEljb25CdXR0b24sXG5cdE1hdE1pbmlGYWJBbmNob3IsXG5cdE1hdE1pbmlGYWJCdXR0b25cbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lciwgUHJvZ3Jlc3NTcGlubmVyTW9kZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogVXNlIHRoaXMgZGlyZWN0aXZlIG9uIGEgYE1hdEJ1dHRvbmAgZWxlbWVudCB0byBwcm92aWRlIGFuIGFsdGVybmF0aXZlIHZpZXcgd2hlbiBhbiBhc3luYyBvcGVyYXRpb24gaXMgaW4gcHJvZ3Jlc3MuXG4gKlxuICogRm9yIGV4YW1wbGU6XG4gKlxuICogYGBgXG4gKiA8YnV0dG9uIChjbGljayk9XCJzdWJtaXQoKTtcIiBbYnVpQXdhaXRdPVwic3VibWl0U3Vic2NyaXB0aW9uXCIgYnVpQXdhaXRBcmlhTGFiZWw9XCJzdWJtaXR0aW5nXCI+U3VibWl0PC9idXR0b24+XG4gKiBgYGBcbiAqXG4gKiBQbGVhc2UgcmVmZXIgdG8gW01hdGVyaWFsIERlc2lnbl0oaHR0cHM6Ly9tYXRlcmlhbC5pby9jb21wb25lbnRzL3Byb2dyZXNzLWluZGljYXRvcnMjY2lyY3VsYXItcHJvZ3Jlc3MtaW5kaWNhdG9ycylcbiAqIGZvciBtb3JlIGRldGFpbHMgb2YgaW50ZWdyYXRpbmcgY2lyY3VsYXIgc3Bpbm5lciBjb21wb25lbnQgd2l0aCBhY3Rpb24gYnV0dG9ucy5cbiAqXG4gKiBUaGUgb3BlcmF0aW9uIGlzIGNvbnNpZGVyZWQgJ2luIHByb2dyZXNzJyB3aGVuIHRoZSBib3VuZCBwcm9wZXJ0eSBgYnVpQXdhaXRgIGV2YWx1YXRlcyB0b1xuICpcbiAqIC0gYHRydWVgOyBvclxuICogLSBhIGBudW1iZXJgIHdpdGhpbiAwIC0gMTAwOyBvclxuICogLSBhbiBpbnN0YW5jZSBvZiBgcnhqcy9TdWJzY3JpcHRpb25gIGFuZCBgYnVpQXdhaXQuY2xvc2VkYCBpcyBmYWxzeVxuICpcbiAqIFdoZW4gaW4gcHJvZ3Jlc3NcbiAqXG4gKiAtIHRoZSBidXR0b24ncyBjYXB0aW9uIHdpbGwgYmUgaGlkZGVuO1xuICogLSBhIGA8bWF0LXByb2dyZXNzLXNwaW5uZXI+YCB3aWxsIGJlIGRpc3BsYXllZCBpbiBwbGFjZSBvZiB0aGUgY2FwdGlvbjtcbiAqIC0gdGhlIGJ1dHRvbiB3aWxsIGJlIGRpc2FibGVkIGJ5IHNldHRpbmcgdGhlIHByb3BlcnR5IGBkaXNhYmxlZGAgb2YgdGhlIGBNYXRCdXR0b25gIGluc3RhbmNlLlxuICovXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdbYnVpQXdhaXRdJ1xufSlcbmV4cG9ydCBjbGFzcyBBd2FpdERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIERvQ2hlY2sge1xuXHQvKipcblx0ICogSW5kaWNhdGVzIHRoZSBgaW4gcHJvZ3Jlc3NgIHN0YXR1cyBvZiBhbiBhc3luYyBvcGVyYXRpb24uXG5cdCAqXG5cdCAqIFRoZSBvcGVyYXRpb24gaXMgY29uc2lkZXJlZCAnaW4gcHJvZ3Jlc3MnIHdoZW4gdGhlIHByb3BlcnR5IGV2YWx1YXRlcyB0b1xuXHQgKlxuXHQgKiAtIGB0cnVlYDsgb3Jcblx0ICogLSBhIGBudW1iZXJgIHdpdGhpbiAwIC0gMTAwOyBvclxuXHQgKiAtIGFuIGluc3RhbmNlIG9mIGByeGpzL1N1YnNjcmlwdGlvbmAgYW5kIGBidWlBd2FpdC5jbG9zZWRgIGlzIGZhbHN5XG5cdCAqXG5cdCAqIFdoZW4gaXQgaXMgYSBudW1iZXIsIGl0IHJlcHJlc2V0cyB0aGUgcHJvZ3Jlc3MgaW4gcGVyY2VudGFnZSB0ZXJtLlxuXHQgKi9cblx0QElucHV0KClcblx0YnVpQXdhaXQ6IG51bGwgfCB1bmRlZmluZWQgfCBib29sZWFuIHwgU3Vic2NyaXB0aW9uIHwgbnVtYmVyO1xuXG5cdC8qKiBUaGUgQVJJQSBsYWJlbCB0byBiZSBwdXQgb24gdGhlIHNwaW5uZXIuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGBcIkluIHByb2dyZXNzXCJgLiAqL1xuXHRASW5wdXQoKVxuXHRidWlBd2FpdEFyaWFMYWJlbCA9ICdJbiBwcm9ncmVzcyc7XG5cblx0LyoqIFRoZSBkaWFtZXRlciBvZiB0aGUgaW4tcHJvZ3Jlc3Mgc3Bpbm5lci4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgYDIwYC4gKi9cblx0QElucHV0KClcblx0YnVpQXdhaXREaWFtZXRlciA9IDIwO1xuXG5cdHByaXZhdGUgX292ZXJsYXlFbDogSFRNTERpdkVsZW1lbnQgfCB1bmRlZmluZWQ7XG5cdHByaXZhdGUgX3Byb2Nlc3NpbmcgPSBmYWxzZTtcblx0cHJpdmF0ZSBfc3Bpbm5lclJlZjogQ29tcG9uZW50UmVmPE1hdFByb2dyZXNzU3Bpbm5lcj4gfCB1bmRlZmluZWQ7XG5cdHByaXZhdGUgX2NhcHRpb25XcmFwcGVyOiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZDtcblx0cHJpdmF0ZSBidXR0b246XG5cdFx0fCBNYXRCdXR0b25cblx0XHR8IE1hdEljb25CdXR0b25cblx0XHR8IE1hdEljb25BbmNob3Jcblx0XHR8IE1hdEZhYkJ1dHRvblxuXHRcdHwgTWF0RmFiQW5jaG9yXG5cdFx0fCBNYXRNaW5pRmFiQnV0dG9uXG5cdFx0fCBNYXRNaW5pRmFiQW5jaG9yXG5cdFx0fCB1bmRlZmluZWQ7XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0cHJpdmF0ZSByZWFkb25seSBfZVJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG5cdFx0QE9wdGlvbmFsKCkgcmVhZG9ubHkgX2J1dHRvbjogTWF0QnV0dG9uLFxuXHRcdEBPcHRpb25hbCgpIHJlYWRvbmx5IF9pY29uQnV0dG9uOiBNYXRJY29uQnV0dG9uLFxuXHRcdEBPcHRpb25hbCgpIHJlYWRvbmx5IF9pY29uQW5jaG9yOiBNYXRJY29uQW5jaG9yLFxuXHRcdEBPcHRpb25hbCgpIHJlYWRvbmx5IF9mYWI6IE1hdEZhYkJ1dHRvbixcblx0XHRAT3B0aW9uYWwoKSByZWFkb25seSBfZmFiQW5jaG9yOiBNYXRGYWJBbmNob3IsXG5cdFx0QE9wdGlvbmFsKCkgcmVhZG9ubHkgX21pbmlGYWI6IE1hdE1pbmlGYWJCdXR0b24sXG5cdFx0QE9wdGlvbmFsKCkgcmVhZG9ubHkgX21pbmlGYWJBbmNob3I6IE1hdE1pbmlGYWJBbmNob3IsXG5cdFx0QEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSByZWFkb25seSBkb2M6IERvY3VtZW50LFxuXHRcdHByaXZhdGUgX3ZpZXdDb250OiBWaWV3Q29udGFpbmVyUmVmXG5cdCkge1xuXHRcdHRoaXMuYnV0dG9uID0gX2J1dHRvbiB8fCBfaWNvbkJ1dHRvbiB8fCBfaWNvbkFuY2hvciB8fCBfZmFiIHx8IF9mYWJBbmNob3IgfHwgX21pbmlGYWIgfHwgX21pbmlGYWJBbmNob3I7XG5cdFx0aWYgKCF0aGlzLmJ1dHRvbikge1xuXHRcdFx0Y29uc29sZS5lcnJvcignW2J1aUF3YWl0XSBjYW4gb25seSBiZSB1c2VkIG9uIGEgTWF0ZXJpYWwgYnV0dG9uLicpO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0fVxuXG5cdC8qKiBAaWdub3JlICovXG5cdG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5idXR0b24pIHtcblx0XHRcdHRoaXMuX292ZXJsYXlFbCA9IHRoaXMuZG9jLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXHRcdFx0dGhpcy5fZVJlZi5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX292ZXJsYXlFbCk7XG5cdFx0XHR0aGlzLl9vdmVybGF5RWwuY2xhc3NMaXN0LmFkZCgnYnVpLWF3YWl0LW92ZXJsYXknKTtcblx0XHRcdHRoaXMuX292ZXJsYXlFbC5zdHlsZS5jc3NUZXh0ID1cblx0XHRcdFx0J2Rpc3BsYXk6ZmxleDsgcG9zaXRpb246YWJzb2x1dGU7IHRvcDowOyByaWdodDowOyBib3R0b206MDsgbGVmdDowOyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcic7XG5cdFx0XHR0aGlzLl9jYXB0aW9uV3JhcHBlciA9IHRoaXMuX2VSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcubWRjLWJ1dHRvbl9fbGFiZWwsLm1hdC1pY29uJykgYXMgSFRNTEVsZW1lbnQ7XG5cdFx0fVxuXHR9XG5cblx0LyoqIEBpZ25vcmUgKi9cblx0bmdEb0NoZWNrKCk6IHZvaWQge1xuXHRcdGNvbnN0IGluUHJvZ3Jlc3MgPVxuXHRcdFx0dGhpcy5idWlBd2FpdCA9PT0gdHJ1ZSB8fCAodHlwZW9mIHRoaXMuYnVpQXdhaXQgPT09ICdvYmplY3QnICYmICF0aGlzLmJ1aUF3YWl0IS5jbG9zZWQpIHx8IHRoaXMuX2lzRGV0ZXJtaW5hdGU7XG5cdFx0aWYgKGluUHJvZ3Jlc3MgIT09IHRoaXMuX3Byb2Nlc3NpbmcpIHtcblx0XHRcdHRoaXMuX3Byb2Nlc3NpbmcgPSBpblByb2dyZXNzO1xuXHRcdFx0dGhpcy5fc3RhdHVzQ2hhbmdlZCh0aGlzLl9pc0RldGVybWluYXRlID8gJ2RldGVybWluYXRlJyA6ICdpbmRldGVybWluYXRlJyk7XG5cdFx0fVxuXHRcdGlmICh0aGlzLl9pc0RldGVybWluYXRlICYmIHRoaXMuX3NwaW5uZXJSZWYpIHtcblx0XHRcdHRoaXMuX3NwaW5uZXJSZWYuc2V0SW5wdXQoJ3ZhbHVlJywgdGhpcy5idWlBd2FpdCk7XG5cdFx0fVxuXHR9XG5cblx0LyoqIEBpZ25vcmUgKi9cblx0cHJpdmF0ZSBnZXQgX2lzRGV0ZXJtaW5hdGUoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHR5cGVvZiB0aGlzLmJ1aUF3YWl0ID09PSAnbnVtYmVyJyAmJiB0aGlzLmJ1aUF3YWl0ID49IDAgJiYgdGhpcy5idWlBd2FpdCA8IDEwMDtcblx0fVxuXG5cdHByaXZhdGUgX3N0YXR1c0NoYW5nZWQobW9kZTogUHJvZ3Jlc3NTcGlubmVyTW9kZSkge1xuXHRcdGlmICh0aGlzLmJ1dHRvbikge1xuXHRcdFx0dGhpcy5idXR0b24uZGlzYWJsZWQgPSB0aGlzLl9wcm9jZXNzaW5nO1xuXG5cdFx0XHRpZiAodGhpcy5fcHJvY2Vzc2luZykge1xuXHRcdFx0XHR0aGlzLl9zcGlubmVyUmVmID0gdGhpcy5fdmlld0NvbnQuY3JlYXRlQ29tcG9uZW50KE1hdFByb2dyZXNzU3Bpbm5lcik7XG5cdFx0XHRcdGNvbnN0IGMgPSB0aGlzLl9zcGlubmVyUmVmLmluc3RhbmNlO1xuXHRcdFx0XHRjLmRpYW1ldGVyID0gdGhpcy5idWlBd2FpdERpYW1ldGVyO1xuXHRcdFx0XHRjLm1vZGUgPSBtb2RlO1xuXHRcdFx0XHRjLmNvbG9yID0gdGhpcy5idXR0b24uY29sb3I7XG5cdFx0XHRcdGNvbnN0IGU6IEhUTUxFbGVtZW50ID0gdGhpcy5fc3Bpbm5lclJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50O1xuXHRcdFx0XHRlLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsIHRoaXMuYnVpQXdhaXRBcmlhTGFiZWwpO1xuXHRcdFx0XHR0aGlzLl9vdmVybGF5RWwhLmFwcGVuZENoaWxkKGUpO1xuXHRcdFx0XHR0aGlzLl9jYXB0aW9uV3JhcHBlciEuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dGhpcy5fY2FwdGlvbldyYXBwZXIhLnN0eWxlLnZpc2liaWxpdHkgPSAnJztcblx0XHRcdFx0dGhpcy5fc3Bpbm5lclJlZiEuZGVzdHJveSgpO1xuXHRcdFx0XHR0aGlzLl9zcGlubmVyUmVmID0gdW5kZWZpbmVkO1xuXHRcdFx0XHR0aGlzLl9vdmVybGF5RWwhLmlubmVySFRNTCA9ICcnO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIl19
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdhaXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvYmVoYXZpb3IvYXdhaXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBR04sU0FBUyxFQUdULE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUVSLE1BQU0sZUFBZSxDQUFDO0FBVXZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBdUIsTUFBTSxvQ0FBb0MsQ0FBQzs7O0FBRzdGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUlILE1BQU0sT0FBTyxjQUFjO0lBcUMxQixZQUNrQixLQUE4QixFQUMxQixPQUFrQixFQUNsQixXQUEwQixFQUMxQixXQUEwQixFQUMxQixJQUFrQixFQUNsQixVQUF3QixFQUN4QixRQUEwQixFQUMxQixjQUFnQyxFQUNsQixHQUFhLEVBQ3hDLFNBQTJCO1FBVGxCLFVBQUssR0FBTCxLQUFLLENBQXlCO1FBQzFCLFlBQU8sR0FBUCxPQUFPLENBQVc7UUFDbEIsZ0JBQVcsR0FBWCxXQUFXLENBQWU7UUFDMUIsZ0JBQVcsR0FBWCxXQUFXLENBQWU7UUFDMUIsU0FBSSxHQUFKLElBQUksQ0FBYztRQUNsQixlQUFVLEdBQVYsVUFBVSxDQUFjO1FBQ3hCLGFBQVEsR0FBUixRQUFRLENBQWtCO1FBQzFCLG1CQUFjLEdBQWQsY0FBYyxDQUFrQjtRQUNsQixRQUFHLEdBQUgsR0FBRyxDQUFVO1FBQ3hDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBaENwQyxxRkFBcUY7UUFFckYsc0JBQWlCLEdBQUcsYUFBYSxDQUFDO1FBRWxDLDBFQUEwRTtRQUUxRSxxQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFHZCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQXlCM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLElBQUks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LENBQUMsZUFBZ0IsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQzthQUNsRDtpQkFBTTtnQkFDTixJQUFJLENBQUMsZUFBZ0IsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztnQkFDNUMsSUFBSSxDQUFDLFdBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxVQUFXLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQzthQUNoQztTQUNEO0lBQ0YsQ0FBQzsrR0EzR1csY0FBYyx1V0E4Q2pCLFFBQVE7bUdBOUNMLGNBQWM7OzRGQUFkLGNBQWM7a0JBSDFCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLFlBQVk7aUJBQ3RCOzswQkF3Q0UsUUFBUTs7MEJBQ1IsUUFBUTs7MEJBQ1IsUUFBUTs7MEJBQ1IsUUFBUTs7MEJBQ1IsUUFBUTs7MEJBQ1IsUUFBUTs7MEJBQ1IsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxRQUFRO3dFQWpDakIsUUFBUTtzQkFEUCxLQUFLO2dCQUtOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFLTixnQkFBZ0I7c0JBRGYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuXHRBZnRlclZpZXdJbml0LFxyXG5cdENvbXBvbmVudFJlZixcclxuXHREaXJlY3RpdmUsXHJcblx0RG9DaGVjayxcclxuXHRFbGVtZW50UmVmLFxyXG5cdEluamVjdCxcclxuXHRJbnB1dCxcclxuXHRPcHRpb25hbCxcclxuXHRWaWV3Q29udGFpbmVyUmVmXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcblx0TWF0QnV0dG9uLFxyXG5cdE1hdEZhYkFuY2hvcixcclxuXHRNYXRGYWJCdXR0b24sXHJcblx0TWF0SWNvbkFuY2hvcixcclxuXHRNYXRJY29uQnV0dG9uLFxyXG5cdE1hdE1pbmlGYWJBbmNob3IsXHJcblx0TWF0TWluaUZhYkJ1dHRvblxyXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lciwgUHJvZ3Jlc3NTcGlubmVyTW9kZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuXHJcbi8qKlxyXG4gKiBVc2UgdGhpcyBkaXJlY3RpdmUgb24gYSBgTWF0QnV0dG9uYCBlbGVtZW50IHRvIHByb3ZpZGUgYW4gYWx0ZXJuYXRpdmUgdmlldyB3aGVuIGFuIGFzeW5jIG9wZXJhdGlvbiBpcyBpbiBwcm9ncmVzcy5cclxuICpcclxuICogRm9yIGV4YW1wbGU6XHJcbiAqXHJcbiAqIGBgYFxyXG4gKiA8YnV0dG9uIChjbGljayk9XCJzdWJtaXQoKTtcIiBbYnVpQXdhaXRdPVwic3VibWl0U3Vic2NyaXB0aW9uXCIgYnVpQXdhaXRBcmlhTGFiZWw9XCJzdWJtaXR0aW5nXCI+U3VibWl0PC9idXR0b24+XHJcbiAqIGBgYFxyXG4gKlxyXG4gKiBQbGVhc2UgcmVmZXIgdG8gW01hdGVyaWFsIERlc2lnbl0oaHR0cHM6Ly9tYXRlcmlhbC5pby9jb21wb25lbnRzL3Byb2dyZXNzLWluZGljYXRvcnMjY2lyY3VsYXItcHJvZ3Jlc3MtaW5kaWNhdG9ycylcclxuICogZm9yIG1vcmUgZGV0YWlscyBvZiBpbnRlZ3JhdGluZyBjaXJjdWxhciBzcGlubmVyIGNvbXBvbmVudCB3aXRoIGFjdGlvbiBidXR0b25zLlxyXG4gKlxyXG4gKiBUaGUgb3BlcmF0aW9uIGlzIGNvbnNpZGVyZWQgJ2luIHByb2dyZXNzJyB3aGVuIHRoZSBib3VuZCBwcm9wZXJ0eSBgYnVpQXdhaXRgIGV2YWx1YXRlcyB0b1xyXG4gKlxyXG4gKiAtIGB0cnVlYDsgb3JcclxuICogLSBhIGBudW1iZXJgIHdpdGhpbiAwIC0gMTAwOyBvclxyXG4gKiAtIGFuIGluc3RhbmNlIG9mIGByeGpzL1N1YnNjcmlwdGlvbmAgYW5kIGBidWlBd2FpdC5jbG9zZWRgIGlzIGZhbHN5XHJcbiAqXHJcbiAqIFdoZW4gaW4gcHJvZ3Jlc3NcclxuICpcclxuICogLSB0aGUgYnV0dG9uJ3MgY2FwdGlvbiB3aWxsIGJlIGhpZGRlbjtcclxuICogLSBhIGA8bWF0LXByb2dyZXNzLXNwaW5uZXI+YCB3aWxsIGJlIGRpc3BsYXllZCBpbiBwbGFjZSBvZiB0aGUgY2FwdGlvbjtcclxuICogLSB0aGUgYnV0dG9uIHdpbGwgYmUgZGlzYWJsZWQgYnkgc2V0dGluZyB0aGUgcHJvcGVydHkgYGRpc2FibGVkYCBvZiB0aGUgYE1hdEJ1dHRvbmAgaW5zdGFuY2UuXHJcbiAqL1xyXG5ARGlyZWN0aXZlKHtcclxuXHRzZWxlY3RvcjogJ1tidWlBd2FpdF0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBd2FpdERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIERvQ2hlY2sge1xyXG5cdC8qKlxyXG5cdCAqIEluZGljYXRlcyB0aGUgYGluIHByb2dyZXNzYCBzdGF0dXMgb2YgYW4gYXN5bmMgb3BlcmF0aW9uLlxyXG5cdCAqXHJcblx0ICogVGhlIG9wZXJhdGlvbiBpcyBjb25zaWRlcmVkICdpbiBwcm9ncmVzcycgd2hlbiB0aGUgcHJvcGVydHkgZXZhbHVhdGVzIHRvXHJcblx0ICpcclxuXHQgKiAtIGB0cnVlYDsgb3JcclxuXHQgKiAtIGEgYG51bWJlcmAgd2l0aGluIDAgLSAxMDA7IG9yXHJcblx0ICogLSBhbiBpbnN0YW5jZSBvZiBgcnhqcy9TdWJzY3JpcHRpb25gIGFuZCBgYnVpQXdhaXQuY2xvc2VkYCBpcyBmYWxzeVxyXG5cdCAqXHJcblx0ICogV2hlbiBpdCBpcyBhIG51bWJlciwgaXQgcmVwcmVzZXRzIHRoZSBwcm9ncmVzcyBpbiBwZXJjZW50YWdlIHRlcm0uXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRidWlBd2FpdDogbnVsbCB8IHVuZGVmaW5lZCB8IGJvb2xlYW4gfCBTdWJzY3JpcHRpb24gfCBudW1iZXI7XHJcblxyXG5cdC8qKiBUaGUgQVJJQSBsYWJlbCB0byBiZSBwdXQgb24gdGhlIHNwaW5uZXIuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGBcIkluIHByb2dyZXNzXCJgLiAqL1xyXG5cdEBJbnB1dCgpXHJcblx0YnVpQXdhaXRBcmlhTGFiZWwgPSAnSW4gcHJvZ3Jlc3MnO1xyXG5cclxuXHQvKiogVGhlIGRpYW1ldGVyIG9mIHRoZSBpbi1wcm9ncmVzcyBzcGlubmVyLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBgMjBgLiAqL1xyXG5cdEBJbnB1dCgpXHJcblx0YnVpQXdhaXREaWFtZXRlciA9IDIwO1xyXG5cclxuXHRwcml2YXRlIF9vdmVybGF5RWw6IEhUTUxEaXZFbGVtZW50IHwgdW5kZWZpbmVkO1xyXG5cdHByaXZhdGUgX3Byb2Nlc3NpbmcgPSBmYWxzZTtcclxuXHRwcml2YXRlIF9zcGlubmVyUmVmOiBDb21wb25lbnRSZWY8TWF0UHJvZ3Jlc3NTcGlubmVyPiB8IHVuZGVmaW5lZDtcclxuXHRwcml2YXRlIF9jYXB0aW9uV3JhcHBlcjogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQ7XHJcblx0cHJpdmF0ZSBidXR0b246XHJcblx0XHR8IE1hdEJ1dHRvblxyXG5cdFx0fCBNYXRJY29uQnV0dG9uXHJcblx0XHR8IE1hdEljb25BbmNob3JcclxuXHRcdHwgTWF0RmFiQnV0dG9uXHJcblx0XHR8IE1hdEZhYkFuY2hvclxyXG5cdFx0fCBNYXRNaW5pRmFiQnV0dG9uXHJcblx0XHR8IE1hdE1pbmlGYWJBbmNob3JcclxuXHRcdHwgdW5kZWZpbmVkO1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgcmVhZG9ubHkgX2VSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxyXG5cdFx0QE9wdGlvbmFsKCkgcmVhZG9ubHkgX2J1dHRvbjogTWF0QnV0dG9uLFxyXG5cdFx0QE9wdGlvbmFsKCkgcmVhZG9ubHkgX2ljb25CdXR0b246IE1hdEljb25CdXR0b24sXHJcblx0XHRAT3B0aW9uYWwoKSByZWFkb25seSBfaWNvbkFuY2hvcjogTWF0SWNvbkFuY2hvcixcclxuXHRcdEBPcHRpb25hbCgpIHJlYWRvbmx5IF9mYWI6IE1hdEZhYkJ1dHRvbixcclxuXHRcdEBPcHRpb25hbCgpIHJlYWRvbmx5IF9mYWJBbmNob3I6IE1hdEZhYkFuY2hvcixcclxuXHRcdEBPcHRpb25hbCgpIHJlYWRvbmx5IF9taW5pRmFiOiBNYXRNaW5pRmFiQnV0dG9uLFxyXG5cdFx0QE9wdGlvbmFsKCkgcmVhZG9ubHkgX21pbmlGYWJBbmNob3I6IE1hdE1pbmlGYWJBbmNob3IsXHJcblx0XHRASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIHJlYWRvbmx5IGRvYzogRG9jdW1lbnQsXHJcblx0XHRwcml2YXRlIF92aWV3Q29udDogVmlld0NvbnRhaW5lclJlZlxyXG5cdCkge1xyXG5cdFx0dGhpcy5idXR0b24gPSBfYnV0dG9uIHx8IF9pY29uQnV0dG9uIHx8IF9pY29uQW5jaG9yIHx8IF9mYWIgfHwgX2ZhYkFuY2hvciB8fCBfbWluaUZhYiB8fCBfbWluaUZhYkFuY2hvcjtcclxuXHRcdGlmICghdGhpcy5idXR0b24pIHtcclxuXHRcdFx0Y29uc29sZS5lcnJvcignW2J1aUF3YWl0XSBjYW4gb25seSBiZSB1c2VkIG9uIGEgTWF0ZXJpYWwgYnV0dG9uLicpO1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKiogQGlnbm9yZSAqL1xyXG5cdG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuXHRcdGlmICh0aGlzLmJ1dHRvbikge1xyXG5cdFx0XHR0aGlzLl9vdmVybGF5RWwgPSB0aGlzLmRvYy5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuXHRcdFx0dGhpcy5fZVJlZi5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX292ZXJsYXlFbCk7XHJcblx0XHRcdHRoaXMuX292ZXJsYXlFbC5jbGFzc0xpc3QuYWRkKCdidWktYXdhaXQtb3ZlcmxheScpO1xyXG5cdFx0XHR0aGlzLl9vdmVybGF5RWwuc3R5bGUuY3NzVGV4dCA9XHJcblx0XHRcdFx0J2Rpc3BsYXk6ZmxleDsgcG9zaXRpb246YWJzb2x1dGU7IHRvcDowOyByaWdodDowOyBib3R0b206MDsgbGVmdDowOyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcic7XHJcblx0XHRcdHRoaXMuX2NhcHRpb25XcmFwcGVyID0gdGhpcy5fZVJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5tZGMtYnV0dG9uX19sYWJlbCwubWF0LWljb24nKSBhcyBIVE1MRWxlbWVudDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKiBAaWdub3JlICovXHJcblx0bmdEb0NoZWNrKCk6IHZvaWQge1xyXG5cdFx0Y29uc3QgaW5Qcm9ncmVzcyA9XHJcblx0XHRcdHRoaXMuYnVpQXdhaXQgPT09IHRydWUgfHwgKHR5cGVvZiB0aGlzLmJ1aUF3YWl0ID09PSAnb2JqZWN0JyAmJiAhdGhpcy5idWlBd2FpdCEuY2xvc2VkKSB8fCB0aGlzLl9pc0RldGVybWluYXRlO1xyXG5cdFx0aWYgKGluUHJvZ3Jlc3MgIT09IHRoaXMuX3Byb2Nlc3NpbmcpIHtcclxuXHRcdFx0dGhpcy5fcHJvY2Vzc2luZyA9IGluUHJvZ3Jlc3M7XHJcblx0XHRcdHRoaXMuX3N0YXR1c0NoYW5nZWQodGhpcy5faXNEZXRlcm1pbmF0ZSA/ICdkZXRlcm1pbmF0ZScgOiAnaW5kZXRlcm1pbmF0ZScpO1xyXG5cdFx0fVxyXG5cdFx0aWYgKHRoaXMuX2lzRGV0ZXJtaW5hdGUgJiYgdGhpcy5fc3Bpbm5lclJlZikge1xyXG5cdFx0XHR0aGlzLl9zcGlubmVyUmVmLnNldElucHV0KCd2YWx1ZScsIHRoaXMuYnVpQXdhaXQpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqIEBpZ25vcmUgKi9cclxuXHRwcml2YXRlIGdldCBfaXNEZXRlcm1pbmF0ZSgpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0eXBlb2YgdGhpcy5idWlBd2FpdCA9PT0gJ251bWJlcicgJiYgdGhpcy5idWlBd2FpdCA+PSAwICYmIHRoaXMuYnVpQXdhaXQgPCAxMDA7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9zdGF0dXNDaGFuZ2VkKG1vZGU6IFByb2dyZXNzU3Bpbm5lck1vZGUpIHtcclxuXHRcdGlmICh0aGlzLmJ1dHRvbikge1xyXG5cdFx0XHR0aGlzLmJ1dHRvbi5kaXNhYmxlZCA9IHRoaXMuX3Byb2Nlc3Npbmc7XHJcblxyXG5cdFx0XHRpZiAodGhpcy5fcHJvY2Vzc2luZykge1xyXG5cdFx0XHRcdHRoaXMuX3NwaW5uZXJSZWYgPSB0aGlzLl92aWV3Q29udC5jcmVhdGVDb21wb25lbnQoTWF0UHJvZ3Jlc3NTcGlubmVyKTtcclxuXHRcdFx0XHRjb25zdCBjID0gdGhpcy5fc3Bpbm5lclJlZi5pbnN0YW5jZTtcclxuXHRcdFx0XHRjLmRpYW1ldGVyID0gdGhpcy5idWlBd2FpdERpYW1ldGVyO1xyXG5cdFx0XHRcdGMubW9kZSA9IG1vZGU7XHJcblx0XHRcdFx0Yy5jb2xvciA9IHRoaXMuYnV0dG9uLmNvbG9yO1xyXG5cdFx0XHRcdGNvbnN0IGU6IEhUTUxFbGVtZW50ID0gdGhpcy5fc3Bpbm5lclJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50O1xyXG5cdFx0XHRcdGUuc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJywgdGhpcy5idWlBd2FpdEFyaWFMYWJlbCk7XHJcblx0XHRcdFx0dGhpcy5fb3ZlcmxheUVsIS5hcHBlbmRDaGlsZChlKTtcclxuXHRcdFx0XHR0aGlzLl9jYXB0aW9uV3JhcHBlciEuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdHRoaXMuX2NhcHRpb25XcmFwcGVyIS5zdHlsZS52aXNpYmlsaXR5ID0gJyc7XHJcblx0XHRcdFx0dGhpcy5fc3Bpbm5lclJlZiEuZGVzdHJveSgpO1xyXG5cdFx0XHRcdHRoaXMuX3NwaW5uZXJSZWYgPSB1bmRlZmluZWQ7XHJcblx0XHRcdFx0dGhpcy5fb3ZlcmxheUVsIS5pbm5lckhUTUwgPSAnJztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { SizingDirective } from './sizing.directive';
|
|
4
|
+
import { SizingMonitorDirective } from './sizing-monitor.directive';
|
|
5
|
+
import { AwaitDirective } from './await.directive';
|
|
6
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
7
|
+
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
8
|
+
import { ObserveContentClassDirective } from './observe-content-class.directive';
|
|
9
|
+
import { ObserversModule } from '@angular/cdk/observers';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
/**
|
|
12
|
+
* For functionality that cannot be easily achieved via CSS.
|
|
13
|
+
*/
|
|
14
|
+
export class BehaviorModule {
|
|
15
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BehaviorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
16
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: BehaviorModule, declarations: [SizingDirective, SizingMonitorDirective, AwaitDirective, ObserveContentClassDirective], imports: [CommonModule, MatButtonModule, MatProgressSpinnerModule, ObserversModule], exports: [SizingDirective,
|
|
17
|
+
SizingMonitorDirective,
|
|
18
|
+
AwaitDirective,
|
|
19
|
+
MatProgressSpinnerModule,
|
|
20
|
+
ObserveContentClassDirective] }); }
|
|
21
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BehaviorModule, imports: [CommonModule, MatButtonModule, MatProgressSpinnerModule, ObserversModule, MatProgressSpinnerModule] }); }
|
|
22
|
+
}
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BehaviorModule, decorators: [{
|
|
24
|
+
type: NgModule,
|
|
25
|
+
args: [{
|
|
26
|
+
declarations: [SizingDirective, SizingMonitorDirective, AwaitDirective, ObserveContentClassDirective],
|
|
27
|
+
imports: [CommonModule, MatButtonModule, MatProgressSpinnerModule, ObserversModule],
|
|
28
|
+
exports: [
|
|
29
|
+
SizingDirective,
|
|
30
|
+
SizingMonitorDirective,
|
|
31
|
+
AwaitDirective,
|
|
32
|
+
MatProgressSpinnerModule,
|
|
33
|
+
ObserveContentClassDirective
|
|
34
|
+
]
|
|
35
|
+
}]
|
|
36
|
+
}] });
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoYXZpb3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvYmVoYXZpb3IvYmVoYXZpb3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFFekQ7O0dBRUc7QUFZSCxNQUFNLE9BQU8sY0FBYzsrR0FBZCxjQUFjO2dIQUFkLGNBQWMsaUJBVlgsZUFBZSxFQUFFLHNCQUFzQixFQUFFLGNBQWMsRUFBRSw0QkFBNEIsYUFDMUYsWUFBWSxFQUFFLGVBQWUsRUFBRSx3QkFBd0IsRUFBRSxlQUFlLGFBRWpGLGVBQWU7WUFDZixzQkFBc0I7WUFDdEIsY0FBYztZQUNkLHdCQUF3QjtZQUN4Qiw0QkFBNEI7Z0hBR2pCLGNBQWMsWUFUaEIsWUFBWSxFQUFFLGVBQWUsRUFBRSx3QkFBd0IsRUFBRSxlQUFlLEVBS2pGLHdCQUF3Qjs7NEZBSWIsY0FBYztrQkFYMUIsUUFBUTttQkFBQztvQkFDVCxZQUFZLEVBQUUsQ0FBQyxlQUFlLEVBQUUsc0JBQXNCLEVBQUUsY0FBYyxFQUFFLDRCQUE0QixDQUFDO29CQUNyRyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLHdCQUF3QixFQUFFLGVBQWUsQ0FBQztvQkFDbkYsT0FBTyxFQUFFO3dCQUNSLGVBQWU7d0JBQ2Ysc0JBQXNCO3dCQUN0QixjQUFjO3dCQUNkLHdCQUF3Qjt3QkFDeEIsNEJBQTRCO3FCQUM1QjtpQkFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFNpemluZ0RpcmVjdGl2ZSB9IGZyb20gJy4vc2l6aW5nLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFNpemluZ01vbml0b3JEaXJlY3RpdmUgfSBmcm9tICcuL3NpemluZy1tb25pdG9yLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEF3YWl0RGlyZWN0aXZlIH0gZnJvbSAnLi9hd2FpdC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcclxuaW1wb3J0IHsgT2JzZXJ2ZUNvbnRlbnRDbGFzc0RpcmVjdGl2ZSB9IGZyb20gJy4vb2JzZXJ2ZS1jb250ZW50LWNsYXNzLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE9ic2VydmVyc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vYnNlcnZlcnMnO1xyXG5cclxuLyoqXHJcbiAqICBGb3IgZnVuY3Rpb25hbGl0eSB0aGF0IGNhbm5vdCBiZSBlYXNpbHkgYWNoaWV2ZWQgdmlhIENTUy5cclxuICovXHJcbkBOZ01vZHVsZSh7XHJcblx0ZGVjbGFyYXRpb25zOiBbU2l6aW5nRGlyZWN0aXZlLCBTaXppbmdNb25pdG9yRGlyZWN0aXZlLCBBd2FpdERpcmVjdGl2ZSwgT2JzZXJ2ZUNvbnRlbnRDbGFzc0RpcmVjdGl2ZV0sXHJcblx0aW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsIE9ic2VydmVyc01vZHVsZV0sXHJcblx0ZXhwb3J0czogW1xyXG5cdFx0U2l6aW5nRGlyZWN0aXZlLFxyXG5cdFx0U2l6aW5nTW9uaXRvckRpcmVjdGl2ZSxcclxuXHRcdEF3YWl0RGlyZWN0aXZlLFxyXG5cdFx0TWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxyXG5cdFx0T2JzZXJ2ZUNvbnRlbnRDbGFzc0RpcmVjdGl2ZVxyXG5cdF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEJlaGF2aW9yTW9kdWxlIHt9XHJcbiJdfQ==
|
|
@@ -39,15 +39,15 @@ export class ObserveContentClassDirective {
|
|
|
39
39
|
this.classToRemove.push(...classes);
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ObserveContentClassDirective, deps: [{ token: i1.ContentObserver }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
43
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ObserveContentClassDirective, selector: "[bui-class.empty],[bui-class.not-empty],[bui-class.no-text],[bui-class.has-text]", inputs: { classEmpty: ["bui-class.empty", "classEmpty"], classNotEmpty: ["bui-class.not-empty", "classNotEmpty"], classNoText: ["bui-class.no-text", "classNoText"], classHasText: ["bui-class.has-text", "classHasText"] }, ngImport: i0 }); }
|
|
42
44
|
}
|
|
43
|
-
|
|
44
|
-
ObserveContentClassDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.6", type: ObserveContentClassDirective, selector: "[bui-class.empty],[bui-class.not-empty],[bui-class.no-text],[bui-class.has-text]", inputs: { classEmpty: ["bui-class.empty", "classEmpty"], classNotEmpty: ["bui-class.not-empty", "classNotEmpty"], classNoText: ["bui-class.no-text", "classNoText"], classHasText: ["bui-class.has-text", "classHasText"] }, ngImport: i0 });
|
|
45
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: ObserveContentClassDirective, decorators: [{
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ObserveContentClassDirective, decorators: [{
|
|
46
46
|
type: Directive,
|
|
47
47
|
args: [{
|
|
48
48
|
selector: '[bui-class.empty],[bui-class.not-empty],[bui-class.no-text],[bui-class.has-text]'
|
|
49
49
|
}]
|
|
50
|
-
}], ctorParameters:
|
|
50
|
+
}], ctorParameters: () => [{ type: i1.ContentObserver }, { type: i0.ElementRef }], propDecorators: { classEmpty: [{
|
|
51
51
|
type: Input,
|
|
52
52
|
args: ['bui-class.empty']
|
|
53
53
|
}], classNotEmpty: [{
|
|
@@ -60,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImpor
|
|
|
60
60
|
type: Input,
|
|
61
61
|
args: ['bui-class.has-text']
|
|
62
62
|
}] } });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2ZS1jb250ZW50LWNsYXNzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL2JlaGF2aW9yL29ic2VydmUtY29udGVudC1jbGFzcy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDOzs7QUFHaEY7Ozs7Ozs7O0dBUUc7QUFJSCxNQUFNLE9BQU8sNEJBQTRCO0lBaUJ4QyxZQUFZLFFBQXlCLEVBQUUsVUFBbUM7UUFkbEUsa0JBQWEsR0FBYSxFQUFFLENBQUM7UUFlcEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVELFFBQVE7UUFDUCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsV0FBVztRQUNWLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVPLFVBQVU7UUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxjQUFjLENBQ2xCLElBQUksQ0FBQyxVQUFVLEVBQ2YsSUFBSSxDQUFDLGFBQWEsRUFDbEIsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FDL0UsQ0FBQztRQUNGLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNuRyxDQUFDO0lBRU8sY0FBYyxDQUNyQixZQUF1QyxFQUN2QyxTQUFvQyxFQUNwQyxTQUF3QjtRQUV4QixNQUFNLE9BQU8sR0FBRyxTQUFTLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBRSxTQUFpQixDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVPLFFBQVEsQ0FBQyxHQUFrQjtRQUNsQyxJQUFJLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUNoQixNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUM7U0FDcEM7SUFDRixDQUFDOytHQXhEVyw0QkFBNEI7bUdBQTVCLDRCQUE0Qjs7NEZBQTVCLDRCQUE0QjtrQkFIeEMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsa0ZBQWtGO2lCQUM1Rjs2R0FPUSxVQUFVO3NCQURqQixLQUFLO3VCQUFDLGlCQUFpQjtnQkFJaEIsYUFBYTtzQkFEcEIsS0FBSzt1QkFBQyxxQkFBcUI7Z0JBSXBCLFdBQVc7c0JBRGxCLEtBQUs7dUJBQUMsbUJBQW1CO2dCQUlsQixZQUFZO3NCQURuQixLQUFLO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRlbnRPYnNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vYnNlcnZlcnMnO1xyXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuXHJcbi8qKlxyXG4gKiBVc2UgYFtidWktY2xhc3Mubm90LWVtcHR5XWAgdG8gc3BlY2lmeSBhIHN0eWxlIGNsYXNzIGFjdGl2YXRlZCBvbmx5IHdoZW4gdGhlIGhvc3QgZWxlbWVudCBoYXMgRE9NIGNoaWxkcmVuO1xyXG4gKlxyXG4gKiB1c2UgYFtidWktY2xhc3MuZW1wdHldYCBmb3IgYSBzdHlsZSBjbGFzcyBhY3RpdmF0ZWQgd2hlbiBpdCBoYXMgbm8gRE9NIGNoaWxkcmVuLlxyXG4gKlxyXG4gKiBVc2UgYFtidWktY2xhc3Mubm8tdGV4dF1gIHRvIHNwZWNpZnkgYSBzdHlsZSBjbGFzcyBhY3RpdmF0ZWQgb25seSB3aGVuIHRoZSBob3N0IGVsZW1lbnQgaGFzIHRleHQgY29udGVudDtcclxuICpcclxuICogdXNlIGBbYnVpLWNsYXNzLmhhcy10ZXh0XWAgZm9yIGEgc3R5bGUgY2xhc3MgYWN0aXZhdGVkIHdoZW4gaXQgaGFzIG5vIHRleHQgY29udGVudC5cclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG5cdHNlbGVjdG9yOiAnW2J1aS1jbGFzcy5lbXB0eV0sW2J1aS1jbGFzcy5ub3QtZW1wdHldLFtidWktY2xhc3Mubm8tdGV4dF0sW2J1aS1jbGFzcy5oYXMtdGV4dF0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPYnNlcnZlQ29udGVudENsYXNzRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xyXG5cdHByaXZhdGUgcmVhZG9ubHkgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblx0cHJpdmF0ZSByZWFkb25seSBlbGVtZW50OiBIVE1MRWxlbWVudDtcclxuXHRwcml2YXRlIGNsYXNzVG9SZW1vdmU6IHN0cmluZ1tdID0gW107XHJcblxyXG5cdEBJbnB1dCgnYnVpLWNsYXNzLmVtcHR5JylcclxuXHRwcml2YXRlIGNsYXNzRW1wdHk/OiBzdHJpbmc7XHJcblxyXG5cdEBJbnB1dCgnYnVpLWNsYXNzLm5vdC1lbXB0eScpXHJcblx0cHJpdmF0ZSBjbGFzc05vdEVtcHR5Pzogc3RyaW5nO1xyXG5cclxuXHRASW5wdXQoJ2J1aS1jbGFzcy5uby10ZXh0JylcclxuXHRwcml2YXRlIGNsYXNzTm9UZXh0Pzogc3RyaW5nO1xyXG5cclxuXHRASW5wdXQoJ2J1aS1jbGFzcy5oYXMtdGV4dCcpXHJcblx0cHJpdmF0ZSBjbGFzc0hhc1RleHQ/OiBzdHJpbmc7XHJcblxyXG5cdGNvbnN0cnVjdG9yKG9ic2VydmVyOiBDb250ZW50T2JzZXJ2ZXIsIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XHJcblx0XHR0aGlzLmVsZW1lbnQgPSBlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XHJcblx0XHR0aGlzLnN1YnNjcmlwdGlvbiA9IG9ic2VydmVyLm9ic2VydmUoZWxlbWVudFJlZikuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2hlY2tDbGFzcygpKTtcclxuXHR9XHJcblxyXG5cdG5nT25Jbml0KCk6IHZvaWQge1xyXG5cdFx0dGhpcy5jaGVja0NsYXNzLmJpbmQodGhpcyk7XHJcblx0fVxyXG5cclxuXHRuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuXHRcdHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGNoZWNrQ2xhc3MoKTogdm9pZCB7XHJcblx0XHR0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSguLi50aGlzLmNsYXNzVG9SZW1vdmUpO1xyXG5cdFx0dGhpcy5jbGFzc1RvUmVtb3ZlID0gW107XHJcblx0XHR0aGlzLmNoZWNrQ2xhc3NXaXRoKFxyXG5cdFx0XHR0aGlzLmNsYXNzRW1wdHksXHJcblx0XHRcdHRoaXMuY2xhc3NOb3RFbXB0eSxcclxuXHRcdFx0KCkgPT4gdGhpcy5lbGVtZW50LmNoaWxkRWxlbWVudENvdW50ID09PSAwICYmICF0aGlzLmVsZW1lbnQudGV4dENvbnRlbnQ/LnRyaW0oKVxyXG5cdFx0KTtcclxuXHRcdHRoaXMuY2hlY2tDbGFzc1dpdGgodGhpcy5jbGFzc05vVGV4dCwgdGhpcy5jbGFzc0hhc1RleHQsICgpID0+ICF0aGlzLmVsZW1lbnQudGV4dENvbnRlbnQ/LnRyaW0oKSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGNoZWNrQ2xhc3NXaXRoKFxyXG5cdFx0d2l0aG91dENsYXNzOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkLFxyXG5cdFx0d2l0aENsYXNzOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkLFxyXG5cdFx0aXNXaXRob3V0OiAoKSA9PiBib29sZWFuXHJcblx0KTogdm9pZCB7XHJcblx0XHRjb25zdCB3aXRob3V0ID0gaXNXaXRob3V0KCk7XHJcblx0XHR0aGlzLmFkZENsYXNzKHdpdGhvdXQgPyB3aXRob3V0Q2xhc3MgOiAod2l0aENsYXNzIGFzIGFueSkpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBhZGRDbGFzcyhjbHM6IHN0cmluZyB8IG51bGwpIHtcclxuXHRcdGlmIChjbHM/LnRyaW0oKSkge1xyXG5cdFx0XHRjb25zdCBjbGFzc2VzID0gY2xzLnRyaW0oKS5zcGxpdCgvXFxzKy8pO1xyXG5cdFx0XHR0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZCguLi5jbGFzc2VzKTtcclxuXHRcdFx0dGhpcy5jbGFzc1RvUmVtb3ZlLnB1c2goLi4uY2xhc3Nlcyk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiJdfQ==
|
|
@@ -3,4 +3,4 @@ export * from './sizing-monitor.directive';
|
|
|
3
3
|
export * from './behavior.module';
|
|
4
4
|
export * from './await.directive';
|
|
5
5
|
export * from './observe-content-class.directive';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL2JlaGF2aW9yL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zaXppbmcuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zaXppbmctbW9uaXRvci5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2JlaGF2aW9yLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vYXdhaXQuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9vYnNlcnZlLWNvbnRlbnQtY2xhc3MuZGlyZWN0aXZlJztcclxuIl19
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Use this directive to designate a target HTML element, based on which the child elements'
|
|
5
|
+
* `[buiSizing]` directives will calculate the sizes.
|
|
6
|
+
*
|
|
7
|
+
* ```html
|
|
8
|
+
* <div [buiSizingMonitor]>
|
|
9
|
+
* <div [buiSizing]="...">
|
|
10
|
+
* </div>
|
|
11
|
+
* <div>
|
|
12
|
+
* <div [buiSizing]="...">
|
|
13
|
+
* </div>
|
|
14
|
+
* </div>
|
|
15
|
+
* <div>
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export class SizingMonitorDirective {
|
|
19
|
+
constructor(element) {
|
|
20
|
+
this.element = element;
|
|
21
|
+
}
|
|
22
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SizingMonitorDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
23
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: SizingMonitorDirective, selector: "[buiSizingMonitor]", ngImport: i0 }); }
|
|
24
|
+
}
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SizingMonitorDirective, decorators: [{
|
|
26
|
+
type: Directive,
|
|
27
|
+
args: [{
|
|
28
|
+
selector: '[buiSizingMonitor]'
|
|
29
|
+
}]
|
|
30
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }] });
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l6aW5nLW1vbml0b3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvYmVoYXZpb3Ivc2l6aW5nLW1vbml0b3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7O0FBRXREOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBSUgsTUFBTSxPQUFPLHNCQUFzQjtJQUNsQyxZQUE0QixPQUFnQztRQUFoQyxZQUFPLEdBQVAsT0FBTyxDQUF5QjtJQUFHLENBQUM7K0dBRHBELHNCQUFzQjttR0FBdEIsc0JBQXNCOzs0RkFBdEIsc0JBQXNCO2tCQUhsQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxvQkFBb0I7aUJBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKipcclxuICogVXNlIHRoaXMgZGlyZWN0aXZlIHRvIGRlc2lnbmF0ZSBhIHRhcmdldCBIVE1MIGVsZW1lbnQsIGJhc2VkIG9uIHdoaWNoIHRoZSBjaGlsZCBlbGVtZW50cydcclxuICogYFtidWlTaXppbmddYCBkaXJlY3RpdmVzIHdpbGwgY2FsY3VsYXRlIHRoZSBzaXplcy5cclxuICpcclxuICogYGBgaHRtbFxyXG4gKiA8ZGl2IFtidWlTaXppbmdNb25pdG9yXT5cclxuICogICAgPGRpdiBbYnVpU2l6aW5nXT1cIi4uLlwiPlxyXG4gKiAgICA8L2Rpdj5cclxuICogICAgPGRpdj5cclxuICogICAgICAgPGRpdiBbYnVpU2l6aW5nXT1cIi4uLlwiPlxyXG4gKiAgICAgICA8L2Rpdj5cclxuICogICAgPC9kaXY+XHJcbiAqIDxkaXY+XHJcbiAqIGBgYFxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcblx0c2VsZWN0b3I6ICdbYnVpU2l6aW5nTW9uaXRvcl0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaXppbmdNb25pdG9yRGlyZWN0aXZlIHtcclxuXHRjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgZWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHt9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
2
|
+
import { DOCUMENT } from '@angular/common';
|
|
3
|
+
import { Directive, EventEmitter, Inject, Input, Optional, Output } from '@angular/core';
|
|
4
|
+
import { debounceTime, take } from 'rxjs/operators';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "./sizing-monitor.directive";
|
|
7
|
+
/**
|
|
8
|
+
* This directive monitors the changes in the width of the `sizingBy` target, and apply specified style
|
|
9
|
+
* classes and/or inline styles to the current element dynamically.
|
|
10
|
+
*
|
|
11
|
+
* In order for the layout engine to efficiently calculate and stabilize the dimensions, the effective style property
|
|
12
|
+
* `box-sizing` of the `sizingBy` target element must be set to `border-box`.
|
|
13
|
+
*
|
|
14
|
+
* The directive uses [ResizeObserver API](https://developer.mozilla.org/en-US/docs/Web/API/Resize_Observer_API)
|
|
15
|
+
* to capture the events of element resizing. Please use a polyfill if you want to support older browsers
|
|
16
|
+
* that do not implement ResizeObserver API.
|
|
17
|
+
*
|
|
18
|
+
* Examples:
|
|
19
|
+
*
|
|
20
|
+
* ```html
|
|
21
|
+
* <div #parentElement>
|
|
22
|
+
* <div [buiSizing]="{'400': 'small', '800': 'medium', '~': 'large'}" [buiSizingBy]="parentElement"></div>
|
|
23
|
+
* <div [buiSizing]="['small', 'medium', 'large']" [buiSizingBy]="'root'"></div>
|
|
24
|
+
* <div [buiSizing]="{'650': 'border-color: #28569', '~': 'bg-muted; border-style: dotted'}" [buiSizingBy]="parentElement"></div>
|
|
25
|
+
* </div>
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export class SizingDirective {
|
|
29
|
+
/**
|
|
30
|
+
* @ignore
|
|
31
|
+
*/
|
|
32
|
+
static { this.defaultSizingBreakpoints = ['400', '800', '~']; }
|
|
33
|
+
/**
|
|
34
|
+
* Designate an element to be monitored for recalculating the style classes of the current element.
|
|
35
|
+
*
|
|
36
|
+
* - `root` specifies the document root or the enclosing shadow host. This is the default value.
|
|
37
|
+
* - `parent` specifies the parent element.
|
|
38
|
+
*
|
|
39
|
+
* @default 'root'
|
|
40
|
+
* @alias sizingBy
|
|
41
|
+
*/
|
|
42
|
+
get buiSizingBy() {
|
|
43
|
+
return this.sizingBy;
|
|
44
|
+
}
|
|
45
|
+
set buiSizingBy(target) {
|
|
46
|
+
this.sizingBy = target;
|
|
47
|
+
}
|
|
48
|
+
constructor(_doc, _defaultTarget, elemRef, _zone) {
|
|
49
|
+
this._doc = _doc;
|
|
50
|
+
this._defaultTarget = _defaultTarget;
|
|
51
|
+
this._zone = _zone;
|
|
52
|
+
/**
|
|
53
|
+
* Specifies the breakpoint widths and the style classes.
|
|
54
|
+
*
|
|
55
|
+
* The sizing spec `{"400": "small", "800": "medium", "~": "large"}` tells the directive to apply
|
|
56
|
+
* a style class `small` when the width of the monitored target is smaller than 400 pixels,
|
|
57
|
+
* `medium` when the width is between 400 and 800 pixels, and `large` when above.
|
|
58
|
+
*
|
|
59
|
+
* @example {'400': 'small', '800': 'medium', '~': 'large'}
|
|
60
|
+
*/
|
|
61
|
+
this.buiSizing = {};
|
|
62
|
+
/**
|
|
63
|
+
* The alias of `buiSizingBy`.
|
|
64
|
+
* @default 'root'
|
|
65
|
+
* @deprecated
|
|
66
|
+
* @ignore
|
|
67
|
+
*/
|
|
68
|
+
this.sizingBy = 'root';
|
|
69
|
+
/**
|
|
70
|
+
* Emits `{width, height}` when the monitor target element resizes.
|
|
71
|
+
*
|
|
72
|
+
* Note that the dimensions emitted are of the [sizingBy] target, but not the current element.
|
|
73
|
+
*/
|
|
74
|
+
this.buiResized = new EventEmitter();
|
|
75
|
+
/**
|
|
76
|
+
* Recalculate the height of this element according to the height of the monitored target.
|
|
77
|
+
*/
|
|
78
|
+
this.buiFixedHeight = false;
|
|
79
|
+
this._sizingSpec = {};
|
|
80
|
+
this._width = 0;
|
|
81
|
+
this._height = 0;
|
|
82
|
+
this._reflowFrameCount = 0;
|
|
83
|
+
this._frameHandlerId = 0;
|
|
84
|
+
this._element = elemRef.nativeElement;
|
|
85
|
+
this._monitorTarget = this._element;
|
|
86
|
+
}
|
|
87
|
+
ngOnChanges(_) {
|
|
88
|
+
const disconnected = this._element.getRootNode() instanceof HTMLElement;
|
|
89
|
+
if (disconnected) {
|
|
90
|
+
// defer shadow detection till dom connection event
|
|
91
|
+
this._zone.onStable.pipe(debounceTime(10), take(1)).subscribe(() => this._initOrReset());
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
this._initOrReset();
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
ngOnDestroy() {
|
|
98
|
+
this._tearDownNodeMonitor();
|
|
99
|
+
}
|
|
100
|
+
_initOrReset() {
|
|
101
|
+
const originalTarget = this._monitorTarget;
|
|
102
|
+
if (this.buiSizingBy instanceof HTMLElement) {
|
|
103
|
+
this._monitorTarget = this.buiSizingBy;
|
|
104
|
+
}
|
|
105
|
+
else if (this._defaultTarget) {
|
|
106
|
+
this._monitorTarget = this._defaultTarget.element.nativeElement;
|
|
107
|
+
}
|
|
108
|
+
else if (this.buiSizingBy === 'root') {
|
|
109
|
+
const root = this._element.getRootNode();
|
|
110
|
+
if (root instanceof ShadowRoot) {
|
|
111
|
+
this._monitorTarget = root.host;
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
this._monitorTarget = this._doc.documentElement;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
this._monitorTarget = this._element.parentElement;
|
|
119
|
+
}
|
|
120
|
+
if (this._monitorTarget != originalTarget) {
|
|
121
|
+
this._setUpNodeMonitor();
|
|
122
|
+
}
|
|
123
|
+
this._sizingSpec = {};
|
|
124
|
+
let spec = this.buiSizing;
|
|
125
|
+
if (typeof spec === 'string') {
|
|
126
|
+
spec = spec.split(',').map(k => k.trim());
|
|
127
|
+
}
|
|
128
|
+
if (Array.isArray(spec)) {
|
|
129
|
+
spec.forEach((c, i) => {
|
|
130
|
+
this._sizingSpec[SizingDirective.defaultSizingBreakpoints[i] || '~'] = c;
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
else if (spec) {
|
|
134
|
+
this._sizingSpec = spec;
|
|
135
|
+
}
|
|
136
|
+
this.buiFixedHeight = coerceBooleanProperty(this.buiFixedHeight);
|
|
137
|
+
this._calculateSize();
|
|
138
|
+
}
|
|
139
|
+
_setUpNodeMonitor() {
|
|
140
|
+
this._tearDownNodeMonitor();
|
|
141
|
+
if (this._monitorTarget) {
|
|
142
|
+
this._observer = new ResizeObserver(() => this._runWithObserver(this._calculateSize.bind(this)));
|
|
143
|
+
this._observer.observe(this._monitorTarget, { box: 'border-box' });
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
_tearDownNodeMonitor() {
|
|
147
|
+
cancelAnimationFrame(this._frameHandlerId);
|
|
148
|
+
this._runWithObserver(() => {
|
|
149
|
+
this._observer.disconnect();
|
|
150
|
+
this._observer = undefined;
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
_runWithObserver(func) {
|
|
154
|
+
if (this._observer) {
|
|
155
|
+
return func();
|
|
156
|
+
}
|
|
157
|
+
return undefined;
|
|
158
|
+
}
|
|
159
|
+
_calculateSize() {
|
|
160
|
+
const widthChanged = this._width !== this._monitorTarget.clientWidth;
|
|
161
|
+
const heightChanged = this._height !== this._monitorTarget.clientHeight;
|
|
162
|
+
if (widthChanged) {
|
|
163
|
+
this._width = this._monitorTarget.clientWidth;
|
|
164
|
+
const bks = Object.keys(this._sizingSpec).sort((a, b) => this._toNumber(a) - this._toNumber(b));
|
|
165
|
+
let found = false;
|
|
166
|
+
for (const key of bks) {
|
|
167
|
+
const classesOrStyles = this._sizingSpec[key].split(/;+/).filter(c => c);
|
|
168
|
+
this._removeClassesOrStyles(classesOrStyles);
|
|
169
|
+
const expectedWidth = this._toNumber(key);
|
|
170
|
+
if (this._width <= expectedWidth && !found) {
|
|
171
|
+
this._applyClassesOrStyles(classesOrStyles);
|
|
172
|
+
found = true;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
if (widthChanged || heightChanged) {
|
|
177
|
+
this._height = this._monitorTarget.clientHeight;
|
|
178
|
+
if (this.buiFixedHeight) {
|
|
179
|
+
this._reflowFrameCount = 0;
|
|
180
|
+
this._reflowHeight();
|
|
181
|
+
}
|
|
182
|
+
setTimeout(() => this._zone.run(() => this.buiResized.emit({ width: this._width, height: this._height })));
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
_applyClassesOrStyles(clsOrStyles) {
|
|
186
|
+
clsOrStyles.forEach(s => {
|
|
187
|
+
if (s.includes(':')) {
|
|
188
|
+
const [prop, val] = s.split(':');
|
|
189
|
+
this._element.style.setProperty(prop.trim(), val.trim());
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
const classes = s.split(/\s+/).filter(c => c);
|
|
193
|
+
if (classes.length) {
|
|
194
|
+
this._element.classList.add(...classes);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
_removeClassesOrStyles(clsOrStyles) {
|
|
200
|
+
clsOrStyles.forEach(s => {
|
|
201
|
+
if (s.includes(':')) {
|
|
202
|
+
const [prop] = s.split(':');
|
|
203
|
+
this._element.style.removeProperty(prop);
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
const classes = s.split(/\s+/).filter(c => c);
|
|
207
|
+
if (classes.length) {
|
|
208
|
+
this._element.classList.remove(...classes);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
_reflowHeight() {
|
|
214
|
+
const cnt = this._reflowFrameCount;
|
|
215
|
+
if (cnt < 15) {
|
|
216
|
+
cancelAnimationFrame(this._frameHandlerId);
|
|
217
|
+
this._frameHandlerId = requestAnimationFrame(this._reflowHeight.bind(this));
|
|
218
|
+
if (cnt === 0) {
|
|
219
|
+
this._element.style.height = '0';
|
|
220
|
+
}
|
|
221
|
+
else if (cnt === 14) {
|
|
222
|
+
const gt = parseInt(getComputedStyle(this._monitorTarget).getPropertyValue('padding-top').replace(/px$/, '') || '0', 10);
|
|
223
|
+
const gb = parseInt(getComputedStyle(this._monitorTarget).getPropertyValue('padding-bottom').replace(/px$/, '') || '0', 10);
|
|
224
|
+
this._element.style.height = `${this._height - gt - gb - 5}px`;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
this._reflowFrameCount++;
|
|
228
|
+
}
|
|
229
|
+
_toNumber(s) {
|
|
230
|
+
return (s === '~' ? Infinity : Number(s)) || -Infinity;
|
|
231
|
+
}
|
|
232
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SizingDirective, deps: [{ token: DOCUMENT }, { token: i1.SizingMonitorDirective, optional: true }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
233
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: SizingDirective, selector: "[buiSizing],[buiResized],[buiSizingBy],[buiFixedHeight]", inputs: { buiSizing: "buiSizing", sizingBy: "sizingBy", buiSizingBy: "buiSizingBy", buiFixedHeight: "buiFixedHeight" }, outputs: { buiResized: "buiResized" }, usesOnChanges: true, ngImport: i0 }); }
|
|
234
|
+
}
|
|
235
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SizingDirective, decorators: [{
|
|
236
|
+
type: Directive,
|
|
237
|
+
args: [{
|
|
238
|
+
selector: '[buiSizing],[buiResized],[buiSizingBy],[buiFixedHeight]'
|
|
239
|
+
}]
|
|
240
|
+
}], ctorParameters: () => [{ type: Document, decorators: [{
|
|
241
|
+
type: Inject,
|
|
242
|
+
args: [DOCUMENT]
|
|
243
|
+
}] }, { type: i1.SizingMonitorDirective, decorators: [{
|
|
244
|
+
type: Optional
|
|
245
|
+
}] }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { buiSizing: [{
|
|
246
|
+
type: Input
|
|
247
|
+
}], sizingBy: [{
|
|
248
|
+
type: Input
|
|
249
|
+
}], buiSizingBy: [{
|
|
250
|
+
type: Input
|
|
251
|
+
}], buiResized: [{
|
|
252
|
+
type: Output
|
|
253
|
+
}], buiFixedHeight: [{
|
|
254
|
+
type: Input
|
|
255
|
+
}] } });
|
|
256
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l6aW5nLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL2JlaGF2aW9yL3NpemluZy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFDTixTQUFTLEVBRVQsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBSUwsUUFBUSxFQUNSLE1BQU0sRUFFTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFHcEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBSUgsTUFBTSxPQUFPLGVBQWU7SUFDM0I7O09BRUc7YUFDSSw2QkFBd0IsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLEFBQXRCLENBQXVCO0lBdUJ0RDs7Ozs7Ozs7T0FRRztJQUNILElBQ0ksV0FBVztRQUNkLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN0QixDQUFDO0lBQ0QsSUFBSSxXQUFXLENBQUMsTUFBdUM7UUFDdEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUM7SUFDeEIsQ0FBQztJQXlCRCxZQUMyQixJQUFjLEVBQ3BCLGNBQXNDLEVBQzFELE9BQWdDLEVBQ3hCLEtBQWE7UUFISyxTQUFJLEdBQUosSUFBSSxDQUFVO1FBQ3BCLG1CQUFjLEdBQWQsY0FBYyxDQUF3QjtRQUVsRCxVQUFLLEdBQUwsS0FBSyxDQUFRO1FBakV0Qjs7Ozs7Ozs7V0FRRztRQUVILGNBQVMsR0FBdUQsRUFBRSxDQUFDO1FBRW5FOzs7OztXQUtHO1FBRUgsYUFBUSxHQUFvQyxNQUFNLENBQUM7UUFtQm5EOzs7O1dBSUc7UUFFSCxlQUFVLEdB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QUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxHQUFHLEVBQ2xHLEVBQUUsQ0FDRixDQUFDO2dCQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQzthQUMvRDtTQUNEO1FBQ0QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVPLFNBQVMsQ0FBQyxDQUFTO1FBQzFCLE9BQU8sQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3hELENBQUM7K0dBN09XLGVBQWUsa0JBb0VsQixRQUFRO21HQXBFTCxlQUFlOzs0RkFBZixlQUFlO2tCQUgzQixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSx5REFBeUQ7aUJBQ25FOzswQkFxRUUsTUFBTTsyQkFBQyxRQUFROzswQkFDZixRQUFRO3VGQXJEVixTQUFTO3NCQURSLEtBQUs7Z0JBVU4sUUFBUTtzQkFEUCxLQUFLO2dCQWFGLFdBQVc7c0JBRGQsS0FBSztnQkFjTixVQUFVO3NCQURULE1BQU07Z0JBT1AsY0FBYztzQkFEYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcclxuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1xyXG5cdERpcmVjdGl2ZSxcclxuXHRFbGVtZW50UmVmLFxyXG5cdEV2ZW50RW1pdHRlcixcclxuXHRJbmplY3QsXHJcblx0SW5wdXQsXHJcblx0Tmdab25lLFxyXG5cdE9uQ2hhbmdlcyxcclxuXHRPbkRlc3Ryb3ksXHJcblx0T3B0aW9uYWwsXHJcblx0T3V0cHV0LFxyXG5cdFNpbXBsZUNoYW5nZXNcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBTaXppbmdNb25pdG9yRGlyZWN0aXZlIH0gZnJvbSAnLi9zaXppbmctbW9uaXRvci5kaXJlY3RpdmUnO1xyXG5cclxuLyoqXHJcbiAqIFRoaXMgZGlyZWN0aXZlIG1vbml0b3JzIHRoZSBjaGFuZ2VzIGluIHRoZSB3aWR0aCBvZiB0aGUgYHNpemluZ0J5YCB0YXJnZXQsIGFuZCBhcHBseSBzcGVjaWZpZWQgc3R5bGVcclxuICogIGNsYXNzZXMgYW5kL29yIGlubGluZSBzdHlsZXMgdG8gdGhlIGN1cnJlbnQgZWxlbWVudCBkeW5hbWljYWxseS5cclxuICpcclxuICogSW4gb3JkZXIgZm9yIHRoZSBsYXlvdXQgZW5naW5lIHRvIGVmZmljaWVudGx5IGNhbGN1bGF0ZSBhbmQgc3RhYmlsaXplIHRoZSBkaW1lbnNpb25zLCB0aGUgZWZmZWN0aXZlIHN0eWxlIHByb3BlcnR5XHJcbiAqIGBib3gtc2l6aW5nYCBvZiB0aGUgYHNpemluZ0J5YCB0YXJnZXQgZWxlbWVudCBtdXN0IGJlIHNldCB0byBgYm9yZGVyLWJveGAuXHJcbiAqXHJcbiAqIFRoZSBkaXJlY3RpdmUgdXNlcyBbUmVzaXplT2JzZXJ2ZXIgQVBJXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvUmVzaXplX09ic2VydmVyX0FQSSlcclxuICogdG8gY2FwdHVyZSB0aGUgZXZlbnRzIG9mIGVsZW1lbnQgcmVzaXppbmcuIFBsZWFzZSB1c2UgYSBwb2x5ZmlsbCBpZiB5b3Ugd2FudCB0byBzdXBwb3J0IG9sZGVyIGJyb3dzZXJzXHJcbiAqIHRoYXQgZG8gbm90IGltcGxlbWVudCBSZXNpemVPYnNlcnZlciBBUEkuXHJcbiAqXHJcbiAqIEV4YW1wbGVzOlxyXG4gKlxyXG4gKiBgYGBodG1sXHJcbiAqIDxkaXYgI3BhcmVudEVsZW1lbnQ+XHJcbiAqICAgPGRpdiBbYnVpU2l6aW5nXT1cInsnNDAwJzogJ3NtYWxsJywgJzgwMCc6ICdtZWRpdW0nLCAnfic6ICdsYXJnZSd9XCIgW2J1aVNpemluZ0J5XT1cInBhcmVudEVsZW1lbnRcIj48L2Rpdj5cclxuICogICA8ZGl2IFtidWlTaXppbmddPVwiWydzbWFsbCcsICdtZWRpdW0nLCAnbGFyZ2UnXVwiIFtidWlTaXppbmdCeV09XCIncm9vdCdcIj48L2Rpdj5cclxuICogICA8ZGl2IFtidWlTaXppbmddPVwieyc2NTAnOiAnYm9yZGVyLWNvbG9yOiAjMjg1NjknLCAnfic6ICdiZy1tdXRlZDsgYm9yZGVyLXN0eWxlOiBkb3R0ZWQnfVwiIFtidWlTaXppbmdCeV09XCJwYXJlbnRFbGVtZW50XCI+PC9kaXY+XHJcbiAqIDwvZGl2PlxyXG4gKiBgYGBcclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG5cdHNlbGVjdG9yOiAnW2J1aVNpemluZ10sW2J1aVJlc2l6ZWRdLFtidWlTaXppbmdCeV0sW2J1aUZpeGVkSGVpZ2h0XSdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNpemluZ0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuXHQvKipcclxuXHQgKiBAaWdub3JlXHJcblx0ICovXHJcblx0c3RhdGljIGRlZmF1bHRTaXppbmdCcmVha3BvaW50cyA9IFsnNDAwJywgJzgwMCcsICd+J107XHJcblxyXG5cdC8qKlxyXG5cdCAqIFNwZWNpZmllcyB0aGUgYnJlYWtwb2ludCB3aWR0aHMgYW5kIHRoZSBzdHlsZSBjbGFzc2VzLlxyXG5cdCAqXHJcblx0ICogVGhlIHNpemluZyBzcGVjIGB7XCI0MDBcIjogXCJzbWFsbFwiLCBcIjgwMFwiOiBcIm1lZGl1bVwiLCBcIn5cIjogXCJsYXJnZVwifWAgdGVsbHMgdGhlIGRpcmVjdGl2ZSB0byBhcHBseVxyXG5cdCAqIGEgc3R5bGUgY2xhc3MgYHNtYWxsYCB3aGVuIHRoZSB3aWR0aCBvZiB0aGUgbW9uaXRvcmVkIHRhcmdldCBpcyBzbWFsbGVyIHRoYW4gNDAwIHBpeGVscyxcclxuXHQgKiBgbWVkaXVtYCB3aGVuIHRoZSB3aWR0aCBpcyBiZXR3ZWVuIDQwMCBhbmQgODAwIHBpeGVscywgYW5kIGBsYXJnZWAgd2hlbiBhYm92ZS5cclxuXHQgKlxyXG5cdCAqIEBleGFtcGxlIHsnNDAwJzogJ3NtYWxsJywgJzgwMCc6ICdtZWRpdW0nLCAnfic6ICdsYXJnZSd9XHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRidWlTaXppbmc6IHN0cmluZyB8IEFycmF5PHN0cmluZz4gfCB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge307XHJcblxyXG5cdC8qKlxyXG5cdCAqIFRoZSBhbGlhcyBvZiBgYnVpU2l6aW5nQnlgLlxyXG5cdCAqIEBkZWZhdWx0ICdyb290J1xyXG5cdCAqIEBkZXByZWNhdGVkXHJcblx0ICogQGlnbm9yZVxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0c2l6aW5nQnk6ICdyb290JyB8ICdwYXJlbnQnIHwgSFRNTEVsZW1lbnQgPSAncm9vdCc7XHJcblxyXG5cdC8qKlxyXG5cdCAqIERlc2lnbmF0ZSBhbiBlbGVtZW50IHRvIGJlIG1vbml0b3JlZCBmb3IgcmVjYWxjdWxhdGluZyB0aGUgc3R5bGUgY2xhc3NlcyBvZiB0aGUgY3VycmVudCBlbGVtZW50LlxyXG5cdCAqXHJcblx0ICogLSBgcm9vdGAgc3BlY2lmaWVzIHRoZSBkb2N1bWVudCByb290IG9yIHRoZSBlbmNsb3Npbmcgc2hhZG93IGhvc3QuIFRoaXMgaXMgdGhlIGRlZmF1bHQgdmFsdWUuXHJcblx0ICogLSBgcGFyZW50YCBzcGVjaWZpZXMgdGhlIHBhcmVudCBlbGVtZW50LlxyXG5cdCAqXHJcblx0ICogQGRlZmF1bHQgJ3Jvb3QnXHJcblx0ICogQGFsaWFzIHNpemluZ0J5XHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRnZXQgYnVpU2l6aW5nQnkoKTogJ3Jvb3QnIHwgJ3BhcmVudCcgfCBIVE1MRWxlbWVudCB7XHJcblx0XHRyZXR1cm4gdGhpcy5zaXppbmdCeTtcclxuXHR9XHJcblx0c2V0IGJ1aVNpemluZ0J5KHRhcmdldDogJ3Jvb3QnIHwgJ3BhcmVudCcgfCBIVE1MRWxlbWVudCkge1xyXG5cdFx0dGhpcy5zaXppbmdCeSA9IHRhcmdldDtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEVtaXRzIGB7d2lkdGgsIGhlaWdodH1gIHdoZW4gdGhlIG1vbml0b3IgdGFyZ2V0IGVsZW1lbnQgcmVzaXplcy5cclxuXHQgKlxyXG5cdCAqIE5vdGUgdGhhdCB0aGUgZGltZW5zaW9ucyBlbWl0dGVkIGFyZSBvZiB0aGUgW3NpemluZ0J5XSB0YXJnZXQsIGJ1dCBub3QgdGhlIGN1cnJlbnQgZWxlbWVudC5cclxuXHQgKi9cclxuXHRAT3V0cHV0KClcclxuXHRidWlSZXNpemVkID0gbmV3IEV2ZW50RW1pdHRlcjx7IHdpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyIH0+KCk7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFJlY2FsY3VsYXRlIHRoZSBoZWlnaHQgb2YgdGhpcyBlbGVtZW50IGFjY29yZGluZyB0byB0aGUgaGVpZ2h0IG9mIHRoZSBtb25pdG9yZWQgdGFyZ2V0LlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0YnVpRml4ZWRIZWlnaHQgPSBmYWxzZTtcclxuXHJcblx0cHJpdmF0ZSBfbW9uaXRvclRhcmdldDogSFRNTEVsZW1lbnQ7XHJcblx0cHJpdmF0ZSBfb2JzZXJ2ZXI6IFJlc2l6ZU9ic2VydmVyIHwgdW5kZWZpbmVkO1xyXG5cdHByaXZhdGUgX3NpemluZ1NwZWM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcclxuXHRwcml2YXRlIF93aWR0aCA9IDA7XHJcblx0cHJpdmF0ZSBfaGVpZ2h0ID0gMDtcclxuXHRwcml2YXRlIF9yZWZsb3dGcmFtZUNvdW50ID0gMDtcclxuXHRwcml2YXRlIF9lbGVtZW50OiBIVE1MRWxlbWVudDtcclxuXHRwcml2YXRlIF9mcmFtZUhhbmRsZXJJZCA9IDA7XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0QEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBfZG9jOiBEb2N1bWVudCxcclxuXHRcdEBPcHRpb25hbCgpIHByaXZhdGUgX2RlZmF1bHRUYXJnZXQ6IFNpemluZ01vbml0b3JEaXJlY3RpdmUsXHJcblx0XHRlbGVtUmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuXHRcdHByaXZhdGUgX3pvbmU6IE5nWm9uZVxyXG5cdCkge1xyXG5cdFx0dGhpcy5fZWxlbWVudCA9IGVsZW1SZWYubmF0aXZlRWxlbWVudDtcclxuXHRcdHRoaXMuX21vbml0b3JUYXJnZXQgPSB0aGlzLl9lbGVtZW50O1xyXG5cdH1cclxuXHJcblx0bmdPbkNoYW5nZXMoXzogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG5cdFx0Y29uc3QgZGlzY29ubmVjdGVkID0gdGhpcy5fZWxlbWVudC5nZXRSb290Tm9kZSgpIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQ7XHJcblx0XHRpZiAoZGlzY29ubmVjdGVkKSB7XHJcblx0XHRcdC8vIGRlZmVyIHNoYWRvdyBkZXRlY3Rpb24gdGlsbCBkb20gY29ubmVjdGlvbiBldmVudFxyXG5cdFx0XHR0aGlzLl96b25lLm9uU3RhYmxlLnBpcGUoZGVib3VuY2VUaW1lKDEwKSwgdGFrZSgxKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuX2luaXRPclJlc2V0KCkpO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy5faW5pdE9yUmVzZXQoKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG5cdFx0dGhpcy5fdGVhckRvd25Ob2RlTW9uaXRvcigpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfaW5pdE9yUmVzZXQoKSB7XHJcblx0XHRjb25zdCBvcmlnaW5hbFRhcmdldCA9IHRoaXMuX21vbml0b3JUYXJnZXQ7XHJcblx0XHRpZiAodGhpcy5idWlTaXppbmdCeSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7XHJcblx0XHRcdHRoaXMuX21vbml0b3JUYXJnZXQgPSB0aGlzLmJ1aVNpemluZ0J5O1xyXG5cdFx0fSBlbHNlIGlmICh0aGlzLl9kZWZhdWx0VGFyZ2V0KSB7XHJcblx0XHRcdHRoaXMuX21vbml0b3JUYXJnZXQgPSB0aGlzLl9kZWZhdWx0VGFyZ2V0LmVsZW1lbnQubmF0aXZlRWxlbWVudDtcclxuXHRcdH0gZWxzZSBpZiAodGhpcy5idWlTaXppbmdCeSA9PT0gJ3Jvb3QnKSB7XHJcblx0XHRcdGNvbnN0IHJvb3QgPSB0aGlzLl9lbGVtZW50LmdldFJvb3ROb2RlKCk7XHJcblx0XHRcdGlmIChyb290IGluc3RhbmNlb2YgU2hhZG93Um9vdCkge1xyXG5cdFx0XHRcdHRoaXMuX21vbml0b3JUYXJnZXQgPSByb290Lmhvc3QgYXMgSFRNTEVsZW1lbnQ7XHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0dGhpcy5fbW9uaXRvclRhcmdldCA9IHRoaXMuX2RvYy5kb2N1bWVudEVsZW1lbnQ7XHJcblx0XHRcdH1cclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMuX21vbml0b3JUYXJnZXQgPSB0aGlzLl9lbGVtZW50LnBhcmVudEVsZW1lbnQgYXMgYW55O1xyXG5cdFx0fVxyXG5cclxuXHRcdGlmICh0aGlzLl9tb25pdG9yVGFyZ2V0ICE9IG9yaWdpbmFsVGFyZ2V0KSB7XHJcblx0XHRcdHRoaXMuX3NldFVwTm9kZU1vbml0b3IoKTtcclxuXHRcdH1cclxuXHJcblx0XHR0aGlzLl9zaXppbmdTcGVjID0ge307XHJcblx0XHRsZXQgc3BlYyA9IHRoaXMuYnVpU2l6aW5nO1xyXG5cdFx0aWYgKHR5cGVvZiBzcGVjID09PSAnc3RyaW5nJykge1xyXG5cdFx0XHRzcGVjID0gc3BlYy5zcGxpdCgnLCcpLm1hcChrID0+IGsudHJpbSgpKTtcclxuXHRcdH1cclxuXHJcblx0XHRpZiAoQXJyYXkuaXNBcnJheShzcGVjKSkge1xyXG5cdFx0XHRzcGVjLmZvckVhY2goKGMsIGkpID0+IHtcclxuXHRcdFx0XHR0aGlzLl9zaXppbmdTcGVjW1NpemluZ0RpcmVjdGl2ZS5kZWZhdWx0U2l6aW5nQnJlYWtwb2ludHNbaV0gfHwgJ34nXSA9IGM7XHJcblx0XHRcdH0pO1xyXG5cdFx0fSBlbHNlIGlmIChzcGVjKSB7XHJcblx0XHRcdHRoaXMuX3NpemluZ1NwZWMgPSBzcGVjO1xyXG5cdFx0fVxyXG5cclxuXHRcdHRoaXMuYnVpRml4ZWRIZWlnaHQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodGhpcy5idWlGaXhlZEhlaWdodCk7XHJcblxyXG5cdFx0dGhpcy5fY2FsY3VsYXRlU2l6ZSgpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfc2V0VXBOb2RlTW9uaXRvcigpIHtcclxuXHRcdHRoaXMuX3RlYXJEb3duTm9kZU1vbml0b3IoKTtcclxuXHRcdGlmICh0aGlzLl9tb25pdG9yVGFyZ2V0KSB7XHJcblx0XHRcdHRoaXMuX29ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHRoaXMuX3J1bldpdGhPYnNlcnZlcih0aGlzLl9jYWxjdWxhdGVTaXplLmJpbmQodGhpcykpKTtcclxuXHJcblx0XHRcdHRoaXMuX29ic2VydmVyLm9ic2VydmUodGhpcy5fbW9uaXRvclRhcmdldCwgeyBib3g6ICdib3JkZXItYm94JyB9KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX3RlYXJEb3duTm9kZU1vbml0b3IoKSB7XHJcblx0XHRjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9mcmFtZUhhbmRsZXJJZCk7XHJcblx0XHR0aGlzLl9ydW5XaXRoT2JzZXJ2ZXIoKCkgPT4ge1xyXG5cdFx0XHR0aGlzLl9vYnNlcnZlciEuZGlzY29ubmVjdCgpO1xyXG5cdFx0XHR0aGlzLl9vYnNlcnZlciA9IHVuZGVmaW5lZDtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfcnVuV2l0aE9ic2VydmVyPFQ+KGZ1bmM6ICgpID0+IFQpOiBUIHwgdW5kZWZpbmVkIHtcclxuXHRcdGlmICh0aGlzLl9vYnNlcnZlcikge1xyXG5cdFx0XHRyZXR1cm4gZnVuYygpO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHVuZGVmaW5lZDtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX2NhbGN1bGF0ZVNpemUoKSB7XHJcblx0XHRjb25zdCB3aWR0aENoYW5nZWQgPSB0aGlzLl93aWR0aCAhPT0gdGhpcy5fbW9uaXRvclRhcmdldC5jbGllbnRXaWR0aDtcclxuXHRcdGNvbnN0IGhlaWdodENoYW5nZWQgPSB0aGlzLl9oZWlnaHQgIT09IHRoaXMuX21vbml0b3JUYXJnZXQuY2xpZW50SGVpZ2h0O1xyXG5cdFx0aWYgKHdpZHRoQ2hhbmdlZCkge1xyXG5cdFx0XHR0aGlzLl93aWR0aCA9IHRoaXMuX21vbml0b3JUYXJnZXQuY2xpZW50V2lkdGg7XHJcblxyXG5cdFx0XHRjb25zdCBia3MgPSBPYmplY3Qua2V5cyh0aGlzLl9zaXppbmdTcGVjKS5zb3J0KChhLCBiKSA9PiB0aGlzLl90b051bWJlcihhKSAtIHRoaXMuX3RvTnVtYmVyKGIpKTtcclxuXHRcdFx0bGV0IGZvdW5kID0gZmFsc2U7XHJcblx0XHRcdGZvciAoY29uc3Qga2V5IG9mIGJrcykge1xyXG5cdFx0XHRcdGNvbnN0IGNsYXNzZXNPclN0eWxlcyA9IHRoaXMuX3NpemluZ1NwZWNba2V5XS5zcGxpdCgvOysvKS5maWx0ZXIoYyA9PiBjKTtcclxuXHRcdFx0XHR0aGlzLl9yZW1vdmVDbGFzc2VzT3JTdHlsZXMoY2xhc3Nlc09yU3R5bGVzKTtcclxuXHRcdFx0XHRjb25zdCBleHBlY3RlZFdpZHRoID0gdGhpcy5fdG9OdW1iZXIoa2V5KTtcclxuXHRcdFx0XHRpZiAodGhpcy5fd2lkdGggPD0gZXhwZWN0ZWRXaWR0aCAmJiAhZm91bmQpIHtcclxuXHRcdFx0XHRcdHRoaXMuX2FwcGx5Q2xhc3Nlc09yU3R5bGVzKGNsYXNzZXNPclN0eWxlcyk7XHJcblx0XHRcdFx0XHRmb3VuZCA9IHRydWU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKHdpZHRoQ2hhbmdlZCB8fCBoZWlnaHRDaGFuZ2VkKSB7XHJcblx0XHRcdHRoaXMuX2hlaWdodCA9IHRoaXMuX21vbml0b3JUYXJnZXQuY2xpZW50SGVpZ2h0O1xyXG5cdFx0XHRpZiAodGhpcy5idWlGaXhlZEhlaWdodCkge1xyXG5cdFx0XHRcdHRoaXMuX3JlZmxvd0ZyYW1lQ291bnQgPSAwO1xyXG5cdFx0XHRcdHRoaXMuX3JlZmxvd0hlaWdodCgpO1xyXG5cdFx0XHR9XHJcblx0XHRcdHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fem9uZS5ydW4oKCkgPT4gdGhpcy5idWlSZXNpemVkLmVtaXQoeyB3aWR0aDogdGhpcy5fd2lkdGgsIGhlaWdodDogdGhpcy5faGVpZ2h0IH0pKSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9hcHBseUNsYXNzZXNPclN0eWxlcyhjbHNPclN0eWxlczogc3RyaW5nW10pIHtcclxuXHRcdGNsc09yU3R5bGVzLmZvckVhY2gocyA9PiB7XHJcblx0XHRcdGlmIChzLmluY2x1ZGVzKCc6JykpIHtcclxuXHRcdFx0XHRjb25zdCBbcHJvcCwgdmFsXSA9IHMuc3BsaXQoJzonKTtcclxuXHRcdFx0XHR0aGlzLl9lbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KHByb3AudHJpbSgpLCB2YWwudHJpbSgpKTtcclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRjb25zdCBjbGFzc2VzID0gcy5zcGxpdCgvXFxzKy8pLmZpbHRlcihjID0+IGMpO1xyXG5cdFx0XHRcdGlmIChjbGFzc2VzLmxlbmd0aCkge1xyXG5cdFx0XHRcdFx0dGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKC4uLmNsYXNzZXMpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9yZW1vdmVDbGFzc2VzT3JTdHlsZXMoY2xzT3JTdHlsZXM6IHN0cmluZ1tdKSB7XHJcblx0XHRjbHNPclN0eWxlcy5mb3JFYWNoKHMgPT4ge1xyXG5cdFx0XHRpZiAocy5pbmNsdWRlcygnOicpKSB7XHJcblx0XHRcdFx0Y29uc3QgW3Byb3BdID0gcy5zcGxpdCgnOicpO1xyXG5cdFx0XHRcdHRoaXMuX2VsZW1lbnQuc3R5bGUucmVtb3ZlUHJvcGVydHkocHJvcCk7XHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0Y29uc3QgY2xhc3NlcyA9IHMuc3BsaXQoL1xccysvKS5maWx0ZXIoYyA9PiBjKTtcclxuXHRcdFx0XHRpZiAoY2xhc3Nlcy5sZW5ndGgpIHtcclxuXHRcdFx0XHRcdHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSguLi5jbGFzc2VzKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfcmVmbG93SGVpZ2h0KCkge1xyXG5cdFx0Y29uc3QgY250ID0gdGhpcy5fcmVmbG93RnJhbWVDb3VudDtcclxuXHRcdGlmIChjbnQgPCAxNSkge1xyXG5cdFx0XHRjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9mcmFtZUhhbmRsZXJJZCk7XHJcblx0XHRcdHRoaXMuX2ZyYW1lSGFuZGxlcklkID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMuX3JlZmxvd0hlaWdodC5iaW5kKHRoaXMpKTtcclxuXHJcblx0XHRcdGlmIChjbnQgPT09IDApIHtcclxuXHRcdFx0XHR0aGlzLl9lbGVtZW50LnN0eWxlLmhlaWdodCA9ICcwJztcclxuXHRcdFx0fSBlbHNlIGlmIChjbnQgPT09IDE0KSB7XHJcblx0XHRcdFx0Y29uc3QgZ3QgPSBwYXJzZUludChcclxuXHRcdFx0XHRcdGdldENvbXB1dGVkU3R5bGUodGhpcy5fbW9uaXRvclRhcmdldCkuZ2V0UHJvcGVydHlWYWx1ZSgncGFkZGluZy10b3AnKS5yZXBsYWNlKC9weCQvLCAnJykgfHwgJzAnLFxyXG5cdFx0XHRcdFx0MTBcclxuXHRcdFx0XHQpO1xyXG5cdFx0XHRcdGNvbnN0IGdiID0gcGFyc2VJbnQoXHJcblx0XHRcdFx0XHRnZXRDb21wdXRlZFN0eWxlKHRoaXMuX21vbml0b3JUYXJnZXQpLmdldFByb3BlcnR5VmFsdWUoJ3BhZGRpbmctYm90dG9tJykucmVwbGFjZSgvcHgkLywgJycpIHx8ICcwJyxcclxuXHRcdFx0XHRcdDEwXHJcblx0XHRcdFx0KTtcclxuXHRcdFx0XHR0aGlzLl9lbGVtZW50LnN0eWxlLmhlaWdodCA9IGAke3RoaXMuX2hlaWdodCAtIGd0IC0gZ2IgLSA1fXB4YDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0dGhpcy5fcmVmbG93RnJhbWVDb3VudCsrO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfdG9OdW1iZXIoczogc3RyaW5nKSB7XHJcblx0XHRyZXR1cm4gKHMgPT09ICd+JyA/IEluZmluaXR5IDogTnVtYmVyKHMpKSB8fCAtSW5maW5pdHk7XHJcblx0fVxyXG59XHJcbiJdfQ==
|