@spartan-ng/brain 0.0.1-alpha.399 → 0.0.1-alpha.401
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/command/lib/brn-command.directive.mjs +9 -2
- package/esm2022/menu/lib/brn-menu.directive.mjs +7 -1
- package/esm2022/radio-group/lib/brn-radio.component.mjs +19 -13
- package/esm2022/select/lib/brn-select-content.component.mjs +5 -5
- package/fesm2022/spartan-ng-brain-command.mjs +7 -0
- package/fesm2022/spartan-ng-brain-command.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-menu.mjs +6 -0
- package/fesm2022/spartan-ng-brain-menu.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-radio-group.mjs +18 -12
- package/fesm2022/spartan-ng-brain-radio-group.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-select.mjs +4 -4
- package/fesm2022/spartan-ng-brain-select.mjs.map +1 -1
- package/package.json +1 -1
- package/radio-group/lib/brn-radio.component.d.ts +2 -1
- package/select/lib/brn-select-content.component.d.ts +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';
|
|
2
2
|
import { isPlatformBrowser } from '@angular/common';
|
|
3
|
-
import { computed, contentChild, contentChildren, Directive, HostListener, inject, Injector, input, PLATFORM_ID, } from '@angular/core';
|
|
3
|
+
import { computed, contentChild, contentChildren, Directive, effect, HostListener, inject, Injector, input, PLATFORM_ID, } from '@angular/core';
|
|
4
4
|
import { BrnCommandItemToken } from './brn-command-item.token';
|
|
5
5
|
import { BrnCommandSearchInputDirective } from './brn-command-search-input.directive';
|
|
6
6
|
import { provideBrnCommand } from './brn-command.token';
|
|
@@ -34,6 +34,13 @@ export class BrnCommandDirective {
|
|
|
34
34
|
.withWrap()
|
|
35
35
|
.withTypeAhead()
|
|
36
36
|
.skipPredicate((item) => item.disabled || !item.visible());
|
|
37
|
+
// When clearing the search input we also want to reset the active item to the first one
|
|
38
|
+
effect(() => {
|
|
39
|
+
const searchInput = this._searchInput()?.value();
|
|
40
|
+
if (searchInput !== undefined && searchInput.length === 0) {
|
|
41
|
+
this.keyManager.setActiveItem(0);
|
|
42
|
+
}
|
|
43
|
+
}, { allowSignalWrites: true });
|
|
37
44
|
}
|
|
38
45
|
ngAfterViewInit() {
|
|
39
46
|
if (isPlatformBrowser(this._platform) && this.items().length) {
|
|
@@ -60,4 +67,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
60
67
|
type: HostListener,
|
|
61
68
|
args: ['keydown.enter']
|
|
62
69
|
}] } });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWNvbW1hbmQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9jb21tYW5kL3NyYy9saWIvYnJuLWNvbW1hbmQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFFTixRQUFRLEVBQ1IsWUFBWSxFQUNaLGVBQWUsRUFDZixTQUFTLEVBQ1QsTUFBTSxFQUNOLFlBQVksRUFDWixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFDTCxXQUFXLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBVXhELE1BQU0sT0FBTyxtQkFBbUI7SUFDdkIsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFFTixTQUFTLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRWhDLFNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFOUMsNEJBQTRCO0lBQ1osRUFBRSxHQUFHLEtBQUssQ0FBUyxlQUFlLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUUvRSxrQ0FBa0M7SUFDakIsY0FBYyxHQUFHLENBQUMsS0FBYSxFQUFFLE1BQWMsRUFBRSxFQUFFLENBQ25FLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFFcEQsc0RBQXNEO0lBQ3RDLE1BQU0sR0FBRyxLQUFLLENBQWdCLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUVuRSxpQ0FBaUM7SUFDakIsTUFBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFFNUUseUNBQXlDO0lBQ3hCLFlBQVksR0FBRyxZQUFZLENBQUMsOEJBQThCLEVBQUU7UUFDNUUsV0FBVyxFQUFFLElBQUk7S0FDakIsQ0FBQyxDQUFDO0lBRUgseURBQXlEO0lBQ3pDLEtBQUssR0FBRyxlQUFlLENBQUMsbUJBQW1CLEVBQUU7UUFDNUQsV0FBVyxFQUFFLElBQUk7S0FDakIsQ0FBQyxDQUFDO0lBRUgsK0RBQStEO0lBQy9DLFVBQVUsR0FBRyxJQUFJLDBCQUEwQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRXhGO1FBQ0MsSUFBSSxDQUFDLFVBQVU7YUFDYix1QkFBdUIsRUFBRTthQUN6QixjQUFjLEVBQUU7YUFDaEIsUUFBUSxFQUFFO2FBQ1YsYUFBYSxFQUFFO2FBQ2YsYUFBYSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFFNUQsd0ZBQXdGO1FBQ3hGLE1BQU0sQ0FDTCxHQUFHLEVBQUU7WUFDSixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDakQsSUFBSSxXQUFXLEtBQUssU0FBUyxJQUFJLFdBQVcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzNELElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xDLENBQUM7UUFDRixDQUFDLEVBQ0QsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FDM0IsQ0FBQztJQUNILENBQUM7SUFFRCxlQUFlO1FBQ2QsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzlELElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLENBQUM7SUFDRixDQUFDO0lBR1MsZ0JBQWdCO1FBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM3QyxDQUFDOzBIQTlEVyxtQkFBbUI7OEdBQW5CLG1CQUFtQiwrWUFMcEIsQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLG9FQTBCTiw4QkFBOEIsMkVBS25DLG1CQUFtQjs7MkZBMUIvQyxtQkFBbUI7a0JBUi9CLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixTQUFTLEVBQUUsQ0FBQyxpQkFBaUIscUJBQXFCLENBQUM7b0JBQ25ELElBQUksRUFBRTt3QkFDTCxNQUFNLEVBQUUsTUFBTTtxQkFDZDtpQkFDRDt3REE2RFUsZ0JBQWdCO3NCQUR6QixZQUFZO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG5cdEFmdGVyVmlld0luaXQsXG5cdGNvbXB1dGVkLFxuXHRjb250ZW50Q2hpbGQsXG5cdGNvbnRlbnRDaGlsZHJlbixcblx0RGlyZWN0aXZlLFxuXHRlZmZlY3QsXG5cdEhvc3RMaXN0ZW5lcixcblx0aW5qZWN0LFxuXHRJbmplY3Rvcixcblx0aW5wdXQsXG5cdFBMQVRGT1JNX0lELFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJybkNvbW1hbmRJdGVtVG9rZW4gfSBmcm9tICcuL2Jybi1jb21tYW5kLWl0ZW0udG9rZW4nO1xuaW1wb3J0IHsgQnJuQ29tbWFuZFNlYXJjaElucHV0RGlyZWN0aXZlIH0gZnJvbSAnLi9icm4tY29tbWFuZC1zZWFyY2gtaW5wdXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IHByb3ZpZGVCcm5Db21tYW5kIH0gZnJvbSAnLi9icm4tY29tbWFuZC50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ1ticm5Db21tYW5kXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHByb3ZpZGVyczogW3Byb3ZpZGVCcm5Db21tYW5kKEJybkNvbW1hbmREaXJlY3RpdmUpXSxcblx0aG9zdDoge1xuXHRcdCdbaWRdJzogJ2lkKCknLFxuXHR9LFxufSlcbmV4cG9ydCBjbGFzcyBCcm5Db21tYW5kRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cdHByaXZhdGUgc3RhdGljIF9pZCA9IDA7XG5cblx0cHJpdmF0ZSByZWFkb25seSBfcGxhdGZvcm0gPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuXG5cdHByaXZhdGUgcmVhZG9ubHkgX2luamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuXHQvKiogVGhlIGlkIG9mIHRoZSBjb21tYW5kICovXG5cdHB1YmxpYyByZWFkb25seSBpZCA9IGlucHV0PHN0cmluZz4oYGJybi1jb21tYW5kLSR7QnJuQ29tbWFuZERpcmVjdGl2ZS5faWQrK31gKTtcblxuXHQvKiogVGhlIGRlZmF1bHQgZmlsdGVyIGZ1bmN0aW9uICovXG5cdHByaXZhdGUgcmVhZG9ubHkgX2RlZmF1bHRGaWx0ZXIgPSAodmFsdWU6IHN0cmluZywgc2VhcmNoOiBzdHJpbmcpID0+XG5cdFx0dmFsdWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2gudG9Mb3dlckNhc2UoKSk7XG5cblx0LyoqIEEgY3VzdG9tIGZpbHRlciBmdW5jdGlvbiB0byB1c2Ugd2hlbiBzZWFyY2hpbmcuICovXG5cdHB1YmxpYyByZWFkb25seSBmaWx0ZXIgPSBpbnB1dDxDb21tYW5kRmlsdGVyPih0aGlzLl9kZWZhdWx0RmlsdGVyKTtcblxuXHQvKiogQGludGVybmFsIFRoZSBzZWFyY2ggcXVlcnkgKi9cblx0cHVibGljIHJlYWRvbmx5IHNlYXJjaCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuX3NlYXJjaElucHV0KCk/LnZhbHVlKCkgPz8gJycpO1xuXG5cdC8qKiBBY2Nlc3MgdGhlIHNlYXJjaCBpbnB1dCBpZiBwcmVzZW50ICovXG5cdHByaXZhdGUgcmVhZG9ubHkgX3NlYXJjaElucHV0ID0gY29udGVudENoaWxkKEJybkNvbW1hbmRTZWFyY2hJbnB1dERpcmVjdGl2ZSwge1xuXHRcdGRlc2NlbmRhbnRzOiB0cnVlLFxuXHR9KTtcblxuXHQvKiogQGludGVybmFsIEFjY2VzcyBhbGwgdGhlIGl0ZW1zIHdpdGhpbiB0aGUgY29tbW1hbmQgKi9cblx0cHVibGljIHJlYWRvbmx5IGl0ZW1zID0gY29udGVudENoaWxkcmVuKEJybkNvbW1hbmRJdGVtVG9rZW4sIHtcblx0XHRkZXNjZW5kYW50czogdHJ1ZSxcblx0fSk7XG5cblx0LyoqIEBpbnRlcm5hbCBUaGUga2V5IG1hbmFnZXIgZm9yIG1hbmFnaW5nIGFjdGl2ZSBkZXNjZW5kYW50ICovXG5cdHB1YmxpYyByZWFkb25seSBrZXlNYW5hZ2VyID0gbmV3IEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyKHRoaXMuaXRlbXMsIHRoaXMuX2luamVjdG9yKTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHR0aGlzLmtleU1hbmFnZXJcblx0XHRcdC53aXRoVmVydGljYWxPcmllbnRhdGlvbigpXG5cdFx0XHQud2l0aEhvbWVBbmRFbmQoKVxuXHRcdFx0LndpdGhXcmFwKClcblx0XHRcdC53aXRoVHlwZUFoZWFkKClcblx0XHRcdC5za2lwUHJlZGljYXRlKChpdGVtKSA9PiBpdGVtLmRpc2FibGVkIHx8ICFpdGVtLnZpc2libGUoKSk7XG5cblx0XHQvLyBXaGVuIGNsZWFyaW5nIHRoZSBzZWFyY2ggaW5wdXQgd2UgYWxzbyB3YW50IHRvIHJlc2V0IHRoZSBhY3RpdmUgaXRlbSB0byB0aGUgZmlyc3Qgb25lXG5cdFx0ZWZmZWN0KFxuXHRcdFx0KCkgPT4ge1xuXHRcdFx0XHRjb25zdCBzZWFyY2hJbnB1dCA9IHRoaXMuX3NlYXJjaElucHV0KCk/LnZhbHVlKCk7XG5cdFx0XHRcdGlmIChzZWFyY2hJbnB1dCAhPT0gdW5kZWZpbmVkICYmIHNlYXJjaElucHV0Lmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0XHRcdHRoaXMua2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKDApO1xuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0eyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxuXHRcdCk7XG5cdH1cblxuXHRuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG5cdFx0aWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMuX3BsYXRmb3JtKSAmJiB0aGlzLml0ZW1zKCkubGVuZ3RoKSB7XG5cdFx0XHR0aGlzLmtleU1hbmFnZXIuc2V0QWN0aXZlSXRlbSgwKTtcblx0XHR9XG5cdH1cblxuXHRASG9zdExpc3RlbmVyKCdrZXlkb3duLmVudGVyJylcblx0cHJvdGVjdGVkIHNlbGVjdEFjdGl2ZUl0ZW0oKTogdm9pZCB7XG5cdFx0dGhpcy5rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0/LnNlbGVjdGVkLmVtaXQoKTtcblx0fVxufVxuXG5leHBvcnQgdHlwZSBDb21tYW5kRmlsdGVyID0gKHZhbHVlOiBzdHJpbmcsIHNlYXJjaDogc3RyaW5nKSA9PiBib29sZWFuO1xuIl19
|
|
@@ -28,6 +28,12 @@ export class BrnMenuDirective {
|
|
|
28
28
|
// we can access it here and determine the correct side.
|
|
29
29
|
// eslint-disable-next-line
|
|
30
30
|
const ps = this._host._parentTrigger._spartanLastPosition;
|
|
31
|
+
if (!ps) {
|
|
32
|
+
// if we have no last position we default to the most likely option
|
|
33
|
+
// I hate that we have to do this and hope we can revisit soon and improve
|
|
34
|
+
this._side.set(isRoot ? 'top' : 'left');
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
31
37
|
const side = isRoot ? ps.originY : ps.originX === 'end' ? 'right' : 'left';
|
|
32
38
|
this._side.set(side);
|
|
33
39
|
});
|
|
@@ -47,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
47
53
|
hostDirectives: [CdkMenu],
|
|
48
54
|
}]
|
|
49
55
|
}], ctorParameters: () => [] });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLW1lbnUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9tZW51L3NyYy9saWIvYnJuLW1lbnUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQVdoRSxNQUFNLE9BQU8sZ0JBQWdCO0lBQ1gsS0FBSyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUV0QixNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hCLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFekM7UUFDQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1Qiw2REFBNkQ7UUFDN0QsdUdBQXVHO1FBQ3ZHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUVPLG9CQUFvQjtRQUMzQjs7Ozs7OztXQU9HO1FBQ0gsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLEtBQUssU0FBUyxDQUFDO1FBQ3pELFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZiw2RkFBNkY7WUFDN0Ysd0RBQXdEO1lBQ3hELDJCQUEyQjtZQUMzQixNQUFNLEVBQUUsR0FBSSxJQUFJLENBQUMsS0FBYSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQztZQUNuRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ1QsbUVBQW1FO2dCQUNuRSwwRUFBMEU7Z0JBQzFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDeEMsT0FBTztZQUNSLENBQUM7WUFDRCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUMzRSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7MEhBckNXLGdCQUFnQjs4R0FBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQVQ1QixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0wsbUJBQW1CLEVBQUUsVUFBVTt3QkFDL0Isa0JBQWtCLEVBQUUsU0FBUztxQkFDN0I7b0JBQ0QsY0FBYyxFQUFFLENBQUMsT0FBTyxDQUFDO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka01lbnUgfSBmcm9tICdAYW5ndWxhci9jZGsvbWVudSc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ1ticm5NZW51XSxbYnJuU3ViTWVudV0nLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRob3N0OiB7XG5cdFx0J1thdHRyLmRhdGEtc3RhdGVdJzogJ19zdGF0ZSgpJyxcblx0XHQnW2F0dHIuZGF0YS1zaWRlXSc6ICdfc2lkZSgpJyxcblx0fSxcblx0aG9zdERpcmVjdGl2ZXM6IFtDZGtNZW51XSxcbn0pXG5leHBvcnQgY2xhc3MgQnJuTWVudURpcmVjdGl2ZSB7XG5cdHByaXZhdGUgcmVhZG9ubHkgX2hvc3QgPSBpbmplY3QoQ2RrTWVudSk7XG5cblx0cHJvdGVjdGVkIHJlYWRvbmx5IF9zdGF0ZSA9IHNpZ25hbCgnb3BlbicpO1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgX3NpZGUgPSBzaWduYWwoJ3RvcCcpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHRoaXMuc2V0U2lkZVdpdGhEYXJrTWFnaWMoKTtcblx0XHQvLyB0aGlzIGlzIGEgYmVzdCBlZmZvcnQsIGJ1dCBkb2VzIG5vdCBzZWVtIHRvIHdvcmsgY3VycmVudGx5XG5cdFx0Ly8gVE9ETzogZmlndXJlIG91dCBhIHdheSBmb3IgdXMgdG8ga25vdyB0aGUgaG9zdCBpcyBhYm91dCB0byBiZSBjbG9zZWQuIG1pZ2h0IG5vdCBiZSBwb3NzaWJsZSB3aXRoIENES1xuXHRcdHRoaXMuX2hvc3QuY2xvc2VkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9zdGF0ZS5zZXQoJ2Nsb3NlZCcpKTtcblx0fVxuXG5cdHByaXZhdGUgc2V0U2lkZVdpdGhEYXJrTWFnaWMoKSB7XG5cdFx0LyoqXG5cdFx0ICogVGhpcyBpcyBhbiB1Z2x5IHdvcmthcm91bmQgdG8gYXQgbGVhc3QgZmlndXJlIG91dCB0aGUgY29ycmVjdCBzaWRlIG9mIHdoZXJlIGEgc3VibWVudVxuXHRcdCAqIHdpbGwgYXBwZWFyIGFuZCBzZXQgdGhlIGF0dHJpYnV0ZSB0byB0aGUgaG9zdCBhY2NvcmRpbmdseVxuXHRcdCAqXG5cdFx0ICogRmlyc3Qgb2YgYWxsIHdlIHRha2UgYWR2YW50YWdlIG9mIHRoZSBtZW51IHN0YWNrIG5vdCBiZWluZyBhd2FyZSBvZiB0aGUgcm9vdFxuXHRcdCAqIG9iamVjdCBpbW1lZGlhdGVseSBhZnRlciBpdCBpcyBhZGRlZC4gVGhpcyBjb2RlIGV4ZWN1dGVzIGJlZm9yZSB0aGUgcm9vdCBlbGVtZW50IGlzIGFkZGVkLFxuXHRcdCAqIHdoaWNoIG1lYW5zIHRoZSBzdGFjayBpcyBzdGlsbCBlbXB0eSBhbmQgdGhlIHBlZWsgbWV0aG9kIHJldHVybnMgdW5kZWZpbmVkLlxuXHRcdCAqL1xuXHRcdGNvbnN0IGlzUm9vdCA9IHRoaXMuX2hvc3QubWVudVN0YWNrLnBlZWsoKSA9PT0gdW5kZWZpbmVkO1xuXHRcdHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0Ly8gb3VyIG1lbnUgdHJpZ2dlciBkaXJlY3RpdmUgbGVhdmVzIHRoZSBsYXN0IHBvc2l0aW9uIHVzZWQgZm9yIHVzZSBpbW1lZGlhdGVseSBhZnRlciBvcGVuaW5nXG5cdFx0XHQvLyB3ZSBjYW4gYWNjZXNzIGl0IGhlcmUgYW5kIGRldGVybWluZSB0aGUgY29ycmVjdCBzaWRlLlxuXHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG5cdFx0XHRjb25zdCBwcyA9ICh0aGlzLl9ob3N0IGFzIGFueSkuX3BhcmVudFRyaWdnZXIuX3NwYXJ0YW5MYXN0UG9zaXRpb247XG5cdFx0XHRpZiAoIXBzKSB7XG5cdFx0XHRcdC8vIGlmIHdlIGhhdmUgbm8gbGFzdCBwb3NpdGlvbiB3ZSBkZWZhdWx0IHRvIHRoZSBtb3N0IGxpa2VseSBvcHRpb25cblx0XHRcdFx0Ly8gSSBoYXRlIHRoYXQgd2UgaGF2ZSB0byBkbyB0aGlzIGFuZCBob3BlIHdlIGNhbiByZXZpc2l0IHNvb24gYW5kIGltcHJvdmVcblx0XHRcdFx0dGhpcy5fc2lkZS5zZXQoaXNSb290ID8gJ3RvcCcgOiAnbGVmdCcpO1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cdFx0XHRjb25zdCBzaWRlID0gaXNSb290ID8gcHMub3JpZ2luWSA6IHBzLm9yaWdpblggPT09ICdlbmQnID8gJ3JpZ2h0JyA6ICdsZWZ0Jztcblx0XHRcdHRoaXMuX3NpZGUuc2V0KHNpZGUpO1xuXHRcdH0pO1xuXHR9XG59XG4iXX0=
|
|
@@ -18,10 +18,7 @@ export class BrnRadioComponent {
|
|
|
18
18
|
/**
|
|
19
19
|
* Whether the radio button is disabled.
|
|
20
20
|
*/
|
|
21
|
-
disabled = input(false, {
|
|
22
|
-
transform: booleanAttribute,
|
|
23
|
-
alias: 'disabled',
|
|
24
|
-
});
|
|
21
|
+
disabled = input(false, { transform: booleanAttribute });
|
|
25
22
|
/**
|
|
26
23
|
* Whether the radio button is disabled or the radio group is disabled.
|
|
27
24
|
*/
|
|
@@ -43,7 +40,7 @@ export class BrnRadioComponent {
|
|
|
43
40
|
/**
|
|
44
41
|
* The unique ID for the radio button input. If none is supplied, it will be auto-generated.
|
|
45
42
|
*/
|
|
46
|
-
id = input(
|
|
43
|
+
id = input(undefined);
|
|
47
44
|
ariaLabel = input(undefined, { alias: 'aria-label' });
|
|
48
45
|
ariaLabelledby = input(undefined, { alias: 'aria-labelledby' });
|
|
49
46
|
ariaDescribedby = input(undefined, { alias: 'aria-describedby' });
|
|
@@ -61,7 +58,8 @@ export class BrnRadioComponent {
|
|
|
61
58
|
* Event emitted when the checked state of this radio button changes.
|
|
62
59
|
*/
|
|
63
60
|
change = output();
|
|
64
|
-
|
|
61
|
+
hostId = computed(() => this.id() ? this.id() : `brn-radio-${++BrnRadioComponent._nextUniqueId}`);
|
|
62
|
+
inputId = computed(() => `${this.hostId()}-input`);
|
|
65
63
|
inputElement = viewChild.required('input');
|
|
66
64
|
constructor() {
|
|
67
65
|
this._focusMonitor.monitor(this._elementRef, true);
|
|
@@ -103,8 +101,12 @@ export class BrnRadioComponent {
|
|
|
103
101
|
}
|
|
104
102
|
}
|
|
105
103
|
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnRadioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
106
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.5", type: BrnRadioComponent, isStandalone: true, selector: "brn-radio", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedby: { classPropertyName: "ariaDescribedby", publicName: "aria-describedby", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { change: "change" }, host: { listeners: { "focus": "inputElement().nativeElement.focus()" }, properties: { "attr.id": "
|
|
107
|
-
<div
|
|
104
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.5", type: BrnRadioComponent, isStandalone: true, selector: "brn-radio", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedby: { classPropertyName: "ariaDescribedby", publicName: "aria-describedby", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { change: "change" }, host: { listeners: { "focus": "inputElement().nativeElement.focus()" }, properties: { "attr.id": "hostId()", "class.brn-radio-checked": "checked()", "class.brn-radio-disabled": "disabledState()", "attr.data-checked": "checked()", "attr.data-disabled": "disabledState()", "attr.data-value": "value()", "attr.tabindex": "null", "attr.aria-label": "null", "attr.aria-labelledby": "null", "attr.aria-describedby": "null" }, classAttribute: "brn-radio" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true, isSignal: true }], exportAs: ["brnRadio"], ngImport: i0, template: `
|
|
105
|
+
<div
|
|
106
|
+
data-slot="indicator"
|
|
107
|
+
style="display: flex; height: fit-content; width: fit-content"
|
|
108
|
+
(click)="onTouchTargetClick($event)"
|
|
109
|
+
>
|
|
108
110
|
<ng-content select="[target],[indicator]" />
|
|
109
111
|
</div>
|
|
110
112
|
<input
|
|
@@ -124,7 +126,7 @@ export class BrnRadioComponent {
|
|
|
124
126
|
(change)="onInputInteraction($event)"
|
|
125
127
|
(click)="onInputClick($event)"
|
|
126
128
|
/>
|
|
127
|
-
<label
|
|
129
|
+
<label [for]="inputId()" data-slot="label">
|
|
128
130
|
<ng-content />
|
|
129
131
|
</label>
|
|
130
132
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
@@ -136,7 +138,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
136
138
|
standalone: true,
|
|
137
139
|
host: {
|
|
138
140
|
class: 'brn-radio',
|
|
139
|
-
'[attr.id]': '
|
|
141
|
+
'[attr.id]': 'hostId()',
|
|
140
142
|
'[class.brn-radio-checked]': 'checked()',
|
|
141
143
|
'[class.brn-radio-disabled]': 'disabledState()',
|
|
142
144
|
'[attr.data-checked]': 'checked()',
|
|
@@ -156,7 +158,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
156
158
|
encapsulation: ViewEncapsulation.None,
|
|
157
159
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
158
160
|
template: `
|
|
159
|
-
<div
|
|
161
|
+
<div
|
|
162
|
+
data-slot="indicator"
|
|
163
|
+
style="display: flex; height: fit-content; width: fit-content"
|
|
164
|
+
(click)="onTouchTargetClick($event)"
|
|
165
|
+
>
|
|
160
166
|
<ng-content select="[target],[indicator]" />
|
|
161
167
|
</div>
|
|
162
168
|
<input
|
|
@@ -176,10 +182,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
176
182
|
(change)="onInputInteraction($event)"
|
|
177
183
|
(click)="onInputClick($event)"
|
|
178
184
|
/>
|
|
179
|
-
<label
|
|
185
|
+
<label [for]="inputId()" data-slot="label">
|
|
180
186
|
<ng-content />
|
|
181
187
|
</label>
|
|
182
188
|
`,
|
|
183
189
|
}]
|
|
184
190
|
}], ctorParameters: () => [] });
|
|
185
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLXJhZGlvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vcmFkaW8tZ3JvdXAvc3JjL2xpYi9icm4tcmFkaW8uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVqRCxPQUFPLEVBQ04sdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBRVYsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixRQUFRLEVBQ1IsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUU5RCxNQUFNLE9BQU8sY0FBYztJQUVsQjtJQUNBO0lBRlIsWUFDUSxNQUE0QixFQUM1QixLQUFRO1FBRFIsV0FBTSxHQUFOLE1BQU0sQ0FBc0I7UUFDNUIsVUFBSyxHQUFMLEtBQUssQ0FBRztJQUNiLENBQUM7Q0FDSjtBQW9ERCxNQUFNLE9BQU8saUJBQWlCO0lBQ3JCLE1BQU0sQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO0lBQ2hCLGFBQWEsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDckMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMvQixVQUFVLEdBQUcsbUJBQW1CLEVBQUssQ0FBQztJQUV6RDs7T0FFRztJQUNhLFFBQVEsR0FBRyxLQUFLLENBQXdCLEtBQUssRUFBRTtRQUM5RCxTQUFTLEVBQUUsZ0JBQWdCO1FBQzNCLEtBQUssRUFBRSxVQUFVO0tBQ2pCLENBQUMsQ0FBQztJQUVIOztPQUVHO0lBQ2dCLGFBQWEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVB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cUJBQ2pEO29CQUNELFFBQVEsRUFBRSxVQUFVO29CQUNwQixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBd0JUO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9jdXNNb25pdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDb21wb25lbnQsXG5cdEVsZW1lbnRSZWYsXG5cdHR5cGUgT25EZXN0cm95LFxuXHRWaWV3RW5jYXBzdWxhdGlvbixcblx0Ym9vbGVhbkF0dHJpYnV0ZSxcblx0Y29tcHV0ZWQsXG5cdGluamVjdCxcblx0aW5wdXQsXG5cdG91dHB1dCxcblx0dmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdEJyblJhZGlvR3JvdXAgfSBmcm9tICcuL2Jybi1yYWRpby1ncm91cC50b2tlbic7XG5cbmV4cG9ydCBjbGFzcyBCcm5SYWRpb0NoYW5nZTxUPiB7XG5cdGNvbnN0cnVjdG9yKFxuXHRcdHB1YmxpYyBzb3VyY2U6IEJyblJhZGlvQ29tcG9uZW50PFQ+LFxuXHRcdHB1YmxpYyB2YWx1ZTogVCxcblx0KSB7fVxufVxuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdicm4tcmFkaW8nLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRob3N0OiB7XG5cdFx0Y2xhc3M6ICdicm4tcmFkaW8nLFxuXHRcdCdbYXR0ci5pZF0nOiAnaWQoKScsXG5cdFx0J1tjbGFzcy5icm4tcmFkaW8tY2hlY2tlZF0nOiAnY2hlY2tlZCgpJyxcblx0XHQnW2NsYXNzLmJybi1yYWRpby1kaXNhYmxlZF0nOiAnZGlzYWJsZWRTdGF0ZSgpJyxcblx0XHQnW2F0dHIuZGF0YS1jaGVja2VkXSc6ICdjaGVja2VkKCknLFxuXHRcdCdbYXR0ci5kYXRhLWRpc2FibGVkXSc6ICdkaXNhYmxlZFN0YXRlKCknLFxuXHRcdCdbYXR0ci5kYXRhLXZhbHVlXSc6ICd2YWx1ZSgpJyxcblx0XHQvLyBOZWVkcyB0byBiZSByZW1vdmVkIHNpbmNlIGl0IGNhdXNlcyBzb21lIGExMXkgaXNzdWVzIChzZWUgIzIxMjY2KS5cblx0XHQnW2F0dHIudGFiaW5kZXhdJzogJ251bGwnLFxuXHRcdCdbYXR0ci5hcmlhLWxhYmVsXSc6ICdudWxsJyxcblx0XHQnW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XSc6ICdudWxsJyxcblx0XHQnW2F0dHIuYXJpYS1kZXNjcmliZWRieV0nOiAnbnVsbCcsXG5cdFx0Ly8gTm90ZTogdW5kZXIgbm9ybWFsIGNvbmRpdGlvbnMgZm9jdXMgc2hvdWxkbid0IGxhbmQgb24gdGhpcyBlbGVtZW50LCBob3dldmVyIGl0IG1heSBiZVxuXHRcdC8vIHByb2dyYW1tYXRpY2FsbHkgc2V0LCBmb3IgZXhhbXBsZSBpbnNpZGUgb2YgYSBmb2N1cyB0cmFwLCBpbiB0aGlzIGNhc2Ugd2Ugd2FudCB0byBmb3J3YXJkXG5cdFx0Ly8gdGhlIGZvY3VzIHRvIHRoZSBuYXRpdmUgZWxlbWVudC5cblx0XHQnKGZvY3VzKSc6ICdpbnB1dEVsZW1lbnQoKS5uYXRpdmVFbGVtZW50LmZvY3VzKCknLFxuXHR9LFxuXHRleHBvcnRBczogJ2JyblJhZGlvJyxcblx0ZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGhlaWdodDogZml0LWNvbnRlbnQ7IHdpZHRoOiBmaXQtY29udGVudFwiIChjbGljayk9XCJvblRvdWNoVGFyZ2V0Q2xpY2soJGV2ZW50KVwiPlxuXHRcdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwiW3RhcmdldF0sW2luZGljYXRvcl1cIiAvPlxuXHRcdDwvZGl2PlxuXHRcdDxpbnB1dFxuXHRcdFx0I2lucHV0XG5cdFx0XHRzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDFweDsgaGVpZ2h0OiAxcHg7IHBhZGRpbmc6IDA7IG1hcmdpbjogLTFweDsgb3ZlcmZsb3c6IGhpZGRlbjsgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgYm9yZGVyLXdpZHRoOiAwO1wiXG5cdFx0XHR0eXBlPVwicmFkaW9cIlxuXHRcdFx0W2lkXT1cImlucHV0SWQoKVwiXG5cdFx0XHRbY2hlY2tlZF09XCJjaGVja2VkKClcIlxuXHRcdFx0W2Rpc2FibGVkXT1cImRpc2FibGVkU3RhdGUoKVwiXG5cdFx0XHRbdGFiSW5kZXhdPVwidGFiSW5kZXgoKVwiXG5cdFx0XHRbYXR0ci5uYW1lXT1cInJhZGlvR3JvdXAubmFtZSgpXCJcblx0XHRcdFthdHRyLnZhbHVlXT1cInZhbHVlKClcIlxuXHRcdFx0W3JlcXVpcmVkXT1cInJlcXVpcmVkKClcIlxuXHRcdFx0W2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWwoKVwiXG5cdFx0XHRbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkYnkoKVwiXG5cdFx0XHRbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImFyaWFEZXNjcmliZWRieSgpXCJcblx0XHRcdChjaGFuZ2UpPVwib25JbnB1dEludGVyYWN0aW9uKCRldmVudClcIlxuXHRcdFx0KGNsaWNrKT1cIm9uSW5wdXRDbGljaygkZXZlbnQpXCJcblx0XHQvPlxuXHRcdDxsYWJlbCBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGhlaWdodDogZml0LWNvbnRlbnQ7IHdpZHRoOiBmaXQtY29udGVudFwiIFtmb3JdPVwiaW5wdXRJZCgpXCI+XG5cdFx0XHQ8bmctY29udGVudCAvPlxuXHRcdDwvbGFiZWw+XG5cdGAsXG59KVxuZXhwb3J0IGNsYXNzIEJyblJhZGlvQ29tcG9uZW50PFQgPSB1bmtub3duPiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cdHByaXZhdGUgc3RhdGljIF9uZXh0VW5pcXVlSWQgPSAwO1xuXHRwcml2YXRlIHJlYWRvbmx5IF9mb2N1c01vbml0b3IgPSBpbmplY3QoRm9jdXNNb25pdG9yKTtcblx0cHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcblx0cHJvdGVjdGVkIHJlYWRvbmx5IHJhZGlvR3JvdXAgPSBpbmplY3RCcm5SYWRpb0dyb3VwPFQ+KCk7XG5cblx0LyoqXG5cdCAqIFdoZXRoZXIgdGhlIHJhZGlvIGJ1dHRvbiBpcyBkaXNhYmxlZC5cblx0ICovXG5cdHB1YmxpYyByZWFkb25seSBkaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4sIEJvb2xlYW5JbnB1dD4oZmFsc2UsIHtcblx0XHR0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsXG5cdFx0YWxpYXM6ICdkaXNhYmxlZCcsXG5cdH0pO1xuXG5cdC8qKlxuXHQgKiBXaGV0aGVyIHRoZSByYWRpbyBidXR0b24gaXMgZGlzYWJsZWQgb3IgdGhlIHJhZGlvIGdyb3VwIGlzIGRpc2FibGVkLlxuXHQgKi9cblx0cHJvdGVjdGVkIHJlYWRvbmx5IGRpc2FibGVkU3RhdGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmRpc2FibGVkKCkgfHwgKHRoaXMucmFkaW9Hcm91cCAmJiB0aGlzLnJhZGlvR3JvdXAuZGlzYWJsZWQoKSkpO1xuXG5cdC8qKlxuXHQgKiBXaGV0aGVyIHRoZSByYWRpbyBidXR0b24gaXMgY2hlY2tlZC5cblx0ICovXG5cdHByb3RlY3RlZCByZWFkb25seSBjaGVja2VkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5yYWRpb0dyb3VwLnZhbHVlKCkgPT09IHRoaXMudmFsdWUoKSk7XG5cblx0cHJvdGVjdGVkIHJlYWRvbmx5IHRhYkluZGV4ID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGNvbnN0IGRpc2FibGVkID0gdGhpcy5kaXNhYmxlZFN0YXRlKCk7XG5cdFx0Y29uc3QgY2hlY2tlZCA9IHRoaXMuY2hlY2tlZCgpO1xuXHRcdGNvbnN0IGhhc1NlbGVjdGVkUmFkaW8gPSB0aGlzLnJhZGlvR3JvdXAudmFsdWUoKSAhPT0gdW5kZWZpbmVkO1xuXHRcdGNvbnN0IGlzRmlyc3RSYWRpbyA9IHRoaXMucmFkaW9Hcm91cC5yYWRpb0J1dHRvbnMoKVswXSA9PT0gdGhpcztcblxuXHRcdGlmIChkaXNhYmxlZCB8fCAoIWNoZWNrZWQgJiYgKGhhc1NlbGVjdGVkUmFkaW8gfHwgIWlzRmlyc3RSYWRpbykpKSB7XG5cdFx0XHRyZXR1cm4gLTE7XG5cdFx0fVxuXHRcdHJldHVybiAwO1xuXHR9KTtcblxuXHQvKipcblx0ICogVGhlIHVuaXF1ZSBJRCBmb3IgdGhlIHJhZGlvIGJ1dHRvbiBpbnB1dC4gSWYgbm9uZSBpcyBzdXBwbGllZCwgaXQgd2lsbCBiZSBhdXRvLWdlbmVyYXRlZC5cblx0ICovXG5cdHB1YmxpYyByZWFkb25seSBpZCA9IGlucHV0KGBicm4tcmFkaW8tJHsrK0JyblJhZGlvQ29tcG9uZW50Ll9uZXh0VW5pcXVlSWR9YCk7XG5cblx0cHVibGljIHJlYWRvbmx5IGFyaWFMYWJlbCA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkLCB7IGFsaWFzOiAnYXJpYS1sYWJlbCcgfSk7XG5cblx0cHVibGljIHJlYWRvbmx5IGFyaWFMYWJlbGxlZGJ5ID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQsIHsgYWxpYXM6ICdhcmlhLWxhYmVsbGVkYnknIH0pO1xuXG5cdHB1YmxpYyByZWFkb25seSBhcmlhRGVzY3JpYmVkYnkgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCwgeyBhbGlhczogJ2FyaWEtZGVzY3JpYmVkYnknIH0pO1xuXG5cdC8qKlxuXHQgKiBUaGUgdmFsdWUgdGhpcyByYWRpbyBidXR0b24gcmVwcmVzZW50cy5cblx0ICovXG5cdHB1YmxpYyByZWFkb25seSB2YWx1ZSA9IGlucHV0LnJlcXVpcmVkPFQ+KCk7XG5cblx0LyoqXG5cdCAqIFdoZXRoZXIgdGhlIHJhZGlvIGJ1dHRvbiBpcyByZXF1aXJlZC5cblx0ICovXG5cdHB1YmxpYyByZWFkb25seSByZXF1aXJlZCA9IGlucHV0PGJvb2xlYW4sIEJvb2xlYW5JbnB1dD4oZmFsc2UsIHtcblx0XHR0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsXG5cdH0pO1xuXG5cdC8qKlxuXHQgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGNoZWNrZWQgc3RhdGUgb2YgdGhpcyByYWRpbyBidXR0b24gY2hhbmdlcy5cblx0ICovXG5cdHB1YmxpYyByZWFkb25seSBjaGFuZ2UgPSBvdXRwdXQ8QnJuUmFkaW9DaGFuZ2U8VD4+KCk7XG5cblx0cHJvdGVjdGVkIHJlYWRvbmx5IGlucHV0SWQgPSBjb21wdXRlZCgoKSA9PiBgJHt0aGlzLmlkKCl9LWlucHV0YCk7XG5cblx0cHJvdGVjdGVkIHJlYWRvbmx5IGlucHV0RWxlbWVudCA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+PignaW5wdXQnKTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHR0aGlzLl9mb2N1c01vbml0b3IubW9uaXRvcih0aGlzLl9lbGVtZW50UmVmLCB0cnVlKTtcblx0fVxuXG5cdG5nT25EZXN0cm95KCk6IHZvaWQge1xuXHRcdHRoaXMuX2ZvY3VzTW9uaXRvci5zdG9wTW9uaXRvcmluZyh0aGlzLl9lbGVtZW50UmVmKTtcblx0fVxuXG5cdC8qKiBEaXNwYXRjaCBjaGFuZ2UgZXZlbnQgd2l0aCBjdXJyZW50IHZhbHVlLiAqL1xuXHRwcml2YXRlIGVtaXRDaGFuZ2VFdmVudCgpOiB2b2lkIHtcblx0XHR0aGlzLmNoYW5nZS5lbWl0KG5ldyBCcm5SYWRpb0NoYW5nZSh0aGlzLCB0aGlzLnZhbHVlKCkpKTtcblx0fVxuXG5cdHByb3RlY3RlZCBvbklucHV0Q2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG5cdFx0Ly8gV2UgaGF2ZSB0byBzdG9wIHByb3BhZ2F0aW9uIGZvciBjbGljayBldmVudHMgb24gdGhlIHZpc3VhbCBoaWRkZW4gaW5wdXQgZWxlbWVudC5cblx0XHQvLyBCeSBkZWZhdWx0LCB3aGVuIGEgdXNlciBjbGlja3Mgb24gYSBsYWJlbCBlbGVtZW50LCBhIGdlbmVyYXRlZCBjbGljayBldmVudCB3aWxsIGJlXG5cdFx0Ly8gZGlzcGF0Y2hlZCBvbiB0aGUgYXNzb2NpYXRlZCBpbnB1dCBlbGVtZW50LiBTaW5jZSB3ZSBhcmUgdXNpbmcgYSBsYWJlbCBlbGVtZW50IGFzIG91clxuXHRcdC8vIHJvb3QgY29udGFpbmVyLCB0aGUgY2xpY2sgZXZlbnQgb24gdGhlIGByYWRpby1idXR0b25gIHdpbGwgYmUgZXhlY3V0ZWQgdHdpY2UuXG5cdFx0Ly8gVGhlIHJlYWwgY2xpY2sgZXZlbnQgd2lsbCBidWJibGUgdXAsIGFuZCB0aGUgZ2VuZXJhdGVkIGNsaWNrIGV2ZW50IGFsc28gdHJpZXMgdG8gYnViYmxlIHVwLlxuXHRcdC8vIFRoaXMgd2lsbCBsZWFkIHRvIG11bHRpcGxlIGNsaWNrIGV2ZW50cy5cblx0XHQvLyBQcmV2ZW50aW5nIGJ1YmJsaW5nIGZvciB0aGUgc2Vjb25kIGV2ZW50IHdpbGwgc29sdmUgdGhhdCBpc3N1ZS5cblx0XHRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblx0fVxuXG5cdHByb3RlY3RlZCBvbklucHV0SW50ZXJhY3Rpb24oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG5cdFx0Ly8gV2UgYWx3YXlzIGhhdmUgdG8gc3RvcCBwcm9wYWdhdGlvbiBvbiB0aGUgY2hhbmdlIGV2ZW50LlxuXHRcdC8vIE90aGVyd2lzZSB0aGUgY2hhbmdlIGV2ZW50LCBmcm9tIHRoZSBpbnB1dCBlbGVtZW50LCB3aWxsIGJ1YmJsZSB1cCBhbmRcblx0XHQvLyBlbWl0IGl0cyBldmVudCBvYmplY3QgdG8gdGhlIGBjaGFuZ2VgIG91dHB1dC5cblx0XHRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuXHRcdGlmICghdGhpcy5jaGVja2VkKCkgJiYgIXRoaXMuZGlzYWJsZWRTdGF0ZSgpKSB7XG5cdFx0XHR0aGlzLmVtaXRDaGFuZ2VFdmVudCgpO1xuXHRcdFx0dGhpcy5yYWRpb0dyb3VwLnNlbGVjdCh0aGlzLCB0aGlzLnZhbHVlKCkpO1xuXHRcdH1cblx0fVxuXG5cdC8qKiBUcmlnZ2VyZWQgd2hlbiB0aGUgdXNlciBjbGlja3Mgb24gdGhlIHRvdWNoIHRhcmdldC4gKi9cblx0cHJvdGVjdGVkIG9uVG91Y2hUYXJnZXRDbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcblx0XHR0aGlzLm9uSW5wdXRJbnRlcmFjdGlvbihldmVudCk7XG5cblx0XHRpZiAoIXRoaXMuZGlzYWJsZWRTdGF0ZSgpKSB7XG5cdFx0XHQvLyBOb3JtYWxseSB0aGUgaW5wdXQgc2hvdWxkIGJlIGZvY3VzZWQgYWxyZWFkeSwgYnV0IGlmIHRoZSBjbGlja1xuXHRcdFx0Ly8gY29tZXMgZnJvbSB0aGUgdG91Y2ggdGFyZ2V0LCB0aGVuIHdlIG1pZ2h0IGhhdmUgdG8gZm9jdXMgaXQgb3Vyc2VsdmVzLlxuXHRcdFx0dGhpcy5pbnB1dEVsZW1lbnQoKS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG5cdFx0fVxuXHR9XG59XG4iXX0=
|
|
191
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLXJhZGlvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vcmFkaW8tZ3JvdXAvc3JjL2xpYi9icm4tcmFkaW8uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVqRCxPQUFPLEVBQ04sdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBRVYsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixRQUFRLEVBQ1IsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUU5RCxNQUFNLE9BQU8sY0FBYztJQUVsQjtJQUNBO0lBRlIsWUFDUSxNQUE0QixFQUM1QixLQUFRO1FBRFIsV0FBTSxHQUFOLE1BQU0sQ0FBc0I7UUFDNUIsVUFBSyxHQUFMLEtBQUssQ0FBRztJQUNiLENBQUM7Q0FDSjtBQXdERCxNQUFNLE9BQU8saUJBQWlCO0lBQ3JCLE1BQU0sQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO0lBQ2hCLGFBQWEsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDckMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMvQixVQUFVLEdBQUcsbUJBQW1CLEVBQUssQ0FBQztJQUV6RDs7T0FFRztJQUNhLFFBQVEsR0FBRyxLQUFLLENBQXdCLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7SUFFaEc7O09BRUc7SUFDZ0IsYUFBYSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRXRIOztPQUVHO0lBQ2dCLE9BQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUVuRSxRQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUMzQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQy9CLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxTQUFTLENBQUM7UUFDL0QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUM7UUFFaEUsSUFBSSxRQUFRLElBQUksQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ25FLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDWCxDQUFDO1FBQ0QsT0FBTyxDQUFDLENBQUM7SUFDVixDQUFDLENBQUMsQ0FBQztJQUVIOztPQUVHO0lBQ2EsRUFBRSxHQUFHLEtBQUssQ0FBcUIsU0FBUyxDQUFDLENBQUM7SUFFMUMsU0FBUyxHQUFHLEtBQUssQ0FBcUIsU0FBUyxFQUFFLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7SUFFMUUsY0FBYyxHQUFHLEtBQUssQ0FBcUIsU0FBUyxFQUFFLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQztJQUVwRixlQUFlLEdBQUcsS0FBSyxDQUFxQixTQUFTLEVBQUUsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO0lBRXRHOztPQUVHO0lBQ2EsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQUssQ0FBQztJQUU1Qzs7T0FFRztJQUNhLFFBQVEsR0FBRyxLQUFLLENBQXdCLEtBQUssRUFBRTtRQUM5RCxTQUFTLEVBQUUsZ0JBQWdCO0tBQzNCLENBQUMsQ0FBQztJQUVIOztPQUVHO0lBQ2EsTUFBTSxHQUFHLE1BQU0sRUFBcUIsQ0FBQztJQUVsQyxNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUN6QyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUN4RSxDQUFDO0lBRWlCLE9BQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBRW5ELFlBQVksR0FBRyxTQUFTLENBQUMsUUFBUSxDQUErQixPQUFPLENBQUMsQ0FBQztJQUU1RjtRQUNDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELFdBQVc7UUFDVixJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELGdEQUFnRDtJQUN4QyxlQUFlO1FBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksY0FBYyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFUyxZQUFZLENBQUMsS0FBWTtRQUNsQyxtRkFBbUY7UUFDbkYscUZBQXFGO1FBQ3JGLHdGQUF3RjtRQUN4RixnRkFBZ0Y7UUFDaEYsOEZBQThGO1FBQzlGLDJDQUEyQztRQUMzQyxrRUFBa0U7UUFDbEUsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFUyxrQkFBa0IsQ0FBQyxLQUFZO1FBQ3hDLDBEQUEwRDtRQUMxRCx5RUFBeUU7UUFDekUsZ0RBQWdEO1FBQ2hELEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV4QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7WUFDOUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUM1QyxDQUFDO0lBQ0YsQ0FBQztJQUVELDBEQUEwRDtJQUNoRCxrQkFBa0IsQ0FBQyxLQUFZO1FBQ3hDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUvQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7WUFDM0IsaUVBQWlFO1lBQ2pFLHlFQUF5RTtZQUN6RSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzNDLENBQUM7SUFDRixDQUFDOzBIQWxIVyxpQkFBaUI7OEdBQWpCLGlCQUFpQiwwbERBOUJuQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQTRCVDs7MkZBRVcsaUJBQWlCO2tCQXREN0IsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsV0FBVztvQkFDckIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDTCxLQUFLLEVBQUUsV0FBVzt3QkFDbEIsV0FBVyxFQUFFLFVBQVU7d0JBQ3ZCLDJCQUEyQixFQUFFLFdBQVc7d0JBQ3hDLDRCQUE0QixFQUFFLGlCQUFpQjt3QkFDL0MscUJBQXFCLEVBQUUsV0FBVzt3QkFDbEMsc0JBQXNCLEVBQUUsaUJBQWlCO3dCQUN6QyxtQkFBbUIsRUFBRSxTQUFTO3dCQUM5QixxRUFBcUU7d0JBQ3JFLGlCQUFpQixFQUFFLE1BQU07d0JBQ3pCLG1CQUFtQixFQUFFLE1BQU07d0JBQzNCLHdCQUF3QixFQUFFLE1BQU07d0JBQ2hDLHlCQUF5QixFQUFFLE1BQU07d0JBQ2pDLHdGQUF3Rjt3QkFDeEYsNEZBQTRGO3dCQUM1RixtQ0FBbUM7d0JBQ25DLFNBQVMsRUFBRSxzQ0FBc0M7cUJBQ2pEO29CQUNELFFBQVEsRUFBRSxVQUFVO29CQUNwQixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQTRCVDtpQkFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvY3VzTW9uaXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcblx0Q29tcG9uZW50LFxuXHRFbGVtZW50UmVmLFxuXHR0eXBlIE9uRGVzdHJveSxcblx0Vmlld0VuY2Fwc3VsYXRpb24sXG5cdGJvb2xlYW5BdHRyaWJ1dGUsXG5cdGNvbXB1dGVkLFxuXHRpbmplY3QsXG5cdGlucHV0LFxuXHRvdXRwdXQsXG5cdHZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpbmplY3RCcm5SYWRpb0dyb3VwIH0gZnJvbSAnLi9icm4tcmFkaW8tZ3JvdXAudG9rZW4nO1xuXG5leHBvcnQgY2xhc3MgQnJuUmFkaW9DaGFuZ2U8VD4ge1xuXHRjb25zdHJ1Y3Rvcihcblx0XHRwdWJsaWMgc291cmNlOiBCcm5SYWRpb0NvbXBvbmVudDxUPixcblx0XHRwdWJsaWMgdmFsdWU6IFQsXG5cdCkge31cbn1cblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnYnJuLXJhZGlvJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0aG9zdDoge1xuXHRcdGNsYXNzOiAnYnJuLXJhZGlvJyxcblx0XHQnW2F0dHIuaWRdJzogJ2hvc3RJZCgpJyxcblx0XHQnW2NsYXNzLmJybi1yYWRpby1jaGVja2VkXSc6ICdjaGVja2VkKCknLFxuXHRcdCdbY2xhc3MuYnJuLXJhZGlvLWRpc2FibGVkXSc6ICdkaXNhYmxlZFN0YXRlKCknLFxuXHRcdCdbYXR0ci5kYXRhLWNoZWNrZWRdJzogJ2NoZWNrZWQoKScsXG5cdFx0J1thdHRyLmRhdGEtZGlzYWJsZWRdJzogJ2Rpc2FibGVkU3RhdGUoKScsXG5cdFx0J1thdHRyLmRhdGEtdmFsdWVdJzogJ3ZhbHVlKCknLFxuXHRcdC8vIE5lZWRzIHRvIGJlIHJlbW92ZWQgc2luY2UgaXQgY2F1c2VzIHNvbWUgYTExeSBpc3N1ZXMgKHNlZSAjMjEyNjYpLlxuXHRcdCdbYXR0ci50YWJpbmRleF0nOiAnbnVsbCcsXG5cdFx0J1thdHRyLmFyaWEtbGFiZWxdJzogJ251bGwnLFxuXHRcdCdbYXR0ci5hcmlhLWxhYmVsbGVkYnldJzogJ251bGwnLFxuXHRcdCdbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XSc6ICdudWxsJyxcblx0XHQvLyBOb3RlOiB1bmRlciBub3JtYWwgY29uZGl0aW9ucyBmb2N1cyBzaG91bGRuJ3QgbGFuZCBvbiB0aGlzIGVsZW1lbnQsIGhvd2V2ZXIgaXQgbWF5IGJlXG5cdFx0Ly8gcHJvZ3JhbW1hdGljYWxseSBzZXQsIGZvciBleGFtcGxlIGluc2lkZSBvZiBhIGZvY3VzIHRyYXAsIGluIHRoaXMgY2FzZSB3ZSB3YW50IHRvIGZvcndhcmRcblx0XHQvLyB0aGUgZm9jdXMgdG8gdGhlIG5hdGl2ZSBlbGVtZW50LlxuXHRcdCcoZm9jdXMpJzogJ2lucHV0RWxlbWVudCgpLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKScsXG5cdH0sXG5cdGV4cG9ydEFzOiAnYnJuUmFkaW8nLFxuXHRlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0dGVtcGxhdGU6IGBcblx0XHQ8ZGl2XG5cdFx0XHRkYXRhLXNsb3Q9XCJpbmRpY2F0b3JcIlxuXHRcdFx0c3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBoZWlnaHQ6IGZpdC1jb250ZW50OyB3aWR0aDogZml0LWNvbnRlbnRcIlxuXHRcdFx0KGNsaWNrKT1cIm9uVG91Y2hUYXJnZXRDbGljaygkZXZlbnQpXCJcblx0XHQ+XG5cdFx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJbdGFyZ2V0XSxbaW5kaWNhdG9yXVwiIC8+XG5cdFx0PC9kaXY+XG5cdFx0PGlucHV0XG5cdFx0XHQjaW5wdXRcblx0XHRcdHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMXB4OyBoZWlnaHQ6IDFweDsgcGFkZGluZzogMDsgbWFyZ2luOiAtMXB4OyBvdmVyZmxvdzogaGlkZGVuOyBjbGlwOiByZWN0KDAsIDAsIDAsIDApOyB3aGl0ZS1zcGFjZTogbm93cmFwOyBib3JkZXItd2lkdGg6IDA7XCJcblx0XHRcdHR5cGU9XCJyYWRpb1wiXG5cdFx0XHRbaWRdPVwiaW5wdXRJZCgpXCJcblx0XHRcdFtjaGVja2VkXT1cImNoZWNrZWQoKVwiXG5cdFx0XHRbZGlzYWJsZWRdPVwiZGlzYWJsZWRTdGF0ZSgpXCJcblx0XHRcdFt0YWJJbmRleF09XCJ0YWJJbmRleCgpXCJcblx0XHRcdFthdHRyLm5hbWVdPVwicmFkaW9Hcm91cC5uYW1lKClcIlxuXHRcdFx0W2F0dHIudmFsdWVdPVwidmFsdWUoKVwiXG5cdFx0XHRbcmVxdWlyZWRdPVwicmVxdWlyZWQoKVwiXG5cdFx0XHRbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbCgpXCJcblx0XHRcdFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRieSgpXCJcblx0XHRcdFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiYXJpYURlc2NyaWJlZGJ5KClcIlxuXHRcdFx0KGNoYW5nZSk9XCJvbklucHV0SW50ZXJhY3Rpb24oJGV2ZW50KVwiXG5cdFx0XHQoY2xpY2spPVwib25JbnB1dENsaWNrKCRldmVudClcIlxuXHRcdC8+XG5cdFx0PGxhYmVsIFtmb3JdPVwiaW5wdXRJZCgpXCIgZGF0YS1zbG90PVwibGFiZWxcIj5cblx0XHRcdDxuZy1jb250ZW50IC8+XG5cdFx0PC9sYWJlbD5cblx0YCxcbn0pXG5leHBvcnQgY2xhc3MgQnJuUmFkaW9Db21wb25lbnQ8VCA9IHVua25vd24+IGltcGxlbWVudHMgT25EZXN0cm95IHtcblx0cHJpdmF0ZSBzdGF0aWMgX25leHRVbmlxdWVJZCA9IDA7XG5cdHByaXZhdGUgcmVhZG9ubHkgX2ZvY3VzTW9uaXRvciA9IGluamVjdChGb2N1c01vbml0b3IpO1xuXHRwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgcmFkaW9Hcm91cCA9IGluamVjdEJyblJhZGlvR3JvdXA8VD4oKTtcblxuXHQvKipcblx0ICogV2hldGhlciB0aGUgcmFkaW8gYnV0dG9uIGlzIGRpc2FibGVkLlxuXHQgKi9cblx0cHVibGljIHJlYWRvbmx5IGRpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbiwgQm9vbGVhbklucHV0PihmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cblx0LyoqXG5cdCAqIFdoZXRoZXIgdGhlIHJhZGlvIGJ1dHRvbiBpcyBkaXNhYmxlZCBvciB0aGUgcmFkaW8gZ3JvdXAgaXMgZGlzYWJsZWQuXG5cdCAqL1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgZGlzYWJsZWRTdGF0ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuZGlzYWJsZWQoKSB8fCAodGhpcy5yYWRpb0dyb3VwICYmIHRoaXMucmFkaW9Hcm91cC5kaXNhYmxlZCgpKSk7XG5cblx0LyoqXG5cdCAqIFdoZXRoZXIgdGhlIHJhZGlvIGJ1dHRvbiBpcyBjaGVja2VkLlxuXHQgKi9cblx0cHJvdGVjdGVkIHJlYWRvbmx5IGNoZWNrZWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJhZGlvR3JvdXAudmFsdWUoKSA9PT0gdGhpcy52YWx1ZSgpKTtcblxuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgdGFiSW5kZXggPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0Y29uc3QgZGlzYWJsZWQgPSB0aGlzLmRpc2FibGVkU3RhdGUoKTtcblx0XHRjb25zdCBjaGVja2VkID0gdGhpcy5jaGVja2VkKCk7XG5cdFx0Y29uc3QgaGFzU2VsZWN0ZWRSYWRpbyA9IHRoaXMucmFkaW9Hcm91cC52YWx1ZSgpICE9PSB1bmRlZmluZWQ7XG5cdFx0Y29uc3QgaXNGaXJzdFJhZGlvID0gdGhpcy5yYWRpb0dyb3VwLnJhZGlvQnV0dG9ucygpWzBdID09PSB0aGlzO1xuXG5cdFx0aWYgKGRpc2FibGVkIHx8ICghY2hlY2tlZCAmJiAoaGFzU2VsZWN0ZWRSYWRpbyB8fCAhaXNGaXJzdFJhZGlvKSkpIHtcblx0XHRcdHJldHVybiAtMTtcblx0XHR9XG5cdFx0cmV0dXJuIDA7XG5cdH0pO1xuXG5cdC8qKlxuXHQgKiBUaGUgdW5pcXVlIElEIGZvciB0aGUgcmFkaW8gYnV0dG9uIGlucHV0LiBJZiBub25lIGlzIHN1cHBsaWVkLCBpdCB3aWxsIGJlIGF1dG8tZ2VuZXJhdGVkLlxuXHQgKi9cblx0cHVibGljIHJlYWRvbmx5IGlkID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG5cdHB1YmxpYyByZWFkb25seSBhcmlhTGFiZWwgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCwgeyBhbGlhczogJ2FyaWEtbGFiZWwnIH0pO1xuXG5cdHB1YmxpYyByZWFkb25seSBhcmlhTGFiZWxsZWRieSA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkLCB7IGFsaWFzOiAnYXJpYS1sYWJlbGxlZGJ5JyB9KTtcblxuXHRwdWJsaWMgcmVhZG9ubHkgYXJpYURlc2NyaWJlZGJ5ID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQsIHsgYWxpYXM6ICdhcmlhLWRlc2NyaWJlZGJ5JyB9KTtcblxuXHQvKipcblx0ICogVGhlIHZhbHVlIHRoaXMgcmFkaW8gYnV0dG9uIHJlcHJlc2VudHMuXG5cdCAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgdmFsdWUgPSBpbnB1dC5yZXF1aXJlZDxUPigpO1xuXG5cdC8qKlxuXHQgKiBXaGV0aGVyIHRoZSByYWRpbyBidXR0b24gaXMgcmVxdWlyZWQuXG5cdCAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgcmVxdWlyZWQgPSBpbnB1dDxib29sZWFuLCBCb29sZWFuSW5wdXQ+KGZhbHNlLCB7XG5cdFx0dHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuXHR9KTtcblxuXHQvKipcblx0ICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBjaGVja2VkIHN0YXRlIG9mIHRoaXMgcmFkaW8gYnV0dG9uIGNoYW5nZXMuXG5cdCAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgY2hhbmdlID0gb3V0cHV0PEJyblJhZGlvQ2hhbmdlPFQ+PigpO1xuXG5cdHByb3RlY3RlZCByZWFkb25seSBob3N0SWQgPSBjb21wdXRlZCgoKSA9PlxuXHRcdHRoaXMuaWQoKSA/IHRoaXMuaWQoKSA6IGBicm4tcmFkaW8tJHsrK0JyblJhZGlvQ29tcG9uZW50Ll9uZXh0VW5pcXVlSWR9YCxcblx0KTtcblxuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgaW5wdXRJZCA9IGNvbXB1dGVkKCgpID0+IGAke3RoaXMuaG9zdElkKCl9LWlucHV0YCk7XG5cblx0cHJvdGVjdGVkIHJlYWRvbmx5IGlucHV0RWxlbWVudCA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+PignaW5wdXQnKTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHR0aGlzLl9mb2N1c01vbml0b3IubW9uaXRvcih0aGlzLl9lbGVtZW50UmVmLCB0cnVlKTtcblx0fVxuXG5cdG5nT25EZXN0cm95KCk6IHZvaWQge1xuXHRcdHRoaXMuX2ZvY3VzTW9uaXRvci5zdG9wTW9uaXRvcmluZyh0aGlzLl9lbGVtZW50UmVmKTtcblx0fVxuXG5cdC8qKiBEaXNwYXRjaCBjaGFuZ2UgZXZlbnQgd2l0aCBjdXJyZW50IHZhbHVlLiAqL1xuXHRwcml2YXRlIGVtaXRDaGFuZ2VFdmVudCgpOiB2b2lkIHtcblx0XHR0aGlzLmNoYW5nZS5lbWl0KG5ldyBCcm5SYWRpb0NoYW5nZSh0aGlzLCB0aGlzLnZhbHVlKCkpKTtcblx0fVxuXG5cdHByb3RlY3RlZCBvbklucHV0Q2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG5cdFx0Ly8gV2UgaGF2ZSB0byBzdG9wIHByb3BhZ2F0aW9uIGZvciBjbGljayBldmVudHMgb24gdGhlIHZpc3VhbCBoaWRkZW4gaW5wdXQgZWxlbWVudC5cblx0XHQvLyBCeSBkZWZhdWx0LCB3aGVuIGEgdXNlciBjbGlja3Mgb24gYSBsYWJlbCBlbGVtZW50LCBhIGdlbmVyYXRlZCBjbGljayBldmVudCB3aWxsIGJlXG5cdFx0Ly8gZGlzcGF0Y2hlZCBvbiB0aGUgYXNzb2NpYXRlZCBpbnB1dCBlbGVtZW50LiBTaW5jZSB3ZSBhcmUgdXNpbmcgYSBsYWJlbCBlbGVtZW50IGFzIG91clxuXHRcdC8vIHJvb3QgY29udGFpbmVyLCB0aGUgY2xpY2sgZXZlbnQgb24gdGhlIGByYWRpby1idXR0b25gIHdpbGwgYmUgZXhlY3V0ZWQgdHdpY2UuXG5cdFx0Ly8gVGhlIHJlYWwgY2xpY2sgZXZlbnQgd2lsbCBidWJibGUgdXAsIGFuZCB0aGUgZ2VuZXJhdGVkIGNsaWNrIGV2ZW50IGFsc28gdHJpZXMgdG8gYnViYmxlIHVwLlxuXHRcdC8vIFRoaXMgd2lsbCBsZWFkIHRvIG11bHRpcGxlIGNsaWNrIGV2ZW50cy5cblx0XHQvLyBQcmV2ZW50aW5nIGJ1YmJsaW5nIGZvciB0aGUgc2Vjb25kIGV2ZW50IHdpbGwgc29sdmUgdGhhdCBpc3N1ZS5cblx0XHRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblx0fVxuXG5cdHByb3RlY3RlZCBvbklucHV0SW50ZXJhY3Rpb24oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG5cdFx0Ly8gV2UgYWx3YXlzIGhhdmUgdG8gc3RvcCBwcm9wYWdhdGlvbiBvbiB0aGUgY2hhbmdlIGV2ZW50LlxuXHRcdC8vIE90aGVyd2lzZSB0aGUgY2hhbmdlIGV2ZW50LCBmcm9tIHRoZSBpbnB1dCBlbGVtZW50LCB3aWxsIGJ1YmJsZSB1cCBhbmRcblx0XHQvLyBlbWl0IGl0cyBldmVudCBvYmplY3QgdG8gdGhlIGBjaGFuZ2VgIG91dHB1dC5cblx0XHRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuXHRcdGlmICghdGhpcy5jaGVja2VkKCkgJiYgIXRoaXMuZGlzYWJsZWRTdGF0ZSgpKSB7XG5cdFx0XHR0aGlzLmVtaXRDaGFuZ2VFdmVudCgpO1xuXHRcdFx0dGhpcy5yYWRpb0dyb3VwLnNlbGVjdCh0aGlzLCB0aGlzLnZhbHVlKCkpO1xuXHRcdH1cblx0fVxuXG5cdC8qKiBUcmlnZ2VyZWQgd2hlbiB0aGUgdXNlciBjbGlja3Mgb24gdGhlIHRvdWNoIHRhcmdldC4gKi9cblx0cHJvdGVjdGVkIG9uVG91Y2hUYXJnZXRDbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcblx0XHR0aGlzLm9uSW5wdXRJbnRlcmFjdGlvbihldmVudCk7XG5cblx0XHRpZiAoIXRoaXMuZGlzYWJsZWRTdGF0ZSgpKSB7XG5cdFx0XHQvLyBOb3JtYWxseSB0aGUgaW5wdXQgc2hvdWxkIGJlIGZvY3VzZWQgYWxyZWFkeSwgYnV0IGlmIHRoZSBjbGlja1xuXHRcdFx0Ly8gY29tZXMgZnJvbSB0aGUgdG91Y2ggdGFyZ2V0LCB0aGVuIHdlIG1pZ2h0IGhhdmUgdG8gZm9jdXMgaXQgb3Vyc2VsdmVzLlxuXHRcdFx0dGhpcy5pbnB1dEVsZW1lbnQoKS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG5cdFx0fVxuXHR9XG59XG4iXX0=
|
|
@@ -77,8 +77,8 @@ export class BrnSelectContentComponent {
|
|
|
77
77
|
canScrollDown = signal(false);
|
|
78
78
|
initialSelectedOptions$ = toObservable(this._selectService.selectedOptions);
|
|
79
79
|
viewport = viewChild.required('viewport');
|
|
80
|
-
scrollUpBtn = contentChild
|
|
81
|
-
scrollDownBtn = contentChild
|
|
80
|
+
scrollUpBtn = contentChild(BrnSelectScrollUpDirective);
|
|
81
|
+
scrollDownBtn = contentChild(BrnSelectScrollDownDirective);
|
|
82
82
|
_options = contentChildren(BrnSelectOptionDirective, { descendants: true });
|
|
83
83
|
constructor() {
|
|
84
84
|
this._cdkListbox.valueChange
|
|
@@ -128,7 +128,7 @@ export class BrnSelectContentComponent {
|
|
|
128
128
|
moveFocusUp() {
|
|
129
129
|
this.viewport().nativeElement.scrollBy({ top: -SCROLLBY_PIXELS, behavior: 'smooth' });
|
|
130
130
|
if (this.viewport().nativeElement.scrollTop === 0) {
|
|
131
|
-
this.scrollUpBtn()
|
|
131
|
+
this.scrollUpBtn()?.stopEmittingEvents();
|
|
132
132
|
}
|
|
133
133
|
}
|
|
134
134
|
moveFocusDown() {
|
|
@@ -137,7 +137,7 @@ export class BrnSelectContentComponent {
|
|
|
137
137
|
const viewportScrollPosition = this.viewport().nativeElement.scrollTop;
|
|
138
138
|
if (viewportSize + viewportScrollPosition + SCROLLBY_PIXELS >
|
|
139
139
|
this.viewport().nativeElement.scrollHeight + SCROLLBY_PIXELS / 2) {
|
|
140
|
-
this.scrollDownBtn()
|
|
140
|
+
this.scrollDownBtn()?.stopEmittingEvents();
|
|
141
141
|
}
|
|
142
142
|
}
|
|
143
143
|
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSelectContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
@@ -202,4 +202,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
202
202
|
<ng-container *ngTemplateOutlet="canScrollDown() && scrollDownBtn() ? scrollDown : null" />
|
|
203
203
|
`, styles: [":host{display:flex;box-sizing:border-box;flex-direction:column;outline:none;pointer-events:auto}[data-brn-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}[data-brn-select-viewport]::-webkit-scrollbar{display:none}\n"] }]
|
|
204
204
|
}], ctorParameters: () => [] });
|
|
205
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLXNlbGVjdC1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vc2VsZWN0L3NyYy9saWIvYnJuLXNlbGVjdC1jb250ZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFnQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFFTix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsWUFBWSxFQUNaLGVBQWUsRUFDZixNQUFNLEVBQ04sTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXhELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBRTNDLE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQztBQVU1QixNQUFNLE9BQU8sMEJBQTBCO0lBQ3JCLEdBQUcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDekIsY0FBYyxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBRW5ELFdBQVcsR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO0lBQ3JDLFdBQVcsR0FBRyxNQUFNLENBQUMsVUFB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Qy9DLE1BQU0sRUFBRSxvQkFBb0I7d0JBQzVCLFlBQVksRUFBRSxzQkFBc0I7cUJBQ3BDLFlBc0JTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBeUJUIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrTGlzdGJveCwgdHlwZSBMaXN0Ym94VmFsdWVDaGFuZ2VFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9saXN0Ym94JztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcblx0dHlwZSBBZnRlclZpZXdJbml0LFxuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcblx0Q29tcG9uZW50LFxuXHREZXN0cm95UmVmLFxuXHRFbGVtZW50UmVmLFxuXHRjb250ZW50Q2hpbGQsXG5cdGNvbnRlbnRDaGlsZHJlbixcblx0ZWZmZWN0LFxuXHRpbmplY3QsXG5cdHNpZ25hbCxcblx0dmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCwgdG9PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgQnJuU2VsZWN0T3B0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9icm4tc2VsZWN0LW9wdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQnJuU2VsZWN0U2VydmljZSB9IGZyb20gJy4vYnJuLXNlbGVjdC5zZXJ2aWNlJztcblxuaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBmcm9tRXZlbnQsIGludGVydmFsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmNvbnN0IFNDUk9MTEJZX1BJWEVMUyA9IDEwMDtcblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnW2JyblNlbGVjdFNjcm9sbFVwXSwgYnJuLXNlbGVjdC1zY3JvbGwtdXAsIGhsbS1zZWxlY3Qtc2Nyb2xsLXVwOm5vdChub0hsbSknLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRob3N0OiB7XG5cdFx0J2FyaWEtaGlkZGVuJzogJ3RydWUnLFxuXHRcdCcobW91c2VlbnRlciknOiAnc3RhcnRFbWl0dGluZ0V2ZW50cygpJyxcblx0fSxcbn0pXG5leHBvcnQgY2xhc3MgQnJuU2VsZWN0U2Nyb2xsVXBEaXJlY3RpdmUge1xuXHRwcml2YXRlIHJlYWRvbmx5IF9lbCA9IGluamVjdChFbGVtZW50UmVmKTtcblx0cHJpdmF0ZSByZWFkb25seSBfc2VsZWN0Q29udGVudCA9IGluamVjdChCcm5TZWxlY3RDb250ZW50Q29tcG9uZW50KTtcblxuXHRwcml2YXRlIHJlYWRvbmx5IF9lbmRSZWFjaGVkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblx0cHJpdmF0ZSByZWFkb25seSBfZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuXHRwdWJsaWMgc3RhcnRFbWl0dGluZ0V2ZW50cygpOiB2b2lkIHtcblx0XHRjb25zdCBtb3VzZUxlYXZlJCA9IGZyb21FdmVudCh0aGlzLl9lbC5uYXRpdmVFbGVtZW50LCAnbW91c2VsZWF2ZScpO1xuXG5cdFx0aW50ZXJ2YWwoMTAwKVxuXHRcdFx0LnBpcGUodGFrZVVudGlsKG1vdXNlTGVhdmUkKSwgdGFrZVVudGlsKHRoaXMuX2VuZFJlYWNoZWQpLCB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpXG5cdFx0XHQuc3Vic2NyaWJlKCgpID0+IHRoaXMuX3NlbGVjdENvbnRlbnQubW92ZUZvY3VzVXAoKSk7XG5cdH1cblxuXHRwdWJsaWMgc3RvcEVtaXR0aW5nRXZlbnRzKCk6IHZvaWQge1xuXHRcdHRoaXMuX2VuZFJlYWNoZWQubmV4dCh0cnVlKTtcblx0fVxufVxuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdbYnJuU2VsZWN0U2Nyb2xsRG93bl0sIGJybi1zZWxlY3Qtc2Nyb2xsLWRvd24sIGhsbS1zZWxlY3Qtc2Nyb2xsLWRvd246bm90KG5vSGxtKScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGhvc3Q6IHtcblx0XHQnYXJpYS1oaWRkZW4nOiAndHJ1ZScsXG5cdFx0Jyhtb3VzZWVudGVyKSc6ICdzdGFydEVtaXR0aW5nRXZlbnRzKCknLFxuXHR9LFxufSlcbmV4cG9ydCBjbGFzcyBCcm5TZWxlY3RTY3JvbGxEb3duRGlyZWN0aXZlIHtcblx0cHJpdmF0ZSByZWFkb25seSBfZWwgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cdHByaXZhdGUgcmVhZG9ubHkgX3NlbGVjdENvbnRlbnQgPSBpbmplY3QoQnJuU2VsZWN0Q29udGVudENvbXBvbmVudCk7XG5cblx0cHJpdmF0ZSByZWFkb25seSBfZW5kUmVhY2hlZCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cdHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cblx0cHVibGljIHN0YXJ0RW1pdHRpbmdFdmVudHMoKTogdm9pZCB7XG5cdFx0Y29uc3QgbW91c2VMZWF2ZSQgPSBmcm9tRXZlbnQodGhpcy5fZWwubmF0aXZlRWxlbWVudCwgJ21vdXNlbGVhdmUnKTtcblxuXHRcdGludGVydmFsKDEwMClcblx0XHRcdC5waXBlKHRha2VVbnRpbChtb3VzZUxlYXZlJCksIHRha2VVbnRpbCh0aGlzLl9lbmRSZWFjaGVkKSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKVxuXHRcdFx0LnN1YnNjcmliZSgoKSA9PiB0aGlzLl9zZWxlY3RDb250ZW50Lm1vdmVGb2N1c0Rvd24oKSk7XG5cdH1cblxuXHRwdWJsaWMgc3RvcEVtaXR0aW5nRXZlbnRzKCk6IHZvaWQge1xuXHRcdHRoaXMuX2VuZFJlYWNoZWQubmV4dCh0cnVlKTtcblx0fVxufVxuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdicm4tc2VsZWN0LWNvbnRlbnQsIGhsbS1zZWxlY3QtY29udGVudDpub3Qobm9IbG0pJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0aW1wb3J0czogW0JyblNlbGVjdFNjcm9sbFVwRGlyZWN0aXZlLCBCcm5TZWxlY3RTY3JvbGxEb3duRGlyZWN0aXZlLCBOZ1RlbXBsYXRlT3V0bGV0XSxcblx0aG9zdERpcmVjdGl2ZXM6IFtDZGtMaXN0Ym94XSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdGhvc3Q6IHtcblx0XHQnW2F0dHIuYXJpYS1sYWJlbGxlZEJ5XSc6ICdsYWJlbGxlZEJ5KCknLFxuXHRcdCdbYXR0ci5hcmlhLWNvbnRyb2xsZWRCeV0nOiBcImlkKCkgKyctLXRyaWdnZXInXCIsXG5cdFx0J1tpZF0nOiBcImlkKCkgKyAnLS1jb250ZW50J1wiLFxuXHRcdCdbYXR0ci5kaXJdJzogJ19zZWxlY3RTZXJ2aWNlLmRpcigpJyxcblx0fSxcblx0c3R5bGVzOiBbXG5cdFx0YFxuXHRcdFx0Omhvc3Qge1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0XHRvdXRsaW5lOiBub25lO1xuXHRcdFx0XHRwb2ludGVyLWV2ZW50czogYXV0bztcblx0XHRcdH1cblxuXHRcdFx0W2RhdGEtYnJuLXNlbGVjdC12aWV3cG9ydF0ge1xuXHRcdFx0XHRzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG5cdFx0XHRcdC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcblx0XHRcdFx0LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXHRcdFx0fVxuXG5cdFx0XHRbZGF0YS1icm4tc2VsZWN0LXZpZXdwb3J0XTo6LXdlYmtpdC1zY3JvbGxiYXIge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fVxuXHRcdGAsXG5cdF0sXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5nLXRlbXBsYXRlICNzY3JvbGxVcD5cblx0XHRcdDxuZy1jb250ZW50IHNlbGVjdD1cImhsbS1zZWxlY3Qtc2Nyb2xsLXVwXCIgLz5cblx0XHRcdDxuZy1jb250ZW50IHNlbGVjdD1cImJyblNlbGVjdFNjcm9sbFVwXCIgLz5cblx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjYW5TY3JvbGxVcCgpICYmIHNjcm9sbFVwQnRuKCkgPyBzY3JvbGxVcCA6IG51bGxcIiAvPlxuXHRcdDxkaXZcblx0XHRcdGRhdGEtYnJuLXNlbGVjdC12aWV3cG9ydFxuXHRcdFx0I3ZpZXdwb3J0XG5cdFx0XHQoc2Nyb2xsKT1cImhhbmRsZVNjcm9sbCgpXCJcblx0XHRcdHN0eWxlPVwiZmxleDogMSAxIDAlO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdG92ZXJmbG93OmF1dG87XG5cdFx0XHRtaW4taGVpZ2h0OiAzNnB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDJweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0ycHg7XCJcblx0XHQ+XG5cdFx0XHQ8bmctY29udGVudCAvPlxuXHRcdDwvZGl2PlxuXHRcdDxuZy10ZW1wbGF0ZSAjc2Nyb2xsRG93bj5cblx0XHRcdDxuZy1jb250ZW50IHNlbGVjdD1cImJyblNlbGVjdFNjcm9sbERvd25cIiAvPlxuXHRcdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwiaGxtLXNlbGVjdC1zY3JvbGwtZG93blwiIC8+XG5cdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHQ8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2FuU2Nyb2xsRG93bigpICYmIHNjcm9sbERvd25CdG4oKSA/IHNjcm9sbERvd24gOiBudWxsXCIgLz5cblx0YCxcbn0pXG5leHBvcnQgY2xhc3MgQnJuU2VsZWN0Q29udGVudENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXHRwcml2YXRlIHJlYWRvbmx5IF9lbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gPSBpbmplY3QoRWxlbWVudFJlZik7XG5cdHByaXZhdGUgcmVhZG9ubHkgX2Nka0xpc3Rib3ggPSBpbmplY3QoQ2RrTGlzdGJveCwgeyBob3N0OiB0cnVlIH0pO1xuXHRwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgX3NlbGVjdFNlcnZpY2UgPSBpbmplY3QoQnJuU2VsZWN0U2VydmljZSk7XG5cblx0cHJvdGVjdGVkIHJlYWRvbmx5IGxhYmVsbGVkQnkgPSB0aGlzLl9zZWxlY3RTZXJ2aWNlLmxhYmVsSWQ7XG5cdHByb3RlY3RlZCByZWFkb25seSBpZCA9IHRoaXMuX3NlbGVjdFNlcnZpY2UuaWQ7XG5cdHByb3RlY3RlZCByZWFkb25seSBjYW5TY3JvbGxVcCA9IHNpZ25hbChmYWxzZSk7XG5cdHByb3RlY3RlZCByZWFkb25seSBjYW5TY3JvbGxEb3duID0gc2lnbmFsKGZhbHNlKTtcblxuXHRwcm90ZWN0ZWQgaW5pdGlhbFNlbGVjdGVkT3B0aW9ucyQgPSB0b09ic2VydmFibGUodGhpcy5fc2VsZWN0U2VydmljZS5zZWxlY3RlZE9wdGlvbnMpO1xuXG5cdHByb3RlY3RlZCB2aWV3cG9ydCA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oJ3ZpZXdwb3J0Jyk7XG5cblx0cHJvdGVjdGVkIHNjcm9sbFVwQnRuID0gY29udGVudENoaWxkLnJlcXVpcmVkKEJyblNlbGVjdFNjcm9sbFVwRGlyZWN0aXZlKTtcblxuXHRwcm90ZWN0ZWQgc2Nyb2xsRG93bkJ0biA9IGNvbnRlbnRDaGlsZC5yZXF1aXJlZChCcm5TZWxlY3RTY3JvbGxEb3duRGlyZWN0aXZlKTtcblxuXHRwcm90ZWN0ZWQgX29wdGlvbnMgPSBjb250ZW50Q2hpbGRyZW4oQnJuU2VsZWN0T3B0aW9uRGlyZWN0aXZlLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHRoaXMuX2Nka0xpc3Rib3gudmFsdWVDaGFuZ2Vcblx0XHRcdC5hc09ic2VydmFibGUoKVxuXHRcdFx0LnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpXG5cdFx0XHQuc3Vic2NyaWJlKCh2YWw6IExpc3Rib3hWYWx1ZUNoYW5nZUV2ZW50PHVua25vd24+KSA9PiB0aGlzLl9zZWxlY3RTZXJ2aWNlLmxpc3RCb3hWYWx1ZUNoYW5nZUV2ZW50JC5uZXh0KHZhbCkpO1xuXG5cdFx0ZWZmZWN0KCgpID0+IHtcblx0XHRcdHRoaXMuX2Nka0xpc3Rib3gubXVsdGlwbGUgPSB0aGlzLl9zZWxlY3RTZXJ2aWNlLm11bHRpcGxlKCk7XG5cdFx0XHR0aGlzLl9zZWxlY3RTZXJ2aWNlLmlzRXhwYW5kZWQoKSAmJiBzZXRUaW1lb3V0KCgpID0+IHRoaXMudXBkYXRlQXJyb3dEaXNwbGF5KCkpO1xuXHRcdH0pO1xuXHR9XG5cblx0bmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuXHRcdHRoaXMuc2V0SW5pdGlhbGx5U2VsZWN0ZWRPcHRpb25zKCk7XG5cdH1cblxuXHRwcml2YXRlIHNldEluaXRpYWxseVNlbGVjdGVkT3B0aW9ucygpIHtcblx0XHR0aGlzLmluaXRpYWxTZWxlY3RlZE9wdGlvbnMkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKHNlbGVjdGVkT3B0aW9ucykgPT4ge1xuXHRcdFx0Ly8gUmVhcHBseWluZyBjZGtMaWJzdGJveCBtdWx0aXBsZSBiZWNhdXNlIHNlZW1zIHRoaXMgaXMgcnVubmluZyBiZWZvcmUgZWZmZWN0IHRoYXRcblx0XHRcdC8vIHVwZGF0ZXMgY2RrbGlzdGJveCwgcmVhcHBseWluZyBtdWx0aXBsZSB0cnVlIHNvIHdlIGNhbiBzZXQgdGhlIG11bHRpcGxlIGluaXRpYWwgb3B0aW9uc1xuXHRcdFx0aWYgKHRoaXMuX3NlbGVjdFNlcnZpY2UubXVsdGlwbGUoKSkge1xuXHRcdFx0XHR0aGlzLl9jZGtMaXN0Ym94Lm11bHRpcGxlID0gdHJ1ZTtcblx0XHRcdH1cblxuXHRcdFx0Zm9yIChjb25zdCBjZGtPcHRpb24gb2YgdGhpcy5fc2VsZWN0U2VydmljZS5wb3NzaWJsZU9wdGlvbnMoKSkge1xuXHRcdFx0XHRpZiAoc2VsZWN0ZWRPcHRpb25zLmluY2x1ZGVzKGNka09wdGlvbikpIHtcblx0XHRcdFx0XHRjZGtPcHRpb24/LnNlbGVjdCgpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdGNka09wdGlvbj8uZGVzZWxlY3QoKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRmb3IgKGNvbnN0IGNka09wdGlvbiBvZiBzZWxlY3RlZE9wdGlvbnMpIHtcblx0XHRcdFx0Y2RrT3B0aW9uPy5zZWxlY3QoKTtcblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXG5cdHB1YmxpYyB1cGRhdGVBcnJvd0Rpc3BsYXkoKTogdm9pZCB7XG5cdFx0Y29uc3QgeyBzY3JvbGxUb3AsIHNjcm9sbEhlaWdodCwgY2xpZW50SGVpZ2h0IH0gPSB0aGlzLnZpZXdwb3J0KCkubmF0aXZlRWxlbWVudDtcblx0XHR0aGlzLmNhblNjcm9sbFVwLnNldChzY3JvbGxUb3AgPiAwKTtcblx0XHRjb25zdCBtYXhTY3JvbGwgPSBzY3JvbGxIZWlnaHQgLSBjbGllbnRIZWlnaHQ7XG5cdFx0dGhpcy5jYW5TY3JvbGxEb3duLnNldChNYXRoLmNlaWwoc2Nyb2xsVG9wKSA8IG1heFNjcm9sbCk7XG5cdH1cblxuXHRwdWJsaWMgaGFuZGxlU2Nyb2xsKCkge1xuXHRcdHRoaXMudXBkYXRlQXJyb3dEaXNwbGF5KCk7XG5cdH1cblxuXHRwdWJsaWMgZm9jdXNMaXN0KCk6IHZvaWQge1xuXHRcdHRoaXMuX2Nka0xpc3Rib3guZm9jdXMoKTtcblx0fVxuXG5cdHB1YmxpYyBtb3ZlRm9jdXNVcCgpIHtcblx0XHR0aGlzLnZpZXdwb3J0KCkubmF0aXZlRWxlbWVudC5zY3JvbGxCeSh7IHRvcDogLVNDUk9MTEJZX1BJWEVMUywgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xuXHRcdGlmICh0aGlzLnZpZXdwb3J0KCkubmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgPT09IDApIHtcblx0XHRcdHRoaXMuc2Nyb2xsVXBCdG4oKS5zdG9wRW1pdHRpbmdFdmVudHMoKTtcblx0XHR9XG5cdH1cblxuXHRwdWJsaWMgbW92ZUZvY3VzRG93bigpIHtcblx0XHR0aGlzLnZpZXdwb3J0KCkubmF0aXZlRWxlbWVudC5zY3JvbGxCeSh7IHRvcDogU0NST0xMQllfUElYRUxTLCBiZWhhdmlvcjogJ3Ntb290aCcgfSk7XG5cdFx0Y29uc3Qgdmlld3BvcnRTaXplID0gdGhpcy5fZWwubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQ7XG5cdFx0Y29uc3Qgdmlld3BvcnRTY3JvbGxQb3NpdGlvbiA9IHRoaXMudmlld3BvcnQoKS5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcDtcblx0XHRpZiAoXG5cdFx0XHR2aWV3cG9ydFNpemUgKyB2aWV3cG9ydFNjcm9sbFBvc2l0aW9uICsgU0NST0xMQllfUElYRUxTID5cblx0XHRcdHRoaXMudmlld3BvcnQoKS5uYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodCArIFNDUk9MTEJZX1BJWEVMUyAvIDJcblx0XHQpIHtcblx0XHRcdHRoaXMuc2Nyb2xsRG93bkJ0bigpLnN0b3BFbWl0dGluZ0V2ZW50cygpO1xuXHRcdH1cblx0fVxufVxuIl19
|
|
205
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLXNlbGVjdC1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vc2VsZWN0L3NyYy9saWIvYnJuLXNlbGVjdC1jb250ZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFnQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFFTix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsWUFBWSxFQUNaLGVBQWUsRUFDZixNQUFNLEVBQ04sTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXhELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBRTNDLE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQztBQVU1QixNQUFNLE9BQU8sMEJBQTBCO0lBQ3JCLEdBQUcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDekIsY0FBYyxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBRW5ELFdBQVcsR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO0lBQ3JDLFdBQVcsR0FBRyxNQUFNLENBQUMsVUFB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O3dCQUM1QixZQUFZLEVBQUUsc0JBQXNCO3FCQUNwQyxZQXNCUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQXlCVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0xpc3Rib3gsIHR5cGUgTGlzdGJveFZhbHVlQ2hhbmdlRXZlbnQgfSBmcm9tICdAYW5ndWxhci9jZGsvbGlzdGJveCc7XG5pbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG5cdHR5cGUgQWZ0ZXJWaWV3SW5pdCxcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0RGVzdHJveVJlZixcblx0RWxlbWVudFJlZixcblx0Y29udGVudENoaWxkLFxuXHRjb250ZW50Q2hpbGRyZW4sXG5cdGVmZmVjdCxcblx0aW5qZWN0LFxuXHRzaWduYWwsXG5cdHZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQsIHRvT2JzZXJ2YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEJyblNlbGVjdE9wdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vYnJuLXNlbGVjdC1vcHRpb24uZGlyZWN0aXZlJztcbmltcG9ydCB7IEJyblNlbGVjdFNlcnZpY2UgfSBmcm9tICcuL2Jybi1zZWxlY3Quc2VydmljZSc7XG5cbmltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgZnJvbUV2ZW50LCBpbnRlcnZhbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5jb25zdCBTQ1JPTExCWV9QSVhFTFMgPSAxMDA7XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ1ticm5TZWxlY3RTY3JvbGxVcF0sIGJybi1zZWxlY3Qtc2Nyb2xsLXVwLCBobG0tc2VsZWN0LXNjcm9sbC11cDpub3Qobm9IbG0pJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0aG9zdDoge1xuXHRcdCdhcmlhLWhpZGRlbic6ICd0cnVlJyxcblx0XHQnKG1vdXNlZW50ZXIpJzogJ3N0YXJ0RW1pdHRpbmdFdmVudHMoKScsXG5cdH0sXG59KVxuZXhwb3J0IGNsYXNzIEJyblNlbGVjdFNjcm9sbFVwRGlyZWN0aXZlIHtcblx0cHJpdmF0ZSByZWFkb25seSBfZWwgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cdHByaXZhdGUgcmVhZG9ubHkgX3NlbGVjdENvbnRlbnQgPSBpbmplY3QoQnJuU2VsZWN0Q29udGVudENvbXBvbmVudCk7XG5cblx0cHJpdmF0ZSByZWFkb25seSBfZW5kUmVhY2hlZCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cdHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cblx0cHVibGljIHN0YXJ0RW1pdHRpbmdFdmVudHMoKTogdm9pZCB7XG5cdFx0Y29uc3QgbW91c2VMZWF2ZSQgPSBmcm9tRXZlbnQodGhpcy5fZWwubmF0aXZlRWxlbWVudCwgJ21vdXNlbGVhdmUnKTtcblxuXHRcdGludGVydmFsKDEwMClcblx0XHRcdC5waXBlKHRha2VVbnRpbChtb3VzZUxlYXZlJCksIHRha2VVbnRpbCh0aGlzLl9lbmRSZWFjaGVkKSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKVxuXHRcdFx0LnN1YnNjcmliZSgoKSA9PiB0aGlzLl9zZWxlY3RDb250ZW50Lm1vdmVGb2N1c1VwKCkpO1xuXHR9XG5cblx0cHVibGljIHN0b3BFbWl0dGluZ0V2ZW50cygpOiB2b2lkIHtcblx0XHR0aGlzLl9lbmRSZWFjaGVkLm5leHQodHJ1ZSk7XG5cdH1cbn1cblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnW2JyblNlbGVjdFNjcm9sbERvd25dLCBicm4tc2VsZWN0LXNjcm9sbC1kb3duLCBobG0tc2VsZWN0LXNjcm9sbC1kb3duOm5vdChub0hsbSknLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRob3N0OiB7XG5cdFx0J2FyaWEtaGlkZGVuJzogJ3RydWUnLFxuXHRcdCcobW91c2VlbnRlciknOiAnc3RhcnRFbWl0dGluZ0V2ZW50cygpJyxcblx0fSxcbn0pXG5leHBvcnQgY2xhc3MgQnJuU2VsZWN0U2Nyb2xsRG93bkRpcmVjdGl2ZSB7XG5cdHByaXZhdGUgcmVhZG9ubHkgX2VsID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXHRwcml2YXRlIHJlYWRvbmx5IF9zZWxlY3RDb250ZW50ID0gaW5qZWN0KEJyblNlbGVjdENvbnRlbnRDb21wb25lbnQpO1xuXG5cdHByaXZhdGUgcmVhZG9ubHkgX2VuZFJlYWNoZWQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXHRwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG5cdHB1YmxpYyBzdGFydEVtaXR0aW5nRXZlbnRzKCk6IHZvaWQge1xuXHRcdGNvbnN0IG1vdXNlTGVhdmUkID0gZnJvbUV2ZW50KHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQsICdtb3VzZWxlYXZlJyk7XG5cblx0XHRpbnRlcnZhbCgxMDApXG5cdFx0XHQucGlwZSh0YWtlVW50aWwobW91c2VMZWF2ZSQpLCB0YWtlVW50aWwodGhpcy5fZW5kUmVhY2hlZCksIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSlcblx0XHRcdC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fc2VsZWN0Q29udGVudC5tb3ZlRm9jdXNEb3duKCkpO1xuXHR9XG5cblx0cHVibGljIHN0b3BFbWl0dGluZ0V2ZW50cygpOiB2b2lkIHtcblx0XHR0aGlzLl9lbmRSZWFjaGVkLm5leHQodHJ1ZSk7XG5cdH1cbn1cblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnYnJuLXNlbGVjdC1jb250ZW50LCBobG0tc2VsZWN0LWNvbnRlbnQ6bm90KG5vSGxtKScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGltcG9ydHM6IFtCcm5TZWxlY3RTY3JvbGxVcERpcmVjdGl2ZSwgQnJuU2VsZWN0U2Nyb2xsRG93bkRpcmVjdGl2ZSwgTmdUZW1wbGF0ZU91dGxldF0sXG5cdGhvc3REaXJlY3RpdmVzOiBbQ2RrTGlzdGJveF0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRob3N0OiB7XG5cdFx0J1thdHRyLmFyaWEtbGFiZWxsZWRCeV0nOiAnbGFiZWxsZWRCeSgpJyxcblx0XHQnW2F0dHIuYXJpYS1jb250cm9sbGVkQnldJzogXCJpZCgpICsnLS10cmlnZ2VyJ1wiLFxuXHRcdCdbaWRdJzogXCJpZCgpICsgJy0tY29udGVudCdcIixcblx0XHQnW2F0dHIuZGlyXSc6ICdfc2VsZWN0U2VydmljZS5kaXIoKScsXG5cdH0sXG5cdHN0eWxlczogW1xuXHRcdGBcblx0XHRcdDpob3N0IHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdFx0b3V0bGluZTogbm9uZTtcblx0XHRcdFx0cG9pbnRlci1ldmVudHM6IGF1dG87XG5cdFx0XHR9XG5cblx0XHRcdFtkYXRhLWJybi1zZWxlY3Qtdmlld3BvcnRdIHtcblx0XHRcdFx0c2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuXHRcdFx0XHQtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG5cdFx0XHRcdC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblx0XHRcdH1cblxuXHRcdFx0W2RhdGEtYnJuLXNlbGVjdC12aWV3cG9ydF06Oi13ZWJraXQtc2Nyb2xsYmFyIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHRgLFxuXHRdLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZy10ZW1wbGF0ZSAjc2Nyb2xsVXA+XG5cdFx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJobG0tc2VsZWN0LXNjcm9sbC11cFwiIC8+XG5cdFx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJicm5TZWxlY3RTY3JvbGxVcFwiIC8+XG5cdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHQ8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2FuU2Nyb2xsVXAoKSAmJiBzY3JvbGxVcEJ0bigpID8gc2Nyb2xsVXAgOiBudWxsXCIgLz5cblx0XHQ8ZGl2XG5cdFx0XHRkYXRhLWJybi1zZWxlY3Qtdmlld3BvcnRcblx0XHRcdCN2aWV3cG9ydFxuXHRcdFx0KHNjcm9sbCk9XCJoYW5kbGVTY3JvbGwoKVwiXG5cdFx0XHRzdHlsZT1cImZsZXg6IDEgMSAwJTtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0XHRvdmVyZmxvdzphdXRvO1xuXHRcdFx0bWluLWhlaWdodDogMzZweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAycHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMnB4O1wiXG5cdFx0PlxuXHRcdFx0PG5nLWNvbnRlbnQgLz5cblx0XHQ8L2Rpdj5cblx0XHQ8bmctdGVtcGxhdGUgI3Njcm9sbERvd24+XG5cdFx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJicm5TZWxlY3RTY3JvbGxEb3duXCIgLz5cblx0XHRcdDxuZy1jb250ZW50IHNlbGVjdD1cImhsbS1zZWxlY3Qtc2Nyb2xsLWRvd25cIiAvPlxuXHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNhblNjcm9sbERvd24oKSAmJiBzY3JvbGxEb3duQnRuKCkgPyBzY3JvbGxEb3duIDogbnVsbFwiIC8+XG5cdGAsXG59KVxuZXhwb3J0IGNsYXNzIEJyblNlbGVjdENvbnRlbnRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcblx0cHJpdmF0ZSByZWFkb25seSBfZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+ID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXHRwcml2YXRlIHJlYWRvbmx5IF9jZGtMaXN0Ym94ID0gaW5qZWN0KENka0xpc3Rib3gsIHsgaG9zdDogdHJ1ZSB9KTtcblx0cHJpdmF0ZSByZWFkb25seSBfZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblx0cHJvdGVjdGVkIHJlYWRvbmx5IF9zZWxlY3RTZXJ2aWNlID0gaW5qZWN0KEJyblNlbGVjdFNlcnZpY2UpO1xuXG5cdHByb3RlY3RlZCByZWFkb25seSBsYWJlbGxlZEJ5ID0gdGhpcy5fc2VsZWN0U2VydmljZS5sYWJlbElkO1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgaWQgPSB0aGlzLl9zZWxlY3RTZXJ2aWNlLmlkO1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgY2FuU2Nyb2xsVXAgPSBzaWduYWwoZmFsc2UpO1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgY2FuU2Nyb2xsRG93biA9IHNpZ25hbChmYWxzZSk7XG5cblx0cHJvdGVjdGVkIGluaXRpYWxTZWxlY3RlZE9wdGlvbnMkID0gdG9PYnNlcnZhYmxlKHRoaXMuX3NlbGVjdFNlcnZpY2Uuc2VsZWN0ZWRPcHRpb25zKTtcblxuXHRwcm90ZWN0ZWQgdmlld3BvcnQgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KCd2aWV3cG9ydCcpO1xuXG5cdHByb3RlY3RlZCBzY3JvbGxVcEJ0biA9IGNvbnRlbnRDaGlsZChCcm5TZWxlY3RTY3JvbGxVcERpcmVjdGl2ZSk7XG5cblx0cHJvdGVjdGVkIHNjcm9sbERvd25CdG4gPSBjb250ZW50Q2hpbGQoQnJuU2VsZWN0U2Nyb2xsRG93bkRpcmVjdGl2ZSk7XG5cblx0cHJvdGVjdGVkIF9vcHRpb25zID0gY29udGVudENoaWxkcmVuKEJyblNlbGVjdE9wdGlvbkRpcmVjdGl2ZSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHR0aGlzLl9jZGtMaXN0Ym94LnZhbHVlQ2hhbmdlXG5cdFx0XHQuYXNPYnNlcnZhYmxlKClcblx0XHRcdC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKVxuXHRcdFx0LnN1YnNjcmliZSgodmFsOiBMaXN0Ym94VmFsdWVDaGFuZ2VFdmVudDx1bmtub3duPikgPT4gdGhpcy5fc2VsZWN0U2VydmljZS5saXN0Qm94VmFsdWVDaGFuZ2VFdmVudCQubmV4dCh2YWwpKTtcblxuXHRcdGVmZmVjdCgoKSA9PiB7XG5cdFx0XHR0aGlzLl9jZGtMaXN0Ym94Lm11bHRpcGxlID0gdGhpcy5fc2VsZWN0U2VydmljZS5tdWx0aXBsZSgpO1xuXHRcdFx0dGhpcy5fc2VsZWN0U2VydmljZS5pc0V4cGFuZGVkKCkgJiYgc2V0VGltZW91dCgoKSA9PiB0aGlzLnVwZGF0ZUFycm93RGlzcGxheSgpKTtcblx0XHR9KTtcblx0fVxuXG5cdG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcblx0XHR0aGlzLnNldEluaXRpYWxseVNlbGVjdGVkT3B0aW9ucygpO1xuXHR9XG5cblx0cHJpdmF0ZSBzZXRJbml0aWFsbHlTZWxlY3RlZE9wdGlvbnMoKSB7XG5cdFx0dGhpcy5pbml0aWFsU2VsZWN0ZWRPcHRpb25zJC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSkuc3Vic2NyaWJlKChzZWxlY3RlZE9wdGlvbnMpID0+IHtcblx0XHRcdC8vIFJlYXBwbHlpbmcgY2RrTGlic3Rib3ggbXVsdGlwbGUgYmVjYXVzZSBzZWVtcyB0aGlzIGlzIHJ1bm5pbmcgYmVmb3JlIGVmZmVjdCB0aGF0XG5cdFx0XHQvLyB1cGRhdGVzIGNka2xpc3Rib3gsIHJlYXBwbHlpbmcgbXVsdGlwbGUgdHJ1ZSBzbyB3ZSBjYW4gc2V0IHRoZSBtdWx0aXBsZSBpbml0aWFsIG9wdGlvbnNcblx0XHRcdGlmICh0aGlzLl9zZWxlY3RTZXJ2aWNlLm11bHRpcGxlKCkpIHtcblx0XHRcdFx0dGhpcy5fY2RrTGlzdGJveC5tdWx0aXBsZSA9IHRydWU7XG5cdFx0XHR9XG5cblx0XHRcdGZvciAoY29uc3QgY2RrT3B0aW9uIG9mIHRoaXMuX3NlbGVjdFNlcnZpY2UucG9zc2libGVPcHRpb25zKCkpIHtcblx0XHRcdFx0aWYgKHNlbGVjdGVkT3B0aW9ucy5pbmNsdWRlcyhjZGtPcHRpb24pKSB7XG5cdFx0XHRcdFx0Y2RrT3B0aW9uPy5zZWxlY3QoKTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRjZGtPcHRpb24/LmRlc2VsZWN0KCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Zm9yIChjb25zdCBjZGtPcHRpb24gb2Ygc2VsZWN0ZWRPcHRpb25zKSB7XG5cdFx0XHRcdGNka09wdGlvbj8uc2VsZWN0KCk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblxuXHRwdWJsaWMgdXBkYXRlQXJyb3dEaXNwbGF5KCk6IHZvaWQge1xuXHRcdGNvbnN0IHsgc2Nyb2xsVG9wLCBzY3JvbGxIZWlnaHQsIGNsaWVudEhlaWdodCB9ID0gdGhpcy52aWV3cG9ydCgpLm5hdGl2ZUVsZW1lbnQ7XG5cdFx0dGhpcy5jYW5TY3JvbGxVcC5zZXQoc2Nyb2xsVG9wID4gMCk7XG5cdFx0Y29uc3QgbWF4U2Nyb2xsID0gc2Nyb2xsSGVpZ2h0IC0gY2xpZW50SGVpZ2h0O1xuXHRcdHRoaXMuY2FuU2Nyb2xsRG93bi5zZXQoTWF0aC5jZWlsKHNjcm9sbFRvcCkgPCBtYXhTY3JvbGwpO1xuXHR9XG5cblx0cHVibGljIGhhbmRsZVNjcm9sbCgpIHtcblx0XHR0aGlzLnVwZGF0ZUFycm93RGlzcGxheSgpO1xuXHR9XG5cblx0cHVibGljIGZvY3VzTGlzdCgpOiB2b2lkIHtcblx0XHR0aGlzLl9jZGtMaXN0Ym94LmZvY3VzKCk7XG5cdH1cblxuXHRwdWJsaWMgbW92ZUZvY3VzVXAoKSB7XG5cdFx0dGhpcy52aWV3cG9ydCgpLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsQnkoeyB0b3A6IC1TQ1JPTExCWV9QSVhFTFMsIGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcblx0XHRpZiAodGhpcy52aWV3cG9ydCgpLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wID09PSAwKSB7XG5cdFx0XHR0aGlzLnNjcm9sbFVwQnRuKCk/LnN0b3BFbWl0dGluZ0V2ZW50cygpO1xuXHRcdH1cblx0fVxuXG5cdHB1YmxpYyBtb3ZlRm9jdXNEb3duKCkge1xuXHRcdHRoaXMudmlld3BvcnQoKS5uYXRpdmVFbGVtZW50LnNjcm9sbEJ5KHsgdG9wOiBTQ1JPTExCWV9QSVhFTFMsIGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcblx0XHRjb25zdCB2aWV3cG9ydFNpemUgPSB0aGlzLl9lbC5uYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodDtcblx0XHRjb25zdCB2aWV3cG9ydFNjcm9sbFBvc2l0aW9uID0gdGhpcy52aWV3cG9ydCgpLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wO1xuXHRcdGlmIChcblx0XHRcdHZpZXdwb3J0U2l6ZSArIHZpZXdwb3J0U2Nyb2xsUG9zaXRpb24gKyBTQ1JPTExCWV9QSVhFTFMgPlxuXHRcdFx0dGhpcy52aWV3cG9ydCgpLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSGVpZ2h0ICsgU0NST0xMQllfUElYRUxTIC8gMlxuXHRcdCkge1xuXHRcdFx0dGhpcy5zY3JvbGxEb3duQnRuKCk/LnN0b3BFbWl0dGluZ0V2ZW50cygpO1xuXHRcdH1cblx0fVxufVxuIl19
|
|
@@ -238,6 +238,13 @@ class BrnCommandDirective {
|
|
|
238
238
|
.withWrap()
|
|
239
239
|
.withTypeAhead()
|
|
240
240
|
.skipPredicate((item) => item.disabled || !item.visible());
|
|
241
|
+
// When clearing the search input we also want to reset the active item to the first one
|
|
242
|
+
effect(() => {
|
|
243
|
+
const searchInput = this._searchInput()?.value();
|
|
244
|
+
if (searchInput !== undefined && searchInput.length === 0) {
|
|
245
|
+
this.keyManager.setActiveItem(0);
|
|
246
|
+
}
|
|
247
|
+
}, { allowSignalWrites: true });
|
|
241
248
|
}
|
|
242
249
|
ngAfterViewInit() {
|
|
243
250
|
if (isPlatformBrowser(this._platform) && this.items().length) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spartan-ng-brain-command.mjs","sources":["../../../../libs/brain/command/src/lib/brn-command.token.ts","../../../../libs/brain/command/src/lib/brn-command-empty.directive.ts","../../../../libs/brain/command/src/lib/brn-command-item.token.ts","../../../../libs/brain/command/src/lib/brn-command-group.directive.ts","../../../../libs/brain/command/src/lib/brn-command-item.directive.ts","../../../../libs/brain/command/src/lib/brn-command-list.directive.ts","../../../../libs/brain/command/src/lib/brn-command-search-input.token.ts","../../../../libs/brain/command/src/lib/brn-command-search-input.directive.ts","../../../../libs/brain/command/src/lib/brn-command.directive.ts","../../../../libs/brain/command/src/index.ts","../../../../libs/brain/command/src/spartan-ng-brain-command.ts"],"sourcesContent":["import { ExistingProvider, inject, InjectionToken, Type } from '@angular/core';\nimport type { BrnCommandDirective } from './brn-command.directive';\n\nexport const BrnCommandToken = new InjectionToken<BrnCommandDirective>('BrnCommandToken');\n\nexport function provideBrnCommand(command: Type<BrnCommandDirective>): ExistingProvider {\n\treturn { provide: BrnCommandToken, useExisting: command };\n}\n\nexport function injectBrnCommand(): BrnCommandDirective {\n\treturn inject(BrnCommandToken);\n}\n","import { computed, Directive, effect, inject, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { injectBrnCommand } from './brn-command.token';\n\n@Directive({\n\tstandalone: true,\n\tselector: '[brnCommandEmpty]',\n})\nexport class BrnCommandEmptyDirective {\n\tprivate readonly _templateRef = inject<TemplateRef<void>>(TemplateRef);\n\tprivate readonly _viewContainerRef = inject(ViewContainerRef);\n\tprivate readonly _command = injectBrnCommand();\n\n\t/** Determine if the command has any visible items */\n\tprivate readonly _visible = computed(() => this._command.items().some((item) => item.visible()));\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tif (this._visible()) {\n\t\t\t\tthis._viewContainerRef.clear();\n\t\t\t} else {\n\t\t\t\tthis._viewContainerRef.createEmbeddedView(this._templateRef);\n\t\t\t}\n\t\t});\n\t}\n}\n","import { ExistingProvider, InjectionToken, Type } from '@angular/core';\nimport type { BrnCommandItemDirective } from './brn-command-item.directive';\n\nexport const BrnCommandItemToken = new InjectionToken<BrnCommandItemDirective>('BrnCommandItemToken');\n\nexport function provideBrnCommandItem(command: Type<BrnCommandItemDirective>): ExistingProvider {\n\treturn { provide: BrnCommandItemToken, useExisting: command };\n}\n","import { computed, contentChildren, Directive, input } from '@angular/core';\nimport { BrnCommandItemToken } from './brn-command-item.token';\n\n@Directive({\n\tselector: '[brnCommandGroup]',\n\tstandalone: true,\n\thost: {\n\t\trole: 'group',\n\t\t'[attr.data-hidden]': '!visible() ? \"\" : null',\n\t\t'[id]': 'id()',\n\t},\n})\nexport class BrnCommandGroupDirective {\n\tprivate static _id = 0;\n\n\t/** The id of the command list */\n\tpublic readonly id = input<string>(`brn-command-group-${BrnCommandGroupDirective._id++}`);\n\n\t/** Get the items in the group */\n\tprivate readonly _items = contentChildren(BrnCommandItemToken, {\n\t\tdescendants: true,\n\t});\n\n\t/** Determine if there are any visible items in the group */\n\tprotected readonly visible = computed(() => this._items().some((item) => item.visible()));\n}\n","import { Highlightable } from '@angular/cdk/a11y';\nimport { BooleanInput } from '@angular/cdk/coercion';\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n\tbooleanAttribute,\n\tcomputed,\n\tDirective,\n\tElementRef,\n\tHostListener,\n\tinject,\n\tinput,\n\toutput,\n\tPLATFORM_ID,\n\tsignal,\n} from '@angular/core';\nimport { provideBrnCommandItem } from './brn-command-item.token';\nimport { injectBrnCommand } from './brn-command.token';\n\n@Directive({\n\tselector: 'button[brnCommandItem]',\n\tstandalone: true,\n\tproviders: [provideBrnCommandItem(BrnCommandItemDirective)],\n\thost: {\n\t\ttype: 'button',\n\t\trole: 'option',\n\t\ttabIndex: '-1',\n\t\t'[id]': 'id()',\n\t\t'[attr.disabled]': '_disabled() ? true : null',\n\t\t'[attr.data-value]': 'value()',\n\t\t'[attr.data-hidden]': \"!visible() ? '' : null\",\n\t\t'[attr.aria-selected]': 'active()',\n\t\t'[attr.data-selected]': \"active() ? '' : null\",\n\t},\n})\nexport class BrnCommandItemDirective implements Highlightable {\n\tprivate static _id = 0;\n\n\tprivate readonly _platform = inject(PLATFORM_ID);\n\n\tprivate readonly _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\t/** Access the command component */\n\tprivate readonly _command = injectBrnCommand();\n\n\t/** A unique id for the item */\n\tpublic readonly id = input(`brn-command-item-${BrnCommandItemDirective._id++}`);\n\n\t/** The value this item represents. */\n\tpublic readonly value = input.required<string>();\n\n\t/** Whether the item is disabled. */\n\tpublic readonly _disabled = input<boolean, BooleanInput>(false, {\n\t\talias: 'disabled',\n\t\ttransform: booleanAttribute,\n\t});\n\n\t/** Expose disabled as a value - used by the Highlightable interface */\n\tpublic get disabled() {\n\t\treturn this._disabled();\n\t}\n\n\t/** Whether the item is selected. */\n\tprotected readonly active = signal(false);\n\n\t/** Emits when the item is selected. */\n\tpublic readonly selected = output<void>();\n\n\t/** @internal Determine if this item is visible based on the current search query */\n\tpublic readonly visible = computed(() => this._command.filter()(this.value(), this._command.search()));\n\n\t/** @internal Get the display value */\n\tpublic getLabel(): string {\n\t\treturn this.value();\n\t}\n\n\t/** @internal */\n\tsetActiveStyles(): void {\n\t\tthis.active.set(true);\n\n\t\t// ensure the item is in view\n\t\tif (isPlatformBrowser(this._platform)) {\n\t\t\tthis._elementRef.nativeElement.scrollIntoView({ block: 'nearest' });\n\t\t}\n\t}\n\n\t/** @internal */\n\tsetInactiveStyles(): void {\n\t\tthis.active.set(false);\n\t}\n\n\t@HostListener('click')\n\tprotected onClick(): void {\n\t\tthis._command.keyManager.setActiveItem(this);\n\t\tthis.selected.emit();\n\t}\n}\n","import { Directive, input } from '@angular/core';\n\n@Directive({\n\tstandalone: true,\n\tselector: '[brnCommandList]',\n\thost: {\n\t\trole: 'listbox',\n\t\t'[id]': 'id()',\n\t},\n})\nexport class BrnCommandListDirective {\n\tprivate static _id = 0;\n\n\t/** The id of the command list */\n\tpublic readonly id = input<string>(`brn-command-list-${BrnCommandListDirective._id++}`);\n}\n","import { ExistingProvider, InjectionToken, Type } from '@angular/core';\nimport type { BrnCommandSearchInputDirective } from './brn-command-search-input.directive';\n\nexport const BrnCommandSearchInputToken = new InjectionToken<BrnCommandSearchInputDirective>(\n\t'BrnCommandSearchInputToken',\n);\n\nexport function provideBrnCommandSearchInput(command: Type<BrnCommandSearchInputDirective>): ExistingProvider {\n\treturn { provide: BrnCommandSearchInputToken, useExisting: command };\n}\n","import { Directive, ElementRef, HostListener, inject, signal } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { startWith } from 'rxjs/operators';\nimport { provideBrnCommandSearchInput } from './brn-command-search-input.token';\nimport { injectBrnCommand } from './brn-command.token';\n\n@Directive({\n\tselector: 'input[brnCommandSearchInput]',\n\tstandalone: true,\n\tproviders: [provideBrnCommandSearchInput(BrnCommandSearchInputDirective)],\n\thost: {\n\t\trole: 'combobox',\n\t\t'aria-autocomplete': 'list',\n\t\t'[attr.aria-activedescendant]': '_activeDescendant()',\n\t},\n})\nexport class BrnCommandSearchInputDirective {\n\tprivate readonly _command = injectBrnCommand();\n\tprivate readonly _elementRef = inject<ElementRef<HTMLInputElement>>(ElementRef);\n\n\t/** @internal Expose the current text value */\n\tpublic readonly value = signal<string>('');\n\n\t/** The id of the active option */\n\tprotected readonly _activeDescendant = signal<string | undefined>(undefined);\n\n\tconstructor() {\n\t\tthis._command.keyManager.change\n\t\t\t.pipe(startWith(this._command.keyManager.activeItemIndex), takeUntilDestroyed())\n\t\t\t.subscribe(() => this._activeDescendant.set(this._command.keyManager.activeItem?.id()));\n\t}\n\n\t/** Listen for changes to the input value */\n\t@HostListener('input')\n\tprotected onInput(): void {\n\t\tthis.value.set(this._elementRef.nativeElement.value);\n\t}\n\n\t/** Listen for keydown events */\n\t@HostListener('keydown', ['$event'])\n\tprotected onKeyDown(event: KeyboardEvent): void {\n\t\tthis._command.keyManager.onKeydown(event);\n\t}\n}\n","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n\tAfterViewInit,\n\tcomputed,\n\tcontentChild,\n\tcontentChildren,\n\tDirective,\n\tHostListener,\n\tinject,\n\tInjector,\n\tinput,\n\tPLATFORM_ID,\n} from '@angular/core';\nimport { BrnCommandItemToken } from './brn-command-item.token';\nimport { BrnCommandSearchInputDirective } from './brn-command-search-input.directive';\nimport { provideBrnCommand } from './brn-command.token';\n\n@Directive({\n\tselector: '[brnCommand]',\n\tstandalone: true,\n\tproviders: [provideBrnCommand(BrnCommandDirective)],\n\thost: {\n\t\t'[id]': 'id()',\n\t},\n})\nexport class BrnCommandDirective implements AfterViewInit {\n\tprivate static _id = 0;\n\n\tprivate readonly _platform = inject(PLATFORM_ID);\n\n\tprivate readonly _injector = inject(Injector);\n\n\t/** The id of the command */\n\tpublic readonly id = input<string>(`brn-command-${BrnCommandDirective._id++}`);\n\n\t/** The default filter function */\n\tprivate readonly _defaultFilter = (value: string, search: string) =>\n\t\tvalue.toLowerCase().includes(search.toLowerCase());\n\n\t/** A custom filter function to use when searching. */\n\tpublic readonly filter = input<CommandFilter>(this._defaultFilter);\n\n\t/** @internal The search query */\n\tpublic readonly search = computed(() => this._searchInput()?.value() ?? '');\n\n\t/** Access the search input if present */\n\tprivate readonly _searchInput = contentChild(BrnCommandSearchInputDirective, {\n\t\tdescendants: true,\n\t});\n\n\t/** @internal Access all the items within the commmand */\n\tpublic readonly items = contentChildren(BrnCommandItemToken, {\n\t\tdescendants: true,\n\t});\n\n\t/** @internal The key manager for managing active descendant */\n\tpublic readonly keyManager = new ActiveDescendantKeyManager(this.items, this._injector);\n\n\tconstructor() {\n\t\tthis.keyManager\n\t\t\t.withVerticalOrientation()\n\t\t\t.withHomeAndEnd()\n\t\t\t.withWrap()\n\t\t\t.withTypeAhead()\n\t\t\t.skipPredicate((item) => item.disabled || !item.visible());\n\t}\n\n\tngAfterViewInit(): void {\n\t\tif (isPlatformBrowser(this._platform) && this.items().length) {\n\t\t\tthis.keyManager.setActiveItem(0);\n\t\t}\n\t}\n\n\t@HostListener('keydown.enter')\n\tprotected selectActiveItem(): void {\n\t\tthis.keyManager.activeItem?.selected.emit();\n\t}\n}\n\nexport type CommandFilter = (value: string, search: string) => boolean;\n","import { NgModule } from '@angular/core';\nimport { BrnCommandEmptyDirective } from './lib/brn-command-empty.directive';\nimport { BrnCommandGroupDirective } from './lib/brn-command-group.directive';\nimport { BrnCommandItemDirective } from './lib/brn-command-item.directive';\nimport { BrnCommandListDirective } from './lib/brn-command-list.directive';\nimport { BrnCommandSearchInputDirective } from './lib/brn-command-search-input.directive';\nimport { BrnCommandDirective } from './lib/brn-command.directive';\n\nexport * from './lib/brn-command-empty.directive';\nexport * from './lib/brn-command-group.directive';\nexport * from './lib/brn-command-item.directive';\nexport * from './lib/brn-command-item.token';\nexport * from './lib/brn-command-list.directive';\nexport * from './lib/brn-command-search-input.directive';\nexport * from './lib/brn-command-search-input.token';\nexport * from './lib/brn-command.directive';\nexport * from './lib/brn-command.token';\n\nexport const BrnCommandImports = [\n\tBrnCommandEmptyDirective,\n\tBrnCommandGroupDirective,\n\tBrnCommandItemDirective,\n\tBrnCommandListDirective,\n\tBrnCommandSearchInputDirective,\n\tBrnCommandDirective,\n] as const;\n\n@NgModule({\n\timports: [...BrnCommandImports],\n\texports: [...BrnCommandImports],\n})\nexport class BrnCommandModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spartan-ng-brain-command.mjs","sources":["../../../../libs/brain/command/src/lib/brn-command.token.ts","../../../../libs/brain/command/src/lib/brn-command-empty.directive.ts","../../../../libs/brain/command/src/lib/brn-command-item.token.ts","../../../../libs/brain/command/src/lib/brn-command-group.directive.ts","../../../../libs/brain/command/src/lib/brn-command-item.directive.ts","../../../../libs/brain/command/src/lib/brn-command-list.directive.ts","../../../../libs/brain/command/src/lib/brn-command-search-input.token.ts","../../../../libs/brain/command/src/lib/brn-command-search-input.directive.ts","../../../../libs/brain/command/src/lib/brn-command.directive.ts","../../../../libs/brain/command/src/index.ts","../../../../libs/brain/command/src/spartan-ng-brain-command.ts"],"sourcesContent":["import { ExistingProvider, inject, InjectionToken, Type } from '@angular/core';\nimport type { BrnCommandDirective } from './brn-command.directive';\n\nexport const BrnCommandToken = new InjectionToken<BrnCommandDirective>('BrnCommandToken');\n\nexport function provideBrnCommand(command: Type<BrnCommandDirective>): ExistingProvider {\n\treturn { provide: BrnCommandToken, useExisting: command };\n}\n\nexport function injectBrnCommand(): BrnCommandDirective {\n\treturn inject(BrnCommandToken);\n}\n","import { computed, Directive, effect, inject, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { injectBrnCommand } from './brn-command.token';\n\n@Directive({\n\tstandalone: true,\n\tselector: '[brnCommandEmpty]',\n})\nexport class BrnCommandEmptyDirective {\n\tprivate readonly _templateRef = inject<TemplateRef<void>>(TemplateRef);\n\tprivate readonly _viewContainerRef = inject(ViewContainerRef);\n\tprivate readonly _command = injectBrnCommand();\n\n\t/** Determine if the command has any visible items */\n\tprivate readonly _visible = computed(() => this._command.items().some((item) => item.visible()));\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tif (this._visible()) {\n\t\t\t\tthis._viewContainerRef.clear();\n\t\t\t} else {\n\t\t\t\tthis._viewContainerRef.createEmbeddedView(this._templateRef);\n\t\t\t}\n\t\t});\n\t}\n}\n","import { ExistingProvider, InjectionToken, Type } from '@angular/core';\nimport type { BrnCommandItemDirective } from './brn-command-item.directive';\n\nexport const BrnCommandItemToken = new InjectionToken<BrnCommandItemDirective>('BrnCommandItemToken');\n\nexport function provideBrnCommandItem(command: Type<BrnCommandItemDirective>): ExistingProvider {\n\treturn { provide: BrnCommandItemToken, useExisting: command };\n}\n","import { computed, contentChildren, Directive, input } from '@angular/core';\nimport { BrnCommandItemToken } from './brn-command-item.token';\n\n@Directive({\n\tselector: '[brnCommandGroup]',\n\tstandalone: true,\n\thost: {\n\t\trole: 'group',\n\t\t'[attr.data-hidden]': '!visible() ? \"\" : null',\n\t\t'[id]': 'id()',\n\t},\n})\nexport class BrnCommandGroupDirective {\n\tprivate static _id = 0;\n\n\t/** The id of the command list */\n\tpublic readonly id = input<string>(`brn-command-group-${BrnCommandGroupDirective._id++}`);\n\n\t/** Get the items in the group */\n\tprivate readonly _items = contentChildren(BrnCommandItemToken, {\n\t\tdescendants: true,\n\t});\n\n\t/** Determine if there are any visible items in the group */\n\tprotected readonly visible = computed(() => this._items().some((item) => item.visible()));\n}\n","import { Highlightable } from '@angular/cdk/a11y';\nimport { BooleanInput } from '@angular/cdk/coercion';\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n\tbooleanAttribute,\n\tcomputed,\n\tDirective,\n\tElementRef,\n\tHostListener,\n\tinject,\n\tinput,\n\toutput,\n\tPLATFORM_ID,\n\tsignal,\n} from '@angular/core';\nimport { provideBrnCommandItem } from './brn-command-item.token';\nimport { injectBrnCommand } from './brn-command.token';\n\n@Directive({\n\tselector: 'button[brnCommandItem]',\n\tstandalone: true,\n\tproviders: [provideBrnCommandItem(BrnCommandItemDirective)],\n\thost: {\n\t\ttype: 'button',\n\t\trole: 'option',\n\t\ttabIndex: '-1',\n\t\t'[id]': 'id()',\n\t\t'[attr.disabled]': '_disabled() ? true : null',\n\t\t'[attr.data-value]': 'value()',\n\t\t'[attr.data-hidden]': \"!visible() ? '' : null\",\n\t\t'[attr.aria-selected]': 'active()',\n\t\t'[attr.data-selected]': \"active() ? '' : null\",\n\t},\n})\nexport class BrnCommandItemDirective implements Highlightable {\n\tprivate static _id = 0;\n\n\tprivate readonly _platform = inject(PLATFORM_ID);\n\n\tprivate readonly _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\t/** Access the command component */\n\tprivate readonly _command = injectBrnCommand();\n\n\t/** A unique id for the item */\n\tpublic readonly id = input(`brn-command-item-${BrnCommandItemDirective._id++}`);\n\n\t/** The value this item represents. */\n\tpublic readonly value = input.required<string>();\n\n\t/** Whether the item is disabled. */\n\tpublic readonly _disabled = input<boolean, BooleanInput>(false, {\n\t\talias: 'disabled',\n\t\ttransform: booleanAttribute,\n\t});\n\n\t/** Expose disabled as a value - used by the Highlightable interface */\n\tpublic get disabled() {\n\t\treturn this._disabled();\n\t}\n\n\t/** Whether the item is selected. */\n\tprotected readonly active = signal(false);\n\n\t/** Emits when the item is selected. */\n\tpublic readonly selected = output<void>();\n\n\t/** @internal Determine if this item is visible based on the current search query */\n\tpublic readonly visible = computed(() => this._command.filter()(this.value(), this._command.search()));\n\n\t/** @internal Get the display value */\n\tpublic getLabel(): string {\n\t\treturn this.value();\n\t}\n\n\t/** @internal */\n\tsetActiveStyles(): void {\n\t\tthis.active.set(true);\n\n\t\t// ensure the item is in view\n\t\tif (isPlatformBrowser(this._platform)) {\n\t\t\tthis._elementRef.nativeElement.scrollIntoView({ block: 'nearest' });\n\t\t}\n\t}\n\n\t/** @internal */\n\tsetInactiveStyles(): void {\n\t\tthis.active.set(false);\n\t}\n\n\t@HostListener('click')\n\tprotected onClick(): void {\n\t\tthis._command.keyManager.setActiveItem(this);\n\t\tthis.selected.emit();\n\t}\n}\n","import { Directive, input } from '@angular/core';\n\n@Directive({\n\tstandalone: true,\n\tselector: '[brnCommandList]',\n\thost: {\n\t\trole: 'listbox',\n\t\t'[id]': 'id()',\n\t},\n})\nexport class BrnCommandListDirective {\n\tprivate static _id = 0;\n\n\t/** The id of the command list */\n\tpublic readonly id = input<string>(`brn-command-list-${BrnCommandListDirective._id++}`);\n}\n","import { ExistingProvider, InjectionToken, Type } from '@angular/core';\nimport type { BrnCommandSearchInputDirective } from './brn-command-search-input.directive';\n\nexport const BrnCommandSearchInputToken = new InjectionToken<BrnCommandSearchInputDirective>(\n\t'BrnCommandSearchInputToken',\n);\n\nexport function provideBrnCommandSearchInput(command: Type<BrnCommandSearchInputDirective>): ExistingProvider {\n\treturn { provide: BrnCommandSearchInputToken, useExisting: command };\n}\n","import { Directive, ElementRef, HostListener, inject, signal } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { startWith } from 'rxjs/operators';\nimport { provideBrnCommandSearchInput } from './brn-command-search-input.token';\nimport { injectBrnCommand } from './brn-command.token';\n\n@Directive({\n\tselector: 'input[brnCommandSearchInput]',\n\tstandalone: true,\n\tproviders: [provideBrnCommandSearchInput(BrnCommandSearchInputDirective)],\n\thost: {\n\t\trole: 'combobox',\n\t\t'aria-autocomplete': 'list',\n\t\t'[attr.aria-activedescendant]': '_activeDescendant()',\n\t},\n})\nexport class BrnCommandSearchInputDirective {\n\tprivate readonly _command = injectBrnCommand();\n\tprivate readonly _elementRef = inject<ElementRef<HTMLInputElement>>(ElementRef);\n\n\t/** @internal Expose the current text value */\n\tpublic readonly value = signal<string>('');\n\n\t/** The id of the active option */\n\tprotected readonly _activeDescendant = signal<string | undefined>(undefined);\n\n\tconstructor() {\n\t\tthis._command.keyManager.change\n\t\t\t.pipe(startWith(this._command.keyManager.activeItemIndex), takeUntilDestroyed())\n\t\t\t.subscribe(() => this._activeDescendant.set(this._command.keyManager.activeItem?.id()));\n\t}\n\n\t/** Listen for changes to the input value */\n\t@HostListener('input')\n\tprotected onInput(): void {\n\t\tthis.value.set(this._elementRef.nativeElement.value);\n\t}\n\n\t/** Listen for keydown events */\n\t@HostListener('keydown', ['$event'])\n\tprotected onKeyDown(event: KeyboardEvent): void {\n\t\tthis._command.keyManager.onKeydown(event);\n\t}\n}\n","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n\tAfterViewInit,\n\tcomputed,\n\tcontentChild,\n\tcontentChildren,\n\tDirective,\n\teffect,\n\tHostListener,\n\tinject,\n\tInjector,\n\tinput,\n\tPLATFORM_ID,\n} from '@angular/core';\nimport { BrnCommandItemToken } from './brn-command-item.token';\nimport { BrnCommandSearchInputDirective } from './brn-command-search-input.directive';\nimport { provideBrnCommand } from './brn-command.token';\n\n@Directive({\n\tselector: '[brnCommand]',\n\tstandalone: true,\n\tproviders: [provideBrnCommand(BrnCommandDirective)],\n\thost: {\n\t\t'[id]': 'id()',\n\t},\n})\nexport class BrnCommandDirective implements AfterViewInit {\n\tprivate static _id = 0;\n\n\tprivate readonly _platform = inject(PLATFORM_ID);\n\n\tprivate readonly _injector = inject(Injector);\n\n\t/** The id of the command */\n\tpublic readonly id = input<string>(`brn-command-${BrnCommandDirective._id++}`);\n\n\t/** The default filter function */\n\tprivate readonly _defaultFilter = (value: string, search: string) =>\n\t\tvalue.toLowerCase().includes(search.toLowerCase());\n\n\t/** A custom filter function to use when searching. */\n\tpublic readonly filter = input<CommandFilter>(this._defaultFilter);\n\n\t/** @internal The search query */\n\tpublic readonly search = computed(() => this._searchInput()?.value() ?? '');\n\n\t/** Access the search input if present */\n\tprivate readonly _searchInput = contentChild(BrnCommandSearchInputDirective, {\n\t\tdescendants: true,\n\t});\n\n\t/** @internal Access all the items within the commmand */\n\tpublic readonly items = contentChildren(BrnCommandItemToken, {\n\t\tdescendants: true,\n\t});\n\n\t/** @internal The key manager for managing active descendant */\n\tpublic readonly keyManager = new ActiveDescendantKeyManager(this.items, this._injector);\n\n\tconstructor() {\n\t\tthis.keyManager\n\t\t\t.withVerticalOrientation()\n\t\t\t.withHomeAndEnd()\n\t\t\t.withWrap()\n\t\t\t.withTypeAhead()\n\t\t\t.skipPredicate((item) => item.disabled || !item.visible());\n\n\t\t// When clearing the search input we also want to reset the active item to the first one\n\t\teffect(\n\t\t\t() => {\n\t\t\t\tconst searchInput = this._searchInput()?.value();\n\t\t\t\tif (searchInput !== undefined && searchInput.length === 0) {\n\t\t\t\t\tthis.keyManager.setActiveItem(0);\n\t\t\t\t}\n\t\t\t},\n\t\t\t{ allowSignalWrites: true },\n\t\t);\n\t}\n\n\tngAfterViewInit(): void {\n\t\tif (isPlatformBrowser(this._platform) && this.items().length) {\n\t\t\tthis.keyManager.setActiveItem(0);\n\t\t}\n\t}\n\n\t@HostListener('keydown.enter')\n\tprotected selectActiveItem(): void {\n\t\tthis.keyManager.activeItem?.selected.emit();\n\t}\n}\n\nexport type CommandFilter = (value: string, search: string) => boolean;\n","import { NgModule } from '@angular/core';\nimport { BrnCommandEmptyDirective } from './lib/brn-command-empty.directive';\nimport { BrnCommandGroupDirective } from './lib/brn-command-group.directive';\nimport { BrnCommandItemDirective } from './lib/brn-command-item.directive';\nimport { BrnCommandListDirective } from './lib/brn-command-list.directive';\nimport { BrnCommandSearchInputDirective } from './lib/brn-command-search-input.directive';\nimport { BrnCommandDirective } from './lib/brn-command.directive';\n\nexport * from './lib/brn-command-empty.directive';\nexport * from './lib/brn-command-group.directive';\nexport * from './lib/brn-command-item.directive';\nexport * from './lib/brn-command-item.token';\nexport * from './lib/brn-command-list.directive';\nexport * from './lib/brn-command-search-input.directive';\nexport * from './lib/brn-command-search-input.token';\nexport * from './lib/brn-command.directive';\nexport * from './lib/brn-command.token';\n\nexport const BrnCommandImports = [\n\tBrnCommandEmptyDirective,\n\tBrnCommandGroupDirective,\n\tBrnCommandItemDirective,\n\tBrnCommandListDirective,\n\tBrnCommandSearchInputDirective,\n\tBrnCommandDirective,\n] as const;\n\n@NgModule({\n\timports: [...BrnCommandImports],\n\texports: [...BrnCommandImports],\n})\nexport class BrnCommandModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -212,6 +212,12 @@ class BrnMenuDirective {
|
|
|
212
212
|
// we can access it here and determine the correct side.
|
|
213
213
|
// eslint-disable-next-line
|
|
214
214
|
const ps = this._host._parentTrigger._spartanLastPosition;
|
|
215
|
+
if (!ps) {
|
|
216
|
+
// if we have no last position we default to the most likely option
|
|
217
|
+
// I hate that we have to do this and hope we can revisit soon and improve
|
|
218
|
+
this._side.set(isRoot ? 'top' : 'left');
|
|
219
|
+
return;
|
|
220
|
+
}
|
|
215
221
|
const side = isRoot ? ps.originY : ps.originX === 'end' ? 'right' : 'left';
|
|
216
222
|
this._side.set(side);
|
|
217
223
|
});
|