@spartan-ng/brain 0.0.1-alpha.395 → 0.0.1-alpha.397
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/command/index.d.ts +19 -24
- package/command/lib/brn-command-empty.directive.d.ts +8 -3
- package/command/lib/brn-command-group.directive.d.ts +12 -0
- package/command/lib/brn-command-item.directive.d.ts +30 -3
- package/command/lib/brn-command-item.token.d.ts +4 -0
- package/command/lib/brn-command-list.directive.d.ts +8 -0
- package/command/lib/brn-command-search-input.directive.d.ts +16 -0
- package/command/lib/brn-command-search-input.token.d.ts +4 -0
- package/command/lib/brn-command.directive.d.ts +28 -0
- package/command/lib/brn-command.token.d.ts +5 -0
- package/esm2022/command/index.mjs +26 -42
- package/esm2022/command/lib/brn-command-empty.directive.mjs +23 -22
- package/esm2022/command/lib/brn-command-group.directive.mjs +29 -0
- package/esm2022/command/lib/brn-command-item.directive.mjs +68 -28
- package/esm2022/command/lib/brn-command-item.token.mjs +6 -0
- package/esm2022/command/lib/brn-command-list.directive.mjs +21 -0
- package/esm2022/command/lib/brn-command-search-input.directive.mjs +49 -0
- package/esm2022/command/lib/brn-command-search-input.token.mjs +6 -0
- package/esm2022/command/lib/brn-command.directive.mjs +63 -0
- package/esm2022/command/lib/brn-command.token.mjs +9 -0
- package/fesm2022/spartan-ng-brain-command.mjs +233 -213
- package/fesm2022/spartan-ng-brain-command.mjs.map +1 -1
- package/package.json +1 -13
- package/command/lib/brn-command-group.component.d.ts +0 -6
- package/command/lib/brn-command-input.directive.d.ts +0 -6
- package/command/lib/brn-command-list.component.d.ts +0 -6
- package/command/lib/brn-command-loader.directive.d.ts +0 -6
- package/command/lib/brn-command-separator.component.d.ts +0 -6
- package/command/lib/brn-command.component.d.ts +0 -6
- package/esm2022/command/lib/brn-command-group.component.mjs +0 -45
- package/esm2022/command/lib/brn-command-input.directive.mjs +0 -29
- package/esm2022/command/lib/brn-command-list.component.mjs +0 -35
- package/esm2022/command/lib/brn-command-loader.directive.mjs +0 -29
- package/esm2022/command/lib/brn-command-separator.component.mjs +0 -30
- package/esm2022/command/lib/brn-command.component.mjs +0 -21
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Directive, ElementRef, HostListener, inject, signal } from '@angular/core';
|
|
2
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
3
|
+
import { startWith } from 'rxjs/operators';
|
|
4
|
+
import { provideBrnCommandSearchInput } from './brn-command-search-input.token';
|
|
5
|
+
import { injectBrnCommand } from './brn-command.token';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class BrnCommandSearchInputDirective {
|
|
8
|
+
_command = injectBrnCommand();
|
|
9
|
+
_elementRef = inject(ElementRef);
|
|
10
|
+
/** @internal Expose the current text value */
|
|
11
|
+
value = signal('');
|
|
12
|
+
/** The id of the active option */
|
|
13
|
+
_activeDescendant = signal(undefined);
|
|
14
|
+
constructor() {
|
|
15
|
+
this._command.keyManager.change
|
|
16
|
+
.pipe(startWith(this._command.keyManager.activeItemIndex), takeUntilDestroyed())
|
|
17
|
+
.subscribe(() => this._activeDescendant.set(this._command.keyManager.activeItem?.id()));
|
|
18
|
+
}
|
|
19
|
+
/** Listen for changes to the input value */
|
|
20
|
+
onInput() {
|
|
21
|
+
this.value.set(this._elementRef.nativeElement.value);
|
|
22
|
+
}
|
|
23
|
+
/** Listen for keydown events */
|
|
24
|
+
onKeyDown(event) {
|
|
25
|
+
this._command.keyManager.onKeydown(event);
|
|
26
|
+
}
|
|
27
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandSearchInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
28
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: BrnCommandSearchInputDirective, isStandalone: true, selector: "input[brnCommandSearchInput]", host: { attributes: { "role": "combobox", "aria-autocomplete": "list" }, listeners: { "input": "onInput()", "keydown": "onKeyDown($event)" }, properties: { "attr.aria-activedescendant": "_activeDescendant()" } }, providers: [provideBrnCommandSearchInput(BrnCommandSearchInputDirective)], ngImport: i0 });
|
|
29
|
+
}
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandSearchInputDirective, decorators: [{
|
|
31
|
+
type: Directive,
|
|
32
|
+
args: [{
|
|
33
|
+
selector: 'input[brnCommandSearchInput]',
|
|
34
|
+
standalone: true,
|
|
35
|
+
providers: [provideBrnCommandSearchInput(BrnCommandSearchInputDirective)],
|
|
36
|
+
host: {
|
|
37
|
+
role: 'combobox',
|
|
38
|
+
'aria-autocomplete': 'list',
|
|
39
|
+
'[attr.aria-activedescendant]': '_activeDescendant()',
|
|
40
|
+
},
|
|
41
|
+
}]
|
|
42
|
+
}], ctorParameters: () => [], propDecorators: { onInput: [{
|
|
43
|
+
type: HostListener,
|
|
44
|
+
args: ['input']
|
|
45
|
+
}], onKeyDown: [{
|
|
46
|
+
type: HostListener,
|
|
47
|
+
args: ['keydown', ['$event']]
|
|
48
|
+
}] } });
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWNvbW1hbmQtc2VhcmNoLWlucHV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vY29tbWFuZC9zcmMvbGliL2Jybi1jb21tYW5kLXNlYXJjaC1pbnB1dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQVl2RCxNQUFNLE9BQU8sOEJBQThCO0lBQ3pCLFFBQVEsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzlCLFdBQVcsR0FBRyxNQUFNLENBQStCLFVBQVUsQ0FBQyxDQUFDO0lBRWhGLDhDQUE4QztJQUM5QixLQUFLLEdBQUcsTUFBTSxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBRTNDLGtDQUFrQztJQUNmLGlCQUFpQixHQUFHLE1BQU0sQ0FBcUIsU0FBUyxDQUFDLENBQUM7SUFFN0U7UUFDQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNO2FBQzdCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQzthQUMvRSxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFFRCw0Q0FBNEM7SUFFbEMsT0FBTztRQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsZ0NBQWdDO0lBRXRCLFNBQVMsQ0FBQyxLQUFvQjtRQUN2QyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0MsQ0FBQzswSEExQlcsOEJBQThCOzhHQUE5Qiw4QkFBOEIsZ1NBUC9CLENBQUMsNEJBQTRCLENBQUMsOEJBQThCLENBQUMsQ0FBQzs7MkZBTzdELDhCQUE4QjtrQkFWMUMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsOEJBQThCO29CQUN4QyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsU0FBUyxFQUFFLENBQUMsNEJBQTRCLGdDQUFnQyxDQUFDO29CQUN6RSxJQUFJLEVBQUU7d0JBQ0wsSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLG1CQUFtQixFQUFFLE1BQU07d0JBQzNCLDhCQUE4QixFQUFFLHFCQUFxQjtxQkFDckQ7aUJBQ0Q7d0RBbUJVLE9BQU87c0JBRGhCLFlBQVk7dUJBQUMsT0FBTztnQkFPWCxTQUFTO3NCQURsQixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgcHJvdmlkZUJybkNvbW1hbmRTZWFyY2hJbnB1dCB9IGZyb20gJy4vYnJuLWNvbW1hbmQtc2VhcmNoLWlucHV0LnRva2VuJztcbmltcG9ydCB7IGluamVjdEJybkNvbW1hbmQgfSBmcm9tICcuL2Jybi1jb21tYW5kLnRva2VuJztcblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnaW5wdXRbYnJuQ29tbWFuZFNlYXJjaElucHV0XScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHByb3ZpZGVyczogW3Byb3ZpZGVCcm5Db21tYW5kU2VhcmNoSW5wdXQoQnJuQ29tbWFuZFNlYXJjaElucHV0RGlyZWN0aXZlKV0sXG5cdGhvc3Q6IHtcblx0XHRyb2xlOiAnY29tYm9ib3gnLFxuXHRcdCdhcmlhLWF1dG9jb21wbGV0ZSc6ICdsaXN0Jyxcblx0XHQnW2F0dHIuYXJpYS1hY3RpdmVkZXNjZW5kYW50XSc6ICdfYWN0aXZlRGVzY2VuZGFudCgpJyxcblx0fSxcbn0pXG5leHBvcnQgY2xhc3MgQnJuQ29tbWFuZFNlYXJjaElucHV0RGlyZWN0aXZlIHtcblx0cHJpdmF0ZSByZWFkb25seSBfY29tbWFuZCA9IGluamVjdEJybkNvbW1hbmQoKTtcblx0cHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcblxuXHQvKiogQGludGVybmFsIEV4cG9zZSB0aGUgY3VycmVudCB0ZXh0IHZhbHVlICovXG5cdHB1YmxpYyByZWFkb25seSB2YWx1ZSA9IHNpZ25hbDxzdHJpbmc+KCcnKTtcblxuXHQvKiogVGhlIGlkIG9mIHRoZSBhY3RpdmUgb3B0aW9uICovXG5cdHByb3RlY3RlZCByZWFkb25seSBfYWN0aXZlRGVzY2VuZGFudCA9IHNpZ25hbDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0dGhpcy5fY29tbWFuZC5rZXlNYW5hZ2VyLmNoYW5nZVxuXHRcdFx0LnBpcGUoc3RhcnRXaXRoKHRoaXMuX2NvbW1hbmQua2V5TWFuYWdlci5hY3RpdmVJdGVtSW5kZXgpLCB0YWtlVW50aWxEZXN0cm95ZWQoKSlcblx0XHRcdC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fYWN0aXZlRGVzY2VuZGFudC5zZXQodGhpcy5fY29tbWFuZC5rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0/LmlkKCkpKTtcblx0fVxuXG5cdC8qKiBMaXN0ZW4gZm9yIGNoYW5nZXMgdG8gdGhlIGlucHV0IHZhbHVlICovXG5cdEBIb3N0TGlzdGVuZXIoJ2lucHV0Jylcblx0cHJvdGVjdGVkIG9uSW5wdXQoKTogdm9pZCB7XG5cdFx0dGhpcy52YWx1ZS5zZXQodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlKTtcblx0fVxuXG5cdC8qKiBMaXN0ZW4gZm9yIGtleWRvd24gZXZlbnRzICovXG5cdEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuXHRwcm90ZWN0ZWQgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG5cdFx0dGhpcy5fY29tbWFuZC5rZXlNYW5hZ2VyLm9uS2V5ZG93bihldmVudCk7XG5cdH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
export const BrnCommandSearchInputToken = new InjectionToken('BrnCommandSearchInputToken');
|
|
3
|
+
export function provideBrnCommandSearchInput(command) {
|
|
4
|
+
return { provide: BrnCommandSearchInputToken, useExisting: command };
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWNvbW1hbmQtc2VhcmNoLWlucHV0LnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9jb21tYW5kL3NyYy9saWIvYnJuLWNvbW1hbmQtc2VhcmNoLWlucHV0LnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsY0FBYyxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBR3ZFLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLElBQUksY0FBYyxDQUMzRCw0QkFBNEIsQ0FDNUIsQ0FBQztBQUVGLE1BQU0sVUFBVSw0QkFBNEIsQ0FBQyxPQUE2QztJQUN6RixPQUFPLEVBQUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsQ0FBQztBQUN0RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXhpc3RpbmdQcm92aWRlciwgSW5qZWN0aW9uVG9rZW4sIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgQnJuQ29tbWFuZFNlYXJjaElucHV0RGlyZWN0aXZlIH0gZnJvbSAnLi9icm4tY29tbWFuZC1zZWFyY2gtaW5wdXQuZGlyZWN0aXZlJztcblxuZXhwb3J0IGNvbnN0IEJybkNvbW1hbmRTZWFyY2hJbnB1dFRva2VuID0gbmV3IEluamVjdGlvblRva2VuPEJybkNvbW1hbmRTZWFyY2hJbnB1dERpcmVjdGl2ZT4oXG5cdCdCcm5Db21tYW5kU2VhcmNoSW5wdXRUb2tlbicsXG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUJybkNvbW1hbmRTZWFyY2hJbnB1dChjb21tYW5kOiBUeXBlPEJybkNvbW1hbmRTZWFyY2hJbnB1dERpcmVjdGl2ZT4pOiBFeGlzdGluZ1Byb3ZpZGVyIHtcblx0cmV0dXJuIHsgcHJvdmlkZTogQnJuQ29tbWFuZFNlYXJjaElucHV0VG9rZW4sIHVzZUV4aXN0aW5nOiBjb21tYW5kIH07XG59XG4iXX0=
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';
|
|
2
|
+
import { isPlatformBrowser } from '@angular/common';
|
|
3
|
+
import { computed, contentChild, contentChildren, Directive, HostListener, inject, Injector, input, PLATFORM_ID, } from '@angular/core';
|
|
4
|
+
import { BrnCommandItemToken } from './brn-command-item.token';
|
|
5
|
+
import { BrnCommandSearchInputDirective } from './brn-command-search-input.directive';
|
|
6
|
+
import { provideBrnCommand } from './brn-command.token';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class BrnCommandDirective {
|
|
9
|
+
static _id = 0;
|
|
10
|
+
_platform = inject(PLATFORM_ID);
|
|
11
|
+
_injector = inject(Injector);
|
|
12
|
+
/** The id of the command */
|
|
13
|
+
id = input(`brn-command-${BrnCommandDirective._id++}`);
|
|
14
|
+
/** The default filter function */
|
|
15
|
+
_defaultFilter = (value, search) => value.toLowerCase().includes(search.toLowerCase());
|
|
16
|
+
/** A custom filter function to use when searching. */
|
|
17
|
+
filter = input(this._defaultFilter);
|
|
18
|
+
/** @internal The search query */
|
|
19
|
+
search = computed(() => this._searchInput()?.value() ?? '');
|
|
20
|
+
/** Access the search input if present */
|
|
21
|
+
_searchInput = contentChild(BrnCommandSearchInputDirective, {
|
|
22
|
+
descendants: true,
|
|
23
|
+
});
|
|
24
|
+
/** @internal Access all the items within the commmand */
|
|
25
|
+
items = contentChildren(BrnCommandItemToken, {
|
|
26
|
+
descendants: true,
|
|
27
|
+
});
|
|
28
|
+
/** @internal The key manager for managing active descendant */
|
|
29
|
+
keyManager = new ActiveDescendantKeyManager(this.items, this._injector);
|
|
30
|
+
constructor() {
|
|
31
|
+
this.keyManager
|
|
32
|
+
.withVerticalOrientation()
|
|
33
|
+
.withHomeAndEnd()
|
|
34
|
+
.withWrap()
|
|
35
|
+
.withTypeAhead()
|
|
36
|
+
.skipPredicate((item) => item.disabled || !item.visible());
|
|
37
|
+
}
|
|
38
|
+
ngAfterViewInit() {
|
|
39
|
+
if (isPlatformBrowser(this._platform) && this.items().length) {
|
|
40
|
+
this.keyManager.setActiveItem(0);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
selectActiveItem() {
|
|
44
|
+
this.keyManager.activeItem?.selected.emit();
|
|
45
|
+
}
|
|
46
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
47
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.2.5", type: BrnCommandDirective, isStandalone: true, selector: "[brnCommand]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "keydown.enter": "selectActiveItem()" }, properties: { "id": "id()" } }, providers: [provideBrnCommand(BrnCommandDirective)], queries: [{ propertyName: "_searchInput", first: true, predicate: BrnCommandSearchInputDirective, descendants: true, isSignal: true }, { propertyName: "items", predicate: BrnCommandItemToken, descendants: true, isSignal: true }], ngImport: i0 });
|
|
48
|
+
}
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandDirective, decorators: [{
|
|
50
|
+
type: Directive,
|
|
51
|
+
args: [{
|
|
52
|
+
selector: '[brnCommand]',
|
|
53
|
+
standalone: true,
|
|
54
|
+
providers: [provideBrnCommand(BrnCommandDirective)],
|
|
55
|
+
host: {
|
|
56
|
+
'[id]': 'id()',
|
|
57
|
+
},
|
|
58
|
+
}]
|
|
59
|
+
}], ctorParameters: () => [], propDecorators: { selectActiveItem: [{
|
|
60
|
+
type: HostListener,
|
|
61
|
+
args: ['keydown.enter']
|
|
62
|
+
}] } });
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWNvbW1hbmQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9jb21tYW5kL3NyYy9saWIvYnJuLWNvbW1hbmQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFFTixRQUFRLEVBQ1IsWUFBWSxFQUNaLGVBQWUsRUFDZixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxFQUNMLFdBQVcsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN0RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFVeEQsTUFBTSxPQUFPLG1CQUFtQjtJQUN2QixNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUVOLFNBQVMsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFaEMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUU5Qyw0QkFBNEI7SUFDWixFQUFFLEdBQUcsS0FBSyxDQUFTLGVBQWUsbUJBQW1CLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRS9FLGtDQUFrQztJQUNqQixjQUFjLEdBQUcsQ0FBQyxLQUFhLEVBQUUsTUFBYyxFQUFFLEVBQUUsQ0FDbkUsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUVwRCxzREFBc0Q7SUFDdEMsTUFBTSxHQUFHLEtBQUssQ0FBZ0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRW5FLGlDQUFpQztJQUNqQixNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUU1RSx5Q0FBeUM7SUFDeEIsWUFBWSxHQUFHLFlBQVksQ0FBQyw4QkFBOEIsRUFBRTtRQUM1RSxXQUFXLEVBQUUsSUFBSTtLQUNqQixDQUFDLENBQUM7SUFFSCx5REFBeUQ7SUFDekMsS0FBSyxHQUFHLGVBQWUsQ0FBQyxtQkFBbUIsRUFBRTtRQUM1RCxXQUFXLEVBQUUsSUFBSTtLQUNqQixDQUFDLENBQUM7SUFFSCwrREFBK0Q7SUFDL0MsVUFBVSxHQUFHLElBQUksMEJBQTBCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFeEY7UUFDQyxJQUFJLENBQUMsVUFBVTthQUNiLHVCQUF1QixFQUFFO2FBQ3pCLGNBQWMsRUFBRTthQUNoQixRQUFRLEVBQUU7YUFDVixhQUFhLEVBQUU7YUFDZixhQUFhLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsZUFBZTtRQUNkLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM5RCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQyxDQUFDO0lBQ0YsQ0FBQztJQUdTLGdCQUFnQjtRQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0MsQ0FBQzswSEFuRFcsbUJBQW1COzhHQUFuQixtQkFBbUIsK1lBTHBCLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxvRUEwQk4sOEJBQThCLDJFQUtuQyxtQkFBbUI7OzJGQTFCL0MsbUJBQW1CO2tCQVIvQixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxjQUFjO29CQUN4QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsU0FBUyxFQUFFLENBQUMsaUJBQWlCLHFCQUFxQixDQUFDO29CQUNuRCxJQUFJLEVBQUU7d0JBQ0wsTUFBTSxFQUFFLE1BQU07cUJBQ2Q7aUJBQ0Q7d0RBa0RVLGdCQUFnQjtzQkFEekIsWUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuXHRBZnRlclZpZXdJbml0LFxuXHRjb21wdXRlZCxcblx0Y29udGVudENoaWxkLFxuXHRjb250ZW50Q2hpbGRyZW4sXG5cdERpcmVjdGl2ZSxcblx0SG9zdExpc3RlbmVyLFxuXHRpbmplY3QsXG5cdEluamVjdG9yLFxuXHRpbnB1dCxcblx0UExBVEZPUk1fSUQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnJuQ29tbWFuZEl0ZW1Ub2tlbiB9IGZyb20gJy4vYnJuLWNvbW1hbmQtaXRlbS50b2tlbic7XG5pbXBvcnQgeyBCcm5Db21tYW5kU2VhcmNoSW5wdXREaXJlY3RpdmUgfSBmcm9tICcuL2Jybi1jb21tYW5kLXNlYXJjaC1pbnB1dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgcHJvdmlkZUJybkNvbW1hbmQgfSBmcm9tICcuL2Jybi1jb21tYW5kLnRva2VuJztcblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnW2JybkNvbW1hbmRdJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0cHJvdmlkZXJzOiBbcHJvdmlkZUJybkNvbW1hbmQoQnJuQ29tbWFuZERpcmVjdGl2ZSldLFxuXHRob3N0OiB7XG5cdFx0J1tpZF0nOiAnaWQoKScsXG5cdH0sXG59KVxuZXhwb3J0IGNsYXNzIEJybkNvbW1hbmREaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcblx0cHJpdmF0ZSBzdGF0aWMgX2lkID0gMDtcblxuXHRwcml2YXRlIHJlYWRvbmx5IF9wbGF0Zm9ybSA9IGluamVjdChQTEFURk9STV9JRCk7XG5cblx0cHJpdmF0ZSByZWFkb25seSBfaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG5cdC8qKiBUaGUgaWQgb2YgdGhlIGNvbW1hbmQgKi9cblx0cHVibGljIHJlYWRvbmx5IGlkID0gaW5wdXQ8c3RyaW5nPihgYnJuLWNvbW1hbmQtJHtCcm5Db21tYW5kRGlyZWN0aXZlLl9pZCsrfWApO1xuXG5cdC8qKiBUaGUgZGVmYXVsdCBmaWx0ZXIgZnVuY3Rpb24gKi9cblx0cHJpdmF0ZSByZWFkb25seSBfZGVmYXVsdEZpbHRlciA9ICh2YWx1ZTogc3RyaW5nLCBzZWFyY2g6IHN0cmluZykgPT5cblx0XHR2YWx1ZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaC50b0xvd2VyQ2FzZSgpKTtcblxuXHQvKiogQSBjdXN0b20gZmlsdGVyIGZ1bmN0aW9uIHRvIHVzZSB3aGVuIHNlYXJjaGluZy4gKi9cblx0cHVibGljIHJlYWRvbmx5IGZpbHRlciA9IGlucHV0PENvbW1hbmRGaWx0ZXI+KHRoaXMuX2RlZmF1bHRGaWx0ZXIpO1xuXG5cdC8qKiBAaW50ZXJuYWwgVGhlIHNlYXJjaCBxdWVyeSAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgc2VhcmNoID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5fc2VhcmNoSW5wdXQoKT8udmFsdWUoKSA/PyAnJyk7XG5cblx0LyoqIEFjY2VzcyB0aGUgc2VhcmNoIGlucHV0IGlmIHByZXNlbnQgKi9cblx0cHJpdmF0ZSByZWFkb25seSBfc2VhcmNoSW5wdXQgPSBjb250ZW50Q2hpbGQoQnJuQ29tbWFuZFNlYXJjaElucHV0RGlyZWN0aXZlLCB7XG5cdFx0ZGVzY2VuZGFudHM6IHRydWUsXG5cdH0pO1xuXG5cdC8qKiBAaW50ZXJuYWwgQWNjZXNzIGFsbCB0aGUgaXRlbXMgd2l0aGluIHRoZSBjb21tbWFuZCAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgaXRlbXMgPSBjb250ZW50Q2hpbGRyZW4oQnJuQ29tbWFuZEl0ZW1Ub2tlbiwge1xuXHRcdGRlc2NlbmRhbnRzOiB0cnVlLFxuXHR9KTtcblxuXHQvKiogQGludGVybmFsIFRoZSBrZXkgbWFuYWdlciBmb3IgbWFuYWdpbmcgYWN0aXZlIGRlc2NlbmRhbnQgKi9cblx0cHVibGljIHJlYWRvbmx5IGtleU1hbmFnZXIgPSBuZXcgQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXIodGhpcy5pdGVtcywgdGhpcy5faW5qZWN0b3IpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHRoaXMua2V5TWFuYWdlclxuXHRcdFx0LndpdGhWZXJ0aWNhbE9yaWVudGF0aW9uKClcblx0XHRcdC53aXRoSG9tZUFuZEVuZCgpXG5cdFx0XHQud2l0aFdyYXAoKVxuXHRcdFx0LndpdGhUeXBlQWhlYWQoKVxuXHRcdFx0LnNraXBQcmVkaWNhdGUoKGl0ZW0pID0+IGl0ZW0uZGlzYWJsZWQgfHwgIWl0ZW0udmlzaWJsZSgpKTtcblx0fVxuXG5cdG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcblx0XHRpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5fcGxhdGZvcm0pICYmIHRoaXMuaXRlbXMoKS5sZW5ndGgpIHtcblx0XHRcdHRoaXMua2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKDApO1xuXHRcdH1cblx0fVxuXG5cdEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZW50ZXInKVxuXHRwcm90ZWN0ZWQgc2VsZWN0QWN0aXZlSXRlbSgpOiB2b2lkIHtcblx0XHR0aGlzLmtleU1hbmFnZXIuYWN0aXZlSXRlbT8uc2VsZWN0ZWQuZW1pdCgpO1xuXHR9XG59XG5cbmV4cG9ydCB0eXBlIENvbW1hbmRGaWx0ZXIgPSAodmFsdWU6IHN0cmluZywgc2VhcmNoOiBzdHJpbmcpID0+IGJvb2xlYW47XG4iXX0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { inject, InjectionToken } from '@angular/core';
|
|
2
|
+
export const BrnCommandToken = new InjectionToken('BrnCommandToken');
|
|
3
|
+
export function provideBrnCommand(command) {
|
|
4
|
+
return { provide: BrnCommandToken, useExisting: command };
|
|
5
|
+
}
|
|
6
|
+
export function injectBrnCommand() {
|
|
7
|
+
return inject(BrnCommandToken);
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWNvbW1hbmQudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2NvbW1hbmQvc3JjL2xpYi9icm4tY29tbWFuZC50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLE1BQU0sRUFBRSxjQUFjLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFHL0UsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUFzQixpQkFBaUIsQ0FBQyxDQUFDO0FBRTFGLE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxPQUFrQztJQUNuRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLENBQUM7QUFDM0QsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0I7SUFDL0IsT0FBTyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDaEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV4aXN0aW5nUHJvdmlkZXIsIGluamVjdCwgSW5qZWN0aW9uVG9rZW4sIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgQnJuQ29tbWFuZERpcmVjdGl2ZSB9IGZyb20gJy4vYnJuLWNvbW1hbmQuZGlyZWN0aXZlJztcblxuZXhwb3J0IGNvbnN0IEJybkNvbW1hbmRUb2tlbiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxCcm5Db21tYW5kRGlyZWN0aXZlPignQnJuQ29tbWFuZFRva2VuJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlQnJuQ29tbWFuZChjb21tYW5kOiBUeXBlPEJybkNvbW1hbmREaXJlY3RpdmU+KTogRXhpc3RpbmdQcm92aWRlciB7XG5cdHJldHVybiB7IHByb3ZpZGU6IEJybkNvbW1hbmRUb2tlbiwgdXNlRXhpc3Rpbmc6IGNvbW1hbmQgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdEJybkNvbW1hbmQoKTogQnJuQ29tbWFuZERpcmVjdGl2ZSB7XG5cdHJldHVybiBpbmplY3QoQnJuQ29tbWFuZFRva2VuKTtcbn1cbiJdfQ==
|