@egose/shadcn-theme-ng 0.0.27 → 0.0.28

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 (334) hide show
  1. package/accordion/README.md +64 -0
  2. package/accordion/fesm2022/accordion.mjs +160 -0
  3. package/accordion/fesm2022/accordion.mjs.map +1 -0
  4. package/accordion/package.json +25 -0
  5. package/accordion/types/accordion.d.ts +49 -0
  6. package/alert/fesm2022/alert.mjs +29 -24
  7. package/alert/fesm2022/alert.mjs.map +1 -1
  8. package/alert/package.json +25 -0
  9. package/alert-dialog/README.md +11 -0
  10. package/alert-dialog/fesm2022/alert-dialog.mjs +287 -0
  11. package/alert-dialog/fesm2022/alert-dialog.mjs.map +1 -0
  12. package/alert-dialog/package.json +25 -0
  13. package/alert-dialog/types/alert-dialog.d.ts +90 -0
  14. package/aspect-ratio/README.md +11 -0
  15. package/aspect-ratio/fesm2022/aspect-ratio.mjs +62 -0
  16. package/aspect-ratio/fesm2022/aspect-ratio.mjs.map +1 -0
  17. package/aspect-ratio/package.json +25 -0
  18. package/aspect-ratio/types/aspect-ratio.d.ts +21 -0
  19. package/autocomplete/README.md +64 -0
  20. package/autocomplete/fesm2022/autocomplete.mjs +409 -0
  21. package/autocomplete/fesm2022/autocomplete.mjs.map +1 -0
  22. package/autocomplete/package.json +24 -0
  23. package/autocomplete/types/autocomplete.d.ts +96 -0
  24. package/avatar/README.md +11 -0
  25. package/avatar/fesm2022/avatar.mjs +178 -0
  26. package/avatar/fesm2022/avatar.mjs.map +1 -0
  27. package/avatar/package.json +25 -0
  28. package/avatar/types/avatar.d.ts +50 -0
  29. package/badge/fesm2022/badge.mjs +15 -9
  30. package/badge/fesm2022/badge.mjs.map +1 -1
  31. package/badge/package.json +25 -0
  32. package/basic-alert/fesm2022/basic-alert.mjs +11 -7
  33. package/basic-alert/fesm2022/basic-alert.mjs.map +1 -1
  34. package/basic-alert/package.json +24 -0
  35. package/breadcrumb/README.md +11 -0
  36. package/breadcrumb/fesm2022/breadcrumb.mjs +224 -0
  37. package/breadcrumb/fesm2022/breadcrumb.mjs.map +1 -0
  38. package/breadcrumb/package.json +25 -0
  39. package/breadcrumb/types/breadcrumb.d.ts +57 -0
  40. package/button/fesm2022/button.mjs +99 -25
  41. package/button/fesm2022/button.mjs.map +1 -1
  42. package/button/package.json +25 -0
  43. package/button/{index.d.ts → types/button.d.ts} +30 -9
  44. package/button-group/README.md +11 -0
  45. package/button-group/fesm2022/button-group.mjs +102 -0
  46. package/button-group/fesm2022/button-group.mjs.map +1 -0
  47. package/button-group/package.json +25 -0
  48. package/button-group/types/button-group.d.ts +30 -0
  49. package/calendar/fesm2022/calendar.mjs +868 -546
  50. package/calendar/fesm2022/calendar.mjs.map +1 -1
  51. package/calendar/package.json +24 -0
  52. package/calendar/types/calendar.d.ts +94 -0
  53. package/card/README.md +11 -0
  54. package/card/fesm2022/card.mjs +169 -0
  55. package/card/fesm2022/card.mjs.map +1 -0
  56. package/card/package.json +25 -0
  57. package/card/types/card.d.ts +54 -0
  58. package/carousel/README.md +11 -0
  59. package/carousel/fesm2022/carousel.mjs +309 -0
  60. package/carousel/fesm2022/carousel.mjs.map +1 -0
  61. package/carousel/package.json +25 -0
  62. package/carousel/types/carousel.d.ts +84 -0
  63. package/checkbox/README.md +64 -0
  64. package/checkbox/fesm2022/checkbox.mjs +151 -0
  65. package/checkbox/fesm2022/checkbox.mjs.map +1 -0
  66. package/checkbox/package.json +24 -0
  67. package/checkbox/types/checkbox.d.ts +55 -0
  68. package/collapsible/README.md +11 -0
  69. package/collapsible/fesm2022/collapsible.mjs +77 -0
  70. package/collapsible/fesm2022/collapsible.mjs.map +1 -0
  71. package/collapsible/package.json +25 -0
  72. package/collapsible/types/collapsible.d.ts +27 -0
  73. package/combobox/README.md +11 -0
  74. package/combobox/fesm2022/combobox.mjs +683 -0
  75. package/combobox/fesm2022/combobox.mjs.map +1 -0
  76. package/combobox/package.json +25 -0
  77. package/combobox/types/combobox.d.ts +151 -0
  78. package/command/README.md +11 -0
  79. package/command/fesm2022/command.mjs +361 -0
  80. package/command/fesm2022/command.mjs.map +1 -0
  81. package/command/package.json +25 -0
  82. package/command/types/command.d.ts +89 -0
  83. package/confirmation-dialog/README.md +64 -0
  84. package/confirmation-dialog/fesm2022/confirmation-dialog.mjs +104 -0
  85. package/confirmation-dialog/fesm2022/confirmation-dialog.mjs.map +1 -0
  86. package/confirmation-dialog/package.json +24 -0
  87. package/confirmation-dialog/types/confirmation-dialog.d.ts +24 -0
  88. package/context-menu/README.md +11 -0
  89. package/context-menu/fesm2022/context-menu.mjs +89 -0
  90. package/context-menu/fesm2022/context-menu.mjs.map +1 -0
  91. package/context-menu/package.json +25 -0
  92. package/context-menu/types/context-menu.d.ts +34 -0
  93. package/date-picker/fesm2022/date-picker.mjs +1262 -307
  94. package/date-picker/fesm2022/date-picker.mjs.map +1 -1
  95. package/date-picker/package.json +24 -0
  96. package/date-picker/types/date-picker.d.ts +551 -0
  97. package/dialog/README.md +64 -0
  98. package/dialog/fesm2022/dialog.mjs +307 -0
  99. package/dialog/fesm2022/dialog.mjs.map +1 -0
  100. package/dialog/package.json +24 -0
  101. package/dialog/types/dialog.d.ts +95 -0
  102. package/drawer/README.md +11 -0
  103. package/drawer/fesm2022/drawer.mjs +271 -0
  104. package/drawer/fesm2022/drawer.mjs.map +1 -0
  105. package/drawer/package.json +25 -0
  106. package/drawer/types/drawer.d.ts +76 -0
  107. package/dropdown-menu/README.md +11 -0
  108. package/dropdown-menu/fesm2022/dropdown-menu.mjs +542 -0
  109. package/dropdown-menu/fesm2022/dropdown-menu.mjs.map +1 -0
  110. package/dropdown-menu/package.json +25 -0
  111. package/dropdown-menu/types/dropdown-menu.d.ts +176 -0
  112. package/empty/README.md +11 -0
  113. package/empty/fesm2022/empty.mjs +151 -0
  114. package/empty/fesm2022/empty.mjs.map +1 -0
  115. package/empty/package.json +25 -0
  116. package/empty/types/empty.d.ts +54 -0
  117. package/field/README.md +11 -0
  118. package/field/fesm2022/field.mjs +367 -0
  119. package/field/fesm2022/field.mjs.map +1 -0
  120. package/field/package.json +25 -0
  121. package/field/types/field.d.ts +107 -0
  122. package/form-checkbox/README.md +64 -0
  123. package/form-checkbox/fesm2022/form-checkbox.mjs +154 -0
  124. package/form-checkbox/fesm2022/form-checkbox.mjs.map +1 -0
  125. package/form-checkbox/package.json +24 -0
  126. package/form-checkbox/types/form-checkbox.d.ts +27 -0
  127. package/form-date-picker/fesm2022/form-date-picker.mjs +57 -50
  128. package/form-date-picker/fesm2022/form-date-picker.mjs.map +1 -1
  129. package/form-date-picker/package.json +24 -0
  130. package/form-field/fesm2022/form-field.mjs +37 -25
  131. package/form-field/fesm2022/form-field.mjs.map +1 -1
  132. package/form-field/package.json +25 -0
  133. package/form-field/{index.d.ts → types/form-field.d.ts} +4 -3
  134. package/form-field-simple/fesm2022/form-field-simple.mjs +14 -9
  135. package/form-field-simple/fesm2022/form-field-simple.mjs.map +1 -1
  136. package/form-field-simple/package.json +24 -0
  137. package/form-searchable-multiselect/README.md +64 -0
  138. package/form-searchable-multiselect/fesm2022/form-searchable-multiselect.mjs +158 -0
  139. package/form-searchable-multiselect/fesm2022/form-searchable-multiselect.mjs.map +1 -0
  140. package/form-searchable-multiselect/package.json +24 -0
  141. package/form-searchable-multiselect/types/form-searchable-multiselect.d.ts +30 -0
  142. package/form-select/fesm2022/form-select.mjs +131 -70
  143. package/form-select/fesm2022/form-select.mjs.map +1 -1
  144. package/form-select/package.json +24 -0
  145. package/form-text-input/fesm2022/form-text-input.mjs +66 -37
  146. package/form-text-input/fesm2022/form-text-input.mjs.map +1 -1
  147. package/form-text-input/package.json +24 -0
  148. package/form-textarea/fesm2022/form-textarea.mjs +53 -29
  149. package/form-textarea/fesm2022/form-textarea.mjs.map +1 -1
  150. package/form-textarea/package.json +24 -0
  151. package/hover-card/README.md +11 -0
  152. package/hover-card/fesm2022/hover-card.mjs +123 -0
  153. package/hover-card/fesm2022/hover-card.mjs.map +1 -0
  154. package/hover-card/package.json +25 -0
  155. package/hover-card/types/hover-card.d.ts +36 -0
  156. package/icon/fesm2022/icon.mjs +11 -9
  157. package/icon/fesm2022/icon.mjs.map +1 -1
  158. package/icon/package.json +25 -0
  159. package/input/fesm2022/input.mjs +21 -71
  160. package/input/fesm2022/input.mjs.map +1 -1
  161. package/input/package.json +25 -0
  162. package/input/types/input.d.ts +18 -0
  163. package/input-group/README.md +11 -0
  164. package/input-group/fesm2022/input-group.mjs +199 -0
  165. package/input-group/fesm2022/input-group.mjs.map +1 -0
  166. package/input-group/package.json +25 -0
  167. package/input-group/types/input-group.d.ts +52 -0
  168. package/input-otp/README.md +11 -0
  169. package/input-otp/fesm2022/input-otp.mjs +141 -0
  170. package/input-otp/fesm2022/input-otp.mjs.map +1 -0
  171. package/input-otp/package.json +25 -0
  172. package/input-otp/types/input-otp.d.ts +43 -0
  173. package/item/README.md +11 -0
  174. package/item/fesm2022/item.mjs +278 -0
  175. package/item/fesm2022/item.mjs.map +1 -0
  176. package/item/package.json +25 -0
  177. package/item/types/item.d.ts +101 -0
  178. package/kbd/README.md +11 -0
  179. package/kbd/fesm2022/kbd.mjs +61 -0
  180. package/kbd/fesm2022/kbd.mjs.map +1 -0
  181. package/kbd/package.json +25 -0
  182. package/kbd/types/kbd.d.ts +22 -0
  183. package/label/fesm2022/label.mjs +10 -9
  184. package/label/fesm2022/label.mjs.map +1 -1
  185. package/label/package.json +25 -0
  186. package/layout-simple/README.md +64 -0
  187. package/layout-simple/fesm2022/layout-simple.mjs +719 -0
  188. package/layout-simple/fesm2022/layout-simple.mjs.map +1 -0
  189. package/layout-simple/package.json +24 -0
  190. package/layout-simple/types/layout-simple.d.ts +153 -0
  191. package/menubar/README.md +11 -0
  192. package/menubar/fesm2022/menubar.mjs +108 -0
  193. package/menubar/fesm2022/menubar.mjs.map +1 -0
  194. package/menubar/package.json +25 -0
  195. package/menubar/types/menubar.d.ts +40 -0
  196. package/native-select/README.md +11 -0
  197. package/native-select/fesm2022/native-select.mjs +207 -0
  198. package/native-select/fesm2022/native-select.mjs.map +1 -0
  199. package/native-select/package.json +25 -0
  200. package/native-select/types/native-select.d.ts +70 -0
  201. package/navigation-menu/README.md +11 -0
  202. package/navigation-menu/fesm2022/navigation-menu.mjs +206 -0
  203. package/navigation-menu/fesm2022/navigation-menu.mjs.map +1 -0
  204. package/navigation-menu/package.json +25 -0
  205. package/navigation-menu/types/navigation-menu.d.ts +54 -0
  206. package/package.json +239 -47
  207. package/pagination/README.md +11 -0
  208. package/pagination/fesm2022/pagination.mjs +808 -0
  209. package/pagination/fesm2022/pagination.mjs.map +1 -0
  210. package/pagination/package.json +25 -0
  211. package/pagination/types/pagination.d.ts +192 -0
  212. package/popover/fesm2022/popover.mjs +123 -29
  213. package/popover/fesm2022/popover.mjs.map +1 -1
  214. package/popover/package.json +24 -0
  215. package/popover/types/popover.d.ts +54 -0
  216. package/progress/README.md +11 -0
  217. package/progress/fesm2022/progress.mjs +77 -0
  218. package/progress/fesm2022/progress.mjs.map +1 -0
  219. package/progress/package.json +25 -0
  220. package/progress/types/progress.d.ts +27 -0
  221. package/radio-group/README.md +64 -0
  222. package/radio-group/fesm2022/radio-group.mjs +204 -0
  223. package/radio-group/fesm2022/radio-group.mjs.map +1 -0
  224. package/radio-group/package.json +25 -0
  225. package/radio-group/types/radio-group.d.ts +71 -0
  226. package/resizable/README.md +11 -0
  227. package/resizable/fesm2022/resizable.mjs +111 -0
  228. package/resizable/fesm2022/resizable.mjs.map +1 -0
  229. package/resizable/package.json +25 -0
  230. package/resizable/types/resizable.d.ts +32 -0
  231. package/scroll-area/README.md +11 -0
  232. package/scroll-area/fesm2022/scroll-area.mjs +51 -0
  233. package/scroll-area/fesm2022/scroll-area.mjs.map +1 -0
  234. package/scroll-area/package.json +25 -0
  235. package/scroll-area/types/scroll-area.d.ts +16 -0
  236. package/searchable-multiselect/README.md +64 -0
  237. package/searchable-multiselect/fesm2022/searchable-multiselect.mjs +225 -0
  238. package/searchable-multiselect/fesm2022/searchable-multiselect.mjs.map +1 -0
  239. package/searchable-multiselect/package.json +24 -0
  240. package/searchable-multiselect/types/searchable-multiselect.d.ts +39 -0
  241. package/select/fesm2022/select.mjs +373 -191
  242. package/select/fesm2022/select.mjs.map +1 -1
  243. package/select/package.json +25 -0
  244. package/select/types/select.d.ts +119 -0
  245. package/separator/fesm2022/separator.mjs +16 -14
  246. package/separator/fesm2022/separator.mjs.map +1 -1
  247. package/separator/package.json +24 -0
  248. package/separator/{index.d.ts → types/separator.d.ts} +4 -5
  249. package/sheet/fesm2022/sheet.mjs +49 -42
  250. package/sheet/fesm2022/sheet.mjs.map +1 -1
  251. package/sheet/package.json +24 -0
  252. package/sidebar/README.md +11 -0
  253. package/sidebar/fesm2022/sidebar.mjs +948 -0
  254. package/sidebar/fesm2022/sidebar.mjs.map +1 -0
  255. package/sidebar/package.json +25 -0
  256. package/sidebar/types/sidebar.d.ts +237 -0
  257. package/skeleton/README.md +11 -0
  258. package/skeleton/fesm2022/skeleton.mjs +44 -0
  259. package/skeleton/fesm2022/skeleton.mjs.map +1 -0
  260. package/skeleton/package.json +25 -0
  261. package/skeleton/types/skeleton.d.ts +16 -0
  262. package/slider/README.md +11 -0
  263. package/slider/fesm2022/slider.mjs +144 -0
  264. package/slider/fesm2022/slider.mjs.map +1 -0
  265. package/slider/package.json +25 -0
  266. package/slider/types/slider.d.ts +19 -0
  267. package/sonner/fesm2022/sonner.mjs +29 -34
  268. package/sonner/fesm2022/sonner.mjs.map +1 -1
  269. package/sonner/package.json +25 -0
  270. package/spinner/fesm2022/spinner.mjs +17 -13
  271. package/spinner/fesm2022/spinner.mjs.map +1 -1
  272. package/spinner/package.json +25 -0
  273. package/switch/fesm2022/switch.mjs +27 -24
  274. package/switch/fesm2022/switch.mjs.map +1 -1
  275. package/switch/package.json +25 -0
  276. package/table/README.md +11 -0
  277. package/table/fesm2022/table.mjs +211 -0
  278. package/table/fesm2022/table.mjs.map +1 -0
  279. package/table/package.json +25 -0
  280. package/table/types/table.d.ts +87 -0
  281. package/tabs/README.md +64 -0
  282. package/tabs/fesm2022/tabs.mjs +286 -0
  283. package/tabs/fesm2022/tabs.mjs.map +1 -0
  284. package/tabs/package.json +25 -0
  285. package/tabs/types/tabs.d.ts +71 -0
  286. package/textarea/README.md +11 -0
  287. package/textarea/fesm2022/textarea.mjs +47 -0
  288. package/textarea/fesm2022/textarea.mjs.map +1 -0
  289. package/textarea/package.json +25 -0
  290. package/textarea/types/textarea.d.ts +18 -0
  291. package/toggle/README.md +11 -0
  292. package/toggle/fesm2022/toggle.mjs +78 -0
  293. package/toggle/fesm2022/toggle.mjs.map +1 -0
  294. package/toggle/package.json +25 -0
  295. package/toggle/types/toggle.d.ts +27 -0
  296. package/toggle-group/README.md +11 -0
  297. package/toggle-group/fesm2022/toggle-group.mjs +117 -0
  298. package/toggle-group/fesm2022/toggle-group.mjs.map +1 -0
  299. package/toggle-group/package.json +25 -0
  300. package/toggle-group/types/toggle-group.d.ts +39 -0
  301. package/tooltip/README.md +64 -0
  302. package/tooltip/fesm2022/tooltip.mjs +72 -0
  303. package/tooltip/fesm2022/tooltip.mjs.map +1 -0
  304. package/tooltip/package.json +25 -0
  305. package/tooltip/types/tooltip.d.ts +22 -0
  306. package/typography/README.md +11 -0
  307. package/typography/fesm2022/typography.mjs +242 -0
  308. package/typography/fesm2022/typography.mjs.map +1 -0
  309. package/typography/package.json +25 -0
  310. package/typography/types/typography.d.ts +94 -0
  311. package/utils/fesm2022/utils.mjs +184 -1
  312. package/utils/fesm2022/utils.mjs.map +1 -1
  313. package/utils/package.json +25 -0
  314. package/utils/types/utils.d.ts +13 -0
  315. package/calendar/index.d.ts +0 -111
  316. package/date-picker/index.d.ts +0 -227
  317. package/input/index.d.ts +0 -41
  318. package/popover/index.d.ts +0 -30
  319. package/select/index.d.ts +0 -92
  320. package/utils/index.d.ts +0 -5
  321. /package/alert/{index.d.ts → types/alert.d.ts} +0 -0
  322. /package/badge/{index.d.ts → types/badge.d.ts} +0 -0
  323. /package/basic-alert/{index.d.ts → types/basic-alert.d.ts} +0 -0
  324. /package/form-date-picker/{index.d.ts → types/form-date-picker.d.ts} +0 -0
  325. /package/form-field-simple/{index.d.ts → types/form-field-simple.d.ts} +0 -0
  326. /package/form-select/{index.d.ts → types/form-select.d.ts} +0 -0
  327. /package/form-text-input/{index.d.ts → types/form-text-input.d.ts} +0 -0
  328. /package/form-textarea/{index.d.ts → types/form-textarea.d.ts} +0 -0
  329. /package/icon/{index.d.ts → types/icon.d.ts} +0 -0
  330. /package/label/{index.d.ts → types/label.d.ts} +0 -0
  331. /package/sheet/{index.d.ts → types/sheet.d.ts} +0 -0
  332. /package/sonner/{index.d.ts → types/sonner.d.ts} +0 -0
  333. /package/spinner/{index.d.ts → types/spinner.d.ts} +0 -0
  334. /package/switch/{index.d.ts → types/switch.d.ts} +0 -0
@@ -0,0 +1,54 @@
1
+ import * as i0 from '@angular/core';
2
+ import * as i1 from '@spartan-ng/brain/popover';
3
+
4
+ declare class HlmPopover {
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmPopover, never>;
6
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HlmPopover, "[hlmPopover],hlm-popover", never, {}, {}, never, never, true, [{ directive: typeof i1.BrnPopover; inputs: { "align": "align"; "attachTo": "attachTo"; "autoFocus": "autoFocus"; "closeOnOutsidePointerEvents": "closeOnOutsidePointerEvents"; "offsetX": "offsetX"; "sideOffset": "sideOffset"; "state": "state"; }; outputs: { "stateChanged": "stateChanged"; "closed": "closed"; }; }]>;
7
+ }
8
+
9
+ declare class HlmPopoverContent {
10
+ private readonly _stateProvider;
11
+ state: i0.Signal<"closed" | "open">;
12
+ private readonly _renderer;
13
+ private readonly _element;
14
+ constructor();
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmPopoverContent, never>;
16
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HlmPopoverContent, "[hlmPopoverContent],hlm-popover-content", never, {}, {}, never, never, true, never>;
17
+ }
18
+
19
+ declare class HlmPopoverDescription {
20
+ constructor();
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmPopoverDescription, never>;
22
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HlmPopoverDescription, "[hlmPopoverDescription]", never, {}, {}, never, never, true, never>;
23
+ }
24
+
25
+ declare class HlmPopoverHeader {
26
+ constructor();
27
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmPopoverHeader, never>;
28
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HlmPopoverHeader, "[hlmPopoverHeader],hlm-popover-header", never, {}, {}, never, never, true, never>;
29
+ }
30
+
31
+ declare class HlmPopoverPortal {
32
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmPopoverPortal, never>;
33
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HlmPopoverPortal, "[hlmPopoverPortal]", never, {}, {}, never, never, true, [{ directive: typeof i1.BrnPopoverContent; inputs: { "context": "context"; "class": "class"; }; outputs: {}; }]>;
34
+ }
35
+
36
+ declare class HlmPopoverTitle {
37
+ constructor();
38
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmPopoverTitle, never>;
39
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HlmPopoverTitle, "[hlmPopoverTitle]", never, {}, {}, never, never, true, never>;
40
+ }
41
+
42
+ declare class HlmPopoverTrigger {
43
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmPopoverTrigger, never>;
44
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HlmPopoverTrigger, "button[hlmPopoverTrigger],button[hlmPopoverTriggerFor]", never, {}, {}, never, never, true, [{ directive: typeof i1.BrnPopoverTrigger; inputs: { "id": "id"; "brnPopoverTriggerFor": "hlmPopoverTriggerFor"; "type": "type"; }; outputs: {}; }]>;
45
+ }
46
+
47
+ declare const HlmPopoverImports: readonly [typeof HlmPopover, typeof HlmPopoverContent, typeof HlmPopoverDescription, typeof HlmPopoverHeader, typeof HlmPopoverPortal, typeof HlmPopoverTitle, typeof HlmPopoverTrigger];
48
+ declare class HlmPopoverModule {
49
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmPopoverModule, never>;
50
+ static ɵmod: i0.ɵɵNgModuleDeclaration<HlmPopoverModule, never, [typeof HlmPopover, typeof HlmPopoverContent, typeof HlmPopoverDescription, typeof HlmPopoverHeader, typeof HlmPopoverPortal, typeof HlmPopoverTitle, typeof HlmPopoverTrigger], [typeof HlmPopover, typeof HlmPopoverContent, typeof HlmPopoverDescription, typeof HlmPopoverHeader, typeof HlmPopoverPortal, typeof HlmPopoverTitle, typeof HlmPopoverTrigger]>;
51
+ static ɵinj: i0.ɵɵInjectorDeclaration<HlmPopoverModule>;
52
+ }
53
+
54
+ export { HlmPopover, HlmPopoverContent, HlmPopoverDescription, HlmPopoverHeader, HlmPopoverImports, HlmPopoverModule, HlmPopoverPortal, HlmPopoverTitle, HlmPopoverTrigger };
@@ -0,0 +1,11 @@
1
+ # Progress
2
+
3
+ This project was generated using [Angular CLI](https://github.com/angular/angular-cli).
4
+
5
+ ## Building
6
+
7
+ To build the library, run:
8
+
9
+ ```bash
10
+ ng build progress
11
+ ```
@@ -0,0 +1,77 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Directive, inject, computed, NgModule } from '@angular/core';
3
+ import * as i1 from '@spartan-ng/brain/progress';
4
+ import { BrnProgress, injectBrnProgress, BrnProgressIndicator } from '@spartan-ng/brain/progress';
5
+ import { classes } from '@egose/shadcn-theme-ng/utils';
6
+ import { Directionality } from '@angular/cdk/bidi';
7
+
8
+ class HlmProgress {
9
+ constructor() {
10
+ classes(() => 'bg-muted h-1.5 rounded-full relative inline-flex w-full overflow-hidden');
11
+ }
12
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmProgress, deps: [], target: i0.ɵɵFactoryTarget.Directive });
13
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: HlmProgress, isStandalone: true, selector: "hlm-progress,[hlmProgress]", host: { attributes: { "data-slot": "progress" } }, hostDirectives: [{ directive: i1.BrnProgress, inputs: ["value", "value", "max", "max", "getValueLabel", "getValueLabel"] }], ngImport: i0 });
14
+ }
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmProgress, decorators: [{
16
+ type: Directive,
17
+ args: [{
18
+ selector: 'hlm-progress,[hlmProgress]',
19
+ hostDirectives: [{ directive: BrnProgress, inputs: ['value', 'max', 'getValueLabel'] }],
20
+ host: { 'data-slot': 'progress' },
21
+ }]
22
+ }], ctorParameters: () => [] });
23
+
24
+ class HlmProgressIndicator {
25
+ _progress = injectBrnProgress();
26
+ _dir = inject(Directionality);
27
+ // Offset the indicator by the unfilled remainder. In RTL the bar fills from the inline-start
28
+ // (visually the right), so translate the opposite way to keep the fill on the correct side.
29
+ _transform = computed(() => {
30
+ const offset = 100 - (this._progress.value() ?? 100);
31
+ return `translateX(${this._dir.valueSignal() === 'rtl' ? '' : '-'}${offset}%)`;
32
+ }, /* @ts-ignore */
33
+ ...(ngDevMode ? [{ debugName: "_transform" }] : /* istanbul ignore next */ []));
34
+ _indeterminate = computed(() => this._progress.value() === null || this._progress.value() === undefined, /* @ts-ignore */
35
+ ...(ngDevMode ? [{ debugName: "_indeterminate" }] : /* istanbul ignore next */ []));
36
+ constructor() {
37
+ classes(() => 'bg-primary h-full w-full flex-1 transition-all');
38
+ }
39
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmProgressIndicator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
40
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: HlmProgressIndicator, isStandalone: true, selector: "[hlmProgressIndicator],hlm-progress-indicator", host: { attributes: { "data-slot": "progress-indicator" }, properties: { "class.animate-indeterminate": "_indeterminate()", "style.transform": "_transform()" } }, hostDirectives: [{ directive: i1.BrnProgressIndicator }], ngImport: i0 });
41
+ }
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmProgressIndicator, decorators: [{
43
+ type: Directive,
44
+ args: [{
45
+ selector: '[hlmProgressIndicator],hlm-progress-indicator',
46
+ hostDirectives: [BrnProgressIndicator],
47
+ host: {
48
+ 'data-slot': 'progress-indicator',
49
+ '[class.animate-indeterminate]': '_indeterminate()',
50
+ '[style.transform]': '_transform()',
51
+ },
52
+ }]
53
+ }], ctorParameters: () => [] });
54
+
55
+ /*
56
+ * Public API Surface of progress
57
+ */
58
+ const HlmProgressImports = [HlmProgress, HlmProgressIndicator];
59
+ class HlmProgressModule {
60
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmProgressModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
61
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: HlmProgressModule, imports: [HlmProgress, HlmProgressIndicator], exports: [HlmProgress, HlmProgressIndicator] });
62
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmProgressModule });
63
+ }
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmProgressModule, decorators: [{
65
+ type: NgModule,
66
+ args: [{
67
+ imports: [...HlmProgressImports],
68
+ exports: [...HlmProgressImports],
69
+ }]
70
+ }] });
71
+
72
+ /**
73
+ * Generated bundle index. Do not edit.
74
+ */
75
+
76
+ export { HlmProgress, HlmProgressImports, HlmProgressIndicator, HlmProgressModule };
77
+ //# sourceMappingURL=progress.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.mjs","sources":["../../../projects/progress/src/lib/hlm-progress.ts","../../../projects/progress/src/lib/hlm-progress-indicator.ts","../../../projects/progress/src/public-api.ts","../../../projects/progress/src/progress.ts"],"sourcesContent":["import { Directive } from '@angular/core';\nimport { BrnProgress } from '@spartan-ng/brain/progress';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: 'hlm-progress,[hlmProgress]',\n hostDirectives: [{ directive: BrnProgress, inputs: ['value', 'max', 'getValueLabel'] }],\n host: { 'data-slot': 'progress' },\n})\nexport class HlmProgress {\n constructor() {\n classes(() => 'bg-muted h-1.5 rounded-full relative inline-flex w-full overflow-hidden');\n }\n}\n","import { Directionality } from '@angular/cdk/bidi';\nimport { Directive, computed, inject } from '@angular/core';\nimport { BrnProgressIndicator, injectBrnProgress } from '@spartan-ng/brain/progress';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: '[hlmProgressIndicator],hlm-progress-indicator',\n hostDirectives: [BrnProgressIndicator],\n host: {\n 'data-slot': 'progress-indicator',\n '[class.animate-indeterminate]': '_indeterminate()',\n '[style.transform]': '_transform()',\n },\n})\nexport class HlmProgressIndicator {\n private readonly _progress = injectBrnProgress();\n private readonly _dir = inject(Directionality);\n // Offset the indicator by the unfilled remainder. In RTL the bar fills from the inline-start\n // (visually the right), so translate the opposite way to keep the fill on the correct side.\n protected readonly _transform = computed(() => {\n const offset = 100 - (this._progress.value() ?? 100);\n return `translateX(${this._dir.valueSignal() === 'rtl' ? '' : '-'}${offset}%)`;\n });\n protected readonly _indeterminate = computed(\n () => this._progress.value() === null || this._progress.value() === undefined,\n );\n\n constructor() {\n classes(() => 'bg-primary h-full w-full flex-1 transition-all');\n }\n}\n","/*\n * Public API Surface of progress\n */\n\nimport { NgModule } from '@angular/core';\n\nimport { HlmProgress } from './lib/hlm-progress';\nimport { HlmProgressIndicator } from './lib/hlm-progress-indicator';\n\nexport * from './lib/hlm-progress';\nexport * from './lib/hlm-progress-indicator';\n\nexport const HlmProgressImports = [HlmProgress, HlmProgressIndicator] as const;\n\n@NgModule({\n imports: [...HlmProgressImports],\n exports: [...HlmProgressImports],\n})\nexport class HlmProgressModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "progress",
3
+ "version": "0.0.1",
4
+ "peerDependencies": {
5
+ "@angular/common": "^22.0.0",
6
+ "@angular/core": "^22.0.0",
7
+ "@spartan-ng/brain": "^1.1.1"
8
+ },
9
+ "dependencies": {
10
+ "tslib": "^2.3.0"
11
+ },
12
+ "sideEffects": false,
13
+ "module": "fesm2022/progress.mjs",
14
+ "typings": "types/progress.d.ts",
15
+ "exports": {
16
+ "./package.json": {
17
+ "default": "./package.json"
18
+ },
19
+ ".": {
20
+ "types": "./types/progress.d.ts",
21
+ "default": "./fesm2022/progress.mjs"
22
+ }
23
+ },
24
+ "type": "module"
25
+ }
@@ -0,0 +1,27 @@
1
+ import * as i0 from '@angular/core';
2
+ import * as i1 from '@spartan-ng/brain/progress';
3
+
4
+ declare class HlmProgress {
5
+ constructor();
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmProgress, never>;
7
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HlmProgress, "hlm-progress,[hlmProgress]", never, {}, {}, never, never, true, [{ directive: typeof i1.BrnProgress; inputs: { "value": "value"; "max": "max"; "getValueLabel": "getValueLabel"; }; outputs: {}; }]>;
8
+ }
9
+
10
+ declare class HlmProgressIndicator {
11
+ private readonly _progress;
12
+ private readonly _dir;
13
+ protected readonly _transform: i0.Signal<string>;
14
+ protected readonly _indeterminate: i0.Signal<boolean>;
15
+ constructor();
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmProgressIndicator, never>;
17
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HlmProgressIndicator, "[hlmProgressIndicator],hlm-progress-indicator", never, {}, {}, never, never, true, [{ directive: typeof i1.BrnProgressIndicator; inputs: {}; outputs: {}; }]>;
18
+ }
19
+
20
+ declare const HlmProgressImports: readonly [typeof HlmProgress, typeof HlmProgressIndicator];
21
+ declare class HlmProgressModule {
22
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmProgressModule, never>;
23
+ static ɵmod: i0.ɵɵNgModuleDeclaration<HlmProgressModule, never, [typeof HlmProgress, typeof HlmProgressIndicator], [typeof HlmProgress, typeof HlmProgressIndicator]>;
24
+ static ɵinj: i0.ɵɵInjectorDeclaration<HlmProgressModule>;
25
+ }
26
+
27
+ export { HlmProgress, HlmProgressImports, HlmProgressIndicator, HlmProgressModule };
@@ -0,0 +1,64 @@
1
+ # RadioGroup
2
+
3
+ This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.2.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 radio-group
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/radio-group
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,204 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, DOCUMENT, Renderer2, ElementRef, PLATFORM_ID, computed, input, booleanAttribute, output, effect, ChangeDetectionStrategy, Component, Directive, NgModule } from '@angular/core';
3
+ import { isPlatformBrowser } from '@angular/common';
4
+ import * as i1 from '@spartan-ng/brain/radio-group';
5
+ import { BrnRadioGroup, BrnRadio } from '@spartan-ng/brain/radio-group';
6
+ import { hlm, classes } from '@egose/shadcn-theme-ng/utils';
7
+ import * as i2 from '@spartan-ng/brain/field';
8
+ import { BrnFieldControlDescribedBy } from '@spartan-ng/brain/field';
9
+
10
+ class HlmRadio {
11
+ _document = inject(DOCUMENT);
12
+ _renderer = inject(Renderer2);
13
+ _elementRef = inject(ElementRef);
14
+ _isBrowser = isPlatformBrowser(inject(PLATFORM_ID));
15
+ _radioGroup = inject(BrnRadioGroup, { optional: true });
16
+ _ariaInvalid = computed(() => this._radioGroup?.controlState?.()?.invalid, /* @ts-ignore */
17
+ ...(ngDevMode ? [{ debugName: "_ariaInvalid" }] : /* istanbul ignore next */ []));
18
+ _touched = computed(() => this._radioGroup?.controlState?.()?.touched, /* @ts-ignore */
19
+ ...(ngDevMode ? [{ debugName: "_touched" }] : /* istanbul ignore next */ []));
20
+ _dirty = computed(() => this._radioGroup?.controlState?.()?.dirty, /* @ts-ignore */
21
+ ...(ngDevMode ? [{ debugName: "_dirty" }] : /* istanbul ignore next */ []));
22
+ _groupSpartanInvalid = computed(() => this._radioGroup?.controlState?.()?.spartanInvalid, /* @ts-ignore */
23
+ ...(ngDevMode ? [{ debugName: "_groupSpartanInvalid" }] : /* istanbul ignore next */ []));
24
+ _errorStateClass = computed(() => (this._groupSpartanInvalid() ? 'text-destructive' : ''), /* @ts-ignore */
25
+ ...(ngDevMode ? [{ debugName: "_errorStateClass" }] : /* istanbul ignore next */ []));
26
+ userClass = input('', { ...(ngDevMode ? { debugName: "userClass" } : /* istanbul ignore next */ {}), alias: 'class' });
27
+ _computedClass = computed(() => hlm('group relative flex items-center gap-x-3', 'data-[disabled=true]:cursor-not-allowed data-[disabled=true]:opacity-50', this.userClass(), this._errorStateClass()), /* @ts-ignore */
28
+ ...(ngDevMode ? [{ debugName: "_computedClass" }] : /* istanbul ignore next */ []));
29
+ /** Used to set the id on the underlying brn element. */
30
+ inputId = input(undefined, /* @ts-ignore */
31
+ ...(ngDevMode ? [{ debugName: "inputId" }] : /* istanbul ignore next */ []));
32
+ /** Used to set the aria-label attribute on the underlying brn element. */
33
+ ariaLabel = input(undefined, { ...(ngDevMode ? { debugName: "ariaLabel" } : /* istanbul ignore next */ {}), alias: 'aria-label' });
34
+ /** Used to set the aria-labelledby attribute on the underlying brn element. */
35
+ ariaLabelledby = input(undefined, { ...(ngDevMode ? { debugName: "ariaLabelledby" } : /* istanbul ignore next */ {}), alias: 'aria-labelledby' });
36
+ /** Used to set the aria-describedby attribute on the underlying brn element. */
37
+ ariaDescribedby = input(undefined, { ...(ngDevMode ? { debugName: "ariaDescribedby" } : /* istanbul ignore next */ {}), alias: 'aria-describedby' });
38
+ /**
39
+ * The value this radio button represents.
40
+ */
41
+ value = input.required(/* @ts-ignore */
42
+ ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
43
+ /** Whether the checkbox is required. */
44
+ required = input(false, { ...(ngDevMode ? { debugName: "required" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
45
+ /** Whether the checkbox is disabled. */
46
+ disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
47
+ /**
48
+ * Event emitted when the checked state of this radio button changes.
49
+ */
50
+ // eslint-disable-next-line @angular-eslint/no-output-native
51
+ change = output();
52
+ constructor() {
53
+ effect(() => {
54
+ const isDisabled = this.disabled();
55
+ if (!this._elementRef.nativeElement || !this._isBrowser)
56
+ return;
57
+ const labelElement = this._elementRef.nativeElement.closest('label') ??
58
+ this._document.querySelector(`label[for="${this.inputId()}"]`);
59
+ if (!labelElement)
60
+ return;
61
+ this._renderer.setAttribute(labelElement, 'data-disabled', isDisabled ? 'true' : 'false');
62
+ });
63
+ }
64
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmRadio, deps: [], target: i0.ɵɵFactoryTarget.Component });
65
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.7", type: HlmRadio, isStandalone: true, selector: "hlm-radio", inputs: { userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedby: { classPropertyName: "ariaDescribedby", publicName: "aria-describedby", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { change: "change" }, host: { attributes: { "data-slot": "radio-group-item" }, properties: { "attr.aria-label": "null", "attr.aria-labelledby": "null", "attr.aria-describedby": "null", "attr.data-disabled": "disabled() ? \"\" : null" } }, ngImport: i0, template: `
66
+ <brn-radio
67
+ [id]="inputId()"
68
+ [class]="_computedClass()"
69
+ [value]="value()"
70
+ [required]="required()"
71
+ [disabled]="disabled()"
72
+ [attr.aria-invalid]="_ariaInvalid() ? 'true' : null"
73
+ [attr.data-invalid]="_ariaInvalid() ? 'true' : null"
74
+ [attr.data-dirty]="_dirty() ? 'true' : null"
75
+ [attr.data-touched]="_touched() ? 'true' : null"
76
+ [attr.data-matches-spartan-invalid]="_groupSpartanInvalid() ? 'true' : null"
77
+ [aria-label]="ariaLabel()"
78
+ [aria-labelledby]="ariaLabelledby()"
79
+ [aria-describedby]="ariaDescribedby()"
80
+ (change)="change.emit($event)"
81
+ >
82
+ <ng-content select="[target],[indicator],hlm-radio-indicator" indicator />
83
+ <ng-content />
84
+ </brn-radio>
85
+ `, isInline: true, dependencies: [{ kind: "component", type: BrnRadio, selector: "brn-radio", inputs: ["disabled", "id", "aria-label", "aria-labelledby", "aria-describedby", "value", "inputStyles", "required"], outputs: ["change"], exportAs: ["brnRadio"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
86
+ }
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmRadio, decorators: [{
88
+ type: Component,
89
+ args: [{
90
+ selector: 'hlm-radio',
91
+ imports: [BrnRadio],
92
+ changeDetection: ChangeDetectionStrategy.OnPush,
93
+ host: {
94
+ '[attr.aria-label]': 'null',
95
+ '[attr.aria-labelledby]': 'null',
96
+ '[attr.aria-describedby]': 'null',
97
+ '[attr.data-disabled]': 'disabled() ? "" : null',
98
+ 'data-slot': 'radio-group-item',
99
+ },
100
+ template: `
101
+ <brn-radio
102
+ [id]="inputId()"
103
+ [class]="_computedClass()"
104
+ [value]="value()"
105
+ [required]="required()"
106
+ [disabled]="disabled()"
107
+ [attr.aria-invalid]="_ariaInvalid() ? 'true' : null"
108
+ [attr.data-invalid]="_ariaInvalid() ? 'true' : null"
109
+ [attr.data-dirty]="_dirty() ? 'true' : null"
110
+ [attr.data-touched]="_touched() ? 'true' : null"
111
+ [attr.data-matches-spartan-invalid]="_groupSpartanInvalid() ? 'true' : null"
112
+ [aria-label]="ariaLabel()"
113
+ [aria-labelledby]="ariaLabelledby()"
114
+ [aria-describedby]="ariaDescribedby()"
115
+ (change)="change.emit($event)"
116
+ >
117
+ <ng-content select="[target],[indicator],hlm-radio-indicator" indicator />
118
+ <ng-content />
119
+ </brn-radio>
120
+ `,
121
+ }]
122
+ }], ctorParameters: () => [], propDecorators: { userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], inputId: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputId", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-label", required: false }] }], ariaLabelledby: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-labelledby", required: false }] }], ariaDescribedby: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-describedby", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], change: [{ type: i0.Output, args: ["change"] }] } });
123
+
124
+ class HlmRadioGroup {
125
+ userClass = input('', { ...(ngDevMode ? { debugName: "userClass" } : /* istanbul ignore next */ {}), alias: 'class' });
126
+ _brnRadioGroup = inject(BrnRadioGroup);
127
+ _ariaInvalid = computed(() => this._brnRadioGroup.controlState?.()?.invalid, /* @ts-ignore */
128
+ ...(ngDevMode ? [{ debugName: "_ariaInvalid" }] : /* istanbul ignore next */ []));
129
+ _touched = computed(() => this._brnRadioGroup.controlState?.()?.touched, /* @ts-ignore */
130
+ ...(ngDevMode ? [{ debugName: "_touched" }] : /* istanbul ignore next */ []));
131
+ _dirty = computed(() => this._brnRadioGroup.controlState?.()?.dirty, /* @ts-ignore */
132
+ ...(ngDevMode ? [{ debugName: "_dirty" }] : /* istanbul ignore next */ []));
133
+ _errorState = computed(() => this._brnRadioGroup.controlState?.()?.spartanInvalid, /* @ts-ignore */
134
+ ...(ngDevMode ? [{ debugName: "_errorState" }] : /* istanbul ignore next */ []));
135
+ constructor() {
136
+ classes(() => ['grid gap-3', this.userClass(), this._errorState() ? 'data-[invalid=true]:text-destructive' : '']);
137
+ }
138
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmRadioGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive });
139
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.7", type: HlmRadioGroup, isStandalone: true, selector: "[hlmRadioGroup],hlm-radio-group", inputs: { userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "radio-group" }, properties: { "attr.aria-invalid": "_ariaInvalid() ? \"true\" : null", "attr.data-invalid": "_ariaInvalid() ? \"true\" : null", "attr.data-dirty": "_dirty() ? \"true\" : null", "attr.data-touched": "_touched() ? \"true\" : null" } }, hostDirectives: [{ directive: i1.BrnRadioGroup, inputs: ["name", "name", "value", "value", "disabled", "disabled", "required", "required"], outputs: ["valueChange", "valueChange"] }, { directive: i2.BrnFieldControlDescribedBy }], ngImport: i0 });
140
+ }
141
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmRadioGroup, decorators: [{
142
+ type: Directive,
143
+ args: [{
144
+ selector: '[hlmRadioGroup],hlm-radio-group',
145
+ hostDirectives: [
146
+ {
147
+ directive: BrnRadioGroup,
148
+ inputs: ['name', 'value', 'disabled', 'required'],
149
+ outputs: ['valueChange'],
150
+ },
151
+ BrnFieldControlDescribedBy,
152
+ ],
153
+ host: {
154
+ 'data-slot': 'radio-group',
155
+ '[attr.aria-invalid]': '_ariaInvalid() ? "true" : null',
156
+ '[attr.data-invalid]': '_ariaInvalid() ? "true" : null',
157
+ '[attr.data-dirty]': '_dirty() ? "true" : null',
158
+ '[attr.data-touched]': '_touched() ? "true" : null',
159
+ },
160
+ }]
161
+ }], ctorParameters: () => [], propDecorators: { userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
162
+
163
+ class HlmRadioIndicator {
164
+ constructor() {
165
+ classes(() => 'border-input text-primary group-has-[:focus-visible]:border-ring group-has-[:focus-visible]:ring-ring/50 dark:bg-input/30 group-data=[disabled=true]:cursor-not-allowed group-data=[disabled=true]:opacity-50 relative flex aspect-square size-4 shrink-0 items-center justify-center rounded-full border shadow-xs transition-[color,box-shadow] outline-none group-has-[:focus-visible]:ring-[3px]');
166
+ }
167
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmRadioIndicator, deps: [], target: i0.ɵɵFactoryTarget.Component });
168
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.7", type: HlmRadioIndicator, isStandalone: true, selector: "hlm-radio-indicator", host: { attributes: { "data-slot": "radio-group-indicator" } }, ngImport: i0, template: ` <div class="group-data-[checked=true]:bg-primary size-2 rounded-full bg-transparent"></div> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
169
+ }
170
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmRadioIndicator, decorators: [{
171
+ type: Component,
172
+ args: [{
173
+ selector: 'hlm-radio-indicator',
174
+ changeDetection: ChangeDetectionStrategy.OnPush,
175
+ host: {
176
+ 'data-slot': 'radio-group-indicator',
177
+ },
178
+ template: ` <div class="group-data-[checked=true]:bg-primary size-2 rounded-full bg-transparent"></div> `,
179
+ }]
180
+ }], ctorParameters: () => [] });
181
+
182
+ /*
183
+ * Public API Surface of radio-group
184
+ */
185
+ const HlmRadioGroupImports = [HlmRadioGroup, HlmRadio, HlmRadioIndicator];
186
+ class HlmRadioGroupModule {
187
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmRadioGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
188
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: HlmRadioGroupModule, imports: [HlmRadioGroup, HlmRadio, HlmRadioIndicator], exports: [HlmRadioGroup, HlmRadio, HlmRadioIndicator] });
189
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmRadioGroupModule, imports: [HlmRadio] });
190
+ }
191
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmRadioGroupModule, decorators: [{
192
+ type: NgModule,
193
+ args: [{
194
+ imports: [...HlmRadioGroupImports],
195
+ exports: [...HlmRadioGroupImports],
196
+ }]
197
+ }] });
198
+
199
+ /**
200
+ * Generated bundle index. Do not edit.
201
+ */
202
+
203
+ export { HlmRadio, HlmRadioGroup, HlmRadioGroupImports, HlmRadioGroupModule, HlmRadioIndicator };
204
+ //# sourceMappingURL=radio-group.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio-group.mjs","sources":["../../../projects/radio-group/src/lib/hlm-radio.ts","../../../projects/radio-group/src/lib/hlm-radio-group.ts","../../../projects/radio-group/src/lib/hlm-radio-indicator.ts","../../../projects/radio-group/src/public-api.ts","../../../projects/radio-group/src/radio-group.ts"],"sourcesContent":["import { type BooleanInput } from '@angular/cdk/coercion';\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n DOCUMENT,\n effect,\n ElementRef,\n inject,\n input,\n output,\n PLATFORM_ID,\n Renderer2,\n} from '@angular/core';\nimport { BrnRadio, BrnRadioGroup, type BrnRadioChange } from '@spartan-ng/brain/radio-group';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\n\n@Component({\n selector: 'hlm-radio',\n imports: [BrnRadio],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.aria-label]': 'null',\n '[attr.aria-labelledby]': 'null',\n '[attr.aria-describedby]': 'null',\n '[attr.data-disabled]': 'disabled() ? \"\" : null',\n 'data-slot': 'radio-group-item',\n },\n template: `\n <brn-radio\n [id]=\"inputId()\"\n [class]=\"_computedClass()\"\n [value]=\"value()\"\n [required]=\"required()\"\n [disabled]=\"disabled()\"\n [attr.aria-invalid]=\"_ariaInvalid() ? 'true' : null\"\n [attr.data-invalid]=\"_ariaInvalid() ? 'true' : null\"\n [attr.data-dirty]=\"_dirty() ? 'true' : null\"\n [attr.data-touched]=\"_touched() ? 'true' : null\"\n [attr.data-matches-spartan-invalid]=\"_groupSpartanInvalid() ? 'true' : null\"\n [aria-label]=\"ariaLabel()\"\n [aria-labelledby]=\"ariaLabelledby()\"\n [aria-describedby]=\"ariaDescribedby()\"\n (change)=\"change.emit($event)\"\n >\n <ng-content select=\"[target],[indicator],hlm-radio-indicator\" indicator />\n <ng-content />\n </brn-radio>\n `,\n})\nexport class HlmRadio<T = unknown> {\n private readonly _document = inject(DOCUMENT);\n private readonly _renderer = inject(Renderer2);\n private readonly _elementRef = inject(ElementRef);\n private readonly _isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n private readonly _radioGroup = inject(BrnRadioGroup, { optional: true });\n\n protected readonly _ariaInvalid = computed(() => this._radioGroup?.controlState?.()?.invalid);\n\n protected readonly _touched = computed(() => this._radioGroup?.controlState?.()?.touched);\n protected readonly _dirty = computed(() => this._radioGroup?.controlState?.()?.dirty);\n protected readonly _groupSpartanInvalid = computed(() => this._radioGroup?.controlState?.()?.spartanInvalid);\n\n protected readonly _errorStateClass = computed(() => (this._groupSpartanInvalid() ? 'text-destructive' : ''));\n\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly _computedClass = computed(() =>\n hlm(\n 'group relative flex items-center gap-x-3',\n 'data-[disabled=true]:cursor-not-allowed data-[disabled=true]:opacity-50',\n this.userClass(),\n this._errorStateClass(),\n ),\n );\n\n /** Used to set the id on the underlying brn element. */\n public readonly inputId = input<string | undefined>(undefined);\n\n /** Used to set the aria-label attribute on the underlying brn element. */\n public readonly ariaLabel = input<string | undefined>(undefined, { alias: 'aria-label' });\n\n /** Used to set the aria-labelledby attribute on the underlying brn element. */\n public readonly ariaLabelledby = input<string | undefined>(undefined, { alias: 'aria-labelledby' });\n\n /** Used to set the aria-describedby attribute on the underlying brn element. */\n public readonly ariaDescribedby = input<string | undefined>(undefined, { alias: 'aria-describedby' });\n\n /**\n * The value this radio button represents.\n */\n public readonly value = input.required<T>();\n\n /** Whether the checkbox is required. */\n public readonly required = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n /** Whether the checkbox is disabled. */\n public readonly disabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n /**\n * Event emitted when the checked state of this radio button changes.\n */\n // eslint-disable-next-line @angular-eslint/no-output-native\n public readonly change = output<BrnRadioChange<T>>();\n\n constructor() {\n effect(() => {\n const isDisabled = this.disabled();\n\n if (!this._elementRef.nativeElement || !this._isBrowser) return;\n\n const labelElement =\n this._elementRef.nativeElement.closest('label') ??\n this._document.querySelector(`label[for=\"${this.inputId()}\"]`);\n\n if (!labelElement) return;\n this._renderer.setAttribute(labelElement, 'data-disabled', isDisabled ? 'true' : 'false');\n });\n }\n}\n","import { computed, Directive, inject, input } from '@angular/core';\nimport { BrnFieldControlDescribedBy } from '@spartan-ng/brain/field';\nimport { BrnRadioGroup } from '@spartan-ng/brain/radio-group';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\n\n@Directive({\n selector: '[hlmRadioGroup],hlm-radio-group',\n hostDirectives: [\n {\n directive: BrnRadioGroup,\n inputs: ['name', 'value', 'disabled', 'required'],\n outputs: ['valueChange'],\n },\n BrnFieldControlDescribedBy,\n ],\n host: {\n 'data-slot': 'radio-group',\n '[attr.aria-invalid]': '_ariaInvalid() ? \"true\" : null',\n '[attr.data-invalid]': '_ariaInvalid() ? \"true\" : null',\n '[attr.data-dirty]': '_dirty() ? \"true\" : null',\n '[attr.data-touched]': '_touched() ? \"true\" : null',\n },\n})\nexport class HlmRadioGroup {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n private readonly _brnRadioGroup = inject(BrnRadioGroup);\n protected readonly _ariaInvalid = computed(() => this._brnRadioGroup.controlState?.()?.invalid);\n\n protected readonly _touched = computed(() => this._brnRadioGroup.controlState?.()?.touched);\n protected readonly _dirty = computed(() => this._brnRadioGroup.controlState?.()?.dirty);\n\n protected readonly _errorState = computed(() => this._brnRadioGroup.controlState?.()?.spartanInvalid);\n\n constructor() {\n classes(() => ['grid gap-3', this.userClass(), this._errorState() ? 'data-[invalid=true]:text-destructive' : '']);\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Component({\n selector: 'hlm-radio-indicator',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'data-slot': 'radio-group-indicator',\n },\n template: ` <div class=\"group-data-[checked=true]:bg-primary size-2 rounded-full bg-transparent\"></div> `,\n})\nexport class HlmRadioIndicator {\n constructor() {\n classes(\n () =>\n 'border-input text-primary group-has-[:focus-visible]:border-ring group-has-[:focus-visible]:ring-ring/50 dark:bg-input/30 group-data=[disabled=true]:cursor-not-allowed group-data=[disabled=true]:opacity-50 relative flex aspect-square size-4 shrink-0 items-center justify-center rounded-full border shadow-xs transition-[color,box-shadow] outline-none group-has-[:focus-visible]:ring-[3px]',\n );\n }\n}\n","/*\n * Public API Surface of radio-group\n */\n\nimport { NgModule } from '@angular/core';\n\nimport { HlmRadio } from './lib/hlm-radio';\nimport { HlmRadioGroup } from './lib/hlm-radio-group';\nimport { HlmRadioIndicator } from './lib/hlm-radio-indicator';\n\nexport * from './lib/hlm-radio';\nexport * from './lib/hlm-radio-group';\nexport * from './lib/hlm-radio-indicator';\n\nexport const HlmRadioGroupImports = [HlmRadioGroup, HlmRadio, HlmRadioIndicator] as const;\n\n@NgModule({\n imports: [...HlmRadioGroupImports],\n exports: [...HlmRadioGroupImports],\n})\nexport class HlmRadioGroupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "radio-group",
3
+ "version": "0.0.1",
4
+ "peerDependencies": {
5
+ "@angular/common": "^20.2.0 || ^22.0.0",
6
+ "@angular/core": "^20.2.0 || ^22.0.0",
7
+ "@spartan-ng/brain": "^0.0.1-alpha.512"
8
+ },
9
+ "dependencies": {
10
+ "tslib": "^2.3.0"
11
+ },
12
+ "sideEffects": false,
13
+ "module": "fesm2022/radio-group.mjs",
14
+ "typings": "types/radio-group.d.ts",
15
+ "exports": {
16
+ "./package.json": {
17
+ "default": "./package.json"
18
+ },
19
+ ".": {
20
+ "types": "./types/radio-group.d.ts",
21
+ "default": "./fesm2022/radio-group.mjs"
22
+ }
23
+ },
24
+ "type": "module"
25
+ }
@@ -0,0 +1,71 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { BooleanInput } from '@angular/cdk/coercion';
3
+ import * as i1 from '@spartan-ng/brain/radio-group';
4
+ import { BrnRadioChange } from '@spartan-ng/brain/radio-group';
5
+ import { ClassValue } from 'clsx';
6
+ import * as i2 from '@spartan-ng/brain/field';
7
+
8
+ declare class HlmRadio<T = unknown> {
9
+ private readonly _document;
10
+ private readonly _renderer;
11
+ private readonly _elementRef;
12
+ private readonly _isBrowser;
13
+ private readonly _radioGroup;
14
+ protected readonly _ariaInvalid: _angular_core.Signal<boolean | undefined>;
15
+ protected readonly _touched: _angular_core.Signal<boolean | undefined>;
16
+ protected readonly _dirty: _angular_core.Signal<boolean | undefined>;
17
+ protected readonly _groupSpartanInvalid: _angular_core.Signal<boolean | undefined>;
18
+ protected readonly _errorStateClass: _angular_core.Signal<"text-destructive" | "">;
19
+ readonly userClass: _angular_core.InputSignal<ClassValue>;
20
+ protected readonly _computedClass: _angular_core.Signal<string>;
21
+ /** Used to set the id on the underlying brn element. */
22
+ readonly inputId: _angular_core.InputSignal<string | undefined>;
23
+ /** Used to set the aria-label attribute on the underlying brn element. */
24
+ readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
25
+ /** Used to set the aria-labelledby attribute on the underlying brn element. */
26
+ readonly ariaLabelledby: _angular_core.InputSignal<string | undefined>;
27
+ /** Used to set the aria-describedby attribute on the underlying brn element. */
28
+ readonly ariaDescribedby: _angular_core.InputSignal<string | undefined>;
29
+ /**
30
+ * The value this radio button represents.
31
+ */
32
+ readonly value: _angular_core.InputSignal<T>;
33
+ /** Whether the checkbox is required. */
34
+ readonly required: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
35
+ /** Whether the checkbox is disabled. */
36
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
37
+ /**
38
+ * Event emitted when the checked state of this radio button changes.
39
+ */
40
+ readonly change: _angular_core.OutputEmitterRef<BrnRadioChange<T>>;
41
+ constructor();
42
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<HlmRadio<any>, never>;
43
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<HlmRadio<any>, "hlm-radio", never, { "userClass": { "alias": "class"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "ariaLabelledby": { "alias": "aria-labelledby"; "required": false; "isSignal": true; }; "ariaDescribedby": { "alias": "aria-describedby"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": true; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "change": "change"; }, never, ["[target],[indicator],hlm-radio-indicator", "*"], true, never>;
44
+ }
45
+
46
+ declare class HlmRadioGroup {
47
+ readonly userClass: _angular_core.InputSignal<ClassValue>;
48
+ private readonly _brnRadioGroup;
49
+ protected readonly _ariaInvalid: _angular_core.Signal<boolean | undefined>;
50
+ protected readonly _touched: _angular_core.Signal<boolean | undefined>;
51
+ protected readonly _dirty: _angular_core.Signal<boolean | undefined>;
52
+ protected readonly _errorState: _angular_core.Signal<boolean | undefined>;
53
+ constructor();
54
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<HlmRadioGroup, never>;
55
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<HlmRadioGroup, "[hlmRadioGroup],hlm-radio-group", never, { "userClass": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.BrnRadioGroup; inputs: { "name": "name"; "value": "value"; "disabled": "disabled"; "required": "required"; }; outputs: { "valueChange": "valueChange"; }; }, { directive: typeof i2.BrnFieldControlDescribedBy; inputs: {}; outputs: {}; }]>;
56
+ }
57
+
58
+ declare class HlmRadioIndicator {
59
+ constructor();
60
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<HlmRadioIndicator, never>;
61
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<HlmRadioIndicator, "hlm-radio-indicator", never, {}, {}, never, never, true, never>;
62
+ }
63
+
64
+ declare const HlmRadioGroupImports: readonly [typeof HlmRadioGroup, typeof HlmRadio, typeof HlmRadioIndicator];
65
+ declare class HlmRadioGroupModule {
66
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<HlmRadioGroupModule, never>;
67
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<HlmRadioGroupModule, never, [typeof HlmRadioGroup, typeof HlmRadio, typeof HlmRadioIndicator], [typeof HlmRadioGroup, typeof HlmRadio, typeof HlmRadioIndicator]>;
68
+ static ɵinj: _angular_core.ɵɵInjectorDeclaration<HlmRadioGroupModule>;
69
+ }
70
+
71
+ export { HlmRadio, HlmRadioGroup, HlmRadioGroupImports, HlmRadioGroupModule, HlmRadioIndicator };