@fundamental-ngx/core 0.47.4-rc.0 → 0.47.4-rc.2
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/busy-indicator/busy-indicator.component.mjs +3 -3
- package/esm2022/file-uploader/file-uploader.component.mjs +13 -13
- package/fesm2022/fundamental-ngx-core-busy-indicator.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-busy-indicator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-file-uploader.mjs +12 -12
- package/fesm2022/fundamental-ngx-core-file-uploader.mjs.map +1 -1
- package/file-uploader/file-uploader.component.d.ts +1 -1
- package/fundamental-ngx-core-v0.47.4-rc.2.tgz +0 -0
- package/package.json +3 -3
- package/schematics/add-dependencies/index.js +4 -4
- package/fundamental-ngx-core-v0.47.4-rc.0.tgz +0 -0
|
@@ -35,7 +35,7 @@ export class BusyIndicatorComponent {
|
|
|
35
35
|
provide: FD_BUSY_INDICATOR_COMPONENT,
|
|
36
36
|
useExisting: BusyIndicatorComponent
|
|
37
37
|
}
|
|
38
|
-
], viewQueries: [{ propertyName: "fakeFocusElement", first: true, predicate: ["fakeFocusElement"], descendants: true }], ngImport: i0, template: "<ng-content></ng-content>\n\n<ng-container *ngIf=\"loading\">\n <div\n #busyIndicator\n class=\"fd-busy-indicator\"\n [class.fd-busy-indicator--l]=\"size === 'l'\"\n [class.fd-busy-indicator--m]=\"size === 'm'\"\n [class.fd-busy-indicator--s]=\"size === 's'\"\n >\n <div class=\"fd-busy-indicator__circle\"></div>\n <div class=\"fd-busy-indicator__circle\"></div>\n <div class=\"fd-busy-indicator__circle\"></div>\n </div>\n\n <span *ngIf=\"label\" class=\"fd-busy-indicator-extended__label\">{{ label }}</span>\n\n <div class=\"fd-busy-indicator__overlay\"></div>\n\n <div #fakeFocusElement tabindex=\"0\" aria-hidden=\"true\" (focusin)=\"fakeElementFocusHandler($event)\"></div>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.32.0\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-busy-indicator{--Dot_Color:var(--fdBusy_Indicator_Dot_Color);--Dot_Size:.5rem;-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--Dot_Color);display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:0;font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative;text-align:center}.fd-busy-indicator--contrast{--Dot_Color:var(--fdBusy_Indicator_Dot_Contrast_Color)}.fd-busy-indicator--m{--Dot_Size:1rem}.fd-busy-indicator--l{--Dot_Size:2rem}.fd-busy-indicator:after,.fd-busy-indicator:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator-extended{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;gap:1rem;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-busy-indicator-extended:after,.fd-busy-indicator-extended:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator-extended.fd-busy-indicator-extended--message-toast{-webkit-box-shadow:var(--sapContent_Shadow2);background-color:var(--sapPageFooter_Background);box-shadow:var(--sapContent_Shadow2);max-width:23.125rem;text-shadow:var(--sapContent_TextShadow);width:23.125rem}.fd-busy-indicator-extended__label{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapPageFooter_TextColor);display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0;text-align:center}.fd-busy-indicator-extended__label:after,.fd-busy-indicator-extended__label:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator__circle{-webkit-box-sizing:border-box;animation:grow 1.6s cubic-bezier(.32,.06,.85,1.11) infinite;background-color:currentColor;border:0;border-radius:50%;box-sizing:border-box;color:var(--sapTextColor);color:var(--Dot_Color);display:inline-block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--Dot_Size);line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative;width:var(--Dot_Size)}.fd-busy-indicator__circle:after,.fd-busy-indicator__circle:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator__circle:nth-child(2){animation-delay:.2s}.fd-busy-indicator__circle:nth-child(3){animation-delay:.4s}.fd-busy-indicator-dialog{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;gap:1rem;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-busy-indicator-dialog:after,.fd-busy-indicator-dialog:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator-dialog .fd-busy-indicator{margin:.5rem auto;width:100%}@keyframes grow{0%,50%,to{transform:scale(.5)}25%{transform:scale(1)}}*+.fd-busy-indicator,*+.fd-busy-indicator+.fd-busy-indicator-extended__label{white-space:nowrap;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}*+.fd-busy-indicator+.fd-busy-indicator-extended__label{z-index:
|
|
38
|
+
], viewQueries: [{ propertyName: "fakeFocusElement", first: true, predicate: ["fakeFocusElement"], descendants: true }], ngImport: i0, template: "<ng-content></ng-content>\n\n<ng-container *ngIf=\"loading\">\n <div\n #busyIndicator\n class=\"fd-busy-indicator\"\n [class.fd-busy-indicator--l]=\"size === 'l'\"\n [class.fd-busy-indicator--m]=\"size === 'm'\"\n [class.fd-busy-indicator--s]=\"size === 's'\"\n >\n <div class=\"fd-busy-indicator__circle\"></div>\n <div class=\"fd-busy-indicator__circle\"></div>\n <div class=\"fd-busy-indicator__circle\"></div>\n </div>\n\n <span *ngIf=\"label\" class=\"fd-busy-indicator-extended__label\">{{ label }}</span>\n\n <div class=\"fd-busy-indicator__overlay\"></div>\n\n <div #fakeFocusElement tabindex=\"0\" aria-hidden=\"true\" (focusin)=\"fakeElementFocusHandler($event)\"></div>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.32.0\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-busy-indicator{--Dot_Color:var(--fdBusy_Indicator_Dot_Color);--Dot_Size:.5rem;-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--Dot_Color);display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:0;font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative;text-align:center}.fd-busy-indicator--contrast{--Dot_Color:var(--fdBusy_Indicator_Dot_Contrast_Color)}.fd-busy-indicator--m{--Dot_Size:1rem}.fd-busy-indicator--l{--Dot_Size:2rem}.fd-busy-indicator:after,.fd-busy-indicator:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator-extended{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;gap:1rem;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-busy-indicator-extended:after,.fd-busy-indicator-extended:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator-extended.fd-busy-indicator-extended--message-toast{-webkit-box-shadow:var(--sapContent_Shadow2);background-color:var(--sapPageFooter_Background);box-shadow:var(--sapContent_Shadow2);max-width:23.125rem;text-shadow:var(--sapContent_TextShadow);width:23.125rem}.fd-busy-indicator-extended__label{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapPageFooter_TextColor);display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0;text-align:center}.fd-busy-indicator-extended__label:after,.fd-busy-indicator-extended__label:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator__circle{-webkit-box-sizing:border-box;animation:grow 1.6s cubic-bezier(.32,.06,.85,1.11) infinite;background-color:currentColor;border:0;border-radius:50%;box-sizing:border-box;color:var(--sapTextColor);color:var(--Dot_Color);display:inline-block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--Dot_Size);line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative;width:var(--Dot_Size)}.fd-busy-indicator__circle:after,.fd-busy-indicator__circle:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator__circle:nth-child(2){animation-delay:.2s}.fd-busy-indicator__circle:nth-child(3){animation-delay:.4s}.fd-busy-indicator-dialog{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;gap:1rem;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-busy-indicator-dialog:after,.fd-busy-indicator-dialog:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator-dialog .fd-busy-indicator{margin:.5rem auto;width:100%}@keyframes grow{0%,50%,to{transform:scale(.5)}25%{transform:scale(1)}}*+.fd-busy-indicator,*+.fd-busy-indicator+.fd-busy-indicator-extended__label{white-space:nowrap;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}*+.fd-busy-indicator+.fd-busy-indicator-extended__label{z-index:11;transform:translate(-50%,50%)!important}.fd-busy-indicator:first-child~.fd-busy-indicator__overlay{background-color:transparent}.fd-busy-indicator{z-index:11}.fd-busy-indicator__container{display:block;position:relative}.fd-busy-indicator__container:focus{outline-width:var(--sapContent_FocusWidth, .0625rem);outline-color:var(--sapContent_FocusColor, #000);outline-style:var(--sapContent_FocusStyle, dotted)}.fd-busy-indicator__container[tabindex=\"-1\"]{outline:none}.fd-busy-indicator__container--inline{display:inline-block}.fd-busy-indicator__overlay{position:absolute;inset:0;z-index:10;background-color:var(--sapBaseColor);opacity:.72}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
39
39
|
}
|
|
40
40
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: BusyIndicatorComponent, decorators: [{
|
|
41
41
|
type: Component,
|
|
@@ -53,7 +53,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
|
|
|
53
53
|
'[attr.title]': 'title',
|
|
54
54
|
'[class.fd-busy-indicator__container]': 'true',
|
|
55
55
|
'[class.fd-busy-indicator__container--inline]': '!block'
|
|
56
|
-
}, standalone: true, imports: [NgIf], template: "<ng-content></ng-content>\n\n<ng-container *ngIf=\"loading\">\n <div\n #busyIndicator\n class=\"fd-busy-indicator\"\n [class.fd-busy-indicator--l]=\"size === 'l'\"\n [class.fd-busy-indicator--m]=\"size === 'm'\"\n [class.fd-busy-indicator--s]=\"size === 's'\"\n >\n <div class=\"fd-busy-indicator__circle\"></div>\n <div class=\"fd-busy-indicator__circle\"></div>\n <div class=\"fd-busy-indicator__circle\"></div>\n </div>\n\n <span *ngIf=\"label\" class=\"fd-busy-indicator-extended__label\">{{ label }}</span>\n\n <div class=\"fd-busy-indicator__overlay\"></div>\n\n <div #fakeFocusElement tabindex=\"0\" aria-hidden=\"true\" (focusin)=\"fakeElementFocusHandler($event)\"></div>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.32.0\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-busy-indicator{--Dot_Color:var(--fdBusy_Indicator_Dot_Color);--Dot_Size:.5rem;-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--Dot_Color);display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:0;font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative;text-align:center}.fd-busy-indicator--contrast{--Dot_Color:var(--fdBusy_Indicator_Dot_Contrast_Color)}.fd-busy-indicator--m{--Dot_Size:1rem}.fd-busy-indicator--l{--Dot_Size:2rem}.fd-busy-indicator:after,.fd-busy-indicator:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator-extended{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;gap:1rem;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-busy-indicator-extended:after,.fd-busy-indicator-extended:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator-extended.fd-busy-indicator-extended--message-toast{-webkit-box-shadow:var(--sapContent_Shadow2);background-color:var(--sapPageFooter_Background);box-shadow:var(--sapContent_Shadow2);max-width:23.125rem;text-shadow:var(--sapContent_TextShadow);width:23.125rem}.fd-busy-indicator-extended__label{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapPageFooter_TextColor);display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0;text-align:center}.fd-busy-indicator-extended__label:after,.fd-busy-indicator-extended__label:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator__circle{-webkit-box-sizing:border-box;animation:grow 1.6s cubic-bezier(.32,.06,.85,1.11) infinite;background-color:currentColor;border:0;border-radius:50%;box-sizing:border-box;color:var(--sapTextColor);color:var(--Dot_Color);display:inline-block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--Dot_Size);line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative;width:var(--Dot_Size)}.fd-busy-indicator__circle:after,.fd-busy-indicator__circle:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator__circle:nth-child(2){animation-delay:.2s}.fd-busy-indicator__circle:nth-child(3){animation-delay:.4s}.fd-busy-indicator-dialog{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;gap:1rem;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-busy-indicator-dialog:after,.fd-busy-indicator-dialog:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator-dialog .fd-busy-indicator{margin:.5rem auto;width:100%}@keyframes grow{0%,50%,to{transform:scale(.5)}25%{transform:scale(1)}}*+.fd-busy-indicator,*+.fd-busy-indicator+.fd-busy-indicator-extended__label{white-space:nowrap;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}*+.fd-busy-indicator+.fd-busy-indicator-extended__label{z-index:
|
|
56
|
+
}, standalone: true, imports: [NgIf], template: "<ng-content></ng-content>\n\n<ng-container *ngIf=\"loading\">\n <div\n #busyIndicator\n class=\"fd-busy-indicator\"\n [class.fd-busy-indicator--l]=\"size === 'l'\"\n [class.fd-busy-indicator--m]=\"size === 'm'\"\n [class.fd-busy-indicator--s]=\"size === 's'\"\n >\n <div class=\"fd-busy-indicator__circle\"></div>\n <div class=\"fd-busy-indicator__circle\"></div>\n <div class=\"fd-busy-indicator__circle\"></div>\n </div>\n\n <span *ngIf=\"label\" class=\"fd-busy-indicator-extended__label\">{{ label }}</span>\n\n <div class=\"fd-busy-indicator__overlay\"></div>\n\n <div #fakeFocusElement tabindex=\"0\" aria-hidden=\"true\" (focusin)=\"fakeElementFocusHandler($event)\"></div>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.32.0\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-busy-indicator{--Dot_Color:var(--fdBusy_Indicator_Dot_Color);--Dot_Size:.5rem;-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--Dot_Color);display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:0;font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative;text-align:center}.fd-busy-indicator--contrast{--Dot_Color:var(--fdBusy_Indicator_Dot_Contrast_Color)}.fd-busy-indicator--m{--Dot_Size:1rem}.fd-busy-indicator--l{--Dot_Size:2rem}.fd-busy-indicator:after,.fd-busy-indicator:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator-extended{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;gap:1rem;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-busy-indicator-extended:after,.fd-busy-indicator-extended:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator-extended.fd-busy-indicator-extended--message-toast{-webkit-box-shadow:var(--sapContent_Shadow2);background-color:var(--sapPageFooter_Background);box-shadow:var(--sapContent_Shadow2);max-width:23.125rem;text-shadow:var(--sapContent_TextShadow);width:23.125rem}.fd-busy-indicator-extended__label{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapPageFooter_TextColor);display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0;text-align:center}.fd-busy-indicator-extended__label:after,.fd-busy-indicator-extended__label:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator__circle{-webkit-box-sizing:border-box;animation:grow 1.6s cubic-bezier(.32,.06,.85,1.11) infinite;background-color:currentColor;border:0;border-radius:50%;box-sizing:border-box;color:var(--sapTextColor);color:var(--Dot_Color);display:inline-block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--Dot_Size);line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative;width:var(--Dot_Size)}.fd-busy-indicator__circle:after,.fd-busy-indicator__circle:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator__circle:nth-child(2){animation-delay:.2s}.fd-busy-indicator__circle:nth-child(3){animation-delay:.4s}.fd-busy-indicator-dialog{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;gap:1rem;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-busy-indicator-dialog:after,.fd-busy-indicator-dialog:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator-dialog .fd-busy-indicator{margin:.5rem auto;width:100%}@keyframes grow{0%,50%,to{transform:scale(.5)}25%{transform:scale(1)}}*+.fd-busy-indicator,*+.fd-busy-indicator+.fd-busy-indicator-extended__label{white-space:nowrap;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}*+.fd-busy-indicator+.fd-busy-indicator-extended__label{z-index:11;transform:translate(-50%,50%)!important}.fd-busy-indicator:first-child~.fd-busy-indicator__overlay{background-color:transparent}.fd-busy-indicator{z-index:11}.fd-busy-indicator__container{display:block;position:relative}.fd-busy-indicator__container:focus{outline-width:var(--sapContent_FocusWidth, .0625rem);outline-color:var(--sapContent_FocusColor, #000);outline-style:var(--sapContent_FocusStyle, dotted)}.fd-busy-indicator__container[tabindex=\"-1\"]{outline:none}.fd-busy-indicator__container--inline{display:inline-block}.fd-busy-indicator__overlay{position:absolute;inset:0;z-index:10;background-color:var(--sapBaseColor);opacity:.72}\n"] }]
|
|
57
57
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { loading: [{
|
|
58
58
|
type: Input
|
|
59
59
|
}], size: [{
|
|
@@ -75,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
|
|
|
75
75
|
type: HostListener,
|
|
76
76
|
args: ['keydown', ['$event']]
|
|
77
77
|
}] } });
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzeS1pbmRpY2F0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvYnVzeS1pbmRpY2F0b3IvYnVzeS1pbmRpY2F0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvYnVzeS1pbmRpY2F0b3IvYnVzeS1pbmRpY2F0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQVksTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBNkJ2RCxNQUFNLE9BQU8sc0JBQXNCO0lBaUMvQixjQUFjO0lBQ2QsWUFBb0IsV0FBdUI7UUFBdkIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUE3QjNDLGdFQUFnRTtRQUVoRSxTQUFJLEdBQXNCLEdBQUcsQ0FBQztRQUU5Qiw2Q0FBNkM7UUFFN0MsVUFBSyxHQUFHLEtBQUssQ0FBQztRQWNkLGlDQUFpQztRQUVqQyxhQUFRLEdBQTZDLElBQUksQ0FBQztJQU9aLENBQUM7SUFFL0Msa0ZBQWtGO0lBRWxGLHNCQUFzQixDQUFDLEtBQW9CO1FBQ3ZDLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDbEUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUMvQztJQUNMLENBQUM7SUFFRDt1RUFDbUU7SUFDbkUsdUJBQXVCLENBQUMsS0FBaUI7UUFDckMsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxhQUFhLEtBQUssSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUU7WUFDeEUsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQzFDO0lBQ0wsQ0FBQzs4R0FuRFEsc0JBQXNCO2tHQUF0QixzQkFBc0Isd2xCQW5CcEI7WUFDUDtnQkFDSSxPQUFPLEVBQUUsMkJBQTJCO2dCQUNwQyxXQUFXLEVBQUUsc0JBQXNCO2FBQ3RDO1NBQ0osZ0pDM0JMLHV3QkFxQkEsbzdJRGtCYyxJQUFJOzsyRkFFTCxzQkFBc0I7a0JBekJsQyxTQUFTOytCQUNJLG1CQUFtQixpQkFHZCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSwyQkFBMkI7NEJBQ3BDLFdBQVcsd0JBQXdCO3lCQUN0QztxQkFDSixRQUNLO3dCQUNGLGFBQWEsRUFBRSwwQ0FBMEM7d0JBQ3pELGlCQUFpQixFQUFFLGtCQUFrQjt3QkFDckMsa0JBQWtCLEVBQUUsU0FBUzt3QkFDN0Isa0JBQWtCLEVBQUUsVUFBVTt3QkFDOUIsbUJBQW1CLEVBQUUsV0FBVzt3QkFDaEMsY0FBYyxFQUFFLE9BQU87d0JBQ3ZCLHNDQUFzQyxFQUFFLE1BQU07d0JBQzlDLDhDQUE4QyxFQUFFLFFBQVE7cUJBQzNELGNBQ1csSUFBSSxXQUNQLENBQUMsSUFBSSxDQUFDO2lHQUtmLE9BQU87c0JBRE4sS0FBSztnQkFLTixJQUFJO3NCQURILEtBQUs7Z0JBS04sS0FBSztzQkFESixLQUFLO2dCQUtOLFNBQVM7c0JBRFIsS0FBSztnQkFLTixLQUFLO3NCQURKLEtBQUs7Z0JBS04sS0FBSztzQkFESixLQUFLO2dCQUtOLFFBQVE7c0JBRFAsS0FBSztnQkFLTixnQkFBZ0I7c0JBRGYsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBUTdCLHNCQUFzQjtzQkFEckIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUQUIgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBLZXlVdGlsLCBOdWxsYWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IEZEX0JVU1lfSU5ESUNBVE9SX0NPTVBPTkVOVCB9IGZyb20gJy4vdG9rZW5zJztcblxuZXhwb3J0IHR5cGUgQnVzeUluZGljYXRvclNpemUgPSAncycgfCAnbScgfCAnbCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtYnVzeS1pbmRpY2F0b3InLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9idXN5LWluZGljYXRvci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYnVzeS1pbmRpY2F0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGRF9CVVNZX0lORElDQVRPUl9DT01QT05FTlQsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogQnVzeUluZGljYXRvckNvbXBvbmVudFxuICAgICAgICB9XG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5yb2xlXSc6IFwibG9hZGluZyA/ICdwcm9ncmVzc2JhcicgOiAncHJlc2VudGF0aW9uJ1wiLFxuICAgICAgICAnW2F0dHIudGFiaW5kZXhdJzogJ2xvYWRpbmcgPyAwIDogLTEnLFxuICAgICAgICAnW2F0dHIuYXJpYS1idXN5XSc6ICdsb2FkaW5nJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtbGl2ZV0nOiAnYXJpYUxpdmUnLFxuICAgICAgICAnW2F0dHIuYXJpYS1sYWJlbF0nOiAnYXJpYUxhYmVsJyxcbiAgICAgICAgJ1thdHRyLnRpdGxlXSc6ICd0aXRsZScsXG4gICAgICAgICdbY2xhc3MuZmQtYnVzeS1pbmRpY2F0b3JfX2NvbnRhaW5lcl0nOiAndHJ1ZScsXG4gICAgICAgICdbY2xhc3MuZmQtYnVzeS1pbmRpY2F0b3JfX2NvbnRhaW5lci0taW5saW5lXSc6ICchYmxvY2snXG4gICAgfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0lmXVxufSlcbmV4cG9ydCBjbGFzcyBCdXN5SW5kaWNhdG9yQ29tcG9uZW50IHtcbiAgICAvKiogV2hldGhlciB0byBkaXNwbGF5IHRoZSBsb2FkaW5nIGluZGljYXRvciBhbmltYXRpb24uICovXG4gICAgQElucHV0KClcbiAgICBsb2FkaW5nOiBib29sZWFuO1xuXG4gICAgLyoqIFRoZSBzaXplIG9mIHRoZSBsb2FkaW5nIGluZGljYXRvciwgZGVmYXVsdCB3aWxsIGJlIG1lZGl1bSAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2l6ZTogQnVzeUluZGljYXRvclNpemUgPSAnbSc7XG5cbiAgICAvKiogV2hldGhlciB0byB1c2UgbG9hZGVyIGFzIGJsb2NrIGVsZW1lbnQgKi9cbiAgICBASW5wdXQoKVxuICAgIGJsb2NrID0gZmFsc2U7XG5cbiAgICAvKiogQXJpYSBsYWJlbCBhdHRyaWJ1dGUgdmFsdWUuICovXG4gICAgQElucHV0KClcbiAgICBhcmlhTGFiZWw6IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICAvKiogdGl0bGUgYXR0cmlidXRlIHZhbHVlIGZvciB0b29sdGlwLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgdGl0bGU6IHN0cmluZztcblxuICAgIC8qKiBhZGQgbG9hZGluZyBsYWJlbCB2YWx1ZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgbGFiZWw/OiBzdHJpbmc7XG5cbiAgICAvKiogQXJpYSBsaXZlIGF0dHJpYnV0ZSB2YWx1ZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGFyaWFMaXZlOiBOdWxsYWJsZTwnYXNzZXJ0aXZlJyB8ICdwb2xpdGUnIHwgJ29mZic+ID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZCgnZmFrZUZvY3VzRWxlbWVudCcpXG4gICAgZmFrZUZvY3VzRWxlbWVudDogRWxlbWVudFJlZjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZikge31cblxuICAgIC8qKiBAaGlkZGVuIElmIGZvY3VzIGVzY2FwZXMgYnVzeSBjb250YWluZXIgZm9jdXMgZWxlbWVudCBhZnRlciB3cmFwcGVkIGNvbnRlbnQgKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgICBob3N0Rm9jdXNDaGFuZ2VIYW5kbGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmxvYWRpbmcgJiYgS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFRBQikgJiYgIWV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICB0aGlzLmZha2VGb2N1c0VsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gSWYgYnVzeSBjb250YWluZXIgaXMgbmF2aWdhdGVkIGFzIFwicHJldmlvdXMgZm9jdXNhYmxlIGVsZW1lbnRcIixcbiAgICAgKiBmb2N1cyBidXN5IGluZGljYXRvciB0byBwcmV2ZW50IGZyb20gZm9jdXNpbmcgd3JhcHBlZCBjb250ZW50ICovXG4gICAgZmFrZUVsZW1lbnRGb2N1c0hhbmRsZXIoZXZlbnQ6IEZvY3VzRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubG9hZGluZyAmJiBldmVudC5yZWxhdGVkVGFyZ2V0ICE9PSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nXCI+XG4gICAgPGRpdlxuICAgICAgICAjYnVzeUluZGljYXRvclxuICAgICAgICBjbGFzcz1cImZkLWJ1c3ktaW5kaWNhdG9yXCJcbiAgICAgICAgW2NsYXNzLmZkLWJ1c3ktaW5kaWNhdG9yLS1sXT1cInNpemUgPT09ICdsJ1wiXG4gICAgICAgIFtjbGFzcy5mZC1idXN5LWluZGljYXRvci0tbV09XCJzaXplID09PSAnbSdcIlxuICAgICAgICBbY2xhc3MuZmQtYnVzeS1pbmRpY2F0b3ItLXNdPVwic2l6ZSA9PT0gJ3MnXCJcbiAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmZC1idXN5LWluZGljYXRvcl9fY2lyY2xlXCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmZC1idXN5LWluZGljYXRvcl9fY2lyY2xlXCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmZC1idXN5LWluZGljYXRvcl9fY2lyY2xlXCI+PC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8c3BhbiAqbmdJZj1cImxhYmVsXCIgY2xhc3M9XCJmZC1idXN5LWluZGljYXRvci1leHRlbmRlZF9fbGFiZWxcIj57eyBsYWJlbCB9fTwvc3Bhbj5cblxuICAgIDxkaXYgY2xhc3M9XCJmZC1idXN5LWluZGljYXRvcl9fb3ZlcmxheVwiPjwvZGl2PlxuXG4gICAgPGRpdiAjZmFrZUZvY3VzRWxlbWVudCB0YWJpbmRleD1cIjBcIiBhcmlhLWhpZGRlbj1cInRydWVcIiAoZm9jdXNpbik9XCJmYWtlRWxlbWVudEZvY3VzSGFuZGxlcigkZXZlbnQpXCI+PC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
@@ -83,13 +83,15 @@ export class FileUploaderComponent {
|
|
|
83
83
|
}
|
|
84
84
|
/** @hidden */
|
|
85
85
|
writeValue(files) {
|
|
86
|
-
if (
|
|
86
|
+
if (files && files.length === 0) {
|
|
87
|
+
this.clear();
|
|
88
|
+
}
|
|
89
|
+
else if (this._isEmpty()) {
|
|
87
90
|
return;
|
|
88
91
|
}
|
|
89
|
-
|
|
90
|
-
this.
|
|
92
|
+
else {
|
|
93
|
+
this._propagateFiles();
|
|
91
94
|
}
|
|
92
|
-
this._propagateFiles();
|
|
93
95
|
}
|
|
94
96
|
/** @hidden */
|
|
95
97
|
handleDrop(files) {
|
|
@@ -112,7 +114,7 @@ export class FileUploaderComponent {
|
|
|
112
114
|
this.invalidFiles = fileOutput.invalidFiles ?? [];
|
|
113
115
|
}
|
|
114
116
|
/** @hidden */
|
|
115
|
-
setInputValue(selectedFiles) {
|
|
117
|
+
setInputValue(selectedFiles, fromClear = false) {
|
|
116
118
|
let fileName = '';
|
|
117
119
|
selectedFiles.forEach((file) => (fileName = fileName.concat(' ' + file.name)));
|
|
118
120
|
if (!this.inputRefText) {
|
|
@@ -127,7 +129,9 @@ export class FileUploaderComponent {
|
|
|
127
129
|
this.inputRefText.nativeElement.placeholder = this.placeholder;
|
|
128
130
|
this.inputRefText.nativeElement.title = this.placeholder;
|
|
129
131
|
}
|
|
130
|
-
|
|
132
|
+
if (!fromClear) {
|
|
133
|
+
this.inputRefText.nativeElement.focus();
|
|
134
|
+
}
|
|
131
135
|
}
|
|
132
136
|
/** @hidden */
|
|
133
137
|
keyDownHandle(event) {
|
|
@@ -149,17 +153,13 @@ export class FileUploaderComponent {
|
|
|
149
153
|
* Clears the files from the input.
|
|
150
154
|
*/
|
|
151
155
|
clear() {
|
|
152
|
-
if (this.inputRef) {
|
|
153
|
-
this.inputRef.nativeElement.value = '';
|
|
154
|
-
}
|
|
155
|
-
if (this.inputRefText) {
|
|
156
|
-
this.inputRefText.nativeElement.value = '';
|
|
157
|
-
}
|
|
158
156
|
this.validFiles = [];
|
|
159
157
|
this.invalidFiles = [];
|
|
158
|
+
this._propagateFiles();
|
|
160
159
|
}
|
|
161
160
|
/** @hidden */
|
|
162
161
|
_isEmpty() {
|
|
162
|
+
console.log('_isEmpty');
|
|
163
163
|
return this.validFiles.length === 0 && this.invalidFiles.length === 0;
|
|
164
164
|
}
|
|
165
165
|
/** @hidden */
|
|
@@ -243,4 +243,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
|
|
|
243
243
|
}], onDragLeave: [{
|
|
244
244
|
type: Output
|
|
245
245
|
}] } });
|
|
246
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9maWxlLXVwbG9hZGVyL2ZpbGUtdXBsb2FkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvZmlsZS11cGxvYWRlci9maWxlLXVwbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNqQixVQUFVLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxPQUFPLEVBQVksTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLCtCQUErQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDaEgsT0FBTyxFQUFtQix1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXRGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDaEcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDMUYsT0FBTyxFQUFvQixtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7O0FBRWhGLElBQUkseUJBQXlCLEdBQUcsQ0FBQyxD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OytLQUt2RixRQUFRO3NCQURQLFNBQVM7dUJBQUMsV0FBVztnQkFLdEIsWUFBWTtzQkFEWCxTQUFTO3VCQUFDLFdBQVc7Z0JBS3RCLFFBQVE7c0JBRFAsS0FBSztnQkFLTixRQUFRO3NCQURQLEtBQUs7Z0JBS04sUUFBUTtzQkFEUCxLQUFLO2dCQUtOLE1BQU07c0JBREwsS0FBSztnQkFLTixTQUFTO3NCQURSLEtBQUs7Z0JBS04sV0FBVztzQkFEVixLQUFLO2dCQUtOLFdBQVc7c0JBRFYsS0FBSztnQkFLTixFQUFFO3NCQURELEtBQUs7Z0JBS04sU0FBUztzQkFEUixLQUFLO2dCQUtOLGNBQWM7c0JBRGIsS0FBSztnQkFLTixXQUFXO3NCQURWLEtBQUs7Z0JBS04sV0FBVztzQkFEVixLQUFLO2dCQUtOLGVBQWU7c0JBRGQsS0FBSztnQkFRTixLQUFLO3NCQURKLEtBQUs7Z0JBS04sU0FBUztzQkFEUixLQUFLO2dCQUtOLFdBQVc7c0JBRFYsS0FBSztnQkFLTixLQUFLO3NCQURKLEtBQUs7Z0JBV0csb0JBQW9CO3NCQUQ1QixNQUFNO2dCQUtFLG9CQUFvQjtzQkFENUIsTUFBTTtnQkFNRSxXQUFXO3NCQUZuQixNQUFNO2dCQU9FLFdBQVc7c0JBRm5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFTlRFUiwgU1BBQ0UsIFRBQiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBmb3J3YXJkUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgS2V5VXRpbCwgTnVsbGFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvYnV0dG9uJztcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5T2JzZXJ2ZXIsIGNvbnRlbnREZW5zaXR5T2JzZXJ2ZXJQcm92aWRlcnMgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvY29udGVudC1kZW5zaXR5JztcbmltcG9ydCB7IEZvcm1JdGVtQ29udHJvbCwgcmVnaXN0ZXJGb3JtSXRlbUNvbnRyb2wgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvZm9ybSc7XG5pbXBvcnQgeyBzdGF0ZVR5cGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvcmFkaW8nO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGaWxlVXBsb2FkZXJEcmFnbmRyb3BEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZmlsZS11cGxvYWRlci1kcmFnbmRyb3AuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZpbGVVcGxvYWRlclNlbGVjdERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9maWxlLXVwbG9hZGVyLXNlbGVjdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRmlsZVVwbG9hZE91dHB1dCwgRmlsZVVwbG9hZGVyU2VydmljZSB9IGZyb20gJy4vZmlsZS11cGxvYWRlci5zZXJ2aWNlJztcblxubGV0IGZpbGVVcGxvYWRlcklucHV0VW5pcXVlSWQgPSAwO1xuXG4vKipcbiAqIFRvb2wgdG8gZmFjaWxpdGF0ZSB0aGUgaW5wdXQgb2YgZmlsZXMgZnJvbSB0aGUgdXNlci5cbiAqIEl0IHN1cHBvcnRzIGRyYWcgYW5kIGRyb3AsIG11bHRpcGxlIGlucHV0LCBtYXggZmlsZSBzaXplIGFuZCBtb3JlLlxuICogVGhlIGRyYWcgZXZlbnRzIG1ha2UgaXQgdmVyeSBlYXN5IHRvIGNyZWF0ZSBhbmQgc3R5bGUgZWxlbWVudHMgbGlrZSBhIGRyb3B6b25lLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkLWZpbGUtdXBsb2FkZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9maWxlLXVwbG9hZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9maWxlLXVwbG9hZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgaG9zdDoge1xuICAgICAgICAnKGJsdXIpJzogJ29uVG91Y2hlZCgpJyxcbiAgICAgICAgY2xhc3M6ICdmZC1maWxlLXVwbG9hZGVyJ1xuICAgIH0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRmlsZVVwbG9hZGVyQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHJlZ2lzdGVyRm9ybUl0ZW1Db250cm9sKEZpbGVVcGxvYWRlckNvbXBvbmVudCksXG4gICAgICAgIGNvbnRlbnREZW5zaXR5T2JzZXJ2ZXJQcm92aWRlcnMoKVxuICAgIF0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtGaWxlVXBsb2FkZXJEcmFnbmRyb3BEaXJlY3RpdmUsIEJ1dHRvbkNvbXBvbmVudCwgRmlsZVVwbG9hZGVyU2VsZWN0RGlyZWN0aXZlXVxufSlcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkZXJDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25EZXN0cm95LCBGb3JtSXRlbUNvbnRyb2wge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZCgnZmlsZUlucHV0JylcbiAgICBpbnB1dFJlZjogRWxlbWVudFJlZjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZCgndGV4dElucHV0JylcbiAgICBpbnB1dFJlZlRleHQ6IEVsZW1lbnRSZWY7XG5cbiAgICAvKiogV2hldGhlciB0aGUgZmlsZSBpbnB1dCBpcyBkaXNhYmxlZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICAvKiogSWYgaXQgaXMgbWFuZGF0b3J5IGZpZWxkICovXG4gICAgQElucHV0KClcbiAgICByZXF1aXJlZCA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGZpbGUgaW5wdXQgc2hvdWxkIGFjY2VwdCBtdWx0aXBsZSBmaWxlcy4gKi9cbiAgICBASW5wdXQoKVxuICAgIG11bHRpcGxlID0gdHJ1ZTtcblxuICAgIC8qKiBBY2NlcHRlZCBmaWxlIGV4dGVuc2lvbnMuIEZvcm1hdDogYCcucG5nLC5qcGcnYC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGFjY2VwdDogc3RyaW5nO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGZpbGUgaW5wdXQgYWNjZXB0cyBkcmFnIGFuZCBkcm9wcGVkIGZpbGVzLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZHJhZ25kcm9wID0gdHJ1ZTtcblxuICAgIC8qKiBNYXggZmlsZSBzaXplIGluIGJ5dGVzIHRoYXQgdGhlIGlucHV0IHdpbGwgYWNjZXB0LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgbWF4RmlsZVNpemUgPSAnJztcblxuICAgIC8qKiBNaW4gZmlsZSBzaXplIGluIGJ5dGVzIHRoYXQgdGhlIGlucHV0IHdpbGwgYWNjZXB0LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgbWluRmlsZVNpemUgPSAnJztcblxuICAgIC8qKiBJZCBmb3IgdGhlIGlucHV0IGVsZW1lbnQuICovXG4gICAgQElucHV0KClcbiAgICBpZDogc3RyaW5nID0gJ2ZkLWZpbGUtdXBsb2FkZXItaW5wdXQnICsgZmlsZVVwbG9hZGVySW5wdXRVbmlxdWVJZCsrO1xuXG4gICAgLyoqIGFyaWEtbGFiZWwgdmFsdWUgZm9yIGlucHV0IGVsZW1lbnQuICovXG4gICAgQElucHV0KClcbiAgICBhcmlhTGFiZWw6IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICAvKiogYXJpYS1sYWJlbC1ieSB2YWx1ZSBmb3IgaW5wdXQgZWxlbWVudC4qL1xuICAgIEBJbnB1dCgpXG4gICAgYXJpYUxhYmVsbGVkQnk6IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICAvKiogcGxhY2Vob2xkZXIgZm9yIGlucHV0IGVsZW1lbnQuICovXG4gICAgQElucHV0KClcbiAgICBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gICAgLyoqIGJ1dHRvbiB2YWx1ZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgYnV0dG9uTGFiZWw6IHN0cmluZztcblxuICAgIC8qKiB2YWx1ZSBmb3IgaW5wdXQgZWxlbWVudC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGJ1dHRvbkFyaWFMYWJlbDogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKiBUaGUgZmllbGQgdG8gc2V0IHN0YXRlIG9mIHJhZGlvIGJ1dHRvbiB1c2luZzpcbiAgICAgKiAnc3VjY2VzcycgfCAnZXJyb3InIHwgJ3dhcm5pbmcnIHwgJ2RlZmF1bHQnIHwgJ2luZm9ybWF0aW9uJ1xuICAgICAqIGJ5IGRlZmF1bHQgdmFsdWUgaXMgc2V0IHRvICdkZWZhdWx0J1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc3RhdGU6IHN0YXRlVHlwZSA9ICdkZWZhdWx0JztcblxuICAgIC8qKiBzcGVjaWZpZXMgbnVtYmVyIG9mIGZpbGVzIHRvIGFsbG93IHRvIHNlbGVjdCAqL1xuICAgIEBJbnB1dCgpXG4gICAgZmlsZUxpbWl0OiBudW1iZXI7XG5cbiAgICAvKiogV2hldGhlciBvciBub3QgdG8gaGlkZSB0aGUgaW5wdXQsIGxlYXZpbmcgb25seSB0aGUgdXBsb2FkL2Jyb3dzZSBidXR0b24uICovXG4gICAgQElucHV0KClcbiAgICBpbnB1dEhpZGRlbiA9IGZhbHNlO1xuXG4gICAgLyoqIFdpZHRoIG9mIHRoZSBmaWxlIHVwbG9hZGVyICovXG4gICAgQElucHV0KClcbiAgICB3aWR0aDogc3RyaW5nO1xuXG4gICAgLyoqICogSXQgc3RvcmVzIHRoZSB2YWxpZCBmaWxlcyAgKi9cbiAgICB2YWxpZEZpbGVzOiBGaWxlW10gPSBbXTtcblxuICAgIC8qKiAqIEl0IHN0b3JlcyB0aGUgaW52YWxpZCBmaWxlcyAgKi9cbiAgICBpbnZhbGlkRmlsZXM6IEZpbGVbXSA9IFtdO1xuXG4gICAgLyoqIEV2ZW50IGZpcmVkIHdoZW4gZmlsZXMgYXJlIHNlbGVjdGVkLiBQYXNzZWQgb2JqZWN0IGlzIHRoZSBhcnJheSBvZiBmaWxlcyBzZWxlY3RlZC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBzZWxlY3RlZEZpbGVzQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZVtdPigpO1xuXG4gICAgLyoqIEV2ZW50IGZpcmVkIHdoZW4gc29tZSBpbnZhbGlkIGZpbGVzIGFyZSBzZWxlY3RlZC4gUGFzc2VkIG9iamVjdCBpcyB0aGUgYXJyYXkgb2YgaW52YWxpZCBmaWxlcy4gKi9cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBzZWxlY3RlZEludmFsaWRGaWxlcyA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZVtdPigpO1xuXG4gICAgLyoqIEV2ZW50IGZpcmVkIHdoZW4gdGhlIGRyYWdnZWQgZmlsZSBlbnRlcnMgdGhlIGNvbXBvbmVudCBib3VuZGFyaWVzLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW9uLXByZWZpeFxuICAgIHJlYWRvbmx5IG9uRHJhZ0VudGVyID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqIEV2ZW50IGZpcmVkIHdoZW4gdGhlIGRyYWdnZWQgZmlsZSBleGl0cyB0aGUgY29tcG9uZW50IGJvdW5kYXJpZXMuICovXG4gICAgQE91dHB1dCgpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4XG4gICAgcmVhZG9ubHkgb25EcmFnTGVhdmUgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9maWxlVXBsb2FkU2VydmljZTogRmlsZVVwbG9hZGVyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBfY2hhbmdlRGV0UmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcmVhZG9ubHkgX2NvbnRlbnREZW5zaXR5T2JzZXJ2ZXI6IENvbnRlbnREZW5zaXR5T2JzZXJ2ZXJcbiAgICApIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBvbkNoYW5nZTogKHZhbHVlczogRmlsZVtdKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG9uVG91Y2hlZCA9ICgpOiB2b2lkID0+IHt9O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgd3JpdGVWYWx1ZShmaWxlczogRmlsZVtdKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9pc0VtcHR5KCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWZpbGVzKSB7XG4gICAgICAgICAgICB0aGlzLmNsZWFyKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fcHJvcGFnYXRlRmlsZXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGhhbmRsZURyb3AoZmlsZXM6IEZpbGVVcGxvYWRPdXRwdXQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWxpZEZpbGVzID0gZmlsZXMudmFsaWRGaWxlcyA/PyBbXTtcbiAgICAgICAgdGhpcy5pbnZhbGlkRmlsZXMgPSBmaWxlcy5pbnZhbGlkRmlsZXMgPz8gW107XG4gICAgICAgIHRoaXMuX3Byb3BhZ2F0ZUZpbGVzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzZWxlY3RIYW5kbGVyKGV2ZW50OiBGaWxlW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWxpZGF0ZUZpbGVzKGV2ZW50KTtcbiAgICAgICAgdGhpcy5fcHJvcGFnYXRlRmlsZXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHZhbGlkYXRlRmlsZXMoZXZlbnQ6IEZpbGVbXSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5maWxlTGltaXQgJiYgZXZlbnQubGVuZ3RoID4gdGhpcy5maWxlTGltaXQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRmlsZUxpbWl0RXJyb3IgLSBTZWxlY3RlZCBmaWxlcyBjb3VudCBpcyBtb3JlIHRoYW4gc3BlY2lmaWVkIGxpbWl0ICcpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZmlsZU91dHB1dDogRmlsZVVwbG9hZE91dHB1dCA9IHRoaXMuX2ZpbGVVcGxvYWRTZXJ2aWNlLnZhbGlkYXRlRmlsZXMoXG4gICAgICAgICAgICBldmVudCxcbiAgICAgICAgICAgIHRoaXMubWluRmlsZVNpemUsXG4gICAgICAgICAgICB0aGlzLm1heEZpbGVTaXplLFxuICAgICAgICAgICAgdGhpcy5hY2NlcHRcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLnZhbGlkRmlsZXMgPSBmaWxlT3V0cHV0LnZhbGlkRmlsZXMgPz8gW107XG4gICAgICAgIHRoaXMuaW52YWxpZEZpbGVzID0gZmlsZU91dHB1dC5pbnZhbGlkRmlsZXMgPz8gW107XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzZXRJbnB1dFZhbHVlKHNlbGVjdGVkRmlsZXM6IEZpbGVbXSk6IHZvaWQge1xuICAgICAgICBsZXQgZmlsZU5hbWUgPSAnJztcbiAgICAgICAgc2VsZWN0ZWRGaWxlcy5mb3JFYWNoKChmaWxlKSA9PiAoZmlsZU5hbWUgPSBmaWxlTmFtZS5jb25jYXQoJyAnICsgZmlsZS5uYW1lKSkpO1xuICAgICAgICBpZiAoIXRoaXMuaW5wdXRSZWZUZXh0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbnB1dFJlZlRleHQubmF0aXZlRWxlbWVudC52YWx1ZSA9IGZpbGVOYW1lO1xuICAgICAgICB0aGlzLmlucHV0UmVmVGV4dC5uYXRpdmVFbGVtZW50LnRpdGxlID0gZmlsZU5hbWU7XG4gICAgICAgIGlmIChmaWxlTmFtZSkge1xuICAgICAgICAgICAgdGhpcy5pbnB1dFJlZlRleHQubmF0aXZlRWxlbWVudC5wbGFjZWhvbGRlciA9IGZpbGVOYW1lO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5pbnB1dFJlZlRleHQubmF0aXZlRWxlbWVudC5wbGFjZWhvbGRlciA9IHRoaXMucGxhY2Vob2xkZXI7XG4gICAgICAgICAgICB0aGlzLmlucHV0UmVmVGV4dC5uYXRpdmVFbGVtZW50LnRpdGxlID0gdGhpcy5wbGFjZWhvbGRlcjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlucHV0UmVmVGV4dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBrZXlEb3duSGFuZGxlKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgW0VOVEVSLCBTUEFDRV0pKSB7XG4gICAgICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgfSBlbHNlIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgW1RBQl0pKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPcGVucyB0aGUgZmlsZSBzZWxlY3Rvci5cbiAgICAgKi9cbiAgICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbnB1dFJlZi5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xlYXJzIHRoZSBmaWxlcyBmcm9tIHRoZSBpbnB1dC5cbiAgICAgKi9cbiAgICBwdWJsaWMgY2xlYXIoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlucHV0UmVmKSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5pbnB1dFJlZlRleHQpIHtcbiAgICAgICAgICAgIHRoaXMuaW5wdXRSZWZUZXh0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnZhbGlkRmlsZXMgPSBbXTtcbiAgICAgICAgdGhpcy5pbnZhbGlkRmlsZXMgPSBbXTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2lzRW1wdHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbGlkRmlsZXMubGVuZ3RoID09PSAwICYmIHRoaXMuaW52YWxpZEZpbGVzLmxlbmd0aCA9PT0gMDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Byb3BhZ2F0ZUZpbGVzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldElucHV0VmFsdWUodGhpcy52YWxpZEZpbGVzKTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbGlkRmlsZXMpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkRmlsZXNDaGFuZ2VkLmVtaXQodGhpcy52YWxpZEZpbGVzKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEludmFsaWRGaWxlcy5lbWl0KHRoaXMuaW52YWxpZEZpbGVzKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJmZC1maWxlLXVwbG9hZGVyX19jb250YWluZXJcIlxuICAgIGZkRmlsZURyYWduRHJvcFxuICAgIFthY2NlcHRdPVwiYWNjZXB0XCJcbiAgICBbbWF4RmlsZVNpemVdPVwibWF4RmlsZVNpemVcIlxuICAgIFttaW5GaWxlU2l6ZV09XCJtaW5GaWxlU2l6ZVwiXG4gICAgW2RyYWduZHJvcF09XCJkcmFnbmRyb3BcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW211bHRpcGxlXT1cIm11bHRpcGxlXCJcbiAgICAoZmlsZUNoYW5nZWQpPVwiaGFuZGxlRHJvcCgkZXZlbnQpXCJcbiAgICAoZHJhZ0VudGVyZWQpPVwib25EcmFnRW50ZXIuZW1pdCgpXCJcbiAgICAoZHJhZ0xlYXZlKT1cIm9uRHJhZ0xlYXZlLmVtaXQoKVwiXG4+XG4gICAgPGlucHV0XG4gICAgICAgICN0ZXh0SW5wdXRcbiAgICAgICAgY2xhc3M9XCJmZC1pbnB1dCBmZC1maWxlLXVwbG9hZGVyX19pbnB1dFwiXG4gICAgICAgIFtjbGFzc109XCJzdGF0ZSA/ICcgaXMtJyArIHN0YXRlIDogJydcIlxuICAgICAgICBhcmlhLWxpdmU9XCJwb2xpdGVcIlxuICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgIFtpZF09XCJpZFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZEJ5XCJcbiAgICAgICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgIFt0aXRsZV09XCJhcmlhTGFiZWxcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICBbdmFsdWVdPVwiXCJcbiAgICAgICAgW3N0eWxlLndpZHRoXT1cIndpZHRoXCJcbiAgICAgICAgW2hpZGRlbl09XCJpbnB1dEhpZGRlblwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIChjbGljayk9XCJvcGVuKClcIlxuICAgICAgICAoa2V5ZG93bik9XCJrZXlEb3duSGFuZGxlKCRldmVudClcIlxuICAgIC8+XG5cbiAgICA8YnV0dG9uXG4gICAgICAgIGZkLWJ1dHRvblxuICAgICAgICBjbGFzcz1cImZpbGUtdXBsb2FkZXJfX2J1dHRvblwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnV0dG9uQXJpYUxhYmVsXCJcbiAgICAgICAgW2xhYmVsXT1cImJ1dHRvbkxhYmVsXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgKGNsaWNrKT1cIm9wZW4oKVwiXG4gICAgPjwvYnV0dG9uPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZC1mb3JtLWNvbnRyb2xdXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG5cbjxpbnB1dFxuICAgICNmaWxlSW5wdXRcbiAgICBmZEZpbGVTZWxlY3RcbiAgICBjbGFzcz1cImZkLWZpbGUtdXBsb2FkZXJfX2hpZGRlblwiXG4gICAgdHlwZT1cImZpbGVcIlxuICAgIFthdHRyLmFjY2VwdF09XCJhY2NlcHRcIlxuICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAoZmlsZVNlbGVjdGVkKT1cInNlbGVjdEhhbmRsZXIoJGV2ZW50KVwiXG4vPlxuIl19
|
|
246
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9maWxlLXVwbG9hZGVyL2ZpbGUtdXBsb2FkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvZmlsZS11cGxvYWRlci9maWxlLXVwbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNqQixVQUFVLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxPQUFPLEVBQVksTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLCtCQUErQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDaEgsT0FBTyxFQUFtQix1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXRGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDaEcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDMUYsT0FBTyxFQUFvQixtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7O0FBRWhGLElBQUkseUJBQXlCLEdBQUcsQ0FBQyxD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QkFBQyxXQUFXO2dCQUt0QixZQUFZO3NCQURYLFNBQVM7dUJBQUMsV0FBVztnQkFLdEIsUUFBUTtzQkFEUCxLQUFLO2dCQUtOLFFBQVE7c0JBRFAsS0FBSztnQkFLTixRQUFRO3NCQURQLEtBQUs7Z0JBS04sTUFBTTtzQkFETCxLQUFLO2dCQUtOLFNBQVM7c0JBRFIsS0FBSztnQkFLTixXQUFXO3NCQURWLEtBQUs7Z0JBS04sV0FBVztzQkFEVixLQUFLO2dCQUtOLEVBQUU7c0JBREQsS0FBSztnQkFLTixTQUFTO3NCQURSLEtBQUs7Z0JBS04sY0FBYztzQkFEYixLQUFLO2dCQUtOLFdBQVc7c0JBRFYsS0FBSztnQkFLTixXQUFXO3NCQURWLEtBQUs7Z0JBS04sZUFBZTtzQkFEZCxLQUFLO2dCQVFOLEtBQUs7c0JBREosS0FBSztnQkFLTixTQUFTO3NCQURSLEtBQUs7Z0JBS04sV0FBVztzQkFEVixLQUFLO2dCQUtOLEtBQUs7c0JBREosS0FBSztnQkFXRyxvQkFBb0I7c0JBRDVCLE1BQU07Z0JBS0Usb0JBQW9CO3NCQUQ1QixNQUFNO2dCQU1FLFdBQVc7c0JBRm5CLE1BQU07Z0JBT0UsV0FBVztzQkFGbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVOVEVSLCBTUEFDRSwgVEFCIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGZvcndhcmRSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBLZXlVdGlsLCBOdWxsYWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9idXR0b24nO1xuaW1wb3J0IHsgQ29udGVudERlbnNpdHlPYnNlcnZlciwgY29udGVudERlbnNpdHlPYnNlcnZlclByb3ZpZGVycyB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9jb250ZW50LWRlbnNpdHknO1xuaW1wb3J0IHsgRm9ybUl0ZW1Db250cm9sLCByZWdpc3RlckZvcm1JdGVtQ29udHJvbCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9mb3JtJztcbmltcG9ydCB7IHN0YXRlVHlwZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9yYWRpbyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZpbGVVcGxvYWRlckRyYWduZHJvcERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9maWxlLXVwbG9hZGVyLWRyYWduZHJvcC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRmlsZVVwbG9hZGVyU2VsZWN0RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2ZpbGUtdXBsb2FkZXItc2VsZWN0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGaWxlVXBsb2FkT3V0cHV0LCBGaWxlVXBsb2FkZXJTZXJ2aWNlIH0gZnJvbSAnLi9maWxlLXVwbG9hZGVyLnNlcnZpY2UnO1xuXG5sZXQgZmlsZVVwbG9hZGVySW5wdXRVbmlxdWVJZCA9IDA7XG5cbi8qKlxuICogVG9vbCB0byBmYWNpbGl0YXRlIHRoZSBpbnB1dCBvZiBmaWxlcyBmcm9tIHRoZSB1c2VyLlxuICogSXQgc3VwcG9ydHMgZHJhZyBhbmQgZHJvcCwgbXVsdGlwbGUgaW5wdXQsIG1heCBmaWxlIHNpemUgYW5kIG1vcmUuXG4gKiBUaGUgZHJhZyBldmVudHMgbWFrZSBpdCB2ZXJ5IGVhc3kgdG8gY3JlYXRlIGFuZCBzdHlsZSBlbGVtZW50cyBsaWtlIGEgZHJvcHpvbmUuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtZmlsZS11cGxvYWRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUtdXBsb2FkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZpbGUtdXBsb2FkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgICcoYmx1ciknOiAnb25Ub3VjaGVkKCknLFxuICAgICAgICBjbGFzczogJ2ZkLWZpbGUtdXBsb2FkZXInXG4gICAgfSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBGaWxlVXBsb2FkZXJDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgcmVnaXN0ZXJGb3JtSXRlbUNvbnRyb2woRmlsZVVwbG9hZGVyQ29tcG9uZW50KSxcbiAgICAgICAgY29udGVudERlbnNpdHlPYnNlcnZlclByb3ZpZGVycygpXG4gICAgXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0ZpbGVVcGxvYWRlckRyYWduZHJvcERpcmVjdGl2ZSwgQnV0dG9uQ29tcG9uZW50LCBGaWxlVXBsb2FkZXJTZWxlY3REaXJlY3RpdmVdXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkRlc3Ryb3ksIEZvcm1JdGVtQ29udHJvbCB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnKVxuICAgIGlucHV0UmVmOiBFbGVtZW50UmVmO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKCd0ZXh0SW5wdXQnKVxuICAgIGlucHV0UmVmVGV4dDogRWxlbWVudFJlZjtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBmaWxlIGlucHV0IGlzIGRpc2FibGVkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIC8qKiBJZiBpdCBpcyBtYW5kYXRvcnkgZmllbGQgKi9cbiAgICBASW5wdXQoKVxuICAgIHJlcXVpcmVkID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciB0aGUgZmlsZSBpbnB1dCBzaG91bGQgYWNjZXB0IG11bHRpcGxlIGZpbGVzLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgbXVsdGlwbGUgPSB0cnVlO1xuXG4gICAgLyoqIEFjY2VwdGVkIGZpbGUgZXh0ZW5zaW9ucy4gRm9ybWF0OiBgJy5wbmcsLmpwZydgLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgYWNjZXB0OiBzdHJpbmc7XG5cbiAgICAvKiogV2hldGhlciB0aGUgZmlsZSBpbnB1dCBhY2NlcHRzIGRyYWcgYW5kIGRyb3BwZWQgZmlsZXMuICovXG4gICAgQElucHV0KClcbiAgICBkcmFnbmRyb3AgPSB0cnVlO1xuXG4gICAgLyoqIE1heCBmaWxlIHNpemUgaW4gYnl0ZXMgdGhhdCB0aGUgaW5wdXQgd2lsbCBhY2NlcHQuICovXG4gICAgQElucHV0KClcbiAgICBtYXhGaWxlU2l6ZSA9ICcnO1xuXG4gICAgLyoqIE1pbiBmaWxlIHNpemUgaW4gYnl0ZXMgdGhhdCB0aGUgaW5wdXQgd2lsbCBhY2NlcHQuICovXG4gICAgQElucHV0KClcbiAgICBtaW5GaWxlU2l6ZSA9ICcnO1xuXG4gICAgLyoqIElkIGZvciB0aGUgaW5wdXQgZWxlbWVudC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGlkOiBzdHJpbmcgPSAnZmQtZmlsZS11cGxvYWRlci1pbnB1dCcgKyBmaWxlVXBsb2FkZXJJbnB1dFVuaXF1ZUlkKys7XG5cbiAgICAvKiogYXJpYS1sYWJlbCB2YWx1ZSBmb3IgaW5wdXQgZWxlbWVudC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGFyaWFMYWJlbDogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKiBhcmlhLWxhYmVsLWJ5IHZhbHVlIGZvciBpbnB1dCBlbGVtZW50LiovXG4gICAgQElucHV0KClcbiAgICBhcmlhTGFiZWxsZWRCeTogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKiBwbGFjZWhvbGRlciBmb3IgaW5wdXQgZWxlbWVudC4gKi9cbiAgICBASW5wdXQoKVxuICAgIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG5cbiAgICAvKiogYnV0dG9uIHZhbHVlICovXG4gICAgQElucHV0KClcbiAgICBidXR0b25MYWJlbDogc3RyaW5nO1xuXG4gICAgLyoqIHZhbHVlIGZvciBpbnB1dCBlbGVtZW50LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgYnV0dG9uQXJpYUxhYmVsOiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqIFRoZSBmaWVsZCB0byBzZXQgc3RhdGUgb2YgcmFkaW8gYnV0dG9uIHVzaW5nOlxuICAgICAqICdzdWNjZXNzJyB8ICdlcnJvcicgfCAnd2FybmluZycgfCAnZGVmYXVsdCcgfCAnaW5mb3JtYXRpb24nXG4gICAgICogYnkgZGVmYXVsdCB2YWx1ZSBpcyBzZXQgdG8gJ2RlZmF1bHQnXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzdGF0ZTogc3RhdGVUeXBlID0gJ2RlZmF1bHQnO1xuXG4gICAgLyoqIHNwZWNpZmllcyBudW1iZXIgb2YgZmlsZXMgdG8gYWxsb3cgdG8gc2VsZWN0ICovXG4gICAgQElucHV0KClcbiAgICBmaWxlTGltaXQ6IG51bWJlcjtcblxuICAgIC8qKiBXaGV0aGVyIG9yIG5vdCB0byBoaWRlIHRoZSBpbnB1dCwgbGVhdmluZyBvbmx5IHRoZSB1cGxvYWQvYnJvd3NlIGJ1dHRvbi4gKi9cbiAgICBASW5wdXQoKVxuICAgIGlucHV0SGlkZGVuID0gZmFsc2U7XG5cbiAgICAvKiogV2lkdGggb2YgdGhlIGZpbGUgdXBsb2FkZXIgKi9cbiAgICBASW5wdXQoKVxuICAgIHdpZHRoOiBzdHJpbmc7XG5cbiAgICAvKiogKiBJdCBzdG9yZXMgdGhlIHZhbGlkIGZpbGVzICAqL1xuICAgIHZhbGlkRmlsZXM6IEZpbGVbXSA9IFtdO1xuXG4gICAgLyoqICogSXQgc3RvcmVzIHRoZSBpbnZhbGlkIGZpbGVzICAqL1xuICAgIGludmFsaWRGaWxlczogRmlsZVtdID0gW107XG5cbiAgICAvKiogRXZlbnQgZmlyZWQgd2hlbiBmaWxlcyBhcmUgc2VsZWN0ZWQuIFBhc3NlZCBvYmplY3QgaXMgdGhlIGFycmF5IG9mIGZpbGVzIHNlbGVjdGVkLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IHNlbGVjdGVkRmlsZXNDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxGaWxlW10+KCk7XG5cbiAgICAvKiogRXZlbnQgZmlyZWQgd2hlbiBzb21lIGludmFsaWQgZmlsZXMgYXJlIHNlbGVjdGVkLiBQYXNzZWQgb2JqZWN0IGlzIHRoZSBhcnJheSBvZiBpbnZhbGlkIGZpbGVzLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IHNlbGVjdGVkSW52YWxpZEZpbGVzID0gbmV3IEV2ZW50RW1pdHRlcjxGaWxlW10+KCk7XG5cbiAgICAvKiogRXZlbnQgZmlyZWQgd2hlbiB0aGUgZHJhZ2dlZCBmaWxlIGVudGVycyB0aGUgY29tcG9uZW50IGJvdW5kYXJpZXMuICovXG4gICAgQE91dHB1dCgpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4XG4gICAgcmVhZG9ubHkgb25EcmFnRW50ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKiogRXZlbnQgZmlyZWQgd2hlbiB0aGUgZHJhZ2dlZCBmaWxlIGV4aXRzIHRoZSBjb21wb25lbnQgYm91bmRhcmllcy4gKi9cbiAgICBAT3V0cHV0KClcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1vbi1wcmVmaXhcbiAgICByZWFkb25seSBvbkRyYWdMZWF2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2ZpbGVVcGxvYWRTZXJ2aWNlOiBGaWxlVXBsb2FkZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9jaGFuZ2VEZXRSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICByZWFkb25seSBfY29udGVudERlbnNpdHlPYnNlcnZlcjogQ29udGVudERlbnNpdHlPYnNlcnZlclxuICAgICkge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG9uQ2hhbmdlOiAodmFsdWVzOiBGaWxlW10pID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgb25Ub3VjaGVkID0gKCk6IHZvaWQgPT4ge307XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgICAgIHRoaXMuX2NoYW5nZURldFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICB3cml0ZVZhbHVlKGZpbGVzOiBGaWxlW10pOiB2b2lkIHtcbiAgICAgICAgaWYgKGZpbGVzICYmIGZpbGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5jbGVhcigpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX2lzRW1wdHkoKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fcHJvcGFnYXRlRmlsZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgaGFuZGxlRHJvcChmaWxlczogRmlsZVVwbG9hZE91dHB1dCk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbGlkRmlsZXMgPSBmaWxlcy52YWxpZEZpbGVzID8/IFtdO1xuICAgICAgICB0aGlzLmludmFsaWRGaWxlcyA9IGZpbGVzLmludmFsaWRGaWxlcyA/PyBbXTtcbiAgICAgICAgdGhpcy5fcHJvcGFnYXRlRmlsZXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHNlbGVjdEhhbmRsZXIoZXZlbnQ6IEZpbGVbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbGlkYXRlRmlsZXMoZXZlbnQpO1xuICAgICAgICB0aGlzLl9wcm9wYWdhdGVGaWxlcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgdmFsaWRhdGVGaWxlcyhldmVudDogRmlsZVtdKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZpbGVMaW1pdCAmJiBldmVudC5sZW5ndGggPiB0aGlzLmZpbGVMaW1pdCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdGaWxlTGltaXRFcnJvciAtIFNlbGVjdGVkIGZpbGVzIGNvdW50IGlzIG1vcmUgdGhhbiBzcGVjaWZpZWQgbGltaXQgJyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmaWxlT3V0cHV0OiBGaWxlVXBsb2FkT3V0cHV0ID0gdGhpcy5fZmlsZVVwbG9hZFNlcnZpY2UudmFsaWRhdGVGaWxlcyhcbiAgICAgICAgICAgIGV2ZW50LFxuICAgICAgICAgICAgdGhpcy5taW5GaWxlU2l6ZSxcbiAgICAgICAgICAgIHRoaXMubWF4RmlsZVNpemUsXG4gICAgICAgICAgICB0aGlzLmFjY2VwdFxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMudmFsaWRGaWxlcyA9IGZpbGVPdXRwdXQudmFsaWRGaWxlcyA/PyBbXTtcbiAgICAgICAgdGhpcy5pbnZhbGlkRmlsZXMgPSBmaWxlT3V0cHV0LmludmFsaWRGaWxlcyA/PyBbXTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHNldElucHV0VmFsdWUoc2VsZWN0ZWRGaWxlczogRmlsZVtdLCBmcm9tQ2xlYXIgPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBsZXQgZmlsZU5hbWUgPSAnJztcbiAgICAgICAgc2VsZWN0ZWRGaWxlcy5mb3JFYWNoKChmaWxlKSA9PiAoZmlsZU5hbWUgPSBmaWxlTmFtZS5jb25jYXQoJyAnICsgZmlsZS5uYW1lKSkpO1xuICAgICAgICBpZiAoIXRoaXMuaW5wdXRSZWZUZXh0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbnB1dFJlZlRleHQubmF0aXZlRWxlbWVudC52YWx1ZSA9IGZpbGVOYW1lO1xuICAgICAgICB0aGlzLmlucHV0UmVmVGV4dC5uYXRpdmVFbGVtZW50LnRpdGxlID0gZmlsZU5hbWU7XG4gICAgICAgIGlmIChmaWxlTmFtZSkge1xuICAgICAgICAgICAgdGhpcy5pbnB1dFJlZlRleHQubmF0aXZlRWxlbWVudC5wbGFjZWhvbGRlciA9IGZpbGVOYW1lO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5pbnB1dFJlZlRleHQubmF0aXZlRWxlbWVudC5wbGFjZWhvbGRlciA9IHRoaXMucGxhY2Vob2xkZXI7XG4gICAgICAgICAgICB0aGlzLmlucHV0UmVmVGV4dC5uYXRpdmVFbGVtZW50LnRpdGxlID0gdGhpcy5wbGFjZWhvbGRlcjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWZyb21DbGVhcikge1xuICAgICAgICAgICAgdGhpcy5pbnB1dFJlZlRleHQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBrZXlEb3duSGFuZGxlKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgW0VOVEVSLCBTUEFDRV0pKSB7XG4gICAgICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgfSBlbHNlIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgW1RBQl0pKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPcGVucyB0aGUgZmlsZSBzZWxlY3Rvci5cbiAgICAgKi9cbiAgICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbnB1dFJlZi5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xlYXJzIHRoZSBmaWxlcyBmcm9tIHRoZSBpbnB1dC5cbiAgICAgKi9cbiAgICBwdWJsaWMgY2xlYXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsaWRGaWxlcyA9IFtdO1xuICAgICAgICB0aGlzLmludmFsaWRGaWxlcyA9IFtdO1xuICAgICAgICB0aGlzLl9wcm9wYWdhdGVGaWxlcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaXNFbXB0eSgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc29sZS5sb2coJ19pc0VtcHR5Jyk7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbGlkRmlsZXMubGVuZ3RoID09PSAwICYmIHRoaXMuaW52YWxpZEZpbGVzLmxlbmd0aCA9PT0gMDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Byb3BhZ2F0ZUZpbGVzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldElucHV0VmFsdWUodGhpcy52YWxpZEZpbGVzKTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbGlkRmlsZXMpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkRmlsZXNDaGFuZ2VkLmVtaXQodGhpcy52YWxpZEZpbGVzKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEludmFsaWRGaWxlcy5lbWl0KHRoaXMuaW52YWxpZEZpbGVzKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJmZC1maWxlLXVwbG9hZGVyX19jb250YWluZXJcIlxuICAgIGZkRmlsZURyYWduRHJvcFxuICAgIFthY2NlcHRdPVwiYWNjZXB0XCJcbiAgICBbbWF4RmlsZVNpemVdPVwibWF4RmlsZVNpemVcIlxuICAgIFttaW5GaWxlU2l6ZV09XCJtaW5GaWxlU2l6ZVwiXG4gICAgW2RyYWduZHJvcF09XCJkcmFnbmRyb3BcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW211bHRpcGxlXT1cIm11bHRpcGxlXCJcbiAgICAoZmlsZUNoYW5nZWQpPVwiaGFuZGxlRHJvcCgkZXZlbnQpXCJcbiAgICAoZHJhZ0VudGVyZWQpPVwib25EcmFnRW50ZXIuZW1pdCgpXCJcbiAgICAoZHJhZ0xlYXZlKT1cIm9uRHJhZ0xlYXZlLmVtaXQoKVwiXG4+XG4gICAgPGlucHV0XG4gICAgICAgICN0ZXh0SW5wdXRcbiAgICAgICAgY2xhc3M9XCJmZC1pbnB1dCBmZC1maWxlLXVwbG9hZGVyX19pbnB1dFwiXG4gICAgICAgIFtjbGFzc109XCJzdGF0ZSA/ICcgaXMtJyArIHN0YXRlIDogJydcIlxuICAgICAgICBhcmlhLWxpdmU9XCJwb2xpdGVcIlxuICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgIFtpZF09XCJpZFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZEJ5XCJcbiAgICAgICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgIFt0aXRsZV09XCJhcmlhTGFiZWxcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICBbdmFsdWVdPVwiXCJcbiAgICAgICAgW3N0eWxlLndpZHRoXT1cIndpZHRoXCJcbiAgICAgICAgW2hpZGRlbl09XCJpbnB1dEhpZGRlblwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIChjbGljayk9XCJvcGVuKClcIlxuICAgICAgICAoa2V5ZG93bik9XCJrZXlEb3duSGFuZGxlKCRldmVudClcIlxuICAgIC8+XG5cbiAgICA8YnV0dG9uXG4gICAgICAgIGZkLWJ1dHRvblxuICAgICAgICBjbGFzcz1cImZpbGUtdXBsb2FkZXJfX2J1dHRvblwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnV0dG9uQXJpYUxhYmVsXCJcbiAgICAgICAgW2xhYmVsXT1cImJ1dHRvbkxhYmVsXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgKGNsaWNrKT1cIm9wZW4oKVwiXG4gICAgPjwvYnV0dG9uPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZC1mb3JtLWNvbnRyb2xdXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG5cbjxpbnB1dFxuICAgICNmaWxlSW5wdXRcbiAgICBmZEZpbGVTZWxlY3RcbiAgICBjbGFzcz1cImZkLWZpbGUtdXBsb2FkZXJfX2hpZGRlblwiXG4gICAgdHlwZT1cImZpbGVcIlxuICAgIFthdHRyLmFjY2VwdF09XCJhY2NlcHRcIlxuICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAoZmlsZVNlbGVjdGVkKT1cInNlbGVjdEhhbmRsZXIoJGV2ZW50KVwiXG4vPlxuIl19
|
|
@@ -37,7 +37,7 @@ class BusyIndicatorComponent {
|
|
|
37
37
|
provide: FD_BUSY_INDICATOR_COMPONENT,
|
|
38
38
|
useExisting: BusyIndicatorComponent
|
|
39
39
|
}
|
|
40
|
-
], viewQueries: [{ propertyName: "fakeFocusElement", first: true, predicate: ["fakeFocusElement"], descendants: true }], ngImport: i0, template: "<ng-content></ng-content>\n\n<ng-container *ngIf=\"loading\">\n <div\n #busyIndicator\n class=\"fd-busy-indicator\"\n [class.fd-busy-indicator--l]=\"size === 'l'\"\n [class.fd-busy-indicator--m]=\"size === 'm'\"\n [class.fd-busy-indicator--s]=\"size === 's'\"\n >\n <div class=\"fd-busy-indicator__circle\"></div>\n <div class=\"fd-busy-indicator__circle\"></div>\n <div class=\"fd-busy-indicator__circle\"></div>\n </div>\n\n <span *ngIf=\"label\" class=\"fd-busy-indicator-extended__label\">{{ label }}</span>\n\n <div class=\"fd-busy-indicator__overlay\"></div>\n\n <div #fakeFocusElement tabindex=\"0\" aria-hidden=\"true\" (focusin)=\"fakeElementFocusHandler($event)\"></div>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.32.0\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-busy-indicator{--Dot_Color:var(--fdBusy_Indicator_Dot_Color);--Dot_Size:.5rem;-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--Dot_Color);display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:0;font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative;text-align:center}.fd-busy-indicator--contrast{--Dot_Color:var(--fdBusy_Indicator_Dot_Contrast_Color)}.fd-busy-indicator--m{--Dot_Size:1rem}.fd-busy-indicator--l{--Dot_Size:2rem}.fd-busy-indicator:after,.fd-busy-indicator:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator-extended{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;gap:1rem;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-busy-indicator-extended:after,.fd-busy-indicator-extended:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator-extended.fd-busy-indicator-extended--message-toast{-webkit-box-shadow:var(--sapContent_Shadow2);background-color:var(--sapPageFooter_Background);box-shadow:var(--sapContent_Shadow2);max-width:23.125rem;text-shadow:var(--sapContent_TextShadow);width:23.125rem}.fd-busy-indicator-extended__label{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapPageFooter_TextColor);display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0;text-align:center}.fd-busy-indicator-extended__label:after,.fd-busy-indicator-extended__label:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator__circle{-webkit-box-sizing:border-box;animation:grow 1.6s cubic-bezier(.32,.06,.85,1.11) infinite;background-color:currentColor;border:0;border-radius:50%;box-sizing:border-box;color:var(--sapTextColor);color:var(--Dot_Color);display:inline-block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--Dot_Size);line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative;width:var(--Dot_Size)}.fd-busy-indicator__circle:after,.fd-busy-indicator__circle:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator__circle:nth-child(2){animation-delay:.2s}.fd-busy-indicator__circle:nth-child(3){animation-delay:.4s}.fd-busy-indicator-dialog{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;gap:1rem;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-busy-indicator-dialog:after,.fd-busy-indicator-dialog:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator-dialog .fd-busy-indicator{margin:.5rem auto;width:100%}@keyframes grow{0%,50%,to{transform:scale(.5)}25%{transform:scale(1)}}*+.fd-busy-indicator,*+.fd-busy-indicator+.fd-busy-indicator-extended__label{white-space:nowrap;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}*+.fd-busy-indicator+.fd-busy-indicator-extended__label{z-index:
|
|
40
|
+
], viewQueries: [{ propertyName: "fakeFocusElement", first: true, predicate: ["fakeFocusElement"], descendants: true }], ngImport: i0, template: "<ng-content></ng-content>\n\n<ng-container *ngIf=\"loading\">\n <div\n #busyIndicator\n class=\"fd-busy-indicator\"\n [class.fd-busy-indicator--l]=\"size === 'l'\"\n [class.fd-busy-indicator--m]=\"size === 'm'\"\n [class.fd-busy-indicator--s]=\"size === 's'\"\n >\n <div class=\"fd-busy-indicator__circle\"></div>\n <div class=\"fd-busy-indicator__circle\"></div>\n <div class=\"fd-busy-indicator__circle\"></div>\n </div>\n\n <span *ngIf=\"label\" class=\"fd-busy-indicator-extended__label\">{{ label }}</span>\n\n <div class=\"fd-busy-indicator__overlay\"></div>\n\n <div #fakeFocusElement tabindex=\"0\" aria-hidden=\"true\" (focusin)=\"fakeElementFocusHandler($event)\"></div>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.32.0\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-busy-indicator{--Dot_Color:var(--fdBusy_Indicator_Dot_Color);--Dot_Size:.5rem;-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--Dot_Color);display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:0;font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative;text-align:center}.fd-busy-indicator--contrast{--Dot_Color:var(--fdBusy_Indicator_Dot_Contrast_Color)}.fd-busy-indicator--m{--Dot_Size:1rem}.fd-busy-indicator--l{--Dot_Size:2rem}.fd-busy-indicator:after,.fd-busy-indicator:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator-extended{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;gap:1rem;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-busy-indicator-extended:after,.fd-busy-indicator-extended:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator-extended.fd-busy-indicator-extended--message-toast{-webkit-box-shadow:var(--sapContent_Shadow2);background-color:var(--sapPageFooter_Background);box-shadow:var(--sapContent_Shadow2);max-width:23.125rem;text-shadow:var(--sapContent_TextShadow);width:23.125rem}.fd-busy-indicator-extended__label{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapPageFooter_TextColor);display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0;text-align:center}.fd-busy-indicator-extended__label:after,.fd-busy-indicator-extended__label:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator__circle{-webkit-box-sizing:border-box;animation:grow 1.6s cubic-bezier(.32,.06,.85,1.11) infinite;background-color:currentColor;border:0;border-radius:50%;box-sizing:border-box;color:var(--sapTextColor);color:var(--Dot_Color);display:inline-block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--Dot_Size);line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative;width:var(--Dot_Size)}.fd-busy-indicator__circle:after,.fd-busy-indicator__circle:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator__circle:nth-child(2){animation-delay:.2s}.fd-busy-indicator__circle:nth-child(3){animation-delay:.4s}.fd-busy-indicator-dialog{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;gap:1rem;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-busy-indicator-dialog:after,.fd-busy-indicator-dialog:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator-dialog .fd-busy-indicator{margin:.5rem auto;width:100%}@keyframes grow{0%,50%,to{transform:scale(.5)}25%{transform:scale(1)}}*+.fd-busy-indicator,*+.fd-busy-indicator+.fd-busy-indicator-extended__label{white-space:nowrap;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}*+.fd-busy-indicator+.fd-busy-indicator-extended__label{z-index:11;transform:translate(-50%,50%)!important}.fd-busy-indicator:first-child~.fd-busy-indicator__overlay{background-color:transparent}.fd-busy-indicator{z-index:11}.fd-busy-indicator__container{display:block;position:relative}.fd-busy-indicator__container:focus{outline-width:var(--sapContent_FocusWidth, .0625rem);outline-color:var(--sapContent_FocusColor, #000);outline-style:var(--sapContent_FocusStyle, dotted)}.fd-busy-indicator__container[tabindex=\"-1\"]{outline:none}.fd-busy-indicator__container--inline{display:inline-block}.fd-busy-indicator__overlay{position:absolute;inset:0;z-index:10;background-color:var(--sapBaseColor);opacity:.72}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
41
41
|
}
|
|
42
42
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: BusyIndicatorComponent, decorators: [{
|
|
43
43
|
type: Component,
|
|
@@ -55,7 +55,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
|
|
|
55
55
|
'[attr.title]': 'title',
|
|
56
56
|
'[class.fd-busy-indicator__container]': 'true',
|
|
57
57
|
'[class.fd-busy-indicator__container--inline]': '!block'
|
|
58
|
-
}, standalone: true, imports: [NgIf], template: "<ng-content></ng-content>\n\n<ng-container *ngIf=\"loading\">\n <div\n #busyIndicator\n class=\"fd-busy-indicator\"\n [class.fd-busy-indicator--l]=\"size === 'l'\"\n [class.fd-busy-indicator--m]=\"size === 'm'\"\n [class.fd-busy-indicator--s]=\"size === 's'\"\n >\n <div class=\"fd-busy-indicator__circle\"></div>\n <div class=\"fd-busy-indicator__circle\"></div>\n <div class=\"fd-busy-indicator__circle\"></div>\n </div>\n\n <span *ngIf=\"label\" class=\"fd-busy-indicator-extended__label\">{{ label }}</span>\n\n <div class=\"fd-busy-indicator__overlay\"></div>\n\n <div #fakeFocusElement tabindex=\"0\" aria-hidden=\"true\" (focusin)=\"fakeElementFocusHandler($event)\"></div>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.32.0\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-busy-indicator{--Dot_Color:var(--fdBusy_Indicator_Dot_Color);--Dot_Size:.5rem;-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--Dot_Color);display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:0;font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative;text-align:center}.fd-busy-indicator--contrast{--Dot_Color:var(--fdBusy_Indicator_Dot_Contrast_Color)}.fd-busy-indicator--m{--Dot_Size:1rem}.fd-busy-indicator--l{--Dot_Size:2rem}.fd-busy-indicator:after,.fd-busy-indicator:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator-extended{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;gap:1rem;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-busy-indicator-extended:after,.fd-busy-indicator-extended:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator-extended.fd-busy-indicator-extended--message-toast{-webkit-box-shadow:var(--sapContent_Shadow2);background-color:var(--sapPageFooter_Background);box-shadow:var(--sapContent_Shadow2);max-width:23.125rem;text-shadow:var(--sapContent_TextShadow);width:23.125rem}.fd-busy-indicator-extended__label{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapPageFooter_TextColor);display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0;text-align:center}.fd-busy-indicator-extended__label:after,.fd-busy-indicator-extended__label:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator__circle{-webkit-box-sizing:border-box;animation:grow 1.6s cubic-bezier(.32,.06,.85,1.11) infinite;background-color:currentColor;border:0;border-radius:50%;box-sizing:border-box;color:var(--sapTextColor);color:var(--Dot_Color);display:inline-block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--Dot_Size);line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative;width:var(--Dot_Size)}.fd-busy-indicator__circle:after,.fd-busy-indicator__circle:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator__circle:nth-child(2){animation-delay:.2s}.fd-busy-indicator__circle:nth-child(3){animation-delay:.4s}.fd-busy-indicator-dialog{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;gap:1rem;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-busy-indicator-dialog:after,.fd-busy-indicator-dialog:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator-dialog .fd-busy-indicator{margin:.5rem auto;width:100%}@keyframes grow{0%,50%,to{transform:scale(.5)}25%{transform:scale(1)}}*+.fd-busy-indicator,*+.fd-busy-indicator+.fd-busy-indicator-extended__label{white-space:nowrap;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}*+.fd-busy-indicator+.fd-busy-indicator-extended__label{z-index:
|
|
58
|
+
}, standalone: true, imports: [NgIf], template: "<ng-content></ng-content>\n\n<ng-container *ngIf=\"loading\">\n <div\n #busyIndicator\n class=\"fd-busy-indicator\"\n [class.fd-busy-indicator--l]=\"size === 'l'\"\n [class.fd-busy-indicator--m]=\"size === 'm'\"\n [class.fd-busy-indicator--s]=\"size === 's'\"\n >\n <div class=\"fd-busy-indicator__circle\"></div>\n <div class=\"fd-busy-indicator__circle\"></div>\n <div class=\"fd-busy-indicator__circle\"></div>\n </div>\n\n <span *ngIf=\"label\" class=\"fd-busy-indicator-extended__label\">{{ label }}</span>\n\n <div class=\"fd-busy-indicator__overlay\"></div>\n\n <div #fakeFocusElement tabindex=\"0\" aria-hidden=\"true\" (focusin)=\"fakeElementFocusHandler($event)\"></div>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.32.0\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-busy-indicator{--Dot_Color:var(--fdBusy_Indicator_Dot_Color);--Dot_Size:.5rem;-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--Dot_Color);display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:0;font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative;text-align:center}.fd-busy-indicator--contrast{--Dot_Color:var(--fdBusy_Indicator_Dot_Contrast_Color)}.fd-busy-indicator--m{--Dot_Size:1rem}.fd-busy-indicator--l{--Dot_Size:2rem}.fd-busy-indicator:after,.fd-busy-indicator:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator-extended{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;gap:1rem;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-busy-indicator-extended:after,.fd-busy-indicator-extended:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator-extended.fd-busy-indicator-extended--message-toast{-webkit-box-shadow:var(--sapContent_Shadow2);background-color:var(--sapPageFooter_Background);box-shadow:var(--sapContent_Shadow2);max-width:23.125rem;text-shadow:var(--sapContent_TextShadow);width:23.125rem}.fd-busy-indicator-extended__label{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapPageFooter_TextColor);display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0;text-align:center}.fd-busy-indicator-extended__label:after,.fd-busy-indicator-extended__label:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator__circle{-webkit-box-sizing:border-box;animation:grow 1.6s cubic-bezier(.32,.06,.85,1.11) infinite;background-color:currentColor;border:0;border-radius:50%;box-sizing:border-box;color:var(--sapTextColor);color:var(--Dot_Color);display:inline-block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--Dot_Size);line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative;width:var(--Dot_Size)}.fd-busy-indicator__circle:after,.fd-busy-indicator__circle:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator__circle:nth-child(2){animation-delay:.2s}.fd-busy-indicator__circle:nth-child(3){animation-delay:.4s}.fd-busy-indicator-dialog{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;gap:1rem;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-busy-indicator-dialog:after,.fd-busy-indicator-dialog:before{box-sizing:inherit;font-size:inherit}.fd-busy-indicator-dialog .fd-busy-indicator{margin:.5rem auto;width:100%}@keyframes grow{0%,50%,to{transform:scale(.5)}25%{transform:scale(1)}}*+.fd-busy-indicator,*+.fd-busy-indicator+.fd-busy-indicator-extended__label{white-space:nowrap;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}*+.fd-busy-indicator+.fd-busy-indicator-extended__label{z-index:11;transform:translate(-50%,50%)!important}.fd-busy-indicator:first-child~.fd-busy-indicator__overlay{background-color:transparent}.fd-busy-indicator{z-index:11}.fd-busy-indicator__container{display:block;position:relative}.fd-busy-indicator__container:focus{outline-width:var(--sapContent_FocusWidth, .0625rem);outline-color:var(--sapContent_FocusColor, #000);outline-style:var(--sapContent_FocusStyle, dotted)}.fd-busy-indicator__container[tabindex=\"-1\"]{outline:none}.fd-busy-indicator__container--inline{display:inline-block}.fd-busy-indicator__overlay{position:absolute;inset:0;z-index:10;background-color:var(--sapBaseColor);opacity:.72}\n"] }]
|
|
59
59
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { loading: [{
|
|
60
60
|
type: Input
|
|
61
61
|
}], size: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-busy-indicator.mjs","sources":["../../../../libs/core/src/lib/busy-indicator/tokens.ts","../../../../libs/core/src/lib/busy-indicator/busy-indicator.component.ts","../../../../libs/core/src/lib/busy-indicator/busy-indicator.component.html","../../../../libs/core/src/lib/busy-indicator/busy-indicator-extended/busy-indicator-extended.directive.ts","../../../../libs/core/src/lib/busy-indicator/busy-indicator.module.ts","../../../../libs/core/src/lib/busy-indicator/fundamental-ngx-core-busy-indicator.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const FD_BUSY_INDICATOR_COMPONENT = new InjectionToken('FdBusyIndicatorComponent');\n","import { TAB } from '@angular/cdk/keycodes';\nimport { NgIf } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostListener,\n Input,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { KeyUtil, Nullable } from '@fundamental-ngx/cdk/utils';\nimport { FD_BUSY_INDICATOR_COMPONENT } from './tokens';\n\nexport type BusyIndicatorSize = 's' | 'm' | 'l';\n\n@Component({\n selector: 'fd-busy-indicator',\n templateUrl: './busy-indicator.component.html',\n styleUrls: ['./busy-indicator.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: FD_BUSY_INDICATOR_COMPONENT,\n useExisting: BusyIndicatorComponent\n }\n ],\n host: {\n '[attr.role]': \"loading ? 'progressbar' : 'presentation'\",\n '[attr.tabindex]': 'loading ? 0 : -1',\n '[attr.aria-busy]': 'loading',\n '[attr.aria-live]': 'ariaLive',\n '[attr.aria-label]': 'ariaLabel',\n '[attr.title]': 'title',\n '[class.fd-busy-indicator__container]': 'true',\n '[class.fd-busy-indicator__container--inline]': '!block'\n },\n standalone: true,\n imports: [NgIf]\n})\nexport class BusyIndicatorComponent {\n /** Whether to display the loading indicator animation. */\n @Input()\n loading: boolean;\n\n /** The size of the loading indicator, default will be medium */\n @Input()\n size: BusyIndicatorSize = 'm';\n\n /** Whether to use loader as block element */\n @Input()\n block = false;\n\n /** Aria label attribute value. */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** title attribute value for tooltip. */\n @Input()\n title: string;\n\n /** add loading label value */\n @Input()\n label?: string;\n\n /** Aria live attribute value. */\n @Input()\n ariaLive: Nullable<'assertive' | 'polite' | 'off'> = null;\n\n /** @hidden */\n @ViewChild('fakeFocusElement')\n fakeFocusElement: ElementRef;\n\n /** @hidden */\n constructor(private _elementRef: ElementRef) {}\n\n /** @hidden If focus escapes busy container focus element after wrapped content */\n @HostListener('keydown', ['$event'])\n hostFocusChangeHandler(event: KeyboardEvent): void {\n if (this.loading && KeyUtil.isKeyCode(event, TAB) && !event.shiftKey) {\n this.fakeFocusElement.nativeElement.focus();\n }\n }\n\n /** @hidden If busy container is navigated as \"previous focusable element\",\n * focus busy indicator to prevent from focusing wrapped content */\n fakeElementFocusHandler(event: FocusEvent): void {\n if (this.loading && event.relatedTarget !== this._elementRef.nativeElement) {\n event.stopPropagation();\n this._elementRef.nativeElement.focus();\n }\n }\n}\n","<ng-content></ng-content>\n\n<ng-container *ngIf=\"loading\">\n <div\n #busyIndicator\n class=\"fd-busy-indicator\"\n [class.fd-busy-indicator--l]=\"size === 'l'\"\n [class.fd-busy-indicator--m]=\"size === 'm'\"\n [class.fd-busy-indicator--s]=\"size === 's'\"\n >\n <div class=\"fd-busy-indicator__circle\"></div>\n <div class=\"fd-busy-indicator__circle\"></div>\n <div class=\"fd-busy-indicator__circle\"></div>\n </div>\n\n <span *ngIf=\"label\" class=\"fd-busy-indicator-extended__label\">{{ label }}</span>\n\n <div class=\"fd-busy-indicator__overlay\"></div>\n\n <div #fakeFocusElement tabindex=\"0\" aria-hidden=\"true\" (focusin)=\"fakeElementFocusHandler($event)\"></div>\n</ng-container>\n","import { AfterContentInit, ContentChild, Directive, ElementRef } from '@angular/core';\nimport { BusyIndicatorComponent } from '../busy-indicator.component';\nimport { FD_BUSY_INDICATOR_COMPONENT } from '../tokens';\n\nconst messageToastClass = 'fd-message-toast';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-busy-indicator-extended]',\n standalone: true\n})\nexport class BusyIndicatorExtendedDirective implements AfterContentInit {\n /** @hidden */\n @ContentChild(FD_BUSY_INDICATOR_COMPONENT)\n busyIndicator: BusyIndicatorComponent;\n\n /** @hidden */\n constructor(public readonly elementRef: ElementRef) {}\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._appendCssToParent();\n }\n\n /** @hidden */\n private _appendCssToParent(): void {\n const hasLabel = this.busyIndicator.label;\n if (!hasLabel) {\n return;\n }\n const classList = this.elementRef.nativeElement.parentElement?.classList;\n if (classList) {\n classList.add('fd-busy-indicator-extended');\n if (classList.contains(messageToastClass)) {\n classList.add('fd-busy-indicator-extended--message-toast');\n }\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BusyIndicatorComponent } from './busy-indicator.component';\nimport { BusyIndicatorExtendedDirective } from './busy-indicator-extended/busy-indicator-extended.directive';\n\n@NgModule({\n exports: [BusyIndicatorComponent, BusyIndicatorExtendedDirective],\n imports: [CommonModule, BusyIndicatorComponent, BusyIndicatorExtendedDirective]\n})\nexport class BusyIndicatorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-busy-indicator.mjs","sources":["../../../../libs/core/src/lib/busy-indicator/tokens.ts","../../../../libs/core/src/lib/busy-indicator/busy-indicator.component.ts","../../../../libs/core/src/lib/busy-indicator/busy-indicator.component.html","../../../../libs/core/src/lib/busy-indicator/busy-indicator-extended/busy-indicator-extended.directive.ts","../../../../libs/core/src/lib/busy-indicator/busy-indicator.module.ts","../../../../libs/core/src/lib/busy-indicator/fundamental-ngx-core-busy-indicator.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const FD_BUSY_INDICATOR_COMPONENT = new InjectionToken('FdBusyIndicatorComponent');\n","import { TAB } from '@angular/cdk/keycodes';\nimport { NgIf } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostListener,\n Input,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { KeyUtil, Nullable } from '@fundamental-ngx/cdk/utils';\nimport { FD_BUSY_INDICATOR_COMPONENT } from './tokens';\n\nexport type BusyIndicatorSize = 's' | 'm' | 'l';\n\n@Component({\n selector: 'fd-busy-indicator',\n templateUrl: './busy-indicator.component.html',\n styleUrls: ['./busy-indicator.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: FD_BUSY_INDICATOR_COMPONENT,\n useExisting: BusyIndicatorComponent\n }\n ],\n host: {\n '[attr.role]': \"loading ? 'progressbar' : 'presentation'\",\n '[attr.tabindex]': 'loading ? 0 : -1',\n '[attr.aria-busy]': 'loading',\n '[attr.aria-live]': 'ariaLive',\n '[attr.aria-label]': 'ariaLabel',\n '[attr.title]': 'title',\n '[class.fd-busy-indicator__container]': 'true',\n '[class.fd-busy-indicator__container--inline]': '!block'\n },\n standalone: true,\n imports: [NgIf]\n})\nexport class BusyIndicatorComponent {\n /** Whether to display the loading indicator animation. */\n @Input()\n loading: boolean;\n\n /** The size of the loading indicator, default will be medium */\n @Input()\n size: BusyIndicatorSize = 'm';\n\n /** Whether to use loader as block element */\n @Input()\n block = false;\n\n /** Aria label attribute value. */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** title attribute value for tooltip. */\n @Input()\n title: string;\n\n /** add loading label value */\n @Input()\n label?: string;\n\n /** Aria live attribute value. */\n @Input()\n ariaLive: Nullable<'assertive' | 'polite' | 'off'> = null;\n\n /** @hidden */\n @ViewChild('fakeFocusElement')\n fakeFocusElement: ElementRef;\n\n /** @hidden */\n constructor(private _elementRef: ElementRef) {}\n\n /** @hidden If focus escapes busy container focus element after wrapped content */\n @HostListener('keydown', ['$event'])\n hostFocusChangeHandler(event: KeyboardEvent): void {\n if (this.loading && KeyUtil.isKeyCode(event, TAB) && !event.shiftKey) {\n this.fakeFocusElement.nativeElement.focus();\n }\n }\n\n /** @hidden If busy container is navigated as \"previous focusable element\",\n * focus busy indicator to prevent from focusing wrapped content */\n fakeElementFocusHandler(event: FocusEvent): void {\n if (this.loading && event.relatedTarget !== this._elementRef.nativeElement) {\n event.stopPropagation();\n this._elementRef.nativeElement.focus();\n }\n }\n}\n","<ng-content></ng-content>\n\n<ng-container *ngIf=\"loading\">\n <div\n #busyIndicator\n class=\"fd-busy-indicator\"\n [class.fd-busy-indicator--l]=\"size === 'l'\"\n [class.fd-busy-indicator--m]=\"size === 'm'\"\n [class.fd-busy-indicator--s]=\"size === 's'\"\n >\n <div class=\"fd-busy-indicator__circle\"></div>\n <div class=\"fd-busy-indicator__circle\"></div>\n <div class=\"fd-busy-indicator__circle\"></div>\n </div>\n\n <span *ngIf=\"label\" class=\"fd-busy-indicator-extended__label\">{{ label }}</span>\n\n <div class=\"fd-busy-indicator__overlay\"></div>\n\n <div #fakeFocusElement tabindex=\"0\" aria-hidden=\"true\" (focusin)=\"fakeElementFocusHandler($event)\"></div>\n</ng-container>\n","import { AfterContentInit, ContentChild, Directive, ElementRef } from '@angular/core';\nimport { BusyIndicatorComponent } from '../busy-indicator.component';\nimport { FD_BUSY_INDICATOR_COMPONENT } from '../tokens';\n\nconst messageToastClass = 'fd-message-toast';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-busy-indicator-extended]',\n standalone: true\n})\nexport class BusyIndicatorExtendedDirective implements AfterContentInit {\n /** @hidden */\n @ContentChild(FD_BUSY_INDICATOR_COMPONENT)\n busyIndicator: BusyIndicatorComponent;\n\n /** @hidden */\n constructor(public readonly elementRef: ElementRef) {}\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._appendCssToParent();\n }\n\n /** @hidden */\n private _appendCssToParent(): void {\n const hasLabel = this.busyIndicator.label;\n if (!hasLabel) {\n return;\n }\n const classList = this.elementRef.nativeElement.parentElement?.classList;\n if (classList) {\n classList.add('fd-busy-indicator-extended');\n if (classList.contains(messageToastClass)) {\n classList.add('fd-busy-indicator-extended--message-toast');\n }\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BusyIndicatorComponent } from './busy-indicator.component';\nimport { BusyIndicatorExtendedDirective } from './busy-indicator-extended/busy-indicator-extended.directive';\n\n@NgModule({\n exports: [BusyIndicatorComponent, BusyIndicatorExtendedDirective],\n imports: [CommonModule, BusyIndicatorComponent, BusyIndicatorExtendedDirective]\n})\nexport class BusyIndicatorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -284,13 +284,15 @@ class FileUploaderComponent {
|
|
|
284
284
|
}
|
|
285
285
|
/** @hidden */
|
|
286
286
|
writeValue(files) {
|
|
287
|
-
if (
|
|
287
|
+
if (files && files.length === 0) {
|
|
288
|
+
this.clear();
|
|
289
|
+
}
|
|
290
|
+
else if (this._isEmpty()) {
|
|
288
291
|
return;
|
|
289
292
|
}
|
|
290
|
-
|
|
291
|
-
this.
|
|
293
|
+
else {
|
|
294
|
+
this._propagateFiles();
|
|
292
295
|
}
|
|
293
|
-
this._propagateFiles();
|
|
294
296
|
}
|
|
295
297
|
/** @hidden */
|
|
296
298
|
handleDrop(files) {
|
|
@@ -313,7 +315,7 @@ class FileUploaderComponent {
|
|
|
313
315
|
this.invalidFiles = fileOutput.invalidFiles ?? [];
|
|
314
316
|
}
|
|
315
317
|
/** @hidden */
|
|
316
|
-
setInputValue(selectedFiles) {
|
|
318
|
+
setInputValue(selectedFiles, fromClear = false) {
|
|
317
319
|
let fileName = '';
|
|
318
320
|
selectedFiles.forEach((file) => (fileName = fileName.concat(' ' + file.name)));
|
|
319
321
|
if (!this.inputRefText) {
|
|
@@ -328,7 +330,9 @@ class FileUploaderComponent {
|
|
|
328
330
|
this.inputRefText.nativeElement.placeholder = this.placeholder;
|
|
329
331
|
this.inputRefText.nativeElement.title = this.placeholder;
|
|
330
332
|
}
|
|
331
|
-
|
|
333
|
+
if (!fromClear) {
|
|
334
|
+
this.inputRefText.nativeElement.focus();
|
|
335
|
+
}
|
|
332
336
|
}
|
|
333
337
|
/** @hidden */
|
|
334
338
|
keyDownHandle(event) {
|
|
@@ -350,17 +354,13 @@ class FileUploaderComponent {
|
|
|
350
354
|
* Clears the files from the input.
|
|
351
355
|
*/
|
|
352
356
|
clear() {
|
|
353
|
-
if (this.inputRef) {
|
|
354
|
-
this.inputRef.nativeElement.value = '';
|
|
355
|
-
}
|
|
356
|
-
if (this.inputRefText) {
|
|
357
|
-
this.inputRefText.nativeElement.value = '';
|
|
358
|
-
}
|
|
359
357
|
this.validFiles = [];
|
|
360
358
|
this.invalidFiles = [];
|
|
359
|
+
this._propagateFiles();
|
|
361
360
|
}
|
|
362
361
|
/** @hidden */
|
|
363
362
|
_isEmpty() {
|
|
363
|
+
console.log('_isEmpty');
|
|
364
364
|
return this.validFiles.length === 0 && this.invalidFiles.length === 0;
|
|
365
365
|
}
|
|
366
366
|
/** @hidden */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-file-uploader.mjs","sources":["../../../../libs/core/src/lib/file-uploader/file-uploader.service.ts","../../../../libs/core/src/lib/file-uploader/directives/file-uploader-dragndrop.directive.ts","../../../../libs/core/src/lib/file-uploader/directives/file-uploader-select.directive.ts","../../../../libs/core/src/lib/file-uploader/file-uploader.component.ts","../../../../libs/core/src/lib/file-uploader/file-uploader.component.html","../../../../libs/core/src/lib/file-uploader/file-uploader.module.ts","../../../../libs/core/src/lib/file-uploader/fundamental-ngx-core-file-uploader.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nimport { parserFileSize } from '@fundamental-ngx/cdk/utils';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\nexport interface FileUploadOutput {\n validFiles?: File[];\n invalidFiles?: File[];\n}\n\n@Injectable({ providedIn: 'root' })\nexport class FileUploaderService {\n /**\n * Method that validates files passed. It is based on\n * @param files File[]\n * @param minFileSize string\n * @param maxFileSize string\n * @param acceptedExtensions string\n */\n validateFiles(\n files: File[],\n minFileSize: string,\n maxFileSize: string,\n acceptedExtensions: Nullable<string>\n ): FileUploadOutput {\n const maxSize = parserFileSize(maxFileSize);\n const minSize = parserFileSize(minFileSize);\n\n let allowedExtensions: string[] | null = null;\n if (acceptedExtensions) {\n allowedExtensions = acceptedExtensions.toLocaleLowerCase().replace(/[\\s.]/g, '').split(',');\n }\n\n const fileUploadOutput: FileUploadOutput = {};\n\n fileUploadOutput.validFiles = files.filter(\n (file) => this._checkSize(file.size, maxSize, minSize) && this._checkExtension(file, allowedExtensions)\n );\n fileUploadOutput.invalidFiles = files.filter(\n (file) => !this._checkSize(file.size, maxSize, minSize) || !this._checkExtension(file, allowedExtensions)\n );\n\n return fileUploadOutput;\n }\n\n /** @hidden */\n private _checkExtension(file: File, allowedExtensions: string[] | null): boolean {\n if (!allowedExtensions) {\n return true;\n }\n const extension = file.name.split('.')[file.name.split('.').length - 1].toLocaleLowerCase();\n return allowedExtensions.lastIndexOf(extension) !== -1;\n }\n\n /** @hidden */\n private _checkSize(fileSize: number, maxSize: number, minSize: number): boolean {\n if (maxSize && fileSize > maxSize) {\n return false;\n }\n if (minSize && fileSize < minSize) {\n return false;\n }\n return true;\n }\n}\n","import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';\nimport { FileUploadOutput, FileUploaderService } from '../file-uploader.service';\n\n/**\n * Directive that handles the drag and drop feature of the file input.\n */\n@Directive({\n selector: '[fdFileDragnDrop], [fd-file-drag-n-drop]',\n standalone: true\n})\nexport class FileUploaderDragndropDirective {\n /** Whether multiple files can be dropped at once. */\n @Input()\n multiple = true;\n\n /** Accepted file extensions. Format: `'.png,.jpg'`. */\n @Input()\n accept: string;\n\n /** Max file size in bytes that the input will accept. */\n @Input()\n maxFileSize = '';\n\n /** Min file size in bytes that the input will accept. */\n @Input()\n minFileSize = '';\n\n /** Whether selecting of new files is disabled. */\n @Input()\n disabled = false;\n\n /** Whether drag and drop is enabled. Disables this directive. */\n @Input()\n dragndrop = true;\n\n /** Event emitted when files are dropped. Passes back an array of files. */\n @Output()\n readonly fileChanged = new EventEmitter<FileUploadOutput>();\n\n /** Event emitted when the dragged file enters the dropzone. */\n @Output()\n readonly dragEntered = new EventEmitter<void>();\n\n /** Event emitted when the dragged file exits the dropzone. */\n @Output()\n readonly dragLeave = new EventEmitter<void>();\n\n /** @hidden */\n private elementStateCounter = 0;\n\n /** @hidden */\n constructor(private _fileUploadService: FileUploaderService) {}\n\n /** @hidden */\n @HostListener('dragover', ['$event'])\n public onDragover(event: Event): void {\n if (this.dragndrop) {\n this._muteEvent(event);\n }\n }\n\n /** @hidden */\n @HostListener('dragenter', [])\n public onDragenter(): void {\n ++this.elementStateCounter;\n if (this.dragndrop && this.elementStateCounter === 1) {\n this.dragEntered.emit();\n }\n }\n\n /** @hidden */\n @HostListener('dragleave', ['$event'])\n public onDragleave(event: Event): void {\n --this.elementStateCounter;\n if (this.dragndrop && this.elementStateCounter === 0) {\n this._muteEvent(event);\n this.dragLeave.emit();\n }\n }\n\n /** @hidden */\n @HostListener('drop', ['$event'])\n public onDrop(event: any): void {\n this.elementStateCounter = 0;\n\n if (!this.dragndrop || this.disabled) {\n return;\n }\n this._muteEvent(event);\n const rawFiles = event.dataTransfer.files;\n const files: File[] = Array.from(rawFiles);\n\n if (!this.multiple && files.length > 1) {\n this.fileChanged.emit({\n validFiles: [],\n invalidFiles: files\n });\n return;\n }\n\n const fileOutput: FileUploadOutput = this._fileUploadService.validateFiles(\n files,\n this.minFileSize,\n this.maxFileSize,\n this.accept\n );\n\n this.fileChanged.emit(fileOutput);\n }\n\n /** @hidden */\n private _muteEvent(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n }\n}\n","import { Directive, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';\n\n/**\n * Directive tool to facilitate interacting with a native file input element.\n */\n@Directive({\n selector: '[fdFileSelect]',\n standalone: true\n})\nexport class FileUploaderSelectDirective {\n /** Whether the input should accept multiple file selections. */\n @Input()\n private multiple = true;\n\n /** Event emitted when files are selected. */\n @Output()\n readonly fileSelected = new EventEmitter<File[]>();\n\n /** @hidden */\n @HostBinding('attr.multiple')\n get multipleBinding(): boolean | undefined {\n return this.multiple ? true : undefined;\n }\n\n /** @hidden */\n @HostListener('change', ['$event'])\n onChange(event: Event): void {\n if (event.target instanceof HTMLInputElement) {\n const elRef = <HTMLInputElement>event.target;\n const files = elRef.files;\n if (files?.length) {\n const fileArray = Array.from(files);\n this.fileSelected.emit(fileArray);\n }\n }\n }\n}\n","import { ENTER, SPACE, TAB } from '@angular/cdk/keycodes';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n ViewChild,\n ViewEncapsulation,\n forwardRef\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { KeyUtil, Nullable } from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { FormItemControl, registerFormItemControl } from '@fundamental-ngx/core/form';\nimport { stateType } from '@fundamental-ngx/core/radio';\nimport { Subscription } from 'rxjs';\nimport { FileUploaderDragndropDirective } from './directives/file-uploader-dragndrop.directive';\nimport { FileUploaderSelectDirective } from './directives/file-uploader-select.directive';\nimport { FileUploadOutput, FileUploaderService } from './file-uploader.service';\n\nlet fileUploaderInputUniqueId = 0;\n\n/**\n * Tool to facilitate the input of files from the user.\n * It supports drag and drop, multiple input, max file size and more.\n * The drag events make it very easy to create and style elements like a dropzone.\n */\n@Component({\n selector: 'fd-file-uploader',\n templateUrl: './file-uploader.component.html',\n styleUrls: ['./file-uploader.component.scss'],\n host: {\n '(blur)': 'onTouched()',\n class: 'fd-file-uploader'\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FileUploaderComponent),\n multi: true\n },\n registerFormItemControl(FileUploaderComponent),\n contentDensityObserverProviders()\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [FileUploaderDragndropDirective, ButtonComponent, FileUploaderSelectDirective]\n})\nexport class FileUploaderComponent implements ControlValueAccessor, OnDestroy, FormItemControl {\n /** @hidden */\n @ViewChild('fileInput')\n inputRef: ElementRef;\n\n /** @hidden */\n @ViewChild('textInput')\n inputRefText: ElementRef;\n\n /** Whether the file input is disabled. */\n @Input()\n disabled = false;\n\n /** If it is mandatory field */\n @Input()\n required = false;\n\n /** Whether the file input should accept multiple files. */\n @Input()\n multiple = true;\n\n /** Accepted file extensions. Format: `'.png,.jpg'`. */\n @Input()\n accept: string;\n\n /** Whether the file input accepts drag and dropped files. */\n @Input()\n dragndrop = true;\n\n /** Max file size in bytes that the input will accept. */\n @Input()\n maxFileSize = '';\n\n /** Min file size in bytes that the input will accept. */\n @Input()\n minFileSize = '';\n\n /** Id for the input element. */\n @Input()\n id: string = 'fd-file-uploader-input' + fileUploaderInputUniqueId++;\n\n /** aria-label value for input element. */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** aria-label-by value for input element.*/\n @Input()\n ariaLabelledBy: Nullable<string>;\n\n /** placeholder for input element. */\n @Input()\n placeholder: string;\n\n /** button value */\n @Input()\n buttonLabel: string;\n\n /** value for input element. */\n @Input()\n buttonAriaLabel: Nullable<string>;\n\n /** The field to set state of radio button using:\n * 'success' | 'error' | 'warning' | 'default' | 'information'\n * by default value is set to 'default'\n */\n @Input()\n state: stateType = 'default';\n\n /** specifies number of files to allow to select */\n @Input()\n fileLimit: number;\n\n /** Whether or not to hide the input, leaving only the upload/browse button. */\n @Input()\n inputHidden = false;\n\n /** Width of the file uploader */\n @Input()\n width: string;\n\n /** * It stores the valid files */\n validFiles: File[] = [];\n\n /** * It stores the invalid files */\n invalidFiles: File[] = [];\n\n /** Event fired when files are selected. Passed object is the array of files selected. */\n @Output()\n readonly selectedFilesChanged = new EventEmitter<File[]>();\n\n /** Event fired when some invalid files are selected. Passed object is the array of invalid files. */\n @Output()\n readonly selectedInvalidFiles = new EventEmitter<File[]>();\n\n /** Event fired when the dragged file enters the component boundaries. */\n @Output()\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n readonly onDragEnter = new EventEmitter<void>();\n\n /** Event fired when the dragged file exits the component boundaries. */\n @Output()\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n readonly onDragLeave = new EventEmitter<void>();\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n constructor(\n private _fileUploadService: FileUploaderService,\n private _changeDetRef: ChangeDetectorRef,\n readonly _contentDensityObserver: ContentDensityObserver\n ) {}\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n onChange: (values: File[]) => void = () => {};\n\n /** @hidden */\n onTouched = (): void => {};\n\n /** @hidden */\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n /** @hidden */\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n /** @hidden */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this._changeDetRef.detectChanges();\n }\n\n /** @hidden */\n writeValue(files: File[]): void {\n if (this._isEmpty()) {\n return;\n }\n if (!files) {\n this.clear();\n }\n this._propagateFiles();\n }\n\n /** @hidden */\n handleDrop(files: FileUploadOutput): void {\n this.validFiles = files.validFiles ?? [];\n this.invalidFiles = files.invalidFiles ?? [];\n this._propagateFiles();\n }\n\n /** @hidden */\n selectHandler(event: File[]): void {\n this.validateFiles(event);\n this._propagateFiles();\n }\n\n /** @hidden */\n validateFiles(event: File[]): void {\n if (this.fileLimit && event.length > this.fileLimit) {\n throw new Error('FileLimitError - Selected files count is more than specified limit ');\n }\n\n const fileOutput: FileUploadOutput = this._fileUploadService.validateFiles(\n event,\n this.minFileSize,\n this.maxFileSize,\n this.accept\n );\n\n this.validFiles = fileOutput.validFiles ?? [];\n this.invalidFiles = fileOutput.invalidFiles ?? [];\n }\n\n /** @hidden */\n setInputValue(selectedFiles: File[]): void {\n let fileName = '';\n selectedFiles.forEach((file) => (fileName = fileName.concat(' ' + file.name)));\n if (!this.inputRefText) {\n return;\n }\n this.inputRefText.nativeElement.value = fileName;\n this.inputRefText.nativeElement.title = fileName;\n if (fileName) {\n this.inputRefText.nativeElement.placeholder = fileName;\n } else {\n this.inputRefText.nativeElement.placeholder = this.placeholder;\n this.inputRefText.nativeElement.title = this.placeholder;\n }\n this.inputRefText.nativeElement.focus();\n }\n\n /** @hidden */\n keyDownHandle(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n this.open();\n } else if (KeyUtil.isKeyCode(event, [TAB])) {\n return;\n }\n event.preventDefault();\n }\n\n /**\n * Opens the file selector.\n */\n public open(): void {\n this.inputRef.nativeElement.click();\n }\n\n /**\n * Clears the files from the input.\n */\n public clear(): void {\n if (this.inputRef) {\n this.inputRef.nativeElement.value = '';\n }\n if (this.inputRefText) {\n this.inputRefText.nativeElement.value = '';\n }\n this.validFiles = [];\n this.invalidFiles = [];\n }\n\n /** @hidden */\n private _isEmpty(): boolean {\n return this.validFiles.length === 0 && this.invalidFiles.length === 0;\n }\n\n /** @hidden */\n private _propagateFiles(): void {\n this.setInputValue(this.validFiles);\n this.onChange(this.validFiles);\n this.selectedFilesChanged.emit(this.validFiles);\n this.selectedInvalidFiles.emit(this.invalidFiles);\n }\n}\n","<div\n class=\"fd-file-uploader__container\"\n fdFileDragnDrop\n [accept]=\"accept\"\n [maxFileSize]=\"maxFileSize\"\n [minFileSize]=\"minFileSize\"\n [dragndrop]=\"dragndrop\"\n [disabled]=\"disabled\"\n [multiple]=\"multiple\"\n (fileChanged)=\"handleDrop($event)\"\n (dragEntered)=\"onDragEnter.emit()\"\n (dragLeave)=\"onDragLeave.emit()\"\n>\n <input\n #textInput\n class=\"fd-input fd-file-uploader__input\"\n [class]=\"state ? ' is-' + state : ''\"\n aria-live=\"polite\"\n autocomplete=\"off\"\n type=\"text\"\n tabindex=\"0\"\n [id]=\"id\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-required]=\"required\"\n [title]=\"ariaLabel\"\n [placeholder]=\"placeholder\"\n [value]=\"\"\n [style.width]=\"width\"\n [hidden]=\"inputHidden\"\n [disabled]=\"disabled\"\n (click)=\"open()\"\n (keydown)=\"keyDownHandle($event)\"\n />\n\n <button\n fd-button\n class=\"file-uploader__button\"\n [attr.aria-label]=\"buttonAriaLabel\"\n [label]=\"buttonLabel\"\n [disabled]=\"disabled\"\n (click)=\"open()\"\n ></button>\n <ng-content select=\"[fd-form-control]\"></ng-content>\n</div>\n\n<input\n #fileInput\n fdFileSelect\n class=\"fd-file-uploader__hidden\"\n type=\"file\"\n [attr.accept]=\"accept\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n (fileSelected)=\"selectHandler($event)\"\n/>\n","import { NgModule } from '@angular/core';\nimport { FileUploaderDragndropDirective } from './directives/file-uploader-dragndrop.directive';\nimport { FileUploaderSelectDirective } from './directives/file-uploader-select.directive';\nimport { FileUploaderComponent } from './file-uploader.component';\n\nconst components = [FileUploaderComponent, FileUploaderSelectDirective, FileUploaderDragndropDirective];\n\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class FileUploaderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.FileUploaderService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-file-uploader.mjs","sources":["../../../../libs/core/src/lib/file-uploader/file-uploader.service.ts","../../../../libs/core/src/lib/file-uploader/directives/file-uploader-dragndrop.directive.ts","../../../../libs/core/src/lib/file-uploader/directives/file-uploader-select.directive.ts","../../../../libs/core/src/lib/file-uploader/file-uploader.component.ts","../../../../libs/core/src/lib/file-uploader/file-uploader.component.html","../../../../libs/core/src/lib/file-uploader/file-uploader.module.ts","../../../../libs/core/src/lib/file-uploader/fundamental-ngx-core-file-uploader.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nimport { parserFileSize } from '@fundamental-ngx/cdk/utils';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\nexport interface FileUploadOutput {\n validFiles?: File[];\n invalidFiles?: File[];\n}\n\n@Injectable({ providedIn: 'root' })\nexport class FileUploaderService {\n /**\n * Method that validates files passed. It is based on\n * @param files File[]\n * @param minFileSize string\n * @param maxFileSize string\n * @param acceptedExtensions string\n */\n validateFiles(\n files: File[],\n minFileSize: string,\n maxFileSize: string,\n acceptedExtensions: Nullable<string>\n ): FileUploadOutput {\n const maxSize = parserFileSize(maxFileSize);\n const minSize = parserFileSize(minFileSize);\n\n let allowedExtensions: string[] | null = null;\n if (acceptedExtensions) {\n allowedExtensions = acceptedExtensions.toLocaleLowerCase().replace(/[\\s.]/g, '').split(',');\n }\n\n const fileUploadOutput: FileUploadOutput = {};\n\n fileUploadOutput.validFiles = files.filter(\n (file) => this._checkSize(file.size, maxSize, minSize) && this._checkExtension(file, allowedExtensions)\n );\n fileUploadOutput.invalidFiles = files.filter(\n (file) => !this._checkSize(file.size, maxSize, minSize) || !this._checkExtension(file, allowedExtensions)\n );\n\n return fileUploadOutput;\n }\n\n /** @hidden */\n private _checkExtension(file: File, allowedExtensions: string[] | null): boolean {\n if (!allowedExtensions) {\n return true;\n }\n const extension = file.name.split('.')[file.name.split('.').length - 1].toLocaleLowerCase();\n return allowedExtensions.lastIndexOf(extension) !== -1;\n }\n\n /** @hidden */\n private _checkSize(fileSize: number, maxSize: number, minSize: number): boolean {\n if (maxSize && fileSize > maxSize) {\n return false;\n }\n if (minSize && fileSize < minSize) {\n return false;\n }\n return true;\n }\n}\n","import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';\nimport { FileUploadOutput, FileUploaderService } from '../file-uploader.service';\n\n/**\n * Directive that handles the drag and drop feature of the file input.\n */\n@Directive({\n selector: '[fdFileDragnDrop], [fd-file-drag-n-drop]',\n standalone: true\n})\nexport class FileUploaderDragndropDirective {\n /** Whether multiple files can be dropped at once. */\n @Input()\n multiple = true;\n\n /** Accepted file extensions. Format: `'.png,.jpg'`. */\n @Input()\n accept: string;\n\n /** Max file size in bytes that the input will accept. */\n @Input()\n maxFileSize = '';\n\n /** Min file size in bytes that the input will accept. */\n @Input()\n minFileSize = '';\n\n /** Whether selecting of new files is disabled. */\n @Input()\n disabled = false;\n\n /** Whether drag and drop is enabled. Disables this directive. */\n @Input()\n dragndrop = true;\n\n /** Event emitted when files are dropped. Passes back an array of files. */\n @Output()\n readonly fileChanged = new EventEmitter<FileUploadOutput>();\n\n /** Event emitted when the dragged file enters the dropzone. */\n @Output()\n readonly dragEntered = new EventEmitter<void>();\n\n /** Event emitted when the dragged file exits the dropzone. */\n @Output()\n readonly dragLeave = new EventEmitter<void>();\n\n /** @hidden */\n private elementStateCounter = 0;\n\n /** @hidden */\n constructor(private _fileUploadService: FileUploaderService) {}\n\n /** @hidden */\n @HostListener('dragover', ['$event'])\n public onDragover(event: Event): void {\n if (this.dragndrop) {\n this._muteEvent(event);\n }\n }\n\n /** @hidden */\n @HostListener('dragenter', [])\n public onDragenter(): void {\n ++this.elementStateCounter;\n if (this.dragndrop && this.elementStateCounter === 1) {\n this.dragEntered.emit();\n }\n }\n\n /** @hidden */\n @HostListener('dragleave', ['$event'])\n public onDragleave(event: Event): void {\n --this.elementStateCounter;\n if (this.dragndrop && this.elementStateCounter === 0) {\n this._muteEvent(event);\n this.dragLeave.emit();\n }\n }\n\n /** @hidden */\n @HostListener('drop', ['$event'])\n public onDrop(event: any): void {\n this.elementStateCounter = 0;\n\n if (!this.dragndrop || this.disabled) {\n return;\n }\n this._muteEvent(event);\n const rawFiles = event.dataTransfer.files;\n const files: File[] = Array.from(rawFiles);\n\n if (!this.multiple && files.length > 1) {\n this.fileChanged.emit({\n validFiles: [],\n invalidFiles: files\n });\n return;\n }\n\n const fileOutput: FileUploadOutput = this._fileUploadService.validateFiles(\n files,\n this.minFileSize,\n this.maxFileSize,\n this.accept\n );\n\n this.fileChanged.emit(fileOutput);\n }\n\n /** @hidden */\n private _muteEvent(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n }\n}\n","import { Directive, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';\n\n/**\n * Directive tool to facilitate interacting with a native file input element.\n */\n@Directive({\n selector: '[fdFileSelect]',\n standalone: true\n})\nexport class FileUploaderSelectDirective {\n /** Whether the input should accept multiple file selections. */\n @Input()\n private multiple = true;\n\n /** Event emitted when files are selected. */\n @Output()\n readonly fileSelected = new EventEmitter<File[]>();\n\n /** @hidden */\n @HostBinding('attr.multiple')\n get multipleBinding(): boolean | undefined {\n return this.multiple ? true : undefined;\n }\n\n /** @hidden */\n @HostListener('change', ['$event'])\n onChange(event: Event): void {\n if (event.target instanceof HTMLInputElement) {\n const elRef = <HTMLInputElement>event.target;\n const files = elRef.files;\n if (files?.length) {\n const fileArray = Array.from(files);\n this.fileSelected.emit(fileArray);\n }\n }\n }\n}\n","import { ENTER, SPACE, TAB } from '@angular/cdk/keycodes';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n ViewChild,\n ViewEncapsulation,\n forwardRef\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { KeyUtil, Nullable } from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { FormItemControl, registerFormItemControl } from '@fundamental-ngx/core/form';\nimport { stateType } from '@fundamental-ngx/core/radio';\nimport { Subscription } from 'rxjs';\nimport { FileUploaderDragndropDirective } from './directives/file-uploader-dragndrop.directive';\nimport { FileUploaderSelectDirective } from './directives/file-uploader-select.directive';\nimport { FileUploadOutput, FileUploaderService } from './file-uploader.service';\n\nlet fileUploaderInputUniqueId = 0;\n\n/**\n * Tool to facilitate the input of files from the user.\n * It supports drag and drop, multiple input, max file size and more.\n * The drag events make it very easy to create and style elements like a dropzone.\n */\n@Component({\n selector: 'fd-file-uploader',\n templateUrl: './file-uploader.component.html',\n styleUrls: ['./file-uploader.component.scss'],\n host: {\n '(blur)': 'onTouched()',\n class: 'fd-file-uploader'\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FileUploaderComponent),\n multi: true\n },\n registerFormItemControl(FileUploaderComponent),\n contentDensityObserverProviders()\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [FileUploaderDragndropDirective, ButtonComponent, FileUploaderSelectDirective]\n})\nexport class FileUploaderComponent implements ControlValueAccessor, OnDestroy, FormItemControl {\n /** @hidden */\n @ViewChild('fileInput')\n inputRef: ElementRef;\n\n /** @hidden */\n @ViewChild('textInput')\n inputRefText: ElementRef;\n\n /** Whether the file input is disabled. */\n @Input()\n disabled = false;\n\n /** If it is mandatory field */\n @Input()\n required = false;\n\n /** Whether the file input should accept multiple files. */\n @Input()\n multiple = true;\n\n /** Accepted file extensions. Format: `'.png,.jpg'`. */\n @Input()\n accept: string;\n\n /** Whether the file input accepts drag and dropped files. */\n @Input()\n dragndrop = true;\n\n /** Max file size in bytes that the input will accept. */\n @Input()\n maxFileSize = '';\n\n /** Min file size in bytes that the input will accept. */\n @Input()\n minFileSize = '';\n\n /** Id for the input element. */\n @Input()\n id: string = 'fd-file-uploader-input' + fileUploaderInputUniqueId++;\n\n /** aria-label value for input element. */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** aria-label-by value for input element.*/\n @Input()\n ariaLabelledBy: Nullable<string>;\n\n /** placeholder for input element. */\n @Input()\n placeholder: string;\n\n /** button value */\n @Input()\n buttonLabel: string;\n\n /** value for input element. */\n @Input()\n buttonAriaLabel: Nullable<string>;\n\n /** The field to set state of radio button using:\n * 'success' | 'error' | 'warning' | 'default' | 'information'\n * by default value is set to 'default'\n */\n @Input()\n state: stateType = 'default';\n\n /** specifies number of files to allow to select */\n @Input()\n fileLimit: number;\n\n /** Whether or not to hide the input, leaving only the upload/browse button. */\n @Input()\n inputHidden = false;\n\n /** Width of the file uploader */\n @Input()\n width: string;\n\n /** * It stores the valid files */\n validFiles: File[] = [];\n\n /** * It stores the invalid files */\n invalidFiles: File[] = [];\n\n /** Event fired when files are selected. Passed object is the array of files selected. */\n @Output()\n readonly selectedFilesChanged = new EventEmitter<File[]>();\n\n /** Event fired when some invalid files are selected. Passed object is the array of invalid files. */\n @Output()\n readonly selectedInvalidFiles = new EventEmitter<File[]>();\n\n /** Event fired when the dragged file enters the component boundaries. */\n @Output()\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n readonly onDragEnter = new EventEmitter<void>();\n\n /** Event fired when the dragged file exits the component boundaries. */\n @Output()\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n readonly onDragLeave = new EventEmitter<void>();\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n constructor(\n private _fileUploadService: FileUploaderService,\n private _changeDetRef: ChangeDetectorRef,\n readonly _contentDensityObserver: ContentDensityObserver\n ) {}\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n onChange: (values: File[]) => void = () => {};\n\n /** @hidden */\n onTouched = (): void => {};\n\n /** @hidden */\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n /** @hidden */\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n /** @hidden */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this._changeDetRef.detectChanges();\n }\n\n /** @hidden */\n writeValue(files: File[]): void {\n if (files && files.length === 0) {\n this.clear();\n } else if (this._isEmpty()) {\n return;\n } else {\n this._propagateFiles();\n }\n }\n\n /** @hidden */\n handleDrop(files: FileUploadOutput): void {\n this.validFiles = files.validFiles ?? [];\n this.invalidFiles = files.invalidFiles ?? [];\n this._propagateFiles();\n }\n\n /** @hidden */\n selectHandler(event: File[]): void {\n this.validateFiles(event);\n this._propagateFiles();\n }\n\n /** @hidden */\n validateFiles(event: File[]): void {\n if (this.fileLimit && event.length > this.fileLimit) {\n throw new Error('FileLimitError - Selected files count is more than specified limit ');\n }\n\n const fileOutput: FileUploadOutput = this._fileUploadService.validateFiles(\n event,\n this.minFileSize,\n this.maxFileSize,\n this.accept\n );\n\n this.validFiles = fileOutput.validFiles ?? [];\n this.invalidFiles = fileOutput.invalidFiles ?? [];\n }\n\n /** @hidden */\n setInputValue(selectedFiles: File[], fromClear = false): void {\n let fileName = '';\n selectedFiles.forEach((file) => (fileName = fileName.concat(' ' + file.name)));\n if (!this.inputRefText) {\n return;\n }\n this.inputRefText.nativeElement.value = fileName;\n this.inputRefText.nativeElement.title = fileName;\n if (fileName) {\n this.inputRefText.nativeElement.placeholder = fileName;\n } else {\n this.inputRefText.nativeElement.placeholder = this.placeholder;\n this.inputRefText.nativeElement.title = this.placeholder;\n }\n if (!fromClear) {\n this.inputRefText.nativeElement.focus();\n }\n }\n\n /** @hidden */\n keyDownHandle(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n this.open();\n } else if (KeyUtil.isKeyCode(event, [TAB])) {\n return;\n }\n event.preventDefault();\n }\n\n /**\n * Opens the file selector.\n */\n public open(): void {\n this.inputRef.nativeElement.click();\n }\n\n /**\n * Clears the files from the input.\n */\n public clear(): void {\n this.validFiles = [];\n this.invalidFiles = [];\n this._propagateFiles();\n }\n\n /** @hidden */\n private _isEmpty(): boolean {\n console.log('_isEmpty');\n return this.validFiles.length === 0 && this.invalidFiles.length === 0;\n }\n\n /** @hidden */\n private _propagateFiles(): void {\n this.setInputValue(this.validFiles);\n this.onChange(this.validFiles);\n this.selectedFilesChanged.emit(this.validFiles);\n this.selectedInvalidFiles.emit(this.invalidFiles);\n }\n}\n","<div\n class=\"fd-file-uploader__container\"\n fdFileDragnDrop\n [accept]=\"accept\"\n [maxFileSize]=\"maxFileSize\"\n [minFileSize]=\"minFileSize\"\n [dragndrop]=\"dragndrop\"\n [disabled]=\"disabled\"\n [multiple]=\"multiple\"\n (fileChanged)=\"handleDrop($event)\"\n (dragEntered)=\"onDragEnter.emit()\"\n (dragLeave)=\"onDragLeave.emit()\"\n>\n <input\n #textInput\n class=\"fd-input fd-file-uploader__input\"\n [class]=\"state ? ' is-' + state : ''\"\n aria-live=\"polite\"\n autocomplete=\"off\"\n type=\"text\"\n tabindex=\"0\"\n [id]=\"id\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-required]=\"required\"\n [title]=\"ariaLabel\"\n [placeholder]=\"placeholder\"\n [value]=\"\"\n [style.width]=\"width\"\n [hidden]=\"inputHidden\"\n [disabled]=\"disabled\"\n (click)=\"open()\"\n (keydown)=\"keyDownHandle($event)\"\n />\n\n <button\n fd-button\n class=\"file-uploader__button\"\n [attr.aria-label]=\"buttonAriaLabel\"\n [label]=\"buttonLabel\"\n [disabled]=\"disabled\"\n (click)=\"open()\"\n ></button>\n <ng-content select=\"[fd-form-control]\"></ng-content>\n</div>\n\n<input\n #fileInput\n fdFileSelect\n class=\"fd-file-uploader__hidden\"\n type=\"file\"\n [attr.accept]=\"accept\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n (fileSelected)=\"selectHandler($event)\"\n/>\n","import { NgModule } from '@angular/core';\nimport { FileUploaderDragndropDirective } from './directives/file-uploader-dragndrop.directive';\nimport { FileUploaderSelectDirective } from './directives/file-uploader-select.directive';\nimport { FileUploaderComponent } from './file-uploader.component';\n\nconst components = [FileUploaderComponent, FileUploaderSelectDirective, FileUploaderDragndropDirective];\n\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class FileUploaderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.FileUploaderService"],"mappings":"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"}
|
|
@@ -93,7 +93,7 @@ export declare class FileUploaderComponent implements ControlValueAccessor, OnDe
|
|
|
93
93
|
/** @hidden */
|
|
94
94
|
validateFiles(event: File[]): void;
|
|
95
95
|
/** @hidden */
|
|
96
|
-
setInputValue(selectedFiles: File[]): void;
|
|
96
|
+
setInputValue(selectedFiles: File[], fromClear?: boolean): void;
|
|
97
97
|
/** @hidden */
|
|
98
98
|
keyDownHandle(event: KeyboardEvent): void;
|
|
99
99
|
/**
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fundamental-ngx/core",
|
|
3
|
-
"version": "0.47.4-rc.
|
|
3
|
+
"version": "0.47.4-rc.2",
|
|
4
4
|
"schematics": "./schematics/collection.json",
|
|
5
5
|
"ng-update": {
|
|
6
6
|
"migrations": "./schematics/migrations.json"
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
"@angular/forms": "^16.2.0",
|
|
24
24
|
"@angular/platform-browser": "^16.2.0",
|
|
25
25
|
"@angular/router": "^16.2.0",
|
|
26
|
-
"@fundamental-ngx/cdk": "0.47.4-rc.
|
|
27
|
-
"@fundamental-ngx/i18n": "0.47.4-rc.
|
|
26
|
+
"@fundamental-ngx/cdk": "0.47.4-rc.2",
|
|
27
|
+
"@fundamental-ngx/i18n": "0.47.4-rc.2",
|
|
28
28
|
"@sap-theming/theming-base-content": "^11.9.0",
|
|
29
29
|
"fundamental-styles": "0.32.0",
|
|
30
30
|
"rxjs": "^7.8.0"
|
|
@@ -54,21 +54,21 @@ function addExternalLibraries(options) {
|
|
|
54
54
|
});
|
|
55
55
|
}
|
|
56
56
|
if (!(0, package_utils_1.hasPackage)(tree, '@fundamental-ngx/i18n') ||
|
|
57
|
-
(0, package_utils_1.checkPackageVersion)(tree, '@fundamental-ngx/i18n', '0.47.4-rc.
|
|
57
|
+
(0, package_utils_1.checkPackageVersion)(tree, '@fundamental-ngx/i18n', '0.47.4-rc.2', '<')) {
|
|
58
58
|
dependencies.push({
|
|
59
59
|
type: dependencies_1.NodeDependencyType.Default,
|
|
60
60
|
// Will be replaced with the real version during sync-version script run
|
|
61
|
-
version: `0.47.4-rc.
|
|
61
|
+
version: `0.47.4-rc.2`,
|
|
62
62
|
name: '@fundamental-ngx/i18n',
|
|
63
63
|
overwrite: true
|
|
64
64
|
});
|
|
65
65
|
}
|
|
66
66
|
if (!(0, package_utils_1.hasPackage)(tree, '@fundamental-ngx/cdk') ||
|
|
67
|
-
(0, package_utils_1.checkPackageVersion)(tree, '@fundamental-ngx/cdk', '0.47.4-rc.
|
|
67
|
+
(0, package_utils_1.checkPackageVersion)(tree, '@fundamental-ngx/cdk', '0.47.4-rc.2', '<')) {
|
|
68
68
|
dependencies.push({
|
|
69
69
|
type: dependencies_1.NodeDependencyType.Default,
|
|
70
70
|
// Will be replaced with the real version during sync-version script run
|
|
71
|
-
version: `0.47.4-rc.
|
|
71
|
+
version: `0.47.4-rc.2`,
|
|
72
72
|
name: '@fundamental-ngx/cdk',
|
|
73
73
|
overwrite: true
|
|
74
74
|
});
|
|
Binary file
|