@spartan-ng/cli 0.0.1-alpha.337 → 0.0.1-alpha.339

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 (129) hide show
  1. package/package.json +4 -4
  2. package/src/generators/base/generator.js +8 -3
  3. package/src/generators/base/generator.js.map +1 -1
  4. package/src/generators/base/lib/build-dependency-array.js +1 -0
  5. package/src/generators/base/lib/build-dependency-array.js.map +1 -1
  6. package/src/generators/base/versions.d.ts +1 -0
  7. package/src/generators/base/versions.js +2 -1
  8. package/src/generators/base/versions.js.map +1 -1
  9. package/src/generators/theme/libs/add-theme-to-application-styles.js.map +1 -1
  10. package/src/generators/ui/generator.js +8 -1
  11. package/src/generators/ui/generator.js.map +1 -1
  12. package/src/generators/ui/libs/ui-accordion-helm/files/lib/hlm-accordion-content.directive.ts.template +2 -2
  13. package/src/generators/ui/libs/ui-accordion-helm/files/lib/hlm-accordion-icon.directive.ts.template +3 -2
  14. package/src/generators/ui/libs/ui-accordion-helm/files/lib/hlm-accordion-item.directive.ts.template +2 -2
  15. package/src/generators/ui/libs/ui-accordion-helm/files/lib/hlm-accordion-trigger.directive.ts.template +2 -2
  16. package/src/generators/ui/libs/ui-accordion-helm/files/lib/hlm-accordion.directive.ts.template +2 -2
  17. package/src/generators/ui/libs/ui-alert-dialog-helm/files/lib/hlm-alert-dialog-cancel-button.directive.ts.template +2 -2
  18. package/src/generators/ui/libs/ui-alert-dialog-helm/files/lib/hlm-alert-dialog-content.component.ts.template +2 -2
  19. package/src/generators/ui/libs/ui-alert-dialog-helm/files/lib/hlm-alert-dialog-description.directive.ts.template +2 -2
  20. package/src/generators/ui/libs/ui-alert-dialog-helm/files/lib/hlm-alert-dialog-footer.component.ts.template +2 -2
  21. package/src/generators/ui/libs/ui-alert-dialog-helm/files/lib/hlm-alert-dialog-header.component.ts.template +2 -2
  22. package/src/generators/ui/libs/ui-alert-dialog-helm/files/lib/hlm-alert-dialog-overlay.directive.ts.template +2 -2
  23. package/src/generators/ui/libs/ui-alert-dialog-helm/files/lib/hlm-alert-dialog-title.directive.ts.template +2 -2
  24. package/src/generators/ui/libs/ui-alert-dialog-helm/files/lib/hlm-alert-dialog.component.ts.template +1 -2
  25. package/src/generators/ui/libs/ui-alert-helm/files/lib/hlm-alert-description.directive.ts.template +2 -2
  26. package/src/generators/ui/libs/ui-alert-helm/files/lib/hlm-alert-title.directive.ts.template +2 -2
  27. package/src/generators/ui/libs/ui-alert-helm/files/lib/hlm-alert.directive.ts.template +2 -2
  28. package/src/generators/ui/libs/ui-aspect-ratio-helm/files/lib/helm-aspect-ratio.directive.ts.template +2 -2
  29. package/src/generators/ui/libs/ui-avatar-helm/files/lib/hlm-avatar.component.spec.ts.template +1 -1
  30. package/src/generators/ui/libs/ui-avatar-helm/files/lib/hlm-avatar.component.ts.template +2 -2
  31. package/src/generators/ui/libs/ui-avatar-helm/files/lib/image/hlm-avatar-image.directive.ts.template +2 -2
  32. package/src/generators/ui/libs/ui-badge-helm/files/lib/hlm-badge.directive.ts.template +2 -2
  33. package/src/generators/ui/libs/ui-button-helm/files/lib/hlm-button.directive.ts.template +2 -2
  34. package/src/generators/ui/libs/ui-card-helm/files/lib/hlm-card-content.directive.ts.template +2 -2
  35. package/src/generators/ui/libs/ui-card-helm/files/lib/hlm-card-description.directive.ts.template +2 -2
  36. package/src/generators/ui/libs/ui-card-helm/files/lib/hlm-card-footer.directive.ts.template +2 -4
  37. package/src/generators/ui/libs/ui-card-helm/files/lib/hlm-card-header.directive.ts.template +3 -6
  38. package/src/generators/ui/libs/ui-card-helm/files/lib/hlm-card-title.directive.ts.template +2 -2
  39. package/src/generators/ui/libs/ui-card-helm/files/lib/hlm-card.directive.ts.template +2 -2
  40. package/src/generators/ui/libs/ui-checkbox-helm/files/lib/hlm-checkbox-checkicon.component.ts.template +5 -13
  41. package/src/generators/ui/libs/ui-checkbox-helm/files/lib/hlm-checkbox.component.ts.template +31 -39
  42. package/src/generators/ui/libs/ui-command-helm/files/lib/hlm-command-dialog-close-button.directive.ts.template +2 -2
  43. package/src/generators/ui/libs/ui-command-helm/files/lib/hlm-command-dialog.directive.ts.template +2 -2
  44. package/src/generators/ui/libs/ui-command-helm/files/lib/hlm-command-empty.directive.ts.template +2 -2
  45. package/src/generators/ui/libs/ui-command-helm/files/lib/hlm-command-group.directive.ts.template +2 -2
  46. package/src/generators/ui/libs/ui-command-helm/files/lib/hlm-command-input-wrapper.component.ts.template +2 -2
  47. package/src/generators/ui/libs/ui-command-helm/files/lib/hlm-command-input.directive.ts.template +2 -2
  48. package/src/generators/ui/libs/ui-command-helm/files/lib/hlm-command-item-icon.directive.ts.template +2 -2
  49. package/src/generators/ui/libs/ui-command-helm/files/lib/hlm-command-item.directive.ts.template +2 -2
  50. package/src/generators/ui/libs/ui-command-helm/files/lib/hlm-command-list.directive.ts.template +2 -2
  51. package/src/generators/ui/libs/ui-command-helm/files/lib/hlm-command-shortcut.component.ts.template +2 -2
  52. package/src/generators/ui/libs/ui-command-helm/files/lib/hlm-command.directive.ts.template +2 -2
  53. package/src/generators/ui/libs/ui-dialog-helm/files/index.ts.template +1 -0
  54. package/src/generators/ui/libs/ui-dialog-helm/files/lib/hlm-dialog-close.directive.ts.template +2 -2
  55. package/src/generators/ui/libs/ui-dialog-helm/files/lib/hlm-dialog-content.component.ts.template +22 -10
  56. package/src/generators/ui/libs/ui-dialog-helm/files/lib/hlm-dialog-description.directive.ts.template +2 -2
  57. package/src/generators/ui/libs/ui-dialog-helm/files/lib/hlm-dialog-footer.component.ts.template +2 -2
  58. package/src/generators/ui/libs/ui-dialog-helm/files/lib/hlm-dialog-header.component.ts.template +2 -2
  59. package/src/generators/ui/libs/ui-dialog-helm/files/lib/hlm-dialog-overlay.directive.ts.template +8 -8
  60. package/src/generators/ui/libs/ui-dialog-helm/files/lib/hlm-dialog-title.directive.ts.template +2 -4
  61. package/src/generators/ui/libs/ui-dialog-helm/files/lib/hlm-dialog.component.ts.template +1 -2
  62. package/src/generators/ui/libs/ui-dialog-helm/files/lib/hlm-dialog.service.ts.template +35 -0
  63. package/src/generators/ui/libs/ui-hover-card-helm/files/lib/hlm-hover-card-content.component.ts.template +2 -4
  64. package/src/generators/ui/libs/ui-icon-helm/files/lib/hlm-icon.component.ts.template +4 -4
  65. package/src/generators/ui/libs/ui-input-helm/files/lib/hlm-input-error.directive.ts.template +2 -2
  66. package/src/generators/ui/libs/ui-input-helm/files/lib/hlm-input.directive.ts.template +2 -2
  67. package/src/generators/ui/libs/ui-label-helm/files/lib/hlm-label.directive.ts.template +2 -2
  68. package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu-bar-item.directive.ts.template +2 -2
  69. package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu-bar.component.ts.template +2 -2
  70. package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu-item-check.component.ts.template +2 -2
  71. package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu-item-checkbox.directive.ts.template +2 -2
  72. package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu-item-icon.directive.ts.template +2 -2
  73. package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu-item-radio.component.ts.template +2 -2
  74. package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu-item-radio.directive.ts.template +2 -2
  75. package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu-item-sub-indicator.component.ts.template +2 -2
  76. package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu-item.directive.ts.template +2 -2
  77. package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu-label.component.ts.template +2 -2
  78. package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu-separator.component.ts.template +2 -2
  79. package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu-shortcut.component.ts.template +2 -2
  80. package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu.component.ts.template +2 -2
  81. package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-sub-menu.component.ts.template +2 -2
  82. package/src/generators/ui/libs/ui-popover-helm/files/lib/hlm-popover-close.directive.ts.template +2 -2
  83. package/src/generators/ui/libs/ui-popover-helm/files/lib/hlm-popover-content.directive.ts.template +2 -2
  84. package/src/generators/ui/libs/ui-progress-helm/files/lib/hlm-progress-indicator.directive.ts.template +2 -2
  85. package/src/generators/ui/libs/ui-progress-helm/files/lib/hlm-progress.directive.ts.template +2 -2
  86. package/src/generators/ui/libs/ui-radio-group-helm/files/lib/hlm-radio-group.directive.ts.template +2 -2
  87. package/src/generators/ui/libs/ui-radio-group-helm/files/lib/hlm-radio-indicator.component.ts.template +2 -2
  88. package/src/generators/ui/libs/ui-radio-group-helm/files/lib/hlm-radio.directive.ts.template +2 -2
  89. package/src/generators/ui/libs/ui-select-helm/files/lib/hlm-select-label.directive.ts.template +1 -1
  90. package/src/generators/ui/libs/ui-select-helm/files/lib/hlm-select-option.component.ts.template +2 -2
  91. package/src/generators/ui/libs/ui-select-helm/files/lib/hlm-select-trigger.component.ts.template +3 -3
  92. package/src/generators/ui/libs/ui-separator-helm/files/lib/hlm-separator.directive.ts.template +2 -2
  93. package/src/generators/ui/libs/ui-sheet-helm/files/lib/hlm-sheet-close.directive.ts.template +2 -2
  94. package/src/generators/ui/libs/ui-sheet-helm/files/lib/hlm-sheet-content.component.ts.template +2 -2
  95. package/src/generators/ui/libs/ui-sheet-helm/files/lib/hlm-sheet-description.directive.ts.template +2 -2
  96. package/src/generators/ui/libs/ui-sheet-helm/files/lib/hlm-sheet-footer.component.ts.template +2 -2
  97. package/src/generators/ui/libs/ui-sheet-helm/files/lib/hlm-sheet-header.component.ts.template +2 -2
  98. package/src/generators/ui/libs/ui-sheet-helm/files/lib/hlm-sheet-overlay.directive.ts.template +2 -2
  99. package/src/generators/ui/libs/ui-sheet-helm/files/lib/hlm-sheet-title.directive.ts.template +2 -2
  100. package/src/generators/ui/libs/ui-sheet-helm/files/lib/hlm-sheet.component.ts.template +1 -2
  101. package/src/generators/ui/libs/ui-skeleton-helm/files/lib/hlm-skeleton.component.ts.template +2 -2
  102. package/src/generators/ui/libs/ui-spinner-helm/files/lib/hlm-spinner.component.ts.template +2 -2
  103. package/src/generators/ui/libs/ui-switch-helm/files/lib/hlm-switch-thumb.directive.ts.template +2 -2
  104. package/src/generators/ui/libs/ui-switch-helm/files/lib/hlm-switch.component.ts.template +2 -2
  105. package/src/generators/ui/libs/ui-table-helm/files/lib/hlm-caption.component.ts.template +3 -3
  106. package/src/generators/ui/libs/ui-table-helm/files/lib/hlm-table.component.ts.template +3 -3
  107. package/src/generators/ui/libs/ui-table-helm/files/lib/hlm-td.component.ts.template +3 -3
  108. package/src/generators/ui/libs/ui-table-helm/files/lib/hlm-th.component.ts.template +3 -3
  109. package/src/generators/ui/libs/ui-table-helm/files/lib/hlm-trow.component.ts.template +2 -2
  110. package/src/generators/ui/libs/ui-tabs-helm/files/lib/hlm-tabs-content.directive.ts.template +2 -2
  111. package/src/generators/ui/libs/ui-tabs-helm/files/lib/hlm-tabs-list.component.ts.template +2 -2
  112. package/src/generators/ui/libs/ui-tabs-helm/files/lib/hlm-tabs-trigger.directive.ts.template +2 -2
  113. package/src/generators/ui/libs/ui-toggle-helm/files/lib/hlm-toggle-group.directive.ts.template +2 -2
  114. package/src/generators/ui/libs/ui-toggle-helm/files/lib/hlm-toggle.directive.ts.template +2 -2
  115. package/src/generators/ui/libs/ui-typography-helm/files/lib/hlm-blockquote.directive.ts.template +2 -2
  116. package/src/generators/ui/libs/ui-typography-helm/files/lib/hlm-code.directive.ts.template +2 -2
  117. package/src/generators/ui/libs/ui-typography-helm/files/lib/hlm-h1.directive.ts.template +2 -2
  118. package/src/generators/ui/libs/ui-typography-helm/files/lib/hlm-h2.directive.ts.template +2 -2
  119. package/src/generators/ui/libs/ui-typography-helm/files/lib/hlm-h3.directive.ts.template +2 -2
  120. package/src/generators/ui/libs/ui-typography-helm/files/lib/hlm-h4.directive.ts.template +2 -2
  121. package/src/generators/ui/libs/ui-typography-helm/files/lib/hlm-large.directive.ts.template +2 -2
  122. package/src/generators/ui/libs/ui-typography-helm/files/lib/hlm-lead.directive.ts.template +2 -2
  123. package/src/generators/ui/libs/ui-typography-helm/files/lib/hlm-muted.directive.ts.template +2 -2
  124. package/src/generators/ui/libs/ui-typography-helm/files/lib/hlm-p.directive.ts.template +2 -2
  125. package/src/generators/ui/libs/ui-typography-helm/files/lib/hlm-small.directive.ts.template +2 -2
  126. package/src/generators/ui/libs/ui-typography-helm/files/lib/hlm-ul.directive.ts.template +2 -2
  127. package/src/generators/ui/supported-ui-libraries.json +51 -50
  128. package/src/utils/get-project-names.js.map +1 -1
  129. package/src/utils/version-utils.js.map +1 -1
@@ -18,11 +18,11 @@ import { ClassValue } from 'clsx';
18
18
  },
19
19
  })
20
20
  export class HlmMenuItemRadioComponent {
21
- private readonly _userClass = input<ClassValue>('', { alias: 'class' });
21
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
22
22
  protected _computedClass = computed(() =>
23
23
  hlm(
24
24
  'group-[.checked]:opacity-100 opacity-0 absolute left-2 flex h-3.5 w-3.5 items-center justify-center',
25
- this._userClass(),
25
+ this.userClass(),
26
26
  ),
27
27
  );
28
28
  }
@@ -18,11 +18,11 @@ import { ClassValue } from 'clsx';
18
18
  ],
19
19
  })
20
20
  export class HlmMenuItemRadioDirective {
21
- private readonly _userClass = input<ClassValue>('', { alias: 'class' });
21
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
22
22
  protected _computedClass = computed(() =>
23
23
  hlm(
24
24
  'group w-full relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground disabled:pointer-events-none disabled:opacity-50',
25
- this._userClass(),
25
+ this.userClass(),
26
26
  ),
27
27
  );
28
28
  }
@@ -17,6 +17,6 @@ import { ClassValue } from 'clsx';
17
17
  },
18
18
  })
19
19
  export class HlmMenuItemSubIndicatorComponent {
20
- private readonly _userClass = input<ClassValue>('', { alias: 'class' });
21
- protected _computedClass = computed(() => hlm('inline-block ml-auto h-4 w-4', this._userClass()));
20
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
21
+ protected _computedClass = computed(() => hlm('inline-block ml-auto h-4 w-4', this.userClass()));
22
22
  }
@@ -30,8 +30,8 @@ export type HlmMenuItemVariants = VariantProps<typeof hlmMenuItemVariants>;
30
30
  export class HlmMenuItemDirective {
31
31
  private readonly _inset = signal<boolean>(false);
32
32
 
33
- private readonly _userClass = input<ClassValue>('', { alias: 'class' });
34
- protected _computedClass = computed(() => hlm(hlmMenuItemVariants({ inset: this._inset() }), this._userClass()));
33
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
34
+ protected _computedClass = computed(() => hlm(hlmMenuItemVariants({ inset: this._inset() }), this.userClass()));
35
35
 
36
36
  @Input({ transform: booleanAttribute })
37
37
  set inset(value: boolean) {
@@ -13,9 +13,9 @@ import { ClassValue } from 'clsx';
13
13
  },
14
14
  })
15
15
  export class HlmMenuLabelComponent {
16
- private readonly _userClass = input<ClassValue>('', { alias: 'class' });
16
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
17
17
  protected _computedClass = computed(() =>
18
- hlm('block px-2 py-1.5 text-sm font-semibold', this._inset() && 'pl-8', this._userClass()),
18
+ hlm('block px-2 py-1.5 text-sm font-semibold', this._inset() && 'pl-8', this.userClass()),
19
19
  );
20
20
 
21
21
  private readonly _inset = signal<ClassValue>(false);
@@ -11,6 +11,6 @@ import { ClassValue } from 'clsx';
11
11
  },
12
12
  })
13
13
  export class HlmMenuSeparatorComponent {
14
- private readonly _userClass = input<ClassValue>('', { alias: 'class' });
15
- protected _computedClass = computed(() => hlm('block -mx-1 my-1 h-px bg-muted', this._userClass()));
14
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
15
+ protected _computedClass = computed(() => hlm('block -mx-1 my-1 h-px bg-muted', this.userClass()));
16
16
  }
@@ -13,8 +13,8 @@ import { ClassValue } from 'clsx';
13
13
  },
14
14
  })
15
15
  export class HlmMenuShortcutComponent {
16
- private readonly _userClass = input<ClassValue>('', { alias: 'class' });
16
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
17
17
  protected _computedClass = computed(() =>
18
- hlm('ml-auto font-light text-xs tracking-widest opacity-60', this._userClass()),
18
+ hlm('ml-auto font-light text-xs tracking-widest opacity-60', this.userClass()),
19
19
  );
20
20
  }
@@ -32,8 +32,8 @@ type MenuVariants = VariantProps<typeof menuVariants>;
32
32
  `,
33
33
  })
34
34
  export class HlmMenuComponent {
35
- private readonly _userClass = input<ClassValue>('', { alias: 'class' });
36
- protected _computedClass = computed(() => hlm(menuVariants({ variant: this._variant() }), this._userClass()));
35
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
36
+ protected _computedClass = computed(() => hlm(menuVariants({ variant: this._variant() }), this.userClass()));
37
37
 
38
38
  private readonly _variant = signal<MenuVariants['variant']>('default');
39
39
  @Input()
@@ -15,11 +15,11 @@ import { ClassValue } from 'clsx';
15
15
  `,
16
16
  })
17
17
  export class HlmSubMenuComponent {
18
- private readonly _userClass = input<ClassValue>('', { alias: 'class' });
18
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
19
19
  protected _computedClass = computed(() =>
20
20
  hlm(
21
21
  'border-border min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg 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',
22
- this._userClass(),
22
+ this.userClass(),
23
23
  ),
24
24
  );
25
25
  }
@@ -10,11 +10,11 @@ import { ClassValue } from 'clsx';
10
10
  },
11
11
  })
12
12
  export class HlmPopoverCloseDirective {
13
- private readonly _userClass = input<ClassValue>('', { alias: 'class' });
13
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
14
14
  protected _computedClass = computed(() =>
15
15
  hlm(
16
16
  'absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground',
17
- this._userClass(),
17
+ this.userClass(),
18
18
  ),
19
19
  );
20
20
  }
@@ -21,11 +21,11 @@ export class HlmPopoverContentDirective {
21
21
  });
22
22
  }
23
23
 
24
- private readonly _userClass = input<ClassValue>('', { alias: 'class' });
24
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
25
25
  protected _computedClass = computed(() =>
26
26
  hlm(
27
27
  'relative border-border w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none 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',
28
- this._userClass(),
28
+ this.userClass(),
29
29
  ),
30
30
  );
31
31
  }
@@ -14,9 +14,9 @@ export class HlmProgressIndicatorDirective implements DoCheck {
14
14
  private _renderer = inject(Renderer2);
15
15
  private readonly _value = signal(0);
16
16
 
17
- private readonly _userClass = input<ClassValue>('', { alias: 'class' });
17
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
18
18
  protected _computedClass = computed(() =>
19
- hlm('inline-flex transform-gpu h-full w-full flex-1 bg-primary transition-all', this._userClass()),
19
+ hlm('inline-flex transform-gpu h-full w-full flex-1 bg-primary transition-all', this.userClass()),
20
20
  );
21
21
 
22
22
  constructor() {
@@ -10,8 +10,8 @@ import { ClassValue } from 'clsx';
10
10
  },
11
11
  })
12
12
  export class HlmProgressDirective {
13
- private readonly _userClass = input<ClassValue>('', { alias: 'class' });
13
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
14
14
  protected _computedClass = computed(() =>
15
- hlm('inline-flex relative h-4 w-full overflow-hidden rounded-full bg-secondary', this._userClass()),
15
+ hlm('inline-flex relative h-4 w-full overflow-hidden rounded-full bg-secondary', this.userClass()),
16
16
  );
17
17
  }
@@ -10,6 +10,6 @@ import { ClassValue } from 'clsx';
10
10
  },
11
11
  })
12
12
  export class HlmRadioGroupDirective {
13
- private readonly _userClass = input<ClassValue>('', { alias: 'class' });
14
- protected _computedClass = computed(() => hlm('block', this._userClass()));
13
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
14
+ protected _computedClass = computed(() => hlm('block', this.userClass()));
15
15
  }
@@ -19,6 +19,6 @@ const btnLike =
19
19
  `,
20
20
  })
21
21
  export class HlmRadioIndicatorComponent {
22
- private readonly _userClass = input<ClassValue>('', { alias: 'class' });
23
- protected _computedClass = computed(() => hlm('relative inline-flex h-4 w-4', this._userClass()));
22
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
23
+ protected _computedClass = computed(() => hlm('relative inline-flex h-4 w-4', this.userClass()));
24
24
  }
@@ -10,8 +10,8 @@ import { ClassValue } from 'clsx';
10
10
  },
11
11
  })
12
12
  export class HlmRadioDirective {
13
- private readonly _userClass = input<ClassValue>('', { alias: 'class' });
13
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
14
14
  protected _computedClass = computed(() =>
15
- hlm('group [&.brn-radio-disabled]:text-muted-foreground flex items-center space-x-2', this._userClass()),
15
+ hlm('group [&.brn-radio-disabled]:text-muted-foreground flex items-center space-x-2', this.userClass()),
16
16
  );
17
17
  }
@@ -24,7 +24,7 @@ export class HlmSelectLabelDirective implements OnInit {
24
24
  }
25
25
  protected _computedClass = computed(() =>
26
26
  hlm(
27
- 'px-2 py-1.5 text-sm font-semibold',
27
+ 'pl-8 pr-2 text-sm font-semibold rtl:pl-2 rtl:pr-8',
28
28
  this._stickyLabels() ? 'sticky top-0 bg-popover block z-[2]' : '',
29
29
  this._classNames(),
30
30
  ),
@@ -18,7 +18,7 @@ import { ClassValue } from 'clsx';
18
18
  <ng-content />
19
19
  <span
20
20
  [attr.dir]="_brnSelectOption.dir()"
21
- class="absolute right-2 flex h-3.5 w-3.5 items-center justify-center rtl:left-2 rtl:right-auto"
21
+ class="absolute left-2 flex h-3.5 w-3.5 items-center justify-center rtl:left-auto rtl:right-2"
22
22
  [attr.data-state]="this._brnSelectOption.checkedState()"
23
23
  >
24
24
  @if (this._brnSelectOption.selected()) {
@@ -39,7 +39,7 @@ export class HlmSelectOptionComponent {
39
39
  }
40
40
  protected readonly _computedClass = computed(() =>
41
41
  hlm(
42
- 'relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pr-8 pl-2 rtl:flex-reverse rtl:pl-8 rtl:pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',
42
+ 'relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 rtl:flex-reverse rtl:pr-8 rtl:pl-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',
43
43
  this.classNames(),
44
44
  ),
45
45
  );
@@ -1,6 +1,6 @@
1
1
  import { Component, computed, ContentChild, ElementRef, Input, signal, ViewChild } from '@angular/core';
2
2
  import { provideIcons } from '@ng-icons/core';
3
- import { lucideChevronsUpDown } from '@ng-icons/lucide';
3
+ import { lucideChevronDown } from '@ng-icons/lucide';
4
4
  import { hlm } from '@spartan-ng/ui-core';
5
5
  import { HlmIconComponent } from '@spartan-ng/ui-icon-helm';
6
6
  import { BrnSelectTriggerDirective } from '@spartan-ng/ui-select-brain';
@@ -10,14 +10,14 @@ import { ClassValue } from 'clsx';
10
10
  selector: 'hlm-select-trigger',
11
11
  standalone: true,
12
12
  imports: [BrnSelectTriggerDirective, HlmIconComponent],
13
- providers: [provideIcons({ lucideChevronsUpDown })],
13
+ providers: [provideIcons({ lucideChevronDown })],
14
14
  template: `
15
15
  <button [class]="_computedClass()" #button brnSelectTrigger type="button">
16
16
  <ng-content />
17
17
  @if (icon) {
18
18
  <ng-content select="hlm-icon" />
19
19
  } @else {
20
- <hlm-icon class="ml-2 h-4 w-4 flex-none" name="lucideChevronsUpDown" />
20
+ <hlm-icon class="ml-2 h-4 w-4 flex-none" name="lucideChevronDown" />
21
21
  }
22
22
  </button>
23
23
  `,
@@ -17,12 +17,12 @@ export class HlmSeparatorDirective {
17
17
  this._orientation.set(value);
18
18
  }
19
19
 
20
- private readonly _userClass = input<ClassValue>('', { alias: 'class' });
20
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
21
21
  protected _computedClass = computed(() =>
22
22
  hlm(
23
23
  'inline-flex shrink-0 border-0 bg-border',
24
24
  this._orientation() === 'horizontal' ? 'h-[1px] w-full' : 'h-full w-[1px]',
25
- this._userClass(),
25
+ this.userClass(),
26
26
  ),
27
27
  );
28
28
  }
@@ -10,11 +10,11 @@ import { ClassValue } from 'clsx';
10
10
  },
11
11
  })
12
12
  export class HlmSheetCloseDirective {
13
- private readonly _userClass = input<ClassValue>('', { alias: 'class' });
13
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
14
14
  protected _computedClass = computed(() =>
15
15
  hlm(
16
16
  'absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground',
17
- this._userClass(),
17
+ this.userClass(),
18
18
  ),
19
19
  );
20
20
  }
@@ -56,6 +56,6 @@ export class HlmSheetContentComponent {
56
56
  });
57
57
  }
58
58
 
59
- private readonly _userClass = input<ClassValue>('', { alias: 'class' });
60
- protected _computedClass = computed(() => hlm(sheetVariants({ side: this._sideProvider.side() }), this._userClass()));
59
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
60
+ protected _computedClass = computed(() => hlm(sheetVariants({ side: this._sideProvider.side() }), this.userClass()));
61
61
  }
@@ -12,6 +12,6 @@ import { ClassValue } from 'clsx';
12
12
  hostDirectives: [BrnSheetDescriptionDirective],
13
13
  })
14
14
  export class HlmSheetDescriptionDirective {
15
- private readonly _userClass = input<ClassValue>('', { alias: 'class' });
16
- protected _computedClass = computed(() => hlm('text-sm text-muted-foreground', this._userClass()));
15
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
16
+ protected _computedClass = computed(() => hlm('text-sm text-muted-foreground', this.userClass()));
17
17
  }
@@ -13,8 +13,8 @@ import { ClassValue } from 'clsx';
13
13
  },
14
14
  })
15
15
  export class HlmSheetFooterComponent {
16
- private readonly _userClass = input<ClassValue>('', { alias: 'class' });
16
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
17
17
  protected _computedClass = computed(() =>
18
- hlm('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', this._userClass()),
18
+ hlm('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', this.userClass()),
19
19
  );
20
20
  }
@@ -13,6 +13,6 @@ import { ClassValue } from 'clsx';
13
13
  },
14
14
  })
15
15
  export class HlmSheetHeaderComponent {
16
- private readonly _userClass = input<ClassValue>('', { alias: 'class' });
17
- protected _computedClass = computed(() => hlm('flex flex-col space-y-2 text-center sm:text-left', this._userClass()));
16
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
17
+ protected _computedClass = computed(() => hlm('flex flex-col space-y-2 text-center sm:text-left', this.userClass()));
18
18
  }
@@ -11,11 +11,11 @@ import { ClassValue } from 'clsx';
11
11
  })
12
12
  export class HlmSheetOverlayDirective {
13
13
  private _classSettable = injectCustomClassSettable({ optional: true, host: true });
14
- private readonly _userClass = input<ClassValue>('', { alias: 'class' });
14
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
15
15
  protected _computedClass = computed(() =>
16
16
  hlm(
17
17
  'bg-background/80 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',
18
- this._userClass(),
18
+ this.userClass(),
19
19
  ),
20
20
  );
21
21
 
@@ -12,6 +12,6 @@ import { ClassValue } from 'clsx';
12
12
  hostDirectives: [BrnSheetTitleDirective],
13
13
  })
14
14
  export class HlmSheetTitleDirective {
15
- private readonly _userClass = input<ClassValue>('', { alias: 'class' });
16
- protected _computedClass = computed(() => hlm('text-lg font-semibold', this._userClass()));
15
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
16
+ protected _computedClass = computed(() => hlm('text-lg font-semibold', this.userClass()));
17
17
  }
@@ -1,5 +1,5 @@
1
1
  import { ChangeDetectionStrategy, Component, forwardRef, ViewEncapsulation } from '@angular/core';
2
- import { BrnDialogComponent, provideBrnDialog } from '@spartan-ng/ui-dialog-brain';
2
+ import { BrnDialogComponent } from '@spartan-ng/ui-dialog-brain';
3
3
  import { BrnSheetComponent, BrnSheetOverlayComponent } from '@spartan-ng/ui-sheet-brain';
4
4
  import { HlmSheetOverlayDirective } from './hlm-sheet-overlay.directive';
5
5
 
@@ -8,7 +8,6 @@ import { HlmSheetOverlayDirective } from './hlm-sheet-overlay.directive';
8
8
  standalone: true,
9
9
  imports: [BrnSheetOverlayComponent, HlmSheetOverlayDirective],
10
10
  providers: [
11
- provideBrnDialog(),
12
11
  {
13
12
  provide: BrnDialogComponent,
14
13
  useExisting: forwardRef(() => BrnSheetComponent),
@@ -11,6 +11,6 @@ import { ClassValue } from 'clsx';
11
11
  },
12
12
  })
13
13
  export class HlmSkeletonComponent {
14
- private readonly _userClass = input<ClassValue>('', { alias: 'class' });
15
- protected _computedClass = computed(() => hlm('block animate-pulse rounded-md bg-muted', this._userClass()));
14
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
15
+ protected _computedClass = computed(() => hlm('block animate-pulse rounded-md bg-muted', this.userClass()));
16
16
  }
@@ -51,6 +51,6 @@ export class HlmSpinnerComponent {
51
51
  this._size.set(value);
52
52
  }
53
53
 
54
- private readonly _userClass = input<ClassValue>('', { alias: 'class' });
55
- protected _computedClass = computed(() => hlm(spinnerVariants({ size: this._size() }), this._userClass()));
54
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
55
+ protected _computedClass = computed(() => hlm(spinnerVariants({ size: this._size() }), this.userClass()));
56
56
  }
@@ -10,11 +10,11 @@ import { ClassValue } from 'clsx';
10
10
  },
11
11
  })
12
12
  export class HlmSwitchThumbDirective {
13
- private readonly _userClass = input<ClassValue>('', { alias: 'class' });
13
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
14
14
  protected _computedClass = computed(() =>
15
15
  hlm(
16
16
  'block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform group-data-[state=checked]:translate-x-5 group-data-[state=unchecked]:translate-x-0',
17
- this._userClass(),
17
+ this.userClass(),
18
18
  ),
19
19
  );
20
20
  }
@@ -50,12 +50,12 @@ export const HLM_SWITCH_VALUE_ACCESSOR = {
50
50
  providers: [HLM_SWITCH_VALUE_ACCESSOR],
51
51
  })
52
52
  export class HlmSwitchComponent {
53
- private readonly _userClass = input<ClassValue>('', { alias: 'class' });
53
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
54
54
  protected _computedClass = computed(() =>
55
55
  hlm(
56
56
  'group inline-flex h-[24px] w-[44px] shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input',
57
57
  this._disabled() ? 'cursor-not-allowed opacity-50' : '',
58
- this._userClass(),
58
+ this.userClass(),
59
59
  ),
60
60
  );
61
61
 
@@ -32,13 +32,13 @@ export class HlmCaptionComponent {
32
32
 
33
33
  protected readonly id = input<string | null | undefined>(`${captionIdSequence++}`);
34
34
 
35
- private readonly hidden = input(false, { transform: booleanAttribute });
36
- private readonly _userClass = input<ClassValue>('', { alias: 'class' });
35
+ public readonly hidden = input(false, { transform: booleanAttribute });
36
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
37
37
  protected readonly _computedClass = computed(() =>
38
38
  hlm(
39
39
  'text-center block mt-4 text-sm text-muted-foreground',
40
40
  this.hidden() ? 'sr-only' : 'order-last',
41
- this._userClass(),
41
+ this.userClass(),
42
42
  ),
43
43
  );
44
44
 
@@ -17,13 +17,13 @@ import { ClassValue } from 'clsx';
17
17
  encapsulation: ViewEncapsulation.None,
18
18
  })
19
19
  export class HlmTableComponent {
20
- private readonly _userClass = input<ClassValue>('', { alias: 'class' });
20
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
21
21
  protected readonly _computedClass = computed(() =>
22
- hlm('flex flex-col text-sm [&_hlm-trow:last-child]:border-0', this._userClass()),
22
+ hlm('flex flex-col text-sm [&_hlm-trow:last-child]:border-0', this.userClass()),
23
23
  );
24
24
 
25
25
  // we aria-labelledby to be settable from outside but use the input by default.
26
- private readonly _labeledByInput = input<string | null | undefined>(undefined, { alias: 'aria-labelledby' });
26
+ public readonly _labeledByInput = input<string | null | undefined>(undefined, { alias: 'aria-labelledby' });
27
27
  public readonly labeledBy = signal<string | null | undefined>(undefined);
28
28
 
29
29
  constructor() {
@@ -36,10 +36,10 @@ import { ClassValue } from 'clsx';
36
36
  })
37
37
  export class HlmTdComponent {
38
38
  private readonly _columnDef? = inject(BrnColumnDefComponent, { optional: true });
39
- protected readonly truncate = input(false, { transform: booleanAttribute });
39
+ public readonly truncate = input(false, { transform: booleanAttribute });
40
40
 
41
- private readonly _userClass = input<ClassValue>('', { alias: 'class' });
41
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
42
42
  protected readonly _computedClass = computed(() =>
43
- hlm('flex flex-none p-4 items-center [&:has([role=checkbox])]:pr-0', this._columnDef?.class(), this._userClass()),
43
+ hlm('flex flex-none p-4 items-center [&:has([role=checkbox])]:pr-0', this._columnDef?.class(), this.userClass()),
44
44
  );
45
45
  }
@@ -36,14 +36,14 @@ import { ClassValue } from 'clsx';
36
36
  })
37
37
  export class HlmThComponent {
38
38
  private readonly _columnDef? = inject(BrnColumnDefComponent, { optional: true });
39
- protected readonly truncate = input(false, { transform: booleanAttribute });
39
+ public readonly truncate = input(false, { transform: booleanAttribute });
40
40
 
41
- private readonly _userClass = input<ClassValue>('', { alias: 'class' });
41
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
42
42
  protected readonly _computedClass = computed(() =>
43
43
  hlm(
44
44
  'flex flex-none h-12 px-4 text-sm items-center font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0',
45
45
  this._columnDef?.class(),
46
- this._userClass(),
46
+ this.userClass(),
47
47
  ),
48
48
  );
49
49
  }
@@ -16,11 +16,11 @@ import { ClassValue } from 'clsx';
16
16
  encapsulation: ViewEncapsulation.None,
17
17
  })
18
18
  export class HlmTrowComponent {
19
- private readonly _userClass = input<ClassValue>('', { alias: 'class' });
19
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
20
20
  protected _computedClass = computed(() =>
21
21
  hlm(
22
22
  'flex flex border-b border-border transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted',
23
- this._userClass(),
23
+ this.userClass(),
24
24
  ),
25
25
  );
26
26
  }
@@ -14,11 +14,11 @@ import { ClassValue } from 'clsx';
14
14
  export class HlmTabsContentDirective {
15
15
  public readonly contentFor = input.required<string>({ alias: 'hlmTabsContent' });
16
16
 
17
- public readonly _userClass = input<ClassValue>('', { alias: 'class' });
17
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
18
18
  protected _computedClass = computed(() =>
19
19
  hlm(
20
20
  'mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',
21
- this._userClass(),
21
+ this.userClass(),
22
22
  ),
23
23
  );
24
24
  }
@@ -32,6 +32,6 @@ type ListVariants = VariantProps<typeof listVariants>;
32
32
  export class HlmTabsListComponent {
33
33
  public readonly orientation = input<ListVariants['orientation']>('horizontal');
34
34
 
35
- public readonly _userClass = input<ClassValue>('', { alias: 'class' });
36
- protected _computedClass = computed(() => hlm(listVariants({ orientation: this.orientation() }), this._userClass()));
35
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
36
+ protected _computedClass = computed(() => hlm(listVariants({ orientation: this.orientation() }), this.userClass()));
37
37
  }
@@ -14,11 +14,11 @@ import { ClassValue } from 'clsx';
14
14
  export class HlmTabsTriggerDirective {
15
15
  public readonly triggerFor = input.required<string>({ alias: 'hlmTabsTrigger' });
16
16
 
17
- public readonly _userClass = input<ClassValue>('', { alias: 'class' });
17
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
18
18
  protected _computedClass = computed(() =>
19
19
  hlm(
20
20
  'inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm',
21
- this._userClass(),
21
+ this.userClass(),
22
22
  ),
23
23
  );
24
24
  }
@@ -10,11 +10,11 @@ import { ClassValue } from 'clsx';
10
10
  },
11
11
  })
12
12
  export class HlmToggleGroupDirective {
13
- private readonly _userClass = input<ClassValue>('', { alias: 'class' });
13
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
14
14
  protected _computedClass = computed(() =>
15
15
  hlm(
16
16
  'inline-flex items-center rounded-md [&>[hlm][brnToggle][variant="outline"]]:-mx-[0.5px] [&>[hlm][brnToggle]]:rounded-none focus:[&>[hlm][brnToggle]]:z-10 first-of-type:[&>[hlm][brnToggle]]:rounded-l-md last-of-type:[&>[hlm][brnToggle]]:rounded-r-md',
17
- this._userClass(),
17
+ this.userClass(),
18
18
  ),
19
19
  );
20
20
  }
@@ -45,8 +45,8 @@ export class HlmToggleDirective {
45
45
  this._size.set(value);
46
46
  }
47
47
 
48
- private readonly _userClass = input<ClassValue>('', { alias: 'class' });
48
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
49
49
  protected _computedClass = computed(() =>
50
- hlm(toggleVariants({ variant: this._variant(), size: this._size() }), this._userClass()),
50
+ hlm(toggleVariants({ variant: this._variant(), size: this._size() }), this.userClass()),
51
51
  );
52
52
  }
@@ -12,6 +12,6 @@ export const hlmBlockquote = 'mt-6 border-border border-l-2 pl-6 italic';
12
12
  },
13
13
  })
14
14
  export class HlmBlockquoteDirective {
15
- private readonly _userClass = input<ClassValue>('', { alias: 'class' });
16
- protected _computedClass = computed(() => hlm(hlmBlockquote, this._userClass()));
15
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
16
+ protected _computedClass = computed(() => hlm(hlmBlockquote, this.userClass()));
17
17
  }
@@ -12,6 +12,6 @@ export const hlmCode = 'relative rounded bg-muted px-[0.3rem] py-[0.2rem] font-m
12
12
  },
13
13
  })
14
14
  export class HlmCodeDirective {
15
- private readonly _userClass = input<ClassValue>('', { alias: 'class' });
16
- protected _computedClass = computed(() => hlm(hlmCode, this._userClass()));
15
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
16
+ protected _computedClass = computed(() => hlm(hlmCode, this.userClass()));
17
17
  }
@@ -12,6 +12,6 @@ export const hlmH1 = 'scroll-m-20 text-4xl font-extrabold tracking-tight lg:text
12
12
  },
13
13
  })
14
14
  export class HlmH1Directive {
15
- private readonly _userClass = input<ClassValue>('', { alias: 'class' });
16
- protected _computedClass = computed(() => hlm(hlmH1, this._userClass()));
15
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
16
+ protected _computedClass = computed(() => hlm(hlmH1, this.userClass()));
17
17
  }