@clr/angular 15.14.2 → 15.14.5
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/accordion/stepper/models/stepper.model.d.ts +2 -0
- package/accordion/stepper/providers/stepper.service.d.ts +2 -0
- package/clarity.api.md +4 -0
- package/esm2020/accordion/stepper/models/stepper.model.mjs +7 -1
- package/esm2020/accordion/stepper/providers/stepper.service.mjs +9 -1
- package/esm2020/accordion/stepper/stepper-panel.mjs +11 -6
- package/esm2020/button/button-loading/loading-button.mjs +5 -5
- package/esm2020/forms/combobox/option-items.directive.mjs +12 -6
- package/esm2020/forms/datepicker/providers/date-io.service.mjs +2 -2
- package/esm2020/forms/password/password-container.mjs +9 -3
- package/esm2020/popover/signpost/signpost-content.mjs +3 -3
- package/esm2020/popover/signpost/signpost-trigger.mjs +2 -1
- package/esm2020/utils/i18n/common-strings.default.mjs +3 -3
- package/esm2020/utils/popover/providers/popover-position.service.mjs +11 -3
- package/fesm2015/clr-angular.mjs +63 -23
- package/fesm2015/clr-angular.mjs.map +1 -1
- package/fesm2020/clr-angular.mjs +63 -23
- package/fesm2020/clr-angular.mjs.map +1 -1
- package/forms/password/password-container.d.ts +2 -0
- package/package.json +2 -2
|
@@ -126,7 +126,7 @@ ClrSignpostContent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ver
|
|
|
126
126
|
<cds-icon shape="window-close" [attr.title]="commonStrings.keys.close"></cds-icon>
|
|
127
127
|
</button>
|
|
128
128
|
</div>
|
|
129
|
-
<div class="signpost-content-body">
|
|
129
|
+
<div class="signpost-content-body" tabindex="0">
|
|
130
130
|
<ng-content></ng-content>
|
|
131
131
|
</div>
|
|
132
132
|
</div>
|
|
@@ -149,7 +149,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
149
149
|
<cds-icon shape="window-close" [attr.title]="commonStrings.keys.close"></cds-icon>
|
|
150
150
|
</button>
|
|
151
151
|
</div>
|
|
152
|
-
<div class="signpost-content-body">
|
|
152
|
+
<div class="signpost-content-body" tabindex="0">
|
|
153
153
|
<ng-content></ng-content>
|
|
154
154
|
</div>
|
|
155
155
|
</div>
|
|
@@ -171,4 +171,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
171
171
|
type: Input,
|
|
172
172
|
args: ['clrPosition']
|
|
173
173
|
}] } });
|
|
174
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbnBvc3QtY29udGVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3BvcG92ZXIvc2lnbnBvc3Qvc2lnbnBvc3QtY29udGVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFZLEtBQUssRUFBYSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2pILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFHMUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7OztBQUUxRCxnRUFBZ0U7QUFDaEUsTUFBTSxTQUFTLEdBQWE7SUFDMUIsVUFBVTtJQUNWLFlBQVk7SUFDWixXQUFXO0lBQ1gsV0FBVztJQUNYLGNBQWM7SUFDZCxjQUFjO0lBQ2QsY0FBYztJQUNkLGVBQWU7SUFDZixhQUFhO0lBQ2IsYUFBYTtJQUNiLGFBQWE7SUFDYixVQUFVO0NBQ1gsQ0FBQztBQXlCRixNQUFNLE9BQU8sa0JBQW1CLFNBQVEsZUFBZTtJQU1yRCxZQUNFLFFBQWtCLEVBR2xCLFVBQXNCLEVBQ2YsYUFBc0MsRUFDckMsaUJBQW9DLEVBQ3BDLG9CQUEwQyxFQUNyQixVQUFlLEVBQzFCLFFBQWE7UUFFL0IsS0FBSyxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztRQU5yQixrQkFBYSxHQUFiLGFBQWEsQ0FBeUI7UUFDckMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyx5QkFBb0IsR0FB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WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjMgVk13YXJlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IERPQ1VNRU5ULCBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5qZWN0b3IsIElucHV0LCBPbkRlc3Ryb3ksIE9wdGlvbmFsLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDbHJDb21tb25TdHJpbmdzU2VydmljZSB9IGZyb20gJy4uLy4uL3V0aWxzL2kxOG4vY29tbW9uLXN0cmluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyB1bmlxdWVJZEZhY3RvcnkgfSBmcm9tICcuLi8uLi91dGlscy9pZC1nZW5lcmF0b3IvaWQtZ2VuZXJhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWJzdHJhY3RQb3BvdmVyIH0gZnJvbSAnLi4vY29tbW9uL2Fic3RyYWN0LXBvcG92ZXInO1xuaW1wb3J0IHsgUE9QT1ZFUl9IT1NUX0FOQ0hPUiB9IGZyb20gJy4uL2NvbW1vbi9wb3BvdmVyLWhvc3QtYW5jaG9yLnRva2VuJztcbmltcG9ydCB7IFNpZ25wb3N0Rm9jdXNNYW5hZ2VyIH0gZnJvbSAnLi9wcm92aWRlcnMvc2lnbnBvc3QtZm9jdXMtbWFuYWdlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNpZ25wb3N0SWRTZXJ2aWNlIH0gZnJvbSAnLi9wcm92aWRlcnMvc2lnbnBvc3QtaWQuc2VydmljZSc7XG5pbXBvcnQgeyBTSUdOUE9TVF9QT1NJVElPTlMgfSBmcm9tICcuL3NpZ25wb3N0LXBvc2l0aW9ucyc7XG5cbi8vIGFrYSB3aGVyZSB0aGUgYXJyb3cgLyBwb2ludGVyIGlzIGF0IGluIHJlbGF0aW9uIHRvIHRoZSBhbmNob3JcbmNvbnN0IFBPU0lUSU9OUzogc3RyaW5nW10gPSBbXG4gICd0b3AtbGVmdCcsXG4gICd0b3AtbWlkZGxlJyxcbiAgJ3RvcC1yaWdodCcsXG4gICdyaWdodC10b3AnLFxuICAncmlnaHQtbWlkZGxlJywgLy8gZGVmYXVsdFxuICAncmlnaHQtYm90dG9tJyxcbiAgJ2JvdHRvbS1yaWdodCcsXG4gICdib3R0b20tbWlkZGxlJyxcbiAgJ2JvdHRvbS1sZWZ0JyxcbiAgJ2xlZnQtYm90dG9tJyxcbiAgJ2xlZnQtbWlkZGxlJyxcbiAgJ2xlZnQtdG9wJyxcbl07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nsci1zaWducG9zdC1jb250ZW50JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwic2lnbnBvc3Qtd3JhcFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInBvcG92ZXItcG9pbnRlclwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInNpZ25wb3N0LWNvbnRlbnQtaGVhZGVyXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImNvbW1vblN0cmluZ3Mua2V5cy5zaWducG9zdENsb3NlXCJcbiAgICAgICAgICBjbGFzcz1cInNpZ25wb3N0LWFjdGlvbiBjbG9zZVwiXG4gICAgICAgICAgKGNsaWNrKT1cImNsb3NlKClcIlxuICAgICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwic2lnbnBvc3RDb250ZW50SWRcIlxuICAgICAgICA+XG4gICAgICAgICAgPGNkcy1pY29uIHNoYXBlPVwid2luZG93LWNsb3NlXCIgW2F0dHIudGl0bGVdPVwiY29tbW9uU3RyaW5ncy5rZXlzLmNsb3NlXCI+PC9jZHMtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzaWducG9zdC1jb250ZW50LWJvZHlcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG4gIGhvc3Q6IHsgJ1tjbGFzcy5zaWducG9zdC1jb250ZW50XSc6ICd0cnVlJywgJ1tpZF0nOiAnc2lnbnBvc3RDb250ZW50SWQnIH0sXG59KVxuZXhwb3J0IGNsYXNzIENsclNpZ25wb3N0Q29udGVudCBleHRlbmRzIEFic3RyYWN0UG9wb3ZlciBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHNpZ25wb3N0Q29udGVudElkID0gdW5pcXVlSWRGYWN0b3J5KCk7XG5cbiAgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQ7XG4gIHByaXZhdGUgX3Bvc2l0aW9uOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIEBPcHRpb25hbCgpXG4gICAgQEluamVjdChQT1BPVkVSX0hPU1RfQU5DSE9SKVxuICAgIHBhcmVudEhvc3Q6IEVsZW1lbnRSZWYsXG4gICAgcHVibGljIGNvbW1vblN0cmluZ3M6IENsckNvbW1vblN0cmluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgc2lnbnBvc3RJZFNlcnZpY2U6IFNpZ25wb3N0SWRTZXJ2aWNlLFxuICAgIHByaXZhdGUgc2lnbnBvc3RGb2N1c01hbmFnZXI6IFNpZ25wb3N0Rm9jdXNNYW5hZ2VyLFxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogYW55LFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIGRvY3VtZW50OiBhbnlcbiAgKSB7XG4gICAgc3VwZXIoaW5qZWN0b3IsIHBhcmVudEhvc3QpO1xuICAgIGlmICghcGFyZW50SG9zdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdjbHItc2lnbnBvc3QtY29udGVudCBzaG91bGQgb25seSBiZSB1c2VkIGluc2lkZSBvZiBhIGNsci1zaWducG9zdCcpO1xuICAgIH1cbiAgICAvLyBEZWZhdWx0c1xuICAgIHRoaXMucG9zaXRpb24gPSAncmlnaHQtbWlkZGxlJztcbiAgICB0aGlzLmNsb3NlT25PdXRzaWRlQ2xpY2sgPSB0cnVlO1xuICAgIHRoaXMuc2lnbnBvc3RJZFNlcnZpY2Uuc2V0SWQodGhpcy5zaWducG9zdENvbnRlbnRJZCk7XG5cbiAgICB0aGlzLmRvY3VtZW50ID0gZG9jdW1lbnQ7XG4gIH1cblxuICAvKioqKioqKioqXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBIHNldHRlciBmb3IgdGhlIHBvc2l0aW9uIG9mIHRoZSBDbHJTaWducG9zdENvbnRlbnQgcG9wb3Zlci4gVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mIHRoZSBmb2xsb3dpbmc6XG4gICAqIC0gYW5jaG9yUG9pbnQgLSB3aGVyZSBvbiB0aGUgdHJpZ2dlciB0byBhbmNob3IgdGhlIENsclNpZ25wb3N0Q29udGVudFxuICAgKiAtIHBvcG92ZXJQb2ludCAtIHdoZXJlIG9uIHRoZSBDbHJTaWducG9zdENvbnRlbnQgY29udGFpbmVyIHRvIGFsaWduIHdpdGggdGhlIGFuY2hvclBvaW50XG4gICAqIC0gb2Zmc2V0WSAtIHdoZXJlIG9uIHRoZSBZIGF4aXMgdG8gYWxpZ24gdGhlIENsclNpZ25wb3N0Q29udGVudCBzbyBpdCBtZWV0cyBzcGVjc1xuICAgKiAtIG9mZnNldFggLSB3aGVyZSBvbiB0aGUgWCBheGlzIHRvIGFsaWduIHRoZSBDbHJTaWducG9zdENvbnRlbnQgc28gaXQgbWVldHMgc3BlY3NcbiAgICogVGhlcmUgYXJlIDEyIHBvc3NpYmxlIHBvc2l0aW9ucyB0byBwbGFjZSBhIENsclNpZ25wb3N0Q29udGVudCBjb250YWluZXI6XG4gICAqIC0gdG9wLWxlZnRcbiAgICogLSB0b3AtbWlkZGxlXG4gICAqIC0gdG9wLXJpZ2h0XG4gICAqIC0gcmlnaHQtdG9wXG4gICAqIC0gcmlnaHQtbWlkZGxlXG4gICAqIC0gcmlnaHQtYm90dG9tXG4gICAqIC0gYm90dG9tLXJpZ2h0XG4gICAqIC0gYm90dG9tLW1pZGRsZVxuICAgKiAtIGJvdHRvbS1sZWZ0XG4gICAqIC0gbGVmdC1ib3R0b21cbiAgICogLSBsZWZ0LW1pZGRsZVxuICAgKiAtIGxlZnQtdG9wXG4gICAqXG4gICAqIEkgdGhpbmsgb2YgaXQgYXMgZm9sbG93cyBmb3IgJ3RvcC1sZWZ0JyAtPiBDT05UQUlORVJfU0lERS1TSURFX1BPU0lUSU9OLiBJbiB0aGlzIGNhc2UgQ09OVEFJTkVSX1NJREUgaXMgJ3RvcCdcbiAgICogbWVhbmluZyB0aGUgdG9wIG9mIHRoZSB0cmlnZ2VyIGljb24gKGFib3ZlIHRoZSBpY29uIHRoYXQgaGlkZXMvc2hvd3MpIHRoZSBDbHJTaWducG9zdENvbnRlbnQuIEFuZCwgU0lERV9QT1NJVElPTlxuICAgKiBpcyAnbGVmdCcgbWVhbmluZyB0d28gdGhpbmdzOiAxKSB0aGUgQ2xyU2lnbnBvc3RDb250ZW50IGNvbnRhaW5lciBleHRlbmRzIHRvIHRoZSBsZWZ0IGFuZCAyKSB0aGUgJ2Fycm93L3BvaW50ZXInXG4gICAqIGxpbmtpbmcgdGhlIFNpbmdwb3N0Q29udGVudCB0byB0aGUgdHJpZ2dlciBwb2ludHMgZG93biBhdCB0aGUgaG9yaXpvbnRhbCBjZW50ZXIgb2YgdGhlIHRyaWdnZXIgaWNvbi5cbiAgICpcbiAgICogQHBhcmFtIG5ld1Bvc2l0aW9uXG4gICAqL1xuICBASW5wdXQoJ2NsclBvc2l0aW9uJylcbiAgZ2V0IHBvc2l0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLl9wb3NpdGlvbjtcbiAgfVxuICBzZXQgcG9zaXRpb24ocG9zaXRpb246IHN0cmluZykge1xuICAgIC8vIFVnaFxuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5lbC5uYXRpdmVFbGVtZW50LCB0aGlzLnBvc2l0aW9uKTtcbiAgICBpZiAocG9zaXRpb24gJiYgUE9TSVRJT05TLmluZGV4T2YocG9zaXRpb24pID4gLTEpIHtcbiAgICAgIHRoaXMuX3Bvc2l0aW9uID0gcG9zaXRpb247XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3Bvc2l0aW9uID0gJ3JpZ2h0LW1pZGRsZSc7XG4gICAgfVxuICAgIC8vIFVnaFxuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbC5uYXRpdmVFbGVtZW50LCB0aGlzLnBvc2l0aW9uKTtcblxuICAgIGNvbnN0IHNldFBvc2l0aW9uID0gU0lHTlBPU1RfUE9TSVRJT05TW3RoaXMucG9zaXRpb25dO1xuICAgIHRoaXMuYW5jaG9yUG9pbnQgPSBzZXRQb3NpdGlvbi5hbmNob3JQb2ludDtcbiAgICB0aGlzLnBvcG92ZXJQb2ludCA9IHNldFBvc2l0aW9uLnBvcG92ZXJQb2ludDtcbiAgICB0aGlzLnBvcG92ZXJPcHRpb25zLm9mZnNldFkgPSBzZXRQb3NpdGlvbi5vZmZzZXRZO1xuICAgIHRoaXMucG9wb3Zlck9wdGlvbnMub2Zmc2V0WCA9IHNldFBvc2l0aW9uLm9mZnNldFg7XG4gIH1cblxuICAvKioqKioqKioqKlxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQ2xvc2UgZnVuY3Rpb24gdGhhdCB1c2VzIHRoZSBzaWducG9zdCBpbnN0YW5jZSB0byB0b2dnbGUgdGhlIHN0YXRlIG9mIHRoZSBjb250ZW50IHBvcG92ZXIuXG4gICAqXG4gICAqL1xuICBjbG9zZSgpIHtcbiAgICB0aGlzLnRvZ2dsZVNlcnZpY2Uub3BlbiA9IGZhbHNlO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcblxuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpICYmIHRoaXMuZWwubmF0aXZlRWxlbWVudC5jb250YWlucyh0aGlzLmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpKSB7XG4gICAgICB0aGlzLnNpZ25wb3N0Rm9jdXNNYW5hZ2VyLmZvY3VzVHJpZ2dlcigpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbnBvc3QtY29udGVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3BvcG92ZXIvc2lnbnBvc3Qvc2lnbnBvc3QtY29udGVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFZLEtBQUssRUFBYSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2pILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFHMUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7OztBQUUxRCxnRUFBZ0U7QUFDaEUsTUFBTSxTQUFTLEdBQWE7SUFDMUIsVUFBVTtJQUNWLFlBQVk7SUFDWixXQUFXO0lBQ1gsV0FBVztJQUNYLGNBQWM7SUFDZCxjQUFjO0lBQ2QsY0FBYztJQUNkLGVBQWU7SUFDZixhQUFhO0lBQ2IsYUFBYTtJQUNiLGFBQWE7SUFDYixVQUFVO0NBQ1gsQ0FBQztBQXlCRixNQUFNLE9BQU8sa0JBQW1CLFNBQVEsZUFBZTtJQU1yRCxZQUNFLFFBQWtCLEVBR2xCLFVBQXNCLEVBQ2YsYUFBc0MsRUFDckMsaUJBQW9DLEVBQ3BDLG9CQUEwQyxFQUNyQixVQUFlLEVBQzFCLFFBQWE7UUFFL0IsS0FBSyxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztRQU5yQixrQkFBYSxHQUFiLGFBQWEsQ0FBeUI7UUFDckMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyx5QkFBb0IsR0FB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WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjMgVk13YXJlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IERPQ1VNRU5ULCBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5qZWN0b3IsIElucHV0LCBPbkRlc3Ryb3ksIE9wdGlvbmFsLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDbHJDb21tb25TdHJpbmdzU2VydmljZSB9IGZyb20gJy4uLy4uL3V0aWxzL2kxOG4vY29tbW9uLXN0cmluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyB1bmlxdWVJZEZhY3RvcnkgfSBmcm9tICcuLi8uLi91dGlscy9pZC1nZW5lcmF0b3IvaWQtZ2VuZXJhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWJzdHJhY3RQb3BvdmVyIH0gZnJvbSAnLi4vY29tbW9uL2Fic3RyYWN0LXBvcG92ZXInO1xuaW1wb3J0IHsgUE9QT1ZFUl9IT1NUX0FOQ0hPUiB9IGZyb20gJy4uL2NvbW1vbi9wb3BvdmVyLWhvc3QtYW5jaG9yLnRva2VuJztcbmltcG9ydCB7IFNpZ25wb3N0Rm9jdXNNYW5hZ2VyIH0gZnJvbSAnLi9wcm92aWRlcnMvc2lnbnBvc3QtZm9jdXMtbWFuYWdlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNpZ25wb3N0SWRTZXJ2aWNlIH0gZnJvbSAnLi9wcm92aWRlcnMvc2lnbnBvc3QtaWQuc2VydmljZSc7XG5pbXBvcnQgeyBTSUdOUE9TVF9QT1NJVElPTlMgfSBmcm9tICcuL3NpZ25wb3N0LXBvc2l0aW9ucyc7XG5cbi8vIGFrYSB3aGVyZSB0aGUgYXJyb3cgLyBwb2ludGVyIGlzIGF0IGluIHJlbGF0aW9uIHRvIHRoZSBhbmNob3JcbmNvbnN0IFBPU0lUSU9OUzogc3RyaW5nW10gPSBbXG4gICd0b3AtbGVmdCcsXG4gICd0b3AtbWlkZGxlJyxcbiAgJ3RvcC1yaWdodCcsXG4gICdyaWdodC10b3AnLFxuICAncmlnaHQtbWlkZGxlJywgLy8gZGVmYXVsdFxuICAncmlnaHQtYm90dG9tJyxcbiAgJ2JvdHRvbS1yaWdodCcsXG4gICdib3R0b20tbWlkZGxlJyxcbiAgJ2JvdHRvbS1sZWZ0JyxcbiAgJ2xlZnQtYm90dG9tJyxcbiAgJ2xlZnQtbWlkZGxlJyxcbiAgJ2xlZnQtdG9wJyxcbl07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nsci1zaWducG9zdC1jb250ZW50JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwic2lnbnBvc3Qtd3JhcFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInBvcG92ZXItcG9pbnRlclwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInNpZ25wb3N0LWNvbnRlbnQtaGVhZGVyXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImNvbW1vblN0cmluZ3Mua2V5cy5zaWducG9zdENsb3NlXCJcbiAgICAgICAgICBjbGFzcz1cInNpZ25wb3N0LWFjdGlvbiBjbG9zZVwiXG4gICAgICAgICAgKGNsaWNrKT1cImNsb3NlKClcIlxuICAgICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwic2lnbnBvc3RDb250ZW50SWRcIlxuICAgICAgICA+XG4gICAgICAgICAgPGNkcy1pY29uIHNoYXBlPVwid2luZG93LWNsb3NlXCIgW2F0dHIudGl0bGVdPVwiY29tbW9uU3RyaW5ncy5rZXlzLmNsb3NlXCI+PC9jZHMtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzaWducG9zdC1jb250ZW50LWJvZHlcIiB0YWJpbmRleD1cIjBcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG4gIGhvc3Q6IHsgJ1tjbGFzcy5zaWducG9zdC1jb250ZW50XSc6ICd0cnVlJywgJ1tpZF0nOiAnc2lnbnBvc3RDb250ZW50SWQnIH0sXG59KVxuZXhwb3J0IGNsYXNzIENsclNpZ25wb3N0Q29udGVudCBleHRlbmRzIEFic3RyYWN0UG9wb3ZlciBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHNpZ25wb3N0Q29udGVudElkID0gdW5pcXVlSWRGYWN0b3J5KCk7XG5cbiAgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQ7XG4gIHByaXZhdGUgX3Bvc2l0aW9uOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIEBPcHRpb25hbCgpXG4gICAgQEluamVjdChQT1BPVkVSX0hPU1RfQU5DSE9SKVxuICAgIHBhcmVudEhvc3Q6IEVsZW1lbnRSZWYsXG4gICAgcHVibGljIGNvbW1vblN0cmluZ3M6IENsckNvbW1vblN0cmluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgc2lnbnBvc3RJZFNlcnZpY2U6IFNpZ25wb3N0SWRTZXJ2aWNlLFxuICAgIHByaXZhdGUgc2lnbnBvc3RGb2N1c01hbmFnZXI6IFNpZ25wb3N0Rm9jdXNNYW5hZ2VyLFxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogYW55LFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIGRvY3VtZW50OiBhbnlcbiAgKSB7XG4gICAgc3VwZXIoaW5qZWN0b3IsIHBhcmVudEhvc3QpO1xuICAgIGlmICghcGFyZW50SG9zdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdjbHItc2lnbnBvc3QtY29udGVudCBzaG91bGQgb25seSBiZSB1c2VkIGluc2lkZSBvZiBhIGNsci1zaWducG9zdCcpO1xuICAgIH1cbiAgICAvLyBEZWZhdWx0c1xuICAgIHRoaXMucG9zaXRpb24gPSAncmlnaHQtbWlkZGxlJztcbiAgICB0aGlzLmNsb3NlT25PdXRzaWRlQ2xpY2sgPSB0cnVlO1xuICAgIHRoaXMuc2lnbnBvc3RJZFNlcnZpY2Uuc2V0SWQodGhpcy5zaWducG9zdENvbnRlbnRJZCk7XG5cbiAgICB0aGlzLmRvY3VtZW50ID0gZG9jdW1lbnQ7XG4gIH1cblxuICAvKioqKioqKioqXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBIHNldHRlciBmb3IgdGhlIHBvc2l0aW9uIG9mIHRoZSBDbHJTaWducG9zdENvbnRlbnQgcG9wb3Zlci4gVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mIHRoZSBmb2xsb3dpbmc6XG4gICAqIC0gYW5jaG9yUG9pbnQgLSB3aGVyZSBvbiB0aGUgdHJpZ2dlciB0byBhbmNob3IgdGhlIENsclNpZ25wb3N0Q29udGVudFxuICAgKiAtIHBvcG92ZXJQb2ludCAtIHdoZXJlIG9uIHRoZSBDbHJTaWducG9zdENvbnRlbnQgY29udGFpbmVyIHRvIGFsaWduIHdpdGggdGhlIGFuY2hvclBvaW50XG4gICAqIC0gb2Zmc2V0WSAtIHdoZXJlIG9uIHRoZSBZIGF4aXMgdG8gYWxpZ24gdGhlIENsclNpZ25wb3N0Q29udGVudCBzbyBpdCBtZWV0cyBzcGVjc1xuICAgKiAtIG9mZnNldFggLSB3aGVyZSBvbiB0aGUgWCBheGlzIHRvIGFsaWduIHRoZSBDbHJTaWducG9zdENvbnRlbnQgc28gaXQgbWVldHMgc3BlY3NcbiAgICogVGhlcmUgYXJlIDEyIHBvc3NpYmxlIHBvc2l0aW9ucyB0byBwbGFjZSBhIENsclNpZ25wb3N0Q29udGVudCBjb250YWluZXI6XG4gICAqIC0gdG9wLWxlZnRcbiAgICogLSB0b3AtbWlkZGxlXG4gICAqIC0gdG9wLXJpZ2h0XG4gICAqIC0gcmlnaHQtdG9wXG4gICAqIC0gcmlnaHQtbWlkZGxlXG4gICAqIC0gcmlnaHQtYm90dG9tXG4gICAqIC0gYm90dG9tLXJpZ2h0XG4gICAqIC0gYm90dG9tLW1pZGRsZVxuICAgKiAtIGJvdHRvbS1sZWZ0XG4gICAqIC0gbGVmdC1ib3R0b21cbiAgICogLSBsZWZ0LW1pZGRsZVxuICAgKiAtIGxlZnQtdG9wXG4gICAqXG4gICAqIEkgdGhpbmsgb2YgaXQgYXMgZm9sbG93cyBmb3IgJ3RvcC1sZWZ0JyAtPiBDT05UQUlORVJfU0lERS1TSURFX1BPU0lUSU9OLiBJbiB0aGlzIGNhc2UgQ09OVEFJTkVSX1NJREUgaXMgJ3RvcCdcbiAgICogbWVhbmluZyB0aGUgdG9wIG9mIHRoZSB0cmlnZ2VyIGljb24gKGFib3ZlIHRoZSBpY29uIHRoYXQgaGlkZXMvc2hvd3MpIHRoZSBDbHJTaWducG9zdENvbnRlbnQuIEFuZCwgU0lERV9QT1NJVElPTlxuICAgKiBpcyAnbGVmdCcgbWVhbmluZyB0d28gdGhpbmdzOiAxKSB0aGUgQ2xyU2lnbnBvc3RDb250ZW50IGNvbnRhaW5lciBleHRlbmRzIHRvIHRoZSBsZWZ0IGFuZCAyKSB0aGUgJ2Fycm93L3BvaW50ZXInXG4gICAqIGxpbmtpbmcgdGhlIFNpbmdwb3N0Q29udGVudCB0byB0aGUgdHJpZ2dlciBwb2ludHMgZG93biBhdCB0aGUgaG9yaXpvbnRhbCBjZW50ZXIgb2YgdGhlIHRyaWdnZXIgaWNvbi5cbiAgICpcbiAgICogQHBhcmFtIG5ld1Bvc2l0aW9uXG4gICAqL1xuICBASW5wdXQoJ2NsclBvc2l0aW9uJylcbiAgZ2V0IHBvc2l0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLl9wb3NpdGlvbjtcbiAgfVxuICBzZXQgcG9zaXRpb24ocG9zaXRpb246IHN0cmluZykge1xuICAgIC8vIFVnaFxuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5lbC5uYXRpdmVFbGVtZW50LCB0aGlzLnBvc2l0aW9uKTtcbiAgICBpZiAocG9zaXRpb24gJiYgUE9TSVRJT05TLmluZGV4T2YocG9zaXRpb24pID4gLTEpIHtcbiAgICAgIHRoaXMuX3Bvc2l0aW9uID0gcG9zaXRpb247XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3Bvc2l0aW9uID0gJ3JpZ2h0LW1pZGRsZSc7XG4gICAgfVxuICAgIC8vIFVnaFxuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbC5uYXRpdmVFbGVtZW50LCB0aGlzLnBvc2l0aW9uKTtcblxuICAgIGNvbnN0IHNldFBvc2l0aW9uID0gU0lHTlBPU1RfUE9TSVRJT05TW3RoaXMucG9zaXRpb25dO1xuICAgIHRoaXMuYW5jaG9yUG9pbnQgPSBzZXRQb3NpdGlvbi5hbmNob3JQb2ludDtcbiAgICB0aGlzLnBvcG92ZXJQb2ludCA9IHNldFBvc2l0aW9uLnBvcG92ZXJQb2ludDtcbiAgICB0aGlzLnBvcG92ZXJPcHRpb25zLm9mZnNldFkgPSBzZXRQb3NpdGlvbi5vZmZzZXRZO1xuICAgIHRoaXMucG9wb3Zlck9wdGlvbnMub2Zmc2V0WCA9IHNldFBvc2l0aW9uLm9mZnNldFg7XG4gIH1cblxuICAvKioqKioqKioqKlxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQ2xvc2UgZnVuY3Rpb24gdGhhdCB1c2VzIHRoZSBzaWducG9zdCBpbnN0YW5jZSB0byB0b2dnbGUgdGhlIHN0YXRlIG9mIHRoZSBjb250ZW50IHBvcG92ZXIuXG4gICAqXG4gICAqL1xuICBjbG9zZSgpIHtcbiAgICB0aGlzLnRvZ2dsZVNlcnZpY2Uub3BlbiA9IGZhbHNlO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcblxuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpICYmIHRoaXMuZWwubmF0aXZlRWxlbWVudC5jb250YWlucyh0aGlzLmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpKSB7XG4gICAgICB0aGlzLnNpZ25wb3N0Rm9jdXNNYW5hZ2VyLmZvY3VzVHJpZ2dlcigpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -25,6 +25,7 @@ export class ClrSignpostTrigger {
|
|
|
25
25
|
this.signpostIdService = signpostIdService;
|
|
26
26
|
this.signpostFocusManager = signpostFocusManager;
|
|
27
27
|
this.platformId = platformId;
|
|
28
|
+
this.ariaExpanded = false;
|
|
28
29
|
this.subscriptions = [];
|
|
29
30
|
this.document = document;
|
|
30
31
|
}
|
|
@@ -93,4 +94,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
93
94
|
type: HostListener,
|
|
94
95
|
args: ['click', ['$event']]
|
|
95
96
|
}] } });
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbnBvc3QtdHJpZ2dlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3BvcG92ZXIvc2lnbnBvc3Qvc2lnbnBvc3QtdHJpZ2dlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLE1BQU0sRUFBYSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQWtCcEc7Ozs7OztHQU1HO0FBQ0gsTUFBTSxPQUFPLGtCQUFrQjtJQVE3QixZQUNVLGFBQXNDLEVBQ3RDLEVBQWMsRUFDZixhQUFzQyxFQUNyQyxpQkFBb0MsRUFDcEMsb0JBQTBDLEVBQ2hDLFFBQWEsRUFDRixVQUFlO1FBTnBDLGtCQUFhLEdBQWIsYUFBYSxDQUF5QjtRQUN0QyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2Ysa0JBQWEsR0FBYixhQUFhLENBQXlCO1FBQ3JDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUVyQixlQUFVLEdBQVYsVUFBVSxDQUFLO1FBZDlDLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBS2Isa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBV3pDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUM1RCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDckIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBZSxFQUFFLEVBQUU7WUFDMUQsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUM7WUFFM0IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUMvQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztZQUVyQix3RkFBd0Y7WUFDeEYscURBQXFEO1lBQ3JELDhEQUE4RDtZQUM5RCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxVQUFVLEVBQUU7Z0JBQzlCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQzthQUNyQjtRQUNILENBQUMsQ0FBQyxFQUNGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQy9FLENBQUM7UUFDRixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBaUIsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVEOzs7O09BSUc7SUFFSCxzQkFBc0IsQ0FBQyxLQUFZO1FBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxFQUFlO1FBQ3pDLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ2xDLEVBQUUsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQ3ZFO0lBQ0gsQ0FBQztJQUVPLFlBQVk7UUFDbEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUN2QyxPQUFPO1NBQ1I7UUFDRCxtR0FBbUc7UUFDbkcsd0dBQXdHO1FBQ3hHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFO1lBQ3RFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUMxQztJQUNILENBQUM7OytHQXRFVSxrQkFBa0IsK0xBY25CLFFBQVEsYUFDUixXQUFXO21HQWZWLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQWpCOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLGtCQUFrQjt3QkFDekIsc0JBQXNCLEVBQUUsY0FBYzt3QkFDdEMsc0JBQXNCLEVBQUUsYUFBYTt3QkFDckMsZ0JBQWdCLEVBQUUsUUFBUTtxQkFDM0I7aUJBQ0Y7OzBCQXVCSSxNQUFNOzJCQUFDLFFBQVE7OzBCQUNmLE1BQU07MkJBQUMsV0FBVzs0Q0FvQ3JCLHNCQUFzQjtzQkFEckIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjMgVk13YXJlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IERPQ1VNRU5ULCBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5qZWN0LCBPbkRlc3Ryb3ksIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQ2xyQ29tbW9uU3RyaW5nc1NlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy9pMThuL2NvbW1vbi1zdHJpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2xyUG9wb3ZlclRvZ2dsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy9wb3BvdmVyL3Byb3ZpZGVycy9wb3BvdmVyLXRvZ2dsZS5zZXJ2aWNlJztcbmltcG9ydCB7IFNpZ25wb3N0Rm9jdXNNYW5hZ2VyIH0gZnJvbSAnLi9wcm92aWRlcnMvc2lnbnBvc3QtZm9jdXMtbWFuYWdlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNpZ25wb3N0SWRTZXJ2aWNlIH0gZnJvbSAnLi9wcm92aWRlcnMvc2lnbnBvc3QtaWQuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjbHJTaWducG9zdFRyaWdnZXJdJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnc2lnbnBvc3QtdHJpZ2dlcicsXG4gICAgJ1thdHRyLmFyaWEtZXhwYW5kZWRdJzogJ2FyaWFFeHBhbmRlZCcsXG4gICAgJ1thdHRyLmFyaWEtY29udHJvbHNdJzogJ2FyaWFDb250cm9sJyxcbiAgICAnW2NsYXNzLmFjdGl2ZV0nOiAnaXNPcGVuJyxcbiAgfSxcbn0pXG5cbi8qKioqKioqKipcbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEEgRGlyZWN0aXZlIGFkZGVkIHRvIHRoZSBDbHJTaWducG9zdCBUcmlnZ2VyIGJ1dHRvbiB0aGF0IHdpbGwgY2FsbCB0aGUgQ2xyU2lnbnBvc3QudG9nZ2xlKCkgZnVuY3Rpb24gdG8gaGlkZS9zaG93IHRoZVxuICogQ2xyU2lnbnBvc3RDb250ZW50LlxuICpcbiAqL1xuZXhwb3J0IGNsYXNzIENsclNpZ25wb3N0VHJpZ2dlciBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIGFyaWFFeHBhbmRlZCA9IGZhbHNlO1xuICBhcmlhQ29udHJvbDogc3RyaW5nO1xuICBpc09wZW46IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQ7XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRvZ2dsZVNlcnZpY2U6IENsclBvcG92ZXJUb2dnbGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgcHVibGljIGNvbW1vblN0cmluZ3M6IENsckNvbW1vblN0cmluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgc2lnbnBvc3RJZFNlcnZpY2U6IFNpZ25wb3N0SWRTZXJ2aWNlLFxuICAgIHByaXZhdGUgc2lnbnBvc3RGb2N1c01hbmFnZXI6IFNpZ25wb3N0Rm9jdXNNYW5hZ2VyLFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIGRvY3VtZW50OiBhbnksXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBhbnlcbiAgKSB7XG4gICAgdGhpcy5kb2N1bWVudCA9IGRvY3VtZW50O1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zaWducG9zdEZvY3VzTWFuYWdlci50cmlnZ2VyRWwgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLnRvZ2dsZVNlcnZpY2Uub3BlbkNoYW5nZS5zdWJzY3JpYmUoKGlzT3BlbjogYm9vbGVhbikgPT4ge1xuICAgICAgICB0aGlzLmFyaWFFeHBhbmRlZCA9IGlzT3BlbjtcblxuICAgICAgICBjb25zdCBwcmV2SXNPcGVuID0gdGhpcy5pc09wZW47XG4gICAgICAgIHRoaXMuaXNPcGVuID0gaXNPcGVuO1xuXG4gICAgICAgIC8vIG9wZW5DaGFuZ2UgZmlyZXMgZmFsc2Ugb24gaW5pdGlhbGl6YXRpb24gYmVjYXVzZSBzaWducG9zdCBzdGFydHMgYXMgY2xvc2VkIGJ5IGRlZmF1bHRcbiAgICAgICAgLy8gYnV0IHdlIHNob3VsZG4ndCBmb2N1cyBvbiB0aGF0IGluaXRpYWwgZmFsc2UgdmFsdWVcbiAgICAgICAgLy8gd2Ugc2hvdWxkIGZvY3VzIGJhY2sgb25seSBpZiBpdCdzIGNsb3NlZCBhZnRlciBiZWluZyBvcGVuZWRcbiAgICAgICAgaWYgKCF0aGlzLmlzT3BlbiAmJiBwcmV2SXNPcGVuKSB7XG4gICAgICAgICAgdGhpcy5mb2N1c09uQ2xvc2UoKTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICB0aGlzLnNpZ25wb3N0SWRTZXJ2aWNlLmlkLnN1YnNjcmliZShpZENoYW5nZSA9PiAodGhpcy5hcmlhQ29udHJvbCA9IGlkQ2hhbmdlKSlcbiAgICApO1xuICAgIHRoaXMuYWRkRGVmYXVsdEFyaWFMYWJlbCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goKHN1YjogU3Vic2NyaXB0aW9uKSA9PiBzdWIudW5zdWJzY3JpYmUoKSk7XG4gIH1cblxuICAvKioqKioqKioqKlxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogY2xpY2sgaGFuZGxlciBmb3IgdGhlIENsclNpZ25wb3N0IHRyaWdnZXIgYnV0dG9uIHVzZWQgdG8gaGlkZS9zaG93IENsclNpZ25wb3N0Q29udGVudC5cbiAgICovXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgb25TaWducG9zdFRyaWdnZXJDbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZVNlcnZpY2UudG9nZ2xlV2l0aEV2ZW50KGV2ZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkRGVmYXVsdEFyaWFMYWJlbChlbDogSFRNTEVsZW1lbnQpIHtcbiAgICBpZiAoIWVsLmhhc0F0dHJpYnV0ZSgnYXJpYS1sYWJlbCcpKSB7XG4gICAgICBlbC5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnLCB0aGlzLmNvbW1vblN0cmluZ3Mua2V5cy5zaWducG9zdFRvZ2dsZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmb2N1c09uQ2xvc2UoKSB7XG4gICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIHdlIGhhdmUgdG8gc2V0IHRoZSBmb2N1cyBiYWNrIG9uIHRoZSB0cmlnZ2VyIG9ubHkgaWYgdGhlIGZvY3VzIGlzIHJlc2V0IGJhY2sgdG8gdGhlIGJvZHkgZWxlbWVudFxuICAgIC8vIGlmIHRoZSBmb2N1cyBpcyBvbiBhbm90aGVyIGVsZW1lbnQsIHdlIGFyZSBub3QgYWxsb3dlZCB0byBtb3ZlIHRoYXQgZm9jdXMgYmFjayB0byB0aGlzIHRyaWdnZXIgYWdhaW4uXG4gICAgaWYgKCF0aGlzLmlzT3BlbiAmJiB0aGlzLmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IHRoaXMuZG9jdW1lbnQuYm9keSkge1xuICAgICAgdGhpcy5zaWducG9zdEZvY3VzTWFuYWdlci5mb2N1c1RyaWdnZXIoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -102,11 +102,11 @@ export const commonStringsDefault = {
|
|
|
102
102
|
* Password Input
|
|
103
103
|
* Screen-reader text for the hide/show password field button
|
|
104
104
|
*/
|
|
105
|
-
passwordHide: 'Hide password',
|
|
106
|
-
passwordShow: 'Show password',
|
|
105
|
+
passwordHide: 'Hide password for {LABEL}',
|
|
106
|
+
passwordShow: 'Show password for {LABEL}',
|
|
107
107
|
/**
|
|
108
108
|
* Datagrid footer; sr-only text after the number of selected rows.
|
|
109
109
|
*/
|
|
110
110
|
selectedRows: 'Selected rows',
|
|
111
111
|
};
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXN0cmluZ3MuZGVmYXVsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3V0aWxzL2kxOG4vY29tbW9uLXN0cmluZ3MuZGVmYXVsdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBSUgsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQXFCO0lBQ3BELElBQUksRUFBRSxNQUFNO0lBQ1osS0FBSyxFQUFFLE9BQU87SUFDZCxJQUFJLEVBQUUsTUFBTTtJQUNaLElBQUksRUFBRSxNQUFNO0lBQ1osTUFBTSxFQUFFLFFBQVE7SUFDaEIsUUFBUSxFQUFFLFVBQVU7SUFDcEIsSUFBSSxFQUFFLE1BQU07SUFDWixNQUFNLEVBQUUsUUFBUTtJQUNoQixTQUFTLEVBQUUsWUFBWTtJQUN2QixRQUFRLEVBQUUsVUFBVTtJQUNwQixJQUFJLEVBQUUsTUFBTTtJQUNaLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsSUFBSSxFQUFFLE1BQU07SUFDWixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixNQUFNLEVBQUUsT0FBTztJQUNmLFVBQVUsRUFBRSxtQkFBbUI7SUFDL0IsV0FBVyxFQUFFLGdCQUFnQjtJQUM3QixXQUFXLEVBQUUsY0FBYztJQUMzQixVQUFVLEVBQUUsYUFBYTtJQUN6QixTQUFTLEVBQUUsWUFBWTtJQUN2QixRQUFRLEVBQUUsV0FBVztJQUNyQixRQUFRLEVBQUUsV0FBVztJQUNyQixZQUFZLEVBQUUsZUFBZTtJQUM3QixXQUFXLEVBQUUsY0FBYztJQUMzQixVQUFVLEVBQUUsYUFBYTtJQUN6QixXQUFXLEVBQUUsY0FBYztJQUMzQixRQUFRLEVBQUUsV0FBVztJQUNyQixRQUFRLEVBQUUsV0FBVztJQUNyQixpQkFBaUIsRUFBRSw0QkFBNEI7SUFDL0MsZUFBZSxFQUFFLHNCQUFzQjtJQUN2QywwQkFBMEIsRUFBRSwyQkFBMkI7SUFDdkQsa0JBQWtCLEVBQUUsc0JBQXNCO0lBQzFDLGNBQWMsRUFBRSxpQkFBaUI7SUFDakMsYUFBYSxFQUFFLGdCQUFnQjtJQUMvQixPQUFPLEVBQUUsU0FBUztJQUNsQixXQUFXO0lBQ1gsZUFBZSxFQUFFLHNCQUFzQjtJQUN2QyxhQUFhLEVBQUUsb0JBQW9CO0lBQ25DLHdCQUF3QixFQUFFLHlCQUF5QjtJQUNuRCx5QkFBeUIsRUFBRSwwQkFBMEI7SUFDckQseUJBQXlCLEVBQUUseUJBQXlCO0lBQ3BELHVCQUF1QixFQUFFLHdCQUF3QjtJQUNqRCw2QkFBNkIsRUFBRSxlQUFlO0lBQzlDLHdCQUF3QixFQUFFLHNCQUFzQjtJQUNoRCwwQkFBMEIsRUFBRSw0Q0FBNEM7SUFDeEUsUUFBUTtJQUNSLHlCQUF5QixFQUFFLGFBQWE7SUFDeEMsdUJBQXVCLEVBQUUsMENBQTBDO0lBQ25FLDJCQUEyQixFQUFFLDhDQUE4QztJQUMzRSxjQUFjO0lBQ2QscUJBQXFCLEVBQUUsYUFBYTtJQUNwQywrQkFBK0IsRUFBRSxhQUFhO0lBQzlDLCtCQUErQixFQUFFLDhCQUE4QjtJQUMvRCx1QkFBdUIsRUFBRSxnQkFBZ0I7SUFDekMsc0JBQXNCLEVBQUUsZUFBZTtJQUN2QyxtQkFBbUIsRUFBRSxZQUFZO0lBQ2pDLHdCQUF3QixFQUFFLGlCQUFpQjtJQUMzQyxvQkFBb0IsRUFBRSxhQUFhO0lBQ25DLHVCQUF1QixFQUFFLGdCQUFnQjtJQUN6Qyx5QkFBeUIsRUFBRSxxREFBcUQ7SUFDaEYsd0JBQXdCLEVBQUUsa0RBQWtEO0lBQzVFLHVCQUF1QixFQUFFLHdCQUF3QjtJQUNqRCxhQUFhO0lBQ2IsZ0JBQWdCLEVBQUUsZ0JBQWdCO0lBQ2xDLGlCQUFpQjtJQUNqQix1QkFBdUIsRUFBRSxzQkFBc0I7SUFDL0Msd0JBQXdCLEVBQUUsdUJBQXVCO0lBQ2pELHlCQUF5QixFQUFFLCtCQUErQjtJQUMxRCwwQkFBMEIsRUFBRSxnQ0FBZ0M7SUFDNUQsY0FBYztJQUNkLGlCQUFpQixFQUFFLDRCQUE0QjtJQUMvQyxpQkFBaUI7SUFDakIsc0JBQXNCLEVBQUUsYUFBYTtJQUNyQyxtQkFBbUIsRUFBRSxTQUFTO0lBQzlCLG1CQUFtQixFQUFFLFdBQVc7SUFDaEMsaUJBQWlCLEVBQUUsT0FBTztJQUMxQixzQkFBc0IsRUFBRSxhQUFhO0lBQ3JDLFdBQVc7SUFDWCxjQUFjLEVBQUUsd0JBQXdCO0lBQ3hDLGlCQUFpQixFQUFFLHFDQUFxQztJQUN4RCxpQkFBaUIsRUFBRSxXQUFXO0lBQzlCLGdCQUFnQixFQUFFLFVBQVU7SUFDNUIsaUJBQWlCLEVBQUUsWUFBWTtJQUMvQixZQUFZLEVBQUUsY0FBYztJQUM1QiwyQkFBMkI7SUFDM0IsNkJBQTZCLEVBQUUsY0FBYztJQUM3Qyx1QkFBdUIsRUFBRSxRQUFRO0lBQ2pDLDRCQUE0QixFQUFFLHdCQUF3QjtJQUN0RCxnQ0FBZ0MsRUFBRSxnS0FBZ0s7SUFDbE0sU0FBUztJQUNULGlCQUFpQixFQUFFLFdBQVc7SUFDOUIsZUFBZSxFQUFFLE9BQU87SUFDeEIsc0JBQXNCLEVBQUUsaUJBQWlCO0lBRXpDOzs7T0FHRztJQUNILFlBQVksRUFBRSwyQkFBMkI7SUFDekMsWUFBWSxFQUFFLDJCQUEyQjtJQUV6Qzs7T0FFRztJQUNILFlBQVksRUFBRSxlQUFlO0NBQzlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjMgVk13YXJlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IENsckNvbW1vblN0cmluZ3MgfSBmcm9tICcuL2NvbW1vbi1zdHJpbmdzLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjb25zdCBjb21tb25TdHJpbmdzRGVmYXVsdDogQ2xyQ29tbW9uU3RyaW5ncyA9IHtcbiAgb3BlbjogJ09wZW4nLFxuICBjbG9zZTogJ0Nsb3NlJyxcbiAgc2hvdzogJ1Nob3cnLFxuICBoaWRlOiAnSGlkZScsXG4gIGV4cGFuZDogJ0V4cGFuZCcsXG4gIGNvbGxhcHNlOiAnQ29sbGFwc2UnLFxuICBtb3JlOiAnTW9yZScsXG4gIHNlbGVjdDogJ1NlbGVjdCcsXG4gIHNlbGVjdEFsbDogJ1NlbGVjdCBBbGwnLFxuICBwcmV2aW91czogJ1ByZXZpb3VzJyxcbiAgbmV4dDogJ05leHQnLFxuICBjdXJyZW50OiAnSnVtcCB0byBjdXJyZW50JyxcbiAgaW5mbzogJ0luZm8nLFxuICBzdWNjZXNzOiAnU3VjY2VzcycsXG4gIHdhcm5pbmc6ICdXYXJuaW5nJyxcbiAgZGFuZ2VyOiAnRXJyb3InLFxuICByb3dBY3Rpb25zOiAnQXZhaWxhYmxlIGFjdGlvbnMnLFxuICBwaWNrQ29sdW1uczogJ01hbmFnZSBDb2x1bW5zJyxcbiAgc2hvd0NvbHVtbnM6ICdTaG93IENvbHVtbnMnLFxuICBzb3J0Q29sdW1uOiAnU29ydCBDb2x1bW4nLFxuICBmaXJzdFBhZ2U6ICdGaXJzdCBQYWdlJyxcbiAgbGFzdFBhZ2U6ICdMYXN0IFBhZ2UnLFxuICBuZXh0UGFnZTogJ05leHQgUGFnZScsXG4gIHByZXZpb3VzUGFnZTogJ1ByZXZpb3VzIFBhZ2UnLFxuICBjdXJyZW50UGFnZTogJ0N1cnJlbnQgUGFnZScsXG4gIHRvdGFsUGFnZXM6ICdUb3RhbCBQYWdlcycsXG4gIGZpbHRlckl0ZW1zOiAnRmlsdGVyIGl0ZW1zJyxcbiAgbWluVmFsdWU6ICdNaW4gdmFsdWUnLFxuICBtYXhWYWx1ZTogJ01heCB2YWx1ZScsXG4gIG1vZGFsQ29udGVudFN0YXJ0OiAnQmVnaW5uaW5nIG9mIE1vZGFsIENvbnRlbnQnLFxuICBtb2RhbENvbnRlbnRFbmQ6ICdFbmQgb2YgTW9kYWwgQ29udGVudCcsXG4gIHNob3dDb2x1bW5zTWVudURlc2NyaXB0aW9uOiAnU2hvdyBvciBoaWRlIGNvbHVtbnMgbWVudScsXG4gIGFsbENvbHVtbnNTZWxlY3RlZDogJ0FsbCBjb2x1bW5zIHNlbGVjdGVkJyxcbiAgc2lnbnBvc3RUb2dnbGU6ICdTaWducG9zdCBUb2dnbGUnLFxuICBzaWducG9zdENsb3NlOiAnU2lnbnBvc3QgQ2xvc2UnLFxuICBsb2FkaW5nOiAnTG9hZGluZycsXG4gIC8vIERhdGFncmlkXG4gIGRldGFpbFBhbmVTdGFydDogJ1N0YXJ0IG9mIHJvdyBkZXRhaWxzJyxcbiAgZGV0YWlsUGFuZUVuZDogJ0VuZCBvZiByb3cgZGV0YWlscycsXG4gIHNpbmdsZVNlbGVjdGlvbkFyaWFMYWJlbDogJ1NpbmdsZSBzZWxlY3Rpb24gaGVhZGVyJyxcbiAgc2luZ2xlQWN0aW9uYWJsZUFyaWFMYWJlbDogJ1NpbmdsZSBhY3Rpb25hYmxlIGhlYWRlcicsXG4gIGRldGFpbEV4cGFuZGFibGVBcmlhTGFiZWw6ICdUb2dnbGUgbW9yZSByb3cgY29udGVudCcsXG4gIGRhdGFncmlkRmlsdGVyQXJpYUxhYmVsOiAnVG9nZ2xlIHtDT0xVTU59IGZpbHRlcicsXG4gIGRhdGFncmlkRmlsdGVyRGlhbG9nQXJpYUxhYmVsOiAnRmlsdGVyIGRpYWxvZycsXG4gIGNvbHVtblNlcGFyYXRvckFyaWFMYWJlbDogJ0NvbHVtbiByZXNpemUgaGFuZGxlJyxcbiAgY29sdW1uU2VwYXJhdG9yRGVzY3JpcHRpb246ICdVc2UgbGVmdCBvciByaWdodCBrZXkgdG8gcmVzaXplIHRoZSBjb2x1bW4nLFxuICAvLyBBbGVydFxuICBhbGVydENsb3NlQnV0dG9uQXJpYUxhYmVsOiAnQ2xvc2UgYWxlcnQnLFxuICBhbGVydE5leHRBbGVydEFyaWFMYWJlbDogJ05leHQgYWxlcnQgbWVzc2FnZSwge0NVUlJFTlR9IG9mIHtDT1VOVH0nLFxuICBhbGVydFByZXZpb3VzQWxlcnRBcmlhTGFiZWw6ICdQcmV2aW91cyBhbGVydCBtZXNzYWdlLCB7Q1VSUkVOVH0gb2Yge0NPVU5UfScsXG4gIC8vIERhdGUgUGlja2VyXG4gIGRhdGVwaWNrZXJEaWFsb2dMYWJlbDogJ0Nob29zZSBkYXRlJyxcbiAgZGF0ZXBpY2tlclRvZ2dsZUNob29zZURhdGVMYWJlbDogJ0Nob29zZSBkYXRlJyxcbiAgZGF0ZXBpY2tlclRvZ2dsZUNoYW5nZURhdGVMYWJlbDogJ0NoYW5nZSBkYXRlLCB7U0VMRUNURURfREFURX0nLFxuICBkYXRlcGlja2VyUHJldmlvdXNNb250aDogJ1ByZXZpb3VzIG1vbnRoJyxcbiAgZGF0ZXBpY2tlckN1cnJlbnRNb250aDogJ0N1cnJlbnQgbW9udGgnLFxuICBkYXRlcGlja2VyTmV4dE1vbnRoOiAnTmV4dCBtb250aCcsXG4gIGRhdGVwaWNrZXJQcmV2aW91c0RlY2FkZTogJ1ByZXZpb3VzIGRlY2FkZScsXG4gIGRhdGVwaWNrZXJOZXh0RGVjYWRlOiAnTmV4dCBkZWNhZGUnLFxuICBkYXRlcGlja2VyQ3VycmVudERlY2FkZTogJ0N1cnJlbnQgZGVjYWRlJyxcbiAgZGF0ZXBpY2tlclNlbGVjdE1vbnRoVGV4dDogJ1NlbGVjdCBtb250aCwgdGhlIGN1cnJlbnQgbW9udGggaXMge0NBTEVOREFSX01PTlRIfScsXG4gIGRhdGVwaWNrZXJTZWxlY3RZZWFyVGV4dDogJ1NlbGVjdCB5ZWFyLCB0aGUgY3VycmVudCB5ZWFyIGlzIHtDQUxFTkRBUl9ZRUFSfScsXG4gIGRhdGVwaWNrZXJTZWxlY3RlZExhYmVsOiAne0ZVTExfREFURX0gLSBTZWxlY3RlZCcsXG4gIC8vIFN0YWNrIFZpZXdcbiAgc3RhY2tWaWV3Q2hhbmdlZDogJ1ZhbHVlIGNoYW5nZWQuJyxcbiAgLy8gUmVzcG9uc2l2ZSBOYXZcbiAgcmVzcG9uc2l2ZU5hdlRvZ2dsZU9wZW46ICdPcGVuIG5hdmlnYXRpb24gbWVudScsXG4gIHJlc3BvbnNpdmVOYXZUb2dnbGVDbG9zZTogJ0Nsb3NlIG5hdmlnYXRpb24gbWVudScsXG4gIHJlc3BvbnNpdmVOYXZPdmVyZmxvd09wZW46ICdPcGVuIG5hdmlnYXRpb24gb3ZlcmZsb3cgbWVudScsXG4gIHJlc3BvbnNpdmVOYXZPdmVyZmxvd0Nsb3NlOiAnQ2xvc2UgbmF2aWdhdGlvbiBvdmVyZmxvdyBtZW51JyxcbiAgLy9WZXJ0aWNhbCBOYXZcbiAgdmVydGljYWxOYXZUb2dnbGU6ICdUb2dnbGUgdmVydGljYWwgbmF2aWdhdGlvbicsXG4gIC8vIFRpbWVsaW5lIHN0ZXBzXG4gIHRpbWVsaW5lU3RlcE5vdFN0YXJ0ZWQ6ICdOb3Qgc3RhcnRlZCcsXG4gIHRpbWVsaW5lU3RlcEN1cnJlbnQ6ICdDdXJyZW50JyxcbiAgdGltZWxpbmVTdGVwU3VjY2VzczogJ0NvbXBsZXRlZCcsXG4gIHRpbWVsaW5lU3RlcEVycm9yOiAnRXJyb3InLFxuICB0aW1lbGluZVN0ZXBQcm9jZXNzaW5nOiAnSW4gcHJvZ3Jlc3MnLFxuICAvLyBDb21ib2JveFxuICBjb21ib2JveERlbGV0ZTogJ0RlbGV0ZSBzZWxlY3RlZCBvcHRpb24nLFxuICBjb21ib2JveFNlYXJjaGluZzogJ1NlYXJjaGluZyBmb3IgbWF0Y2hlcyBmb3IgXCJ7SU5QVVR9XCInLFxuICBjb21ib2JveFNlbGVjdGlvbjogJ1NlbGVjdGlvbicsXG4gIGNvbWJvYm94U2VsZWN0ZWQ6ICdTZWxlY3RlZCcsXG4gIGNvbWJvYm94Tm9SZXN1bHRzOiAnTm8gcmVzdWx0cycsXG4gIGNvbWJvYm94T3BlbjogJ1Nob3cgb3B0aW9ucycsXG4gIC8vIERhdGFncmlkIGV4cGFuZGFibGUgcm93c1xuICBkYXRhZ3JpZEV4cGFuZGFibGVCZWdpbm5pbmdPZjogJ0JlZ2lubmluZyBvZicsXG4gIGRhdGFncmlkRXhwYW5kYWJsZUVuZE9mOiAnRW5kIG9mJyxcbiAgZGF0YWdyaWRFeHBhbmRhYmxlUm93Q29udGVudDogJ0V4cGFuZGFibGUgcm93IGNvbnRlbnQnLFxuICBkYXRhZ3JpZEV4cGFuZGFibGVSb3dzSGVscGVyVGV4dDogYFNjcmVlbiByZWFkZXIgdGFibGUgY29tbWFuZHMgbWF5IG5vdCB3b3JrIGZvciB2aWV3aW5nIGV4cGFuZGVkIGNvbnRlbnQsIHBsZWFzZSB1c2UgeW91ciBzY3JlZW4gcmVhZGVyJ3MgYnJvd3NlIG1vZGUgdG8gcmVhZCB0aGUgY29udGVudCBleHBvc2VkIGJ5IHRoaXMgYnV0dG9uYCxcbiAgLy8gV2l6YXJkXG4gIHdpemFyZFN0ZXBTdWNjZXNzOiAnQ29tcGxldGVkJyxcbiAgd2l6YXJkU3RlcEVycm9yOiAnRXJyb3InLFxuICB3aXphcmRTdGVwbmF2QXJpYUxhYmVsOiAnU3RlcCBuYXZpZ2F0aW9uJyxcblxuICAvKipcbiAgICogUGFzc3dvcmQgSW5wdXRcbiAgICogU2NyZWVuLXJlYWRlciB0ZXh0IGZvciB0aGUgaGlkZS9zaG93IHBhc3N3b3JkIGZpZWxkIGJ1dHRvblxuICAgKi9cbiAgcGFzc3dvcmRIaWRlOiAnSGlkZSBwYXNzd29yZCBmb3Ige0xBQkVMfScsXG4gIHBhc3N3b3JkU2hvdzogJ1Nob3cgcGFzc3dvcmQgZm9yIHtMQUJFTH0nLFxuXG4gIC8qKlxuICAgKiBEYXRhZ3JpZCBmb290ZXI7IHNyLW9ubHkgdGV4dCBhZnRlciB0aGUgbnVtYmVyIG9mIHNlbGVjdGVkIHJvd3MuXG4gICAqL1xuICBzZWxlY3RlZFJvd3M6ICdTZWxlY3RlZCByb3dzJyxcbn07XG4iXX0=
|
|
@@ -50,12 +50,12 @@ export class ClrPopoverPositionService {
|
|
|
50
50
|
*
|
|
51
51
|
* Note, more than 3 viewport violations and there isn't anything we can do to help. Also when there are two
|
|
52
52
|
* violations, we can't help if the violations are TOP+BOTTOM || LEFT+RIGHT => There is no transformation we
|
|
53
|
-
* can make to the
|
|
53
|
+
* can make to the position that will help.
|
|
54
54
|
*
|
|
55
55
|
* Some examples:
|
|
56
56
|
* There is only one error and Primary axis is VERTICAL
|
|
57
57
|
* - this.handleVerticalAxisOneViolation has a switch that will use the error sum to apply the correct
|
|
58
|
-
* transform to the
|
|
58
|
+
* transform to the position based on the reduction of visibilityViolations.
|
|
59
59
|
*
|
|
60
60
|
* There are two errors and Primary axis is HORIZONTAL
|
|
61
61
|
* - handleHorizontalAxisTwoViolations has a switch that uses the error sum to apply both transforms needed to
|
|
@@ -87,6 +87,14 @@ export class ClrPopoverPositionService {
|
|
|
87
87
|
if (this.currentContentCoords.top < 0) {
|
|
88
88
|
this.contentOffsets.yOffset += Math.abs(this.currentContentCoords.top);
|
|
89
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* This detects the condition where the popover is flipped because it would violate the bottom of the viewport, but flipping it results in the
|
|
92
|
+
* popover rendering above the top of the body (y coordinate outside the body). In that event, it should be rendered within the body
|
|
93
|
+
* as much as possible, so this logic sets the top of popover to render touching the top of the body.
|
|
94
|
+
*/
|
|
95
|
+
if (this.contentOffsets.yOffset + this.currentAnchorCoords.y < 0) {
|
|
96
|
+
this.contentOffsets.yOffset = 0 - this.currentContentCoords.top;
|
|
97
|
+
}
|
|
90
98
|
return this.contentOffsets;
|
|
91
99
|
}
|
|
92
100
|
handleVerticalAxisOneViolation(errorSum) {
|
|
@@ -218,4 +226,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
218
226
|
type: Inject,
|
|
219
227
|
args: [PLATFORM_ID]
|
|
220
228
|
}] }]; } });
|
|
221
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1wb3NpdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvdXRpbHMvcG9wb3Zlci9wcm92aWRlcnMvcG9wb3Zlci1wb3NpdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFJN0MsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsd0JBQXdCLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7QUFJakgsTUFBTSxPQUFPLHlCQUF5QjtJQVNwQyxZQUFvQixZQUFxQyxFQUE4QixVQUFlO1FBQWxGLGlCQUFZLEdBQVosWUFBWSxDQUF5QjtRQUE4QixlQUFVLEdBQVYsVUFBVSxDQUFLO1FBRjlGLG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUczQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUQsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxZQUFZLENBQUMsT0FBb0I7UUFDL0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUN2QyxtQ0FBbUM7WUFDbkMsZ0ZBQWdGO1lBQ2hGLE9BQU87Z0JBQ0wsT0FBTyxFQUFFLENBQUM7Z0JBQ1YsT0FB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QUFFLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDL0UsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7Z0JBQ2hILE1BQU07YUFDUDtZQUNELE9BQU8sQ0FBQyxDQUFDO2dCQUNQLE1BQU07YUFDUDtTQUNGO0lBQ0gsQ0FBQzs7c0hBbFBVLHlCQUF5Qix5REFTK0IsV0FBVzswSEFUbkUseUJBQXlCOzJGQUF6Qix5QkFBeUI7a0JBRHJDLFVBQVU7OzBCQVVtRCxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjMgVk13YXJlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQ2xyQXhpcyB9IGZyb20gJy4uL2VudW1zL2F4aXMuZW51bSc7XG5pbXBvcnQgeyBDbHJWaWV3cG9ydFZpb2xhdGlvbiB9IGZyb20gJy4uL2VudW1zL3ZpZXdwb3J0LXZpb2xhdGlvbi5lbnVtJztcbmltcG9ydCB7IENsclBvcG92ZXJDb250ZW50T2Zmc2V0IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9wb3BvdmVyLWNvbnRlbnQtb2Zmc2V0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBDbHJQb3BvdmVyUG9zaXRpb24gfSBmcm9tICcuLi9pbnRlcmZhY2VzL3BvcG92ZXItcG9zaXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IGFsaWduLCBmbGlwU2lkZXMsIGZsaXBTaWRlc0FuZE51ZGdlQ29udGVudCwgbnVkZ2VDb250ZW50LCB0ZXN0VmlzaWJpbGl0eSB9IGZyb20gJy4uL3Bvc2l0aW9uLW9wZXJhdG9ycyc7XG5pbXBvcnQgeyBDbHJQb3BvdmVyRXZlbnRzU2VydmljZSB9IGZyb20gJy4vcG9wb3Zlci1ldmVudHMuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDbHJQb3BvdmVyUG9zaXRpb25TZXJ2aWNlIHtcbiAgcG9zaXRpb246IENsclBvcG92ZXJQb3NpdGlvbjtcbiAgc2hvdWxkUmVhbGlnbjogT2JzZXJ2YWJsZTx2b2lkPjtcblxuICBwcml2YXRlIGN1cnJlbnRBbmNob3JDb29yZHM6IENsaWVudFJlY3Q7XG4gIHByaXZhdGUgY3VycmVudENvbnRlbnRDb29yZHM6IENsaWVudFJlY3Q7XG4gIHByaXZhdGUgY29udGVudE9mZnNldHM6IENsclBvcG92ZXJDb250ZW50T2Zmc2V0O1xuICBwcml2YXRlIF9zaG91bGRSZWFsaWduID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGV2ZW50U2VydmljZTogQ2xyUG9wb3ZlckV2ZW50c1NlcnZpY2UsIEBJbmplY3QoUExBVEZPUk1fSUQpIHB1YmxpYyBwbGF0Zm9ybUlkOiBhbnkpIHtcbiAgICB0aGlzLnNob3VsZFJlYWxpZ24gPSB0aGlzLl9zaG91bGRSZWFsaWduLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcmVhbGlnbigpIHtcbiAgICB0aGlzLl9zaG91bGRSZWFsaWduLm5leHQoKTtcbiAgfVxuXG4gIGFsaWduQ29udGVudChjb250ZW50OiBIVE1MRWxlbWVudCk6IENsclBvcG92ZXJDb250ZW50T2Zmc2V0IHtcbiAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgIC8vIE9ubHkgcG9zaXRpb24gd2hlbiBpbiBhIGJyb3dzZXIuXG4gICAgICAvLyBEZWZhdWx0IHRvIHRoZSBicm93c2VyIG9yaWdpbiBhbmQgcHJldmVudCBnZXRCb3VuZGluZ0NsaWVudFJlY3QgZnJvbSBydW5uaW5nLlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgeE9mZnNldDogMCxcbiAgICAgICAgeU9mZnNldDogMCxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdGhpcy5jdXJyZW50QW5jaG9yQ29vcmRzID0gdGhpcy5ldmVudFNlcnZpY2UuYW5jaG9yQnV0dG9uUmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgdGhpcy5jdXJyZW50Q29udGVudENvb3JkcyA9IGNvbnRlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgdGhpcy5jb250ZW50T2Zmc2V0cyA9IGFsaWduKHRoaXMucG9zaXRpb24sIHRoaXMuY3VycmVudEFuY2hvckNvb3JkcywgdGhpcy5jdXJyZW50Q29udGVudENvb3Jkcyk7XG5cbiAgICBjb25zdCB2aXNpYmlsaXR5VmlvbGF0aW9uczogQ2xyVmlld3BvcnRWaW9sYXRpb25bXSA9IHRlc3RWaXNpYmlsaXR5KHRoaXMuY29udGVudE9mZnNldHMsIHRoaXMuY3VycmVudENvbnRlbnRDb29yZHMpO1xuICAgIC8qKlxuICAgICAqIENhbGN1bGF0ZSB0aGUgc3VtIG9mIHZpZXdwb3J0IGVycm9ycy4gVGhpcyBjYWxjdWxhdGlvbiBpcyB1c2VkIGJlbG93IHdpdGggdGhlIHByb3ZpZGVkIEF4aXMgaW4gdGhlIGdpdmVuXG4gICAgICogQ2xyUG9wb3ZlclBvc2l0aW9uLiBJdHMgd29ydGggcHV0dGluZyB0aGUgQ2xyVmlld3BvcnRWaW9sYXRpb24gZW51bSB2YWx1ZXMgaGVyZTpcbiAgICAgKlxuICAgICAqICAgQk9UVE9NID0gMCxcbiAgICAgKiAgIExFRlQgPSAxLFxuICAgICAqICAgUklHSFQgPSAyLFxuICAgICAqICAgVE9QID0gMyxcbiAgICAgKlxuICAgICAqICAgU28sIHRoaXMudmlzaWJpbGl0eVZpb2xhdGlvbnMubGVuZ3RoIHRlbGxzIHVzIGhvdyBtYW55IHNpZGVzIG9mIHRoZSB2aWV3cG9ydCB0aGF0IHRoZSBwb3BvdmVyIGNvbnRlbnQgd2FzXG4gICAgICogICBjbGlwcGVkIG9uLiBXZSBjYW4gb25seSBoZWxwIHdoZW4gdGhlIGNvbnRlbnQgaGFzIGFuIGlzc3VlIG9uIG9uZSBvciB0d28gc2lkZXMuXG4gICAgICogICBlcnJvclN1bSBpcyBjYWxjdWxhdGVkIHRvIGRldGVybWluZSBfaG93XyB0byBjaGFuZ2UgdGhlIHBvc2l0aW9uLiBMb29raW5nIGF0IGJvdGggdGhlIGF4aXMgYW5kIHRoZSBudW1iZXJcbiAgICAgKiAgIG9mIHZpb2xhdGlvbnMgSSBjYW4gdXNlIHRoZSBlcnJvclN1bSB0byBkZXRlcm1pbmUgaG93IHRvIHRyYW5zZm9ybSB0aGUgcG9zaXRpb24gKG9uIHRoZSBmbHkpIGFuZCBhZGp1c3RcbiAgICAgKiAgIHdoZXJlIGl0IGNhbiBiZSBpbXByb3ZlZC5cbiAgICAgKlxuICAgICAqICAgTm90ZSwgbW9yZSB0aGFuIDMgdmlld3BvcnQgdmlvbGF0aW9ucyBhbmQgdGhlcmUgaXNuJ3QgYW55dGhpbmcgd2UgY2FuIGRvIHRvIGhlbHAuIEFsc28gd2hlbiB0aGVyZSBhcmUgdHdvXG4gICAgICogICB2aW9sYXRpb25zLCB3ZSBjYW4ndCBoZWxwIGlmIHRoZSB2aW9sYXRpb25zIGFyZSBUT1ArQk9UVE9NIHx8IExFRlQrUklHSFQgPT4gVGhlcmUgaXMgbm8gdHJhbnNmb3JtYXRpb24gd2VcbiAgICAgKiAgIGNhbiBtYWtlIHRvIHRoZSBwb3N0aW9uIHRoYXQgd2lsbCBoZWxwLlxuICAgICAqXG4gICAgICogICBTb21lIGV4YW1wbGVzOlxuICAgICAqICAgVGhlcmUgaXMgb25seSBvbmUgZXJyb3IgYW5kIFByaW1hcnkgYXhpcyBpcyBWRVJUSUNBTFxuICAgICAqICAgLSB0aGlzLmhhbmRsZVZlcnRpY2FsQXhpc09uZVZpb2xhdGlvbiBoYXMgYSBzd2l0Y2ggdGhhdCB3aWxsIHVzZSB0aGUgZXJyb3Igc3VtIHRvIGFwcGx5IHRoZSBjb3JyZWN0XG4gICAgICogICB0cmFuc2Zvcm0gdG8gdGhlIHBvc3Rpb24gYmFzZWQgb24gdGhlIHJlZHVjdGlvbiBvZiB2aXNpYmlsaXR5VmlvbGF0aW9ucy5cbiAgICAgKlxuICAgICAqICAgVGhlcmUgYXJlIHR3byBlcnJvcnMgYW5kIFByaW1hcnkgYXhpcyBpcyBIT1JJWk9OVEFMXG4gICAgICogICAtIGhhbmRsZUhvcml6b250YWxBeGlzVHdvVmlvbGF0aW9ucyBoYXMgYSBzd2l0Y2ggdGhhdCB1c2VzIHRoZSBlcnJvciBzdW0gdG8gYXBwbHkgYm90aCB0cmFuc2Zvcm1zIG5lZWRlZCB0b1xuICAgICAqICAgaW1wcm92ZSB0aGUgY29udGVudCBwb3NpdGlvbiBiYXNlZCBvbiB0aGUgcmVkdWN0aW9uIG9mIHZpc2liaWxpdHlWaW9sYXRpb25zLlxuICAgICAqL1xuXG4gICAgY29uc3QgZXJyb3JTdW0gPSB2aXNpYmlsaXR5VmlvbGF0aW9ucy5yZWR1Y2UoKGNvdW50LCBjdXJyZW50KSA9PiB7XG4gICAgICByZXR1cm4gY291bnQgKyBjdXJyZW50O1xuICAgIH0sIDApO1xuXG4gICAgaWYgKHZpc2liaWxpdHlWaW9sYXRpb25zLmxlbmd0aCA9PT0gMSAmJiB0aGlzLnBvc2l0aW9uLmF4aXMgPT09IENsckF4aXMuVkVSVElDQUwpIHtcbiAgICAgIC8vIFdoZW4gcHJpbWFyeSBheGlzIGlzIFZFUlRJQ0FMIGFuZCB0aGVyZSBpcyBvbmUgdmlld3BvcnQgdmlvbGF0aW9uXG4gICAgICB0aGlzLmhhbmRsZVZlcnRpY2FsQXhpc09uZVZpb2xhdGlvbihlcnJvclN1bSk7XG4gICAgfSBlbHNlIGlmICh2aXNpYmlsaXR5VmlvbGF0aW9ucy5sZW5ndGggPT09IDEgJiYgdGhpcy5wb3NpdGlvbi5heGlzID09PSBDbHJBeGlzLkhPUklaT05UQUwpIHtcbiAgICAgIC8vIFdoZW4gcHJpbWFyeSBheGlzIGlzIEhPUklaT05UQUwgYW5kIHRoZXJlIGlzIG9uZSB2aWV3cG9ydCB2aW9sYXRpb25cbiAgICAgIHRoaXMuaGFuZGxlSG9yaXpvbnRhbEF4aXNPbmVWaW9sYXRpb24oZXJyb3JTdW0pO1xuICAgIH0gZWxzZSBpZiAodmlzaWJpbGl0eVZpb2xhdGlvbnMubGVuZ3RoID09PSAyICYmIHRoaXMucG9zaXRpb24uYXhpcyA9PT0gQ2xyQXhpcy5WRVJUSUNBTCkge1xuICAgICAgLy8gV2hlbiBwcmltYXJ5IGF4aXMgaXMgVkVSVElDQUwgYW5kIHRoZXJlIGFyZSB0d28gdmlld3BvcnQgdmlvbGF0aW9uc1xuICAgICAgdGhpcy5oYW5kbGVWZXJ0aWNhbEF4aXNUd29WaW9sYXRpb25zKGVycm9yU3VtKTtcbiAgICB9IGVsc2UgaWYgKHZpc2liaWxpdHlWaW9sYXRpb25zLmxlbmd0aCA9PT0gMiAmJiB0aGlzLnBvc2l0aW9uLmF4aXMgPT09IENsckF4aXMuSE9SSVpPTlRBTCkge1xuICAgICAgLy8gV2hlbiBwcmltYXJ5IGF4aXMgaXMgSE9SSVpPTlRBTCBhbmQgdGhlcmUgYXJlIHR3byB2aWV3cG9ydCB2aW9sYXRpb25zXG4gICAgICB0aGlzLmhhbmRsZUhvcml6b250YWxBeGlzVHdvVmlvbGF0aW9ucyhlcnJvclN1bSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRqdXN0cyBwb3BvdmVyIHBvc2l0aW9uIGJhc2VkIG9uIHNjcm9sbCB2YWx1ZSBieSBhZGRpbmcgdGhlIG5lZ2F0aXZlICd0b3AnIHZhbHVlIG9mIGN1cnJlbnRDb250ZW50Q29vcmRzIHRvIHlPZmZzZXQgZm9yIHByb3BlciBhbGlnbm1lbnQuXG4gICAgICogLSBUaGUgbmVnYXRpdmUgdmFsdWUgbWVhbnMgdGhhdCB0aGUgJ3RvcCcgb2YgdGhlIGNvbnRlbnQgaXMgc2Nyb2xsZWQgb3V0IG9mIHZpZXcgYXQgdGhlIHRvcCBvZiB0aGUgdmlld3BvcnQuXG4gICAgICovXG4gICAgaWYgKHRoaXMuY3VycmVudENvbnRlbnRDb29yZHMudG9wIDwgMCkge1xuICAgICAgdGhpcy5jb250ZW50T2Zmc2V0cy55T2Zmc2V0ICs9IE1hdGguYWJzKHRoaXMuY3VycmVudENvbnRlbnRDb29yZHMudG9wKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jb250ZW50T2Zmc2V0cztcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlVmVydGljYWxBeGlzT25lVmlvbGF0aW9uKGVycm9yU3VtOiBudW1iZXIpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKGVycm9yU3VtKSB7XG4gICAgICBjYXNlIDA6XG4gICAgICBjYXNlIDM6IHtcbiAgICAgICAgLy8gQk9UVE9NKDApIG9yIFRPUCgzKSBhcmUgcHJpbWFyeSB2aW9sYXRpb25zIGFuZCB3ZSBjYW4ganVzdCBmbGlwIHNpZGVzXG4gICAgICAgIHRoaXMuY29udGVudE9mZnNldHMgPSBhbGlnbihmbGlwU2lkZXModGhpcy5wb3NpdGlvbiksIHRoaXMuY3VycmVudEFuY2hvckNvb3JkcywgdGhpcy5jdXJyZW50Q29udGVudENvb3Jkcyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAxOiB7XG4gICAgICAgIC8vIExFRlQoMSkgaXMgc2Vjb25kYXJ5IGFuZCBuZWVkcyB0byBudWRnZSBjb250ZW50IHJpZ2h0XG4gICAgICAgIHRoaXMuY29udGVudE9mZnNldHMgPSBhbGlnbih0aGlzLnBvc2l0aW9uLCB0aGlzLmN1cnJlbnRBbmNob3JDb29yZHMsIHRoaXMuY3VycmVudENvbnRlbnRDb29yZHMpO1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBFdmVuIHdpdGggdGhlIG51ZGdlIHdlIHN0aWxsIGhhdmUgYSBwcm9ibGVtLiBXZSBuZWVkIHRvIGNoZWNrIGlmIHRoZSBjb250ZW50IGlzIGdvaW5nIHRvIGJlIGNsaXBwZWRcbiAgICAgICAgICovXG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRPZmZzZXRzLnhPZmZzZXQgPCAwKSB7XG4gICAgICAgICAgdGhpcy5jb250ZW50T2Zmc2V0cy54T2Zmc2V0ID0gMTA7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgMjoge1xuICAgICAgICAvLyBSSUdIVCgyKSBpcyBzZWNvbmRhcnkgYW5kICBuZWVkcyB0byBudWRnZSBjb250ZW50IGxlZnRcbiAgICAgICAgdGhpcy5jb250ZW50T2Zmc2V0cyA9IGFsaWduKFxuICAgICAgICAgIG51ZGdlQ29udGVudCh0aGlzLnBvc2l0aW9uLCB0cnVlKSxcbiAgICAgICAgICB0aGlzLmN1cnJlbnRBbmNob3JDb29yZHMsXG4gICAgICAgICAgdGhpcy5jdXJyZW50Q29udGVudENvb3Jkc1xuICAgICAgICApO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVWZXJ0aWNhbEF4aXNUd29WaW9sYXRpb25zKGVycm9yU3VtOiBudW1iZXIpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKGVycm9yU3VtKSB7XG4gICAgICAvLyBXZSBrbm93IHRoZXJlIGFyZSB0d28gdmlvbGF0aW9ucy4gV2UgY2FuIHVzZSB0aGUgZXJyb3JTdW0gdG8gZGV0ZXJtaW5lIHdoaWNoIGNvbWJpbmF0aW9uIG9mIHNpZGVzIHdlcmVcbiAgICAgIC8vIHZpb2xhdGVkIGFuZCBoYW5kbGUgYXBwcm9wcmlhdGVseS5cbiAgICAgIGNhc2UgNToge1xuICAgICAgICAvLyBUT1AoMykrUklHSFQoMikgaXMgY2FzZSA1LiBXZSBuZWVkIHRvIGZsaXAgc2lkZXMgYW5kIG51ZGdlIHRoZSBjb250ZW50IHRvIHRoZSBsZWZ0XG4gICAgICAgIGNvbnN0IGZsaXBBbmROdWRnZUxlZnQgPSBmbGlwU2lkZXNBbmROdWRnZUNvbnRlbnQoZmxpcFNpZGVzLCBudWRnZUNvbnRlbnQsIHRydWUpO1xuICAgICAgICB0aGlzLmNvbnRlbnRPZmZzZXRzID0gYWxpZ24oXG4gICAgICAgICAgZmxpcEFuZE51ZGdlTGVmdCh0aGlzLnBvc2l0aW9uKSxcbiAgICAgICAgICB0aGlzLmN1cnJlbnRBbmNob3JDb29yZHMsXG4gICAgICAgICAgdGhpcy5jdXJyZW50Q29udGVudENvb3Jkc1xuICAgICAgICApO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgNDoge1xuICAgICAgICAvL1RPUCgzKStMRUZUKDEpIGlzIGNhc2UgNCwgd2UgbmVlZCB0byBmbGlwIHNpZGVzIGFuZCBudWRnZSBjb250ZW50IHRvIHRoZSByaWdodFxuICAgICAgICBjb25zdCBmbGlwQW5kTnVkZ2VSaWdodCA9IGZsaXBTaWRlc0FuZE51ZGdlQ29udGVudChmbGlwU2lkZXMsIG51ZGdlQ29udGVudCwgZmFsc2UpO1xuICAgICAgICB0aGlzLmNvbnRlbnRPZmZzZXRzID0gYWxpZ24oXG4gICAgICAgICAgZmxpcEFuZE51ZGdlUmlnaHQodGhpcy5wb3NpdGlvbiksXG4gICAgICAgICAgdGhpcy5jdXJyZW50QW5jaG9yQ29vcmRzLFxuICAgICAgICAgIHRoaXMuY3VycmVudENvbnRlbnRDb29yZHNcbiAgICAgICAgKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIDM6IHtcbiAgICAgICAgLy8gVE9QKDMpK0JPVFRPTSgwKSB8fCBsZWZ0KDEpK1JJR0hUKDIpIGlzIGNhc2UgMy4gVGhlcmUgaXMgbm90aGluZyB3ZSBjYW4gZG8gcG9zaXRpb24gd2lzZSB0byBpbXByb3ZlIHRoZVxuICAgICAgICAvLyBwbGFjZW1lbnQgZm9yIHRoaXMgY29udGVudC5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIDI6IHtcbiAgICAgICAgLy8gQk9UVE9NKDApK1JJR0hUKDIpIGlzIGNhc2UgMi4gV2UgbmVlZCB0byBmbGlwIHNpZGVzIGFuZCBudWRnZSB0aGUgY29udGVudCB0byB0aGUgbGVmdFxuICAgICAgICBjb25zdCBmbGlwQW5kTnVkZ2VMZWZ0ID0gZmxpcFNpZGVzQW5kTnVkZ2VDb250ZW50KGZsaXBTaWRlcywgbnVkZ2VDb250ZW50LCB0cnVlKTtcbiAgICAgICAgdGhpcy5jb250ZW50T2Zmc2V0cyA9IGFsaWduKFxuICAgICAgICAgIGZsaXBBbmROdWRnZUxlZnQodGhpcy5wb3NpdGlvbiksXG4gICAgICAgICAgdGhpcy5jdXJyZW50QW5jaG9yQ29vcmRzLFxuICAgICAgICAgIHRoaXMuY3VycmVudENvbnRlbnRDb29yZHNcbiAgICAgICAgKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIDE6IHtcbiAgICAgICAgLy8gQk9UVE9NKDApK0xFRlQoMSkgaXMgY2FzZSAxLiBXZSBuZWVkIHRvIGZsaXAgc2lkZXMgYW5kIG51ZGdlIHRvIHRoZSByaWdodFxuICAgICAgICBjb25zdCBmbGlwQW5kTnVkZ2VSaWdodCA9IGZsaXBTaWRlc0FuZE51ZGdlQ29udGVudChmbGlwU2lkZXMsIG51ZGdlQ29udGVudCwgZmFsc2UpO1xuICAgICAgICB0aGlzLmNvbnRlbnRPZmZzZXRzID0gYWxpZ24oXG4gICAgICAgICAgZmxpcEFuZE51ZGdlUmlnaHQodGhpcy5wb3NpdGlvbiksXG4gICAgICAgICAgdGhpcy5jdXJyZW50QW5jaG9yQ29vcmRzLFxuICAgICAgICAgIHRoaXMuY3VycmVudENvbnRlbnRDb29yZHNcbiAgICAgICAgKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlSG9yaXpvbnRhbEF4aXNPbmVWaW9sYXRpb24oZXJyb3JTdW06IG51bWJlcik6IHZvaWQge1xuICAgIHN3aXRjaCAoZXJyb3JTdW0pIHtcbiAgICAgIGNhc2UgMTpcbiAgICAgIGNhc2UgMjoge1xuICAgICAgICAvLyBMRUZUKDEpIGFuZCBSSUdIVCgyKSBhcmUgcHJpbWFyeSB2aW9sYXRpb25zIHNvIHdlIGNhbiBmbGlwIHNpZGVzXG4gICAgICAgIHRoaXMuY29udGVudE9mZnNldHMgPSBhbGlnbihmbGlwU2lkZXModGhpcy5wb3NpdGlvbiksIHRoaXMuY3VycmVudEFuY2hvckNvb3JkcywgdGhpcy5jdXJyZW50Q29udGVudENvb3Jkcyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAwOiB7XG4gICAgICAgIC8vIEJPVFRPTSgwKSBpcyBhIHNlY29uZGFyeSB2aW9sYXRpb24gYW5kIHdlIG5lZWQgdG8gbnVkZ2UgY29udGVudCB1cFxuICAgICAgICB0aGlzLmNvbnRlbnRPZmZzZXRzID0gYWxpZ24oXG4gICAgICAgICAgbnVkZ2VDb250ZW50KHRoaXMucG9zaXRpb24sIHRydWUpLFxuICAgICAgICAgIHRoaXMuY3VycmVudEFuY2hvckNvb3JkcyxcbiAgICAgICAgICB0aGlzLmN1cnJlbnRDb250ZW50Q29vcmRzXG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAzOiB7XG4gICAgICAgIC8vIFRPUCgzKSBpcyBhIHNlY29uZGFyeSB2aW9sYXRpb24gYW5kIHdlIG5lZWQgdG8gbnVkZ2UgY29udGVudCBkb3duXG4gICAgICAgIHRoaXMuY29udGVudE9mZnNldHMgPSBhbGlnbihudWRnZUNvbnRlbnQodGhpcy5wb3NpdGlvbiksIHRoaXMuY3VycmVudEFuY2hvckNvb3JkcywgdGhpcy5jdXJyZW50Q29udGVudENvb3Jkcyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDoge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUhvcml6b250YWxBeGlzVHdvVmlvbGF0aW9ucyhlcnJvclN1bTogbnVtYmVyKTogdm9pZCB7XG4gICAgc3dpdGNoIChlcnJvclN1bSkge1xuICAgICAgY2FzZSA1OlxuICAgICAgY2FzZSA0OiB7XG4gICAgICAgIC8vIFRPUCgzKStMRUZUKDEpIGlzIGNhc2UgNC5cbiAgICAgICAgLy8gVE9QKDMpK1JJR0hUKDIpIGlzIGNhc2UgNS5cbiAgICAgICAgLy8gSW4gYm90aCBvZiB0aGVzZSBjYXNlcyB3ZSBuZWVkIHRvIGZsaXAgc2lkZXMgYW5kIG51ZGdlIGNvbnRlbnQgZG93blxuICAgICAgICBjb25zdCBmbGlwQW5kTnVkZ2VEb3duID0gZmxpcFNpZGVzQW5kTnVkZ2VDb250ZW50KGZsaXBTaWRlcywgbnVkZ2VDb250ZW50LCBmYWxzZSk7XG4gICAgICAgIHRoaXMuY29udGVudE9mZnNldHMgPSBhbGlnbihcbiAgICAgICAgICBmbGlwQW5kTnVkZ2VEb3duKHRoaXMucG9zaXRpb24pLFxuICAgICAgICAgIHRoaXMuY3VycmVudEFuY2hvckNvb3JkcyxcbiAgICAgICAgICB0aGlzLmN1cnJlbnRDb250ZW50Q29vcmRzXG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAzOiB7XG4gICAgICAgIC8vIFRPUCgzKStCT1RUT00oMCkgfHwgbGVmdCgxKStSSUdIVCgyKSBpcyBjYXNlIDMuIFRoZXJlIGlzIG5vdGhpbmcgd2UgY2FuIGRvIHBvc2l0aW9uIHdpc2UgdG8gaW1wcm92ZSB0aGVcbiAgICAgICAgLy8gcGxhY2VtZW50IGZvciB0aGlzIGNvbnRlbnQuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAyOlxuICAgICAgY2FzZSAxOiB7XG4gICAgICAgIC8vIEJPVFRPTSgwKStSSUdIVCgyKSBpcyBjYXNlIDIuXG4gICAgICAgIC8vIEJPVFRPTSgwKStMRUZUKDEpIGlzIGNhc2UgMS5cbiAgICAgICAgLy8gSW4gYm90aCBjYXNlcyB3ZSAgbmVlZCB0byBmbGlwIHNpZGVzIGFuZCBudWRnZSBjb250ZW50IHVwXG4gICAgICAgIGNvbnN0IGZsaXBBbmROdWRnZVVwID0gZmxpcFNpZGVzQW5kTnVkZ2VDb250ZW50KGZsaXBTaWRlcywgbnVkZ2VDb250ZW50LCB0cnVlKTtcbiAgICAgICAgdGhpcy5jb250ZW50T2Zmc2V0cyA9IGFsaWduKGZsaXBBbmROdWRnZVVwKHRoaXMucG9zaXRpb24pLCB0aGlzLmN1cnJlbnRBbmNob3JDb29yZHMsIHRoaXMuY3VycmVudENvbnRlbnRDb29yZHMpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
229
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1wb3NpdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvdXRpbHMvcG9wb3Zlci9wcm92aWRlcnMvcG9wb3Zlci1wb3NpdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFJN0MsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsd0JBQXdCLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7QUFJakgsTUFBTSxPQUFPLHlCQUF5QjtJQVNwQyxZQUFvQixZQUFxQyxFQUE4QixVQUFlO1FBQWxGLGlCQUFZLEdBQVosWUFBWSxDQUF5QjtRQUE4QixlQUFVLEdBQVYsVUFBVSxDQUFLO1FBRjlGLG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUczQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUQsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxZQUFZLENBQUMsT0FBb0I7UUFDL0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUN2QyxtQ0FBbUM7WUFDbkMsZ0ZBQWdGO1lBQ2hGLE9BQU87Z0JBQ0wsT0FBTyxFQUFFLENBQUM7Z0JBQ1YsT0FB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QUFDLENBQUM7Z0JBQ04sMEdBQTBHO2dCQUMxRyw4QkFBOEI7Z0JBQzlCLE1BQU07YUFDUDtZQUNELEtBQUssQ0FBQyxDQUFDO1lBQ1AsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDTixnQ0FBZ0M7Z0JBQ2hDLCtCQUErQjtnQkFDL0IsNERBQTREO2dCQUM1RCxNQUFNLGNBQWMsR0FBRyx3QkFBd0IsQ0FBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUMvRSxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztnQkFDaEgsTUFBTTthQUNQO1lBQ0QsT0FBTyxDQUFDLENBQUM7Z0JBQ1AsTUFBTTthQUNQO1NBQ0Y7SUFDSCxDQUFDOztzSEEzUFUseUJBQXlCLHlEQVMrQixXQUFXOzBIQVRuRSx5QkFBeUI7MkZBQXpCLHlCQUF5QjtrQkFEckMsVUFBVTs7MEJBVW1ELE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMyBWTXdhcmUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBDbHJBeGlzIH0gZnJvbSAnLi4vZW51bXMvYXhpcy5lbnVtJztcbmltcG9ydCB7IENsclZpZXdwb3J0VmlvbGF0aW9uIH0gZnJvbSAnLi4vZW51bXMvdmlld3BvcnQtdmlvbGF0aW9uLmVudW0nO1xuaW1wb3J0IHsgQ2xyUG9wb3ZlckNvbnRlbnRPZmZzZXQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3BvcG92ZXItY29udGVudC1vZmZzZXQuaW50ZXJmYWNlJztcbmltcG9ydCB7IENsclBvcG92ZXJQb3NpdGlvbiB9IGZyb20gJy4uL2ludGVyZmFjZXMvcG9wb3Zlci1wb3NpdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgYWxpZ24sIGZsaXBTaWRlcywgZmxpcFNpZGVzQW5kTnVkZ2VDb250ZW50LCBudWRnZUNvbnRlbnQsIHRlc3RWaXNpYmlsaXR5IH0gZnJvbSAnLi4vcG9zaXRpb24tb3BlcmF0b3JzJztcbmltcG9ydCB7IENsclBvcG92ZXJFdmVudHNTZXJ2aWNlIH0gZnJvbSAnLi9wb3BvdmVyLWV2ZW50cy5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENsclBvcG92ZXJQb3NpdGlvblNlcnZpY2Uge1xuICBwb3NpdGlvbjogQ2xyUG9wb3ZlclBvc2l0aW9uO1xuICBzaG91bGRSZWFsaWduOiBPYnNlcnZhYmxlPHZvaWQ+O1xuXG4gIHByaXZhdGUgY3VycmVudEFuY2hvckNvb3JkczogQ2xpZW50UmVjdDtcbiAgcHJpdmF0ZSBjdXJyZW50Q29udGVudENvb3JkczogQ2xpZW50UmVjdDtcbiAgcHJpdmF0ZSBjb250ZW50T2Zmc2V0czogQ2xyUG9wb3ZlckNvbnRlbnRPZmZzZXQ7XG4gIHByaXZhdGUgX3Nob3VsZFJlYWxpZ24gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZXZlbnRTZXJ2aWNlOiBDbHJQb3BvdmVyRXZlbnRzU2VydmljZSwgQEluamVjdChQTEFURk9STV9JRCkgcHVibGljIHBsYXRmb3JtSWQ6IGFueSkge1xuICAgIHRoaXMuc2hvdWxkUmVhbGlnbiA9IHRoaXMuX3Nob3VsZFJlYWxpZ24uYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICByZWFsaWduKCkge1xuICAgIHRoaXMuX3Nob3VsZFJlYWxpZ24ubmV4dCgpO1xuICB9XG5cbiAgYWxpZ25Db250ZW50KGNvbnRlbnQ6IEhUTUxFbGVtZW50KTogQ2xyUG9wb3ZlckNvbnRlbnRPZmZzZXQge1xuICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgLy8gT25seSBwb3NpdGlvbiB3aGVuIGluIGEgYnJvd3Nlci5cbiAgICAgIC8vIERlZmF1bHQgdG8gdGhlIGJyb3dzZXIgb3JpZ2luIGFuZCBwcmV2ZW50IGdldEJvdW5kaW5nQ2xpZW50UmVjdCBmcm9tIHJ1bm5pbmcuXG4gICAgICByZXR1cm4ge1xuICAgICAgICB4T2Zmc2V0OiAwLFxuICAgICAgICB5T2Zmc2V0OiAwLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICB0aGlzLmN1cnJlbnRBbmNob3JDb29yZHMgPSB0aGlzLmV2ZW50U2VydmljZS5hbmNob3JCdXR0b25SZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICB0aGlzLmN1cnJlbnRDb250ZW50Q29vcmRzID0gY29udGVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICB0aGlzLmNvbnRlbnRPZmZzZXRzID0gYWxpZ24odGhpcy5wb3NpdGlvbiwgdGhpcy5jdXJyZW50QW5jaG9yQ29vcmRzLCB0aGlzLmN1cnJlbnRDb250ZW50Q29vcmRzKTtcblxuICAgIGNvbnN0IHZpc2liaWxpdHlWaW9sYXRpb25zOiBDbHJWaWV3cG9ydFZpb2xhdGlvbltdID0gdGVzdFZpc2liaWxpdHkodGhpcy5jb250ZW50T2Zmc2V0cywgdGhpcy5jdXJyZW50Q29udGVudENvb3Jkcyk7XG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlIHRoZSBzdW0gb2Ygdmlld3BvcnQgZXJyb3JzLiBUaGlzIGNhbGN1bGF0aW9uIGlzIHVzZWQgYmVsb3cgd2l0aCB0aGUgcHJvdmlkZWQgQXhpcyBpbiB0aGUgZ2l2ZW5cbiAgICAgKiBDbHJQb3BvdmVyUG9zaXRpb24uIEl0cyB3b3J0aCBwdXR0aW5nIHRoZSBDbHJWaWV3cG9ydFZpb2xhdGlvbiBlbnVtIHZhbHVlcyBoZXJlOlxuICAgICAqXG4gICAgICogICBCT1RUT00gPSAwLFxuICAgICAqICAgTEVGVCA9IDEsXG4gICAgICogICBSSUdIVCA9IDIsXG4gICAgICogICBUT1AgPSAzLFxuICAgICAqXG4gICAgICogICBTbywgdGhpcy52aXNpYmlsaXR5VmlvbGF0aW9ucy5sZW5ndGggdGVsbHMgdXMgaG93IG1hbnkgc2lkZXMgb2YgdGhlIHZpZXdwb3J0IHRoYXQgdGhlIHBvcG92ZXIgY29udGVudCB3YXNcbiAgICAgKiAgIGNsaXBwZWQgb24uIFdlIGNhbiBvbmx5IGhlbHAgd2hlbiB0aGUgY29udGVudCBoYXMgYW4gaXNzdWUgb24gb25lIG9yIHR3byBzaWRlcy5cbiAgICAgKiAgIGVycm9yU3VtIGlzIGNhbGN1bGF0ZWQgdG8gZGV0ZXJtaW5lIF9ob3dfIHRvIGNoYW5nZSB0aGUgcG9zaXRpb24uIExvb2tpbmcgYXQgYm90aCB0aGUgYXhpcyBhbmQgdGhlIG51bWJlclxuICAgICAqICAgb2YgdmlvbGF0aW9ucyBJIGNhbiB1c2UgdGhlIGVycm9yU3VtIHRvIGRldGVybWluZSBob3cgdG8gdHJhbnNmb3JtIHRoZSBwb3NpdGlvbiAob24gdGhlIGZseSkgYW5kIGFkanVzdFxuICAgICAqICAgd2hlcmUgaXQgY2FuIGJlIGltcHJvdmVkLlxuICAgICAqXG4gICAgICogICBOb3RlLCBtb3JlIHRoYW4gMyB2aWV3cG9ydCB2aW9sYXRpb25zIGFuZCB0aGVyZSBpc24ndCBhbnl0aGluZyB3ZSBjYW4gZG8gdG8gaGVscC4gQWxzbyB3aGVuIHRoZXJlIGFyZSB0d29cbiAgICAgKiAgIHZpb2xhdGlvbnMsIHdlIGNhbid0IGhlbHAgaWYgdGhlIHZpb2xhdGlvbnMgYXJlIFRPUCtCT1RUT00gfHwgTEVGVCtSSUdIVCA9PiBUaGVyZSBpcyBubyB0cmFuc2Zvcm1hdGlvbiB3ZVxuICAgICAqICAgY2FuIG1ha2UgdG8gdGhlIHBvc2l0aW9uIHRoYXQgd2lsbCBoZWxwLlxuICAgICAqXG4gICAgICogICBTb21lIGV4YW1wbGVzOlxuICAgICAqICAgVGhlcmUgaXMgb25seSBvbmUgZXJyb3IgYW5kIFByaW1hcnkgYXhpcyBpcyBWRVJUSUNBTFxuICAgICAqICAgLSB0aGlzLmhhbmRsZVZlcnRpY2FsQXhpc09uZVZpb2xhdGlvbiBoYXMgYSBzd2l0Y2ggdGhhdCB3aWxsIHVzZSB0aGUgZXJyb3Igc3VtIHRvIGFwcGx5IHRoZSBjb3JyZWN0XG4gICAgICogICB0cmFuc2Zvcm0gdG8gdGhlIHBvc2l0aW9uIGJhc2VkIG9uIHRoZSByZWR1Y3Rpb24gb2YgdmlzaWJpbGl0eVZpb2xhdGlvbnMuXG4gICAgICpcbiAgICAgKiAgIFRoZXJlIGFyZSB0d28gZXJyb3JzIGFuZCBQcmltYXJ5IGF4aXMgaXMgSE9SSVpPTlRBTFxuICAgICAqICAgLSBoYW5kbGVIb3Jpem9udGFsQXhpc1R3b1Zpb2xhdGlvbnMgaGFzIGEgc3dpdGNoIHRoYXQgdXNlcyB0aGUgZXJyb3Igc3VtIHRvIGFwcGx5IGJvdGggdHJhbnNmb3JtcyBuZWVkZWQgdG9cbiAgICAgKiAgIGltcHJvdmUgdGhlIGNvbnRlbnQgcG9zaXRpb24gYmFzZWQgb24gdGhlIHJlZHVjdGlvbiBvZiB2aXNpYmlsaXR5VmlvbGF0aW9ucy5cbiAgICAgKi9cblxuICAgIGNvbnN0IGVycm9yU3VtID0gdmlzaWJpbGl0eVZpb2xhdGlvbnMucmVkdWNlKChjb3VudCwgY3VycmVudCkgPT4ge1xuICAgICAgcmV0dXJuIGNvdW50ICsgY3VycmVudDtcbiAgICB9LCAwKTtcblxuICAgIGlmICh2aXNpYmlsaXR5VmlvbGF0aW9ucy5sZW5ndGggPT09IDEgJiYgdGhpcy5wb3NpdGlvbi5heGlzID09PSBDbHJBeGlzLlZFUlRJQ0FMKSB7XG4gICAgICAvLyBXaGVuIHByaW1hcnkgYXhpcyBpcyBWRVJUSUNBTCBhbmQgdGhlcmUgaXMgb25lIHZpZXdwb3J0IHZpb2xhdGlvblxuICAgICAgdGhpcy5oYW5kbGVWZXJ0aWNhbEF4aXNPbmVWaW9sYXRpb24oZXJyb3JTdW0pO1xuICAgIH0gZWxzZSBpZiAodmlzaWJpbGl0eVZpb2xhdGlvbnMubGVuZ3RoID09PSAxICYmIHRoaXMucG9zaXRpb24uYXhpcyA9PT0gQ2xyQXhpcy5IT1JJWk9OVEFMKSB7XG4gICAgICAvLyBXaGVuIHByaW1hcnkgYXhpcyBpcyBIT1JJWk9OVEFMIGFuZCB0aGVyZSBpcyBvbmUgdmlld3BvcnQgdmlvbGF0aW9uXG4gICAgICB0aGlzLmhhbmRsZUhvcml6b250YWxBeGlzT25lVmlvbGF0aW9uKGVycm9yU3VtKTtcbiAgICB9IGVsc2UgaWYgKHZpc2liaWxpdHlWaW9sYXRpb25zLmxlbmd0aCA9PT0gMiAmJiB0aGlzLnBvc2l0aW9uLmF4aXMgPT09IENsckF4aXMuVkVSVElDQUwpIHtcbiAgICAgIC8vIFdoZW4gcHJpbWFyeSBheGlzIGlzIFZFUlRJQ0FMIGFuZCB0aGVyZSBhcmUgdHdvIHZpZXdwb3J0IHZpb2xhdGlvbnNcbiAgICAgIHRoaXMuaGFuZGxlVmVydGljYWxBeGlzVHdvVmlvbGF0aW9ucyhlcnJvclN1bSk7XG4gICAgfSBlbHNlIGlmICh2aXNpYmlsaXR5VmlvbGF0aW9ucy5sZW5ndGggPT09IDIgJiYgdGhpcy5wb3NpdGlvbi5heGlzID09PSBDbHJBeGlzLkhPUklaT05UQUwpIHtcbiAgICAgIC8vIFdoZW4gcHJpbWFyeSBheGlzIGlzIEhPUklaT05UQUwgYW5kIHRoZXJlIGFyZSB0d28gdmlld3BvcnQgdmlvbGF0aW9uc1xuICAgICAgdGhpcy5oYW5kbGVIb3Jpem9udGFsQXhpc1R3b1Zpb2xhdGlvbnMoZXJyb3JTdW0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkanVzdHMgcG9wb3ZlciBwb3NpdGlvbiBiYXNlZCBvbiBzY3JvbGwgdmFsdWUgYnkgYWRkaW5nIHRoZSBuZWdhdGl2ZSAndG9wJyB2YWx1ZSBvZiBjdXJyZW50Q29udGVudENvb3JkcyB0byB5T2Zmc2V0IGZvciBwcm9wZXIgYWxpZ25tZW50LlxuICAgICAqIC0gVGhlIG5lZ2F0aXZlIHZhbHVlIG1lYW5zIHRoYXQgdGhlICd0b3AnIG9mIHRoZSBjb250ZW50IGlzIHNjcm9sbGVkIG91dCBvZiB2aWV3IGF0IHRoZSB0b3Agb2YgdGhlIHZpZXdwb3J0LlxuICAgICAqL1xuICAgIGlmICh0aGlzLmN1cnJlbnRDb250ZW50Q29vcmRzLnRvcCA8IDApIHtcbiAgICAgIHRoaXMuY29udGVudE9mZnNldHMueU9mZnNldCArPSBNYXRoLmFicyh0aGlzLmN1cnJlbnRDb250ZW50Q29vcmRzLnRvcCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBkZXRlY3RzIHRoZSBjb25kaXRpb24gd2hlcmUgdGhlIHBvcG92ZXIgaXMgZmxpcHBlZCBiZWNhdXNlIGl0IHdvdWxkIHZpb2xhdGUgdGhlIGJvdHRvbSBvZiB0aGUgdmlld3BvcnQsIGJ1dCBmbGlwcGluZyBpdCByZXN1bHRzIGluIHRoZVxuICAgICAqIHBvcG92ZXIgcmVuZGVyaW5nIGFib3ZlIHRoZSB0b3Agb2YgdGhlIGJvZHkgKHkgY29vcmRpbmF0ZSBvdXRzaWRlIHRoZSBib2R5KS4gSW4gdGhhdCBldmVudCwgaXQgc2hvdWxkIGJlIHJlbmRlcmVkIHdpdGhpbiB0aGUgYm9keVxuICAgICAqIGFzIG11Y2ggYXMgcG9zc2libGUsIHNvIHRoaXMgbG9naWMgc2V0cyB0aGUgdG9wIG9mIHBvcG92ZXIgdG8gcmVuZGVyIHRvdWNoaW5nIHRoZSB0b3Agb2YgdGhlIGJvZHkuXG4gICAgICovXG4gICAgaWYgKHRoaXMuY29udGVudE9mZnNldHMueU9mZnNldCArIHRoaXMuY3VycmVudEFuY2hvckNvb3Jkcy55IDwgMCkge1xuICAgICAgdGhpcy5jb250ZW50T2Zmc2V0cy55T2Zmc2V0ID0gMCAtIHRoaXMuY3VycmVudENvbnRlbnRDb29yZHMudG9wO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNvbnRlbnRPZmZzZXRzO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVWZXJ0aWNhbEF4aXNPbmVWaW9sYXRpb24oZXJyb3JTdW06IG51bWJlcik6IHZvaWQge1xuICAgIHN3aXRjaCAoZXJyb3JTdW0pIHtcbiAgICAgIGNhc2UgMDpcbiAgICAgIGNhc2UgMzoge1xuICAgICAgICAvLyBCT1RUT00oMCkgb3IgVE9QKDMpIGFyZSBwcmltYXJ5IHZpb2xhdGlvbnMgYW5kIHdlIGNhbiBqdXN0IGZsaXAgc2lkZXNcbiAgICAgICAgdGhpcy5jb250ZW50T2Zmc2V0cyA9IGFsaWduKGZsaXBTaWRlcyh0aGlzLnBvc2l0aW9uKSwgdGhpcy5jdXJyZW50QW5jaG9yQ29vcmRzLCB0aGlzLmN1cnJlbnRDb250ZW50Q29vcmRzKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIDE6IHtcbiAgICAgICAgLy8gTEVGVCgxKSBpcyBzZWNvbmRhcnkgYW5kIG5lZWRzIHRvIG51ZGdlIGNvbnRlbnQgcmlnaHRcbiAgICAgICAgdGhpcy5jb250ZW50T2Zmc2V0cyA9IGFsaWduKHRoaXMucG9zaXRpb24sIHRoaXMuY3VycmVudEFuY2hvckNvb3JkcywgdGhpcy5jdXJyZW50Q29udGVudENvb3Jkcyk7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIEV2ZW4gd2l0aCB0aGUgbnVkZ2Ugd2Ugc3RpbGwgaGF2ZSBhIHByb2JsZW0uIFdlIG5lZWQgdG8gY2hlY2sgaWYgdGhlIGNvbnRlbnQgaXMgZ29pbmcgdG8gYmUgY2xpcHBlZFxuICAgICAgICAgKi9cbiAgICAgICAgaWYgKHRoaXMuY29udGVudE9mZnNldHMueE9mZnNldCA8IDApIHtcbiAgICAgICAgICB0aGlzLmNvbnRlbnRPZmZzZXRzLnhPZmZzZXQgPSAxMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAyOiB7XG4gICAgICAgIC8vIFJJR0hUKDIpIGlzIHNlY29uZGFyeSBhbmQgIG5lZWRzIHRvIG51ZGdlIGNvbnRlbnQgbGVmdFxuICAgICAgICB0aGlzLmNvbnRlbnRPZmZzZXRzID0gYWxpZ24oXG4gICAgICAgICAgbnVkZ2VDb250ZW50KHRoaXMucG9zaXRpb24sIHRydWUpLFxuICAgICAgICAgIHRoaXMuY3VycmVudEFuY2hvckNvb3JkcyxcbiAgICAgICAgICB0aGlzLmN1cnJlbnRDb250ZW50Q29vcmRzXG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDoge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVZlcnRpY2FsQXhpc1R3b1Zpb2xhdGlvbnMoZXJyb3JTdW06IG51bWJlcik6IHZvaWQge1xuICAgIHN3aXRjaCAoZXJyb3JTdW0pIHtcbiAgICAgIC8vIFdlIGtub3cgdGhlcmUgYXJlIHR3byB2aW9sYXRpb25zLiBXZSBjYW4gdXNlIHRoZSBlcnJvclN1bSB0byBkZXRlcm1pbmUgd2hpY2ggY29tYmluYXRpb24gb2Ygc2lkZXMgd2VyZVxuICAgICAgLy8gdmlvbGF0ZWQgYW5kIGhhbmRsZSBhcHByb3ByaWF0ZWx5LlxuICAgICAgY2FzZSA1OiB7XG4gICAgICAgIC8vIFRPUCgzKStSSUdIVCgyKSBpcyBjYXNlIDUuIFdlIG5lZWQgdG8gZmxpcCBzaWRlcyBhbmQgbnVkZ2UgdGhlIGNvbnRlbnQgdG8gdGhlIGxlZnRcbiAgICAgICAgY29uc3QgZmxpcEFuZE51ZGdlTGVmdCA9IGZsaXBTaWRlc0FuZE51ZGdlQ29udGVudChmbGlwU2lkZXMsIG51ZGdlQ29udGVudCwgdHJ1ZSk7XG4gICAgICAgIHRoaXMuY29udGVudE9mZnNldHMgPSBhbGlnbihcbiAgICAgICAgICBmbGlwQW5kTnVkZ2VMZWZ0KHRoaXMucG9zaXRpb24pLFxuICAgICAgICAgIHRoaXMuY3VycmVudEFuY2hvckNvb3JkcyxcbiAgICAgICAgICB0aGlzLmN1cnJlbnRDb250ZW50Q29vcmRzXG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSA0OiB7XG4gICAgICAgIC8vVE9QKDMpK0xFRlQoMSkgaXMgY2FzZSA0LCB3ZSBuZWVkIHRvIGZsaXAgc2lkZXMgYW5kIG51ZGdlIGNvbnRlbnQgdG8gdGhlIHJpZ2h0XG4gICAgICAgIGNvbnN0IGZsaXBBbmROdWRnZVJpZ2h0ID0gZmxpcFNpZGVzQW5kTnVkZ2VDb250ZW50KGZsaXBTaWRlcywgbnVkZ2VDb250ZW50LCBmYWxzZSk7XG4gICAgICAgIHRoaXMuY29udGVudE9mZnNldHMgPSBhbGlnbihcbiAgICAgICAgICBmbGlwQW5kTnVkZ2VSaWdodCh0aGlzLnBvc2l0aW9uKSxcbiAgICAgICAgICB0aGlzLmN1cnJlbnRBbmNob3JDb29yZHMsXG4gICAgICAgICAgdGhpcy5jdXJyZW50Q29udGVudENvb3Jkc1xuICAgICAgICApO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgMzoge1xuICAgICAgICAvLyBUT1AoMykrQk9UVE9NKDApIHx8IGxlZnQoMSkrUklHSFQoMikgaXMgY2FzZSAzLiBUaGVyZSBpcyBub3RoaW5nIHdlIGNhbiBkbyBwb3NpdGlvbiB3aXNlIHRvIGltcHJvdmUgdGhlXG4gICAgICAgIC8vIHBsYWNlbWVudCBmb3IgdGhpcyBjb250ZW50LlxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgMjoge1xuICAgICAgICAvLyBCT1RUT00oMCkrUklHSFQoMikgaXMgY2FzZSAyLiBXZSBuZWVkIHRvIGZsaXAgc2lkZXMgYW5kIG51ZGdlIHRoZSBjb250ZW50IHRvIHRoZSBsZWZ0XG4gICAgICAgIGNvbnN0IGZsaXBBbmROdWRnZUxlZnQgPSBmbGlwU2lkZXNBbmROdWRnZUNvbnRlbnQoZmxpcFNpZGVzLCBudWRnZUNvbnRlbnQsIHRydWUpO1xuICAgICAgICB0aGlzLmNvbnRlbnRPZmZzZXRzID0gYWxpZ24oXG4gICAgICAgICAgZmxpcEFuZE51ZGdlTGVmdCh0aGlzLnBvc2l0aW9uKSxcbiAgICAgICAgICB0aGlzLmN1cnJlbnRBbmNob3JDb29yZHMsXG4gICAgICAgICAgdGhpcy5jdXJyZW50Q29udGVudENvb3Jkc1xuICAgICAgICApO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgMToge1xuICAgICAgICAvLyBCT1RUT00oMCkrTEVGVCgxKSBpcyBjYXNlIDEuIFdlIG5lZWQgdG8gZmxpcCBzaWRlcyBhbmQgbnVkZ2UgdG8gdGhlIHJpZ2h0XG4gICAgICAgIGNvbnN0IGZsaXBBbmROdWRnZVJpZ2h0ID0gZmxpcFNpZGVzQW5kTnVkZ2VDb250ZW50KGZsaXBTaWRlcywgbnVkZ2VDb250ZW50LCBmYWxzZSk7XG4gICAgICAgIHRoaXMuY29udGVudE9mZnNldHMgPSBhbGlnbihcbiAgICAgICAgICBmbGlwQW5kTnVkZ2VSaWdodCh0aGlzLnBvc2l0aW9uKSxcbiAgICAgICAgICB0aGlzLmN1cnJlbnRBbmNob3JDb29yZHMsXG4gICAgICAgICAgdGhpcy5jdXJyZW50Q29udGVudENvb3Jkc1xuICAgICAgICApO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVIb3Jpem9udGFsQXhpc09uZVZpb2xhdGlvbihlcnJvclN1bTogbnVtYmVyKTogdm9pZCB7XG4gICAgc3dpdGNoIChlcnJvclN1bSkge1xuICAgICAgY2FzZSAxOlxuICAgICAgY2FzZSAyOiB7XG4gICAgICAgIC8vIExFRlQoMSkgYW5kIFJJR0hUKDIpIGFyZSBwcmltYXJ5IHZpb2xhdGlvbnMgc28gd2UgY2FuIGZsaXAgc2lkZXNcbiAgICAgICAgdGhpcy5jb250ZW50T2Zmc2V0cyA9IGFsaWduKGZsaXBTaWRlcyh0aGlzLnBvc2l0aW9uKSwgdGhpcy5jdXJyZW50QW5jaG9yQ29vcmRzLCB0aGlzLmN1cnJlbnRDb250ZW50Q29vcmRzKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIDA6IHtcbiAgICAgICAgLy8gQk9UVE9NKDApIGlzIGEgc2Vjb25kYXJ5IHZpb2xhdGlvbiBhbmQgd2UgbmVlZCB0byBudWRnZSBjb250ZW50IHVwXG4gICAgICAgIHRoaXMuY29udGVudE9mZnNldHMgPSBhbGlnbihcbiAgICAgICAgICBudWRnZUNvbnRlbnQodGhpcy5wb3NpdGlvbiwgdHJ1ZSksXG4gICAgICAgICAgdGhpcy5jdXJyZW50QW5jaG9yQ29vcmRzLFxuICAgICAgICAgIHRoaXMuY3VycmVudENvbnRlbnRDb29yZHNcbiAgICAgICAgKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIDM6IHtcbiAgICAgICAgLy8gVE9QKDMpIGlzIGEgc2Vjb25kYXJ5IHZpb2xhdGlvbiBhbmQgd2UgbmVlZCB0byBudWRnZSBjb250ZW50IGRvd25cbiAgICAgICAgdGhpcy5jb250ZW50T2Zmc2V0cyA9IGFsaWduKG51ZGdlQ29udGVudCh0aGlzLnBvc2l0aW9uKSwgdGhpcy5jdXJyZW50QW5jaG9yQ29vcmRzLCB0aGlzLmN1cnJlbnRDb250ZW50Q29vcmRzKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlSG9yaXpvbnRhbEF4aXNUd29WaW9sYXRpb25zKGVycm9yU3VtOiBudW1iZXIpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKGVycm9yU3VtKSB7XG4gICAgICBjYXNlIDU6XG4gICAgICBjYXNlIDQ6IHtcbiAgICAgICAgLy8gVE9QKDMpK0xFRlQoMSkgaXMgY2FzZSA0LlxuICAgICAgICAvLyBUT1AoMykrUklHSFQoMikgaXMgY2FzZSA1LlxuICAgICAgICAvLyBJbiBib3RoIG9mIHRoZXNlIGNhc2VzIHdlIG5lZWQgdG8gZmxpcCBzaWRlcyBhbmQgbnVkZ2UgY29udGVudCBkb3duXG4gICAgICAgIGNvbnN0IGZsaXBBbmROdWRnZURvd24gPSBmbGlwU2lkZXNBbmROdWRnZUNvbnRlbnQoZmxpcFNpZGVzLCBudWRnZUNvbnRlbnQsIGZhbHNlKTtcbiAgICAgICAgdGhpcy5jb250ZW50T2Zmc2V0cyA9IGFsaWduKFxuICAgICAgICAgIGZsaXBBbmROdWRnZURvd24odGhpcy5wb3NpdGlvbiksXG4gICAgICAgICAgdGhpcy5jdXJyZW50QW5jaG9yQ29vcmRzLFxuICAgICAgICAgIHRoaXMuY3VycmVudENvbnRlbnRDb29yZHNcbiAgICAgICAgKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIDM6IHtcbiAgICAgICAgLy8gVE9QKDMpK0JPVFRPTSgwKSB8fCBsZWZ0KDEpK1JJR0hUKDIpIGlzIGNhc2UgMy4gVGhlcmUgaXMgbm90aGluZyB3ZSBjYW4gZG8gcG9zaXRpb24gd2lzZSB0byBpbXByb3ZlIHRoZVxuICAgICAgICAvLyBwbGFjZW1lbnQgZm9yIHRoaXMgY29udGVudC5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIDI6XG4gICAgICBjYXNlIDE6IHtcbiAgICAgICAgLy8gQk9UVE9NKDApK1JJR0hUKDIpIGlzIGNhc2UgMi5cbiAgICAgICAgLy8gQk9UVE9NKDApK0xFRlQoMSkgaXMgY2FzZSAxLlxuICAgICAgICAvLyBJbiBib3RoIGNhc2VzIHdlICBuZWVkIHRvIGZsaXAgc2lkZXMgYW5kIG51ZGdlIGNvbnRlbnQgdXBcbiAgICAgICAgY29uc3QgZmxpcEFuZE51ZGdlVXAgPSBmbGlwU2lkZXNBbmROdWRnZUNvbnRlbnQoZmxpcFNpZGVzLCBudWRnZUNvbnRlbnQsIHRydWUpO1xuICAgICAgICB0aGlzLmNvbnRlbnRPZmZzZXRzID0gYWxpZ24oZmxpcEFuZE51ZGdlVXAodGhpcy5wb3NpdGlvbiksIHRoaXMuY3VycmVudEFuY2hvckNvb3JkcywgdGhpcy5jdXJyZW50Q29udGVudENvb3Jkcyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDoge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
package/fesm2015/clr-angular.mjs
CHANGED
|
@@ -3,7 +3,7 @@ import { Directive, NgModule, Optional, Input, Injectable, Component, ChangeDete
|
|
|
3
3
|
import * as i5 from '@angular/common';
|
|
4
4
|
import { CommonModule, isPlatformBrowser, DOCUMENT, NgForOf, getLocaleDayNames, FormStyle, TranslationWidth, getLocaleMonthNames, getLocaleFirstDayOfWeek, getLocaleDateFormat, FormatWidth } from '@angular/common';
|
|
5
5
|
import { ClarityIcons, angleIcon, exclamationCircleIcon, checkCircleIcon, ellipsisHorizontalIcon, windowCloseIcon, eventIcon, calendarIcon, eyeHideIcon, eyeIcon, ellipsisVerticalIcon, viewColumnsIcon, arrowIcon, timesIcon, stepForward2Icon, angleDoubleIcon, filterGridCircleIcon, filterGridIcon, infoCircleIcon, exclamationTriangleIcon, circleIcon, dotCircleIcon, errorStandardIcon, successStandardIcon } from '@cds/core/icon';
|
|
6
|
-
import { map, tap, startWith, distinctUntilChanged,
|
|
6
|
+
import { map, tap, startWith, distinctUntilChanged, filter, skipUntil, debounceTime, takeUntil, take, first, switchMap } from 'rxjs/operators';
|
|
7
7
|
import * as i3 from 'rxjs';
|
|
8
8
|
import { Subject, BehaviorSubject, Observable, fromEvent, isObservable, of, ReplaySubject, combineLatest, merge } from 'rxjs';
|
|
9
9
|
import { trigger, transition, style, animate, state, keyframes } from '@angular/animations';
|
|
@@ -363,8 +363,8 @@ const commonStringsDefault = {
|
|
|
363
363
|
* Password Input
|
|
364
364
|
* Screen-reader text for the hide/show password field button
|
|
365
365
|
*/
|
|
366
|
-
passwordHide: 'Hide password',
|
|
367
|
-
passwordShow: 'Show password',
|
|
366
|
+
passwordHide: 'Hide password for {LABEL}',
|
|
367
|
+
passwordShow: 'Show password for {LABEL}',
|
|
368
368
|
/**
|
|
369
369
|
* Datagrid footer; sr-only text after the number of selected rows.
|
|
370
370
|
*/
|
|
@@ -945,6 +945,12 @@ class StepperModel extends AccordionModel {
|
|
|
945
945
|
}
|
|
946
946
|
});
|
|
947
947
|
}
|
|
948
|
+
setPanelValid(panelId) {
|
|
949
|
+
this._panels[panelId].status = AccordionStatus.Complete;
|
|
950
|
+
}
|
|
951
|
+
setPanelInvalid(panelId) {
|
|
952
|
+
this._panels[panelId].status = AccordionStatus.Error;
|
|
953
|
+
}
|
|
948
954
|
setPanelsWithErrors(ids) {
|
|
949
955
|
ids.forEach(id => this.setPanelError(id));
|
|
950
956
|
}
|
|
@@ -1025,6 +1031,14 @@ class StepperService extends AccordionService {
|
|
|
1025
1031
|
this.accordion.resetPanels();
|
|
1026
1032
|
this.emitUpdatedPanels();
|
|
1027
1033
|
}
|
|
1034
|
+
setPanelValid(panelId) {
|
|
1035
|
+
this.accordion.setPanelValid(panelId);
|
|
1036
|
+
this.emitUpdatedPanels();
|
|
1037
|
+
}
|
|
1038
|
+
setPanelInvalid(panelId) {
|
|
1039
|
+
this.accordion.setPanelInvalid(panelId);
|
|
1040
|
+
this.emitUpdatedPanels();
|
|
1041
|
+
}
|
|
1028
1042
|
setPanelsWithErrors(ids) {
|
|
1029
1043
|
this.accordion.setPanelsWithErrors(ids);
|
|
1030
1044
|
this.emitUpdatedPanels();
|
|
@@ -1087,11 +1101,16 @@ class ClrStepperPanel extends ClrAccordionPanel {
|
|
|
1087
1101
|
this.panel = this.panel.pipe(tap(panel => this.triggerAllFormControlValidationIfError(panel)));
|
|
1088
1102
|
this.stepperService.disablePanel(this.id, true);
|
|
1089
1103
|
this.listenToFocusChanges();
|
|
1104
|
+
// not all stepper panels are guaranteed to have a form (i.e. empty template-driven)
|
|
1090
1105
|
if (this.formGroup) {
|
|
1091
|
-
//
|
|
1092
|
-
this.
|
|
1093
|
-
|
|
1094
|
-
|
|
1106
|
+
// set panel status on form status change only after the form becomes invalid
|
|
1107
|
+
const invalidStatusTrigger = this.formGroup.statusChanges.pipe(filter(status => status === 'INVALID'));
|
|
1108
|
+
this.subscriptions.push(this.formGroup.statusChanges.pipe(skipUntil(invalidStatusTrigger), distinctUntilChanged()).subscribe(status => {
|
|
1109
|
+
if (status === 'VALID') {
|
|
1110
|
+
this.stepperService.setPanelValid(this.id);
|
|
1111
|
+
}
|
|
1112
|
+
else if (status === 'INVALID') {
|
|
1113
|
+
this.stepperService.setPanelInvalid(this.id);
|
|
1095
1114
|
}
|
|
1096
1115
|
}));
|
|
1097
1116
|
}
|
|
@@ -1936,12 +1955,12 @@ class ClrPopoverPositionService {
|
|
|
1936
1955
|
*
|
|
1937
1956
|
* Note, more than 3 viewport violations and there isn't anything we can do to help. Also when there are two
|
|
1938
1957
|
* violations, we can't help if the violations are TOP+BOTTOM || LEFT+RIGHT => There is no transformation we
|
|
1939
|
-
* can make to the
|
|
1958
|
+
* can make to the position that will help.
|
|
1940
1959
|
*
|
|
1941
1960
|
* Some examples:
|
|
1942
1961
|
* There is only one error and Primary axis is VERTICAL
|
|
1943
1962
|
* - this.handleVerticalAxisOneViolation has a switch that will use the error sum to apply the correct
|
|
1944
|
-
* transform to the
|
|
1963
|
+
* transform to the position based on the reduction of visibilityViolations.
|
|
1945
1964
|
*
|
|
1946
1965
|
* There are two errors and Primary axis is HORIZONTAL
|
|
1947
1966
|
* - handleHorizontalAxisTwoViolations has a switch that uses the error sum to apply both transforms needed to
|
|
@@ -1973,6 +1992,14 @@ class ClrPopoverPositionService {
|
|
|
1973
1992
|
if (this.currentContentCoords.top < 0) {
|
|
1974
1993
|
this.contentOffsets.yOffset += Math.abs(this.currentContentCoords.top);
|
|
1975
1994
|
}
|
|
1995
|
+
/**
|
|
1996
|
+
* This detects the condition where the popover is flipped because it would violate the bottom of the viewport, but flipping it results in the
|
|
1997
|
+
* popover rendering above the top of the body (y coordinate outside the body). In that event, it should be rendered within the body
|
|
1998
|
+
* as much as possible, so this logic sets the top of popover to render touching the top of the body.
|
|
1999
|
+
*/
|
|
2000
|
+
if (this.contentOffsets.yOffset + this.currentAnchorCoords.y < 0) {
|
|
2001
|
+
this.contentOffsets.yOffset = 0 - this.currentContentCoords.top;
|
|
2002
|
+
}
|
|
1976
2003
|
return this.contentOffsets;
|
|
1977
2004
|
}
|
|
1978
2005
|
handleVerticalAxisOneViolation(errorSum) {
|
|
@@ -3905,7 +3932,7 @@ class ClrLoadingButton {
|
|
|
3905
3932
|
}
|
|
3906
3933
|
ClrLoadingButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrLoadingButton, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
3907
3934
|
ClrLoadingButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrLoadingButton, selector: "button[clrLoading]", inputs: { disabled: "disabled" }, outputs: { clrLoadingChange: "clrLoadingChange" }, host: { properties: { "attr.disabled": "disabled? '' : null" } }, providers: [{ provide: LoadingListener, useExisting: ClrLoadingButton }], ngImport: i0, template: `
|
|
3908
|
-
<
|
|
3935
|
+
<span @parent [ngSwitch]="state">
|
|
3909
3936
|
<span *ngSwitchCase="buttonState.LOADING">
|
|
3910
3937
|
<span @spinner class="spinner spinner-inline"></span>
|
|
3911
3938
|
</span>
|
|
@@ -3919,7 +3946,7 @@ ClrLoadingButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versi
|
|
|
3919
3946
|
<span *ngSwitchCase="buttonState.DEFAULT" @defaultButton>
|
|
3920
3947
|
<ng-content></ng-content>
|
|
3921
3948
|
</span>
|
|
3922
|
-
</
|
|
3949
|
+
</span>
|
|
3923
3950
|
`, isInline: true, dependencies: [{ kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], animations: [
|
|
3924
3951
|
trigger('parent', [
|
|
3925
3952
|
// Skip :enter animation on first render.
|
|
@@ -3953,7 +3980,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
3953
3980
|
args: [{
|
|
3954
3981
|
selector: 'button[clrLoading]',
|
|
3955
3982
|
template: `
|
|
3956
|
-
<
|
|
3983
|
+
<span @parent [ngSwitch]="state">
|
|
3957
3984
|
<span *ngSwitchCase="buttonState.LOADING">
|
|
3958
3985
|
<span @spinner class="spinner spinner-inline"></span>
|
|
3959
3986
|
</span>
|
|
@@ -3967,7 +3994,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
3967
3994
|
<span *ngSwitchCase="buttonState.DEFAULT" @defaultButton>
|
|
3968
3995
|
<ng-content></ng-content>
|
|
3969
3996
|
</span>
|
|
3970
|
-
</
|
|
3997
|
+
</span>
|
|
3971
3998
|
`,
|
|
3972
3999
|
providers: [{ provide: LoadingListener, useExisting: ClrLoadingButton }],
|
|
3973
4000
|
animations: [
|
|
@@ -7179,25 +7206,24 @@ class ClrOptionItems {
|
|
|
7179
7206
|
if (!this._rawItems || this.filter === undefined || this.filter === null) {
|
|
7180
7207
|
return;
|
|
7181
7208
|
}
|
|
7209
|
+
const normalizedFilterValue = normalizeValue(this.filter);
|
|
7182
7210
|
if (this.optionService.showAllOptions) {
|
|
7183
7211
|
this.filteredItems = this._rawItems;
|
|
7184
7212
|
}
|
|
7185
7213
|
else if (this._filterField) {
|
|
7186
7214
|
this.filteredItems = this._rawItems.filter(item => {
|
|
7187
7215
|
const objValue = item[this._filterField];
|
|
7188
|
-
return objValue ? objValue
|
|
7216
|
+
return objValue ? normalizeValue(objValue).includes(normalizedFilterValue) : false;
|
|
7189
7217
|
});
|
|
7190
7218
|
}
|
|
7191
7219
|
else {
|
|
7192
7220
|
// Filter by all item object values
|
|
7193
7221
|
this.filteredItems = this._rawItems.filter(item => {
|
|
7194
7222
|
if (typeof item !== 'object') {
|
|
7195
|
-
return item
|
|
7223
|
+
return normalizeValue(item).includes(normalizedFilterValue);
|
|
7196
7224
|
}
|
|
7197
7225
|
const objValues = Object.values(item).filter(value => {
|
|
7198
|
-
return value !== null && value !== undefined
|
|
7199
|
-
? value.toString().toLowerCase().indexOf(this.filter.toString().toLowerCase()) > -1
|
|
7200
|
-
: false;
|
|
7226
|
+
return value !== null && value !== undefined ? normalizeValue(value).includes(normalizedFilterValue) : false;
|
|
7201
7227
|
});
|
|
7202
7228
|
return objValues.length > 0;
|
|
7203
7229
|
});
|
|
@@ -7222,6 +7248,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
7222
7248
|
type: Input,
|
|
7223
7249
|
args: ['clrOptionItemsField']
|
|
7224
7250
|
}] } });
|
|
7251
|
+
function normalizeValue(value) {
|
|
7252
|
+
return value
|
|
7253
|
+
.toString()
|
|
7254
|
+
.normalize('NFD')
|
|
7255
|
+
.replace(/\p{Diacritic}/gu, '')
|
|
7256
|
+
.toLowerCase();
|
|
7257
|
+
}
|
|
7225
7258
|
|
|
7226
7259
|
/*
|
|
7227
7260
|
* Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
|
|
@@ -8438,7 +8471,7 @@ class DateIOService {
|
|
|
8438
8471
|
return '';
|
|
8439
8472
|
}
|
|
8440
8473
|
getDateValueFromDateString(date) {
|
|
8441
|
-
if (!date) {
|
|
8474
|
+
if (!date || typeof date !== 'string') {
|
|
8442
8475
|
return null;
|
|
8443
8476
|
}
|
|
8444
8477
|
const dateParts = date.match(USER_INPUT_REGEX);
|
|
@@ -10034,6 +10067,12 @@ class ClrPasswordContainer extends ClrAbstractContainer {
|
|
|
10034
10067
|
this.show = !this.show;
|
|
10035
10068
|
this.toggleService.next(this.show);
|
|
10036
10069
|
}
|
|
10070
|
+
showPasswordText(label) {
|
|
10071
|
+
return this.commonStrings.parse(this.commonStrings.keys.passwordShow, { LABEL: label });
|
|
10072
|
+
}
|
|
10073
|
+
hidePasswordText(label) {
|
|
10074
|
+
return this.commonStrings.parse(this.commonStrings.keys.passwordHide, { LABEL: label });
|
|
10075
|
+
}
|
|
10037
10076
|
}
|
|
10038
10077
|
ClrPasswordContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrPasswordContainer, deps: [{ token: IfControlStateService }, { token: LayoutService, optional: true }, { token: ControlClassService }, { token: NgControlService }, { token: FocusService }, { token: TOGGLE_SERVICE }, { token: ClrCommonStringsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
10039
10078
|
ClrPasswordContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrPasswordContainer, selector: "clr-password-container", inputs: { clrToggle: "clrToggle" }, host: { properties: { "class.clr-form-control": "true", "class.clr-form-control-disabled": "control?.disabled", "class.clr-row": "addGrid()" } }, providers: [
|
|
@@ -10059,7 +10098,7 @@ ClrPasswordContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
|
|
|
10059
10098
|
>
|
|
10060
10099
|
<cds-icon status="info" class="clr-password-eye-icon" [attr.shape]="show ? 'eye-hide' : 'eye'"></cds-icon>
|
|
10061
10100
|
<span class="clr-sr-only">
|
|
10062
|
-
{{ show ?
|
|
10101
|
+
{{ show ? hidePasswordText(label?.labelText) : showPasswordText(label?.labelText) }}
|
|
10063
10102
|
</span>
|
|
10064
10103
|
</button>
|
|
10065
10104
|
</div>
|
|
@@ -10103,7 +10142,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
10103
10142
|
>
|
|
10104
10143
|
<cds-icon status="info" class="clr-password-eye-icon" [attr.shape]="show ? 'eye-hide' : 'eye'"></cds-icon>
|
|
10105
10144
|
<span class="clr-sr-only">
|
|
10106
|
-
{{ show ?
|
|
10145
|
+
{{ show ? hidePasswordText(label?.labelText) : showPasswordText(label?.labelText) }}
|
|
10107
10146
|
</span>
|
|
10108
10147
|
</button>
|
|
10109
10148
|
</div>
|
|
@@ -13638,6 +13677,7 @@ class ClrSignpostTrigger {
|
|
|
13638
13677
|
this.signpostIdService = signpostIdService;
|
|
13639
13678
|
this.signpostFocusManager = signpostFocusManager;
|
|
13640
13679
|
this.platformId = platformId;
|
|
13680
|
+
this.ariaExpanded = false;
|
|
13641
13681
|
this.subscriptions = [];
|
|
13642
13682
|
this.document = document;
|
|
13643
13683
|
}
|
|
@@ -22594,7 +22634,7 @@ ClrSignpostContent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ver
|
|
|
22594
22634
|
<cds-icon shape="window-close" [attr.title]="commonStrings.keys.close"></cds-icon>
|
|
22595
22635
|
</button>
|
|
22596
22636
|
</div>
|
|
22597
|
-
<div class="signpost-content-body">
|
|
22637
|
+
<div class="signpost-content-body" tabindex="0">
|
|
22598
22638
|
<ng-content></ng-content>
|
|
22599
22639
|
</div>
|
|
22600
22640
|
</div>
|
|
@@ -22617,7 +22657,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
22617
22657
|
<cds-icon shape="window-close" [attr.title]="commonStrings.keys.close"></cds-icon>
|
|
22618
22658
|
</button>
|
|
22619
22659
|
</div>
|
|
22620
|
-
<div class="signpost-content-body">
|
|
22660
|
+
<div class="signpost-content-body" tabindex="0">
|
|
22621
22661
|
<ng-content></ng-content>
|
|
22622
22662
|
</div>
|
|
22623
22663
|
</div>
|