@spartan-ng/cli 0.0.1-alpha.603 → 0.0.1-alpha.604
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/package.json +1 -1
- package/src/generators/ui/libs/button/files/lib/hlm-button.ts.template +1 -0
- package/src/generators/ui/libs/combobox/files/index.ts.template +52 -0
- package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-chip-input.ts.template +16 -0
- package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-chip-remove.ts.template +17 -0
- package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-chip.ts.template +37 -0
- package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-chips.ts.template +19 -0
- package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-content.ts.template +17 -0
- package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-empty.ts.template +19 -0
- package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-group.ts.template +16 -0
- package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-input.ts.template +69 -0
- package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-item.ts.template +38 -0
- package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-label.ts.template +16 -0
- package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-list.ts.template +19 -0
- package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-multiple.ts.template +38 -0
- package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-separator.ts.template +16 -0
- package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-trigger.ts.template +42 -0
- package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-value.ts.template +5 -0
- package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-values.ts.template +5 -0
- package/src/generators/ui/libs/combobox/files/lib/hlm-combobox.ts.template +38 -0
- package/src/generators/ui/libs/combobox/generator.d.ts +3 -0
- package/src/generators/ui/libs/combobox/generator.js +9 -0
- package/src/generators/ui/libs/combobox/generator.js.map +1 -0
- package/src/generators/ui/primitive-deps.js +1 -0
- package/src/generators/ui/primitive-deps.js.map +1 -1
- package/src/generators/ui/primitives.d.ts +1 -1
- package/src/generators/ui/supported-ui-libraries.json +49 -38
package/package.json
CHANGED
|
@@ -24,6 +24,7 @@ export const buttonVariants = cva(
|
|
|
24
24
|
sm: 'h-8 gap-1.5 rounded-md px-3 has-[>ng-icon]:px-2.5',
|
|
25
25
|
lg: 'h-10 rounded-md px-6 has-[>ng-icon]:px-4',
|
|
26
26
|
icon: 'size-9',
|
|
27
|
+
'icon-xs': `size-6 [&_ng-icon:not([class*='text-'])]:text-xs`,
|
|
27
28
|
'icon-sm': 'size-8',
|
|
28
29
|
'icon-lg': 'size-10',
|
|
29
30
|
},
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { HlmCombobox } from './lib/hlm-combobox';
|
|
2
|
+
import { HlmComboboxChip } from './lib/hlm-combobox-chip';
|
|
3
|
+
import { HlmComboboxChipInput } from './lib/hlm-combobox-chip-input';
|
|
4
|
+
import { HlmComboboxChips } from './lib/hlm-combobox-chips';
|
|
5
|
+
import { HlmComboboxContent } from './lib/hlm-combobox-content';
|
|
6
|
+
import { HlmComboboxEmpty } from './lib/hlm-combobox-empty';
|
|
7
|
+
import { HlmComboboxGroup } from './lib/hlm-combobox-group';
|
|
8
|
+
import { HlmComboboxInput } from './lib/hlm-combobox-input';
|
|
9
|
+
import { HlmComboboxItem } from './lib/hlm-combobox-item';
|
|
10
|
+
import { HlmComboboxLabel } from './lib/hlm-combobox-label';
|
|
11
|
+
import { HlmComboboxList } from './lib/hlm-combobox-list';
|
|
12
|
+
import { HlmComboboxMultiple } from './lib/hlm-combobox-multiple';
|
|
13
|
+
import { HlmComboboxSeparator } from './lib/hlm-combobox-separator';
|
|
14
|
+
import { HlmComboboxTrigger } from './lib/hlm-combobox-trigger';
|
|
15
|
+
import { HlmComboboxValue } from './lib/hlm-combobox-value';
|
|
16
|
+
import { HlmComboboxValues } from './lib/hlm-combobox-values';
|
|
17
|
+
|
|
18
|
+
export * from './lib/hlm-combobox';
|
|
19
|
+
export * from './lib/hlm-combobox-chip';
|
|
20
|
+
export * from './lib/hlm-combobox-chip-input';
|
|
21
|
+
export * from './lib/hlm-combobox-chips';
|
|
22
|
+
export * from './lib/hlm-combobox-content';
|
|
23
|
+
export * from './lib/hlm-combobox-empty';
|
|
24
|
+
export * from './lib/hlm-combobox-group';
|
|
25
|
+
export * from './lib/hlm-combobox-input';
|
|
26
|
+
export * from './lib/hlm-combobox-item';
|
|
27
|
+
export * from './lib/hlm-combobox-label';
|
|
28
|
+
export * from './lib/hlm-combobox-list';
|
|
29
|
+
export * from './lib/hlm-combobox-multiple';
|
|
30
|
+
export * from './lib/hlm-combobox-separator';
|
|
31
|
+
export * from './lib/hlm-combobox-trigger';
|
|
32
|
+
export * from './lib/hlm-combobox-value';
|
|
33
|
+
export * from './lib/hlm-combobox-values';
|
|
34
|
+
|
|
35
|
+
export const HlmComboboxImports = [
|
|
36
|
+
HlmCombobox,
|
|
37
|
+
HlmComboboxChip,
|
|
38
|
+
HlmComboboxChipInput,
|
|
39
|
+
HlmComboboxChips,
|
|
40
|
+
HlmComboboxContent,
|
|
41
|
+
HlmComboboxEmpty,
|
|
42
|
+
HlmComboboxGroup,
|
|
43
|
+
HlmComboboxInput,
|
|
44
|
+
HlmComboboxItem,
|
|
45
|
+
HlmComboboxLabel,
|
|
46
|
+
HlmComboboxList,
|
|
47
|
+
HlmComboboxMultiple,
|
|
48
|
+
HlmComboboxSeparator,
|
|
49
|
+
HlmComboboxTrigger,
|
|
50
|
+
HlmComboboxValue,
|
|
51
|
+
HlmComboboxValues,
|
|
52
|
+
] as const;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import { BrnComboboxChipInput } from '@spartan-ng/brain/combobox';
|
|
3
|
+
import { classes } from '<%- importAlias %>/utils';
|
|
4
|
+
|
|
5
|
+
@Directive({
|
|
6
|
+
selector: 'input[hlmComboboxChipInput]',
|
|
7
|
+
hostDirectives: [{ directive: BrnComboboxChipInput, inputs: ['id'] }],
|
|
8
|
+
host: {
|
|
9
|
+
'data-slott': 'combobox-chip-input',
|
|
10
|
+
},
|
|
11
|
+
})
|
|
12
|
+
export class HlmComboboxChipInput {
|
|
13
|
+
constructor() {
|
|
14
|
+
classes(() => 'min-w-16 flex-1 outline-none');
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import { BrnComboboxChipRemove } from '@spartan-ng/brain/combobox';
|
|
3
|
+
import { buttonVariants } from '<%- importAlias %>/button';
|
|
4
|
+
import { classes } from '<%- importAlias %>/utils';
|
|
5
|
+
|
|
6
|
+
@Directive({
|
|
7
|
+
selector: 'button[hlmComboboxChipRemove]',
|
|
8
|
+
hostDirectives: [BrnComboboxChipRemove],
|
|
9
|
+
host: {
|
|
10
|
+
'data-slot': 'combobox-chip-remove',
|
|
11
|
+
},
|
|
12
|
+
})
|
|
13
|
+
export class HlmComboboxChipRemove {
|
|
14
|
+
constructor() {
|
|
15
|
+
classes(() => ['-ml-1 opacity-50 hover:opacity-100', buttonVariants({ variant: 'ghost', size: 'icon-xs' })]);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { BooleanInput } from '@angular/cdk/coercion';
|
|
2
|
+
import { booleanAttribute, ChangeDetectionStrategy, Component, input } from '@angular/core';
|
|
3
|
+
import { NgIcon, provideIcons } from '@ng-icons/core';
|
|
4
|
+
import { lucideX } from '@ng-icons/lucide';
|
|
5
|
+
import { BrnComboboxChip } from '@spartan-ng/brain/combobox';
|
|
6
|
+
import { classes } from '<%- importAlias %>/utils';
|
|
7
|
+
import { HlmComboboxChipRemove } from './hlm-combobox-chip-remove';
|
|
8
|
+
|
|
9
|
+
@Component({
|
|
10
|
+
selector: 'hlm-combobox-chip',
|
|
11
|
+
imports: [NgIcon, HlmComboboxChipRemove],
|
|
12
|
+
providers: [provideIcons({ lucideX })],
|
|
13
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
14
|
+
hostDirectives: [{ directive: BrnComboboxChip, inputs: ['value'] }],
|
|
15
|
+
host: {
|
|
16
|
+
'data-slot': 'combobox-chip',
|
|
17
|
+
},
|
|
18
|
+
template: `
|
|
19
|
+
<ng-content />
|
|
20
|
+
|
|
21
|
+
@if (showRemove()) {
|
|
22
|
+
<button hlmComboboxChipRemove>
|
|
23
|
+
<ng-icon name="lucideX" />
|
|
24
|
+
</button>
|
|
25
|
+
}
|
|
26
|
+
`,
|
|
27
|
+
})
|
|
28
|
+
export class HlmComboboxChip {
|
|
29
|
+
public readonly showRemove = input<boolean, BooleanInput>(true, { transform: booleanAttribute });
|
|
30
|
+
|
|
31
|
+
constructor() {
|
|
32
|
+
classes(
|
|
33
|
+
() =>
|
|
34
|
+
'bg-muted text-foreground flex h-[calc(--spacing(5.5))] w-fit items-center justify-center gap-1 rounded-sm px-1.5 text-xs font-medium whitespace-nowrap has-disabled:pointer-events-none has-disabled:cursor-not-allowed has-disabled:opacity-50 has-data-[slot=combobox-chip-remove]:pr-0',
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import { BrnComboboxAnchor, BrnComboboxInputWrapper, BrnComboboxPopoverTrigger } from '@spartan-ng/brain/combobox';
|
|
3
|
+
import { classes } from '<%- importAlias %>/utils';
|
|
4
|
+
|
|
5
|
+
@Directive({
|
|
6
|
+
selector: '[hlmComboboxChips],hlm-combobox-chips',
|
|
7
|
+
hostDirectives: [BrnComboboxInputWrapper, BrnComboboxAnchor, BrnComboboxPopoverTrigger],
|
|
8
|
+
host: {
|
|
9
|
+
'data-slott': 'combobox-chips',
|
|
10
|
+
},
|
|
11
|
+
})
|
|
12
|
+
export class HlmComboboxChips {
|
|
13
|
+
constructor() {
|
|
14
|
+
classes(
|
|
15
|
+
() =>
|
|
16
|
+
'dark:bg-input/30 border-input focus-within:border-ring focus-within:ring-ring/50 has-aria-invalid:ring-destructive/20 dark:has-aria-invalid:ring-destructive/40 has-aria-invalid:border-destructive dark:has-aria-invalid:border-destructive/50 has-data-[slot=combobox-chip]:px-1.5; flex min-h-9 flex-wrap items-center gap-1.5 rounded-md border bg-transparent bg-clip-padding px-2.5 py-1.5 text-sm shadow-xs transition-[color,box-shadow] focus-within:ring-[3px] has-aria-invalid:ring-[3px]',
|
|
17
|
+
);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import { BrnComboboxContent } from '@spartan-ng/brain/combobox';
|
|
3
|
+
import { classes } from '<%- importAlias %>/utils';
|
|
4
|
+
|
|
5
|
+
@Directive({
|
|
6
|
+
selector: '[hlmComboboxContent]',
|
|
7
|
+
hostDirectives: [BrnComboboxContent],
|
|
8
|
+
})
|
|
9
|
+
export class HlmComboboxContent {
|
|
10
|
+
constructor() {
|
|
11
|
+
classes(() => [
|
|
12
|
+
'group/combobox-content bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 max-h-72 w-(--brn-combobox-width) min-w-36 overflow-hidden rounded-md p-0 shadow-md ring-1 duration-100',
|
|
13
|
+
// change input group styles in the content
|
|
14
|
+
'**:data-[slot=input-group]:bg-input **:data-[slot=input-group]:border-input/30 **:has-[[data-slot=input-group-control]:focus-visible]:border-input **:has-[[data-slot=input-group-control]:focus-visible]:ring-0 **:data-[slot=input-group]:m-1 **:data-[slot=input-group]:mb-0 **:data-[slot=input-group]:h-8 **:data-[slot=input-group]:shadow-none',
|
|
15
|
+
]);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import { BrnComboboxEmpty } from '@spartan-ng/brain/combobox';
|
|
3
|
+
import { classes } from '<%- importAlias %>/utils';
|
|
4
|
+
|
|
5
|
+
@Directive({
|
|
6
|
+
selector: '[hlmComboboxEmpty],hlm-combobox-empty',
|
|
7
|
+
hostDirectives: [BrnComboboxEmpty],
|
|
8
|
+
host: {
|
|
9
|
+
'data-slot': 'combobox-empty',
|
|
10
|
+
},
|
|
11
|
+
})
|
|
12
|
+
export class HlmComboboxEmpty {
|
|
13
|
+
constructor() {
|
|
14
|
+
classes(
|
|
15
|
+
() =>
|
|
16
|
+
'text-muted-foreground hidden w-full justify-center py-2 text-center text-sm group-data-empty/combobox-content:flex',
|
|
17
|
+
);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import { BrnComboboxGroup } from '@spartan-ng/brain/combobox';
|
|
3
|
+
import { classes } from '<%- importAlias %>/utils';
|
|
4
|
+
|
|
5
|
+
@Directive({
|
|
6
|
+
selector: '[hlmComboboxGroup]',
|
|
7
|
+
hostDirectives: [BrnComboboxGroup],
|
|
8
|
+
host: {
|
|
9
|
+
'data-slot': 'combobox-group',
|
|
10
|
+
},
|
|
11
|
+
})
|
|
12
|
+
export class HlmComboboxGroup {
|
|
13
|
+
constructor() {
|
|
14
|
+
classes(() => 'data-hidden:hidden');
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { BooleanInput } from '@angular/cdk/coercion';
|
|
2
|
+
import { booleanAttribute, ChangeDetectionStrategy, Component, input } from '@angular/core';
|
|
3
|
+
import { NgIcon, provideIcons } from '@ng-icons/core';
|
|
4
|
+
import { lucideChevronDown, lucideX } from '@ng-icons/lucide';
|
|
5
|
+
import { BrnComboboxImports, BrnComboboxInputWrapper, BrnComboboxPopoverTrigger } from '@spartan-ng/brain/combobox';
|
|
6
|
+
import { HlmInputGroupImports } from '<%- importAlias %>/input-group';
|
|
7
|
+
|
|
8
|
+
@Component({
|
|
9
|
+
selector: 'hlm-combobox-input',
|
|
10
|
+
imports: [HlmInputGroupImports, NgIcon, BrnComboboxImports, BrnComboboxPopoverTrigger],
|
|
11
|
+
providers: [provideIcons({ lucideChevronDown, lucideX })],
|
|
12
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
13
|
+
hostDirectives: [BrnComboboxInputWrapper],
|
|
14
|
+
template: `
|
|
15
|
+
<hlm-input-group brnComboboxAnchor class="w-auto">
|
|
16
|
+
<input
|
|
17
|
+
brnComboboxInput
|
|
18
|
+
#comboboxInput="brnComboboxInput"
|
|
19
|
+
brnComboboxPopoverTrigger
|
|
20
|
+
hlmInputGroupInput
|
|
21
|
+
[placeholder]="placeholder()"
|
|
22
|
+
[attr.aria-invalid]="ariaInvalid() ? 'true' : null"
|
|
23
|
+
/>
|
|
24
|
+
|
|
25
|
+
<hlm-input-group-addon align="inline-end">
|
|
26
|
+
@if (showTrigger()) {
|
|
27
|
+
<button
|
|
28
|
+
brnComboboxPopoverTrigger
|
|
29
|
+
hlmInputGroupButton
|
|
30
|
+
data-slot="input-group-button"
|
|
31
|
+
[disabled]="comboboxInput.disabled()"
|
|
32
|
+
size="icon-xs"
|
|
33
|
+
variant="ghost"
|
|
34
|
+
class="group-has-data-[slot=combobox-clear]/input-group:hidden data-pressed:bg-transparent"
|
|
35
|
+
>
|
|
36
|
+
<ng-icon name="lucideChevronDown" />
|
|
37
|
+
</button>
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
@if (showClear()) {
|
|
41
|
+
<button
|
|
42
|
+
*brnComboboxClear
|
|
43
|
+
hlmInputGroupButton
|
|
44
|
+
data-slot="combobox-clear"
|
|
45
|
+
[disabled]="comboboxInput.disabled()"
|
|
46
|
+
size="icon-xs"
|
|
47
|
+
variant="ghost"
|
|
48
|
+
>
|
|
49
|
+
<ng-icon name="lucideX" />
|
|
50
|
+
</button>
|
|
51
|
+
}
|
|
52
|
+
</hlm-input-group-addon>
|
|
53
|
+
|
|
54
|
+
<ng-content />
|
|
55
|
+
</hlm-input-group>
|
|
56
|
+
`,
|
|
57
|
+
})
|
|
58
|
+
export class HlmComboboxInput {
|
|
59
|
+
public readonly placeholder = input<string>('');
|
|
60
|
+
|
|
61
|
+
public readonly showTrigger = input<boolean, BooleanInput>(true, { transform: booleanAttribute });
|
|
62
|
+
public readonly showClear = input<boolean, BooleanInput>(false, { transform: booleanAttribute });
|
|
63
|
+
|
|
64
|
+
// TODO input and input-group styles need to support aria-invalid directly
|
|
65
|
+
public readonly ariaInvalid = input<boolean, BooleanInput>(false, {
|
|
66
|
+
transform: booleanAttribute,
|
|
67
|
+
alias: 'aria-invalid',
|
|
68
|
+
});
|
|
69
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
|
|
2
|
+
import { NgIcon, provideIcons } from '@ng-icons/core';
|
|
3
|
+
import { lucideCheck } from '@ng-icons/lucide';
|
|
4
|
+
import { BrnComboboxItem } from '@spartan-ng/brain/combobox';
|
|
5
|
+
import { classes } from '<%- importAlias %>/utils';
|
|
6
|
+
|
|
7
|
+
@Component({
|
|
8
|
+
selector: 'hlm-combobox-item',
|
|
9
|
+
imports: [NgIcon],
|
|
10
|
+
providers: [provideIcons({ lucideCheck })],
|
|
11
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
12
|
+
hostDirectives: [{ directive: BrnComboboxItem, inputs: ['id', 'disabled', 'value'] }],
|
|
13
|
+
host: {
|
|
14
|
+
'data-slot': 'combobox-item',
|
|
15
|
+
},
|
|
16
|
+
template: `
|
|
17
|
+
<ng-content />
|
|
18
|
+
@if (_active()) {
|
|
19
|
+
<ng-icon
|
|
20
|
+
name="lucideCheck"
|
|
21
|
+
class="pointer-events-none absolute right-2 flex size-4 items-center justify-center"
|
|
22
|
+
aria-hidden="true"
|
|
23
|
+
/>
|
|
24
|
+
}
|
|
25
|
+
`,
|
|
26
|
+
})
|
|
27
|
+
export class HlmComboboxItem {
|
|
28
|
+
private readonly _brnComboboxItem = inject(BrnComboboxItem);
|
|
29
|
+
|
|
30
|
+
protected readonly _active = this._brnComboboxItem.active;
|
|
31
|
+
|
|
32
|
+
constructor() {
|
|
33
|
+
classes(
|
|
34
|
+
() =>
|
|
35
|
+
`data-highlighted:bg-accent data-highlighted:text-accent-foreground not-data-[variant=destructive]:data-highlighted:**:text-accent-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-hidden:hidden data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_ng-icon]:pointer-events-none [&_ng-icon]:shrink-0 [&_ng-icon:not([class*='text-'])]:text-base`,
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import { BrnComboboxLabel } from '@spartan-ng/brain/combobox';
|
|
3
|
+
import { classes } from '<%- importAlias %>/utils';
|
|
4
|
+
|
|
5
|
+
@Directive({
|
|
6
|
+
selector: '[hlmComboboxLabel]',
|
|
7
|
+
hostDirectives: [{ directive: BrnComboboxLabel, inputs: ['id'] }],
|
|
8
|
+
host: {
|
|
9
|
+
'data-slot': 'combobox-label',
|
|
10
|
+
},
|
|
11
|
+
})
|
|
12
|
+
export class HlmComboboxLabel {
|
|
13
|
+
constructor() {
|
|
14
|
+
classes(() => 'text-muted-foreground px-2 py-1.5 text-xs');
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import { BrnComboboxList } from '@spartan-ng/brain/combobox';
|
|
3
|
+
import { classes } from '<%- importAlias %>/utils';
|
|
4
|
+
|
|
5
|
+
@Directive({
|
|
6
|
+
selector: '[hlmComboboxList]',
|
|
7
|
+
hostDirectives: [{ directive: BrnComboboxList, inputs: ['id'] }],
|
|
8
|
+
host: {
|
|
9
|
+
'data-slot': 'combobox-list',
|
|
10
|
+
},
|
|
11
|
+
})
|
|
12
|
+
export class HlmComboboxList {
|
|
13
|
+
constructor() {
|
|
14
|
+
classes(
|
|
15
|
+
() =>
|
|
16
|
+
'no-scrollbar max-h-[calc(--spacing(72)---spacing(9))] scroll-py-1 overflow-y-auto overscroll-contain p-1 data-empty:p-0',
|
|
17
|
+
);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import { BrnComboboxMultiple } from '@spartan-ng/brain/combobox';
|
|
3
|
+
import { provideBrnDialogDefaultOptions } from '@spartan-ng/brain/dialog';
|
|
4
|
+
import { BrnPopover, provideBrnPopoverConfig } from '@spartan-ng/brain/popover';
|
|
5
|
+
import { classes } from '<%- importAlias %>/utils';
|
|
6
|
+
|
|
7
|
+
@Directive({
|
|
8
|
+
selector: '[hlmComboboxMultiple],hlm-combobox-multiple',
|
|
9
|
+
providers: [
|
|
10
|
+
provideBrnPopoverConfig({
|
|
11
|
+
align: 'start',
|
|
12
|
+
sideOffset: 6,
|
|
13
|
+
}),
|
|
14
|
+
provideBrnDialogDefaultOptions({
|
|
15
|
+
autoFocus: 'first-heading',
|
|
16
|
+
}),
|
|
17
|
+
],
|
|
18
|
+
hostDirectives: [
|
|
19
|
+
{
|
|
20
|
+
directive: BrnComboboxMultiple,
|
|
21
|
+
inputs: ['disabled', 'filter', 'value', 'itemToString', 'filterOptions', 'isItemEqualToValue'],
|
|
22
|
+
outputs: ['valueChange'],
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
directive: BrnPopover,
|
|
26
|
+
inputs: ['align', 'autoFocus', 'closeDelay', 'closeOnOutsidePointerEvents', 'sideOffset', 'state', 'offsetX'],
|
|
27
|
+
outputs: ['stateChanged', 'closed'],
|
|
28
|
+
},
|
|
29
|
+
],
|
|
30
|
+
host: {
|
|
31
|
+
'data-slot': 'combobox',
|
|
32
|
+
},
|
|
33
|
+
})
|
|
34
|
+
export class HlmComboboxMultiple {
|
|
35
|
+
constructor() {
|
|
36
|
+
classes(() => 'block');
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import { BrnComboboxSeparator } from '@spartan-ng/brain/combobox';
|
|
3
|
+
import { classes } from '<%- importAlias %>/utils';
|
|
4
|
+
|
|
5
|
+
@Directive({
|
|
6
|
+
selector: '[hlmComboboxSeparator]',
|
|
7
|
+
hostDirectives: [{ directive: BrnComboboxSeparator, inputs: ['orientation'] }],
|
|
8
|
+
host: {
|
|
9
|
+
'data-slot': 'combobox-separator',
|
|
10
|
+
},
|
|
11
|
+
})
|
|
12
|
+
export class HlmComboboxSeparator {
|
|
13
|
+
constructor() {
|
|
14
|
+
classes(() => 'bg-border -mx-1 my-1 h-px');
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
|
|
2
|
+
import { NgIcon, provideIcons } from '@ng-icons/core';
|
|
3
|
+
import { lucideChevronDown } from '@ng-icons/lucide';
|
|
4
|
+
import {
|
|
5
|
+
BrnComboboxAnchor,
|
|
6
|
+
BrnComboboxInputWrapper,
|
|
7
|
+
BrnComboboxPopoverTrigger,
|
|
8
|
+
BrnComboboxTrigger,
|
|
9
|
+
} from '@spartan-ng/brain/combobox';
|
|
10
|
+
import { ButtonVariants, HlmButton } from '<%- importAlias %>/button';
|
|
11
|
+
import { hlm } from '<%- importAlias %>/utils';
|
|
12
|
+
import type { ClassValue } from 'clsx';
|
|
13
|
+
|
|
14
|
+
@Component({
|
|
15
|
+
selector: 'hlm-combobox-trigger',
|
|
16
|
+
imports: [NgIcon, HlmButton, BrnComboboxAnchor, BrnComboboxTrigger, BrnComboboxPopoverTrigger],
|
|
17
|
+
providers: [provideIcons({ lucideChevronDown })],
|
|
18
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
19
|
+
hostDirectives: [BrnComboboxInputWrapper],
|
|
20
|
+
template: `
|
|
21
|
+
<button
|
|
22
|
+
brnComboboxTrigger
|
|
23
|
+
brnComboboxAnchor
|
|
24
|
+
brnComboboxPopoverTrigger
|
|
25
|
+
hlmBtn
|
|
26
|
+
data-slot="combobox-trigger"
|
|
27
|
+
[class]="_computedClass()"
|
|
28
|
+
[variant]="variant()"
|
|
29
|
+
>
|
|
30
|
+
<ng-content />
|
|
31
|
+
<ng-icon name="lucideChevronDown" />
|
|
32
|
+
</button>
|
|
33
|
+
`,
|
|
34
|
+
})
|
|
35
|
+
export class HlmComboboxTrigger {
|
|
36
|
+
public readonly userClass = input<ClassValue>('', {
|
|
37
|
+
alias: 'class',
|
|
38
|
+
});
|
|
39
|
+
protected readonly _computedClass = computed(() => hlm(this.userClass()));
|
|
40
|
+
|
|
41
|
+
public readonly variant = input<ButtonVariants['variant']>('outline');
|
|
42
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import { BrnCombobox } from '@spartan-ng/brain/combobox';
|
|
3
|
+
import { provideBrnDialogDefaultOptions } from '@spartan-ng/brain/dialog';
|
|
4
|
+
import { BrnPopover, provideBrnPopoverConfig } from '@spartan-ng/brain/popover';
|
|
5
|
+
import { classes } from '<%- importAlias %>/utils';
|
|
6
|
+
|
|
7
|
+
@Directive({
|
|
8
|
+
selector: '[hlmCombobox],hlm-combobox',
|
|
9
|
+
providers: [
|
|
10
|
+
provideBrnPopoverConfig({
|
|
11
|
+
align: 'start',
|
|
12
|
+
sideOffset: 6,
|
|
13
|
+
}),
|
|
14
|
+
provideBrnDialogDefaultOptions({
|
|
15
|
+
autoFocus: 'first-heading',
|
|
16
|
+
}),
|
|
17
|
+
],
|
|
18
|
+
hostDirectives: [
|
|
19
|
+
{
|
|
20
|
+
directive: BrnCombobox,
|
|
21
|
+
inputs: ['disabled', 'filter', 'value', 'itemToString', 'filterOptions', 'isItemEqualToValue'],
|
|
22
|
+
outputs: ['valueChange'],
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
directive: BrnPopover,
|
|
26
|
+
inputs: ['align', 'autoFocus', 'closeDelay', 'closeOnOutsidePointerEvents', 'sideOffset', 'state', 'offsetX'],
|
|
27
|
+
outputs: ['stateChanged', 'closed'],
|
|
28
|
+
},
|
|
29
|
+
],
|
|
30
|
+
host: {
|
|
31
|
+
'data-slot': 'combobox',
|
|
32
|
+
},
|
|
33
|
+
})
|
|
34
|
+
export class HlmCombobox {
|
|
35
|
+
constructor() {
|
|
36
|
+
classes(() => 'block');
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generator = generator;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const generator_1 = tslib_1.__importDefault(require("../../../base/generator"));
|
|
6
|
+
async function generator(tree, options) {
|
|
7
|
+
return await (0, generator_1.default)(tree, { ...options, name: 'combobox' });
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../../libs/cli/src/generators/ui/libs/combobox/generator.ts"],"names":[],"mappings":";;AAIA,8BAEC;;AALD,gFAAuD;AAGhD,KAAK,UAAU,SAAS,CAAC,IAAU,EAAE,OAA+B;IAC1E,OAAO,MAAM,IAAA,mBAAgB,EAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;AACvE,CAAC"}
|
|
@@ -17,6 +17,7 @@ exports.primitiveDependencies = {
|
|
|
17
17
|
carousel: ['utils', 'button', 'icon'],
|
|
18
18
|
checkbox: ['utils', 'icon'],
|
|
19
19
|
collapsible: ['utils'],
|
|
20
|
+
combobox: ['utils', 'input-group', 'button', 'icon'],
|
|
20
21
|
command: ['utils', 'button', 'icon'],
|
|
21
22
|
'context-menu': ['utils', 'dropdown-menu'],
|
|
22
23
|
'date-picker': ['utils', 'calendar', 'icon', 'popover'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primitive-deps.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/generators/ui/primitive-deps.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"primitive-deps.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/generators/ui/primitive-deps.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export type Primitive = 'accordion' | 'alert' | 'alert-dialog' | 'aspect-ratio' | 'autocomplete' | 'avatar' | 'badge' | 'breadcrumb' | 'button' | 'button-group' | 'calendar' | 'card' | 'carousel' | 'checkbox' | 'collapsible' | 'command' | 'context-menu' | 'date-picker' | 'dialog' | 'dropdown-menu' | 'empty' | 'field' | 'form-field' | 'hover-card' | 'icon' | 'input' | 'input-group' | 'input-otp' | 'item' | 'kbd' | 'label' | 'menubar' | 'navigation-menu' | 'pagination' | 'popover' | 'progress' | 'radio-group' | 'resizable' | 'scroll-area' | 'select' | 'separator' | 'sheet' | 'sidebar' | 'skeleton' | 'slider' | 'sonner' | 'spinner' | 'switch' | 'table' | 'tabs' | 'textarea' | 'toggle' | 'toggle-group' | 'tooltip' | 'typography' | 'utils';
|
|
1
|
+
export type Primitive = 'accordion' | 'alert' | 'alert-dialog' | 'aspect-ratio' | 'autocomplete' | 'avatar' | 'badge' | 'breadcrumb' | 'button' | 'button-group' | 'calendar' | 'card' | 'carousel' | 'checkbox' | 'collapsible' | 'combobox' | 'command' | 'context-menu' | 'date-picker' | 'dialog' | 'dropdown-menu' | 'empty' | 'field' | 'form-field' | 'hover-card' | 'icon' | 'input' | 'input-group' | 'input-otp' | 'item' | 'kbd' | 'label' | 'menubar' | 'navigation-menu' | 'pagination' | 'popover' | 'progress' | 'radio-group' | 'resizable' | 'scroll-area' | 'select' | 'separator' | 'sheet' | 'sidebar' | 'skeleton' | 'slider' | 'sonner' | 'spinner' | 'switch' | 'table' | 'tabs' | 'textarea' | 'toggle' | 'toggle-group' | 'tooltip' | 'typography' | 'utils';
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"name": "accordion",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/core": ">=20.0.0 <22.0.0",
|
|
6
|
-
"@spartan-ng/brain": "0.0.1-alpha.
|
|
6
|
+
"@spartan-ng/brain": "0.0.1-alpha.604",
|
|
7
7
|
"@ng-icons/core": ">=32.0.0 <34.0.0",
|
|
8
8
|
"@ng-icons/lucide": ">=32.0.0 <34.0.0"
|
|
9
9
|
}
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"name": "alert-dialog",
|
|
20
20
|
"peerDependencies": {
|
|
21
21
|
"@angular/core": ">=20.0.0 <22.0.0",
|
|
22
|
-
"@spartan-ng/brain": "0.0.1-alpha.
|
|
22
|
+
"@spartan-ng/brain": "0.0.1-alpha.604",
|
|
23
23
|
"clsx": "^2.1.1"
|
|
24
24
|
}
|
|
25
25
|
},
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"name": "autocomplete",
|
|
35
35
|
"peerDependencies": {
|
|
36
36
|
"@angular/core": ">=20.0.0 <22.0.0",
|
|
37
|
-
"@spartan-ng/brain": "0.0.1-alpha.
|
|
37
|
+
"@spartan-ng/brain": "0.0.1-alpha.604",
|
|
38
38
|
"@angular/cdk": ">=20.0.0 <22.0.0",
|
|
39
39
|
"@angular/common": ">=20.0.0 <22.0.0",
|
|
40
40
|
"@angular/forms": ">=20.0.0 <22.0.0",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"name": "avatar",
|
|
48
48
|
"peerDependencies": {
|
|
49
49
|
"@angular/core": ">=20.0.0 <22.0.0",
|
|
50
|
-
"@spartan-ng/brain": "0.0.1-alpha.
|
|
50
|
+
"@spartan-ng/brain": "0.0.1-alpha.604"
|
|
51
51
|
}
|
|
52
52
|
},
|
|
53
53
|
"badge": {
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
"name": "button",
|
|
72
72
|
"peerDependencies": {
|
|
73
73
|
"@angular/core": ">=20.0.0 <22.0.0",
|
|
74
|
-
"@spartan-ng/brain": "0.0.1-alpha.
|
|
74
|
+
"@spartan-ng/brain": "0.0.1-alpha.604",
|
|
75
75
|
"class-variance-authority": "^0.7.0",
|
|
76
76
|
"clsx": "^2.1.1"
|
|
77
77
|
}
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
"name": "button-group",
|
|
81
81
|
"peerDependencies": {
|
|
82
82
|
"@angular/core": ">=20.0.0 <22.0.0",
|
|
83
|
-
"@spartan-ng/brain": "0.0.1-alpha.
|
|
83
|
+
"@spartan-ng/brain": "0.0.1-alpha.604",
|
|
84
84
|
"class-variance-authority": "^0.7.0"
|
|
85
85
|
}
|
|
86
86
|
},
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
"@angular/core": ">=20.0.0 <22.0.0",
|
|
93
93
|
"@ng-icons/core": ">=32.0.0 <34.0.0",
|
|
94
94
|
"@ng-icons/lucide": ">=32.0.0 <34.0.0",
|
|
95
|
-
"@spartan-ng/brain": "0.0.1-alpha.
|
|
95
|
+
"@spartan-ng/brain": "0.0.1-alpha.604",
|
|
96
96
|
"clsx": "^2.1.1"
|
|
97
97
|
}
|
|
98
98
|
},
|
|
@@ -121,7 +121,7 @@
|
|
|
121
121
|
"@angular/cdk": ">=20.0.0 <22.0.0",
|
|
122
122
|
"@ng-icons/core": ">=32.0.0 <34.0.0",
|
|
123
123
|
"@ng-icons/lucide": ">=32.0.0 <34.0.0",
|
|
124
|
-
"@spartan-ng/brain": "0.0.1-alpha.
|
|
124
|
+
"@spartan-ng/brain": "0.0.1-alpha.604",
|
|
125
125
|
"clsx": "^2.1.1"
|
|
126
126
|
}
|
|
127
127
|
},
|
|
@@ -129,21 +129,32 @@
|
|
|
129
129
|
"name": "collapsible",
|
|
130
130
|
"peerDependencies": {
|
|
131
131
|
"@angular/core": ">=20.0.0 <22.0.0",
|
|
132
|
-
"@spartan-ng/brain": "0.0.1-alpha.
|
|
132
|
+
"@spartan-ng/brain": "0.0.1-alpha.604"
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
"combobox": {
|
|
136
|
+
"name": "combobox",
|
|
137
|
+
"peerDependencies": {
|
|
138
|
+
"@angular/core": ">=20.0.0 <22.0.0",
|
|
139
|
+
"@spartan-ng/brain": "0.0.1-alpha.604",
|
|
140
|
+
"@angular/cdk": ">=20.0.0 <22.0.0",
|
|
141
|
+
"@ng-icons/core": ">=32.0.0 <34.0.0",
|
|
142
|
+
"@ng-icons/lucide": ">=32.0.0 <34.0.0",
|
|
143
|
+
"clsx": "^2.1.1"
|
|
133
144
|
}
|
|
134
145
|
},
|
|
135
146
|
"command": {
|
|
136
147
|
"name": "command",
|
|
137
148
|
"peerDependencies": {
|
|
138
149
|
"@angular/core": ">=20.0.0 <22.0.0",
|
|
139
|
-
"@spartan-ng/brain": "0.0.1-alpha.
|
|
150
|
+
"@spartan-ng/brain": "0.0.1-alpha.604"
|
|
140
151
|
}
|
|
141
152
|
},
|
|
142
153
|
"context-menu": {
|
|
143
154
|
"name": "context-menu",
|
|
144
155
|
"peerDependencies": {
|
|
145
156
|
"@angular/core": ">=20.0.0 <22.0.0",
|
|
146
|
-
"@spartan-ng/brain": "0.0.1-alpha.
|
|
157
|
+
"@spartan-ng/brain": "0.0.1-alpha.604",
|
|
147
158
|
"@angular/cdk": ">=20.0.0 <22.0.0",
|
|
148
159
|
"rxjs": "^7.8.0"
|
|
149
160
|
}
|
|
@@ -156,7 +167,7 @@
|
|
|
156
167
|
"@angular/forms": ">=20.0.0 <22.0.0",
|
|
157
168
|
"@ng-icons/core": ">=32.0.0 <34.0.0",
|
|
158
169
|
"@ng-icons/lucide": ">=32.0.0 <34.0.0",
|
|
159
|
-
"@spartan-ng/brain": "0.0.1-alpha.
|
|
170
|
+
"@spartan-ng/brain": "0.0.1-alpha.604",
|
|
160
171
|
"clsx": "^2.1.1"
|
|
161
172
|
}
|
|
162
173
|
},
|
|
@@ -164,7 +175,7 @@
|
|
|
164
175
|
"name": "dialog",
|
|
165
176
|
"peerDependencies": {
|
|
166
177
|
"@angular/core": ">=20.0.0 <22.0.0",
|
|
167
|
-
"@spartan-ng/brain": "0.0.1-alpha.
|
|
178
|
+
"@spartan-ng/brain": "0.0.1-alpha.604",
|
|
168
179
|
"@angular/cdk": ">=20.0.0 <22.0.0",
|
|
169
180
|
"@angular/common": ">=20.0.0 <22.0.0",
|
|
170
181
|
"@ng-icons/core": ">=32.0.0 <34.0.0",
|
|
@@ -180,7 +191,7 @@
|
|
|
180
191
|
"@ng-icons/lucide": ">=32.0.0 <34.0.0",
|
|
181
192
|
"@angular/cdk": ">=20.0.0 <22.0.0",
|
|
182
193
|
"rxjs": "^7.8.0",
|
|
183
|
-
"@spartan-ng/brain": "0.0.1-alpha.
|
|
194
|
+
"@spartan-ng/brain": "0.0.1-alpha.604"
|
|
184
195
|
}
|
|
185
196
|
},
|
|
186
197
|
"empty": {
|
|
@@ -203,14 +214,14 @@
|
|
|
203
214
|
"peerDependencies": {
|
|
204
215
|
"@angular/core": ">=20.0.0 <22.0.0",
|
|
205
216
|
"@angular/forms": ">=20.0.0 <22.0.0",
|
|
206
|
-
"@spartan-ng/brain": "0.0.1-alpha.
|
|
217
|
+
"@spartan-ng/brain": "0.0.1-alpha.604"
|
|
207
218
|
}
|
|
208
219
|
},
|
|
209
220
|
"hover-card": {
|
|
210
221
|
"name": "hover-card",
|
|
211
222
|
"peerDependencies": {
|
|
212
223
|
"@angular/core": ">=20.0.0 <22.0.0",
|
|
213
|
-
"@spartan-ng/brain": "0.0.1-alpha.
|
|
224
|
+
"@spartan-ng/brain": "0.0.1-alpha.604"
|
|
214
225
|
}
|
|
215
226
|
},
|
|
216
227
|
"icon": {
|
|
@@ -226,7 +237,7 @@
|
|
|
226
237
|
"peerDependencies": {
|
|
227
238
|
"@angular/core": ">=20.0.0 <22.0.0",
|
|
228
239
|
"@angular/forms": ">=20.0.0 <22.0.0",
|
|
229
|
-
"@spartan-ng/brain": "0.0.1-alpha.
|
|
240
|
+
"@spartan-ng/brain": "0.0.1-alpha.604",
|
|
230
241
|
"class-variance-authority": "^0.7.0",
|
|
231
242
|
"clsx": "^2.1.1"
|
|
232
243
|
}
|
|
@@ -245,7 +256,7 @@
|
|
|
245
256
|
"@ng-icons/core": ">=32.0.0 <34.0.0",
|
|
246
257
|
"@ng-icons/lucide": ">=32.0.0 <34.0.0",
|
|
247
258
|
"@angular/cdk": ">=20.0.0 <22.0.0",
|
|
248
|
-
"@spartan-ng/brain": "0.0.1-alpha.
|
|
259
|
+
"@spartan-ng/brain": "0.0.1-alpha.604"
|
|
249
260
|
}
|
|
250
261
|
},
|
|
251
262
|
"item": {
|
|
@@ -253,7 +264,7 @@
|
|
|
253
264
|
"peerDependencies": {
|
|
254
265
|
"@angular/core": ">=20.0.0 <22.0.0",
|
|
255
266
|
"class-variance-authority": "^0.7.0",
|
|
256
|
-
"@spartan-ng/brain": "0.0.1-alpha.
|
|
267
|
+
"@spartan-ng/brain": "0.0.1-alpha.604"
|
|
257
268
|
}
|
|
258
269
|
},
|
|
259
270
|
"kbd": {
|
|
@@ -266,14 +277,14 @@
|
|
|
266
277
|
"name": "label",
|
|
267
278
|
"peerDependencies": {
|
|
268
279
|
"@angular/core": ">=20.0.0 <22.0.0",
|
|
269
|
-
"@spartan-ng/brain": "0.0.1-alpha.
|
|
280
|
+
"@spartan-ng/brain": "0.0.1-alpha.604"
|
|
270
281
|
}
|
|
271
282
|
},
|
|
272
283
|
"menubar": {
|
|
273
284
|
"name": "menubar",
|
|
274
285
|
"peerDependencies": {
|
|
275
286
|
"@angular/core": ">=20.0.0 <22.0.0",
|
|
276
|
-
"@spartan-ng/brain": "0.0.1-alpha.
|
|
287
|
+
"@spartan-ng/brain": "0.0.1-alpha.604",
|
|
277
288
|
"@angular/cdk": ">=20.0.0 <22.0.0",
|
|
278
289
|
"rxjs": "^7.8.0"
|
|
279
290
|
}
|
|
@@ -282,7 +293,7 @@
|
|
|
282
293
|
"name": "navigation-menu",
|
|
283
294
|
"peerDependencies": {
|
|
284
295
|
"@angular/core": ">=20.0.0 <22.0.0",
|
|
285
|
-
"@spartan-ng/brain": "0.0.1-alpha.
|
|
296
|
+
"@spartan-ng/brain": "0.0.1-alpha.604"
|
|
286
297
|
}
|
|
287
298
|
},
|
|
288
299
|
"pagination": {
|
|
@@ -291,7 +302,7 @@
|
|
|
291
302
|
"@angular/cdk": ">=20.0.0 <22.0.0",
|
|
292
303
|
"@angular/core": ">=20.0.0 <22.0.0",
|
|
293
304
|
"@angular/forms": ">=20.0.0 <22.0.0",
|
|
294
|
-
"@spartan-ng/brain": "0.0.1-alpha.
|
|
305
|
+
"@spartan-ng/brain": "0.0.1-alpha.604",
|
|
295
306
|
"@ng-icons/core": ">=32.0.0 <34.0.0",
|
|
296
307
|
"@ng-icons/lucide": ">=32.0.0 <34.0.0",
|
|
297
308
|
"@angular/router": ">=20.0.0 <22.0.0"
|
|
@@ -301,21 +312,21 @@
|
|
|
301
312
|
"name": "popover",
|
|
302
313
|
"peerDependencies": {
|
|
303
314
|
"@angular/core": ">=20.0.0 <22.0.0",
|
|
304
|
-
"@spartan-ng/brain": "0.0.1-alpha.
|
|
315
|
+
"@spartan-ng/brain": "0.0.1-alpha.604"
|
|
305
316
|
}
|
|
306
317
|
},
|
|
307
318
|
"progress": {
|
|
308
319
|
"name": "progress",
|
|
309
320
|
"peerDependencies": {
|
|
310
321
|
"@angular/core": ">=20.0.0 <22.0.0",
|
|
311
|
-
"@spartan-ng/brain": "0.0.1-alpha.
|
|
322
|
+
"@spartan-ng/brain": "0.0.1-alpha.604"
|
|
312
323
|
}
|
|
313
324
|
},
|
|
314
325
|
"radio-group": {
|
|
315
326
|
"name": "radio-group",
|
|
316
327
|
"peerDependencies": {
|
|
317
328
|
"@angular/core": ">=20.0.0 <22.0.0",
|
|
318
|
-
"@spartan-ng/brain": "0.0.1-alpha.
|
|
329
|
+
"@spartan-ng/brain": "0.0.1-alpha.604",
|
|
319
330
|
"@angular/cdk": ">=20.0.0 <22.0.0",
|
|
320
331
|
"@angular/common": ">=20.0.0 <22.0.0",
|
|
321
332
|
"clsx": "^2.1.1"
|
|
@@ -325,7 +336,7 @@
|
|
|
325
336
|
"name": "resizable",
|
|
326
337
|
"peerDependencies": {
|
|
327
338
|
"@angular/core": ">=20.0.0 <22.0.0",
|
|
328
|
-
"@spartan-ng/brain": "0.0.1-alpha.
|
|
339
|
+
"@spartan-ng/brain": "0.0.1-alpha.604",
|
|
329
340
|
"@ng-icons/core": ">=32.0.0 <34.0.0",
|
|
330
341
|
"@ng-icons/lucide": ">=32.0.0 <34.0.0"
|
|
331
342
|
}
|
|
@@ -341,7 +352,7 @@
|
|
|
341
352
|
"peerDependencies": {
|
|
342
353
|
"@angular/cdk": ">=20.0.0 <22.0.0",
|
|
343
354
|
"@angular/core": ">=20.0.0 <22.0.0",
|
|
344
|
-
"@spartan-ng/brain": "0.0.1-alpha.
|
|
355
|
+
"@spartan-ng/brain": "0.0.1-alpha.604",
|
|
345
356
|
"@ng-icons/core": ">=32.0.0 <34.0.0",
|
|
346
357
|
"@ng-icons/lucide": ">=32.0.0 <34.0.0",
|
|
347
358
|
"class-variance-authority": "^0.7.0",
|
|
@@ -352,14 +363,14 @@
|
|
|
352
363
|
"name": "separator",
|
|
353
364
|
"peerDependencies": {
|
|
354
365
|
"@angular/core": ">=20.0.0 <22.0.0",
|
|
355
|
-
"@spartan-ng/brain": "0.0.1-alpha.
|
|
366
|
+
"@spartan-ng/brain": "0.0.1-alpha.604"
|
|
356
367
|
}
|
|
357
368
|
},
|
|
358
369
|
"sheet": {
|
|
359
370
|
"name": "sheet",
|
|
360
371
|
"peerDependencies": {
|
|
361
372
|
"@angular/core": ">=20.0.0 <22.0.0",
|
|
362
|
-
"@spartan-ng/brain": "0.0.1-alpha.
|
|
373
|
+
"@spartan-ng/brain": "0.0.1-alpha.604",
|
|
363
374
|
"@ng-icons/core": ">=32.0.0 <34.0.0",
|
|
364
375
|
"@ng-icons/lucide": ">=32.0.0 <34.0.0",
|
|
365
376
|
"class-variance-authority": "^0.7.0",
|
|
@@ -371,7 +382,7 @@
|
|
|
371
382
|
"peerDependencies": {
|
|
372
383
|
"@angular/core": ">=20.0.0 <22.0.0",
|
|
373
384
|
"@angular/cdk": ">=20.0.0 <22.0.0",
|
|
374
|
-
"@spartan-ng/brain": "0.0.1-alpha.
|
|
385
|
+
"@spartan-ng/brain": "0.0.1-alpha.604",
|
|
375
386
|
"class-variance-authority": "^0.7.0",
|
|
376
387
|
"@ng-icons/core": ">=32.0.0 <34.0.0",
|
|
377
388
|
"@ng-icons/lucide": ">=32.0.0 <34.0.0",
|
|
@@ -389,7 +400,7 @@
|
|
|
389
400
|
"name": "slider",
|
|
390
401
|
"peerDependencies": {
|
|
391
402
|
"@angular/core": ">=20.0.0 <22.0.0",
|
|
392
|
-
"@spartan-ng/brain": "0.0.1-alpha.
|
|
403
|
+
"@spartan-ng/brain": "0.0.1-alpha.604"
|
|
393
404
|
}
|
|
394
405
|
},
|
|
395
406
|
"sonner": {
|
|
@@ -414,7 +425,7 @@
|
|
|
414
425
|
"@angular/core": ">=20.0.0 <22.0.0",
|
|
415
426
|
"@angular/cdk": ">=20.0.0 <22.0.0",
|
|
416
427
|
"@angular/forms": ">=20.0.0 <22.0.0",
|
|
417
|
-
"@spartan-ng/brain": "0.0.1-alpha.
|
|
428
|
+
"@spartan-ng/brain": "0.0.1-alpha.604",
|
|
418
429
|
"clsx": "^2.1.1"
|
|
419
430
|
}
|
|
420
431
|
},
|
|
@@ -428,7 +439,7 @@
|
|
|
428
439
|
"name": "tabs",
|
|
429
440
|
"peerDependencies": {
|
|
430
441
|
"@angular/core": ">=20.0.0 <22.0.0",
|
|
431
|
-
"@spartan-ng/brain": "0.0.1-alpha.
|
|
442
|
+
"@spartan-ng/brain": "0.0.1-alpha.604",
|
|
432
443
|
"class-variance-authority": "^0.7.0",
|
|
433
444
|
"@angular/cdk": ">=20.0.0 <22.0.0",
|
|
434
445
|
"@ng-icons/core": ">=32.0.0 <34.0.0",
|
|
@@ -442,7 +453,7 @@
|
|
|
442
453
|
"peerDependencies": {
|
|
443
454
|
"@angular/core": ">=20.0.0 <22.0.0",
|
|
444
455
|
"@angular/forms": ">=20.0.0 <22.0.0",
|
|
445
|
-
"@spartan-ng/brain": "0.0.1-alpha.
|
|
456
|
+
"@spartan-ng/brain": "0.0.1-alpha.604",
|
|
446
457
|
"class-variance-authority": "^0.7.0",
|
|
447
458
|
"clsx": "^2.1.1"
|
|
448
459
|
}
|
|
@@ -451,7 +462,7 @@
|
|
|
451
462
|
"name": "toggle",
|
|
452
463
|
"peerDependencies": {
|
|
453
464
|
"@angular/core": ">=20.0.0 <22.0.0",
|
|
454
|
-
"@spartan-ng/brain": "0.0.1-alpha.
|
|
465
|
+
"@spartan-ng/brain": "0.0.1-alpha.604",
|
|
455
466
|
"class-variance-authority": "^0.7.0"
|
|
456
467
|
}
|
|
457
468
|
},
|
|
@@ -459,7 +470,7 @@
|
|
|
459
470
|
"name": "toggle-group",
|
|
460
471
|
"peerDependencies": {
|
|
461
472
|
"@angular/core": ">=20.0.0 <22.0.0",
|
|
462
|
-
"@spartan-ng/brain": "0.0.1-alpha.
|
|
473
|
+
"@spartan-ng/brain": "0.0.1-alpha.604",
|
|
463
474
|
"@angular/cdk": ">=20.0.0 <22.0.0"
|
|
464
475
|
}
|
|
465
476
|
},
|
|
@@ -467,7 +478,7 @@
|
|
|
467
478
|
"name": "tooltip",
|
|
468
479
|
"peerDependencies": {
|
|
469
480
|
"@angular/core": ">=20.0.0 <22.0.0",
|
|
470
|
-
"@spartan-ng/brain": "0.0.1-alpha.
|
|
481
|
+
"@spartan-ng/brain": "0.0.1-alpha.604"
|
|
471
482
|
}
|
|
472
483
|
},
|
|
473
484
|
"typography": {
|