@egose/shadcn-theme-ng 0.0.11 → 0.0.13
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 +19 -19
- package/alert/fesm2022/alert.mjs +16 -16
- package/autocomplete/README.md +64 -0
- package/autocomplete/fesm2022/autocomplete.mjs +543 -0
- package/autocomplete/fesm2022/autocomplete.mjs.map +1 -0
- package/autocomplete/index.d.ts +162 -0
- package/badge/fesm2022/badge.mjs +19 -28
- package/badge/fesm2022/badge.mjs.map +1 -1
- package/badge/index.d.ts +9 -9
- package/basic-alert/fesm2022/basic-alert.mjs +17 -25
- package/basic-alert/fesm2022/basic-alert.mjs.map +1 -1
- package/basic-alert/index.d.ts +7 -7
- package/button/fesm2022/button.mjs +51 -69
- package/button/fesm2022/button.mjs.map +1 -1
- package/button/index.d.ts +20 -20
- package/calendar/fesm2022/calendar.mjs +13 -13
- package/confirmation-dialog/fesm2022/confirmation-dialog.mjs +6 -6
- package/date-picker/fesm2022/date-picker.mjs +13 -13
- package/dialog/fesm2022/dialog.mjs +31 -31
- package/exports.json +1 -1
- package/form-date-picker/fesm2022/form-date-picker.mjs +3 -3
- package/form-field/fesm2022/form-field.mjs +13 -13
- package/form-searchable-multiselect/README.md +64 -0
- package/form-searchable-multiselect/fesm2022/form-searchable-multiselect.mjs +124 -0
- package/form-searchable-multiselect/fesm2022/form-searchable-multiselect.mjs.map +1 -0
- package/form-searchable-multiselect/index.d.ts +28 -0
- package/form-select/fesm2022/form-select.mjs +3 -3
- package/form-text-input/fesm2022/form-text-input.mjs +6 -6
- package/form-textarea/fesm2022/form-textarea.mjs +3 -3
- package/icon/fesm2022/icon.mjs +7 -7
- package/input/fesm2022/input.mjs +7 -7
- package/label/fesm2022/label.mjs +7 -7
- package/package.json +21 -5
- package/popover/fesm2022/popover.mjs +10 -10
- package/radio-group/fesm2022/radio-group.mjs +13 -13
- package/searchable-multiselect/README.md +64 -0
- package/searchable-multiselect/fesm2022/searchable-multiselect.mjs +221 -0
- package/searchable-multiselect/fesm2022/searchable-multiselect.mjs.map +1 -0
- package/searchable-multiselect/index.d.ts +50 -0
- package/select/fesm2022/select.mjs +31 -31
- package/separator/README.md +64 -0
- package/separator/fesm2022/separator.mjs +46 -0
- package/separator/fesm2022/separator.mjs.map +1 -0
- package/separator/index.d.ts +19 -0
- package/sonner/fesm2022/sonner.mjs +7 -7
- package/spinner/fesm2022/spinner.mjs +7 -7
- package/switch/fesm2022/switch.mjs +10 -10
- package/tabs/fesm2022/tabs.mjs +19 -19
- package/tooltip/fesm2022/tooltip.mjs +10 -10
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { signal, computed,
|
|
2
|
+
import { input, signal, computed, Component, NgModule } from '@angular/core';
|
|
3
3
|
import { NgTemplateOutlet } from '@angular/common';
|
|
4
4
|
import * as i1 from '@spartan-ng/brain/button';
|
|
5
5
|
import { BrnButton } from '@spartan-ng/brain/button';
|
|
@@ -47,12 +47,14 @@ const buttonVariants = cva([
|
|
|
47
47
|
ghost: 'tw:hover:bg-light tw:hover:text-light-foreground',
|
|
48
48
|
},
|
|
49
49
|
size: {
|
|
50
|
-
|
|
50
|
+
xs: 'tw:h-7 tw:rounded-xs tw:px-2 tw:text-xs',
|
|
51
51
|
sm: 'tw:h-8 tw:rounded-sm tw:px-3',
|
|
52
|
+
default: 'tw:h-9 tw:px-4 tw:py-2',
|
|
52
53
|
lg: 'tw:h-10 tw:rounded-sm tw:px-7 tw:text-base',
|
|
53
54
|
icon: 'tw:h-9 tw:w-9',
|
|
54
|
-
'compact-
|
|
55
|
+
'compact-xs': 'tw:h-6 tw:px-2 tw:py-1 tw:text-xs',
|
|
55
56
|
'compact-sm': 'tw:h-7 tw:px-2 tw:py-1',
|
|
57
|
+
'compact-default': 'tw:h-8 tw:px-2 tw:py-1',
|
|
56
58
|
'compact-lg': 'tw:h-9 tw:px-2 tw:py-1 tw:text-base',
|
|
57
59
|
'compact-icon': 'tw:h-8 tw:w-8',
|
|
58
60
|
},
|
|
@@ -74,40 +76,40 @@ const buttonVariants = cva([
|
|
|
74
76
|
},
|
|
75
77
|
});
|
|
76
78
|
class HlmButton {
|
|
77
|
-
/** Props */
|
|
78
|
-
variant = 'primary';
|
|
79
|
-
size = 'default';
|
|
80
|
-
appearance = 'solid';
|
|
81
|
-
loading = false;
|
|
82
|
-
icon;
|
|
83
|
-
iconPosition = 'left';
|
|
84
|
-
userClass = '';
|
|
85
|
-
spinnerUserClass = '';
|
|
86
|
-
disabled = false;
|
|
87
|
-
type = 'button';
|
|
79
|
+
/** Props as signal-based inputs */
|
|
80
|
+
variant = input('primary', ...(ngDevMode ? [{ debugName: "variant" }] : []));
|
|
81
|
+
size = input('default', ...(ngDevMode ? [{ debugName: "size" }] : []));
|
|
82
|
+
appearance = input('solid', ...(ngDevMode ? [{ debugName: "appearance" }] : []));
|
|
83
|
+
loading = input(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
|
|
84
|
+
icon = input(undefined, ...(ngDevMode ? [{ debugName: "icon" }] : []));
|
|
85
|
+
iconPosition = input('left', ...(ngDevMode ? [{ debugName: "iconPosition" }] : []));
|
|
86
|
+
userClass = input('', ...(ngDevMode ? [{ debugName: "userClass" }] : []));
|
|
87
|
+
spinnerUserClass = input('', ...(ngDevMode ? [{ debugName: "spinnerUserClass" }] : []));
|
|
88
|
+
disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
|
|
89
|
+
type = input('button', ...(ngDevMode ? [{ debugName: "type" }] : []));
|
|
88
90
|
_additionalClasses = signal('', ...(ngDevMode ? [{ debugName: "_additionalClasses" }] : []));
|
|
89
91
|
/** Computed button class merging */
|
|
90
92
|
_computedClass = computed(() => {
|
|
91
|
-
const outlineClasses = this.appearance === 'outline' || this.appearance === 'outline-filled'
|
|
92
|
-
? [this.getOutlineClasses(this.variant)]
|
|
93
|
+
const outlineClasses = this.appearance() === 'outline' || this.appearance() === 'outline-filled'
|
|
94
|
+
? [this.getOutlineClasses(this.variant())]
|
|
93
95
|
: [];
|
|
94
|
-
if (this.appearance === 'outline-filled') {
|
|
95
|
-
outlineClasses.push(this.getOutlineFilledClasses(this.variant));
|
|
96
|
+
if (this.appearance() === 'outline-filled') {
|
|
97
|
+
outlineClasses.push(this.getOutlineFilledClasses(this.variant()));
|
|
96
98
|
}
|
|
97
99
|
return hlm(buttonVariants({
|
|
98
|
-
variant: this.variant,
|
|
99
|
-
size: this.size,
|
|
100
|
-
appearance: this.appearance,
|
|
101
|
-
loading: this.loading,
|
|
102
|
-
className: this.userClass,
|
|
103
|
-
}), outlineClasses, this.loading ? 'tw:pointer-events-none' : '', this._additionalClasses());
|
|
100
|
+
variant: this.variant(),
|
|
101
|
+
size: this.size(),
|
|
102
|
+
appearance: this.appearance(),
|
|
103
|
+
loading: this.loading(),
|
|
104
|
+
className: this.userClass(),
|
|
105
|
+
}), outlineClasses, this.loading() ? 'tw:pointer-events-none' : '', this._additionalClasses());
|
|
104
106
|
}, ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
|
|
105
107
|
/** Computed spinner classes */
|
|
106
108
|
spinnerClass = computed(() => {
|
|
107
|
-
const base = this.appearance === 'outline' || this.appearance === 'outline-filled'
|
|
108
|
-
? this.getOutlineSpinnerClasses(this.variant)
|
|
109
|
-
: this.getSpinnerClasses(this.variant);
|
|
110
|
-
return hlm(base, this.spinnerUserClass);
|
|
109
|
+
const base = this.appearance() === 'outline' || this.appearance() === 'outline-filled'
|
|
110
|
+
? this.getOutlineSpinnerClasses(this.variant())
|
|
111
|
+
: this.getSpinnerClasses(this.variant());
|
|
112
|
+
return hlm(base, this.spinnerUserClass());
|
|
111
113
|
}, ...(ngDevMode ? [{ debugName: "spinnerClass" }] : []));
|
|
112
114
|
setClass(classes) {
|
|
113
115
|
this._additionalClasses.set(classes);
|
|
@@ -185,13 +187,13 @@ class HlmButton {
|
|
|
185
187
|
};
|
|
186
188
|
return colors[variant];
|
|
187
189
|
}
|
|
188
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
189
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
190
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: HlmButton, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
191
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.1", type: HlmButton, isStandalone: true, selector: "button[hlmButton], a[hlmButton]", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconPosition: { classPropertyName: "iconPosition", publicName: "iconPosition", isSignal: true, isRequired: false, transformFunction: null }, userClass: { classPropertyName: "userClass", publicName: "userClass", isSignal: true, isRequired: false, transformFunction: null }, spinnerUserClass: { classPropertyName: "spinnerUserClass", publicName: "spinnerUserClass", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()", "attr.aria-busy": "loading() || null", "attr.disabled": "(loading() || disabled()) ? true : null", "attr.type": "type()" } }, hostDirectives: [{ directive: i1.BrnButton, inputs: ["disabled", "disabled"] }], ngImport: i0, template: `
|
|
190
192
|
<ng-template #projected>
|
|
191
193
|
<ng-content></ng-content>
|
|
192
194
|
</ng-template>
|
|
193
195
|
|
|
194
|
-
@if (loading) {
|
|
196
|
+
@if (loading()) {
|
|
195
197
|
<div class="tw:relative tw:inline-flex tw:items-center">
|
|
196
198
|
<span class="tw:invisible">
|
|
197
199
|
<ng-container *ngTemplateOutlet="projected" />
|
|
@@ -202,18 +204,18 @@ class HlmButton {
|
|
|
202
204
|
</div>
|
|
203
205
|
} @else {
|
|
204
206
|
<div class="tw:flex tw:items-center tw:gap-1">
|
|
205
|
-
@if (icon && iconPosition === 'left') {
|
|
206
|
-
<ng-container *ngTemplateOutlet="icon" />
|
|
207
|
+
@if (icon() && iconPosition() === 'left') {
|
|
208
|
+
<ng-container *ngTemplateOutlet="icon()" />
|
|
207
209
|
}
|
|
208
210
|
<ng-container *ngTemplateOutlet="projected" />
|
|
209
|
-
@if (icon && iconPosition === 'right') {
|
|
210
|
-
<ng-container *ngTemplateOutlet="icon" />
|
|
211
|
+
@if (icon() && iconPosition() === 'right') {
|
|
212
|
+
<ng-container *ngTemplateOutlet="icon()" />
|
|
211
213
|
}
|
|
212
214
|
</div>
|
|
213
215
|
}
|
|
214
216
|
`, isInline: true, dependencies: [{ kind: "component", type: HlmSpinner, selector: "hlm-spinner", inputs: ["size", "show", "class", "spinnerClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
215
217
|
}
|
|
216
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
218
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: HlmButton, decorators: [{
|
|
217
219
|
type: Component,
|
|
218
220
|
args: [{
|
|
219
221
|
selector: 'button[hlmButton], a[hlmButton]',
|
|
@@ -222,16 +224,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
|
|
|
222
224
|
hostDirectives: [{ directive: BrnButton, inputs: ['disabled'] }],
|
|
223
225
|
host: {
|
|
224
226
|
'[class]': '_computedClass()',
|
|
225
|
-
'[attr.aria-busy]': 'loading || null',
|
|
226
|
-
'[attr.disabled]': '(loading || disabled) ? true : null',
|
|
227
|
-
'[attr.type]': 'type',
|
|
227
|
+
'[attr.aria-busy]': 'loading() || null',
|
|
228
|
+
'[attr.disabled]': '(loading() || disabled()) ? true : null',
|
|
229
|
+
'[attr.type]': 'type()',
|
|
228
230
|
},
|
|
229
231
|
template: `
|
|
230
232
|
<ng-template #projected>
|
|
231
233
|
<ng-content></ng-content>
|
|
232
234
|
</ng-template>
|
|
233
235
|
|
|
234
|
-
@if (loading) {
|
|
236
|
+
@if (loading()) {
|
|
235
237
|
<div class="tw:relative tw:inline-flex tw:items-center">
|
|
236
238
|
<span class="tw:invisible">
|
|
237
239
|
<ng-container *ngTemplateOutlet="projected" />
|
|
@@ -242,49 +244,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
|
|
|
242
244
|
</div>
|
|
243
245
|
} @else {
|
|
244
246
|
<div class="tw:flex tw:items-center tw:gap-1">
|
|
245
|
-
@if (icon && iconPosition === 'left') {
|
|
246
|
-
<ng-container *ngTemplateOutlet="icon" />
|
|
247
|
+
@if (icon() && iconPosition() === 'left') {
|
|
248
|
+
<ng-container *ngTemplateOutlet="icon()" />
|
|
247
249
|
}
|
|
248
250
|
<ng-container *ngTemplateOutlet="projected" />
|
|
249
|
-
@if (icon && iconPosition === 'right') {
|
|
250
|
-
<ng-container *ngTemplateOutlet="icon" />
|
|
251
|
+
@if (icon() && iconPosition() === 'right') {
|
|
252
|
+
<ng-container *ngTemplateOutlet="icon()" />
|
|
251
253
|
}
|
|
252
254
|
</div>
|
|
253
255
|
}
|
|
254
256
|
`,
|
|
255
257
|
}]
|
|
256
|
-
}]
|
|
257
|
-
type: Input
|
|
258
|
-
}], size: [{
|
|
259
|
-
type: Input
|
|
260
|
-
}], appearance: [{
|
|
261
|
-
type: Input
|
|
262
|
-
}], loading: [{
|
|
263
|
-
type: Input
|
|
264
|
-
}], icon: [{
|
|
265
|
-
type: Input
|
|
266
|
-
}], iconPosition: [{
|
|
267
|
-
type: Input
|
|
268
|
-
}], userClass: [{
|
|
269
|
-
type: Input
|
|
270
|
-
}], spinnerUserClass: [{
|
|
271
|
-
type: Input
|
|
272
|
-
}], disabled: [{
|
|
273
|
-
type: Input
|
|
274
|
-
}], type: [{
|
|
275
|
-
type: Input
|
|
276
|
-
}] } });
|
|
258
|
+
}] });
|
|
277
259
|
|
|
278
260
|
/*
|
|
279
261
|
* Public API Surface of button
|
|
280
262
|
*/
|
|
281
263
|
const HlmButtonImports = [HlmButton];
|
|
282
264
|
class HlmButtonModule {
|
|
283
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
284
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
285
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
265
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: HlmButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
266
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.1", ngImport: i0, type: HlmButtonModule, imports: [HlmButton], exports: [HlmButton] });
|
|
267
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: HlmButtonModule, imports: [HlmButtonImports] });
|
|
286
268
|
}
|
|
287
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
269
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: HlmButtonModule, decorators: [{
|
|
288
270
|
type: NgModule,
|
|
289
271
|
args: [{
|
|
290
272
|
imports: [...HlmButtonImports],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.mjs","sources":["../../../projects/button/src/lib/button.ts","../../../projects/button/src/public-api.ts","../../../projects/button/src/button.ts"],"sourcesContent":["import { Component, Input, computed, signal } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { BrnButton } from '@spartan-ng/brain/button';\nimport { HlmSpinner } from '@egose/shadcn-theme-ng/spinner';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { type ClassValue } from 'clsx';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\n\nexport const buttonVariants = cva(\n [\n 'tw:cursor-pointer',\n 'tw:active:translate-y-[0.5px]',\n 'tw:disabled:pointer-events-none',\n 'tw:disabled:opacity-50',\n 'tw:focus-visible:outline-none',\n 'tw:focus-visible:ring-1',\n 'tw:focus-visible:ring-ring',\n 'tw:font-medium',\n 'tw:gap-2',\n 'tw:inline-flex',\n 'tw:items-center',\n 'tw:justify-center',\n 'tw:rounded-sm',\n 'tw:text-sm',\n 'tw:transform',\n 'tw:transition',\n 'tw:transition-colors',\n 'tw:whitespace-nowrap',\n 'tw:[&_svg]:pointer-events-none',\n 'tw:[&_svg]:shrink-0',\n 'tw:[&_svg]:size-4',\n ],\n {\n variants: {\n variant: {\n primary:\n 'tw:border tw:border-primary tw:bg-primary tw:text-primary-foreground tw:shadow-sm tw:hover:bg-primary/90',\n secondary:\n 'tw:border tw:border-secondary tw:bg-secondary tw:text-secondary-foreground tw:shadow-sm tw:hover:bg-secondary/90',\n success:\n 'tw:border tw:border-success tw:bg-success tw:text-success-foreground tw:shadow-sm tw:hover:bg-success/90',\n warning:\n 'tw:border tw:border-warning tw:bg-warning tw:text-warning-foreground tw:shadow-sm tw:hover:bg-warning/90',\n danger: 'tw:border tw:border-danger tw:bg-danger tw:text-danger-foreground tw:shadow-sm tw:hover:bg-danger/90',\n info: 'tw:border tw:border-info tw:bg-info tw:text-info-foreground tw:shadow-sm tw:hover:bg-info/90',\n light: 'tw:border tw:border-light tw:bg-light tw:text-light-foreground tw:shadow-sm tw:hover:bg-light/90',\n dark: 'tw:border tw:border-dark tw:bg-dark tw:text-dark-foreground tw:shadow-sm tw:hover:bg-dark/90',\n accent: 'tw:border tw:border-accent tw:bg-accent tw:text-accent-foreground tw:shadow-sm tw:hover:bg-accent/90',\n destructive:\n 'tw:border tw:border-destructive tw:bg-destructive tw:text-destructive-foreground tw:shadow-sm tw:hover:bg-destructive/90',\n muted: 'tw:border tw:border-muted tw:bg-muted tw:text-muted-foreground tw:shadow-sm tw:hover:bg-muted/90',\n link: 'tw:text-primary tw:underline-offset-4 tw:hover:underline',\n ghost: 'tw:hover:bg-light tw:hover:text-light-foreground',\n },\n size: {\n default: 'tw:h-9 tw:px-4 tw:py-2',\n sm: 'tw:h-8 tw:rounded-sm tw:px-3',\n lg: 'tw:h-10 tw:rounded-sm tw:px-7 tw:text-base',\n icon: 'tw:h-9 tw:w-9',\n 'compact-default': 'tw:h-8 tw:px-2 tw:py-1',\n 'compact-sm': 'tw:h-7 tw:px-2 tw:py-1',\n 'compact-lg': 'tw:h-9 tw:px-2 tw:py-1 tw:text-base',\n 'compact-icon': 'tw:h-8 tw:w-8',\n },\n appearance: {\n solid: '',\n outline: 'tw:bg-white tw:border',\n 'outline-filled': 'tw:bg-white tw:border',\n },\n loading: {\n true: 'tw:pointer-events-none',\n false: null,\n },\n },\n defaultVariants: {\n variant: 'primary',\n size: 'default',\n appearance: 'solid',\n loading: false,\n },\n },\n);\n\nexport type ButtonVariants = VariantProps<typeof buttonVariants>;\nexport type VariantType = NonNullable<ButtonVariants['variant']>;\nexport type SizeType = NonNullable<ButtonVariants['size']>;\nexport type AppearanceType = NonNullable<ButtonVariants['appearance']>;\n\n@Component({\n selector: 'button[hlmButton], a[hlmButton]',\n standalone: true,\n imports: [BrnButton, HlmSpinner, NgTemplateOutlet],\n hostDirectives: [{ directive: BrnButton, inputs: ['disabled'] }],\n host: {\n '[class]': '_computedClass()',\n '[attr.aria-busy]': 'loading || null',\n '[attr.disabled]': '(loading || disabled) ? true : null',\n '[attr.type]': 'type',\n },\n template: `\n <ng-template #projected>\n <ng-content></ng-content>\n </ng-template>\n\n @if (loading) {\n <div class=\"tw:relative tw:inline-flex tw:items-center\">\n <span class=\"tw:invisible\">\n <ng-container *ngTemplateOutlet=\"projected\" />\n </span>\n <span class=\"tw:absolute tw:inset-0 tw:flex tw:items-center tw:justify-center\">\n <hlm-spinner size=\"small\" [spinnerClass]=\"spinnerClass()\" />\n </span>\n </div>\n } @else {\n <div class=\"tw:flex tw:items-center tw:gap-1\">\n @if (icon && iconPosition === 'left') {\n <ng-container *ngTemplateOutlet=\"icon\" />\n }\n <ng-container *ngTemplateOutlet=\"projected\" />\n @if (icon && iconPosition === 'right') {\n <ng-container *ngTemplateOutlet=\"icon\" />\n }\n </div>\n }\n `,\n})\nexport class HlmButton {\n /** Props */\n @Input() variant: VariantType = 'primary';\n @Input() size: SizeType = 'default';\n @Input() appearance: AppearanceType = 'solid';\n @Input() loading = false;\n @Input() icon?: any;\n @Input() iconPosition: 'left' | 'right' = 'left';\n @Input() userClass: ClassValue = '';\n @Input() spinnerUserClass: ClassValue = '';\n @Input() disabled = false;\n @Input() type: 'button' | 'submit' | 'reset' = 'button';\n\n private readonly _additionalClasses = signal<ClassValue>('');\n\n /** Computed button class merging */\n protected readonly _computedClass = computed(() => {\n const outlineClasses =\n this.appearance === 'outline' || this.appearance === 'outline-filled'\n ? [this.getOutlineClasses(this.variant)]\n : [];\n if (this.appearance === 'outline-filled') {\n outlineClasses.push(this.getOutlineFilledClasses(this.variant));\n }\n return hlm(\n buttonVariants({\n variant: this.variant,\n size: this.size,\n appearance: this.appearance,\n loading: this.loading,\n className: this.userClass,\n }),\n outlineClasses,\n this.loading ? 'tw:pointer-events-none' : '',\n this._additionalClasses(),\n );\n });\n\n /** Computed spinner classes */\n protected readonly spinnerClass = computed(() => {\n const base =\n this.appearance === 'outline' || this.appearance === 'outline-filled'\n ? this.getOutlineSpinnerClasses(this.variant)\n : this.getSpinnerClasses(this.variant);\n return hlm(base, this.spinnerUserClass);\n });\n\n setClass(classes: string): void {\n this._additionalClasses.set(classes);\n }\n\n /** Helper functions */\n private getOutlineClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'tw:border-primary tw:text-primary tw:shadow-sm tw:hover:bg-primary/10',\n secondary: 'tw:border-secondary tw:text-secondary tw:shadow-sm tw:hover:bg-secondary/10',\n success: 'tw:border-success tw:text-success tw:shadow-sm tw:hover:bg-success/10',\n warning: 'tw:border-warning tw:text-warning tw:shadow-sm tw:hover:bg-warning/10',\n danger: 'tw:border-danger tw:text-danger tw:shadow-sm tw:hover:bg-danger/10',\n info: 'tw:border-info tw:text-info tw:shadow-sm tw:hover:bg-info/10',\n light: 'tw:border-light tw:text-light-foreground tw:shadow-sm tw:hover:bg-light/10',\n dark: 'tw:border-dark tw:text-dark tw:shadow-sm tw:hover:bg-dark/10',\n accent: 'tw:border-accent tw:text-accent tw:shadow-sm tw:hover:bg-accent/10',\n destructive: 'tw:border-destructive tw:text-destructive tw:shadow-sm tw:hover:bg-destructive/10',\n muted: 'tw:border-muted tw:text-muted-foreground tw:shadow-sm tw:hover:bg-muted/10',\n link: 'tw:text-primary',\n ghost: 'tw:text-light-foreground',\n };\n return colors[variant];\n }\n\n private getOutlineFilledClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'tw:hover:bg-primary tw:hover:text-primary-foreground',\n secondary: 'tw:hover:bg-secondary tw:hover:text-secondary-foreground',\n success: 'tw:hover:bg-success tw:hover:text-success-foreground',\n warning: 'tw:hover:bg-warning tw:hover:text-warning-foreground',\n danger: 'tw:hover:bg-danger tw:hover:text-danger-foreground',\n info: 'tw:hover:bg-info tw:hover:text-info-foreground',\n light: 'tw:hover:bg-light tw:hover:text-light-foreground',\n dark: 'tw:hover:bg-dark tw:hover:text-dark-foreground',\n accent: 'tw:hover:bg-accent tw:hover:text-accent-foreground',\n destructive: 'tw:hover:bg-destructive tw:hover:text-destructive-foreground',\n muted: 'tw:hover:bg-muted tw:hover:text-muted-foreground',\n link: 'tw:hover:underline',\n ghost: 'tw:hover:bg-light',\n };\n return colors[variant];\n }\n\n private getSpinnerClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'tw:[&>svg]:text-primary-foreground',\n secondary: 'tw:[&>svg]:text-secondary-foreground',\n success: 'tw:[&>svg]:text-success-foreground',\n warning: 'tw:[&>svg]:text-warning-foreground',\n danger: 'tw:[&>svg]:text-danger-foreground',\n info: 'tw:[&>svg]:text-info-foreground',\n light: 'tw:[&>svg]:text-light-foreground',\n dark: 'tw:[&>svg]:text-dark-foreground',\n accent: 'tw:[&>svg]:text-accent-foreground',\n destructive: 'tw:[&>svg]:text-destructive-foreground',\n muted: 'tw:[&>svg]:text-muted-foreground',\n link: 'tw:[&>svg]:text-primary',\n ghost: 'tw:[&>svg]:text-light-foreground',\n };\n return colors[variant];\n }\n\n private getOutlineSpinnerClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'tw:[&>svg]:text-primary',\n secondary: 'tw:[&>svg]:text-secondary',\n success: 'tw:[&>svg]:text-success',\n warning: 'tw:[&>svg]:text-warning',\n danger: 'tw:[&>svg]:text-danger',\n info: 'tw:[&>svg]:text-info',\n light: 'tw:[&>svg]:text-light',\n dark: 'tw:[&>svg]:text-dark',\n accent: 'tw:[&>svg]:text-accent',\n destructive: 'tw:[&>svg]:text-destructive',\n muted: 'tw:[&>svg]:text-muted-foreground',\n link: 'tw:[&>svg]:text-primary',\n ghost: 'tw:[&>svg]:text-light-foreground',\n };\n return colors[variant];\n }\n}\n","/*\n * Public API Surface of button\n */\n\nimport { NgModule } from '@angular/core';\nimport { HlmButton } from './lib/button';\nexport * from './lib/button';\n\nexport const HlmButtonImports = [HlmButton] as const;\n\n@NgModule({\n imports: [...HlmButtonImports],\n exports: [...HlmButtonImports],\n})\nexport class HlmButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"button.mjs","sources":["../../../projects/button/src/lib/button.ts","../../../projects/button/src/public-api.ts","../../../projects/button/src/button.ts"],"sourcesContent":["import { Component, computed, signal, input } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { BrnButton } from '@spartan-ng/brain/button';\nimport { HlmSpinner } from '@egose/shadcn-theme-ng/spinner';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { type ClassValue } from 'clsx';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\n\nexport const buttonVariants = cva(\n [\n 'tw:cursor-pointer',\n 'tw:active:translate-y-[0.5px]',\n 'tw:disabled:pointer-events-none',\n 'tw:disabled:opacity-50',\n 'tw:focus-visible:outline-none',\n 'tw:focus-visible:ring-1',\n 'tw:focus-visible:ring-ring',\n 'tw:font-medium',\n 'tw:gap-2',\n 'tw:inline-flex',\n 'tw:items-center',\n 'tw:justify-center',\n 'tw:rounded-sm',\n 'tw:text-sm',\n 'tw:transform',\n 'tw:transition',\n 'tw:transition-colors',\n 'tw:whitespace-nowrap',\n 'tw:[&_svg]:pointer-events-none',\n 'tw:[&_svg]:shrink-0',\n 'tw:[&_svg]:size-4',\n ],\n {\n variants: {\n variant: {\n primary:\n 'tw:border tw:border-primary tw:bg-primary tw:text-primary-foreground tw:shadow-sm tw:hover:bg-primary/90',\n secondary:\n 'tw:border tw:border-secondary tw:bg-secondary tw:text-secondary-foreground tw:shadow-sm tw:hover:bg-secondary/90',\n success:\n 'tw:border tw:border-success tw:bg-success tw:text-success-foreground tw:shadow-sm tw:hover:bg-success/90',\n warning:\n 'tw:border tw:border-warning tw:bg-warning tw:text-warning-foreground tw:shadow-sm tw:hover:bg-warning/90',\n danger: 'tw:border tw:border-danger tw:bg-danger tw:text-danger-foreground tw:shadow-sm tw:hover:bg-danger/90',\n info: 'tw:border tw:border-info tw:bg-info tw:text-info-foreground tw:shadow-sm tw:hover:bg-info/90',\n light: 'tw:border tw:border-light tw:bg-light tw:text-light-foreground tw:shadow-sm tw:hover:bg-light/90',\n dark: 'tw:border tw:border-dark tw:bg-dark tw:text-dark-foreground tw:shadow-sm tw:hover:bg-dark/90',\n accent: 'tw:border tw:border-accent tw:bg-accent tw:text-accent-foreground tw:shadow-sm tw:hover:bg-accent/90',\n destructive:\n 'tw:border tw:border-destructive tw:bg-destructive tw:text-destructive-foreground tw:shadow-sm tw:hover:bg-destructive/90',\n muted: 'tw:border tw:border-muted tw:bg-muted tw:text-muted-foreground tw:shadow-sm tw:hover:bg-muted/90',\n link: 'tw:text-primary tw:underline-offset-4 tw:hover:underline',\n ghost: 'tw:hover:bg-light tw:hover:text-light-foreground',\n },\n size: {\n xs: 'tw:h-7 tw:rounded-xs tw:px-2 tw:text-xs',\n sm: 'tw:h-8 tw:rounded-sm tw:px-3',\n default: 'tw:h-9 tw:px-4 tw:py-2',\n lg: 'tw:h-10 tw:rounded-sm tw:px-7 tw:text-base',\n icon: 'tw:h-9 tw:w-9',\n 'compact-xs': 'tw:h-6 tw:px-2 tw:py-1 tw:text-xs',\n 'compact-sm': 'tw:h-7 tw:px-2 tw:py-1',\n 'compact-default': 'tw:h-8 tw:px-2 tw:py-1',\n 'compact-lg': 'tw:h-9 tw:px-2 tw:py-1 tw:text-base',\n 'compact-icon': 'tw:h-8 tw:w-8',\n },\n appearance: {\n solid: '',\n outline: 'tw:bg-white tw:border',\n 'outline-filled': 'tw:bg-white tw:border',\n },\n loading: {\n true: 'tw:pointer-events-none',\n false: null,\n },\n },\n defaultVariants: {\n variant: 'primary',\n size: 'default',\n appearance: 'solid',\n loading: false,\n },\n },\n);\n\nexport type ButtonVariants = VariantProps<typeof buttonVariants>;\nexport type VariantType = NonNullable<ButtonVariants['variant']>;\nexport type SizeType = NonNullable<ButtonVariants['size']>;\nexport type AppearanceType = NonNullable<ButtonVariants['appearance']>;\n\n@Component({\n selector: 'button[hlmButton], a[hlmButton]',\n standalone: true,\n imports: [BrnButton, HlmSpinner, NgTemplateOutlet],\n hostDirectives: [{ directive: BrnButton, inputs: ['disabled'] }],\n host: {\n '[class]': '_computedClass()',\n '[attr.aria-busy]': 'loading() || null',\n '[attr.disabled]': '(loading() || disabled()) ? true : null',\n '[attr.type]': 'type()',\n },\n template: `\n <ng-template #projected>\n <ng-content></ng-content>\n </ng-template>\n\n @if (loading()) {\n <div class=\"tw:relative tw:inline-flex tw:items-center\">\n <span class=\"tw:invisible\">\n <ng-container *ngTemplateOutlet=\"projected\" />\n </span>\n <span class=\"tw:absolute tw:inset-0 tw:flex tw:items-center tw:justify-center\">\n <hlm-spinner size=\"small\" [spinnerClass]=\"spinnerClass()\" />\n </span>\n </div>\n } @else {\n <div class=\"tw:flex tw:items-center tw:gap-1\">\n @if (icon() && iconPosition() === 'left') {\n <ng-container *ngTemplateOutlet=\"icon()\" />\n }\n <ng-container *ngTemplateOutlet=\"projected\" />\n @if (icon() && iconPosition() === 'right') {\n <ng-container *ngTemplateOutlet=\"icon()\" />\n }\n </div>\n }\n `,\n})\nexport class HlmButton {\n /** Props as signal-based inputs */\n variant = input<VariantType>('primary');\n size = input<SizeType>('default');\n appearance = input<AppearanceType>('solid');\n loading = input<boolean>(false);\n icon = input<any | undefined>(undefined);\n iconPosition = input<'left' | 'right'>('left');\n userClass = input<ClassValue>('');\n spinnerUserClass = input<ClassValue>('');\n disabled = input<boolean>(false);\n type = input<'button' | 'submit' | 'reset'>('button');\n\n private readonly _additionalClasses = signal<ClassValue>('');\n\n /** Computed button class merging */\n protected readonly _computedClass = computed(() => {\n const outlineClasses =\n this.appearance() === 'outline' || this.appearance() === 'outline-filled'\n ? [this.getOutlineClasses(this.variant())]\n : [];\n\n if (this.appearance() === 'outline-filled') {\n outlineClasses.push(this.getOutlineFilledClasses(this.variant()));\n }\n\n return hlm(\n buttonVariants({\n variant: this.variant(),\n size: this.size(),\n appearance: this.appearance(),\n loading: this.loading(),\n className: this.userClass(),\n }),\n outlineClasses,\n this.loading() ? 'tw:pointer-events-none' : '',\n this._additionalClasses(),\n );\n });\n\n /** Computed spinner classes */\n protected readonly spinnerClass = computed(() => {\n const base =\n this.appearance() === 'outline' || this.appearance() === 'outline-filled'\n ? this.getOutlineSpinnerClasses(this.variant())\n : this.getSpinnerClasses(this.variant());\n\n return hlm(base, this.spinnerUserClass());\n });\n\n setClass(classes: string): void {\n this._additionalClasses.set(classes);\n }\n\n /** Helper functions */\n private getOutlineClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'tw:border-primary tw:text-primary tw:shadow-sm tw:hover:bg-primary/10',\n secondary: 'tw:border-secondary tw:text-secondary tw:shadow-sm tw:hover:bg-secondary/10',\n success: 'tw:border-success tw:text-success tw:shadow-sm tw:hover:bg-success/10',\n warning: 'tw:border-warning tw:text-warning tw:shadow-sm tw:hover:bg-warning/10',\n danger: 'tw:border-danger tw:text-danger tw:shadow-sm tw:hover:bg-danger/10',\n info: 'tw:border-info tw:text-info tw:shadow-sm tw:hover:bg-info/10',\n light: 'tw:border-light tw:text-light-foreground tw:shadow-sm tw:hover:bg-light/10',\n dark: 'tw:border-dark tw:text-dark tw:shadow-sm tw:hover:bg-dark/10',\n accent: 'tw:border-accent tw:text-accent tw:shadow-sm tw:hover:bg-accent/10',\n destructive: 'tw:border-destructive tw:text-destructive tw:shadow-sm tw:hover:bg-destructive/10',\n muted: 'tw:border-muted tw:text-muted-foreground tw:shadow-sm tw:hover:bg-muted/10',\n link: 'tw:text-primary',\n ghost: 'tw:text-light-foreground',\n };\n return colors[variant];\n }\n\n private getOutlineFilledClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'tw:hover:bg-primary tw:hover:text-primary-foreground',\n secondary: 'tw:hover:bg-secondary tw:hover:text-secondary-foreground',\n success: 'tw:hover:bg-success tw:hover:text-success-foreground',\n warning: 'tw:hover:bg-warning tw:hover:text-warning-foreground',\n danger: 'tw:hover:bg-danger tw:hover:text-danger-foreground',\n info: 'tw:hover:bg-info tw:hover:text-info-foreground',\n light: 'tw:hover:bg-light tw:hover:text-light-foreground',\n dark: 'tw:hover:bg-dark tw:hover:text-dark-foreground',\n accent: 'tw:hover:bg-accent tw:hover:text-accent-foreground',\n destructive: 'tw:hover:bg-destructive tw:hover:text-destructive-foreground',\n muted: 'tw:hover:bg-muted tw:hover:text-muted-foreground',\n link: 'tw:hover:underline',\n ghost: 'tw:hover:bg-light',\n };\n return colors[variant];\n }\n\n private getSpinnerClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'tw:[&>svg]:text-primary-foreground',\n secondary: 'tw:[&>svg]:text-secondary-foreground',\n success: 'tw:[&>svg]:text-success-foreground',\n warning: 'tw:[&>svg]:text-warning-foreground',\n danger: 'tw:[&>svg]:text-danger-foreground',\n info: 'tw:[&>svg]:text-info-foreground',\n light: 'tw:[&>svg]:text-light-foreground',\n dark: 'tw:[&>svg]:text-dark-foreground',\n accent: 'tw:[&>svg]:text-accent-foreground',\n destructive: 'tw:[&>svg]:text-destructive-foreground',\n muted: 'tw:[&>svg]:text-muted-foreground',\n link: 'tw:[&>svg]:text-primary',\n ghost: 'tw:[&>svg]:text-light-foreground',\n };\n return colors[variant];\n }\n\n private getOutlineSpinnerClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'tw:[&>svg]:text-primary',\n secondary: 'tw:[&>svg]:text-secondary',\n success: 'tw:[&>svg]:text-success',\n warning: 'tw:[&>svg]:text-warning',\n danger: 'tw:[&>svg]:text-danger',\n info: 'tw:[&>svg]:text-info',\n light: 'tw:[&>svg]:text-light',\n dark: 'tw:[&>svg]:text-dark',\n accent: 'tw:[&>svg]:text-accent',\n destructive: 'tw:[&>svg]:text-destructive',\n muted: 'tw:[&>svg]:text-muted-foreground',\n link: 'tw:[&>svg]:text-primary',\n ghost: 'tw:[&>svg]:text-light-foreground',\n };\n return colors[variant];\n }\n}\n","/*\n * Public API Surface of button\n */\n\nimport { NgModule } from '@angular/core';\nimport { HlmButton } from './lib/button';\nexport * from './lib/button';\n\nexport const HlmButtonImports = [HlmButton] as const;\n\n@NgModule({\n imports: [...HlmButtonImports],\n exports: [...HlmButtonImports],\n})\nexport class HlmButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/button/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
2
|
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
3
3
|
import { VariantProps } from 'class-variance-authority';
|
|
4
4
|
import { ClassValue } from 'clsx';
|
|
@@ -6,7 +6,7 @@ import * as i1 from '@spartan-ng/brain/button';
|
|
|
6
6
|
|
|
7
7
|
declare const buttonVariants: (props?: ({
|
|
8
8
|
variant?: "primary" | "secondary" | "success" | "warning" | "danger" | "info" | "light" | "dark" | "accent" | "destructive" | "muted" | "link" | "ghost" | null | undefined;
|
|
9
|
-
size?: "
|
|
9
|
+
size?: "xs" | "sm" | "default" | "lg" | "icon" | "compact-xs" | "compact-sm" | "compact-default" | "compact-lg" | "compact-icon" | null | undefined;
|
|
10
10
|
appearance?: "solid" | "outline" | "outline-filled" | null | undefined;
|
|
11
11
|
loading?: boolean | null | undefined;
|
|
12
12
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
@@ -15,37 +15,37 @@ type VariantType = NonNullable<ButtonVariants['variant']>;
|
|
|
15
15
|
type SizeType = NonNullable<ButtonVariants['size']>;
|
|
16
16
|
type AppearanceType = NonNullable<ButtonVariants['appearance']>;
|
|
17
17
|
declare class HlmButton {
|
|
18
|
-
/** Props */
|
|
19
|
-
variant: VariantType
|
|
20
|
-
size: SizeType
|
|
21
|
-
appearance: AppearanceType
|
|
22
|
-
loading: boolean
|
|
23
|
-
icon
|
|
24
|
-
iconPosition:
|
|
25
|
-
userClass: ClassValue
|
|
26
|
-
spinnerUserClass: ClassValue
|
|
27
|
-
disabled: boolean
|
|
28
|
-
type:
|
|
18
|
+
/** Props as signal-based inputs */
|
|
19
|
+
variant: _angular_core.InputSignal<VariantType>;
|
|
20
|
+
size: _angular_core.InputSignal<SizeType>;
|
|
21
|
+
appearance: _angular_core.InputSignal<AppearanceType>;
|
|
22
|
+
loading: _angular_core.InputSignal<boolean>;
|
|
23
|
+
icon: _angular_core.InputSignal<any>;
|
|
24
|
+
iconPosition: _angular_core.InputSignal<"left" | "right">;
|
|
25
|
+
userClass: _angular_core.InputSignal<ClassValue>;
|
|
26
|
+
spinnerUserClass: _angular_core.InputSignal<ClassValue>;
|
|
27
|
+
disabled: _angular_core.InputSignal<boolean>;
|
|
28
|
+
type: _angular_core.InputSignal<"button" | "submit" | "reset">;
|
|
29
29
|
private readonly _additionalClasses;
|
|
30
30
|
/** Computed button class merging */
|
|
31
|
-
protected readonly _computedClass:
|
|
31
|
+
protected readonly _computedClass: _angular_core.Signal<string>;
|
|
32
32
|
/** Computed spinner classes */
|
|
33
|
-
protected readonly spinnerClass:
|
|
33
|
+
protected readonly spinnerClass: _angular_core.Signal<string>;
|
|
34
34
|
setClass(classes: string): void;
|
|
35
35
|
/** Helper functions */
|
|
36
36
|
private getOutlineClasses;
|
|
37
37
|
private getOutlineFilledClasses;
|
|
38
38
|
private getSpinnerClasses;
|
|
39
39
|
private getOutlineSpinnerClasses;
|
|
40
|
-
static ɵfac:
|
|
41
|
-
static ɵcmp:
|
|
40
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<HlmButton, never>;
|
|
41
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<HlmButton, "button[hlmButton], a[hlmButton]", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconPosition": { "alias": "iconPosition"; "required": false; "isSignal": true; }; "userClass": { "alias": "userClass"; "required": false; "isSignal": true; }; "spinnerUserClass": { "alias": "spinnerUserClass"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof i1.BrnButton; inputs: { "disabled": "disabled"; }; outputs: {}; }]>;
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
declare const HlmButtonImports: readonly [typeof HlmButton];
|
|
45
45
|
declare class HlmButtonModule {
|
|
46
|
-
static ɵfac:
|
|
47
|
-
static ɵmod:
|
|
48
|
-
static ɵinj:
|
|
46
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<HlmButtonModule, never>;
|
|
47
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<HlmButtonModule, never, [typeof HlmButton], [typeof HlmButton]>;
|
|
48
|
+
static ɵinj: _angular_core.ɵɵInjectorDeclaration<HlmButtonModule>;
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
export { HlmButton, HlmButtonImports, HlmButtonModule, buttonVariants };
|
|
@@ -40,8 +40,8 @@ class HlmCalendar {
|
|
|
40
40
|
.config()
|
|
41
41
|
.formatHeader(this._dateAdapter.getMonth(this._calendar().focusedDate()), this._dateAdapter.getYear(this._calendar().focusedDate())), ...(ngDevMode ? [{ debugName: "_heading" }] : []));
|
|
42
42
|
_btnClass = hlm(buttonVariants({ variant: 'ghost' }), 'tw:size-8 tw:p-0 tw:font-normal tw:aria-selected:opacity-100', 'tw:data-[outside]:text-muted-foreground tw:data-[outside]:aria-selected:bg-secondary/50 tw:data-[outside]:aria-selected:text-muted-foreground tw:data-[outside]:opacity-50 tw:data-[outside]:aria-selected:opacity-30', 'tw:data-[today]:bg-secondary tw:data-[today]:text-secondary-foreground', 'tw:data-[selected]:bg-primary tw:data-[selected]:text-primary-foreground tw:data-[selected]:hover:bg-primary tw:data-[selected]:focus:bg-primary tw:data-[selected]:focus:text-primary-foreground', 'tw:data-[disabled]:text-muted-foreground tw:data-[disabled]:opacity-50');
|
|
43
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
44
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
43
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: HlmCalendar, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
44
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.1", type: HlmCalendar, isStandalone: true, selector: "hlm-calendar", inputs: { calendarClass: { classPropertyName: "calendarClass", publicName: "calendarClass", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: false, transformFunction: null }, dateDisabled: { classPropertyName: "dateDisabled", publicName: "dateDisabled", isSignal: true, isRequired: false, transformFunction: null }, weekStartsOn: { classPropertyName: "weekStartsOn", publicName: "weekStartsOn", isSignal: true, isRequired: false, transformFunction: null }, defaultFocusedDate: { classPropertyName: "defaultFocusedDate", publicName: "defaultFocusedDate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { date: "dateChange" }, viewQueries: [{ propertyName: "_calendar", first: true, predicate: BrnCalendar, descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
45
45
|
<div
|
|
46
46
|
brnCalendar
|
|
47
47
|
[min]="min()"
|
|
@@ -112,7 +112,7 @@ class HlmCalendar {
|
|
|
112
112
|
</div>
|
|
113
113
|
`, isInline: true, dependencies: [{ kind: "directive", type: BrnCalendar, selector: "[brnCalendar]", inputs: ["min", "max", "disabled", "date", "dateDisabled", "weekStartsOn", "defaultFocusedDate"], outputs: ["dateChange"] }, { kind: "directive", type: BrnCalendarHeader, selector: "[brnCalendarHeader]", inputs: ["id"] }, { kind: "directive", type: BrnCalendarNextButton, selector: "[brnCalendarNextButton]" }, { kind: "directive", type: BrnCalendarPreviousButton, selector: "[brnCalendarPreviousButton]" }, { kind: "directive", type: BrnCalendarWeekday, selector: "[brnCalendarWeekday]" }, { kind: "directive", type: BrnCalendarWeek, selector: "[brnCalendarWeek]" }, { kind: "directive", type: BrnCalendarCellButton, selector: "button[brnCalendarCellButton]", inputs: ["date"] }, { kind: "directive", type: BrnCalendarCell, selector: "[brnCalendarCell]" }, { kind: "directive", type: BrnCalendarGrid, selector: "[brnCalendarGrid]" }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: HlmIcon, selector: "ng-icon[hlm]", inputs: ["size"] }], viewProviders: [provideIcons({ lucideChevronLeft, lucideChevronRight })], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
114
114
|
}
|
|
115
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
115
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: HlmCalendar, decorators: [{
|
|
116
116
|
type: Component,
|
|
117
117
|
args: [{
|
|
118
118
|
selector: 'hlm-calendar',
|
|
@@ -244,8 +244,8 @@ class HlmCalendarMulti {
|
|
|
244
244
|
.config()
|
|
245
245
|
.formatHeader(this._dateAdapter.getMonth(this._calendar().focusedDate()), this._dateAdapter.getYear(this._calendar().focusedDate())), ...(ngDevMode ? [{ debugName: "_heading" }] : []));
|
|
246
246
|
_btnClass = hlm(buttonVariants({ variant: 'ghost' }), 'tw:size-8 tw:p-0 tw:font-normal tw:aria-selected:opacity-100', 'tw:data-[outside]:text-muted-foreground tw:data-[outside]:aria-selected:bg-accent/50 tw:data-[outside]:aria-selected:text-muted-foreground tw:data-[outside]:opacity-50 tw:data-[outside]:aria-selected:opacity-30', 'tw:data-[today]:bg-accent tw:data-[today]:text-accent-foreground', 'tw:data-[selected]:bg-primary tw:data-[selected]:text-primary-foreground tw:data-[selected]:hover:bg-primary tw:data-[selected]:hover:text-primary-foreground tw:data-[selected]:focus:bg-primary tw:data-[selected]:focus:text-primary-foreground', 'tw:data-[disabled]:text-muted-foreground tw:data-[disabled]:opacity-50');
|
|
247
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
248
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
247
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: HlmCalendarMulti, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
248
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.1", type: HlmCalendarMulti, isStandalone: true, selector: "hlm-calendar-multi", inputs: { calendarClass: { classPropertyName: "calendarClass", publicName: "calendarClass", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, minSelection: { classPropertyName: "minSelection", publicName: "minSelection", isSignal: true, isRequired: false, transformFunction: null }, maxSelection: { classPropertyName: "maxSelection", publicName: "maxSelection", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: false, transformFunction: null }, dateDisabled: { classPropertyName: "dateDisabled", publicName: "dateDisabled", isSignal: true, isRequired: false, transformFunction: null }, weekStartsOn: { classPropertyName: "weekStartsOn", publicName: "weekStartsOn", isSignal: true, isRequired: false, transformFunction: null }, defaultFocusedDate: { classPropertyName: "defaultFocusedDate", publicName: "defaultFocusedDate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { date: "dateChange" }, viewQueries: [{ propertyName: "_calendar", first: true, predicate: BrnCalendarMulti, descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
249
249
|
<div
|
|
250
250
|
brnCalendarMulti
|
|
251
251
|
[min]="min()"
|
|
@@ -318,7 +318,7 @@ class HlmCalendarMulti {
|
|
|
318
318
|
</div>
|
|
319
319
|
`, isInline: true, dependencies: [{ kind: "directive", type: BrnCalendarMulti, selector: "[brnCalendarMulti]", inputs: ["min", "max", "minSelection", "maxSelection", "disabled", "date", "dateDisabled", "weekStartsOn", "defaultFocusedDate"], outputs: ["dateChange"] }, { kind: "directive", type: BrnCalendarHeader, selector: "[brnCalendarHeader]", inputs: ["id"] }, { kind: "directive", type: BrnCalendarNextButton, selector: "[brnCalendarNextButton]" }, { kind: "directive", type: BrnCalendarPreviousButton, selector: "[brnCalendarPreviousButton]" }, { kind: "directive", type: BrnCalendarWeekday, selector: "[brnCalendarWeekday]" }, { kind: "directive", type: BrnCalendarWeek, selector: "[brnCalendarWeek]" }, { kind: "directive", type: BrnCalendarCellButton, selector: "button[brnCalendarCellButton]", inputs: ["date"] }, { kind: "directive", type: BrnCalendarCell, selector: "[brnCalendarCell]" }, { kind: "directive", type: BrnCalendarGrid, selector: "[brnCalendarGrid]" }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: HlmIcon, selector: "ng-icon[hlm]", inputs: ["size"] }], viewProviders: [provideIcons({ lucideChevronLeft, lucideChevronRight })], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
320
320
|
}
|
|
321
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
321
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: HlmCalendarMulti, decorators: [{
|
|
322
322
|
type: Component,
|
|
323
323
|
args: [{
|
|
324
324
|
selector: 'hlm-calendar-multi',
|
|
@@ -446,8 +446,8 @@ class HlmCalendarRange {
|
|
|
446
446
|
.config()
|
|
447
447
|
.formatHeader(this._dateAdapter.getMonth(this._calendar().focusedDate()), this._dateAdapter.getYear(this._calendar().focusedDate())), ...(ngDevMode ? [{ debugName: "_heading" }] : []));
|
|
448
448
|
_btnClass = hlm(buttonVariants({ variant: 'ghost' }), 'tw:size-8 tw:p-0 tw:font-normal tw:aria-selected:opacity-100', 'tw:data-[outside]:text-muted-foreground tw:data-[outside]:aria-selected:text-muted-foreground', 'tw:data-[today]:bg-accent tw:data-[today]:text-accent-foreground', 'tw:data-[selected]:bg-primary tw:data-[selected]:text-primary-foreground tw:data-[selected]:focus:bg-primary tw:data-[selected]:focus:text-primary-foreground', 'tw:data-[disabled]:text-muted-foreground tw:data-[disabled]:opacity-50', 'tw:data-[range-start]:rounded-l-md', 'tw:data-[range-end]:rounded-r-md', 'tw:data-[range-between]:bg-accent tw:data-[range-between]:text-accent-foreground tw:data-[range-between]:rounded-none');
|
|
449
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
450
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
449
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: HlmCalendarRange, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
450
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.1", type: HlmCalendarRange, isStandalone: true, selector: "hlm-calendar-range", inputs: { calendarClass: { classPropertyName: "calendarClass", publicName: "calendarClass", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, startDate: { classPropertyName: "startDate", publicName: "startDate", isSignal: true, isRequired: false, transformFunction: null }, endDate: { classPropertyName: "endDate", publicName: "endDate", isSignal: true, isRequired: false, transformFunction: null }, dateDisabled: { classPropertyName: "dateDisabled", publicName: "dateDisabled", isSignal: true, isRequired: false, transformFunction: null }, weekStartsOn: { classPropertyName: "weekStartsOn", publicName: "weekStartsOn", isSignal: true, isRequired: false, transformFunction: null }, defaultFocusedDate: { classPropertyName: "defaultFocusedDate", publicName: "defaultFocusedDate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { startDate: "startDateChange", endDate: "endDateChange" }, viewQueries: [{ propertyName: "_calendar", first: true, predicate: BrnCalendarRange, descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
451
451
|
<div
|
|
452
452
|
brnCalendarRange
|
|
453
453
|
[min]="min()"
|
|
@@ -519,7 +519,7 @@ class HlmCalendarRange {
|
|
|
519
519
|
</div>
|
|
520
520
|
`, isInline: true, dependencies: [{ kind: "directive", type: BrnCalendarHeader, selector: "[brnCalendarHeader]", inputs: ["id"] }, { kind: "directive", type: BrnCalendarNextButton, selector: "[brnCalendarNextButton]" }, { kind: "directive", type: BrnCalendarPreviousButton, selector: "[brnCalendarPreviousButton]" }, { kind: "directive", type: BrnCalendarWeekday, selector: "[brnCalendarWeekday]" }, { kind: "directive", type: BrnCalendarWeek, selector: "[brnCalendarWeek]" }, { kind: "directive", type: BrnCalendarCellButton, selector: "button[brnCalendarCellButton]", inputs: ["date"] }, { kind: "directive", type: BrnCalendarCell, selector: "[brnCalendarCell]" }, { kind: "directive", type: BrnCalendarGrid, selector: "[brnCalendarGrid]" }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: HlmIcon, selector: "ng-icon[hlm]", inputs: ["size"] }, { kind: "directive", type: BrnCalendarRange, selector: "[brnCalendarRange]", inputs: ["min", "max", "disabled", "dateDisabled", "weekStartsOn", "defaultFocusedDate", "startDate", "endDate"], outputs: ["startDateChange", "endDateChange"] }], viewProviders: [provideIcons({ lucideChevronLeft, lucideChevronRight })], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
521
521
|
}
|
|
522
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
522
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: HlmCalendarRange, decorators: [{
|
|
523
523
|
type: Component,
|
|
524
524
|
args: [{
|
|
525
525
|
selector: 'hlm-calendar-range',
|
|
@@ -617,11 +617,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
|
|
|
617
617
|
*/
|
|
618
618
|
const HlmCalendarImports = [HlmCalendar, HlmCalendarMulti, HlmCalendarRange];
|
|
619
619
|
class HlmCalendarModule {
|
|
620
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
621
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
622
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
620
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: HlmCalendarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
621
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.1", ngImport: i0, type: HlmCalendarModule, imports: [HlmCalendar, HlmCalendarMulti, HlmCalendarRange], exports: [HlmCalendar, HlmCalendarMulti, HlmCalendarRange] });
|
|
622
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: HlmCalendarModule, imports: [HlmCalendarImports] });
|
|
623
623
|
}
|
|
624
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
624
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: HlmCalendarModule, decorators: [{
|
|
625
625
|
type: NgModule,
|
|
626
626
|
args: [{
|
|
627
627
|
imports: [...HlmCalendarImports],
|
|
@@ -16,8 +16,8 @@ class EgConfirmationDiaglog {
|
|
|
16
16
|
close(confirm) {
|
|
17
17
|
this._dialogRef.close(confirm);
|
|
18
18
|
}
|
|
19
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
20
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
19
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: EgConfirmationDiaglog, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.1", type: EgConfirmationDiaglog, isStandalone: true, selector: "ng-component", host: { classAttribute: "tw:w-full tw:p-1" }, providers: [provideIcons({ lucideTriangleAlert })], ngImport: i0, template: `
|
|
21
21
|
<hlm-dialog-header>
|
|
22
22
|
<div class="tw:flex tw:items-center tw:gap-1">
|
|
23
23
|
<ng-icon hlm hlmAlertIcon name="lucideTriangleAlert" size="base" />
|
|
@@ -32,7 +32,7 @@ class EgConfirmationDiaglog {
|
|
|
32
32
|
</hlm-dialog-footer>
|
|
33
33
|
`, isInline: true, dependencies: [{ kind: "component", type: HlmButton, selector: "button[hlmButton], a[hlmButton]", inputs: ["variant", "size", "appearance", "loading", "icon", "iconPosition", "userClass", "spinnerUserClass", "disabled", "type"] }, { kind: "directive", type: HlmDialogDescription, selector: "[hlmDialogDescription]", inputs: ["class"] }, { kind: "component", type: HlmDialogHeader, selector: "hlm-dialog-header", inputs: ["class"] }, { kind: "component", type: HlmDialogFooter, selector: "hlm-dialog-footer", inputs: ["class"] }, { kind: "directive", type: HlmDialogTitle, selector: "[hlmDialogTitle]", inputs: ["class"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: HlmIcon, selector: "ng-icon[hlm]", inputs: ["size"] }] });
|
|
34
34
|
}
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: EgConfirmationDiaglog, decorators: [{
|
|
36
36
|
type: Component,
|
|
37
37
|
args: [{
|
|
38
38
|
imports: [HlmButton, HlmDialogDescription, HlmDialogHeader, HlmDialogFooter, HlmDialogTitle, NgIcon, HlmIcon],
|
|
@@ -73,10 +73,10 @@ class EgConfirmationDialogService {
|
|
|
73
73
|
});
|
|
74
74
|
});
|
|
75
75
|
}
|
|
76
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
77
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
76
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: EgConfirmationDialogService, deps: [{ token: i1.HlmDialogService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
77
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: EgConfirmationDialogService, providedIn: 'root' });
|
|
78
78
|
}
|
|
79
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
79
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: EgConfirmationDialogService, decorators: [{
|
|
80
80
|
type: Injectable,
|
|
81
81
|
args: [{ providedIn: 'root' }]
|
|
82
82
|
}], ctorParameters: () => [{ type: i1.HlmDialogService }] });
|