@egose/shadcn-theme-ng 0.0.28 → 0.1.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 (201) hide show
  1. package/README.md +130 -13
  2. package/accordion/README.md +2 -63
  3. package/accordion/fesm2022/accordion.mjs +27 -39
  4. package/alert/README.md +2 -63
  5. package/alert/fesm2022/alert.mjs +47 -47
  6. package/alert-dialog/fesm2022/alert-dialog.mjs +47 -47
  7. package/aspect-ratio/fesm2022/aspect-ratio.mjs +9 -9
  8. package/autocomplete/README.md +2 -63
  9. package/autocomplete/fesm2022/autocomplete.mjs +53 -71
  10. package/avatar/fesm2022/avatar.mjs +32 -32
  11. package/badge/README.md +2 -63
  12. package/badge/fesm2022/badge.mjs +57 -57
  13. package/basic-alert/README.md +2 -63
  14. package/basic-alert/fesm2022/basic-alert.mjs +6 -18
  15. package/breadcrumb/fesm2022/breadcrumb.mjs +33 -39
  16. package/button/README.md +2 -63
  17. package/button/fesm2022/button.mjs +126 -176
  18. package/button/types/button.d.ts +2 -2
  19. package/button-group/fesm2022/button-group.mjs +20 -20
  20. package/calendar/README.md +2 -63
  21. package/calendar/fesm2022/calendar.mjs +29 -743
  22. package/card/fesm2022/card.mjs +33 -33
  23. package/carousel/fesm2022/carousel.mjs +36 -78
  24. package/checkbox/README.md +2 -63
  25. package/checkbox/fesm2022/checkbox.mjs +20 -58
  26. package/checkbox/types/checkbox.d.ts +5 -4
  27. package/collapsible/fesm2022/collapsible.mjs +15 -15
  28. package/combobox/fesm2022/combobox.mjs +88 -224
  29. package/command/fesm2022/command.mjs +49 -109
  30. package/confirmation-dialog/README.md +2 -63
  31. package/confirmation-dialog/fesm2022/confirmation-dialog.mjs +15 -40
  32. package/confirmation-dialog/types/confirmation-dialog.d.ts +8 -4
  33. package/context-menu/fesm2022/context-menu.mjs +9 -9
  34. package/date-picker/README.md +2 -63
  35. package/date-picker/fesm2022/date-picker.mjs +63 -266
  36. package/date-picker/types/date-picker.d.ts +7 -3
  37. package/dialog/README.md +2 -63
  38. package/dialog/fesm2022/dialog.mjs +45 -71
  39. package/drawer/fesm2022/drawer.mjs +44 -54
  40. package/dropdown-menu/fesm2022/dropdown-menu.mjs +82 -70
  41. package/dropdown-menu/types/dropdown-menu.d.ts +4 -0
  42. package/empty/fesm2022/empty.mjs +30 -30
  43. package/field/fesm2022/field.mjs +56 -72
  44. package/form-checkbox/README.md +2 -63
  45. package/form-checkbox/fesm2022/form-checkbox.mjs +25 -85
  46. package/form-checkbox/types/form-checkbox.d.ts +7 -1
  47. package/form-date-picker/README.md +2 -63
  48. package/form-date-picker/fesm2022/form-date-picker.mjs +31 -84
  49. package/form-date-picker/types/form-date-picker.d.ts +7 -1
  50. package/form-field/README.md +2 -63
  51. package/form-field/fesm2022/form-field.mjs +33 -19
  52. package/form-field/types/form-field.d.ts +28 -20
  53. package/form-field-simple/README.md +2 -63
  54. package/form-field-simple/fesm2022/form-field-simple.mjs +4 -4
  55. package/form-searchable-multiselect/README.md +2 -63
  56. package/form-searchable-multiselect/fesm2022/form-searchable-multiselect.mjs +31 -91
  57. package/form-searchable-multiselect/types/form-searchable-multiselect.d.ts +7 -1
  58. package/form-select/README.md +2 -63
  59. package/form-select/fesm2022/form-select.mjs +32 -149
  60. package/form-select/types/form-select.d.ts +7 -1
  61. package/form-text-input/README.md +2 -63
  62. package/form-text-input/fesm2022/form-text-input.mjs +35 -149
  63. package/form-text-input/types/form-text-input.d.ts +9 -12
  64. package/form-textarea/README.md +2 -63
  65. package/form-textarea/fesm2022/form-textarea.mjs +34 -109
  66. package/form-textarea/types/form-textarea.d.ts +8 -1
  67. package/hover-card/fesm2022/hover-card.mjs +19 -19
  68. package/icon/README.md +2 -63
  69. package/icon/fesm2022/icon.mjs +8 -8
  70. package/input/README.md +2 -63
  71. package/input/fesm2022/input.mjs +17 -12
  72. package/input/types/input.d.ts +2 -1
  73. package/input-group/fesm2022/input-group.mjs +33 -33
  74. package/input-otp/fesm2022/input-otp.mjs +26 -26
  75. package/item/fesm2022/item.mjs +53 -53
  76. package/kbd/fesm2022/kbd.mjs +12 -12
  77. package/label/README.md +2 -63
  78. package/label/fesm2022/label.mjs +10 -10
  79. package/label/types/label.d.ts +1 -1
  80. package/layout-simple/README.md +2 -63
  81. package/layout-simple/fesm2022/layout-simple.mjs +98 -429
  82. package/layout-simple/types/layout-simple.d.ts +25 -11
  83. package/menu/README.md +3 -0
  84. package/menu/fesm2022/menu.mjs +455 -0
  85. package/menu/package.json +24 -0
  86. package/menu/types/menu.d.ts +137 -0
  87. package/menubar/fesm2022/menubar.mjs +13 -13
  88. package/native-select/fesm2022/native-select.mjs +19 -19
  89. package/navigation-menu/fesm2022/navigation-menu.mjs +35 -47
  90. package/package.json +183 -154
  91. package/pagination/fesm2022/pagination.mjs +45 -331
  92. package/popover/README.md +2 -63
  93. package/popover/fesm2022/popover.mjs +30 -30
  94. package/progress/fesm2022/progress.mjs +13 -13
  95. package/radio-group/README.md +2 -63
  96. package/radio-group/fesm2022/radio-group.mjs +22 -19
  97. package/resizable/fesm2022/resizable.mjs +18 -26
  98. package/scroll-area/fesm2022/scroll-area.mjs +9 -9
  99. package/searchable-multiselect/README.md +2 -63
  100. package/searchable-multiselect/fesm2022/searchable-multiselect.mjs +28 -117
  101. package/searchable-multiselect/types/searchable-multiselect.d.ts +8 -2
  102. package/select/README.md +2 -63
  103. package/select/fesm2022/select.mjs +71 -111
  104. package/select/types/select.d.ts +3 -1
  105. package/separator/README.md +2 -63
  106. package/separator/fesm2022/separator.mjs +9 -9
  107. package/separator/types/separator.d.ts +1 -1
  108. package/sheet/README.md +2 -63
  109. package/sheet/fesm2022/sheet.mjs +41 -53
  110. package/sidebar/fesm2022/sidebar.mjs +125 -227
  111. package/skeleton/fesm2022/skeleton.mjs +9 -9
  112. package/slider/fesm2022/slider.mjs +10 -80
  113. package/sonner/README.md +2 -63
  114. package/sonner/fesm2022/sonner.mjs +13 -13
  115. package/spinner/README.md +2 -63
  116. package/spinner/fesm2022/spinner.mjs +11 -11
  117. package/switch/README.md +2 -63
  118. package/switch/fesm2022/switch.mjs +13 -15
  119. package/table/fesm2022/table.mjs +41 -41
  120. package/tabs/README.md +2 -63
  121. package/tabs/fesm2022/tabs.mjs +35 -111
  122. package/textarea/fesm2022/textarea.mjs +9 -9
  123. package/toggle/fesm2022/toggle.mjs +13 -13
  124. package/toggle-group/fesm2022/toggle-group.mjs +13 -13
  125. package/toggle-group/types/toggle-group.d.ts +13 -7
  126. package/tooltip/README.md +2 -63
  127. package/tooltip/fesm2022/tooltip.mjs +14 -14
  128. package/typography/fesm2022/typography.mjs +53 -53
  129. package/typography/types/typography.d.ts +12 -12
  130. package/utils/README.md +2 -63
  131. package/utils/fesm2022/utils.mjs +68 -44
  132. package/accordion/fesm2022/accordion.mjs.map +0 -1
  133. package/alert/fesm2022/alert.mjs.map +0 -1
  134. package/alert-dialog/fesm2022/alert-dialog.mjs.map +0 -1
  135. package/aspect-ratio/fesm2022/aspect-ratio.mjs.map +0 -1
  136. package/autocomplete/fesm2022/autocomplete.mjs.map +0 -1
  137. package/avatar/fesm2022/avatar.mjs.map +0 -1
  138. package/badge/fesm2022/badge.mjs.map +0 -1
  139. package/basic-alert/fesm2022/basic-alert.mjs.map +0 -1
  140. package/breadcrumb/fesm2022/breadcrumb.mjs.map +0 -1
  141. package/button/fesm2022/button.mjs.map +0 -1
  142. package/button-group/fesm2022/button-group.mjs.map +0 -1
  143. package/calendar/fesm2022/calendar.mjs.map +0 -1
  144. package/card/fesm2022/card.mjs.map +0 -1
  145. package/carousel/fesm2022/carousel.mjs.map +0 -1
  146. package/checkbox/fesm2022/checkbox.mjs.map +0 -1
  147. package/collapsible/fesm2022/collapsible.mjs.map +0 -1
  148. package/combobox/fesm2022/combobox.mjs.map +0 -1
  149. package/command/fesm2022/command.mjs.map +0 -1
  150. package/confirmation-dialog/fesm2022/confirmation-dialog.mjs.map +0 -1
  151. package/context-menu/fesm2022/context-menu.mjs.map +0 -1
  152. package/date-picker/fesm2022/date-picker.mjs.map +0 -1
  153. package/dialog/fesm2022/dialog.mjs.map +0 -1
  154. package/drawer/fesm2022/drawer.mjs.map +0 -1
  155. package/dropdown-menu/fesm2022/dropdown-menu.mjs.map +0 -1
  156. package/empty/fesm2022/empty.mjs.map +0 -1
  157. package/field/fesm2022/field.mjs.map +0 -1
  158. package/form-checkbox/fesm2022/form-checkbox.mjs.map +0 -1
  159. package/form-date-picker/fesm2022/form-date-picker.mjs.map +0 -1
  160. package/form-field/fesm2022/form-field.mjs.map +0 -1
  161. package/form-field-simple/fesm2022/form-field-simple.mjs.map +0 -1
  162. package/form-searchable-multiselect/fesm2022/form-searchable-multiselect.mjs.map +0 -1
  163. package/form-select/fesm2022/form-select.mjs.map +0 -1
  164. package/form-text-input/fesm2022/form-text-input.mjs.map +0 -1
  165. package/form-textarea/fesm2022/form-textarea.mjs.map +0 -1
  166. package/hover-card/fesm2022/hover-card.mjs.map +0 -1
  167. package/icon/fesm2022/icon.mjs.map +0 -1
  168. package/input/fesm2022/input.mjs.map +0 -1
  169. package/input-group/fesm2022/input-group.mjs.map +0 -1
  170. package/input-otp/fesm2022/input-otp.mjs.map +0 -1
  171. package/item/fesm2022/item.mjs.map +0 -1
  172. package/kbd/fesm2022/kbd.mjs.map +0 -1
  173. package/label/fesm2022/label.mjs.map +0 -1
  174. package/layout-simple/fesm2022/layout-simple.mjs.map +0 -1
  175. package/menubar/fesm2022/menubar.mjs.map +0 -1
  176. package/native-select/fesm2022/native-select.mjs.map +0 -1
  177. package/navigation-menu/fesm2022/navigation-menu.mjs.map +0 -1
  178. package/pagination/fesm2022/pagination.mjs.map +0 -1
  179. package/popover/fesm2022/popover.mjs.map +0 -1
  180. package/progress/fesm2022/progress.mjs.map +0 -1
  181. package/radio-group/fesm2022/radio-group.mjs.map +0 -1
  182. package/resizable/fesm2022/resizable.mjs.map +0 -1
  183. package/scroll-area/fesm2022/scroll-area.mjs.map +0 -1
  184. package/searchable-multiselect/fesm2022/searchable-multiselect.mjs.map +0 -1
  185. package/select/fesm2022/select.mjs.map +0 -1
  186. package/separator/fesm2022/separator.mjs.map +0 -1
  187. package/sheet/fesm2022/sheet.mjs.map +0 -1
  188. package/sidebar/fesm2022/sidebar.mjs.map +0 -1
  189. package/skeleton/fesm2022/skeleton.mjs.map +0 -1
  190. package/slider/fesm2022/slider.mjs.map +0 -1
  191. package/sonner/fesm2022/sonner.mjs.map +0 -1
  192. package/spinner/fesm2022/spinner.mjs.map +0 -1
  193. package/switch/fesm2022/switch.mjs.map +0 -1
  194. package/table/fesm2022/table.mjs.map +0 -1
  195. package/tabs/fesm2022/tabs.mjs.map +0 -1
  196. package/textarea/fesm2022/textarea.mjs.map +0 -1
  197. package/toggle/fesm2022/toggle.mjs.map +0 -1
  198. package/toggle-group/fesm2022/toggle-group.mjs.map +0 -1
  199. package/tooltip/fesm2022/tooltip.mjs.map +0 -1
  200. package/typography/fesm2022/typography.mjs.map +0 -1
  201. package/utils/fesm2022/utils.mjs.map +0 -1
@@ -8,19 +8,19 @@ import * as i1$1 from '@egose/shadcn-theme-ng/label';
8
8
  import { HlmLabel } from '@egose/shadcn-theme-ng/label';
9
9
  import { HlmSeparator } from '@egose/shadcn-theme-ng/separator';
10
10
 
11
- const fieldVariants = cva('data-[matches-spartan-invalid=true]:text-destructive gap-3 group/field flex w-full', {
11
+ const fieldVariants = cva("data-[matches-spartan-invalid=true]:text-destructive gap-3 group/field flex w-full", {
12
12
  variants: {
13
13
  orientation: {
14
- vertical: 'flex-col *:w-full [&>.sr-only]:w-auto',
14
+ vertical: "flex-col *:w-full [&>.sr-only]:w-auto",
15
15
  horizontal: [
16
- 'flex-row items-center',
17
- '*:data-[slot=field-label]:flex-auto',
18
- 'has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px',
16
+ "flex-row items-center",
17
+ "*:data-[slot=field-label]:flex-auto",
18
+ "has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px",
19
19
  ],
20
20
  responsive: [
21
- 'flex-col *:w-full @md/field-group:flex-row @md/field-group:items-center @md/field-group:*:w-auto [&>.sr-only]:w-auto',
22
- '@md/field-group:*:data-[slot=field-label]:flex-auto',
23
- '@md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px',
21
+ "flex-col *:w-full @md/field-group:flex-row @md/field-group:items-center @md/field-group:*:w-auto [&>.sr-only]:w-auto",
22
+ "@md/field-group:*:data-[slot=field-label]:flex-auto",
23
+ "@md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px",
24
24
  ],
25
25
  },
26
26
  },
@@ -34,10 +34,10 @@ class HlmField {
34
34
  constructor() {
35
35
  classes(() => fieldVariants({ orientation: this.orientation() }));
36
36
  }
37
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmField, deps: [], target: i0.ɵɵFactoryTarget.Directive });
38
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.7", type: HlmField, isStandalone: true, selector: "[hlmField],hlm-field", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "group", "data-slot": "field" }, properties: { "attr.data-orientation": "orientation()" } }, hostDirectives: [{ directive: i1.BrnField, inputs: ["data-invalid", "data-invalid", "forceInvalid", "forceInvalid"] }], ngImport: i0 });
37
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmField, deps: [], target: i0.ɵɵFactoryTarget.Directive });
38
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.3", type: HlmField, isStandalone: true, selector: "[hlmField],hlm-field", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "group", "data-slot": "field" }, properties: { "attr.data-orientation": "orientation()" } }, hostDirectives: [{ directive: i1.BrnField, inputs: ["data-invalid", "data-invalid", "forceInvalid", "forceInvalid"] }], ngImport: i0 });
39
39
  }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmField, decorators: [{
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmField, decorators: [{
41
41
  type: Directive,
42
42
  args: [{
43
43
  selector: '[hlmField],hlm-field',
@@ -52,12 +52,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
52
52
 
53
53
  class HlmFieldContent {
54
54
  constructor() {
55
- classes(() => 'gap-1 group/field-content flex flex-1 flex-col leading-snug');
55
+ classes(() => "gap-1 group/field-content flex flex-1 flex-col leading-snug");
56
56
  }
57
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmFieldContent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
58
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: HlmFieldContent, isStandalone: true, selector: "[hlmFieldContent],hlm-field-content", host: { attributes: { "data-slot": "field-content" } }, ngImport: i0 });
57
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmFieldContent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
58
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmFieldContent, isStandalone: true, selector: "[hlmFieldContent],hlm-field-content", host: { attributes: { "data-slot": "field-content" } }, ngImport: i0 });
59
59
  }
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmFieldContent, decorators: [{
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmFieldContent, decorators: [{
61
61
  type: Directive,
62
62
  args: [{
63
63
  selector: '[hlmFieldContent],hlm-field-content',
@@ -88,9 +88,9 @@ class HlmFieldDescription {
88
88
  : null;
89
89
  constructor() {
90
90
  classes(() => [
91
- 'text-muted-foreground text-start text-sm [[data-variant=legend]+&]:-mt-1.5 leading-normal font-normal group-has-data-horizontal/field:text-balance',
92
- 'last:mt-0 nth-last-2:-mt-1',
93
- '[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4',
91
+ "text-muted-foreground text-start text-sm [[data-variant=legend]+&]:-mt-1.5 leading-normal font-normal group-has-data-horizontal/field:text-balance",
92
+ "last:mt-0 nth-last-2:-mt-1",
93
+ "[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4",
94
94
  ]);
95
95
  }
96
96
  ngOnDestroy() {
@@ -99,10 +99,10 @@ class HlmFieldDescription {
99
99
  this._a11y?.unregisterDescription(this._registeredId);
100
100
  }
101
101
  }
102
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmFieldDescription, deps: [], target: i0.ɵɵFactoryTarget.Directive });
103
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.7", type: HlmFieldDescription, isStandalone: true, selector: "[hlmFieldDescription],hlm-field-description", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "field-description" }, properties: { "attr.id": "id()" } }, ngImport: i0 });
102
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmFieldDescription, deps: [], target: i0.ɵɵFactoryTarget.Directive });
103
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.3", type: HlmFieldDescription, isStandalone: true, selector: "[hlmFieldDescription],hlm-field-description", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "field-description" }, properties: { "attr.id": "id()" } }, ngImport: i0 });
104
104
  }
105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmFieldDescription, decorators: [{
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmFieldDescription, decorators: [{
106
106
  type: Directive,
107
107
  args: [{
108
108
  selector: '[hlmFieldDescription],hlm-field-description',
@@ -161,7 +161,7 @@ class HlmFieldError {
161
161
  })
162
162
  : null;
163
163
  constructor() {
164
- classes(() => 'text-destructive text-sm font-normal');
164
+ classes(() => "text-destructive text-sm font-normal");
165
165
  }
166
166
  ngOnDestroy() {
167
167
  this._cleanup?.destroy();
@@ -169,14 +169,14 @@ class HlmFieldError {
169
169
  this._a11y?.unregisterError(this._registeredId);
170
170
  }
171
171
  }
172
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmFieldError, deps: [], target: i0.ɵɵFactoryTarget.Component });
173
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: HlmFieldError, isStandalone: true, selector: "hlm-field-error", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, validator: { classPropertyName: "validator", publicName: "validator", isSignal: true, isRequired: false, transformFunction: null }, forceShow: { classPropertyName: "forceShow", publicName: "forceShow", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "alert", "data-slot": "field-error" }, properties: { "attr.id": "id()", "hidden": "!_display()" } }, ngImport: i0, template: `
172
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmFieldError, deps: [], target: i0.ɵɵFactoryTarget.Component });
173
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.3", type: HlmFieldError, isStandalone: true, selector: "hlm-field-error", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, validator: { classPropertyName: "validator", publicName: "validator", isSignal: true, isRequired: false, transformFunction: null }, forceShow: { classPropertyName: "forceShow", publicName: "forceShow", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "alert", "data-slot": "field-error" }, properties: { "attr.id": "id()", "hidden": "!_display()" } }, ngImport: i0, template: `
174
174
  @if (_display()) {
175
175
  <ng-content />
176
176
  }
177
177
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
178
178
  }
179
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmFieldError, decorators: [{
179
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmFieldError, decorators: [{
180
180
  type: Component,
181
181
  args: [{
182
182
  selector: 'hlm-field-error',
@@ -197,12 +197,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
197
197
 
198
198
  class HlmFieldGroup {
199
199
  constructor() {
200
- classes(() => 'gap-7 data-[slot=checkbox-group]:gap-3 *:data-[slot=field-group]:gap-4 group/field-group @container/field-group flex w-full flex-col');
200
+ classes(() => "gap-7 data-[slot=checkbox-group]:gap-3 *:data-[slot=field-group]:gap-4 group/field-group @container/field-group flex w-full flex-col");
201
201
  }
202
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmFieldGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive });
203
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: HlmFieldGroup, isStandalone: true, selector: "[hlmFieldGroup],hlm-field-group", host: { attributes: { "data-slot": "field-group" } }, ngImport: i0 });
202
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmFieldGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive });
203
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmFieldGroup, isStandalone: true, selector: "[hlmFieldGroup],hlm-field-group", host: { attributes: { "data-slot": "field-group" } }, ngImport: i0 });
204
204
  }
205
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmFieldGroup, decorators: [{
205
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmFieldGroup, decorators: [{
206
206
  type: Directive,
207
207
  args: [{
208
208
  selector: '[hlmFieldGroup],hlm-field-group',
@@ -213,14 +213,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
213
213
  class HlmFieldLabel {
214
214
  constructor() {
215
215
  classes(() => [
216
- 'has-data-checked:bg-primary/5 has-data-checked:border-primary/30 dark:has-data-checked:border-primary/20 dark:has-data-checked:bg-primary/10 gap-2 leading-snug group-data-[disabled=true]/field:opacity-50 has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border *:data-[slot=field]:p-3 group/field-label peer/field-label flex w-fit',
217
- 'has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col',
216
+ "has-data-checked:bg-primary/5 has-data-checked:border-primary/30 dark:has-data-checked:border-primary/20 dark:has-data-checked:bg-primary/10 gap-2 leading-snug group-data-[disabled=true]/field:opacity-50 has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border *:data-[slot=field]:p-3 group/field-label peer/field-label flex w-fit",
217
+ "has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col",
218
218
  ]);
219
219
  }
220
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmFieldLabel, deps: [], target: i0.ɵɵFactoryTarget.Directive });
221
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: HlmFieldLabel, isStandalone: true, selector: "[hlmFieldLabel],hlm-field-label", host: { attributes: { "data-slot": "field-label" } }, hostDirectives: [{ directive: i1$1.HlmLabel }], ngImport: i0 });
220
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmFieldLabel, deps: [], target: i0.ɵɵFactoryTarget.Directive });
221
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmFieldLabel, isStandalone: true, selector: "[hlmFieldLabel],hlm-field-label", host: { attributes: { "data-slot": "field-label" } }, hostDirectives: [{ directive: i1$1.HlmLabel }], ngImport: i0 });
222
222
  }
223
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmFieldLabel, decorators: [{
223
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmFieldLabel, decorators: [{
224
224
  type: Directive,
225
225
  args: [{
226
226
  selector: '[hlmFieldLabel],hlm-field-label',
@@ -233,12 +233,12 @@ class HlmFieldLegend {
233
233
  variant = input('legend', /* @ts-ignore */
234
234
  ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
235
235
  constructor() {
236
- classes(() => 'mb-3 font-medium data-[variant=label]:text-sm data-[variant=legend]:text-base');
236
+ classes(() => "mb-3 font-medium data-[variant=label]:text-sm data-[variant=legend]:text-base");
237
237
  }
238
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmFieldLegend, deps: [], target: i0.ɵɵFactoryTarget.Directive });
239
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.7", type: HlmFieldLegend, isStandalone: true, selector: "legend[hlmFieldLegend]", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "field-legend" }, properties: { "attr.data-variant": "variant()" } }, ngImport: i0 });
238
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmFieldLegend, deps: [], target: i0.ɵɵFactoryTarget.Directive });
239
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.3", type: HlmFieldLegend, isStandalone: true, selector: "legend[hlmFieldLegend]", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "field-legend" }, properties: { "attr.data-variant": "variant()" } }, ngImport: i0 });
240
240
  }
241
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmFieldLegend, decorators: [{
241
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmFieldLegend, decorators: [{
242
242
  type: Directive,
243
243
  args: [{
244
244
  selector: 'legend[hlmFieldLegend]',
@@ -251,46 +251,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
251
251
 
252
252
  class HlmFieldSeparator {
253
253
  constructor() {
254
- classes(() => '-my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2 relative');
254
+ classes(() => "-my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2 relative");
255
255
  }
256
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmFieldSeparator, deps: [], target: i0.ɵɵFactoryTarget.Component });
257
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.7", type: HlmFieldSeparator, isStandalone: true, selector: "hlm-field-separator", host: { attributes: { "data-slot": "field-separator" } }, ngImport: i0, template: `
258
- <hlm-separator class="absolute inset-0 top-1/2" />
259
- <span
260
- data-slot="field-separator-content"
261
- class="text-muted-foreground px-2 bg-background relative mx-auto block w-fit"
262
- >
263
- <ng-content />
264
- </span>
265
- `, isInline: true, dependencies: [{ kind: "directive", type: HlmSeparator, selector: "[hlmSeparator],hlm-separator" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
256
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmFieldSeparator, deps: [], target: i0.ɵɵFactoryTarget.Component });
257
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.3", type: HlmFieldSeparator, isStandalone: true, selector: "hlm-field-separator", host: { attributes: { "data-slot": "field-separator" } }, ngImport: i0, template: "\n <hlm-separator class=\"absolute inset-0 top-1/2\" />\n <span\n data-slot=\"field-separator-content\"\n class=\"text-muted-foreground px-2 bg-background relative mx-auto block w-fit\"\n >\n <ng-content />\n </span>\n ", isInline: true, dependencies: [{ kind: "directive", type: HlmSeparator, selector: "[hlmSeparator],hlm-separator" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
266
258
  }
267
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmFieldSeparator, decorators: [{
259
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmFieldSeparator, decorators: [{
268
260
  type: Component,
269
261
  args: [{
270
262
  selector: 'hlm-field-separator',
271
263
  imports: [HlmSeparator],
272
264
  changeDetection: ChangeDetectionStrategy.OnPush,
273
265
  host: { 'data-slot': 'field-separator' },
274
- template: `
275
- <hlm-separator class="absolute inset-0 top-1/2" />
276
- <span
277
- data-slot="field-separator-content"
278
- class="text-muted-foreground px-2 bg-background relative mx-auto block w-fit"
279
- >
280
- <ng-content />
281
- </span>
282
- `,
266
+ template: "\n <hlm-separator class=\"absolute inset-0 top-1/2\" />\n <span\n data-slot=\"field-separator-content\"\n class=\"text-muted-foreground px-2 bg-background relative mx-auto block w-fit\"\n >\n <ng-content />\n </span>\n ",
283
267
  }]
284
268
  }], ctorParameters: () => [] });
285
269
 
286
270
  class HlmFieldSet {
287
271
  constructor() {
288
- classes(() => 'gap-6 has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3 flex flex-col');
272
+ classes(() => "gap-6 has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3 flex flex-col");
289
273
  }
290
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmFieldSet, deps: [], target: i0.ɵɵFactoryTarget.Directive });
291
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: HlmFieldSet, isStandalone: true, selector: "fieldset[hlmFieldSet]", host: { attributes: { "data-slot": "field-set" } }, ngImport: i0 });
274
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmFieldSet, deps: [], target: i0.ɵɵFactoryTarget.Directive });
275
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmFieldSet, isStandalone: true, selector: "fieldset[hlmFieldSet]", host: { attributes: { "data-slot": "field-set" } }, ngImport: i0 });
292
276
  }
293
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmFieldSet, decorators: [{
277
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmFieldSet, decorators: [{
294
278
  type: Directive,
295
279
  args: [{
296
280
  selector: 'fieldset[hlmFieldSet]',
@@ -300,12 +284,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
300
284
 
301
285
  class HlmFieldTitle {
302
286
  constructor() {
303
- classes(() => 'gap-2 text-sm leading-snug font-medium group-data-[disabled=true]/field:opacity-50 flex w-fit items-center');
287
+ classes(() => "gap-2 text-sm leading-snug font-medium group-data-[disabled=true]/field:opacity-50 flex w-fit items-center");
304
288
  }
305
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmFieldTitle, deps: [], target: i0.ɵɵFactoryTarget.Directive });
306
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: HlmFieldTitle, isStandalone: true, selector: "[hlmFieldTitle],hlm-field-title", host: { attributes: { "data-slot": "field-label" } }, ngImport: i0 });
289
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmFieldTitle, deps: [], target: i0.ɵɵFactoryTarget.Directive });
290
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmFieldTitle, isStandalone: true, selector: "[hlmFieldTitle],hlm-field-title", host: { attributes: { "data-slot": "field-label" } }, ngImport: i0 });
307
291
  }
308
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmFieldTitle, decorators: [{
292
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmFieldTitle, decorators: [{
309
293
  type: Directive,
310
294
  args: [{
311
295
  selector: '[hlmFieldTitle],hlm-field-title',
@@ -329,8 +313,8 @@ const HlmFieldImports = [
329
313
  HlmFieldTitle,
330
314
  ];
331
315
  class HlmFieldModule {
332
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
333
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: HlmFieldModule, imports: [HlmField,
316
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
317
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.3", ngImport: i0, type: HlmFieldModule, imports: [HlmField,
334
318
  HlmFieldContent,
335
319
  HlmFieldDescription,
336
320
  HlmFieldError,
@@ -349,9 +333,9 @@ class HlmFieldModule {
349
333
  HlmFieldSeparator,
350
334
  HlmFieldSet,
351
335
  HlmFieldTitle] });
352
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmFieldModule });
336
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmFieldModule });
353
337
  }
354
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmFieldModule, decorators: [{
338
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmFieldModule, decorators: [{
355
339
  type: NgModule,
356
340
  args: [{
357
341
  imports: [...HlmFieldImports],
@@ -364,4 +348,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
364
348
  */
365
349
 
366
350
  export { HlmField, HlmFieldContent, HlmFieldDescription, HlmFieldError, HlmFieldGroup, HlmFieldImports, HlmFieldLabel, HlmFieldLegend, HlmFieldModule, HlmFieldSeparator, HlmFieldSet, HlmFieldTitle };
367
- //# sourceMappingURL=field.mjs.map
351
+
@@ -1,64 +1,3 @@
1
- # FormCheckbox
1
+ # Form Checkbox Subpath
2
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.
3
+ This project ships only as `@egose/shadcn-theme-ng/form-checkbox` or `@egose/shadcn-theme-ng-tw/form-checkbox`. See the [package README](../../README.md) for installation, compatibility, Tailwind variant, test, and release guidance. Do not publish this project directory independently.
@@ -1,14 +1,16 @@
1
1
  import * as i0 from '@angular/core';
2
- import { input, computed, ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { inject, input, computed, ChangeDetectionStrategy, Component } from '@angular/core';
3
3
  import * as i1 from '@angular/forms';
4
- import { ReactiveFormsModule, FormGroupDirective, ControlContainer } from '@angular/forms';
4
+ import { FormGroupDirective, ReactiveFormsModule, ControlContainer } from '@angular/forms';
5
5
  import { HlmLabel } from '@egose/shadcn-theme-ng/label';
6
6
  import { HlmCheckbox } from '@egose/shadcn-theme-ng/checkbox';
7
- import { HlmError, HlmHint } from '@egose/shadcn-theme-ng/form-field';
7
+ import { HlmFormIdGenerator, HlmError, HlmHint } from '@egose/shadcn-theme-ng/form-field';
8
8
  import { EgFormField } from '@egose/shadcn-theme-ng/form-field-simple';
9
9
  import { hlm } from '@egose/shadcn-theme-ng/utils';
10
10
 
11
11
  class EgFormCheckbox {
12
+ formGroupDirective = inject(FormGroupDirective);
13
+ generatedId = inject(HlmFormIdGenerator).generate('eg-form-checkbox');
12
14
  // Classes
13
15
  userClass = input('', { ...(ngDevMode ? { debugName: "userClass" } : /* istanbul ignore next */ {}), alias: 'class' });
14
16
  _computedClass = computed(() => hlm('', this.userClass()), /* @ts-ignore */
@@ -24,7 +26,7 @@ class EgFormCheckbox {
24
26
  ...(ngDevMode ? [{ debugName: "error" }] : /* istanbul ignore next */ []));
25
27
  hint = input(undefined, /* @ts-ignore */
26
28
  ...(ngDevMode ? [{ debugName: "hint" }] : /* istanbul ignore next */ []));
27
- id = input(crypto.randomUUID(), /* @ts-ignore */
29
+ id = input(undefined, /* @ts-ignore */
28
30
  ...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
29
31
  name = input(undefined, /* @ts-ignore */
30
32
  ...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
@@ -34,6 +36,20 @@ class EgFormCheckbox {
34
36
  ...(ngDevMode ? [{ debugName: "required" }] : /* istanbul ignore next */ []));
35
37
  disabled = input(false, /* @ts-ignore */
36
38
  ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
39
+ effectiveId = computed(() => this.controlId() || this.id() || this.generatedId, /* @ts-ignore */
40
+ ...(ngDevMode ? [{ debugName: "effectiveId" }] : /* istanbul ignore next */ []));
41
+ errorId = computed(() => `${this.effectiveId()}-error`, /* @ts-ignore */
42
+ ...(ngDevMode ? [{ debugName: "errorId" }] : /* istanbul ignore next */ []));
43
+ hintId = computed(() => `${this.effectiveId()}-hint`, /* @ts-ignore */
44
+ ...(ngDevMode ? [{ debugName: "hintId" }] : /* istanbul ignore next */ []));
45
+ describedBy() {
46
+ const control = this.formGroupDirective.form.get(this.controlName());
47
+ return this.error() && control?.invalid && (control.dirty || control.touched)
48
+ ? this.errorId()
49
+ : this.hint()
50
+ ? this.hintId()
51
+ : null;
52
+ }
37
53
  // Styling
38
54
  checkboxClass = input('', /* @ts-ignore */
39
55
  ...(ngDevMode ? [{ debugName: "checkboxClass" }] : /* istanbul ignore next */ []));
@@ -48,48 +64,10 @@ class EgFormCheckbox {
48
64
  ...(ngDevMode ? [{ debugName: "$errorClass" }] : /* istanbul ignore next */ []));
49
65
  $hintClass = input('', /* @ts-ignore */
50
66
  ...(ngDevMode ? [{ debugName: "$hintClass" }] : /* istanbul ignore next */ []));
51
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: EgFormCheckbox, deps: [], target: i0.ɵɵFactoryTarget.Component });
52
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: EgFormCheckbox, isStandalone: true, selector: "eg-form-checkbox", inputs: { userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, 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 }, checked: { classPropertyName: "checked", publicName: "checked", 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 }, checkboxClass: { classPropertyName: "checkboxClass", publicName: "checkboxClass", isSignal: true, isRequired: false, transformFunction: null }, labelClass: { classPropertyName: "labelClass", publicName: "labelClass", 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": "_computedClass()" } }, providers: [{ provide: ControlContainer, useExisting: FormGroupDirective }], ngImport: i0, template: `
53
- @let lbl = label();
54
- @let cid = controlId();
55
- @let cnm = controlName();
56
- @let err = error();
57
- @let hnt = hint();
58
- @let rqrd = required();
59
-
60
- <eg-form-field>
61
- <div class="flex items-center gap-1">
62
- <hlm-checkbox
63
- [id]="cid || id()"
64
- [name]="cnm || name() || null"
65
- [formControlName]="cnm"
66
- [class]="$checkboxClass()"
67
- [checked]="checked()"
68
- [required]="rqrd"
69
- />
70
- <label hlmLabel [for]="id()" [class]="$labelClass()">
71
- {{ lbl }}
72
- @if (rqrd) {
73
- <span class="text-red-500">*</span>
74
- }
75
- </label>
76
- </div>
77
-
78
- @if (err) {
79
- <hlm-error [class]="$errorClass()">
80
- {{ err }}
81
- </hlm-error>
82
- }
83
-
84
- @if (hnt) {
85
- <hlm-hint [class]="$hintClass()">
86
- {{ hnt }}
87
- </hlm-hint>
88
- }
89
- </eg-form-field>
90
- `, 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: HlmCheckbox, selector: "hlm-checkbox", inputs: ["class", "id", "aria-label", "aria-labelledby", "aria-describedby", "checked", "name", "required", "disabled"], outputs: ["checkedChange", "changed"] }, { kind: "directive", type: HlmLabel, selector: "[hlmLabel]", inputs: ["class"] }, { kind: "component", type: EgFormField, selector: "eg-form-field", inputs: ["class"] }, { kind: "directive", type: HlmError, selector: "hlm-error", inputs: ["class"] }, { kind: "directive", type: HlmHint, selector: "hlm-hint", inputs: ["class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
67
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: EgFormCheckbox, deps: [], target: i0.ɵɵFactoryTarget.Component });
68
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.3", type: EgFormCheckbox, isStandalone: true, selector: "eg-form-checkbox", inputs: { userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, 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 }, checked: { classPropertyName: "checked", publicName: "checked", 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 }, checkboxClass: { classPropertyName: "checkboxClass", publicName: "checkboxClass", isSignal: true, isRequired: false, transformFunction: null }, labelClass: { classPropertyName: "labelClass", publicName: "labelClass", 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": "_computedClass()" } }, providers: [{ provide: ControlContainer, useExisting: FormGroupDirective }], ngImport: i0, template: "\n @let lbl = label();\n @let cnm = controlName();\n @let err = error();\n @let hnt = hint();\n @let rqrd = required();\n\n <eg-form-field>\n <div class=\"flex items-center gap-1\">\n <hlm-checkbox\n [id]=\"effectiveId()\"\n [name]=\"cnm || name() || null\"\n [formControlName]=\"cnm\"\n [class]=\"$checkboxClass()\"\n [checked]=\"checked()\"\n [required]=\"rqrd\"\n [wrapperDisabled]=\"disabled()\"\n [aria-describedby]=\"describedBy()\"\n />\n <label hlmLabel [for]=\"effectiveId()\" [class]=\"$labelClass()\">\n {{ lbl }}\n @if (rqrd) {\n <span class=\"text-red-500\">*</span>\n }\n </label>\n </div>\n\n @if (err) {\n <hlm-error [id]=\"errorId()\" [class]=\"$errorClass()\">\n {{ err }}\n </hlm-error>\n }\n\n @if (hnt) {\n <hlm-hint [id]=\"hintId()\" [class]=\"$hintClass()\">\n {{ hnt }}\n </hlm-hint>\n }\n </eg-form-field>\n ", 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: HlmCheckbox, selector: "hlm-checkbox", inputs: ["class", "id", "aria-label", "aria-labelledby", "aria-describedby", "checked", "name", "required", "disabled", "wrapperDisabled"], outputs: ["checkedChange", "changed"] }, { kind: "directive", type: HlmLabel, selector: "[hlmLabel]", inputs: ["class"] }, { kind: "component", type: EgFormField, selector: "eg-form-field", inputs: ["class"] }, { kind: "directive", type: HlmError, selector: "hlm-error", inputs: ["class"] }, { kind: "directive", type: HlmHint, selector: "hlm-hint", inputs: ["class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
91
69
  }
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: EgFormCheckbox, decorators: [{
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: EgFormCheckbox, decorators: [{
93
71
  type: Component,
94
72
  args: [{
95
73
  selector: 'eg-form-checkbox',
@@ -100,45 +78,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
100
78
  changeDetection: ChangeDetectionStrategy.OnPush,
101
79
  imports: [ReactiveFormsModule, HlmCheckbox, HlmLabel, EgFormField, HlmError, HlmHint],
102
80
  providers: [{ provide: ControlContainer, useExisting: FormGroupDirective }],
103
- template: `
104
- @let lbl = label();
105
- @let cid = controlId();
106
- @let cnm = controlName();
107
- @let err = error();
108
- @let hnt = hint();
109
- @let rqrd = required();
110
-
111
- <eg-form-field>
112
- <div class="flex items-center gap-1">
113
- <hlm-checkbox
114
- [id]="cid || id()"
115
- [name]="cnm || name() || null"
116
- [formControlName]="cnm"
117
- [class]="$checkboxClass()"
118
- [checked]="checked()"
119
- [required]="rqrd"
120
- />
121
- <label hlmLabel [for]="id()" [class]="$labelClass()">
122
- {{ lbl }}
123
- @if (rqrd) {
124
- <span class="text-red-500">*</span>
125
- }
126
- </label>
127
- </div>
128
-
129
- @if (err) {
130
- <hlm-error [class]="$errorClass()">
131
- {{ err }}
132
- </hlm-error>
133
- }
134
-
135
- @if (hnt) {
136
- <hlm-hint [class]="$hintClass()">
137
- {{ hnt }}
138
- </hlm-hint>
139
- }
140
- </eg-form-field>
141
- `,
81
+ template: "\n @let lbl = label();\n @let cnm = controlName();\n @let err = error();\n @let hnt = hint();\n @let rqrd = required();\n\n <eg-form-field>\n <div class=\"flex items-center gap-1\">\n <hlm-checkbox\n [id]=\"effectiveId()\"\n [name]=\"cnm || name() || null\"\n [formControlName]=\"cnm\"\n [class]=\"$checkboxClass()\"\n [checked]=\"checked()\"\n [required]=\"rqrd\"\n [wrapperDisabled]=\"disabled()\"\n [aria-describedby]=\"describedBy()\"\n />\n <label hlmLabel [for]=\"effectiveId()\" [class]=\"$labelClass()\">\n {{ lbl }}\n @if (rqrd) {\n <span class=\"text-red-500\">*</span>\n }\n </label>\n </div>\n\n @if (err) {\n <hlm-error [id]=\"errorId()\" [class]=\"$errorClass()\">\n {{ err }}\n </hlm-error>\n }\n\n @if (hnt) {\n <hlm-hint [id]=\"hintId()\" [class]=\"$hintClass()\">\n {{ hnt }}\n </hlm-hint>\n }\n </eg-form-field>\n ",
142
82
  }]
143
83
  }], propDecorators: { userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], 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 }] }], checked: [{ type: i0.Input, args: [{ isSignal: true, alias: "checked", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], checkboxClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "checkboxClass", required: false }] }], labelClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelClass", required: false }] }], $errorClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "$errorClass", required: false }] }], $hintClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "$hintClass", required: false }] }] } });
144
84
 
@@ -151,4 +91,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
151
91
  */
152
92
 
153
93
  export { EgFormCheckbox };
154
- //# sourceMappingURL=form-checkbox.mjs.map
94
+
@@ -2,6 +2,8 @@ import * as _angular_core from '@angular/core';
2
2
  import { ClassValue } from 'clsx';
3
3
 
4
4
  declare class EgFormCheckbox {
5
+ private readonly formGroupDirective;
6
+ private readonly generatedId;
5
7
  readonly userClass: _angular_core.InputSignal<ClassValue>;
6
8
  protected readonly _computedClass: _angular_core.Signal<string>;
7
9
  label: _angular_core.InputSignal<string>;
@@ -9,11 +11,15 @@ declare class EgFormCheckbox {
9
11
  controlName: _angular_core.InputSignal<string>;
10
12
  error: _angular_core.InputSignal<string | undefined>;
11
13
  hint: _angular_core.InputSignal<string | undefined>;
12
- id: _angular_core.InputSignal<string>;
14
+ id: _angular_core.InputSignal<string | undefined>;
13
15
  name: _angular_core.InputSignal<string | undefined>;
14
16
  checked: _angular_core.InputSignal<boolean>;
15
17
  required: _angular_core.InputSignal<boolean>;
16
18
  disabled: _angular_core.InputSignal<boolean>;
19
+ readonly effectiveId: _angular_core.Signal<string>;
20
+ readonly errorId: _angular_core.Signal<string>;
21
+ readonly hintId: _angular_core.Signal<string>;
22
+ describedBy(): string | null;
17
23
  checkboxClass: _angular_core.InputSignal<string>;
18
24
  labelClass: _angular_core.InputSignal<string>;
19
25
  $checkboxClass: _angular_core.Signal<string>;
@@ -1,64 +1,3 @@
1
- # FormDatePicker
1
+ # Form Date Picker Subpath
2
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-date-picker
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-date-picker
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.
3
+ This project ships only as `@egose/shadcn-theme-ng/form-date-picker` or `@egose/shadcn-theme-ng-tw/form-date-picker`. See the [package README](../../README.md) for installation, compatibility, Tailwind variant, test, and release guidance. Do not publish this project directory independently.