@egose/shadcn-theme-ng-tw 0.1.0 → 0.3.0

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 (165) hide show
  1. package/README.md +2 -2
  2. package/accordion/README.md +405 -2
  3. package/alert/README.md +372 -2
  4. package/alert/fesm2022/alert.mjs +1 -1
  5. package/alert-dialog/README.md +471 -5
  6. package/aspect-ratio/README.md +272 -5
  7. package/autocomplete/README.md +502 -2
  8. package/autocomplete/fesm2022/autocomplete.mjs +1 -1
  9. package/avatar/README.md +357 -5
  10. package/badge/README.md +318 -2
  11. package/basic-alert/README.md +353 -2
  12. package/breadcrumb/README.md +406 -5
  13. package/button/README.md +482 -2
  14. package/button/fesm2022/button.mjs +85 -107
  15. package/button/types/button.d.ts +5 -8
  16. package/button-group/README.md +318 -5
  17. package/button-group/fesm2022/button-group.mjs +1 -1
  18. package/calendar/README.md +357 -2
  19. package/card/README.md +331 -5
  20. package/carousel/README.md +333 -5
  21. package/carousel/fesm2022/carousel.mjs +4 -1
  22. package/checkbox/README.md +320 -2
  23. package/checkbox/fesm2022/checkbox.mjs +6 -7
  24. package/checkbox/types/checkbox.d.ts +1 -1
  25. package/collapsible/README.md +332 -5
  26. package/combobox/README.md +507 -5
  27. package/combobox/fesm2022/combobox.mjs +5 -2
  28. package/command/README.md +435 -5
  29. package/confirmation-dialog/README.md +301 -2
  30. package/context-menu/README.md +366 -5
  31. package/date-picker/README.md +469 -2
  32. package/date-picker/fesm2022/date-picker.mjs +150 -32
  33. package/date-picker/types/date-picker.d.ts +102 -9
  34. package/dialog/README.md +448 -2
  35. package/drawer/README.md +395 -5
  36. package/dropdown-menu/README.md +417 -5
  37. package/empty/README.md +329 -5
  38. package/field/README.md +385 -5
  39. package/form-autocomplete/README.md +177 -0
  40. package/form-autocomplete/fesm2022/form-autocomplete.mjs +211 -0
  41. package/form-autocomplete/package.json +24 -0
  42. package/form-autocomplete/types/form-autocomplete.d.ts +61 -0
  43. package/form-checkbox/README.md +322 -2
  44. package/form-checkbox/fesm2022/form-checkbox.mjs +22 -9
  45. package/form-checkbox/types/form-checkbox.d.ts +23 -4
  46. package/form-combobox/README.md +202 -0
  47. package/form-combobox/fesm2022/form-combobox.mjs +273 -0
  48. package/form-combobox/package.json +24 -0
  49. package/form-combobox/types/form-combobox.d.ts +73 -0
  50. package/form-date-picker/README.md +348 -2
  51. package/form-date-picker/fesm2022/form-date-picker.mjs +60 -16
  52. package/form-date-picker/types/form-date-picker.d.ts +17 -1
  53. package/form-date-picker-multi/README.md +191 -0
  54. package/form-date-picker-multi/fesm2022/form-date-picker-multi.mjs +239 -0
  55. package/form-date-picker-multi/package.json +24 -0
  56. package/form-date-picker-multi/types/form-date-picker-multi.d.ts +58 -0
  57. package/form-date-range-picker/README.md +253 -0
  58. package/form-date-range-picker/fesm2022/form-date-range-picker.mjs +236 -0
  59. package/form-date-range-picker/package.json +24 -0
  60. package/form-date-range-picker/types/form-date-range-picker.d.ts +55 -0
  61. package/form-field/README.md +356 -2
  62. package/form-field-simple/README.md +340 -2
  63. package/form-input-otp/README.md +194 -0
  64. package/form-input-otp/fesm2022/form-input-otp.mjs +194 -0
  65. package/form-input-otp/package.json +24 -0
  66. package/form-input-otp/types/form-input-otp.d.ts +58 -0
  67. package/form-month-year-picker/README.md +188 -0
  68. package/form-month-year-picker/fesm2022/form-month-year-picker.mjs +229 -0
  69. package/form-month-year-picker/package.json +24 -0
  70. package/form-month-year-picker/types/form-month-year-picker.d.ts +53 -0
  71. package/form-native-select/README.md +205 -0
  72. package/form-native-select/fesm2022/form-native-select.mjs +187 -0
  73. package/form-native-select/package.json +24 -0
  74. package/form-native-select/types/form-native-select.d.ts +57 -0
  75. package/form-phone-input/README.md +188 -0
  76. package/form-phone-input/fesm2022/form-phone-input.mjs +203 -0
  77. package/form-phone-input/package.json +24 -0
  78. package/form-phone-input/types/form-phone-input.d.ts +58 -0
  79. package/form-radio-group/README.md +198 -0
  80. package/form-radio-group/fesm2022/form-radio-group.mjs +211 -0
  81. package/form-radio-group/package.json +24 -0
  82. package/form-radio-group/types/form-radio-group.d.ts +63 -0
  83. package/form-searchable-multiselect/README.md +371 -2
  84. package/form-searchable-multiselect/fesm2022/form-searchable-multiselect.mjs +19 -10
  85. package/form-searchable-multiselect/types/form-searchable-multiselect.d.ts +18 -1
  86. package/form-select/README.md +360 -2
  87. package/form-select/fesm2022/form-select.mjs +24 -15
  88. package/form-select/types/form-select.d.ts +18 -1
  89. package/form-slider/README.md +182 -0
  90. package/form-slider/fesm2022/form-slider.mjs +186 -0
  91. package/form-slider/package.json +24 -0
  92. package/form-slider/types/form-slider.d.ts +60 -0
  93. package/form-switch/README.md +173 -0
  94. package/form-switch/fesm2022/form-switch.mjs +178 -0
  95. package/form-switch/package.json +24 -0
  96. package/form-switch/types/form-switch.d.ts +50 -0
  97. package/form-text-input/README.md +381 -2
  98. package/form-text-input/fesm2022/form-text-input.mjs +19 -10
  99. package/form-text-input/types/form-text-input.d.ts +18 -1
  100. package/form-textarea/README.md +357 -2
  101. package/form-textarea/fesm2022/form-textarea.mjs +19 -10
  102. package/form-textarea/types/form-textarea.d.ts +18 -1
  103. package/form-toggle/README.md +186 -0
  104. package/form-toggle/fesm2022/form-toggle.mjs +241 -0
  105. package/form-toggle/package.json +24 -0
  106. package/form-toggle/types/form-toggle.d.ts +82 -0
  107. package/form-toggle-group/README.md +176 -0
  108. package/form-toggle-group/fesm2022/form-toggle-group.mjs +216 -0
  109. package/form-toggle-group/package.json +24 -0
  110. package/form-toggle-group/types/form-toggle-group.d.ts +65 -0
  111. package/hover-card/README.md +256 -5
  112. package/icon/README.md +239 -2
  113. package/input/README.md +269 -2
  114. package/input-group/README.md +335 -5
  115. package/input-group/fesm2022/input-group.mjs +23 -13
  116. package/input-group/types/input-group.d.ts +4 -1
  117. package/input-otp/README.md +375 -5
  118. package/item/README.md +385 -5
  119. package/item/fesm2022/item.mjs +3 -3
  120. package/kbd/README.md +291 -5
  121. package/label/README.md +272 -2
  122. package/layout-simple/README.md +193 -2
  123. package/layout-simple/fesm2022/layout-simple.mjs +877 -409
  124. package/layout-simple/types/layout-simple.d.ts +174 -137
  125. package/menu/README.md +417 -2
  126. package/menubar/README.md +343 -5
  127. package/native-select/README.md +323 -5
  128. package/native-select/fesm2022/native-select.mjs +18 -6
  129. package/native-select/types/native-select.d.ts +7 -2
  130. package/navigation-menu/README.md +369 -5
  131. package/package.json +57 -1
  132. package/pagination/README.md +388 -5
  133. package/phone-input/README.md +114 -0
  134. package/phone-input/fesm2022/phone-input.mjs +191 -0
  135. package/phone-input/package.json +24 -0
  136. package/phone-input/types/phone-input.d.ts +67 -0
  137. package/popover/README.md +331 -2
  138. package/progress/README.md +311 -5
  139. package/radio-group/README.md +364 -2
  140. package/radio-group/fesm2022/radio-group.mjs +5 -1
  141. package/resizable/README.md +269 -5
  142. package/scroll-area/README.md +233 -5
  143. package/searchable-multiselect/README.md +323 -2
  144. package/select/README.md +437 -2
  145. package/separator/README.md +222 -2
  146. package/sheet/README.md +311 -2
  147. package/sheet/fesm2022/sheet.mjs +1 -1
  148. package/sidebar/README.md +457 -5
  149. package/skeleton/README.md +217 -5
  150. package/slider/README.md +273 -5
  151. package/slider/fesm2022/slider.mjs +17 -13
  152. package/sonner/README.md +346 -2
  153. package/spinner/README.md +284 -2
  154. package/switch/README.md +310 -2
  155. package/switch/fesm2022/switch.mjs +7 -5
  156. package/switch/types/switch.d.ts +2 -1
  157. package/table/README.md +423 -5
  158. package/tabs/README.md +411 -2
  159. package/tabs/fesm2022/tabs.mjs +12 -2
  160. package/textarea/README.md +282 -5
  161. package/toggle/README.md +270 -5
  162. package/toggle-group/README.md +340 -5
  163. package/tooltip/README.md +269 -2
  164. package/typography/README.md +271 -5
  165. package/utils/README.md +303 -2
@@ -0,0 +1,211 @@
1
+ import * as i0 from '@angular/core';
2
+ import { InjectionToken, inject, input, computed, Component } from '@angular/core';
3
+ import * as i1 from '@angular/forms';
4
+ import { FormGroupDirective, ReactiveFormsModule, ControlContainer } from '@angular/forms';
5
+ import { HlmFormIdGenerator, HlmFormField, HlmError, HlmHint } from '@egose/shadcn-theme-ng-tw/form-field';
6
+ import { HlmLabel } from '@egose/shadcn-theme-ng-tw/label';
7
+ import { HlmRadioGroup, HlmRadio, HlmRadioIndicator } from '@egose/shadcn-theme-ng-tw/radio-group';
8
+ import { hlm } from '@egose/shadcn-theme-ng-tw/utils';
9
+
10
+ const EgFormRadioGroupConfigToken = new InjectionToken('EgFormRadioGroupConfig');
11
+ function provideEgFormRadioGroupConfig(config) {
12
+ return { provide: EgFormRadioGroupConfigToken, useValue: { ...config } };
13
+ }
14
+ function injectEgFormRadioGroupConfig() {
15
+ return inject(EgFormRadioGroupConfigToken, { optional: true }) ?? {};
16
+ }
17
+
18
+ class EgFormRadioGroup {
19
+ formGroupDirective = inject(FormGroupDirective);
20
+ generatedId = inject(HlmFormIdGenerator).generate('eg-form-radio-group');
21
+ _config = injectEgFormRadioGroupConfig();
22
+ label = input(undefined, /* @ts-ignore */
23
+ ...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
24
+ controlId = input(undefined, /* @ts-ignore */
25
+ ...(ngDevMode ? [{ debugName: "controlId" }] : /* istanbul ignore next */ []));
26
+ controlName = input('', /* @ts-ignore */
27
+ ...(ngDevMode ? [{ debugName: "controlName" }] : /* istanbul ignore next */ []));
28
+ error = input(undefined, /* @ts-ignore */
29
+ ...(ngDevMode ? [{ debugName: "error" }] : /* istanbul ignore next */ []));
30
+ hint = input(undefined, /* @ts-ignore */
31
+ ...(ngDevMode ? [{ debugName: "hint" }] : /* istanbul ignore next */ []));
32
+ id = input(undefined, /* @ts-ignore */
33
+ ...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
34
+ name = input(undefined, /* @ts-ignore */
35
+ ...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
36
+ disabled = input(false, /* @ts-ignore */
37
+ ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
38
+ required = input(false, /* @ts-ignore */
39
+ ...(ngDevMode ? [{ debugName: "required" }] : /* istanbul ignore next */ []));
40
+ options = input([], /* @ts-ignore */
41
+ ...(ngDevMode ? [{ debugName: "options" }] : /* istanbul ignore next */ []));
42
+ effectiveId = computed(() => this.controlId() || this.id() || this.generatedId, /* @ts-ignore */
43
+ ...(ngDevMode ? [{ debugName: "effectiveId" }] : /* istanbul ignore next */ []));
44
+ errorId = computed(() => `${this.effectiveId()}-error`, /* @ts-ignore */
45
+ ...(ngDevMode ? [{ debugName: "errorId" }] : /* istanbul ignore next */ []));
46
+ hintId = computed(() => `${this.effectiveId()}-hint`, /* @ts-ignore */
47
+ ...(ngDevMode ? [{ debugName: "hintId" }] : /* istanbul ignore next */ []));
48
+ /**
49
+ * Combined lock for the brain `linkedSignal`-based disabled state: the raw
50
+ * input write always carries the resolved value, so a same-pass
51
+ * wrapper-toggle + `control.disable()` cannot clobber CVA state.
52
+ */
53
+ effectiveDisabled() {
54
+ return this.disabled() || !!this.formGroupDirective.form.get(this.controlName())?.disabled;
55
+ }
56
+ describedBy() {
57
+ const control = this.formGroupDirective.form.get(this.controlName());
58
+ return this.error() && control?.invalid && (control.dirty || control.touched)
59
+ ? this.errorId()
60
+ : this.hint()
61
+ ? this.hintId()
62
+ : null;
63
+ }
64
+ // Styling
65
+ userClass = input('', { ...(ngDevMode ? { debugName: "userClass" } : /* istanbul ignore next */ {}), alias: 'class' });
66
+ labelClass = input('', /* @ts-ignore */
67
+ ...(ngDevMode ? [{ debugName: "labelClass" }] : /* istanbul ignore next */ []));
68
+ groupClass = input('', /* @ts-ignore */
69
+ ...(ngDevMode ? [{ debugName: "groupClass" }] : /* istanbul ignore next */ []));
70
+ errorClass = input('', /* @ts-ignore */
71
+ ...(ngDevMode ? [{ debugName: "errorClass" }] : /* istanbul ignore next */ []));
72
+ hintClass = input('', /* @ts-ignore */
73
+ ...(ngDevMode ? [{ debugName: "hintClass" }] : /* istanbul ignore next */ []));
74
+ // Computed classes (library base < global config < per-instance)
75
+ $userClass = computed(() => hlm('tw:w-full', this.userClass()), /* @ts-ignore */
76
+ ...(ngDevMode ? [{ debugName: "$userClass" }] : /* istanbul ignore next */ []));
77
+ $labelClass = computed(() => hlm('tw:mb-1', this._config.labelClass, this.labelClass()), /* @ts-ignore */
78
+ ...(ngDevMode ? [{ debugName: "$labelClass" }] : /* istanbul ignore next */ []));
79
+ $groupClass = computed(() => hlm('tw:flex tw:flex-col tw:gap-2', this._config.groupClass, this.groupClass()), /* @ts-ignore */
80
+ ...(ngDevMode ? [{ debugName: "$groupClass" }] : /* istanbul ignore next */ []));
81
+ $errorClass = computed(() => hlm('tw:mt-0', this._config.errorClass, this.errorClass()), /* @ts-ignore */
82
+ ...(ngDevMode ? [{ debugName: "$errorClass" }] : /* istanbul ignore next */ []));
83
+ $hintClass = computed(() => hlm('tw:mt-0', this._config.hintClass, this.hintClass()), /* @ts-ignore */
84
+ ...(ngDevMode ? [{ debugName: "$hintClass" }] : /* istanbul ignore next */ []));
85
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: EgFormRadioGroup, deps: [], target: i0.ɵɵFactoryTarget.Component });
86
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.3", type: EgFormRadioGroup, isStandalone: true, selector: "eg-form-radio-group", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, controlId: { classPropertyName: "controlId", publicName: "controlId", 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 }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", 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 }, groupClass: { classPropertyName: "groupClass", publicName: "groupClass", 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: { properties: { "class": "$userClass()" } }, providers: [{ provide: ControlContainer, useExisting: FormGroupDirective }], ngImport: i0, template: `
87
+ @let lbl = label();
88
+ @let cnm = controlName();
89
+ @let err = error();
90
+ @let hnt = hint();
91
+ @let rqrd = required();
92
+
93
+ <hlm-form-field>
94
+ @if (lbl) {
95
+ <span hlmLabel [class]="$labelClass()"
96
+ >{{ lbl }}
97
+ @if (rqrd) {
98
+ <span class="tw:text-red-500">*</span>
99
+ }
100
+ </span>
101
+ }
102
+
103
+ <hlm-radio-group
104
+ [formControlName]="cnm"
105
+ [name]="cnm || name() || ''"
106
+ [disabled]="effectiveDisabled()"
107
+ [required]="rqrd"
108
+ [class]="$groupClass()"
109
+ >
110
+ @for (option of options(); track option.value) {
111
+ <label class="tw:flex tw:items-center tw:gap-2">
112
+ <hlm-radio
113
+ [value]="option.value"
114
+ [disabled]="option.disabled ?? false"
115
+ [aria-describedby]="describedBy() ?? undefined"
116
+ >
117
+ <hlm-radio-indicator />
118
+ </hlm-radio>
119
+ <span>{{ option.label }}</span>
120
+ </label>
121
+ }
122
+ </hlm-radio-group>
123
+
124
+ @if (err) {
125
+ <hlm-error [id]="errorId()" [class]="$errorClass()">
126
+ {{ err }}
127
+ </hlm-error>
128
+ }
129
+
130
+ @if (hnt) {
131
+ <hlm-hint [id]="hintId()" [class]="$hintClass()">
132
+ {{ hnt }}
133
+ </hlm-hint>
134
+ }
135
+ </hlm-form-field>
136
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { 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.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: HlmRadioGroup, selector: "[hlmRadioGroup],hlm-radio-group", inputs: ["class"] }, { kind: "component", type: HlmRadio, selector: "hlm-radio", inputs: ["class", "inputId", "aria-label", "aria-labelledby", "aria-describedby", "value", "required", "disabled"], outputs: ["change"] }, { kind: "component", type: HlmRadioIndicator, selector: "hlm-radio-indicator" }] });
137
+ }
138
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: EgFormRadioGroup, decorators: [{
139
+ type: Component,
140
+ args: [{
141
+ selector: 'eg-form-radio-group',
142
+ standalone: true,
143
+ host: {
144
+ '[class]': '$userClass()',
145
+ },
146
+ imports: [ReactiveFormsModule, HlmFormField, HlmError, HlmHint, HlmLabel, HlmRadioGroup, HlmRadio, HlmRadioIndicator],
147
+ providers: [{ provide: ControlContainer, useExisting: FormGroupDirective }],
148
+ template: `
149
+ @let lbl = label();
150
+ @let cnm = controlName();
151
+ @let err = error();
152
+ @let hnt = hint();
153
+ @let rqrd = required();
154
+
155
+ <hlm-form-field>
156
+ @if (lbl) {
157
+ <span hlmLabel [class]="$labelClass()"
158
+ >{{ lbl }}
159
+ @if (rqrd) {
160
+ <span class="tw:text-red-500">*</span>
161
+ }
162
+ </span>
163
+ }
164
+
165
+ <hlm-radio-group
166
+ [formControlName]="cnm"
167
+ [name]="cnm || name() || ''"
168
+ [disabled]="effectiveDisabled()"
169
+ [required]="rqrd"
170
+ [class]="$groupClass()"
171
+ >
172
+ @for (option of options(); track option.value) {
173
+ <label class="tw:flex tw:items-center tw:gap-2">
174
+ <hlm-radio
175
+ [value]="option.value"
176
+ [disabled]="option.disabled ?? false"
177
+ [aria-describedby]="describedBy() ?? undefined"
178
+ >
179
+ <hlm-radio-indicator />
180
+ </hlm-radio>
181
+ <span>{{ option.label }}</span>
182
+ </label>
183
+ }
184
+ </hlm-radio-group>
185
+
186
+ @if (err) {
187
+ <hlm-error [id]="errorId()" [class]="$errorClass()">
188
+ {{ err }}
189
+ </hlm-error>
190
+ }
191
+
192
+ @if (hnt) {
193
+ <hlm-hint [id]="hintId()" [class]="$hintClass()">
194
+ {{ hnt }}
195
+ </hlm-hint>
196
+ }
197
+ </hlm-form-field>
198
+ `,
199
+ }]
200
+ }], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], controlId: [{ type: i0.Input, args: [{ isSignal: true, alias: "controlId", required: false }] }], controlName: [{ type: i0.Input, args: [{ isSignal: true, alias: "controlName", required: false }] }], error: [{ type: i0.Input, args: [{ isSignal: true, alias: "error", required: false }] }], hint: [{ type: i0.Input, args: [{ isSignal: true, alias: "hint", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], labelClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelClass", required: false }] }], groupClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "groupClass", required: false }] }], errorClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "errorClass", required: false }] }], hintClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "hintClass", required: false }] }] } });
201
+
202
+ /*
203
+ * Public API Surface of form-radio-group
204
+ */
205
+
206
+ /**
207
+ * Generated bundle index. Do not edit.
208
+ */
209
+
210
+ export { EgFormRadioGroup, injectEgFormRadioGroupConfig, provideEgFormRadioGroupConfig };
211
+
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "form-radio-group",
3
+ "version": "0.0.1",
4
+ "peerDependencies": {
5
+ "@angular/common": "^20.3.0 || ^22.0.0",
6
+ "@angular/core": "^20.3.0 || ^22.0.0"
7
+ },
8
+ "dependencies": {
9
+ "tslib": "^2.3.0"
10
+ },
11
+ "sideEffects": false,
12
+ "module": "fesm2022/form-radio-group.mjs",
13
+ "typings": "types/form-radio-group.d.ts",
14
+ "exports": {
15
+ "./package.json": {
16
+ "default": "./package.json"
17
+ },
18
+ ".": {
19
+ "types": "./types/form-radio-group.d.ts",
20
+ "default": "./fesm2022/form-radio-group.mjs"
21
+ }
22
+ },
23
+ "type": "module"
24
+ }
@@ -0,0 +1,63 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { ValueProvider } from '@angular/core';
3
+ import { ClassValue } from 'clsx';
4
+
5
+ interface RadioOption {
6
+ value: string;
7
+ label: string;
8
+ disabled?: boolean;
9
+ }
10
+ declare class EgFormRadioGroup {
11
+ private readonly formGroupDirective;
12
+ private readonly generatedId;
13
+ private readonly _config;
14
+ label: _angular_core.InputSignal<string | undefined>;
15
+ controlId: _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 | undefined>;
20
+ name: _angular_core.InputSignal<string | undefined>;
21
+ disabled: _angular_core.InputSignal<boolean>;
22
+ required: _angular_core.InputSignal<boolean>;
23
+ options: _angular_core.InputSignal<RadioOption[]>;
24
+ readonly effectiveId: _angular_core.Signal<string>;
25
+ readonly errorId: _angular_core.Signal<string>;
26
+ readonly hintId: _angular_core.Signal<string>;
27
+ /**
28
+ * Combined lock for the brain `linkedSignal`-based disabled state: the raw
29
+ * input write always carries the resolved value, so a same-pass
30
+ * wrapper-toggle + `control.disable()` cannot clobber CVA state.
31
+ */
32
+ effectiveDisabled(): boolean;
33
+ describedBy(): string | null;
34
+ userClass: _angular_core.InputSignal<ClassValue>;
35
+ labelClass: _angular_core.InputSignal<string>;
36
+ groupClass: _angular_core.InputSignal<string>;
37
+ errorClass: _angular_core.InputSignal<string>;
38
+ hintClass: _angular_core.InputSignal<string>;
39
+ $userClass: _angular_core.Signal<string>;
40
+ $labelClass: _angular_core.Signal<string>;
41
+ $groupClass: _angular_core.Signal<string>;
42
+ $errorClass: _angular_core.Signal<string>;
43
+ $hintClass: _angular_core.Signal<string>;
44
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<EgFormRadioGroup, never>;
45
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<EgFormRadioGroup, "eg-form-radio-group", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "controlId": { "alias": "controlId"; "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; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; "labelClass": { "alias": "labelClass"; "required": false; "isSignal": true; }; "groupClass": { "alias": "groupClass"; "required": false; "isSignal": true; }; "errorClass": { "alias": "errorClass"; "required": false; "isSignal": true; }; "hintClass": { "alias": "hintClass"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
46
+ }
47
+
48
+ interface EgFormRadioGroupConfig {
49
+ /**
50
+ * Global class defaults for `eg-form-radio-group` styling slots.
51
+ * Each is merged under the matching per-instance `*Class` input
52
+ * (library base < global config < per-instance).
53
+ */
54
+ labelClass?: string;
55
+ groupClass?: string;
56
+ errorClass?: string;
57
+ hintClass?: string;
58
+ }
59
+ declare function provideEgFormRadioGroupConfig(config: Partial<EgFormRadioGroupConfig>): ValueProvider;
60
+ declare function injectEgFormRadioGroupConfig(): EgFormRadioGroupConfig;
61
+
62
+ export { EgFormRadioGroup, injectEgFormRadioGroupConfig, provideEgFormRadioGroupConfig };
63
+ export type { EgFormRadioGroupConfig };