@spartan-ng/brain 0.0.1-alpha.402 → 0.0.1-alpha.404
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/lib/brn-command-item.directive.d.ts +7 -1
- package/command/lib/brn-command.directive.d.ts +3 -1
- package/esm2022/command/lib/brn-command-item.directive.mjs +14 -2
- package/esm2022/command/lib/brn-command.directive.mjs +12 -3
- package/fesm2022/spartan-ng-brain-command.mjs +22 -2
- package/fesm2022/spartan-ng-brain-command.mjs.map +1 -1
- package/package.json +7 -7
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Highlightable } from '@angular/cdk/a11y';
|
|
2
2
|
import { BooleanInput } from '@angular/cdk/coercion';
|
|
3
|
+
import { OnInit } from '@angular/core';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class BrnCommandItemDirective implements Highlightable {
|
|
5
|
+
export declare class BrnCommandItemDirective implements Highlightable, OnInit {
|
|
5
6
|
private static _id;
|
|
6
7
|
private readonly _platform;
|
|
7
8
|
private readonly _elementRef;
|
|
@@ -15,6 +16,10 @@ export declare class BrnCommandItemDirective implements Highlightable {
|
|
|
15
16
|
readonly _disabled: import("@angular/core").InputSignalWithTransform<boolean, BooleanInput>;
|
|
16
17
|
/** Expose disabled as a value - used by the Highlightable interface */
|
|
17
18
|
get disabled(): boolean;
|
|
19
|
+
/** Whether the item is initialized, this is to prevent accessing the value-input before the component is initialized.
|
|
20
|
+
* The brn-command-empty directive accesses the value before the component is initialized, which causes an error.
|
|
21
|
+
*/
|
|
22
|
+
private readonly _initialized;
|
|
18
23
|
/** Whether the item is selected. */
|
|
19
24
|
protected readonly active: import("@angular/core").WritableSignal<boolean>;
|
|
20
25
|
/** Emits when the item is selected. */
|
|
@@ -28,6 +33,7 @@ export declare class BrnCommandItemDirective implements Highlightable {
|
|
|
28
33
|
/** @internal */
|
|
29
34
|
setInactiveStyles(): void;
|
|
30
35
|
protected onClick(): void;
|
|
36
|
+
ngOnInit(): void;
|
|
31
37
|
static ɵfac: i0.ɵɵFactoryDeclaration<BrnCommandItemDirective, never>;
|
|
32
38
|
static ɵdir: i0.ɵɵDirectiveDeclaration<BrnCommandItemDirective, "button[brnCommandItem]", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": true; "isSignal": true; }; "_disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "selected": "selected"; }, never, never, true, never>;
|
|
33
39
|
}
|
|
@@ -11,6 +11,8 @@ export declare class BrnCommandDirective implements AfterViewInit {
|
|
|
11
11
|
private readonly _defaultFilter;
|
|
12
12
|
/** A custom filter function to use when searching. */
|
|
13
13
|
readonly filter: import("@angular/core").InputSignal<CommandFilter>;
|
|
14
|
+
/** when the selection has changed */
|
|
15
|
+
readonly valueChange: import("@angular/core").OutputEmitterRef<string>;
|
|
14
16
|
/** @internal The search query */
|
|
15
17
|
readonly search: import("@angular/core").Signal<string>;
|
|
16
18
|
/** Access the search input if present */
|
|
@@ -23,6 +25,6 @@ export declare class BrnCommandDirective implements AfterViewInit {
|
|
|
23
25
|
ngAfterViewInit(): void;
|
|
24
26
|
protected selectActiveItem(): void;
|
|
25
27
|
static ɵfac: i0.ɵɵFactoryDeclaration<BrnCommandDirective, never>;
|
|
26
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<BrnCommandDirective, "[brnCommand]", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; }, {}, ["_searchInput", "items"], never, true, never>;
|
|
28
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<BrnCommandDirective, "[brnCommand]", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, ["_searchInput", "items"], never, true, never>;
|
|
27
29
|
}
|
|
28
30
|
export type CommandFilter = (value: string, search: string) => boolean;
|
|
@@ -22,12 +22,21 @@ export class BrnCommandItemDirective {
|
|
|
22
22
|
get disabled() {
|
|
23
23
|
return this._disabled();
|
|
24
24
|
}
|
|
25
|
+
/** Whether the item is initialized, this is to prevent accessing the value-input before the component is initialized.
|
|
26
|
+
* The brn-command-empty directive accesses the value before the component is initialized, which causes an error.
|
|
27
|
+
*/
|
|
28
|
+
_initialized = signal(false);
|
|
25
29
|
/** Whether the item is selected. */
|
|
26
30
|
active = signal(false);
|
|
27
31
|
/** Emits when the item is selected. */
|
|
28
32
|
selected = output();
|
|
29
33
|
/** @internal Determine if this item is visible based on the current search query */
|
|
30
|
-
visible = computed(() =>
|
|
34
|
+
visible = computed(() => {
|
|
35
|
+
if (!this._initialized()) {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
return this._command.filter()(this.value(), this._command.search());
|
|
39
|
+
});
|
|
31
40
|
/** @internal Get the display value */
|
|
32
41
|
getLabel() {
|
|
33
42
|
return this.value();
|
|
@@ -48,6 +57,9 @@ export class BrnCommandItemDirective {
|
|
|
48
57
|
this._command.keyManager.setActiveItem(this);
|
|
49
58
|
this.selected.emit();
|
|
50
59
|
}
|
|
60
|
+
ngOnInit() {
|
|
61
|
+
this._initialized.set(true);
|
|
62
|
+
}
|
|
51
63
|
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
52
64
|
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.5", type: BrnCommandItemDirective, isStandalone: true, selector: "button[brnCommandItem]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, _disabled: { classPropertyName: "_disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selected: "selected" }, host: { attributes: { "type": "button", "role": "option", "tabIndex": "-1" }, listeners: { "click": "onClick()" }, properties: { "id": "id()", "attr.disabled": "_disabled() ? true : null", "attr.data-value": "value()", "attr.data-hidden": "!visible() ? '' : null", "attr.aria-selected": "active()", "attr.data-selected": "active() ? '' : null" } }, providers: [provideBrnCommandItem(BrnCommandItemDirective)], ngImport: i0 });
|
|
53
65
|
}
|
|
@@ -73,4 +85,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
73
85
|
type: HostListener,
|
|
74
86
|
args: ['click']
|
|
75
87
|
}] } });
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWNvbW1hbmQtaXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2NvbW1hbmQvc3JjL2xpYi9icm4tY29tbWFuZC1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQ04sZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUVMLE1BQU0sRUFDTixXQUFXLEVBQ1gsTUFBTSxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQWtCdkQsTUFBTSxPQUFPLHVCQUF1QjtJQUMzQixNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUVOLFNBQVMsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFaEMsV0FBVyxHQUFHLE1BQU0sQ0FBMEIsVUFBVSxDQUFDLENBQUM7SUFFM0UsbUNBQW1DO0lBQ2xCLFFBQVEsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO0lBRS9DLCtCQUErQjtJQUNmLEVBQUUsR0FBRyxLQUFLLENBQUMsb0JBQW9CLHVCQUF1QixDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVoRixzQ0FBc0M7SUFDdEIsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztJQUVqRCxvQ0FBb0M7SUFDcEIsU0FBUyxHQUFHLEtBQUssQ0FBd0IsS0FBSyxFQUFFO1FBQy9ELEtBQUssRUFBRSxVQUFVO1FBQ2pCLFNBQVMsRUFBRSxnQkFBZ0I7S0FDM0IsQ0FBQyxDQUFDO0lBRUgsdUVBQXVFO0lBQ3ZFLElBQVcsUUFBUTtRQUNsQixPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQ7O09BRUc7SUFDYyxZQUFZLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTlDLG9DQUFvQztJQUNqQixNQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTFDLHVDQUF1QztJQUN2QixRQUFRLEdBQUcsTUFBTSxFQUFRLENBQUM7SUFFMUMsb0ZBQW9GO0lBQ3BFLE9BQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQztZQUMxQixPQUFPLEtBQUssQ0FBQztRQUNkLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNyRSxDQUFDLENBQUMsQ0FBQztJQUVILHNDQUFzQztJQUMvQixRQUFRO1FBQ2QsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGdCQUFnQjtJQUNoQixlQUFlO1FBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdEIsNkJBQTZCO1FBQzdCLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDckUsQ0FBQztJQUNGLENBQUM7SUFFRCxnQkFBZ0I7SUFDaEIsaUJBQWlCO1FBQ2hCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFHUyxPQUFPO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxRQUFRO1FBQ1AsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQzswSEExRVcsdUJBQXVCOzhHQUF2Qix1QkFBdUIsMHpCQWJ4QixDQUFDLHFCQUFxQixDQUFDLHVCQUF1QixDQUFDLENBQUM7OzJGQWEvQyx1QkFBdUI7a0JBaEJuQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixTQUFTLEVBQUUsQ0FBQyxxQkFBcUIseUJBQXlCLENBQUM7b0JBQzNELElBQUksRUFBRTt3QkFDTCxJQUFJLEVBQUUsUUFBUTt3QkFDZCxJQUFJLEVBQUUsUUFBUTt3QkFDZCxRQUFRLEVBQUUsSUFBSTt3QkFDZCxNQUFNLEVBQUUsTUFBTTt3QkFDZCxpQkFBaUIsRUFBRSwyQkFBMkI7d0JBQzlDLG1CQUFtQixFQUFFLFNBQVM7d0JBQzlCLG9CQUFvQixFQUFFLHdCQUF3Qjt3QkFDOUMsc0JBQXNCLEVBQUUsVUFBVTt3QkFDbEMsc0JBQXNCLEVBQUUsc0JBQXNCO3FCQUM5QztpQkFDRDs4QkFvRVUsT0FBTztzQkFEaEIsWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGlnaGxpZ2h0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuXHRib29sZWFuQXR0cmlidXRlLFxuXHRjb21wdXRlZCxcblx0RGlyZWN0aXZlLFxuXHRFbGVtZW50UmVmLFxuXHRIb3N0TGlzdGVuZXIsXG5cdGluamVjdCxcblx0aW5wdXQsXG5cdE9uSW5pdCxcblx0b3V0cHV0LFxuXHRQTEFURk9STV9JRCxcblx0c2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHByb3ZpZGVCcm5Db21tYW5kSXRlbSB9IGZyb20gJy4vYnJuLWNvbW1hbmQtaXRlbS50b2tlbic7XG5pbXBvcnQgeyBpbmplY3RCcm5Db21tYW5kIH0gZnJvbSAnLi9icm4tY29tbWFuZC50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ2J1dHRvblticm5Db21tYW5kSXRlbV0nLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRwcm92aWRlcnM6IFtwcm92aWRlQnJuQ29tbWFuZEl0ZW0oQnJuQ29tbWFuZEl0ZW1EaXJlY3RpdmUpXSxcblx0aG9zdDoge1xuXHRcdHR5cGU6ICdidXR0b24nLFxuXHRcdHJvbGU6ICdvcHRpb24nLFxuXHRcdHRhYkluZGV4OiAnLTEnLFxuXHRcdCdbaWRdJzogJ2lkKCknLFxuXHRcdCdbYXR0ci5kaXNhYmxlZF0nOiAnX2Rpc2FibGVkKCkgPyB0cnVlIDogbnVsbCcsXG5cdFx0J1thdHRyLmRhdGEtdmFsdWVdJzogJ3ZhbHVlKCknLFxuXHRcdCdbYXR0ci5kYXRhLWhpZGRlbl0nOiBcIiF2aXNpYmxlKCkgPyAnJyA6IG51bGxcIixcblx0XHQnW2F0dHIuYXJpYS1zZWxlY3RlZF0nOiAnYWN0aXZlKCknLFxuXHRcdCdbYXR0ci5kYXRhLXNlbGVjdGVkXSc6IFwiYWN0aXZlKCkgPyAnJyA6IG51bGxcIixcblx0fSxcbn0pXG5leHBvcnQgY2xhc3MgQnJuQ29tbWFuZEl0ZW1EaXJlY3RpdmUgaW1wbGVtZW50cyBIaWdobGlnaHRhYmxlLCBPbkluaXQge1xuXHRwcml2YXRlIHN0YXRpYyBfaWQgPSAwO1xuXG5cdHByaXZhdGUgcmVhZG9ubHkgX3BsYXRmb3JtID0gaW5qZWN0KFBMQVRGT1JNX0lEKTtcblxuXHRwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcblxuXHQvKiogQWNjZXNzIHRoZSBjb21tYW5kIGNvbXBvbmVudCAqL1xuXHRwcml2YXRlIHJlYWRvbmx5IF9jb21tYW5kID0gaW5qZWN0QnJuQ29tbWFuZCgpO1xuXG5cdC8qKiBBIHVuaXF1ZSBpZCBmb3IgdGhlIGl0ZW0gKi9cblx0cHVibGljIHJlYWRvbmx5IGlkID0gaW5wdXQoYGJybi1jb21tYW5kLWl0ZW0tJHtCcm5Db21tYW5kSXRlbURpcmVjdGl2ZS5faWQrK31gKTtcblxuXHQvKiogVGhlIHZhbHVlIHRoaXMgaXRlbSByZXByZXNlbnRzLiAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgdmFsdWUgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG5cblx0LyoqIFdoZXRoZXIgdGhlIGl0ZW0gaXMgZGlzYWJsZWQuICovXG5cdHB1YmxpYyByZWFkb25seSBfZGlzYWJsZWQgPSBpbnB1dDxib29sZWFuLCBCb29sZWFuSW5wdXQ+KGZhbHNlLCB7XG5cdFx0YWxpYXM6ICdkaXNhYmxlZCcsXG5cdFx0dHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuXHR9KTtcblxuXHQvKiogRXhwb3NlIGRpc2FibGVkIGFzIGEgdmFsdWUgLSB1c2VkIGJ5IHRoZSBIaWdobGlnaHRhYmxlIGludGVyZmFjZSAqL1xuXHRwdWJsaWMgZ2V0IGRpc2FibGVkKCkge1xuXHRcdHJldHVybiB0aGlzLl9kaXNhYmxlZCgpO1xuXHR9XG5cblx0LyoqIFdoZXRoZXIgdGhlIGl0ZW0gaXMgaW5pdGlhbGl6ZWQsIHRoaXMgaXMgdG8gcHJldmVudCBhY2Nlc3NpbmcgdGhlIHZhbHVlLWlucHV0IGJlZm9yZSB0aGUgY29tcG9uZW50IGlzIGluaXRpYWxpemVkLlxuXHQgKiBUaGUgYnJuLWNvbW1hbmQtZW1wdHkgZGlyZWN0aXZlIGFjY2Vzc2VzIHRoZSB2YWx1ZSBiZWZvcmUgdGhlIGNvbXBvbmVudCBpcyBpbml0aWFsaXplZCwgd2hpY2ggY2F1c2VzIGFuIGVycm9yLlxuXHQgKi9cblx0cHJpdmF0ZSByZWFkb25seSBfaW5pdGlhbGl6ZWQgPSBzaWduYWwoZmFsc2UpO1xuXG5cdC8qKiBXaGV0aGVyIHRoZSBpdGVtIGlzIHNlbGVjdGVkLiAqL1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgYWN0aXZlID0gc2lnbmFsKGZhbHNlKTtcblxuXHQvKiogRW1pdHMgd2hlbiB0aGUgaXRlbSBpcyBzZWxlY3RlZC4gKi9cblx0cHVibGljIHJlYWRvbmx5IHNlbGVjdGVkID0gb3V0cHV0PHZvaWQ+KCk7XG5cblx0LyoqIEBpbnRlcm5hbCBEZXRlcm1pbmUgaWYgdGhpcyBpdGVtIGlzIHZpc2libGUgYmFzZWQgb24gdGhlIGN1cnJlbnQgc2VhcmNoIHF1ZXJ5ICovXG5cdHB1YmxpYyByZWFkb25seSB2aXNpYmxlID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGlmICghdGhpcy5faW5pdGlhbGl6ZWQoKSkge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcy5fY29tbWFuZC5maWx0ZXIoKSh0aGlzLnZhbHVlKCksIHRoaXMuX2NvbW1hbmQuc2VhcmNoKCkpO1xuXHR9KTtcblxuXHQvKiogQGludGVybmFsIEdldCB0aGUgZGlzcGxheSB2YWx1ZSAqL1xuXHRwdWJsaWMgZ2V0TGFiZWwoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy52YWx1ZSgpO1xuXHR9XG5cblx0LyoqIEBpbnRlcm5hbCAqL1xuXHRzZXRBY3RpdmVTdHlsZXMoKTogdm9pZCB7XG5cdFx0dGhpcy5hY3RpdmUuc2V0KHRydWUpO1xuXG5cdFx0Ly8gZW5zdXJlIHRoZSBpdGVtIGlzIGluIHZpZXdcblx0XHRpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5fcGxhdGZvcm0pKSB7XG5cdFx0XHR0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoeyBibG9jazogJ25lYXJlc3QnIH0pO1xuXHRcdH1cblx0fVxuXG5cdC8qKiBAaW50ZXJuYWwgKi9cblx0c2V0SW5hY3RpdmVTdHlsZXMoKTogdm9pZCB7XG5cdFx0dGhpcy5hY3RpdmUuc2V0KGZhbHNlKTtcblx0fVxuXG5cdEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcblx0cHJvdGVjdGVkIG9uQ2xpY2soKTogdm9pZCB7XG5cdFx0dGhpcy5fY29tbWFuZC5rZXlNYW5hZ2VyLnNldEFjdGl2ZUl0ZW0odGhpcyk7XG5cdFx0dGhpcy5zZWxlY3RlZC5lbWl0KCk7XG5cdH1cblxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcblx0XHR0aGlzLl9pbml0aWFsaXplZC5zZXQodHJ1ZSk7XG5cdH1cbn1cbiJdfQ==
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';
|
|
2
2
|
import { isPlatformBrowser } from '@angular/common';
|
|
3
|
-
import { computed, contentChild, contentChildren, Directive, effect, HostListener, inject, Injector, input, PLATFORM_ID, } from '@angular/core';
|
|
3
|
+
import { computed, contentChild, contentChildren, Directive, effect, HostListener, inject, Injector, input, output, PLATFORM_ID, } from '@angular/core';
|
|
4
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
5
|
import { BrnCommandItemToken } from './brn-command-item.token';
|
|
5
6
|
import { BrnCommandSearchInputDirective } from './brn-command-search-input.directive';
|
|
6
7
|
import { provideBrnCommand } from './brn-command.token';
|
|
@@ -15,6 +16,8 @@ export class BrnCommandDirective {
|
|
|
15
16
|
_defaultFilter = (value, search) => value.toLowerCase().includes(search.toLowerCase());
|
|
16
17
|
/** A custom filter function to use when searching. */
|
|
17
18
|
filter = input(this._defaultFilter);
|
|
19
|
+
/** when the selection has changed */
|
|
20
|
+
valueChange = output();
|
|
18
21
|
/** @internal The search query */
|
|
19
22
|
search = computed(() => this._searchInput()?.value() ?? '');
|
|
20
23
|
/** Access the search input if present */
|
|
@@ -41,6 +44,12 @@ export class BrnCommandDirective {
|
|
|
41
44
|
this.keyManager.setActiveItem(0);
|
|
42
45
|
}
|
|
43
46
|
}, { allowSignalWrites: true });
|
|
47
|
+
this.keyManager.change.pipe(takeUntilDestroyed()).subscribe(() => {
|
|
48
|
+
const value = this.keyManager.activeItem?.value();
|
|
49
|
+
if (value) {
|
|
50
|
+
this.valueChange.emit(value);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
44
53
|
}
|
|
45
54
|
ngAfterViewInit() {
|
|
46
55
|
if (isPlatformBrowser(this._platform) && this.items().length) {
|
|
@@ -51,7 +60,7 @@ export class BrnCommandDirective {
|
|
|
51
60
|
this.keyManager.activeItem?.selected.emit();
|
|
52
61
|
}
|
|
53
62
|
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
54
|
-
/** @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 });
|
|
63
|
+
/** @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 } }, outputs: { valueChange: "valueChange" }, 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 });
|
|
55
64
|
}
|
|
56
65
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandDirective, decorators: [{
|
|
57
66
|
type: Directive,
|
|
@@ -67,4 +76,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
67
76
|
type: HostListener,
|
|
68
77
|
args: ['keydown.enter']
|
|
69
78
|
}] } });
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWNvbW1hbmQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9jb21tYW5kL3NyYy9saWIvYnJuLWNvbW1hbmQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFFTixRQUFRLEVBQ1IsWUFBWSxFQUNaLGVBQWUsRUFDZixTQUFTLEVBQ1QsTUFBTSxFQUNOLFlBQVksRUFDWixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFDTCxNQUFNLEVBQ04sV0FBVyxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQVV4RCxNQUFNLE9BQU8sbUJBQW1CO0lBQ3ZCLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBRU4sU0FBUyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUVoQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRTlDLDRCQUE0QjtJQUNaLEVBQUUsR0FBRyxLQUFLLENBQVMsZUFBZSxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFL0Usa0NBQWtDO0lBQ2pCLGNBQWMsR0FBRyxDQUFDLEtBQWEsRUFBRSxNQUFjLEVBQUUsRUFBRSxDQUNuRSxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFD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LGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG5cdEFmdGVyVmlld0luaXQsXG5cdGNvbXB1dGVkLFxuXHRjb250ZW50Q2hpbGQsXG5cdGNvbnRlbnRDaGlsZHJlbixcblx0RGlyZWN0aXZlLFxuXHRlZmZlY3QsXG5cdEhvc3RMaXN0ZW5lcixcblx0aW5qZWN0LFxuXHRJbmplY3Rvcixcblx0aW5wdXQsXG5cdG91dHB1dCxcblx0UExBVEZPUk1fSUQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgQnJuQ29tbWFuZEl0ZW1Ub2tlbiB9IGZyb20gJy4vYnJuLWNvbW1hbmQtaXRlbS50b2tlbic7XG5pbXBvcnQgeyBCcm5Db21tYW5kU2VhcmNoSW5wdXREaXJlY3RpdmUgfSBmcm9tICcuL2Jybi1jb21tYW5kLXNlYXJjaC1pbnB1dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgcHJvdmlkZUJybkNvbW1hbmQgfSBmcm9tICcuL2Jybi1jb21tYW5kLnRva2VuJztcblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnW2JybkNvbW1hbmRdJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0cHJvdmlkZXJzOiBbcHJvdmlkZUJybkNvbW1hbmQoQnJuQ29tbWFuZERpcmVjdGl2ZSldLFxuXHRob3N0OiB7XG5cdFx0J1tpZF0nOiAnaWQoKScsXG5cdH0sXG59KVxuZXhwb3J0IGNsYXNzIEJybkNvbW1hbmREaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcblx0cHJpdmF0ZSBzdGF0aWMgX2lkID0gMDtcblxuXHRwcml2YXRlIHJlYWRvbmx5IF9wbGF0Zm9ybSA9IGluamVjdChQTEFURk9STV9JRCk7XG5cblx0cHJpdmF0ZSByZWFkb25seSBfaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG5cdC8qKiBUaGUgaWQgb2YgdGhlIGNvbW1hbmQgKi9cblx0cHVibGljIHJlYWRvbmx5IGlkID0gaW5wdXQ8c3RyaW5nPihgYnJuLWNvbW1hbmQtJHtCcm5Db21tYW5kRGlyZWN0aXZlLl9pZCsrfWApO1xuXG5cdC8qKiBUaGUgZGVmYXVsdCBmaWx0ZXIgZnVuY3Rpb24gKi9cblx0cHJpdmF0ZSByZWFkb25seSBfZGVmYXVsdEZpbHRlciA9ICh2YWx1ZTogc3RyaW5nLCBzZWFyY2g6IHN0cmluZykgPT5cblx0XHR2YWx1ZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaC50b0xvd2VyQ2FzZSgpKTtcblxuXHQvKiogQSBjdXN0b20gZmlsdGVyIGZ1bmN0aW9uIHRvIHVzZSB3aGVuIHNlYXJjaGluZy4gKi9cblx0cHVibGljIHJlYWRvbmx5IGZpbHRlciA9IGlucHV0PENvbW1hbmRGaWx0ZXI+KHRoaXMuX2RlZmF1bHRGaWx0ZXIpO1xuXG5cdC8qKiB3aGVuIHRoZSBzZWxlY3Rpb24gaGFzIGNoYW5nZWQgKi9cblx0cHVibGljIHJlYWRvbmx5IHZhbHVlQ2hhbmdlID0gb3V0cHV0PHN0cmluZz4oKTtcblxuXHQvKiogQGludGVybmFsIFRoZSBzZWFyY2ggcXVlcnkgKi9cblx0cHVibGljIHJlYWRvbmx5IHNlYXJjaCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuX3NlYXJjaElucHV0KCk/LnZhbHVlKCkgPz8gJycpO1xuXG5cdC8qKiBBY2Nlc3MgdGhlIHNlYXJjaCBpbnB1dCBpZiBwcmVzZW50ICovXG5cdHByaXZhdGUgcmVhZG9ubHkgX3NlYXJjaElucHV0ID0gY29udGVudENoaWxkKEJybkNvbW1hbmRTZWFyY2hJbnB1dERpcmVjdGl2ZSwge1xuXHRcdGRlc2NlbmRhbnRzOiB0cnVlLFxuXHR9KTtcblxuXHQvKiogQGludGVybmFsIEFjY2VzcyBhbGwgdGhlIGl0ZW1zIHdpdGhpbiB0aGUgY29tbW1hbmQgKi9cblx0cHVibGljIHJlYWRvbmx5IGl0ZW1zID0gY29udGVudENoaWxkcmVuKEJybkNvbW1hbmRJdGVtVG9rZW4sIHtcblx0XHRkZXNjZW5kYW50czogdHJ1ZSxcblx0fSk7XG5cblx0LyoqIEBpbnRlcm5hbCBUaGUga2V5IG1hbmFnZXIgZm9yIG1hbmFnaW5nIGFjdGl2ZSBkZXNjZW5kYW50ICovXG5cdHB1YmxpYyByZWFkb25seSBrZXlNYW5hZ2VyID0gbmV3IEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyKHRoaXMuaXRlbXMsIHRoaXMuX2luamVjdG9yKTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHR0aGlzLmtleU1hbmFnZXJcblx0XHRcdC53aXRoVmVydGljYWxPcmllbnRhdGlvbigpXG5cdFx0XHQud2l0aEhvbWVBbmRFbmQoKVxuXHRcdFx0LndpdGhXcmFwKClcblx0XHRcdC53aXRoVHlwZUFoZWFkKClcblx0XHRcdC5za2lwUHJlZGljYXRlKChpdGVtKSA9PiBpdGVtLmRpc2FibGVkIHx8ICFpdGVtLnZpc2libGUoKSk7XG5cblx0XHQvLyBXaGVuIGNsZWFyaW5nIHRoZSBzZWFyY2ggaW5wdXQgd2UgYWxzbyB3YW50IHRvIHJlc2V0IHRoZSBhY3RpdmUgaXRlbSB0byB0aGUgZmlyc3Qgb25lXG5cdFx0ZWZmZWN0KFxuXHRcdFx0KCkgPT4ge1xuXHRcdFx0XHRjb25zdCBzZWFyY2hJbnB1dCA9IHRoaXMuX3NlYXJjaElucHV0KCk/LnZhbHVlKCk7XG5cdFx0XHRcdGlmIChzZWFyY2hJbnB1dCAhPT0gdW5kZWZpbmVkICYmIHNlYXJjaElucHV0Lmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0XHRcdHRoaXMua2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKDApO1xuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0eyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxuXHRcdCk7XG5cblx0XHR0aGlzLmtleU1hbmFnZXIuY2hhbmdlLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpLnN1YnNjcmliZSgoKSA9PiB7XG5cdFx0XHRjb25zdCB2YWx1ZSA9IHRoaXMua2V5TWFuYWdlci5hY3RpdmVJdGVtPy52YWx1ZSgpO1xuXHRcdFx0aWYgKHZhbHVlKSB7XG5cdFx0XHRcdHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblxuXHRuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG5cdFx0aWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMuX3BsYXRmb3JtKSAmJiB0aGlzLml0ZW1zKCkubGVuZ3RoKSB7XG5cdFx0XHR0aGlzLmtleU1hbmFnZXIuc2V0QWN0aXZlSXRlbSgwKTtcblx0XHR9XG5cdH1cblxuXHRASG9zdExpc3RlbmVyKCdrZXlkb3duLmVudGVyJylcblx0cHJvdGVjdGVkIHNlbGVjdEFjdGl2ZUl0ZW0oKTogdm9pZCB7XG5cdFx0dGhpcy5rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0/LnNlbGVjdGVkLmVtaXQoKTtcblx0fVxufVxuXG5leHBvcnQgdHlwZSBDb21tYW5kRmlsdGVyID0gKHZhbHVlOiBzdHJpbmcsIHNlYXJjaDogc3RyaW5nKSA9PiBib29sZWFuO1xuIl19
|
|
@@ -90,12 +90,21 @@ class BrnCommandItemDirective {
|
|
|
90
90
|
get disabled() {
|
|
91
91
|
return this._disabled();
|
|
92
92
|
}
|
|
93
|
+
/** Whether the item is initialized, this is to prevent accessing the value-input before the component is initialized.
|
|
94
|
+
* The brn-command-empty directive accesses the value before the component is initialized, which causes an error.
|
|
95
|
+
*/
|
|
96
|
+
_initialized = signal(false);
|
|
93
97
|
/** Whether the item is selected. */
|
|
94
98
|
active = signal(false);
|
|
95
99
|
/** Emits when the item is selected. */
|
|
96
100
|
selected = output();
|
|
97
101
|
/** @internal Determine if this item is visible based on the current search query */
|
|
98
|
-
visible = computed(() =>
|
|
102
|
+
visible = computed(() => {
|
|
103
|
+
if (!this._initialized()) {
|
|
104
|
+
return false;
|
|
105
|
+
}
|
|
106
|
+
return this._command.filter()(this.value(), this._command.search());
|
|
107
|
+
});
|
|
99
108
|
/** @internal Get the display value */
|
|
100
109
|
getLabel() {
|
|
101
110
|
return this.value();
|
|
@@ -116,6 +125,9 @@ class BrnCommandItemDirective {
|
|
|
116
125
|
this._command.keyManager.setActiveItem(this);
|
|
117
126
|
this.selected.emit();
|
|
118
127
|
}
|
|
128
|
+
ngOnInit() {
|
|
129
|
+
this._initialized.set(true);
|
|
130
|
+
}
|
|
119
131
|
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
120
132
|
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.5", type: BrnCommandItemDirective, isStandalone: true, selector: "button[brnCommandItem]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, _disabled: { classPropertyName: "_disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selected: "selected" }, host: { attributes: { "type": "button", "role": "option", "tabIndex": "-1" }, listeners: { "click": "onClick()" }, properties: { "id": "id()", "attr.disabled": "_disabled() ? true : null", "attr.data-value": "value()", "attr.data-hidden": "!visible() ? '' : null", "attr.aria-selected": "active()", "attr.data-selected": "active() ? '' : null" } }, providers: [provideBrnCommandItem(BrnCommandItemDirective)], ngImport: i0 });
|
|
121
133
|
}
|
|
@@ -219,6 +231,8 @@ class BrnCommandDirective {
|
|
|
219
231
|
_defaultFilter = (value, search) => value.toLowerCase().includes(search.toLowerCase());
|
|
220
232
|
/** A custom filter function to use when searching. */
|
|
221
233
|
filter = input(this._defaultFilter);
|
|
234
|
+
/** when the selection has changed */
|
|
235
|
+
valueChange = output();
|
|
222
236
|
/** @internal The search query */
|
|
223
237
|
search = computed(() => this._searchInput()?.value() ?? '');
|
|
224
238
|
/** Access the search input if present */
|
|
@@ -245,6 +259,12 @@ class BrnCommandDirective {
|
|
|
245
259
|
this.keyManager.setActiveItem(0);
|
|
246
260
|
}
|
|
247
261
|
}, { allowSignalWrites: true });
|
|
262
|
+
this.keyManager.change.pipe(takeUntilDestroyed()).subscribe(() => {
|
|
263
|
+
const value = this.keyManager.activeItem?.value();
|
|
264
|
+
if (value) {
|
|
265
|
+
this.valueChange.emit(value);
|
|
266
|
+
}
|
|
267
|
+
});
|
|
248
268
|
}
|
|
249
269
|
ngAfterViewInit() {
|
|
250
270
|
if (isPlatformBrowser(this._platform) && this.items().length) {
|
|
@@ -255,7 +275,7 @@ class BrnCommandDirective {
|
|
|
255
275
|
this.keyManager.activeItem?.selected.emit();
|
|
256
276
|
}
|
|
257
277
|
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
258
|
-
/** @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 });
|
|
278
|
+
/** @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 } }, outputs: { valueChange: "valueChange" }, 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 });
|
|
259
279
|
}
|
|
260
280
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandDirective, decorators: [{
|
|
261
281
|
type: Directive,
|
|
@@ -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\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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"}
|
|
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\tOnInit,\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, OnInit {\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 initialized, this is to prevent accessing the value-input before the component is initialized.\n\t * The brn-command-empty directive accesses the value before the component is initialized, which causes an error.\n\t */\n\tprivate readonly _initialized = signal(false);\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(() => {\n\t\tif (!this._initialized()) {\n\t\t\treturn false;\n\t\t}\n\t\treturn this._command.filter()(this.value(), this._command.search());\n\t});\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\tngOnInit(): void {\n\t\tthis._initialized.set(true);\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\toutput,\n\tPLATFORM_ID,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\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/** when the selection has changed */\n\tpublic readonly valueChange = output<string>();\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\n\t\tthis.keyManager.change.pipe(takeUntilDestroyed()).subscribe(() => {\n\t\t\tconst value = this.keyManager.activeItem?.value();\n\t\t\tif (value) {\n\t\t\t\tthis.valueChange.emit(value);\n\t\t\t}\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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spartan-ng/brain",
|
|
3
|
-
"version": "0.0.1-alpha.
|
|
3
|
+
"version": "0.0.1-alpha.404",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"exports": {
|
|
6
6
|
"./hlm-tailwind-preset": {
|
|
@@ -51,18 +51,18 @@
|
|
|
51
51
|
"esm": "./esm2022/collapsible/spartan-ng-brain-collapsible.mjs",
|
|
52
52
|
"default": "./fesm2022/spartan-ng-brain-collapsible.mjs"
|
|
53
53
|
},
|
|
54
|
-
"./core": {
|
|
55
|
-
"types": "./core/index.d.ts",
|
|
56
|
-
"esm2022": "./esm2022/core/spartan-ng-brain-core.mjs",
|
|
57
|
-
"esm": "./esm2022/core/spartan-ng-brain-core.mjs",
|
|
58
|
-
"default": "./fesm2022/spartan-ng-brain-core.mjs"
|
|
59
|
-
},
|
|
60
54
|
"./command": {
|
|
61
55
|
"types": "./command/index.d.ts",
|
|
62
56
|
"esm2022": "./esm2022/command/spartan-ng-brain-command.mjs",
|
|
63
57
|
"esm": "./esm2022/command/spartan-ng-brain-command.mjs",
|
|
64
58
|
"default": "./fesm2022/spartan-ng-brain-command.mjs"
|
|
65
59
|
},
|
|
60
|
+
"./core": {
|
|
61
|
+
"types": "./core/index.d.ts",
|
|
62
|
+
"esm2022": "./esm2022/core/spartan-ng-brain-core.mjs",
|
|
63
|
+
"esm": "./esm2022/core/spartan-ng-brain-core.mjs",
|
|
64
|
+
"default": "./fesm2022/spartan-ng-brain-core.mjs"
|
|
65
|
+
},
|
|
66
66
|
"./date-time": {
|
|
67
67
|
"types": "./date-time/index.d.ts",
|
|
68
68
|
"esm2022": "./esm2022/date-time/spartan-ng-brain-date-time.mjs",
|