@spartan-ng/brain 0.0.1-alpha.396 → 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 +7 -19
- 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
|
@@ -1,272 +1,292 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
import { __decorate } from 'tslib';
|
|
8
|
-
import { UntilDestroy } from '@ngneat/until-destroy';
|
|
2
|
+
import { InjectionToken, inject, TemplateRef, ViewContainerRef, computed, effect, Directive, input, contentChildren, PLATFORM_ID, ElementRef, booleanAttribute, signal, output, HostListener, Injector, contentChild, NgModule } from '@angular/core';
|
|
3
|
+
import { isPlatformBrowser } from '@angular/common';
|
|
4
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
5
|
+
import { startWith } from 'rxjs/operators';
|
|
6
|
+
import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';
|
|
9
7
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
8
|
+
const BrnCommandToken = new InjectionToken('BrnCommandToken');
|
|
9
|
+
function provideBrnCommand(command) {
|
|
10
|
+
return { provide: BrnCommandToken, useExisting: command };
|
|
11
|
+
}
|
|
12
|
+
function injectBrnCommand() {
|
|
13
|
+
return inject(BrnCommandToken);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
class BrnCommandEmptyDirective {
|
|
17
|
+
_templateRef = inject(TemplateRef);
|
|
18
|
+
_viewContainerRef = inject(ViewContainerRef);
|
|
19
|
+
_command = injectBrnCommand();
|
|
20
|
+
/** Determine if the command has any visible items */
|
|
21
|
+
_visible = computed(() => this._command.items().some((item) => item.visible()));
|
|
22
|
+
constructor() {
|
|
23
|
+
effect(() => {
|
|
24
|
+
if (this._visible()) {
|
|
25
|
+
this._viewContainerRef.clear();
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
this._viewContainerRef.createEmbeddedView(this._templateRef);
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandEmptyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
33
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: BrnCommandEmptyDirective, isStandalone: true, selector: "[brnCommandEmpty]", ngImport: i0 });
|
|
18
34
|
}
|
|
19
35
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandEmptyDirective, decorators: [{
|
|
20
36
|
type: Directive,
|
|
21
37
|
args: [{
|
|
22
|
-
selector: '[brnCmdEmpty]',
|
|
23
38
|
standalone: true,
|
|
24
|
-
|
|
25
|
-
{
|
|
26
|
-
provide: EmptyDirective,
|
|
27
|
-
useExisting: forwardRef((() => BrnCommandEmptyDirective)),
|
|
28
|
-
},
|
|
29
|
-
],
|
|
30
|
-
host: {
|
|
31
|
-
class: 'cmdk-empty',
|
|
32
|
-
},
|
|
39
|
+
selector: '[brnCommandEmpty]',
|
|
33
40
|
}]
|
|
34
|
-
}] });
|
|
41
|
+
}], ctorParameters: () => [] });
|
|
35
42
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
{
|
|
40
|
-
provide: GroupComponent,
|
|
41
|
-
useExisting: forwardRef((() => BrnCommandGroupComponent)),
|
|
42
|
-
},
|
|
43
|
-
], usesInheritance: true, ngImport: i0, template: `
|
|
44
|
-
<div role="presentation" *ngIf="label" class="cmdk-group-label">
|
|
45
|
-
<ng-container *dynamicView="label"></ng-container>
|
|
46
|
-
</div>
|
|
47
|
-
<div class="cmdk-group-content" role="group" [attr.aria-label]="ariaLabel">
|
|
48
|
-
<ng-content></ng-content>
|
|
49
|
-
</div>
|
|
50
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: DynamicViewModule }, { kind: "directive", type: i1.DynamicViewDirective, selector: "[dynamicView]", inputs: ["dynamicView", "dynamicViewInjector", "dynamicViewContext", "dynamicViewInputs"] }] });
|
|
43
|
+
const BrnCommandItemToken = new InjectionToken('BrnCommandItemToken');
|
|
44
|
+
function provideBrnCommandItem(command) {
|
|
45
|
+
return { provide: BrnCommandItemToken, useExisting: command };
|
|
51
46
|
}
|
|
52
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandGroupComponent, decorators: [{
|
|
53
|
-
type: Component,
|
|
54
|
-
args: [{
|
|
55
|
-
selector: 'brn-cmd-group',
|
|
56
|
-
standalone: true,
|
|
57
|
-
imports: [NgIf, DynamicViewModule],
|
|
58
|
-
providers: [
|
|
59
|
-
{
|
|
60
|
-
provide: GroupComponent,
|
|
61
|
-
useExisting: forwardRef((() => BrnCommandGroupComponent)),
|
|
62
|
-
},
|
|
63
|
-
],
|
|
64
|
-
template: `
|
|
65
|
-
<div role="presentation" *ngIf="label" class="cmdk-group-label">
|
|
66
|
-
<ng-container *dynamicView="label"></ng-container>
|
|
67
|
-
</div>
|
|
68
|
-
<div class="cmdk-group-content" role="group" [attr.aria-label]="ariaLabel">
|
|
69
|
-
<ng-content></ng-content>
|
|
70
|
-
</div>
|
|
71
|
-
`,
|
|
72
|
-
}]
|
|
73
|
-
}] });
|
|
74
47
|
|
|
75
|
-
class
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
48
|
+
class BrnCommandGroupDirective {
|
|
49
|
+
static _id = 0;
|
|
50
|
+
/** The id of the command list */
|
|
51
|
+
id = input(`brn-command-group-${BrnCommandGroupDirective._id++}`);
|
|
52
|
+
/** Get the items in the group */
|
|
53
|
+
_items = contentChildren(BrnCommandItemToken, {
|
|
54
|
+
descendants: true,
|
|
55
|
+
});
|
|
56
|
+
/** Determine if there are any visible items in the group */
|
|
57
|
+
visible = computed(() => this._items().some((item) => item.visible()));
|
|
58
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
59
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.2.5", type: BrnCommandGroupDirective, isStandalone: true, selector: "[brnCommandGroup]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "group" }, properties: { "attr.data-hidden": "!visible() ? \"\" : null", "id": "id()" } }, queries: [{ propertyName: "_items", predicate: BrnCommandItemToken, descendants: true, isSignal: true }], ngImport: i0 });
|
|
83
60
|
}
|
|
84
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type:
|
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandGroupDirective, decorators: [{
|
|
85
62
|
type: Directive,
|
|
86
63
|
args: [{
|
|
87
|
-
selector: '
|
|
64
|
+
selector: '[brnCommandGroup]',
|
|
88
65
|
standalone: true,
|
|
89
|
-
providers: [
|
|
90
|
-
{
|
|
91
|
-
provide: InputDirective,
|
|
92
|
-
useExisting: forwardRef((() => BrnCommandInputDirective)),
|
|
93
|
-
},
|
|
94
|
-
],
|
|
95
66
|
host: {
|
|
96
|
-
|
|
67
|
+
role: 'group',
|
|
68
|
+
'[attr.data-hidden]': '!visible() ? "" : null',
|
|
69
|
+
'[id]': 'id()',
|
|
97
70
|
},
|
|
98
71
|
}]
|
|
99
72
|
}] });
|
|
100
73
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
74
|
+
class BrnCommandItemDirective {
|
|
75
|
+
static _id = 0;
|
|
76
|
+
_platform = inject(PLATFORM_ID);
|
|
77
|
+
_elementRef = inject(ElementRef);
|
|
78
|
+
/** Access the command component */
|
|
79
|
+
_command = injectBrnCommand();
|
|
80
|
+
/** A unique id for the item */
|
|
81
|
+
id = input(`brn-command-item-${BrnCommandItemDirective._id++}`);
|
|
82
|
+
/** The value this item represents. */
|
|
83
|
+
value = input.required();
|
|
84
|
+
/** Whether the item is disabled. */
|
|
85
|
+
_disabled = input(false, {
|
|
86
|
+
alias: 'disabled',
|
|
87
|
+
transform: booleanAttribute,
|
|
88
|
+
});
|
|
89
|
+
/** Expose disabled as a value - used by the Highlightable interface */
|
|
90
|
+
get disabled() {
|
|
91
|
+
return this._disabled();
|
|
92
|
+
}
|
|
93
|
+
/** Whether the item is selected. */
|
|
94
|
+
active = signal(false);
|
|
95
|
+
/** Emits when the item is selected. */
|
|
96
|
+
selected = output();
|
|
97
|
+
/** @internal Determine if this item is visible based on the current search query */
|
|
98
|
+
visible = computed(() => this._command.filter()(this.value(), this._command.search()));
|
|
99
|
+
/** @internal Get the display value */
|
|
100
|
+
getLabel() {
|
|
101
|
+
return this.value();
|
|
102
|
+
}
|
|
103
|
+
/** @internal */
|
|
104
|
+
setActiveStyles() {
|
|
105
|
+
this.active.set(true);
|
|
106
|
+
// ensure the item is in view
|
|
107
|
+
if (isPlatformBrowser(this._platform)) {
|
|
108
|
+
this._elementRef.nativeElement.scrollIntoView({ block: 'nearest' });
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
/** @internal */
|
|
112
|
+
setInactiveStyles() {
|
|
113
|
+
this.active.set(false);
|
|
114
|
+
}
|
|
115
|
+
onClick() {
|
|
116
|
+
this._command.keyManager.setActiveItem(this);
|
|
117
|
+
this.selected.emit();
|
|
118
|
+
}
|
|
119
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
120
|
+
/** @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
|
+
}
|
|
113
122
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandItemDirective, decorators: [{
|
|
114
123
|
type: Directive,
|
|
115
124
|
args: [{
|
|
116
|
-
selector: '[
|
|
125
|
+
selector: 'button[brnCommandItem]',
|
|
117
126
|
standalone: true,
|
|
118
|
-
providers: [
|
|
119
|
-
{
|
|
120
|
-
provide: ItemDirective,
|
|
121
|
-
useExisting: forwardRef((() => BrnCommandItemDirective)),
|
|
122
|
-
},
|
|
123
|
-
],
|
|
127
|
+
providers: [provideBrnCommandItem(BrnCommandItemDirective)],
|
|
124
128
|
host: {
|
|
125
|
-
|
|
126
|
-
|
|
129
|
+
type: 'button',
|
|
130
|
+
role: 'option',
|
|
131
|
+
tabIndex: '-1',
|
|
132
|
+
'[id]': 'id()',
|
|
133
|
+
'[attr.disabled]': '_disabled() ? true : null',
|
|
134
|
+
'[attr.data-value]': 'value()',
|
|
135
|
+
'[attr.data-hidden]': "!visible() ? '' : null",
|
|
136
|
+
'[attr.aria-selected]': 'active()',
|
|
137
|
+
'[attr.data-selected]': "active() ? '' : null",
|
|
127
138
|
},
|
|
128
139
|
}]
|
|
129
|
-
}]
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: BrnCommandListComponent, isStandalone: true, selector: "brn-cmd-list", providers: [
|
|
134
|
-
{
|
|
135
|
-
provide: ListComponent,
|
|
136
|
-
useExisting: forwardRef((() => BrnCommandListComponent)),
|
|
137
|
-
},
|
|
138
|
-
], usesInheritance: true, ngImport: i0, template: `
|
|
139
|
-
<div class="cmdk-list-content" role="listbox" [attr.aria-label]="ariaLabel" #height>
|
|
140
|
-
<ng-content></ng-content>
|
|
141
|
-
</div>
|
|
142
|
-
`, isInline: true });
|
|
143
|
-
}
|
|
144
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandListComponent, decorators: [{
|
|
145
|
-
type: Component,
|
|
146
|
-
args: [{
|
|
147
|
-
selector: 'brn-cmd-list',
|
|
148
|
-
standalone: true,
|
|
149
|
-
providers: [
|
|
150
|
-
{
|
|
151
|
-
provide: ListComponent,
|
|
152
|
-
useExisting: forwardRef((() => BrnCommandListComponent)),
|
|
153
|
-
},
|
|
154
|
-
],
|
|
155
|
-
template: `
|
|
156
|
-
<div class="cmdk-list-content" role="listbox" [attr.aria-label]="ariaLabel" #height>
|
|
157
|
-
<ng-content></ng-content>
|
|
158
|
-
</div>
|
|
159
|
-
`,
|
|
160
|
-
}]
|
|
161
|
-
}] });
|
|
140
|
+
}], propDecorators: { onClick: [{
|
|
141
|
+
type: HostListener,
|
|
142
|
+
args: ['click']
|
|
143
|
+
}] } });
|
|
162
144
|
|
|
163
|
-
class
|
|
164
|
-
|
|
165
|
-
/**
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
},
|
|
170
|
-
], usesInheritance: true, ngImport: i0 });
|
|
145
|
+
class BrnCommandListDirective {
|
|
146
|
+
static _id = 0;
|
|
147
|
+
/** The id of the command list */
|
|
148
|
+
id = input(`brn-command-list-${BrnCommandListDirective._id++}`);
|
|
149
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandListDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
150
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.5", type: BrnCommandListDirective, isStandalone: true, selector: "[brnCommandList]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "listbox" }, properties: { "id": "id()" } }, ngImport: i0 });
|
|
171
151
|
}
|
|
172
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type:
|
|
152
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandListDirective, decorators: [{
|
|
173
153
|
type: Directive,
|
|
174
154
|
args: [{
|
|
175
|
-
selector: '[brnCmdLoader]',
|
|
176
155
|
standalone: true,
|
|
177
|
-
|
|
178
|
-
{
|
|
179
|
-
provide: LoaderDirective,
|
|
180
|
-
useExisting: forwardRef((() => BrnCommandLoaderDirective)),
|
|
181
|
-
},
|
|
182
|
-
],
|
|
156
|
+
selector: '[brnCommandList]',
|
|
183
157
|
host: {
|
|
184
|
-
|
|
158
|
+
role: 'listbox',
|
|
159
|
+
'[id]': 'id()',
|
|
185
160
|
},
|
|
186
161
|
}]
|
|
187
162
|
}] });
|
|
188
163
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
164
|
+
const BrnCommandSearchInputToken = new InjectionToken('BrnCommandSearchInputToken');
|
|
165
|
+
function provideBrnCommandSearchInput(command) {
|
|
166
|
+
return { provide: BrnCommandSearchInputToken, useExisting: command };
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
class BrnCommandSearchInputDirective {
|
|
170
|
+
_command = injectBrnCommand();
|
|
171
|
+
_elementRef = inject(ElementRef);
|
|
172
|
+
/** @internal Expose the current text value */
|
|
173
|
+
value = signal('');
|
|
174
|
+
/** The id of the active option */
|
|
175
|
+
_activeDescendant = signal(undefined);
|
|
176
|
+
constructor() {
|
|
177
|
+
this._command.keyManager.change
|
|
178
|
+
.pipe(startWith(this._command.keyManager.activeItemIndex), takeUntilDestroyed())
|
|
179
|
+
.subscribe(() => this._activeDescendant.set(this._command.keyManager.activeItem?.id()));
|
|
180
|
+
}
|
|
181
|
+
/** Listen for changes to the input value */
|
|
182
|
+
onInput() {
|
|
183
|
+
this.value.set(this._elementRef.nativeElement.value);
|
|
184
|
+
}
|
|
185
|
+
/** Listen for keydown events */
|
|
186
|
+
onKeyDown(event) {
|
|
187
|
+
this._command.keyManager.onKeydown(event);
|
|
188
|
+
}
|
|
189
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandSearchInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
190
|
+
/** @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 });
|
|
197
191
|
}
|
|
198
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type:
|
|
199
|
-
type:
|
|
192
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandSearchInputDirective, decorators: [{
|
|
193
|
+
type: Directive,
|
|
200
194
|
args: [{
|
|
201
|
-
selector: '
|
|
195
|
+
selector: 'input[brnCommandSearchInput]',
|
|
202
196
|
standalone: true,
|
|
203
|
-
|
|
204
|
-
providers: [
|
|
205
|
-
{
|
|
206
|
-
provide: SeparatorComponent,
|
|
207
|
-
useExisting: forwardRef((() => BrnCommandSeparatorComponent)),
|
|
208
|
-
},
|
|
209
|
-
],
|
|
197
|
+
providers: [provideBrnCommandSearchInput(BrnCommandSearchInputDirective)],
|
|
210
198
|
host: {
|
|
211
|
-
|
|
199
|
+
role: 'combobox',
|
|
200
|
+
'aria-autocomplete': 'list',
|
|
201
|
+
'[attr.aria-activedescendant]': '_activeDescendant()',
|
|
212
202
|
},
|
|
213
203
|
}]
|
|
214
|
-
}]
|
|
204
|
+
}], ctorParameters: () => [], propDecorators: { onInput: [{
|
|
205
|
+
type: HostListener,
|
|
206
|
+
args: ['input']
|
|
207
|
+
}], onKeyDown: [{
|
|
208
|
+
type: HostListener,
|
|
209
|
+
args: ['keydown', ['$event']]
|
|
210
|
+
}] } });
|
|
215
211
|
|
|
216
|
-
class
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
212
|
+
class BrnCommandDirective {
|
|
213
|
+
static _id = 0;
|
|
214
|
+
_platform = inject(PLATFORM_ID);
|
|
215
|
+
_injector = inject(Injector);
|
|
216
|
+
/** The id of the command */
|
|
217
|
+
id = input(`brn-command-${BrnCommandDirective._id++}`);
|
|
218
|
+
/** The default filter function */
|
|
219
|
+
_defaultFilter = (value, search) => value.toLowerCase().includes(search.toLowerCase());
|
|
220
|
+
/** A custom filter function to use when searching. */
|
|
221
|
+
filter = input(this._defaultFilter);
|
|
222
|
+
/** @internal The search query */
|
|
223
|
+
search = computed(() => this._searchInput()?.value() ?? '');
|
|
224
|
+
/** Access the search input if present */
|
|
225
|
+
_searchInput = contentChild(BrnCommandSearchInputDirective, {
|
|
226
|
+
descendants: true,
|
|
227
|
+
});
|
|
228
|
+
/** @internal Access all the items within the commmand */
|
|
229
|
+
items = contentChildren(BrnCommandItemToken, {
|
|
230
|
+
descendants: true,
|
|
231
|
+
});
|
|
232
|
+
/** @internal The key manager for managing active descendant */
|
|
233
|
+
keyManager = new ActiveDescendantKeyManager(this.items, this._injector);
|
|
234
|
+
constructor() {
|
|
235
|
+
this.keyManager
|
|
236
|
+
.withVerticalOrientation()
|
|
237
|
+
.withHomeAndEnd()
|
|
238
|
+
.withWrap()
|
|
239
|
+
.withTypeAhead()
|
|
240
|
+
.skipPredicate((item) => item.disabled || !item.visible());
|
|
241
|
+
}
|
|
242
|
+
ngAfterViewInit() {
|
|
243
|
+
if (isPlatformBrowser(this._platform) && this.items().length) {
|
|
244
|
+
this.keyManager.setActiveItem(0);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
selectActiveItem() {
|
|
248
|
+
this.keyManager.activeItem?.selected.emit();
|
|
249
|
+
}
|
|
250
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
251
|
+
/** @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 });
|
|
221
252
|
}
|
|
222
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type:
|
|
223
|
-
type:
|
|
253
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandDirective, decorators: [{
|
|
254
|
+
type: Directive,
|
|
224
255
|
args: [{
|
|
225
|
-
selector: '
|
|
256
|
+
selector: '[brnCommand]',
|
|
226
257
|
standalone: true,
|
|
227
|
-
providers: [
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
258
|
+
providers: [provideBrnCommand(BrnCommandDirective)],
|
|
259
|
+
host: {
|
|
260
|
+
'[id]': 'id()',
|
|
261
|
+
},
|
|
231
262
|
}]
|
|
232
|
-
}]
|
|
263
|
+
}], ctorParameters: () => [], propDecorators: { selectActiveItem: [{
|
|
264
|
+
type: HostListener,
|
|
265
|
+
args: ['keydown.enter']
|
|
266
|
+
}] } });
|
|
233
267
|
|
|
234
268
|
const BrnCommandImports = [
|
|
235
|
-
CmdkModule,
|
|
236
|
-
BrnCommandComponent,
|
|
237
269
|
BrnCommandEmptyDirective,
|
|
238
|
-
|
|
239
|
-
BrnCommandInputDirective,
|
|
270
|
+
BrnCommandGroupDirective,
|
|
240
271
|
BrnCommandItemDirective,
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
BrnCommandSeparatorComponent,
|
|
272
|
+
BrnCommandListDirective,
|
|
273
|
+
BrnCommandSearchInputDirective,
|
|
274
|
+
BrnCommandDirective,
|
|
245
275
|
];
|
|
246
276
|
class BrnCommandModule {
|
|
247
277
|
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
248
|
-
/** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandModule, imports: [
|
|
249
|
-
|
|
250
|
-
BrnCommandEmptyDirective,
|
|
251
|
-
BrnCommandGroupComponent,
|
|
252
|
-
BrnCommandInputDirective,
|
|
278
|
+
/** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandModule, imports: [BrnCommandEmptyDirective,
|
|
279
|
+
BrnCommandGroupDirective,
|
|
253
280
|
BrnCommandItemDirective,
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
BrnCommandComponent,
|
|
259
|
-
BrnCommandEmptyDirective,
|
|
260
|
-
BrnCommandGroupComponent,
|
|
261
|
-
BrnCommandInputDirective,
|
|
281
|
+
BrnCommandListDirective,
|
|
282
|
+
BrnCommandSearchInputDirective,
|
|
283
|
+
BrnCommandDirective], exports: [BrnCommandEmptyDirective,
|
|
284
|
+
BrnCommandGroupDirective,
|
|
262
285
|
BrnCommandItemDirective,
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
/** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandModule, imports: [CmdkModule,
|
|
268
|
-
BrnCommandGroupComponent,
|
|
269
|
-
CmdkModule] });
|
|
286
|
+
BrnCommandListDirective,
|
|
287
|
+
BrnCommandSearchInputDirective,
|
|
288
|
+
BrnCommandDirective] });
|
|
289
|
+
/** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandModule });
|
|
270
290
|
}
|
|
271
291
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandModule, decorators: [{
|
|
272
292
|
type: NgModule,
|
|
@@ -280,5 +300,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
280
300
|
* Generated bundle index. Do not edit.
|
|
281
301
|
*/
|
|
282
302
|
|
|
283
|
-
export {
|
|
303
|
+
export { BrnCommandDirective, BrnCommandEmptyDirective, BrnCommandGroupDirective, BrnCommandImports, BrnCommandItemDirective, BrnCommandItemToken, BrnCommandListDirective, BrnCommandModule, BrnCommandSearchInputDirective, BrnCommandSearchInputToken, BrnCommandToken, injectBrnCommand, provideBrnCommand, provideBrnCommandItem, provideBrnCommandSearchInput };
|
|
284
304
|
//# sourceMappingURL=spartan-ng-brain-command.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spartan-ng-brain-command.mjs","sources":["../../../../libs/brain/command/src/lib/brn-command-empty.directive.ts","../../../../libs/brain/command/src/lib/brn-command-group.component.ts","../../../../libs/brain/command/src/lib/brn-command-input.directive.ts","../../../../libs/brain/command/src/lib/brn-command-item.directive.ts","../../../../libs/brain/command/src/lib/brn-command-list.component.ts","../../../../libs/brain/command/src/lib/brn-command-loader.directive.ts","../../../../libs/brain/command/src/lib/brn-command-separator.component.ts","../../../../libs/brain/command/src/lib/brn-command.component.ts","../../../../libs/brain/command/src/index.ts","../../../../libs/brain/command/src/spartan-ng-brain-command.ts"],"sourcesContent":["import { Directive, forwardRef } from '@angular/core';\nimport { EmptyDirective } from '@ngxpert/cmdk';\n\n@Directive({\n\tselector: '[brnCmdEmpty]',\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: EmptyDirective,\n\t\t\tuseExisting: forwardRef(() => BrnCommandEmptyDirective),\n\t\t},\n\t],\n\thost: {\n\t\tclass: 'cmdk-empty',\n\t},\n})\nexport class BrnCommandEmptyDirective extends EmptyDirective {}\n","import { NgIf } from '@angular/common';\nimport { Component, forwardRef } from '@angular/core';\nimport { DynamicViewModule } from '@ngneat/overview';\nimport { GroupComponent } from '@ngxpert/cmdk';\n\n@Component({\n\tselector: 'brn-cmd-group',\n\tstandalone: true,\n\timports: [NgIf, DynamicViewModule],\n\tproviders: [\n\t\t{\n\t\t\tprovide: GroupComponent,\n\t\t\tuseExisting: forwardRef(() => BrnCommandGroupComponent),\n\t\t},\n\t],\n\ttemplate: `\n\t\t<div role=\"presentation\" *ngIf=\"label\" class=\"cmdk-group-label\">\n\t\t\t<ng-container *dynamicView=\"label\"></ng-container>\n\t\t</div>\n\t\t<div class=\"cmdk-group-content\" role=\"group\" [attr.aria-label]=\"ariaLabel\">\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t`,\n})\nexport class BrnCommandGroupComponent extends GroupComponent {}\n","import { Directive, forwardRef } from '@angular/core';\nimport { InputDirective } from '@ngxpert/cmdk';\n\n@Directive({\n\tselector: 'input[brnCmdInput]',\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: InputDirective,\n\t\t\tuseExisting: forwardRef(() => BrnCommandInputDirective),\n\t\t},\n\t],\n\thost: {\n\t\tclass: 'cmdk-input',\n\t},\n})\nexport class BrnCommandInputDirective extends InputDirective {}\n","import { Directive, forwardRef } from '@angular/core';\nimport { UntilDestroy } from '@ngneat/until-destroy';\nimport { ItemDirective } from '@ngxpert/cmdk';\n\n@UntilDestroy()\n@Directive({\n\tselector: '[brnCmdItem]',\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ItemDirective,\n\t\t\tuseExisting: forwardRef(() => BrnCommandItemDirective),\n\t\t},\n\t],\n\thost: {\n\t\ttabindex: '-1',\n\t\tclass: 'cmdk-item',\n\t},\n})\nexport class BrnCommandItemDirective extends ItemDirective {}\n","import { Component, forwardRef } from '@angular/core';\nimport { ListComponent } from '@ngxpert/cmdk';\n\n@Component({\n\tselector: 'brn-cmd-list',\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ListComponent,\n\t\t\tuseExisting: forwardRef(() => BrnCommandListComponent),\n\t\t},\n\t],\n\ttemplate: `\n\t\t<div class=\"cmdk-list-content\" role=\"listbox\" [attr.aria-label]=\"ariaLabel\" #height>\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t`,\n})\nexport class BrnCommandListComponent extends ListComponent {}\n","import { Directive, forwardRef } from '@angular/core';\nimport { LoaderDirective } from '@ngxpert/cmdk';\n\n@Directive({\n\tselector: '[brnCmdLoader]',\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: LoaderDirective,\n\t\t\tuseExisting: forwardRef(() => BrnCommandLoaderDirective),\n\t\t},\n\t],\n\thost: {\n\t\tclass: 'cmdk-loader',\n\t},\n})\nexport class BrnCommandLoaderDirective extends LoaderDirective {}\n","import { Component, forwardRef } from '@angular/core';\nimport { SeparatorComponent } from '@ngxpert/cmdk';\n\n@Component({\n\tselector: 'brn-cmd-separator',\n\tstandalone: true,\n\ttemplate: '<hr>',\n\tproviders: [\n\t\t{\n\t\t\tprovide: SeparatorComponent,\n\t\t\tuseExisting: forwardRef(() => BrnCommandSeparatorComponent),\n\t\t},\n\t],\n\thost: {\n\t\tclass: 'cmdk-separator',\n\t},\n})\nexport class BrnCommandSeparatorComponent extends SeparatorComponent {}\n","import { Component } from '@angular/core';\nimport { CmdkService, CommandComponent } from '@ngxpert/cmdk';\n\n@Component({\n\tselector: 'brn-cmd',\n\tstandalone: true,\n\tproviders: [CmdkService],\n\ttemplate: `\n\t\t<ng-content />\n\t`,\n})\nexport class BrnCommandComponent extends CommandComponent {}\n","import { NgModule } from '@angular/core';\n\nimport { CmdkModule } from '@ngxpert/cmdk';\nimport { BrnCommandEmptyDirective } from './lib/brn-command-empty.directive';\nimport { BrnCommandGroupComponent } from './lib/brn-command-group.component';\nimport { BrnCommandInputDirective } from './lib/brn-command-input.directive';\nimport { BrnCommandItemDirective } from './lib/brn-command-item.directive';\nimport { BrnCommandListComponent } from './lib/brn-command-list.component';\nimport { BrnCommandLoaderDirective } from './lib/brn-command-loader.directive';\nimport { BrnCommandSeparatorComponent } from './lib/brn-command-separator.component';\nimport { BrnCommandComponent } from './lib/brn-command.component';\n\nexport * from './lib/brn-command-empty.directive';\nexport * from './lib/brn-command-group.component';\nexport * from './lib/brn-command-input.directive';\nexport * from './lib/brn-command-item.directive';\nexport * from './lib/brn-command-list.component';\nexport * from './lib/brn-command-loader.directive';\nexport * from './lib/brn-command-separator.component';\nexport * from './lib/brn-command.component';\n\nexport const BrnCommandImports = [\n\tCmdkModule,\n\tBrnCommandComponent,\n\tBrnCommandEmptyDirective,\n\tBrnCommandGroupComponent,\n\tBrnCommandInputDirective,\n\tBrnCommandItemDirective,\n\tBrnCommandListComponent,\n\tBrnCommandLoaderDirective,\n\tBrnCommandSeparatorComponent,\n\tBrnCommandSeparatorComponent,\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\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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"}
|