@spartan-ng/brain 0.0.1-alpha.396 → 0.0.1-alpha.398

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.
Files changed (35) hide show
  1. package/command/index.d.ts +19 -24
  2. package/command/lib/brn-command-empty.directive.d.ts +8 -3
  3. package/command/lib/brn-command-group.directive.d.ts +12 -0
  4. package/command/lib/brn-command-item.directive.d.ts +30 -3
  5. package/command/lib/brn-command-item.token.d.ts +4 -0
  6. package/command/lib/brn-command-list.directive.d.ts +8 -0
  7. package/command/lib/brn-command-search-input.directive.d.ts +16 -0
  8. package/command/lib/brn-command-search-input.token.d.ts +4 -0
  9. package/command/lib/brn-command.directive.d.ts +28 -0
  10. package/command/lib/brn-command.token.d.ts +5 -0
  11. package/esm2022/command/index.mjs +26 -42
  12. package/esm2022/command/lib/brn-command-empty.directive.mjs +23 -22
  13. package/esm2022/command/lib/brn-command-group.directive.mjs +29 -0
  14. package/esm2022/command/lib/brn-command-item.directive.mjs +68 -28
  15. package/esm2022/command/lib/brn-command-item.token.mjs +6 -0
  16. package/esm2022/command/lib/brn-command-list.directive.mjs +21 -0
  17. package/esm2022/command/lib/brn-command-search-input.directive.mjs +49 -0
  18. package/esm2022/command/lib/brn-command-search-input.token.mjs +6 -0
  19. package/esm2022/command/lib/brn-command.directive.mjs +63 -0
  20. package/esm2022/command/lib/brn-command.token.mjs +9 -0
  21. package/fesm2022/spartan-ng-brain-command.mjs +233 -213
  22. package/fesm2022/spartan-ng-brain-command.mjs.map +1 -1
  23. package/package.json +7 -19
  24. package/command/lib/brn-command-group.component.d.ts +0 -6
  25. package/command/lib/brn-command-input.directive.d.ts +0 -6
  26. package/command/lib/brn-command-list.component.d.ts +0 -6
  27. package/command/lib/brn-command-loader.directive.d.ts +0 -6
  28. package/command/lib/brn-command-separator.component.d.ts +0 -6
  29. package/command/lib/brn-command.component.d.ts +0 -6
  30. package/esm2022/command/lib/brn-command-group.component.mjs +0 -45
  31. package/esm2022/command/lib/brn-command-input.directive.mjs +0 -29
  32. package/esm2022/command/lib/brn-command-list.component.mjs +0 -35
  33. package/esm2022/command/lib/brn-command-loader.directive.mjs +0 -29
  34. package/esm2022/command/lib/brn-command-separator.component.mjs +0 -30
  35. package/esm2022/command/lib/brn-command.component.mjs +0 -21
@@ -1,33 +1,28 @@
1
- import { CmdkModule } from '@ngxpert/cmdk';
2
1
  import { BrnCommandEmptyDirective } from './lib/brn-command-empty.directive';
3
- import { BrnCommandGroupComponent } from './lib/brn-command-group.component';
4
- import { BrnCommandInputDirective } from './lib/brn-command-input.directive';
2
+ import { BrnCommandGroupDirective } from './lib/brn-command-group.directive';
5
3
  import { BrnCommandItemDirective } from './lib/brn-command-item.directive';
6
- import { BrnCommandListComponent } from './lib/brn-command-list.component';
7
- import { BrnCommandLoaderDirective } from './lib/brn-command-loader.directive';
8
- import { BrnCommandSeparatorComponent } from './lib/brn-command-separator.component';
9
- import { BrnCommandComponent } from './lib/brn-command.component';
4
+ import { BrnCommandListDirective } from './lib/brn-command-list.directive';
5
+ import { BrnCommandSearchInputDirective } from './lib/brn-command-search-input.directive';
6
+ import { BrnCommandDirective } from './lib/brn-command.directive';
10
7
  import * as i0 from "@angular/core";
11
- import * as i1 from "@ngxpert/cmdk";
12
- import * as i2 from "./lib/brn-command.component";
13
- import * as i3 from "./lib/brn-command-empty.directive";
14
- import * as i4 from "./lib/brn-command-group.component";
15
- import * as i5 from "./lib/brn-command-input.directive";
16
- import * as i6 from "./lib/brn-command-item.directive";
17
- import * as i7 from "./lib/brn-command-list.component";
18
- import * as i8 from "./lib/brn-command-loader.directive";
19
- import * as i9 from "./lib/brn-command-separator.component";
8
+ import * as i1 from "./lib/brn-command-empty.directive";
9
+ import * as i2 from "./lib/brn-command-group.directive";
10
+ import * as i3 from "./lib/brn-command-item.directive";
11
+ import * as i4 from "./lib/brn-command-list.directive";
12
+ import * as i5 from "./lib/brn-command-search-input.directive";
13
+ import * as i6 from "./lib/brn-command.directive";
20
14
  export * from './lib/brn-command-empty.directive';
21
- export * from './lib/brn-command-group.component';
22
- export * from './lib/brn-command-input.directive';
15
+ export * from './lib/brn-command-group.directive';
23
16
  export * from './lib/brn-command-item.directive';
24
- export * from './lib/brn-command-list.component';
25
- export * from './lib/brn-command-loader.directive';
26
- export * from './lib/brn-command-separator.component';
27
- export * from './lib/brn-command.component';
28
- export declare const BrnCommandImports: readonly [typeof CmdkModule, typeof BrnCommandComponent, typeof BrnCommandEmptyDirective, typeof BrnCommandGroupComponent, typeof BrnCommandInputDirective, typeof BrnCommandItemDirective, typeof BrnCommandListComponent, typeof BrnCommandLoaderDirective, typeof BrnCommandSeparatorComponent, typeof BrnCommandSeparatorComponent];
17
+ export * from './lib/brn-command-item.token';
18
+ export * from './lib/brn-command-list.directive';
19
+ export * from './lib/brn-command-search-input.directive';
20
+ export * from './lib/brn-command-search-input.token';
21
+ export * from './lib/brn-command.directive';
22
+ export * from './lib/brn-command.token';
23
+ export declare const BrnCommandImports: readonly [typeof BrnCommandEmptyDirective, typeof BrnCommandGroupDirective, typeof BrnCommandItemDirective, typeof BrnCommandListDirective, typeof BrnCommandSearchInputDirective, typeof BrnCommandDirective];
29
24
  export declare class BrnCommandModule {
30
25
  static ɵfac: i0.ɵɵFactoryDeclaration<BrnCommandModule, never>;
31
- static ɵmod: i0.ɵɵNgModuleDeclaration<BrnCommandModule, never, [typeof i1.CmdkModule, typeof i2.BrnCommandComponent, typeof i3.BrnCommandEmptyDirective, typeof i4.BrnCommandGroupComponent, typeof i5.BrnCommandInputDirective, typeof i6.BrnCommandItemDirective, typeof i7.BrnCommandListComponent, typeof i8.BrnCommandLoaderDirective, typeof i9.BrnCommandSeparatorComponent, typeof i9.BrnCommandSeparatorComponent], [typeof i1.CmdkModule, typeof i2.BrnCommandComponent, typeof i3.BrnCommandEmptyDirective, typeof i4.BrnCommandGroupComponent, typeof i5.BrnCommandInputDirective, typeof i6.BrnCommandItemDirective, typeof i7.BrnCommandListComponent, typeof i8.BrnCommandLoaderDirective, typeof i9.BrnCommandSeparatorComponent, typeof i9.BrnCommandSeparatorComponent]>;
26
+ static ɵmod: i0.ɵɵNgModuleDeclaration<BrnCommandModule, never, [typeof i1.BrnCommandEmptyDirective, typeof i2.BrnCommandGroupDirective, typeof i3.BrnCommandItemDirective, typeof i4.BrnCommandListDirective, typeof i5.BrnCommandSearchInputDirective, typeof i6.BrnCommandDirective], [typeof i1.BrnCommandEmptyDirective, typeof i2.BrnCommandGroupDirective, typeof i3.BrnCommandItemDirective, typeof i4.BrnCommandListDirective, typeof i5.BrnCommandSearchInputDirective, typeof i6.BrnCommandDirective]>;
32
27
  static ɵinj: i0.ɵɵInjectorDeclaration<BrnCommandModule>;
33
28
  }
@@ -1,6 +1,11 @@
1
- import { EmptyDirective } from '@ngxpert/cmdk';
2
1
  import * as i0 from "@angular/core";
3
- export declare class BrnCommandEmptyDirective extends EmptyDirective {
2
+ export declare class BrnCommandEmptyDirective {
3
+ private readonly _templateRef;
4
+ private readonly _viewContainerRef;
5
+ private readonly _command;
6
+ /** Determine if the command has any visible items */
7
+ private readonly _visible;
8
+ constructor();
4
9
  static ɵfac: i0.ɵɵFactoryDeclaration<BrnCommandEmptyDirective, never>;
5
- static ɵdir: i0.ɵɵDirectiveDeclaration<BrnCommandEmptyDirective, "[brnCmdEmpty]", never, {}, {}, never, never, true, never>;
10
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BrnCommandEmptyDirective, "[brnCommandEmpty]", never, {}, {}, never, never, true, never>;
6
11
  }
@@ -0,0 +1,12 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class BrnCommandGroupDirective {
3
+ private static _id;
4
+ /** The id of the command list */
5
+ readonly id: import("@angular/core").InputSignal<string>;
6
+ /** Get the items in the group */
7
+ private readonly _items;
8
+ /** Determine if there are any visible items in the group */
9
+ protected readonly visible: import("@angular/core").Signal<boolean>;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<BrnCommandGroupDirective, never>;
11
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BrnCommandGroupDirective, "[brnCommandGroup]", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; }, {}, ["_items"], never, true, never>;
12
+ }
@@ -1,6 +1,33 @@
1
- import { ItemDirective } from '@ngxpert/cmdk';
1
+ import { Highlightable } from '@angular/cdk/a11y';
2
+ import { BooleanInput } from '@angular/cdk/coercion';
2
3
  import * as i0 from "@angular/core";
3
- export declare class BrnCommandItemDirective extends ItemDirective {
4
+ export declare class BrnCommandItemDirective implements Highlightable {
5
+ private static _id;
6
+ private readonly _platform;
7
+ private readonly _elementRef;
8
+ /** Access the command component */
9
+ private readonly _command;
10
+ /** A unique id for the item */
11
+ readonly id: import("@angular/core").InputSignal<string>;
12
+ /** The value this item represents. */
13
+ readonly value: import("@angular/core").InputSignal<string>;
14
+ /** Whether the item is disabled. */
15
+ readonly _disabled: import("@angular/core").InputSignalWithTransform<boolean, BooleanInput>;
16
+ /** Expose disabled as a value - used by the Highlightable interface */
17
+ get disabled(): boolean;
18
+ /** Whether the item is selected. */
19
+ protected readonly active: import("@angular/core").WritableSignal<boolean>;
20
+ /** Emits when the item is selected. */
21
+ readonly selected: import("@angular/core").OutputEmitterRef<void>;
22
+ /** @internal Determine if this item is visible based on the current search query */
23
+ readonly visible: import("@angular/core").Signal<boolean>;
24
+ /** @internal Get the display value */
25
+ getLabel(): string;
26
+ /** @internal */
27
+ setActiveStyles(): void;
28
+ /** @internal */
29
+ setInactiveStyles(): void;
30
+ protected onClick(): void;
4
31
  static ɵfac: i0.ɵɵFactoryDeclaration<BrnCommandItemDirective, never>;
5
- static ɵdir: i0.ɵɵDirectiveDeclaration<BrnCommandItemDirective, "[brnCmdItem]", never, {}, {}, never, never, true, never>;
32
+ 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>;
6
33
  }
@@ -0,0 +1,4 @@
1
+ import { ExistingProvider, InjectionToken, Type } from '@angular/core';
2
+ import type { BrnCommandItemDirective } from './brn-command-item.directive';
3
+ export declare const BrnCommandItemToken: InjectionToken<BrnCommandItemDirective>;
4
+ export declare function provideBrnCommandItem(command: Type<BrnCommandItemDirective>): ExistingProvider;
@@ -0,0 +1,8 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class BrnCommandListDirective {
3
+ private static _id;
4
+ /** The id of the command list */
5
+ readonly id: import("@angular/core").InputSignal<string>;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<BrnCommandListDirective, never>;
7
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BrnCommandListDirective, "[brnCommandList]", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
8
+ }
@@ -0,0 +1,16 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class BrnCommandSearchInputDirective {
3
+ private readonly _command;
4
+ private readonly _elementRef;
5
+ /** @internal Expose the current text value */
6
+ readonly value: import("@angular/core").WritableSignal<string>;
7
+ /** The id of the active option */
8
+ protected readonly _activeDescendant: import("@angular/core").WritableSignal<string | undefined>;
9
+ constructor();
10
+ /** Listen for changes to the input value */
11
+ protected onInput(): void;
12
+ /** Listen for keydown events */
13
+ protected onKeyDown(event: KeyboardEvent): void;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<BrnCommandSearchInputDirective, never>;
15
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BrnCommandSearchInputDirective, "input[brnCommandSearchInput]", never, {}, {}, never, never, true, never>;
16
+ }
@@ -0,0 +1,4 @@
1
+ import { ExistingProvider, InjectionToken, Type } from '@angular/core';
2
+ import type { BrnCommandSearchInputDirective } from './brn-command-search-input.directive';
3
+ export declare const BrnCommandSearchInputToken: InjectionToken<BrnCommandSearchInputDirective>;
4
+ export declare function provideBrnCommandSearchInput(command: Type<BrnCommandSearchInputDirective>): ExistingProvider;
@@ -0,0 +1,28 @@
1
+ import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';
2
+ import { AfterViewInit } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ export declare class BrnCommandDirective implements AfterViewInit {
5
+ private static _id;
6
+ private readonly _platform;
7
+ private readonly _injector;
8
+ /** The id of the command */
9
+ readonly id: import("@angular/core").InputSignal<string>;
10
+ /** The default filter function */
11
+ private readonly _defaultFilter;
12
+ /** A custom filter function to use when searching. */
13
+ readonly filter: import("@angular/core").InputSignal<CommandFilter>;
14
+ /** @internal The search query */
15
+ readonly search: import("@angular/core").Signal<string>;
16
+ /** Access the search input if present */
17
+ private readonly _searchInput;
18
+ /** @internal Access all the items within the commmand */
19
+ readonly items: import("@angular/core").Signal<readonly import("@spartan-ng/brain/command").BrnCommandItemDirective[]>;
20
+ /** @internal The key manager for managing active descendant */
21
+ readonly keyManager: ActiveDescendantKeyManager<import("@spartan-ng/brain/command").BrnCommandItemDirective>;
22
+ constructor();
23
+ ngAfterViewInit(): void;
24
+ protected selectActiveItem(): void;
25
+ 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>;
27
+ }
28
+ export type CommandFilter = (value: string, search: string) => boolean;
@@ -0,0 +1,5 @@
1
+ import { ExistingProvider, InjectionToken, Type } from '@angular/core';
2
+ import type { BrnCommandDirective } from './brn-command.directive';
3
+ export declare const BrnCommandToken: InjectionToken<BrnCommandDirective>;
4
+ export declare function provideBrnCommand(command: Type<BrnCommandDirective>): ExistingProvider;
5
+ export declare function injectBrnCommand(): BrnCommandDirective;
@@ -1,58 +1,42 @@
1
1
  import { NgModule } from '@angular/core';
2
- import { CmdkModule } from '@ngxpert/cmdk';
3
2
  import { BrnCommandEmptyDirective } from './lib/brn-command-empty.directive';
4
- import { BrnCommandGroupComponent } from './lib/brn-command-group.component';
5
- import { BrnCommandInputDirective } from './lib/brn-command-input.directive';
3
+ import { BrnCommandGroupDirective } from './lib/brn-command-group.directive';
6
4
  import { BrnCommandItemDirective } from './lib/brn-command-item.directive';
7
- import { BrnCommandListComponent } from './lib/brn-command-list.component';
8
- import { BrnCommandLoaderDirective } from './lib/brn-command-loader.directive';
9
- import { BrnCommandSeparatorComponent } from './lib/brn-command-separator.component';
10
- import { BrnCommandComponent } from './lib/brn-command.component';
5
+ import { BrnCommandListDirective } from './lib/brn-command-list.directive';
6
+ import { BrnCommandSearchInputDirective } from './lib/brn-command-search-input.directive';
7
+ import { BrnCommandDirective } from './lib/brn-command.directive';
11
8
  import * as i0 from "@angular/core";
12
9
  export * from './lib/brn-command-empty.directive';
13
- export * from './lib/brn-command-group.component';
14
- export * from './lib/brn-command-input.directive';
10
+ export * from './lib/brn-command-group.directive';
15
11
  export * from './lib/brn-command-item.directive';
16
- export * from './lib/brn-command-list.component';
17
- export * from './lib/brn-command-loader.directive';
18
- export * from './lib/brn-command-separator.component';
19
- export * from './lib/brn-command.component';
12
+ export * from './lib/brn-command-item.token';
13
+ export * from './lib/brn-command-list.directive';
14
+ export * from './lib/brn-command-search-input.directive';
15
+ export * from './lib/brn-command-search-input.token';
16
+ export * from './lib/brn-command.directive';
17
+ export * from './lib/brn-command.token';
20
18
  export const BrnCommandImports = [
21
- CmdkModule,
22
- BrnCommandComponent,
23
19
  BrnCommandEmptyDirective,
24
- BrnCommandGroupComponent,
25
- BrnCommandInputDirective,
20
+ BrnCommandGroupDirective,
26
21
  BrnCommandItemDirective,
27
- BrnCommandListComponent,
28
- BrnCommandLoaderDirective,
29
- BrnCommandSeparatorComponent,
30
- BrnCommandSeparatorComponent,
22
+ BrnCommandListDirective,
23
+ BrnCommandSearchInputDirective,
24
+ BrnCommandDirective,
31
25
  ];
32
26
  export class BrnCommandModule {
33
27
  /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
34
- /** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandModule, imports: [CmdkModule,
35
- BrnCommandComponent,
36
- BrnCommandEmptyDirective,
37
- BrnCommandGroupComponent,
38
- BrnCommandInputDirective,
28
+ /** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandModule, imports: [BrnCommandEmptyDirective,
29
+ BrnCommandGroupDirective,
39
30
  BrnCommandItemDirective,
40
- BrnCommandListComponent,
41
- BrnCommandLoaderDirective,
42
- BrnCommandSeparatorComponent,
43
- BrnCommandSeparatorComponent], exports: [CmdkModule,
44
- BrnCommandComponent,
45
- BrnCommandEmptyDirective,
46
- BrnCommandGroupComponent,
47
- BrnCommandInputDirective,
31
+ BrnCommandListDirective,
32
+ BrnCommandSearchInputDirective,
33
+ BrnCommandDirective], exports: [BrnCommandEmptyDirective,
34
+ BrnCommandGroupDirective,
48
35
  BrnCommandItemDirective,
49
- BrnCommandListComponent,
50
- BrnCommandLoaderDirective,
51
- BrnCommandSeparatorComponent,
52
- BrnCommandSeparatorComponent] });
53
- /** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandModule, imports: [CmdkModule,
54
- BrnCommandGroupComponent,
55
- CmdkModule] });
36
+ BrnCommandListDirective,
37
+ BrnCommandSearchInputDirective,
38
+ BrnCommandDirective] });
39
+ /** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandModule });
56
40
  }
57
41
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandModule, decorators: [{
58
42
  type: NgModule,
@@ -61,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
61
45
  exports: [...BrnCommandImports],
62
46
  }]
63
47
  }] });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2NvbW1hbmQvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNyRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFFbEUsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDZCQUE2QixDQUFDO0FBRTVDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQ2hDLFVBQVU7SUFDVixtQkFBbUI7SUFDbkIsd0JBQXdCO0lBQ3hCLHdCQUF3QjtJQUN4Qix3QkFBd0I7SUFDeEIsdUJBQXVCO0lBQ3ZCLHVCQUF1QjtJQUN2Qix5QkFBeUI7SUFDekIsNEJBQTRCO0lBQzVCLDRCQUE0QjtDQUNuQixDQUFDO0FBTVgsTUFBTSxPQUFPLGdCQUFnQjswSEFBaEIsZ0JBQWdCOzJIQUFoQixnQkFBZ0IsWUFoQjVCLFVBQVU7WUFDVixtQkFBbUI7WUFDbkIsd0JBQXdCO1lBQ3hCLHdCQUF3QjtZQUN4Qix3QkFBd0I7WUFDeEIsdUJBQXVCO1lBQ3ZCLHVCQUF1QjtZQUN2Qix5QkFBeUI7WUFDekIsNEJBQTRCO1lBQzVCLDRCQUE0QixhQVQ1QixVQUFVO1lBQ1YsbUJBQW1CO1lBQ25CLHdCQUF3QjtZQUN4Qix3QkFBd0I7WUFDeEIsd0JBQXdCO1lBQ3hCLHVCQUF1QjtZQUN2Qix1QkFBdUI7WUFDdkIseUJBQXlCO1lBQ3pCLDRCQUE0QjtZQUM1Qiw0QkFBNEI7MkhBT2hCLGdCQUFnQixZQWhCNUIsVUFBVTtZQUdWLHdCQUF3QjtZQUh4QixVQUFVOzsyRkFnQkUsZ0JBQWdCO2tCQUo1QixRQUFRO21CQUFDO29CQUNULE9BQU8sRUFBRSxDQUFDLEdBQUcsaUJBQWlCLENBQUM7b0JBQy9CLE9BQU8sRUFBRSxDQUFDLEdBQUcsaUJBQWlCLENBQUM7aUJBQy9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ21ka01vZHVsZSB9IGZyb20gJ0BuZ3hwZXJ0L2NtZGsnO1xuaW1wb3J0IHsgQnJuQ29tbWFuZEVtcHR5RGlyZWN0aXZlIH0gZnJvbSAnLi9saWIvYnJuLWNvbW1hbmQtZW1wdHkuZGlyZWN0aXZlJztcbmltcG9ydCB7IEJybkNvbW1hbmRHcm91cENvbXBvbmVudCB9IGZyb20gJy4vbGliL2Jybi1jb21tYW5kLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCcm5Db21tYW5kSW5wdXREaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9icm4tY29tbWFuZC1pbnB1dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQnJuQ29tbWFuZEl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9icm4tY29tbWFuZC1pdGVtLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCcm5Db21tYW5kTGlzdENvbXBvbmVudCB9IGZyb20gJy4vbGliL2Jybi1jb21tYW5kLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEJybkNvbW1hbmRMb2FkZXJEaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9icm4tY29tbWFuZC1sb2FkZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IEJybkNvbW1hbmRTZXBhcmF0b3JDb21wb25lbnQgfSBmcm9tICcuL2xpYi9icm4tY29tbWFuZC1zZXBhcmF0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IEJybkNvbW1hbmRDb21wb25lbnQgfSBmcm9tICcuL2xpYi9icm4tY29tbWFuZC5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tY29tbWFuZC1lbXB0eS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJuLWNvbW1hbmQtZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jybi1jb21tYW5kLWlucHV0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tY29tbWFuZC1pdGVtLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tY29tbWFuZC1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tY29tbWFuZC1sb2FkZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jybi1jb21tYW5kLXNlcGFyYXRvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJuLWNvbW1hbmQuY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IEJybkNvbW1hbmRJbXBvcnRzID0gW1xuXHRDbWRrTW9kdWxlLFxuXHRCcm5Db21tYW5kQ29tcG9uZW50LFxuXHRCcm5Db21tYW5kRW1wdHlEaXJlY3RpdmUsXG5cdEJybkNvbW1hbmRHcm91cENvbXBvbmVudCxcblx0QnJuQ29tbWFuZElucHV0RGlyZWN0aXZlLFxuXHRCcm5Db21tYW5kSXRlbURpcmVjdGl2ZSxcblx0QnJuQ29tbWFuZExpc3RDb21wb25lbnQsXG5cdEJybkNvbW1hbmRMb2FkZXJEaXJlY3RpdmUsXG5cdEJybkNvbW1hbmRTZXBhcmF0b3JDb21wb25lbnQsXG5cdEJybkNvbW1hbmRTZXBhcmF0b3JDb21wb25lbnQsXG5dIGFzIGNvbnN0O1xuXG5ATmdNb2R1bGUoe1xuXHRpbXBvcnRzOiBbLi4uQnJuQ29tbWFuZEltcG9ydHNdLFxuXHRleHBvcnRzOiBbLi4uQnJuQ29tbWFuZEltcG9ydHNdLFxufSlcbmV4cG9ydCBjbGFzcyBCcm5Db21tYW5kTW9kdWxlIHt9XG4iXX0=
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2NvbW1hbmQvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDN0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDN0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDM0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDM0UsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDMUYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBRWxFLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHlCQUF5QixDQUFDO0FBRXhDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQ2hDLHdCQUF3QjtJQUN4Qix3QkFBd0I7SUFDeEIsdUJBQXVCO0lBQ3ZCLHVCQUF1QjtJQUN2Qiw4QkFBOEI7SUFDOUIsbUJBQW1CO0NBQ1YsQ0FBQztBQU1YLE1BQU0sT0FBTyxnQkFBZ0I7MEhBQWhCLGdCQUFnQjsySEFBaEIsZ0JBQWdCLFlBWjVCLHdCQUF3QjtZQUN4Qix3QkFBd0I7WUFDeEIsdUJBQXVCO1lBQ3ZCLHVCQUF1QjtZQUN2Qiw4QkFBOEI7WUFDOUIsbUJBQW1CLGFBTG5CLHdCQUF3QjtZQUN4Qix3QkFBd0I7WUFDeEIsdUJBQXVCO1lBQ3ZCLHVCQUF1QjtZQUN2Qiw4QkFBOEI7WUFDOUIsbUJBQW1COzJIQU9QLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFKNUIsUUFBUTttQkFBQztvQkFDVCxPQUFPLEVBQUUsQ0FBQyxHQUFHLGlCQUFpQixDQUFDO29CQUMvQixPQUFPLEVBQUUsQ0FBQyxHQUFHLGlCQUFpQixDQUFDO2lCQUMvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCcm5Db21tYW5kRW1wdHlEaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9icm4tY29tbWFuZC1lbXB0eS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQnJuQ29tbWFuZEdyb3VwRGlyZWN0aXZlIH0gZnJvbSAnLi9saWIvYnJuLWNvbW1hbmQtZ3JvdXAuZGlyZWN0aXZlJztcbmltcG9ydCB7IEJybkNvbW1hbmRJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9saWIvYnJuLWNvbW1hbmQtaXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQnJuQ29tbWFuZExpc3REaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9icm4tY29tbWFuZC1saXN0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCcm5Db21tYW5kU2VhcmNoSW5wdXREaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9icm4tY29tbWFuZC1zZWFyY2gtaW5wdXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IEJybkNvbW1hbmREaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9icm4tY29tbWFuZC5kaXJlY3RpdmUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tY29tbWFuZC1lbXB0eS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJuLWNvbW1hbmQtZ3JvdXAuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jybi1jb21tYW5kLWl0ZW0uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jybi1jb21tYW5kLWl0ZW0udG9rZW4nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJuLWNvbW1hbmQtbGlzdC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJuLWNvbW1hbmQtc2VhcmNoLWlucHV0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tY29tbWFuZC1zZWFyY2gtaW5wdXQudG9rZW4nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJuLWNvbW1hbmQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jybi1jb21tYW5kLnRva2VuJztcblxuZXhwb3J0IGNvbnN0IEJybkNvbW1hbmRJbXBvcnRzID0gW1xuXHRCcm5Db21tYW5kRW1wdHlEaXJlY3RpdmUsXG5cdEJybkNvbW1hbmRHcm91cERpcmVjdGl2ZSxcblx0QnJuQ29tbWFuZEl0ZW1EaXJlY3RpdmUsXG5cdEJybkNvbW1hbmRMaXN0RGlyZWN0aXZlLFxuXHRCcm5Db21tYW5kU2VhcmNoSW5wdXREaXJlY3RpdmUsXG5cdEJybkNvbW1hbmREaXJlY3RpdmUsXG5dIGFzIGNvbnN0O1xuXG5ATmdNb2R1bGUoe1xuXHRpbXBvcnRzOiBbLi4uQnJuQ29tbWFuZEltcG9ydHNdLFxuXHRleHBvcnRzOiBbLi4uQnJuQ29tbWFuZEltcG9ydHNdLFxufSlcbmV4cG9ydCBjbGFzcyBCcm5Db21tYW5kTW9kdWxlIHt9XG4iXX0=
@@ -1,29 +1,30 @@
1
- import { Directive, forwardRef } from '@angular/core';
2
- import { EmptyDirective } from '@ngxpert/cmdk';
1
+ import { computed, Directive, effect, inject, TemplateRef, ViewContainerRef } from '@angular/core';
2
+ import { injectBrnCommand } from './brn-command.token';
3
3
  import * as i0 from "@angular/core";
4
- export class BrnCommandEmptyDirective extends EmptyDirective {
5
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandEmptyDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: BrnCommandEmptyDirective, isStandalone: true, selector: "[brnCmdEmpty]", host: { classAttribute: "cmdk-empty" }, providers: [
7
- {
8
- provide: EmptyDirective,
9
- useExisting: forwardRef((() => BrnCommandEmptyDirective)),
10
- },
11
- ], usesInheritance: true, ngImport: i0 });
4
+ export class BrnCommandEmptyDirective {
5
+ _templateRef = inject(TemplateRef);
6
+ _viewContainerRef = inject(ViewContainerRef);
7
+ _command = injectBrnCommand();
8
+ /** Determine if the command has any visible items */
9
+ _visible = computed(() => this._command.items().some((item) => item.visible()));
10
+ constructor() {
11
+ effect(() => {
12
+ if (this._visible()) {
13
+ this._viewContainerRef.clear();
14
+ }
15
+ else {
16
+ this._viewContainerRef.createEmbeddedView(this._templateRef);
17
+ }
18
+ });
19
+ }
20
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandEmptyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
21
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: BrnCommandEmptyDirective, isStandalone: true, selector: "[brnCommandEmpty]", ngImport: i0 });
12
22
  }
13
23
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandEmptyDirective, decorators: [{
14
24
  type: Directive,
15
25
  args: [{
16
- selector: '[brnCmdEmpty]',
17
26
  standalone: true,
18
- providers: [
19
- {
20
- provide: EmptyDirective,
21
- useExisting: forwardRef((() => BrnCommandEmptyDirective)),
22
- },
23
- ],
24
- host: {
25
- class: 'cmdk-empty',
26
- },
27
+ selector: '[brnCommandEmpty]',
27
28
  }]
28
- }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWNvbW1hbmQtZW1wdHkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9jb21tYW5kL3NyYy9saWIvYnJuLWNvbW1hbmQtZW1wdHkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBZS9DLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxjQUFjOzBIQUEvQyx3QkFBd0I7OEdBQXhCLHdCQUF3QixvR0FWekI7WUFDVjtnQkFDQyxPQUFPLEVBQUUsY0FBYztnQkFDdkIsV0FBVyxFQUFFLFVBQVUsRUFBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsRUFBQzthQUN2RDtTQUNEOzsyRkFLVyx3QkFBd0I7a0JBYnBDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixTQUFTLEVBQUU7d0JBQ1Y7NEJBQ0MsT0FBTyxFQUFFLGNBQWM7NEJBQ3ZCLFdBQVcsRUFBRSxVQUFVLEVBQUMsR0FBRyxFQUFFLHlCQUF5QixFQUFDO3lCQUN2RDtxQkFDRDtvQkFDRCxJQUFJLEVBQUU7d0JBQ0wsS0FBSyxFQUFFLFlBQVk7cUJBQ25CO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFbXB0eURpcmVjdGl2ZSB9IGZyb20gJ0BuZ3hwZXJ0L2NtZGsnO1xuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdbYnJuQ21kRW1wdHldJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0cHJvdmlkZXJzOiBbXG5cdFx0e1xuXHRcdFx0cHJvdmlkZTogRW1wdHlEaXJlY3RpdmUsXG5cdFx0XHR1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBCcm5Db21tYW5kRW1wdHlEaXJlY3RpdmUpLFxuXHRcdH0sXG5cdF0sXG5cdGhvc3Q6IHtcblx0XHRjbGFzczogJ2NtZGstZW1wdHknLFxuXHR9LFxufSlcbmV4cG9ydCBjbGFzcyBCcm5Db21tYW5kRW1wdHlEaXJlY3RpdmUgZXh0ZW5kcyBFbXB0eURpcmVjdGl2ZSB7fVxuIl19
29
+ }], ctorParameters: () => [] });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWNvbW1hbmQtZW1wdHkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9jb21tYW5kL3NyYy9saWIvYnJuLWNvbW1hbmQtZW1wdHkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25HLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQU12RCxNQUFNLE9BQU8sd0JBQXdCO0lBQ25CLFlBQVksR0FBRyxNQUFNLENBQW9CLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzdDLFFBQVEsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO0lBRS9DLHFEQUFxRDtJQUNwQyxRQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRWpHO1FBQ0MsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNYLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNoQyxDQUFDO2lCQUFNLENBQUM7Z0JBQ1AsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUM5RCxDQUFDO1FBQ0YsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDOzBIQWhCVyx3QkFBd0I7OEdBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFKcEMsU0FBUzttQkFBQztvQkFDVixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLG1CQUFtQjtpQkFDN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21wdXRlZCwgRGlyZWN0aXZlLCBlZmZlY3QsIGluamVjdCwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdEJybkNvbW1hbmQgfSBmcm9tICcuL2Jybi1jb21tYW5kLnRva2VuJztcblxuQERpcmVjdGl2ZSh7XG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHNlbGVjdG9yOiAnW2JybkNvbW1hbmRFbXB0eV0nLFxufSlcbmV4cG9ydCBjbGFzcyBCcm5Db21tYW5kRW1wdHlEaXJlY3RpdmUge1xuXHRwcml2YXRlIHJlYWRvbmx5IF90ZW1wbGF0ZVJlZiA9IGluamVjdDxUZW1wbGF0ZVJlZjx2b2lkPj4oVGVtcGxhdGVSZWYpO1xuXHRwcml2YXRlIHJlYWRvbmx5IF92aWV3Q29udGFpbmVyUmVmID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuXHRwcml2YXRlIHJlYWRvbmx5IF9jb21tYW5kID0gaW5qZWN0QnJuQ29tbWFuZCgpO1xuXG5cdC8qKiBEZXRlcm1pbmUgaWYgdGhlIGNvbW1hbmQgaGFzIGFueSB2aXNpYmxlIGl0ZW1zICovXG5cdHByaXZhdGUgcmVhZG9ubHkgX3Zpc2libGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLl9jb21tYW5kLml0ZW1zKCkuc29tZSgoaXRlbSkgPT4gaXRlbS52aXNpYmxlKCkpKTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0aWYgKHRoaXMuX3Zpc2libGUoKSkge1xuXHRcdFx0XHR0aGlzLl92aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR0aGlzLl92aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLl90ZW1wbGF0ZVJlZik7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cbn1cbiJdfQ==
@@ -0,0 +1,29 @@
1
+ import { computed, contentChildren, Directive, input } from '@angular/core';
2
+ import { BrnCommandItemToken } from './brn-command-item.token';
3
+ import * as i0 from "@angular/core";
4
+ export class BrnCommandGroupDirective {
5
+ static _id = 0;
6
+ /** The id of the command list */
7
+ id = input(`brn-command-group-${BrnCommandGroupDirective._id++}`);
8
+ /** Get the items in the group */
9
+ _items = contentChildren(BrnCommandItemToken, {
10
+ descendants: true,
11
+ });
12
+ /** Determine if there are any visible items in the group */
13
+ visible = computed(() => this._items().some((item) => item.visible()));
14
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
15
+ /** @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 });
16
+ }
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandGroupDirective, decorators: [{
18
+ type: Directive,
19
+ args: [{
20
+ selector: '[brnCommandGroup]',
21
+ standalone: true,
22
+ host: {
23
+ role: 'group',
24
+ '[attr.data-hidden]': '!visible() ? "" : null',
25
+ '[id]': 'id()',
26
+ },
27
+ }]
28
+ }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWNvbW1hbmQtZ3JvdXAuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9jb21tYW5kL3NyYy9saWIvYnJuLWNvbW1hbmQtZ3JvdXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBVy9ELE1BQU0sT0FBTyx3QkFBd0I7SUFDNUIsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFFdkIsaUNBQWlDO0lBQ2pCLEVBQUUsR0FBRyxLQUFLLENBQVMscUJBQXFCLHdCQUF3QixDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUUxRixpQ0FBaUM7SUFDaEIsTUFBTSxHQUFHLGVBQWUsQ0FBQyxtQkFBbUIsRUFBRTtRQUM5RCxXQUFXLEVBQUUsSUFBSTtLQUNqQixDQUFDLENBQUM7SUFFSCw0REFBNEQ7SUFDekMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDOzBIQVo5RSx3QkFBd0I7OEdBQXhCLHdCQUF3Qix3VkFPTSxtQkFBbUI7OzJGQVBqRCx3QkFBd0I7a0JBVHBDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDTCxJQUFJLEVBQUUsT0FBTzt3QkFDYixvQkFBb0IsRUFBRSx3QkFBd0I7d0JBQzlDLE1BQU0sRUFBRSxNQUFNO3FCQUNkO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIGNvbnRlbnRDaGlsZHJlbiwgRGlyZWN0aXZlLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnJuQ29tbWFuZEl0ZW1Ub2tlbiB9IGZyb20gJy4vYnJuLWNvbW1hbmQtaXRlbS50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ1ticm5Db21tYW5kR3JvdXBdJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0aG9zdDoge1xuXHRcdHJvbGU6ICdncm91cCcsXG5cdFx0J1thdHRyLmRhdGEtaGlkZGVuXSc6ICchdmlzaWJsZSgpID8gXCJcIiA6IG51bGwnLFxuXHRcdCdbaWRdJzogJ2lkKCknLFxuXHR9LFxufSlcbmV4cG9ydCBjbGFzcyBCcm5Db21tYW5kR3JvdXBEaXJlY3RpdmUge1xuXHRwcml2YXRlIHN0YXRpYyBfaWQgPSAwO1xuXG5cdC8qKiBUaGUgaWQgb2YgdGhlIGNvbW1hbmQgbGlzdCAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgaWQgPSBpbnB1dDxzdHJpbmc+KGBicm4tY29tbWFuZC1ncm91cC0ke0JybkNvbW1hbmRHcm91cERpcmVjdGl2ZS5faWQrK31gKTtcblxuXHQvKiogR2V0IHRoZSBpdGVtcyBpbiB0aGUgZ3JvdXAgKi9cblx0cHJpdmF0ZSByZWFkb25seSBfaXRlbXMgPSBjb250ZW50Q2hpbGRyZW4oQnJuQ29tbWFuZEl0ZW1Ub2tlbiwge1xuXHRcdGRlc2NlbmRhbnRzOiB0cnVlLFxuXHR9KTtcblxuXHQvKiogRGV0ZXJtaW5lIGlmIHRoZXJlIGFyZSBhbnkgdmlzaWJsZSBpdGVtcyBpbiB0aGUgZ3JvdXAgKi9cblx0cHJvdGVjdGVkIHJlYWRvbmx5IHZpc2libGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLl9pdGVtcygpLnNvbWUoKGl0ZW0pID0+IGl0ZW0udmlzaWJsZSgpKSk7XG59XG4iXX0=
@@ -1,36 +1,76 @@
1
- import { __decorate } from "tslib";
2
- import { Directive, forwardRef } from '@angular/core';
3
- import { UntilDestroy } from '@ngneat/until-destroy';
4
- import { ItemDirective } from '@ngxpert/cmdk';
1
+ import { isPlatformBrowser } from '@angular/common';
2
+ import { booleanAttribute, computed, Directive, ElementRef, HostListener, inject, input, output, PLATFORM_ID, signal, } from '@angular/core';
3
+ import { provideBrnCommandItem } from './brn-command-item.token';
4
+ import { injectBrnCommand } from './brn-command.token';
5
5
  import * as i0 from "@angular/core";
6
- let BrnCommandItemDirective = class BrnCommandItemDirective extends ItemDirective {
7
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandItemDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
8
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: BrnCommandItemDirective, isStandalone: true, selector: "[brnCmdItem]", host: { attributes: { "tabindex": "-1" }, classAttribute: "cmdk-item" }, providers: [
9
- {
10
- provide: ItemDirective,
11
- useExisting: forwardRef((() => BrnCommandItemDirective)),
12
- },
13
- ], usesInheritance: true, ngImport: i0 });
14
- };
15
- BrnCommandItemDirective = __decorate([
16
- UntilDestroy()
17
- ], BrnCommandItemDirective);
18
- export { BrnCommandItemDirective };
6
+ export class BrnCommandItemDirective {
7
+ static _id = 0;
8
+ _platform = inject(PLATFORM_ID);
9
+ _elementRef = inject(ElementRef);
10
+ /** Access the command component */
11
+ _command = injectBrnCommand();
12
+ /** A unique id for the item */
13
+ id = input(`brn-command-item-${BrnCommandItemDirective._id++}`);
14
+ /** The value this item represents. */
15
+ value = input.required();
16
+ /** Whether the item is disabled. */
17
+ _disabled = input(false, {
18
+ alias: 'disabled',
19
+ transform: booleanAttribute,
20
+ });
21
+ /** Expose disabled as a value - used by the Highlightable interface */
22
+ get disabled() {
23
+ return this._disabled();
24
+ }
25
+ /** Whether the item is selected. */
26
+ active = signal(false);
27
+ /** Emits when the item is selected. */
28
+ selected = output();
29
+ /** @internal Determine if this item is visible based on the current search query */
30
+ visible = computed(() => this._command.filter()(this.value(), this._command.search()));
31
+ /** @internal Get the display value */
32
+ getLabel() {
33
+ return this.value();
34
+ }
35
+ /** @internal */
36
+ setActiveStyles() {
37
+ this.active.set(true);
38
+ // ensure the item is in view
39
+ if (isPlatformBrowser(this._platform)) {
40
+ this._elementRef.nativeElement.scrollIntoView({ block: 'nearest' });
41
+ }
42
+ }
43
+ /** @internal */
44
+ setInactiveStyles() {
45
+ this.active.set(false);
46
+ }
47
+ onClick() {
48
+ this._command.keyManager.setActiveItem(this);
49
+ this.selected.emit();
50
+ }
51
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
52
+ /** @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
+ }
19
54
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandItemDirective, decorators: [{
20
55
  type: Directive,
21
56
  args: [{
22
- selector: '[brnCmdItem]',
57
+ selector: 'button[brnCommandItem]',
23
58
  standalone: true,
24
- providers: [
25
- {
26
- provide: ItemDirective,
27
- useExisting: forwardRef((() => BrnCommandItemDirective)),
28
- },
29
- ],
59
+ providers: [provideBrnCommandItem(BrnCommandItemDirective)],
30
60
  host: {
31
- tabindex: '-1',
32
- class: 'cmdk-item',
61
+ type: 'button',
62
+ role: 'option',
63
+ tabIndex: '-1',
64
+ '[id]': 'id()',
65
+ '[attr.disabled]': '_disabled() ? true : null',
66
+ '[attr.data-value]': 'value()',
67
+ '[attr.data-hidden]': "!visible() ? '' : null",
68
+ '[attr.aria-selected]': 'active()',
69
+ '[attr.data-selected]': "active() ? '' : null",
33
70
  },
34
71
  }]
35
- }] });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWNvbW1hbmQtaXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2NvbW1hbmQvc3JjL2xpYi9icm4tY29tbWFuZC1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBaUJ2QyxJQUFNLHVCQUF1QixHQUE3QixNQUFNLHVCQUF3QixTQUFRLGFBQWE7MEhBQTdDLHVCQUF1Qjs4R0FBdkIsdUJBQXVCLG9JQVh4QjtZQUNWO2dCQUNDLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixFQUFDO2FBQ3REO1NBQ0Q7O0FBTVcsdUJBQXVCO0lBZm5DLFlBQVksRUFBRTtHQWVGLHVCQUF1QixDQUF5Qjs7MkZBQWhELHVCQUF1QjtrQkFkbkMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsY0FBYztvQkFDeEIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFNBQVMsRUFBRTt3QkFDVjs0QkFDQyxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsV0FBVyxFQUFFLFVBQVUsRUFBQyxHQUFHLEVBQUUsd0JBQXdCLEVBQUM7eUJBQ3REO3FCQUNEO29CQUNELElBQUksRUFBRTt3QkFDTCxRQUFRLEVBQUUsSUFBSTt3QkFDZCxLQUFLLEVBQUUsV0FBVztxQkFDbEI7aUJBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudGlsRGVzdHJveSB9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQgeyBJdGVtRGlyZWN0aXZlIH0gZnJvbSAnQG5neHBlcnQvY21kayc7XG5cbkBVbnRpbERlc3Ryb3koKVxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnW2JybkNtZEl0ZW1dJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0cHJvdmlkZXJzOiBbXG5cdFx0e1xuXHRcdFx0cHJvdmlkZTogSXRlbURpcmVjdGl2ZSxcblx0XHRcdHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEJybkNvbW1hbmRJdGVtRGlyZWN0aXZlKSxcblx0XHR9LFxuXHRdLFxuXHRob3N0OiB7XG5cdFx0dGFiaW5kZXg6ICctMScsXG5cdFx0Y2xhc3M6ICdjbWRrLWl0ZW0nLFxuXHR9LFxufSlcbmV4cG9ydCBjbGFzcyBCcm5Db21tYW5kSXRlbURpcmVjdGl2ZSBleHRlbmRzIEl0ZW1EaXJlY3RpdmUge31cbiJdfQ==
72
+ }], propDecorators: { onClick: [{
73
+ type: HostListener,
74
+ args: ['click']
75
+ }] } });
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWNvbW1hbmQtaXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2NvbW1hbmQvc3JjL2xpYi9icm4tY29tbWFuZC1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQ04sZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixXQUFXLEVBQ1gsTUFBTSxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQWtCdkQsTUFBTSxPQUFPLHVCQUF1QjtJQUMzQixNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUVOLFNBQVMsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFaEMsV0FBVyxHQUFHLE1BQU0sQ0FBMEIsVUFBVSxDQUFDLENBQUM7SUFFM0UsbUNBQW1DO0lBQ2xCLFFBQVEsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO0lBRS9DLCtCQUErQjtJQUNmLEVBQUUsR0FBRyxLQUFLLENBQUMsb0JBQW9CLHVCQUF1QixDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVoRixzQ0FBc0M7SUFDdEIsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztJQUVqRCxvQ0FBb0M7SUFDcEIsU0FBUyxHQUFHLEtBQUssQ0FBd0IsS0FBSyxFQUFFO1FBQy9ELEtBQUssRUFBRSxVQUFVO1FBQ2pCLFNBQVMsRUFBRSxnQkFBZ0I7S0FDM0IsQ0FBQyxDQUFDO0lBRUgsdUVBQXVFO0lBQ3ZFLElBQVcsUUFBUTtRQUNsQixPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsb0NBQW9DO0lBQ2pCLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFMUMsdUNBQXVDO0lBQ3ZCLFFBQVEsR0FBRyxNQUFNLEVBQVEsQ0FBQztJQUUxQyxvRkFBb0Y7SUFDcEUsT0FBTyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUV2RyxzQ0FBc0M7SUFDL0IsUUFBUTtRQUNkLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxnQkFBZ0I7SUFDaEIsZUFBZTtRQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXRCLDZCQUE2QjtRQUM3QixJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3JFLENBQUM7SUFDRixDQUFDO0lBRUQsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtRQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBR1MsT0FBTztRQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QixDQUFDOzBIQTVEVyx1QkFBdUI7OEdBQXZCLHVCQUF1QiwwekJBYnhCLENBQUMscUJBQXFCLENBQUMsdUJBQXVCLENBQUMsQ0FBQzs7MkZBYS9DLHVCQUF1QjtrQkFoQm5DLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFNBQVMsRUFBRSxDQUFDLHFCQUFxQix5QkFBeUIsQ0FBQztvQkFDM0QsSUFBSSxFQUFFO3dCQUNMLElBQUksRUFBRSxRQUFRO3dCQUNkLElBQUksRUFBRSxRQUFRO3dCQUNkLFFBQVEsRUFBRSxJQUFJO3dCQUNkLE1BQU0sRUFBRSxNQUFNO3dCQUNkLGlCQUFpQixFQUFFLDJCQUEyQjt3QkFDOUMsbUJBQW1CLEVBQUUsU0FBUzt3QkFDOUIsb0JBQW9CLEVBQUUsd0JBQXdCO3dCQUM5QyxzQkFBc0IsRUFBRSxVQUFVO3dCQUNsQyxzQkFBc0IsRUFBRSxzQkFBc0I7cUJBQzlDO2lCQUNEOzhCQTBEVSxPQUFPO3NCQURoQixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIaWdobGlnaHRhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG5cdGJvb2xlYW5BdHRyaWJ1dGUsXG5cdGNvbXB1dGVkLFxuXHREaXJlY3RpdmUsXG5cdEVsZW1lbnRSZWYsXG5cdEhvc3RMaXN0ZW5lcixcblx0aW5qZWN0LFxuXHRpbnB1dCxcblx0b3V0cHV0LFxuXHRQTEFURk9STV9JRCxcblx0c2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHByb3ZpZGVCcm5Db21tYW5kSXRlbSB9IGZyb20gJy4vYnJuLWNvbW1hbmQtaXRlbS50b2tlbic7XG5pbXBvcnQgeyBpbmplY3RCcm5Db21tYW5kIH0gZnJvbSAnLi9icm4tY29tbWFuZC50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ2J1dHRvblticm5Db21tYW5kSXRlbV0nLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRwcm92aWRlcnM6IFtwcm92aWRlQnJuQ29tbWFuZEl0ZW0oQnJuQ29tbWFuZEl0ZW1EaXJlY3RpdmUpXSxcblx0aG9zdDoge1xuXHRcdHR5cGU6ICdidXR0b24nLFxuXHRcdHJvbGU6ICdvcHRpb24nLFxuXHRcdHRhYkluZGV4OiAnLTEnLFxuXHRcdCdbaWRdJzogJ2lkKCknLFxuXHRcdCdbYXR0ci5kaXNhYmxlZF0nOiAnX2Rpc2FibGVkKCkgPyB0cnVlIDogbnVsbCcsXG5cdFx0J1thdHRyLmRhdGEtdmFsdWVdJzogJ3ZhbHVlKCknLFxuXHRcdCdbYXR0ci5kYXRhLWhpZGRlbl0nOiBcIiF2aXNpYmxlKCkgPyAnJyA6IG51bGxcIixcblx0XHQnW2F0dHIuYXJpYS1zZWxlY3RlZF0nOiAnYWN0aXZlKCknLFxuXHRcdCdbYXR0ci5kYXRhLXNlbGVjdGVkXSc6IFwiYWN0aXZlKCkgPyAnJyA6IG51bGxcIixcblx0fSxcbn0pXG5leHBvcnQgY2xhc3MgQnJuQ29tbWFuZEl0ZW1EaXJlY3RpdmUgaW1wbGVtZW50cyBIaWdobGlnaHRhYmxlIHtcblx0cHJpdmF0ZSBzdGF0aWMgX2lkID0gMDtcblxuXHRwcml2YXRlIHJlYWRvbmx5IF9wbGF0Zm9ybSA9IGluamVjdChQTEFURk9STV9JRCk7XG5cblx0cHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZik7XG5cblx0LyoqIEFjY2VzcyB0aGUgY29tbWFuZCBjb21wb25lbnQgKi9cblx0cHJpdmF0ZSByZWFkb25seSBfY29tbWFuZCA9IGluamVjdEJybkNvbW1hbmQoKTtcblxuXHQvKiogQSB1bmlxdWUgaWQgZm9yIHRoZSBpdGVtICovXG5cdHB1YmxpYyByZWFkb25seSBpZCA9IGlucHV0KGBicm4tY29tbWFuZC1pdGVtLSR7QnJuQ29tbWFuZEl0ZW1EaXJlY3RpdmUuX2lkKyt9YCk7XG5cblx0LyoqIFRoZSB2YWx1ZSB0aGlzIGl0ZW0gcmVwcmVzZW50cy4gKi9cblx0cHVibGljIHJlYWRvbmx5IHZhbHVlID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuXG5cdC8qKiBXaGV0aGVyIHRoZSBpdGVtIGlzIGRpc2FibGVkLiAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgX2Rpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbiwgQm9vbGVhbklucHV0PihmYWxzZSwge1xuXHRcdGFsaWFzOiAnZGlzYWJsZWQnLFxuXHRcdHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSxcblx0fSk7XG5cblx0LyoqIEV4cG9zZSBkaXNhYmxlZCBhcyBhIHZhbHVlIC0gdXNlZCBieSB0aGUgSGlnaGxpZ2h0YWJsZSBpbnRlcmZhY2UgKi9cblx0cHVibGljIGdldCBkaXNhYmxlZCgpIHtcblx0XHRyZXR1cm4gdGhpcy5fZGlzYWJsZWQoKTtcblx0fVxuXG5cdC8qKiBXaGV0aGVyIHRoZSBpdGVtIGlzIHNlbGVjdGVkLiAqL1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgYWN0aXZlID0gc2lnbmFsKGZhbHNlKTtcblxuXHQvKiogRW1pdHMgd2hlbiB0aGUgaXRlbSBpcyBzZWxlY3RlZC4gKi9cblx0cHVibGljIHJlYWRvbmx5IHNlbGVjdGVkID0gb3V0cHV0PHZvaWQ+KCk7XG5cblx0LyoqIEBpbnRlcm5hbCBEZXRlcm1pbmUgaWYgdGhpcyBpdGVtIGlzIHZpc2libGUgYmFzZWQgb24gdGhlIGN1cnJlbnQgc2VhcmNoIHF1ZXJ5ICovXG5cdHB1YmxpYyByZWFkb25seSB2aXNpYmxlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5fY29tbWFuZC5maWx0ZXIoKSh0aGlzLnZhbHVlKCksIHRoaXMuX2NvbW1hbmQuc2VhcmNoKCkpKTtcblxuXHQvKiogQGludGVybmFsIEdldCB0aGUgZGlzcGxheSB2YWx1ZSAqL1xuXHRwdWJsaWMgZ2V0TGFiZWwoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy52YWx1ZSgpO1xuXHR9XG5cblx0LyoqIEBpbnRlcm5hbCAqL1xuXHRzZXRBY3RpdmVTdHlsZXMoKTogdm9pZCB7XG5cdFx0dGhpcy5hY3RpdmUuc2V0KHRydWUpO1xuXG5cdFx0Ly8gZW5zdXJlIHRoZSBpdGVtIGlzIGluIHZpZXdcblx0XHRpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5fcGxhdGZvcm0pKSB7XG5cdFx0XHR0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoeyBibG9jazogJ25lYXJlc3QnIH0pO1xuXHRcdH1cblx0fVxuXG5cdC8qKiBAaW50ZXJuYWwgKi9cblx0c2V0SW5hY3RpdmVTdHlsZXMoKTogdm9pZCB7XG5cdFx0dGhpcy5hY3RpdmUuc2V0KGZhbHNlKTtcblx0fVxuXG5cdEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcblx0cHJvdGVjdGVkIG9uQ2xpY2soKTogdm9pZCB7XG5cdFx0dGhpcy5fY29tbWFuZC5rZXlNYW5hZ2VyLnNldEFjdGl2ZUl0ZW0odGhpcyk7XG5cdFx0dGhpcy5zZWxlY3RlZC5lbWl0KCk7XG5cdH1cbn1cbiJdfQ==
@@ -0,0 +1,6 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export const BrnCommandItemToken = new InjectionToken('BrnCommandItemToken');
3
+ export function provideBrnCommandItem(command) {
4
+ return { provide: BrnCommandItemToken, useExisting: command };
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWNvbW1hbmQtaXRlbS50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vY29tbWFuZC9zcmMvbGliL2Jybi1jb21tYW5kLWl0ZW0udG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixjQUFjLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFHdkUsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxjQUFjLENBQTBCLHFCQUFxQixDQUFDLENBQUM7QUFFdEcsTUFBTSxVQUFVLHFCQUFxQixDQUFDLE9BQXNDO0lBQzNFLE9BQU8sRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxDQUFDO0FBQy9ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFeGlzdGluZ1Byb3ZpZGVyLCBJbmplY3Rpb25Ub2tlbiwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBCcm5Db21tYW5kSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vYnJuLWNvbW1hbmQtaXRlbS5kaXJlY3RpdmUnO1xuXG5leHBvcnQgY29uc3QgQnJuQ29tbWFuZEl0ZW1Ub2tlbiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxCcm5Db21tYW5kSXRlbURpcmVjdGl2ZT4oJ0JybkNvbW1hbmRJdGVtVG9rZW4nKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVCcm5Db21tYW5kSXRlbShjb21tYW5kOiBUeXBlPEJybkNvbW1hbmRJdGVtRGlyZWN0aXZlPik6IEV4aXN0aW5nUHJvdmlkZXIge1xuXHRyZXR1cm4geyBwcm92aWRlOiBCcm5Db21tYW5kSXRlbVRva2VuLCB1c2VFeGlzdGluZzogY29tbWFuZCB9O1xufVxuIl19
@@ -0,0 +1,21 @@
1
+ import { Directive, input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class BrnCommandListDirective {
4
+ static _id = 0;
5
+ /** The id of the command list */
6
+ id = input(`brn-command-list-${BrnCommandListDirective._id++}`);
7
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandListDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
8
+ /** @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 });
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandListDirective, decorators: [{
11
+ type: Directive,
12
+ args: [{
13
+ standalone: true,
14
+ selector: '[brnCommandList]',
15
+ host: {
16
+ role: 'listbox',
17
+ '[id]': 'id()',
18
+ },
19
+ }]
20
+ }] });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWNvbW1hbmQtbGlzdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2NvbW1hbmQvc3JjL2xpYi9icm4tY29tbWFuZC1saXN0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFVakQsTUFBTSxPQUFPLHVCQUF1QjtJQUMzQixNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUV2QixpQ0FBaUM7SUFDakIsRUFBRSxHQUFHLEtBQUssQ0FBUyxvQkFBb0IsdUJBQXVCLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDOzBIQUo1RSx1QkFBdUI7OEdBQXZCLHVCQUF1Qjs7MkZBQXZCLHVCQUF1QjtrQkFSbkMsU0FBUzttQkFBQztvQkFDVixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsSUFBSSxFQUFFO3dCQUNMLElBQUksRUFBRSxTQUFTO3dCQUNmLE1BQU0sRUFBRSxNQUFNO3FCQUNkO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0c2VsZWN0b3I6ICdbYnJuQ29tbWFuZExpc3RdJyxcblx0aG9zdDoge1xuXHRcdHJvbGU6ICdsaXN0Ym94Jyxcblx0XHQnW2lkXSc6ICdpZCgpJyxcblx0fSxcbn0pXG5leHBvcnQgY2xhc3MgQnJuQ29tbWFuZExpc3REaXJlY3RpdmUge1xuXHRwcml2YXRlIHN0YXRpYyBfaWQgPSAwO1xuXG5cdC8qKiBUaGUgaWQgb2YgdGhlIGNvbW1hbmQgbGlzdCAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgaWQgPSBpbnB1dDxzdHJpbmc+KGBicm4tY29tbWFuZC1saXN0LSR7QnJuQ29tbWFuZExpc3REaXJlY3RpdmUuX2lkKyt9YCk7XG59XG4iXX0=