@egose/shadcn-theme-ng 0.0.13 → 0.0.14
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/accordion/fesm2022/accordion.mjs +10 -10
- package/alert/fesm2022/alert.mjs +30 -30
- package/autocomplete/fesm2022/autocomplete.mjs +11 -11
- package/badge/fesm2022/badge.mjs +53 -53
- package/basic-alert/fesm2022/basic-alert.mjs +2 -2
- package/button/fesm2022/button.mjs +108 -108
- package/calendar/fesm2022/calendar.mjs +78 -78
- package/confirmation-dialog/fesm2022/confirmation-dialog.mjs +10 -10
- package/date-picker/fesm2022/date-picker.mjs +11 -11
- package/dialog/fesm2022/dialog.mjs +9 -9
- package/form-date-picker/fesm2022/form-date-picker.mjs +9 -9
- package/form-field/fesm2022/form-field.mjs +3 -3
- package/form-searchable-multiselect/fesm2022/form-searchable-multiselect.mjs +9 -9
- package/form-select/fesm2022/form-select.mjs +9 -9
- package/form-text-input/fesm2022/form-text-input.mjs +9 -9
- package/form-textarea/fesm2022/form-textarea.mjs +9 -9
- package/input/fesm2022/input.mjs +3 -3
- package/label/fesm2022/label.mjs +1 -1
- package/package.json +1 -1
- package/popover/fesm2022/popover.mjs +2 -2
- package/radio-group/fesm2022/radio-group.mjs +5 -5
- package/searchable-multiselect/fesm2022/searchable-multiselect.mjs +20 -20
- package/select/fesm2022/select.mjs +18 -18
- package/separator/fesm2022/separator.mjs +1 -1
- package/sonner/fesm2022/sonner.mjs +4 -4
- package/spinner/fesm2022/spinner.mjs +6 -6
- package/switch/fesm2022/switch.mjs +2 -2
- package/tabs/fesm2022/tabs.mjs +12 -12
- package/tooltip/fesm2022/tooltip.mjs +5 -5
|
@@ -8,63 +8,63 @@ import { cva } from 'class-variance-authority';
|
|
|
8
8
|
import { hlm } from '@egose/shadcn-theme-ng/utils';
|
|
9
9
|
|
|
10
10
|
const buttonVariants = cva([
|
|
11
|
-
'
|
|
12
|
-
'
|
|
13
|
-
'
|
|
14
|
-
'
|
|
15
|
-
'
|
|
16
|
-
'
|
|
17
|
-
'
|
|
18
|
-
'
|
|
19
|
-
'
|
|
20
|
-
'
|
|
21
|
-
'
|
|
22
|
-
'
|
|
23
|
-
'
|
|
24
|
-
'
|
|
25
|
-
'
|
|
26
|
-
'
|
|
27
|
-
'
|
|
28
|
-
'
|
|
29
|
-
'
|
|
30
|
-
'
|
|
31
|
-
'
|
|
11
|
+
'cursor-pointer',
|
|
12
|
+
'active:translate-y-[0.5px]',
|
|
13
|
+
'disabled:pointer-events-none',
|
|
14
|
+
'disabled:opacity-50',
|
|
15
|
+
'focus-visible:outline-none',
|
|
16
|
+
'focus-visible:ring-1',
|
|
17
|
+
'focus-visible:ring-ring',
|
|
18
|
+
'font-medium',
|
|
19
|
+
'gap-2',
|
|
20
|
+
'inline-flex',
|
|
21
|
+
'items-center',
|
|
22
|
+
'justify-center',
|
|
23
|
+
'rounded-sm',
|
|
24
|
+
'text-sm',
|
|
25
|
+
'transform',
|
|
26
|
+
'transition',
|
|
27
|
+
'transition-colors',
|
|
28
|
+
'whitespace-nowrap',
|
|
29
|
+
'[&_svg]:pointer-events-none',
|
|
30
|
+
'[&_svg]:shrink-0',
|
|
31
|
+
'[&_svg]:size-4',
|
|
32
32
|
], {
|
|
33
33
|
variants: {
|
|
34
34
|
variant: {
|
|
35
|
-
primary: '
|
|
36
|
-
secondary: '
|
|
37
|
-
success: '
|
|
38
|
-
warning: '
|
|
39
|
-
danger: '
|
|
40
|
-
info: '
|
|
41
|
-
light: '
|
|
42
|
-
dark: '
|
|
43
|
-
accent: '
|
|
44
|
-
destructive: '
|
|
45
|
-
muted: '
|
|
46
|
-
link: '
|
|
47
|
-
ghost: '
|
|
35
|
+
primary: 'border border-primary bg-primary text-primary-foreground shadow-sm hover:bg-primary/90',
|
|
36
|
+
secondary: 'border border-secondary bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/90',
|
|
37
|
+
success: 'border border-success bg-success text-success-foreground shadow-sm hover:bg-success/90',
|
|
38
|
+
warning: 'border border-warning bg-warning text-warning-foreground shadow-sm hover:bg-warning/90',
|
|
39
|
+
danger: 'border border-danger bg-danger text-danger-foreground shadow-sm hover:bg-danger/90',
|
|
40
|
+
info: 'border border-info bg-info text-info-foreground shadow-sm hover:bg-info/90',
|
|
41
|
+
light: 'border border-light bg-light text-light-foreground shadow-sm hover:bg-light/90',
|
|
42
|
+
dark: 'border border-dark bg-dark text-dark-foreground shadow-sm hover:bg-dark/90',
|
|
43
|
+
accent: 'border border-accent bg-accent text-accent-foreground shadow-sm hover:bg-accent/90',
|
|
44
|
+
destructive: 'border border-destructive bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90',
|
|
45
|
+
muted: 'border border-muted bg-muted text-muted-foreground shadow-sm hover:bg-muted/90',
|
|
46
|
+
link: 'text-primary underline-offset-4 hover:underline',
|
|
47
|
+
ghost: 'hover:bg-light hover:text-light-foreground',
|
|
48
48
|
},
|
|
49
49
|
size: {
|
|
50
|
-
xs: '
|
|
51
|
-
sm: '
|
|
52
|
-
default: '
|
|
53
|
-
lg: '
|
|
54
|
-
icon: '
|
|
55
|
-
'compact-xs': '
|
|
56
|
-
'compact-sm': '
|
|
57
|
-
'compact-default': '
|
|
58
|
-
'compact-lg': '
|
|
59
|
-
'compact-icon': '
|
|
50
|
+
xs: 'h-7 rounded-xs px-2 text-xs',
|
|
51
|
+
sm: 'h-8 rounded-sm px-3',
|
|
52
|
+
default: 'h-9 px-4 py-2',
|
|
53
|
+
lg: 'h-10 rounded-sm px-7 text-base',
|
|
54
|
+
icon: 'h-9 w-9',
|
|
55
|
+
'compact-xs': 'h-6 px-2 py-1 text-xs',
|
|
56
|
+
'compact-sm': 'h-7 px-2 py-1',
|
|
57
|
+
'compact-default': 'h-8 px-2 py-1',
|
|
58
|
+
'compact-lg': 'h-9 px-2 py-1 text-base',
|
|
59
|
+
'compact-icon': 'h-8 w-8',
|
|
60
60
|
},
|
|
61
61
|
appearance: {
|
|
62
62
|
solid: '',
|
|
63
|
-
outline: '
|
|
64
|
-
'outline-filled': '
|
|
63
|
+
outline: 'bg-white border',
|
|
64
|
+
'outline-filled': 'bg-white border',
|
|
65
65
|
},
|
|
66
66
|
loading: {
|
|
67
|
-
true: '
|
|
67
|
+
true: 'pointer-events-none',
|
|
68
68
|
false: null,
|
|
69
69
|
},
|
|
70
70
|
},
|
|
@@ -102,7 +102,7 @@ class HlmButton {
|
|
|
102
102
|
appearance: this.appearance(),
|
|
103
103
|
loading: this.loading(),
|
|
104
104
|
className: this.userClass(),
|
|
105
|
-
}), outlineClasses, this.loading() ? '
|
|
105
|
+
}), outlineClasses, this.loading() ? 'pointer-events-none' : '', this._additionalClasses());
|
|
106
106
|
}, ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
|
|
107
107
|
/** Computed spinner classes */
|
|
108
108
|
spinnerClass = computed(() => {
|
|
@@ -117,73 +117,73 @@ class HlmButton {
|
|
|
117
117
|
/** Helper functions */
|
|
118
118
|
getOutlineClasses(variant) {
|
|
119
119
|
const colors = {
|
|
120
|
-
primary: '
|
|
121
|
-
secondary: '
|
|
122
|
-
success: '
|
|
123
|
-
warning: '
|
|
124
|
-
danger: '
|
|
125
|
-
info: '
|
|
126
|
-
light: '
|
|
127
|
-
dark: '
|
|
128
|
-
accent: '
|
|
129
|
-
destructive: '
|
|
130
|
-
muted: '
|
|
131
|
-
link: '
|
|
132
|
-
ghost: '
|
|
120
|
+
primary: 'border-primary text-primary shadow-sm hover:bg-primary/10',
|
|
121
|
+
secondary: 'border-secondary text-secondary shadow-sm hover:bg-secondary/10',
|
|
122
|
+
success: 'border-success text-success shadow-sm hover:bg-success/10',
|
|
123
|
+
warning: 'border-warning text-warning shadow-sm hover:bg-warning/10',
|
|
124
|
+
danger: 'border-danger text-danger shadow-sm hover:bg-danger/10',
|
|
125
|
+
info: 'border-info text-info shadow-sm hover:bg-info/10',
|
|
126
|
+
light: 'border-light text-light-foreground shadow-sm hover:bg-light/10',
|
|
127
|
+
dark: 'border-dark text-dark shadow-sm hover:bg-dark/10',
|
|
128
|
+
accent: 'border-accent text-accent shadow-sm hover:bg-accent/10',
|
|
129
|
+
destructive: 'border-destructive text-destructive shadow-sm hover:bg-destructive/10',
|
|
130
|
+
muted: 'border-muted text-muted-foreground shadow-sm hover:bg-muted/10',
|
|
131
|
+
link: 'text-primary',
|
|
132
|
+
ghost: 'text-light-foreground',
|
|
133
133
|
};
|
|
134
134
|
return colors[variant];
|
|
135
135
|
}
|
|
136
136
|
getOutlineFilledClasses(variant) {
|
|
137
137
|
const colors = {
|
|
138
|
-
primary: '
|
|
139
|
-
secondary: '
|
|
140
|
-
success: '
|
|
141
|
-
warning: '
|
|
142
|
-
danger: '
|
|
143
|
-
info: '
|
|
144
|
-
light: '
|
|
145
|
-
dark: '
|
|
146
|
-
accent: '
|
|
147
|
-
destructive: '
|
|
148
|
-
muted: '
|
|
149
|
-
link: '
|
|
150
|
-
ghost: '
|
|
138
|
+
primary: 'hover:bg-primary hover:text-primary-foreground',
|
|
139
|
+
secondary: 'hover:bg-secondary hover:text-secondary-foreground',
|
|
140
|
+
success: 'hover:bg-success hover:text-success-foreground',
|
|
141
|
+
warning: 'hover:bg-warning hover:text-warning-foreground',
|
|
142
|
+
danger: 'hover:bg-danger hover:text-danger-foreground',
|
|
143
|
+
info: 'hover:bg-info hover:text-info-foreground',
|
|
144
|
+
light: 'hover:bg-light hover:text-light-foreground',
|
|
145
|
+
dark: 'hover:bg-dark hover:text-dark-foreground',
|
|
146
|
+
accent: 'hover:bg-accent hover:text-accent-foreground',
|
|
147
|
+
destructive: 'hover:bg-destructive hover:text-destructive-foreground',
|
|
148
|
+
muted: 'hover:bg-muted hover:text-muted-foreground',
|
|
149
|
+
link: 'hover:underline',
|
|
150
|
+
ghost: 'hover:bg-light',
|
|
151
151
|
};
|
|
152
152
|
return colors[variant];
|
|
153
153
|
}
|
|
154
154
|
getSpinnerClasses(variant) {
|
|
155
155
|
const colors = {
|
|
156
|
-
primary: '
|
|
157
|
-
secondary: '
|
|
158
|
-
success: '
|
|
159
|
-
warning: '
|
|
160
|
-
danger: '
|
|
161
|
-
info: '
|
|
162
|
-
light: '
|
|
163
|
-
dark: '
|
|
164
|
-
accent: '
|
|
165
|
-
destructive: '
|
|
166
|
-
muted: '
|
|
167
|
-
link: '
|
|
168
|
-
ghost: '
|
|
156
|
+
primary: '[&>svg]:text-primary-foreground',
|
|
157
|
+
secondary: '[&>svg]:text-secondary-foreground',
|
|
158
|
+
success: '[&>svg]:text-success-foreground',
|
|
159
|
+
warning: '[&>svg]:text-warning-foreground',
|
|
160
|
+
danger: '[&>svg]:text-danger-foreground',
|
|
161
|
+
info: '[&>svg]:text-info-foreground',
|
|
162
|
+
light: '[&>svg]:text-light-foreground',
|
|
163
|
+
dark: '[&>svg]:text-dark-foreground',
|
|
164
|
+
accent: '[&>svg]:text-accent-foreground',
|
|
165
|
+
destructive: '[&>svg]:text-destructive-foreground',
|
|
166
|
+
muted: '[&>svg]:text-muted-foreground',
|
|
167
|
+
link: '[&>svg]:text-primary',
|
|
168
|
+
ghost: '[&>svg]:text-light-foreground',
|
|
169
169
|
};
|
|
170
170
|
return colors[variant];
|
|
171
171
|
}
|
|
172
172
|
getOutlineSpinnerClasses(variant) {
|
|
173
173
|
const colors = {
|
|
174
|
-
primary: '
|
|
175
|
-
secondary: '
|
|
176
|
-
success: '
|
|
177
|
-
warning: '
|
|
178
|
-
danger: '
|
|
179
|
-
info: '
|
|
180
|
-
light: '
|
|
181
|
-
dark: '
|
|
182
|
-
accent: '
|
|
183
|
-
destructive: '
|
|
184
|
-
muted: '
|
|
185
|
-
link: '
|
|
186
|
-
ghost: '
|
|
174
|
+
primary: '[&>svg]:text-primary',
|
|
175
|
+
secondary: '[&>svg]:text-secondary',
|
|
176
|
+
success: '[&>svg]:text-success',
|
|
177
|
+
warning: '[&>svg]:text-warning',
|
|
178
|
+
danger: '[&>svg]:text-danger',
|
|
179
|
+
info: '[&>svg]:text-info',
|
|
180
|
+
light: '[&>svg]:text-light',
|
|
181
|
+
dark: '[&>svg]:text-dark',
|
|
182
|
+
accent: '[&>svg]:text-accent',
|
|
183
|
+
destructive: '[&>svg]:text-destructive',
|
|
184
|
+
muted: '[&>svg]:text-muted-foreground',
|
|
185
|
+
link: '[&>svg]:text-primary',
|
|
186
|
+
ghost: '[&>svg]:text-light-foreground',
|
|
187
187
|
};
|
|
188
188
|
return colors[variant];
|
|
189
189
|
}
|
|
@@ -194,16 +194,16 @@ class HlmButton {
|
|
|
194
194
|
</ng-template>
|
|
195
195
|
|
|
196
196
|
@if (loading()) {
|
|
197
|
-
<div class="
|
|
198
|
-
<span class="
|
|
197
|
+
<div class="relative inline-flex items-center">
|
|
198
|
+
<span class="invisible">
|
|
199
199
|
<ng-container *ngTemplateOutlet="projected" />
|
|
200
200
|
</span>
|
|
201
|
-
<span class="
|
|
201
|
+
<span class="absolute inset-0 flex items-center justify-center">
|
|
202
202
|
<hlm-spinner size="small" [spinnerClass]="spinnerClass()" />
|
|
203
203
|
</span>
|
|
204
204
|
</div>
|
|
205
205
|
} @else {
|
|
206
|
-
<div class="
|
|
206
|
+
<div class="flex items-center gap-1">
|
|
207
207
|
@if (icon() && iconPosition() === 'left') {
|
|
208
208
|
<ng-container *ngTemplateOutlet="icon()" />
|
|
209
209
|
}
|
|
@@ -234,16 +234,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
234
234
|
</ng-template>
|
|
235
235
|
|
|
236
236
|
@if (loading()) {
|
|
237
|
-
<div class="
|
|
238
|
-
<span class="
|
|
237
|
+
<div class="relative inline-flex items-center">
|
|
238
|
+
<span class="invisible">
|
|
239
239
|
<ng-container *ngTemplateOutlet="projected" />
|
|
240
240
|
</span>
|
|
241
|
-
<span class="
|
|
241
|
+
<span class="absolute inset-0 flex items-center justify-center">
|
|
242
242
|
<hlm-spinner size="small" [spinnerClass]="spinnerClass()" />
|
|
243
243
|
</span>
|
|
244
244
|
</div>
|
|
245
245
|
} @else {
|
|
246
|
-
<div class="
|
|
246
|
+
<div class="flex items-center gap-1">
|
|
247
247
|
@if (icon() && iconPosition() === 'left') {
|
|
248
248
|
<ng-container *ngTemplateOutlet="icon()" />
|
|
249
249
|
}
|