@egose/shadcn-theme-ng 0.0.13 → 0.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/accordion/fesm2022/accordion.mjs +10 -10
  2. package/alert/fesm2022/alert.mjs +30 -30
  3. package/autocomplete/fesm2022/autocomplete.mjs +11 -11
  4. package/badge/fesm2022/badge.mjs +53 -53
  5. package/basic-alert/fesm2022/basic-alert.mjs +2 -2
  6. package/button/fesm2022/button.mjs +108 -108
  7. package/calendar/fesm2022/calendar.mjs +78 -78
  8. package/checkbox/README.md +64 -0
  9. package/checkbox/fesm2022/checkbox.mjs +146 -0
  10. package/checkbox/fesm2022/checkbox.mjs.map +1 -0
  11. package/checkbox/index.d.ts +55 -0
  12. package/confirmation-dialog/fesm2022/confirmation-dialog.mjs +10 -10
  13. package/date-picker/fesm2022/date-picker.mjs +11 -11
  14. package/dialog/fesm2022/dialog.mjs +9 -9
  15. package/exports.json +1 -1
  16. package/form-checkbox/README.md +64 -0
  17. package/form-checkbox/fesm2022/form-checkbox.mjs +134 -0
  18. package/form-checkbox/fesm2022/form-checkbox.mjs.map +1 -0
  19. package/form-checkbox/index.d.ts +26 -0
  20. package/form-date-picker/fesm2022/form-date-picker.mjs +9 -9
  21. package/form-field/fesm2022/form-field.mjs +3 -3
  22. package/form-field-simple/README.md +64 -0
  23. package/form-field-simple/fesm2022/form-field-simple.mjs +82 -0
  24. package/form-field-simple/fesm2022/form-field-simple.mjs.map +1 -0
  25. package/form-field-simple/index.d.ts +22 -0
  26. package/form-searchable-multiselect/fesm2022/form-searchable-multiselect.mjs +27 -20
  27. package/form-searchable-multiselect/fesm2022/form-searchable-multiselect.mjs.map +1 -1
  28. package/form-select/fesm2022/form-select.mjs +9 -9
  29. package/form-text-input/fesm2022/form-text-input.mjs +9 -9
  30. package/form-textarea/fesm2022/form-textarea.mjs +9 -9
  31. package/input/fesm2022/input.mjs +3 -3
  32. package/label/fesm2022/label.mjs +1 -1
  33. package/package.json +13 -1
  34. package/popover/fesm2022/popover.mjs +2 -2
  35. package/radio-group/fesm2022/radio-group.mjs +5 -5
  36. package/searchable-multiselect/fesm2022/searchable-multiselect.mjs +20 -20
  37. package/select/fesm2022/select.mjs +18 -18
  38. package/separator/fesm2022/separator.mjs +1 -1
  39. package/sonner/fesm2022/sonner.mjs +4 -4
  40. package/spinner/fesm2022/spinner.mjs +6 -6
  41. package/switch/fesm2022/switch.mjs +2 -2
  42. package/tabs/fesm2022/tabs.mjs +12 -12
  43. package/tooltip/fesm2022/tooltip.mjs +5 -5
@@ -0,0 +1,146 @@
1
+ import * as i0 from '@angular/core';
2
+ import { forwardRef, input, computed, model, booleanAttribute, signal, output, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
3
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
+ import { provideIcons, NgIcon } from '@ng-icons/core';
5
+ import { lucideCheck } from '@ng-icons/lucide';
6
+ import { BrnCheckbox } from '@spartan-ng/brain/checkbox';
7
+ import { HlmIcon } from '@egose/shadcn-theme-ng/icon';
8
+ import { hlm } from '@egose/shadcn-theme-ng/utils';
9
+
10
+ const HLM_CHECKBOX_VALUE_ACCESSOR = {
11
+ provide: NG_VALUE_ACCESSOR,
12
+ useExisting: forwardRef(() => HlmCheckbox),
13
+ multi: true,
14
+ };
15
+ class HlmCheckbox {
16
+ userClass = input('', ...(ngDevMode ? [{ debugName: "userClass", alias: 'class' }] : [{ alias: 'class' }]));
17
+ _computedClass = computed(() => hlm('border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive shadow-xs peer size-4 shrink-0 cursor-default rounded-[4px] border outline-none transition-shadow focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50', this.userClass(), this._state().disabled() ? 'cursor-not-allowed opacity-50' : ''), ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
18
+ /** Used to set the id on the underlying brn element. */
19
+ id = input(null, ...(ngDevMode ? [{ debugName: "id" }] : []));
20
+ /** Used to set the aria-label attribute on the underlying brn element. */
21
+ ariaLabel = input(null, ...(ngDevMode ? [{ debugName: "ariaLabel", alias: 'aria-label' }] : [{ alias: 'aria-label' }]));
22
+ /** Used to set the aria-labelledby attribute on the underlying brn element. */
23
+ ariaLabelledby = input(null, ...(ngDevMode ? [{ debugName: "ariaLabelledby", alias: 'aria-labelledby' }] : [{ alias: 'aria-labelledby' }]));
24
+ /** Used to set the aria-describedby attribute on the underlying brn element. */
25
+ ariaDescribedby = input(null, ...(ngDevMode ? [{ debugName: "ariaDescribedby", alias: 'aria-describedby' }] : [{ alias: 'aria-describedby' }]));
26
+ /** The checked state of the checkbox. */
27
+ checked = model(false, ...(ngDevMode ? [{ debugName: "checked" }] : []));
28
+ /** The name attribute of the checkbox. */
29
+ name = input(null, ...(ngDevMode ? [{ debugName: "name" }] : []));
30
+ /** Whether the checkbox is required. */
31
+ required = input(false, ...(ngDevMode ? [{ debugName: "required", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
32
+ /** Whether the checkbox is disabled. */
33
+ disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
34
+ _state = computed(() => ({
35
+ disabled: signal(this.disabled()),
36
+ }), ...(ngDevMode ? [{ debugName: "_state" }] : []));
37
+ changed = output();
38
+ _onChange;
39
+ _onTouched;
40
+ _handleChange() {
41
+ if (this._state().disabled())
42
+ return;
43
+ const previousChecked = this.checked();
44
+ this.checked.set(previousChecked === 'indeterminate' ? true : !previousChecked);
45
+ this._onChange?.(!previousChecked);
46
+ this.changed.emit(!previousChecked);
47
+ }
48
+ /** CONTROL VALUE ACCESSOR */
49
+ writeValue(value) {
50
+ this.checked.set(!!value);
51
+ }
52
+ registerOnChange(fn) {
53
+ this._onChange = fn;
54
+ }
55
+ registerOnTouched(fn) {
56
+ this._onTouched = fn;
57
+ }
58
+ setDisabledState(isDisabled) {
59
+ this._state().disabled.set(isDisabled);
60
+ }
61
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: HlmCheckbox, deps: [], target: i0.ɵɵFactoryTarget.Component });
62
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.1", type: HlmCheckbox, isStandalone: true, selector: "hlm-checkbox", inputs: { userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedby: { classPropertyName: "ariaDescribedby", publicName: "aria-describedby", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checked: "checkedChange", changed: "changed" }, host: { properties: { "attr.id": "null", "attr.aria-label": "null", "attr.aria-labelledby": "null", "attr.aria-describedby": "null", "attr.data-disabled": "_state().disabled() ? \"\" : null" }, classAttribute: "contents peer" }, providers: [HLM_CHECKBOX_VALUE_ACCESSOR], ngImport: i0, template: `
63
+ <brn-checkbox
64
+ [id]="id()"
65
+ [name]="name()"
66
+ [class]="_computedClass()"
67
+ [checked]="checked()"
68
+ [disabled]="_state().disabled()"
69
+ [required]="required()"
70
+ [aria-label]="ariaLabel()"
71
+ [aria-labelledby]="ariaLabelledby()"
72
+ [aria-describedby]="ariaDescribedby()"
73
+ (changed)="_handleChange()"
74
+ (touched)="_onTouched?.()"
75
+ >
76
+ @if (checked()) {
77
+ <span class="flex items-center justify-center text-current transition-none">
78
+ <ng-icon hlm size="14px" name="lucideCheck" />
79
+ </span>
80
+ }
81
+ </brn-checkbox>
82
+ `, isInline: true, dependencies: [{ kind: "component", type: BrnCheckbox, selector: "brn-checkbox", inputs: ["checked", "id", "name", "class", "aria-label", "aria-labelledby", "aria-describedby", "required", "disabled"], outputs: ["checkedChange", "changed", "touched"] }, { 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({ lucideCheck })], changeDetection: i0.ChangeDetectionStrategy.OnPush });
83
+ }
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: HlmCheckbox, decorators: [{
85
+ type: Component,
86
+ args: [{
87
+ selector: 'hlm-checkbox',
88
+ imports: [BrnCheckbox, NgIcon, HlmIcon],
89
+ template: `
90
+ <brn-checkbox
91
+ [id]="id()"
92
+ [name]="name()"
93
+ [class]="_computedClass()"
94
+ [checked]="checked()"
95
+ [disabled]="_state().disabled()"
96
+ [required]="required()"
97
+ [aria-label]="ariaLabel()"
98
+ [aria-labelledby]="ariaLabelledby()"
99
+ [aria-describedby]="ariaDescribedby()"
100
+ (changed)="_handleChange()"
101
+ (touched)="_onTouched?.()"
102
+ >
103
+ @if (checked()) {
104
+ <span class="flex items-center justify-center text-current transition-none">
105
+ <ng-icon hlm size="14px" name="lucideCheck" />
106
+ </span>
107
+ }
108
+ </brn-checkbox>
109
+ `,
110
+ host: {
111
+ class: 'contents peer',
112
+ '[attr.id]': 'null',
113
+ '[attr.aria-label]': 'null',
114
+ '[attr.aria-labelledby]': 'null',
115
+ '[attr.aria-describedby]': 'null',
116
+ '[attr.data-disabled]': '_state().disabled() ? "" : null',
117
+ },
118
+ providers: [HLM_CHECKBOX_VALUE_ACCESSOR],
119
+ viewProviders: [provideIcons({ lucideCheck })],
120
+ changeDetection: ChangeDetectionStrategy.OnPush,
121
+ }]
122
+ }] });
123
+
124
+ /*
125
+ * Public API Surface of checkbox
126
+ */
127
+ const HlmCheckboxImports = [HlmCheckbox];
128
+ class HlmCheckboxModule {
129
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: HlmCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
130
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.1", ngImport: i0, type: HlmCheckboxModule, imports: [HlmCheckbox], exports: [HlmCheckbox] });
131
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: HlmCheckboxModule, imports: [HlmCheckboxImports] });
132
+ }
133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: HlmCheckboxModule, decorators: [{
134
+ type: NgModule,
135
+ args: [{
136
+ imports: [...HlmCheckboxImports],
137
+ exports: [...HlmCheckboxImports],
138
+ }]
139
+ }] });
140
+
141
+ /**
142
+ * Generated bundle index. Do not edit.
143
+ */
144
+
145
+ export { HLM_CHECKBOX_VALUE_ACCESSOR, HlmCheckbox, HlmCheckboxImports, HlmCheckboxModule };
146
+ //# sourceMappingURL=checkbox.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox.mjs","sources":["../../../projects/checkbox/src/lib/checkbox.ts","../../../projects/checkbox/src/public-api.ts","../../../projects/checkbox/src/checkbox.ts"],"sourcesContent":["import { BooleanInput } from '@angular/cdk/coercion';\nimport {\n ChangeDetectionStrategy,\n Component,\n booleanAttribute,\n computed,\n forwardRef,\n input,\n model,\n output,\n signal,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideCheck } from '@ng-icons/lucide';\nimport { BrnCheckbox } from '@spartan-ng/brain/checkbox';\nimport type { ChangeFn, TouchFn } from '@spartan-ng/brain/forms';\nimport { HlmIcon } from '@egose/shadcn-theme-ng/icon';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\n\nexport const HLM_CHECKBOX_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => HlmCheckbox),\n multi: true,\n};\n\n@Component({\n selector: 'hlm-checkbox',\n imports: [BrnCheckbox, NgIcon, HlmIcon],\n template: `\n <brn-checkbox\n [id]=\"id()\"\n [name]=\"name()\"\n [class]=\"_computedClass()\"\n [checked]=\"checked()\"\n [disabled]=\"_state().disabled()\"\n [required]=\"required()\"\n [aria-label]=\"ariaLabel()\"\n [aria-labelledby]=\"ariaLabelledby()\"\n [aria-describedby]=\"ariaDescribedby()\"\n (changed)=\"_handleChange()\"\n (touched)=\"_onTouched?.()\"\n >\n @if (checked()) {\n <span class=\"tw:flex tw:items-center tw:justify-center tw:text-current tw:transition-none\">\n <ng-icon hlm size=\"14px\" name=\"lucideCheck\" />\n </span>\n }\n </brn-checkbox>\n `,\n host: {\n class: 'contents peer',\n '[attr.id]': 'null',\n '[attr.aria-label]': 'null',\n '[attr.aria-labelledby]': 'null',\n '[attr.aria-describedby]': 'null',\n '[attr.data-disabled]': '_state().disabled() ? \"\" : null',\n },\n providers: [HLM_CHECKBOX_VALUE_ACCESSOR],\n viewProviders: [provideIcons({ lucideCheck })],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmCheckbox implements ControlValueAccessor {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly _computedClass = computed(() =>\n hlm(\n 'tw:border-input tw:dark:bg-input/30 tw:data-[state=checked]:bg-primary tw:data-[state=checked]:text-primary-foreground tw:dark:data-[state=checked]:bg-primary tw:data-[state=checked]:border-primary tw:focus-visible:border-ring tw:focus-visible:ring-ring/50 tw:aria-invalid:ring-destructive/20 tw:dark:aria-invalid:ring-destructive/40 tw:aria-invalid:border-destructive tw:shadow-xs tw:peer tw:size-4 tw:shrink-0 tw:cursor-default tw:rounded-[4px] tw:border tw:outline-none tw:transition-shadow tw:focus-visible:ring-[3px] tw:disabled:cursor-not-allowed tw:disabled:opacity-50',\n this.userClass(),\n this._state().disabled() ? 'tw:cursor-not-allowed tw:opacity-50' : '',\n ),\n );\n\n /** Used to set the id on the underlying brn element. */\n public readonly id = input<string | null>(null);\n\n /** Used to set the aria-label attribute on the underlying brn element. */\n public readonly ariaLabel = input<string | null>(null, { alias: 'aria-label' });\n\n /** Used to set the aria-labelledby attribute on the underlying brn element. */\n public readonly ariaLabelledby = input<string | null>(null, { alias: 'aria-labelledby' });\n\n /** Used to set the aria-describedby attribute on the underlying brn element. */\n public readonly ariaDescribedby = input<string | null>(null, { alias: 'aria-describedby' });\n\n /** The checked state of the checkbox. */\n public readonly checked = model<CheckboxValue>(false);\n\n /** The name attribute of the checkbox. */\n public readonly name = input<string | null>(null);\n\n /** Whether the checkbox is required. */\n public readonly required = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n /** Whether the checkbox is disabled. */\n public readonly disabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n protected readonly _state = computed(() => ({\n disabled: signal(this.disabled()),\n }));\n\n public readonly changed = output<boolean>();\n\n protected _onChange?: ChangeFn<CheckboxValue>;\n protected _onTouched?: TouchFn;\n\n protected _handleChange(): void {\n if (this._state().disabled()) return;\n\n const previousChecked = this.checked();\n this.checked.set(previousChecked === 'indeterminate' ? true : !previousChecked);\n this._onChange?.(!previousChecked);\n this.changed.emit(!previousChecked);\n }\n\n /** CONTROL VALUE ACCESSOR */\n writeValue(value: CheckboxValue): void {\n this.checked.set(!!value);\n }\n\n registerOnChange(fn: ChangeFn<CheckboxValue>): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: TouchFn): void {\n this._onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._state().disabled.set(isDisabled);\n }\n}\n\ntype CheckboxValue = boolean | 'indeterminate';\n","/*\n * Public API Surface of checkbox\n */\n\nimport { NgModule } from '@angular/core';\n\nimport { HlmCheckbox } from './lib/checkbox';\n\nexport * from './lib/checkbox';\n\nexport const HlmCheckboxImports = [HlmCheckbox] as const;\n@NgModule({\n imports: [...HlmCheckboxImports],\n exports: [...HlmCheckboxImports],\n})\nexport class HlmCheckboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { BooleanInput } from '@angular/cdk/coercion';
3
+ import { ControlValueAccessor } from '@angular/forms';
4
+ import { ChangeFn, TouchFn } from '@spartan-ng/brain/forms';
5
+ import { ClassValue } from 'clsx';
6
+
7
+ declare const HLM_CHECKBOX_VALUE_ACCESSOR: {
8
+ provide: _angular_core.InjectionToken<readonly ControlValueAccessor[]>;
9
+ useExisting: _angular_core.Type<any>;
10
+ multi: boolean;
11
+ };
12
+ declare class HlmCheckbox implements ControlValueAccessor {
13
+ readonly userClass: _angular_core.InputSignal<ClassValue>;
14
+ protected readonly _computedClass: _angular_core.Signal<string>;
15
+ /** Used to set the id on the underlying brn element. */
16
+ readonly id: _angular_core.InputSignal<string | null>;
17
+ /** Used to set the aria-label attribute on the underlying brn element. */
18
+ readonly ariaLabel: _angular_core.InputSignal<string | null>;
19
+ /** Used to set the aria-labelledby attribute on the underlying brn element. */
20
+ readonly ariaLabelledby: _angular_core.InputSignal<string | null>;
21
+ /** Used to set the aria-describedby attribute on the underlying brn element. */
22
+ readonly ariaDescribedby: _angular_core.InputSignal<string | null>;
23
+ /** The checked state of the checkbox. */
24
+ readonly checked: _angular_core.ModelSignal<CheckboxValue>;
25
+ /** The name attribute of the checkbox. */
26
+ readonly name: _angular_core.InputSignal<string | null>;
27
+ /** Whether the checkbox is required. */
28
+ readonly required: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
29
+ /** Whether the checkbox is disabled. */
30
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
31
+ protected readonly _state: _angular_core.Signal<{
32
+ disabled: _angular_core.WritableSignal<boolean>;
33
+ }>;
34
+ readonly changed: _angular_core.OutputEmitterRef<boolean>;
35
+ protected _onChange?: ChangeFn<CheckboxValue>;
36
+ protected _onTouched?: TouchFn;
37
+ protected _handleChange(): void;
38
+ /** CONTROL VALUE ACCESSOR */
39
+ writeValue(value: CheckboxValue): void;
40
+ registerOnChange(fn: ChangeFn<CheckboxValue>): void;
41
+ registerOnTouched(fn: TouchFn): void;
42
+ setDisabledState(isDisabled: boolean): void;
43
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<HlmCheckbox, never>;
44
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<HlmCheckbox, "hlm-checkbox", never, { "userClass": { "alias": "class"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "ariaLabelledby": { "alias": "aria-labelledby"; "required": false; "isSignal": true; }; "ariaDescribedby": { "alias": "aria-describedby"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; "changed": "changed"; }, never, never, true, never>;
45
+ }
46
+ type CheckboxValue = boolean | 'indeterminate';
47
+
48
+ declare const HlmCheckboxImports: readonly [typeof HlmCheckbox];
49
+ declare class HlmCheckboxModule {
50
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<HlmCheckboxModule, never>;
51
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<HlmCheckboxModule, never, [typeof HlmCheckbox], [typeof HlmCheckbox]>;
52
+ static ɵinj: _angular_core.ɵɵInjectorDeclaration<HlmCheckboxModule>;
53
+ }
54
+
55
+ export { HLM_CHECKBOX_VALUE_ACCESSOR, HlmCheckbox, HlmCheckboxImports, HlmCheckboxModule };
@@ -17,16 +17,16 @@ class EgConfirmationDiaglog {
17
17
  this._dialogRef.close(confirm);
18
18
  }
19
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: `
20
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.1", type: EgConfirmationDiaglog, isStandalone: true, selector: "ng-component", host: { classAttribute: "w-full p-1" }, providers: [provideIcons({ lucideTriangleAlert })], ngImport: i0, template: `
21
21
  <hlm-dialog-header>
22
- <div class="tw:flex tw:items-center tw:gap-1">
22
+ <div class="flex items-center gap-1">
23
23
  <ng-icon hlm hlmAlertIcon name="lucideTriangleAlert" size="base" />
24
- <h3 hlmDialogTitle class="tw:text-xl">{{ _title }}</h3>
24
+ <h3 hlmDialogTitle class="text-xl">{{ _title }}</h3>
25
25
  </div>
26
- <p hlmDialogDescription class="tw:text-base tw:text-gray-700">{{ _description }}</p>
26
+ <p hlmDialogDescription class="text-base text-gray-700">{{ _description }}</p>
27
27
  </hlm-dialog-header>
28
28
 
29
- <hlm-dialog-footer class="tw:mt-4">
29
+ <hlm-dialog-footer class="mt-4">
30
30
  <button hlmButton variant="secondary" appearance="outline" (click)="close(false)">Cancel</button>
31
31
  <button hlmButton variant="danger" (click)="close(true)">Confirm</button>
32
32
  </hlm-dialog-footer>
@@ -40,20 +40,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
40
40
  providers: [provideIcons({ lucideTriangleAlert })],
41
41
  template: `
42
42
  <hlm-dialog-header>
43
- <div class="tw:flex tw:items-center tw:gap-1">
43
+ <div class="flex items-center gap-1">
44
44
  <ng-icon hlm hlmAlertIcon name="lucideTriangleAlert" size="base" />
45
- <h3 hlmDialogTitle class="tw:text-xl">{{ _title }}</h3>
45
+ <h3 hlmDialogTitle class="text-xl">{{ _title }}</h3>
46
46
  </div>
47
- <p hlmDialogDescription class="tw:text-base tw:text-gray-700">{{ _description }}</p>
47
+ <p hlmDialogDescription class="text-base text-gray-700">{{ _description }}</p>
48
48
  </hlm-dialog-header>
49
49
 
50
- <hlm-dialog-footer class="tw:mt-4">
50
+ <hlm-dialog-footer class="mt-4">
51
51
  <button hlmButton variant="secondary" appearance="outline" (click)="close(false)">Cancel</button>
52
52
  <button hlmButton variant="danger" (click)="close(true)">Confirm</button>
53
53
  </hlm-dialog-footer>
54
54
  `,
55
55
  host: {
56
- class: 'tw:w-full tw:p-1',
56
+ class: 'w-full p-1',
57
57
  },
58
58
  }]
59
59
  }] });
@@ -35,7 +35,7 @@ let nextId$2 = 0;
35
35
  class HlmDatePicker extends BrnFormFieldControl {
36
36
  _config = injectHlmDatePickerConfig();
37
37
  userClass = input('', ...(ngDevMode ? [{ debugName: "userClass", alias: 'class' }] : [{ alias: 'class' }]));
38
- _computedClass = computed(() => hlm('tw:ring-offset-background tw:border-input tw:bg-background tw:hover:bg-input/50 tw:dark:bg-input/10 tw:dark:hover:bg-input/50 tw:inline-flex tw:h-9 tw:w-full tw:cursor-default tw:items-center tw:justify-between tw:gap-2 tw:whitespace-nowrap tw:rounded-md tw:border tw:px-3 tw:py-2 tw:text-left tw:text-sm tw:font-normal tw:transition-all tw:disabled:pointer-events-none tw:disabled:opacity-50', 'tw:focus-visible:ring-ring tw:focus-visible:outline-none tw:focus-visible:ring-2 tw:focus-visible:ring-offset-2', 'tw:disabled:pointer-events-none tw:disabled:opacity-50', 'tw:[&_ng-icon]:pointer-events-none tw:[&_ng-icon]:shrink-0', this.userClass()), ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
38
+ _computedClass = computed(() => hlm('ring-offset-background border-input bg-background hover:bg-input/50 dark:bg-input/10 dark:hover:bg-input/50 inline-flex h-9 w-full cursor-default items-center justify-between gap-2 whitespace-nowrap rounded-md border px-3 py-2 text-left text-sm font-normal transition-all disabled:pointer-events-none disabled:opacity-50', 'focus-visible:ring-ring focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2', 'disabled:pointer-events-none disabled:opacity-50', '[&_ng-icon]:pointer-events-none [&_ng-icon]:shrink-0', this.userClass()), ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
39
39
  /** The id of the button that opens the date picker. */
40
40
  buttonId = input(`hlm-date-picker-${nextId$2++}`, ...(ngDevMode ? [{ debugName: "buttonId" }] : []));
41
41
  /** The minimum date that can be selected.*/
@@ -124,9 +124,9 @@ class HlmDatePicker extends BrnFormFieldControl {
124
124
  <ng-icon hlm size="sm" name="lucideChevronDown" />
125
125
  </button>
126
126
 
127
- <div hlmPopoverContent class="tw:w-auto tw:p-0" *brnPopoverContent="let ctx">
127
+ <div hlmPopoverContent class="w-auto p-0" *brnPopoverContent="let ctx">
128
128
  <hlm-calendar
129
- calendarClass="tw:border-0 tw:rounded-none"
129
+ calendarClass="border-0 rounded-none"
130
130
  [date]="_mutableDate()"
131
131
  [min]="min()"
132
132
  [max]="max()"
@@ -170,9 +170,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
170
170
  <ng-icon hlm size="sm" name="lucideChevronDown" />
171
171
  </button>
172
172
 
173
- <div hlmPopoverContent class="tw:w-auto tw:p-0" *brnPopoverContent="let ctx">
173
+ <div hlmPopoverContent class="w-auto p-0" *brnPopoverContent="let ctx">
174
174
  <hlm-calendar
175
- calendarClass="tw:border-0 tw:rounded-none"
175
+ calendarClass="border-0 rounded-none"
176
176
  [date]="_mutableDate()"
177
177
  [min]="min()"
178
178
  [max]="max()"
@@ -214,7 +214,7 @@ let nextId$1 = 0;
214
214
  class HlmDatePickerMulti {
215
215
  _config = injectHlmDatePickerMultiConfig();
216
216
  userClass = input('', ...(ngDevMode ? [{ debugName: "userClass", alias: 'class' }] : [{ alias: 'class' }]));
217
- _computedClass = computed(() => hlm('tw:ring-offset-background tw:border-input tw:bg-background tw:hover:bg-accent tw:dark:bg-input/30 tw:dark:hover:bg-input/50 tw:inline-flex tw:h-9 tw:w-[280px] tw:cursor-default tw:items-center tw:justify-between tw:gap-2 tw:whitespace-nowrap tw:rounded-md tw:border tw:px-3 tw:py-2 tw:text-left tw:text-sm tw:font-normal tw:transition-all tw:disabled:pointer-events-none tw:disabled:opacity-50', 'tw:focus-visible:ring-ring tw:focus-visible:outline-none tw:focus-visible:ring-2 tw:focus-visible:ring-offset-2', 'tw:disabled:pointer-events-none tw:disabled:opacity-50', 'tw:[&_ng-icon]:pointer-events-none tw:[&_ng-icon]:shrink-0', this.userClass()), ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
217
+ _computedClass = computed(() => hlm('ring-offset-background border-input bg-background hover:bg-accent dark:bg-input/30 dark:hover:bg-input/50 inline-flex h-9 w-[280px] cursor-default items-center justify-between gap-2 whitespace-nowrap rounded-md border px-3 py-2 text-left text-sm font-normal transition-all disabled:pointer-events-none disabled:opacity-50', 'focus-visible:ring-ring focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2', 'disabled:pointer-events-none disabled:opacity-50', '[&_ng-icon]:pointer-events-none [&_ng-icon]:shrink-0', this.userClass()), ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
218
218
  /** The id of the button that opens the date picker. */
219
219
  buttonId = input(`hlm-date-picker-multi-${nextId$1++}`, ...(ngDevMode ? [{ debugName: "buttonId" }] : []));
220
220
  /** The minimum date that can be selected.*/
@@ -396,7 +396,7 @@ let nextId = 0;
396
396
  class HlmDateRangePicker {
397
397
  _config = injectHlmDateRangePickerConfig();
398
398
  userClass = input('', ...(ngDevMode ? [{ debugName: "userClass", alias: 'class' }] : [{ alias: 'class' }]));
399
- _computedClass = computed(() => hlm('tw:ring-offset-background tw:border-input tw:bg-background tw:hover:bg-accent tw:dark:bg-input/30 tw:dark:hover:bg-input/50 tw:inline-flex tw:h-9 tw:w-[280px] tw:cursor-default tw:items-center tw:justify-between tw:gap-2 tw:whitespace-nowrap tw:rounded-md tw:border tw:px-3 tw:py-2 tw:text-left tw:text-sm tw:font-normal tw:transition-all tw:disabled:pointer-events-none tw:disabled:opacity-50', 'tw:focus-visible:ring-ring tw:focus-visible:outline-none tw:focus-visible:ring-2 tw:focus-visible:ring-offset-2', 'tw:disabled:pointer-events-none tw:disabled:opacity-50', 'tw:[&_ng-icon]:pointer-events-none tw:[&_ng-icon]:shrink-0', this.userClass()), ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
399
+ _computedClass = computed(() => hlm('ring-offset-background border-input bg-background hover:bg-accent dark:bg-input/30 dark:hover:bg-input/50 inline-flex h-9 w-[280px] cursor-default items-center justify-between gap-2 whitespace-nowrap rounded-md border px-3 py-2 text-left text-sm font-normal transition-all disabled:pointer-events-none disabled:opacity-50', 'focus-visible:ring-ring focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2', 'disabled:pointer-events-none disabled:opacity-50', '[&_ng-icon]:pointer-events-none [&_ng-icon]:shrink-0', this.userClass()), ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
400
400
  /** The id of the button that opens the date picker. */
401
401
  buttonId = input(`hlm-date-picker-range-${nextId++}`, ...(ngDevMode ? [{ debugName: "buttonId" }] : []));
402
402
  /** The minimum date that can be selected.*/
@@ -507,9 +507,9 @@ class HlmDateRangePicker {
507
507
  <ng-icon hlm size="sm" name="lucideChevronDown" />
508
508
  </button>
509
509
 
510
- <div hlmPopoverContent class="tw:w-auto tw:p-0" *brnPopoverContent="let ctx">
510
+ <div hlmPopoverContent class="w-auto p-0" *brnPopoverContent="let ctx">
511
511
  <hlm-calendar-range
512
- calendarClass="tw:border-0 tw:rounded-none"
512
+ calendarClass="border-0 rounded-none"
513
513
  [startDate]="_start()"
514
514
  [endDate]="_end()"
515
515
  [min]="min()"
@@ -553,9 +553,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
553
553
  <ng-icon hlm size="sm" name="lucideChevronDown" />
554
554
  </button>
555
555
 
556
- <div hlmPopoverContent class="tw:w-auto tw:p-0" *brnPopoverContent="let ctx">
556
+ <div hlmPopoverContent class="w-auto p-0" *brnPopoverContent="let ctx">
557
557
  <hlm-calendar-range
558
- calendarClass="tw:border-0 tw:rounded-none"
558
+ calendarClass="border-0 rounded-none"
559
559
  [startDate]="_start()"
560
560
  [endDate]="_end()"
561
561
  [min]="min()"
@@ -9,7 +9,7 @@ import { NgIcon, provideIcons } from '@ng-icons/core';
9
9
  import { lucideX } from '@ng-icons/lucide';
10
10
  import { HlmIcon } from '@egose/shadcn-theme-ng/icon';
11
11
 
12
- const hlmDialogOverlayClass = 'tw:data-[state=open]:animate-in tw:data-[state=closed]:animate-out tw:data-[state=closed]:fade-out-0 tw:data-[state=open]:fade-in-0 tw:bg-black/50';
12
+ const hlmDialogOverlayClass = 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 bg-black/50';
13
13
  class HlmDialogOverlay {
14
14
  _classSettable = injectCustomClassSettable({ optional: true, host: true });
15
15
  userClass = input('', ...(ngDevMode ? [{ debugName: "userClass", alias: 'class' }] : [{ alias: 'class' }]));
@@ -71,7 +71,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
71
71
 
72
72
  class HlmDialogClose {
73
73
  userClass = input('', ...(ngDevMode ? [{ debugName: "userClass", alias: 'class' }] : [{ alias: 'class' }]));
74
- _computedClass = computed(() => hlm('tw:ring-offset-background tw:focus:ring-ring tw:data-[state=open]:bg-accent tw:data-[state=open]:text-muted-foreground tw:rounded-xs tw:absolute tw:right-4 tw:top-4 tw:flex tw:items-center tw:justify-center tw:opacity-70 tw:transition-opacity tw:hover:opacity-100 tw:focus:outline-none tw:focus:ring-2 tw:focus:ring-offset-2 tw:disabled:pointer-events-none tw:[&_ng-icon]:shrink-0', this.userClass()), ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
74
+ _computedClass = computed(() => hlm('ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground rounded-xs absolute right-4 top-4 flex items-center justify-center opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-offset-2 disabled:pointer-events-none [&_ng-icon]:shrink-0', this.userClass()), ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
75
75
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: HlmDialogClose, deps: [], target: i0.ɵɵFactoryTarget.Directive });
76
76
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.1", type: HlmDialogClose, isStandalone: true, selector: "[hlmDialogClose],[brnDialogClose][hlm]", inputs: { userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()" } }, ngImport: i0 });
77
77
  }
@@ -92,7 +92,7 @@ class HlmDialogContent {
92
92
  component = this._dialogContext?.$component;
93
93
  _dynamicComponentClass = this._dialogContext?.$dynamicComponentClass;
94
94
  userClass = input('', ...(ngDevMode ? [{ debugName: "userClass", alias: 'class' }] : [{ alias: 'class' }]));
95
- _computedClass = computed(() => hlm('tw:bg-background tw:data-[state=open]:animate-in tw:data-[state=closed]:animate-out tw:data-[state=closed]:fade-out-0 tw:data-[state=open]:fade-in-0 tw:data-[state=closed]:zoom-out-95 tw:data-[state=open]:zoom-in-95 tw:relative tw:z-50 tw:mx-auto tw:grid tw:w-full tw:max-w-[calc(100%-2rem)] tw:gap-4 tw:rounded-lg tw:border tw:p-6 tw:shadow-lg tw:data-[state=closed]:duration-200 tw:data-[state=open]:duration-200 tw:sm:mx-0 tw:sm:max-w-lg', this.userClass(), this._dynamicComponentClass), ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
95
+ _computedClass = computed(() => hlm('bg-background 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 relative z-50 mx-auto grid w-full max-w-[calc(100%-2rem)] gap-4 rounded-lg border p-6 shadow-lg data-[state=closed]:duration-200 data-[state=open]:duration-200 sm:mx-0 sm:max-w-lg', this.userClass(), this._dynamicComponentClass), ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
96
96
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: HlmDialogContent, deps: [], target: i0.ɵɵFactoryTarget.Component });
97
97
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.1", type: HlmDialogContent, isStandalone: true, selector: "hlm-dialog-content", inputs: { userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()", "attr.data-state": "state()" } }, providers: [provideIcons({ lucideX })], ngImport: i0, template: `
98
98
  @if (component) {
@@ -102,7 +102,7 @@ class HlmDialogContent {
102
102
  }
103
103
 
104
104
  <button brnDialogClose hlm>
105
- <span class="tw:sr-only">Close</span>
105
+ <span class="sr-only">Close</span>
106
106
  <ng-icon hlm size="sm" name="lucideX" />
107
107
  </button>
108
108
  `, isInline: true, dependencies: [{ kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "directive", type: BrnDialogClose, selector: "button[brnDialogClose]", inputs: ["delay"] }, { kind: "directive", type: HlmDialogClose, selector: "[hlmDialogClose],[brnDialogClose][hlm]", 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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
@@ -125,7 +125,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
125
125
  }
126
126
 
127
127
  <button brnDialogClose hlm>
128
- <span class="tw:sr-only">Close</span>
128
+ <span class="sr-only">Close</span>
129
129
  <ng-icon hlm size="sm" name="lucideX" />
130
130
  </button>
131
131
  `,
@@ -136,7 +136,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
136
136
 
137
137
  class HlmDialogDescription {
138
138
  userClass = input('', ...(ngDevMode ? [{ debugName: "userClass", alias: 'class' }] : [{ alias: 'class' }]));
139
- _computedClass = computed(() => hlm('tw:text-muted-foreground tw:text-sm', this.userClass()), ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
139
+ _computedClass = computed(() => hlm('text-muted-foreground text-sm', this.userClass()), ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
140
140
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: HlmDialogDescription, deps: [], target: i0.ɵɵFactoryTarget.Directive });
141
141
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.1", type: HlmDialogDescription, isStandalone: true, selector: "[hlmDialogDescription]", inputs: { userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()" } }, hostDirectives: [{ directive: i1.BrnDialogDescription }], ngImport: i0 });
142
142
  }
@@ -153,7 +153,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
153
153
 
154
154
  class HlmDialogFooter {
155
155
  userClass = input('', ...(ngDevMode ? [{ debugName: "userClass", alias: 'class' }] : [{ alias: 'class' }]));
156
- _computedClass = computed(() => hlm('tw:flex tw:flex-col-reverse tw:gap-2 tw:sm:flex-row tw:sm:justify-end', this.userClass()), ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
156
+ _computedClass = computed(() => hlm('flex flex-col-reverse gap-2 sm:flex-row sm:justify-end', this.userClass()), ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
157
157
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: HlmDialogFooter, deps: [], target: i0.ɵɵFactoryTarget.Component });
158
158
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.1", type: HlmDialogFooter, isStandalone: true, selector: "hlm-dialog-footer", inputs: { userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()" } }, ngImport: i0, template: ` <ng-content /> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
159
159
  }
@@ -171,7 +171,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
171
171
 
172
172
  class HlmDialogHeader {
173
173
  userClass = input('', ...(ngDevMode ? [{ debugName: "userClass", alias: 'class' }] : [{ alias: 'class' }]));
174
- _computedClass = computed(() => hlm('tw:flex tw:flex-col tw:gap-2 tw:text-center tw:sm:text-left', this.userClass()), ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
174
+ _computedClass = computed(() => hlm('flex flex-col gap-2 text-center sm:text-left', this.userClass()), ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
175
175
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: HlmDialogHeader, deps: [], target: i0.ɵɵFactoryTarget.Component });
176
176
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.1", type: HlmDialogHeader, isStandalone: true, selector: "hlm-dialog-header", inputs: { userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()" } }, ngImport: i0, template: ` <ng-content /> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
177
177
  }
@@ -189,7 +189,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
189
189
 
190
190
  class HlmDialogTitle {
191
191
  userClass = input('', ...(ngDevMode ? [{ debugName: "userClass", alias: 'class' }] : [{ alias: 'class' }]));
192
- _computedClass = computed(() => hlm('tw:text-lg tw:font-semibold tw:leading-none', this.userClass()), ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
192
+ _computedClass = computed(() => hlm('text-lg font-semibold leading-none', this.userClass()), ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
193
193
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: HlmDialogTitle, deps: [], target: i0.ɵɵFactoryTarget.Directive });
194
194
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.1", type: HlmDialogTitle, isStandalone: true, selector: "[hlmDialogTitle]", inputs: { userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()" } }, hostDirectives: [{ directive: i1.BrnDialogTitle }], ngImport: i0 });
195
195
  }
package/exports.json CHANGED
@@ -1 +1 @@
1
- {"./utils":{"types":"./utils/index.d.ts","default":"./utils/fesm2022/utils.mjs"},"./icon":{"types":"./icon/index.d.ts","default":"./icon/fesm2022/icon.mjs"},"./spinner":{"types":"./spinner/index.d.ts","default":"./spinner/fesm2022/spinner.mjs"},"./badge":{"types":"./badge/index.d.ts","default":"./badge/fesm2022/badge.mjs"},"./input":{"types":"./input/index.d.ts","default":"./input/fesm2022/input.mjs"},"./select":{"types":"./select/index.d.ts","default":"./select/fesm2022/select.mjs"},"./button":{"types":"./button/index.d.ts","default":"./button/fesm2022/button.mjs"},"./accordion":{"types":"./accordion/index.d.ts","default":"./accordion/fesm2022/accordion.mjs"},"./alert":{"types":"./alert/index.d.ts","default":"./alert/fesm2022/alert.mjs"},"./switch":{"types":"./switch/index.d.ts","default":"./switch/fesm2022/switch.mjs"},"./label":{"types":"./label/index.d.ts","default":"./label/fesm2022/label.mjs"},"./form-field":{"types":"./form-field/index.d.ts","default":"./form-field/fesm2022/form-field.mjs"},"./popover":{"types":"./popover/index.d.ts","default":"./popover/fesm2022/popover.mjs"},"./calendar":{"types":"./calendar/index.d.ts","default":"./calendar/fesm2022/calendar.mjs"},"./date-picker":{"types":"./date-picker/index.d.ts","default":"./date-picker/fesm2022/date-picker.mjs"},"./dialog":{"types":"./dialog/index.d.ts","default":"./dialog/fesm2022/dialog.mjs"},"./radio-group":{"types":"./radio-group/index.d.ts","default":"./radio-group/fesm2022/radio-group.mjs"},"./separator":{"types":"./separator/index.d.ts","default":"./separator/fesm2022/separator.mjs"},"./tabs":{"types":"./tabs/index.d.ts","default":"./tabs/fesm2022/tabs.mjs"},"./tooltip":{"types":"./tooltip/index.d.ts","default":"./tooltip/fesm2022/tooltip.mjs"},"./form-select":{"types":"./form-select/index.d.ts","default":"./form-select/fesm2022/form-select.mjs"},"./form-text-input":{"types":"./form-text-input/index.d.ts","default":"./form-text-input/fesm2022/form-text-input.mjs"},"./form-textarea":{"types":"./form-textarea/index.d.ts","default":"./form-textarea/fesm2022/form-textarea.mjs"},"./form-date-picker":{"types":"./form-date-picker/index.d.ts","default":"./form-date-picker/fesm2022/form-date-picker.mjs"},"./basic-alert":{"types":"./basic-alert/index.d.ts","default":"./basic-alert/fesm2022/basic-alert.mjs"},"./confirmation-dialog":{"types":"./confirmation-dialog/index.d.ts","default":"./confirmation-dialog/fesm2022/confirmation-dialog.mjs"},"./sonner":{"types":"./sonner/index.d.ts","default":"./sonner/fesm2022/sonner.mjs"},"./autocomplete":{"types":"./autocomplete/index.d.ts","default":"./autocomplete/fesm2022/autocomplete.mjs"},"./searchable-multiselect":{"types":"./searchable-multiselect/index.d.ts","default":"./searchable-multiselect/fesm2022/searchable-multiselect.mjs"},"./form-searchable-multiselect":{"types":"./form-searchable-multiselect/index.d.ts","default":"./form-searchable-multiselect/fesm2022/form-searchable-multiselect.mjs"}}
1
+ {"./utils":{"types":"./utils/index.d.ts","default":"./utils/fesm2022/utils.mjs"},"./icon":{"types":"./icon/index.d.ts","default":"./icon/fesm2022/icon.mjs"},"./spinner":{"types":"./spinner/index.d.ts","default":"./spinner/fesm2022/spinner.mjs"},"./badge":{"types":"./badge/index.d.ts","default":"./badge/fesm2022/badge.mjs"},"./input":{"types":"./input/index.d.ts","default":"./input/fesm2022/input.mjs"},"./select":{"types":"./select/index.d.ts","default":"./select/fesm2022/select.mjs"},"./button":{"types":"./button/index.d.ts","default":"./button/fesm2022/button.mjs"},"./accordion":{"types":"./accordion/index.d.ts","default":"./accordion/fesm2022/accordion.mjs"},"./alert":{"types":"./alert/index.d.ts","default":"./alert/fesm2022/alert.mjs"},"./switch":{"types":"./switch/index.d.ts","default":"./switch/fesm2022/switch.mjs"},"./label":{"types":"./label/index.d.ts","default":"./label/fesm2022/label.mjs"},"./form-field":{"types":"./form-field/index.d.ts","default":"./form-field/fesm2022/form-field.mjs"},"./form-field-simple":{"types":"./form-field-simple/index.d.ts","default":"./form-field-simple/fesm2022/form-field-simple.mjs"},"./checkbox":{"types":"./checkbox/index.d.ts","default":"./checkbox/fesm2022/checkbox.mjs"},"./popover":{"types":"./popover/index.d.ts","default":"./popover/fesm2022/popover.mjs"},"./calendar":{"types":"./calendar/index.d.ts","default":"./calendar/fesm2022/calendar.mjs"},"./date-picker":{"types":"./date-picker/index.d.ts","default":"./date-picker/fesm2022/date-picker.mjs"},"./dialog":{"types":"./dialog/index.d.ts","default":"./dialog/fesm2022/dialog.mjs"},"./radio-group":{"types":"./radio-group/index.d.ts","default":"./radio-group/fesm2022/radio-group.mjs"},"./separator":{"types":"./separator/index.d.ts","default":"./separator/fesm2022/separator.mjs"},"./tabs":{"types":"./tabs/index.d.ts","default":"./tabs/fesm2022/tabs.mjs"},"./tooltip":{"types":"./tooltip/index.d.ts","default":"./tooltip/fesm2022/tooltip.mjs"},"./form-select":{"types":"./form-select/index.d.ts","default":"./form-select/fesm2022/form-select.mjs"},"./form-text-input":{"types":"./form-text-input/index.d.ts","default":"./form-text-input/fesm2022/form-text-input.mjs"},"./form-textarea":{"types":"./form-textarea/index.d.ts","default":"./form-textarea/fesm2022/form-textarea.mjs"},"./form-date-picker":{"types":"./form-date-picker/index.d.ts","default":"./form-date-picker/fesm2022/form-date-picker.mjs"},"./basic-alert":{"types":"./basic-alert/index.d.ts","default":"./basic-alert/fesm2022/basic-alert.mjs"},"./confirmation-dialog":{"types":"./confirmation-dialog/index.d.ts","default":"./confirmation-dialog/fesm2022/confirmation-dialog.mjs"},"./sonner":{"types":"./sonner/index.d.ts","default":"./sonner/fesm2022/sonner.mjs"},"./autocomplete":{"types":"./autocomplete/index.d.ts","default":"./autocomplete/fesm2022/autocomplete.mjs"},"./searchable-multiselect":{"types":"./searchable-multiselect/index.d.ts","default":"./searchable-multiselect/fesm2022/searchable-multiselect.mjs"},"./form-searchable-multiselect":{"types":"./form-searchable-multiselect/index.d.ts","default":"./form-searchable-multiselect/fesm2022/form-searchable-multiselect.mjs"},"./form-checkbox":{"types":"./form-checkbox/index.d.ts","default":"./form-checkbox/fesm2022/form-checkbox.mjs"}}
@@ -0,0 +1,64 @@
1
+ # FormCheckbox
2
+
3
+ This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.3.0.
4
+
5
+ ## Code scaffolding
6
+
7
+ Angular CLI includes powerful code scaffolding tools. To generate a new component, run:
8
+
9
+ ```bash
10
+ ng generate component component-name
11
+ ```
12
+
13
+ For a complete list of available schematics (such as `components`, `directives`, or `pipes`), run:
14
+
15
+ ```bash
16
+ ng generate --help
17
+ ```
18
+
19
+ ## Building
20
+
21
+ To build the library, run:
22
+
23
+ ```bash
24
+ ng build form-checkbox
25
+ ```
26
+
27
+ This command will compile your project, and the build artifacts will be placed in the `dist/` directory.
28
+
29
+ ### Publishing the Library
30
+
31
+ Once the project is built, you can publish your library by following these steps:
32
+
33
+ 1. Navigate to the `dist` directory:
34
+
35
+ ```bash
36
+ cd dist/form-checkbox
37
+ ```
38
+
39
+ 2. Run the `npm publish` command to publish your library to the npm registry:
40
+ ```bash
41
+ npm publish
42
+ ```
43
+
44
+ ## Running unit tests
45
+
46
+ To execute unit tests with the [Karma](https://karma-runner.github.io) test runner, use the following command:
47
+
48
+ ```bash
49
+ ng test
50
+ ```
51
+
52
+ ## Running end-to-end tests
53
+
54
+ For end-to-end (e2e) testing, run:
55
+
56
+ ```bash
57
+ ng e2e
58
+ ```
59
+
60
+ Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs.
61
+
62
+ ## Additional Resources
63
+
64
+ For more information on using the Angular CLI, including detailed command references, visit the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.