@spartan-ng/cli 0.0.1-alpha.714 → 0.0.1-alpha.716

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 (72) hide show
  1. package/package.json +1 -1
  2. package/src/generators/healthcheck/generator.js +7 -2
  3. package/src/generators/healthcheck/generator.js.map +1 -1
  4. package/src/generators/healthcheck/healthchecks/version.js +19 -8
  5. package/src/generators/healthcheck/healthchecks/version.js.map +1 -1
  6. package/src/generators/healthcheck/utils/runner.js +9 -1
  7. package/src/generators/healthcheck/utils/runner.js.map +1 -1
  8. package/src/generators/migrate-helm-libraries/generator.js +0 -4
  9. package/src/generators/migrate-helm-libraries/generator.js.map +1 -1
  10. package/src/generators/migrate-hlm/generator.js +2 -1
  11. package/src/generators/migrate-hlm/generator.js.map +1 -1
  12. package/src/generators/migrate-module-imports/import-map.js +1 -1
  13. package/src/generators/ui/libs/avatar/files/lib/hlm-avatar-fallback.ts.template +1 -1
  14. package/src/generators/ui/libs/avatar/files/lib/hlm-avatar-image.ts.template +1 -1
  15. package/src/generators/ui/libs/breadcrumb/files/index.ts.template +0 -5
  16. package/src/generators/ui/libs/calendar/files/lib/hlm-calendar-multi.ts.template +1 -0
  17. package/src/generators/ui/libs/calendar/files/lib/hlm-calendar-range.ts.template +1 -0
  18. package/src/generators/ui/libs/calendar/files/lib/hlm-calendar.ts.template +1 -0
  19. package/src/generators/ui/libs/command/files/lib/hlm-command-dialog.ts.template +2 -2
  20. package/src/generators/ui/libs/command/files/lib/hlm-command-empty.ts.template +1 -1
  21. package/src/generators/ui/libs/command/files/lib/hlm-command-group-label.ts.template +1 -1
  22. package/src/generators/ui/libs/command/files/lib/hlm-command-group.ts.template +1 -1
  23. package/src/generators/ui/libs/command/files/lib/hlm-command-input.ts.template +7 -6
  24. package/src/generators/ui/libs/command/files/lib/hlm-command-item.ts.template +1 -1
  25. package/src/generators/ui/libs/command/files/lib/hlm-command-list.ts.template +1 -1
  26. package/src/generators/ui/libs/command/files/lib/hlm-command-separator.ts.template +1 -1
  27. package/src/generators/ui/libs/command/files/lib/hlm-command-shortcut.ts.template +1 -1
  28. package/src/generators/ui/libs/command/files/lib/hlm-command.ts.template +1 -1
  29. package/src/generators/ui/libs/context-menu/files/lib/hlm-context-menu-trigger.ts.template +3 -0
  30. package/src/generators/ui/libs/dropdown-menu/files/index.ts.template +3 -0
  31. package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-checkbox-indicator.ts.template +3 -2
  32. package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-checkbox.ts.template +30 -10
  33. package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-group.ts.template +1 -3
  34. package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-item-sub-indicator.ts.template +2 -2
  35. package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-item.ts.template +1 -1
  36. package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-label.ts.template +4 -4
  37. package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-radio-indicator.ts.template +5 -4
  38. package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-radio.ts.template +24 -9
  39. package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-separator.ts.template +2 -4
  40. package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-shortcut.ts.template +2 -4
  41. package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-sub-trigger.ts.template +44 -0
  42. package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-sub.ts.template +1 -4
  43. package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-trigger.ts.template +1 -3
  44. package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu.ts.template +1 -1
  45. package/src/generators/ui/libs/input/files/lib/hlm-input.ts.template +1 -0
  46. package/src/generators/ui/libs/menubar/files/lib/hlm-menubar-trigger.ts.template +1 -1
  47. package/src/generators/ui/libs/menubar/files/lib/hlm-menubar.ts.template +1 -1
  48. package/src/generators/ui/libs/native-select/files/lib/hlm-native-select-opt-group.ts.template +7 -2
  49. package/src/generators/ui/libs/native-select/files/lib/hlm-native-select-option.ts.template +7 -2
  50. package/src/generators/ui/libs/popover/files/lib/hlm-popover-content.ts.template +1 -0
  51. package/src/generators/ui/libs/popover/files/lib/hlm-popover.ts.template +1 -0
  52. package/src/generators/ui/libs/progress/files/lib/hlm-progress-indicator.ts.template +5 -1
  53. package/src/generators/ui/libs/progress/files/lib/hlm-progress.ts.template +1 -0
  54. package/src/generators/ui/libs/switch/files/lib/hlm-switch-thumb.ts.template +1 -0
  55. package/src/generators/ui/libs/switch/files/lib/hlm-switch.ts.template +1 -0
  56. package/src/generators/ui/primitive-deps.js +1 -0
  57. package/src/generators/ui/primitive-deps.js.map +1 -1
  58. package/src/generators/ui/primitives.d.ts +1 -1
  59. package/src/generators/ui/style-luma.css +13 -128
  60. package/src/generators/ui/style-lyra.css +11 -126
  61. package/src/generators/ui/style-maia.css +12 -127
  62. package/src/generators/ui/style-mira.css +11 -126
  63. package/src/generators/ui/style-nova.css +13 -128
  64. package/src/generators/ui/style-vega.css +14 -129
  65. package/src/generators/ui/supported-ui-libraries.json +42 -42
  66. package/src/utils/config.js +6 -6
  67. package/src/utils/config.js.map +1 -1
  68. package/src/utils/version-utils.js +2 -2
  69. package/src/utils/version-utils.js.map +1 -1
  70. package/src/generators/healthcheck/utils/prompt.d.ts +0 -1
  71. package/src/generators/healthcheck/utils/prompt.js +0 -23
  72. package/src/generators/healthcheck/utils/prompt.js.map +0 -1
@@ -1,22 +1,23 @@
1
1
  import { ChangeDetectionStrategy, Component } from '@angular/core';
2
2
  import { NgIcon, provideIcons } from '@ng-icons/core';
3
- import { lucideCircle } from '@ng-icons/lucide';
3
+ import { lucideCheck } from '@ng-icons/lucide';
4
4
  import { classes } from '<%- importAlias %>/utils';
5
5
 
6
6
  @Component({
7
7
  selector: 'hlm-dropdown-menu-radio-indicator',
8
8
  imports: [NgIcon],
9
- providers: [provideIcons({ lucideCircle })],
9
+ providers: [provideIcons({ lucideCheck })],
10
10
  changeDetection: ChangeDetectionStrategy.OnPush,
11
+ host: { 'data-slot': 'dropdown-menu-radio-item-indicator' },
11
12
  template: `
12
- <ng-icon name="lucideCircle" class="text-[0.5rem] *:[svg]:fill-current" />
13
+ <ng-icon name="lucideCheck" />
13
14
  `,
14
15
  })
15
16
  export class HlmDropdownMenuRadioIndicator {
16
17
  constructor() {
17
18
  classes(
18
19
  () =>
19
- 'pointer-events-none absolute start-2 flex size-3.5 items-center justify-center opacity-0 group-data-[checked]:opacity-100',
20
+ 'spartan-dropdown-menu-item-indicator pointer-events-none opacity-0 group-data-checked/dropdown-menu-radio:opacity-100',
20
21
  );
21
22
  }
22
23
  }
@@ -1,32 +1,47 @@
1
1
  import { type BooleanInput } from '@angular/cdk/coercion';
2
- import { CdkMenuItemRadio } from '@angular/cdk/menu';
2
+ import { CdkMenuItem, CdkMenuItemRadio, CdkMenuItemSelectable } from '@angular/cdk/menu';
3
3
  import { Directive, booleanAttribute, inject, input } from '@angular/core';
4
4
  import { classes } from '<%- importAlias %>/utils';
5
5
 
6
+ /** @internal. Use HlmDropdownMenuRadio instead. */
7
+ @Directive({
8
+ selector: '[hlmDropdownMenuRadioCdk]',
9
+ providers: [
10
+ { provide: CdkMenuItemRadio, useExisting: HlmDropdownMenuRadioCdk },
11
+ { provide: CdkMenuItemSelectable, useExisting: HlmDropdownMenuRadioCdk },
12
+ { provide: CdkMenuItem, useExisting: CdkMenuItemSelectable },
13
+ ],
14
+ })
15
+ export class HlmDropdownMenuRadioCdk extends CdkMenuItemRadio {
16
+ public readonly keepOpen = input<boolean, BooleanInput>(true, { transform: booleanAttribute });
17
+
18
+ public override trigger(options?: { keepOpen: boolean }) {
19
+ super.trigger({ ...options, keepOpen: this.keepOpen() });
20
+ }
21
+ }
22
+
6
23
  @Directive({
7
24
  selector: '[hlmDropdownMenuRadio]',
8
25
  hostDirectives: [
9
26
  {
10
- directive: CdkMenuItemRadio,
11
- inputs: ['cdkMenuItemDisabled: disabled', 'cdkMenuItemChecked: checked'],
27
+ directive: HlmDropdownMenuRadioCdk,
28
+ inputs: ['cdkMenuItemDisabled: disabled', 'cdkMenuItemChecked: checked', 'keepOpen'],
12
29
  outputs: ['cdkMenuItemTriggered: triggered'],
13
30
  },
14
31
  ],
15
32
  host: {
16
33
  'data-slot': 'dropdown-menu-radio-item',
17
- '[attr.data-disabled]': 'disabled() ? "" : null',
18
- '[attr.data-checked]': 'checked() ? "" : null',
34
+ '[attr.data-disabled]': '_cdkMenuItem.disabled ? "" : null',
35
+ '[attr.data-checked]': '_cdkMenuItem.checked ? "" : null',
19
36
  },
20
37
  })
21
38
  export class HlmDropdownMenuRadio {
22
- private readonly _cdkMenuItem = inject(CdkMenuItemRadio);
23
- public readonly checked = input<boolean, BooleanInput>(this._cdkMenuItem.checked, { transform: booleanAttribute });
24
- public readonly disabled = input<boolean, BooleanInput>(this._cdkMenuItem.disabled, { transform: booleanAttribute });
39
+ protected readonly _cdkMenuItem = inject(HlmDropdownMenuRadioCdk);
25
40
 
26
41
  constructor() {
27
42
  classes(
28
43
  () =>
29
- 'hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground group relative flex w-full cursor-default items-center rounded-sm py-1.5 ps-8 pe-2 text-sm transition-colors outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50',
44
+ 'spartan-dropdown-menu-radio-item group/dropdown-menu-radio relative flex w-full cursor-default items-center outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_ng-icon]:pointer-events-none [&_ng-icon]:shrink-0',
30
45
  );
31
46
  }
32
47
  }
@@ -3,12 +3,10 @@ import { classes } from '<%- importAlias %>/utils';
3
3
 
4
4
  @Directive({
5
5
  selector: '[hlmDropdownMenuSeparator],hlm-dropdown-menu-separator',
6
- host: {
7
- 'data-slot': 'dropdown-menu-separator',
8
- },
6
+ host: { 'data-slot': 'dropdown-menu-separator' },
9
7
  })
10
8
  export class HlmDropdownMenuSeparator {
11
9
  constructor() {
12
- classes(() => 'bg-border -mx-1 my-1 block h-px');
10
+ classes(() => 'spartan-dropdown-menu-separator block');
13
11
  }
14
12
  }
@@ -3,12 +3,10 @@ import { classes } from '<%- importAlias %>/utils';
3
3
 
4
4
  @Directive({
5
5
  selector: '[hlmDropdownMenuShortcut],hlm-dropdown-menu-shortcut',
6
- host: {
7
- 'data-slot': 'dropdown-menu-shortcut',
8
- },
6
+ host: { 'data-slot': 'dropdown-menu-shortcut' },
9
7
  })
10
8
  export class HlmDropdownMenuShortcut {
11
9
  constructor() {
12
- classes(() => 'text-muted-foreground ml-auto text-xs tracking-widest');
10
+ classes(() => 'spartan-dropdown-menu-shortcut');
13
11
  }
14
12
  }
@@ -0,0 +1,44 @@
1
+ import { CdkMenuTrigger } from '@angular/cdk/menu';
2
+ import { computed, Directive, effect, inject, input } from '@angular/core';
3
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
+ import { createMenuPosition, type MenuAlign, type MenuSide } from '@spartan-ng/brain/core';
5
+ import { classes } from '<%- importAlias %>/utils';
6
+ import { injectHlmDropdownMenuConfig } from './hlm-dropdown-menu-token';
7
+
8
+ @Directive({
9
+ selector: '[hlmDropdownMenuSubTrigger]',
10
+ hostDirectives: [
11
+ {
12
+ directive: CdkMenuTrigger,
13
+ inputs: ['cdkMenuTriggerFor: hlmDropdownMenuSubTrigger', 'cdkMenuTriggerData: hlmDropdownMenuTriggerData'],
14
+ outputs: ['cdkMenuOpened: hlmDropdownMenuSubOpened', 'cdkMenuClosed: hlmDropdownMenuSubClosed'],
15
+ },
16
+ ],
17
+ host: { 'data-slot': 'dropdown-menu-sub-trigger' },
18
+ })
19
+ export class HlmDropdownMenuSubTrigger {
20
+ private readonly _cdkTrigger = inject(CdkMenuTrigger, { host: true });
21
+ private readonly _config = injectHlmDropdownMenuConfig();
22
+
23
+ public readonly align = input<MenuAlign>(this._config.align);
24
+ public readonly side = input<MenuSide>(this._config.side);
25
+
26
+ private readonly _menuPosition = computed(() => createMenuPosition(this.align(), this.side()));
27
+
28
+ constructor() {
29
+ this._cdkTrigger.opened.pipe(takeUntilDestroyed()).subscribe(() =>
30
+ setTimeout(
31
+ () =>
32
+ // eslint-disable-next-line
33
+ ((this._cdkTrigger as any)._spartanLastPosition = // eslint-disable-next-line
34
+ (this._cdkTrigger as any).overlayRef._positionStrategy._lastPosition),
35
+ ),
36
+ );
37
+
38
+ effect(() => {
39
+ this._cdkTrigger.menuPosition = this._menuPosition();
40
+ });
41
+
42
+ classes(() => 'aria-expanded:bg-accent aria-expanded:text-accent-foreground');
43
+ }
44
+ }
@@ -24,10 +24,7 @@ export class HlmDropdownMenuSub {
24
24
  // TODO: figure out a way for us to know the host is about to be closed. might not be possible with CDK
25
25
  this._host.closed.pipe(takeUntilDestroyed()).subscribe(() => this._state.set('closed'));
26
26
 
27
- classes(
28
- () =>
29
- 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=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 z-50 min-w-[8rem] origin-top overflow-hidden rounded-md border p-1 shadow-lg',
30
- );
27
+ classes(() => 'spartan-dropdown-menu-sub-content w-auto');
31
28
  }
32
29
 
33
30
  private setSideWithDarkMagic() {
@@ -13,9 +13,7 @@ import { injectHlmDropdownMenuConfig } from './hlm-dropdown-menu-token';
13
13
  outputs: ['cdkMenuOpened: hlmDropdownMenuOpened', 'cdkMenuClosed: hlmDropdownMenuClosed'],
14
14
  },
15
15
  ],
16
- host: {
17
- 'data-slot': 'dropdown-menu-trigger',
18
- },
16
+ host: { 'data-slot': 'dropdown-menu-trigger' },
19
17
  })
20
18
  export class HlmDropdownMenuTrigger {
21
19
  private readonly _cdkTrigger = inject(CdkMenuTrigger, { host: true });
@@ -25,7 +25,7 @@ export class HlmDropdownMenu {
25
25
  constructor() {
26
26
  classes(
27
27
  () =>
28
- 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=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 z-50 my-[--spacing(var(--side-offset))] min-w-[8rem] origin-top overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md',
28
+ 'spartan-dropdown-menu-content my-[--spacing(var(--side-offset))] overflow-x-hidden overflow-y-auto outline-none',
29
29
  );
30
30
 
31
31
  this.setSideWithDarkMagic();
@@ -6,6 +6,7 @@ import { classes } from '<%- importAlias %>/utils';
6
6
  @Directive({
7
7
  selector: '[hlmInput]',
8
8
  hostDirectives: [{ directive: BrnInput, inputs: ['id', 'forceInvalid'] }, BrnFieldControlDescribedBy],
9
+ host: { 'data-slot': 'input' },
9
10
  })
10
11
  export class HlmInput {
11
12
  constructor() {
@@ -55,7 +55,7 @@ export class HlmMenubarTrigger {
55
55
 
56
56
  classes(
57
57
  () =>
58
- 'focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex items-center rounded-sm px-2 py-1 text-sm font-medium outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50',
58
+ 'spartan-menubar-trigger flex items-center outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50',
59
59
  );
60
60
  }
61
61
  }
@@ -11,6 +11,6 @@ import { classes } from '<%- importAlias %>/utils';
11
11
  })
12
12
  export class HlmMenubar {
13
13
  constructor() {
14
- classes(() => 'bg-background flex h-9 items-center gap-1 rounded-md border p-1 shadow-xs');
14
+ classes(() => 'spartan-menubar flex items-center');
15
15
  }
16
16
  }
@@ -1,7 +1,12 @@
1
1
  import { Directive } from '@angular/core';
2
+ import { classes } from '<%- importAlias %>/utils';
2
3
 
3
4
  @Directive({
4
- selector: '[hlmNativeSelectOptGroup]',
5
+ selector: 'optgroup[hlmNativeSelectOptGroup]',
5
6
  host: { 'data-slot': 'native-select-optgroup' },
6
7
  })
7
- export class HlmNativeSelectOptGroup {}
8
+ export class HlmNativeSelectOptGroup {
9
+ constructor() {
10
+ classes(() => 'bg-[Canvas] text-[CanvasText]');
11
+ }
12
+ }
@@ -1,7 +1,12 @@
1
1
  import { Directive } from '@angular/core';
2
+ import { classes } from '<%- importAlias %>/utils';
2
3
 
3
4
  @Directive({
4
- selector: '[hlmNativeSelectOption]',
5
+ selector: 'option[hlmNativeSelectOption]',
5
6
  host: { 'data-slot': 'native-select-option' },
6
7
  })
7
- export class HlmNativeSelectOption {}
8
+ export class HlmNativeSelectOption {
9
+ constructor() {
10
+ classes(() => 'bg-[Canvas] text-[CanvasText]');
11
+ }
12
+ }
@@ -4,6 +4,7 @@ import { classes } from '<%- importAlias %>/utils';
4
4
 
5
5
  @Directive({
6
6
  selector: '[hlmPopoverContent],hlm-popover-content',
7
+ host: { 'data-slot': 'popover-content' },
7
8
  })
8
9
  export class HlmPopoverContent {
9
10
  private readonly _stateProvider = injectExposesStateProvider({ host: true });
@@ -20,5 +20,6 @@ import { BrnPopover } from '@spartan-ng/brain/popover';
20
20
  outputs: ['stateChanged', 'closed'],
21
21
  },
22
22
  ],
23
+ host: { 'data-slot': 'popover' },
23
24
  })
24
25
  export class HlmPopover {}
@@ -6,7 +6,11 @@ import { classes } from '<%- importAlias %>/utils';
6
6
  @Directive({
7
7
  selector: '[hlmProgressIndicator],hlm-progress-indicator',
8
8
  hostDirectives: [BrnProgressIndicator],
9
- host: { '[class.animate-indeterminate]': '_indeterminate()', '[style.transform]': '_transform()' },
9
+ host: {
10
+ 'data-slot': 'progress-indicator',
11
+ '[class.animate-indeterminate]': '_indeterminate()',
12
+ '[style.transform]': '_transform()',
13
+ },
10
14
  })
11
15
  export class HlmProgressIndicator {
12
16
  private readonly _progress = injectBrnProgress();
@@ -5,6 +5,7 @@ import { classes } from '<%- importAlias %>/utils';
5
5
  @Directive({
6
6
  selector: 'hlm-progress,[hlmProgress]',
7
7
  hostDirectives: [{ directive: BrnProgress, inputs: ['value', 'max', 'getValueLabel'] }],
8
+ host: { 'data-slot': 'progress' },
8
9
  })
9
10
  export class HlmProgress {
10
11
  constructor() {
@@ -3,6 +3,7 @@ import { classes } from '<%- importAlias %>/utils';
3
3
 
4
4
  @Directive({
5
5
  selector: 'brn-switch-thumb[hlm],[hlmSwitchThumb]',
6
+ host: { 'data-slot': 'switch-thumb' },
6
7
  })
7
8
  export class HlmSwitchThumb {
8
9
  constructor() {
@@ -28,6 +28,7 @@ export const HLM_SWITCH_VALUE_ACCESSOR = {
28
28
  providers: [HLM_SWITCH_VALUE_ACCESSOR],
29
29
  changeDetection: ChangeDetectionStrategy.OnPush,
30
30
  host: {
31
+ 'data-slot': 'switch',
31
32
  class: 'contents',
32
33
  '[attr.aria-label]': 'null',
33
34
  '[attr.aria-labelledby]': 'null',
@@ -22,6 +22,7 @@ exports.primitiveDependencies = {
22
22
  'context-menu': ['utils', 'dropdown-menu'],
23
23
  'date-picker': ['utils', 'calendar', 'icon', 'popover'],
24
24
  dialog: ['utils', 'icon'],
25
+ drawer: ['utils'],
25
26
  'dropdown-menu': ['utils', 'icon'],
26
27
  empty: ['utils'],
27
28
  field: ['utils', 'label', 'separator'],
@@ -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' | 'combobox' | 'command' | 'context-menu' | 'date-picker' | 'dialog' | 'dropdown-menu' | 'empty' | 'field' | 'hover-card' | 'icon' | 'input' | 'input-group' | 'input-otp' | 'item' | 'kbd' | 'label' | 'menubar' | 'native-select' | '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' | 'drawer' | 'dropdown-menu' | 'empty' | 'field' | 'hover-card' | 'icon' | 'input' | 'input-group' | 'input-otp' | 'item' | 'kbd' | 'label' | 'menubar' | 'native-select' | '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';
@@ -230,11 +230,6 @@
230
230
  @apply text-muted-foreground end-2.5 top-1/2 -translate-y-1/2 text-[calc(var(--spacing)*4)];
231
231
  }
232
232
 
233
- .spartan-native-select [data-slot='native-select-option'],
234
- .spartan-native-select [data-slot='native-select-optgroup'] {
235
- @apply bg-[color:Canvas] text-[color:CanvasText];
236
- }
237
-
238
233
  /* MARK: Combobox */
239
234
  .spartan-combobox-content {
240
235
  @apply bg-popover text-popover-foreground data-open:animate-in **:has-[[data-slot=input-group-control]:focus-visible]:border-input 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-end-2 data-[side=right]:slide-in-from-start-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/5 dark:ring-foreground/10 **:data-[slot=input-group]:bg-input/50 **:data-[slot=input-group]:border-input/30 max-h-72 min-w-36 overflow-hidden rounded-3xl shadow-lg ring-1 duration-100 **:has-[[data-slot=input-group-control]:focus-visible]:ring-0 **:data-[slot=input-group]:m-1.5 **:data-[slot=input-group]:mb-0 **:data-[slot=input-group]:h-8 **:data-[slot=input-group]:shadow-none;
@@ -620,10 +615,6 @@
620
615
  @apply bg-popover text-popover-foreground rounded-4xl p-1;
621
616
  }
622
617
 
623
- .spartan-command-dialog {
624
- @apply rounded-4xl! p-0;
625
- }
626
-
627
618
  .spartan-command-input-wrapper {
628
619
  @apply p-1 pb-0;
629
620
  }
@@ -633,7 +624,7 @@
633
624
  }
634
625
 
635
626
  .spartan-command-input-icon {
636
- @apply size-4 shrink-0 opacity-50;
627
+ @apply shrink-0 text-[calc(var(--spacing)*4)] opacity-50;
637
628
  }
638
629
 
639
630
  .spartan-command-input {
@@ -649,7 +640,7 @@
649
640
  }
650
641
 
651
642
  .spartan-command-group {
652
- @apply text-foreground **:[[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1.5 **:[[cmdk-group-heading]]:px-3 **:[[cmdk-group-heading]]:py-2 **:[[cmdk-group-heading]]:text-xs **:[[cmdk-group-heading]]:font-medium;
643
+ @apply text-foreground **:data-[slot=command-group-label]:text-muted-foreground overflow-hidden p-1.5 **:data-[slot=command-group-label]:px-3 **:data-[slot=command-group-label]:py-2 **:data-[slot=command-group-label]:text-xs **:data-[slot=command-group-label]:font-medium;
653
644
  }
654
645
 
655
646
  .spartan-command-separator {
@@ -657,61 +648,15 @@
657
648
  }
658
649
 
659
650
  .spartan-command-item {
660
- @apply data-selected:bg-muted data-selected:text-foreground data-selected:*:[ng-icon]:text-foreground relative flex cursor-default items-center gap-2 rounded-2xl px-3 py-2 text-sm font-medium outline-hidden select-none in-data-[slot=dialog-content]:rounded-3xl [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
651
+ @apply data-selected:bg-muted data-selected:text-foreground data-selected:*:[&>ng-icon]:text-foreground relative flex cursor-default items-center gap-2 rounded-2xl px-3 py-2 text-sm font-medium outline-hidden select-none in-data-[slot=dialog-content]:rounded-3xl [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
661
652
  }
662
653
 
663
654
  .spartan-command-shortcut {
664
- @apply text-muted-foreground group-data-selected/command-item:text-foreground ml-auto text-xs tracking-widest;
655
+ @apply text-muted-foreground group-data-[selected]/command-item:text-foreground ms-auto text-xs tracking-widest;
665
656
  }
666
657
 
667
658
  /* MARK: Context Menu */
668
- .spartan-context-menu-content {
669
- @apply 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-end-2 data-[side=right]:slide-in-from-start-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/5 dark:ring-foreground/10 bg-popover text-popover-foreground min-w-48 rounded-3xl p-1.5 shadow-lg ring-1 duration-100;
670
- }
671
-
672
- .spartan-context-menu-content-logical {
673
- @apply data-[side=inline-start]:slide-in-from-end-2 data-[side=inline-end]:slide-in-from-start-2;
674
- }
675
-
676
- .spartan-context-menu-item {
677
- @apply focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[ng-icon]:text-destructive focus:*:[ng-icon]:text-accent-foreground gap-2.5 rounded-2xl px-3 py-2 text-sm font-medium data-inset:ps-9.5 [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
678
- }
679
-
680
- .spartan-context-menu-checkbox-item {
681
- @apply focus:bg-accent focus:text-accent-foreground gap-2.5 rounded-2xl py-2 ps-3 pe-8 text-sm font-medium data-inset:ps-9.5 [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
682
- }
683
-
684
- .spartan-context-menu-radio-item {
685
- @apply focus:bg-accent focus:text-accent-foreground gap-2.5 rounded-2xl py-2 ps-3 pe-8 text-sm font-medium data-inset:ps-9.5 [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
686
- }
687
-
688
- .spartan-context-menu-item-indicator {
689
- @apply absolute end-2;
690
- }
691
-
692
- .spartan-context-menu-label {
693
- @apply text-muted-foreground px-3 py-2.5 text-xs data-inset:ps-9.5;
694
- }
695
-
696
- .spartan-context-menu-separator {
697
- @apply bg-border/50 -mx-1.5 my-1.5 h-px;
698
- }
699
-
700
- .spartan-context-menu-shortcut {
701
- @apply text-muted-foreground group-focus/context-menu-item:text-accent-foreground ml-auto text-xs tracking-widest;
702
- }
703
-
704
- .spartan-context-menu-sub-trigger {
705
- @apply focus:bg-accent focus:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground rounded-2xl px-3 py-2 text-sm font-medium data-inset:ps-9.5 [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
706
- }
707
-
708
- .spartan-context-menu-sub-content {
709
- @apply 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-end-2 data-[side=right]:slide-in-from-start-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/5 dark:ring-foreground/10 bg-popover text-popover-foreground min-w-32 rounded-3xl p-1.5 shadow-lg ring-1 duration-100;
710
- }
711
-
712
- .spartan-context-menu-subcontent {
713
- @apply shadow-lg;
714
- }
659
+ /* uses dropdown menu styles */
715
660
 
716
661
  /* MARK: Date Picker */
717
662
  .spartan-date-picker-trigger {
@@ -779,27 +724,23 @@
779
724
 
780
725
  /* MARK: Dropdown Menu */
781
726
  .spartan-dropdown-menu-content {
782
- @apply 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-end-2 data-[side=right]:slide-in-from-start-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/5 dark:ring-foreground/10 bg-popover text-popover-foreground min-w-48 rounded-3xl p-1.5 shadow-lg ring-1 duration-100;
783
- }
784
-
785
- .spartan-dropdown-menu-content-logical {
786
- @apply data-[side=inline-start]:slide-in-from-end-2 data-[side=inline-end]:slide-in-from-start-2;
727
+ @apply 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/5 dark:ring-foreground/10 bg-popover text-popover-foreground min-w-48 rounded-3xl p-1.5 shadow-lg ring-1 duration-100;
787
728
  }
788
729
 
789
730
  .spartan-dropdown-menu-item {
790
- @apply focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[ng-icon]:text-destructive not-data-[variant=destructive]:focus:**:text-accent-foreground gap-2.5 rounded-2xl px-3 py-2 text-sm font-medium data-inset:ps-9.5 [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
731
+ @apply hover:bg-accent focus:bg-accent hover:text-accent-foreground focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:hover:bg-destructive/10 data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:hover:bg-destructive/20 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:hover:text-destructive data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[ng-icon]:text-destructive not-data-[variant=destructive]:hover:**:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground gap-2.5 rounded-2xl px-3 py-2 text-sm font-medium data-inset:ps-9.5 [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
791
732
  }
792
733
 
793
734
  .spartan-dropdown-menu-checkbox-item {
794
- @apply focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground gap-2.5 rounded-2xl py-2 ps-3 pe-8 text-sm font-medium data-inset:ps-9.5 [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
735
+ @apply hover:bg-accent focus:bg-accent hover:text-accent-foreground focus:text-accent-foreground hover:**:text-accent-foreground focus:**:text-accent-foreground gap-2.5 rounded-2xl py-2 ps-3 pe-8 text-sm font-medium data-inset:ps-9.5 [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
795
736
  }
796
737
 
797
738
  .spartan-dropdown-menu-radio-item {
798
- @apply focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground gap-2.5 rounded-2xl py-2 ps-3 pe-8 text-sm font-medium data-inset:ps-9.5 [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
739
+ @apply hover:bg-accent focus:bg-accent hover:text-accent-foreground focus:text-accent-foreground hover:**:text-accent-foreground focus:**:text-accent-foreground gap-2.5 rounded-2xl py-2 ps-3 pe-8 text-sm font-medium data-inset:ps-9.5 [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
799
740
  }
800
741
 
801
742
  .spartan-dropdown-menu-item-indicator {
802
- @apply absolute end-2 flex items-center justify-center;
743
+ @apply absolute end-2 flex items-center justify-center [&_ng-icon]:text-[calc(var(--spacing)*4)];
803
744
  }
804
745
 
805
746
  .spartan-dropdown-menu-label {
@@ -811,19 +752,11 @@
811
752
  }
812
753
 
813
754
  .spartan-dropdown-menu-shortcut {
814
- @apply text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground ml-auto text-xs tracking-widest;
815
- }
816
-
817
- .spartan-dropdown-menu-sub-trigger {
818
- @apply focus:bg-accent focus:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground gap-2 rounded-2xl px-3 py-2 text-sm font-medium data-inset:ps-9.5 [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
755
+ @apply text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground ms-auto text-xs tracking-widest;
819
756
  }
820
757
 
821
758
  .spartan-dropdown-menu-sub-content {
822
- @apply 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-end-2 data-[side=right]:slide-in-from-start-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/5 dark:ring-foreground/10 bg-popover text-popover-foreground min-w-36 rounded-3xl p-1.5 shadow-lg ring-1 duration-100;
823
- }
824
-
825
- .spartan-dropdown-menu-subcontent {
826
- @apply shadow-lg;
759
+ @apply 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/5 dark:ring-foreground/10 bg-popover text-popover-foreground min-w-36 rounded-3xl p-1.5 shadow-lg ring-1 duration-100;
827
760
  }
828
761
 
829
762
  /* MARK: Item */
@@ -926,54 +859,6 @@
926
859
  @apply hover:bg-muted aria-expanded:bg-muted rounded-2xl px-2 py-0.75 text-sm font-medium;
927
860
  }
928
861
 
929
- .spartan-menubar-content {
930
- @apply bg-popover text-popover-foreground data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-end-2 data-[side=right]:slide-in-from-start-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/5 dark:ring-foreground/10 min-w-48 rounded-3xl p-1.5 shadow-lg ring-1 duration-100;
931
- }
932
-
933
- .spartan-menubar-content-logical {
934
- @apply data-[side=inline-start]:slide-in-from-end-2 data-[side=inline-end]:slide-in-from-start-2;
935
- }
936
-
937
- .spartan-menubar-item {
938
- @apply focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[ng-icon]:text-destructive! not-data-[variant=destructive]:focus:**:text-accent-foreground gap-2.5 rounded-2xl px-3 py-2 text-sm font-medium data-disabled:opacity-50 data-inset:ps-9.5 [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
939
- }
940
-
941
- .spartan-menubar-checkbox-item {
942
- @apply focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground gap-2.5 rounded-2xl py-2 ps-9.5 pe-3 text-sm font-medium data-inset:ps-9.5;
943
- }
944
-
945
- .spartan-menubar-checkbox-item-indicator {
946
- @apply start-3 size-4 [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
947
- }
948
-
949
- .spartan-menubar-radio-item {
950
- @apply focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground gap-2.5 rounded-2xl py-2 ps-9.5 pe-3 text-sm font-medium data-disabled:opacity-50 data-inset:ps-9.5 [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
951
- }
952
-
953
- .spartan-menubar-radio-item-indicator {
954
- @apply start-3 size-4 [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
955
- }
956
-
957
- .spartan-menubar-label {
958
- @apply text-muted-foreground px-3.5 py-2.5 text-xs data-inset:ps-9.5;
959
- }
960
-
961
- .spartan-menubar-separator {
962
- @apply bg-border/50;
963
- }
964
-
965
- .spartan-menubar-shortcut {
966
- @apply text-muted-foreground group-focus/menubar-item:text-accent-foreground text-xs tracking-widest;
967
- }
968
-
969
- .spartan-menubar-sub-trigger {
970
- @apply focus:bg-accent focus:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground gap-2 rounded-2xl px-3 py-2 text-sm font-medium data-inset:ps-9.5 [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
971
- }
972
-
973
- .spartan-menubar-sub-content {
974
- @apply 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-end-2 data-[side=right]:slide-in-from-start-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/5 dark:ring-foreground/10 min-w-32 rounded-3xl p-1.5 shadow-lg ring-1 duration-100;
975
- }
976
-
977
862
  /* MARK: Navigation Menu */
978
863
  .spartan-navigation-menu {
979
864
  @apply max-w-max;
@@ -1184,7 +1069,7 @@
1184
1069
  }
1185
1070
 
1186
1071
  .spartan-progress-value {
1187
- @apply text-muted-foreground ml-auto text-sm tabular-nums;
1072
+ @apply text-muted-foreground ms-auto text-sm tabular-nums;
1188
1073
  }
1189
1074
 
1190
1075
  /* MARK: Resizable */