@egose/shadcn-theme-ng 0.0.10 → 0.0.11

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 (72) hide show
  1. package/accordion/fesm2022/accordion.mjs +6 -6
  2. package/accordion/fesm2022/accordion.mjs.map +1 -1
  3. package/alert/fesm2022/alert.mjs +94 -18
  4. package/alert/fesm2022/alert.mjs.map +1 -1
  5. package/alert/index.d.ts +6 -3
  6. package/badge/fesm2022/badge.mjs +2 -2
  7. package/badge/fesm2022/badge.mjs.map +1 -1
  8. package/basic-alert/README.md +64 -0
  9. package/basic-alert/fesm2022/basic-alert.mjs +111 -0
  10. package/basic-alert/fesm2022/basic-alert.mjs.map +1 -0
  11. package/basic-alert/index.d.ts +14 -0
  12. package/button/fesm2022/button.mjs +6 -6
  13. package/button/fesm2022/button.mjs.map +1 -1
  14. package/calendar/README.md +64 -0
  15. package/calendar/fesm2022/calendar.mjs +637 -0
  16. package/calendar/fesm2022/calendar.mjs.map +1 -0
  17. package/calendar/index.d.ts +111 -0
  18. package/confirmation-dialog/README.md +64 -0
  19. package/confirmation-dialog/fesm2022/confirmation-dialog.mjs +93 -0
  20. package/confirmation-dialog/fesm2022/confirmation-dialog.mjs.map +1 -0
  21. package/confirmation-dialog/index.d.ts +24 -0
  22. package/date-picker/README.md +64 -0
  23. package/date-picker/fesm2022/date-picker.mjs +599 -0
  24. package/date-picker/fesm2022/date-picker.mjs.map +1 -0
  25. package/date-picker/index.d.ts +227 -0
  26. package/dialog/README.md +64 -0
  27. package/dialog/fesm2022/dialog.mjs +278 -0
  28. package/dialog/fesm2022/dialog.mjs.map +1 -0
  29. package/dialog/index.d.ts +89 -0
  30. package/exports.json +1 -1
  31. package/form-date-picker/README.md +64 -0
  32. package/form-date-picker/fesm2022/form-date-picker.mjs +146 -0
  33. package/form-date-picker/fesm2022/form-date-picker.mjs.map +1 -0
  34. package/form-date-picker/index.d.ts +32 -0
  35. package/form-field/fesm2022/form-field.mjs +7 -5
  36. package/form-field/fesm2022/form-field.mjs.map +1 -1
  37. package/form-select/README.md +64 -0
  38. package/form-select/fesm2022/form-select.mjs +165 -0
  39. package/form-select/fesm2022/form-select.mjs.map +1 -0
  40. package/form-select/index.d.ts +33 -0
  41. package/form-text-input/README.md +64 -0
  42. package/form-text-input/fesm2022/form-text-input.mjs +197 -0
  43. package/form-text-input/fesm2022/form-text-input.mjs.map +1 -0
  44. package/form-text-input/index.d.ts +47 -0
  45. package/form-textarea/README.md +64 -0
  46. package/form-textarea/fesm2022/form-textarea.mjs +156 -0
  47. package/form-textarea/fesm2022/form-textarea.mjs.map +1 -0
  48. package/form-textarea/index.d.ts +33 -0
  49. package/input/fesm2022/input.mjs +4 -4
  50. package/input/fesm2022/input.mjs.map +1 -1
  51. package/label/fesm2022/label.mjs +2 -2
  52. package/label/fesm2022/label.mjs.map +1 -1
  53. package/package.json +44 -1
  54. package/popover/README.md +64 -0
  55. package/popover/fesm2022/popover.mjs +69 -0
  56. package/popover/fesm2022/popover.mjs.map +1 -0
  57. package/popover/index.d.ts +30 -0
  58. package/radio-group/fesm2022/radio-group.mjs +4 -4
  59. package/radio-group/fesm2022/radio-group.mjs.map +1 -1
  60. package/select/fesm2022/select.mjs +11 -11
  61. package/select/fesm2022/select.mjs.map +1 -1
  62. package/sonner/fesm2022/sonner.mjs +2 -2
  63. package/sonner/fesm2022/sonner.mjs.map +1 -1
  64. package/spinner/fesm2022/spinner.mjs +3 -3
  65. package/spinner/fesm2022/spinner.mjs.map +1 -1
  66. package/switch/fesm2022/switch.mjs +3 -3
  67. package/switch/fesm2022/switch.mjs.map +1 -1
  68. package/tabs/fesm2022/tabs.mjs +8 -8
  69. package/tabs/fesm2022/tabs.mjs.map +1 -1
  70. package/utils/fesm2022/utils.mjs +2 -2
  71. package/utils/fesm2022/utils.mjs.map +1 -1
  72. package/utils/index.d.ts +2 -2
@@ -0,0 +1,64 @@
1
+ # FormTextInput
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-text-input
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-text-input
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.
@@ -0,0 +1,197 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, Directive, computed, Component } from '@angular/core';
3
+ import * as i1 from '@angular/forms';
4
+ import { ReactiveFormsModule, FormGroupDirective, ControlContainer } from '@angular/forms';
5
+ import { HlmFormField, HlmError, HlmHint } from '@egose/shadcn-theme-ng/form-field';
6
+ import { HlmLabel } from '@egose/shadcn-theme-ng/label';
7
+ import { HlmInput } from '@egose/shadcn-theme-ng/input';
8
+ import { hlm } from '@egose/shadcn-theme-ng/utils';
9
+
10
+ // NOT USED
11
+ class SpreadAttrsDirective {
12
+ el;
13
+ renderer;
14
+ attrs = input({}, ...(ngDevMode ? [{ debugName: "attrs" }] : []));
15
+ constructor(el, renderer) {
16
+ this.el = el;
17
+ this.renderer = renderer;
18
+ }
19
+ ngOnChanges() {
20
+ const obj = this.attrs();
21
+ for (const [key, value] of Object.entries(obj)) {
22
+ if (value === null || value === undefined || value === false) {
23
+ this.renderer.removeAttribute(this.el.nativeElement, key);
24
+ }
25
+ else {
26
+ this.renderer.setAttribute(this.el.nativeElement, key, String(value));
27
+ }
28
+ }
29
+ }
30
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SpreadAttrsDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
31
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.0", type: SpreadAttrsDirective, isStandalone: true, selector: "[spreadAttrs]", inputs: { attrs: { classPropertyName: "attrs", publicName: "attrs", isSignal: true, isRequired: false, transformFunction: null } }, usesOnChanges: true, ngImport: i0 });
32
+ }
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SpreadAttrsDirective, decorators: [{
34
+ type: Directive,
35
+ args: [{
36
+ selector: '[spreadAttrs]',
37
+ standalone: true,
38
+ }]
39
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }] });
40
+ let nextId = 0;
41
+ class EgFormTextInput {
42
+ label = input(undefined, ...(ngDevMode ? [{ debugName: "label" }] : []));
43
+ controlName = input('', ...(ngDevMode ? [{ debugName: "controlName" }] : []));
44
+ error = input(undefined, ...(ngDevMode ? [{ debugName: "error" }] : []));
45
+ hint = input(undefined, ...(ngDevMode ? [{ debugName: "hint" }] : []));
46
+ // HTML/input attributes
47
+ id = input(crypto.randomUUID(), ...(ngDevMode ? [{ debugName: "id" }] : []));
48
+ // id = input<string>(`eg-form-text-input-${nextId++}`);
49
+ name = input(undefined, ...(ngDevMode ? [{ debugName: "name" }] : []));
50
+ type = input('text', ...(ngDevMode ? [{ debugName: "type" }] : []));
51
+ placeholder = input('', ...(ngDevMode ? [{ debugName: "placeholder" }] : []));
52
+ readonly = input(false, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
53
+ disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
54
+ maxlength = input(null, ...(ngDevMode ? [{ debugName: "maxlength" }] : []));
55
+ minlength = input(null, ...(ngDevMode ? [{ debugName: "minlength" }] : []));
56
+ max = input(null, ...(ngDevMode ? [{ debugName: "max" }] : []));
57
+ min = input(null, ...(ngDevMode ? [{ debugName: "min" }] : []));
58
+ pattern = input('', ...(ngDevMode ? [{ debugName: "pattern" }] : []));
59
+ autocomplete = input(undefined, ...(ngDevMode ? [{ debugName: "autocomplete" }] : []));
60
+ autofocus = input(false, ...(ngDevMode ? [{ debugName: "autofocus" }] : []));
61
+ required = input(false, ...(ngDevMode ? [{ debugName: "required" }] : []));
62
+ // Styling classes
63
+ userClass = input('', ...(ngDevMode ? [{ debugName: "userClass", alias: 'class' }] : [{ alias: 'class' }]));
64
+ labelClass = input('', ...(ngDevMode ? [{ debugName: "labelClass" }] : []));
65
+ inputClass = input('', ...(ngDevMode ? [{ debugName: "inputClass" }] : []));
66
+ errorClass = input('', ...(ngDevMode ? [{ debugName: "errorClass" }] : []));
67
+ hintClass = input('', ...(ngDevMode ? [{ debugName: "hintClass" }] : []));
68
+ // Computed class bindings
69
+ $userClass = computed(() => hlm('tw:flex tw:flex-col', this.userClass()), ...(ngDevMode ? [{ debugName: "$userClass" }] : []));
70
+ $labelClass = computed(() => hlm('tw:mb-1 tw:gap-0', this.labelClass()), ...(ngDevMode ? [{ debugName: "$labelClass" }] : []));
71
+ $inputClass = computed(() => hlm('tw:mb-1', this.inputClass()), ...(ngDevMode ? [{ debugName: "$inputClass" }] : []));
72
+ $errorClass = computed(() => hlm('tw:mt-0', this.errorClass()), ...(ngDevMode ? [{ debugName: "$errorClass" }] : []));
73
+ $hintClass = computed(() => hlm('tw:mt-0', this.hintClass()), ...(ngDevMode ? [{ debugName: "$hintClass" }] : []));
74
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: EgFormTextInput, deps: [], target: i0.ɵɵFactoryTarget.Component });
75
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.0", type: EgFormTextInput, isStandalone: true, selector: "eg-form-text-input", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, controlName: { classPropertyName: "controlName", publicName: "controlName", isSignal: true, isRequired: false, transformFunction: null }, error: { classPropertyName: "error", publicName: "error", isSignal: true, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, maxlength: { classPropertyName: "maxlength", publicName: "maxlength", isSignal: true, isRequired: false, transformFunction: null }, minlength: { classPropertyName: "minlength", publicName: "minlength", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: true, isRequired: false, transformFunction: null }, autocomplete: { classPropertyName: "autocomplete", publicName: "autocomplete", isSignal: true, isRequired: false, transformFunction: null }, autofocus: { classPropertyName: "autofocus", publicName: "autofocus", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, labelClass: { classPropertyName: "labelClass", publicName: "labelClass", isSignal: true, isRequired: false, transformFunction: null }, inputClass: { classPropertyName: "inputClass", publicName: "inputClass", isSignal: true, isRequired: false, transformFunction: null }, errorClass: { classPropertyName: "errorClass", publicName: "errorClass", isSignal: true, isRequired: false, transformFunction: null }, hintClass: { classPropertyName: "hintClass", publicName: "hintClass", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "tw:w-full" }, providers: [{ provide: ControlContainer, useExisting: FormGroupDirective }], ngImport: i0, template: `
76
+ @let lbl = label();
77
+ @let nm = controlName();
78
+ @let err = error();
79
+ @let hnt = hint();
80
+ @let rqrd = required();
81
+
82
+ <hlm-form-field>
83
+ @if (lbl) {
84
+ <span hlmLabel [class]="$labelClass()">{{ lbl }}
85
+ @if (rqrd) {
86
+ <span class="tw:text-red-500">*</span>
87
+ }
88
+ </span>
89
+ }
90
+
91
+ <input
92
+ hlmInput
93
+ [attr.aria-label]="lbl"
94
+ [id]="id()"
95
+ [name]="nm || name()"
96
+ [formControlName]="nm"
97
+ [class]="$inputClass()"
98
+ [type]="type()"
99
+ [placeholder]="placeholder()"
100
+ [readonly]="readonly()"
101
+ [max]="max()"
102
+ [min]="min()"
103
+ [maxlength]="maxlength()"
104
+ [minlength]="minlength()"
105
+ [pattern]="pattern()"
106
+ [autocomplete]="autocomplete()"
107
+ [autofocus]="autofocus()"
108
+ [required]="rqrd"
109
+ />
110
+
111
+ @if (err) {
112
+ <hlm-error [class]="$errorClass()">
113
+ {{ err }}
114
+ </hlm-error>
115
+ }
116
+
117
+ @if (hnt) {
118
+ <hlm-hint [class]="$hintClass()">
119
+ {{ hnt }}
120
+ </hlm-hint>
121
+ }
122
+ </hlm-form-field>
123
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: HlmFormField, selector: "hlm-form-field", inputs: ["class"] }, { kind: "directive", type: HlmError, selector: "hlm-error", inputs: ["class"] }, { kind: "directive", type: HlmHint, selector: "hlm-hint", inputs: ["class"] }, { kind: "directive", type: HlmLabel, selector: "[hlmLabel]", inputs: ["class"] }, { kind: "directive", type: HlmInput, selector: "[hlmInput]", inputs: ["error", "class"] }] });
124
+ }
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: EgFormTextInput, decorators: [{
126
+ type: Component,
127
+ args: [{
128
+ selector: 'eg-form-text-input',
129
+ standalone: true,
130
+ host: {
131
+ class: 'tw:w-full',
132
+ },
133
+ imports: [ReactiveFormsModule, HlmFormField, HlmError, HlmHint, HlmLabel, HlmInput],
134
+ providers: [{ provide: ControlContainer, useExisting: FormGroupDirective }],
135
+ // prettier-ignore
136
+ template: `
137
+ @let lbl = label();
138
+ @let nm = controlName();
139
+ @let err = error();
140
+ @let hnt = hint();
141
+ @let rqrd = required();
142
+
143
+ <hlm-form-field>
144
+ @if (lbl) {
145
+ <span hlmLabel [class]="$labelClass()">{{ lbl }}
146
+ @if (rqrd) {
147
+ <span class="tw:text-red-500">*</span>
148
+ }
149
+ </span>
150
+ }
151
+
152
+ <input
153
+ hlmInput
154
+ [attr.aria-label]="lbl"
155
+ [id]="id()"
156
+ [name]="nm || name()"
157
+ [formControlName]="nm"
158
+ [class]="$inputClass()"
159
+ [type]="type()"
160
+ [placeholder]="placeholder()"
161
+ [readonly]="readonly()"
162
+ [max]="max()"
163
+ [min]="min()"
164
+ [maxlength]="maxlength()"
165
+ [minlength]="minlength()"
166
+ [pattern]="pattern()"
167
+ [autocomplete]="autocomplete()"
168
+ [autofocus]="autofocus()"
169
+ [required]="rqrd"
170
+ />
171
+
172
+ @if (err) {
173
+ <hlm-error [class]="$errorClass()">
174
+ {{ err }}
175
+ </hlm-error>
176
+ }
177
+
178
+ @if (hnt) {
179
+ <hlm-hint [class]="$hintClass()">
180
+ {{ hnt }}
181
+ </hlm-hint>
182
+ }
183
+ </hlm-form-field>
184
+ `,
185
+ }]
186
+ }] });
187
+
188
+ /*
189
+ * Public API Surface of form-text-input
190
+ */
191
+
192
+ /**
193
+ * Generated bundle index. Do not edit.
194
+ */
195
+
196
+ export { EgFormTextInput, SpreadAttrsDirective };
197
+ //# sourceMappingURL=form-text-input.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-text-input.mjs","sources":["../../../projects/form-text-input/src/lib/form-text-input.ts","../../../projects/form-text-input/src/public-api.ts","../../../projects/form-text-input/src/form-text-input.ts"],"sourcesContent":["import { Component, Directive, ElementRef, Renderer2, OnChanges, computed, input, Input } from '@angular/core';\nimport { ControlContainer, FormGroupDirective, ReactiveFormsModule } from '@angular/forms';\nimport { HlmFormField, HlmError, HlmHint } from '@egose/shadcn-theme-ng/form-field';\nimport { HlmLabel } from '@egose/shadcn-theme-ng/label';\nimport { HlmInput } from '@egose/shadcn-theme-ng/input';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport { ClassValue } from 'clsx';\n\n// NOT USED\n@Directive({\n selector: '[spreadAttrs]',\n standalone: true,\n})\nexport class SpreadAttrsDirective implements OnChanges {\n attrs = input<Record<string, any>>({});\n\n constructor(\n private el: ElementRef,\n private renderer: Renderer2,\n ) {}\n\n ngOnChanges() {\n const obj = this.attrs();\n for (const [key, value] of Object.entries(obj)) {\n if (value === null || value === undefined || value === false) {\n this.renderer.removeAttribute(this.el.nativeElement, key);\n } else {\n this.renderer.setAttribute(this.el.nativeElement, key, String(value));\n }\n }\n }\n}\n\nlet nextId = 0;\n\n@Component({\n selector: 'eg-form-text-input',\n standalone: true,\n host: {\n class: 'tw:w-full',\n },\n imports: [ReactiveFormsModule, HlmFormField, HlmError, HlmHint, HlmLabel, HlmInput],\n providers: [{ provide: ControlContainer, useExisting: FormGroupDirective }],\n // prettier-ignore\n template: `\n @let lbl = label();\n @let nm = controlName();\n @let err = error();\n @let hnt = hint();\n @let rqrd = required();\n\n <hlm-form-field>\n @if (lbl) {\n <span hlmLabel [class]=\"$labelClass()\">{{ lbl }}\n @if (rqrd) {\n <span class=\"tw:text-red-500\">*</span>\n }\n </span>\n }\n\n <input\n hlmInput\n [attr.aria-label]=\"lbl\"\n [id]=\"id()\"\n [name]=\"nm || name()\"\n [formControlName]=\"nm\"\n [class]=\"$inputClass()\"\n [type]=\"type()\"\n [placeholder]=\"placeholder()\"\n [readonly]=\"readonly()\"\n [max]=\"max()\"\n [min]=\"min()\"\n [maxlength]=\"maxlength()\"\n [minlength]=\"minlength()\"\n [pattern]=\"pattern()\"\n [autocomplete]=\"autocomplete()\"\n [autofocus]=\"autofocus()\"\n [required]=\"rqrd\"\n />\n\n @if (err) {\n <hlm-error [class]=\"$errorClass()\">\n {{ err }}\n </hlm-error>\n }\n\n @if (hnt) {\n <hlm-hint [class]=\"$hintClass()\">\n {{ hnt }}\n </hlm-hint>\n }\n </hlm-form-field>\n `,\n})\nexport class EgFormTextInput {\n label = input<string | undefined>(undefined);\n controlName = input<string>('');\n error = input<string | undefined>(undefined);\n hint = input<string | undefined>(undefined);\n\n // HTML/input attributes\n id = input<string>(crypto.randomUUID());\n // id = input<string>(`eg-form-text-input-${nextId++}`);\n\n name = input<string | undefined>(undefined);\n type = input<string>('text');\n placeholder = input<string>('');\n readonly = input<boolean>(false);\n disabled = input<boolean>(false);\n maxlength = input<string | number | null>(null);\n minlength = input<string | number | null>(null);\n max = input<string | number | null>(null);\n min = input<string | number | null>(null);\n pattern = input<string | RegExp>('');\n autocomplete = input<string | undefined>(undefined);\n autofocus = input<boolean>(false);\n required = input<boolean>(false);\n\n // Styling classes\n userClass = input<ClassValue>('', { alias: 'class' });\n labelClass = input<string>('');\n inputClass = input<string>('');\n errorClass = input<string>('');\n hintClass = input<string>('');\n\n // Computed class bindings\n $userClass = computed(() => hlm('tw:flex tw:flex-col', this.userClass()));\n $labelClass = computed(() => hlm('tw:mb-1 tw:gap-0', this.labelClass()));\n $inputClass = computed(() => hlm('tw:mb-1', this.inputClass()));\n $errorClass = computed(() => hlm('tw:mt-0', this.errorClass()));\n $hintClass = computed(() => hlm('tw:mt-0', this.hintClass()));\n}\n","/*\n * Public API Surface of form-text-input\n */\n\nexport * from './lib/form-text-input';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { OnChanges, ElementRef, Renderer2 } from '@angular/core';
3
+ import { ClassValue } from 'clsx';
4
+
5
+ declare class SpreadAttrsDirective implements OnChanges {
6
+ private el;
7
+ private renderer;
8
+ attrs: _angular_core.InputSignal<Record<string, any>>;
9
+ constructor(el: ElementRef, renderer: Renderer2);
10
+ ngOnChanges(): void;
11
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SpreadAttrsDirective, never>;
12
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SpreadAttrsDirective, "[spreadAttrs]", never, { "attrs": { "alias": "attrs"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
13
+ }
14
+ declare class EgFormTextInput {
15
+ label: _angular_core.InputSignal<string | undefined>;
16
+ controlName: _angular_core.InputSignal<string>;
17
+ error: _angular_core.InputSignal<string | undefined>;
18
+ hint: _angular_core.InputSignal<string | undefined>;
19
+ id: _angular_core.InputSignal<string>;
20
+ name: _angular_core.InputSignal<string | undefined>;
21
+ type: _angular_core.InputSignal<string>;
22
+ placeholder: _angular_core.InputSignal<string>;
23
+ readonly: _angular_core.InputSignal<boolean>;
24
+ disabled: _angular_core.InputSignal<boolean>;
25
+ maxlength: _angular_core.InputSignal<string | number | null>;
26
+ minlength: _angular_core.InputSignal<string | number | null>;
27
+ max: _angular_core.InputSignal<string | number | null>;
28
+ min: _angular_core.InputSignal<string | number | null>;
29
+ pattern: _angular_core.InputSignal<string | RegExp>;
30
+ autocomplete: _angular_core.InputSignal<string | undefined>;
31
+ autofocus: _angular_core.InputSignal<boolean>;
32
+ required: _angular_core.InputSignal<boolean>;
33
+ userClass: _angular_core.InputSignal<ClassValue>;
34
+ labelClass: _angular_core.InputSignal<string>;
35
+ inputClass: _angular_core.InputSignal<string>;
36
+ errorClass: _angular_core.InputSignal<string>;
37
+ hintClass: _angular_core.InputSignal<string>;
38
+ $userClass: _angular_core.Signal<string>;
39
+ $labelClass: _angular_core.Signal<string>;
40
+ $inputClass: _angular_core.Signal<string>;
41
+ $errorClass: _angular_core.Signal<string>;
42
+ $hintClass: _angular_core.Signal<string>;
43
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<EgFormTextInput, never>;
44
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<EgFormTextInput, "eg-form-text-input", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "controlName": { "alias": "controlName"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "maxlength": { "alias": "maxlength"; "required": false; "isSignal": true; }; "minlength": { "alias": "minlength"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "pattern": { "alias": "pattern"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "autofocus": { "alias": "autofocus"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; "labelClass": { "alias": "labelClass"; "required": false; "isSignal": true; }; "inputClass": { "alias": "inputClass"; "required": false; "isSignal": true; }; "errorClass": { "alias": "errorClass"; "required": false; "isSignal": true; }; "hintClass": { "alias": "hintClass"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
45
+ }
46
+
47
+ export { EgFormTextInput, SpreadAttrsDirective };
@@ -0,0 +1,64 @@
1
+ # FormTextarea
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-textarea
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-textarea
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.
@@ -0,0 +1,156 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, computed, Component } from '@angular/core';
3
+ import * as i1 from '@angular/forms';
4
+ import { ReactiveFormsModule, FormGroupDirective, ControlContainer } from '@angular/forms';
5
+ import { HlmFormField, HlmError, HlmHint } from '@egose/shadcn-theme-ng/form-field';
6
+ import { HlmLabel } from '@egose/shadcn-theme-ng/label';
7
+ import { HlmInput } from '@egose/shadcn-theme-ng/input';
8
+ import { hlm } from '@egose/shadcn-theme-ng/utils';
9
+
10
+ let nextId = 0;
11
+ class EgFormTextarea {
12
+ // General props
13
+ label = input(undefined, ...(ngDevMode ? [{ debugName: "label" }] : []));
14
+ controlName = input('', ...(ngDevMode ? [{ debugName: "controlName" }] : []));
15
+ error = input(undefined, ...(ngDevMode ? [{ debugName: "error" }] : []));
16
+ hint = input(undefined, ...(ngDevMode ? [{ debugName: "hint" }] : []));
17
+ // HTML/textarea attributes
18
+ id = input(crypto.randomUUID(), ...(ngDevMode ? [{ debugName: "id" }] : []));
19
+ // id = input<string>(`eg-form-text-input-${nextId++}`);
20
+ name = input(undefined, ...(ngDevMode ? [{ debugName: "name" }] : []));
21
+ placeholder = input('', ...(ngDevMode ? [{ debugName: "placeholder" }] : []));
22
+ readonly = input(false, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
23
+ disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
24
+ maxlength = input(null, ...(ngDevMode ? [{ debugName: "maxlength" }] : []));
25
+ minlength = input(null, ...(ngDevMode ? [{ debugName: "minlength" }] : []));
26
+ required = input(false, ...(ngDevMode ? [{ debugName: "required" }] : []));
27
+ rows = input(3, ...(ngDevMode ? [{ debugName: "rows" }] : []));
28
+ cols = input(undefined, ...(ngDevMode ? [{ debugName: "cols" }] : []));
29
+ // Styling classes
30
+ userClass = input('', ...(ngDevMode ? [{ debugName: "userClass", alias: 'class' }] : [{ alias: 'class' }]));
31
+ labelClass = input('', ...(ngDevMode ? [{ debugName: "labelClass" }] : []));
32
+ textareaClass = input('', ...(ngDevMode ? [{ debugName: "textareaClass" }] : []));
33
+ errorClass = input('', ...(ngDevMode ? [{ debugName: "errorClass" }] : []));
34
+ hintClass = input('', ...(ngDevMode ? [{ debugName: "hintClass" }] : []));
35
+ // Computed class bindings
36
+ $userClass = computed(() => hlm('tw:flex tw:flex-col', this.userClass()), ...(ngDevMode ? [{ debugName: "$userClass" }] : []));
37
+ $labelClass = computed(() => hlm('tw:mb-1 tw:gap-0', this.labelClass()), ...(ngDevMode ? [{ debugName: "$labelClass" }] : []));
38
+ $textareaClass = computed(() => hlm('tw:mb-1', this.textareaClass()), ...(ngDevMode ? [{ debugName: "$textareaClass" }] : []));
39
+ $errorClass = computed(() => hlm('tw:mt-0', this.errorClass()), ...(ngDevMode ? [{ debugName: "$errorClass" }] : []));
40
+ $hintClass = computed(() => hlm('tw:mt-0', this.hintClass()), ...(ngDevMode ? [{ debugName: "$hintClass" }] : []));
41
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: EgFormTextarea, deps: [], target: i0.ɵɵFactoryTarget.Component });
42
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.0", type: EgFormTextarea, isStandalone: true, selector: "eg-form-textarea", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, controlName: { classPropertyName: "controlName", publicName: "controlName", isSignal: true, isRequired: false, transformFunction: null }, error: { classPropertyName: "error", publicName: "error", isSignal: true, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, maxlength: { classPropertyName: "maxlength", publicName: "maxlength", isSignal: true, isRequired: false, transformFunction: null }, minlength: { classPropertyName: "minlength", publicName: "minlength", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, cols: { classPropertyName: "cols", publicName: "cols", isSignal: true, isRequired: false, transformFunction: null }, userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, labelClass: { classPropertyName: "labelClass", publicName: "labelClass", isSignal: true, isRequired: false, transformFunction: null }, textareaClass: { classPropertyName: "textareaClass", publicName: "textareaClass", isSignal: true, isRequired: false, transformFunction: null }, errorClass: { classPropertyName: "errorClass", publicName: "errorClass", isSignal: true, isRequired: false, transformFunction: null }, hintClass: { classPropertyName: "hintClass", publicName: "hintClass", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "tw:w-full" }, providers: [{ provide: ControlContainer, useExisting: FormGroupDirective }], ngImport: i0, template: `
43
+ @let lbl = label();
44
+ @let nm = controlName();
45
+ @let err = error();
46
+ @let hnt = hint();
47
+ @let rqrd = required();
48
+
49
+ <hlm-form-field>
50
+ @if (lbl) {
51
+ <span hlmLabel [class]="$labelClass()">{{ lbl }}
52
+ @if (rqrd) {
53
+ <span class="tw:text-red-500">*</span>
54
+ }
55
+ </span>
56
+ }
57
+
58
+ <textarea
59
+ hlmInput
60
+ [attr.aria-label]="lbl"
61
+ [id]="id()"
62
+ [name]="nm || name()"
63
+ [formControlName]="nm"
64
+ [class]="$textareaClass()"
65
+ [placeholder]="placeholder()"
66
+ [readonly]="readonly()"
67
+ [maxlength]="maxlength()"
68
+ [minlength]="minlength()"
69
+ [required]="rqrd"
70
+ [rows]="rows()"
71
+ [cols]="cols()"
72
+ ></textarea>
73
+
74
+ @if (err) {
75
+ <hlm-error [class]="$errorClass()">
76
+ {{ err }}
77
+ </hlm-error>
78
+ }
79
+
80
+ @if (hnt) {
81
+ <hlm-hint [class]="$hintClass()">
82
+ {{ hnt }}
83
+ </hlm-hint>
84
+ }
85
+ </hlm-form-field>
86
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: HlmFormField, selector: "hlm-form-field", inputs: ["class"] }, { kind: "directive", type: HlmError, selector: "hlm-error", inputs: ["class"] }, { kind: "directive", type: HlmHint, selector: "hlm-hint", inputs: ["class"] }, { kind: "directive", type: HlmLabel, selector: "[hlmLabel]", inputs: ["class"] }, { kind: "directive", type: HlmInput, selector: "[hlmInput]", inputs: ["error", "class"] }] });
87
+ }
88
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: EgFormTextarea, decorators: [{
89
+ type: Component,
90
+ args: [{
91
+ selector: 'eg-form-textarea',
92
+ standalone: true,
93
+ host: {
94
+ class: 'tw:w-full',
95
+ },
96
+ imports: [ReactiveFormsModule, HlmFormField, HlmError, HlmHint, HlmLabel, HlmInput],
97
+ providers: [{ provide: ControlContainer, useExisting: FormGroupDirective }],
98
+ // prettier-ignore
99
+ template: `
100
+ @let lbl = label();
101
+ @let nm = controlName();
102
+ @let err = error();
103
+ @let hnt = hint();
104
+ @let rqrd = required();
105
+
106
+ <hlm-form-field>
107
+ @if (lbl) {
108
+ <span hlmLabel [class]="$labelClass()">{{ lbl }}
109
+ @if (rqrd) {
110
+ <span class="tw:text-red-500">*</span>
111
+ }
112
+ </span>
113
+ }
114
+
115
+ <textarea
116
+ hlmInput
117
+ [attr.aria-label]="lbl"
118
+ [id]="id()"
119
+ [name]="nm || name()"
120
+ [formControlName]="nm"
121
+ [class]="$textareaClass()"
122
+ [placeholder]="placeholder()"
123
+ [readonly]="readonly()"
124
+ [maxlength]="maxlength()"
125
+ [minlength]="minlength()"
126
+ [required]="rqrd"
127
+ [rows]="rows()"
128
+ [cols]="cols()"
129
+ ></textarea>
130
+
131
+ @if (err) {
132
+ <hlm-error [class]="$errorClass()">
133
+ {{ err }}
134
+ </hlm-error>
135
+ }
136
+
137
+ @if (hnt) {
138
+ <hlm-hint [class]="$hintClass()">
139
+ {{ hnt }}
140
+ </hlm-hint>
141
+ }
142
+ </hlm-form-field>
143
+ `,
144
+ }]
145
+ }] });
146
+
147
+ /*
148
+ * Public API Surface of form-textarea
149
+ */
150
+
151
+ /**
152
+ * Generated bundle index. Do not edit.
153
+ */
154
+
155
+ export { EgFormTextarea };
156
+ //# sourceMappingURL=form-textarea.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-textarea.mjs","sources":["../../../projects/form-textarea/src/lib/form-textarea.ts","../../../projects/form-textarea/src/public-api.ts","../../../projects/form-textarea/src/form-textarea.ts"],"sourcesContent":["import { Component, computed, input } from '@angular/core';\nimport { ControlContainer, FormGroupDirective, ReactiveFormsModule } from '@angular/forms';\nimport { HlmFormField, HlmError, HlmHint } from '@egose/shadcn-theme-ng/form-field';\nimport { HlmLabel } from '@egose/shadcn-theme-ng/label';\nimport { HlmInput } from '@egose/shadcn-theme-ng/input';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport { ClassValue } from 'clsx';\n\nlet nextId = 0;\n\n@Component({\n selector: 'eg-form-textarea',\n standalone: true,\n host: {\n class: 'tw:w-full',\n },\n imports: [ReactiveFormsModule, HlmFormField, HlmError, HlmHint, HlmLabel, HlmInput],\n providers: [{ provide: ControlContainer, useExisting: FormGroupDirective }],\n // prettier-ignore\n template: `\n @let lbl = label();\n @let nm = controlName();\n @let err = error();\n @let hnt = hint();\n @let rqrd = required();\n\n <hlm-form-field>\n @if (lbl) {\n <span hlmLabel [class]=\"$labelClass()\">{{ lbl }}\n @if (rqrd) {\n <span class=\"tw:text-red-500\">*</span>\n }\n </span>\n }\n\n <textarea\n hlmInput\n [attr.aria-label]=\"lbl\"\n [id]=\"id()\"\n [name]=\"nm || name()\"\n [formControlName]=\"nm\"\n [class]=\"$textareaClass()\"\n [placeholder]=\"placeholder()\"\n [readonly]=\"readonly()\"\n [maxlength]=\"maxlength()\"\n [minlength]=\"minlength()\"\n [required]=\"rqrd\"\n [rows]=\"rows()\"\n [cols]=\"cols()\"\n ></textarea>\n\n @if (err) {\n <hlm-error [class]=\"$errorClass()\">\n {{ err }}\n </hlm-error>\n }\n\n @if (hnt) {\n <hlm-hint [class]=\"$hintClass()\">\n {{ hnt }}\n </hlm-hint>\n }\n </hlm-form-field>\n `,\n})\nexport class EgFormTextarea {\n // General props\n label = input<string | undefined>(undefined);\n controlName = input<string>('');\n error = input<string | undefined>(undefined);\n hint = input<string | undefined>(undefined);\n\n // HTML/textarea attributes\n id = input<string>(crypto.randomUUID());\n // id = input<string>(`eg-form-text-input-${nextId++}`);\n\n name = input<string | undefined>(undefined);\n placeholder = input<string>('');\n readonly = input<boolean>(false);\n disabled = input<boolean>(false);\n maxlength = input<string | number | null>(null);\n minlength = input<string | number | null>(null);\n required = input<boolean>(false);\n rows = input<string | number | undefined>(3);\n cols = input<string | number | undefined>(undefined);\n\n // Styling classes\n userClass = input<ClassValue>('', { alias: 'class' });\n labelClass = input<string>('');\n textareaClass = input<string>('');\n errorClass = input<string>('');\n hintClass = input<string>('');\n\n // Computed class bindings\n $userClass = computed(() => hlm('tw:flex tw:flex-col', this.userClass()));\n $labelClass = computed(() => hlm('tw:mb-1 tw:gap-0', this.labelClass()));\n $textareaClass = computed(() => hlm('tw:mb-1', this.textareaClass()));\n $errorClass = computed(() => hlm('tw:mt-0', this.errorClass()));\n $hintClass = computed(() => hlm('tw:mt-0', this.hintClass()));\n}\n","/*\n * Public API Surface of form-textarea\n */\n\nexport * from './lib/form-textarea';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;AAQA,IAAI,MAAM,GAAG,CAAC;MAyDD,cAAc,CAAA;;AAEzB,IAAA,KAAK,GAAG,KAAK,CAAqB,SAAS,iDAAC;AAC5C,IAAA,WAAW,GAAG,KAAK,CAAS,EAAE,uDAAC;AAC/B,IAAA,KAAK,GAAG,KAAK,CAAqB,SAAS,iDAAC;AAC5C,IAAA,IAAI,GAAG,KAAK,CAAqB,SAAS,gDAAC;;IAG3C,EAAE,GAAG,KAAK,CAAS,MAAM,CAAC,UAAU,EAAE,8CAAC;;AAGvC,IAAA,IAAI,GAAG,KAAK,CAAqB,SAAS,gDAAC;AAC3C,IAAA,WAAW,GAAG,KAAK,CAAS,EAAE,uDAAC;AAC/B,IAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,oDAAC;AAChC,IAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,oDAAC;AAChC,IAAA,SAAS,GAAG,KAAK,CAAyB,IAAI,qDAAC;AAC/C,IAAA,SAAS,GAAG,KAAK,CAAyB,IAAI,qDAAC;AAC/C,IAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,oDAAC;AAChC,IAAA,IAAI,GAAG,KAAK,CAA8B,CAAC,gDAAC;AAC5C,IAAA,IAAI,GAAG,KAAK,CAA8B,SAAS,gDAAC;;AAGpD,IAAA,SAAS,GAAG,KAAK,CAAa,EAAE,6CAAI,KAAK,EAAE,OAAO,EAAA,CAAA,GAAA,CAAhB,EAAE,KAAK,EAAE,OAAO,EAAE,GAAC;AACrD,IAAA,UAAU,GAAG,KAAK,CAAS,EAAE,sDAAC;AAC9B,IAAA,aAAa,GAAG,KAAK,CAAS,EAAE,yDAAC;AACjC,IAAA,UAAU,GAAG,KAAK,CAAS,EAAE,sDAAC;AAC9B,IAAA,SAAS,GAAG,KAAK,CAAS,EAAE,qDAAC;;AAG7B,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,sDAAC;AACzE,IAAA,WAAW,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,uDAAC;AACxE,IAAA,cAAc,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,0DAAC;AACrE,IAAA,WAAW,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,uDAAC;AAC/D,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,sDAAC;uGAjClD,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAd,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,WAAA,EAAA,EAAA,SAAA,EAhDd,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CT,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EA/CS,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,4EAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,4EAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,YAAY,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,QAAQ,yEAAE,OAAO,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,QAAQ,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,QAAQ,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAiDvE,cAAc,EAAA,UAAA,EAAA,CAAA;kBAvD1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,WAAW;AACnB,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAC,mBAAmB,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC;oBACnF,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;;AAE3E,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4CT,EAAA,CAAA;AACF,iBAAA;;;AChED;;AAEG;;ACFH;;AAEG;;;;"}
@@ -0,0 +1,33 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { ClassValue } from 'clsx';
3
+
4
+ declare class EgFormTextarea {
5
+ label: _angular_core.InputSignal<string | undefined>;
6
+ controlName: _angular_core.InputSignal<string>;
7
+ error: _angular_core.InputSignal<string | undefined>;
8
+ hint: _angular_core.InputSignal<string | undefined>;
9
+ id: _angular_core.InputSignal<string>;
10
+ name: _angular_core.InputSignal<string | undefined>;
11
+ placeholder: _angular_core.InputSignal<string>;
12
+ readonly: _angular_core.InputSignal<boolean>;
13
+ disabled: _angular_core.InputSignal<boolean>;
14
+ maxlength: _angular_core.InputSignal<string | number | null>;
15
+ minlength: _angular_core.InputSignal<string | number | null>;
16
+ required: _angular_core.InputSignal<boolean>;
17
+ rows: _angular_core.InputSignal<string | number | undefined>;
18
+ cols: _angular_core.InputSignal<string | number | undefined>;
19
+ userClass: _angular_core.InputSignal<ClassValue>;
20
+ labelClass: _angular_core.InputSignal<string>;
21
+ textareaClass: _angular_core.InputSignal<string>;
22
+ errorClass: _angular_core.InputSignal<string>;
23
+ hintClass: _angular_core.InputSignal<string>;
24
+ $userClass: _angular_core.Signal<string>;
25
+ $labelClass: _angular_core.Signal<string>;
26
+ $textareaClass: _angular_core.Signal<string>;
27
+ $errorClass: _angular_core.Signal<string>;
28
+ $hintClass: _angular_core.Signal<string>;
29
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<EgFormTextarea, never>;
30
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<EgFormTextarea, "eg-form-textarea", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "controlName": { "alias": "controlName"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "maxlength": { "alias": "maxlength"; "required": false; "isSignal": true; }; "minlength": { "alias": "minlength"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "cols": { "alias": "cols"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; "labelClass": { "alias": "labelClass"; "required": false; "isSignal": true; }; "textareaClass": { "alias": "textareaClass"; "required": false; "isSignal": true; }; "errorClass": { "alias": "errorClass"; "required": false; "isSignal": true; }; "hintClass": { "alias": "hintClass"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
31
+ }
32
+
33
+ export { EgFormTextarea };