@spartan-ng/cli 0.0.1-alpha.557 → 0.0.1-alpha.558

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 (114) hide show
  1. package/package.json +1 -1
  2. package/src/generators/ui/libs/accordion/files/lib/hlm-accordion-content.ts.template +1 -1
  3. package/src/generators/ui/libs/accordion/files/lib/hlm-accordion-item.ts.template +3 -3
  4. package/src/generators/ui/libs/accordion/files/lib/hlm-accordion-trigger.ts.template +1 -1
  5. package/src/generators/ui/libs/accordion/files/lib/hlm-accordion.ts.template +1 -1
  6. package/src/generators/ui/libs/alert-dialog/files/lib/hlm-alert-dialog-cancel-button.ts.template +1 -1
  7. package/src/generators/ui/libs/alert-dialog/files/lib/hlm-alert-dialog-content.ts.template +1 -1
  8. package/src/generators/ui/libs/alert-dialog/files/lib/hlm-alert-dialog-description.ts.template +1 -1
  9. package/src/generators/ui/libs/alert-dialog/files/lib/hlm-alert-dialog-footer.ts.template +4 -4
  10. package/src/generators/ui/libs/alert-dialog/files/lib/hlm-alert-dialog-header.ts.template +4 -4
  11. package/src/generators/ui/libs/alert-dialog/files/lib/hlm-alert-dialog-title.ts.template +1 -1
  12. package/src/generators/ui/libs/alert-dialog/files/lib/hlm-alert-dialog.ts.template +6 -6
  13. package/src/generators/ui/libs/autocomplete/files/lib/hlm-autocomplete-group.ts.template +2 -2
  14. package/src/generators/ui/libs/autocomplete/files/lib/hlm-autocomplete-item.ts.template +4 -4
  15. package/src/generators/ui/libs/autocomplete/files/lib/hlm-autocomplete-list.ts.template +5 -5
  16. package/src/generators/ui/libs/autocomplete/files/lib/hlm-autocomplete.ts.template +1 -1
  17. package/src/generators/ui/libs/breadcrumb/files/lib/hlm-breadcrumb-ellipsis.ts.template +1 -1
  18. package/src/generators/ui/libs/breadcrumb/files/lib/hlm-breadcrumb-separator.ts.template +1 -1
  19. package/src/generators/ui/libs/button-group/files/lib/hlm-button-group-separator.ts.template +1 -1
  20. package/src/generators/ui/libs/calendar/files/lib/hlm-calendar-multi.ts.template +1 -1
  21. package/src/generators/ui/libs/calendar/files/lib/hlm-calendar-range.ts.template +1 -1
  22. package/src/generators/ui/libs/calendar/files/lib/hlm-calendar.ts.template +1 -1
  23. package/src/generators/ui/libs/carousel/files/lib/hlm-carousel-next.ts.template +3 -3
  24. package/src/generators/ui/libs/carousel/files/lib/hlm-carousel-previous.ts.template +3 -3
  25. package/src/generators/ui/libs/carousel/files/lib/hlm-carousel-slide-display.ts.template +4 -4
  26. package/src/generators/ui/libs/carousel/files/lib/hlm-carousel.ts.template +1 -1
  27. package/src/generators/ui/libs/checkbox/files/lib/hlm-checkbox.ts.template +11 -11
  28. package/src/generators/ui/libs/command/files/lib/hlm-command-dialog-close-button.ts.template +1 -1
  29. package/src/generators/ui/libs/command/files/lib/hlm-command-group-label.ts.template +2 -2
  30. package/src/generators/ui/libs/command/files/lib/hlm-command-group.ts.template +2 -2
  31. package/src/generators/ui/libs/command/files/lib/hlm-command-icon.ts.template +1 -1
  32. package/src/generators/ui/libs/command/files/lib/hlm-command-item.ts.template +4 -4
  33. package/src/generators/ui/libs/command/files/lib/hlm-command-list.ts.template +5 -5
  34. package/src/generators/ui/libs/command/files/lib/hlm-command-search-input.ts.template +2 -2
  35. package/src/generators/ui/libs/command/files/lib/hlm-command-search.ts.template +5 -5
  36. package/src/generators/ui/libs/command/files/lib/hlm-command-separator.ts.template +2 -2
  37. package/src/generators/ui/libs/command/files/lib/hlm-command-shortcut.ts.template +2 -2
  38. package/src/generators/ui/libs/command/files/lib/hlm-command.ts.template +4 -4
  39. package/src/generators/ui/libs/date-picker/files/lib/hlm-date-picker-multi.ts.template +4 -4
  40. package/src/generators/ui/libs/date-picker/files/lib/hlm-date-picker.ts.template +4 -4
  41. package/src/generators/ui/libs/date-picker/files/lib/hlm-date-range-picker.ts.template +4 -4
  42. package/src/generators/ui/libs/dialog/files/lib/hlm-dialog-content.ts.template +1 -1
  43. package/src/generators/ui/libs/dialog/files/lib/hlm-dialog-description.ts.template +1 -1
  44. package/src/generators/ui/libs/dialog/files/lib/hlm-dialog-footer.ts.template +4 -4
  45. package/src/generators/ui/libs/dialog/files/lib/hlm-dialog-header.ts.template +4 -4
  46. package/src/generators/ui/libs/dialog/files/lib/hlm-dialog.ts.template +2 -2
  47. package/src/generators/ui/libs/field/files/lib/hlm-field-error.ts.template +1 -1
  48. package/src/generators/ui/libs/field/files/lib/hlm-field-separator.ts.template +1 -1
  49. package/src/generators/ui/libs/form-field/files/lib/hlm-form-field.ts.template +4 -4
  50. package/src/generators/ui/libs/hover-card/files/lib/hlm-hover-card-content.ts.template +1 -1
  51. package/src/generators/ui/libs/input/files/lib/hlm-input.ts.template +3 -3
  52. package/src/generators/ui/libs/input-otp/files/lib/hlm-input-otp-fake-caret.ts.template +1 -1
  53. package/src/generators/ui/libs/input-otp/files/lib/hlm-input-otp-separator.ts.template +4 -4
  54. package/src/generators/ui/libs/input-otp/files/lib/hlm-input-otp-slot.ts.template +5 -5
  55. package/src/generators/ui/libs/menu/files/lib/hlm-menu-bar-item.ts.template +1 -1
  56. package/src/generators/ui/libs/menu/files/lib/hlm-menu-bar.ts.template +2 -2
  57. package/src/generators/ui/libs/menu/files/lib/hlm-menu-group.ts.template +2 -2
  58. package/src/generators/ui/libs/menu/files/lib/hlm-menu-item-check.ts.template +5 -5
  59. package/src/generators/ui/libs/menu/files/lib/hlm-menu-item-checkbox.ts.template +3 -3
  60. package/src/generators/ui/libs/menu/files/lib/hlm-menu-item-radio-indicator.ts.template +5 -5
  61. package/src/generators/ui/libs/menu/files/lib/hlm-menu-item-radio.ts.template +3 -3
  62. package/src/generators/ui/libs/menu/files/lib/hlm-menu-item-sub-indicator.ts.template +5 -5
  63. package/src/generators/ui/libs/menu/files/lib/hlm-menu-item.ts.template +5 -5
  64. package/src/generators/ui/libs/menu/files/lib/hlm-menu-label.ts.template +4 -4
  65. package/src/generators/ui/libs/menu/files/lib/hlm-menu-separator.ts.template +2 -2
  66. package/src/generators/ui/libs/menu/files/lib/hlm-menu-shortcut.ts.template +4 -4
  67. package/src/generators/ui/libs/menu/files/lib/hlm-menu.ts.template +2 -2
  68. package/src/generators/ui/libs/menu/files/lib/hlm-sub-menu.ts.template +2 -2
  69. package/src/generators/ui/libs/navigation-menu/files/hlm-navigation-menu-item.ts.template +1 -1
  70. package/src/generators/ui/libs/navigation-menu/files/hlm-navigation-menu-link.ts.template +1 -1
  71. package/src/generators/ui/libs/navigation-menu/files/hlm-navigation-menu-list.ts.template +3 -3
  72. package/src/generators/ui/libs/navigation-menu/files/hlm-navigation-menu-trigger.ts.template +1 -1
  73. package/src/generators/ui/libs/navigation-menu/files/hlm-navigation-menu.ts.template +3 -3
  74. package/src/generators/ui/libs/pagination/files/lib/hlm-numbered-pagination-query-params.ts.template +13 -13
  75. package/src/generators/ui/libs/pagination/files/lib/hlm-numbered-pagination.ts.template +13 -13
  76. package/src/generators/ui/libs/pagination/files/lib/hlm-pagination-ellipsis.ts.template +1 -1
  77. package/src/generators/ui/libs/pagination/files/lib/hlm-pagination-next.ts.template +1 -1
  78. package/src/generators/ui/libs/pagination/files/lib/hlm-pagination-previous.ts.template +1 -1
  79. package/src/generators/ui/libs/progress/files/lib/hlm-progress-indicator.ts.template +1 -1
  80. package/src/generators/ui/libs/progress/files/lib/hlm-progress.ts.template +1 -1
  81. package/src/generators/ui/libs/radio-group/files/lib/hlm-radio-group.ts.template +1 -1
  82. package/src/generators/ui/libs/radio-group/files/lib/hlm-radio-indicator.ts.template +1 -1
  83. package/src/generators/ui/libs/radio-group/files/lib/hlm-radio.ts.template +9 -9
  84. package/src/generators/ui/libs/resizable/files/lib/hlm-resizable-group.ts.template +4 -4
  85. package/src/generators/ui/libs/resizable/files/lib/hlm-resizable-handle.ts.template +5 -5
  86. package/src/generators/ui/libs/resizable/files/lib/hlm-resizable-panel.ts.template +4 -4
  87. package/src/generators/ui/libs/select/files/lib/hlm-select-option.ts.template +2 -2
  88. package/src/generators/ui/libs/select/files/lib/hlm-select-scroll-down.ts.template +1 -1
  89. package/src/generators/ui/libs/select/files/lib/hlm-select-scroll-up.ts.template +1 -1
  90. package/src/generators/ui/libs/select/files/lib/hlm-select-trigger.ts.template +1 -1
  91. package/src/generators/ui/libs/sheet/files/lib/hlm-sheet-content.ts.template +1 -1
  92. package/src/generators/ui/libs/sheet/files/lib/hlm-sheet-description.ts.template +1 -1
  93. package/src/generators/ui/libs/sheet/files/lib/hlm-sheet-footer.ts.template +4 -4
  94. package/src/generators/ui/libs/sheet/files/lib/hlm-sheet-header.ts.template +4 -4
  95. package/src/generators/ui/libs/sheet/files/lib/hlm-sheet-title.ts.template +1 -1
  96. package/src/generators/ui/libs/sheet/files/lib/hlm-sheet.ts.template +2 -2
  97. package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-menu-action.ts.template +2 -1
  98. package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-menu-button.ts.template +2 -1
  99. package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-menu-skeleton.ts.template +10 -11
  100. package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-menu-sub-button.ts.template +2 -1
  101. package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-trigger.ts.template +4 -4
  102. package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar.ts.template +9 -9
  103. package/src/generators/ui/libs/slider/files/lib/hlm-slider.ts.template +4 -4
  104. package/src/generators/ui/libs/sonner/files/lib/hlm-toaster.ts.template +1 -1
  105. package/src/generators/ui/libs/spinner/files/lib/hlm-spinner.ts.template +1 -1
  106. package/src/generators/ui/libs/switch/files/lib/hlm-switch.ts.template +2 -2
  107. package/src/generators/ui/libs/table/files/lib/hlm-table.ts.template +0 -1
  108. package/src/generators/ui/libs/tabs/files/lib/hlm-tabs-list.ts.template +2 -2
  109. package/src/generators/ui/libs/tabs/files/lib/hlm-tabs-paginated-list.ts.template +4 -4
  110. package/src/generators/ui/libs/tabs/files/lib/hlm-tabs.ts.template +2 -2
  111. package/src/generators/ui/libs/textarea/files/lib/hlm-textarea.ts.template +4 -4
  112. package/src/generators/ui/libs/toggle-group/files/lib/hlm-toggle-group.ts.template +1 -1
  113. package/src/generators/ui/libs/tooltip/files/lib/hlm-tooltip.ts.template +1 -1
  114. package/src/generators/ui/supported-ui-libraries.json +37 -36
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spartan-ng/cli",
3
- "version": "0.0.1-alpha.557",
3
+ "version": "0.0.1-alpha.558",
4
4
  "type": "commonjs",
5
5
  "dependencies": {
6
6
  "@angular/core": ">=19.0.0",
@@ -6,10 +6,10 @@ import type { ClassValue } from 'clsx';
6
6
  @Component({
7
7
  selector: 'hlm-accordion-content',
8
8
  changeDetection: ChangeDetectionStrategy.OnPush,
9
+ hostDirectives: [{ directive: BrnAccordionContent, inputs: ['style'] }],
9
10
  host: {
10
11
  '[class]': '_computedClass()',
11
12
  },
12
- hostDirectives: [{ directive: BrnAccordionContent, inputs: ['style'] }],
13
13
  template: `
14
14
  <div class="flex flex-col gap-4 pt-0 pb-4 text-balance">
15
15
  <ng-content />
@@ -5,9 +5,6 @@ import type { ClassValue } from 'clsx';
5
5
 
6
6
  @Directive({
7
7
  selector: '[hlmAccordionItem],brn-accordion-item[hlm],hlm-accordion-item',
8
- host: {
9
- '[class]': '_computedClass()',
10
- },
11
8
  hostDirectives: [
12
9
  {
13
10
  directive: BrnAccordionItem,
@@ -15,6 +12,9 @@ import type { ClassValue } from 'clsx';
15
12
  outputs: ['openedChange'],
16
13
  },
17
14
  ],
15
+ host: {
16
+ '[class]': '_computedClass()',
17
+ },
18
18
  })
19
19
  export class HlmAccordionItem {
20
20
  public readonly userClass = input<ClassValue>('', { alias: 'class' });
@@ -5,11 +5,11 @@ import type { ClassValue } from 'clsx';
5
5
 
6
6
  @Directive({
7
7
  selector: '[hlmAccordionTrigger]',
8
+ hostDirectives: [BrnAccordionTrigger],
8
9
  host: {
9
10
  '[style.--tw-ring-offset-shadow]': '"0 0 #000"',
10
11
  '[class]': '_computedClass()',
11
12
  },
12
- hostDirectives: [BrnAccordionTrigger],
13
13
  })
14
14
  export class HlmAccordionTrigger {
15
15
  public readonly userClass = input<ClassValue>('', { alias: 'class' });
@@ -5,10 +5,10 @@ import type { ClassValue } from 'clsx';
5
5
 
6
6
  @Directive({
7
7
  selector: '[hlmAccordion], hlm-accordion',
8
+ hostDirectives: [{ directive: BrnAccordion, inputs: ['type', 'dir', 'orientation'] }],
8
9
  host: {
9
10
  '[class]': '_computedClass()',
10
11
  },
11
- hostDirectives: [{ directive: BrnAccordion, inputs: ['type', 'dir', 'orientation'] }],
12
12
  })
13
13
  export class HlmAccordion {
14
14
  private readonly _brn = inject(BrnAccordion);
@@ -3,7 +3,7 @@ import { HlmButton, provideBrnButtonConfig } from '<%- importAlias %>/button';
3
3
 
4
4
  @Directive({
5
5
  selector: 'button[hlmAlertDialogCancel]',
6
- hostDirectives: [{ directive: HlmButton, inputs: ['variant', 'size'] }],
7
6
  providers: [provideBrnButtonConfig({ variant: 'outline' })],
7
+ hostDirectives: [{ directive: HlmButton, inputs: ['variant', 'size'] }],
8
8
  })
9
9
  export class HlmAlertDialogCancelButton {}
@@ -5,6 +5,7 @@ import type { ClassValue } from 'clsx';
5
5
 
6
6
  @Component({
7
7
  selector: 'hlm-alert-dialog-content',
8
+ changeDetection: ChangeDetectionStrategy.OnPush,
8
9
  host: {
9
10
  '[class]': '_computedClass()',
10
11
  '[attr.data-state]': 'state()',
@@ -12,7 +13,6 @@ import type { ClassValue } from 'clsx';
12
13
  template: `
13
14
  <ng-content />
14
15
  `,
15
- changeDetection: ChangeDetectionStrategy.OnPush,
16
16
  })
17
17
  export class HlmAlertDialogContent {
18
18
  private readonly _stateProvider = injectExposesStateProvider({ optional: true, host: true });
@@ -5,10 +5,10 @@ import type { ClassValue } from 'clsx';
5
5
 
6
6
  @Directive({
7
7
  selector: '[hlmAlertDialogDescription]',
8
+ hostDirectives: [BrnAlertDialogDescription],
8
9
  host: {
9
10
  '[class]': '_computedClass()',
10
11
  },
11
- hostDirectives: [BrnAlertDialogDescription],
12
12
  })
13
13
  export class HlmAlertDialogDescription {
14
14
  public readonly userClass = input<ClassValue>('', { alias: 'class' });
@@ -4,13 +4,13 @@ import type { ClassValue } from 'clsx';
4
4
 
5
5
  @Component({
6
6
  selector: 'hlm-alert-dialog-footer',
7
- template: `
8
- <ng-content />
9
- `,
7
+ changeDetection: ChangeDetectionStrategy.OnPush,
10
8
  host: {
11
9
  '[class]': '_computedClass()',
12
10
  },
13
- changeDetection: ChangeDetectionStrategy.OnPush,
11
+ template: `
12
+ <ng-content />
13
+ `,
14
14
  })
15
15
  export class HlmAlertDialogFooter {
16
16
  public readonly userClass = input<ClassValue>('', { alias: 'class' });
@@ -4,13 +4,13 @@ import type { ClassValue } from 'clsx';
4
4
 
5
5
  @Component({
6
6
  selector: 'hlm-alert-dialog-header',
7
- template: `
8
- <ng-content />
9
- `,
7
+ changeDetection: ChangeDetectionStrategy.OnPush,
10
8
  host: {
11
9
  '[class]': '_computedClass()',
12
10
  },
13
- changeDetection: ChangeDetectionStrategy.OnPush,
11
+ template: `
12
+ <ng-content />
13
+ `,
14
14
  })
15
15
  export class HlmAlertDialogHeader {
16
16
  public readonly userClass = input<ClassValue>('', { alias: 'class' });
@@ -5,10 +5,10 @@ import type { ClassValue } from 'clsx';
5
5
 
6
6
  @Directive({
7
7
  selector: '[hlmAlertDialogTitle]',
8
+ hostDirectives: [BrnAlertDialogTitle],
8
9
  host: {
9
10
  '[class]': '_computedClass()',
10
11
  },
11
- hostDirectives: [BrnAlertDialogTitle],
12
12
  })
13
13
  export class HlmAlertDialogTitle {
14
14
  public readonly userClass = input<ClassValue>('', { alias: 'class' });
@@ -9,10 +9,8 @@ import { HlmAlertDialogOverlay } from './hlm-alert-dialog-overlay';
9
9
 
10
10
  @Component({
11
11
  selector: 'hlm-alert-dialog',
12
- template: `
13
- <brn-alert-dialog-overlay hlm />
14
- <ng-content />
15
- `,
12
+ exportAs: 'hlmAlertDialog',
13
+ imports: [BrnAlertDialogOverlay, HlmAlertDialogOverlay],
16
14
  providers: [
17
15
  {
18
16
  provide: BrnDialog,
@@ -23,7 +21,9 @@ import { HlmAlertDialogOverlay } from './hlm-alert-dialog-overlay';
23
21
  }),
24
22
  ],
25
23
  changeDetection: ChangeDetectionStrategy.OnPush,
26
- exportAs: 'hlmAlertDialog',
27
- imports: [BrnAlertDialogOverlay, HlmAlertDialogOverlay],
24
+ template: `
25
+ <brn-alert-dialog-overlay hlm />
26
+ <ng-content />
27
+ `,
28
28
  })
29
29
  export class HlmAlertDialog extends BrnAlertDialog {}
@@ -4,7 +4,7 @@ import { hlm } from '<%- importAlias %>/utils';
4
4
 
5
5
  @Component({
6
6
  selector: 'hlm-autocomplete-group',
7
- template: '<ng-content />',
7
+ changeDetection: ChangeDetectionStrategy.OnPush,
8
8
  hostDirectives: [
9
9
  {
10
10
  directive: BrnAutocompleteGroup,
@@ -14,7 +14,7 @@ import { hlm } from '<%- importAlias %>/utils';
14
14
  host: {
15
15
  '[class]': '_computedClass()',
16
16
  },
17
- changeDetection: ChangeDetectionStrategy.OnPush,
17
+ template: '<ng-content />',
18
18
  })
19
19
  export class HlmAutocompleteGroup {
20
20
  /** The user defined class */
@@ -4,9 +4,7 @@ import { hlm } from '<%- importAlias %>/utils';
4
4
 
5
5
  @Component({
6
6
  selector: 'button[hlm-autocomplete-item]',
7
- template: `
8
- <ng-content />
9
- `,
7
+ changeDetection: ChangeDetectionStrategy.OnPush,
10
8
  hostDirectives: [
11
9
  {
12
10
  directive: BrnAutocompleteItem,
@@ -17,7 +15,9 @@ import { hlm } from '<%- importAlias %>/utils';
17
15
  host: {
18
16
  '[class]': '_computedClass()',
19
17
  },
20
- changeDetection: ChangeDetectionStrategy.OnPush,
18
+ template: `
19
+ <ng-content />
20
+ `,
21
21
  })
22
22
  export class HlmAutocompleteItem {
23
23
  /** The user defined class */
@@ -4,17 +4,17 @@ import { hlm } from '<%- importAlias %>/utils';
4
4
 
5
5
  @Component({
6
6
  selector: 'hlm-autocomplete-list',
7
- template: '<ng-content />',
8
- host: {
9
- '[class]': '_computedClass()',
10
- },
7
+ changeDetection: ChangeDetectionStrategy.OnPush,
11
8
  hostDirectives: [
12
9
  {
13
10
  directive: BrnAutocompleteList,
14
11
  inputs: ['id'],
15
12
  },
16
13
  ],
17
- changeDetection: ChangeDetectionStrategy.OnPush,
14
+ host: {
15
+ '[class]': '_computedClass()',
16
+ },
17
+ template: '<ng-content />',
18
18
  })
19
19
  export class HlmAutocompleteList {
20
20
  /** The user defined class */
@@ -44,7 +44,6 @@ export const HLM_AUTOCOMPLETE_VALUE_ACCESSOR = {
44
44
 
45
45
  @Component({
46
46
  selector: 'hlm-autocomplete',
47
- changeDetection: ChangeDetectionStrategy.OnPush,
48
47
  imports: [
49
48
  NgTemplateOutlet,
50
49
  BrnAutocomplete,
@@ -61,6 +60,7 @@ export const HLM_AUTOCOMPLETE_VALUE_ACCESSOR = {
61
60
  BrnAutocompleteImports,
62
61
  ],
63
62
  providers: [HLM_AUTOCOMPLETE_VALUE_ACCESSOR, provideIcons({ lucideSearch, lucideChevronDown, lucideCircleX })],
63
+ changeDetection: ChangeDetectionStrategy.OnPush,
64
64
  host: {
65
65
  '[class]': '_computedClass()',
66
66
  },
@@ -9,13 +9,13 @@ import type { ClassValue } from 'clsx';
9
9
  selector: 'hlm-breadcrumb-ellipsis',
10
10
  imports: [NgIcon, HlmIcon],
11
11
  providers: [provideIcons({ lucideEllipsis })],
12
+ changeDetection: ChangeDetectionStrategy.OnPush,
12
13
  template: `
13
14
  <span role="presentation" aria-hidden="true" [class]="_computedClass()">
14
15
  <ng-icon hlm size="sm" name="lucideEllipsis" />
15
16
  <span class="sr-only">{{ srOnlyText() }}</span>
16
17
  </span>
17
18
  `,
18
- changeDetection: ChangeDetectionStrategy.OnPush,
19
19
  })
20
20
  export class HlmBreadcrumbEllipsis {
21
21
  public readonly userClass = input<ClassValue>('', { alias: 'class' });
@@ -9,6 +9,7 @@ import type { ClassValue } from 'clsx';
9
9
  selector: '[hlmBreadcrumbSeparator]',
10
10
  imports: [NgIcon],
11
11
  providers: [provideIcons({ lucideChevronRight })],
12
+ changeDetection: ChangeDetectionStrategy.OnPush,
12
13
  host: {
13
14
  role: 'presentation',
14
15
  'aria-hidden': 'true',
@@ -19,7 +20,6 @@ import type { ClassValue } from 'clsx';
19
20
  <ng-icon name="lucideChevronRight" />
20
21
  </ng-content>
21
22
  `,
22
- changeDetection: ChangeDetectionStrategy.OnPush,
23
23
  })
24
24
  export class HlmBreadcrumbSeparator {
25
25
  public readonly userClass = input<ClassValue>('', { alias: 'class' });
@@ -5,8 +5,8 @@ import type { ClassValue } from 'clsx';
5
5
 
6
6
  @Directive({
7
7
  selector: '[hlmButtonGroupSeparator],hlm-button-group-separator',
8
- hostDirectives: [{ directive: BrnSeparator, inputs: ['orientation', 'decorative'] }],
9
8
  providers: [provideBrnSeparatorConfig({ orientation: 'vertical' })],
9
+ hostDirectives: [{ directive: BrnSeparator, inputs: ['orientation', 'decorative'] }],
10
10
  host: {
11
11
  'data-slot': 'button-group-separator',
12
12
  '[class]': '_computedClass()',
@@ -25,6 +25,7 @@ import type { ClassValue } from 'clsx';
25
25
  selector: 'hlm-calendar-multi',
26
26
  imports: [BrnCalendarImports, NgIcon, HlmIcon, NgTemplateOutlet, BrnSelectImports, HlmSelectImports],
27
27
  viewProviders: [provideIcons({ lucideChevronLeft, lucideChevronRight })],
28
+ changeDetection: ChangeDetectionStrategy.OnPush,
28
29
  template: `
29
30
  <div
30
31
  brnCalendarMulti
@@ -138,7 +139,6 @@ import type { ClassValue } from 'clsx';
138
139
  </div>
139
140
  </div>
140
141
  `,
141
- changeDetection: ChangeDetectionStrategy.OnPush,
142
142
  })
143
143
  export class HlmCalendarMulti<T> {
144
144
  public readonly calendarClass = input<ClassValue>('');
@@ -25,6 +25,7 @@ import type { ClassValue } from 'clsx';
25
25
  selector: 'hlm-calendar-range',
26
26
  imports: [BrnCalendarImports, NgIcon, HlmIcon, HlmSelectImports, BrnSelectImports, NgTemplateOutlet],
27
27
  viewProviders: [provideIcons({ lucideChevronLeft, lucideChevronRight })],
28
+ changeDetection: ChangeDetectionStrategy.OnPush,
28
29
  template: `
29
30
  <div
30
31
  brnCalendarRange
@@ -137,7 +138,6 @@ import type { ClassValue } from 'clsx';
137
138
  </div>
138
139
  </div>
139
140
  `,
140
- changeDetection: ChangeDetectionStrategy.OnPush,
141
141
  })
142
142
  export class HlmCalendarRange<T> {
143
143
  public readonly calendarClass = input<ClassValue>('');
@@ -25,6 +25,7 @@ import type { ClassValue } from 'clsx';
25
25
  selector: 'hlm-calendar',
26
26
  imports: [BrnCalendarImports, NgIcon, HlmIcon, BrnSelectImports, HlmSelectImports, NgTemplateOutlet],
27
27
  viewProviders: [provideIcons({ lucideChevronLeft, lucideChevronRight })],
28
+ changeDetection: ChangeDetectionStrategy.OnPush,
28
29
  template: `
29
30
  <div
30
31
  brnCalendar
@@ -136,7 +137,6 @@ import type { ClassValue } from 'clsx';
136
137
  </div>
137
138
  </div>
138
139
  `,
139
- changeDetection: ChangeDetectionStrategy.OnPush,
140
140
  })
141
141
  export class HlmCalendar<T> {
142
142
  public readonly calendarClass = input<ClassValue>('');
@@ -9,14 +9,14 @@ import { HlmCarousel } from './hlm-carousel';
9
9
 
10
10
  @Component({
11
11
  selector: 'button[hlm-carousel-next], button[hlmCarouselNext]',
12
+ imports: [NgIcon, HlmIcon],
13
+ providers: [provideIcons({ lucideArrowRight }), provideBrnButtonConfig({ variant: 'outline', size: 'icon' })],
12
14
  changeDetection: ChangeDetectionStrategy.OnPush,
15
+ hostDirectives: [{ directive: HlmButton, inputs: ['variant', 'size'] }],
13
16
  host: {
14
17
  '[disabled]': 'isDisabled()',
15
18
  '(click)': '_carousel.scrollNext()',
16
19
  },
17
- hostDirectives: [{ directive: HlmButton, inputs: ['variant', 'size'] }],
18
- providers: [provideIcons({ lucideArrowRight }), provideBrnButtonConfig({ variant: 'outline', size: 'icon' })],
19
- imports: [NgIcon, HlmIcon],
20
20
  template: `
21
21
  <ng-icon hlm size="sm" name="lucideArrowRight" />
22
22
  <span class="sr-only">Next slide</span>
@@ -9,14 +9,14 @@ import { HlmCarousel } from './hlm-carousel';
9
9
 
10
10
  @Component({
11
11
  selector: 'button[hlm-carousel-previous], button[hlmCarouselPrevious]',
12
+ imports: [NgIcon, HlmIcon],
13
+ providers: [provideIcons({ lucideArrowLeft }), provideBrnButtonConfig({ variant: 'outline', size: 'icon' })],
12
14
  changeDetection: ChangeDetectionStrategy.OnPush,
15
+ hostDirectives: [{ directive: HlmButton, inputs: ['variant', 'size'] }],
13
16
  host: {
14
17
  '[disabled]': 'isDisabled()',
15
18
  '(click)': '_carousel.scrollPrev()',
16
19
  },
17
- hostDirectives: [{ directive: HlmButton, inputs: ['variant', 'size'] }],
18
- providers: [provideIcons({ lucideArrowLeft }), provideBrnButtonConfig({ variant: 'outline', size: 'icon' })],
19
- imports: [NgIcon, HlmIcon],
20
20
  template: `
21
21
  <ng-icon hlm size="sm" name="lucideArrowLeft" />
22
22
  <span class="sr-only">Previous slide</span>
@@ -5,14 +5,14 @@ import { HlmCarousel } from './hlm-carousel';
5
5
 
6
6
  @Component({
7
7
  selector: 'hlm-carousel-slide-display',
8
- template: `
9
- <span class="sr-only">{{ _labelContent() }}</span>
10
- <div aria-hidden="true" [class]="slideClass()">{{ _currentSlide() }} / {{ _carousel.slideCount() }}</div>
11
- `,
12
8
  changeDetection: ChangeDetectionStrategy.OnPush,
13
9
  host: {
14
10
  '[class]': '_computedClass()',
15
11
  },
12
+ template: `
13
+ <span class="sr-only">{{ _labelContent() }}</span>
14
+ <div aria-hidden="true" [class]="slideClass()">{{ _currentSlide() }} / {{ _carousel.slideCount() }}</div>
15
+ `,
16
16
  })
17
17
  export class HlmCarouselSlideDisplay {
18
18
  protected readonly _carousel = inject(HlmCarousel);
@@ -19,6 +19,7 @@ import {
19
19
 
20
20
  @Component({
21
21
  selector: 'hlm-carousel',
22
+ imports: [EmblaCarouselDirective],
22
23
  changeDetection: ChangeDetectionStrategy.OnPush,
23
24
  host: {
24
25
  '[class]': '_computedClass()',
@@ -26,7 +27,6 @@ import {
26
27
  'aria-roledescription': 'carousel',
27
28
  '(keydown)': 'onKeydown($event)',
28
29
  },
29
- imports: [EmblaCarouselDirective],
30
30
  template: `
31
31
  <div
32
32
  emblaCarousel
@@ -28,6 +28,17 @@ export const HLM_CHECKBOX_VALUE_ACCESSOR = {
28
28
  @Component({
29
29
  selector: 'hlm-checkbox',
30
30
  imports: [BrnCheckbox, NgIcon, HlmIcon],
31
+ providers: [HLM_CHECKBOX_VALUE_ACCESSOR],
32
+ viewProviders: [provideIcons({ lucideCheck })],
33
+ changeDetection: ChangeDetectionStrategy.OnPush,
34
+ host: {
35
+ class: 'contents peer',
36
+ '[attr.id]': 'null',
37
+ '[attr.aria-label]': 'null',
38
+ '[attr.aria-labelledby]': 'null',
39
+ '[attr.aria-describedby]': 'null',
40
+ '[attr.data-disabled]': '_disabled() ? "" : null',
41
+ },
31
42
  template: `
32
43
  <brn-checkbox
33
44
  [id]="id()"
@@ -50,17 +61,6 @@ export const HLM_CHECKBOX_VALUE_ACCESSOR = {
50
61
  }
51
62
  </brn-checkbox>
52
63
  `,
53
- host: {
54
- class: 'contents peer',
55
- '[attr.id]': 'null',
56
- '[attr.aria-label]': 'null',
57
- '[attr.aria-labelledby]': 'null',
58
- '[attr.aria-describedby]': 'null',
59
- '[attr.data-disabled]': '_disabled() ? "" : null',
60
- },
61
- providers: [HLM_CHECKBOX_VALUE_ACCESSOR],
62
- viewProviders: [provideIcons({ lucideCheck })],
63
- changeDetection: ChangeDetectionStrategy.OnPush,
64
64
  })
65
65
  export class HlmCheckbox implements ControlValueAccessor {
66
66
  public readonly userClass = input<ClassValue>('', { alias: 'class' });
@@ -7,8 +7,8 @@ import type { ClassValue } from 'clsx';
7
7
 
8
8
  @Directive({
9
9
  selector: '[hlmCommandDialogCloseBtn]',
10
- hostDirectives: [HlmButton, BrnDialogClose],
11
10
  providers: [provideBrnButtonConfig({ variant: 'ghost' }), provideHlmIconConfig({ size: 'xs' })],
11
+ hostDirectives: [HlmButton, BrnDialogClose],
12
12
  host: {
13
13
  '[class]': '_computedClass()',
14
14
  },
@@ -3,12 +3,12 @@ import { hlm } from '<%- importAlias %>/utils';
3
3
 
4
4
  @Component({
5
5
  selector: 'hlm-command-group-label',
6
- template: '<ng-content />',
6
+ changeDetection: ChangeDetectionStrategy.OnPush,
7
7
  host: {
8
8
  role: 'presentation',
9
9
  '[class]': '_computedClass()',
10
10
  },
11
- changeDetection: ChangeDetectionStrategy.OnPush,
11
+ template: '<ng-content />',
12
12
  })
13
13
  export class HlmCommandGroupLabel {
14
14
  /** The user defined class */
@@ -4,7 +4,7 @@ import { hlm } from '<%- importAlias %>/utils';
4
4
 
5
5
  @Component({
6
6
  selector: 'hlm-command-group',
7
- template: '<ng-content />',
7
+ changeDetection: ChangeDetectionStrategy.OnPush,
8
8
  hostDirectives: [
9
9
  {
10
10
  directive: BrnCommandGroup,
@@ -14,7 +14,7 @@ import { hlm } from '<%- importAlias %>/utils';
14
14
  host: {
15
15
  '[class]': '_computedClass()',
16
16
  },
17
- changeDetection: ChangeDetectionStrategy.OnPush,
17
+ template: '<ng-content />',
18
18
  })
19
19
  export class HlmCommandGroup {
20
20
  /** The user defined class */
@@ -5,10 +5,10 @@ import type { ClassValue } from 'clsx';
5
5
 
6
6
  @Directive({
7
7
  selector: '[hlmCommandIcon]',
8
+ providers: [provideHlmIconConfig({ size: 'sm' })],
8
9
  host: {
9
10
  '[class]': '_computedClass()',
10
11
  },
11
- providers: [provideHlmIconConfig({ size: 'sm' })],
12
12
  })
13
13
  export class HlmCommandIcon {
14
14
  public readonly userClass = input<ClassValue>('', { alias: 'class' });
@@ -4,9 +4,7 @@ import { hlm } from '<%- importAlias %>/utils';
4
4
 
5
5
  @Component({
6
6
  selector: 'button[hlm-command-item]',
7
- template: `
8
- <ng-content />
9
- `,
7
+ changeDetection: ChangeDetectionStrategy.OnPush,
10
8
  hostDirectives: [
11
9
  {
12
10
  directive: BrnCommandItem,
@@ -17,7 +15,9 @@ import { hlm } from '<%- importAlias %>/utils';
17
15
  host: {
18
16
  '[class]': '_computedClass()',
19
17
  },
20
- changeDetection: ChangeDetectionStrategy.OnPush,
18
+ template: `
19
+ <ng-content />
20
+ `,
21
21
  })
22
22
  export class HlmCommandItem {
23
23
  /** The user defined class */
@@ -4,17 +4,17 @@ import { hlm } from '<%- importAlias %>/utils';
4
4
 
5
5
  @Component({
6
6
  selector: 'hlm-command-list',
7
- template: '<ng-content />',
8
- host: {
9
- '[class]': '_computedClass()',
10
- },
7
+ changeDetection: ChangeDetectionStrategy.OnPush,
11
8
  hostDirectives: [
12
9
  {
13
10
  directive: BrnCommandList,
14
11
  inputs: ['id'],
15
12
  },
16
13
  ],
17
- changeDetection: ChangeDetectionStrategy.OnPush,
14
+ host: {
15
+ '[class]': '_computedClass()',
16
+ },
17
+ template: '<ng-content />',
18
18
  })
19
19
  export class HlmCommandList {
20
20
  /** The user defined class */
@@ -5,12 +5,12 @@ import type { ClassValue } from 'clsx';
5
5
 
6
6
  @Component({
7
7
  selector: 'input[hlm-command-search-input]',
8
- template: '',
8
+ changeDetection: ChangeDetectionStrategy.OnPush,
9
9
  hostDirectives: [{ directive: BrnCommandSearchInput, inputs: ['value'] }],
10
10
  host: {
11
11
  '[class]': '_computedClass()',
12
12
  },
13
- changeDetection: ChangeDetectionStrategy.OnPush,
13
+ template: '',
14
14
  })
15
15
  export class HlmCommandSearchInput {
16
16
  /** The user defined class */
@@ -5,14 +5,14 @@ import type { ClassValue } from 'clsx';
5
5
 
6
6
  @Component({
7
7
  selector: 'hlm-command-search',
8
- template: `
9
- <ng-content />
10
- `,
8
+ providers: [provideHlmIconConfig({ size: 'sm' })],
9
+ changeDetection: ChangeDetectionStrategy.OnPush,
11
10
  host: {
12
11
  '[class]': '_computedClass()',
13
12
  },
14
- providers: [provideHlmIconConfig({ size: 'sm' })],
15
- changeDetection: ChangeDetectionStrategy.OnPush,
13
+ template: `
14
+ <ng-content />
15
+ `,
16
16
  })
17
17
  export class HlmCommandSearch {
18
18
  /** The user defined class */
@@ -3,12 +3,12 @@ import { hlm } from '<%- importAlias %>/utils';
3
3
 
4
4
  @Component({
5
5
  selector: 'hlm-command-separator',
6
- template: '',
6
+ changeDetection: ChangeDetectionStrategy.OnPush,
7
7
  host: {
8
8
  role: 'separator',
9
9
  '[class]': '_computedClass()',
10
10
  },
11
- changeDetection: ChangeDetectionStrategy.OnPush,
11
+ template: '',
12
12
  })
13
13
  export class HlmCommandSeparator {
14
14
  /** The user defined class */
@@ -4,11 +4,11 @@ import type { ClassValue } from 'clsx';
4
4
 
5
5
  @Component({
6
6
  selector: 'hlm-command-shortcut',
7
- template: '<ng-content />',
7
+ changeDetection: ChangeDetectionStrategy.OnPush,
8
8
  host: {
9
9
  '[class]': '_computedClass()',
10
10
  },
11
- changeDetection: ChangeDetectionStrategy.OnPush,
11
+ template: '<ng-content />',
12
12
  })
13
13
  export class HlmCommandShortcut {
14
14
  public readonly userClass = input<ClassValue>('', { alias: 'class' });