@spartan-ng/cli 0.0.1-alpha.685 → 0.0.1-alpha.687

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spartan-ng/cli",
3
- "version": "0.0.1-alpha.685",
3
+ "version": "0.0.1-alpha.687",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/spartan-ng/spartan"
@@ -1,38 +1,17 @@
1
- import { Directive, input, linkedSignal } from '@angular/core';
1
+ import { Directive } from '@angular/core';
2
2
  import { BrnFieldControlDescribedBy } from '@spartan-ng/brain/field';
3
3
  import { BrnInput } from '@spartan-ng/brain/input';
4
4
  import { classes } from '<%- importAlias %>/utils';
5
- import { cva, type VariantProps } from 'class-variance-authority';
6
-
7
- export const inputVariants = cva(
8
- 'file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input focus-visible:border-ring focus-visible:ring-ring/50 flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:ring-[3px] disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',
9
- {
10
- variants: {
11
- error: {
12
- auto: 'data-[matches-spartan-invalid=true]:border-destructive data-[matches-spartan-invalid=true]:ring-destructive/20 dark:data-[matches-spartan-invalid=true]:ring-destructive/40',
13
- true: 'border-destructive focus-visible:border-destructive focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40',
14
- },
15
- },
16
- defaultVariants: {
17
- error: 'auto',
18
- },
19
- },
20
- );
21
- type InputVariants = VariantProps<typeof inputVariants>;
22
5
 
23
6
  @Directive({
24
7
  selector: '[hlmInput]',
25
- hostDirectives: [{ directive: BrnInput, inputs: ['id'] }, BrnFieldControlDescribedBy],
8
+ hostDirectives: [{ directive: BrnInput, inputs: ['id', 'forceInvalid'] }, BrnFieldControlDescribedBy],
26
9
  })
27
10
  export class HlmInput {
28
- /** Controls the error visual state of the input.
29
- * Defaults to 'auto', which infers the state from the associated form control.
30
- */
31
- public readonly error = input<InputVariants['error']>('auto');
32
-
33
- protected readonly _state = linkedSignal(() => ({ error: this.error() }));
34
-
35
11
  constructor() {
36
- classes(() => inputVariants({ error: this._state().error }));
12
+ classes(
13
+ () =>
14
+ 'spartan-input file:text-foreground placeholder:text-muted-foreground w-full min-w-0 outline-none file:inline-flex file:border-0 file:bg-transparent disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50',
15
+ );
37
16
  }
38
17
  }
@@ -3,15 +3,14 @@ import { classes } from '<%- importAlias %>/utils';
3
3
  import { cva, type VariantProps } from 'class-variance-authority';
4
4
 
5
5
  const inputGroupAddonVariants = cva(
6
- "text-muted-foreground flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>ng-icon:not([class*='text-'])]:text-base",
6
+ 'spartan-input-group-addon flex cursor-text items-center justify-center select-none',
7
7
  {
8
8
  variants: {
9
9
  align: {
10
- 'inline-start': 'order-first ps-3 has-[>button]:ml-[-0.45rem] has-[>kbd]:ml-[-0.35rem]',
11
- 'inline-end': 'order-last pe-3 has-[>button]:mr-[-0.45rem] has-[>kbd]:mr-[-0.35rem]',
12
- 'block-start':
13
- 'order-first w-full justify-start px-3 pt-3 group-has-[>input]/input-group:pt-2.5 [.border-b]:pb-3',
14
- 'block-end': 'order-last w-full justify-start px-3 pb-3 group-has-[>input]/input-group:pb-2.5 [.border-t]:pt-3',
10
+ 'inline-start': 'spartan-input-group-addon-align-inline-start order-first',
11
+ 'inline-end': 'spartan-input-group-addon-align-inline-end order-last',
12
+ 'block-start': 'spartan-input-group-addon-align-block-start order-first w-full justify-start',
13
+ 'block-end': 'spartan-input-group-addon-align-block-end order-last w-full justify-start',
15
14
  },
16
15
  },
17
16
  defaultVariants: {
@@ -23,7 +22,7 @@ const inputGroupAddonVariants = cva(
23
22
  type InputGroupAddonVariants = VariantProps<typeof inputGroupAddonVariants>;
24
23
 
25
24
  @Directive({
26
- selector: 'hlm-input-group-addon,[hlmInputGroupAddon]',
25
+ selector: '[hlmInputGroupAddon],hlm-input-group-addon',
27
26
  host: {
28
27
  role: 'group',
29
28
  'data-slot': 'input-group-addon',
@@ -3,13 +3,13 @@ import { HlmButton, provideBrnButtonConfig } from '<%- importAlias %>/button';
3
3
  import { classes } from '<%- importAlias %>/utils';
4
4
  import { cva, type VariantProps } from 'class-variance-authority';
5
5
 
6
- const inputGroupAddonVariants = cva('flex items-center gap-2 text-sm shadow-none', {
6
+ const inputGroupAddonVariants = cva('spartan-input-group-button flex items-center shadow-none', {
7
7
  variants: {
8
8
  size: {
9
- xs: "h-6 gap-1 rounded-[calc(var(--radius)-5px)] px-2 has-[>ng-icon]:px-2 [&>ng-icon:not([class*='text-'])]:text-sm",
10
- sm: 'h-8 gap-1.5 rounded-md px-2.5 has-[>ng-icon]:px-2.5',
11
- 'icon-xs': 'size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>ng-icon]:p-0',
12
- 'icon-sm': 'size-8 p-0 has-[>ng-icon]:p-0',
9
+ xs: 'spartan-input-group-button-size-xs',
10
+ sm: 'spartan-input-group-button-size-sm',
11
+ 'icon-xs': 'spartan-input-group-button-size-icon-xs',
12
+ 'icon-sm': 'spartan-input-group-button-size-icon-sm',
13
13
  },
14
14
  },
15
15
  defaultVariants: {
@@ -5,12 +5,10 @@ import { classes } from '<%- importAlias %>/utils';
5
5
  @Directive({
6
6
  selector: 'input[hlmInputGroupInput]',
7
7
  hostDirectives: [HlmInput],
8
- host: {
9
- 'data-slot': 'input-group-control',
10
- },
8
+ host: { 'data-slot': 'input-group-control' },
11
9
  })
12
10
  export class HlmInputGroupInput {
13
11
  constructor() {
14
- classes(() => `flex-1 rounded-none border-0 bg-transparent shadow-none focus-visible:ring-0 dark:bg-transparent`);
12
+ classes(() => `spartan-input-group-input flex-1`);
15
13
  }
16
14
  }
@@ -2,13 +2,10 @@ import { Directive } from '@angular/core';
2
2
  import { classes } from '<%- importAlias %>/utils';
3
3
 
4
4
  @Directive({
5
- selector: 'span[hlmInputGroupText]',
5
+ selector: '[hlmInputGroupText],hlm-input-group-text',
6
6
  })
7
7
  export class HlmInputGroupText {
8
8
  constructor() {
9
- classes(
10
- () =>
11
- `text-muted-foreground flex items-center gap-2 text-sm [&_ng-icon]:pointer-events-none [&_ng-icon:not([class*='text-'])]:text-base`,
12
- );
9
+ classes(() => 'spartan-input-group-text flex items-center [&_ng-icon]:pointer-events-none');
13
10
  }
14
11
  }
@@ -5,15 +5,10 @@ import { classes } from '<%- importAlias %>/utils';
5
5
  @Directive({
6
6
  selector: 'textarea[hlmInputGroupTextarea]',
7
7
  hostDirectives: [HlmTextarea],
8
- host: {
9
- 'data-slot': 'input-group-control',
10
- },
8
+ host: { 'data-slot': 'input-group-control' },
11
9
  })
12
10
  export class HlmInputGroupTextarea {
13
11
  constructor() {
14
- classes(
15
- () =>
16
- 'flex-1 resize-none rounded-none border-0 bg-transparent py-3 shadow-none focus-visible:ring-0 dark:bg-transparent',
17
- );
12
+ classes(() => 'spartan-input-group-textarea flex-1 resize-none');
18
13
  }
19
14
  }
@@ -1,5 +1,4 @@
1
- import { computed, contentChild, Directive, inject } from '@angular/core';
2
- import { BrnFieldControl } from '@spartan-ng/brain/field';
1
+ import { Directive } from '@angular/core';
3
2
  import { classes } from '<%- importAlias %>/utils';
4
3
 
5
4
  @Directive({
@@ -10,28 +9,10 @@ import { classes } from '<%- importAlias %>/utils';
10
9
  },
11
10
  })
12
11
  export class HlmInputGroup {
13
- private readonly _fieldControl = inject(BrnFieldControl, { optional: true });
14
- private readonly _fieldControlChild = contentChild(BrnFieldControl);
15
-
16
- private readonly _spartanInvalid = computed(() => {
17
- if (this._fieldControl) return this._fieldControl.spartanInvalid();
18
-
19
- return this._fieldControlChild()?.spartanInvalid();
20
- });
21
-
22
12
  constructor() {
23
- classes(() => [
24
- 'group/input-group border-input dark:bg-input/30 relative flex w-full items-center rounded-md border shadow-xs transition-[color,box-shadow] outline-none',
25
- 'h-9 min-w-0 has-[>textarea]:h-auto',
26
- // Variants based on alignment.
27
- 'has-[>[data-align=inline-start]]:[&>input]:ps-2',
28
- 'has-[>[data-align=inline-end]]:[&>input]:pe-2',
29
- 'has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-start]]:[&>input]:pb-3',
30
- 'has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3',
31
- 'has-[[data-slot=input-group-control]:focus-visible]:ring-[3px]',
32
- this._spartanInvalid?.()
33
- ? 'has-[>[data-matches-spartan-invalid=true]]:ring-destructive/20 has-[>[data-matches-spartan-invalid=true]]:border-destructive dark:has-[>[data-matches-spartan-invalid=true]]:ring-destructive/40'
34
- : 'has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50',
35
- ]);
13
+ classes(
14
+ () =>
15
+ 'group/input-group spartan-input-group relative flex w-full min-w-0 items-center outline-none has-[>textarea]:h-auto',
16
+ );
36
17
  }
37
18
  }
@@ -1,20 +1,17 @@
1
1
  import { Directive } from '@angular/core';
2
- import { HlmInput, inputVariants } from '<%- importAlias %>/input';
2
+ import { HlmInput } from '<%- importAlias %>/input';
3
3
  import { classes } from '<%- importAlias %>/utils';
4
4
 
5
5
  @Directive({
6
6
  selector: 'input[hlmSidebarInput]',
7
+ hostDirectives: [HlmInput],
7
8
  host: {
8
9
  'data-slot': 'sidebar-input',
9
10
  'data-sidebar': 'input',
10
11
  },
11
12
  })
12
- export class HlmSidebarInput extends HlmInput {
13
+ export class HlmSidebarInput {
13
14
  constructor() {
14
- super();
15
- classes(() => [
16
- inputVariants({ error: this._state().error }),
17
- 'bg-background focus-visible:ring-sidebar-ring h-8 w-full shadow-none focus-visible:ring-2',
18
- ]);
15
+ classes(() => 'spartan-sidebar-input');
19
16
  }
20
17
  }
@@ -4,7 +4,7 @@ import { classes } from '<%- importAlias %>/utils';
4
4
 
5
5
  @Directive({
6
6
  selector: '[hlmSidebarSeparator],hlm-sidebar-separator',
7
- hostDirectives: [{ directive: HlmSeparator }],
7
+ hostDirectives: [HlmSeparator],
8
8
  host: {
9
9
  'data-slot': 'sidebar-separator',
10
10
  'data-sidebar': 'separator',
@@ -12,6 +12,6 @@ import { classes } from '<%- importAlias %>/utils';
12
12
  })
13
13
  export class HlmSidebarSeparator {
14
14
  constructor() {
15
- classes(() => 'bg-sidebar-border mx-2 w-auto');
15
+ classes(() => 'spartan-sidebar-separator w-auto');
16
16
  }
17
17
  }
@@ -1,39 +1,18 @@
1
- import { Directive, input } from '@angular/core';
1
+ import { Directive } from '@angular/core';
2
2
  import { BrnFieldControlDescribedBy } from '@spartan-ng/brain/field';
3
3
  import { BrnTextarea } from '@spartan-ng/brain/textarea';
4
4
  import { classes } from '<%- importAlias %>/utils';
5
- import { cva, type VariantProps } from 'class-variance-authority';
6
-
7
- export const textareaVariants = cva(
8
- 'border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 dark:bg-input/30 flex [field-sizing:content] min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',
9
- {
10
- variants: {
11
- error: {
12
- auto: 'data-[matches-spartan-invalid=true]:border-destructive data-[matches-spartan-invalid=true]:ring-destructive/20 dark:data-[matches-spartan-invalid=true]:ring-destructive/40',
13
- true: 'border-destructive focus-visible:border-destructive focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40',
14
- },
15
- },
16
- defaultVariants: {
17
- error: 'auto',
18
- },
19
- },
20
- );
21
- type TextareaVariants = VariantProps<typeof textareaVariants>;
22
5
 
23
6
  @Directive({
24
7
  selector: '[hlmTextarea]',
25
- hostDirectives: [{ directive: BrnTextarea, inputs: ['id'] }, BrnFieldControlDescribedBy],
26
- host: {
27
- 'data-slot': 'textarea',
28
- },
8
+ hostDirectives: [{ directive: BrnTextarea, inputs: ['id', 'forceInvalid'] }, BrnFieldControlDescribedBy],
9
+ host: { 'data-slot': 'textarea' },
29
10
  })
30
11
  export class HlmTextarea {
31
- /** Controls the error visual state of the textarea.
32
- * Defaults to 'auto', which infers the state from the associated form control.
33
- */
34
- public readonly error = input<TextareaVariants['error']>('auto');
35
-
36
12
  constructor() {
37
- classes(() => textareaVariants({ error: this.error() }));
13
+ classes(
14
+ () =>
15
+ 'spartan-textarea placeholder:text-muted-foreground flex field-sizing-content min-h-16 w-full outline-none disabled:cursor-not-allowed disabled:opacity-50',
16
+ );
38
17
  }
39
18
  }
@@ -289,19 +289,19 @@
289
289
 
290
290
  /* MARK: Input Group */
291
291
  .spartan-input-group {
292
- @apply bg-input/50 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-ring/30 has-[[data-slot][data-[matches-spartan-invalid=true]=true]]:ring-destructive/20 has-[[data-slot][data-[matches-spartan-invalid=true]=true]]:border-destructive dark:has-[[data-slot][data-[matches-spartan-invalid=true]=true]]:ring-destructive/40 h-9 rounded-4xl border border-transparent transition-[color,box-shadow,background-color] in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-data-[align=block-end]:rounded-3xl has-data-[align=block-start]:rounded-3xl has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot][data-[matches-spartan-invalid=true]=true]]:ring-3 has-[textarea]:rounded-2xl has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pe-1.5 has-[>[data-align=inline-start]]:[&>input]:ps-1.5;
292
+ @apply bg-input/50 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-ring/30 has-[[data-slot][data-matches-spartan-invalid=true]]:ring-destructive/20 has-[[data-slot][data-matches-spartan-invalid=true]]:border-destructive dark:has-[[data-slot][data-matches-spartan-invalid=true]]:ring-destructive/40 h-9 rounded-4xl border border-transparent transition-[color,box-shadow,background-color] in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-data-[align=block-end]:rounded-3xl has-data-[align=block-start]:rounded-3xl has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot][data-matches-spartan-invalid=true]]:ring-3 has-[textarea]:rounded-2xl has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pe-1.5 has-[>[data-align=inline-start]]:[&>input]:ps-1.5;
293
293
  }
294
294
 
295
295
  .spartan-input-group-addon {
296
- @apply text-muted-foreground **:data-[slot=kbd]:bg-muted-foreground/10 h-auto gap-2 py-2 text-sm font-medium group-data-[disabled=true]/input-group:opacity-50 **:data-[slot=kbd]:rounded-3xl **:data-[slot=kbd]:px-1.5 [&>svg:not([class*='size-'])]:size-4;
296
+ @apply text-muted-foreground **:data-[slot=kbd]:bg-muted-foreground/10 h-auto gap-2 py-2 text-sm font-medium group-data-[disabled=true]/input-group:opacity-50 **:data-[slot=kbd]:rounded-3xl **:data-[slot=kbd]:px-1.5 [&>ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
297
297
  }
298
298
 
299
299
  .spartan-input-group-addon-align-inline-start {
300
- @apply ps-3 has-[>button]:-ml-1 has-[>kbd]:-ml-1;
300
+ @apply ps-3 has-[>button]:-ms-1 has-[>kbd]:-ms-1;
301
301
  }
302
302
 
303
303
  .spartan-input-group-addon-align-inline-end {
304
- @apply pe-3 has-[>button]:-mr-1 has-[>kbd]:-mr-1;
304
+ @apply pe-3 has-[>button]:-me-1 has-[>kbd]:-me-1;
305
305
  }
306
306
 
307
307
  .spartan-input-group-addon-align-block-start {
@@ -317,7 +317,7 @@
317
317
  }
318
318
 
319
319
  .spartan-input-group-button-size-xs {
320
- @apply h-6 gap-1 rounded-xl px-1.5 [&>svg:not([class*='size-'])]:size-3.5;
320
+ @apply h-6 gap-1 rounded-xl px-1.5 [&>ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*3.5)];
321
321
  }
322
322
 
323
323
  .spartan-input-group-button-size-icon-xs {
@@ -1290,15 +1290,15 @@
1290
1290
  }
1291
1291
 
1292
1292
  .spartan-input-group-addon {
1293
- @apply text-muted-foreground h-auto gap-2 py-1.5 text-xs font-medium group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-none [&>svg:not([class*='size-'])]:size-4;
1293
+ @apply text-muted-foreground h-auto gap-2 py-1.5 text-xs font-medium group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-none [&>ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
1294
1294
  }
1295
1295
 
1296
1296
  .spartan-input-group-addon-align-inline-start {
1297
- @apply ps-2 has-[>button]:ml-[-0.3rem] has-[>kbd]:ml-[-0.15rem];
1297
+ @apply ps-2 has-[>button]:ms-[-0.3rem] has-[>kbd]:ms-[-0.15rem];
1298
1298
  }
1299
1299
 
1300
1300
  .spartan-input-group-addon-align-inline-end {
1301
- @apply pe-2 has-[>button]:mr-[-0.3rem] has-[>kbd]:mr-[-0.15rem];
1301
+ @apply pe-2 has-[>button]:me-[-0.3rem] has-[>kbd]:me-[-0.15rem];
1302
1302
  }
1303
1303
 
1304
1304
  .spartan-input-group-addon-align-block-start {
@@ -1314,15 +1314,19 @@
1314
1314
  }
1315
1315
 
1316
1316
  .spartan-input-group-button-size-xs {
1317
- @apply h-6 gap-1 rounded-none px-1.5 [&>svg:not([class*='size-'])]:size-3.5;
1317
+ @apply h-6 gap-1 rounded-none px-1.5 [&>ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*3.5)];
1318
1318
  }
1319
1319
 
1320
1320
  .spartan-input-group-button-size-icon-xs {
1321
1321
  @apply size-6 rounded-none p-0 has-[>ng-icon]:p-0;
1322
1322
  }
1323
1323
 
1324
+ .spartan-input-group-button-size-sm {
1325
+ @apply gap-1;
1326
+ }
1327
+
1324
1328
  .spartan-input-group-button-size-icon-sm {
1325
- @apply size-8 p-0 has-[>ng-icon]:p-0;
1329
+ @apply size-7 p-0 has-[>ng-icon]:p-0;
1326
1330
  }
1327
1331
 
1328
1332
  .spartan-input-group-text {
@@ -643,7 +643,7 @@
643
643
 
644
644
  /* MARK: Input */
645
645
  .spartan-input {
646
- @apply bg-input/30 border-input focus-visible:border-ring focus-visible:ring-ring/50 data-[matches-spartan-invalid=true]:ring-destructive/20 dark:data-[matches-spartan-invalid=true]:ring-destructive/40 data-[matches-spartan-invalid=true]:border-destructive dark:data-[matches-spartan-invalid=true]:border-destructive/50 h-9 rounded-4xl border px-3 py-1 text-base transition-colors file:h-7 file:text-sm file:font-medium focus-visible:ring-[3px] data-[matches-spartan-invalid=true]:ring-[3px] md:text-sm;
646
+ @apply bg-input/30 border-input focus-visible:border-ring focus-visible:ring-ring/50 data-[matches-spartan-invalid=true]:ring-destructive/20 dark:data-[matches-spartan-invalid=true]:ring-destructive/40 data-[matches-spartan-invalid=true]:border-destructive dark:data-[matches-spartan-invalid=true]:border-destructive/50 h-9 rounded-4xl border px-3 py-1 text-base transition-colors file:h-7 file:text-sm file:font-medium focus-visible:ring-3 data-[matches-spartan-invalid=true]:ring-3 md:text-sm;
647
647
  }
648
648
 
649
649
  /* MARK: Input OTP */
@@ -1255,7 +1255,7 @@
1255
1255
 
1256
1256
  /* MARK: Textarea */
1257
1257
  .spartan-textarea {
1258
- @apply border-input bg-input/30 focus-visible:border-ring focus-visible:ring-ring/50 data-[matches-spartan-invalid=true]:ring-destructive/20 dark:data-[matches-spartan-invalid=true]:ring-destructive/40 data-[matches-spartan-invalid=true]:border-destructive dark:data-[matches-spartan-invalid=true]:border-destructive/50 resize-none rounded-xl border px-3 py-3 text-base transition-colors focus-visible:ring-[3px] data-[matches-spartan-invalid=true]:ring-[3px] md:text-sm;
1258
+ @apply border-input bg-input/30 focus-visible:border-ring focus-visible:ring-ring/50 data-[matches-spartan-invalid=true]:ring-destructive/20 dark:data-[matches-spartan-invalid=true]:ring-destructive/40 data-[matches-spartan-invalid=true]:border-destructive dark:data-[matches-spartan-invalid=true]:border-destructive/50 resize-none rounded-xl border px-3 py-3 text-base transition-colors focus-visible:ring-3 data-[matches-spartan-invalid=true]:ring-3 md:text-sm;
1259
1259
  }
1260
1260
 
1261
1261
  /* MARK: Toggle */
@@ -1311,19 +1311,19 @@
1311
1311
 
1312
1312
  /* MARK: Input Group */
1313
1313
  .spartan-input-group {
1314
- @apply border-input bg-input/30 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][data-matches-spartan-invalid=true]]:ring-destructive/20 has-[[data-slot][data-matches-spartan-invalid=true]]:border-destructive dark:has-[[data-slot][data-matches-spartan-invalid=true]]:ring-destructive/40 h-9 rounded-4xl border transition-colors in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-data-[align=block-end]:rounded-2xl has-data-[align=block-start]:rounded-2xl has-[[data-slot=input-group-control]:focus-visible]:ring-[3px] has-[[data-slot][data-matches-spartan-invalid=true]]:ring-[3px] has-[textarea]:rounded-xl has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pe-1.5 has-[>[data-align=inline-start]]:[&>input]:ps-1.5;
1314
+ @apply border-input bg-input/30 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][data-matches-spartan-invalid=true]]:ring-destructive/20 has-[[data-slot][data-matches-spartan-invalid=true]]:border-destructive dark:has-[[data-slot][data-matches-spartan-invalid=true]]:ring-destructive/40 h-9 rounded-4xl border transition-colors in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-data-[align=block-end]:rounded-2xl has-data-[align=block-start]:rounded-2xl has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot][data-matches-spartan-invalid=true]]:ring-3 has-[textarea]:rounded-xl has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pe-1.5 has-[>[data-align=inline-start]]:[&>input]:ps-1.5;
1315
1315
  }
1316
1316
 
1317
1317
  .spartan-input-group-addon {
1318
- @apply text-muted-foreground **:data-[slot=kbd]:bg-muted-foreground/10 h-auto gap-2 py-2 text-sm font-medium group-data-[disabled=true]/input-group:opacity-50 **:data-[slot=kbd]:rounded-4xl **:data-[slot=kbd]:px-1.5 [&>svg:not([class*='size-'])]:size-4;
1318
+ @apply text-muted-foreground **:data-[slot=kbd]:bg-muted-foreground/10 h-auto gap-2 py-2 text-sm font-medium group-data-[disabled=true]/input-group:opacity-50 **:data-[slot=kbd]:rounded-4xl **:data-[slot=kbd]:px-1.5 [&>ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
1319
1319
  }
1320
1320
 
1321
1321
  .spartan-input-group-addon-align-inline-start {
1322
- @apply ps-3 has-[>button]:-ml-1 has-[>kbd]:ml-[-0.15rem];
1322
+ @apply ps-3 has-[>button]:-ms-1 has-[>kbd]:ms-[-0.15rem];
1323
1323
  }
1324
1324
 
1325
1325
  .spartan-input-group-addon-align-inline-end {
1326
- @apply pe-3 has-[>button]:-mr-1 has-[>kbd]:mr-[-0.15rem];
1326
+ @apply pe-3 has-[>button]:-me-1 has-[>kbd]:me-[-0.15rem];
1327
1327
  }
1328
1328
 
1329
1329
  .spartan-input-group-addon-align-block-start {
@@ -1339,7 +1339,7 @@
1339
1339
  }
1340
1340
 
1341
1341
  .spartan-input-group-button-size-xs {
1342
- @apply h-6 gap-1 px-1.5 [&>svg:not([class*='size-'])]:size-3.5;
1342
+ @apply h-6 gap-1 px-1.5 [&>ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*3.5)];
1343
1343
  }
1344
1344
 
1345
1345
  .spartan-input-group-button-size-icon-xs {
@@ -1317,15 +1317,15 @@
1317
1317
  }
1318
1318
 
1319
1319
  .spartan-input-group-addon {
1320
- @apply text-muted-foreground **:data-[slot=kbd]:bg-muted-foreground/10 h-auto gap-1 py-2 text-xs/relaxed font-medium group-data-[disabled=true]/input-group:opacity-50 **:data-[slot=kbd]:rounded-[calc(var(--radius-sm)-2px)] **:data-[slot=kbd]:px-1 **:data-[slot=kbd]:text-[0.625rem] [&>svg:not([class*='size-'])]:size-3.5;
1320
+ @apply text-muted-foreground **:data-[slot=kbd]:bg-muted-foreground/10 h-auto gap-1 py-2 text-xs/relaxed font-medium group-data-[disabled=true]/input-group:opacity-50 **:data-[slot=kbd]:rounded-[calc(var(--radius-sm)-2px)] **:data-[slot=kbd]:px-1 **:data-[slot=kbd]:text-[0.625rem] [&>ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*3.5)];
1321
1321
  }
1322
1322
 
1323
1323
  .spartan-input-group-addon-align-inline-start {
1324
- @apply ps-2 has-[>button]:ml-[-0.275rem] has-[>kbd]:ml-[-0.275rem];
1324
+ @apply ps-2 has-[>button]:ms-[-0.275rem] has-[>kbd]:ms-[-0.275rem];
1325
1325
  }
1326
1326
 
1327
1327
  .spartan-input-group-addon-align-inline-end {
1328
- @apply pe-2 has-[>button]:mr-[-0.275rem] has-[>kbd]:mr-[-0.275rem];
1328
+ @apply pe-2 has-[>button]:me-[-0.275rem] has-[>kbd]:me-[-0.275rem];
1329
1329
  }
1330
1330
 
1331
1331
  .spartan-input-group-addon-align-block-start {
@@ -1341,15 +1341,19 @@
1341
1341
  }
1342
1342
 
1343
1343
  .spartan-input-group-button-size-xs {
1344
- @apply h-5 gap-1 rounded-[calc(var(--radius-sm)-2px)] px-1 [&>svg:not([class*='size-'])]:size-3;
1344
+ @apply h-5 gap-1 rounded-[calc(var(--radius-sm)-2px)] px-1 [&>ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*3)];
1345
1345
  }
1346
1346
 
1347
1347
  .spartan-input-group-button-size-icon-xs {
1348
1348
  @apply size-6 p-0 has-[>ng-icon]:p-0;
1349
1349
  }
1350
1350
 
1351
+ .spartan-input-group-button-size-sm {
1352
+ @apply gap-1;
1353
+ }
1354
+
1351
1355
  .spartan-input-group-button-size-icon-sm {
1352
- @apply size-8 p-0 has-[>ng-icon]:p-0;
1356
+ @apply size-7 p-0 has-[>ng-icon]:p-0;
1353
1357
  }
1354
1358
 
1355
1359
  .spartan-input-group-text {
@@ -1311,19 +1311,19 @@
1311
1311
 
1312
1312
  /* MARK: Input Group */
1313
1313
  .spartan-input-group {
1314
- @apply border-input dark:bg-input/30 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][data-matches-spartan-invalid=true]]:ring-destructive/20 has-[[data-slot][data-matches-spartan-invalid=true]]:border-destructive dark:has-[[data-slot][data-matches-spartan-invalid=true]]:ring-destructive/40 has-disabled:bg-input/50 dark:has-disabled:bg-input/80 h-8 rounded-lg border transition-colors in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-disabled:opacity-50 has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot][data-matches-spartan-invalid=true]]:ring-3 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pe-1.5 has-[>[data-align=inline-start]]:[&>input]:ps-1.5;
1314
+ @apply border-input dark:bg-input/30 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][data-matches-spartan-invalid=true]]:ring-destructive/20 has-[[data-slot][data-matches-spartan-invalid=true]]:border-destructive dark:has-[[data-slot][data-matches-spartan-invalid=true]]:ring-destructive/40 has-[[data-slot=input-group-control]:disabled]:bg-input/50 dark:has-[[data-slot=input-group-control]:disabled]:bg-input/80 h-8 rounded-lg border transition-colors in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-[[data-slot=input-group-control]:disabled]:opacity-50 has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot][data-matches-spartan-invalid=true]]:ring-3 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pe-1.5 has-[>[data-align=inline-start]]:[&>input]:ps-1.5;
1315
1315
  }
1316
1316
 
1317
1317
  .spartan-input-group-addon {
1318
- @apply text-muted-foreground h-auto gap-2 py-1.5 text-sm font-medium group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4;
1318
+ @apply text-muted-foreground h-auto gap-2 py-1.5 text-sm font-medium group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
1319
1319
  }
1320
1320
 
1321
1321
  .spartan-input-group-addon-align-inline-start {
1322
- @apply ps-2 has-[>button]:ml-[-0.3rem] has-[>kbd]:ml-[-0.15rem];
1322
+ @apply ps-2 has-[>button]:ms-[-0.3rem] has-[>kbd]:ms-[-0.15rem];
1323
1323
  }
1324
1324
 
1325
1325
  .spartan-input-group-addon-align-inline-end {
1326
- @apply pe-2 has-[>button]:mr-[-0.3rem] has-[>kbd]:mr-[-0.15rem];
1326
+ @apply pe-2 has-[>button]:me-[-0.3rem] has-[>kbd]:me-[-0.15rem];
1327
1327
  }
1328
1328
 
1329
1329
  .spartan-input-group-addon-align-block-start {
@@ -1339,7 +1339,7 @@
1339
1339
  }
1340
1340
 
1341
1341
  .spartan-input-group-button-size-xs {
1342
- @apply h-6 gap-1 rounded-[calc(var(--radius)-3px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5;
1342
+ @apply h-6 gap-1 rounded-[calc(var(--radius)-3px)] px-1.5 [&>ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*3.5)];
1343
1343
  }
1344
1344
 
1345
1345
  .spartan-input-group-button-size-icon-xs {
@@ -1307,19 +1307,19 @@
1307
1307
 
1308
1308
  /* MARK: Input Group */
1309
1309
  &.spartan-input-group {
1310
- @apply border-input dark:bg-input/30 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][data-matches-spartan-invalid=true]]:ring-destructive/20 has-[[data-slot][data-matches-spartan-invalid=true]]:border-destructive dark:has-[[data-slot][data-matches-spartan-invalid=true]]:ring-destructive/40 h-9 rounded-md border shadow-xs transition-[color,box-shadow] in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot][data-matches-spartan-invalid=true]]:ring-3 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5;
1310
+ @apply border-input dark:bg-input/30 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][data-matches-spartan-invalid=true]]:ring-destructive/20 has-[[data-slot][data-matches-spartan-invalid=true]]:border-destructive dark:has-[[data-slot][data-matches-spartan-invalid=true]]:ring-destructive/40 h-9 rounded-md border shadow-xs transition-[color,box-shadow] in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot][data-matches-spartan-invalid=true]]:ring-3 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pe-1.5 has-[>[data-align=inline-start]]:[&>input]:ps-1.5;
1311
1311
  }
1312
1312
 
1313
1313
  &.spartan-input-group-addon {
1314
- @apply text-muted-foreground h-auto gap-2 py-1.5 text-sm font-medium group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4;
1314
+ @apply text-muted-foreground h-auto gap-2 py-1.5 text-sm font-medium group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
1315
1315
  }
1316
1316
 
1317
1317
  &.spartan-input-group-addon-align-inline-start {
1318
- @apply pl-2 has-[>button]:-ml-1 has-[>kbd]:ml-[-0.15rem];
1318
+ @apply ps-2 has-[>button]:-ms-1 has-[>kbd]:ms-[-0.15rem];
1319
1319
  }
1320
1320
 
1321
1321
  &.spartan-input-group-addon-align-inline-end {
1322
- @apply pr-2 has-[>button]:-mr-1 has-[>kbd]:mr-[-0.15rem];
1322
+ @apply pe-2 has-[>button]:-me-1 has-[>kbd]:me-[-0.15rem];
1323
1323
  }
1324
1324
 
1325
1325
  &.spartan-input-group-addon-align-block-start {
@@ -1335,7 +1335,7 @@
1335
1335
  }
1336
1336
 
1337
1337
  &.spartan-input-group-button-size-xs {
1338
- @apply h-6 gap-1 rounded-[calc(var(--radius)-5px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5;
1338
+ @apply h-6 gap-1 rounded-[calc(var(--radius)-5px)] px-1.5 [&>ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*3.5)];
1339
1339
  }
1340
1340
 
1341
1341
  &.spartan-input-group-button-size-icon-xs {
@@ -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.685",
6
+ "@spartan-ng/brain": "0.0.1-alpha.687",
7
7
  "@ng-icons/core": ">=32.0.0 <34.0.0",
8
8
  "@ng-icons/lucide": ">=32.0.0 <34.0.0",
9
9
  "clsx": "^2.1.1"
@@ -20,7 +20,7 @@
20
20
  "name": "alert-dialog",
21
21
  "peerDependencies": {
22
22
  "@angular/core": ">=20.0.0 <22.0.0",
23
- "@spartan-ng/brain": "0.0.1-alpha.685",
23
+ "@spartan-ng/brain": "0.0.1-alpha.687",
24
24
  "clsx": "^2.1.1"
25
25
  }
26
26
  },
@@ -36,7 +36,7 @@
36
36
  "peerDependencies": {
37
37
  "@angular/core": ">=20.0.0 <22.0.0",
38
38
  "@angular/forms": ">=20.0.0 <22.0.0",
39
- "@spartan-ng/brain": "0.0.1-alpha.685",
39
+ "@spartan-ng/brain": "0.0.1-alpha.687",
40
40
  "@angular/cdk": ">=20.0.0 <22.0.0",
41
41
  "@ng-icons/core": ">=32.0.0 <34.0.0",
42
42
  "@ng-icons/lucide": ">=32.0.0 <34.0.0"
@@ -46,7 +46,7 @@
46
46
  "name": "avatar",
47
47
  "peerDependencies": {
48
48
  "@angular/core": ">=20.0.0 <22.0.0",
49
- "@spartan-ng/brain": "0.0.1-alpha.685"
49
+ "@spartan-ng/brain": "0.0.1-alpha.687"
50
50
  }
51
51
  },
52
52
  "badge": {
@@ -70,7 +70,7 @@
70
70
  "name": "button",
71
71
  "peerDependencies": {
72
72
  "@angular/core": ">=20.0.0 <22.0.0",
73
- "@spartan-ng/brain": "0.0.1-alpha.685",
73
+ "@spartan-ng/brain": "0.0.1-alpha.687",
74
74
  "class-variance-authority": "^0.7.0",
75
75
  "clsx": "^2.1.1"
76
76
  }
@@ -79,7 +79,7 @@
79
79
  "name": "button-group",
80
80
  "peerDependencies": {
81
81
  "@angular/core": ">=20.0.0 <22.0.0",
82
- "@spartan-ng/brain": "0.0.1-alpha.685",
82
+ "@spartan-ng/brain": "0.0.1-alpha.687",
83
83
  "class-variance-authority": "^0.7.0"
84
84
  }
85
85
  },
@@ -91,7 +91,7 @@
91
91
  "@angular/core": ">=20.0.0 <22.0.0",
92
92
  "@ng-icons/core": ">=32.0.0 <34.0.0",
93
93
  "@ng-icons/lucide": ">=32.0.0 <34.0.0",
94
- "@spartan-ng/brain": "0.0.1-alpha.685",
94
+ "@spartan-ng/brain": "0.0.1-alpha.687",
95
95
  "clsx": "^2.1.1"
96
96
  }
97
97
  },
@@ -119,7 +119,7 @@
119
119
  "@angular/cdk": ">=20.0.0 <22.0.0",
120
120
  "@ng-icons/core": ">=32.0.0 <34.0.0",
121
121
  "@ng-icons/lucide": ">=32.0.0 <34.0.0",
122
- "@spartan-ng/brain": "0.0.1-alpha.685",
122
+ "@spartan-ng/brain": "0.0.1-alpha.687",
123
123
  "clsx": "^2.1.1"
124
124
  }
125
125
  },
@@ -127,7 +127,7 @@
127
127
  "name": "collapsible",
128
128
  "peerDependencies": {
129
129
  "@angular/core": ">=20.0.0 <22.0.0",
130
- "@spartan-ng/brain": "0.0.1-alpha.685"
130
+ "@spartan-ng/brain": "0.0.1-alpha.687"
131
131
  }
132
132
  },
133
133
  "combobox": {
@@ -135,7 +135,7 @@
135
135
  "peerDependencies": {
136
136
  "@angular/core": ">=20.0.0 <22.0.0",
137
137
  "@angular/forms": ">=20.0.0 <22.0.0",
138
- "@spartan-ng/brain": "0.0.1-alpha.685",
138
+ "@spartan-ng/brain": "0.0.1-alpha.687",
139
139
  "@angular/cdk": ">=20.0.0 <22.0.0",
140
140
  "@ng-icons/core": ">=32.0.0 <34.0.0",
141
141
  "@ng-icons/lucide": ">=32.0.0 <34.0.0",
@@ -147,7 +147,7 @@
147
147
  "peerDependencies": {
148
148
  "@angular/cdk": ">=20.0.0 <22.0.0",
149
149
  "@angular/core": ">=20.0.0 <22.0.0",
150
- "@spartan-ng/brain": "0.0.1-alpha.685",
150
+ "@spartan-ng/brain": "0.0.1-alpha.687",
151
151
  "clsx": "^2.1.1",
152
152
  "@ng-icons/core": ">=32.0.0 <34.0.0",
153
153
  "@ng-icons/lucide": ">=32.0.0 <34.0.0"
@@ -157,7 +157,7 @@
157
157
  "name": "context-menu",
158
158
  "peerDependencies": {
159
159
  "@angular/core": ">=20.0.0 <22.0.0",
160
- "@spartan-ng/brain": "0.0.1-alpha.685",
160
+ "@spartan-ng/brain": "0.0.1-alpha.687",
161
161
  "@angular/cdk": ">=20.0.0 <22.0.0",
162
162
  "rxjs": "^7.8.0"
163
163
  }
@@ -170,7 +170,7 @@
170
170
  "@angular/cdk": ">=20.0.0 <22.0.0",
171
171
  "@ng-icons/core": ">=32.0.0 <34.0.0",
172
172
  "@ng-icons/lucide": ">=32.0.0 <34.0.0",
173
- "@spartan-ng/brain": "0.0.1-alpha.685",
173
+ "@spartan-ng/brain": "0.0.1-alpha.687",
174
174
  "clsx": "^2.1.1"
175
175
  }
176
176
  },
@@ -178,7 +178,7 @@
178
178
  "name": "dialog",
179
179
  "peerDependencies": {
180
180
  "@angular/core": ">=20.0.0 <22.0.0",
181
- "@spartan-ng/brain": "0.0.1-alpha.685",
181
+ "@spartan-ng/brain": "0.0.1-alpha.687",
182
182
  "@angular/cdk": ">=20.0.0 <22.0.0",
183
183
  "@angular/common": ">=20.0.0 <22.0.0",
184
184
  "@ng-icons/core": ">=32.0.0 <34.0.0",
@@ -194,7 +194,7 @@
194
194
  "@ng-icons/lucide": ">=32.0.0 <34.0.0",
195
195
  "@angular/cdk": ">=20.0.0 <22.0.0",
196
196
  "rxjs": "^7.8.0",
197
- "@spartan-ng/brain": "0.0.1-alpha.685"
197
+ "@spartan-ng/brain": "0.0.1-alpha.687"
198
198
  }
199
199
  },
200
200
  "empty": {
@@ -208,7 +208,7 @@
208
208
  "name": "field",
209
209
  "peerDependencies": {
210
210
  "@angular/core": ">=20.0.0 <22.0.0",
211
- "@spartan-ng/brain": "0.0.1-alpha.685",
211
+ "@spartan-ng/brain": "0.0.1-alpha.687",
212
212
  "clsx": "^2.1.1",
213
213
  "@angular/cdk": ">=20.0.0 <22.0.0",
214
214
  "class-variance-authority": "^0.7.0"
@@ -218,7 +218,7 @@
218
218
  "name": "hover-card",
219
219
  "peerDependencies": {
220
220
  "@angular/core": ">=20.0.0 <22.0.0",
221
- "@spartan-ng/brain": "0.0.1-alpha.685"
221
+ "@spartan-ng/brain": "0.0.1-alpha.687"
222
222
  }
223
223
  },
224
224
  "icon": {
@@ -234,16 +234,14 @@
234
234
  "peerDependencies": {
235
235
  "@angular/core": ">=20.0.0 <22.0.0",
236
236
  "@angular/forms": ">=20.0.0 <22.0.0",
237
- "@spartan-ng/brain": "0.0.1-alpha.685",
238
- "class-variance-authority": "^0.7.0"
237
+ "@spartan-ng/brain": "0.0.1-alpha.687"
239
238
  }
240
239
  },
241
240
  "input-group": {
242
241
  "name": "input-group",
243
242
  "peerDependencies": {
244
243
  "@angular/core": ">=20.0.0 <22.0.0",
245
- "class-variance-authority": "^0.7.0",
246
- "@spartan-ng/brain": "0.0.1-alpha.685"
244
+ "class-variance-authority": "^0.7.0"
247
245
  }
248
246
  },
249
247
  "input-otp": {
@@ -253,7 +251,7 @@
253
251
  "@ng-icons/core": ">=32.0.0 <34.0.0",
254
252
  "@ng-icons/lucide": ">=32.0.0 <34.0.0",
255
253
  "@angular/cdk": ">=20.0.0 <22.0.0",
256
- "@spartan-ng/brain": "0.0.1-alpha.685"
254
+ "@spartan-ng/brain": "0.0.1-alpha.687"
257
255
  }
258
256
  },
259
257
  "item": {
@@ -261,7 +259,7 @@
261
259
  "peerDependencies": {
262
260
  "@angular/core": ">=20.0.0 <22.0.0",
263
261
  "class-variance-authority": "^0.7.0",
264
- "@spartan-ng/brain": "0.0.1-alpha.685"
262
+ "@spartan-ng/brain": "0.0.1-alpha.687"
265
263
  }
266
264
  },
267
265
  "kbd": {
@@ -274,14 +272,14 @@
274
272
  "name": "label",
275
273
  "peerDependencies": {
276
274
  "@angular/core": ">=20.0.0 <22.0.0",
277
- "@spartan-ng/brain": "0.0.1-alpha.685"
275
+ "@spartan-ng/brain": "0.0.1-alpha.687"
278
276
  }
279
277
  },
280
278
  "menubar": {
281
279
  "name": "menubar",
282
280
  "peerDependencies": {
283
281
  "@angular/core": ">=20.0.0 <22.0.0",
284
- "@spartan-ng/brain": "0.0.1-alpha.685",
282
+ "@spartan-ng/brain": "0.0.1-alpha.687",
285
283
  "@angular/cdk": ">=20.0.0 <22.0.0",
286
284
  "rxjs": "^7.8.0"
287
285
  }
@@ -294,7 +292,7 @@
294
292
  "@angular/forms": ">=20.0.0 <22.0.0",
295
293
  "@ng-icons/core": ">=32.0.0 <34.0.0",
296
294
  "@ng-icons/lucide": ">=32.0.0 <34.0.0",
297
- "@spartan-ng/brain": "0.0.1-alpha.685",
295
+ "@spartan-ng/brain": "0.0.1-alpha.687",
298
296
  "clsx": "^2.1.1"
299
297
  }
300
298
  },
@@ -302,7 +300,7 @@
302
300
  "name": "navigation-menu",
303
301
  "peerDependencies": {
304
302
  "@angular/core": ">=20.0.0 <22.0.0",
305
- "@spartan-ng/brain": "0.0.1-alpha.685"
303
+ "@spartan-ng/brain": "0.0.1-alpha.687"
306
304
  }
307
305
  },
308
306
  "pagination": {
@@ -321,14 +319,14 @@
321
319
  "name": "popover",
322
320
  "peerDependencies": {
323
321
  "@angular/core": ">=20.0.0 <22.0.0",
324
- "@spartan-ng/brain": "0.0.1-alpha.685"
322
+ "@spartan-ng/brain": "0.0.1-alpha.687"
325
323
  }
326
324
  },
327
325
  "progress": {
328
326
  "name": "progress",
329
327
  "peerDependencies": {
330
328
  "@angular/core": ">=20.0.0 <22.0.0",
331
- "@spartan-ng/brain": "0.0.1-alpha.685"
329
+ "@spartan-ng/brain": "0.0.1-alpha.687"
332
330
  }
333
331
  },
334
332
  "radio-group": {
@@ -336,7 +334,7 @@
336
334
  "peerDependencies": {
337
335
  "@angular/core": ">=20.0.0 <22.0.0",
338
336
  "@angular/forms": ">=20.0.0 <22.0.0",
339
- "@spartan-ng/brain": "0.0.1-alpha.685",
337
+ "@spartan-ng/brain": "0.0.1-alpha.687",
340
338
  "clsx": "^2.1.1",
341
339
  "@angular/cdk": ">=20.0.0 <22.0.0",
342
340
  "@angular/common": ">=20.0.0 <22.0.0"
@@ -346,7 +344,7 @@
346
344
  "name": "resizable",
347
345
  "peerDependencies": {
348
346
  "@angular/core": ">=20.0.0 <22.0.0",
349
- "@spartan-ng/brain": "0.0.1-alpha.685"
347
+ "@spartan-ng/brain": "0.0.1-alpha.687"
350
348
  }
351
349
  },
352
350
  "scroll-area": {
@@ -361,7 +359,7 @@
361
359
  "@angular/core": ">=20.0.0 <22.0.0",
362
360
  "@angular/forms": ">=20.0.0 <22.0.0",
363
361
  "@angular/cdk": ">=20.0.0 <22.0.0",
364
- "@spartan-ng/brain": "0.0.1-alpha.685",
362
+ "@spartan-ng/brain": "0.0.1-alpha.687",
365
363
  "@ng-icons/core": ">=32.0.0 <34.0.0",
366
364
  "@ng-icons/lucide": ">=32.0.0 <34.0.0",
367
365
  "clsx": "^2.1.1"
@@ -371,14 +369,14 @@
371
369
  "name": "separator",
372
370
  "peerDependencies": {
373
371
  "@angular/core": ">=20.0.0 <22.0.0",
374
- "@spartan-ng/brain": "0.0.1-alpha.685"
372
+ "@spartan-ng/brain": "0.0.1-alpha.687"
375
373
  }
376
374
  },
377
375
  "sheet": {
378
376
  "name": "sheet",
379
377
  "peerDependencies": {
380
378
  "@angular/core": ">=20.0.0 <22.0.0",
381
- "@spartan-ng/brain": "0.0.1-alpha.685",
379
+ "@spartan-ng/brain": "0.0.1-alpha.687",
382
380
  "@angular/cdk": ">=20.0.0 <22.0.0",
383
381
  "@ng-icons/core": ">=32.0.0 <34.0.0",
384
382
  "@ng-icons/lucide": ">=32.0.0 <34.0.0",
@@ -391,7 +389,7 @@
391
389
  "peerDependencies": {
392
390
  "@angular/core": ">=20.0.0 <22.0.0",
393
391
  "@angular/cdk": ">=20.0.0 <22.0.0",
394
- "@spartan-ng/brain": "0.0.1-alpha.685",
392
+ "@spartan-ng/brain": "0.0.1-alpha.687",
395
393
  "class-variance-authority": "^0.7.0",
396
394
  "@ng-icons/core": ">=32.0.0 <34.0.0",
397
395
  "@ng-icons/lucide": ">=32.0.0 <34.0.0",
@@ -410,7 +408,7 @@
410
408
  "peerDependencies": {
411
409
  "@angular/core": ">=20.0.0 <22.0.0",
412
410
  "@angular/forms": ">=20.0.0 <22.0.0",
413
- "@spartan-ng/brain": "0.0.1-alpha.685"
411
+ "@spartan-ng/brain": "0.0.1-alpha.687"
414
412
  }
415
413
  },
416
414
  "sonner": {
@@ -420,7 +418,7 @@
420
418
  "@angular/core": ">=20.0.0 <22.0.0",
421
419
  "@ng-icons/core": ">=32.0.0 <34.0.0",
422
420
  "@ng-icons/lucide": ">=32.0.0 <34.0.0",
423
- "@spartan-ng/brain": "0.0.1-alpha.685",
421
+ "@spartan-ng/brain": "0.0.1-alpha.687",
424
422
  "clsx": "^2.1.1"
425
423
  }
426
424
  },
@@ -438,7 +436,7 @@
438
436
  "@angular/core": ">=20.0.0 <22.0.0",
439
437
  "@angular/cdk": ">=20.0.0 <22.0.0",
440
438
  "@angular/forms": ">=20.0.0 <22.0.0",
441
- "@spartan-ng/brain": "0.0.1-alpha.685",
439
+ "@spartan-ng/brain": "0.0.1-alpha.687",
442
440
  "clsx": "^2.1.1"
443
441
  }
444
442
  },
@@ -452,7 +450,7 @@
452
450
  "name": "tabs",
453
451
  "peerDependencies": {
454
452
  "@angular/core": ">=20.0.0 <22.0.0",
455
- "@spartan-ng/brain": "0.0.1-alpha.685",
453
+ "@spartan-ng/brain": "0.0.1-alpha.687",
456
454
  "class-variance-authority": "^0.7.0",
457
455
  "@angular/cdk": ">=20.0.0 <22.0.0",
458
456
  "@ng-icons/core": ">=32.0.0 <34.0.0",
@@ -466,15 +464,14 @@
466
464
  "peerDependencies": {
467
465
  "@angular/core": ">=20.0.0 <22.0.0",
468
466
  "@angular/forms": ">=20.0.0 <22.0.0",
469
- "@spartan-ng/brain": "0.0.1-alpha.685",
470
- "class-variance-authority": "^0.7.0"
467
+ "@spartan-ng/brain": "0.0.1-alpha.687"
471
468
  }
472
469
  },
473
470
  "toggle": {
474
471
  "name": "toggle",
475
472
  "peerDependencies": {
476
473
  "@angular/core": ">=20.0.0 <22.0.0",
477
- "@spartan-ng/brain": "0.0.1-alpha.685",
474
+ "@spartan-ng/brain": "0.0.1-alpha.687",
478
475
  "class-variance-authority": "^0.7.0"
479
476
  }
480
477
  },
@@ -482,7 +479,7 @@
482
479
  "name": "toggle-group",
483
480
  "peerDependencies": {
484
481
  "@angular/core": ">=20.0.0 <22.0.0",
485
- "@spartan-ng/brain": "0.0.1-alpha.685",
482
+ "@spartan-ng/brain": "0.0.1-alpha.687",
486
483
  "@angular/cdk": ">=20.0.0 <22.0.0"
487
484
  }
488
485
  },
@@ -490,7 +487,7 @@
490
487
  "name": "tooltip",
491
488
  "peerDependencies": {
492
489
  "@angular/core": ">=20.0.0 <22.0.0",
493
- "@spartan-ng/brain": "0.0.1-alpha.685",
490
+ "@spartan-ng/brain": "0.0.1-alpha.687",
494
491
  "class-variance-authority": "^0.7.0"
495
492
  }
496
493
  },