@spartan-ng/cli 0.0.1-alpha.489 → 0.0.1-alpha.491

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 (46) hide show
  1. package/package.json +1 -1
  2. package/src/generators/ui/libs/ui-accordion-helm/files/lib/hlm-accordion-trigger.directive.ts.template +1 -1
  3. package/src/generators/ui/libs/ui-avatar-helm/files/lib/hlm-avatar.component.ts.template +1 -1
  4. package/src/generators/ui/libs/ui-calendar-helm/files/lib/hlm-calendar-multi.component.ts.template +13 -13
  5. package/src/generators/ui/libs/ui-calendar-helm/files/lib/hlm-calendar.component.ts.template +13 -13
  6. package/src/generators/ui/libs/ui-carousel-helm/files/lib/hlm-carousel-content.component.ts.template +3 -3
  7. package/src/generators/ui/libs/ui-carousel-helm/files/lib/hlm-carousel-item.component.ts.template +3 -7
  8. package/src/generators/ui/libs/ui-carousel-helm/files/lib/hlm-carousel-slide-display.component.ts.template +9 -9
  9. package/src/generators/ui/libs/ui-carousel-helm/files/lib/hlm-carousel.component.ts.template +8 -8
  10. package/src/generators/ui/libs/ui-checkbox-helm/files/lib/hlm-checkbox.component.ts.template +6 -6
  11. package/src/generators/ui/libs/ui-command-helm/files/lib/hlm-command-dialog.directive.ts.template +1 -1
  12. package/src/generators/ui/libs/ui-date-picker-helm/files/lib/hlm-date-picker-multi.component.ts.template +12 -12
  13. package/src/generators/ui/libs/ui-date-picker-helm/files/lib/hlm-date-picker.component.ts.template +12 -12
  14. package/src/generators/ui/libs/ui-dialog-helm/files/lib/hlm-dialog-description.directive.ts.template +1 -1
  15. package/src/generators/ui/libs/ui-dialog-helm/files/lib/hlm-dialog-title.directive.ts.template +3 -1
  16. package/src/generators/ui/libs/ui-form-field-helm/files/lib/hlm-form-field.component.ts.template +2 -2
  17. package/src/generators/ui/libs/ui-input-helm/files/lib/hlm-input.directive.ts.template +3 -3
  18. package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu-bar-item.directive.ts.template +1 -1
  19. package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu-item-checkbox.directive.ts.template +1 -1
  20. package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu-item-radio.directive.ts.template +1 -1
  21. package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu-item.directive.ts.template +1 -1
  22. package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu.component.ts.template +1 -1
  23. package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-sub-menu.component.ts.template +1 -1
  24. package/src/generators/ui/libs/ui-pagination-helm/files/lib/hlm-numbered-pagination-query-params.component.ts.template +10 -10
  25. package/src/generators/ui/libs/ui-pagination-helm/files/lib/hlm-numbered-pagination.component.ts.template +11 -11
  26. package/src/generators/ui/libs/ui-pagination-helm/files/lib/hlm-pagination-next.component.ts.template +2 -2
  27. package/src/generators/ui/libs/ui-pagination-helm/files/lib/hlm-pagination-previous.component.ts.template +2 -2
  28. package/src/generators/ui/libs/ui-popover-helm/files/lib/hlm-popover-close.directive.ts.template +1 -1
  29. package/src/generators/ui/libs/ui-popover-helm/files/lib/hlm-popover-content.directive.ts.template +1 -1
  30. package/src/generators/ui/libs/ui-progress-helm/files/lib/hlm-progress-indicator.directive.ts.template +4 -4
  31. package/src/generators/ui/libs/ui-radio-group-helm/files/lib/hlm-radio-indicator.component.ts.template +1 -1
  32. package/src/generators/ui/libs/ui-radio-group-helm/files/lib/hlm-radio.component.ts.template +4 -4
  33. package/src/generators/ui/libs/ui-select-helm/files/lib/hlm-select-label.directive.ts.template +1 -1
  34. package/src/generators/ui/libs/ui-select-helm/files/lib/hlm-select-trigger.component.ts.template +5 -5
  35. package/src/generators/ui/libs/ui-sheet-helm/files/lib/hlm-sheet-close.directive.ts.template +1 -1
  36. package/src/generators/ui/libs/ui-sheet-helm/files/lib/hlm-sheet-content.component.ts.template +3 -1
  37. package/src/generators/ui/libs/ui-sheet-helm/files/lib/hlm-sheet-description.directive.ts.template +1 -1
  38. package/src/generators/ui/libs/ui-sheet-helm/files/lib/hlm-sheet-overlay.directive.ts.template +1 -1
  39. package/src/generators/ui/libs/ui-sheet-helm/files/lib/hlm-sheet-title.directive.ts.template +1 -1
  40. package/src/generators/ui/libs/ui-slider-helm/files/lib/hlm-slider.component.ts.template +3 -3
  41. package/src/generators/ui/libs/ui-spinner-helm/files/lib/hlm-spinner.component.ts.template +1 -1
  42. package/src/generators/ui/libs/ui-tabs-helm/files/lib/hlm-tabs-content.directive.ts.template +1 -1
  43. package/src/generators/ui/libs/ui-tabs-helm/files/lib/hlm-tabs-list.component.ts.template +3 -1
  44. package/src/generators/ui/libs/ui-tabs-helm/files/lib/hlm-tabs-paginated-list.component.ts.template +13 -13
  45. package/src/generators/ui/libs/ui-typography-helm/files/lib/hlm-h4.directive.ts.template +1 -1
  46. package/src/generators/ui/supported-ui-libraries.json +40 -40
@@ -28,13 +28,13 @@ import { HlmPaginationDirective } from './hlm-pagination.directive';
28
28
  <div class="flex items-center gap-1 text-nowrap text-sm text-gray-600">
29
29
  <b>{{ totalItems() }}</b>
30
30
  total items |
31
- <b>{{ pages().length }}</b>
31
+ <b>{{ _pages().length }}</b>
32
32
  pages
33
33
  </div>
34
34
 
35
35
  <nav hlmPagination>
36
36
  <ul hlmPaginationContent>
37
- @if (showEdges() && !isFirstPageActive()) {
37
+ @if (showEdges() && !_isFirstPageActive()) {
38
38
  <li hlmPaginationItem>
39
39
  <hlm-pagination-previous
40
40
  [link]="link()"
@@ -44,7 +44,7 @@ import { HlmPaginationDirective } from './hlm-pagination.directive';
44
44
  </li>
45
45
  }
46
46
 
47
- @for (page of pages(); track page) {
47
+ @for (page of _pages(); track page) {
48
48
  <li hlmPaginationItem>
49
49
  @if (page === '...') {
50
50
  <hlm-pagination-ellipsis />
@@ -62,7 +62,7 @@ import { HlmPaginationDirective } from './hlm-pagination.directive';
62
62
  </li>
63
63
  }
64
64
 
65
- @if (showEdges() && !isLastPageActive()) {
65
+ @if (showEdges() && !_isLastPageActive()) {
66
66
  <li hlmPaginationItem>
67
67
  <hlm-pagination-next
68
68
  [link]="link()"
@@ -80,7 +80,7 @@ import { HlmPaginationDirective } from './hlm-pagination.directive';
80
80
  <hlm-select-value />
81
81
  </hlm-select-trigger>
82
82
  <hlm-select-content>
83
- @for (pageSize of pageSizesWithCurrent(); track pageSize) {
83
+ @for (pageSize of _pageSizesWithCurrent(); track pageSize) {
84
84
  <hlm-option [value]="pageSize">{{ pageSize }} / page</hlm-option>
85
85
  }
86
86
  </hlm-select-content>
@@ -147,17 +147,17 @@ export class HlmNumberedPaginationQueryParamsComponent {
147
147
  */
148
148
  public readonly pageSizes = input<number[]>([10, 20, 50, 100]);
149
149
 
150
- protected readonly pageSizesWithCurrent = computed(() => {
150
+ protected readonly _pageSizesWithCurrent = computed(() => {
151
151
  const pageSizes = this.pageSizes();
152
152
  return pageSizes.includes(this.itemsPerPage())
153
153
  ? pageSizes // if current page size is included, return the same array
154
154
  : [...pageSizes, this.itemsPerPage()].sort((a, b) => a - b); // otherwise, add current page size and sort the array
155
155
  });
156
156
 
157
- protected readonly isFirstPageActive = computed(() => this.currentPage() === 1);
158
- protected readonly isLastPageActive = computed(() => this.currentPage() === this.lastPageNumber());
157
+ protected readonly _isFirstPageActive = computed(() => this.currentPage() === 1);
158
+ protected readonly _isLastPageActive = computed(() => this.currentPage() === this._lastPageNumber());
159
159
 
160
- protected readonly lastPageNumber = computed(() => {
160
+ protected readonly _lastPageNumber = computed(() => {
161
161
  if (this.totalItems() < 1) {
162
162
  // when there are 0 or fewer (an error case) items, there are no "pages" as such,
163
163
  // but it makes sense to consider a single, empty page as the last page.
@@ -166,7 +166,7 @@ export class HlmNumberedPaginationQueryParamsComponent {
166
166
  return Math.ceil(this.totalItems() / this.itemsPerPage());
167
167
  });
168
168
 
169
- protected readonly pages = computed(() => {
169
+ protected readonly _pages = computed(() => {
170
170
  const correctedCurrentPage = outOfBoundCorrection(this.totalItems(), this.itemsPerPage(), this.currentPage());
171
171
 
172
172
  if (correctedCurrentPage !== this.currentPage()) {
@@ -27,19 +27,19 @@ import { HlmPaginationDirective } from './hlm-pagination.directive';
27
27
  <div class="flex items-center gap-1 text-nowrap text-sm text-gray-600">
28
28
  <b>{{ totalItems() }}</b>
29
29
  total items |
30
- <b>{{ pages().length }}</b>
30
+ <b>{{ _pages().length }}</b>
31
31
  pages
32
32
  </div>
33
33
 
34
34
  <nav hlmPagination>
35
35
  <ul hlmPaginationContent>
36
- @if (showEdges() && !isFirstPageActive()) {
36
+ @if (showEdges() && !_isFirstPageActive()) {
37
37
  <li hlmPaginationItem (click)="goToPrevious()">
38
38
  <hlm-pagination-previous />
39
39
  </li>
40
40
  }
41
41
 
42
- @for (page of pages(); track page) {
42
+ @for (page of _pages(); track page) {
43
43
  <li hlmPaginationItem>
44
44
  @if (page === '...') {
45
45
  <hlm-pagination-ellipsis />
@@ -51,7 +51,7 @@ import { HlmPaginationDirective } from './hlm-pagination.directive';
51
51
  </li>
52
52
  }
53
53
 
54
- @if (showEdges() && !isLastPageActive()) {
54
+ @if (showEdges() && !_isLastPageActive()) {
55
55
  <li hlmPaginationItem (click)="goToNext()">
56
56
  <hlm-pagination-next />
57
57
  </li>
@@ -65,7 +65,7 @@ import { HlmPaginationDirective } from './hlm-pagination.directive';
65
65
  <hlm-select-value />
66
66
  </hlm-select-trigger>
67
67
  <hlm-select-content>
68
- @for (pageSize of pageSizesWithCurrent(); track pageSize) {
68
+ @for (pageSize of _pageSizesWithCurrent(); track pageSize) {
69
69
  <hlm-option [value]="pageSize">{{ pageSize }} / page</hlm-option>
70
70
  }
71
71
  </hlm-select-content>
@@ -126,17 +126,17 @@ export class HlmNumberedPaginationComponent {
126
126
  */
127
127
  public readonly pageSizes = input<number[]>([10, 20, 50, 100]);
128
128
 
129
- protected readonly pageSizesWithCurrent = computed(() => {
129
+ protected readonly _pageSizesWithCurrent = computed(() => {
130
130
  const pageSizes = this.pageSizes();
131
131
  return pageSizes.includes(this.itemsPerPage())
132
132
  ? pageSizes // if current page size is included, return the same array
133
133
  : [...pageSizes, this.itemsPerPage()].sort((a, b) => a - b); // otherwise, add current page size and sort the array
134
134
  });
135
135
 
136
- protected readonly isFirstPageActive = computed(() => this.currentPage() === 1);
137
- protected readonly isLastPageActive = computed(() => this.currentPage() === this.lastPageNumber());
136
+ protected readonly _isFirstPageActive = computed(() => this.currentPage() === 1);
137
+ protected readonly _isLastPageActive = computed(() => this.currentPage() === this._lastPageNumber());
138
138
 
139
- protected readonly lastPageNumber = computed(() => {
139
+ protected readonly _lastPageNumber = computed(() => {
140
140
  if (this.totalItems() < 1) {
141
141
  // when there are 0 or fewer (an error case) items, there are no "pages" as such,
142
142
  // but it makes sense to consider a single, empty page as the last page.
@@ -145,7 +145,7 @@ export class HlmNumberedPaginationComponent {
145
145
  return Math.ceil(this.totalItems() / this.itemsPerPage());
146
146
  });
147
147
 
148
- protected readonly pages = computed(() => {
148
+ protected readonly _pages = computed(() => {
149
149
  const correctedCurrentPage = outOfBoundCorrection(this.totalItems(), this.itemsPerPage(), this.currentPage());
150
150
 
151
151
  if (correctedCurrentPage !== this.currentPage()) {
@@ -169,7 +169,7 @@ export class HlmNumberedPaginationComponent {
169
169
  }
170
170
 
171
171
  protected goToLast(): void {
172
- this.currentPage.set(this.lastPageNumber());
172
+ this.currentPage.set(this._lastPageNumber());
173
173
  }
174
174
  }
175
175
 
@@ -20,7 +20,7 @@ import { HlmPaginationLinkDirective } from './hlm-pagination-link.directive';
20
20
  [link]="link()"
21
21
  [queryParams]="queryParams()"
22
22
  [queryParamsHandling]="queryParamsHandling()"
23
- [size]="size()"
23
+ [size]="_size()"
24
24
  [attr.aria-label]="ariaLabel()"
25
25
  >
26
26
  <span [class]="_labelClass()">{{ text() }}</span>
@@ -48,7 +48,7 @@ export class HlmPaginationNextComponent {
48
48
  });
49
49
  protected readonly _labelClass = computed(() => (this.iconOnly() ? 'sr-only' : 'hidden sm:block'));
50
50
 
51
- protected readonly size = computed<ButtonVariants['size']>(() => (this.iconOnly() ? 'icon' : 'default'));
51
+ protected readonly _size = computed<ButtonVariants['size']>(() => (this.iconOnly() ? 'icon' : 'default'));
52
52
 
53
53
  protected readonly _computedClass = computed(() =>
54
54
  hlm('gap-1', !this.iconOnly() ? 'sm:pr-2.5' : '', this.userClass()),
@@ -20,7 +20,7 @@ import { HlmPaginationLinkDirective } from './hlm-pagination-link.directive';
20
20
  [link]="link()"
21
21
  [queryParams]="queryParams()"
22
22
  [queryParamsHandling]="queryParamsHandling()"
23
- [size]="size()"
23
+ [size]="_size()"
24
24
  [attr.aria-label]="ariaLabel()"
25
25
  >
26
26
  <ng-icon hlm size="sm" name="lucideChevronLeft" />
@@ -48,7 +48,7 @@ export class HlmPaginationPreviousComponent {
48
48
  });
49
49
  protected readonly _labelClass = computed(() => (this.iconOnly() ? 'sr-only' : 'hidden sm:block'));
50
50
 
51
- protected readonly size = computed<ButtonVariants['size']>(() => (this.iconOnly() ? 'icon' : 'default'));
51
+ protected readonly _size = computed<ButtonVariants['size']>(() => (this.iconOnly() ? 'icon' : 'default'));
52
52
 
53
53
  protected readonly _computedClass = computed(() =>
54
54
  hlm('gap-1', !this.iconOnly() ? 'sm:pl-2.5' : '', this.userClass()),
@@ -10,7 +10,7 @@ import type { ClassValue } from 'clsx';
10
10
  })
11
11
  export class HlmPopoverCloseDirective {
12
12
  public readonly userClass = input<ClassValue>('', { alias: 'class' });
13
- protected _computedClass = computed(() =>
13
+ protected readonly _computedClass = computed(() =>
14
14
  hlm(
15
15
  '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',
16
16
  this.userClass(),
@@ -21,7 +21,7 @@ export class HlmPopoverContentDirective {
21
21
  }
22
22
 
23
23
  public readonly userClass = input<ClassValue>('', { alias: 'class' });
24
- protected _computedClass = computed(() =>
24
+ protected readonly _computedClass = computed(() =>
25
25
  hlm(
26
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
27
  this.userClass(),
@@ -7,8 +7,8 @@ import type { ClassValue } from 'clsx';
7
7
  selector: '[hlmProgressIndicator],brn-progress-indicator[hlm]',
8
8
  host: {
9
9
  '[class]': '_computedClass()',
10
- '[class.animate-indeterminate]': 'indeterminate()',
11
- '[style.transform]': 'transform()',
10
+ '[class.animate-indeterminate]': '_indeterminate()',
11
+ '[style.transform]': '_transform()',
12
12
  },
13
13
  })
14
14
  export class HlmProgressIndicatorDirective {
@@ -19,9 +19,9 @@ export class HlmProgressIndicatorDirective {
19
19
  hlm('bg-primary h-full w-full flex-1 transition-all', this.userClass()),
20
20
  );
21
21
 
22
- protected readonly transform = computed(() => `translateX(-${100 - (this._progress.value() ?? 100)}%)`);
22
+ protected readonly _transform = computed(() => `translateX(-${100 - (this._progress.value() ?? 100)}%)`);
23
23
 
24
- protected readonly indeterminate = computed(
24
+ protected readonly _indeterminate = computed(
25
25
  () => this._progress.value() === null || this._progress.value() === undefined,
26
26
  );
27
27
  }
@@ -14,7 +14,7 @@ import type { ClassValue } from 'clsx';
14
14
  })
15
15
  export class HlmRadioIndicatorComponent {
16
16
  public readonly userClass = input<ClassValue>('', { alias: 'class' });
17
- protected _computedClass = computed(() =>
17
+ protected readonly _computedClass = computed(() =>
18
18
  hlm(
19
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',
20
20
  this.userClass(),
@@ -42,7 +42,7 @@ import { ClassValue } from 'clsx';
42
42
  '[attr.aria-label]': 'null',
43
43
  '[attr.aria-labelledby]': 'null',
44
44
  '[attr.aria-describedby]': 'null',
45
- '[attr.data-disabled]': 'state().disabled() ? "" : null',
45
+ '[attr.data-disabled]': '_state().disabled() ? "" : null',
46
46
  },
47
47
  })
48
48
  export class HlmRadioComponent<T = unknown> {
@@ -56,7 +56,7 @@ export class HlmRadioComponent<T = unknown> {
56
56
  hlm(
57
57
  'group flex items-center gap-x-3',
58
58
  this.userClass(),
59
- this.state().disabled() ? 'cursor-not-allowed opacity-50' : '',
59
+ this._state().disabled() ? 'cursor-not-allowed opacity-50' : '',
60
60
  ),
61
61
  );
62
62
 
@@ -83,7 +83,7 @@ export class HlmRadioComponent<T = unknown> {
83
83
  /** Whether the checkbox is disabled. */
84
84
  public readonly disabled = input(false, { transform: booleanAttribute });
85
85
 
86
- protected readonly state = computed(() => {
86
+ protected readonly _state = computed(() => {
87
87
  const id = this.id();
88
88
  return {
89
89
  disabled: signal(this.disabled()),
@@ -98,7 +98,7 @@ export class HlmRadioComponent<T = unknown> {
98
98
 
99
99
  constructor() {
100
100
  effect(() => {
101
- const state = this.state();
101
+ const state = this._state();
102
102
  const isDisabled = state.disabled();
103
103
 
104
104
  if (!this._elementRef.nativeElement || !this._isBrowser) return;
@@ -15,7 +15,7 @@ export class HlmSelectLabelDirective {
15
15
  private readonly _selectContent = inject(HlmSelectContentDirective);
16
16
  private readonly _stickyLabels = computed(() => this._selectContent.stickyLabels());
17
17
  public readonly userClass = input<ClassValue>('', { alias: 'class' });
18
- protected _computedClass = computed(() =>
18
+ protected readonly _computedClass = computed(() =>
19
19
  hlm(
20
20
  'text-muted-foreground px-2 py-1.5 text-xs',
21
21
  this._stickyLabels() ? 'sticky top-0 bg-popover block z-[2]' : '',
@@ -29,7 +29,7 @@ export const selectTriggerVariants = cva(
29
29
  template: `
30
30
  <button [class]="_computedClass()" #button hlmInput brnSelectTrigger type="button" [attr.data-size]="size()">
31
31
  <ng-content />
32
- @if (icon()) {
32
+ @if (_icon()) {
33
33
  <ng-content select="ng-icon" />
34
34
  } @else {
35
35
  <ng-icon hlm size="sm" class="ml-2 flex-none" name="lucideChevronDown" />
@@ -39,15 +39,15 @@ export const selectTriggerVariants = cva(
39
39
  changeDetection: ChangeDetectionStrategy.OnPush,
40
40
  })
41
41
  export class HlmSelectTriggerComponent {
42
- protected readonly icon = contentChild(HlmIconDirective);
42
+ protected readonly _icon = contentChild(HlmIconDirective);
43
43
 
44
- protected readonly brnSelect = inject(BrnSelectComponent, { optional: true });
44
+ protected readonly _brnSelect = inject(BrnSelectComponent, { optional: true });
45
45
 
46
46
  public readonly userClass = input<ClassValue>('', { alias: 'class' });
47
47
 
48
48
  public readonly size = input<'default' | 'sm'>('default');
49
49
 
50
- protected _computedClass = computed(() =>
51
- hlm(selectTriggerVariants({ error: this.brnSelect?.errorState() }), this.userClass()),
50
+ protected readonly _computedClass = computed(() =>
51
+ hlm(selectTriggerVariants({ error: this._brnSelect?.errorState() }), this.userClass()),
52
52
  );
53
53
  }
@@ -10,7 +10,7 @@ import type { ClassValue } from 'clsx';
10
10
  })
11
11
  export class HlmSheetCloseDirective {
12
12
  public readonly userClass = input<ClassValue>('', { alias: 'class' });
13
- protected _computedClass = computed(() =>
13
+ protected readonly _computedClass = computed(() =>
14
14
  hlm(
15
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',
16
16
  this.userClass(),
@@ -68,5 +68,7 @@ export class HlmSheetContentComponent {
68
68
  }
69
69
 
70
70
  public readonly userClass = input<ClassValue>('', { alias: 'class' });
71
- protected _computedClass = computed(() => hlm(sheetVariants({ side: this._sideProvider.side() }), this.userClass()));
71
+ protected readonly _computedClass = computed(() =>
72
+ hlm(sheetVariants({ side: this._sideProvider.side() }), this.userClass()),
73
+ );
72
74
  }
@@ -12,5 +12,5 @@ import type { ClassValue } from 'clsx';
12
12
  })
13
13
  export class HlmSheetDescriptionDirective {
14
14
  public readonly userClass = input<ClassValue>('', { alias: 'class' });
15
- protected _computedClass = computed(() => hlm('text-muted-foreground text-sm', this.userClass()));
15
+ protected readonly _computedClass = computed(() => hlm('text-muted-foreground text-sm', this.userClass()));
16
16
  }
@@ -11,7 +11,7 @@ import type { ClassValue } from 'clsx';
11
11
  export class HlmSheetOverlayDirective {
12
12
  private readonly _classSettable = injectCustomClassSettable({ optional: true, host: true });
13
13
  public readonly userClass = input<ClassValue>('', { alias: 'class' });
14
- protected _computedClass = computed(() =>
14
+ protected readonly _computedClass = computed(() =>
15
15
  hlm(
16
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
17
  this.userClass(),
@@ -12,5 +12,5 @@ import type { ClassValue } from 'clsx';
12
12
  })
13
13
  export class HlmSheetTitleDirective {
14
14
  public readonly userClass = input<ClassValue>('', { alias: 'class' });
15
- protected _computedClass = computed(() => hlm('text-foreground font-semibold', this.userClass()));
15
+ protected readonly _computedClass = computed(() => hlm('text-foreground font-semibold', this.userClass()));
16
16
  }
@@ -25,7 +25,7 @@ import type { ClassValue } from 'clsx';
25
25
  <div class="bg-primary absolute h-full" brnSliderRange></div>
26
26
  </div>
27
27
 
28
- @if (slider.showTicks()) {
28
+ @if (_slider.showTicks()) {
29
29
  <div class="pointer-events-none absolute -inset-x-px top-2 h-1 w-full cursor-pointer transition-all">
30
30
  <div
31
31
  *brnSliderTick="let tick; let position = position"
@@ -48,12 +48,12 @@ import type { ClassValue } from 'clsx';
48
48
  imports: [BrnSliderThumbDirective, BrnSliderTrackDirective, BrnSliderRangeDirective, BrnSliderTickDirective],
49
49
  })
50
50
  export class HlmSliderComponent {
51
- protected readonly slider = injectBrnSlider();
51
+ protected readonly _slider = injectBrnSlider();
52
52
  public readonly userClass = input<ClassValue>('', { alias: 'class' });
53
53
  protected readonly _computedClass = computed(() =>
54
54
  hlm(
55
55
  'relative flex w-full touch-none select-none items-center',
56
- this.slider.disabled() ? 'opacity-40' : '',
56
+ this._slider.mutableDisabled() ? 'opacity-40' : '',
57
57
  this.userClass(),
58
58
  ),
59
59
  );
@@ -31,7 +31,7 @@ import type { ClassValue } from 'clsx';
31
31
  })
32
32
  export class HlmSpinnerComponent {
33
33
  public readonly userClass = input<ClassValue>('size-8', { alias: 'class' });
34
- protected _computedClass = computed(() =>
34
+ protected readonly _computedClass = computed(() =>
35
35
  hlm('inline-block [&>svg]:text-foreground/30 [&>svg]:fill-accent', this.userClass()),
36
36
  );
37
37
  }
@@ -14,7 +14,7 @@ export class HlmTabsContentDirective {
14
14
  public readonly contentFor = input.required<string>({ alias: 'hlmTabsContent' });
15
15
 
16
16
  public readonly userClass = input<ClassValue>('', { alias: 'class' });
17
- protected _computedClass = computed(() =>
17
+ protected readonly _computedClass = computed(() =>
18
18
  hlm(
19
19
  'mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',
20
20
  this.userClass(),
@@ -33,5 +33,7 @@ export class HlmTabsListComponent {
33
33
  public readonly orientation = input<ListVariants['orientation']>('horizontal');
34
34
 
35
35
  public readonly userClass = input<ClassValue>('', { alias: 'class' });
36
- protected _computedClass = computed(() => hlm(listVariants({ orientation: this.orientation() }), this.userClass()));
36
+ protected readonly _computedClass = computed(() =>
37
+ hlm(listVariants({ orientation: this.orientation() }), this.userClass()),
38
+ );
37
39
  }
@@ -34,10 +34,10 @@ import { listVariants } from './hlm-tabs-list.component';
34
34
  type="button"
35
35
  aria-hidden="true"
36
36
  tabindex="-1"
37
- [class.flex]="_showPaginationControls()"
38
- [class.hidden]="!_showPaginationControls()"
37
+ [class.flex]="showPaginationControls()"
38
+ [class.hidden]="!showPaginationControls()"
39
39
  [class]="_paginationButtonClass()"
40
- [disabled]="_disableScrollBefore || null"
40
+ [disabled]="disableScrollBefore || null"
41
41
  (click)="_handlePaginatorClick('before')"
42
42
  (mousedown)="_handlePaginatorPress('before', $event)"
43
43
  (touchend)="_stopInterval()"
@@ -59,10 +59,10 @@ import { listVariants } from './hlm-tabs-list.component';
59
59
  type="button"
60
60
  aria-hidden="true"
61
61
  tabindex="-1"
62
- [class.flex]="_showPaginationControls()"
63
- [class.hidden]="!_showPaginationControls()"
62
+ [class.flex]="showPaginationControls()"
63
+ [class.hidden]="!showPaginationControls()"
64
64
  [class]="_paginationButtonClass()"
65
- [disabled]="_disableScrollAfter || null"
65
+ [disabled]="disableScrollAfter || null"
66
66
  (click)="_handlePaginatorClick('after')"
67
67
  (mousedown)="_handlePaginatorPress('after', $event)"
68
68
  (touchend)="_stopInterval()"
@@ -76,15 +76,15 @@ import { listVariants } from './hlm-tabs-list.component';
76
76
  changeDetection: ChangeDetectionStrategy.OnPush,
77
77
  })
78
78
  export class HlmTabsPaginatedListComponent extends BrnTabsPaginatedListDirective {
79
- public readonly _items = contentChildren(BrnTabsTriggerDirective, { descendants: false });
79
+ public readonly items = contentChildren(BrnTabsTriggerDirective, { descendants: false });
80
80
  /** Explicitly annotating type to avoid non-portable inferred type */
81
- public readonly _itemsChanges: Observable<ReadonlyArray<BrnPaginatedTabHeaderItem>> = toObservable(this._items);
81
+ public readonly itemsChanges: Observable<ReadonlyArray<BrnPaginatedTabHeaderItem>> = toObservable(this.items);
82
82
 
83
- public readonly _tabListContainer = viewChild.required<ElementRef<HTMLElement>>('tabListContainer');
84
- public readonly _tabList = viewChild.required<ElementRef<HTMLElement>>('tabList');
85
- public readonly _tabListInner = viewChild.required<ElementRef<HTMLElement>>('tabListInner');
86
- public readonly _nextPaginator = viewChild.required<ElementRef<HTMLElement>>('nextPaginator');
87
- public readonly _previousPaginator = viewChild.required<ElementRef<HTMLElement>>('previousPaginator');
83
+ public readonly tabListContainer = viewChild.required<ElementRef<HTMLElement>>('tabListContainer');
84
+ public readonly tabList = viewChild.required<ElementRef<HTMLElement>>('tabList');
85
+ public readonly tabListInner = viewChild.required<ElementRef<HTMLElement>>('tabListInner');
86
+ public readonly nextPaginator = viewChild.required<ElementRef<HTMLElement>>('nextPaginator');
87
+ public readonly previousPaginator = viewChild.required<ElementRef<HTMLElement>>('previousPaginator');
88
88
 
89
89
  public readonly userClass = input<ClassValue>('', { alias: 'class' });
90
90
  protected readonly _computedClass = computed(() =>
@@ -12,5 +12,5 @@ export const hlmH4 = 'scroll-m-20 text-xl font-semibold tracking-tight';
12
12
  })
13
13
  export class HlmH4Directive {
14
14
  public readonly userClass = input<ClassValue>('', { alias: 'class' });
15
- protected _computedClass = computed(() => hlm(hlmH4, this.userClass()));
15
+ protected readonly _computedClass = computed(() => hlm(hlmH4, this.userClass()));
16
16
  }