@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.
- package/package.json +1 -1
- package/src/generators/ui/libs/ui-accordion-helm/files/lib/hlm-accordion-trigger.directive.ts.template +1 -1
- package/src/generators/ui/libs/ui-avatar-helm/files/lib/hlm-avatar.component.ts.template +1 -1
- package/src/generators/ui/libs/ui-calendar-helm/files/lib/hlm-calendar-multi.component.ts.template +13 -13
- package/src/generators/ui/libs/ui-calendar-helm/files/lib/hlm-calendar.component.ts.template +13 -13
- package/src/generators/ui/libs/ui-carousel-helm/files/lib/hlm-carousel-content.component.ts.template +3 -3
- package/src/generators/ui/libs/ui-carousel-helm/files/lib/hlm-carousel-item.component.ts.template +3 -7
- package/src/generators/ui/libs/ui-carousel-helm/files/lib/hlm-carousel-slide-display.component.ts.template +9 -9
- package/src/generators/ui/libs/ui-carousel-helm/files/lib/hlm-carousel.component.ts.template +8 -8
- package/src/generators/ui/libs/ui-checkbox-helm/files/lib/hlm-checkbox.component.ts.template +6 -6
- package/src/generators/ui/libs/ui-command-helm/files/lib/hlm-command-dialog.directive.ts.template +1 -1
- package/src/generators/ui/libs/ui-date-picker-helm/files/lib/hlm-date-picker-multi.component.ts.template +12 -12
- package/src/generators/ui/libs/ui-date-picker-helm/files/lib/hlm-date-picker.component.ts.template +12 -12
- package/src/generators/ui/libs/ui-dialog-helm/files/lib/hlm-dialog-description.directive.ts.template +1 -1
- package/src/generators/ui/libs/ui-dialog-helm/files/lib/hlm-dialog-title.directive.ts.template +3 -1
- package/src/generators/ui/libs/ui-form-field-helm/files/lib/hlm-form-field.component.ts.template +2 -2
- package/src/generators/ui/libs/ui-input-helm/files/lib/hlm-input.directive.ts.template +3 -3
- package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu-bar-item.directive.ts.template +1 -1
- package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu-item-checkbox.directive.ts.template +1 -1
- package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu-item-radio.directive.ts.template +1 -1
- package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu-item.directive.ts.template +1 -1
- package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu.component.ts.template +1 -1
- package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-sub-menu.component.ts.template +1 -1
- package/src/generators/ui/libs/ui-pagination-helm/files/lib/hlm-numbered-pagination-query-params.component.ts.template +10 -10
- package/src/generators/ui/libs/ui-pagination-helm/files/lib/hlm-numbered-pagination.component.ts.template +11 -11
- package/src/generators/ui/libs/ui-pagination-helm/files/lib/hlm-pagination-next.component.ts.template +2 -2
- package/src/generators/ui/libs/ui-pagination-helm/files/lib/hlm-pagination-previous.component.ts.template +2 -2
- package/src/generators/ui/libs/ui-popover-helm/files/lib/hlm-popover-close.directive.ts.template +1 -1
- package/src/generators/ui/libs/ui-popover-helm/files/lib/hlm-popover-content.directive.ts.template +1 -1
- package/src/generators/ui/libs/ui-progress-helm/files/lib/hlm-progress-indicator.directive.ts.template +4 -4
- package/src/generators/ui/libs/ui-radio-group-helm/files/lib/hlm-radio-indicator.component.ts.template +1 -1
- package/src/generators/ui/libs/ui-radio-group-helm/files/lib/hlm-radio.component.ts.template +4 -4
- package/src/generators/ui/libs/ui-select-helm/files/lib/hlm-select-label.directive.ts.template +1 -1
- package/src/generators/ui/libs/ui-select-helm/files/lib/hlm-select-trigger.component.ts.template +5 -5
- package/src/generators/ui/libs/ui-sheet-helm/files/lib/hlm-sheet-close.directive.ts.template +1 -1
- package/src/generators/ui/libs/ui-sheet-helm/files/lib/hlm-sheet-content.component.ts.template +3 -1
- package/src/generators/ui/libs/ui-sheet-helm/files/lib/hlm-sheet-description.directive.ts.template +1 -1
- package/src/generators/ui/libs/ui-sheet-helm/files/lib/hlm-sheet-overlay.directive.ts.template +1 -1
- package/src/generators/ui/libs/ui-sheet-helm/files/lib/hlm-sheet-title.directive.ts.template +1 -1
- package/src/generators/ui/libs/ui-slider-helm/files/lib/hlm-slider.component.ts.template +3 -3
- package/src/generators/ui/libs/ui-spinner-helm/files/lib/hlm-spinner.component.ts.template +1 -1
- package/src/generators/ui/libs/ui-tabs-helm/files/lib/hlm-tabs-content.directive.ts.template +1 -1
- package/src/generators/ui/libs/ui-tabs-helm/files/lib/hlm-tabs-list.component.ts.template +3 -1
- package/src/generators/ui/libs/ui-tabs-helm/files/lib/hlm-tabs-paginated-list.component.ts.template +13 -13
- package/src/generators/ui/libs/ui-typography-helm/files/lib/hlm-h4.directive.ts.template +1 -1
- 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>{{
|
|
31
|
+
<b>{{ _pages().length }}</b>
|
|
32
32
|
pages
|
|
33
33
|
</div>
|
|
34
34
|
|
|
35
35
|
<nav hlmPagination>
|
|
36
36
|
<ul hlmPaginationContent>
|
|
37
|
-
@if (showEdges() && !
|
|
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
|
|
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() && !
|
|
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
|
|
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
|
|
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
|
|
158
|
-
protected readonly
|
|
157
|
+
protected readonly _isFirstPageActive = computed(() => this.currentPage() === 1);
|
|
158
|
+
protected readonly _isLastPageActive = computed(() => this.currentPage() === this._lastPageNumber());
|
|
159
159
|
|
|
160
|
-
protected readonly
|
|
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
|
|
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>{{
|
|
30
|
+
<b>{{ _pages().length }}</b>
|
|
31
31
|
pages
|
|
32
32
|
</div>
|
|
33
33
|
|
|
34
34
|
<nav hlmPagination>
|
|
35
35
|
<ul hlmPaginationContent>
|
|
36
|
-
@if (showEdges() && !
|
|
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
|
|
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() && !
|
|
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
|
|
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
|
|
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
|
|
137
|
-
protected readonly
|
|
136
|
+
protected readonly _isFirstPageActive = computed(() => this.currentPage() === 1);
|
|
137
|
+
protected readonly _isLastPageActive = computed(() => this.currentPage() === this._lastPageNumber());
|
|
138
138
|
|
|
139
|
-
protected readonly
|
|
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
|
|
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.
|
|
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]="
|
|
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
|
|
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]="
|
|
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
|
|
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()),
|
package/src/generators/ui/libs/ui-popover-helm/files/lib/hlm-popover-close.directive.ts.template
CHANGED
|
@@ -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(),
|
package/src/generators/ui/libs/ui-popover-helm/files/lib/hlm-popover-content.directive.ts.template
CHANGED
|
@@ -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]': '
|
|
11
|
-
'[style.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
|
|
22
|
+
protected readonly _transform = computed(() => `translateX(-${100 - (this._progress.value() ?? 100)}%)`);
|
|
23
23
|
|
|
24
|
-
protected readonly
|
|
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(),
|
package/src/generators/ui/libs/ui-radio-group-helm/files/lib/hlm-radio.component.ts.template
CHANGED
|
@@ -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]': '
|
|
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.
|
|
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
|
|
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.
|
|
101
|
+
const state = this._state();
|
|
102
102
|
const isDisabled = state.disabled();
|
|
103
103
|
|
|
104
104
|
if (!this._elementRef.nativeElement || !this._isBrowser) return;
|
package/src/generators/ui/libs/ui-select-helm/files/lib/hlm-select-label.directive.ts.template
CHANGED
|
@@ -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]' : '',
|
package/src/generators/ui/libs/ui-select-helm/files/lib/hlm-select-trigger.component.ts.template
CHANGED
|
@@ -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 (
|
|
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
|
|
42
|
+
protected readonly _icon = contentChild(HlmIconDirective);
|
|
43
43
|
|
|
44
|
-
protected readonly
|
|
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.
|
|
50
|
+
protected readonly _computedClass = computed(() =>
|
|
51
|
+
hlm(selectTriggerVariants({ error: this._brnSelect?.errorState() }), this.userClass()),
|
|
52
52
|
);
|
|
53
53
|
}
|
package/src/generators/ui/libs/ui-sheet-helm/files/lib/hlm-sheet-close.directive.ts.template
CHANGED
|
@@ -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(),
|
package/src/generators/ui/libs/ui-sheet-helm/files/lib/hlm-sheet-content.component.ts.template
CHANGED
|
@@ -68,5 +68,7 @@ export class HlmSheetContentComponent {
|
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
public readonly userClass = input<ClassValue>('', { alias: 'class' });
|
|
71
|
-
protected _computedClass = computed(() =>
|
|
71
|
+
protected readonly _computedClass = computed(() =>
|
|
72
|
+
hlm(sheetVariants({ side: this._sideProvider.side() }), this.userClass()),
|
|
73
|
+
);
|
|
72
74
|
}
|
package/src/generators/ui/libs/ui-sheet-helm/files/lib/hlm-sheet-description.directive.ts.template
CHANGED
|
@@ -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
|
}
|
package/src/generators/ui/libs/ui-sheet-helm/files/lib/hlm-sheet-overlay.directive.ts.template
CHANGED
|
@@ -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(),
|
package/src/generators/ui/libs/ui-sheet-helm/files/lib/hlm-sheet-title.directive.ts.template
CHANGED
|
@@ -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 (
|
|
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
|
|
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.
|
|
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
|
}
|
package/src/generators/ui/libs/ui-tabs-helm/files/lib/hlm-tabs-content.directive.ts.template
CHANGED
|
@@ -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(() =>
|
|
36
|
+
protected readonly _computedClass = computed(() =>
|
|
37
|
+
hlm(listVariants({ orientation: this.orientation() }), this.userClass()),
|
|
38
|
+
);
|
|
37
39
|
}
|
package/src/generators/ui/libs/ui-tabs-helm/files/lib/hlm-tabs-paginated-list.component.ts.template
CHANGED
|
@@ -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]="
|
|
38
|
-
[class.hidden]="!
|
|
37
|
+
[class.flex]="showPaginationControls()"
|
|
38
|
+
[class.hidden]="!showPaginationControls()"
|
|
39
39
|
[class]="_paginationButtonClass()"
|
|
40
|
-
[disabled]="
|
|
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]="
|
|
63
|
-
[class.hidden]="!
|
|
62
|
+
[class.flex]="showPaginationControls()"
|
|
63
|
+
[class.hidden]="!showPaginationControls()"
|
|
64
64
|
[class]="_paginationButtonClass()"
|
|
65
|
-
[disabled]="
|
|
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
|
|
79
|
+
public readonly items = contentChildren(BrnTabsTriggerDirective, { descendants: false });
|
|
80
80
|
/** Explicitly annotating type to avoid non-portable inferred type */
|
|
81
|
-
public readonly
|
|
81
|
+
public readonly itemsChanges: Observable<ReadonlyArray<BrnPaginatedTabHeaderItem>> = toObservable(this.items);
|
|
82
82
|
|
|
83
|
-
public readonly
|
|
84
|
-
public readonly
|
|
85
|
-
public readonly
|
|
86
|
-
public readonly
|
|
87
|
-
public readonly
|
|
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
|
}
|