@spartan-ng/cli 0.0.1-alpha.506 → 0.0.1-alpha.508

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 (195) hide show
  1. package/generators.json +26 -0
  2. package/package.json +1 -1
  3. package/src/generators/base/lib/build-dependency-array.d.ts +0 -1
  4. package/src/generators/base/lib/build-dependency-array.js +1 -1
  5. package/src/generators/base/lib/build-dependency-array.js.map +1 -1
  6. package/src/generators/healthcheck/generator.js +4 -0
  7. package/src/generators/healthcheck/generator.js.map +1 -1
  8. package/src/generators/healthcheck/healthchecks/brn-separator.d.ts +2 -0
  9. package/src/generators/healthcheck/healthchecks/brn-separator.js +34 -0
  10. package/src/generators/healthcheck/healthchecks/brn-separator.js.map +1 -0
  11. package/src/generators/healthcheck/healthchecks/hlm.d.ts +2 -0
  12. package/src/generators/healthcheck/healthchecks/hlm.js +32 -0
  13. package/src/generators/healthcheck/healthchecks/hlm.js.map +1 -0
  14. package/src/generators/healthcheck/healthchecks.d.ts +1 -1
  15. package/src/generators/healthcheck/healthchecks.js.map +1 -1
  16. package/src/generators/migrate-hlm/compat.d.ts +2 -0
  17. package/src/generators/migrate-hlm/compat.js +7 -0
  18. package/src/generators/migrate-hlm/compat.js.map +1 -0
  19. package/src/generators/migrate-hlm/generator.d.ts +4 -0
  20. package/src/generators/migrate-hlm/generator.js +102 -0
  21. package/src/generators/migrate-hlm/generator.js.map +1 -0
  22. package/src/generators/migrate-hlm/schema.d.ts +4 -0
  23. package/src/generators/migrate-hlm/schema.json +14 -0
  24. package/src/generators/migrate-separator/compat.d.ts +2 -0
  25. package/src/generators/migrate-separator/compat.js +7 -0
  26. package/src/generators/migrate-separator/compat.js.map +1 -0
  27. package/src/generators/migrate-separator/generator.d.ts +4 -0
  28. package/src/generators/migrate-separator/generator.js +78 -0
  29. package/src/generators/migrate-separator/generator.js.map +1 -0
  30. package/src/generators/migrate-separator/schema.d.ts +3 -0
  31. package/src/generators/migrate-separator/schema.json +14 -0
  32. package/src/generators/theme/__snapshots__/generator.spec.ts.snap +40 -20
  33. package/src/generators/theme/libs/add-theme-to-application-styles.js +7 -7
  34. package/src/generators/theme/libs/add-theme-to-application-styles.js.map +1 -1
  35. package/src/generators/ui/libs/ui-accordion-helm/files/lib/hlm-accordion-content.ts.template +2 -2
  36. package/src/generators/ui/libs/ui-accordion-helm/files/lib/hlm-accordion-icon.ts.template +1 -1
  37. package/src/generators/ui/libs/ui-accordion-helm/files/lib/hlm-accordion-item.ts.template +2 -2
  38. package/src/generators/ui/libs/ui-accordion-helm/files/lib/hlm-accordion-trigger.ts.template +2 -2
  39. package/src/generators/ui/libs/ui-accordion-helm/files/lib/hlm-accordion.ts.template +1 -1
  40. package/src/generators/ui/libs/ui-alert-dialog-helm/files/lib/hlm-alert-dialog-content.ts.template +3 -2
  41. package/src/generators/ui/libs/ui-alert-dialog-helm/files/lib/hlm-alert-dialog-description.ts.template +1 -1
  42. package/src/generators/ui/libs/ui-alert-dialog-helm/files/lib/hlm-alert-dialog-footer.ts.template +1 -1
  43. package/src/generators/ui/libs/ui-alert-dialog-helm/files/lib/hlm-alert-dialog-header.ts.template +1 -1
  44. package/src/generators/ui/libs/ui-alert-dialog-helm/files/lib/hlm-alert-dialog-overlay.ts.template +3 -2
  45. package/src/generators/ui/libs/ui-alert-dialog-helm/files/lib/hlm-alert-dialog-title.ts.template +1 -1
  46. package/src/generators/ui/libs/ui-alert-helm/files/lib/hlm-alert-description.ts.template +1 -1
  47. package/src/generators/ui/libs/ui-alert-helm/files/lib/hlm-alert-title.ts.template +1 -1
  48. package/src/generators/ui/libs/ui-alert-helm/files/lib/hlm-alert.ts.template +3 -3
  49. package/src/generators/ui/libs/ui-aspect-ratio-helm/files/lib/helm-aspect-ratio.ts.template +2 -2
  50. package/src/generators/ui/libs/ui-avatar-helm/files/lib/fallback/hlm-avatar-fallback.ts.template +1 -1
  51. package/src/generators/ui/libs/ui-avatar-helm/files/lib/hlm-avatar.ts.template +2 -2
  52. package/src/generators/ui/libs/ui-avatar-helm/files/lib/image/hlm-avatar-image.ts.template +1 -1
  53. package/src/generators/ui/libs/ui-badge-helm/files/lib/hlm-badge.ts.template +5 -5
  54. package/src/generators/ui/libs/ui-breadcrumb-helm/files/lib/hlm-breadcrumb-ellipsis.ts.template +1 -1
  55. package/src/generators/ui/libs/ui-breadcrumb-helm/files/lib/hlm-breadcrumb-item.ts.template +1 -1
  56. package/src/generators/ui/libs/ui-breadcrumb-helm/files/lib/hlm-breadcrumb-link.ts.template +1 -1
  57. package/src/generators/ui/libs/ui-breadcrumb-helm/files/lib/hlm-breadcrumb-list.ts.template +2 -2
  58. package/src/generators/ui/libs/ui-breadcrumb-helm/files/lib/hlm-breadcrumb-page.ts.template +2 -2
  59. package/src/generators/ui/libs/ui-breadcrumb-helm/files/lib/hlm-breadcrumb-separator.ts.template +2 -2
  60. package/src/generators/ui/libs/ui-breadcrumb-helm/files/lib/hlm-breadcrumb.ts.template +1 -1
  61. package/src/generators/ui/libs/ui-button-helm/files/lib/hlm-button.ts.template +5 -5
  62. package/src/generators/ui/libs/ui-calendar-helm/files/lib/hlm-calendar-multi.ts.template +13 -11
  63. package/src/generators/ui/libs/ui-calendar-helm/files/lib/hlm-calendar-range.ts.template +13 -11
  64. package/src/generators/ui/libs/ui-calendar-helm/files/lib/hlm-calendar.ts.template +13 -11
  65. package/src/generators/ui/libs/ui-card-helm/files/lib/hlm-card-action.ts.template +1 -1
  66. package/src/generators/ui/libs/ui-card-helm/files/lib/hlm-card-content.ts.template +1 -1
  67. package/src/generators/ui/libs/ui-card-helm/files/lib/hlm-card-description.ts.template +1 -1
  68. package/src/generators/ui/libs/ui-card-helm/files/lib/hlm-card-footer.ts.template +2 -2
  69. package/src/generators/ui/libs/ui-card-helm/files/lib/hlm-card-header.ts.template +2 -2
  70. package/src/generators/ui/libs/ui-card-helm/files/lib/hlm-card-title.ts.template +2 -2
  71. package/src/generators/ui/libs/ui-card-helm/files/lib/hlm-card.ts.template +1 -1
  72. package/src/generators/ui/libs/ui-carousel-helm/files/lib/hlm-carousel-content.ts.template +1 -1
  73. package/src/generators/ui/libs/ui-carousel-helm/files/lib/hlm-carousel-item.ts.template +1 -1
  74. package/src/generators/ui/libs/ui-carousel-helm/files/lib/hlm-carousel-next.ts.template +1 -1
  75. package/src/generators/ui/libs/ui-carousel-helm/files/lib/hlm-carousel-previous.ts.template +1 -1
  76. package/src/generators/ui/libs/ui-carousel-helm/files/lib/hlm-carousel-slide-display.ts.template +1 -1
  77. package/src/generators/ui/libs/ui-carousel-helm/files/lib/hlm-carousel.ts.template +1 -1
  78. package/src/generators/ui/libs/ui-checkbox-helm/files/lib/hlm-checkbox.ts.template +2 -2
  79. package/src/generators/ui/libs/ui-command-helm/files/lib/hlm-command-dialog-close-button.ts.template +2 -2
  80. package/src/generators/ui/libs/ui-command-helm/files/lib/hlm-command-dialog.ts.template +2 -1
  81. package/src/generators/ui/libs/ui-command-helm/files/lib/hlm-command-empty.ts.template +1 -1
  82. package/src/generators/ui/libs/ui-command-helm/files/lib/hlm-command-group-label.ts.template +1 -1
  83. package/src/generators/ui/libs/ui-command-helm/files/lib/hlm-command-group.ts.template +2 -2
  84. package/src/generators/ui/libs/ui-command-helm/files/lib/hlm-command-icon.ts.template +1 -1
  85. package/src/generators/ui/libs/ui-command-helm/files/lib/hlm-command-item.ts.template +2 -2
  86. package/src/generators/ui/libs/ui-command-helm/files/lib/hlm-command-list.ts.template +2 -2
  87. package/src/generators/ui/libs/ui-command-helm/files/lib/hlm-command-search-input.ts.template +1 -1
  88. package/src/generators/ui/libs/ui-command-helm/files/lib/hlm-command-search.ts.template +1 -1
  89. package/src/generators/ui/libs/ui-command-helm/files/lib/hlm-command-separator.ts.template +2 -2
  90. package/src/generators/ui/libs/ui-command-helm/files/lib/hlm-command-shortcut.ts.template +1 -1
  91. package/src/generators/ui/libs/ui-command-helm/files/lib/hlm-command.ts.template +1 -1
  92. package/src/generators/ui/libs/ui-date-picker-helm/files/lib/hlm-date-picker-multi.ts.template +3 -3
  93. package/src/generators/ui/libs/ui-date-picker-helm/files/lib/hlm-date-picker.ts.template +3 -3
  94. package/src/generators/ui/libs/ui-date-picker-helm/files/lib/hlm-date-range-picker.ts.template +3 -3
  95. package/src/generators/ui/libs/ui-dialog-helm/files/lib/hlm-dialog-close.ts.template +2 -2
  96. package/src/generators/ui/libs/ui-dialog-helm/files/lib/hlm-dialog-content.ts.template +2 -2
  97. package/src/generators/ui/libs/ui-dialog-helm/files/lib/hlm-dialog-description.ts.template +2 -2
  98. package/src/generators/ui/libs/ui-dialog-helm/files/lib/hlm-dialog-footer.ts.template +2 -2
  99. package/src/generators/ui/libs/ui-dialog-helm/files/lib/hlm-dialog-header.ts.template +2 -4
  100. package/src/generators/ui/libs/ui-dialog-helm/files/lib/hlm-dialog-overlay.ts.template +3 -2
  101. package/src/generators/ui/libs/ui-dialog-helm/files/lib/hlm-dialog-title.ts.template +3 -5
  102. package/src/generators/ui/libs/ui-form-field-helm/files/lib/hlm-error.ts.template +2 -2
  103. package/src/generators/ui/libs/ui-form-field-helm/files/lib/hlm-form-field.ts.template +2 -2
  104. package/src/generators/ui/libs/ui-form-field-helm/files/lib/hlm-hint.ts.template +2 -2
  105. package/src/generators/ui/libs/ui-hover-card-helm/files/lib/hlm-hover-card-content.ts.template +3 -2
  106. package/src/generators/ui/libs/ui-input-helm/files/lib/hlm-input-error.ts.template +1 -1
  107. package/src/generators/ui/libs/ui-input-helm/files/lib/hlm-input.ts.template +2 -2
  108. package/src/generators/ui/libs/ui-input-otp-helm/files/lib/hlm-input-otp-group.ts.template +1 -1
  109. package/src/generators/ui/libs/ui-input-otp-helm/files/lib/hlm-input-otp-separator.ts.template +1 -1
  110. package/src/generators/ui/libs/ui-input-otp-helm/files/lib/hlm-input-otp-slot.ts.template +3 -3
  111. package/src/generators/ui/libs/ui-input-otp-helm/files/lib/hlm-input-otp.ts.template +2 -2
  112. package/src/generators/ui/libs/ui-label-helm/files/lib/hlm-label.ts.template +2 -2
  113. package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu-bar-item.ts.template +2 -2
  114. package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu-bar.ts.template +2 -2
  115. package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu-item-check.ts.template +2 -2
  116. package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu-item-checkbox.ts.template +2 -2
  117. package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu-item-icon.ts.template +1 -1
  118. package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu-item-radio-indicator.ts.template +2 -2
  119. package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu-item-radio.ts.template +2 -2
  120. package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu-item-sub-indicator.ts.template +1 -1
  121. package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu-item.ts.template +2 -2
  122. package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu-label.ts.template +1 -1
  123. package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu-separator.ts.template +2 -2
  124. package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu-shortcut.ts.template +1 -1
  125. package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu.ts.template +2 -2
  126. package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-sub-menu.ts.template +2 -2
  127. package/src/generators/ui/libs/ui-pagination-helm/files/lib/hlm-pagination-content.ts.template +1 -1
  128. package/src/generators/ui/libs/ui-pagination-helm/files/lib/hlm-pagination-ellipsis.ts.template +1 -1
  129. package/src/generators/ui/libs/ui-pagination-helm/files/lib/hlm-pagination-item.ts.template +1 -1
  130. package/src/generators/ui/libs/ui-pagination-helm/files/lib/hlm-pagination-link.ts.template +1 -1
  131. package/src/generators/ui/libs/ui-pagination-helm/files/lib/hlm-pagination-next.ts.template +1 -1
  132. package/src/generators/ui/libs/ui-pagination-helm/files/lib/hlm-pagination-previous.ts.template +1 -1
  133. package/src/generators/ui/libs/ui-pagination-helm/files/lib/hlm-pagination.ts.template +1 -1
  134. package/src/generators/ui/libs/ui-popover-helm/files/lib/hlm-popover-close.ts.template +2 -2
  135. package/src/generators/ui/libs/ui-popover-helm/files/lib/hlm-popover-content.ts.template +3 -2
  136. package/src/generators/ui/libs/ui-progress-helm/files/lib/hlm-progress-indicator.ts.template +1 -1
  137. package/src/generators/ui/libs/ui-progress-helm/files/lib/hlm-progress.ts.template +2 -2
  138. package/src/generators/ui/libs/ui-radio-group-helm/files/lib/hlm-radio-group.ts.template +1 -1
  139. package/src/generators/ui/libs/ui-radio-group-helm/files/lib/hlm-radio-indicator.ts.template +2 -2
  140. package/src/generators/ui/libs/ui-radio-group-helm/files/lib/hlm-radio.ts.template +1 -1
  141. package/src/generators/ui/libs/ui-scroll-area-helm/files/lib/hlm-scroll-area.ts.template +1 -1
  142. package/src/generators/ui/libs/ui-select-helm/files/lib/hlm-select-content.ts.template +3 -2
  143. package/src/generators/ui/libs/ui-select-helm/files/lib/hlm-select-group.ts.template +1 -1
  144. package/src/generators/ui/libs/ui-select-helm/files/lib/hlm-select-label.ts.template +2 -2
  145. package/src/generators/ui/libs/ui-select-helm/files/lib/hlm-select-option.ts.template +2 -2
  146. package/src/generators/ui/libs/ui-select-helm/files/lib/hlm-select-scroll-down.ts.template +1 -1
  147. package/src/generators/ui/libs/ui-select-helm/files/lib/hlm-select-scroll-up.ts.template +1 -1
  148. package/src/generators/ui/libs/ui-select-helm/files/lib/hlm-select-trigger.ts.template +2 -2
  149. package/src/generators/ui/libs/ui-select-helm/files/lib/hlm-select-value.ts.template +2 -2
  150. package/src/generators/ui/libs/ui-select-helm/files/lib/hlm-select.ts.template +1 -1
  151. package/src/generators/ui/libs/ui-separator-helm/files/index.ts.template +4 -2
  152. package/src/generators/ui/libs/ui-separator-helm/files/lib/hlm-separator.ts.template +6 -7
  153. package/src/generators/ui/libs/ui-sheet-helm/files/lib/hlm-sheet-close.ts.template +2 -2
  154. package/src/generators/ui/libs/ui-sheet-helm/files/lib/hlm-sheet-content.ts.template +3 -2
  155. package/src/generators/ui/libs/ui-sheet-helm/files/lib/hlm-sheet-description.ts.template +1 -1
  156. package/src/generators/ui/libs/ui-sheet-helm/files/lib/hlm-sheet-footer.ts.template +1 -1
  157. package/src/generators/ui/libs/ui-sheet-helm/files/lib/hlm-sheet-header.ts.template +1 -1
  158. package/src/generators/ui/libs/ui-sheet-helm/files/lib/hlm-sheet-overlay.ts.template +3 -2
  159. package/src/generators/ui/libs/ui-sheet-helm/files/lib/hlm-sheet-title.ts.template +1 -1
  160. package/src/generators/ui/libs/ui-skeleton-helm/files/lib/hlm-skeleton.ts.template +2 -2
  161. package/src/generators/ui/libs/ui-slider-helm/files/lib/hlm-slider.ts.template +1 -1
  162. package/src/generators/ui/libs/ui-sonner-helm/files/lib/hlm-toaster.ts.template +1 -1
  163. package/src/generators/ui/libs/ui-spinner-helm/files/lib/hlm-spinner.ts.template +2 -2
  164. package/src/generators/ui/libs/ui-switch-helm/files/lib/hlm-switch-thumb.ts.template +2 -2
  165. package/src/generators/ui/libs/ui-switch-helm/files/lib/hlm-switch.ts.template +2 -2
  166. package/src/generators/ui/libs/ui-table-helm/files/lib/hlm-table.ts.template +1 -1
  167. package/src/generators/ui/libs/ui-tabs-helm/files/lib/hlm-tabs-content.ts.template +2 -2
  168. package/src/generators/ui/libs/ui-tabs-helm/files/lib/hlm-tabs-list.ts.template +3 -3
  169. package/src/generators/ui/libs/ui-tabs-helm/files/lib/hlm-tabs-paginated-list.ts.template +2 -2
  170. package/src/generators/ui/libs/ui-tabs-helm/files/lib/hlm-tabs-trigger.ts.template +2 -2
  171. package/src/generators/ui/libs/ui-tabs-helm/files/lib/hlm-tabs.ts.template +1 -1
  172. package/src/generators/ui/libs/ui-toggle-group-helm/files/lib/hlm-toggle-group.ts.template +2 -2
  173. package/src/generators/ui/libs/ui-toggle-group-helm/files/lib/hlm-toggle-item.ts.template +6 -6
  174. package/src/generators/ui/libs/ui-toggle-helm/files/lib/hlm-toggle.ts.template +3 -3
  175. package/src/generators/ui/libs/ui-typography-helm/files/lib/hlm-blockquote.ts.template +1 -1
  176. package/src/generators/ui/libs/ui-typography-helm/files/lib/hlm-code.ts.template +1 -1
  177. package/src/generators/ui/libs/ui-typography-helm/files/lib/hlm-h1.ts.template +1 -1
  178. package/src/generators/ui/libs/ui-typography-helm/files/lib/hlm-h2.ts.template +1 -1
  179. package/src/generators/ui/libs/ui-typography-helm/files/lib/hlm-h3.ts.template +1 -1
  180. package/src/generators/ui/libs/ui-typography-helm/files/lib/hlm-h4.ts.template +1 -1
  181. package/src/generators/ui/libs/ui-typography-helm/files/lib/hlm-large.ts.template +1 -1
  182. package/src/generators/ui/libs/ui-typography-helm/files/lib/hlm-lead.ts.template +1 -1
  183. package/src/generators/ui/libs/ui-typography-helm/files/lib/hlm-muted.ts.template +1 -1
  184. package/src/generators/ui/libs/ui-typography-helm/files/lib/hlm-p.ts.template +1 -1
  185. package/src/generators/ui/libs/ui-typography-helm/files/lib/hlm-small.ts.template +1 -1
  186. package/src/generators/ui/libs/ui-typography-helm/files/lib/hlm-ul.ts.template +1 -1
  187. package/src/generators/ui/libs/ui-utils-helm/files/index.ts.template +1 -0
  188. package/src/generators/ui/libs/ui-utils-helm/files/lib/hlm.ts.template +6 -0
  189. package/src/generators/ui/libs/ui-utils-helm/generator.d.ts +3 -0
  190. package/src/generators/ui/libs/ui-utils-helm/generator.js +14 -0
  191. package/src/generators/ui/libs/ui-utils-helm/generator.js.map +1 -0
  192. package/src/generators/ui/primitive-deps.js +42 -41
  193. package/src/generators/ui/primitive-deps.js.map +1 -1
  194. package/src/generators/ui/primitives.d.ts +1 -1
  195. package/src/generators/ui/supported-ui-libraries.json +37 -44
@@ -1,5 +1,6 @@
1
1
  import { Directive, ElementRef, Renderer2, computed, effect, inject, input, signal } from '@angular/core';
2
- import { hlm, injectExposesStateProvider } from '@spartan-ng/brain/core';
2
+ import { injectExposesStateProvider } from '@spartan-ng/brain/core';
3
+ import { hlm } from '@spartan-ng/helm/utils';
3
4
  import type { ClassValue } from 'clsx';
4
5
 
5
6
  @Directive({
@@ -23,7 +24,7 @@ export class HlmPopoverContent {
23
24
  public readonly userClass = input<ClassValue>('', { alias: 'class' });
24
25
  protected readonly _computedClass = computed(() =>
25
26
  hlm(
26
- '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',
27
+ 'border-border 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 relative w-72 rounded-md border p-4 shadow-md outline-none',
27
28
  this.userClass(),
28
29
  ),
29
30
  );
@@ -1,6 +1,6 @@
1
1
  import { computed, Directive, input } from '@angular/core';
2
- import { hlm } from '@spartan-ng/brain/core';
3
2
  import { BrnProgressIndicator, injectBrnProgress } from '@spartan-ng/brain/progress';
3
+ import { hlm } from '@spartan-ng/helm/utils';
4
4
  import type { ClassValue } from 'clsx';
5
5
 
6
6
  @Directive({
@@ -1,6 +1,6 @@
1
1
  import { computed, Directive, input } from '@angular/core';
2
- import { hlm } from '@spartan-ng/brain/core';
3
2
  import { BrnProgress } from '@spartan-ng/brain/progress';
3
+ import { hlm } from '@spartan-ng/helm/utils';
4
4
  import type { ClassValue } from 'clsx';
5
5
 
6
6
  @Directive({
@@ -13,6 +13,6 @@ import type { ClassValue } from 'clsx';
13
13
  export class HlmProgress {
14
14
  public readonly userClass = input<ClassValue>('', { alias: 'class' });
15
15
  protected readonly _computedClass = computed(() =>
16
- hlm('inline-flex bg-primary/20 relative h-2 w-full overflow-hidden rounded-full', this.userClass()),
16
+ hlm('bg-primary/20 relative inline-flex h-2 w-full overflow-hidden rounded-full', this.userClass()),
17
17
  );
18
18
  }
@@ -1,6 +1,6 @@
1
1
  import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
2
- import { hlm } from '@spartan-ng/brain/core';
3
2
  import { BrnRadioGroup } from '@spartan-ng/brain/radio-group';
3
+ import { hlm } from '@spartan-ng/helm/utils';
4
4
  import type { ClassValue } from 'clsx';
5
5
 
6
6
  @Component({
@@ -1,5 +1,5 @@
1
1
  import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
2
- import { hlm } from '@spartan-ng/brain/core';
2
+ import { hlm } from '@spartan-ng/helm/utils';
3
3
  import type { ClassValue } from 'clsx';
4
4
 
5
5
  @Component({
@@ -16,7 +16,7 @@ export class HlmRadioIndicator {
16
16
  public readonly userClass = input<ClassValue>('', { alias: 'class' });
17
17
  protected readonly _computedClass = computed(() =>
18
18
  hlm(
19
- 'relative flex items-center justify-center border-input text-primary group-has-[:focus-visible]:border-ring group-has-[:focus-visible]:ring-ring/50 dark:bg-input/30 aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none group-has-[:focus-visible]:ring-[3px] group-data=[disabled=true]:cursor-not-allowed group-data=[disabled=true]:opacity-50',
19
+ 'border-input text-primary group-has-[:focus-visible]:border-ring group-has-[:focus-visible]:ring-ring/50 dark:bg-input/30 shadow-xs group-data=[disabled=true]:cursor-not-allowed group-data=[disabled=true]:opacity-50 relative flex aspect-square size-4 shrink-0 items-center justify-center rounded-full border outline-none transition-[color,box-shadow] group-has-[:focus-visible]:ring-[3px]',
20
20
  this.userClass(),
21
21
  ),
22
22
  );
@@ -13,8 +13,8 @@ import {
13
13
  Renderer2,
14
14
  signal,
15
15
  } from '@angular/core';
16
- import { hlm } from '@spartan-ng/brain/core';
17
16
  import { BrnRadio, BrnRadioChange } from '@spartan-ng/brain/radio-group';
17
+ import { hlm } from '@spartan-ng/helm/utils';
18
18
  import { ClassValue } from 'clsx';
19
19
 
20
20
  @Component({
@@ -1,5 +1,5 @@
1
1
  import { Directive, computed, input } from '@angular/core';
2
- import { hlm } from '@spartan-ng/brain/core';
2
+ import { hlm } from '@spartan-ng/helm/utils';
3
3
  import type { ClassValue } from 'clsx';
4
4
 
5
5
  @Directive({
@@ -1,6 +1,7 @@
1
1
  import { BooleanInput } from '@angular/cdk/coercion';
2
2
  import { Directive, booleanAttribute, computed, input } from '@angular/core';
3
- import { hlm, injectExposedSideProvider, injectExposesStateProvider } from '@spartan-ng/brain/core';
3
+ import { injectExposedSideProvider, injectExposesStateProvider } from '@spartan-ng/brain/core';
4
+ import { hlm } from '@spartan-ng/helm/utils';
4
5
  import type { ClassValue } from 'clsx';
5
6
 
6
7
  @Directive({
@@ -21,7 +22,7 @@ export class HlmSelectContent {
21
22
 
22
23
  protected readonly _computedClass = computed(() =>
23
24
  hlm(
24
- 'w-full relative z-50 min-w-[8rem] overflow-hidden rounded-md border border-border bg-popover text-popover-foreground shadow-md p-1 data-[side=bottom]:top-[2px] data-[side=top]:bottom-[2px] 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',
25
+ 'border-border 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 relative z-50 w-full min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md data-[side=bottom]:top-[2px] data-[side=top]:bottom-[2px]',
25
26
  this.userClass(),
26
27
  ),
27
28
  );
@@ -1,6 +1,6 @@
1
1
  import { Directive, computed, input } from '@angular/core';
2
- import { hlm } from '@spartan-ng/brain/core';
3
2
  import { BrnSelectGroup } from '@spartan-ng/brain/select';
3
+ import { hlm } from '@spartan-ng/helm/utils';
4
4
  import type { ClassValue } from 'clsx';
5
5
 
6
6
  @Directive({
@@ -1,6 +1,6 @@
1
1
  import { Directive, computed, inject, input } from '@angular/core';
2
- import { hlm } from '@spartan-ng/brain/core';
3
2
  import { BrnSelectLabel } from '@spartan-ng/brain/select';
3
+ import { hlm } from '@spartan-ng/helm/utils';
4
4
  import type { ClassValue } from 'clsx';
5
5
  import { HlmSelectContent } from './hlm-select-content';
6
6
 
@@ -18,7 +18,7 @@ export class HlmSelectLabel {
18
18
  protected readonly _computedClass = computed(() =>
19
19
  hlm(
20
20
  'text-muted-foreground px-2 py-1.5 text-xs',
21
- this._stickyLabels() ? 'sticky top-0 bg-popover block z-[2]' : '',
21
+ this._stickyLabels() ? 'bg-popover sticky top-0 z-[2] block' : '',
22
22
  this.userClass(),
23
23
  ),
24
24
  );
@@ -1,9 +1,9 @@
1
1
  import { ChangeDetectionStrategy, Component, computed, inject, input } from '@angular/core';
2
2
  import { NgIcon, provideIcons } from '@ng-icons/core';
3
3
  import { lucideCheck } from '@ng-icons/lucide';
4
- import { hlm } from '@spartan-ng/brain/core';
5
4
  import { BrnSelectOption } from '@spartan-ng/brain/select';
6
5
  import { HlmIcon } from '@spartan-ng/helm/icon';
6
+ import { hlm } from '@spartan-ng/helm/utils';
7
7
  import type { ClassValue } from 'clsx';
8
8
 
9
9
  @Component({
@@ -30,7 +30,7 @@ export class HlmSelectOption {
30
30
  public readonly userClass = input<ClassValue>('', { alias: 'class' });
31
31
  protected readonly _computedClass = computed(() =>
32
32
  hlm(
33
- 'data-[active]:bg-accent data-[active]:text-accent-foreground [&>ng-icon]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>ng-icon]:pointer-events-none [&>ng-icon]:shrink-0 [&>ng-icon]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2',
33
+ 'data-[active]:bg-accent data-[active]:text-accent-foreground [&>ng-icon]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2 relative flex w-full cursor-default select-none items-center gap-2 rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>ng-icon]:pointer-events-none [&>ng-icon]:size-4 [&>ng-icon]:shrink-0',
34
34
  this.userClass(),
35
35
  ),
36
36
  );
@@ -1,8 +1,8 @@
1
1
  import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
2
2
  import { NgIcon, provideIcons } from '@ng-icons/core';
3
3
  import { lucideChevronDown } from '@ng-icons/lucide';
4
- import { hlm } from '@spartan-ng/brain/core';
5
4
  import { HlmIcon } from '@spartan-ng/helm/icon';
5
+ import { hlm } from '@spartan-ng/helm/utils';
6
6
  import { ClassValue } from 'clsx';
7
7
 
8
8
  @Component({
@@ -1,8 +1,8 @@
1
1
  import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
2
2
  import { NgIcon, provideIcons } from '@ng-icons/core';
3
3
  import { lucideChevronUp } from '@ng-icons/lucide';
4
- import { hlm } from '@spartan-ng/brain/core';
5
4
  import { HlmIcon } from '@spartan-ng/helm/icon';
5
+ import { hlm } from '@spartan-ng/helm/utils';
6
6
  import { ClassValue } from 'clsx';
7
7
 
8
8
  @Component({
@@ -1,14 +1,14 @@
1
1
  import { ChangeDetectionStrategy, Component, computed, contentChild, inject, input } from '@angular/core';
2
2
  import { NgIcon, provideIcons } from '@ng-icons/core';
3
3
  import { lucideChevronDown } from '@ng-icons/lucide';
4
- import { hlm } from '@spartan-ng/brain/core';
5
4
  import { BrnSelect, BrnSelectTrigger } from '@spartan-ng/brain/select';
6
5
  import { HlmIcon } from '@spartan-ng/helm/icon';
6
+ import { hlm } from '@spartan-ng/helm/utils';
7
7
  import { cva } from 'class-variance-authority';
8
8
  import type { ClassValue } from 'clsx';
9
9
 
10
10
  export const selectTriggerVariants = cva(
11
- `border-input [&>ng-icon]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 [&>ng-icon]:pointer-events-none [&>ng-icon]:shrink-0 [&>ng-icon]:size-4`,
11
+ `border-input [&>ng-icon]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 dark:bg-input/30 dark:hover:bg-input/50 shadow-xs flex w-fit items-center justify-between gap-2 whitespace-nowrap rounded-md border bg-transparent px-3 py-2 text-sm outline-none transition-[color,box-shadow] focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 [&>ng-icon]:pointer-events-none [&>ng-icon]:size-4 [&>ng-icon]:shrink-0`,
12
12
  {
13
13
  variants: {
14
14
  error: {
@@ -1,5 +1,5 @@
1
1
  import { Directive, computed, input } from '@angular/core';
2
- import { hlm } from '@spartan-ng/brain/core';
2
+ import { hlm } from '@spartan-ng/helm/utils';
3
3
  import type { ClassValue } from 'clsx';
4
4
 
5
5
  @Directive({
@@ -11,6 +11,6 @@ import type { ClassValue } from 'clsx';
11
11
  export class HlmSelectValue {
12
12
  public readonly userClass = input<ClassValue>('', { alias: 'class' });
13
13
  protected readonly _computedClass = computed(() =>
14
- hlm('line-clamp-1 flex items-center gap-2 data-[placeholder]:text-muted-foreground', this.userClass()),
14
+ hlm('data-[placeholder]:text-muted-foreground line-clamp-1 flex items-center gap-2', this.userClass()),
15
15
  );
16
16
  }
@@ -1,5 +1,5 @@
1
1
  import { Directive, computed, input } from '@angular/core';
2
- import { hlm } from '@spartan-ng/brain/core';
2
+ import { hlm } from '@spartan-ng/helm/utils';
3
3
  import type { ClassValue } from 'clsx';
4
4
 
5
5
  @Directive({
@@ -3,8 +3,10 @@ import { HlmSeparator } from './lib/hlm-separator';
3
3
 
4
4
  export * from './lib/hlm-separator';
5
5
 
6
+ export const HlmSeparatorImports = [HlmSeparator] as const;
7
+
6
8
  @NgModule({
7
- imports: [HlmSeparator],
8
- exports: [HlmSeparator],
9
+ imports: [...HlmSeparatorImports],
10
+ exports: [...HlmSeparatorImports],
9
11
  })
10
12
  export class HlmSeparatorModule {}
@@ -1,21 +1,20 @@
1
- import { Directive, computed, input } from '@angular/core';
2
- import { hlm } from '@spartan-ng/brain/core';
1
+ import { computed, Directive, input } from '@angular/core';
2
+ import { BrnSeparator } from '@spartan-ng/brain/separator';
3
+ import { hlm } from '@spartan-ng/helm/utils';
3
4
  import type { ClassValue } from 'clsx';
4
5
 
5
- export type HlmSeparatorOrientation = 'horizontal' | 'vertical';
6
6
  @Directive({
7
- selector: '[hlmSeparator],brn-separator[hlm]',
7
+ selector: '[hlmSeparator],hlm-separator',
8
+ hostDirectives: [{ directive: BrnSeparator, inputs: ['orientation', 'decorative'] }],
8
9
  host: {
9
10
  '[class]': '_computedClass()',
10
11
  },
11
12
  })
12
13
  export class HlmSeparator {
13
- public readonly orientation = input<HlmSeparatorOrientation>('horizontal');
14
14
  public readonly userClass = input<ClassValue>('', { alias: 'class' });
15
15
  protected _computedClass = computed(() =>
16
16
  hlm(
17
- 'inline-flex shrink-0 border-0 bg-border',
18
- this.orientation() === 'horizontal' ? 'h-[1px] w-full' : 'h-full w-[1px]',
17
+ 'bg-border inline-flex shrink-0 data-[orientation=horizontal]:h-px data-[orientation=vertical]:h-full data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px',
19
18
  this.userClass(),
20
19
  ),
21
20
  );
@@ -1,5 +1,5 @@
1
1
  import { Directive, computed, input } from '@angular/core';
2
- import { hlm } from '@spartan-ng/brain/core';
2
+ import { hlm } from '@spartan-ng/helm/utils';
3
3
  import type { ClassValue } from 'clsx';
4
4
 
5
5
  @Directive({
@@ -12,7 +12,7 @@ export class HlmSheetClose {
12
12
  public readonly userClass = input<ClassValue>('', { alias: 'class' });
13
13
  protected readonly _computedClass = computed(() =>
14
14
  hlm(
15
- 'ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none',
15
+ 'ring-offset-background focus:ring-ring data-[state=open]:bg-secondary rounded-xs focus:outline-hidden absolute right-4 top-4 opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 disabled:pointer-events-none',
16
16
  this.userClass(),
17
17
  ),
18
18
  );
@@ -11,9 +11,10 @@ import {
11
11
  } from '@angular/core';
12
12
  import { NgIcon, provideIcons } from '@ng-icons/core';
13
13
  import { lucideX } from '@ng-icons/lucide';
14
- import { hlm, injectExposedSideProvider, injectExposesStateProvider } from '@spartan-ng/brain/core';
14
+ import { injectExposedSideProvider, injectExposesStateProvider } from '@spartan-ng/brain/core';
15
15
  import { BrnSheetClose } from '@spartan-ng/brain/sheet';
16
16
  import { HlmIcon } from '@spartan-ng/helm/icon';
17
+ import { hlm } from '@spartan-ng/helm/utils';
17
18
  import { cva } from 'class-variance-authority';
18
19
  import type { ClassValue } from 'clsx';
19
20
  import { HlmSheetClose } from './hlm-sheet-close';
@@ -28,7 +29,7 @@ export const sheetVariants = cva(
28
29
  'data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t',
29
30
  left: 'data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm',
30
31
  right:
31
- 'inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right',
32
+ 'data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm',
32
33
  },
33
34
  },
34
35
  defaultVariants: {
@@ -1,6 +1,6 @@
1
1
  import { Directive, computed, input } from '@angular/core';
2
- import { hlm } from '@spartan-ng/brain/core';
3
2
  import { BrnSheetDescription } from '@spartan-ng/brain/sheet';
3
+ import { hlm } from '@spartan-ng/helm/utils';
4
4
  import type { ClassValue } from 'clsx';
5
5
 
6
6
  @Directive({
@@ -1,5 +1,5 @@
1
1
  import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
2
- import { hlm } from '@spartan-ng/brain/core';
2
+ import { hlm } from '@spartan-ng/helm/utils';
3
3
  import type { ClassValue } from 'clsx';
4
4
 
5
5
  @Component({
@@ -1,5 +1,5 @@
1
1
  import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
2
- import { hlm } from '@spartan-ng/brain/core';
2
+ import { hlm } from '@spartan-ng/helm/utils';
3
3
  import type { ClassValue } from 'clsx';
4
4
 
5
5
  @Component({
@@ -1,5 +1,6 @@
1
1
  import { Directive, computed, effect, input, untracked } from '@angular/core';
2
- import { hlm, injectCustomClassSettable } from '@spartan-ng/brain/core';
2
+ import { injectCustomClassSettable } from '@spartan-ng/brain/core';
3
+ import { hlm } from '@spartan-ng/helm/utils';
3
4
  import type { ClassValue } from 'clsx';
4
5
 
5
6
  @Directive({
@@ -13,7 +14,7 @@ export class HlmSheetOverlay {
13
14
  public readonly userClass = input<ClassValue>('', { alias: 'class' });
14
15
  protected readonly _computedClass = computed(() =>
15
16
  hlm(
16
- 'bg-black/50 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',
17
+ 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 bg-black/50',
17
18
  this.userClass(),
18
19
  ),
19
20
  );
@@ -1,6 +1,6 @@
1
1
  import { Directive, computed, input } from '@angular/core';
2
- import { hlm } from '@spartan-ng/brain/core';
3
2
  import { BrnSheetTitle } from '@spartan-ng/brain/sheet';
3
+ import { hlm } from '@spartan-ng/helm/utils';
4
4
  import type { ClassValue } from 'clsx';
5
5
 
6
6
  @Directive({
@@ -1,5 +1,5 @@
1
1
  import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
2
- import { hlm } from '@spartan-ng/brain/core';
2
+ import { hlm } from '@spartan-ng/helm/utils';
3
3
  import type { ClassValue } from 'clsx';
4
4
 
5
5
  @Component({
@@ -12,5 +12,5 @@ import type { ClassValue } from 'clsx';
12
12
  })
13
13
  export class HlmSkeleton {
14
14
  public readonly userClass = input<ClassValue>('', { alias: 'class' });
15
- protected _computedClass = computed(() => hlm('block animate-pulse rounded-md bg-muted', this.userClass()));
15
+ protected _computedClass = computed(() => hlm('bg-muted block animate-pulse rounded-md', this.userClass()));
16
16
  }
@@ -1,5 +1,4 @@
1
1
  import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
2
- import { hlm } from '@spartan-ng/brain/core';
3
2
  import {
4
3
  BrnSlider,
5
4
  BrnSliderRange,
@@ -8,6 +7,7 @@ import {
8
7
  BrnSliderTrack,
9
8
  injectBrnSlider,
10
9
  } from '@spartan-ng/brain/slider';
10
+ import { hlm } from '@spartan-ng/helm/utils';
11
11
  import type { ClassValue } from 'clsx';
12
12
 
13
13
  @Component({
@@ -1,5 +1,5 @@
1
1
  import { ChangeDetectionStrategy, Component, booleanAttribute, computed, input, numberAttribute } from '@angular/core';
2
- import { hlm } from '@spartan-ng/brain/core';
2
+ import { hlm } from '@spartan-ng/helm/utils';
3
3
  import type { ClassValue } from 'clsx';
4
4
  import { NgxSonnerToaster, type ToasterProps } from 'ngx-sonner';
5
5
 
@@ -1,5 +1,5 @@
1
1
  import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
2
- import { hlm } from '@spartan-ng/brain/core';
2
+ import { hlm } from '@spartan-ng/helm/utils';
3
3
  import type { ClassValue } from 'clsx';
4
4
 
5
5
  @Component({
@@ -32,6 +32,6 @@ import type { ClassValue } from 'clsx';
32
32
  export class HlmSpinner {
33
33
  public readonly userClass = input<ClassValue>('size-8', { alias: 'class' });
34
34
  protected readonly _computedClass = computed(() =>
35
- hlm('inline-block [&>svg]:text-foreground/30 [&>svg]:fill-accent', this.userClass()),
35
+ hlm('[&>svg]:text-foreground/30 [&>svg]:fill-accent inline-block', this.userClass()),
36
36
  );
37
37
  }
@@ -1,5 +1,5 @@
1
1
  import { Directive, computed, input } from '@angular/core';
2
- import { hlm } from '@spartan-ng/brain/core';
2
+ import { hlm } from '@spartan-ng/helm/utils';
3
3
  import type { ClassValue } from 'clsx';
4
4
 
5
5
  @Directive({
@@ -13,7 +13,7 @@ export class HlmSwitchThumb {
13
13
 
14
14
  protected readonly _computedClass = computed(() =>
15
15
  hlm(
16
- 'bg-background dark:group-data-[state=unchecked]:bg-foreground dark:group-data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform group-data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0',
16
+ 'bg-background dark:group-data-[state=unchecked]:bg-foreground dark:group-data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=unchecked]:translate-x-0 group-data-[state=checked]:translate-x-[calc(100%-2px)]',
17
17
  this.userClass(),
18
18
  ),
19
19
  );
@@ -11,9 +11,9 @@ import {
11
11
  output,
12
12
  } from '@angular/core';
13
13
  import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';
14
- import { hlm } from '@spartan-ng/brain/core';
15
14
  import { ChangeFn, TouchFn } from '@spartan-ng/brain/forms';
16
15
  import { BrnSwitch, BrnSwitchThumb } from '@spartan-ng/brain/switch';
16
+ import { hlm } from '@spartan-ng/helm/utils';
17
17
  import type { ClassValue } from 'clsx';
18
18
  import { HlmSwitchThumb } from './hlm-switch-thumb';
19
19
  export const HLM_SWITCH_VALUE_ACCESSOR = {
@@ -54,7 +54,7 @@ export class HlmSwitch implements ControlValueAccessor {
54
54
  public readonly userClass = input<ClassValue>('', { alias: 'class' });
55
55
  protected readonly _computedClass = computed(() =>
56
56
  hlm(
57
- 'group data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] data-[disabled=true]:cursor-not-allowed data-[disabled=true]:opacity-50',
57
+ 'data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 shadow-xs group inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent outline-none transition-all focus-visible:ring-[3px] data-[disabled=true]:cursor-not-allowed data-[disabled=true]:opacity-50',
58
58
  this.userClass(),
59
59
  ),
60
60
  );
@@ -1,6 +1,6 @@
1
1
  // src/app/directives/hlm-table-directives.ts
2
2
  import { computed, Directive, inject, InjectionToken, input, ValueProvider } from '@angular/core';
3
- import { hlm } from '@spartan-ng/brain/core';
3
+ import { hlm } from '@spartan-ng/helm/utils';
4
4
  import type { ClassValue } from 'clsx';
5
5
 
6
6
  // Configuration Interface and InjectionToken
@@ -1,6 +1,6 @@
1
1
  import { Directive, computed, input } from '@angular/core';
2
- import { hlm } from '@spartan-ng/brain/core';
3
2
  import { BrnTabsContent } from '@spartan-ng/brain/tabs';
3
+ import { hlm } from '@spartan-ng/helm/utils';
4
4
  import type { ClassValue } from 'clsx';
5
5
 
6
6
  @Directive({
@@ -16,7 +16,7 @@ export class HlmTabsContent {
16
16
  public readonly userClass = input<ClassValue>('', { alias: 'class' });
17
17
  protected readonly _computedClass = computed(() =>
18
18
  hlm(
19
- 'mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',
19
+ 'ring-offset-background focus-visible:ring-ring mt-2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2',
20
20
  this.userClass(),
21
21
  ),
22
22
  );
@@ -1,16 +1,16 @@
1
1
  import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
2
- import { hlm } from '@spartan-ng/brain/core';
3
2
  import { BrnTabsList } from '@spartan-ng/brain/tabs';
3
+ import { hlm } from '@spartan-ng/helm/utils';
4
4
  import { type VariantProps, cva } from 'class-variance-authority';
5
5
  import type { ClassValue } from 'clsx';
6
6
 
7
7
  export const listVariants = cva(
8
- 'inline-flex h-9 w-fit items-center justify-center rounded-lg bg-muted p-[3px] text-muted-foreground',
8
+ 'bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]',
9
9
  {
10
10
  variants: {
11
11
  orientation: {
12
12
  horizontal: 'h-10 space-x-1',
13
- vertical: 'mt-2 flex-col h-fit space-y-1',
13
+ vertical: 'mt-2 h-fit flex-col space-y-1',
14
14
  },
15
15
  },
16
16
  defaultVariants: {
@@ -11,10 +11,10 @@ import {
11
11
  import { toObservable } from '@angular/core/rxjs-interop';
12
12
  import { NgIcon, provideIcons } from '@ng-icons/core';
13
13
  import { lucideChevronLeft, lucideChevronRight } from '@ng-icons/lucide';
14
- import { hlm } from '@spartan-ng/brain/core';
15
14
  import { type BrnPaginatedTabHeaderItem, BrnTabsPaginatedList, BrnTabsTrigger } from '@spartan-ng/brain/tabs';
16
15
  import { buttonVariants } from '@spartan-ng/helm/button';
17
16
  import { HlmIcon } from '@spartan-ng/helm/icon';
17
+ import { hlm } from '@spartan-ng/helm/utils';
18
18
  import type { ClassValue } from 'clsx';
19
19
  import type { Observable } from 'rxjs';
20
20
  import { listVariants } from './hlm-tabs-list';
@@ -84,7 +84,7 @@ export class HlmTabsPaginatedList extends BrnTabsPaginatedList {
84
84
 
85
85
  public readonly userClass = input<ClassValue>('', { alias: 'class' });
86
86
  protected readonly _computedClass = computed(() =>
87
- hlm('flex overflow-hidden relative gap-1 flex-shrink-0', this.userClass()),
87
+ hlm('relative flex flex-shrink-0 gap-1 overflow-hidden', this.userClass()),
88
88
  );
89
89
 
90
90
  public readonly tabListClass = input<ClassValue>('', { alias: 'tabListClass' });
@@ -1,6 +1,6 @@
1
1
  import { Directive, computed, input } from '@angular/core';
2
- import { hlm } from '@spartan-ng/brain/core';
3
2
  import { BrnTabsTrigger } from '@spartan-ng/brain/tabs';
3
+ import { hlm } from '@spartan-ng/helm/utils';
4
4
  import type { ClassValue } from 'clsx';
5
5
 
6
6
  @Directive({
@@ -15,7 +15,7 @@ export class HlmTabsTrigger {
15
15
  public readonly userClass = input<ClassValue>('', { alias: 'class' });
16
16
  protected readonly _computedClass = computed(() =>
17
17
  hlm(
18
- 'data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_ng-icon]:pointer-events-none [&_ng-icon]:shrink-0 [&_ng-icon]:text-base',
18
+ 'data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 whitespace-nowrap rounded-md border border-transparent px-2 py-1 text-sm font-medium transition-[color,box-shadow] focus-visible:outline-1 focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_ng-icon]:pointer-events-none [&_ng-icon]:shrink-0 [&_ng-icon]:text-base',
19
19
  this.userClass(),
20
20
  ),
21
21
  );
@@ -1,6 +1,6 @@
1
1
  import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
2
- import { hlm } from '@spartan-ng/brain/core';
3
2
  import { BrnTabs } from '@spartan-ng/brain/tabs';
3
+ import { hlm } from '@spartan-ng/helm/utils';
4
4
  import { ClassValue } from 'clsx';
5
5
 
6
6
  @Component({
@@ -1,5 +1,5 @@
1
1
  import { Directive, computed, input } from '@angular/core';
2
- import { hlm } from '@spartan-ng/brain/core';
2
+ import { hlm } from '@spartan-ng/helm/utils';
3
3
  import { VariantProps } from 'class-variance-authority';
4
4
  import type { ClassValue } from 'clsx';
5
5
  import { provideHlmToggleGroup } from './hlm-toggle-group.token';
@@ -21,7 +21,7 @@ export class HlmToggleGroup {
21
21
  public readonly userClass = input<ClassValue>('', { alias: 'class' });
22
22
  protected readonly _computedClass = computed(() =>
23
23
  hlm(
24
- 'group/toggle-group flex w-fit items-center rounded-md data-[variant=outline]:shadow-xs focus:[&>[hlm][brnToggle]]:z-10',
24
+ 'group/toggle-group data-[variant=outline]:shadow-xs flex w-fit items-center rounded-md focus:[&>[hlm][brnToggle]]:z-10',
25
25
  this.userClass(),
26
26
  ),
27
27
  );
@@ -1,21 +1,21 @@
1
1
  import { Directive, computed, input } from '@angular/core';
2
- import { hlm } from '@spartan-ng/brain/core';
2
+ import { hlm } from '@spartan-ng/helm/utils';
3
3
  import { type VariantProps, cva } from 'class-variance-authority';
4
4
  import type { ClassValue } from 'clsx';
5
5
  import { injectHlmToggleGroup } from './hlm-toggle-group.token';
6
6
 
7
7
  export const toggleGroupItemVariants = cva(
8
- 'inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground 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=on]:bg-accent data-[state=on]:text-accent-foreground [&_ng-icon]:pointer-events-none [&_ng-icon]:text-base [&_ng-icon]:shrink-0 gap-2',
8
+ 'ring-offset-background hover:bg-muted hover:text-muted-foreground focus-visible:ring-ring data-[state=on]:bg-accent data-[state=on]:text-accent-foreground inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_ng-icon]:pointer-events-none [&_ng-icon]:shrink-0 [&_ng-icon]:text-base',
9
9
  {
10
10
  variants: {
11
11
  variant: {
12
12
  default: 'bg-transparent',
13
- outline: 'border border-input bg-transparent hover:bg-accent hover:text-accent-foreground',
13
+ outline: 'border-input hover:bg-accent hover:text-accent-foreground border bg-transparent',
14
14
  },
15
15
  size: {
16
- default: 'h-10 px-3 min-w-10',
17
- sm: 'h-9 px-2 min-w-9',
18
- lg: 'h-11 px-5 min-w-11',
16
+ default: 'h-10 min-w-10 px-3',
17
+ sm: 'h-9 min-w-9 px-2',
18
+ lg: 'h-11 min-w-11 px-5',
19
19
  },
20
20
  },
21
21
  defaultVariants: {
@@ -1,15 +1,15 @@
1
1
  import { Directive, computed, input } from '@angular/core';
2
- import { hlm } from '@spartan-ng/brain/core';
2
+ import { hlm } from '@spartan-ng/helm/utils';
3
3
  import { cva, type VariantProps } from 'class-variance-authority';
4
4
  import type { ClassValue } from 'clsx';
5
5
 
6
6
  export const toggleVariants = cva(
7
- 'inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground 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=on]:bg-accent data-[state=on]:text-accent-foreground',
7
+ 'ring-offset-background hover:bg-muted hover:text-muted-foreground focus-visible:ring-ring data-[state=on]:bg-accent data-[state=on]:text-accent-foreground inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50',
8
8
  {
9
9
  variants: {
10
10
  variant: {
11
11
  default: 'bg-transparent',
12
- outline: 'border border-input bg-transparent hover:bg-accent hover:text-accent-foreground',
12
+ outline: 'border-input hover:bg-accent hover:text-accent-foreground border bg-transparent',
13
13
  },
14
14
  size: {
15
15
  default: 'h-9 px-3',