@spartan-ng/cli 0.0.1-alpha.533 → 0.0.1-alpha.535
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/base/generator.js +1 -1
- package/src/generators/base/generator.js.map +1 -1
- package/src/generators/base/lib/build-dependency-array.d.ts +3 -3
- package/src/generators/base/lib/build-dependency-array.js +4 -3
- package/src/generators/base/lib/build-dependency-array.js.map +1 -1
- package/src/generators/base/versions.d.ts +4 -5
- package/src/generators/base/versions.js +5 -6
- package/src/generators/base/versions.js.map +1 -1
- package/src/generators/theme/__snapshots__/generator.spec.ts.snap +142 -376
- package/src/generators/theme/generator.js +1 -1
- package/src/generators/theme/generator.js.map +1 -1
- package/src/generators/theme/libs/add-theme-to-application-styles.d.ts +1 -1
- package/src/generators/theme/libs/add-theme-to-application-styles.js +19 -14
- package/src/generators/theme/libs/add-theme-to-application-styles.js.map +1 -1
- package/src/generators/theme/libs/colors.d.ts +5 -10
- package/src/generators/theme/libs/colors.js +322 -195
- package/src/generators/theme/libs/colors.js.map +1 -1
- package/src/generators/ui/libs/ui-accordion-helm/files/lib/hlm-accordion-content.ts.template +11 -11
- package/src/generators/ui/libs/ui-accordion-helm/files/lib/hlm-accordion-item.ts.template +1 -0
- package/src/generators/ui/libs/ui-accordion-helm/files/lib/hlm-accordion-trigger.ts.template +1 -1
- package/src/generators/ui/libs/ui-autocomplete-helm/files/lib/hlm-autocomplete-item.ts.template +1 -1
- package/src/generators/ui/libs/ui-autocomplete-helm/files/lib/hlm-autocomplete-list.ts.template +1 -1
- package/src/generators/ui/libs/ui-autocomplete-helm/files/lib/hlm-autocomplete-search-input.ts.template +1 -1
- package/src/generators/ui/libs/ui-autocomplete-helm/files/lib/hlm-autocomplete-search.ts.template +1 -1
- package/src/generators/ui/libs/ui-autocomplete-helm/files/lib/hlm-autocomplete.ts.template +14 -27
- package/src/generators/ui/libs/ui-badge-helm/files/lib/hlm-badge.ts.template +1 -1
- package/src/generators/ui/libs/ui-breadcrumb-helm/files/lib/hlm-breadcrumb-list.ts.template +1 -1
- package/src/generators/ui/libs/ui-button-group-helm/files/lib/hlm-button-group-separator.ts.template +1 -1
- package/src/generators/ui/libs/ui-button-group-helm/files/lib/hlm-button-group-text.ts.template +1 -1
- package/src/generators/ui/libs/ui-button-helm/files/lib/hlm-button.ts.template +2 -2
- package/src/generators/ui/libs/ui-calendar-helm/files/lib/hlm-calendar-multi.ts.template +4 -35
- package/src/generators/ui/libs/ui-calendar-helm/files/lib/hlm-calendar-range.ts.template +4 -35
- package/src/generators/ui/libs/ui-calendar-helm/files/lib/hlm-calendar.ts.template +4 -38
- package/src/generators/ui/libs/ui-card-helm/files/lib/hlm-card-footer.ts.template +1 -1
- package/src/generators/ui/libs/ui-card-helm/files/lib/hlm-card-header.ts.template +1 -1
- package/src/generators/ui/libs/ui-card-helm/files/lib/hlm-card-title.ts.template +1 -1
- package/src/generators/ui/libs/ui-carousel-helm/files/lib/hlm-carousel-next.ts.template +1 -1
- package/src/generators/ui/libs/ui-carousel-helm/files/lib/hlm-carousel-previous.ts.template +1 -1
- package/src/generators/ui/libs/ui-checkbox-helm/files/lib/hlm-checkbox.ts.template +27 -26
- package/src/generators/ui/libs/ui-command-helm/files/lib/hlm-command-dialog-close-button.ts.template +1 -1
- package/src/generators/ui/libs/ui-command-helm/files/lib/hlm-command-item.ts.template +1 -1
- package/src/generators/ui/libs/ui-command-helm/files/lib/hlm-command-list.ts.template +1 -1
- package/src/generators/ui/libs/ui-date-picker-helm/files/lib/hlm-date-picker-multi.ts.template +2 -2
- package/src/generators/ui/libs/ui-date-picker-helm/files/lib/hlm-date-picker.ts.template +2 -2
- package/src/generators/ui/libs/ui-date-picker-helm/files/lib/hlm-date-range-picker.ts.template +2 -2
- package/src/generators/ui/libs/ui-dialog-helm/files/lib/hlm-dialog-close.ts.template +1 -1
- package/src/generators/ui/libs/ui-dialog-helm/files/lib/hlm-dialog-title.ts.template +1 -1
- package/src/generators/ui/libs/ui-empty-helm/files/lib/hlm-empty-content.ts.template +1 -1
- package/src/generators/ui/libs/ui-empty-helm/files/lib/hlm-empty.ts.template +1 -1
- package/src/generators/ui/libs/ui-input-group-helm/files/lib/hlm-input-group-addon.ts.template +3 -3
- package/src/generators/ui/libs/ui-input-group-helm/files/lib/hlm-input-group-text.ts.template +1 -1
- package/src/generators/ui/libs/ui-input-group-helm/files/lib/hlm-input-group.ts.template +1 -1
- package/src/generators/ui/libs/ui-input-helm/files/lib/hlm-input.ts.template +1 -1
- package/src/generators/ui/libs/ui-input-otp-helm/files/lib/hlm-input-otp-slot.ts.template +1 -1
- package/src/generators/ui/libs/ui-input-otp-helm/files/lib/hlm-input-otp.ts.template +1 -1
- package/src/generators/ui/libs/ui-item-helm/files/index.ts.template +35 -0
- package/src/generators/ui/libs/ui-item-helm/files/lib/hlm-item-actions.ts.template +15 -0
- package/src/generators/ui/libs/ui-item-helm/files/lib/hlm-item-content.ts.template +17 -0
- package/src/generators/ui/libs/ui-item-helm/files/lib/hlm-item-description.ts.template +21 -0
- package/src/generators/ui/libs/ui-item-helm/files/lib/hlm-item-footer.ts.template +17 -0
- package/src/generators/ui/libs/ui-item-helm/files/lib/hlm-item-group.ts.template +12 -0
- package/src/generators/ui/libs/ui-item-helm/files/lib/hlm-item-header.ts.template +17 -0
- package/src/generators/ui/libs/ui-item-helm/files/lib/hlm-item-media.ts.template +41 -0
- package/src/generators/ui/libs/ui-item-helm/files/lib/hlm-item-separator.ts.template +15 -0
- package/src/generators/ui/libs/ui-item-helm/files/lib/hlm-item-title.ts.template +17 -0
- package/src/generators/ui/libs/ui-item-helm/files/lib/hlm-item-token.ts.template +41 -0
- package/src/generators/ui/libs/ui-item-helm/files/lib/hlm-item.ts.template +49 -0
- package/src/generators/ui/libs/ui-item-helm/generator.d.ts +3 -0
- package/src/generators/ui/libs/ui-item-helm/generator.js +14 -0
- package/src/generators/ui/libs/ui-item-helm/generator.js.map +1 -0
- package/src/generators/ui/libs/ui-kbd-helm/files/lib/hlm-kbd.ts.template +1 -1
- package/src/generators/ui/libs/ui-label-helm/files/lib/hlm-label.ts.template +1 -1
- package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu-bar-item.ts.template +1 -1
- package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu-bar.ts.template +1 -1
- package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu-item-checkbox.ts.template +1 -1
- package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu-item-radio.ts.template +1 -1
- package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu-item.ts.template +1 -1
- package/src/generators/ui/libs/ui-menu-helm/files/lib/hlm-menu.ts.template +1 -1
- package/src/generators/ui/libs/ui-pagination-helm/files/lib/hlm-numbered-pagination-query-params.ts.template +1 -1
- package/src/generators/ui/libs/ui-pagination-helm/files/lib/hlm-numbered-pagination.ts.template +1 -1
- package/src/generators/ui/libs/ui-popover-helm/files/lib/hlm-popover-close.ts.template +1 -1
- package/src/generators/ui/libs/ui-radio-group-helm/files/lib/hlm-radio-indicator.ts.template +1 -1
- package/src/generators/ui/libs/ui-select-helm/files/lib/hlm-select-option.ts.template +1 -1
- package/src/generators/ui/libs/ui-select-helm/files/lib/hlm-select-trigger.ts.template +1 -1
- package/src/generators/ui/libs/ui-separator-helm/files/lib/hlm-separator.ts.template +4 -6
- package/src/generators/ui/libs/ui-sheet-helm/files/lib/hlm-sheet-close.ts.template +1 -1
- package/src/generators/ui/libs/ui-sidebar-helm/files/lib/hlm-sidebar-group-action.ts.template +1 -1
- package/src/generators/ui/libs/ui-sidebar-helm/files/lib/hlm-sidebar-group-label.ts.template +1 -1
- package/src/generators/ui/libs/ui-sidebar-helm/files/lib/hlm-sidebar-menu-action.ts.template +1 -1
- package/src/generators/ui/libs/ui-sidebar-helm/files/lib/hlm-sidebar-menu-badge.ts.template +1 -1
- package/src/generators/ui/libs/ui-sidebar-helm/files/lib/hlm-sidebar-menu-button.ts.template +1 -1
- package/src/generators/ui/libs/ui-sidebar-helm/files/lib/hlm-sidebar-rail.ts.template +1 -1
- package/src/generators/ui/libs/ui-slider-helm/files/lib/hlm-slider.ts.template +2 -2
- package/src/generators/ui/libs/ui-switch-helm/files/lib/hlm-switch-thumb.ts.template +1 -1
- package/src/generators/ui/libs/ui-switch-helm/files/lib/hlm-switch.ts.template +1 -1
- package/src/generators/ui/libs/ui-tabs-helm/files/lib/hlm-tabs-content.ts.template +1 -1
- package/src/generators/ui/libs/ui-tabs-helm/files/lib/hlm-tabs-trigger.ts.template +1 -1
- package/src/generators/ui/libs/ui-textarea-helm/files/lib/hlm-textarea.ts.template +1 -1
- package/src/generators/ui/libs/ui-toggle-group-helm/files/lib/hlm-toggle-group.ts.template +1 -1
- package/src/generators/ui/libs/ui-toggle-group-helm/files/lib/hlm-toggle-item.ts.template +1 -1
- package/src/generators/ui/libs/ui-toggle-helm/files/lib/hlm-toggle.ts.template +1 -1
- package/src/generators/ui/primitive-deps.js +3 -2
- package/src/generators/ui/primitive-deps.js.map +1 -1
- package/src/generators/ui/primitives.d.ts +1 -1
- package/src/generators/ui/supported-ui-libraries.json +41 -32
- package/src/utils/get-tailwind-version.d.ts +2 -0
- package/src/utils/get-tailwind-version.js +18 -0
- package/src/utils/get-tailwind-version.js.map +1 -0
|
@@ -22,6 +22,6 @@ export class HlmCommandList {
|
|
|
22
22
|
|
|
23
23
|
/** The styles to apply */
|
|
24
24
|
protected readonly _computedClass = computed(() =>
|
|
25
|
-
hlm('max-h-[300px] overflow-
|
|
25
|
+
hlm('max-h-[300px] overflow-x-hidden overflow-y-auto', this.userClass()),
|
|
26
26
|
);
|
|
27
27
|
}
|
package/src/generators/ui/libs/ui-date-picker-helm/files/lib/hlm-date-picker-multi.ts.template
CHANGED
|
@@ -82,8 +82,8 @@ export class HlmDatePickerMulti<T> implements ControlValueAccessor {
|
|
|
82
82
|
public readonly userClass = input<ClassValue>('', { alias: 'class' });
|
|
83
83
|
protected readonly _computedClass = computed(() =>
|
|
84
84
|
hlm(
|
|
85
|
-
'ring-offset-background border-input bg-background hover:bg-accent dark:bg-input/30 dark:hover:bg-input/50 hover:text-accent-foreground inline-flex h-9 w-[280px] cursor-default items-center justify-between gap-2
|
|
86
|
-
'focus-visible:ring-ring focus-visible:
|
|
85
|
+
'ring-offset-background border-input bg-background hover:bg-accent dark:bg-input/30 dark:hover:bg-input/50 hover:text-accent-foreground inline-flex h-9 w-[280px] cursor-default items-center justify-between gap-2 rounded-md border px-3 py-2 text-left text-sm font-normal whitespace-nowrap transition-all disabled:pointer-events-none disabled:opacity-50',
|
|
86
|
+
'focus-visible:ring-ring focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none',
|
|
87
87
|
'disabled:pointer-events-none disabled:opacity-50',
|
|
88
88
|
'[&_ng-icon]:pointer-events-none [&_ng-icon]:shrink-0',
|
|
89
89
|
this.userClass(),
|
|
@@ -79,8 +79,8 @@ export class HlmDatePicker<T> implements ControlValueAccessor {
|
|
|
79
79
|
public readonly userClass = input<ClassValue>('', { alias: 'class' });
|
|
80
80
|
protected readonly _computedClass = computed(() =>
|
|
81
81
|
hlm(
|
|
82
|
-
'ring-offset-background border-input bg-background hover:bg-accent dark:bg-input/30 dark:hover:bg-input/50 hover:text-accent-foreground inline-flex h-9 w-[280px] cursor-default items-center justify-between gap-2
|
|
83
|
-
'focus-visible:ring-ring focus-visible:
|
|
82
|
+
'ring-offset-background border-input bg-background hover:bg-accent dark:bg-input/30 dark:hover:bg-input/50 hover:text-accent-foreground inline-flex h-9 w-[280px] cursor-default items-center justify-between gap-2 rounded-md border px-3 py-2 text-left text-sm font-normal whitespace-nowrap transition-all disabled:pointer-events-none disabled:opacity-50',
|
|
83
|
+
'focus-visible:ring-ring focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none',
|
|
84
84
|
'disabled:pointer-events-none disabled:opacity-50',
|
|
85
85
|
'[&_ng-icon]:pointer-events-none [&_ng-icon]:shrink-0',
|
|
86
86
|
this.userClass(),
|
package/src/generators/ui/libs/ui-date-picker-helm/files/lib/hlm-date-range-picker.ts.template
CHANGED
|
@@ -87,8 +87,8 @@ export class HlmDateRangePicker<T> implements ControlValueAccessor {
|
|
|
87
87
|
public readonly userClass = input<ClassValue>('', { alias: 'class' });
|
|
88
88
|
protected readonly _computedClass = computed(() =>
|
|
89
89
|
hlm(
|
|
90
|
-
'ring-offset-background border-input bg-background hover:bg-accent dark:bg-input/30 dark:hover:bg-input/50 hover:text-accent-foreground inline-flex h-9 w-[280px] cursor-default items-center justify-between gap-2
|
|
91
|
-
'focus-visible:ring-ring focus-visible:
|
|
90
|
+
'ring-offset-background border-input bg-background hover:bg-accent dark:bg-input/30 dark:hover:bg-input/50 hover:text-accent-foreground inline-flex h-9 w-[280px] cursor-default items-center justify-between gap-2 rounded-md border px-3 py-2 text-left text-sm font-normal whitespace-nowrap transition-all disabled:pointer-events-none disabled:opacity-50',
|
|
91
|
+
'focus-visible:ring-ring focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none',
|
|
92
92
|
'disabled:pointer-events-none disabled:opacity-50',
|
|
93
93
|
'[&_ng-icon]:pointer-events-none [&_ng-icon]:shrink-0',
|
|
94
94
|
this.userClass(),
|
|
@@ -13,7 +13,7 @@ export class HlmDialogClose {
|
|
|
13
13
|
|
|
14
14
|
protected readonly _computedClass = computed(() =>
|
|
15
15
|
hlm(
|
|
16
|
-
'ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground
|
|
16
|
+
'ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 flex items-center justify-center rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none [&_ng-icon]:shrink-0',
|
|
17
17
|
this.userClass(),
|
|
18
18
|
),
|
|
19
19
|
);
|
|
@@ -12,5 +12,5 @@ import type { ClassValue } from 'clsx';
|
|
|
12
12
|
})
|
|
13
13
|
export class HlmDialogTitle {
|
|
14
14
|
public readonly userClass = input<ClassValue>('', { alias: 'class' });
|
|
15
|
-
protected readonly _computedClass = computed(() => hlm('text-lg font-semibold
|
|
15
|
+
protected readonly _computedClass = computed(() => hlm('text-lg leading-none font-semibold', this.userClass()));
|
|
16
16
|
}
|
|
@@ -13,6 +13,6 @@ export class HlmEmptyContent {
|
|
|
13
13
|
public readonly userClass = input<ClassValue>('', { alias: 'class' });
|
|
14
14
|
|
|
15
15
|
protected readonly _computedClass = computed(() =>
|
|
16
|
-
hlm('text-balancet flex w-full
|
|
16
|
+
hlm('text-balancet flex w-full max-w-sm min-w-0 flex-col items-center gap-4 text-sm', this.userClass()),
|
|
17
17
|
);
|
|
18
18
|
}
|
|
@@ -14,7 +14,7 @@ export class HlmEmpty {
|
|
|
14
14
|
|
|
15
15
|
protected readonly _computedClass = computed(() =>
|
|
16
16
|
hlm(
|
|
17
|
-
'flex min-w-0 flex-1 flex-col items-center justify-center gap-6
|
|
17
|
+
'flex min-w-0 flex-1 flex-col items-center justify-center gap-6 rounded-lg border-dashed p-6 text-center text-balance md:p-12',
|
|
18
18
|
this.userClass(),
|
|
19
19
|
),
|
|
20
20
|
);
|
package/src/generators/ui/libs/ui-input-group-helm/files/lib/hlm-input-group-addon.ts.template
CHANGED
|
@@ -4,15 +4,15 @@ import { cva, type VariantProps } from 'class-variance-authority';
|
|
|
4
4
|
import type { ClassValue } from 'clsx';
|
|
5
5
|
|
|
6
6
|
const inputGroupAddonVariants = cva(
|
|
7
|
-
"text-muted-foreground flex h-auto cursor-text
|
|
7
|
+
"text-muted-foreground flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>ng-icon:not([class*='size-'])]:size-4",
|
|
8
8
|
{
|
|
9
9
|
variants: {
|
|
10
10
|
align: {
|
|
11
11
|
'inline-start': 'order-first pl-3 has-[>button]:ml-[-0.45rem] has-[>kbd]:ml-[-0.35rem]',
|
|
12
12
|
'inline-end': 'order-last pr-3 has-[>button]:mr-[-0.45rem] has-[>kbd]:mr-[-0.35rem]',
|
|
13
13
|
'block-start':
|
|
14
|
-
'
|
|
15
|
-
'block-end': '
|
|
14
|
+
'order-first w-full justify-start px-3 pt-3 group-has-[>input]/input-group:pt-2.5 [.border-b]:pb-3',
|
|
15
|
+
'block-end': 'order-last w-full justify-start px-3 pb-3 group-has-[>input]/input-group:pb-2.5 [.border-t]:pt-3',
|
|
16
16
|
},
|
|
17
17
|
},
|
|
18
18
|
defaultVariants: {
|
package/src/generators/ui/libs/ui-input-group-helm/files/lib/hlm-input-group-text.ts.template
CHANGED
|
@@ -13,7 +13,7 @@ export class HlmInputGroupText {
|
|
|
13
13
|
|
|
14
14
|
protected readonly _computedClass = computed(() =>
|
|
15
15
|
hlm(
|
|
16
|
-
`text-muted-foreground flex items-center gap-2 text-sm [&_ng-icon:not([class*='size-'])]:size-4
|
|
16
|
+
`text-muted-foreground flex items-center gap-2 text-sm [&_ng-icon]:pointer-events-none [&_ng-icon:not([class*='size-'])]:size-4`,
|
|
17
17
|
this.userClass(),
|
|
18
18
|
),
|
|
19
19
|
);
|
|
@@ -15,7 +15,7 @@ export class HlmInputGroup {
|
|
|
15
15
|
|
|
16
16
|
protected readonly _computedClass = computed(() =>
|
|
17
17
|
hlm(
|
|
18
|
-
'group/input-group border-input dark:bg-input/30
|
|
18
|
+
'group/input-group border-input dark:bg-input/30 relative flex w-full items-center rounded-md border shadow-xs transition-[color,box-shadow] outline-none',
|
|
19
19
|
'h-9 min-w-0 has-[>textarea]:h-auto',
|
|
20
20
|
// Variants based on alignment.
|
|
21
21
|
'has-[>[data-align=inline-start]]:[&>input]:pl-2',
|
|
@@ -19,7 +19,7 @@ import { cva, type VariantProps } from 'class-variance-authority';
|
|
|
19
19
|
import type { ClassValue } from 'clsx';
|
|
20
20
|
|
|
21
21
|
export const inputVariants = cva(
|
|
22
|
-
'file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input
|
|
22
|
+
'file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input focus-visible:border-ring focus-visible:ring-ring/50 flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:ring-[3px] disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',
|
|
23
23
|
{
|
|
24
24
|
variants: {
|
|
25
25
|
error: {
|
|
@@ -26,7 +26,7 @@ export class HlmInputOtpSlot {
|
|
|
26
26
|
|
|
27
27
|
protected readonly _computedClass = computed(() =>
|
|
28
28
|
hlm(
|
|
29
|
-
'dark:bg-input/30 border-input
|
|
29
|
+
'dark:bg-input/30 border-input relative flex h-9 w-9 items-center justify-center border-y border-r text-sm shadow-xs transition-all outline-none first:rounded-l-md first:border-l last:rounded-r-md',
|
|
30
30
|
'has-[brn-input-otp-slot[data-active="true"]]:border-ring has-[brn-input-otp-slot[data-active="true"]]:ring-ring/50 has-[brn-input-otp-slot[data-active="true"]]:z-10 has-[brn-input-otp-slot[data-active="true"]]:ring-[3px]',
|
|
31
31
|
this.userClass(),
|
|
32
32
|
),
|
|
@@ -12,6 +12,6 @@ export class HlmInputOtp {
|
|
|
12
12
|
public readonly userClass = input<ClassValue>('', { alias: 'class' });
|
|
13
13
|
|
|
14
14
|
protected readonly _computedClass = computed(() =>
|
|
15
|
-
hlm('
|
|
15
|
+
hlm('flex items-center gap-2 has-disabled:opacity-50', this.userClass()),
|
|
16
16
|
);
|
|
17
17
|
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { HlmItem } from './lib/hlm-item';
|
|
2
|
+
import { HlmItemActions } from './lib/hlm-item-actions';
|
|
3
|
+
import { HlmItemContent } from './lib/hlm-item-content';
|
|
4
|
+
import { HlmItemDescription } from './lib/hlm-item-description';
|
|
5
|
+
import { HlmItemFooter } from './lib/hlm-item-footer';
|
|
6
|
+
import { HlmItemGroup } from './lib/hlm-item-group';
|
|
7
|
+
import { HlmItemHeader } from './lib/hlm-item-header';
|
|
8
|
+
import { HlmItemMedia } from './lib/hlm-item-media';
|
|
9
|
+
import { HlmItemSeparator } from './lib/hlm-item-separator';
|
|
10
|
+
import { HlmItemTitle } from './lib/hlm-item-title';
|
|
11
|
+
|
|
12
|
+
export * from './lib/hlm-item';
|
|
13
|
+
export * from './lib/hlm-item-actions';
|
|
14
|
+
export * from './lib/hlm-item-content';
|
|
15
|
+
export * from './lib/hlm-item-description';
|
|
16
|
+
export * from './lib/hlm-item-footer';
|
|
17
|
+
export * from './lib/hlm-item-group';
|
|
18
|
+
export * from './lib/hlm-item-header';
|
|
19
|
+
export * from './lib/hlm-item-media';
|
|
20
|
+
export * from './lib/hlm-item-separator';
|
|
21
|
+
export * from './lib/hlm-item-title';
|
|
22
|
+
export * from './lib/hlm-item-token';
|
|
23
|
+
|
|
24
|
+
export const HlmItemImports = [
|
|
25
|
+
HlmItem,
|
|
26
|
+
HlmItemActions,
|
|
27
|
+
HlmItemContent,
|
|
28
|
+
HlmItemDescription,
|
|
29
|
+
HlmItemFooter,
|
|
30
|
+
HlmItemGroup,
|
|
31
|
+
HlmItemHeader,
|
|
32
|
+
HlmItemMedia,
|
|
33
|
+
HlmItemSeparator,
|
|
34
|
+
HlmItemTitle,
|
|
35
|
+
] as const;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { computed, Directive, input } from '@angular/core';
|
|
2
|
+
import { hlm } from '<%- importAlias %>/utils';
|
|
3
|
+
import type { ClassValue } from 'clsx';
|
|
4
|
+
|
|
5
|
+
@Directive({
|
|
6
|
+
selector: 'div[hlmItemActions]',
|
|
7
|
+
host: {
|
|
8
|
+
'data-slot': 'item-actions',
|
|
9
|
+
'[class]': '_computedClass()',
|
|
10
|
+
},
|
|
11
|
+
})
|
|
12
|
+
export class HlmItemActions {
|
|
13
|
+
public readonly userClass = input<ClassValue>('', { alias: 'class' });
|
|
14
|
+
protected readonly _computedClass = computed(() => hlm('flex items-center gap-2', this.userClass()));
|
|
15
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { computed, Directive, input } from '@angular/core';
|
|
2
|
+
import { hlm } from '<%- importAlias %>/utils';
|
|
3
|
+
import type { ClassValue } from 'clsx';
|
|
4
|
+
|
|
5
|
+
@Directive({
|
|
6
|
+
selector: 'div[hlmItemContent]',
|
|
7
|
+
host: {
|
|
8
|
+
'data-slot': 'item-content',
|
|
9
|
+
'[class]': '_computedClass()',
|
|
10
|
+
},
|
|
11
|
+
})
|
|
12
|
+
export class HlmItemContent {
|
|
13
|
+
public readonly userClass = input<ClassValue>('', { alias: 'class' });
|
|
14
|
+
protected readonly _computedClass = computed(() =>
|
|
15
|
+
hlm('flex flex-1 flex-col gap-1 [&+[data-slot=item-content]]:flex-none', this.userClass()),
|
|
16
|
+
);
|
|
17
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { computed, Directive, input } from '@angular/core';
|
|
2
|
+
import { hlm } from '<%- importAlias %>/utils';
|
|
3
|
+
import type { ClassValue } from 'clsx';
|
|
4
|
+
|
|
5
|
+
@Directive({
|
|
6
|
+
selector: 'p[hlmItemDescription]',
|
|
7
|
+
host: {
|
|
8
|
+
'data-slot': 'item-description',
|
|
9
|
+
'[class]': '_computedClass()',
|
|
10
|
+
},
|
|
11
|
+
})
|
|
12
|
+
export class HlmItemDescription {
|
|
13
|
+
public readonly userClass = input<ClassValue>('', { alias: 'class' });
|
|
14
|
+
protected readonly _computedClass = computed(() =>
|
|
15
|
+
hlm(
|
|
16
|
+
'text-muted-foreground line-clamp-2 text-sm leading-normal font-normal text-balance',
|
|
17
|
+
'[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4',
|
|
18
|
+
this.userClass(),
|
|
19
|
+
),
|
|
20
|
+
);
|
|
21
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { computed, Directive, input } from '@angular/core';
|
|
2
|
+
import { hlm } from '<%- importAlias %>/utils';
|
|
3
|
+
import type { ClassValue } from 'clsx';
|
|
4
|
+
|
|
5
|
+
@Directive({
|
|
6
|
+
selector: 'div[hlmItemFooter]',
|
|
7
|
+
host: {
|
|
8
|
+
'data-slot': 'item-footer',
|
|
9
|
+
'[class]': '_computedClass()',
|
|
10
|
+
},
|
|
11
|
+
})
|
|
12
|
+
export class HlmItemFooter {
|
|
13
|
+
public readonly userClass = input<ClassValue>('', { alias: 'class' });
|
|
14
|
+
protected readonly _computedClass = computed(() =>
|
|
15
|
+
hlm('flex basis-full items-center justify-between gap-2', this.userClass()),
|
|
16
|
+
);
|
|
17
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { computed, Directive, input } from '@angular/core';
|
|
2
|
+
import { hlm } from '<%- importAlias %>/utils';
|
|
3
|
+
import type { ClassValue } from 'clsx';
|
|
4
|
+
|
|
5
|
+
@Directive({
|
|
6
|
+
selector: 'div[hlmItemGroup]',
|
|
7
|
+
host: { 'data-slot': 'item-group', '[class]': '_computedClass()' },
|
|
8
|
+
})
|
|
9
|
+
export class HlmItemGroup {
|
|
10
|
+
public readonly userClass = input<ClassValue>('', { alias: 'class' });
|
|
11
|
+
protected readonly _computedClass = computed(() => hlm('group/item-group flex flex-col', this.userClass()));
|
|
12
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { computed, Directive, input } from '@angular/core';
|
|
2
|
+
import { hlm } from '<%- importAlias %>/utils';
|
|
3
|
+
import type { ClassValue } from 'clsx';
|
|
4
|
+
|
|
5
|
+
@Directive({
|
|
6
|
+
selector: 'div[hlmItemHeader]',
|
|
7
|
+
host: {
|
|
8
|
+
'data-slot': 'item-header',
|
|
9
|
+
'[class]': '_computedClass()',
|
|
10
|
+
},
|
|
11
|
+
})
|
|
12
|
+
export class HlmItemHeader {
|
|
13
|
+
public readonly userClass = input<ClassValue>('', { alias: 'class' });
|
|
14
|
+
protected readonly _computedClass = computed(() =>
|
|
15
|
+
hlm('flex basis-full items-center justify-between gap-2', this.userClass()),
|
|
16
|
+
);
|
|
17
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { computed, Directive, input } from '@angular/core';
|
|
2
|
+
import { hlm } from '<%- importAlias %>/utils';
|
|
3
|
+
import { cva, type VariantProps } from 'class-variance-authority';
|
|
4
|
+
import type { ClassValue } from 'clsx';
|
|
5
|
+
import { injectHlmItemMediaConfig } from './hlm-item-token';
|
|
6
|
+
|
|
7
|
+
const itemMediaVariants = cva(
|
|
8
|
+
'flex shrink-0 items-center justify-center gap-2 group-has-[[data-slot=item-description]]/item:translate-y-0.5 group-has-[[data-slot=item-description]]/item:self-start [&_ng-icon]:pointer-events-none',
|
|
9
|
+
{
|
|
10
|
+
variants: {
|
|
11
|
+
variant: {
|
|
12
|
+
default: 'bg-transparent',
|
|
13
|
+
icon: "bg-muted size-8 rounded-sm border [&_ng-icon:not([class*='size-'])]:size-4",
|
|
14
|
+
image: 'size-10 overflow-hidden rounded-sm [&_img]:size-full [&_img]:object-cover',
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
defaultVariants: {
|
|
18
|
+
variant: 'default',
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
);
|
|
22
|
+
export type ItemMediaVariants = VariantProps<typeof itemMediaVariants>;
|
|
23
|
+
|
|
24
|
+
@Directive({
|
|
25
|
+
selector: 'div[hlmItemMedia]',
|
|
26
|
+
host: {
|
|
27
|
+
'data-slot': 'item-media',
|
|
28
|
+
'[attr.data-variant]': 'variant()',
|
|
29
|
+
'[class]': '_computedClass()',
|
|
30
|
+
},
|
|
31
|
+
})
|
|
32
|
+
export class HlmItemMedia {
|
|
33
|
+
private readonly _config = injectHlmItemMediaConfig();
|
|
34
|
+
|
|
35
|
+
public readonly userClass = input<ClassValue>('', { alias: 'class' });
|
|
36
|
+
|
|
37
|
+
protected readonly _computedClass = computed(() =>
|
|
38
|
+
hlm(itemMediaVariants({ variant: this.variant() }), this.userClass()),
|
|
39
|
+
);
|
|
40
|
+
public readonly variant = input<ItemMediaVariants['variant']>(this._config.variant);
|
|
41
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { computed, Directive, input } from '@angular/core';
|
|
2
|
+
import { BrnSeparator } from '@spartan-ng/brain/separator';
|
|
3
|
+
import { hlmSeparatorClass } from '<%- importAlias %>/separator';
|
|
4
|
+
import { hlm } from '<%- importAlias %>/utils';
|
|
5
|
+
import type { ClassValue } from 'clsx';
|
|
6
|
+
|
|
7
|
+
@Directive({
|
|
8
|
+
selector: 'div[hlmItemSeparator]',
|
|
9
|
+
hostDirectives: [{ directive: BrnSeparator, inputs: ['orientation'] }],
|
|
10
|
+
host: { 'data-slot': 'item-separator', '[class]': '_computedClass()' },
|
|
11
|
+
})
|
|
12
|
+
export class HlmItemSeparator {
|
|
13
|
+
public readonly userClass = input<ClassValue>('', { alias: 'class' });
|
|
14
|
+
protected readonly _computedClass = computed(() => hlm(hlmSeparatorClass, 'my-0', this.userClass()));
|
|
15
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { computed, Directive, input } from '@angular/core';
|
|
2
|
+
import { hlm } from '<%- importAlias %>/utils';
|
|
3
|
+
import type { ClassValue } from 'clsx';
|
|
4
|
+
|
|
5
|
+
@Directive({
|
|
6
|
+
selector: 'div[hlmItemTitle]',
|
|
7
|
+
host: {
|
|
8
|
+
'data-slot': 'item-title',
|
|
9
|
+
'[class]': '_computedClass()',
|
|
10
|
+
},
|
|
11
|
+
})
|
|
12
|
+
export class HlmItemTitle {
|
|
13
|
+
public readonly userClass = input<ClassValue>('', { alias: 'class' });
|
|
14
|
+
protected readonly _computedClass = computed(() =>
|
|
15
|
+
hlm('flex w-fit items-center gap-2 text-sm leading-snug font-medium', this.userClass()),
|
|
16
|
+
);
|
|
17
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { InjectionToken, type ValueProvider, inject } from '@angular/core';
|
|
2
|
+
import type { ItemVariants } from './hlm-item';
|
|
3
|
+
import type { ItemMediaVariants } from './hlm-item-media';
|
|
4
|
+
|
|
5
|
+
export interface HlmItemConfig {
|
|
6
|
+
variant: ItemVariants['variant'];
|
|
7
|
+
size: ItemVariants['size'];
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const defaultConfig: HlmItemConfig = {
|
|
11
|
+
variant: 'default',
|
|
12
|
+
size: 'default',
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
const HlmItemConfigToken = new InjectionToken<HlmItemConfig>('HlmItemConfig');
|
|
16
|
+
|
|
17
|
+
export function provideHlmItemConfig(config: Partial<HlmItemConfig>): ValueProvider {
|
|
18
|
+
return { provide: HlmItemConfigToken, useValue: { ...defaultConfig, ...config } };
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export function injectHlmItemConfig(): HlmItemConfig {
|
|
22
|
+
return inject(HlmItemConfigToken, { optional: true }) ?? defaultConfig;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export interface HlmItemMediaConfig {
|
|
26
|
+
variant: ItemMediaVariants['variant'];
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const defaultMediaConfig: HlmItemMediaConfig = {
|
|
30
|
+
variant: 'default',
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
const HlmItemMediaConfigToken = new InjectionToken<HlmItemMediaConfig>('HlmItemMediaConfig');
|
|
34
|
+
|
|
35
|
+
export function provideHlmItemMediaConfig(config: Partial<HlmItemMediaConfig>): ValueProvider {
|
|
36
|
+
return { provide: HlmItemMediaConfigToken, useValue: { ...defaultMediaConfig, ...config } };
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export function injectHlmItemMediaConfig(): HlmItemMediaConfig {
|
|
40
|
+
return inject(HlmItemMediaConfigToken, { optional: true }) ?? defaultMediaConfig;
|
|
41
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { computed, Directive, input } from '@angular/core';
|
|
2
|
+
import { hlm } from '<%- importAlias %>/utils';
|
|
3
|
+
import { cva, type VariantProps } from 'class-variance-authority';
|
|
4
|
+
import type { ClassValue } from 'clsx';
|
|
5
|
+
import { injectHlmItemConfig } from './hlm-item-token';
|
|
6
|
+
|
|
7
|
+
const itemVariants = cva(
|
|
8
|
+
'group/item [a]:hover:bg-accent/50 focus-visible:border-ring focus-visible:ring-ring/50 flex flex-wrap items-center rounded-md border border-transparent text-sm transition-colors duration-100 outline-none focus-visible:ring-[3px] [a]:transition-colors',
|
|
9
|
+
{
|
|
10
|
+
variants: {
|
|
11
|
+
variant: {
|
|
12
|
+
default: 'bg-transparent',
|
|
13
|
+
outline: 'border-border',
|
|
14
|
+
muted: 'bg-muted/50',
|
|
15
|
+
},
|
|
16
|
+
size: {
|
|
17
|
+
default: 'gap-4 p-4',
|
|
18
|
+
sm: 'gap-2.5 px-4 py-3',
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
defaultVariants: {
|
|
22
|
+
variant: 'default',
|
|
23
|
+
size: 'default',
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
export type ItemVariants = VariantProps<typeof itemVariants>;
|
|
29
|
+
|
|
30
|
+
@Directive({
|
|
31
|
+
selector: 'div[hlmItem], a[hlmItem]',
|
|
32
|
+
host: {
|
|
33
|
+
'data-slot': 'item',
|
|
34
|
+
'[attr.data-variant]': 'variant()',
|
|
35
|
+
'[attr.data-size]': 'size()',
|
|
36
|
+
'[class]': '_computedClass()',
|
|
37
|
+
},
|
|
38
|
+
})
|
|
39
|
+
export class HlmItem {
|
|
40
|
+
private readonly _config = injectHlmItemConfig();
|
|
41
|
+
|
|
42
|
+
public readonly userClass = input<ClassValue>('', { alias: 'class' });
|
|
43
|
+
|
|
44
|
+
protected readonly _computedClass = computed(() =>
|
|
45
|
+
hlm(itemVariants({ variant: this.variant(), size: this.size() }), this.userClass()),
|
|
46
|
+
);
|
|
47
|
+
public readonly variant = input<ItemVariants['variant']>(this._config.variant);
|
|
48
|
+
public readonly size = input<ItemVariants['size']>(this._config.size);
|
|
49
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generator = generator;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const generator_1 = tslib_1.__importDefault(require("../../../base/generator"));
|
|
6
|
+
async function generator(tree, options) {
|
|
7
|
+
return await (0, generator_1.default)(tree, {
|
|
8
|
+
...options,
|
|
9
|
+
primitiveName: 'item',
|
|
10
|
+
internalName: 'ui-item-helm',
|
|
11
|
+
publicName: 'ui-item-helm',
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../../libs/cli/src/generators/ui/libs/ui-item-helm/generator.ts"],"names":[],"mappings":";;AAIA,8BAOC;;AAVD,gFAAuD;AAGhD,KAAK,UAAU,SAAS,CAAC,IAAU,EAAE,OAA+B;IAC1E,OAAO,MAAM,IAAA,mBAAgB,EAAC,IAAI,EAAE;QACnC,GAAG,OAAO;QACV,aAAa,EAAE,MAAM;QACrB,YAAY,EAAE,cAAc;QAC5B,UAAU,EAAE,cAAc;KAC1B,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -13,7 +13,7 @@ export class HlmKbd {
|
|
|
13
13
|
public readonly userClass = input<ClassValue>('', { alias: 'class' });
|
|
14
14
|
protected readonly _computedClass = computed(() =>
|
|
15
15
|
hlm(
|
|
16
|
-
'bg-muted text-muted-foreground pointer-events-none inline-flex h-5 w-fit min-w-5
|
|
16
|
+
'bg-muted text-muted-foreground pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm px-1 font-sans text-xs font-medium select-none',
|
|
17
17
|
"[&_ng-icon:not([class*='size-'])]:size-3",
|
|
18
18
|
'[[data-slot=tooltip-content]_&]:bg-background/20 [[data-slot=tooltip-content]_&]:text-background dark:[[data-slot=tooltip-content]_&]:bg-background/10',
|
|
19
19
|
this.userClass(),
|
|
@@ -20,7 +20,7 @@ export class HlmLabel {
|
|
|
20
20
|
|
|
21
21
|
protected readonly _computedClass = computed(() =>
|
|
22
22
|
hlm(
|
|
23
|
-
'flex
|
|
23
|
+
'flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50 peer-data-[disabled]:cursor-not-allowed peer-data-[disabled]:opacity-50 has-[[disabled]]:cursor-not-allowed has-[[disabled]]:opacity-50',
|
|
24
24
|
this.userClass(),
|
|
25
25
|
),
|
|
26
26
|
);
|
|
@@ -14,7 +14,7 @@ export class HlmMenuBarItem {
|
|
|
14
14
|
public readonly userClass = input<ClassValue>('', { alias: 'class' });
|
|
15
15
|
protected readonly _computedClass = computed(() =>
|
|
16
16
|
hlm(
|
|
17
|
-
'focus:bg-accent focus:text-accent-foreground aria-expanded:bg-accent aria-expanded:text-accent-foreground flex
|
|
17
|
+
'focus:bg-accent focus:text-accent-foreground aria-expanded:bg-accent aria-expanded:text-accent-foreground flex items-center rounded-sm px-2 py-1 text-sm font-medium outline-none select-none',
|
|
18
18
|
this.userClass(),
|
|
19
19
|
),
|
|
20
20
|
);
|
|
@@ -15,6 +15,6 @@ import type { ClassValue } from 'clsx';
|
|
|
15
15
|
export class HlmMenuBar {
|
|
16
16
|
public readonly userClass = input<ClassValue>('', { alias: 'class' });
|
|
17
17
|
protected readonly _computedClass = computed(() =>
|
|
18
|
-
hlm('bg-background
|
|
18
|
+
hlm('bg-background flex h-9 items-center gap-1 rounded-md border p-1 shadow-xs', this.userClass()),
|
|
19
19
|
);
|
|
20
20
|
}
|
|
@@ -20,7 +20,7 @@ export class HlmMenuItemCheckbox {
|
|
|
20
20
|
public readonly userClass = input<ClassValue>('', { alias: 'class' });
|
|
21
21
|
protected readonly _computedClass = computed(() =>
|
|
22
22
|
hlm(
|
|
23
|
-
'hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground group relative flex w-full cursor-default
|
|
23
|
+
'hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground group relative flex w-full cursor-default items-center rounded-sm py-1.5 pr-2 pl-8 text-sm transition-colors outline-none select-none disabled:pointer-events-none disabled:opacity-50',
|
|
24
24
|
this.userClass(),
|
|
25
25
|
),
|
|
26
26
|
);
|
|
@@ -20,7 +20,7 @@ export class HlmMenuItemRadio {
|
|
|
20
20
|
public readonly userClass = input<ClassValue>('', { alias: 'class' });
|
|
21
21
|
protected readonly _computedClass = computed(() =>
|
|
22
22
|
hlm(
|
|
23
|
-
'hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground group relative flex w-full cursor-default
|
|
23
|
+
'hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground group relative flex w-full cursor-default items-center rounded-sm py-1.5 pr-2 pl-8 text-sm transition-colors outline-none select-none disabled:pointer-events-none disabled:opacity-50',
|
|
24
24
|
this.userClass(),
|
|
25
25
|
),
|
|
26
26
|
);
|
|
@@ -29,7 +29,7 @@ export class HlmMenuItem {
|
|
|
29
29
|
public readonly userClass = input<ClassValue>('', { alias: 'class' });
|
|
30
30
|
protected readonly _computedClass = computed(() =>
|
|
31
31
|
hlm(
|
|
32
|
-
`hover:bg-accent focus-visible:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[ng-icon]:!text-destructive [&_ng-icon]:text-muted-foreground relative flex w-full cursor-default
|
|
32
|
+
`hover:bg-accent focus-visible:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[ng-icon]:!text-destructive [&_ng-icon]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_ng-icon]:pointer-events-none [&_ng-icon]:shrink-0`,
|
|
33
33
|
this.userClass(),
|
|
34
34
|
),
|
|
35
35
|
);
|
|
@@ -5,7 +5,7 @@ import { type VariantProps, cva } from 'class-variance-authority';
|
|
|
5
5
|
import type { ClassValue } from 'clsx';
|
|
6
6
|
|
|
7
7
|
export const menuVariants = cva(
|
|
8
|
-
'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 z-50 min-w-[8rem] origin-top overflow-
|
|
8
|
+
'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 z-50 min-w-[8rem] origin-top overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md',
|
|
9
9
|
{
|
|
10
10
|
variants: {
|
|
11
11
|
variant: {
|
|
@@ -25,7 +25,7 @@ import { HlmPaginationPrevious } from './hlm-pagination-previous';
|
|
|
25
25
|
selector: 'hlm-numbered-pagination-query-params',
|
|
26
26
|
template: `
|
|
27
27
|
<div class="flex items-center justify-between gap-2 px-4 py-2">
|
|
28
|
-
<div class="flex items-center gap-1 text-
|
|
28
|
+
<div class="flex items-center gap-1 text-sm text-nowrap text-gray-600">
|
|
29
29
|
<b>{{ totalItems() }}</b>
|
|
30
30
|
total items |
|
|
31
31
|
<b>{{ _pages().length }}</b>
|
package/src/generators/ui/libs/ui-pagination-helm/files/lib/hlm-numbered-pagination.ts.template
CHANGED
|
@@ -24,7 +24,7 @@ import { HlmPaginationPrevious } from './hlm-pagination-previous';
|
|
|
24
24
|
selector: 'hlm-numbered-pagination',
|
|
25
25
|
template: `
|
|
26
26
|
<div class="flex items-center justify-between gap-2 px-4 py-2">
|
|
27
|
-
<div class="flex items-center gap-1 text-
|
|
27
|
+
<div class="flex items-center gap-1 text-sm text-nowrap text-gray-600">
|
|
28
28
|
<b>{{ totalItems() }}</b>
|
|
29
29
|
total items |
|
|
30
30
|
<b>{{ _pages().length }}</b>
|
|
@@ -12,7 +12,7 @@ export class HlmPopoverClose {
|
|
|
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-accent data-[state=open]:text-muted-foreground absolute
|
|
15
|
+
'ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none',
|
|
16
16
|
this.userClass(),
|
|
17
17
|
),
|
|
18
18
|
);
|