@dereekb/dbx-web 12.4.5 → 12.5.1
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/esm2022/lib/action/action.confirm.directive.mjs +4 -4
- package/esm2022/lib/action/snackbar/action.snackbar.component.mjs +2 -2
- package/esm2022/lib/action/transition/transition.safety.dialog.component.mjs +2 -2
- package/esm2022/lib/button/button.component.mjs +46 -20
- package/esm2022/lib/button/progress/abstract.progress.button.directive.mjs +53 -7
- package/esm2022/lib/button/progress/bar.button.component.mjs +3 -3
- package/esm2022/lib/button/progress/button.progress.config.mjs +1 -1
- package/esm2022/lib/button/progress/spinner.button.component.mjs +3 -3
- package/esm2022/lib/extension/download/text/download.text.component.mjs +2 -2
- package/esm2022/lib/interaction/filter/filter.wrapper.component.mjs +2 -2
- package/esm2022/lib/interaction/index.mjs +2 -1
- package/esm2022/lib/interaction/popup/popup.controls.buttons.component.mjs +1 -1
- package/esm2022/lib/interaction/upload/abstract.upload.component.mjs +85 -0
- package/esm2022/lib/interaction/upload/index.mjs +8 -0
- package/esm2022/lib/interaction/upload/upload.accept.mjs +72 -0
- package/esm2022/lib/interaction/upload/upload.action.directive.mjs +36 -0
- package/esm2022/lib/interaction/upload/upload.action.mjs +18 -0
- package/esm2022/lib/interaction/upload/upload.area.component.mjs +138 -0
- package/esm2022/lib/interaction/upload/upload.button.component.mjs +81 -0
- package/esm2022/lib/interaction/upload/upload.component.mjs +116 -0
- package/esm2022/lib/layout/avatar/avatar.component.mjs +76 -0
- package/esm2022/lib/layout/avatar/avatar.mjs +7 -0
- package/esm2022/lib/layout/avatar/avatar.service.mjs +78 -0
- package/esm2022/lib/layout/avatar/avatar.view.component.mjs +89 -0
- package/esm2022/lib/layout/avatar/index.mjs +4 -0
- package/esm2022/lib/layout/content/content.pit.directive.mjs +34 -4
- package/esm2022/lib/layout/index.mjs +2 -1
- package/esm2022/lib/loading/basic-loading.component.mjs +32 -5
- package/esm2022/lib/loading/index.mjs +2 -1
- package/esm2022/lib/loading/loading.component.mjs +11 -4
- package/esm2022/lib/loading/loading.mjs +2 -0
- package/fesm2022/dereekb-dbx-web.mjs +930 -47
- package/fesm2022/dereekb-dbx-web.mjs.map +1 -1
- package/lib/action/action.confirm.directive.d.ts +1 -1
- package/lib/button/_button.scss +2 -1
- package/lib/button/button.component.d.ts +5 -1
- package/lib/button/progress/abstract.progress.button.directive.d.ts +9 -5
- package/lib/button/progress/button.progress.config.d.ts +6 -2
- package/lib/interaction/_interaction.scss +4 -0
- package/lib/interaction/index.d.ts +1 -0
- package/lib/interaction/upload/_upload.scss +100 -0
- package/lib/interaction/upload/abstract.upload.component.d.ts +54 -0
- package/lib/interaction/upload/index.d.ts +7 -0
- package/lib/interaction/upload/upload.accept.d.ts +87 -0
- package/lib/interaction/upload/upload.action.d.ts +17 -0
- package/lib/interaction/upload/upload.action.directive.d.ts +17 -0
- package/lib/interaction/upload/upload.area.component.d.ts +22 -0
- package/lib/interaction/upload/upload.button.component.d.ts +24 -0
- package/lib/interaction/upload/upload.component.d.ts +58 -0
- package/lib/layout/_layout.scss +4 -0
- package/lib/layout/avatar/_avatar.scss +102 -0
- package/lib/layout/avatar/avatar.component.d.ts +32 -0
- package/lib/layout/avatar/avatar.d.ts +54 -0
- package/lib/layout/avatar/avatar.service.d.ts +66 -0
- package/lib/layout/avatar/avatar.view.component.d.ts +24 -0
- package/lib/layout/avatar/index.d.ts +3 -0
- package/lib/layout/content/content.pit.directive.d.ts +6 -2
- package/lib/layout/index.d.ts +1 -0
- package/lib/loading/basic-loading.component.d.ts +13 -8
- package/lib/loading/index.d.ts +1 -0
- package/lib/loading/loading.component.d.ts +4 -3
- package/lib/loading/loading.d.ts +10 -0
- package/lib/style/_config.scss +17 -1
- package/lib/style/_root-variables.scss +4 -0
- package/lib/style/_variables.scss +8 -0
- package/package.json +1 -1
|
@@ -76,10 +76,10 @@ export class DbxProgressSpinnerButtonComponent extends AbstractProgressButtonDir
|
|
|
76
76
|
return hasCustomStyle ? { 'dbx-progress-spinner-custom': true } : undefined;
|
|
77
77
|
});
|
|
78
78
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxProgressSpinnerButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
79
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxProgressSpinnerButtonComponent, isStandalone: true, selector: "dbx-progress-spinner-button,dbx-spinner-button", viewQueries: [{ propertyName: "buttonRef", first: true, predicate: ["button"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<button class=\"dbx-base-button dbx-progress-spinner-button\" #button mat-button [type]=\"buttonTypeAttributeSignal()\" [color]=\"configSignal()?.buttonColor\" [ngClass]=\"buttonCssSignal()\" [ngStyle]=\"configSignal()?.customStyle\" [disabled]=\"buttonDisabledSignal()\">\n @if (showTextSignal()) {\n @if (showTextButtonIconSignal()) {\n <mat-icon class=\"mat-button-icon\" [class.is-mat-icon]=\"!configSignal()?.buttonIcon?.fontSet\" [class.working]=\"showProgressSignal()\" [ngClass]=\"configSignal()?.buttonIcon?.customClass\" [fontSet]=\"configSignal()?.buttonIcon?.fontSet!\" [fontIcon]=\"configSignal()?.buttonIcon?.fontIcon!\" [color]=\"configSignal()?.buttonIcon?.color!\" [svgIcon]=\"configSignal()?.buttonIcon?.svgIcon!\">\n {{ configSignal()?.buttonIcon?.fontSet ? '' : configSignal()?.buttonIcon?.fontIcon }}\n </mat-icon>\n }\n <span class=\"button-text\" [class.working]=\"showProgressSignal()\">\n {{ configSignal()?.text }}\n <ng-content></ng-content>\n </span>\n }\n @if (showIconSignal()) {\n <!-- Use ng-container to prevent mat-icon from being a child of the button which changes the behavior -->\n <ng-container>\n <mat-icon class=\"mat-fab-icon\" [fontSet]=\"configSignal()?.buttonIcon?.fontSet!\" [fontIcon]=\"configSignal()?.buttonIcon?.fontIcon!\" [color]=\"configSignal()?.buttonIcon?.color!\" [svgIcon]=\"configSignal()?.buttonIcon?.svgIcon!\" [inline]=\"configSignal()?.fab && configSignal()?.buttonIcon?.inline!\">\n {{ configSignal()?.buttonIcon?.fontSet! ? '' : configSignal()?.buttonIcon?.fontIcon! }}\n </mat-icon>\n </ng-container>\n }\n @if (showProgressSignal()) {\n <mat-spinner class=\"spinner\" [diameter]=\"spinnerSizeSignal()\" [color]=\"configSignal()?.spinnerColor!\" [mode]=\"
|
|
79
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxProgressSpinnerButtonComponent, isStandalone: true, selector: "dbx-progress-spinner-button,dbx-spinner-button", viewQueries: [{ propertyName: "buttonRef", first: true, predicate: ["button"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<button class=\"dbx-base-button dbx-progress-spinner-button\" #button mat-button [type]=\"buttonTypeAttributeSignal()\" [color]=\"configSignal()?.buttonColor\" [ngClass]=\"buttonCssSignal()\" [ngStyle]=\"configSignal()?.customStyle\" [disabled]=\"buttonDisabledSignal()\">\n @if (showTextSignal()) {\n @if (showTextButtonIconSignal()) {\n <mat-icon class=\"mat-button-icon\" [class.is-mat-icon]=\"!configSignal()?.buttonIcon?.fontSet\" [class.working]=\"showProgressSignal()\" [ngClass]=\"configSignal()?.buttonIcon?.customClass\" [fontSet]=\"configSignal()?.buttonIcon?.fontSet!\" [fontIcon]=\"configSignal()?.buttonIcon?.fontIcon!\" [color]=\"configSignal()?.buttonIcon?.color!\" [svgIcon]=\"configSignal()?.buttonIcon?.svgIcon!\">\n {{ configSignal()?.buttonIcon?.fontSet ? '' : configSignal()?.buttonIcon?.fontIcon }}\n </mat-icon>\n }\n <span class=\"button-text\" [class.working]=\"showProgressSignal()\">\n {{ configSignal()?.text }}\n <ng-content></ng-content>\n </span>\n }\n @if (showIconSignal()) {\n <!-- Use ng-container to prevent mat-icon from being a child of the button which changes the behavior -->\n <ng-container>\n <mat-icon class=\"mat-fab-icon\" [fontSet]=\"configSignal()?.buttonIcon?.fontSet!\" [fontIcon]=\"configSignal()?.buttonIcon?.fontIcon!\" [color]=\"configSignal()?.buttonIcon?.color!\" [svgIcon]=\"configSignal()?.buttonIcon?.svgIcon!\" [inline]=\"configSignal()?.fab && configSignal()?.buttonIcon?.inline!\">\n {{ configSignal()?.buttonIcon?.fontSet! ? '' : configSignal()?.buttonIcon?.fontIcon! }}\n </mat-icon>\n </ng-container>\n }\n @if (showProgressSignal()) {\n <mat-spinner class=\"spinner\" [diameter]=\"spinnerSizeSignal()\" [color]=\"configSignal()?.spinnerColor!\" [mode]=\"modeSignal()\" [value]=\"workingValueSignal()\" [ngStyle]=\"customSpinnerStyleSignal()\" [ngClass]=\"customSpinnerStyleClassSignal()\" [class.working]=\"showProgressSignal()\"></mat-spinner>\n }\n</button>\n", styles: [":host button{min-height:36px;height:unset;outline:none}:host button.working{cursor:not-allowed}:host button ::ng-deep .mdc-button__label{display:flex;align-items:center;justify-content:center}:host button.mat-mdc-button.mat-mdc-icon-button{min-width:unset;--mdc-icon-button-icon-size: unset;--mat-text-button-with-icon-horizontal-padding: 0px;--mdc-icon-button-state-layer-size: 36px;border-radius:50%}:host button.mat-mdc-button.mat-mdc-icon-button .mat-mdc-progress-spinner{--mdc-icon-button-icon-size: 36px}:host button.mat-mdc-button.mat-mdc-icon-button.dbx-progress-spinner-fab{height:48px;--mdc-icon-button-state-layer-size: 48px}:host button.mat-mdc-button.mat-mdc-icon-button.dbx-progress-spinner-fab .mat-mdc-progress-spinner{--mdc-icon-button-icon-size: 48px}:host button.fullWidth{width:100%}:host button .mat-mdc-progress-spinner{position:absolute;opacity:0;transition:opacity .3s ease-in-out}:host button .mat-mdc-progress-spinner.working{opacity:1}:host button .dbx-progress-spinner-custom.mat-progress-spinner.mat-accent circle,:host button .dbx-progress-spinner-custom.mat-mdc-progress-spinner.mat-accent circle{stroke:unset!important}:host button .button-text{opacity:1;transition:opacity .3s ease-in-out}:host button .button-text.working{opacity:0}:host button mat-icon.mat-button-icon{padding-right:5px;transition:opacity .3s ease-in-out;font-size:1.125rem;height:1.125rem;width:1.125rem;margin-right:var(--mat-protected-button-icon-spacing, 8px)}:host button mat-icon.mat-button-icon.is-mat-icon{position:relative;left:3px}:host button mat-icon.mat-button-icon.working{opacity:0}\n", ":host button.mat-mdc-button .button-text{display:flex;align-items:center}:host button.mat-mdc-button mat-icon.mat-button-icon.mat-icon.mat-ligature-font[fontIcon]:before,:host button.mat-mdc-button mat-icon.mat-fab-icon.mat-icon.mat-ligature-font[fontIcon]:before{content:unset}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
80
80
|
}
|
|
81
81
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxProgressSpinnerButtonComponent, decorators: [{
|
|
82
82
|
type: Component,
|
|
83
|
-
args: [{ selector: 'dbx-progress-spinner-button,dbx-spinner-button', imports: [MatButtonModule, MatIconModule, MatProgressSpinner, NgClass, NgStyle], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<button class=\"dbx-base-button dbx-progress-spinner-button\" #button mat-button [type]=\"buttonTypeAttributeSignal()\" [color]=\"configSignal()?.buttonColor\" [ngClass]=\"buttonCssSignal()\" [ngStyle]=\"configSignal()?.customStyle\" [disabled]=\"buttonDisabledSignal()\">\n @if (showTextSignal()) {\n @if (showTextButtonIconSignal()) {\n <mat-icon class=\"mat-button-icon\" [class.is-mat-icon]=\"!configSignal()?.buttonIcon?.fontSet\" [class.working]=\"showProgressSignal()\" [ngClass]=\"configSignal()?.buttonIcon?.customClass\" [fontSet]=\"configSignal()?.buttonIcon?.fontSet!\" [fontIcon]=\"configSignal()?.buttonIcon?.fontIcon!\" [color]=\"configSignal()?.buttonIcon?.color!\" [svgIcon]=\"configSignal()?.buttonIcon?.svgIcon!\">\n {{ configSignal()?.buttonIcon?.fontSet ? '' : configSignal()?.buttonIcon?.fontIcon }}\n </mat-icon>\n }\n <span class=\"button-text\" [class.working]=\"showProgressSignal()\">\n {{ configSignal()?.text }}\n <ng-content></ng-content>\n </span>\n }\n @if (showIconSignal()) {\n <!-- Use ng-container to prevent mat-icon from being a child of the button which changes the behavior -->\n <ng-container>\n <mat-icon class=\"mat-fab-icon\" [fontSet]=\"configSignal()?.buttonIcon?.fontSet!\" [fontIcon]=\"configSignal()?.buttonIcon?.fontIcon!\" [color]=\"configSignal()?.buttonIcon?.color!\" [svgIcon]=\"configSignal()?.buttonIcon?.svgIcon!\" [inline]=\"configSignal()?.fab && configSignal()?.buttonIcon?.inline!\">\n {{ configSignal()?.buttonIcon?.fontSet! ? '' : configSignal()?.buttonIcon?.fontIcon! }}\n </mat-icon>\n </ng-container>\n }\n @if (showProgressSignal()) {\n <mat-spinner class=\"spinner\" [diameter]=\"spinnerSizeSignal()\" [color]=\"configSignal()?.spinnerColor!\" [mode]=\"
|
|
83
|
+
args: [{ selector: 'dbx-progress-spinner-button,dbx-spinner-button', imports: [MatButtonModule, MatIconModule, MatProgressSpinner, NgClass, NgStyle], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<button class=\"dbx-base-button dbx-progress-spinner-button\" #button mat-button [type]=\"buttonTypeAttributeSignal()\" [color]=\"configSignal()?.buttonColor\" [ngClass]=\"buttonCssSignal()\" [ngStyle]=\"configSignal()?.customStyle\" [disabled]=\"buttonDisabledSignal()\">\n @if (showTextSignal()) {\n @if (showTextButtonIconSignal()) {\n <mat-icon class=\"mat-button-icon\" [class.is-mat-icon]=\"!configSignal()?.buttonIcon?.fontSet\" [class.working]=\"showProgressSignal()\" [ngClass]=\"configSignal()?.buttonIcon?.customClass\" [fontSet]=\"configSignal()?.buttonIcon?.fontSet!\" [fontIcon]=\"configSignal()?.buttonIcon?.fontIcon!\" [color]=\"configSignal()?.buttonIcon?.color!\" [svgIcon]=\"configSignal()?.buttonIcon?.svgIcon!\">\n {{ configSignal()?.buttonIcon?.fontSet ? '' : configSignal()?.buttonIcon?.fontIcon }}\n </mat-icon>\n }\n <span class=\"button-text\" [class.working]=\"showProgressSignal()\">\n {{ configSignal()?.text }}\n <ng-content></ng-content>\n </span>\n }\n @if (showIconSignal()) {\n <!-- Use ng-container to prevent mat-icon from being a child of the button which changes the behavior -->\n <ng-container>\n <mat-icon class=\"mat-fab-icon\" [fontSet]=\"configSignal()?.buttonIcon?.fontSet!\" [fontIcon]=\"configSignal()?.buttonIcon?.fontIcon!\" [color]=\"configSignal()?.buttonIcon?.color!\" [svgIcon]=\"configSignal()?.buttonIcon?.svgIcon!\" [inline]=\"configSignal()?.fab && configSignal()?.buttonIcon?.inline!\">\n {{ configSignal()?.buttonIcon?.fontSet! ? '' : configSignal()?.buttonIcon?.fontIcon! }}\n </mat-icon>\n </ng-container>\n }\n @if (showProgressSignal()) {\n <mat-spinner class=\"spinner\" [diameter]=\"spinnerSizeSignal()\" [color]=\"configSignal()?.spinnerColor!\" [mode]=\"modeSignal()\" [value]=\"workingValueSignal()\" [ngStyle]=\"customSpinnerStyleSignal()\" [ngClass]=\"customSpinnerStyleClassSignal()\" [class.working]=\"showProgressSignal()\"></mat-spinner>\n }\n</button>\n", styles: [":host button{min-height:36px;height:unset;outline:none}:host button.working{cursor:not-allowed}:host button ::ng-deep .mdc-button__label{display:flex;align-items:center;justify-content:center}:host button.mat-mdc-button.mat-mdc-icon-button{min-width:unset;--mdc-icon-button-icon-size: unset;--mat-text-button-with-icon-horizontal-padding: 0px;--mdc-icon-button-state-layer-size: 36px;border-radius:50%}:host button.mat-mdc-button.mat-mdc-icon-button .mat-mdc-progress-spinner{--mdc-icon-button-icon-size: 36px}:host button.mat-mdc-button.mat-mdc-icon-button.dbx-progress-spinner-fab{height:48px;--mdc-icon-button-state-layer-size: 48px}:host button.mat-mdc-button.mat-mdc-icon-button.dbx-progress-spinner-fab .mat-mdc-progress-spinner{--mdc-icon-button-icon-size: 48px}:host button.fullWidth{width:100%}:host button .mat-mdc-progress-spinner{position:absolute;opacity:0;transition:opacity .3s ease-in-out}:host button .mat-mdc-progress-spinner.working{opacity:1}:host button .dbx-progress-spinner-custom.mat-progress-spinner.mat-accent circle,:host button .dbx-progress-spinner-custom.mat-mdc-progress-spinner.mat-accent circle{stroke:unset!important}:host button .button-text{opacity:1;transition:opacity .3s ease-in-out}:host button .button-text.working{opacity:0}:host button mat-icon.mat-button-icon{padding-right:5px;transition:opacity .3s ease-in-out;font-size:1.125rem;height:1.125rem;width:1.125rem;margin-right:var(--mat-protected-button-icon-spacing, 8px)}:host button mat-icon.mat-button-icon.is-mat-icon{position:relative;left:3px}:host button mat-icon.mat-button-icon.working{opacity:0}\n", ":host button.mat-mdc-button .button-text{display:flex;align-items:center}:host button.mat-mdc-button mat-icon.mat-button-icon.mat-icon.mat-ligature-font[fontIcon]:before,:host button.mat-mdc-button mat-icon.mat-fab-icon.mat-icon.mat-ligature-font[fontIcon]:before{content:unset}\n"] }]
|
|
84
84
|
}] });
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2J1dHRvbi9wcm9ncmVzcy9zcGlubmVyLmJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvYnV0dG9uL3Byb2dyZXNzL3NwaW5uZXIuYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEcsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUQsT0FBTyxFQUFTLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBVW5ELE1BQU0sT0FBTyxpQ0FBa0MsU0FBUSwrQkFBK0I7SUFDM0UsU0FBUyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQWtDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFBLFVBQXVCLENBQUEsRUFBRSxDQUFDLENBQUM7SUFFN0csb0JBQW9C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dGVkLCBFbGVtZW50UmVmLCB2aWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0UHJvZ3Jlc3NCdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuL2Fic3RyYWN0LnByb2dyZXNzLmJ1dHRvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1heWJlLCBzcGFjZVNlcGFyYXRlZENzc0NsYXNzZXMgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSwgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ1N0eWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LXByb2dyZXNzLXNwaW5uZXItYnV0dG9uLGRieC1zcGlubmVyLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zcGlubmVyLmJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NwaW5uZXIuYnV0dG9uLmNvbXBvbmVudC5zY3NzJywgJy4vc2hhcmVkLmJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxuICBpbXBvcnRzOiBbTWF0QnV0dG9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBNYXRQcm9ncmVzc1NwaW5uZXIsIE5nQ2xhc3MsIE5nU3R5bGVdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBEYnhQcm9ncmVzc1NwaW5uZXJCdXR0b25Db21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFByb2dyZXNzQnV0dG9uRGlyZWN0aXZlIHtcbiAgcmVhZG9ubHkgYnV0dG9uUmVmID0gdmlld0NoaWxkLnJlcXVpcmVkPHN0cmluZywgRWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KCdidXR0b24nLCB7IHJlYWQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+IH0pO1xuXG4gIHJlYWRvbmx5IGJ1dHRvbkNzc0FycmF5U2lnbmFsID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY29uZmlnU2lnbmFsKCk7XG4gICAgY29uc3QgY2xhc3NlcyA9IFsuLi50aGlzLmJhc2VDc3NDbGFzc1NpZ25hbCgpXTtcblxuICAgIGlmIChjb25maWc/Lmljb25Pbmx5KSB7XG4gICAgICBjbGFzc2VzLnB1c2goJ21hdC1tZGMtaWNvbi1idXR0b24nKTtcbiAgICB9XG5cbiAgICBpZiAoY29uZmlnPy5mYWIpIHtcbiAgICAgIGNsYXNzZXMucHVzaCgnZGJ4LXByb2dyZXNzLXNwaW5uZXItZmFiJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNsYXNzZXM7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IGJ1dHRvbkNzcyQgPSB0b09ic2VydmFibGUodGhpcy5idXR0b25Dc3NBcnJheVNpZ25hbCkucGlwZShtYXAoc3BhY2VTZXBhcmF0ZWRDc3NDbGFzc2VzKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIHJlYWRvbmx5IHNwaW5uZXJTaXplU2lnbmFsID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY29uZmlnU2lnbmFsKCk7XG4gICAgY29uc3QgYnV0dG9uUmVmID0gdGhpcy5idXR0b25SZWYoKTtcblxuICAgIGNvbnN0IGVsZW0gPSBidXR0b25SZWYubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBoZWlnaHQgPSBlbGVtLmNsaWVudEhlaWdodDtcblxuICAgIGxldCBzaXplOiBNYXliZTxudW1iZXI+O1xuXG4gICAgaWYgKGNvbmZpZyAhPSBudWxsKSB7XG4gICAgICBpZiAoY29uZmlnLmljb25Pbmx5KSB7XG4gICAgICAgIGlmIChjb25maWcuZmFiKSB7XG4gICAgICAgICAgc2l6ZSA9IDQ4O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNpemUgPSBoZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNpemUgPSBjb25maWcuc3Bpbm5lclNpemU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCFzaXplKSB7XG4gICAgICBjb25zdCBtaW5pbXVtU3Bpbm5lclNpemUgPSAyNDtcbiAgICAgIGNvbnN0IHNwaW5uZXJSYXRpbyA9IGNvbmZpZz8uc3Bpbm5lclJhdGlvID8/IDAuMzM7XG4gICAgICBjb25zdCB0YXJnZXRTcGlubmVyU2l6ZSA9IGhlaWdodCAqIE1hdGgubWluKDEsIHNwaW5uZXJSYXRpbyk7XG4gICAgICBzaXplID0gTWF0aC5taW4oaGVpZ2h0LCBNYXRoLm1heChtaW5pbXVtU3Bpbm5lclNpemUsIHRhcmdldFNwaW5uZXJTaXplKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNpemU7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IGJ1dHRvbkNzc1NpZ25hbCA9IHRvU2lnbmFsKHRoaXMuYnV0dG9uQ3NzJCk7XG5cbiAgcmVhZG9ubHkgc2hvd1RleHRTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgY29uZmlnID0gdGhpcy5jb25maWdTaWduYWwoKTtcbiAgICByZXR1cm4gIShjb25maWc/LmZhYiB8fCBjb25maWc/Lmljb25Pbmx5KTtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgc2hvd1RleHRCdXR0b25JY29uU2lnbmFsID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY29uZmlnU2lnbmFsKCk7XG4gICAgY29uc3Qgc2hvd1RleHQgPSB0aGlzLnNob3dUZXh0U2lnbmFsKCk7XG4gICAgcmV0dXJuIHNob3dUZXh0ICYmIGNvbmZpZz8uYnV0dG9uSWNvbjsgLy8gc2hvd3MgdGhlIGJ1dHRvbiBpY29uIHdpdGggc2hvd2luZyB0aGUgdGV4dC5cbiAgfSk7XG5cbiAgcmVhZG9ubHkgc2hvd0ljb25TaWduYWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgY29uZmlnID0gdGhpcy5jb25maWdTaWduYWwoKTtcbiAgICByZXR1cm4gKFxuICAgICAgY29uZmlnICYmXG4gICAgICBjb25maWcuYnV0dG9uSWNvbiAmJiAvLyBidXR0b24gaWNvbiBtdXN0IGJlIGRlZmluZWRcbiAgICAgICF0aGlzLnNob3dUZXh0U2lnbmFsKClcbiAgICApOyAvLyBzaG93IGljb24gaWYgZWl0aGVyIGZhYiBvciBpY29uT25seSBpcyB0cnVlXG4gIH0pO1xuXG4gIHJlYWRvbmx5IGN1c3RvbVNwaW5uZXJTdHlsZVNpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBjdXN0b21TcGlubmVyQ29sb3IgPSB0aGlzLmNvbmZpZ1NpZ25hbCgpPy5jdXN0b21TcGlubmVyQ29sb3I7XG4gICAgcmV0dXJuIGN1c3RvbVNwaW5uZXJDb2xvciA/IHsgc3Ryb2tlOiBjdXN0b21TcGlubmVyQ29sb3IgfSA6IHVuZGVmaW5lZDtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgY3VzdG9tU3Bpbm5lclN0eWxlQ2xhc3NTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgaGFzQ3VzdG9tU3R5bGUgPSBCb29sZWFuKHRoaXMuY3VzdG9tU3Bpbm5lclN0eWxlU2lnbmFsKCkpO1xuICAgIHJldHVybiBoYXNDdXN0b21TdHlsZSA/IHsgJ2RieC1wcm9ncmVzcy1zcGlubmVyLWN1c3RvbSc6IHRydWUgfSA6IHVuZGVmaW5lZDtcbiAgfSk7XG59XG4iLCI8YnV0dG9uIGNsYXNzPVwiZGJ4LWJhc2UtYnV0dG9uIGRieC1wcm9ncmVzcy1zcGlubmVyLWJ1dHRvblwiICNidXR0b24gbWF0LWJ1dHRvbiBbdHlwZV09XCJidXR0b25UeXBlQXR0cmlidXRlU2lnbmFsKClcIiBbY29sb3JdPVwiY29uZmlnU2lnbmFsKCk/LmJ1dHRvbkNvbG9yXCIgW25nQ2xhc3NdPVwiYnV0dG9uQ3NzU2lnbmFsKClcIiBbbmdTdHlsZV09XCJjb25maWdTaWduYWwoKT8uY3VzdG9tU3R5bGVcIiBbZGlzYWJsZWRdPVwiYnV0dG9uRGlzYWJsZWRTaWduYWwoKVwiPlxuICBAaWYgKHNob3dUZXh0U2lnbmFsKCkpIHtcbiAgICBAaWYgKHNob3dUZXh0QnV0dG9uSWNvblNpZ25hbCgpKSB7XG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXQtYnV0dG9uLWljb25cIiBbY2xhc3MuaXMtbWF0LWljb25dPVwiIWNvbmZpZ1NpZ25hbCgpPy5idXR0b25JY29uPy5mb250U2V0XCIgW2NsYXNzLndvcmtpbmddPVwic2hvd1Byb2dyZXNzU2lnbmFsKClcIiBbbmdDbGFzc109XCJjb25maWdTaWduYWwoKT8uYnV0dG9uSWNvbj8uY3VzdG9tQ2xhc3NcIiBbZm9udFNldF09XCJjb25maWdTaWduYWwoKT8uYnV0dG9uSWNvbj8uZm9udFNldCFcIiBbZm9udEljb25dPVwiY29uZmlnU2lnbmFsKCk/LmJ1dHRvbkljb24/LmZvbnRJY29uIVwiIFtjb2xvcl09XCJjb25maWdTaWduYWwoKT8uYnV0dG9uSWNvbj8uY29sb3IhXCIgW3N2Z0ljb25dPVwiY29uZmlnU2lnbmFsKCk/LmJ1dHRvbkljb24/LnN2Z0ljb24hXCI+XG4gICAgICAgIHt7IGNvbmZpZ1NpZ25hbCgpPy5idXR0b25JY29uPy5mb250U2V0ID8gJycgOiBjb25maWdTaWduYWwoKT8uYnV0dG9uSWNvbj8uZm9udEljb24gfX1cbiAgICAgIDwvbWF0LWljb24+XG4gICAgfVxuICAgIDxzcGFuIGNsYXNzPVwiYnV0dG9uLXRleHRcIiBbY2xhc3Mud29ya2luZ109XCJzaG93UHJvZ3Jlc3NTaWduYWwoKVwiPlxuICAgICAge3sgY29uZmlnU2lnbmFsKCk/LnRleHQgfX1cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L3NwYW4+XG4gIH1cbiAgQGlmIChzaG93SWNvblNpZ25hbCgpKSB7XG4gICAgPCEtLSBVc2UgbmctY29udGFpbmVyIHRvIHByZXZlbnQgbWF0LWljb24gZnJvbSBiZWluZyBhIGNoaWxkIG9mIHRoZSBidXR0b24gd2hpY2ggY2hhbmdlcyB0aGUgYmVoYXZpb3IgLS0+XG4gICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdC1mYWItaWNvblwiIFtmb250U2V0XT1cImNvbmZpZ1NpZ25hbCgpPy5idXR0b25JY29uPy5mb250U2V0IVwiIFtmb250SWNvbl09XCJjb25maWdTaWduYWwoKT8uYnV0dG9uSWNvbj8uZm9udEljb24hXCIgW2NvbG9yXT1cImNvbmZpZ1NpZ25hbCgpPy5idXR0b25JY29uPy5jb2xvciFcIiBbc3ZnSWNvbl09XCJjb25maWdTaWduYWwoKT8uYnV0dG9uSWNvbj8uc3ZnSWNvbiFcIiBbaW5saW5lXT1cImNvbmZpZ1NpZ25hbCgpPy5mYWIgJiYgY29uZmlnU2lnbmFsKCk/LmJ1dHRvbkljb24/LmlubGluZSFcIj5cbiAgICAgICAge3sgY29uZmlnU2lnbmFsKCk/LmJ1dHRvbkljb24/LmZvbnRTZXQhID8gJycgOiBjb25maWdTaWduYWwoKT8uYnV0dG9uSWNvbj8uZm9udEljb24hIH19XG4gICAgICA8L21hdC1pY29uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICB9XG4gIEBpZiAoc2hvd1Byb2dyZXNzU2lnbmFsKCkpIHtcbiAgICA8bWF0LXNwaW5uZXIgY2xhc3M9XCJzcGlubmVyXCIgW2RpYW1ldGVyXT1cInNwaW5uZXJTaXplU2lnbmFsKClcIiBbY29sb3JdPVwiY29uZmlnU2lnbmFsKCk/LnNwaW5uZXJDb2xvciFcIiBbbW9kZV09XCJjb25maWdTaWduYWwoKT8ubW9kZSFcIiBbdmFsdWVdPVwiY29uZmlnU2lnbmFsKCk/LnZhbHVlIVwiIFtuZ1N0eWxlXT1cImN1c3RvbVNwaW5uZXJTdHlsZVNpZ25hbCgpXCIgW25nQ2xhc3NdPVwiY3VzdG9tU3Bpbm5lclN0eWxlQ2xhc3NTaWduYWwoKVwiIFtjbGFzcy53b3JraW5nXT1cInNob3dQcm9ncmVzc1NpZ25hbCgpXCI+PC9tYXQtc3Bpbm5lcj5cbiAgfVxuPC9idXR0b24+XG4iXX0=
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2J1dHRvbi9wcm9ncmVzcy9zcGlubmVyLmJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvYnV0dG9uL3Byb2dyZXNzL3NwaW5uZXIuYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEcsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUQsT0FBTyxFQUFTLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBVW5ELE1BQU0sT0FBTyxpQ0FBa0MsU0FBUSwrQkFBK0I7SUFDM0UsU0FBUyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQWtDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFBLFVBQXVCLENBQUEsRUFBRSxDQUFDLENBQUM7SUFFN0csb0JBQW9C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dGVkLCBFbGVtZW50UmVmLCB2aWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0UHJvZ3Jlc3NCdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuL2Fic3RyYWN0LnByb2dyZXNzLmJ1dHRvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1heWJlLCBzcGFjZVNlcGFyYXRlZENzc0NsYXNzZXMgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSwgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ1N0eWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LXByb2dyZXNzLXNwaW5uZXItYnV0dG9uLGRieC1zcGlubmVyLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zcGlubmVyLmJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NwaW5uZXIuYnV0dG9uLmNvbXBvbmVudC5zY3NzJywgJy4vc2hhcmVkLmJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxuICBpbXBvcnRzOiBbTWF0QnV0dG9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBNYXRQcm9ncmVzc1NwaW5uZXIsIE5nQ2xhc3MsIE5nU3R5bGVdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBEYnhQcm9ncmVzc1NwaW5uZXJCdXR0b25Db21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFByb2dyZXNzQnV0dG9uRGlyZWN0aXZlIHtcbiAgcmVhZG9ubHkgYnV0dG9uUmVmID0gdmlld0NoaWxkLnJlcXVpcmVkPHN0cmluZywgRWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KCdidXR0b24nLCB7IHJlYWQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+IH0pO1xuXG4gIHJlYWRvbmx5IGJ1dHRvbkNzc0FycmF5U2lnbmFsID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY29uZmlnU2lnbmFsKCk7XG4gICAgY29uc3QgY2xhc3NlcyA9IFsuLi50aGlzLmJhc2VDc3NDbGFzc1NpZ25hbCgpXTtcblxuICAgIGlmIChjb25maWc/Lmljb25Pbmx5KSB7XG4gICAgICBjbGFzc2VzLnB1c2goJ21hdC1tZGMtaWNvbi1idXR0b24nKTtcbiAgICB9XG5cbiAgICBpZiAoY29uZmlnPy5mYWIpIHtcbiAgICAgIGNsYXNzZXMucHVzaCgnZGJ4LXByb2dyZXNzLXNwaW5uZXItZmFiJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNsYXNzZXM7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IGJ1dHRvbkNzcyQgPSB0b09ic2VydmFibGUodGhpcy5idXR0b25Dc3NBcnJheVNpZ25hbCkucGlwZShtYXAoc3BhY2VTZXBhcmF0ZWRDc3NDbGFzc2VzKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIHJlYWRvbmx5IHNwaW5uZXJTaXplU2lnbmFsID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY29uZmlnU2lnbmFsKCk7XG4gICAgY29uc3QgYnV0dG9uUmVmID0gdGhpcy5idXR0b25SZWYoKTtcblxuICAgIGNvbnN0IGVsZW0gPSBidXR0b25SZWYubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBoZWlnaHQgPSBlbGVtLmNsaWVudEhlaWdodDtcblxuICAgIGxldCBzaXplOiBNYXliZTxudW1iZXI+O1xuXG4gICAgaWYgKGNvbmZpZyAhPSBudWxsKSB7XG4gICAgICBpZiAoY29uZmlnLmljb25Pbmx5KSB7XG4gICAgICAgIGlmIChjb25maWcuZmFiKSB7XG4gICAgICAgICAgc2l6ZSA9IDQ4O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNpemUgPSBoZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNpemUgPSBjb25maWcuc3Bpbm5lclNpemU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCFzaXplKSB7XG4gICAgICBjb25zdCBtaW5pbXVtU3Bpbm5lclNpemUgPSAyNDtcbiAgICAgIGNvbnN0IHNwaW5uZXJSYXRpbyA9IGNvbmZpZz8uc3Bpbm5lclJhdGlvID8/IDAuMzM7XG4gICAgICBjb25zdCB0YXJnZXRTcGlubmVyU2l6ZSA9IGhlaWdodCAqIE1hdGgubWluKDEsIHNwaW5uZXJSYXRpbyk7XG4gICAgICBzaXplID0gTWF0aC5taW4oaGVpZ2h0LCBNYXRoLm1heChtaW5pbXVtU3Bpbm5lclNpemUsIHRhcmdldFNwaW5uZXJTaXplKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNpemU7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IGJ1dHRvbkNzc1NpZ25hbCA9IHRvU2lnbmFsKHRoaXMuYnV0dG9uQ3NzJCk7XG5cbiAgcmVhZG9ubHkgc2hvd1RleHRTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgY29uZmlnID0gdGhpcy5jb25maWdTaWduYWwoKTtcbiAgICByZXR1cm4gIShjb25maWc/LmZhYiB8fCBjb25maWc/Lmljb25Pbmx5KTtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgc2hvd1RleHRCdXR0b25JY29uU2lnbmFsID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY29uZmlnU2lnbmFsKCk7XG4gICAgY29uc3Qgc2hvd1RleHQgPSB0aGlzLnNob3dUZXh0U2lnbmFsKCk7XG4gICAgcmV0dXJuIHNob3dUZXh0ICYmIGNvbmZpZz8uYnV0dG9uSWNvbjsgLy8gc2hvd3MgdGhlIGJ1dHRvbiBpY29uIHdpdGggc2hvd2luZyB0aGUgdGV4dC5cbiAgfSk7XG5cbiAgcmVhZG9ubHkgc2hvd0ljb25TaWduYWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgY29uZmlnID0gdGhpcy5jb25maWdTaWduYWwoKTtcbiAgICByZXR1cm4gKFxuICAgICAgY29uZmlnICYmXG4gICAgICBjb25maWcuYnV0dG9uSWNvbiAmJiAvLyBidXR0b24gaWNvbiBtdXN0IGJlIGRlZmluZWRcbiAgICAgICF0aGlzLnNob3dUZXh0U2lnbmFsKClcbiAgICApOyAvLyBzaG93IGljb24gaWYgZWl0aGVyIGZhYiBvciBpY29uT25seSBpcyB0cnVlXG4gIH0pO1xuXG4gIHJlYWRvbmx5IGN1c3RvbVNwaW5uZXJTdHlsZVNpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBjdXN0b21TcGlubmVyQ29sb3IgPSB0aGlzLmNvbmZpZ1NpZ25hbCgpPy5jdXN0b21TcGlubmVyQ29sb3I7XG4gICAgcmV0dXJuIGN1c3RvbVNwaW5uZXJDb2xvciA/IHsgc3Ryb2tlOiBjdXN0b21TcGlubmVyQ29sb3IgfSA6IHVuZGVmaW5lZDtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgY3VzdG9tU3Bpbm5lclN0eWxlQ2xhc3NTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgaGFzQ3VzdG9tU3R5bGUgPSBCb29sZWFuKHRoaXMuY3VzdG9tU3Bpbm5lclN0eWxlU2lnbmFsKCkpO1xuICAgIHJldHVybiBoYXNDdXN0b21TdHlsZSA/IHsgJ2RieC1wcm9ncmVzcy1zcGlubmVyLWN1c3RvbSc6IHRydWUgfSA6IHVuZGVmaW5lZDtcbiAgfSk7XG59XG4iLCI8YnV0dG9uIGNsYXNzPVwiZGJ4LWJhc2UtYnV0dG9uIGRieC1wcm9ncmVzcy1zcGlubmVyLWJ1dHRvblwiICNidXR0b24gbWF0LWJ1dHRvbiBbdHlwZV09XCJidXR0b25UeXBlQXR0cmlidXRlU2lnbmFsKClcIiBbY29sb3JdPVwiY29uZmlnU2lnbmFsKCk/LmJ1dHRvbkNvbG9yXCIgW25nQ2xhc3NdPVwiYnV0dG9uQ3NzU2lnbmFsKClcIiBbbmdTdHlsZV09XCJjb25maWdTaWduYWwoKT8uY3VzdG9tU3R5bGVcIiBbZGlzYWJsZWRdPVwiYnV0dG9uRGlzYWJsZWRTaWduYWwoKVwiPlxuICBAaWYgKHNob3dUZXh0U2lnbmFsKCkpIHtcbiAgICBAaWYgKHNob3dUZXh0QnV0dG9uSWNvblNpZ25hbCgpKSB7XG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXQtYnV0dG9uLWljb25cIiBbY2xhc3MuaXMtbWF0LWljb25dPVwiIWNvbmZpZ1NpZ25hbCgpPy5idXR0b25JY29uPy5mb250U2V0XCIgW2NsYXNzLndvcmtpbmddPVwic2hvd1Byb2dyZXNzU2lnbmFsKClcIiBbbmdDbGFzc109XCJjb25maWdTaWduYWwoKT8uYnV0dG9uSWNvbj8uY3VzdG9tQ2xhc3NcIiBbZm9udFNldF09XCJjb25maWdTaWduYWwoKT8uYnV0dG9uSWNvbj8uZm9udFNldCFcIiBbZm9udEljb25dPVwiY29uZmlnU2lnbmFsKCk/LmJ1dHRvbkljb24/LmZvbnRJY29uIVwiIFtjb2xvcl09XCJjb25maWdTaWduYWwoKT8uYnV0dG9uSWNvbj8uY29sb3IhXCIgW3N2Z0ljb25dPVwiY29uZmlnU2lnbmFsKCk/LmJ1dHRvbkljb24/LnN2Z0ljb24hXCI+XG4gICAgICAgIHt7IGNvbmZpZ1NpZ25hbCgpPy5idXR0b25JY29uPy5mb250U2V0ID8gJycgOiBjb25maWdTaWduYWwoKT8uYnV0dG9uSWNvbj8uZm9udEljb24gfX1cbiAgICAgIDwvbWF0LWljb24+XG4gICAgfVxuICAgIDxzcGFuIGNsYXNzPVwiYnV0dG9uLXRleHRcIiBbY2xhc3Mud29ya2luZ109XCJzaG93UHJvZ3Jlc3NTaWduYWwoKVwiPlxuICAgICAge3sgY29uZmlnU2lnbmFsKCk/LnRleHQgfX1cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L3NwYW4+XG4gIH1cbiAgQGlmIChzaG93SWNvblNpZ25hbCgpKSB7XG4gICAgPCEtLSBVc2UgbmctY29udGFpbmVyIHRvIHByZXZlbnQgbWF0LWljb24gZnJvbSBiZWluZyBhIGNoaWxkIG9mIHRoZSBidXR0b24gd2hpY2ggY2hhbmdlcyB0aGUgYmVoYXZpb3IgLS0+XG4gICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdC1mYWItaWNvblwiIFtmb250U2V0XT1cImNvbmZpZ1NpZ25hbCgpPy5idXR0b25JY29uPy5mb250U2V0IVwiIFtmb250SWNvbl09XCJjb25maWdTaWduYWwoKT8uYnV0dG9uSWNvbj8uZm9udEljb24hXCIgW2NvbG9yXT1cImNvbmZpZ1NpZ25hbCgpPy5idXR0b25JY29uPy5jb2xvciFcIiBbc3ZnSWNvbl09XCJjb25maWdTaWduYWwoKT8uYnV0dG9uSWNvbj8uc3ZnSWNvbiFcIiBbaW5saW5lXT1cImNvbmZpZ1NpZ25hbCgpPy5mYWIgJiYgY29uZmlnU2lnbmFsKCk/LmJ1dHRvbkljb24/LmlubGluZSFcIj5cbiAgICAgICAge3sgY29uZmlnU2lnbmFsKCk/LmJ1dHRvbkljb24/LmZvbnRTZXQhID8gJycgOiBjb25maWdTaWduYWwoKT8uYnV0dG9uSWNvbj8uZm9udEljb24hIH19XG4gICAgICA8L21hdC1pY29uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICB9XG4gIEBpZiAoc2hvd1Byb2dyZXNzU2lnbmFsKCkpIHtcbiAgICA8bWF0LXNwaW5uZXIgY2xhc3M9XCJzcGlubmVyXCIgW2RpYW1ldGVyXT1cInNwaW5uZXJTaXplU2lnbmFsKClcIiBbY29sb3JdPVwiY29uZmlnU2lnbmFsKCk/LnNwaW5uZXJDb2xvciFcIiBbbW9kZV09XCJtb2RlU2lnbmFsKClcIiBbdmFsdWVdPVwid29ya2luZ1ZhbHVlU2lnbmFsKClcIiBbbmdTdHlsZV09XCJjdXN0b21TcGlubmVyU3R5bGVTaWduYWwoKVwiIFtuZ0NsYXNzXT1cImN1c3RvbVNwaW5uZXJTdHlsZUNsYXNzU2lnbmFsKClcIiBbY2xhc3Mud29ya2luZ109XCJzaG93UHJvZ3Jlc3NTaWduYWwoKVwiPjwvbWF0LXNwaW5uZXI+XG4gIH1cbjwvYnV0dG9uPlxuIl19
|
|
@@ -108,10 +108,10 @@ export class DbxDownloadTextViewComponent extends AbstractSubscriptionDirective
|
|
|
108
108
|
}));
|
|
109
109
|
};
|
|
110
110
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxDownloadTextViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
111
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxDownloadTextViewComponent, isStandalone: true, selector: "dbx-download-text-view", inputs: { loadingText: { classPropertyName: "loadingText", publicName: "loadingText", isSignal: true, isRequired: false, transformFunction: null }, linear: { classPropertyName: "linear", publicName: "linear", isSignal: true, isRequired: false, transformFunction: null }, showTitle: { classPropertyName: "showTitle", publicName: "showTitle", isSignal: true, isRequired: false, transformFunction: null }, showPreview: { classPropertyName: "showPreview", publicName: "showPreview", isSignal: true, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, contentState: { classPropertyName: "contentState", publicName: "contentState", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "downloadButton", first: true, predicate: ["downloadButton"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-download-text-view\">\n <dbx-loading [context]=\"context\" [linear]=\"linear()\" [text]=\"loadingText()\">\n <ng-container *ngTemplateOutlet=\"contentView\"></ng-container>\n </dbx-loading>\n</div>\n\n<!-- Template -->\n<ng-template #contentView>\n <div class=\"dbx-download-text-view-content\">\n @if (showTitle()) {\n <div class=\"dbx-download-text-view-content-title dbx-mb2 mat-subtitle-2\">{{ fileNameSignal() }}</div>\n }\n @if (showPreview()) {\n <div class=\"dbx-download-text-preview dbx-json dbx-content-pit dbx-content-pit-scrollable dbx-mb3\">{{ contentDataSignal() }}</div>\n }\n <div class=\"dbx-download-text-view-actions\">\n <dbx-button dbxAction dbxActionValue [raised]=\"true\" [dbxActionHandler]=\"handleCopyToClipboard\" icon=\"content_copy\" dbxActionButton text=\"Copy To Clipboard\"></dbx-button>\n <dbx-button-spacer></dbx-button-spacer>\n <a #downloadButton [href]=\"fileUrlSignal()\" [attr.download]=\"fileNameSignal()\"><dbx-button icon=\"download\" text=\"Download\" [raised]=\"true\" [working]=\"!downloadReadySignal()\" [disabled]=\"!downloadReadySignal()\"></dbx-button></a>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: DbxLoadingComponent, selector: "dbx-loading", inputs: ["padding", "show", "text", "mode", "color", "diameter", "linear", "loading", "error", "context"] }, { kind: "ngmodule", type: DbxActionModule }, { kind: "directive", type: i1.DbxActionDirective, selector: "dbx-action,[dbxAction],dbx-action-context,[dbxActionContext]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i1.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i1.DbxActionValueDirective, selector: "dbxActionValue,[dbxActionValue]", inputs: ["dbxActionValue"] }, { kind: "directive", type: i1.DbxActionButtonDirective, selector: "[dbxActionButton]" }, { kind: "component", type: DbxButtonComponent, selector: "dbx-button", inputs: ["type", "buttonStyle", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor", "basic", "raised", "stroked", "flat", "iconOnly", "fab"] }, { kind: "directive", type: DbxButtonSpacerDirective, selector: "dbx-button-spacer,[dbxButtonSpacer]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
111
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxDownloadTextViewComponent, isStandalone: true, selector: "dbx-download-text-view", inputs: { loadingText: { classPropertyName: "loadingText", publicName: "loadingText", isSignal: true, isRequired: false, transformFunction: null }, linear: { classPropertyName: "linear", publicName: "linear", isSignal: true, isRequired: false, transformFunction: null }, showTitle: { classPropertyName: "showTitle", publicName: "showTitle", isSignal: true, isRequired: false, transformFunction: null }, showPreview: { classPropertyName: "showPreview", publicName: "showPreview", isSignal: true, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, contentState: { classPropertyName: "contentState", publicName: "contentState", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "downloadButton", first: true, predicate: ["downloadButton"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-download-text-view\">\n <dbx-loading [context]=\"context\" [linear]=\"linear()\" [text]=\"loadingText()\">\n <ng-container *ngTemplateOutlet=\"contentView\"></ng-container>\n </dbx-loading>\n</div>\n\n<!-- Template -->\n<ng-template #contentView>\n <div class=\"dbx-download-text-view-content\">\n @if (showTitle()) {\n <div class=\"dbx-download-text-view-content-title dbx-mb2 mat-subtitle-2\">{{ fileNameSignal() }}</div>\n }\n @if (showPreview()) {\n <div class=\"dbx-download-text-preview dbx-json dbx-content-pit dbx-content-pit-scrollable dbx-mb3\">{{ contentDataSignal() }}</div>\n }\n <div class=\"dbx-download-text-view-actions\">\n <dbx-button dbxAction dbxActionValue [raised]=\"true\" [dbxActionHandler]=\"handleCopyToClipboard\" icon=\"content_copy\" dbxActionButton text=\"Copy To Clipboard\"></dbx-button>\n <dbx-button-spacer></dbx-button-spacer>\n <a #downloadButton [href]=\"fileUrlSignal()\" [attr.download]=\"fileNameSignal()\"><dbx-button icon=\"download\" text=\"Download\" [raised]=\"true\" [working]=\"!downloadReadySignal()\" [disabled]=\"!downloadReadySignal()\"></dbx-button></a>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: DbxLoadingComponent, selector: "dbx-loading", inputs: ["padding", "show", "text", "mode", "color", "diameter", "linear", "loading", "error", "context"] }, { kind: "ngmodule", type: DbxActionModule }, { kind: "directive", type: i1.DbxActionDirective, selector: "dbx-action,[dbxAction],dbx-action-context,[dbxActionContext]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i1.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i1.DbxActionValueDirective, selector: "dbxActionValue,[dbxActionValue]", inputs: ["dbxActionValue"] }, { kind: "directive", type: i1.DbxActionButtonDirective, selector: "[dbxActionButton]" }, { kind: "component", type: DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor", "basic", "raised", "stroked", "flat", "iconOnly", "fab", "mode"] }, { kind: "directive", type: DbxButtonSpacerDirective, selector: "dbx-button-spacer,[dbxButtonSpacer]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
112
112
|
}
|
|
113
113
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxDownloadTextViewComponent, decorators: [{
|
|
114
114
|
type: Component,
|
|
115
115
|
args: [{ selector: 'dbx-download-text-view', standalone: true, imports: [NgTemplateOutlet, DbxLoadingComponent, DbxActionModule, DbxActionButtonDirective, DbxButtonComponent, DbxButtonSpacerDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"dbx-download-text-view\">\n <dbx-loading [context]=\"context\" [linear]=\"linear()\" [text]=\"loadingText()\">\n <ng-container *ngTemplateOutlet=\"contentView\"></ng-container>\n </dbx-loading>\n</div>\n\n<!-- Template -->\n<ng-template #contentView>\n <div class=\"dbx-download-text-view-content\">\n @if (showTitle()) {\n <div class=\"dbx-download-text-view-content-title dbx-mb2 mat-subtitle-2\">{{ fileNameSignal() }}</div>\n }\n @if (showPreview()) {\n <div class=\"dbx-download-text-preview dbx-json dbx-content-pit dbx-content-pit-scrollable dbx-mb3\">{{ contentDataSignal() }}</div>\n }\n <div class=\"dbx-download-text-view-actions\">\n <dbx-button dbxAction dbxActionValue [raised]=\"true\" [dbxActionHandler]=\"handleCopyToClipboard\" icon=\"content_copy\" dbxActionButton text=\"Copy To Clipboard\"></dbx-button>\n <dbx-button-spacer></dbx-button-spacer>\n <a #downloadButton [href]=\"fileUrlSignal()\" [attr.download]=\"fileNameSignal()\"><dbx-button icon=\"download\" text=\"Download\" [raised]=\"true\" [working]=\"!downloadReadySignal()\" [disabled]=\"!downloadReadySignal()\"></dbx-button></a>\n </div>\n </div>\n</ng-template>\n" }]
|
|
116
116
|
}] });
|
|
117
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQudGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvZXh0ZW5zaW9uL2Rvd25sb2FkL3RleHQvZG93bmxvYWQudGV4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvZXh0ZW5zaW9uL2Rvd25sb2FkL3RleHQvZG93bmxvYWQudGV4dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBcUMsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLDZCQUE2QixFQUEwQiwrQkFBK0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5TCxPQUFPLEVBQUUsWUFBWSxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBYyxLQUFLLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsWUFBWSxFQUFtQixNQUFNLDJCQUEyQixDQUFDO0FBQzFFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVGLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUs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Q0FDSCxDQUFDO0lBQ0osQ0FBQyxDQUFDO3dHQWxIUyw0QkFBNEI7NEZBQTVCLDRCQUE0Qix5OUJBS2tELFVBQVUsb0VDL0JyRywyckNBc0JBLDRDRENZLGdCQUFnQixvSkFBRSxtQkFBbUIsa0tBQUUsZUFBZSxvaEJBQTRCLGtCQUFrQix3T0FBRSx3QkFBd0I7OzRGQUc3SCw0QkFBNEI7a0JBUHhDLFNBQVM7K0JBRUUsd0JBQXdCLGNBQ3RCLElBQUksV0FDUCxDQUFDLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSx3QkFBd0IsRUFBRSxrQkFBa0IsRUFBRSx3QkFBd0IsQ0FBQyxtQkFDeEgsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGNvbXB1dGVkLCBpbmplY3QsIGlucHV0LCB2aWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IFdvcmtVc2luZ09ic2VydmFibGUsIExvYWRpbmdTdGF0ZSwgbG9hZGluZ1N0YXRlQ29udGV4dCwgc3VjY2Vzc1Jlc3VsdCwgdmFsdWVGcm9tRmluaXNoZWRMb2FkaW5nU3RhdGUsIE1heWJlT2JzZXJ2YWJsZU9yVmFsdWUsIG1heWJlVmFsdWVGcm9tT2JzZXJ2YWJsZU9yVmFsdWUgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IE1TX0lOX1NFQ09ORCwgdHlwZSBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZmlyc3QsIG9mLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENsaXBib2FyZCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jbGlwYm9hcmQnO1xuaW1wb3J0IHsgRG93bmxvYWRUZXh0Q29udGVudCB9IGZyb20gJy4vZG93bmxvYWQudGV4dCc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVSZXNvdXJjZVVybCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgQWJzdHJhY3RTdWJzY3JpcHRpb25EaXJlY3RpdmUsIERieEFjdGlvbkJ1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSwgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBEYnhMb2FkaW5nQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vbG9hZGluZy9sb2FkaW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERieEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IERieEFjdGlvbk1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2FjdGlvbi9hY3Rpb24ubW9kdWxlJztcbmltcG9ydCB7IERieEJ1dHRvblNwYWNlckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2J1dHRvbi9idXR0b24uc3BhY2VyLmRpcmVjdGl2ZSc7XG5cbi8qKlxuICogRGJ4U3RydWN0dXJlRGlyZWN0aXZlIHVzZWQgc3BlY2lmaWNhbGx5IG9uIHRoZSBib2R5IG9mIHRoZSBhcHAuXG4gKi9cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vZG93bmxvYWQudGV4dC5jb21wb25lbnQuaHRtbCcsXG4gIHNlbGVjdG9yOiAnZGJ4LWRvd25sb2FkLXRleHQtdmlldycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ1RlbXBsYXRlT3V0bGV0LCBEYnhMb2FkaW5nQ29tcG9uZW50LCBEYnhBY3Rpb25Nb2R1bGUsIERieEFjdGlvbkJ1dHRvbkRpcmVjdGl2ZSwgRGJ4QnV0dG9uQ29tcG9uZW50LCBEYnhCdXR0b25TcGFjZXJEaXJlY3RpdmVdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBEYnhEb3dubG9hZFRleHRWaWV3Q29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RTdWJzY3JpcHRpb25EaXJlY3RpdmUge1xuICBwcml2YXRlIHJlYWRvbmx5IF9jbGlwYm9hcmQgPSBpbmplY3QoQ2xpcGJvYXJkKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfbWF0U25hY2tiYXIgPSBpbmplY3QoTWF0U25hY2tCYXIpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zYW5pdGl6ZXIgPSBpbmplY3QoRG9tU2FuaXRpemVyKTtcblxuICByZWFkb25seSBkb3dubG9hZEJ1dHRvbiA9IHZpZXdDaGlsZDxzdHJpbmcsIE1heWJlPEVsZW1lbnRSZWY+PignZG93bmxvYWRCdXR0b24nLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSk7XG5cbiAgcmVhZG9ubHkgbG9hZGluZ1RleHQgPSBpbnB1dDxNYXliZTxzdHJpbmc+Pih1bmRlZmluZWQpO1xuICByZWFkb25seSBsaW5lYXIgPSBpbnB1dDxNYXliZTxib29sZWFuPj4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgc2hvd1RpdGxlID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG4gIHJlYWRvbmx5IHNob3dQcmV2aWV3ID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgcmVhZG9ubHkgY29udGVudCA9IGlucHV0PE1heWJlPERvd25sb2FkVGV4dENvbnRlbnQ+Pih1bmRlZmluZWQpO1xuICByZWFkb25seSBjb250ZW50U3RhdGUgPSBpbnB1dDxNYXliZU9ic2VydmFibGVPclZhbHVlPExvYWRpbmdTdGF0ZTxEb3dubG9hZFRleHRDb250ZW50Pj4+KHVuZGVmaW5lZCk7XG5cbiAgcmVhZG9ubHkgY29udGVudFN0YXRlJCA9IHRvT2JzZXJ2YWJsZSh0aGlzLmNvbnRlbnRTdGF0ZSkucGlwZShtYXliZVZhbHVlRnJvbU9ic2VydmFibGVPclZhbHVlKCksIHNoYXJlUmVwbGF5KDEpKTtcblxuICByZWFkb25seSBjb250ZW50U3RhdGVTaWduYWwgPSB0b1NpZ25hbCh0aGlzLmNvbnRlbnRTdGF0ZSQpO1xuXG4gIHJlYWRvbmx5IGNvbnRlbnRMb2FkaW5nU3RhdGVTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuY29udGVudCgpO1xuICAgIGNvbnN0IGNvbnRlbnRTdGF0ZSA9IHRoaXMuY29udGVudFN0YXRlU2lnbmFsKCk7XG5cbiAgICBsZXQgcmVzdWx0OiBNYXliZTxMb2FkaW5nU3RhdGU8RG93bmxvYWRUZXh0Q29udGVudD4+O1xuXG4gICAgaWYgKGNvbnRlbnRTdGF0ZSkge1xuICAgICAgcmVzdWx0ID0gY29udGVudFN0YXRlO1xuICAgIH0gZWxzZSBpZiAoY29udGVudCkge1xuICAgICAgcmVzdWx0ID0gc3VjY2Vzc1Jlc3VsdChjb250ZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9KTtcblxuICByZWFkb25seSBjb250ZW50TG9hZGluZ1N0YXRlJCA9IHRvT2JzZXJ2YWJsZSh0aGlzLmNvbnRlbnRMb2FkaW5nU3RhdGVTaWduYWwpO1xuICByZWFkb25seSBjb250ZW50JDogT2JzZXJ2YWJsZTxNYXliZTxEb3dubG9hZFRleHRDb250ZW50Pj4gPSB0aGlzLmNvbnRlbnRMb2FkaW5nU3RhdGUkLnBpcGUoXG4gICAgc3dpdGNoTWFwKCh4KSA9PiB7XG4gICAgICBpZiAoeCkge1xuICAgICAgICByZXR1cm4gb2YoeCkucGlwZSh2YWx1ZUZyb21GaW5pc2hlZExvYWRpbmdTdGF0ZSgpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpO1xuICAgICAgfVxuICAgIH0pXG4gICk7XG5cbiAgcmVhZG9ubHkgY29udGVudFNpZ25hbCA9IHRvU2lnbmFsKHRoaXMuY29udGVudCQpO1xuXG4gIHJlYWRvbmx5IGNvbnRlbnREYXRhU2lnbmFsID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jb250ZW50U2lnbmFsKCk/LmNvbnRlbnQpO1xuXG4gIHJlYWRvbmx5IGZpbGVVcmxTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuY29udGVudFNpZ25hbCgpO1xuXG4gICAgbGV0IGZpbGVVcmw6IE1heWJlPFNhZmVSZXNvdXJjZVVybD4gPSB1bmRlZmluZWQ7XG5cbiAgICBpZiAoY29udGVudCkge1xuICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtjb250ZW50LmNvbnRlbnRdLCB7IHR5cGU6IGNvbnRlbnQubWltZVR5cGUgPz8gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScgfSk7XG4gICAgICBmaWxlVXJsID0gdGhpcy5fc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybCh3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZpbGVVcmw7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IGZpbGVOYW1lU2lnbmFsID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jb250ZW50U2lnbmFsKCk/Lm5hbWUgPz8gJ0ZpbGUnKTtcblxuICByZWFkb25seSBkb3dubG9hZFJlYWR5U2lnbmFsID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGRvd25sb2FkQnV0dG9uID0gdGhpcy5kb3dubG9hZEJ1dHRvbigpO1xuICAgIGNvbnN0IGZpbGVOYW1lID0gdGhpcy5maWxlTmFtZVNpZ25hbCgpO1xuICAgIGNvbnN0IGZpbGVVcmwgPSB0aGlzLmZpbGVVcmxTaWduYWwoKTtcbiAgICByZXR1cm4gQm9vbGVhbihkb3dubG9hZEJ1dHRvbiAmJiBmaWxlTmFtZSAmJiBmaWxlVXJsKTtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgY29udGV4dCA9IGxvYWRpbmdTdGF0ZUNvbnRleHQoeyBvYnM6IHRoaXMuY29udGVudExvYWRpbmdTdGF0ZSQgfSk7XG5cbiAgcmVhZG9ubHkgaGFuZGxlQ29weVRvQ2xpcGJvYXJkOiBXb3JrVXNpbmdPYnNlcnZhYmxlID0gKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRlbnQkLnBpcGUoXG4gICAgICBmaXJzdCgpLFxuICAgICAgc3dpdGNoTWFwKChkb3dubG9hZFRleHRDb250ZW50OiBNYXliZTxEb3dubG9hZFRleHRDb250ZW50PikgPT4ge1xuICAgICAgICBpZiAoZG93bmxvYWRUZXh0Q29udGVudCkge1xuICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxib29sZWFuPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwZW5kaW5nID0gdGhpcy5fY2xpcGJvYXJkLmJlZ2luQ29weShkb3dubG9hZFRleHRDb250ZW50LmNvbnRlbnQpO1xuXG4gICAgICAgICAgICBsZXQgc2Vjb25kc1JlbWFpbmluZ0ZvckNvcHkgPSAyMDsgLy8gYXR0ZW1wdCB0byBjb3B5IGZvciB1cCB0byAyMCBzZWNvbmRzXG5cbiAgICAgICAgICAgIGNvbnN0IGF0dGVtcHQgPSAoKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGNvcHlJc0ZpbmlzaGVkID0gcGVuZGluZy5jb3B5KCk7XG5cbiAgICAgICAgICAgICAgaWYgKCFjb3B5SXNGaW5pc2hlZCAmJiAtLXNlY29uZHNSZW1haW5pbmdGb3JDb3B5KSB7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dChhdHRlbXB0LCBNU19JTl9TRUNPTkQpO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIFJlbWVtYmVyIHRvIGRlc3Ryb3kgd2hlbiB5b3UncmUgZG9uZSFcbiAgICAgICAgICAgICAgICBwZW5kaW5nLmRlc3Ryb3koKTtcblxuICAgICAgICAgICAgICAgIGlmIChjb3B5SXNGaW5pc2hlZCkge1xuICAgICAgICAgICAgICAgICAgcmVzb2x2ZSh0cnVlKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgcmVqZWN0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGF0dGVtcHQoKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gb2YoZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIHRhcCgoc3VjY2VzcykgPT4ge1xuICAgICAgICBpZiAoc3VjY2Vzcykge1xuICAgICAgICAgIHRoaXMuX21hdFNuYWNrYmFyLm9wZW4oJ0NvcGllZCB0byBjbGlwYm9hcmQnLCB1bmRlZmluZWQsIHsgZHVyYXRpb246IDMgKiBNU19JTl9TRUNPTkQgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fbWF0U25hY2tiYXIub3BlbignQ29udGVudCBmYWlsZWQgdG8gY29weS4uLicsIHVuZGVmaW5lZCwgeyBkdXJhdGlvbjogMyAqIE1TX0lOX1NFQ09ORCB9KTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9O1xufVxuIiwiPGRpdiBjbGFzcz1cImRieC1kb3dubG9hZC10ZXh0LXZpZXdcIj5cbiAgPGRieC1sb2FkaW5nIFtjb250ZXh0XT1cImNvbnRleHRcIiBbbGluZWFyXT1cImxpbmVhcigpXCIgW3RleHRdPVwibG9hZGluZ1RleHQoKVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50Vmlld1wiPjwvbmctY29udGFpbmVyPlxuICA8L2RieC1sb2FkaW5nPlxuPC9kaXY+XG5cbjwhLS0gVGVtcGxhdGUgLS0+XG48bmctdGVtcGxhdGUgI2NvbnRlbnRWaWV3PlxuICA8ZGl2IGNsYXNzPVwiZGJ4LWRvd25sb2FkLXRleHQtdmlldy1jb250ZW50XCI+XG4gICAgQGlmIChzaG93VGl0bGUoKSkge1xuICAgICAgPGRpdiBjbGFzcz1cImRieC1kb3dubG9hZC10ZXh0LXZpZXctY29udGVudC10aXRsZSBkYngtbWIyIG1hdC1zdWJ0aXRsZS0yXCI+e3sgZmlsZU5hbWVTaWduYWwoKSB9fTwvZGl2PlxuICAgIH1cbiAgICBAaWYgKHNob3dQcmV2aWV3KCkpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJkYngtZG93bmxvYWQtdGV4dC1wcmV2aWV3IGRieC1qc29uIGRieC1jb250ZW50LXBpdCBkYngtY29udGVudC1waXQtc2Nyb2xsYWJsZSBkYngtbWIzXCI+e3sgY29udGVudERhdGFTaWduYWwoKSB9fTwvZGl2PlxuICAgIH1cbiAgICA8ZGl2IGNsYXNzPVwiZGJ4LWRvd25sb2FkLXRleHQtdmlldy1hY3Rpb25zXCI+XG4gICAgICA8ZGJ4LWJ1dHRvbiBkYnhBY3Rpb24gZGJ4QWN0aW9uVmFsdWUgW3JhaXNlZF09XCJ0cnVlXCIgW2RieEFjdGlvbkhhbmRsZXJdPVwiaGFuZGxlQ29weVRvQ2xpcGJvYXJkXCIgaWNvbj1cImNvbnRlbnRfY29weVwiIGRieEFjdGlvbkJ1dHRvbiB0ZXh0PVwiQ29weSBUbyBDbGlwYm9hcmRcIj48L2RieC1idXR0b24+XG4gICAgICA8ZGJ4LWJ1dHRvbi1zcGFjZXI+PC9kYngtYnV0dG9uLXNwYWNlcj5cbiAgICAgIDxhICNkb3dubG9hZEJ1dHRvbiBbaHJlZl09XCJmaWxlVXJsU2lnbmFsKClcIiBbYXR0ci5kb3dubG9hZF09XCJmaWxlTmFtZVNpZ25hbCgpXCI+PGRieC1idXR0b24gaWNvbj1cImRvd25sb2FkXCIgdGV4dD1cIkRvd25sb2FkXCIgW3JhaXNlZF09XCJ0cnVlXCIgW3dvcmtpbmddPVwiIWRvd25sb2FkUmVhZHlTaWduYWwoKVwiIFtkaXNhYmxlZF09XCIhZG93bmxvYWRSZWFkeVNpZ25hbCgpXCI+PC9kYngtYnV0dG9uPjwvYT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQudGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvZXh0ZW5zaW9uL2Rvd25sb2FkL3RleHQvZG93bmxvYWQudGV4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvZXh0ZW5zaW9uL2Rvd25sb2FkL3RleHQvZG93bmxvYWQudGV4dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBcUMsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLDZCQUE2QixFQUEwQiwrQkFBK0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5TCxPQUFPLEVBQUUsWUFBWSxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBYyxLQUFLLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsWUFBWSxFQUFtQixNQUFNLDJCQUEyQixDQUFDO0FBQzFFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVGLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUs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Q0FDSCxDQUFDO0lBQ0osQ0FBQyxDQUFDO3dHQWxIUyw0QkFBNEI7NEZBQTVCLDRCQUE0Qix5OUJBS2tELFVBQVUsb0VDL0JyRywyckNBc0JBLDRDRENZLGdCQUFnQixvSkFBRSxtQkFBbUIsa0tBQUUsZUFBZSxvaEJBQTRCLGtCQUFrQix1UEFBRSx3QkFBd0I7OzRGQUc3SCw0QkFBNEI7a0JBUHhDLFNBQVM7K0JBRUUsd0JBQXdCLGNBQ3RCLElBQUksV0FDUCxDQUFDLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSx3QkFBd0IsRUFBRSxrQkFBa0IsRUFBRSx3QkFBd0IsQ0FBQyxtQkFDeEgsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGNvbXB1dGVkLCBpbmplY3QsIGlucHV0LCB2aWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IFdvcmtVc2luZ09ic2VydmFibGUsIExvYWRpbmdTdGF0ZSwgbG9hZGluZ1N0YXRlQ29udGV4dCwgc3VjY2Vzc1Jlc3VsdCwgdmFsdWVGcm9tRmluaXNoZWRMb2FkaW5nU3RhdGUsIE1heWJlT2JzZXJ2YWJsZU9yVmFsdWUsIG1heWJlVmFsdWVGcm9tT2JzZXJ2YWJsZU9yVmFsdWUgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IE1TX0lOX1NFQ09ORCwgdHlwZSBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZmlyc3QsIG9mLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENsaXBib2FyZCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jbGlwYm9hcmQnO1xuaW1wb3J0IHsgRG93bmxvYWRUZXh0Q29udGVudCB9IGZyb20gJy4vZG93bmxvYWQudGV4dCc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVSZXNvdXJjZVVybCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgQWJzdHJhY3RTdWJzY3JpcHRpb25EaXJlY3RpdmUsIERieEFjdGlvbkJ1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSwgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBEYnhMb2FkaW5nQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vbG9hZGluZy9sb2FkaW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERieEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IERieEFjdGlvbk1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2FjdGlvbi9hY3Rpb24ubW9kdWxlJztcbmltcG9ydCB7IERieEJ1dHRvblNwYWNlckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2J1dHRvbi9idXR0b24uc3BhY2VyLmRpcmVjdGl2ZSc7XG5cbi8qKlxuICogRGJ4U3RydWN0dXJlRGlyZWN0aXZlIHVzZWQgc3BlY2lmaWNhbGx5IG9uIHRoZSBib2R5IG9mIHRoZSBhcHAuXG4gKi9cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vZG93bmxvYWQudGV4dC5jb21wb25lbnQuaHRtbCcsXG4gIHNlbGVjdG9yOiAnZGJ4LWRvd25sb2FkLXRleHQtdmlldycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ1RlbXBsYXRlT3V0bGV0LCBEYnhMb2FkaW5nQ29tcG9uZW50LCBEYnhBY3Rpb25Nb2R1bGUsIERieEFjdGlvbkJ1dHRvbkRpcmVjdGl2ZSwgRGJ4QnV0dG9uQ29tcG9uZW50LCBEYnhCdXR0b25TcGFjZXJEaXJlY3RpdmVdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBEYnhEb3dubG9hZFRleHRWaWV3Q29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RTdWJzY3JpcHRpb25EaXJlY3RpdmUge1xuICBwcml2YXRlIHJlYWRvbmx5IF9jbGlwYm9hcmQgPSBpbmplY3QoQ2xpcGJvYXJkKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfbWF0U25hY2tiYXIgPSBpbmplY3QoTWF0U25hY2tCYXIpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zYW5pdGl6ZXIgPSBpbmplY3QoRG9tU2FuaXRpemVyKTtcblxuICByZWFkb25seSBkb3dubG9hZEJ1dHRvbiA9IHZpZXdDaGlsZDxzdHJpbmcsIE1heWJlPEVsZW1lbnRSZWY+PignZG93bmxvYWRCdXR0b24nLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSk7XG5cbiAgcmVhZG9ubHkgbG9hZGluZ1RleHQgPSBpbnB1dDxNYXliZTxzdHJpbmc+Pih1bmRlZmluZWQpO1xuICByZWFkb25seSBsaW5lYXIgPSBpbnB1dDxNYXliZTxib29sZWFuPj4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgc2hvd1RpdGxlID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG4gIHJlYWRvbmx5IHNob3dQcmV2aWV3ID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgcmVhZG9ubHkgY29udGVudCA9IGlucHV0PE1heWJlPERvd25sb2FkVGV4dENvbnRlbnQ+Pih1bmRlZmluZWQpO1xuICByZWFkb25seSBjb250ZW50U3RhdGUgPSBpbnB1dDxNYXliZU9ic2VydmFibGVPclZhbHVlPExvYWRpbmdTdGF0ZTxEb3dubG9hZFRleHRDb250ZW50Pj4+KHVuZGVmaW5lZCk7XG5cbiAgcmVhZG9ubHkgY29udGVudFN0YXRlJCA9IHRvT2JzZXJ2YWJsZSh0aGlzLmNvbnRlbnRTdGF0ZSkucGlwZShtYXliZVZhbHVlRnJvbU9ic2VydmFibGVPclZhbHVlKCksIHNoYXJlUmVwbGF5KDEpKTtcblxuICByZWFkb25seSBjb250ZW50U3RhdGVTaWduYWwgPSB0b1NpZ25hbCh0aGlzLmNvbnRlbnRTdGF0ZSQpO1xuXG4gIHJlYWRvbmx5IGNvbnRlbnRMb2FkaW5nU3RhdGVTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuY29udGVudCgpO1xuICAgIGNvbnN0IGNvbnRlbnRTdGF0ZSA9IHRoaXMuY29udGVudFN0YXRlU2lnbmFsKCk7XG5cbiAgICBsZXQgcmVzdWx0OiBNYXliZTxMb2FkaW5nU3RhdGU8RG93bmxvYWRUZXh0Q29udGVudD4+O1xuXG4gICAgaWYgKGNvbnRlbnRTdGF0ZSkge1xuICAgICAgcmVzdWx0ID0gY29udGVudFN0YXRlO1xuICAgIH0gZWxzZSBpZiAoY29udGVudCkge1xuICAgICAgcmVzdWx0ID0gc3VjY2Vzc1Jlc3VsdChjb250ZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9KTtcblxuICByZWFkb25seSBjb250ZW50TG9hZGluZ1N0YXRlJCA9IHRvT2JzZXJ2YWJsZSh0aGlzLmNvbnRlbnRMb2FkaW5nU3RhdGVTaWduYWwpO1xuICByZWFkb25seSBjb250ZW50JDogT2JzZXJ2YWJsZTxNYXliZTxEb3dubG9hZFRleHRDb250ZW50Pj4gPSB0aGlzLmNvbnRlbnRMb2FkaW5nU3RhdGUkLnBpcGUoXG4gICAgc3dpdGNoTWFwKCh4KSA9PiB7XG4gICAgICBpZiAoeCkge1xuICAgICAgICByZXR1cm4gb2YoeCkucGlwZSh2YWx1ZUZyb21GaW5pc2hlZExvYWRpbmdTdGF0ZSgpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpO1xuICAgICAgfVxuICAgIH0pXG4gICk7XG5cbiAgcmVhZG9ubHkgY29udGVudFNpZ25hbCA9IHRvU2lnbmFsKHRoaXMuY29udGVudCQpO1xuXG4gIHJlYWRvbmx5IGNvbnRlbnREYXRhU2lnbmFsID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jb250ZW50U2lnbmFsKCk/LmNvbnRlbnQpO1xuXG4gIHJlYWRvbmx5IGZpbGVVcmxTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuY29udGVudFNpZ25hbCgpO1xuXG4gICAgbGV0IGZpbGVVcmw6IE1heWJlPFNhZmVSZXNvdXJjZVVybD4gPSB1bmRlZmluZWQ7XG5cbiAgICBpZiAoY29udGVudCkge1xuICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtjb250ZW50LmNvbnRlbnRdLCB7IHR5cGU6IGNvbnRlbnQubWltZVR5cGUgPz8gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScgfSk7XG4gICAgICBmaWxlVXJsID0gdGhpcy5fc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybCh3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZpbGVVcmw7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IGZpbGVOYW1lU2lnbmFsID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jb250ZW50U2lnbmFsKCk/Lm5hbWUgPz8gJ0ZpbGUnKTtcblxuICByZWFkb25seSBkb3dubG9hZFJlYWR5U2lnbmFsID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGRvd25sb2FkQnV0dG9uID0gdGhpcy5kb3dubG9hZEJ1dHRvbigpO1xuICAgIGNvbnN0IGZpbGVOYW1lID0gdGhpcy5maWxlTmFtZVNpZ25hbCgpO1xuICAgIGNvbnN0IGZpbGVVcmwgPSB0aGlzLmZpbGVVcmxTaWduYWwoKTtcbiAgICByZXR1cm4gQm9vbGVhbihkb3dubG9hZEJ1dHRvbiAmJiBmaWxlTmFtZSAmJiBmaWxlVXJsKTtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgY29udGV4dCA9IGxvYWRpbmdTdGF0ZUNvbnRleHQoeyBvYnM6IHRoaXMuY29udGVudExvYWRpbmdTdGF0ZSQgfSk7XG5cbiAgcmVhZG9ubHkgaGFuZGxlQ29weVRvQ2xpcGJvYXJkOiBXb3JrVXNpbmdPYnNlcnZhYmxlID0gKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRlbnQkLnBpcGUoXG4gICAgICBmaXJzdCgpLFxuICAgICAgc3dpdGNoTWFwKChkb3dubG9hZFRleHRDb250ZW50OiBNYXliZTxEb3dubG9hZFRleHRDb250ZW50PikgPT4ge1xuICAgICAgICBpZiAoZG93bmxvYWRUZXh0Q29udGVudCkge1xuICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxib29sZWFuPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwZW5kaW5nID0gdGhpcy5fY2xpcGJvYXJkLmJlZ2luQ29weShkb3dubG9hZFRleHRDb250ZW50LmNvbnRlbnQpO1xuXG4gICAgICAgICAgICBsZXQgc2Vjb25kc1JlbWFpbmluZ0ZvckNvcHkgPSAyMDsgLy8gYXR0ZW1wdCB0byBjb3B5IGZvciB1cCB0byAyMCBzZWNvbmRzXG5cbiAgICAgICAgICAgIGNvbnN0IGF0dGVtcHQgPSAoKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGNvcHlJc0ZpbmlzaGVkID0gcGVuZGluZy5jb3B5KCk7XG5cbiAgICAgICAgICAgICAgaWYgKCFjb3B5SXNGaW5pc2hlZCAmJiAtLXNlY29uZHNSZW1haW5pbmdGb3JDb3B5KSB7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dChhdHRlbXB0LCBNU19JTl9TRUNPTkQpO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIFJlbWVtYmVyIHRvIGRlc3Ryb3kgd2hlbiB5b3UncmUgZG9uZSFcbiAgICAgICAgICAgICAgICBwZW5kaW5nLmRlc3Ryb3koKTtcblxuICAgICAgICAgICAgICAgIGlmIChjb3B5SXNGaW5pc2hlZCkge1xuICAgICAgICAgICAgICAgICAgcmVzb2x2ZSh0cnVlKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgcmVqZWN0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGF0dGVtcHQoKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gb2YoZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIHRhcCgoc3VjY2VzcykgPT4ge1xuICAgICAgICBpZiAoc3VjY2Vzcykge1xuICAgICAgICAgIHRoaXMuX21hdFNuYWNrYmFyLm9wZW4oJ0NvcGllZCB0byBjbGlwYm9hcmQnLCB1bmRlZmluZWQsIHsgZHVyYXRpb246IDMgKiBNU19JTl9TRUNPTkQgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fbWF0U25hY2tiYXIub3BlbignQ29udGVudCBmYWlsZWQgdG8gY29weS4uLicsIHVuZGVmaW5lZCwgeyBkdXJhdGlvbjogMyAqIE1TX0lOX1NFQ09ORCB9KTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9O1xufVxuIiwiPGRpdiBjbGFzcz1cImRieC1kb3dubG9hZC10ZXh0LXZpZXdcIj5cbiAgPGRieC1sb2FkaW5nIFtjb250ZXh0XT1cImNvbnRleHRcIiBbbGluZWFyXT1cImxpbmVhcigpXCIgW3RleHRdPVwibG9hZGluZ1RleHQoKVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50Vmlld1wiPjwvbmctY29udGFpbmVyPlxuICA8L2RieC1sb2FkaW5nPlxuPC9kaXY+XG5cbjwhLS0gVGVtcGxhdGUgLS0+XG48bmctdGVtcGxhdGUgI2NvbnRlbnRWaWV3PlxuICA8ZGl2IGNsYXNzPVwiZGJ4LWRvd25sb2FkLXRleHQtdmlldy1jb250ZW50XCI+XG4gICAgQGlmIChzaG93VGl0bGUoKSkge1xuICAgICAgPGRpdiBjbGFzcz1cImRieC1kb3dubG9hZC10ZXh0LXZpZXctY29udGVudC10aXRsZSBkYngtbWIyIG1hdC1zdWJ0aXRsZS0yXCI+e3sgZmlsZU5hbWVTaWduYWwoKSB9fTwvZGl2PlxuICAgIH1cbiAgICBAaWYgKHNob3dQcmV2aWV3KCkpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJkYngtZG93bmxvYWQtdGV4dC1wcmV2aWV3IGRieC1qc29uIGRieC1jb250ZW50LXBpdCBkYngtY29udGVudC1waXQtc2Nyb2xsYWJsZSBkYngtbWIzXCI+e3sgY29udGVudERhdGFTaWduYWwoKSB9fTwvZGl2PlxuICAgIH1cbiAgICA8ZGl2IGNsYXNzPVwiZGJ4LWRvd25sb2FkLXRleHQtdmlldy1hY3Rpb25zXCI+XG4gICAgICA8ZGJ4LWJ1dHRvbiBkYnhBY3Rpb24gZGJ4QWN0aW9uVmFsdWUgW3JhaXNlZF09XCJ0cnVlXCIgW2RieEFjdGlvbkhhbmRsZXJdPVwiaGFuZGxlQ29weVRvQ2xpcGJvYXJkXCIgaWNvbj1cImNvbnRlbnRfY29weVwiIGRieEFjdGlvbkJ1dHRvbiB0ZXh0PVwiQ29weSBUbyBDbGlwYm9hcmRcIj48L2RieC1idXR0b24+XG4gICAgICA8ZGJ4LWJ1dHRvbi1zcGFjZXI+PC9kYngtYnV0dG9uLXNwYWNlcj5cbiAgICAgIDxhICNkb3dubG9hZEJ1dHRvbiBbaHJlZl09XCJmaWxlVXJsU2lnbmFsKClcIiBbYXR0ci5kb3dubG9hZF09XCJmaWxlTmFtZVNpZ25hbCgpXCI+PGRieC1idXR0b24gaWNvbj1cImRvd25sb2FkXCIgdGV4dD1cIkRvd25sb2FkXCIgW3JhaXNlZF09XCJ0cnVlXCIgW3dvcmtpbmddPVwiIWRvd25sb2FkUmVhZHlTaWduYWwoKVwiIFtkaXNhYmxlZF09XCIhZG93bmxvYWRSZWFkeVNpZ25hbCgpXCI+PC9kYngtYnV0dG9uPjwvYT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -37,10 +37,10 @@ export class DbxFilterWrapperComponent extends AbstractDbxActionHandlerDirective
|
|
|
37
37
|
this.filterSourceDirective.resetFilter();
|
|
38
38
|
}
|
|
39
39
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFilterWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
40
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxFilterWrapperComponent, isStandalone: true, selector: "dbx-filter-wrapper", inputs: { showButtons: { classPropertyName: "showButtons", publicName: "showButtons", isSignal: true, isRequired: false, transformFunction: null }, applyRaised: { classPropertyName: "applyRaised", publicName: "applyRaised", isSignal: true, isRequired: false, transformFunction: null }, applyIcon: { classPropertyName: "applyIcon", publicName: "applyIcon", isSignal: true, isRequired: false, transformFunction: null }, applyText: { classPropertyName: "applyText", publicName: "applyText", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideActionStoreSource(null)], usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-filter-wrapper\">\n <div class=\"dbx-filter-wrapper-content\">\n <ng-content></ng-content>\n </div>\n @if (showButtons()) {\n <div fxLayout=\"row\">\n <dbx-button dbxActionButton [raised]=\"applyRaised()\" [text]=\"applyText()\" [icon]=\"applyIcon()\"></dbx-button>\n <div class=\"spacer\"></div>\n <button mat-icon-button (click)=\"resetFilter()\">\n <mat-icon>clear</mat-icon>\n </button>\n </div>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: DbxButtonModule }, { kind: "directive", type: i1.DbxActionButtonDirective, selector: "[dbxActionButton]" }, { kind: "component", type: i2.DbxButtonComponent, selector: "dbx-button", inputs: ["type", "buttonStyle", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor", "basic", "raised", "stroked", "flat", "iconOnly", "fab"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FlexLayoutModule }, { kind: "directive", type: i5.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
40
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxFilterWrapperComponent, isStandalone: true, selector: "dbx-filter-wrapper", inputs: { showButtons: { classPropertyName: "showButtons", publicName: "showButtons", isSignal: true, isRequired: false, transformFunction: null }, applyRaised: { classPropertyName: "applyRaised", publicName: "applyRaised", isSignal: true, isRequired: false, transformFunction: null }, applyIcon: { classPropertyName: "applyIcon", publicName: "applyIcon", isSignal: true, isRequired: false, transformFunction: null }, applyText: { classPropertyName: "applyText", publicName: "applyText", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideActionStoreSource(null)], usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-filter-wrapper\">\n <div class=\"dbx-filter-wrapper-content\">\n <ng-content></ng-content>\n </div>\n @if (showButtons()) {\n <div fxLayout=\"row\">\n <dbx-button dbxActionButton [raised]=\"applyRaised()\" [text]=\"applyText()\" [icon]=\"applyIcon()\"></dbx-button>\n <div class=\"spacer\"></div>\n <button mat-icon-button (click)=\"resetFilter()\">\n <mat-icon>clear</mat-icon>\n </button>\n </div>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: DbxButtonModule }, { kind: "directive", type: i1.DbxActionButtonDirective, selector: "[dbxActionButton]" }, { kind: "component", type: i2.DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor", "basic", "raised", "stroked", "flat", "iconOnly", "fab", "mode"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FlexLayoutModule }, { kind: "directive", type: i5.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
41
41
|
}
|
|
42
42
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFilterWrapperComponent, decorators: [{
|
|
43
43
|
type: Component,
|
|
44
44
|
args: [{ selector: 'dbx-filter-wrapper', providers: [provideActionStoreSource(null)], standalone: true, imports: [DbxButtonModule, MatButtonModule, MatIconModule, FlexLayoutModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"dbx-filter-wrapper\">\n <div class=\"dbx-filter-wrapper-content\">\n <ng-content></ng-content>\n </div>\n @if (showButtons()) {\n <div fxLayout=\"row\">\n <dbx-button dbxActionButton [raised]=\"applyRaised()\" [text]=\"applyText()\" [icon]=\"applyIcon()\"></dbx-button>\n <div class=\"spacer\"></div>\n <button mat-icon-button (click)=\"resetFilter()\">\n <mat-icon>clear</mat-icon>\n </button>\n </div>\n }\n</div>\n" }]
|
|
45
45
|
}], ctorParameters: () => [] });
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLndyYXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2ludGVyYWN0aW9uL2ZpbHRlci9maWx0ZXIud3JhcHBlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvaW50ZXJhY3Rpb24vZmlsdGVyL2ZpbHRlci53cmFwcGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsaUNBQWlDLEVBQUUscUJBQXFCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2SCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7OztBQUd6RDs7OztHQUlHO0FBU0gsTUFBTSxPQUFPLHlCQUF1QyxTQUFRLGlDQUFvQztJQUNyRixxQkFBcUIsR0FBRyxNQUFNLENBQUMsQ0FBQSxxQkFBd0IsQ0FBQSxDQUFDLENBQUM7SUFFekQsV0FBVyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixXQUFXLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLFNBQVMsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDakMsU0FBUyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUVyQztRQUNFLEtBQUssRUFBRSxDQUFDO1FBRVIsNkJBQTZCO1FBQzdCLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLE1BQVMsRUFBRSxRQUFrQyxFQUFFLEVBQUU7WUFDbEcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM3QyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLDBCQUEwQjtRQUMzRCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzNDLENBQUM7d0dBekJVLHlCQUF5Qjs0RkFBekIseUJBQXlCLHltQkFMekIsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxpRENoQjdDLHdkQWNBLDJDRElZLGVBQWUsbVlBQUUsZUFBZSwySUFBRSxhQUFhLG1MQUFFLGdCQUFnQjs7NEZBR2hFLHlCQUF5QjtrQkFSckMsU0FBUzsrQkFDRSxvQkFBb0IsYUFFbkIsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxjQUMvQixJQUFJLFdBQ1AsQ0FBQyxlQUFlLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxtQkFDM0QsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0RGJ4QWN0aW9uSGFuZGxlckRpcmVjdGl2ZSwgRmlsdGVyU291cmNlRGlyZWN0aXZlLCBwcm92aWRlQWN0aW9uU3RvcmVTb3VyY2UgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgRGJ4QnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4vLi4vYnV0dG9uL2J1dHRvbi5tb2R1bGUnO1xuaW1wb3J0IHsgRmxleExheW91dE1vZHVsZSB9IGZyb20gJ0BuZ2JyYWNrZXQvbmd4LWxheW91dCc7XG5pbXBvcnQgeyBXb3JrSW5zdGFuY2UgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcblxuLyoqXG4gKiBBY3Rpb24gY29tcG9uZW50IHVzZWQgdG8gc2ltcGxpZnkgY3JlYXRpbmcgYSBmaWx0ZXIgZm9ybS5cbiAqXG4gKiBQcm92aWRlcyBhIERieEFjdGlvbiBhbmQgY29uZmlndXJlcyB0aGUgYWN0aW9uIHRvIHNldCB0aGUgZmlsdGVyIG9uIGEgRmlsdGVyU291cmNlRGlyZWN0aXZlIHdoZW4gdHJpZ2dlcmVkLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYngtZmlsdGVyLXdyYXBwZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsdGVyLndyYXBwZXIuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtwcm92aWRlQWN0aW9uU3RvcmVTb3VyY2UobnVsbCldLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbRGJ4QnV0dG9uTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdEljb25Nb2R1bGUsIEZsZXhMYXlvdXRNb2R1bGVdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaWx0ZXJXcmFwcGVyQ29tcG9uZW50PEYgPSB1bmtub3duPiBleHRlbmRzIEFic3RyYWN0RGJ4QWN0aW9uSGFuZGxlckRpcmVjdGl2ZTxGPiB7XG4gIHJlYWRvbmx5IGZpbHRlclNvdXJjZURpcmVjdGl2ZSA9IGluamVjdChGaWx0ZXJTb3VyY2VEaXJlY3RpdmU8Rj4pO1xuXG4gIHJlYWRvbmx5IHNob3dCdXR0b25zID0gaW5wdXQodHJ1ZSk7XG4gIHJlYWRvbmx5IGFwcGx5UmFpc2VkID0gaW5wdXQodHJ1ZSk7XG4gIHJlYWRvbmx5IGFwcGx5SWNvbiA9IGlucHV0KCdmaWx0ZXJfbGlzdCcpO1xuICByZWFkb25seSBhcHBseVRleHQgPSBpbnB1dCgnRmlsdGVyJyk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIC8vIGNvbmZpZ3VyZSBoYW5kbGVyIGZ1bmN0aW9uXG4gICAgdGhpcy5fZGJ4QWN0aW9uSGFuZGxlckluc3RhbmNlLnNldEhhbmRsZXJGdW5jdGlvbigoZmlsdGVyOiBGLCBpbnN0YW5jZTogV29ya0luc3RhbmNlPEYsIHVua25vd24+KSA9PiB7XG4gICAgICB0aGlzLmZpbHRlclNvdXJjZURpcmVjdGl2ZS5zZXRGaWx0ZXIoZmlsdGVyKTtcbiAgICAgIGluc3RhbmNlLnN1Y2Nlc3ModHJ1ZSk7XG4gICAgfSk7XG4gIH1cblxuICBhcHBseUZpbHRlcigpOiB2b2lkIHtcbiAgICB0aGlzLnNvdXJjZS5zZXRJc01vZGlmaWVkKHRydWUpOyAvLyBGb3JjZSBzZXR0aW5nIG1vZGlmaWVkLlxuICAgIHRoaXMuc291cmNlLnRyaWdnZXIoKTtcbiAgfVxuXG4gIHJlc2V0RmlsdGVyKCk6IHZvaWQge1xuICAgIHRoaXMuZmlsdGVyU291cmNlRGlyZWN0aXZlLnJlc2V0RmlsdGVyKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkYngtZmlsdGVyLXdyYXBwZXJcIj5cbiAgPGRpdiBjbGFzcz1cImRieC1maWx0ZXItd3JhcHBlci1jb250ZW50XCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbiAgQGlmIChzaG93QnV0dG9ucygpKSB7XG4gICAgPGRpdiBmeExheW91dD1cInJvd1wiPlxuICAgICAgPGRieC1idXR0b24gZGJ4QWN0aW9uQnV0dG9uIFtyYWlzZWRdPVwiYXBwbHlSYWlzZWQoKVwiIFt0ZXh0XT1cImFwcGx5VGV4dCgpXCIgW2ljb25dPVwiYXBwbHlJY29uKClcIj48L2RieC1idXR0b24+XG4gICAgICA8ZGl2IGNsYXNzPVwic3BhY2VyXCI+PC9kaXY+XG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwicmVzZXRGaWx0ZXIoKVwiPlxuICAgICAgICA8bWF0LWljb24+Y2xlYXI8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIH1cbjwvZGl2PlxuIl19
|
|
@@ -5,4 +5,5 @@ export * from './popover';
|
|
|
5
5
|
export * from './popup';
|
|
6
6
|
export * from './prompt';
|
|
7
7
|
export * from './interaction.module';
|
|
8
|
-
|
|
8
|
+
export * from './upload';
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvaW50ZXJhY3Rpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGlhbG9nJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vaWZyYW1lJztcbmV4cG9ydCAqIGZyb20gJy4vcG9wb3Zlcic7XG5leHBvcnQgKiBmcm9tICcuL3BvcHVwJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvbXB0JztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJhY3Rpb24ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vdXBsb2FkJztcbiJdfQ==
|
|
@@ -52,7 +52,7 @@ export class DbxPopupControlButtonsComponent {
|
|
|
52
52
|
}
|
|
53
53
|
<dbx-button-spacer></dbx-button-spacer>
|
|
54
54
|
<dbx-button [flat]="true" icon="close" color="warn" (buttonClick)="closeClicked()"></dbx-button>
|
|
55
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: DbxButtonModule }, { kind: "component", type: i1.DbxButtonComponent, selector: "dbx-button", inputs: ["type", "buttonStyle", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor", "basic", "raised", "stroked", "flat", "iconOnly", "fab"] }, { kind: "directive", type: i2.DbxButtonSpacerDirective, selector: "dbx-button-spacer,[dbxButtonSpacer]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
55
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: DbxButtonModule }, { kind: "component", type: i1.DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor", "basic", "raised", "stroked", "flat", "iconOnly", "fab", "mode"] }, { kind: "directive", type: i2.DbxButtonSpacerDirective, selector: "dbx-button-spacer,[dbxButtonSpacer]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
56
56
|
}
|
|
57
57
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxPopupControlButtonsComponent, decorators: [{
|
|
58
58
|
type: Component,
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { computed, Directive, input, signal } from '@angular/core';
|
|
2
|
+
import { isDefinedAndNotFalse } from '@dereekb/util';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class AbstractDbxFileUploadComponent {
|
|
5
|
+
/**
|
|
6
|
+
* Whether or not multiple files can be uploaded.
|
|
7
|
+
*/
|
|
8
|
+
multiple = input(undefined, { transform: (x) => x === '' || x });
|
|
9
|
+
/**
|
|
10
|
+
* Accepted file types filter.
|
|
11
|
+
*/
|
|
12
|
+
accept = input([]);
|
|
13
|
+
/**
|
|
14
|
+
* This disabled is input-only
|
|
15
|
+
*/
|
|
16
|
+
disabled = input();
|
|
17
|
+
/**
|
|
18
|
+
* This working is input-only
|
|
19
|
+
*/
|
|
20
|
+
working = input();
|
|
21
|
+
/**
|
|
22
|
+
* This signal is set by setMultiple
|
|
23
|
+
*/
|
|
24
|
+
_multipleSignal = signal(undefined);
|
|
25
|
+
/**
|
|
26
|
+
* This signal is set by setAccept
|
|
27
|
+
*/
|
|
28
|
+
_acceptSignal = signal(undefined);
|
|
29
|
+
/**
|
|
30
|
+
* This signal is set by setDisabled
|
|
31
|
+
*/
|
|
32
|
+
_disabledSignal = signal(undefined);
|
|
33
|
+
/**
|
|
34
|
+
* This signal is set by setWorking
|
|
35
|
+
*/
|
|
36
|
+
_workingSignal = signal(undefined);
|
|
37
|
+
multipleSignal = computed(() => {
|
|
38
|
+
const multipleInput = this.multiple();
|
|
39
|
+
const multipleSignal = this._multipleSignal();
|
|
40
|
+
return multipleSignal ?? multipleInput;
|
|
41
|
+
});
|
|
42
|
+
acceptSignal = computed(() => {
|
|
43
|
+
const acceptInput = this.accept();
|
|
44
|
+
const acceptSignal = this._acceptSignal();
|
|
45
|
+
return acceptSignal ?? acceptInput;
|
|
46
|
+
});
|
|
47
|
+
disabledSignal = computed(() => {
|
|
48
|
+
const disabledInput = this.disabled();
|
|
49
|
+
const disabledSignal = this._disabledSignal();
|
|
50
|
+
const workingSignal = this.isWorkingSignal();
|
|
51
|
+
// disabled if any are true
|
|
52
|
+
return disabledInput || disabledSignal || workingSignal;
|
|
53
|
+
});
|
|
54
|
+
workingSignal = computed(() => {
|
|
55
|
+
const workingInput = this.working();
|
|
56
|
+
const workingSignal = this._workingSignal();
|
|
57
|
+
return workingSignal ?? workingInput;
|
|
58
|
+
});
|
|
59
|
+
isWorkingSignal = computed(() => {
|
|
60
|
+
const working = this.workingSignal();
|
|
61
|
+
return isDefinedAndNotFalse(working);
|
|
62
|
+
});
|
|
63
|
+
// MARK: DbxUploadActionCompatable
|
|
64
|
+
setDisabled(disabled) {
|
|
65
|
+
this._disabledSignal.set(disabled);
|
|
66
|
+
}
|
|
67
|
+
setWorking(working) {
|
|
68
|
+
this._workingSignal.set(working);
|
|
69
|
+
}
|
|
70
|
+
setMultiple(multiple) {
|
|
71
|
+
this._multipleSignal.set(multiple);
|
|
72
|
+
}
|
|
73
|
+
setAccept(accept) {
|
|
74
|
+
this._acceptSignal.set(accept);
|
|
75
|
+
}
|
|
76
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxFileUploadComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
77
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: AbstractDbxFileUploadComponent, isStandalone: true, inputs: { multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, accept: { classPropertyName: "accept", publicName: "accept", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, working: { classPropertyName: "working", publicName: "working", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
|
|
78
|
+
}
|
|
79
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxFileUploadComponent, decorators: [{
|
|
80
|
+
type: Directive,
|
|
81
|
+
args: [{
|
|
82
|
+
standalone: true
|
|
83
|
+
}]
|
|
84
|
+
}] });
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QudXBsb2FkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9pbnRlcmFjdGlvbi91cGxvYWQvYWJzdHJhY3QudXBsb2FkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxvQkFBb0IsRUFBUyxNQUFNLGVBQWUsQ0FBQzs7QUFjNUQsTUFBTSxPQUFnQiw4QkFBOEI7SUFDbEQ7O09BRUc7SUFDTSxRQUFRLEdBQUcsS0FBSyxDQUFzQyxTQUFTLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUUvRzs7T0FFRztJQUNNLE1BQU0sR0FBRyxLQUFLLENBQXVDLEVBQUUsQ0FBQyxDQUFDO0lBRWxFOztPQUVHO0lBQ00sUUFBUSxHQUFHLEtBQUssRUFBa0IsQ0FBQztJQUU1Qzs7T0FFRztJQUNNLE9BQU8sR0FBRyxLQUFLLEVBQTJCLENBQUM7SUFFcEQ7O09BRUc7SUFDYyxlQUFlLEdBQUcsTUFBTSxDQUFpQixTQUFTLENBQUMsQ0FBQztJQUVyRTs7T0FFRztJQUNjLGFBQWEsR0FBRyxNQUFNLENBQThDLFNBQVMsQ0FBQyxDQUFDO0lBRWhHOztPQUVHO0lBQ2MsZUFBZSxHQUFHLE1BQU0sQ0FBaUIsU0FBUyxDQUFDLENBQUM7SUFFckU7O09BRUc7SUFDYyxjQUFjLEdBQUcsTUFBTSxDQUEwQixTQUFTLENBQUMsQ0FBQztJQUVwRSxjQUFjLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUN0QyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzlDLE9BQU8sY0FBYyxJQUFJLGFBQWEsQ0FBQztJQUN6QyxDQUFDLENBQUMsQ0FBQztJQUVNLFlBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ3BDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNsQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDMUMsT0FBTyxZQUFZLElBQUksV0FBVyxDQUFDO0lBQ3JDLENBQUMsQ0FBQyxDQUFDO0lBRU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDdEMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3RDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUM5QyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFN0MsMkJBQTJCO1FBQzNCLE9BQU8sYUFBYSxJQUFJLGNBQWMsSUFBSSxhQUFhLENBQUM7SUFDMUQsQ0FBQyxDQUFDLENBQUM7SUFFTSxhQUFhLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUNyQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDcEMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzVDLE9BQU8sYUFBYSxJQUFJLFlBQVksQ0FBQztJQUN2QyxDQUFDLENBQUMsQ0FBQztJQUVNLGVBQWUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ3ZDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQyxPQUFPLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZDLENBQUMsQ0FBQyxDQUFDO0lBRUgsa0NBQWtDO0lBQ2xDLFdBQVcsQ0FBQyxRQUF5QjtRQUNuQyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWlDO1FBQzFDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxXQUFXLENBQUMsUUFBeUI7UUFDbkMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFvRDtRQUM1RCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQyxDQUFDO3dHQXhGbUIsOEJBQThCOzRGQUE5Qiw4QkFBOEI7OzRGQUE5Qiw4QkFBOEI7a0JBSG5ELFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIERpcmVjdGl2ZSwgaW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNEZWZpbmVkQW5kTm90RmFsc2UsIE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBGaWxlQXJyYXlBY2NlcHRNYXRjaENvbmZpZywgRmlsZUFycmF5QWNjZXB0TWF0Y2hSZXN1bHQgfSBmcm9tICcuL3VwbG9hZC5hY2NlcHQnO1xuaW1wb3J0IHsgRGJ4RmlsZVVwbG9hZEFjdGlvbkNvbXBhdGFibGUgfSBmcm9tICcuL3VwbG9hZC5hY3Rpb24nO1xuaW1wb3J0IHsgRGJ4QnV0dG9uV29ya2luZyB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcblxuLy8gTUFSSzogQWJzdHJhY3RcbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RmlsZVVwbG9hZEZpbGVzQ2hhbmdlZEV2ZW50IHtcbiAgcmVhZG9ubHkgYWxsRmlsZXM6IEZpbGVbXTtcbiAgcmVhZG9ubHkgbWF0Y2hSZXN1bHQ6IEZpbGVBcnJheUFjY2VwdE1hdGNoUmVzdWx0O1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdERieEZpbGVVcGxvYWRDb21wb25lbnQgaW1wbGVtZW50cyBEYnhGaWxlVXBsb2FkQWN0aW9uQ29tcGF0YWJsZSB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCBtdWx0aXBsZSBmaWxlcyBjYW4gYmUgdXBsb2FkZWQuXG4gICAqL1xuICByZWFkb25seSBtdWx0aXBsZSA9IGlucHV0PE1heWJlPGJvb2xlYW4+LCBNYXliZTxib29sZWFuIHwgJyc+Pih1bmRlZmluZWQsIHsgdHJhbnNmb3JtOiAoeCkgPT4geCA9PT0gJycgfHwgeCB9KTtcblxuICAvKipcbiAgICogQWNjZXB0ZWQgZmlsZSB0eXBlcyBmaWx0ZXIuXG4gICAqL1xuICByZWFkb25seSBhY2NlcHQgPSBpbnB1dDxGaWxlQXJyYXlBY2NlcHRNYXRjaENvbmZpZ1snYWNjZXB0J10+KFtdKTtcblxuICAvKipcbiAgICogVGhpcyBkaXNhYmxlZCBpcyBpbnB1dC1vbmx5XG4gICAqL1xuICByZWFkb25seSBkaXNhYmxlZCA9IGlucHV0PE1heWJlPGJvb2xlYW4+PigpO1xuXG4gIC8qKlxuICAgKiBUaGlzIHdvcmtpbmcgaXMgaW5wdXQtb25seVxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2luZyA9IGlucHV0PE1heWJlPERieEJ1dHRvbldvcmtpbmc+PigpO1xuXG4gIC8qKlxuICAgKiBUaGlzIHNpZ25hbCBpcyBzZXQgYnkgc2V0TXVsdGlwbGVcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgX211bHRpcGxlU2lnbmFsID0gc2lnbmFsPE1heWJlPGJvb2xlYW4+Pih1bmRlZmluZWQpO1xuXG4gIC8qKlxuICAgKiBUaGlzIHNpZ25hbCBpcyBzZXQgYnkgc2V0QWNjZXB0XG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9hY2NlcHRTaWduYWwgPSBzaWduYWw8TWF5YmU8RmlsZUFycmF5QWNjZXB0TWF0Y2hDb25maWdbJ2FjY2VwdCddPj4odW5kZWZpbmVkKTtcblxuICAvKipcbiAgICogVGhpcyBzaWduYWwgaXMgc2V0IGJ5IHNldERpc2FibGVkXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9kaXNhYmxlZFNpZ25hbCA9IHNpZ25hbDxNYXliZTxib29sZWFuPj4odW5kZWZpbmVkKTtcblxuICAvKipcbiAgICogVGhpcyBzaWduYWwgaXMgc2V0IGJ5IHNldFdvcmtpbmdcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgX3dvcmtpbmdTaWduYWwgPSBzaWduYWw8TWF5YmU8RGJ4QnV0dG9uV29ya2luZz4+KHVuZGVmaW5lZCk7XG5cbiAgcmVhZG9ubHkgbXVsdGlwbGVTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgbXVsdGlwbGVJbnB1dCA9IHRoaXMubXVsdGlwbGUoKTtcbiAgICBjb25zdCBtdWx0aXBsZVNpZ25hbCA9IHRoaXMuX211bHRpcGxlU2lnbmFsKCk7XG4gICAgcmV0dXJuIG11bHRpcGxlU2lnbmFsID8/IG11bHRpcGxlSW5wdXQ7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IGFjY2VwdFNpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBhY2NlcHRJbnB1dCA9IHRoaXMuYWNjZXB0KCk7XG4gICAgY29uc3QgYWNjZXB0U2lnbmFsID0gdGhpcy5fYWNjZXB0U2lnbmFsKCk7XG4gICAgcmV0dXJuIGFjY2VwdFNpZ25hbCA/PyBhY2NlcHRJbnB1dDtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgZGlzYWJsZWRTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgZGlzYWJsZWRJbnB1dCA9IHRoaXMuZGlzYWJsZWQoKTtcbiAgICBjb25zdCBkaXNhYmxlZFNpZ25hbCA9IHRoaXMuX2Rpc2FibGVkU2lnbmFsKCk7XG4gICAgY29uc3Qgd29ya2luZ1NpZ25hbCA9IHRoaXMuaXNXb3JraW5nU2lnbmFsKCk7XG5cbiAgICAvLyBkaXNhYmxlZCBpZiBhbnkgYXJlIHRydWVcbiAgICByZXR1cm4gZGlzYWJsZWRJbnB1dCB8fCBkaXNhYmxlZFNpZ25hbCB8fCB3b3JraW5nU2lnbmFsO1xuICB9KTtcblxuICByZWFkb25seSB3b3JraW5nU2lnbmFsID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHdvcmtpbmdJbnB1dCA9IHRoaXMud29ya2luZygpO1xuICAgIGNvbnN0IHdvcmtpbmdTaWduYWwgPSB0aGlzLl93b3JraW5nU2lnbmFsKCk7XG4gICAgcmV0dXJuIHdvcmtpbmdTaWduYWwgPz8gd29ya2luZ0lucHV0O1xuICB9KTtcblxuICByZWFkb25seSBpc1dvcmtpbmdTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3Qgd29ya2luZyA9IHRoaXMud29ya2luZ1NpZ25hbCgpO1xuICAgIHJldHVybiBpc0RlZmluZWRBbmROb3RGYWxzZSh3b3JraW5nKTtcbiAgfSk7XG5cbiAgLy8gTUFSSzogRGJ4VXBsb2FkQWN0aW9uQ29tcGF0YWJsZVxuICBzZXREaXNhYmxlZChkaXNhYmxlZD86IE1heWJlPGJvb2xlYW4+KTogdm9pZCB7XG4gICAgdGhpcy5fZGlzYWJsZWRTaWduYWwuc2V0KGRpc2FibGVkKTtcbiAgfVxuXG4gIHNldFdvcmtpbmcod29ya2luZz86IE1heWJlPERieEJ1dHRvbldvcmtpbmc+KTogdm9pZCB7XG4gICAgdGhpcy5fd29ya2luZ1NpZ25hbC5zZXQod29ya2luZyk7XG4gIH1cblxuICBzZXRNdWx0aXBsZShtdWx0aXBsZT86IE1heWJlPGJvb2xlYW4+KTogdm9pZCB7XG4gICAgdGhpcy5fbXVsdGlwbGVTaWduYWwuc2V0KG11bHRpcGxlKTtcbiAgfVxuXG4gIHNldEFjY2VwdChhY2NlcHQ/OiBNYXliZTxGaWxlQXJyYXlBY2NlcHRNYXRjaENvbmZpZ1snYWNjZXB0J10+KTogdm9pZCB7XG4gICAgdGhpcy5fYWNjZXB0U2lnbmFsLnNldChhY2NlcHQpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './abstract.upload.component';
|
|
2
|
+
export * from './upload.accept';
|
|
3
|
+
export * from './upload.area.component';
|
|
4
|
+
export * from './upload.button.component';
|
|
5
|
+
export * from './upload.component';
|
|
6
|
+
export * from './upload.action';
|
|
7
|
+
export * from './upload.action.directive';
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvaW50ZXJhY3Rpb24vdXBsb2FkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Fic3RyYWN0LnVwbG9hZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi91cGxvYWQuYWNjZXB0JztcbmV4cG9ydCAqIGZyb20gJy4vdXBsb2FkLmFyZWEuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdXBsb2FkLmJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi91cGxvYWQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdXBsb2FkLmFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3VwbG9hZC5hY3Rpb24uZGlyZWN0aXZlJztcbiJdfQ==
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { asDecisionFunction, separateValues, SLASH_PATH_FILE_TYPE_SEPARATOR, splitFront } from '@dereekb/util';
|
|
2
|
+
/**
|
|
3
|
+
* Returns a string that can be used as the "accept" attribute of a file input element.
|
|
4
|
+
*
|
|
5
|
+
* @param accept
|
|
6
|
+
* @returns
|
|
7
|
+
*/
|
|
8
|
+
export function fileAcceptString(accept) {
|
|
9
|
+
return typeof accept === 'string' ? accept : accept.join(',');
|
|
10
|
+
}
|
|
11
|
+
export function fileAcceptFilterTypeStringArray(accept) {
|
|
12
|
+
return typeof accept === 'string' ? accept.split(',').map((x) => x.trim()) : accept;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Creates a FileArrayAcceptMatchFunction from the input.
|
|
16
|
+
*/
|
|
17
|
+
export function fileArrayAcceptMatchFunction(config) {
|
|
18
|
+
const multiple = config.multiple ?? true;
|
|
19
|
+
const isAcceptedFunction = typeof config.accept === 'function' ? config.accept : fileAcceptFunction(config.accept);
|
|
20
|
+
return (input) => {
|
|
21
|
+
const { included: acceptedType, excluded: rejectedType } = separateValues(input, isAcceptedFunction);
|
|
22
|
+
let accepted = acceptedType;
|
|
23
|
+
let rejected = rejectedType;
|
|
24
|
+
if (!multiple) {
|
|
25
|
+
const front = splitFront(acceptedType, 1);
|
|
26
|
+
accepted = front.front;
|
|
27
|
+
rejected = [...rejectedType, ...front.remaining];
|
|
28
|
+
}
|
|
29
|
+
return { multiple, input, accepted, rejected, acceptedType, rejectedType };
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Creates a FileAcceptFunction from the input.
|
|
34
|
+
*
|
|
35
|
+
* @param accept
|
|
36
|
+
* @returns
|
|
37
|
+
*/
|
|
38
|
+
export function fileAcceptFunction(accept) {
|
|
39
|
+
const acceptList = fileAcceptFilterTypeStringArray(accept);
|
|
40
|
+
let fileAcceptFunction;
|
|
41
|
+
if (acceptList.length === 0) {
|
|
42
|
+
fileAcceptFunction = asDecisionFunction(true);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
const hasWildcard = acceptList.some((x) => x === '*');
|
|
46
|
+
if (hasWildcard) {
|
|
47
|
+
fileAcceptFunction = asDecisionFunction(true);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
const isAcceptedFunctions = acceptList.map((x) => {
|
|
51
|
+
if (x[0] === SLASH_PATH_FILE_TYPE_SEPARATOR) {
|
|
52
|
+
// is a SlashPathTypedFileSuffix
|
|
53
|
+
return (input) => input.name.endsWith(x);
|
|
54
|
+
}
|
|
55
|
+
else if (x.endsWith('/*')) {
|
|
56
|
+
// is a MimeTypeWildcardWithoutParameters
|
|
57
|
+
const mimeTypePrefix = x.slice(0, -2);
|
|
58
|
+
return (input) => input.type.startsWith(mimeTypePrefix);
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
// treat as a MimeTypeWithoutParameters
|
|
62
|
+
return (input) => input.type === x;
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
fileAcceptFunction = (input) => {
|
|
66
|
+
return isAcceptedFunctions.findIndex((x) => x(input)) !== -1;
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return fileAcceptFunction;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLmFjY2VwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9pbnRlcmFjdGlvbi91cGxvYWQvdXBsb2FkLmFjY2VwdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQTZGLGNBQWMsRUFBRSw4QkFBOEIsRUFBNEIsVUFBVSxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQU90UDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxNQUEwRDtJQUN6RixPQUFPLE9BQU8sTUFBTSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2hFLENBQUM7QUFjRCxNQUFNLFVBQVUsK0JBQStCLENBQUMsTUFBMEQ7SUFDeEcsT0FBTyxPQUFPLE1BQU0sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0FBQ3RGLENBQUM7QUFnREQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsNEJBQTRCLENBQUMsTUFBa0M7SUFDN0UsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUM7SUFDekMsTUFBTSxrQkFBa0IsR0FBRyxPQUFPLE1BQU0sQ0FBQyxNQUFNLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFbkgsT0FBTyxDQUFDLEtBQWEsRUFBRSxFQUFFO1FBQ3ZCLE1BQU0sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsR0FBRyxjQUFjLENBQUMsS0FBSyxFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFDckcsSUFBSSxRQUFRLEdBQUcsWUFBWSxDQUFDO1FBQzVCLElBQUksUUFBUSxHQUFHLFlBQVksQ0FBQztRQUU1QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDZCxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzFDLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ3ZCLFFBQVEsR0FBRyxDQUFDLEdBQUcsWUFBWSxFQUFFLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ25ELENBQUM7UUFFRCxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsQ0FBQztJQUM3RSxDQUFDLENBQUM7QUFDSixDQUFDO0FBY0Q7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsTUFBMEQ7SUFDM0YsTUFBTSxVQUFVLEdBQUcsK0JBQStCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0QsSUFBSSxrQkFBc0MsQ0FBQztJQUUzQyxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDNUIsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7UUFFdEQsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNoQixrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoRCxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sbUJBQW1CLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUMvQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyw4QkFBOEIsRUFBRSxDQUFDO29CQUM1QyxnQ0FBZ0M7b0JBQ2hDLE9BQU8sQ0FBQyxLQUE4QixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDcEUsQ0FBQztxQkFBTSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDNUIseUNBQXlDO29CQUN6QyxNQUFNLGNBQWMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUN0QyxPQUFPLENBQUMsS0FBOEIsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUM7Z0JBQ25GLENBQUM7cUJBQU0sQ0FBQztvQkFDTix1Q0FBdUM7b0JBQ3ZDLE9BQU8sQ0FBQyxLQUE4QixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQztnQkFDOUQsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1lBRUgsa0JBQWtCLEdBQUcsQ0FBQyxLQUE4QixFQUFFLEVBQUU7Z0JBQ3RELE9BQU8sbUJBQW1CLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUMvRCxDQUFDLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sa0JBQWtCLENBQUM7QUFDNUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFzRGVjaXNpb25GdW5jdGlvbiwgRGVjaXNpb25GdW5jdGlvbiwgTWltZVR5cGVXaXRoU3VidHlwZVdpbGRjYXJkV2l0aG91dFBhcmFtZXRlcnMsIE1pbWVUeXBlV2l0aG91dFBhcmFtZXRlcnMsIHNlcGFyYXRlVmFsdWVzLCBTTEFTSF9QQVRIX0ZJTEVfVFlQRV9TRVBBUkFUT1IsIFNsYXNoUGF0aFR5cGVkRmlsZVN1ZmZpeCwgc3BsaXRGcm9udCwgTWltZVR5cGVXaWxkY2FyZCB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuXG4vKipcbiAqIFN0cmluZyB1c2VkIGFzIGlucHV0IGZvciB0aGUgXCJhY2NlcHRcIiBhdHRyaWJ1dGUgb2YgYSBmaWxlIGlucHV0IGVsZW1lbnQuXG4gKi9cbmV4cG9ydCB0eXBlIEZpbGVBY2NlcHRTdHJpbmcgPSBzdHJpbmc7XG5cbi8qKlxuICogUmV0dXJucyBhIHN0cmluZyB0aGF0IGNhbiBiZSB1c2VkIGFzIHRoZSBcImFjY2VwdFwiIGF0dHJpYnV0ZSBvZiBhIGZpbGUgaW5wdXQgZWxlbWVudC5cbiAqXG4gKiBAcGFyYW0gYWNjZXB0XG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZmlsZUFjY2VwdFN0cmluZyhhY2NlcHQ6IEZpbGVBY2NlcHRTdHJpbmcgfCBGaWxlQWNjZXB0RmlsdGVyVHlwZVN0cmluZ0FycmF5KTogRmlsZUFjY2VwdFN0cmluZyB7XG4gIHJldHVybiB0eXBlb2YgYWNjZXB0ID09PSAnc3RyaW5nJyA/IGFjY2VwdCA6IGFjY2VwdC5qb2luKCcsJyk7XG59XG5cbi8qKlxuICogQSBzdHJpbmcgdGhhdCBkZXNjcmliZXMgYSB0eXBlIG9mIGZpbGUgdGhhdCBjYW4gYmUgc2VsZWN0ZWQuXG4gKlxuICogQ2FuIGVpdGhlciBiZSBhIG1pbWUgdHlwZSBvciBhIGZpbGUgc3VmZml4LlxuICovXG5leHBvcnQgdHlwZSBGaWxlQWNjZXB0RmlsdGVyVHlwZVN0cmluZyA9IE1pbWVUeXBlV2lsZGNhcmQgfCBNaW1lVHlwZVdpdGhvdXRQYXJhbWV0ZXJzIHwgTWltZVR5cGVXaXRoU3VidHlwZVdpbGRjYXJkV2l0aG91dFBhcmFtZXRlcnMgfCBTbGFzaFBhdGhUeXBlZEZpbGVTdWZmaXg7XG5cbi8qKlxuICogQW4gYXJyYXkgb2YgZmlsZSBhY2NlcHQgZmlsdGVyIHR5cGUgc3RyaW5ncy5cbiAqL1xuZXhwb3J0IHR5cGUgRmlsZUFjY2VwdEZpbHRlclR5cGVTdHJpbmdBcnJheSA9IEZpbGVBY2NlcHRGaWx0ZXJUeXBlU3RyaW5nW107XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWxlQWNjZXB0RmlsdGVyVHlwZVN0cmluZ0FycmF5KGFjY2VwdDogRmlsZUFjY2VwdFN0cmluZyB8IEZpbGVBY2NlcHRGaWx0ZXJUeXBlU3RyaW5nQXJyYXkpOiBGaWxlQWNjZXB0RmlsdGVyVHlwZVN0cmluZ0FycmF5IHtcbiAgcmV0dXJuIHR5cGVvZiBhY2NlcHQgPT09ICdzdHJpbmcnID8gYWNjZXB0LnNwbGl0KCcsJykubWFwKCh4KSA9PiB4LnRyaW0oKSkgOiBhY2NlcHQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsZUFycmF5QWNjZXB0TWF0Y2hDb25maWcge1xuICByZWFkb25seSBhY2NlcHQ6IEZpbGVBY2NlcHRGdW5jdGlvbiB8IEZpbGVBY2NlcHRTdHJpbmcgfCBGaWxlQWNjZXB0RmlsdGVyVHlwZVN0cmluZ0FycmF5O1xuICAvKipcbiAgICogSWYgZmFsc2UsIHRoZW4gb25seSB0aGUgZmlyc3QgZmlsZSB3aWxsIGJlIGFjY2VwdGVkLlxuICAgKlxuICAgKiBEZWZhdWx0cyB0byB0cnVlLlxuICAgKi9cbiAgcmVhZG9ubHkgbXVsdGlwbGU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpbGVBcnJheUFjY2VwdE1hdGNoUmVzdWx0IHtcbiAgLyoqXG4gICAqIElmIG11bHRpcGxlIGlzIGFsbG93ZWQgb3Igbm90LlxuICAgKi9cbiAgcmVhZG9ubHkgbXVsdGlwbGU6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgaW5wdXQgZmlsZXMuXG4gICAqL1xuICByZWFkb25seSBpbnB1dDogRmlsZVtdO1xuICAvKipcbiAgICogVGhlIGZpbmFsIGxpc3Qgb2YgYWNjZXB0ZWQgZmlsZXMuXG4gICAqL1xuICByZWFkb25seSBhY2NlcHRlZDogRmlsZVtdO1xuICAvKipcbiAgICogVGhlIGZpbmFsIGxpc3Qgb2YgcmVqZWN0ZWQgZmlsZXMuXG4gICAqL1xuICByZWFkb25seSByZWplY3RlZDogRmlsZVtdO1xuICAvKipcbiAgICogVGhlIGxpc3Qgb2YgYWNjZXB0ZWQgZmlsZXMgYmFzZWQgb24gdGhlIGZpbGUgdHlwZS5cbiAgICpcbiAgICogSWYgbXVsdGlwbGUgaXMgZmFsc2UsIGFsbCBmaWxlcyB0aGF0IHdvdWxkIGhhdmUgYmVlbiBhY2NlcHRlZCBhcmUgaW5jbHVkZWQgaGVyZS5cbiAgICovXG4gIHJlYWRvbmx5IGFjY2VwdGVkVHlwZTogRmlsZVtdO1xuICAvKipcbiAgICogVGhlIGxpc3Qgb2YgcmVqZWN0ZWQgZmlsZXMgYmFzZWQgb24gdGhlIGZpbGUgdHlwZS5cbiAgICpcbiAgICogSWYgbXVsdGlwbGUgaXMgZmFsc2UsIG9ubHkgZmlsZXMgdGhhdCB3b3VsZCBoYXZlIGJlZW4gcmVqZWN0ZWQgYnkgdHlwZSBhcmUgaW5jbHVkZWQgaGVyZS5cbiAgICovXG4gIHJlYWRvbmx5IHJlamVjdGVkVHlwZTogRmlsZVtdO1xufVxuXG4vKipcbiAqIEEgZnVuY3Rpb24gdGhhdCBtYXRjaGVzIGFuIGFycmF5IG9mIGZpbGVzIGJhc2VkIG9uIHRoZSBpbnRlcm5hbCBjb25maWd1cmF0aW9uLlxuICovXG5leHBvcnQgdHlwZSBGaWxlQXJyYXlBY2NlcHRNYXRjaEZ1bmN0aW9uID0gKGlucHV0OiBGaWxlW10pID0+IEZpbGVBcnJheUFjY2VwdE1hdGNoUmVzdWx0O1xuXG4vKipcbiAqIENyZWF0ZXMgYSBGaWxlQXJyYXlBY2NlcHRNYXRjaEZ1bmN0aW9uIGZyb20gdGhlIGlucHV0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmlsZUFycmF5QWNjZXB0TWF0Y2hGdW5jdGlvbihjb25maWc6IEZpbGVBcnJheUFjY2VwdE1hdGNoQ29uZmlnKTogRmlsZUFycmF5QWNjZXB0TWF0Y2hGdW5jdGlvbiB7XG4gIGNvbnN0IG11bHRpcGxlID0gY29uZmlnLm11bHRpcGxlID8/IHRydWU7XG4gIGNvbnN0IGlzQWNjZXB0ZWRGdW5jdGlvbiA9IHR5cGVvZiBjb25maWcuYWNjZXB0ID09PSAnZnVuY3Rpb24nID8gY29uZmlnLmFjY2VwdCA6IGZpbGVBY2NlcHRGdW5jdGlvbihjb25maWcuYWNjZXB0KTtcblxuICByZXR1cm4gKGlucHV0OiBGaWxlW10pID0+IHtcbiAgICBjb25zdCB7IGluY2x1ZGVkOiBhY2NlcHRlZFR5cGUsIGV4Y2x1ZGVkOiByZWplY3RlZFR5cGUgfSA9IHNlcGFyYXRlVmFsdWVzKGlucHV0LCBpc0FjY2VwdGVkRnVuY3Rpb24pO1xuICAgIGxldCBhY2NlcHRlZCA9IGFjY2VwdGVkVHlwZTtcbiAgICBsZXQgcmVqZWN0ZWQgPSByZWplY3RlZFR5cGU7XG5cbiAgICBpZiAoIW11bHRpcGxlKSB7XG4gICAgICBjb25zdCBmcm9udCA9IHNwbGl0RnJvbnQoYWNjZXB0ZWRUeXBlLCAxKTtcbiAgICAgIGFjY2VwdGVkID0gZnJvbnQuZnJvbnQ7XG4gICAgICByZWplY3RlZCA9IFsuLi5yZWplY3RlZFR5cGUsIC4uLmZyb250LnJlbWFpbmluZ107XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgbXVsdGlwbGUsIGlucHV0LCBhY2NlcHRlZCwgcmVqZWN0ZWQsIGFjY2VwdGVkVHlwZSwgcmVqZWN0ZWRUeXBlIH07XG4gIH07XG59XG5cbi8qKlxuICogVHlwZSBvZiBpbnB1dCB1c2VkIGZvciBhIEZpbGVBY2NlcHRGdW5jdGlvbi5cbiAqXG4gKiBJc29sYXRlcyB0aGUgbmFtZSBhbmQgdHlwZSBmaWVsZHMgZnJvbSBhIEZpbGUuXG4gKi9cbmV4cG9ydCB0eXBlIEZpbGVBY2NlcHRGdW5jdGlvbklucHV0ID0gUGljazxGaWxlLCAnbmFtZScgfCAndHlwZSc+O1xuXG4vKipcbiAqIFVzZWQgdG8gZGV0ZXJtaW5lIGlmIGEgZmlsZSBpcyBhbiBhY2NlcHRlZCB0eXBlIGJhc2VkIG9uIHRoZSBpbnRlcm5hbCBjb25maWd1cmF0aW9uLlxuICovXG5leHBvcnQgdHlwZSBGaWxlQWNjZXB0RnVuY3Rpb24gPSBEZWNpc2lvbkZ1bmN0aW9uPEZpbGVBY2NlcHRGdW5jdGlvbklucHV0PjtcblxuLyoqXG4gKiBDcmVhdGVzIGEgRmlsZUFjY2VwdEZ1bmN0aW9uIGZyb20gdGhlIGlucHV0LlxuICpcbiAqIEBwYXJhbSBhY2NlcHRcbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaWxlQWNjZXB0RnVuY3Rpb24oYWNjZXB0OiBGaWxlQWNjZXB0U3RyaW5nIHwgRmlsZUFjY2VwdEZpbHRlclR5cGVTdHJpbmdBcnJheSk6IEZpbGVBY2NlcHRGdW5jdGlvbiB7XG4gIGNvbnN0IGFjY2VwdExpc3QgPSBmaWxlQWNjZXB0RmlsdGVyVHlwZVN0cmluZ0FycmF5KGFjY2VwdCk7XG4gIGxldCBmaWxlQWNjZXB0RnVuY3Rpb246IEZpbGVBY2NlcHRGdW5jdGlvbjtcblxuICBpZiAoYWNjZXB0TGlzdC5sZW5ndGggPT09IDApIHtcbiAgICBmaWxlQWNjZXB0RnVuY3Rpb24gPSBhc0RlY2lzaW9uRnVuY3Rpb24odHJ1ZSk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgaGFzV2lsZGNhcmQgPSBhY2NlcHRMaXN0LnNvbWUoKHgpID0+IHggPT09ICcqJyk7XG5cbiAgICBpZiAoaGFzV2lsZGNhcmQpIHtcbiAgICAgIGZpbGVBY2NlcHRGdW5jdGlvbiA9IGFzRGVjaXNpb25GdW5jdGlvbih0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgaXNBY2NlcHRlZEZ1bmN0aW9ucyA9IGFjY2VwdExpc3QubWFwKCh4KSA9PiB7XG4gICAgICAgIGlmICh4WzBdID09PSBTTEFTSF9QQVRIX0ZJTEVfVFlQRV9TRVBBUkFUT1IpIHtcbiAgICAgICAgICAvLyBpcyBhIFNsYXNoUGF0aFR5cGVkRmlsZVN1ZmZpeFxuICAgICAgICAgIHJldHVybiAoaW5wdXQ6IEZpbGVBY2NlcHRGdW5jdGlvbklucHV0KSA9PiBpbnB1dC5uYW1lLmVuZHNXaXRoKHgpO1xuICAgICAgICB9IGVsc2UgaWYgKHguZW5kc1dpdGgoJy8qJykpIHtcbiAgICAgICAgICAvLyBpcyBhIE1pbWVUeXBlV2lsZGNhcmRXaXRob3V0UGFyYW1ldGVyc1xuICAgICAgICAgIGNvbnN0IG1pbWVUeXBlUHJlZml4ID0geC5zbGljZSgwLCAtMik7XG4gICAgICAgICAgcmV0dXJuIChpbnB1dDogRmlsZUFjY2VwdEZ1bmN0aW9uSW5wdXQpID0+IGlucHV0LnR5cGUuc3RhcnRzV2l0aChtaW1lVHlwZVByZWZpeCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gdHJlYXQgYXMgYSBNaW1lVHlwZVdpdGhvdXRQYXJhbWV0ZXJzXG4gICAgICAgICAgcmV0dXJuIChpbnB1dDogRmlsZUFjY2VwdEZ1bmN0aW9uSW5wdXQpID0+IGlucHV0LnR5cGUgPT09IHg7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBmaWxlQWNjZXB0RnVuY3Rpb24gPSAoaW5wdXQ6IEZpbGVBY2NlcHRGdW5jdGlvbklucHV0KSA9PiB7XG4gICAgICAgIHJldHVybiBpc0FjY2VwdGVkRnVuY3Rpb25zLmZpbmRJbmRleCgoeCkgPT4geChpbnB1dCkpICE9PSAtMTtcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZpbGVBY2NlcHRGdW5jdGlvbjtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Directive, inject } from '@angular/core';
|
|
2
|
+
import { SubscriptionObject } from '@dereekb/rxjs';
|
|
3
|
+
import { DbxActionContextStoreSourceInstance } from '@dereekb/dbx-core';
|
|
4
|
+
import { DbxFileUploadActionCompatable } from './upload.action';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
/**
|
|
7
|
+
* Context used for linking a button to an ActionContext.
|
|
8
|
+
*/
|
|
9
|
+
export class DbxFileUploadActionSyncDirective {
|
|
10
|
+
source = inject(DbxActionContextStoreSourceInstance);
|
|
11
|
+
uploadCompatable = inject(DbxFileUploadActionCompatable);
|
|
12
|
+
_workingSub = new SubscriptionObject();
|
|
13
|
+
_disabledSub = new SubscriptionObject();
|
|
14
|
+
ngOnInit() {
|
|
15
|
+
this._workingSub.subscription = this.source.isWorkingOrWorkProgress$.subscribe((working) => {
|
|
16
|
+
this.uploadCompatable.setWorking(working);
|
|
17
|
+
});
|
|
18
|
+
this._disabledSub.subscription = this.source.isDisabled$.subscribe((disabled) => {
|
|
19
|
+
this.uploadCompatable.setDisabled(disabled);
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
ngOnDestroy() {
|
|
23
|
+
this._workingSub.destroy();
|
|
24
|
+
this._disabledSub.destroy();
|
|
25
|
+
}
|
|
26
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFileUploadActionSyncDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
27
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DbxFileUploadActionSyncDirective, isStandalone: true, selector: "[dbxFileUploadActionSync]", ngImport: i0 });
|
|
28
|
+
}
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFileUploadActionSyncDirective, decorators: [{
|
|
30
|
+
type: Directive,
|
|
31
|
+
args: [{
|
|
32
|
+
selector: '[dbxFileUploadActionSync]',
|
|
33
|
+
standalone: true
|
|
34
|
+
}]
|
|
35
|
+
}] });
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLmFjdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvaW50ZXJhY3Rpb24vdXBsb2FkL3VwbG9hZC5hY3Rpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRWhFOztHQUVHO0FBS0gsTUFBTSxPQUFPLGdDQUFnQztJQUNsQyxNQUFNLEdBQUcsTUFBTSxDQUFDLG1DQUFtQyxDQUFDLENBQUM7SUFDckQsZ0JBQWdCLEdBQUcsTUFBTSxDQUFnQyw2QkFBNkIsQ0FBQyxDQUFDO0lBRWhGLFdBQVcsR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7SUFDdkMsWUFBWSxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztJQUV6RCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN6RixJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVDLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDOUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzlCLENBQUM7d0dBcEJVLGdDQUFnQzs0RkFBaEMsZ0NBQWdDOzs0RkFBaEMsZ0NBQWdDO2tCQUo1QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgT25Jbml0LCBPbkRlc3Ryb3ksIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uT2JqZWN0IH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBEYnhBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VJbnN0YW5jZSB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IERieEZpbGVVcGxvYWRBY3Rpb25Db21wYXRhYmxlIH0gZnJvbSAnLi91cGxvYWQuYWN0aW9uJztcblxuLyoqXG4gKiBDb250ZXh0IHVzZWQgZm9yIGxpbmtpbmcgYSBidXR0b24gdG8gYW4gQWN0aW9uQ29udGV4dC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2RieEZpbGVVcGxvYWRBY3Rpb25TeW5jXScsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRGJ4RmlsZVVwbG9hZEFjdGlvblN5bmNEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHJlYWRvbmx5IHNvdXJjZSA9IGluamVjdChEYnhBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VJbnN0YW5jZSk7XG4gIHJlYWRvbmx5IHVwbG9hZENvbXBhdGFibGUgPSBpbmplY3Q8RGJ4RmlsZVVwbG9hZEFjdGlvbkNvbXBhdGFibGU+KERieEZpbGVVcGxvYWRBY3Rpb25Db21wYXRhYmxlKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF93b3JraW5nU3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9kaXNhYmxlZFN1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl93b3JraW5nU3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMuc291cmNlLmlzV29ya2luZ09yV29ya1Byb2dyZXNzJC5zdWJzY3JpYmUoKHdvcmtpbmcpID0+IHtcbiAgICAgIHRoaXMudXBsb2FkQ29tcGF0YWJsZS5zZXRXb3JraW5nKHdvcmtpbmcpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5fZGlzYWJsZWRTdWIuc3Vic2NyaXB0aW9uID0gdGhpcy5zb3VyY2UuaXNEaXNhYmxlZCQuc3Vic2NyaWJlKChkaXNhYmxlZCkgPT4ge1xuICAgICAgdGhpcy51cGxvYWRDb21wYXRhYmxlLnNldERpc2FibGVkKGRpc2FibGVkKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3dvcmtpbmdTdWIuZGVzdHJveSgpO1xuICAgIHRoaXMuX2Rpc2FibGVkU3ViLmRlc3Ryb3koKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { forwardRef } from '@angular/core';
|
|
2
|
+
/**
|
|
3
|
+
* Compatable interface for DbxUploadActionDirective.
|
|
4
|
+
*/
|
|
5
|
+
export class DbxFileUploadActionCompatable {
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Provides a DbxUploadActionCompatable for a given type.
|
|
9
|
+
*/
|
|
10
|
+
export function provideDbxFileUploadActionCompatable(sourceType) {
|
|
11
|
+
return [
|
|
12
|
+
{
|
|
13
|
+
provide: DbxFileUploadActionCompatable,
|
|
14
|
+
useExisting: forwardRef(() => sourceType)
|
|
15
|
+
}
|
|
16
|
+
];
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLmFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9pbnRlcmFjdGlvbi91cGxvYWQvdXBsb2FkLmFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtCLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUszRDs7R0FFRztBQUNILE1BQU0sT0FBZ0IsNkJBQTZCO0NBS2xEO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsb0NBQW9DLENBQTBDLFVBQW1CO0lBQy9HLE9BQU87UUFDTDtZQUNFLE9BQU8sRUFBRSw2QkFBNkI7WUFDdEMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUM7U0FDMUM7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUsIFByb3ZpZGVyLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgRmlsZUFycmF5QWNjZXB0TWF0Y2hDb25maWcgfSBmcm9tICcuL3VwbG9hZC5hY2NlcHQnO1xuaW1wb3J0IHsgRGJ4QnV0dG9uV29ya2luZyB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcblxuLyoqXG4gKiBDb21wYXRhYmxlIGludGVyZmFjZSBmb3IgRGJ4VXBsb2FkQWN0aW9uRGlyZWN0aXZlLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGJ4RmlsZVVwbG9hZEFjdGlvbkNvbXBhdGFibGUge1xuICBhYnN0cmFjdCBzZXREaXNhYmxlZChkaXNhYmxlZD86IE1heWJlPGJvb2xlYW4+KTogdm9pZDtcbiAgYWJzdHJhY3Qgc2V0V29ya2luZyh3b3JraW5nPzogTWF5YmU8RGJ4QnV0dG9uV29ya2luZz4pOiB2b2lkO1xuICBhYnN0cmFjdCBzZXRNdWx0aXBsZShtdWx0aXBsZT86IE1heWJlPGJvb2xlYW4+KTogdm9pZDtcbiAgYWJzdHJhY3Qgc2V0QWNjZXB0KGFjY2VwdD86IE1heWJlPEZpbGVBcnJheUFjY2VwdE1hdGNoQ29uZmlnWydhY2NlcHQnXT4pOiB2b2lkO1xufVxuXG4vKipcbiAqIFByb3ZpZGVzIGEgRGJ4VXBsb2FkQWN0aW9uQ29tcGF0YWJsZSBmb3IgYSBnaXZlbiB0eXBlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZURieEZpbGVVcGxvYWRBY3Rpb25Db21wYXRhYmxlPFMgZXh0ZW5kcyBEYnhGaWxlVXBsb2FkQWN0aW9uQ29tcGF0YWJsZT4oc291cmNlVHlwZTogVHlwZTxTPik6IFByb3ZpZGVyW10ge1xuICByZXR1cm4gW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IERieEZpbGVVcGxvYWRBY3Rpb25Db21wYXRhYmxlLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gc291cmNlVHlwZSlcbiAgICB9XG4gIF07XG59XG4iXX0=
|