@danske/sapphire-angular 3.8.1 → 3.8.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/esm2020/lib/button/src/button-group.component.mjs +2 -2
- package/esm2020/lib/button/src/button.component.mjs +2 -2
- package/esm2020/lib/button/src/toggle-button.component.mjs +2 -2
- package/esm2020/lib/menu/src/menu-trigger.directive.mjs +16 -11
- package/esm2020/lib/modal/src/dialog/dialog-trigger.directive.mjs +4 -7
- package/esm2020/lib/modal/src/modal-trigger.directive.mjs +20 -4
- package/esm2020/lib/modal/src/panel/panel-trigger.directive.mjs +4 -7
- package/esm2020/lib/select/src/select/select.component.mjs +5 -4
- package/esm2020/lib/select/src/select-button/select-button.component.mjs +2 -2
- package/esm2020/lib/text-field/src/text-field.component.mjs +2 -2
- package/esm2020/lib/theme/src/theme-base.directive.mjs +1 -2
- package/esm2020/lib/theme/src/themes.mjs +4 -4
- package/fesm2015/danske-sapphire-angular.mjs +53 -35
- package/fesm2015/danske-sapphire-angular.mjs.map +1 -1
- package/fesm2020/danske-sapphire-angular.mjs +53 -36
- package/fesm2020/danske-sapphire-angular.mjs.map +1 -1
- package/lib/menu/src/menu-trigger.directive.d.ts +1 -0
- package/lib/modal/src/modal-trigger.directive.d.ts +5 -2
- package/package.json +3 -3
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { Directive, inject } from '@angular/core';
|
|
1
|
+
import { Directive, HostListener, inject, } from '@angular/core';
|
|
2
2
|
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
3
3
|
import { ModalService } from './modal.service';
|
|
4
4
|
import { ThemeBaseDirective } from '../../theme/public_api';
|
|
5
|
+
import { CdkMenuItem } from '@angular/cdk/menu';
|
|
6
|
+
import { delay } from 'rxjs/internal/operators';
|
|
5
7
|
import * as i0 from "@angular/core";
|
|
6
8
|
/**
|
|
7
9
|
* Makes a clickable element a trigger for a modal
|
|
@@ -11,6 +13,7 @@ export class ModalTriggerDirective {
|
|
|
11
13
|
this.templateRef = null;
|
|
12
14
|
this._dismissable = false;
|
|
13
15
|
this._keyboardDismissDisabled = false;
|
|
16
|
+
this.menuItem = inject(CdkMenuItem, { optional: true });
|
|
14
17
|
this.modalService = inject(ModalService);
|
|
15
18
|
this.theme = inject(ThemeBaseDirective);
|
|
16
19
|
}
|
|
@@ -29,9 +32,19 @@ export class ModalTriggerDirective {
|
|
|
29
32
|
close() {
|
|
30
33
|
this.dialogRef?.close();
|
|
31
34
|
}
|
|
35
|
+
ngOnInit() {
|
|
36
|
+
this.menuItem?.triggered.pipe(delay(10)).subscribe(() => {
|
|
37
|
+
this.open();
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
_onClick() {
|
|
41
|
+
if (!this.menuItem) {
|
|
42
|
+
this.open();
|
|
43
|
+
}
|
|
44
|
+
}
|
|
32
45
|
}
|
|
33
46
|
ModalTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ModalTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
34
|
-
ModalTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: ModalTriggerDirective, isStandalone: true, host: { properties: { "attr.aria-controls": "dialogRef?.id ?? null" } }, ngImport: i0 });
|
|
47
|
+
ModalTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: ModalTriggerDirective, isStandalone: true, host: { listeners: { "click": "_onClick()" }, properties: { "attr.aria-controls": "dialogRef?.id ?? null" } }, ngImport: i0 });
|
|
35
48
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ModalTriggerDirective, decorators: [{
|
|
36
49
|
type: Directive,
|
|
37
50
|
args: [{
|
|
@@ -40,5 +53,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
40
53
|
},
|
|
41
54
|
standalone: true,
|
|
42
55
|
}]
|
|
43
|
-
}]
|
|
44
|
-
|
|
56
|
+
}], propDecorators: { _onClick: [{
|
|
57
|
+
type: HostListener,
|
|
58
|
+
args: ['click']
|
|
59
|
+
}] } });
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtdHJpZ2dlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL21vZGFsL3NyYy9tb2RhbC10cmlnZ2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEdBR1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVFLE9BQU8sRUFBZ0IsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFFaEQ7O0dBRUc7QUFPSCxNQUFNLE9BQWdCLHFCQUFxQjtJQU4zQztRQU9ZLGdCQUFXLEdBQWdDLElBQUksQ0FBQztRQVNsRCxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQVE5Qiw2QkFBd0IsR0FBWSxLQUFLLENBQUM7UUFFakMsYUFBUSxHQUFHLE1BQU0sQ0FBQyxXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMxRCxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM5QixVQUFLLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7S0FtQnBEO0lBckNDLElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBSSxXQUFXLENBQUMsS0FBbUI7UUFDakMsSUFBSSxDQUFDLFlBQVksR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBR0QsSUFBSSx1QkFBdUI7UUFDekIsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUM7SUFDdkMsQ0FBQztJQUNELElBQUksdUJBQXVCLENBQUMsS0FBbUI7UUFDN0MsSUFBSSxDQUFDLHdCQUF3QixHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFRRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3RELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUdELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDYjtJQUNILENBQUM7O2tIQXhDbUIscUJBQXFCO3NHQUFyQixxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFOMUMsU0FBUzttQkFBQztvQkFDVCxJQUFJLEVBQUU7d0JBQ0osc0JBQXNCLEVBQUUsdUJBQXVCO3FCQUNoRDtvQkFDRCxVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBcUNDLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBIb3N0TGlzdGVuZXIsXG4gIGluamVjdCxcbiAgT25Jbml0LFxuICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvZGlhbG9nJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IE1vZGFsT3B0aW9ucywgTW9kYWxTZXJ2aWNlIH0gZnJvbSAnLi9tb2RhbC5zZXJ2aWNlJztcbmltcG9ydCB7IFRoZW1lQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL3RoZW1lL3B1YmxpY19hcGknO1xuaW1wb3J0IHsgQ2RrTWVudUl0ZW0gfSBmcm9tICdAYW5ndWxhci9jZGsvbWVudSc7XG5pbXBvcnQgeyBkZWxheSB9IGZyb20gJ3J4anMvaW50ZXJuYWwvb3BlcmF0b3JzJztcblxuLyoqXG4gKiBNYWtlcyBhIGNsaWNrYWJsZSBlbGVtZW50IGEgdHJpZ2dlciBmb3IgYSBtb2RhbFxuICovXG5ARGlyZWN0aXZlKHtcbiAgaG9zdDoge1xuICAgICdbYXR0ci5hcmlhLWNvbnRyb2xzXSc6ICdkaWFsb2dSZWY/LmlkID8/IG51bGwnLFxuICB9LFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBNb2RhbFRyaWdnZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBNb2RhbE9wdGlvbnMsIE9uSW5pdCB7XG4gIHByb3RlY3RlZCB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCBudWxsID0gbnVsbDtcbiAgcHJvdGVjdGVkIGRpYWxvZ1JlZj86IERpYWxvZ1JlZjtcblxuICBnZXQgZGlzbWlzc2FibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc21pc3NhYmxlO1xuICB9XG4gIHNldCBkaXNtaXNzYWJsZSh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgdGhpcy5fZGlzbWlzc2FibGUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG4gIHByaXZhdGUgX2Rpc21pc3NhYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgZ2V0IGtleWJvYXJkRGlzbWlzc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9rZXlib2FyZERpc21pc3NEaXNhYmxlZDtcbiAgfVxuICBzZXQga2V5Ym9hcmREaXNtaXNzRGlzYWJsZWQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgIHRoaXMuX2tleWJvYXJkRGlzbWlzc0Rpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuICBwcml2YXRlIF9rZXlib2FyZERpc21pc3NEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbWVudUl0ZW0gPSBpbmplY3QoQ2RrTWVudUl0ZW0sIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIHByb3RlY3RlZCBtb2RhbFNlcnZpY2UgPSBpbmplY3QoTW9kYWxTZXJ2aWNlKTtcbiAgcHVibGljIHJlYWRvbmx5IHRoZW1lID0gaW5qZWN0KFRoZW1lQmFzZURpcmVjdGl2ZSk7XG4gIGFic3RyYWN0IG9wZW4oKTogdm9pZDtcblxuICBjbG9zZSgpIHtcbiAgICB0aGlzLmRpYWxvZ1JlZj8uY2xvc2UoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubWVudUl0ZW0/LnRyaWdnZXJlZC5waXBlKGRlbGF5KDEwKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMub3BlbigpO1xuICAgIH0pO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICBfb25DbGljaygpIHtcbiAgICBpZiAoIXRoaXMubWVudUl0ZW0pIHtcbiAgICAgIHRoaXMub3BlbigpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Directive
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
2
|
import { ModalTriggerDirective } from '../modal-trigger.directive';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
/**
|
|
@@ -13,7 +13,7 @@ export class PanelTriggerDirective extends ModalTriggerDirective {
|
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
15
|
PanelTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: PanelTriggerDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
16
|
-
PanelTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: PanelTriggerDirective, selector: "[spPanelTriggerFor]", inputs: { dismissable: ["spPanelDismissable", "dismissable"], keyboardDismissDisabled: ["spPanelDisableKeyboardDismissable", "keyboardDismissDisabled"], templateRef: ["spPanelTriggerFor", "templateRef"] },
|
|
16
|
+
PanelTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: PanelTriggerDirective, selector: "[spPanelTriggerFor]", inputs: { dismissable: ["spPanelDismissable", "dismissable"], keyboardDismissDisabled: ["spPanelDisableKeyboardDismissable", "keyboardDismissDisabled"], templateRef: ["spPanelTriggerFor", "templateRef"] }, exportAs: ["spPanelTrigger"], usesInheritance: true, ngImport: i0 });
|
|
17
17
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: PanelTriggerDirective, decorators: [{
|
|
18
18
|
type: Directive,
|
|
19
19
|
args: [{
|
|
@@ -26,8 +26,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
26
26
|
exportAs: 'spPanelTrigger',
|
|
27
27
|
standalone: false,
|
|
28
28
|
}]
|
|
29
|
-
}]
|
|
30
|
-
|
|
31
|
-
args: ['click']
|
|
32
|
-
}] } });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwtdHJpZ2dlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL21vZGFsL3NyYy9wYW5lbC9wYW5lbC10cmlnZ2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFFbkU7O0dBRUc7QUFXSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEscUJBQXFCO0lBRTlELElBQUk7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLGlEQUFpRCxDQUFDLENBQUM7U0FDcEU7UUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdkUsQ0FBQzs7a0hBUFUscUJBQXFCO3NHQUFyQixxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFWakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixNQUFNLEVBQUU7d0JBQ04saUNBQWlDO3dCQUNqQyw0REFBNEQ7d0JBQzVELGdDQUFnQztxQkFDakM7b0JBQ0QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCOzhCQUdDLElBQUk7c0JBREgsWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1vZGFsVHJpZ2dlckRpcmVjdGl2ZSB9IGZyb20gJy4uL21vZGFsLXRyaWdnZXIuZGlyZWN0aXZlJztcblxuLyoqXG4gKiBNYWtlcyBhIGNsaWNrYWJsZSBlbGVtZW50IGEgdHJpZ2dlciBmb3IgYSBwYW5lbC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NwUGFuZWxUcmlnZ2VyRm9yXScsXG4gIGlucHV0czogW1xuICAgICdkaXNtaXNzYWJsZTogc3BQYW5lbERpc21pc3NhYmxlJyxcbiAgICAna2V5Ym9hcmREaXNtaXNzRGlzYWJsZWQ6IHNwUGFuZWxEaXNhYmxlS2V5Ym9hcmREaXNtaXNzYWJsZScsXG4gICAgJ3RlbXBsYXRlUmVmOiBzcFBhbmVsVHJpZ2dlckZvcicsXG4gIF0sXG4gIGV4cG9ydEFzOiAnc3BQYW5lbFRyaWdnZXInLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgUGFuZWxUcmlnZ2VyRGlyZWN0aXZlIGV4dGVuZHMgTW9kYWxUcmlnZ2VyRGlyZWN0aXZlIHtcbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICBvcGVuKCkge1xuICAgIGlmICghdGhpcy50ZW1wbGF0ZVJlZikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUZW1wbGF0ZSByZWZlcmVuY2VkIGJ5IG1vZGFsIHRyaWdnZXIgbm90IGZvdW5kLicpO1xuICAgIH1cbiAgICB0aGlzLmRpYWxvZ1JlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW5QYW5lbCh0aGlzLnRlbXBsYXRlUmVmLCB0aGlzKTtcbiAgfVxufVxuIl19
|
|
29
|
+
}] });
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwtdHJpZ2dlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL21vZGFsL3NyYy9wYW5lbC9wYW5lbC10cmlnZ2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUVuRTs7R0FFRztBQVdILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxxQkFBcUI7SUFDOUQsSUFBSTtRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsaURBQWlELENBQUMsQ0FBQztTQUNwRTtRQUNELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2RSxDQUFDOztrSEFOVSxxQkFBcUI7c0dBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQVZqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLE1BQU0sRUFBRTt3QkFDTixpQ0FBaUM7d0JBQ2pDLDREQUE0RDt3QkFDNUQsZ0NBQWdDO3FCQUNqQztvQkFDRCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixVQUFVLEVBQUUsS0FBSztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1vZGFsVHJpZ2dlckRpcmVjdGl2ZSB9IGZyb20gJy4uL21vZGFsLXRyaWdnZXIuZGlyZWN0aXZlJztcblxuLyoqXG4gKiBNYWtlcyBhIGNsaWNrYWJsZSBlbGVtZW50IGEgdHJpZ2dlciBmb3IgYSBwYW5lbC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NwUGFuZWxUcmlnZ2VyRm9yXScsXG4gIGlucHV0czogW1xuICAgICdkaXNtaXNzYWJsZTogc3BQYW5lbERpc21pc3NhYmxlJyxcbiAgICAna2V5Ym9hcmREaXNtaXNzRGlzYWJsZWQ6IHNwUGFuZWxEaXNhYmxlS2V5Ym9hcmREaXNtaXNzYWJsZScsXG4gICAgJ3RlbXBsYXRlUmVmOiBzcFBhbmVsVHJpZ2dlckZvcicsXG4gIF0sXG4gIGV4cG9ydEFzOiAnc3BQYW5lbFRyaWdnZXInLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgUGFuZWxUcmlnZ2VyRGlyZWN0aXZlIGV4dGVuZHMgTW9kYWxUcmlnZ2VyRGlyZWN0aXZlIHtcbiAgb3BlbigpIHtcbiAgICBpZiAoIXRoaXMudGVtcGxhdGVSZWYpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGVtcGxhdGUgcmVmZXJlbmNlZCBieSBtb2RhbCB0cmlnZ2VyIG5vdCBmb3VuZC4nKTtcbiAgICB9XG4gICAgdGhpcy5kaWFsb2dSZWYgPSB0aGlzLm1vZGFsU2VydmljZS5vcGVuUGFuZWwodGhpcy50ZW1wbGF0ZVJlZiwgdGhpcyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -297,7 +297,7 @@ export class SelectComponent extends SelectComponentBase {
|
|
|
297
297
|
}
|
|
298
298
|
}
|
|
299
299
|
SelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SelectComponent, deps: [{ token: i1.SelectValueHolder }, { token: i2.IconRegistry }, { token: i3.FocusMonitor }, { token: i3.InputModalityDetector }, { token: i4.FieldComponent, optional: true }, { token: i5.SearchableSelectDirective, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
300
|
-
SelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: SelectComponent, selector: "sp-select", host: { properties: { "class.sapphire-select--error": "_field?.hasError(this)", "class.sapphire-select--md": "_field?.size === \"md\"", "class.is-focus": "isFocusVisible()", "class.is-disabled": "isDisabled()", "attr.id": "null", "attr.aria-label": "null", "attr.aria-labelledby": "null", "attr.placeholder": "null" }, classAttribute: "sapphire-select" }, providers: [
|
|
300
|
+
SelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: SelectComponent, selector: "sp-select", host: { properties: { "class.sapphire-select--error": "_field?.hasError(this)", "class.sapphire-select--md": "_field?.size === \"md\"", "class.is-focus": "isFocusVisible()", "class.is-disabled": "isDisabled()", "class.sapphire-select--open": "isOpen()", "attr.id": "null", "attr.aria-label": "null", "attr.aria-labelledby": "null", "attr.placeholder": "null" }, classAttribute: "sapphire-select" }, providers: [
|
|
301
301
|
{
|
|
302
302
|
provide: NG_VALUE_ACCESSOR,
|
|
303
303
|
useExisting: forwardRef(() => SelectComponent),
|
|
@@ -311,7 +311,7 @@ SelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versio
|
|
|
311
311
|
provide: FieldControl,
|
|
312
312
|
useExisting: forwardRef(() => SelectComponent),
|
|
313
313
|
},
|
|
314
|
-
], viewQueries: [{ propertyName: "triggerRef", first: true, predicate: ["triggerRef"], descendants: true }, { propertyName: "triggerElementRef", first: true, predicate: ["triggerElementRef"], descendants: true, read: ElementRef }, { propertyName: "listbox", first: true, predicate: ListboxComponent, descendants: true }, { propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true, read: ElementRef }], exportAs: ["spSelect"], usesInheritance: true, hostDirectives: [{ directive: i6.UseComponentStylesOnHost }], ngImport: i0, template: "<sp-hidden-select></sp-hidden-select>\n<div\n role=\"button\"\n aria-haspopup=\"listbox\"\n class=\"sapphire-select__button\"\n [spPopoverTriggerFor]=\"popover\"\n [spPopoverTriggerDisabled]=\"disabled\"\n spPopoverTriggerOpenOnPressStart\n spPopoverTriggerCloseOnScroll\n spPopoverPlacement=\"bottom start\"\n #triggerElementRef\n #triggerRef=\"spPopoverTrigger\"\n (keydown)=\"handleKeyDown($event)\"\n (spPopoverTriggerClosed)=\"_onClose()\"\n (spPopoverTriggerOpened)=\"_onOpen()\"\n (focus)=\"_onFocus()\"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)=\"_onFocusChange($event)\"\n [spPopoverNonModal]=\"searchable\"\n spPopoverDisablePushInsideViewport=\"true\"\n [id]=\"id\"\n [tabindex]=\"-1\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"_getAriaLabelledBy()\"\n [attr.aria-describedby]=\"_field?.error?.id || _field?.note?.id\"\n [attr.aria-invalid]=\"_field?.hasError(this) ? true : null\"\n>\n <div class=\"sapphire-select__value\" [id]=\"_valueContainerId\">\n <input\n [attr.aria-expanded]=\"isOpen()\"\n *ngIf=\"searchable\"\n #searchInput\n tabindex=\"-1\"\n role=\"combobox\"\n class=\"sapphire-select__search-input\"\n [spListboxInput]=\"listbox\"\n [spVisuallyHidden]=\"!_isInputVisible()\"\n [attr.data-hidden]=\"!_isInputVisible()\"\n [placeholder]=\"placeholder || ''\"\n (keydown)=\"_onInputKeydown($event)\"\n (beforeinput)=\"open()\"\n [value]=\"_searchableSelectDirective?.searchValue\"\n (input)=\"_onSearchInput($event)\"\n />\n <ng-container *ngIf=\"!searchable || !_isInputVisible()\">\n <div\n *ngIf=\"selectedOptions.length === 0\"\n class=\"sapphire-select__placeholder\"\n >\n {{ placeholder }}\n </div>\n <ng-container *ngIf=\"selectedOptions.length > 0\">\n <ng-container *ngIf=\"!selectionText\">{{\n getSelectionText()\n }}</ng-container>\n <ng-content select=\"sp-selection-text\"></ng-content>\n </ng-container>\n </ng-container>\n </div>\n <div class=\"sapphire-select__icon-container\">\n <sp-icon name=\"chevronDown\"></sp-icon>\n </div>\n</div>\n<ng-template #popover>\n <sp-popover\n [style.display]=\"\n (filteredChildren$ | async)?.length === 0 && !listbox?._getEmptyState()\n ? 'none'\n : undefined\n \"\n noPadding\n [trapFocus]=\"!searchable\"\n noMaxWidth\n [style.min-width]=\"triggerElementRef.offsetWidth + 'px'\"\n >\n <sp-listbox\n [spListboxItems]=\"(filteredChildren$ | async) || undefined\"\n navigationWrapDisabled\n [multiple]=\"multiple\"\n [(selectedValues)]=\"listboxValue\"\n (selectedValuesChange)=\"_searchableSelectDirective?.setSearchValue('')\"\n (selected)=\"_handleSelected()\"\n [emptyState]=\"emptyState\"\n ></sp-listbox>\n </sp-popover>\n</ng-template>\n", styles: [".sapphire-select{position:relative;display:block;color:var(--sapphire-semantic-color-foreground-primary);font-family:var(--sapphire-semantic-font-name-default);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-select__button{display:flex;align-items:center;height:var(--sapphire-semantic-size-height-control-lg);box-sizing:border-box;cursor:pointer;padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-md) 0 var(--sapphire-semantic-size-spacing-control-horizontal-lg);border:none;background:var(--sapphire-semantic-color-background-field);width:100%;outline:0;text-align:left;color:inherit;font-family:inherit;box-shadow:inset 0 0 0 var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-default);border-radius:var(--sapphire-semantic-size-radius-md);gap:var(--sapphire-semantic-size-spacing-sm)}.sapphire-select--md .sapphire-select__button{border-radius:var(--sapphire-semantic-size-radius-sm);height:var(--sapphire-semantic-size-height-control-md);padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-md);gap:var(--sapphire-semantic-size-spacing-xs)}.sapphire-select__value{flex:1 0 0;min-width:0;font-size:var(--sapphire-semantic-size-font-control-lg);width:100%;font-weight:var(--sapphire-semantic-font-weight-default-regular);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sapphire-select--md .sapphire-select__value{font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-select__placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sapphire-semantic-color-foreground-secondary);pointer-events:none}.sapphire-select__icon-container{line-height:0;width:var(--sapphire-semantic-size-icon-md);height:var(--sapphire-semantic-size-icon-md)}.sapphire-select--md .sapphire-select__icon-container{width:var(--sapphire-semantic-size-icon-sm);height:var(--sapphire-semantic-size-icon-sm)}.sapphire-select__prefix{display:inherit;font-size:var(--sapphire-semantic-size-font-control-lg);color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-select:not(.sapphire-select--md) .sapphire-select__button:has(.sapphire-select__prefix){padding-left:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-select--md .sapphire-select__prefix{font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-select__search-input:not([data-hidden=true]){all:inherit}.sapphire-select__search-input::placeholder{color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-select__native-select{position:absolute;inset:0;opacity:.01;width:100%;z-index:1}.sapphire-select--error:not(.is-disabled) .sapphire-select__button{box-shadow:inset 0 0 0 1px var(--sapphire-semantic-color-border-negative-default)}.sapphire-select:not(.sapphire-select--error):not(.is-focus):not(.is-disabled).is-hover .sapphire-select__button,.sapphire-select:not(.sapphire-select--error):not(.is-focus):not(.is-disabled):not(.js-hover):hover .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-hover)}.sapphire-select:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-focus-ring) var(--sapphire-semantic-color-focus-ring)}.sapphire-select--error:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-focus-ring) var(--sapphire-semantic-color-border-negative-default)}.sapphire-select.is-disabled .sapphire-select__button{cursor:not-allowed;opacity:var(--sapphire-semantic-opacity-disabled)}\n"], dependencies: [{ kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.IconComponent, selector: "sp-icon", inputs: ["name", "size", "color"] }, { kind: "component", type: i9.ListboxComponent, selector: "sp-listbox", inputs: ["selectedValues", "spListboxItems", "disabled", "multiple", "navigationWrapDisabled", "aria-label", "aria-labelledby", "id", "emptyState"], outputs: ["selectedValuesChange", "selected"], exportAs: ["spListbox"] }, { kind: "directive", type: i10.ListboxInputDirective, selector: "input[spListboxInput]", inputs: ["spListboxInput"] }, { kind: "component", type: i11.PopoverComponent, selector: "sp-popover", inputs: ["noPadding", "noMaxWidth", "noAutoFocus", "trapFocus"] }, { kind: "directive", type: i12.PopoverTriggerDirective, selector: "[spPopoverTriggerFor]", inputs: ["spPopoverPlacement", "spPopoverTriggerFor", "spPopoverNonModal", "spPopoverTriggerOpenOnPressStart", "spPopoverTriggerCloseOnScroll", "spPopoverTriggerDisabled", "spPopoverDisablePushInsideViewport"], outputs: ["spPopoverTriggerOpened", "spPopoverTriggerClosed"], exportAs: ["spPopoverTrigger"] }, { kind: "directive", type: i3.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "directive", type: i13.VisuallyHiddenDirective, selector: "[spVisuallyHidden]", inputs: ["spVisuallyHidden"] }, { kind: "component", type: i14.HiddenSelectComponent, selector: "sp-hidden-select" }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }] });
|
|
314
|
+
], viewQueries: [{ propertyName: "triggerRef", first: true, predicate: ["triggerRef"], descendants: true }, { propertyName: "triggerElementRef", first: true, predicate: ["triggerElementRef"], descendants: true, read: ElementRef }, { propertyName: "listbox", first: true, predicate: ListboxComponent, descendants: true }, { propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true, read: ElementRef }], exportAs: ["spSelect"], usesInheritance: true, hostDirectives: [{ directive: i6.UseComponentStylesOnHost }], ngImport: i0, template: "<sp-hidden-select></sp-hidden-select>\n<div\n role=\"button\"\n aria-haspopup=\"listbox\"\n class=\"sapphire-select__button\"\n [spPopoverTriggerFor]=\"popover\"\n [spPopoverTriggerDisabled]=\"disabled\"\n spPopoverTriggerOpenOnPressStart\n spPopoverTriggerCloseOnScroll\n spPopoverPlacement=\"bottom start\"\n #triggerElementRef\n #triggerRef=\"spPopoverTrigger\"\n (keydown)=\"handleKeyDown($event)\"\n (spPopoverTriggerClosed)=\"_onClose()\"\n (spPopoverTriggerOpened)=\"_onOpen()\"\n (focus)=\"_onFocus()\"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)=\"_onFocusChange($event)\"\n [spPopoverNonModal]=\"searchable\"\n spPopoverDisablePushInsideViewport=\"true\"\n [id]=\"id\"\n [tabindex]=\"-1\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"_getAriaLabelledBy()\"\n [attr.aria-describedby]=\"_field?.error?.id || _field?.note?.id\"\n [attr.aria-invalid]=\"_field?.hasError(this) ? true : null\"\n>\n <div class=\"sapphire-select__value\" [id]=\"_valueContainerId\">\n <input\n [attr.aria-expanded]=\"isOpen()\"\n *ngIf=\"searchable\"\n #searchInput\n tabindex=\"-1\"\n role=\"combobox\"\n class=\"sapphire-select__search-input\"\n [spListboxInput]=\"listbox\"\n [spVisuallyHidden]=\"!_isInputVisible()\"\n [attr.data-hidden]=\"!_isInputVisible()\"\n [placeholder]=\"placeholder || ''\"\n (keydown)=\"_onInputKeydown($event)\"\n (beforeinput)=\"open()\"\n [value]=\"_searchableSelectDirective?.searchValue\"\n (input)=\"_onSearchInput($event)\"\n />\n <ng-container *ngIf=\"!searchable || !_isInputVisible()\">\n <div\n *ngIf=\"selectedOptions.length === 0\"\n class=\"sapphire-select__placeholder\"\n >\n {{ placeholder }}\n </div>\n <ng-container *ngIf=\"selectedOptions.length > 0\">\n <ng-container *ngIf=\"!selectionText\">{{\n getSelectionText()\n }}</ng-container>\n <ng-content select=\"sp-selection-text\"></ng-content>\n </ng-container>\n </ng-container>\n </div>\n <div class=\"sapphire-select__icon-container\">\n <sp-icon name=\"chevronDown\"></sp-icon>\n </div>\n</div>\n<ng-template #popover>\n <sp-popover\n [style.display]=\"\n (filteredChildren$ | async)?.length === 0 && !listbox?._getEmptyState()\n ? 'none'\n : undefined\n \"\n noPadding\n [trapFocus]=\"!searchable\"\n noMaxWidth\n [style.min-width]=\"triggerElementRef.offsetWidth + 'px'\"\n >\n <sp-listbox\n [spListboxItems]=\"(filteredChildren$ | async) || undefined\"\n navigationWrapDisabled\n [multiple]=\"multiple\"\n [(selectedValues)]=\"listboxValue\"\n (selectedValuesChange)=\"_searchableSelectDirective?.setSearchValue('')\"\n (selected)=\"_handleSelected()\"\n [emptyState]=\"emptyState\"\n ></sp-listbox>\n </sp-popover>\n</ng-template>\n", styles: [".sapphire-select{position:relative;display:block;color:var(--sapphire-semantic-color-foreground-primary);font-family:var(--sapphire-semantic-font-name-default);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-select__button{display:flex;align-items:center;height:var(--sapphire-semantic-size-height-control-lg);box-sizing:border-box;cursor:pointer;padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-md) 0 var(--sapphire-semantic-size-spacing-control-horizontal-lg);border:none;background:var(--sapphire-semantic-color-background-field);width:100%;outline:0;text-align:left;color:inherit;font-family:inherit;box-shadow:inset 0 0 0 var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-default);border-radius:var(--sapphire-semantic-size-radius-md);gap:var(--sapphire-semantic-size-spacing-sm)}.sapphire-select--md .sapphire-select__button{border-radius:var(--sapphire-semantic-size-radius-sm);height:var(--sapphire-semantic-size-height-control-md);padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-md);gap:var(--sapphire-semantic-size-spacing-xs)}.sapphire-select__value{flex:1 0 0;min-width:0;font-size:var(--sapphire-semantic-size-font-control-lg);width:100%;font-weight:var(--sapphire-semantic-font-weight-default-regular);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sapphire-select--md .sapphire-select__value{font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-select__placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sapphire-semantic-color-foreground-secondary);pointer-events:none}.sapphire-select__icon-container{line-height:0;width:var(--sapphire-semantic-size-icon-md);height:var(--sapphire-semantic-size-icon-md);color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-select--md .sapphire-select__icon-container{width:var(--sapphire-semantic-size-icon-sm);height:var(--sapphire-semantic-size-icon-sm)}.sapphire-select__prefix{display:inherit;font-size:var(--sapphire-semantic-size-font-control-lg);color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-select:not(.sapphire-select--md) .sapphire-select__button:has(.sapphire-select__prefix){padding-left:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-select--md .sapphire-select__prefix{font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-select__search-input:not([data-hidden=true]){all:inherit}.sapphire-select__search-input::placeholder{color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-select__native-select{position:absolute;inset:0;opacity:.01;width:100%;z-index:1}.sapphire-select--error:not(.is-disabled) .sapphire-select__button{box-shadow:inset 0 0 0 1px var(--sapphire-semantic-color-border-negative-default)}.sapphire-select:not(.sapphire-select--error):not(.is-focus):not(.is-disabled).is-hover .sapphire-select__button,.sapphire-select:not(.sapphire-select--error):not(.is-focus):not(.is-disabled):not(.js-hover):hover .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-hover)}.sapphire-select:not(.is-disabled).is-hover .sapphire-select__icon-container,.sapphire-select:not(.is-disabled):not(.js-hover):hover .sapphire-select__icon-container{color:var(--sapphire-semantic-color-foreground-primary)}.sapphire-select:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-focus-ring) var(--sapphire-semantic-color-focus-ring)}.sapphire-select--error:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-focus-ring) var(--sapphire-semantic-color-border-negative-default)}.sapphire-select.is-disabled .sapphire-select__button{cursor:not-allowed;opacity:var(--sapphire-semantic-opacity-disabled)}.sapphire-select--open .sapphire-select__icon-container{color:var(--sapphire-semantic-color-foreground-primary)}\n"], dependencies: [{ kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.IconComponent, selector: "sp-icon", inputs: ["name", "size", "color"] }, { kind: "component", type: i9.ListboxComponent, selector: "sp-listbox", inputs: ["selectedValues", "spListboxItems", "disabled", "multiple", "navigationWrapDisabled", "aria-label", "aria-labelledby", "id", "emptyState"], outputs: ["selectedValuesChange", "selected"], exportAs: ["spListbox"] }, { kind: "directive", type: i10.ListboxInputDirective, selector: "input[spListboxInput]", inputs: ["spListboxInput"] }, { kind: "component", type: i11.PopoverComponent, selector: "sp-popover", inputs: ["noPadding", "noMaxWidth", "noAutoFocus", "trapFocus"] }, { kind: "directive", type: i12.PopoverTriggerDirective, selector: "[spPopoverTriggerFor]", inputs: ["spPopoverPlacement", "spPopoverTriggerFor", "spPopoverNonModal", "spPopoverTriggerOpenOnPressStart", "spPopoverTriggerCloseOnScroll", "spPopoverTriggerDisabled", "spPopoverDisablePushInsideViewport"], outputs: ["spPopoverTriggerOpened", "spPopoverTriggerClosed"], exportAs: ["spPopoverTrigger"] }, { kind: "directive", type: i3.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "directive", type: i13.VisuallyHiddenDirective, selector: "[spVisuallyHidden]", inputs: ["spVisuallyHidden"] }, { kind: "component", type: i14.HiddenSelectComponent, selector: "sp-hidden-select" }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }] });
|
|
315
315
|
__decorate([
|
|
316
316
|
AutoId()
|
|
317
317
|
], SelectComponent.prototype, "_valueContainerId", void 0);
|
|
@@ -337,11 +337,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
337
337
|
'[class.sapphire-select--md]': '_field?.size === "md"',
|
|
338
338
|
'[class.is-focus]': 'isFocusVisible()',
|
|
339
339
|
'[class.is-disabled]': 'isDisabled()',
|
|
340
|
+
'[class.sapphire-select--open]': 'isOpen()',
|
|
340
341
|
'[attr.id]': 'null',
|
|
341
342
|
'[attr.aria-label]': 'null',
|
|
342
343
|
'[attr.aria-labelledby]': 'null',
|
|
343
344
|
'[attr.placeholder]': 'null',
|
|
344
|
-
}, hostDirectives: [UseComponentStylesOnHost], standalone: false, template: "<sp-hidden-select></sp-hidden-select>\n<div\n role=\"button\"\n aria-haspopup=\"listbox\"\n class=\"sapphire-select__button\"\n [spPopoverTriggerFor]=\"popover\"\n [spPopoverTriggerDisabled]=\"disabled\"\n spPopoverTriggerOpenOnPressStart\n spPopoverTriggerCloseOnScroll\n spPopoverPlacement=\"bottom start\"\n #triggerElementRef\n #triggerRef=\"spPopoverTrigger\"\n (keydown)=\"handleKeyDown($event)\"\n (spPopoverTriggerClosed)=\"_onClose()\"\n (spPopoverTriggerOpened)=\"_onOpen()\"\n (focus)=\"_onFocus()\"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)=\"_onFocusChange($event)\"\n [spPopoverNonModal]=\"searchable\"\n spPopoverDisablePushInsideViewport=\"true\"\n [id]=\"id\"\n [tabindex]=\"-1\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"_getAriaLabelledBy()\"\n [attr.aria-describedby]=\"_field?.error?.id || _field?.note?.id\"\n [attr.aria-invalid]=\"_field?.hasError(this) ? true : null\"\n>\n <div class=\"sapphire-select__value\" [id]=\"_valueContainerId\">\n <input\n [attr.aria-expanded]=\"isOpen()\"\n *ngIf=\"searchable\"\n #searchInput\n tabindex=\"-1\"\n role=\"combobox\"\n class=\"sapphire-select__search-input\"\n [spListboxInput]=\"listbox\"\n [spVisuallyHidden]=\"!_isInputVisible()\"\n [attr.data-hidden]=\"!_isInputVisible()\"\n [placeholder]=\"placeholder || ''\"\n (keydown)=\"_onInputKeydown($event)\"\n (beforeinput)=\"open()\"\n [value]=\"_searchableSelectDirective?.searchValue\"\n (input)=\"_onSearchInput($event)\"\n />\n <ng-container *ngIf=\"!searchable || !_isInputVisible()\">\n <div\n *ngIf=\"selectedOptions.length === 0\"\n class=\"sapphire-select__placeholder\"\n >\n {{ placeholder }}\n </div>\n <ng-container *ngIf=\"selectedOptions.length > 0\">\n <ng-container *ngIf=\"!selectionText\">{{\n getSelectionText()\n }}</ng-container>\n <ng-content select=\"sp-selection-text\"></ng-content>\n </ng-container>\n </ng-container>\n </div>\n <div class=\"sapphire-select__icon-container\">\n <sp-icon name=\"chevronDown\"></sp-icon>\n </div>\n</div>\n<ng-template #popover>\n <sp-popover\n [style.display]=\"\n (filteredChildren$ | async)?.length === 0 && !listbox?._getEmptyState()\n ? 'none'\n : undefined\n \"\n noPadding\n [trapFocus]=\"!searchable\"\n noMaxWidth\n [style.min-width]=\"triggerElementRef.offsetWidth + 'px'\"\n >\n <sp-listbox\n [spListboxItems]=\"(filteredChildren$ | async) || undefined\"\n navigationWrapDisabled\n [multiple]=\"multiple\"\n [(selectedValues)]=\"listboxValue\"\n (selectedValuesChange)=\"_searchableSelectDirective?.setSearchValue('')\"\n (selected)=\"_handleSelected()\"\n [emptyState]=\"emptyState\"\n ></sp-listbox>\n </sp-popover>\n</ng-template>\n", styles: [".sapphire-select{position:relative;display:block;color:var(--sapphire-semantic-color-foreground-primary);font-family:var(--sapphire-semantic-font-name-default);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-select__button{display:flex;align-items:center;height:var(--sapphire-semantic-size-height-control-lg);box-sizing:border-box;cursor:pointer;padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-md) 0 var(--sapphire-semantic-size-spacing-control-horizontal-lg);border:none;background:var(--sapphire-semantic-color-background-field);width:100%;outline:0;text-align:left;color:inherit;font-family:inherit;box-shadow:inset 0 0 0 var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-default);border-radius:var(--sapphire-semantic-size-radius-md);gap:var(--sapphire-semantic-size-spacing-sm)}.sapphire-select--md .sapphire-select__button{border-radius:var(--sapphire-semantic-size-radius-sm);height:var(--sapphire-semantic-size-height-control-md);padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-md);gap:var(--sapphire-semantic-size-spacing-xs)}.sapphire-select__value{flex:1 0 0;min-width:0;font-size:var(--sapphire-semantic-size-font-control-lg);width:100%;font-weight:var(--sapphire-semantic-font-weight-default-regular);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sapphire-select--md .sapphire-select__value{font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-select__placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sapphire-semantic-color-foreground-secondary);pointer-events:none}.sapphire-select__icon-container{line-height:0;width:var(--sapphire-semantic-size-icon-md);height:var(--sapphire-semantic-size-icon-md)}.sapphire-select--md .sapphire-select__icon-container{width:var(--sapphire-semantic-size-icon-sm);height:var(--sapphire-semantic-size-icon-sm)}.sapphire-select__prefix{display:inherit;font-size:var(--sapphire-semantic-size-font-control-lg);color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-select:not(.sapphire-select--md) .sapphire-select__button:has(.sapphire-select__prefix){padding-left:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-select--md .sapphire-select__prefix{font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-select__search-input:not([data-hidden=true]){all:inherit}.sapphire-select__search-input::placeholder{color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-select__native-select{position:absolute;inset:0;opacity:.01;width:100%;z-index:1}.sapphire-select--error:not(.is-disabled) .sapphire-select__button{box-shadow:inset 0 0 0 1px var(--sapphire-semantic-color-border-negative-default)}.sapphire-select:not(.sapphire-select--error):not(.is-focus):not(.is-disabled).is-hover .sapphire-select__button,.sapphire-select:not(.sapphire-select--error):not(.is-focus):not(.is-disabled):not(.js-hover):hover .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-hover)}.sapphire-select:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-focus-ring) var(--sapphire-semantic-color-focus-ring)}.sapphire-select--error:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-focus-ring) var(--sapphire-semantic-color-border-negative-default)}.sapphire-select.is-disabled .sapphire-select__button{cursor:not-allowed;opacity:var(--sapphire-semantic-opacity-disabled)}\n"] }]
|
|
345
|
+
}, hostDirectives: [UseComponentStylesOnHost], standalone: false, template: "<sp-hidden-select></sp-hidden-select>\n<div\n role=\"button\"\n aria-haspopup=\"listbox\"\n class=\"sapphire-select__button\"\n [spPopoverTriggerFor]=\"popover\"\n [spPopoverTriggerDisabled]=\"disabled\"\n spPopoverTriggerOpenOnPressStart\n spPopoverTriggerCloseOnScroll\n spPopoverPlacement=\"bottom start\"\n #triggerElementRef\n #triggerRef=\"spPopoverTrigger\"\n (keydown)=\"handleKeyDown($event)\"\n (spPopoverTriggerClosed)=\"_onClose()\"\n (spPopoverTriggerOpened)=\"_onOpen()\"\n (focus)=\"_onFocus()\"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)=\"_onFocusChange($event)\"\n [spPopoverNonModal]=\"searchable\"\n spPopoverDisablePushInsideViewport=\"true\"\n [id]=\"id\"\n [tabindex]=\"-1\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"_getAriaLabelledBy()\"\n [attr.aria-describedby]=\"_field?.error?.id || _field?.note?.id\"\n [attr.aria-invalid]=\"_field?.hasError(this) ? true : null\"\n>\n <div class=\"sapphire-select__value\" [id]=\"_valueContainerId\">\n <input\n [attr.aria-expanded]=\"isOpen()\"\n *ngIf=\"searchable\"\n #searchInput\n tabindex=\"-1\"\n role=\"combobox\"\n class=\"sapphire-select__search-input\"\n [spListboxInput]=\"listbox\"\n [spVisuallyHidden]=\"!_isInputVisible()\"\n [attr.data-hidden]=\"!_isInputVisible()\"\n [placeholder]=\"placeholder || ''\"\n (keydown)=\"_onInputKeydown($event)\"\n (beforeinput)=\"open()\"\n [value]=\"_searchableSelectDirective?.searchValue\"\n (input)=\"_onSearchInput($event)\"\n />\n <ng-container *ngIf=\"!searchable || !_isInputVisible()\">\n <div\n *ngIf=\"selectedOptions.length === 0\"\n class=\"sapphire-select__placeholder\"\n >\n {{ placeholder }}\n </div>\n <ng-container *ngIf=\"selectedOptions.length > 0\">\n <ng-container *ngIf=\"!selectionText\">{{\n getSelectionText()\n }}</ng-container>\n <ng-content select=\"sp-selection-text\"></ng-content>\n </ng-container>\n </ng-container>\n </div>\n <div class=\"sapphire-select__icon-container\">\n <sp-icon name=\"chevronDown\"></sp-icon>\n </div>\n</div>\n<ng-template #popover>\n <sp-popover\n [style.display]=\"\n (filteredChildren$ | async)?.length === 0 && !listbox?._getEmptyState()\n ? 'none'\n : undefined\n \"\n noPadding\n [trapFocus]=\"!searchable\"\n noMaxWidth\n [style.min-width]=\"triggerElementRef.offsetWidth + 'px'\"\n >\n <sp-listbox\n [spListboxItems]=\"(filteredChildren$ | async) || undefined\"\n navigationWrapDisabled\n [multiple]=\"multiple\"\n [(selectedValues)]=\"listboxValue\"\n (selectedValuesChange)=\"_searchableSelectDirective?.setSearchValue('')\"\n (selected)=\"_handleSelected()\"\n [emptyState]=\"emptyState\"\n ></sp-listbox>\n </sp-popover>\n</ng-template>\n", styles: [".sapphire-select{position:relative;display:block;color:var(--sapphire-semantic-color-foreground-primary);font-family:var(--sapphire-semantic-font-name-default);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-select__button{display:flex;align-items:center;height:var(--sapphire-semantic-size-height-control-lg);box-sizing:border-box;cursor:pointer;padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-md) 0 var(--sapphire-semantic-size-spacing-control-horizontal-lg);border:none;background:var(--sapphire-semantic-color-background-field);width:100%;outline:0;text-align:left;color:inherit;font-family:inherit;box-shadow:inset 0 0 0 var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-default);border-radius:var(--sapphire-semantic-size-radius-md);gap:var(--sapphire-semantic-size-spacing-sm)}.sapphire-select--md .sapphire-select__button{border-radius:var(--sapphire-semantic-size-radius-sm);height:var(--sapphire-semantic-size-height-control-md);padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-md);gap:var(--sapphire-semantic-size-spacing-xs)}.sapphire-select__value{flex:1 0 0;min-width:0;font-size:var(--sapphire-semantic-size-font-control-lg);width:100%;font-weight:var(--sapphire-semantic-font-weight-default-regular);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sapphire-select--md .sapphire-select__value{font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-select__placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sapphire-semantic-color-foreground-secondary);pointer-events:none}.sapphire-select__icon-container{line-height:0;width:var(--sapphire-semantic-size-icon-md);height:var(--sapphire-semantic-size-icon-md);color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-select--md .sapphire-select__icon-container{width:var(--sapphire-semantic-size-icon-sm);height:var(--sapphire-semantic-size-icon-sm)}.sapphire-select__prefix{display:inherit;font-size:var(--sapphire-semantic-size-font-control-lg);color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-select:not(.sapphire-select--md) .sapphire-select__button:has(.sapphire-select__prefix){padding-left:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-select--md .sapphire-select__prefix{font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-select__search-input:not([data-hidden=true]){all:inherit}.sapphire-select__search-input::placeholder{color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-select__native-select{position:absolute;inset:0;opacity:.01;width:100%;z-index:1}.sapphire-select--error:not(.is-disabled) .sapphire-select__button{box-shadow:inset 0 0 0 1px var(--sapphire-semantic-color-border-negative-default)}.sapphire-select:not(.sapphire-select--error):not(.is-focus):not(.is-disabled).is-hover .sapphire-select__button,.sapphire-select:not(.sapphire-select--error):not(.is-focus):not(.is-disabled):not(.js-hover):hover .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-hover)}.sapphire-select:not(.is-disabled).is-hover .sapphire-select__icon-container,.sapphire-select:not(.is-disabled):not(.js-hover):hover .sapphire-select__icon-container{color:var(--sapphire-semantic-color-foreground-primary)}.sapphire-select:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-focus-ring) var(--sapphire-semantic-color-focus-ring)}.sapphire-select--error:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-focus-ring) var(--sapphire-semantic-color-border-negative-default)}.sapphire-select.is-disabled .sapphire-select__button{cursor:not-allowed;opacity:var(--sapphire-semantic-opacity-disabled)}.sapphire-select--open .sapphire-select__icon-container{color:var(--sapphire-semantic-color-foreground-primary)}\n"] }]
|
|
345
346
|
}], ctorParameters: function () { return [{ type: i1.SelectValueHolder }, { type: i2.IconRegistry }, { type: i3.FocusMonitor }, { type: i3.InputModalityDetector }, { type: i4.FieldComponent, decorators: [{
|
|
346
347
|
type: Optional
|
|
347
348
|
}] }, { type: i5.SearchableSelectDirective, decorators: [{
|
|
@@ -359,4 +360,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
359
360
|
type: ViewChild,
|
|
360
361
|
args: ['searchInput', { read: ElementRef }]
|
|
361
362
|
}], _valueContainerId: [] } });
|
|
362
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VsZWN0L3NyYy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VsZWN0L3NyYy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUVWLFFBQVEsRUFDUixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUV2RixPQUFPLEVBQWdCLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pFLE9BQU8sRUFBa0IsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUNMLHdCQUF3QixFQUN4QixpQkFBaUIsRUFDakIseUJBQXlCLEdBQzFCLE1BQU0sK0JBQStCLENBQUM7QUFHdkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFN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QkFDaEMsb0JBQW9CLEVBQUUsTUFBTTtxQkFDN0Isa0JBQ2UsQ0FBQyx3QkFBd0IsQ0FBQyxjQUM5QixLQUFLOzswQkFzQ2QsUUFBUTs7MEJBQ1IsUUFBUTs0Q0E3QkQsVUFBVTtzQkFEbkIsU0FBUzt1QkFBQyxZQUFZO2dCQUliLGlCQUFpQjtzQkFEMUIsU0FBUzt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBSTFDLE9BQU87c0JBRGhCLFNBQVM7dUJBQUMsZ0JBQWdCO2dCQUluQixXQUFXO3NCQURsQixTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBVzlDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBPbkRlc3Ryb3ksXG4gIE9wdGlvbmFsLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBGb2N1c01vbml0b3IsXG4gIEZvY3VzT3JpZ2luLFxuICBJbnB1dE1vZGFsaXR5RGV0ZWN0b3IsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBlbXB0eSwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBzdGFydFdpdGgsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQXV0b0lkIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2F1dG8taWQuZGVjb3JhdG9yJztcbmltcG9ydCB7IFVzZUNvbXBvbmVudFN0eWxlc09uSG9zdCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9zYXBwaGlyZS12aWV3LWVuY2Fwc3VsYXRpb24nO1xuaW1wb3J0IHsgUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9wb3BvdmVyL3NyYy9wb3BvdmVyLXRyaWdnZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IExpc3Rib3hDaGlsZCwgTGlzdGJveENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2xpc3Rib3gvcHVibGljX2FwaSc7XG5pbXBvcnQgeyBzZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbGlzdGJveC9zcmMvc2VjdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRmllbGRDb21wb25lbnQsIEZpZWxkQ29udHJvbCB9IGZyb20gJy4uLy4uLy4uL2ZpZWxkL3B1YmxpY19hcGknO1xuaW1wb3J0IHsgU2VsZWN0Q29tcG9uZW50QmFzZSB9IGZyb20gJy4uL2NvbW1vbi9zZWxlY3QtY29tcG9uZW50LWJhc2UnO1xuaW1wb3J0IHtcbiAgTXVsdGlTZWxlY3REaXJlY3RpdmVCYXNlLFxuICBTZWxlY3RWYWx1ZUhvbGRlcixcbiAgU2luZ2xlU2VsZWN0RGlyZWN0aXZlQmFzZSxcbn0gZnJvbSAnLi4vY29tbW9uL3NlbGVjdC12YWx1ZS1ob2xkZXInO1xuaW1wb3J0IHsgU2VhcmNoYWJsZVNlbGVjdERpcmVjdGl2ZSB9IGZyb20gJy4vc2VhcmNoYWJsZS1zZWxlY3QuZGlyZWN0aXZlJztcbmltcG9ydCB7IEljb25SZWdpc3RyeSB9IGZyb20gJy4uLy4uLy4uL2ljb24vcHVibGljX2FwaSc7XG5pbXBvcnQgeyBpY29uQ2hldnJvbkRvd24gfSBmcm9tICdAZGFuc2tlL3NhcHBoaXJlLWljb25zL2pzJztcblxuLyoqXG4gKiBFbmFibGVzIG11bHRpcGxlIHNlbGVjdGlvbi4gV2hlbiBwcmVzZW50LCBgdmFsdWVgIHdpbGwgYmUgb2YgdHlwZSBgc3RyaW5nW11gLCBhbmQgYHZhbHVlQ2hhbmdlYFxuICogd2lsbCBlbWl0IGBzdHJpbmdbXWAuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ3NwLXNlbGVjdFttdWx0aXBsZV0nLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBTZWxlY3RWYWx1ZUhvbGRlcixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE11bHRpU2VsZWN0RGlyZWN0aXZlKSxcbiAgICB9LFxuICBdLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgTXVsdGlTZWxlY3REaXJlY3RpdmUgZXh0ZW5kcyBNdWx0aVNlbGVjdERpcmVjdGl2ZUJhc2Uge31cblxuLyoqXG4gKiBFbmFibGVzIHNpbmdsZSBzZWxlY3Rpb24sIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIFNlbGVjdC5cbiAqIFdoZW4gcHJlc2VudCwgYHZhbHVlYCB3aWxsIGJlIG9mIHR5cGUgYHN0cmluZ2AsIGFuZCBgdmFsdWVDaGFuZ2VgIHdpbGwgZW1pdCBgc3RyaW5nYC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnc3Atc2VsZWN0Om5vdChbbXVsdGlwbGVdKScsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNlbGVjdFZhbHVlSG9sZGVyLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2luZ2xlU2VsZWN0RGlyZWN0aXZlKSxcbiAgICB9LFxuICBdLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgU2luZ2xlU2VsZWN0RGlyZWN0aXZlIGV4dGVuZHMgU2luZ2xlU2VsZWN0RGlyZWN0aXZlQmFzZSB7fVxuXG4vKipcbiAqIEFsbG93cyB1c2VyIHRvIHNlbGVjdCBhIHNpbmdsZSBvcHRpb24gZnJvbSBhIGxpc3QsIHNpbWlsYXIgdG8gbmF0aXZlIHNlbGVjdFxuICogY29tcG9uZW50LlxuICpcbiAqIEV4YW1wbGU6XG4gKiBgYGB0c3hcbiAqIDxzcC1maWVsZD5cbiAqICAgPHNwLWZpZWxkLWxhYmVsPkxhYmVsIHRleHQ8L3NwLWZpZWxkLWxhYmVsPlxuICogICA8c3Atc2VsZWN0IHBsYWNlaG9sZGVyPVwiU2VsZWN0IGFuIG9wdGlvblwiPlxuICogICAgIDxzcC1vcHRpb24gdmFsdWU9XCJvcHRpb24xXCI+Rmlyc3QgT3B0aW9uPC9zcC1vcHRpb24+XG4gKiAgICAgPHNwLW9wdGlvbiB2YWx1ZT1cIm9wdGlvbjJcIj5TZWNvbmQgT3B0aW9uPC9zcC1vcHRpb24+XG4gKiAgICAgPHNwLW9wdGlvbiB2YWx1ZT1cIm9wdGlvbjNcIj5UaGlyZCBPcHRpb248L3NwLW9wdGlvbj5cbiAqICAgPC9zcC1zZWxlY3Q+XG4gKiA8L3NwLWZpZWxkPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NwLXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcbiAgZXhwb3J0QXM6ICdzcFNlbGVjdCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2VsZWN0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogU2VsZWN0Q29tcG9uZW50QmFzZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNlbGVjdENvbXBvbmVudCksXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBGaWVsZENvbnRyb2wsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTZWxlY3RDb21wb25lbnQpLFxuICAgIH0sXG4gIF0sXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ3NhcHBoaXJlLXNlbGVjdCcsXG4gICAgJ1tjbGFzcy5zYXBwaGlyZS1zZWxlY3QtLWVycm9yXSc6ICdfZmllbGQ/Lmhhc0Vycm9yKHRoaXMpJyxcbiAgICAnW2NsYXNzLnNhcHBoaXJlLXNlbGVjdC0tbWRdJzogJ19maWVsZD8uc2l6ZSA9PT0gXCJtZFwiJyxcbiAgICAnW2NsYXNzLmlzLWZvY3VzXSc6ICdpc0ZvY3VzVmlzaWJsZSgpJyxcbiAgICAnW2NsYXNzLmlzLWRpc2FibGVkXSc6ICdpc0Rpc2FibGVkKCknLFxuICAgICdbYXR0ci5pZF0nOiAnbnVsbCcsXG4gICAgJ1thdHRyLmFyaWEtbGFiZWxdJzogJ251bGwnLFxuICAgICdbYXR0ci5hcmlhLWxhYmVsbGVkYnldJzogJ251bGwnLFxuICAgICdbYXR0ci5wbGFjZWhvbGRlcl0nOiAnbnVsbCcsXG4gIH0sXG4gIGhvc3REaXJlY3RpdmVzOiBbVXNlQ29tcG9uZW50U3R5bGVzT25Ib3N0XSxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdENvbXBvbmVudFxuICBleHRlbmRzIFNlbGVjdENvbXBvbmVudEJhc2VcbiAgaW1wbGVtZW50cyBGaWVsZENvbnRyb2wsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveVxue1xuICBwcml2YXRlIGZvY3VzT3JpZ2luOiBGb2N1c09yaWdpbiA9IG51bGw7XG4gIGZpbHRlcmVkQ2hpbGRyZW4kOiBPYnNlcnZhYmxlPExpc3Rib3hDaGlsZFtdPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgQFZpZXdDaGlsZCgndHJpZ2dlclJlZicpXG4gIHByb3RlY3RlZCB0cmlnZ2VyUmVmOiBQb3BvdmVyVHJpZ2dlckRpcmVjdGl2ZSB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKCd0cmlnZ2VyRWxlbWVudFJlZicsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBwcm90ZWN0ZWQgdHJpZ2dlckVsZW1lbnRSZWY6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZChMaXN0Ym94Q29tcG9uZW50KVxuICBwcm90ZWN0ZWQgbGlzdGJveDogTGlzdGJveENvbXBvbmVudCB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKCdzZWFyY2hJbnB1dCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBwcml2YXRlIHNlYXJjaElucHV0PzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICBnZXQgc2VhcmNoYWJsZSgpIHtcbiAgICByZXR1cm4gQm9vbGVhbih0aGlzLl9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBpZCBvZiB0cmlnZ2VyIHZhbHVlIGFyZWEsIHdoaWNoIHdpbGwgY29udGFpbiBlaXRoZXIgdGhlIHNlbGVjdGVkIHZhbHVlIG9yIHRoZSBwbGFjZWhvbGRlci5cbiAgICovXG4gIEBBdXRvSWQoKVxuICBfdmFsdWVDb250YWluZXJJZDogc3RyaW5nID0gJyc7XG5cbiAgcHJpdmF0ZSBkZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHZhbHVlSG9sZGVyOiBTZWxlY3RWYWx1ZUhvbGRlcixcbiAgICBpY29uUmVnaXN0cnk6IEljb25SZWdpc3RyeSxcbiAgICBwcml2YXRlIGZvY3VzTW9uaXRvcjogRm9jdXNNb25pdG9yLFxuICAgIHByaXZhdGUgaW5wdXRNb2RhbGl0eTogSW5wdXRNb2RhbGl0eURldGVjdG9yLFxuICAgIEBPcHRpb25hbCgpIHB1YmxpYyBfZmllbGQ/OiBGaWVsZENvbXBvbmVudCxcbiAgICBAT3B0aW9uYWwoKSBwdWJsaWMgX3NlYXJjaGFibGVTZWxlY3REaXJlY3RpdmU/OiBTZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlXG4gICkge1xuICAgIHN1cGVyKHZhbHVlSG9sZGVyKTtcbiAgICBpY29uUmVnaXN0cnkucmVnaXN0ZXJJY29uKGljb25DaGV2cm9uRG93bik7XG4gIH1cblxuICBvdmVycmlkZSBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG4gICAgY29uc3QgbGlzdGJveEl0ZW0kID0gdGhpcy5saXN0Ym94Q2hpbGRyZW4uY2hhbmdlcy5waXBlKFxuICAgICAgc3RhcnRXaXRoKHRoaXMubGlzdGJveENoaWxkcmVuKVxuICAgICk7XG4gICAgY29uc3Qgc2VhcmNoYWJsZVNlbGVjdCA9IHRoaXMuX3NlYXJjaGFibGVTZWxlY3REaXJlY3RpdmU7XG4gICAgaWYgKHRoaXMuc2VhcmNoSW5wdXQgJiYgc2VhcmNoYWJsZVNlbGVjdCkge1xuICAgICAgY29uc3Qgc2VhcmNoSW5wdXRWYWx1ZSQgPSBzZWFyY2hhYmxlU2VsZWN0LnNlYXJjaFZhbHVlQ2hhbmdlLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCksXG4gICAgICAgIHN0YXJ0V2l0aChzZWFyY2hhYmxlU2VsZWN0LnNlYXJjaFZhbHVlKVxuICAgICAgKTtcbiAgICAgIGNvbnN0IGZpbHRlclJlc3VsdCQgPSBjb21iaW5lTGF0ZXN0KHNlYXJjaElucHV0VmFsdWUkLCBsaXN0Ym94SXRlbSQpLnBpcGUoXG4gICAgICAgIG1hcCgoW3NlYXJjaFF1ZXJ5XSkgPT4ge1xuICAgICAgICAgIGlmICghc2VhcmNoUXVlcnkpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGZpbHRlcmVkQ2hpbGRyZW46IHRoaXMubGlzdGJveENoaWxkcmVuLnRvQXJyYXkoKSxcbiAgICAgICAgICAgICAgZmlsdGVyZWRPdXRPcHRpb25zOiBbXSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBzZWFyY2hhYmxlU2VsZWN0LmZpbHRlckxpc3Rib3hJdGVtcyhcbiAgICAgICAgICAgIHRoaXMubGlzdGJveENoaWxkcmVuLFxuICAgICAgICAgICAgKG9wdGlvbikgPT5cbiAgICAgICAgICAgICAgIXNlYXJjaGFibGVTZWxlY3QuZmlsdGVyIHx8XG4gICAgICAgICAgICAgIHNlYXJjaGFibGVTZWxlY3QuZmlsdGVyKG9wdGlvbiwgc2VhcmNoUXVlcnkpXG4gICAgICAgICAgKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgICB0aGlzLmZpbHRlcmVkQ2hpbGRyZW4kID0gdGhpcy5tdWx0aXBsZVxuICAgICAgICA/IC8vIEdyb3VwaW5nIHNlbGVjdGVkIG9wdGlvbnNcbiAgICAgICAgICBjb21iaW5lTGF0ZXN0KFxuICAgICAgICAgICAgZmlsdGVyUmVzdWx0JCxcbiAgICAgICAgICAgIHRoaXMudmFsdWVIb2xkZXIudmFsdWVDaGFuZ2UucGlwZShzdGFydFdpdGgoZW1wdHkoKSkpXG4gICAgICAgICAgKS5waXBlKFxuICAgICAgICAgICAgbWFwKChbeyBmaWx0ZXJlZENoaWxkcmVuIH1dKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0aGlzLmxpc3Rib3hWYWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmlsdGVyZWRDaGlsZHJlbjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICAgICAgZmlsdGVyZWRPdXRPcHRpb25zOiBzZWxlY3RlZE9wdGlvbnMsXG4gICAgICAgICAgICAgICAgZmlsdGVyZWRDaGlsZHJlbjogc2VsZWN0aW9uRXhjbHVkZWRDaGlsZHJlbixcbiAgICAgICAgICAgICAgfSA9IHNlYXJjaGFibGVTZWxlY3QuZmlsdGVyTGlzdGJveEl0ZW1zKFxuICAgICAgICAgICAgICAgIGZpbHRlcmVkQ2hpbGRyZW4sXG4gICAgICAgICAgICAgICAgKG9wdGlvbikgPT4gIXRoaXMubGlzdGJveFZhbHVlLmluY2x1ZGVzKG9wdGlvbi52YWx1ZSlcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICBzZWxlY3RlZE9wdGlvbnMubGVuZ3RoID4gMFxuICAgICAgICAgICAgICAgICAgPyBbc2VjdGlvbihzZWxlY3RlZE9wdGlvbnMpXVxuICAgICAgICAgICAgICAgICAgOiAoW10gYXMgTGlzdGJveENoaWxkW10pXG4gICAgICAgICAgICAgICkuY29uY2F0KHNlbGVjdGlvbkV4Y2x1ZGVkQ2hpbGRyZW4pO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICAgIDogZmlsdGVyUmVzdWx0JC5waXBlKG1hcCgoeyBmaWx0ZXJlZENoaWxkcmVuIH0pID0+IGZpbHRlcmVkQ2hpbGRyZW4pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maWx0ZXJlZENoaWxkcmVuJCA9IGxpc3Rib3hJdGVtJDtcbiAgICB9XG4gIH1cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB0aGlzLmRlc3Ryb3llZC5uZXh0KHVuZGVmaW5lZCk7XG4gICAgdGhpcy5kZXN0cm95ZWQuY29tcGxldGUoKTtcbiAgfVxuXG4gIF9nZXRBcmlhTGFiZWxsZWRCeSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIC8vIFRoZSBsb2dpYyBoZXJlIGlzIHNpbWlsYXIgdG8gdGhlIG9uZSBpbiByZWFjdC1hcmlhJ3MgdXNlU2VsZWN0LlxuICAgIGNvbnN0IGxhYmVsbGVkQnkgPSB0aGlzLmFyaWFMYWJlbGxlZGJ5IHx8IHRoaXMuX2ZpZWxkPy5sYWJlbD8uaWQ7XG4gICAgcmV0dXJuIFtcbiAgICAgIHRoaXMuX3ZhbHVlQ29udGFpbmVySWQsXG4gICAgICBsYWJlbGxlZEJ5LFxuICAgICAgdGhpcy5hcmlhTGFiZWwgJiYgIWxhYmVsbGVkQnkgPyB0aGlzLmlkIDogbnVsbCxcbiAgICBdXG4gICAgICAuZmlsdGVyKChpKSA9PiBpKVxuICAgICAgLmpvaW4oJyAnKTtcbiAgfVxuXG4gIGlzRm9jdXNlZCgpIHtcbiAgICByZXR1cm4gQm9vbGVhbih0aGlzLmZvY3VzT3JpZ2luKTtcbiAgfVxuXG4gIGlzRm9jdXNWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmlzRm9jdXNlZCgpICYmXG4gICAgICAvLyBUaGlzIGlzIG5lZWRlZCBiZWNhdXNlIGZvY3VzIGRvZXNuJ3QgY2hhbmdlIHdoZW4gYSBrZXkgKGUuZy4gRXNjYXBlKSBpcyBwcmVzc2VkIGluIHRoZSBzZWFyY2ggaW5wdXQuXG4gICAgICAodGhpcy5pbnB1dE1vZGFsaXR5Lm1vc3RSZWNlbnRNb2RhbGl0eSA9PT0gJ2tleWJvYXJkJyB8fFxuICAgICAgICAvLyBUaGlzIGlzIG5lZWRlZCBmb3Igd2hlbiBsYWJlbCBpcyBjbGlja2VkIGFuZCBmb2N1c09yaWdpbiBpcyBmb3JjZWQgdG8ga2V5Ym9hcmQsIGJ1dCBjdXJyZW50IG1vZGFsaXR5IGlzIG1vdXNlLlxuICAgICAgICB0aGlzLmZvY3VzT3JpZ2luID09PSAna2V5Ym9hcmQnKSAmJlxuICAgICAgIXRoaXMuaXNPcGVuKCkgLy8gVGhpcyBpcyBiZWNhdXNlIGluIHNlYXJjaGFibGUgc2VsZWN0LCB0aGUgYWN0dWFsIGZvY3VzIGlzIG9uIHRoZSBpbnB1dCxcbiAgICAgIC8vIGJ1dCBpdCdzIG1lYW50IHRvIGJlIHNob3duIG9uIHRoZSBsaXN0Ym94LiBJdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgdG8gc2hvdyB0aGUgZm9jdXMgaW4gdHdvXG4gICAgICAvLyBwbGFjZXMuXG4gICAgKTtcbiAgfVxuXG4gIGZvY3VzKGZvY3VzT3JpZ2luOiBGb2N1c09yaWdpbiA9ICdwcm9ncmFtJykge1xuICAgIHRoaXMuZm9jdXNNb25pdG9yLmZvY3VzVmlhKFxuICAgICAgdGhpcy5zZWFyY2hJbnB1dD8ubmF0aXZlRWxlbWVudCA/PyB0aGlzLnRyaWdnZXJFbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50LFxuICAgICAgZm9jdXNPcmlnaW5cbiAgICApO1xuICB9XG5cbiAgX29uRm9jdXNDaGFuZ2UoZm9jdXNPcmlnaW46IEZvY3VzT3JpZ2luKSB7XG4gICAgdGhpcy5mb2N1c09yaWdpbiA9IGZvY3VzT3JpZ2luO1xuICB9XG5cbiAgX29uRm9jdXMoKSB7XG4gICAgLy8gV2hlbmV2ZXIgZm9jdXMgY29tZXMgdG8gdGhlIHRyaWdnZXIgLCBmb3J3YXJkIGl0IHRvIHRoZSBzZWFyY2ggaW5wdXQuIEl0J3MgbmVlZGVkIGZvciB3aGVuXG4gICAgLy8gdGhlIHRyaWdnZXIgaXMgcmUtZm9jdXNlZCBhZnRlciBwb3BvdmVyIGlzIGNsb3NlZC5cbiAgICB0aGlzLmZvY3VzKHRoaXMuZm9jdXNPcmlnaW4pO1xuICB9XG5cbiAgX2lzSW5wdXRWaXNpYmxlKCkge1xuICAgIHJldHVybiB0aGlzLmlzT3BlbigpIC8qfHxcbiAgICAgICh0aGlzLnNlYXJjaElucHV0Py5uYXRpdmVFbGVtZW50ID09PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50ICYmXG4gICAgICAgIHRoaXMubGlzdGJveFZhbHVlLmxlbmd0aCA9PT0gMCkqLztcbiAgfVxuXG4gIF9vbk9wZW4oKSB7XG4gICAgc3VwZXIuX29uT3BlbigpO1xuICAgIGlmICghdGhpcy5tdWx0aXBsZSAmJiB0aGlzLl9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlKSB7XG4gICAgICB0aGlzLl9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlLnNldFNlYXJjaFZhbHVlKFxuICAgICAgICAodGhpcy5fc2VhcmNoYWJsZVNlbGVjdERpcmVjdGl2ZS5jbGVhclNlYXJjaE9uT3BlblxuICAgICAgICAgID8gJydcbiAgICAgICAgICA6IHRoaXMuc2VsZWN0ZWRPcHRpb25zWzBdPy5sYWJlbCkgPz8gJydcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IHNlYXJjaElucHV0RWxlbWVudCA9IHRoaXMuc2VhcmNoSW5wdXQ/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKHRoaXMuX3NlYXJjaGFibGVTZWxlY3REaXJlY3RpdmU/LnNlbGVjdFRleHRPbk9wZW4pIHtcbiAgICAgIHNlYXJjaElucHV0RWxlbWVudD8uc2VsZWN0KCk7XG4gICAgfVxuICAgIGNvbnN0IGZvY3VzVmlzaWJsZU9uT3BlbiA9IHRoaXMuaXNGb2N1c1Zpc2libGUoKTtcbiAgICAvLyBNb3ZlIGZvY3VzIHRvIHRoZSBzZWFyY2ggaW5wdXQuIFRoZSB0aW1lb3V0IGlzIG5lZWRlZCBiZWNhdXNlIHBvcG92ZXIgd2lsbCBhdXRvZm9jdXMgdGhlXG4gICAgLy8gY29udGVudCwgYW5kIHdlIG5lZWQgdG8gbGV0IHRoZSBmb2N1cyBmaXJzdCBsYW5kIGluIHRoZSBwb3BvdmVyLCBhbmQgdGhlbiBzdGVhbCBpdC5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHNlYXJjaElucHV0RWxlbWVudD8uZm9jdXMoKTtcblxuICAgICAgLy8gTmVlZCB0byBydW4gdGhpcyBhbHNvIGFzeW5jaHJvbm91c2x5LCB0byBsZXQgdGhlIHBvcG92ZXIgKGFuZCBsaXN0Ym94KSBtb3VudFxuICAgICAgaWYgKCFmb2N1c1Zpc2libGVPbk9wZW4gJiYgdGhpcy5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIC8vIHRvIHByZXZlbnQgdGhlIGZpcnN0IGl0ZW0gZnJvbSBiZWluZyBmb2N1c2VkIHdoZW4gdGhlIGRyb3Bkb3duIGlzIG9wZW5lZCB2aWEgbW91c2VcbiAgICAgICAgdGhpcy5saXN0Ym94Py5zZXRBY3RpdmVPcHRpb24obnVsbCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBfb25DbG9zZSgpIHtcbiAgICBzdXBlci5fb25DbG9zZSgpO1xuICAgIGlmICghdGhpcy5tdWx0aXBsZSAmJiB0aGlzLl9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlKSB7XG4gICAgICB0aGlzLl9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlLnNldFNlYXJjaFZhbHVlKFxuICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9uc1swXT8ubGFiZWwgfHwgJydcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IHNlYXJjaElucHV0RWxlbWVudCA9IHRoaXMuc2VhcmNoSW5wdXQ/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgc2VhcmNoSW5wdXRFbGVtZW50Py5zZXRTZWxlY3Rpb25SYW5nZShcbiAgICAgIHNlYXJjaElucHV0RWxlbWVudC52YWx1ZS5sZW5ndGgsXG4gICAgICBzZWFyY2hJbnB1dEVsZW1lbnQudmFsdWUubGVuZ3RoXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRGaWVsZExhYmVsPygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9maWVsZD8ubGFiZWw/LmdldFRleHQoKSA/PyAnJztcbiAgfVxuXG4gIF9vbklucHV0S2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGNvbnN0IHNlbGVjdFZhbHVlID0gKHRvQmVTZWxlY3RlZDogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBsaXN0Ym94VmFsdWUgPSB0aGlzLmxpc3Rib3hWYWx1ZTtcbiAgICAgIGNvbnN0IGFscmVhZHlTZWxlY3RlZCA9IGxpc3Rib3hWYWx1ZS5pbmNsdWRlcyh0b0JlU2VsZWN0ZWQpO1xuICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgdGhpcy5saXN0Ym94VmFsdWUgPSBhbHJlYWR5U2VsZWN0ZWRcbiAgICAgICAgICA/IGxpc3Rib3hWYWx1ZS5maWx0ZXIoKHZhbHVlKSA9PiB2YWx1ZSAhPT0gdG9CZVNlbGVjdGVkKVxuICAgICAgICAgIDogWy4uLmxpc3Rib3hWYWx1ZSwgdG9CZVNlbGVjdGVkXTtcbiAgICAgIH0gZWxzZSBpZiAoIWFscmVhZHlTZWxlY3RlZCkge1xuICAgICAgICB0aGlzLmxpc3Rib3hWYWx1ZSA9IFt0b0JlU2VsZWN0ZWRdO1xuICAgICAgfVxuICAgIH07XG4gICAgY29uc3QgZmlyc3RPcHRpb25WYWx1ZSA9IHRoaXMub3B0aW9ucz8uZ2V0KDApPy52YWx1ZTtcbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnQXJyb3dVcCc6XG4gICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgICBpZiAoIXRoaXMuaXNPcGVuKCkpIHtcbiAgICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRXNjYXBlJzpcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0VudGVyJzpcbiAgICAgICAgLy8gU2VsZWN0aW9uIGlzIGFscmVhZHkgaGFuZGxlZCBpZiB0aGVyZSBpcyBhbiBhY3RpdmUgb3B0aW9uXG4gICAgICAgIGlmICh0aGlzLmlzT3BlbigpKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy5saXN0Ym94Py5nZXRBY3RpdmVPcHRpb24oKSA9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgIGZpcnN0T3B0aW9uVmFsdWVcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHNlbGVjdFZhbHVlKGZpcnN0T3B0aW9uVmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoIXRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdUYWInOlxuICAgICAgICBpZiAodGhpcy5pc09wZW4oKSAmJiAhdGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgIGNvbnN0IHRvQmVTZWxlY3RlZCA9XG4gICAgICAgICAgICB0aGlzLmxpc3Rib3g/LmdldEFjdGl2ZU9wdGlvbigpIHx8IGZpcnN0T3B0aW9uVmFsdWU7XG4gICAgICAgICAgaWYgKHRvQmVTZWxlY3RlZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHNlbGVjdFZhbHVlKHRvQmVTZWxlY3RlZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIF9vblNlYXJjaElucHV0KGV2ZW50OiBFdmVudCkge1xuICAgIGlmIChldmVudC50YXJnZXQgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50KSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IGV2ZW50LnRhcmdldD8udmFsdWU7XG4gICAgICB0aGlzLl9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlPy5zZXRTZWFyY2hWYWx1ZSh2YWx1ZSk7XG4gICAgICAvLyBjbGVhcmluZyB0aGUgdmFsdWUgd2hlbiB0aGUgc2VhcmNoIGlucHV0IGlzIGNsZWFyZWQuXG4gICAgICBpZiAoIXRoaXMubXVsdGlwbGUgJiYgIXZhbHVlICYmIHRoaXMubGlzdGJveFZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5saXN0Ym94VmFsdWUgPSBbXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmxpc3Rib3g/LnNldEFjdGl2ZU9wdGlvbihudWxsKTtcbiAgfVxuXG4gIF9oYW5kbGVTZWxlY3RlZCgpIHtcbiAgICBzdXBlci5faGFuZGxlU2VsZWN0ZWQoKTtcbiAgfVxuXG4gIGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh0aGlzLmRpc2FibGVkKTtcbiAgfVxuXG4gIGhhc0RlZmF1bHRXaWR0aCA9IHRydWU7XG59XG4iLCI8c3AtaGlkZGVuLXNlbGVjdD48L3NwLWhpZGRlbi1zZWxlY3Q+XG48ZGl2XG4gIHJvbGU9XCJidXR0b25cIlxuICBhcmlhLWhhc3BvcHVwPVwibGlzdGJveFwiXG4gIGNsYXNzPVwic2FwcGhpcmUtc2VsZWN0X19idXR0b25cIlxuICBbc3BQb3BvdmVyVHJpZ2dlckZvcl09XCJwb3BvdmVyXCJcbiAgW3NwUG9wb3ZlclRyaWdnZXJEaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIHNwUG9wb3ZlclRyaWdnZXJPcGVuT25QcmVzc1N0YXJ0XG4gIHNwUG9wb3ZlclRyaWdnZXJDbG9zZU9uU2Nyb2xsXG4gIHNwUG9wb3ZlclBsYWNlbWVudD1cImJvdHRvbSBzdGFydFwiXG4gICN0cmlnZ2VyRWxlbWVudFJlZlxuICAjdHJpZ2dlclJlZj1cInNwUG9wb3ZlclRyaWdnZXJcIlxuICAoa2V5ZG93bik9XCJoYW5kbGVLZXlEb3duKCRldmVudClcIlxuICAoc3BQb3BvdmVyVHJpZ2dlckNsb3NlZCk9XCJfb25DbG9zZSgpXCJcbiAgKHNwUG9wb3ZlclRyaWdnZXJPcGVuZWQpPVwiX29uT3BlbigpXCJcbiAgKGZvY3VzKT1cIl9vbkZvY3VzKClcIlxuICBjZGtNb25pdG9yU3VidHJlZUZvY3VzXG4gIChjZGtGb2N1c0NoYW5nZSk9XCJfb25Gb2N1c0NoYW5nZSgkZXZlbnQpXCJcbiAgW3NwUG9wb3Zlck5vbk1vZGFsXT1cInNlYXJjaGFibGVcIlxuICBzcFBvcG92ZXJEaXNhYmxlUHVzaEluc2lkZVZpZXdwb3J0PVwidHJ1ZVwiXG4gIFtpZF09XCJpZFwiXG4gIFt0YWJpbmRleF09XCItMVwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIl9nZXRBcmlhTGFiZWxsZWRCeSgpXCJcbiAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJfZmllbGQ/LmVycm9yPy5pZCB8fCBfZmllbGQ/Lm5vdGU/LmlkXCJcbiAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cIl9maWVsZD8uaGFzRXJyb3IodGhpcykgPyB0cnVlIDogbnVsbFwiXG4+XG4gIDxkaXYgY2xhc3M9XCJzYXBwaGlyZS1zZWxlY3RfX3ZhbHVlXCIgW2lkXT1cIl92YWx1ZUNvbnRhaW5lcklkXCI+XG4gICAgPGlucHV0XG4gICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImlzT3BlbigpXCJcbiAgICAgICpuZ0lmPVwic2VhcmNoYWJsZVwiXG4gICAgICAjc2VhcmNoSW5wdXRcbiAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgcm9sZT1cImNvbWJvYm94XCJcbiAgICAgIGNsYXNzPVwic2FwcGhpcmUtc2VsZWN0X19zZWFyY2gtaW5wdXRcIlxuICAgICAgW3NwTGlzdGJveElucHV0XT1cImxpc3Rib3hcIlxuICAgICAgW3NwVmlzdWFsbHlIaWRkZW5dPVwiIV9pc0lucHV0VmlzaWJsZSgpXCJcbiAgICAgIFthdHRyLmRhdGEtaGlkZGVuXT1cIiFfaXNJbnB1dFZpc2libGUoKVwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgfHwgJydcIlxuICAgICAgKGtleWRvd24pPVwiX29uSW5wdXRLZXlkb3duKCRldmVudClcIlxuICAgICAgKGJlZm9yZWlucHV0KT1cIm9wZW4oKVwiXG4gICAgICBbdmFsdWVdPVwiX3NlYXJjaGFibGVTZWxlY3REaXJlY3RpdmU/LnNlYXJjaFZhbHVlXCJcbiAgICAgIChpbnB1dCk9XCJfb25TZWFyY2hJbnB1dCgkZXZlbnQpXCJcbiAgICAvPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc2VhcmNoYWJsZSB8fCAhX2lzSW5wdXRWaXNpYmxlKClcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJzZWxlY3RlZE9wdGlvbnMubGVuZ3RoID09PSAwXCJcbiAgICAgICAgY2xhc3M9XCJzYXBwaGlyZS1zZWxlY3RfX3BsYWNlaG9sZGVyXCJcbiAgICAgID5cbiAgICAgICAge3sgcGxhY2Vob2xkZXIgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkT3B0aW9ucy5sZW5ndGggPiAwXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc2VsZWN0aW9uVGV4dFwiPnt7XG4gICAgICAgICAgZ2V0U2VsZWN0aW9uVGV4dCgpXG4gICAgICAgIH19PC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNwLXNlbGVjdGlvbi10ZXh0XCI+PC9uZy1jb250ZW50PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwic2FwcGhpcmUtc2VsZWN0X19pY29uLWNvbnRhaW5lclwiPlxuICAgIDxzcC1pY29uIG5hbWU9XCJjaGV2cm9uRG93blwiPjwvc3AtaWNvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjcG9wb3Zlcj5cbiAgPHNwLXBvcG92ZXJcbiAgICBbc3R5bGUuZGlzcGxheV09XCJcbiAgICAgIChmaWx0ZXJlZENoaWxkcmVuJCB8IGFzeW5jKT8ubGVuZ3RoID09PSAwICYmICFsaXN0Ym94Py5fZ2V0RW1wdHlTdGF0ZSgpXG4gICAgICAgID8gJ25vbmUnXG4gICAgICAgIDogdW5kZWZpbmVkXG4gICAgXCJcbiAgICBub1BhZGRpbmdcbiAgICBbdHJhcEZvY3VzXT1cIiFzZWFyY2hhYmxlXCJcbiAgICBub01heFdpZHRoXG4gICAgW3N0eWxlLm1pbi13aWR0aF09XCJ0cmlnZ2VyRWxlbWVudFJlZi5vZmZzZXRXaWR0aCArICdweCdcIlxuICA+XG4gICAgPHNwLWxpc3Rib3hcbiAgICAgIFtzcExpc3Rib3hJdGVtc109XCIoZmlsdGVyZWRDaGlsZHJlbiQgfCBhc3luYykgfHwgdW5kZWZpbmVkXCJcbiAgICAgIG5hdmlnYXRpb25XcmFwRGlzYWJsZWRcbiAgICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgICBbKHNlbGVjdGVkVmFsdWVzKV09XCJsaXN0Ym94VmFsdWVcIlxuICAgICAgKHNlbGVjdGVkVmFsdWVzQ2hhbmdlKT1cIl9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlPy5zZXRTZWFyY2hWYWx1ZSgnJylcIlxuICAgICAgKHNlbGVjdGVkKT1cIl9oYW5kbGVTZWxlY3RlZCgpXCJcbiAgICAgIFtlbXB0eVN0YXRlXT1cImVtcHR5U3RhdGVcIlxuICAgID48L3NwLWxpc3Rib3g+XG4gIDwvc3AtcG9wb3Zlcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
363
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VsZWN0L3NyYy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VsZWN0L3NyYy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUVWLFFBQVEsRUFDUixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUV2RixPQUFPLEVBQWdCLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pFLE9BQU8sRUFBa0IsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUNMLHdCQUF3QixFQUN4QixpQkFBaUIsRUFDakIseUJBQXlCLEdBQzFCLE1BQU0sK0JBQStCLENBQUM7QUFHdkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFN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QkFDM0Isd0JBQXdCLEVBQUUsTUFBTTt3QkFDaEMsb0JBQW9CLEVBQUUsTUFBTTtxQkFDN0Isa0JBQ2UsQ0FBQyx3QkFBd0IsQ0FBQyxjQUM5QixLQUFLOzswQkFzQ2QsUUFBUTs7MEJBQ1IsUUFBUTs0Q0E3QkQsVUFBVTtzQkFEbkIsU0FBUzt1QkFBQyxZQUFZO2dCQUliLGlCQUFpQjtzQkFEMUIsU0FBUzt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBSTFDLE9BQU87c0JBRGhCLFNBQVM7dUJBQUMsZ0JBQWdCO2dCQUluQixXQUFXO3NCQURsQixTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBVzlDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBPbkRlc3Ryb3ksXG4gIE9wdGlvbmFsLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBGb2N1c01vbml0b3IsXG4gIEZvY3VzT3JpZ2luLFxuICBJbnB1dE1vZGFsaXR5RGV0ZWN0b3IsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBlbXB0eSwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBzdGFydFdpdGgsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQXV0b0lkIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2F1dG8taWQuZGVjb3JhdG9yJztcbmltcG9ydCB7IFVzZUNvbXBvbmVudFN0eWxlc09uSG9zdCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9zYXBwaGlyZS12aWV3LWVuY2Fwc3VsYXRpb24nO1xuaW1wb3J0IHsgUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9wb3BvdmVyL3NyYy9wb3BvdmVyLXRyaWdnZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IExpc3Rib3hDaGlsZCwgTGlzdGJveENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2xpc3Rib3gvcHVibGljX2FwaSc7XG5pbXBvcnQgeyBzZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbGlzdGJveC9zcmMvc2VjdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRmllbGRDb21wb25lbnQsIEZpZWxkQ29udHJvbCB9IGZyb20gJy4uLy4uLy4uL2ZpZWxkL3B1YmxpY19hcGknO1xuaW1wb3J0IHsgU2VsZWN0Q29tcG9uZW50QmFzZSB9IGZyb20gJy4uL2NvbW1vbi9zZWxlY3QtY29tcG9uZW50LWJhc2UnO1xuaW1wb3J0IHtcbiAgTXVsdGlTZWxlY3REaXJlY3RpdmVCYXNlLFxuICBTZWxlY3RWYWx1ZUhvbGRlcixcbiAgU2luZ2xlU2VsZWN0RGlyZWN0aXZlQmFzZSxcbn0gZnJvbSAnLi4vY29tbW9uL3NlbGVjdC12YWx1ZS1ob2xkZXInO1xuaW1wb3J0IHsgU2VhcmNoYWJsZVNlbGVjdERpcmVjdGl2ZSB9IGZyb20gJy4vc2VhcmNoYWJsZS1zZWxlY3QuZGlyZWN0aXZlJztcbmltcG9ydCB7IEljb25SZWdpc3RyeSB9IGZyb20gJy4uLy4uLy4uL2ljb24vcHVibGljX2FwaSc7XG5pbXBvcnQgeyBpY29uQ2hldnJvbkRvd24gfSBmcm9tICdAZGFuc2tlL3NhcHBoaXJlLWljb25zL2pzJztcblxuLyoqXG4gKiBFbmFibGVzIG11bHRpcGxlIHNlbGVjdGlvbi4gV2hlbiBwcmVzZW50LCBgdmFsdWVgIHdpbGwgYmUgb2YgdHlwZSBgc3RyaW5nW11gLCBhbmQgYHZhbHVlQ2hhbmdlYFxuICogd2lsbCBlbWl0IGBzdHJpbmdbXWAuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ3NwLXNlbGVjdFttdWx0aXBsZV0nLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBTZWxlY3RWYWx1ZUhvbGRlcixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE11bHRpU2VsZWN0RGlyZWN0aXZlKSxcbiAgICB9LFxuICBdLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgTXVsdGlTZWxlY3REaXJlY3RpdmUgZXh0ZW5kcyBNdWx0aVNlbGVjdERpcmVjdGl2ZUJhc2Uge31cblxuLyoqXG4gKiBFbmFibGVzIHNpbmdsZSBzZWxlY3Rpb24sIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIFNlbGVjdC5cbiAqIFdoZW4gcHJlc2VudCwgYHZhbHVlYCB3aWxsIGJlIG9mIHR5cGUgYHN0cmluZ2AsIGFuZCBgdmFsdWVDaGFuZ2VgIHdpbGwgZW1pdCBgc3RyaW5nYC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnc3Atc2VsZWN0Om5vdChbbXVsdGlwbGVdKScsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNlbGVjdFZhbHVlSG9sZGVyLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2luZ2xlU2VsZWN0RGlyZWN0aXZlKSxcbiAgICB9LFxuICBdLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgU2luZ2xlU2VsZWN0RGlyZWN0aXZlIGV4dGVuZHMgU2luZ2xlU2VsZWN0RGlyZWN0aXZlQmFzZSB7fVxuXG4vKipcbiAqIEFsbG93cyB1c2VyIHRvIHNlbGVjdCBhIHNpbmdsZSBvcHRpb24gZnJvbSBhIGxpc3QsIHNpbWlsYXIgdG8gbmF0aXZlIHNlbGVjdFxuICogY29tcG9uZW50LlxuICpcbiAqIEV4YW1wbGU6XG4gKiBgYGB0c3hcbiAqIDxzcC1maWVsZD5cbiAqICAgPHNwLWZpZWxkLWxhYmVsPkxhYmVsIHRleHQ8L3NwLWZpZWxkLWxhYmVsPlxuICogICA8c3Atc2VsZWN0IHBsYWNlaG9sZGVyPVwiU2VsZWN0IGFuIG9wdGlvblwiPlxuICogICAgIDxzcC1vcHRpb24gdmFsdWU9XCJvcHRpb24xXCI+Rmlyc3QgT3B0aW9uPC9zcC1vcHRpb24+XG4gKiAgICAgPHNwLW9wdGlvbiB2YWx1ZT1cIm9wdGlvbjJcIj5TZWNvbmQgT3B0aW9uPC9zcC1vcHRpb24+XG4gKiAgICAgPHNwLW9wdGlvbiB2YWx1ZT1cIm9wdGlvbjNcIj5UaGlyZCBPcHRpb248L3NwLW9wdGlvbj5cbiAqICAgPC9zcC1zZWxlY3Q+XG4gKiA8L3NwLWZpZWxkPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NwLXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcbiAgZXhwb3J0QXM6ICdzcFNlbGVjdCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2VsZWN0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogU2VsZWN0Q29tcG9uZW50QmFzZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNlbGVjdENvbXBvbmVudCksXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBGaWVsZENvbnRyb2wsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTZWxlY3RDb21wb25lbnQpLFxuICAgIH0sXG4gIF0sXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ3NhcHBoaXJlLXNlbGVjdCcsXG4gICAgJ1tjbGFzcy5zYXBwaGlyZS1zZWxlY3QtLWVycm9yXSc6ICdfZmllbGQ/Lmhhc0Vycm9yKHRoaXMpJyxcbiAgICAnW2NsYXNzLnNhcHBoaXJlLXNlbGVjdC0tbWRdJzogJ19maWVsZD8uc2l6ZSA9PT0gXCJtZFwiJyxcbiAgICAnW2NsYXNzLmlzLWZvY3VzXSc6ICdpc0ZvY3VzVmlzaWJsZSgpJyxcbiAgICAnW2NsYXNzLmlzLWRpc2FibGVkXSc6ICdpc0Rpc2FibGVkKCknLFxuICAgICdbY2xhc3Muc2FwcGhpcmUtc2VsZWN0LS1vcGVuXSc6ICdpc09wZW4oKScsXG4gICAgJ1thdHRyLmlkXSc6ICdudWxsJyxcbiAgICAnW2F0dHIuYXJpYS1sYWJlbF0nOiAnbnVsbCcsXG4gICAgJ1thdHRyLmFyaWEtbGFiZWxsZWRieV0nOiAnbnVsbCcsXG4gICAgJ1thdHRyLnBsYWNlaG9sZGVyXSc6ICdudWxsJyxcbiAgfSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtVc2VDb21wb25lbnRTdHlsZXNPbkhvc3RdLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0Q29tcG9uZW50XG4gIGV4dGVuZHMgU2VsZWN0Q29tcG9uZW50QmFzZVxuICBpbXBsZW1lbnRzIEZpZWxkQ29udHJvbCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95XG57XG4gIHByaXZhdGUgZm9jdXNPcmlnaW46IEZvY3VzT3JpZ2luID0gbnVsbDtcbiAgZmlsdGVyZWRDaGlsZHJlbiQ6IE9ic2VydmFibGU8TGlzdGJveENoaWxkW10+ID0gbmV3IFN1YmplY3QoKTtcblxuICBAVmlld0NoaWxkKCd0cmlnZ2VyUmVmJylcbiAgcHJvdGVjdGVkIHRyaWdnZXJSZWY6IFBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlIHwgdW5kZWZpbmVkO1xuXG4gIEBWaWV3Q2hpbGQoJ3RyaWdnZXJFbGVtZW50UmVmJywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIHByb3RlY3RlZCB0cmlnZ2VyRWxlbWVudFJlZjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKExpc3Rib3hDb21wb25lbnQpXG4gIHByb3RlY3RlZCBsaXN0Ym94OiBMaXN0Ym94Q29tcG9uZW50IHwgdW5kZWZpbmVkO1xuXG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaElucHV0JywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIHByaXZhdGUgc2VhcmNoSW5wdXQ/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gIGdldCBzZWFyY2hhYmxlKCkge1xuICAgIHJldHVybiBCb29sZWFuKHRoaXMuX3NlYXJjaGFibGVTZWxlY3REaXJlY3RpdmUpO1xuICB9XG5cbiAgLyoqXG4gICAqIGlkIG9mIHRyaWdnZXIgdmFsdWUgYXJlYSwgd2hpY2ggd2lsbCBjb250YWluIGVpdGhlciB0aGUgc2VsZWN0ZWQgdmFsdWUgb3IgdGhlIHBsYWNlaG9sZGVyLlxuICAgKi9cbiAgQEF1dG9JZCgpXG4gIF92YWx1ZUNvbnRhaW5lcklkOiBzdHJpbmcgPSAnJztcblxuICBwcml2YXRlIGRlc3Ryb3llZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgdmFsdWVIb2xkZXI6IFNlbGVjdFZhbHVlSG9sZGVyLFxuICAgIGljb25SZWdpc3RyeTogSWNvblJlZ2lzdHJ5LFxuICAgIHByaXZhdGUgZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3IsXG4gICAgcHJpdmF0ZSBpbnB1dE1vZGFsaXR5OiBJbnB1dE1vZGFsaXR5RGV0ZWN0b3IsXG4gICAgQE9wdGlvbmFsKCkgcHVibGljIF9maWVsZD86IEZpZWxkQ29tcG9uZW50LFxuICAgIEBPcHRpb25hbCgpIHB1YmxpYyBfc2VhcmNoYWJsZVNlbGVjdERpcmVjdGl2ZT86IFNlYXJjaGFibGVTZWxlY3REaXJlY3RpdmVcbiAgKSB7XG4gICAgc3VwZXIodmFsdWVIb2xkZXIpO1xuICAgIGljb25SZWdpc3RyeS5yZWdpc3Rlckljb24oaWNvbkNoZXZyb25Eb3duKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICBjb25zdCBsaXN0Ym94SXRlbSQgPSB0aGlzLmxpc3Rib3hDaGlsZHJlbi5jaGFuZ2VzLnBpcGUoXG4gICAgICBzdGFydFdpdGgodGhpcy5saXN0Ym94Q2hpbGRyZW4pXG4gICAgKTtcbiAgICBjb25zdCBzZWFyY2hhYmxlU2VsZWN0ID0gdGhpcy5fc2VhcmNoYWJsZVNlbGVjdERpcmVjdGl2ZTtcbiAgICBpZiAodGhpcy5zZWFyY2hJbnB1dCAmJiBzZWFyY2hhYmxlU2VsZWN0KSB7XG4gICAgICBjb25zdCBzZWFyY2hJbnB1dFZhbHVlJCA9IHNlYXJjaGFibGVTZWxlY3Quc2VhcmNoVmFsdWVDaGFuZ2UucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSxcbiAgICAgICAgc3RhcnRXaXRoKHNlYXJjaGFibGVTZWxlY3Quc2VhcmNoVmFsdWUpXG4gICAgICApO1xuICAgICAgY29uc3QgZmlsdGVyUmVzdWx0JCA9IGNvbWJpbmVMYXRlc3Qoc2VhcmNoSW5wdXRWYWx1ZSQsIGxpc3Rib3hJdGVtJCkucGlwZShcbiAgICAgICAgbWFwKChbc2VhcmNoUXVlcnldKSA9PiB7XG4gICAgICAgICAgaWYgKCFzZWFyY2hRdWVyeSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgZmlsdGVyZWRDaGlsZHJlbjogdGhpcy5saXN0Ym94Q2hpbGRyZW4udG9BcnJheSgpLFxuICAgICAgICAgICAgICBmaWx0ZXJlZE91dE9wdGlvbnM6IFtdLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHNlYXJjaGFibGVTZWxlY3QuZmlsdGVyTGlzdGJveEl0ZW1zKFxuICAgICAgICAgICAgdGhpcy5saXN0Ym94Q2hpbGRyZW4sXG4gICAgICAgICAgICAob3B0aW9uKSA9PlxuICAgICAgICAgICAgICAhc2VhcmNoYWJsZVNlbGVjdC5maWx0ZXIgfHxcbiAgICAgICAgICAgICAgc2VhcmNoYWJsZVNlbGVjdC5maWx0ZXIob3B0aW9uLCBzZWFyY2hRdWVyeSlcbiAgICAgICAgICApO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRDaGlsZHJlbiQgPSB0aGlzLm11bHRpcGxlXG4gICAgICAgID8gLy8gR3JvdXBpbmcgc2VsZWN0ZWQgb3B0aW9uc1xuICAgICAgICAgIGNvbWJpbmVMYXRlc3QoXG4gICAgICAgICAgICBmaWx0ZXJSZXN1bHQkLFxuICAgICAgICAgICAgdGhpcy52YWx1ZUhvbGRlci52YWx1ZUNoYW5nZS5waXBlKHN0YXJ0V2l0aChlbXB0eSgpKSlcbiAgICAgICAgICApLnBpcGUoXG4gICAgICAgICAgICBtYXAoKFt7IGZpbHRlcmVkQ2hpbGRyZW4gfV0pID0+IHtcbiAgICAgICAgICAgICAgaWYgKHRoaXMubGlzdGJveFZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmaWx0ZXJlZENoaWxkcmVuO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgICAgICBmaWx0ZXJlZE91dE9wdGlvbnM6IHNlbGVjdGVkT3B0aW9ucyxcbiAgICAgICAgICAgICAgICBmaWx0ZXJlZENoaWxkcmVuOiBzZWxlY3Rpb25FeGNsdWRlZENoaWxkcmVuLFxuICAgICAgICAgICAgICB9ID0gc2VhcmNoYWJsZVNlbGVjdC5maWx0ZXJMaXN0Ym94SXRlbXMoXG4gICAgICAgICAgICAgICAgZmlsdGVyZWRDaGlsZHJlbixcbiAgICAgICAgICAgICAgICAob3B0aW9uKSA9PiAhdGhpcy5saXN0Ym94VmFsdWUuaW5jbHVkZXMob3B0aW9uLnZhbHVlKVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIHNlbGVjdGVkT3B0aW9ucy5sZW5ndGggPiAwXG4gICAgICAgICAgICAgICAgICA/IFtzZWN0aW9uKHNlbGVjdGVkT3B0aW9ucyldXG4gICAgICAgICAgICAgICAgICA6IChbXSBhcyBMaXN0Ym94Q2hpbGRbXSlcbiAgICAgICAgICAgICAgKS5jb25jYXQoc2VsZWN0aW9uRXhjbHVkZWRDaGlsZHJlbik7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIClcbiAgICAgICAgOiBmaWx0ZXJSZXN1bHQkLnBpcGUobWFwKCh7IGZpbHRlcmVkQ2hpbGRyZW4gfSkgPT4gZmlsdGVyZWRDaGlsZHJlbikpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpbHRlcmVkQ2hpbGRyZW4kID0gbGlzdGJveEl0ZW0kO1xuICAgIH1cbiAgfVxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIHRoaXMuZGVzdHJveWVkLm5leHQodW5kZWZpbmVkKTtcbiAgICB0aGlzLmRlc3Ryb3llZC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgX2dldEFyaWFMYWJlbGxlZEJ5KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgLy8gVGhlIGxvZ2ljIGhlcmUgaXMgc2ltaWxhciB0byB0aGUgb25lIGluIHJlYWN0LWFyaWEncyB1c2VTZWxlY3QuXG4gICAgY29uc3QgbGFiZWxsZWRCeSA9IHRoaXMuYXJpYUxhYmVsbGVkYnkgfHwgdGhpcy5fZmllbGQ/LmxhYmVsPy5pZDtcbiAgICByZXR1cm4gW1xuICAgICAgdGhpcy5fdmFsdWVDb250YWluZXJJZCxcbiAgICAgIGxhYmVsbGVkQnksXG4gICAgICB0aGlzLmFyaWFMYWJlbCAmJiAhbGFiZWxsZWRCeSA/IHRoaXMuaWQgOiBudWxsLFxuICAgIF1cbiAgICAgIC5maWx0ZXIoKGkpID0+IGkpXG4gICAgICAuam9pbignICcpO1xuICB9XG5cbiAgaXNGb2N1c2VkKCkge1xuICAgIHJldHVybiBCb29sZWFuKHRoaXMuZm9jdXNPcmlnaW4pO1xuICB9XG5cbiAgaXNGb2N1c1Zpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuaXNGb2N1c2VkKCkgJiZcbiAgICAgIC8vIFRoaXMgaXMgbmVlZGVkIGJlY2F1c2UgZm9jdXMgZG9lc24ndCBjaGFuZ2Ugd2hlbiBhIGtleSAoZS5nLiBFc2NhcGUpIGlzIHByZXNzZWQgaW4gdGhlIHNlYXJjaCBpbnB1dC5cbiAgICAgICh0aGlzLmlucHV0TW9kYWxpdHkubW9zdFJlY2VudE1vZGFsaXR5ID09PSAna2V5Ym9hcmQnIHx8XG4gICAgICAgIC8vIFRoaXMgaXMgbmVlZGVkIGZvciB3aGVuIGxhYmVsIGlzIGNsaWNrZWQgYW5kIGZvY3VzT3JpZ2luIGlzIGZvcmNlZCB0byBrZXlib2FyZCwgYnV0IGN1cnJlbnQgbW9kYWxpdHkgaXMgbW91c2UuXG4gICAgICAgIHRoaXMuZm9jdXNPcmlnaW4gPT09ICdrZXlib2FyZCcpICYmXG4gICAgICAhdGhpcy5pc09wZW4oKSAvLyBUaGlzIGlzIGJlY2F1c2UgaW4gc2VhcmNoYWJsZSBzZWxlY3QsIHRoZSBhY3R1YWwgZm9jdXMgaXMgb24gdGhlIGlucHV0LFxuICAgICAgLy8gYnV0IGl0J3MgbWVhbnQgdG8gYmUgc2hvd24gb24gdGhlIGxpc3Rib3guIEl0IGRvZXNuJ3QgbWFrZSBzZW5zZSB0byBzaG93IHRoZSBmb2N1cyBpbiB0d29cbiAgICAgIC8vIHBsYWNlcy5cbiAgICApO1xuICB9XG5cbiAgZm9jdXMoZm9jdXNPcmlnaW46IEZvY3VzT3JpZ2luID0gJ3Byb2dyYW0nKSB7XG4gICAgdGhpcy5mb2N1c01vbml0b3IuZm9jdXNWaWEoXG4gICAgICB0aGlzLnNlYXJjaElucHV0Py5uYXRpdmVFbGVtZW50ID8/IHRoaXMudHJpZ2dlckVsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICBmb2N1c09yaWdpblxuICAgICk7XG4gIH1cblxuICBfb25Gb2N1c0NoYW5nZShmb2N1c09yaWdpbjogRm9jdXNPcmlnaW4pIHtcbiAgICB0aGlzLmZvY3VzT3JpZ2luID0gZm9jdXNPcmlnaW47XG4gIH1cblxuICBfb25Gb2N1cygpIHtcbiAgICAvLyBXaGVuZXZlciBmb2N1cyBjb21lcyB0byB0aGUgdHJpZ2dlciAsIGZvcndhcmQgaXQgdG8gdGhlIHNlYXJjaCBpbnB1dC4gSXQncyBuZWVkZWQgZm9yIHdoZW5cbiAgICAvLyB0aGUgdHJpZ2dlciBpcyByZS1mb2N1c2VkIGFmdGVyIHBvcG92ZXIgaXMgY2xvc2VkLlxuICAgIHRoaXMuZm9jdXModGhpcy5mb2N1c09yaWdpbik7XG4gIH1cblxuICBfaXNJbnB1dFZpc2libGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNPcGVuKCkgLyp8fFxuICAgICAgKHRoaXMuc2VhcmNoSW5wdXQ/Lm5hdGl2ZUVsZW1lbnQgPT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgJiZcbiAgICAgICAgdGhpcy5saXN0Ym94VmFsdWUubGVuZ3RoID09PSAwKSovO1xuICB9XG5cbiAgX29uT3BlbigpIHtcbiAgICBzdXBlci5fb25PcGVuKCk7XG4gICAgaWYgKCF0aGlzLm11bHRpcGxlICYmIHRoaXMuX3NlYXJjaGFibGVTZWxlY3REaXJlY3RpdmUpIHtcbiAgICAgIHRoaXMuX3NlYXJjaGFibGVTZWxlY3REaXJlY3RpdmUuc2V0U2VhcmNoVmFsdWUoXG4gICAgICAgICh0aGlzLl9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlLmNsZWFyU2VhcmNoT25PcGVuXG4gICAgICAgICAgPyAnJ1xuICAgICAgICAgIDogdGhpcy5zZWxlY3RlZE9wdGlvbnNbMF0/LmxhYmVsKSA/PyAnJ1xuICAgICAgKTtcbiAgICB9XG4gICAgY29uc3Qgc2VhcmNoSW5wdXRFbGVtZW50ID0gdGhpcy5zZWFyY2hJbnB1dD8ubmF0aXZlRWxlbWVudDtcbiAgICBpZiAodGhpcy5fc2VhcmNoYWJsZVNlbGVjdERpcmVjdGl2ZT8uc2VsZWN0VGV4dE9uT3Blbikge1xuICAgICAgc2VhcmNoSW5wdXRFbGVtZW50Py5zZWxlY3QoKTtcbiAgICB9XG4gICAgY29uc3QgZm9jdXNWaXNpYmxlT25PcGVuID0gdGhpcy5pc0ZvY3VzVmlzaWJsZSgpO1xuICAgIC8vIE1vdmUgZm9jdXMgdG8gdGhlIHNlYXJjaCBpbnB1dC4gVGhlIHRpbWVvdXQgaXMgbmVlZGVkIGJlY2F1c2UgcG9wb3ZlciB3aWxsIGF1dG9mb2N1cyB0aGVcbiAgICAvLyBjb250ZW50LCBhbmQgd2UgbmVlZCB0byBsZXQgdGhlIGZvY3VzIGZpcnN0IGxhbmQgaW4gdGhlIHBvcG92ZXIsIGFuZCB0aGVuIHN0ZWFsIGl0LlxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgc2VhcmNoSW5wdXRFbGVtZW50Py5mb2N1cygpO1xuXG4gICAgICAvLyBOZWVkIHRvIHJ1biB0aGlzIGFsc28gYXN5bmNocm9ub3VzbHksIHRvIGxldCB0aGUgcG9wb3ZlciAoYW5kIGxpc3Rib3gpIG1vdW50XG4gICAgICBpZiAoIWZvY3VzVmlzaWJsZU9uT3BlbiAmJiB0aGlzLnNlbGVjdGVkT3B0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgLy8gdG8gcHJldmVudCB0aGUgZmlyc3QgaXRlbSBmcm9tIGJlaW5nIGZvY3VzZWQgd2hlbiB0aGUgZHJvcGRvd24gaXMgb3BlbmVkIHZpYSBtb3VzZVxuICAgICAgICB0aGlzLmxpc3Rib3g/LnNldEFjdGl2ZU9wdGlvbihudWxsKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIF9vbkNsb3NlKCkge1xuICAgIHN1cGVyLl9vbkNsb3NlKCk7XG4gICAgaWYgKCF0aGlzLm11bHRpcGxlICYmIHRoaXMuX3NlYXJjaGFibGVTZWxlY3REaXJlY3RpdmUpIHtcbiAgICAgIHRoaXMuX3NlYXJjaGFibGVTZWxlY3REaXJlY3RpdmUuc2V0U2VhcmNoVmFsdWUoXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25zWzBdPy5sYWJlbCB8fCAnJ1xuICAgICAgKTtcbiAgICB9XG4gICAgY29uc3Qgc2VhcmNoSW5wdXRFbGVtZW50ID0gdGhpcy5zZWFyY2hJbnB1dD8ubmF0aXZlRWxlbWVudDtcbiAgICBzZWFyY2hJbnB1dEVsZW1lbnQ/LnNldFNlbGVjdGlvblJhbmdlKFxuICAgICAgc2VhcmNoSW5wdXRFbGVtZW50LnZhbHVlLmxlbmd0aCxcbiAgICAgIHNlYXJjaElucHV0RWxlbWVudC52YWx1ZS5sZW5ndGhcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldEZpZWxkTGFiZWw/KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpZWxkPy5sYWJlbD8uZ2V0VGV4dCgpID8/ICcnO1xuICB9XG5cbiAgX29uSW5wdXRLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgY29uc3Qgc2VsZWN0VmFsdWUgPSAodG9CZVNlbGVjdGVkOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IGxpc3Rib3hWYWx1ZSA9IHRoaXMubGlzdGJveFZhbHVlO1xuICAgICAgY29uc3QgYWxyZWFkeVNlbGVjdGVkID0gbGlzdGJveFZhbHVlLmluY2x1ZGVzKHRvQmVTZWxlY3RlZCk7XG4gICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICB0aGlzLmxpc3Rib3hWYWx1ZSA9IGFscmVhZHlTZWxlY3RlZFxuICAgICAgICAgID8gbGlzdGJveFZhbHVlLmZpbHRlcigodmFsdWUpID0+IHZhbHVlICE9PSB0b0JlU2VsZWN0ZWQpXG4gICAgICAgICAgOiBbLi4ubGlzdGJveFZhbHVlLCB0b0JlU2VsZWN0ZWRdO1xuICAgICAgfSBlbHNlIGlmICghYWxyZWFkeVNlbGVjdGVkKSB7XG4gICAgICAgIHRoaXMubGlzdGJveFZhbHVlID0gW3RvQmVTZWxlY3RlZF07XG4gICAgICB9XG4gICAgfTtcbiAgICBjb25zdCBmaXJzdE9wdGlvblZhbHVlID0gdGhpcy5vcHRpb25zPy5nZXQoMCk/LnZhbHVlO1xuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdBcnJvd1VwJzpcbiAgICAgIGNhc2UgJ0Fycm93RG93bic6XG4gICAgICAgIGlmICghdGhpcy5pc09wZW4oKSkge1xuICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdFc2NhcGUnOlxuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgICAvLyBTZWxlY3Rpb24gaXMgYWxyZWFkeSBoYW5kbGVkIGlmIHRoZXJlIGlzIGFuIGFjdGl2ZSBvcHRpb25cbiAgICAgICAgaWYgKHRoaXMuaXNPcGVuKCkpIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLmxpc3Rib3g/LmdldEFjdGl2ZU9wdGlvbigpID09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgZmlyc3RPcHRpb25WYWx1ZVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgc2VsZWN0VmFsdWUoZmlyc3RPcHRpb25WYWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICghdGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ1RhYic6XG4gICAgICAgIGlmICh0aGlzLmlzT3BlbigpICYmICF0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgICAgY29uc3QgdG9CZVNlbGVjdGVkID1cbiAgICAgICAgICAgIHRoaXMubGlzdGJveD8uZ2V0QWN0aXZlT3B0aW9uKCkgfHwgZmlyc3RPcHRpb25WYWx1ZTtcbiAgICAgICAgICBpZiAodG9CZVNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgc2VsZWN0VmFsdWUodG9CZVNlbGVjdGVkKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgX29uU2VhcmNoSW5wdXQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LnRhcmdldCBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gZXZlbnQudGFyZ2V0Py52YWx1ZTtcbiAgICAgIHRoaXMuX3NlYXJjaGFibGVTZWxlY3REaXJlY3RpdmU/LnNldFNlYXJjaFZhbHVlKHZhbHVlKTtcbiAgICAgIC8vIGNsZWFyaW5nIHRoZSB2YWx1ZSB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaXMgY2xlYXJlZC5cbiAgICAgIGlmICghdGhpcy5tdWx0aXBsZSAmJiAhdmFsdWUgJiYgdGhpcy5saXN0Ym94VmFsdWUubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLmxpc3Rib3hWYWx1ZSA9IFtdO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMubGlzdGJveD8uc2V0QWN0aXZlT3B0aW9uKG51bGwpO1xuICB9XG5cbiAgX2hhbmRsZVNlbGVjdGVkKCkge1xuICAgIHN1cGVyLl9oYW5kbGVTZWxlY3RlZCgpO1xuICB9XG5cbiAgaXNEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gY29lcmNlQm9vbGVhblByb3BlcnR5KHRoaXMuZGlzYWJsZWQpO1xuICB9XG5cbiAgaGFzRGVmYXVsdFdpZHRoID0gdHJ1ZTtcbn1cbiIsIjxzcC1oaWRkZW4tc2VsZWN0Pjwvc3AtaGlkZGVuLXNlbGVjdD5cbjxkaXZcbiAgcm9sZT1cImJ1dHRvblwiXG4gIGFyaWEtaGFzcG9wdXA9XCJsaXN0Ym94XCJcbiAgY2xhc3M9XCJzYXBwaGlyZS1zZWxlY3RfX2J1dHRvblwiXG4gIFtzcFBvcG92ZXJUcmlnZ2VyRm9yXT1cInBvcG92ZXJcIlxuICBbc3BQb3BvdmVyVHJpZ2dlckRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgc3BQb3BvdmVyVHJpZ2dlck9wZW5PblByZXNzU3RhcnRcbiAgc3BQb3BvdmVyVHJpZ2dlckNsb3NlT25TY3JvbGxcbiAgc3BQb3BvdmVyUGxhY2VtZW50PVwiYm90dG9tIHN0YXJ0XCJcbiAgI3RyaWdnZXJFbGVtZW50UmVmXG4gICN0cmlnZ2VyUmVmPVwic3BQb3BvdmVyVHJpZ2dlclwiXG4gIChrZXlkb3duKT1cImhhbmRsZUtleURvd24oJGV2ZW50KVwiXG4gIChzcFBvcG92ZXJUcmlnZ2VyQ2xvc2VkKT1cIl9vbkNsb3NlKClcIlxuICAoc3BQb3BvdmVyVHJpZ2dlck9wZW5lZCk9XCJfb25PcGVuKClcIlxuICAoZm9jdXMpPVwiX29uRm9jdXMoKVwiXG4gIGNka01vbml0b3JTdWJ0cmVlRm9jdXNcbiAgKGNka0ZvY3VzQ2hhbmdlKT1cIl9vbkZvY3VzQ2hhbmdlKCRldmVudClcIlxuICBbc3BQb3BvdmVyTm9uTW9kYWxdPVwic2VhcmNoYWJsZVwiXG4gIHNwUG9wb3ZlckRpc2FibGVQdXNoSW5zaWRlVmlld3BvcnQ9XCJ0cnVlXCJcbiAgW2lkXT1cImlkXCJcbiAgW3RhYmluZGV4XT1cIi0xXCJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiX2dldEFyaWFMYWJlbGxlZEJ5KClcIlxuICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIl9maWVsZD8uZXJyb3I/LmlkIHx8IF9maWVsZD8ubm90ZT8uaWRcIlxuICBbYXR0ci5hcmlhLWludmFsaWRdPVwiX2ZpZWxkPy5oYXNFcnJvcih0aGlzKSA/IHRydWUgOiBudWxsXCJcbj5cbiAgPGRpdiBjbGFzcz1cInNhcHBoaXJlLXNlbGVjdF9fdmFsdWVcIiBbaWRdPVwiX3ZhbHVlQ29udGFpbmVySWRcIj5cbiAgICA8aW5wdXRcbiAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXNPcGVuKClcIlxuICAgICAgKm5nSWY9XCJzZWFyY2hhYmxlXCJcbiAgICAgICNzZWFyY2hJbnB1dFxuICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICByb2xlPVwiY29tYm9ib3hcIlxuICAgICAgY2xhc3M9XCJzYXBwaGlyZS1zZWxlY3RfX3NlYXJjaC1pbnB1dFwiXG4gICAgICBbc3BMaXN0Ym94SW5wdXRdPVwibGlzdGJveFwiXG4gICAgICBbc3BWaXN1YWxseUhpZGRlbl09XCIhX2lzSW5wdXRWaXNpYmxlKClcIlxuICAgICAgW2F0dHIuZGF0YS1oaWRkZW5dPVwiIV9pc0lucHV0VmlzaWJsZSgpXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlciB8fCAnJ1wiXG4gICAgICAoa2V5ZG93bik9XCJfb25JbnB1dEtleWRvd24oJGV2ZW50KVwiXG4gICAgICAoYmVmb3JlaW5wdXQpPVwib3BlbigpXCJcbiAgICAgIFt2YWx1ZV09XCJfc2VhcmNoYWJsZVNlbGVjdERpcmVjdGl2ZT8uc2VhcmNoVmFsdWVcIlxuICAgICAgKGlucHV0KT1cIl9vblNlYXJjaElucHV0KCRldmVudClcIlxuICAgIC8+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzZWFyY2hhYmxlIHx8ICFfaXNJbnB1dFZpc2libGUoKVwiPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cInNlbGVjdGVkT3B0aW9ucy5sZW5ndGggPT09IDBcIlxuICAgICAgICBjbGFzcz1cInNhcHBoaXJlLXNlbGVjdF9fcGxhY2Vob2xkZXJcIlxuICAgICAgPlxuICAgICAgICB7eyBwbGFjZWhvbGRlciB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VsZWN0ZWRPcHRpb25zLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzZWxlY3Rpb25UZXh0XCI+e3tcbiAgICAgICAgICBnZXRTZWxlY3Rpb25UZXh0KClcbiAgICAgICAgfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic3Atc2VsZWN0aW9uLXRleHRcIj48L25nLWNvbnRlbnQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJzYXBwaGlyZS1zZWxlY3RfX2ljb24tY29udGFpbmVyXCI+XG4gICAgPHNwLWljb24gbmFtZT1cImNoZXZyb25Eb3duXCI+PC9zcC1pY29uPlxuICA8L2Rpdj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNwb3BvdmVyPlxuICA8c3AtcG9wb3ZlclxuICAgIFtzdHlsZS5kaXNwbGF5XT1cIlxuICAgICAgKGZpbHRlcmVkQ2hpbGRyZW4kIHwgYXN5bmMpPy5sZW5ndGggPT09IDAgJiYgIWxpc3Rib3g/Ll9nZXRFbXB0eVN0YXRlKClcbiAgICAgICAgPyAnbm9uZSdcbiAgICAgICAgOiB1bmRlZmluZWRcbiAgICBcIlxuICAgIG5vUGFkZGluZ1xuICAgIFt0cmFwRm9jdXNdPVwiIXNlYXJjaGFibGVcIlxuICAgIG5vTWF4V2lkdGhcbiAgICBbc3R5bGUubWluLXdpZHRoXT1cInRyaWdnZXJFbGVtZW50UmVmLm9mZnNldFdpZHRoICsgJ3B4J1wiXG4gID5cbiAgICA8c3AtbGlzdGJveFxuICAgICAgW3NwTGlzdGJveEl0ZW1zXT1cIihmaWx0ZXJlZENoaWxkcmVuJCB8IGFzeW5jKSB8fCB1bmRlZmluZWRcIlxuICAgICAgbmF2aWdhdGlvbldyYXBEaXNhYmxlZFxuICAgICAgW211bHRpcGxlXT1cIm11bHRpcGxlXCJcbiAgICAgIFsoc2VsZWN0ZWRWYWx1ZXMpXT1cImxpc3Rib3hWYWx1ZVwiXG4gICAgICAoc2VsZWN0ZWRWYWx1ZXNDaGFuZ2UpPVwiX3NlYXJjaGFibGVTZWxlY3REaXJlY3RpdmU/LnNldFNlYXJjaFZhbHVlKCcnKVwiXG4gICAgICAoc2VsZWN0ZWQpPVwiX2hhbmRsZVNlbGVjdGVkKClcIlxuICAgICAgW2VtcHR5U3RhdGVdPVwiZW1wdHlTdGF0ZVwiXG4gICAgPjwvc3AtbGlzdGJveD5cbiAgPC9zcC1wb3BvdmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -101,7 +101,7 @@ SelectButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
|
|
|
101
101
|
useExisting: forwardRef(() => SelectButtonComponent),
|
|
102
102
|
},
|
|
103
103
|
ViewEncapsulationProvider,
|
|
104
|
-
], viewQueries: [{ propertyName: "triggerRef", first: true, predicate: ["triggerRef"], descendants: true }, { propertyName: "triggerElementRef", first: true, predicate: ["triggerElementRef"], descendants: true, read: ElementRef }, { propertyName: "listbox", first: true, predicate: ListboxComponent, descendants: true }], exportAs: ["spSelectButton"], usesInheritance: true, ngImport: i0, template: "<div style=\"position: relative\">\n <sp-hidden-select></sp-hidden-select>\n <button\n sp-button\n [variant]=\"variant\"\n [size]=\"size\"\n iconAlign=\"right\"\n [spPopoverTriggerFor]=\"popover\"\n spPopoverPlacement=\"bottom start\"\n #triggerElementRef\n #triggerRef=\"spPopoverTrigger\"\n (keydown)=\"handleKeyDown($event)\"\n (spPopoverTriggerOpened)=\"_onOpen()\"\n (spPopoverTriggerClosed)=\"_onClose()\"\n cdkMonitorElementFocus\n (cdkFocusChange)=\"_onFocusChange($event)\"\n aria-haspopup=\"listbox\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [disabled]=\"disabled\"\n >\n <span *ngIf=\"selectedOptions.length === 0\">\n {{ placeholder }}\n </span>\n <ng-container *ngIf=\"selectedOptions.length > 0\">\n <ng-container *ngIf=\"!selectionText\">{{\n getSelectionText()\n }}</ng-container>\n <ng-content select=\"sp-selection-text\"></ng-content>\n </ng-container>\n <sp-icon spButtonIcon name=\"chevronDown\"></sp-icon>\n </button>\n <ng-template #popover>\n <sp-popover noPadding>\n <sp-listbox\n [spListboxItems]=\"listboxChildren\"\n navigationWrapDisabled\n [multiple]=\"multiple\"\n [(selectedValues)]=\"listboxValue\"\n (selected)=\"_handleSelected()\"\n >\n </sp-listbox>\n </sp-popover>\n </ng-template>\n</div>\n", styles: [".sapphire-select{position:relative;display:block;color:var(--sapphire-semantic-color-foreground-primary);font-family:var(--sapphire-semantic-font-name-default);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-select__button{display:flex;align-items:center;height:var(--sapphire-semantic-size-height-control-lg);box-sizing:border-box;cursor:pointer;padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-md) 0 var(--sapphire-semantic-size-spacing-control-horizontal-lg);border:none;background:var(--sapphire-semantic-color-background-field);width:100%;outline:0;text-align:left;color:inherit;font-family:inherit;box-shadow:inset 0 0 0 var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-default);border-radius:var(--sapphire-semantic-size-radius-md);gap:var(--sapphire-semantic-size-spacing-sm)}.sapphire-select--md .sapphire-select__button{border-radius:var(--sapphire-semantic-size-radius-sm);height:var(--sapphire-semantic-size-height-control-md);padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-md);gap:var(--sapphire-semantic-size-spacing-xs)}.sapphire-select__value{flex:1 0 0;min-width:0;font-size:var(--sapphire-semantic-size-font-control-lg);width:100%;font-weight:var(--sapphire-semantic-font-weight-default-regular);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sapphire-select--md .sapphire-select__value{font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-select__placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sapphire-semantic-color-foreground-secondary);pointer-events:none}.sapphire-select__icon-container{line-height:0;width:var(--sapphire-semantic-size-icon-md);height:var(--sapphire-semantic-size-icon-md)}.sapphire-select--md .sapphire-select__icon-container{width:var(--sapphire-semantic-size-icon-sm);height:var(--sapphire-semantic-size-icon-sm)}.sapphire-select__prefix{display:inherit;font-size:var(--sapphire-semantic-size-font-control-lg);color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-select:not(.sapphire-select--md) .sapphire-select__button:has(.sapphire-select__prefix){padding-left:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-select--md .sapphire-select__prefix{font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-select__search-input:not([data-hidden=true]){all:inherit}.sapphire-select__search-input::placeholder{color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-select__native-select{position:absolute;inset:0;opacity:.01;width:100%;z-index:1}.sapphire-select--error:not(.is-disabled) .sapphire-select__button{box-shadow:inset 0 0 0 1px var(--sapphire-semantic-color-border-negative-default)}.sapphire-select:not(.sapphire-select--error):not(.is-focus):not(.is-disabled).is-hover .sapphire-select__button,.sapphire-select:not(.sapphire-select--error):not(.is-focus):not(.is-disabled):not(.js-hover):hover .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-hover)}.sapphire-select:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-focus-ring) var(--sapphire-semantic-color-focus-ring)}.sapphire-select--error:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-focus-ring) var(--sapphire-semantic-color-border-negative-default)}.sapphire-select.is-disabled .sapphire-select__button{cursor:not-allowed;opacity:var(--sapphire-semantic-opacity-disabled)}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.IconComponent, selector: "sp-icon", inputs: ["name", "size", "color"] }, { kind: "component", type: i6.ListboxComponent, selector: "sp-listbox", inputs: ["selectedValues", "spListboxItems", "disabled", "multiple", "navigationWrapDisabled", "aria-label", "aria-labelledby", "id", "emptyState"], outputs: ["selectedValuesChange", "selected"], exportAs: ["spListbox"] }, { kind: "component", type: i7.PopoverComponent, selector: "sp-popover", inputs: ["noPadding", "noMaxWidth", "noAutoFocus", "trapFocus"] }, { kind: "directive", type: i8.PopoverTriggerDirective, selector: "[spPopoverTriggerFor]", inputs: ["spPopoverPlacement", "spPopoverTriggerFor", "spPopoverNonModal", "spPopoverTriggerOpenOnPressStart", "spPopoverTriggerCloseOnScroll", "spPopoverTriggerDisabled", "spPopoverDisablePushInsideViewport"], outputs: ["spPopoverTriggerOpened", "spPopoverTriggerClosed"], exportAs: ["spPopoverTrigger"] }, { kind: "directive", type: i2.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "component", type: i9.ButtonComponent, selector: "button[sp-button], a[sp-button]", inputs: ["variant", "size", "disabled", "iconAlign", "type", "tabindex"] }, { kind: "directive", type: i10.ButtonIconDirective, selector: "[spButtonIcon]" }, { kind: "component", type: i11.HiddenSelectComponent, selector: "sp-hidden-select" }] });
|
|
104
|
+
], viewQueries: [{ propertyName: "triggerRef", first: true, predicate: ["triggerRef"], descendants: true }, { propertyName: "triggerElementRef", first: true, predicate: ["triggerElementRef"], descendants: true, read: ElementRef }, { propertyName: "listbox", first: true, predicate: ListboxComponent, descendants: true }], exportAs: ["spSelectButton"], usesInheritance: true, ngImport: i0, template: "<div style=\"position: relative\">\n <sp-hidden-select></sp-hidden-select>\n <button\n sp-button\n [variant]=\"variant\"\n [size]=\"size\"\n iconAlign=\"right\"\n [spPopoverTriggerFor]=\"popover\"\n spPopoverPlacement=\"bottom start\"\n #triggerElementRef\n #triggerRef=\"spPopoverTrigger\"\n (keydown)=\"handleKeyDown($event)\"\n (spPopoverTriggerOpened)=\"_onOpen()\"\n (spPopoverTriggerClosed)=\"_onClose()\"\n cdkMonitorElementFocus\n (cdkFocusChange)=\"_onFocusChange($event)\"\n aria-haspopup=\"listbox\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [disabled]=\"disabled\"\n >\n <span *ngIf=\"selectedOptions.length === 0\">\n {{ placeholder }}\n </span>\n <ng-container *ngIf=\"selectedOptions.length > 0\">\n <ng-container *ngIf=\"!selectionText\">{{\n getSelectionText()\n }}</ng-container>\n <ng-content select=\"sp-selection-text\"></ng-content>\n </ng-container>\n <sp-icon spButtonIcon name=\"chevronDown\"></sp-icon>\n </button>\n <ng-template #popover>\n <sp-popover noPadding>\n <sp-listbox\n [spListboxItems]=\"listboxChildren\"\n navigationWrapDisabled\n [multiple]=\"multiple\"\n [(selectedValues)]=\"listboxValue\"\n (selected)=\"_handleSelected()\"\n >\n </sp-listbox>\n </sp-popover>\n </ng-template>\n</div>\n", styles: [".sapphire-select{position:relative;display:block;color:var(--sapphire-semantic-color-foreground-primary);font-family:var(--sapphire-semantic-font-name-default);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-select__button{display:flex;align-items:center;height:var(--sapphire-semantic-size-height-control-lg);box-sizing:border-box;cursor:pointer;padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-md) 0 var(--sapphire-semantic-size-spacing-control-horizontal-lg);border:none;background:var(--sapphire-semantic-color-background-field);width:100%;outline:0;text-align:left;color:inherit;font-family:inherit;box-shadow:inset 0 0 0 var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-default);border-radius:var(--sapphire-semantic-size-radius-md);gap:var(--sapphire-semantic-size-spacing-sm)}.sapphire-select--md .sapphire-select__button{border-radius:var(--sapphire-semantic-size-radius-sm);height:var(--sapphire-semantic-size-height-control-md);padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-md);gap:var(--sapphire-semantic-size-spacing-xs)}.sapphire-select__value{flex:1 0 0;min-width:0;font-size:var(--sapphire-semantic-size-font-control-lg);width:100%;font-weight:var(--sapphire-semantic-font-weight-default-regular);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sapphire-select--md .sapphire-select__value{font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-select__placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sapphire-semantic-color-foreground-secondary);pointer-events:none}.sapphire-select__icon-container{line-height:0;width:var(--sapphire-semantic-size-icon-md);height:var(--sapphire-semantic-size-icon-md);color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-select--md .sapphire-select__icon-container{width:var(--sapphire-semantic-size-icon-sm);height:var(--sapphire-semantic-size-icon-sm)}.sapphire-select__prefix{display:inherit;font-size:var(--sapphire-semantic-size-font-control-lg);color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-select:not(.sapphire-select--md) .sapphire-select__button:has(.sapphire-select__prefix){padding-left:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-select--md .sapphire-select__prefix{font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-select__search-input:not([data-hidden=true]){all:inherit}.sapphire-select__search-input::placeholder{color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-select__native-select{position:absolute;inset:0;opacity:.01;width:100%;z-index:1}.sapphire-select--error:not(.is-disabled) .sapphire-select__button{box-shadow:inset 0 0 0 1px var(--sapphire-semantic-color-border-negative-default)}.sapphire-select:not(.sapphire-select--error):not(.is-focus):not(.is-disabled).is-hover .sapphire-select__button,.sapphire-select:not(.sapphire-select--error):not(.is-focus):not(.is-disabled):not(.js-hover):hover .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-hover)}.sapphire-select:not(.is-disabled).is-hover .sapphire-select__icon-container,.sapphire-select:not(.is-disabled):not(.js-hover):hover .sapphire-select__icon-container{color:var(--sapphire-semantic-color-foreground-primary)}.sapphire-select:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-focus-ring) var(--sapphire-semantic-color-focus-ring)}.sapphire-select--error:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-focus-ring) var(--sapphire-semantic-color-border-negative-default)}.sapphire-select.is-disabled .sapphire-select__button{cursor:not-allowed;opacity:var(--sapphire-semantic-opacity-disabled)}.sapphire-select--open .sapphire-select__icon-container{color:var(--sapphire-semantic-color-foreground-primary)}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.IconComponent, selector: "sp-icon", inputs: ["name", "size", "color"] }, { kind: "component", type: i6.ListboxComponent, selector: "sp-listbox", inputs: ["selectedValues", "spListboxItems", "disabled", "multiple", "navigationWrapDisabled", "aria-label", "aria-labelledby", "id", "emptyState"], outputs: ["selectedValuesChange", "selected"], exportAs: ["spListbox"] }, { kind: "component", type: i7.PopoverComponent, selector: "sp-popover", inputs: ["noPadding", "noMaxWidth", "noAutoFocus", "trapFocus"] }, { kind: "directive", type: i8.PopoverTriggerDirective, selector: "[spPopoverTriggerFor]", inputs: ["spPopoverPlacement", "spPopoverTriggerFor", "spPopoverNonModal", "spPopoverTriggerOpenOnPressStart", "spPopoverTriggerCloseOnScroll", "spPopoverTriggerDisabled", "spPopoverDisablePushInsideViewport"], outputs: ["spPopoverTriggerOpened", "spPopoverTriggerClosed"], exportAs: ["spPopoverTrigger"] }, { kind: "directive", type: i2.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "component", type: i9.ButtonComponent, selector: "button[sp-button], a[sp-button]", inputs: ["variant", "size", "disabled", "iconAlign", "type", "tabindex"] }, { kind: "directive", type: i10.ButtonIconDirective, selector: "[spButtonIcon]" }, { kind: "component", type: i11.HiddenSelectComponent, selector: "sp-hidden-select" }] });
|
|
105
105
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SelectButtonComponent, decorators: [{
|
|
106
106
|
type: Component,
|
|
107
107
|
args: [{ selector: 'sp-select-button', exportAs: 'spSelectButton', providers: [
|
|
@@ -118,7 +118,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
118
118
|
], host: {
|
|
119
119
|
'[attr.aria-label]': 'null',
|
|
120
120
|
'[attr.aria-labelledby]': 'null',
|
|
121
|
-
}, standalone: false, template: "<div style=\"position: relative\">\n <sp-hidden-select></sp-hidden-select>\n <button\n sp-button\n [variant]=\"variant\"\n [size]=\"size\"\n iconAlign=\"right\"\n [spPopoverTriggerFor]=\"popover\"\n spPopoverPlacement=\"bottom start\"\n #triggerElementRef\n #triggerRef=\"spPopoverTrigger\"\n (keydown)=\"handleKeyDown($event)\"\n (spPopoverTriggerOpened)=\"_onOpen()\"\n (spPopoverTriggerClosed)=\"_onClose()\"\n cdkMonitorElementFocus\n (cdkFocusChange)=\"_onFocusChange($event)\"\n aria-haspopup=\"listbox\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [disabled]=\"disabled\"\n >\n <span *ngIf=\"selectedOptions.length === 0\">\n {{ placeholder }}\n </span>\n <ng-container *ngIf=\"selectedOptions.length > 0\">\n <ng-container *ngIf=\"!selectionText\">{{\n getSelectionText()\n }}</ng-container>\n <ng-content select=\"sp-selection-text\"></ng-content>\n </ng-container>\n <sp-icon spButtonIcon name=\"chevronDown\"></sp-icon>\n </button>\n <ng-template #popover>\n <sp-popover noPadding>\n <sp-listbox\n [spListboxItems]=\"listboxChildren\"\n navigationWrapDisabled\n [multiple]=\"multiple\"\n [(selectedValues)]=\"listboxValue\"\n (selected)=\"_handleSelected()\"\n >\n </sp-listbox>\n </sp-popover>\n </ng-template>\n</div>\n", styles: [".sapphire-select{position:relative;display:block;color:var(--sapphire-semantic-color-foreground-primary);font-family:var(--sapphire-semantic-font-name-default);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-select__button{display:flex;align-items:center;height:var(--sapphire-semantic-size-height-control-lg);box-sizing:border-box;cursor:pointer;padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-md) 0 var(--sapphire-semantic-size-spacing-control-horizontal-lg);border:none;background:var(--sapphire-semantic-color-background-field);width:100%;outline:0;text-align:left;color:inherit;font-family:inherit;box-shadow:inset 0 0 0 var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-default);border-radius:var(--sapphire-semantic-size-radius-md);gap:var(--sapphire-semantic-size-spacing-sm)}.sapphire-select--md .sapphire-select__button{border-radius:var(--sapphire-semantic-size-radius-sm);height:var(--sapphire-semantic-size-height-control-md);padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-md);gap:var(--sapphire-semantic-size-spacing-xs)}.sapphire-select__value{flex:1 0 0;min-width:0;font-size:var(--sapphire-semantic-size-font-control-lg);width:100%;font-weight:var(--sapphire-semantic-font-weight-default-regular);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sapphire-select--md .sapphire-select__value{font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-select__placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sapphire-semantic-color-foreground-secondary);pointer-events:none}.sapphire-select__icon-container{line-height:0;width:var(--sapphire-semantic-size-icon-md);height:var(--sapphire-semantic-size-icon-md)}.sapphire-select--md .sapphire-select__icon-container{width:var(--sapphire-semantic-size-icon-sm);height:var(--sapphire-semantic-size-icon-sm)}.sapphire-select__prefix{display:inherit;font-size:var(--sapphire-semantic-size-font-control-lg);color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-select:not(.sapphire-select--md) .sapphire-select__button:has(.sapphire-select__prefix){padding-left:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-select--md .sapphire-select__prefix{font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-select__search-input:not([data-hidden=true]){all:inherit}.sapphire-select__search-input::placeholder{color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-select__native-select{position:absolute;inset:0;opacity:.01;width:100%;z-index:1}.sapphire-select--error:not(.is-disabled) .sapphire-select__button{box-shadow:inset 0 0 0 1px var(--sapphire-semantic-color-border-negative-default)}.sapphire-select:not(.sapphire-select--error):not(.is-focus):not(.is-disabled).is-hover .sapphire-select__button,.sapphire-select:not(.sapphire-select--error):not(.is-focus):not(.is-disabled):not(.js-hover):hover .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-hover)}.sapphire-select:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-focus-ring) var(--sapphire-semantic-color-focus-ring)}.sapphire-select--error:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-focus-ring) var(--sapphire-semantic-color-border-negative-default)}.sapphire-select.is-disabled .sapphire-select__button{cursor:not-allowed;opacity:var(--sapphire-semantic-opacity-disabled)}\n"] }]
|
|
121
|
+
}, standalone: false, template: "<div style=\"position: relative\">\n <sp-hidden-select></sp-hidden-select>\n <button\n sp-button\n [variant]=\"variant\"\n [size]=\"size\"\n iconAlign=\"right\"\n [spPopoverTriggerFor]=\"popover\"\n spPopoverPlacement=\"bottom start\"\n #triggerElementRef\n #triggerRef=\"spPopoverTrigger\"\n (keydown)=\"handleKeyDown($event)\"\n (spPopoverTriggerOpened)=\"_onOpen()\"\n (spPopoverTriggerClosed)=\"_onClose()\"\n cdkMonitorElementFocus\n (cdkFocusChange)=\"_onFocusChange($event)\"\n aria-haspopup=\"listbox\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [disabled]=\"disabled\"\n >\n <span *ngIf=\"selectedOptions.length === 0\">\n {{ placeholder }}\n </span>\n <ng-container *ngIf=\"selectedOptions.length > 0\">\n <ng-container *ngIf=\"!selectionText\">{{\n getSelectionText()\n }}</ng-container>\n <ng-content select=\"sp-selection-text\"></ng-content>\n </ng-container>\n <sp-icon spButtonIcon name=\"chevronDown\"></sp-icon>\n </button>\n <ng-template #popover>\n <sp-popover noPadding>\n <sp-listbox\n [spListboxItems]=\"listboxChildren\"\n navigationWrapDisabled\n [multiple]=\"multiple\"\n [(selectedValues)]=\"listboxValue\"\n (selected)=\"_handleSelected()\"\n >\n </sp-listbox>\n </sp-popover>\n </ng-template>\n</div>\n", styles: [".sapphire-select{position:relative;display:block;color:var(--sapphire-semantic-color-foreground-primary);font-family:var(--sapphire-semantic-font-name-default);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-select__button{display:flex;align-items:center;height:var(--sapphire-semantic-size-height-control-lg);box-sizing:border-box;cursor:pointer;padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-md) 0 var(--sapphire-semantic-size-spacing-control-horizontal-lg);border:none;background:var(--sapphire-semantic-color-background-field);width:100%;outline:0;text-align:left;color:inherit;font-family:inherit;box-shadow:inset 0 0 0 var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-default);border-radius:var(--sapphire-semantic-size-radius-md);gap:var(--sapphire-semantic-size-spacing-sm)}.sapphire-select--md .sapphire-select__button{border-radius:var(--sapphire-semantic-size-radius-sm);height:var(--sapphire-semantic-size-height-control-md);padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-md);gap:var(--sapphire-semantic-size-spacing-xs)}.sapphire-select__value{flex:1 0 0;min-width:0;font-size:var(--sapphire-semantic-size-font-control-lg);width:100%;font-weight:var(--sapphire-semantic-font-weight-default-regular);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sapphire-select--md .sapphire-select__value{font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-select__placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sapphire-semantic-color-foreground-secondary);pointer-events:none}.sapphire-select__icon-container{line-height:0;width:var(--sapphire-semantic-size-icon-md);height:var(--sapphire-semantic-size-icon-md);color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-select--md .sapphire-select__icon-container{width:var(--sapphire-semantic-size-icon-sm);height:var(--sapphire-semantic-size-icon-sm)}.sapphire-select__prefix{display:inherit;font-size:var(--sapphire-semantic-size-font-control-lg);color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-select:not(.sapphire-select--md) .sapphire-select__button:has(.sapphire-select__prefix){padding-left:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-select--md .sapphire-select__prefix{font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-select__search-input:not([data-hidden=true]){all:inherit}.sapphire-select__search-input::placeholder{color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-select__native-select{position:absolute;inset:0;opacity:.01;width:100%;z-index:1}.sapphire-select--error:not(.is-disabled) .sapphire-select__button{box-shadow:inset 0 0 0 1px var(--sapphire-semantic-color-border-negative-default)}.sapphire-select:not(.sapphire-select--error):not(.is-focus):not(.is-disabled).is-hover .sapphire-select__button,.sapphire-select:not(.sapphire-select--error):not(.is-focus):not(.is-disabled):not(.js-hover):hover .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-hover)}.sapphire-select:not(.is-disabled).is-hover .sapphire-select__icon-container,.sapphire-select:not(.is-disabled):not(.js-hover):hover .sapphire-select__icon-container{color:var(--sapphire-semantic-color-foreground-primary)}.sapphire-select:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-focus-ring) var(--sapphire-semantic-color-focus-ring)}.sapphire-select--error:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-focus-ring) var(--sapphire-semantic-color-border-negative-default)}.sapphire-select.is-disabled .sapphire-select__button{cursor:not-allowed;opacity:var(--sapphire-semantic-opacity-disabled)}.sapphire-select--open .sapphire-select__icon-container{color:var(--sapphire-semantic-color-foreground-primary)}\n"] }]
|
|
122
122
|
}], ctorParameters: function () { return [{ type: i1.SelectValueHolder }, { type: i2.FocusMonitor }, { type: i3.IconRegistry }]; }, propDecorators: { size: [{
|
|
123
123
|
type: Input
|
|
124
124
|
}], variant: [{
|
|
@@ -32,7 +32,7 @@ TextFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ver
|
|
|
32
32
|
provide: FieldControl,
|
|
33
33
|
useExisting: forwardRef(() => TextFieldComponent),
|
|
34
34
|
},
|
|
35
|
-
], queries: [{ propertyName: "inputElement", first: true, predicate: TextFieldInputDirective, descendants: true, read: ElementRef }, { propertyName: "_inputDirective", first: true, predicate: TextFieldInputDirective, descendants: true }], hostDirectives: [{ directive: i2.ThemeCheckDirective }, { directive: i3.UseComponentStylesOnHost }], ngImport: i0, template: "<ng-content\n select=\"sp-text-field-prefix\"\n *ngIf=\"!_inputDirective?.textarea\"\n></ng-content>\n<ng-content select=\"input\"></ng-content>\n<ng-content\n select=\"sp-text-field-postfix\"\n *ngIf=\"!_inputDirective?.textarea\"\n></ng-content>\n<ng-content select=\"textarea\"></ng-content>\n\n<span\n *ngIf=\"characterCounterMax !== undefined\"\n spFieldNoteSuffix\n class=\"sapphire-text-field__counter\"\n [class.sapphire-text-field__counter--error]=\"isCharacterCounterExceeded()\"\n >{{ _inputDirective?.valueLength }}/{{ characterCounterMax }}</span\n>\n", styles: [".sapphire-text-field{outline:solid var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-default);outline-offset:calc(0px - var(--sapphire-semantic-size-border-sm));box-sizing:border-box;overflow-x:hidden;display:flex;align-items:center;border-radius:var(--sapphire-semantic-size-radius-md);cursor:text;color:var(--sapphire-semantic-color-foreground-primary);background:var(--sapphire-semantic-color-background-field);height:var(--sapphire-semantic-size-height-control-lg);font-family:var(--sapphire-semantic-font-name-default);font-size:var(--sapphire-semantic-size-font-control-lg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-text-field--md{border-radius:var(--sapphire-semantic-size-radius-sm);height:var(--sapphire-semantic-size-height-control-md);font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-text-field__input{box-sizing:border-box;width:100%;height:100%;margin:0;padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-lg);line-height:var(--sapphire-semantic-size-line-height-md);font-family:inherit;font-size:inherit;font-weight:var(--sapphire-semantic-font-weight-default-regular);color:inherit;background:transparent;border:none;outline:none}.sapphire-text-field--md .sapphire-text-field__input{padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field__input::placeholder{opacity:1;color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-text-field__input--align-right{text-align:right}.sapphire-text-field:not(.sapphire-text-field--multiline){gap:var(--sapphire-semantic-size-spacing-sm)}.sapphire-text-field--md:not(.sapphire-text-field--multiline){gap:var(--sapphire-semantic-size-spacing-xs)}.sapphire-text-field:has(.sapphire-text-field__prefix) .sapphire-text-field__input{padding-left:0}.sapphire-text-field .sapphire-text-field__prefix{color:var(--sapphire-semantic-color-foreground-secondary);flex-shrink:0;z-index:1;margin-left:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field--md .sapphire-text-field__prefix{margin-left:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field:has(.sapphire-text-field__postfix) .sapphire-text-field__input{padding-right:0}.sapphire-text-field .sapphire-text-field__postfix{color:var(--sapphire-semantic-color-foreground-secondary);flex-shrink:0;z-index:1;margin-right:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field--md .sapphire-text-field__postfix{margin-right:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field .sapphire-text-field__prefix--icon,.sapphire-text-field .sapphire-text-field__postfix--icon{width:var(--sapphire-semantic-size-icon-md);height:var(--sapphire-semantic-size-icon-md)}.sapphire-text-field--md .sapphire-text-field__prefix--icon,.sapphire-text-field--md .sapphire-text-field__postfix--icon{width:var(--sapphire-semantic-size-icon-sm);height:var(--sapphire-semantic-size-icon-sm)}.sapphire-text-field--multiline{display:block;line-height:0;height:unset;padding:0}.sapphire-text-field--multiline .sapphire-text-field__input{resize:none;width:100%;padding:var(--sapphire-semantic-size-spacing-control-vertical-lg) var(--sapphire-semantic-size-spacing-control-horizontal-lg);scroll-padding-bottom:var(--sapphire-semantic-size-spacing-control-vertical-lg)}.sapphire-text-field--md
|
|
35
|
+
], queries: [{ propertyName: "inputElement", first: true, predicate: TextFieldInputDirective, descendants: true, read: ElementRef }, { propertyName: "_inputDirective", first: true, predicate: TextFieldInputDirective, descendants: true }], hostDirectives: [{ directive: i2.ThemeCheckDirective }, { directive: i3.UseComponentStylesOnHost }], ngImport: i0, template: "<ng-content\n select=\"sp-text-field-prefix\"\n *ngIf=\"!_inputDirective?.textarea\"\n></ng-content>\n<ng-content select=\"input\"></ng-content>\n<ng-content\n select=\"sp-text-field-postfix\"\n *ngIf=\"!_inputDirective?.textarea\"\n></ng-content>\n<ng-content select=\"textarea\"></ng-content>\n\n<span\n *ngIf=\"characterCounterMax !== undefined\"\n spFieldNoteSuffix\n class=\"sapphire-text-field__counter\"\n [class.sapphire-text-field__counter--error]=\"isCharacterCounterExceeded()\"\n >{{ _inputDirective?.valueLength }}/{{ characterCounterMax }}</span\n>\n", styles: [".sapphire-text-field{outline:solid var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-default);outline-offset:calc(0px - var(--sapphire-semantic-size-border-sm));box-sizing:border-box;overflow-x:hidden;display:flex;align-items:center;border-radius:var(--sapphire-semantic-size-radius-md);cursor:text;color:var(--sapphire-semantic-color-foreground-primary);background:var(--sapphire-semantic-color-background-field);height:var(--sapphire-semantic-size-height-control-lg);font-family:var(--sapphire-semantic-font-name-default);font-size:var(--sapphire-semantic-size-font-control-lg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-text-field--md{border-radius:var(--sapphire-semantic-size-radius-sm);height:var(--sapphire-semantic-size-height-control-md);font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-text-field__input{box-sizing:border-box;width:100%;height:100%;margin:0;padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-lg);line-height:var(--sapphire-semantic-size-line-height-md);font-family:inherit;font-size:inherit;font-weight:var(--sapphire-semantic-font-weight-default-regular);color:inherit;background:transparent;border:none;outline:none}.sapphire-text-field--md .sapphire-text-field__input{padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field__input::placeholder{opacity:1;color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-text-field__input--align-right{text-align:right}.sapphire-text-field:not(.sapphire-text-field--multiline){gap:var(--sapphire-semantic-size-spacing-sm)}.sapphire-text-field--md:not(.sapphire-text-field--multiline){gap:var(--sapphire-semantic-size-spacing-xs)}.sapphire-text-field:has(.sapphire-text-field__prefix) .sapphire-text-field__input{padding-left:0}.sapphire-text-field .sapphire-text-field__prefix{color:var(--sapphire-semantic-color-foreground-secondary);flex-shrink:0;z-index:1;margin-left:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field--md .sapphire-text-field__prefix{margin-left:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field:has(.sapphire-text-field__postfix) .sapphire-text-field__input{padding-right:0}.sapphire-text-field .sapphire-text-field__postfix{color:var(--sapphire-semantic-color-foreground-secondary);flex-shrink:0;z-index:1;margin-right:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field--md .sapphire-text-field__postfix{margin-right:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field .sapphire-text-field__prefix--icon,.sapphire-text-field .sapphire-text-field__postfix--icon{width:var(--sapphire-semantic-size-icon-md);height:var(--sapphire-semantic-size-icon-md)}.sapphire-text-field--md .sapphire-text-field__prefix--icon,.sapphire-text-field--md .sapphire-text-field__postfix--icon{width:var(--sapphire-semantic-size-icon-sm);height:var(--sapphire-semantic-size-icon-sm)}.sapphire-text-field--multiline{display:block;line-height:0;height:unset;padding:0}.sapphire-text-field--multiline .sapphire-text-field__input{resize:none;width:100%;padding:var(--sapphire-semantic-size-spacing-control-vertical-lg) var(--sapphire-semantic-size-spacing-control-horizontal-lg);scroll-padding-bottom:var(--sapphire-semantic-size-spacing-control-vertical-lg)}.sapphire-text-field--md.sapphire-text-field--multiline .sapphire-text-field__input{padding:var(--sapphire-semantic-size-spacing-control-vertical-md) var(--sapphire-semantic-size-spacing-control-horizontal-md);scroll-padding-bottom:var(--sapphire-semantic-size-spacing-control-vertical-md)}.sapphire-text-field--multiline.sapphire-text-field--resizable .sapphire-text-field__input{resize:vertical}.sapphire-text-field--multiline.sapphire-text-field--resizable .sapphire-text-field__input::-webkit-resizer{-webkit-appearance:none;background-image:url(\"data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7.81501 0.184985C8.06166 0.431632 8.06166 0.831526 7.81501 1.07817L1.07817 7.81501C0.831526 8.06166 0.431632 8.06166 0.184985 7.81501C-0.0616617 7.56837 -0.0616617 7.16847 0.184985 6.92183L6.92183 0.184985C7.16847 -0.0616617 7.56837 -0.0616617 7.81501 0.184985ZM7.81501 4.39551C8.06166 4.64216 8.06166 5.04205 7.81501 5.2887L5.2887 7.81501C5.04205 8.06166 4.64216 8.06166 4.39551 7.81501C4.14886 7.56837 4.14886 7.16847 4.39551 6.92183L6.92183 4.39551C7.16847 4.14886 7.56837 4.14886 7.81501 4.39551Z' fill='%23002346' fill-opacity='0.64'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:right var(--sapphire-semantic-size-spacing-3xs) bottom var(--sapphire-semantic-size-spacing-3xs)}.sapphire-text-field__counter{color:var(--sapphire-semantic-color-foreground-secondary);margin-left:auto}.sapphire-text-field__counter--error{color:var(--sapphire-semantic-color-foreground-negative)}.sapphire-text-field--error{outline:solid var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-negative-default)}.sapphire-text-field:has(input[disabled]),.sapphire-text-field:has(textarea[disabled]){cursor:not-allowed;opacity:var(--sapphire-semantic-opacity-disabled)}.sapphire-text-field:not(:has(input[disabled])):not(:has(textarea[disabled])):not(.sapphire-text-field--error):not(.is-focus):not(:focus-within).is-hover,.sapphire-text-field:not(:has(input[disabled])):not(:has(textarea[disabled])):not(.sapphire-text-field--error):not(.is-focus):not(:focus-within):not(.js-hover):hover{outline:solid var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-hover)}.sapphire-text-field.is-focus,.sapphire-text-field:focus-within{outline:solid var(--sapphire-semantic-size-focus-ring) var(--sapphire-semantic-color-focus-ring);outline-offset:calc(0px - var(--sapphire-semantic-size-focus-ring))}.sapphire-text-field:has(button:focus){outline:solid var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-default);outline-offset:calc(0px - var(--sapphire-semantic-size-border-sm))}.sapphire-text-field.is-focus .sapphire-text-field__input:autofill,.sapphire-text-field:focus-within .sapphire-text-field__input:autofill{box-shadow:0 0 0 var(--sapphire-semantic-size-height-control-lg) inset var(--sapphire-semantic-color-background-field)!important}.sapphire-text-field__stepper{display:flex;flex-direction:row;justify-items:stretch;padding:var(--sapphire-semantic-size-spacing-sm) calc(var(--sapphire-semantic-size-spacing-sm) + var(--sapphire-semantic-size-border-sm));gap:var(--sapphire-semantic-size-spacing-sm)}.sapphire-text-field:has(.sapphire-text-field__stepper) .sapphire-text-field__postfix{margin-right:0}.sapphire-text-field__stepper-button{display:flex;align-items:center;justify-content:center;width:var(--sapphire-semantic-size-icon-md);margin:0;padding:0;max-width:-moz-fit-content;max-width:fit-content;flex-shrink:0;border-radius:var(--sapphire-semantic-size-radius-sm);border-style:solid;border-width:0;border-color:transparent;transition-property:opacity,background-color,color;transition-duration:var(--sapphire-semantic-time-fade-quick);transition-timing-function:var(--sapphire-semantic-transitions-fade);cursor:pointer;background:none;color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-text-field__stepper-button:not(:active):not(.is-active):not(.js-hover):hover,.sapphire-text-field__stepper-button:not(:active):not(.is-active).is-hover{color:var(--sapphire-semantic-color-foreground-primary)}.sapphire-text-field__stepper-button.is-active,.sapphire-text-field__stepper-button:active{color:var(--sapphire-semantic-color-foreground-primary)}.sapphire-text-field--md.sapphire-text-field__stepper-button{width:var(--sapphire-semantic-size-icon-sm)}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.FieldNoteSuffixDirective, selector: "[spFieldNoteSuffix]" }] });
|
|
36
36
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: TextFieldComponent, decorators: [{
|
|
37
37
|
type: Component,
|
|
38
38
|
args: [{ selector: 'sp-text-field', host: {
|
|
@@ -45,7 +45,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
45
45
|
provide: FieldControl,
|
|
46
46
|
useExisting: forwardRef(() => TextFieldComponent),
|
|
47
47
|
},
|
|
48
|
-
], hostDirectives: [ThemeCheckDirective, UseComponentStylesOnHost], standalone: false, template: "<ng-content\n select=\"sp-text-field-prefix\"\n *ngIf=\"!_inputDirective?.textarea\"\n></ng-content>\n<ng-content select=\"input\"></ng-content>\n<ng-content\n select=\"sp-text-field-postfix\"\n *ngIf=\"!_inputDirective?.textarea\"\n></ng-content>\n<ng-content select=\"textarea\"></ng-content>\n\n<span\n *ngIf=\"characterCounterMax !== undefined\"\n spFieldNoteSuffix\n class=\"sapphire-text-field__counter\"\n [class.sapphire-text-field__counter--error]=\"isCharacterCounterExceeded()\"\n >{{ _inputDirective?.valueLength }}/{{ characterCounterMax }}</span\n>\n", styles: [".sapphire-text-field{outline:solid var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-default);outline-offset:calc(0px - var(--sapphire-semantic-size-border-sm));box-sizing:border-box;overflow-x:hidden;display:flex;align-items:center;border-radius:var(--sapphire-semantic-size-radius-md);cursor:text;color:var(--sapphire-semantic-color-foreground-primary);background:var(--sapphire-semantic-color-background-field);height:var(--sapphire-semantic-size-height-control-lg);font-family:var(--sapphire-semantic-font-name-default);font-size:var(--sapphire-semantic-size-font-control-lg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-text-field--md{border-radius:var(--sapphire-semantic-size-radius-sm);height:var(--sapphire-semantic-size-height-control-md);font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-text-field__input{box-sizing:border-box;width:100%;height:100%;margin:0;padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-lg);line-height:var(--sapphire-semantic-size-line-height-md);font-family:inherit;font-size:inherit;font-weight:var(--sapphire-semantic-font-weight-default-regular);color:inherit;background:transparent;border:none;outline:none}.sapphire-text-field--md .sapphire-text-field__input{padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field__input::placeholder{opacity:1;color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-text-field__input--align-right{text-align:right}.sapphire-text-field:not(.sapphire-text-field--multiline){gap:var(--sapphire-semantic-size-spacing-sm)}.sapphire-text-field--md:not(.sapphire-text-field--multiline){gap:var(--sapphire-semantic-size-spacing-xs)}.sapphire-text-field:has(.sapphire-text-field__prefix) .sapphire-text-field__input{padding-left:0}.sapphire-text-field .sapphire-text-field__prefix{color:var(--sapphire-semantic-color-foreground-secondary);flex-shrink:0;z-index:1;margin-left:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field--md .sapphire-text-field__prefix{margin-left:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field:has(.sapphire-text-field__postfix) .sapphire-text-field__input{padding-right:0}.sapphire-text-field .sapphire-text-field__postfix{color:var(--sapphire-semantic-color-foreground-secondary);flex-shrink:0;z-index:1;margin-right:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field--md .sapphire-text-field__postfix{margin-right:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field .sapphire-text-field__prefix--icon,.sapphire-text-field .sapphire-text-field__postfix--icon{width:var(--sapphire-semantic-size-icon-md);height:var(--sapphire-semantic-size-icon-md)}.sapphire-text-field--md .sapphire-text-field__prefix--icon,.sapphire-text-field--md .sapphire-text-field__postfix--icon{width:var(--sapphire-semantic-size-icon-sm);height:var(--sapphire-semantic-size-icon-sm)}.sapphire-text-field--multiline{display:block;line-height:0;height:unset;padding:0}.sapphire-text-field--multiline .sapphire-text-field__input{resize:none;width:100%;padding:var(--sapphire-semantic-size-spacing-control-vertical-lg) var(--sapphire-semantic-size-spacing-control-horizontal-lg);scroll-padding-bottom:var(--sapphire-semantic-size-spacing-control-vertical-lg)}.sapphire-text-field--md
|
|
48
|
+
], hostDirectives: [ThemeCheckDirective, UseComponentStylesOnHost], standalone: false, template: "<ng-content\n select=\"sp-text-field-prefix\"\n *ngIf=\"!_inputDirective?.textarea\"\n></ng-content>\n<ng-content select=\"input\"></ng-content>\n<ng-content\n select=\"sp-text-field-postfix\"\n *ngIf=\"!_inputDirective?.textarea\"\n></ng-content>\n<ng-content select=\"textarea\"></ng-content>\n\n<span\n *ngIf=\"characterCounterMax !== undefined\"\n spFieldNoteSuffix\n class=\"sapphire-text-field__counter\"\n [class.sapphire-text-field__counter--error]=\"isCharacterCounterExceeded()\"\n >{{ _inputDirective?.valueLength }}/{{ characterCounterMax }}</span\n>\n", styles: [".sapphire-text-field{outline:solid var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-default);outline-offset:calc(0px - var(--sapphire-semantic-size-border-sm));box-sizing:border-box;overflow-x:hidden;display:flex;align-items:center;border-radius:var(--sapphire-semantic-size-radius-md);cursor:text;color:var(--sapphire-semantic-color-foreground-primary);background:var(--sapphire-semantic-color-background-field);height:var(--sapphire-semantic-size-height-control-lg);font-family:var(--sapphire-semantic-font-name-default);font-size:var(--sapphire-semantic-size-font-control-lg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-text-field--md{border-radius:var(--sapphire-semantic-size-radius-sm);height:var(--sapphire-semantic-size-height-control-md);font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-text-field__input{box-sizing:border-box;width:100%;height:100%;margin:0;padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-lg);line-height:var(--sapphire-semantic-size-line-height-md);font-family:inherit;font-size:inherit;font-weight:var(--sapphire-semantic-font-weight-default-regular);color:inherit;background:transparent;border:none;outline:none}.sapphire-text-field--md .sapphire-text-field__input{padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field__input::placeholder{opacity:1;color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-text-field__input--align-right{text-align:right}.sapphire-text-field:not(.sapphire-text-field--multiline){gap:var(--sapphire-semantic-size-spacing-sm)}.sapphire-text-field--md:not(.sapphire-text-field--multiline){gap:var(--sapphire-semantic-size-spacing-xs)}.sapphire-text-field:has(.sapphire-text-field__prefix) .sapphire-text-field__input{padding-left:0}.sapphire-text-field .sapphire-text-field__prefix{color:var(--sapphire-semantic-color-foreground-secondary);flex-shrink:0;z-index:1;margin-left:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field--md .sapphire-text-field__prefix{margin-left:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field:has(.sapphire-text-field__postfix) .sapphire-text-field__input{padding-right:0}.sapphire-text-field .sapphire-text-field__postfix{color:var(--sapphire-semantic-color-foreground-secondary);flex-shrink:0;z-index:1;margin-right:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field--md .sapphire-text-field__postfix{margin-right:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field .sapphire-text-field__prefix--icon,.sapphire-text-field .sapphire-text-field__postfix--icon{width:var(--sapphire-semantic-size-icon-md);height:var(--sapphire-semantic-size-icon-md)}.sapphire-text-field--md .sapphire-text-field__prefix--icon,.sapphire-text-field--md .sapphire-text-field__postfix--icon{width:var(--sapphire-semantic-size-icon-sm);height:var(--sapphire-semantic-size-icon-sm)}.sapphire-text-field--multiline{display:block;line-height:0;height:unset;padding:0}.sapphire-text-field--multiline .sapphire-text-field__input{resize:none;width:100%;padding:var(--sapphire-semantic-size-spacing-control-vertical-lg) var(--sapphire-semantic-size-spacing-control-horizontal-lg);scroll-padding-bottom:var(--sapphire-semantic-size-spacing-control-vertical-lg)}.sapphire-text-field--md.sapphire-text-field--multiline .sapphire-text-field__input{padding:var(--sapphire-semantic-size-spacing-control-vertical-md) var(--sapphire-semantic-size-spacing-control-horizontal-md);scroll-padding-bottom:var(--sapphire-semantic-size-spacing-control-vertical-md)}.sapphire-text-field--multiline.sapphire-text-field--resizable .sapphire-text-field__input{resize:vertical}.sapphire-text-field--multiline.sapphire-text-field--resizable .sapphire-text-field__input::-webkit-resizer{-webkit-appearance:none;background-image:url(\"data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7.81501 0.184985C8.06166 0.431632 8.06166 0.831526 7.81501 1.07817L1.07817 7.81501C0.831526 8.06166 0.431632 8.06166 0.184985 7.81501C-0.0616617 7.56837 -0.0616617 7.16847 0.184985 6.92183L6.92183 0.184985C7.16847 -0.0616617 7.56837 -0.0616617 7.81501 0.184985ZM7.81501 4.39551C8.06166 4.64216 8.06166 5.04205 7.81501 5.2887L5.2887 7.81501C5.04205 8.06166 4.64216 8.06166 4.39551 7.81501C4.14886 7.56837 4.14886 7.16847 4.39551 6.92183L6.92183 4.39551C7.16847 4.14886 7.56837 4.14886 7.81501 4.39551Z' fill='%23002346' fill-opacity='0.64'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:right var(--sapphire-semantic-size-spacing-3xs) bottom var(--sapphire-semantic-size-spacing-3xs)}.sapphire-text-field__counter{color:var(--sapphire-semantic-color-foreground-secondary);margin-left:auto}.sapphire-text-field__counter--error{color:var(--sapphire-semantic-color-foreground-negative)}.sapphire-text-field--error{outline:solid var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-negative-default)}.sapphire-text-field:has(input[disabled]),.sapphire-text-field:has(textarea[disabled]){cursor:not-allowed;opacity:var(--sapphire-semantic-opacity-disabled)}.sapphire-text-field:not(:has(input[disabled])):not(:has(textarea[disabled])):not(.sapphire-text-field--error):not(.is-focus):not(:focus-within).is-hover,.sapphire-text-field:not(:has(input[disabled])):not(:has(textarea[disabled])):not(.sapphire-text-field--error):not(.is-focus):not(:focus-within):not(.js-hover):hover{outline:solid var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-hover)}.sapphire-text-field.is-focus,.sapphire-text-field:focus-within{outline:solid var(--sapphire-semantic-size-focus-ring) var(--sapphire-semantic-color-focus-ring);outline-offset:calc(0px - var(--sapphire-semantic-size-focus-ring))}.sapphire-text-field:has(button:focus){outline:solid var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-default);outline-offset:calc(0px - var(--sapphire-semantic-size-border-sm))}.sapphire-text-field.is-focus .sapphire-text-field__input:autofill,.sapphire-text-field:focus-within .sapphire-text-field__input:autofill{box-shadow:0 0 0 var(--sapphire-semantic-size-height-control-lg) inset var(--sapphire-semantic-color-background-field)!important}.sapphire-text-field__stepper{display:flex;flex-direction:row;justify-items:stretch;padding:var(--sapphire-semantic-size-spacing-sm) calc(var(--sapphire-semantic-size-spacing-sm) + var(--sapphire-semantic-size-border-sm));gap:var(--sapphire-semantic-size-spacing-sm)}.sapphire-text-field:has(.sapphire-text-field__stepper) .sapphire-text-field__postfix{margin-right:0}.sapphire-text-field__stepper-button{display:flex;align-items:center;justify-content:center;width:var(--sapphire-semantic-size-icon-md);margin:0;padding:0;max-width:-moz-fit-content;max-width:fit-content;flex-shrink:0;border-radius:var(--sapphire-semantic-size-radius-sm);border-style:solid;border-width:0;border-color:transparent;transition-property:opacity,background-color,color;transition-duration:var(--sapphire-semantic-time-fade-quick);transition-timing-function:var(--sapphire-semantic-transitions-fade);cursor:pointer;background:none;color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-text-field__stepper-button:not(:active):not(.is-active):not(.js-hover):hover,.sapphire-text-field__stepper-button:not(:active):not(.is-active).is-hover{color:var(--sapphire-semantic-color-foreground-primary)}.sapphire-text-field__stepper-button.is-active,.sapphire-text-field__stepper-button:active{color:var(--sapphire-semantic-color-foreground-primary)}.sapphire-text-field--md.sapphire-text-field__stepper-button{width:var(--sapphire-semantic-size-icon-sm)}\n"] }]
|
|
49
49
|
}], ctorParameters: function () { return [{ type: i1.FieldComponent, decorators: [{
|
|
50
50
|
type: Optional
|
|
51
51
|
}] }]; }, propDecorators: { characterCounterMax: [{
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// import { SapphireOverlayContainer } from './sapphire-overlay-container.service';
|
|
2
1
|
import { Directive, Optional, SkipSelf, } from '@angular/core';
|
|
3
2
|
import { SapphireOverlay } from './sapphire-overlay.service';
|
|
4
3
|
import * as i0 from "@angular/core";
|
|
@@ -44,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
44
43
|
}, {
|
|
45
44
|
type: SkipSelf
|
|
46
45
|
}] }]; } });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtYmFzZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3RoZW1lL3NyYy90aGVtZS1iYXNlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFFBQVEsRUFFUixRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFRN0QsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixZQUNVLFVBQW1DLEVBQ25DLFFBQW1CLEVBQ25CLFFBQTBCLEVBQ1YsV0FBK0I7UUFIL0MsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixhQUFRLEdBQVIsUUFBUSxDQUFrQjtRQUdsQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzlCO0lBQ0gsQ0FBQztJQUVELGNBQWMsQ0FBQyxPQUFvQjtRQUNqQyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUM7UUFDNUQsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDdEQsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6QyxJQUFJLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUN6QyxPQUFPLFNBQVMsRUFBRSxJQUFJLENBQUM7YUFDeEI7U0FDRjtRQUNELE1BQU0sSUFBSSxLQUFLLENBQ2IsMkRBQTJELENBQzVELENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQXlCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixFQUFFLEtBQUssS0FBSyxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDbEUsQ0FBQzs7K0dBL0JVLGtCQUFrQjttR0FBbEIsa0JBQWtCLCtEQUZsQixDQUFDLGVBQWUsQ0FBQzsyRkFFakIsa0JBQWtCO2tCQU45QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLGFBQWE7b0JBQ2IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFNBQVMsRUFBRSxDQUFDLGVBQWUsQ0FBQztpQkFDN0I7OzBCQU1JLFFBQVE7OzBCQUFJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIE9wdGlvbmFsLFxuICBSZW5kZXJlcjIsXG4gIFNraXBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRvcExldmVsVGhlbWVSZWYgfSBmcm9tICcuL3RvcC1sZXZlbC10aGVtZS1yZWYuc2VydmljZSc7XG5pbXBvcnQgeyBTYXBwaGlyZU92ZXJsYXkgfSBmcm9tICcuL3NhcHBoaXJlLW92ZXJsYXkuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tfc3AtdGhlbWUtYmFzZV0nLCAvLyBzZWxlY3RvciBpcyBhZGRlZCB0byBwcmV2ZW50IHRoZSB0eXBlIGVycm9yLiBXZSBkb24ndCBkaXJlY3RseSByZW5kZXIgdGhpc1xuICAvLyBkaXJlY3RpdmUuXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHByb3ZpZGVyczogW1NhcHBoaXJlT3ZlcmxheV0sXG59KVxuZXhwb3J0IGNsYXNzIFRoZW1lQmFzZURpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgdGhlbWVSZWY6IFRvcExldmVsVGhlbWVSZWYsXG4gICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgcGFyZW50VGhlbWU6IFRoZW1lQmFzZURpcmVjdGl2ZVxuICApIHtcbiAgICBpZiAoIXBhcmVudFRoZW1lKSB7XG4gICAgICB0aGlzLnRoZW1lUmVmLnNldFRoZW1lKHRoaXMpO1xuICAgIH1cbiAgfVxuXG4gIGFwcGx5T25Eb21Ob2RlKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoZWxlbWVudCwgdGhpcy5nZXRVbmlxdWVBdHRyaWJ1dGUoKSwgJycpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRVbmlxdWVBdHRyaWJ1dGUoKSB7XG4gICAgY29uc3QgYXR0cmlidXRlcyA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmF0dHJpYnV0ZXM7XG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGF0dHJpYnV0ZXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICBjb25zdCBhdHRyaWJ1dGUgPSBhdHRyaWJ1dGVzLml0ZW0oaW5kZXgpO1xuICAgICAgaWYgKGF0dHJpYnV0ZT8ubmFtZS5zdGFydHNXaXRoKCdfbmdob3N0JykpIHtcbiAgICAgICAgcmV0dXJuIGF0dHJpYnV0ZT8ubmFtZTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ0NvdWxkIG5vdCBnZXQgdW5pcXVlIGF0dHJpYnV0ZSBmb3IgZm9yIHRoZSBzYXBwaGlyZSB0aGVtZSdcbiAgICApO1xuICB9XG5cbiAgZXF1YWxzKHRoZW1lOiBUaGVtZUJhc2VEaXJlY3RpdmUpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRVbmlxdWVBdHRyaWJ1dGUoKSA9PT0gdGhlbWUuZ2V0VW5pcXVlQXR0cmlidXRlKCk7XG4gIH1cbn1cbiJdfQ==
|