@egose/shadcn-theme-ng 0.0.27 → 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 (316) hide show
  1. package/README.md +130 -13
  2. package/accordion/README.md +3 -0
  3. package/accordion/fesm2022/accordion.mjs +148 -0
  4. package/accordion/package.json +25 -0
  5. package/accordion/types/accordion.d.ts +49 -0
  6. package/alert/README.md +2 -63
  7. package/alert/fesm2022/alert.mjs +58 -53
  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/package.json +25 -0
  12. package/alert-dialog/types/alert-dialog.d.ts +90 -0
  13. package/aspect-ratio/README.md +11 -0
  14. package/aspect-ratio/fesm2022/aspect-ratio.mjs +62 -0
  15. package/aspect-ratio/package.json +25 -0
  16. package/aspect-ratio/types/aspect-ratio.d.ts +21 -0
  17. package/autocomplete/README.md +3 -0
  18. package/autocomplete/fesm2022/autocomplete.mjs +391 -0
  19. package/autocomplete/package.json +24 -0
  20. package/autocomplete/types/autocomplete.d.ts +96 -0
  21. package/avatar/README.md +11 -0
  22. package/avatar/fesm2022/avatar.mjs +178 -0
  23. package/avatar/package.json +25 -0
  24. package/avatar/types/avatar.d.ts +50 -0
  25. package/badge/README.md +2 -63
  26. package/badge/fesm2022/badge.mjs +69 -63
  27. package/badge/package.json +25 -0
  28. package/basic-alert/README.md +2 -63
  29. package/basic-alert/fesm2022/basic-alert.mjs +14 -22
  30. package/basic-alert/package.json +24 -0
  31. package/breadcrumb/README.md +11 -0
  32. package/breadcrumb/fesm2022/breadcrumb.mjs +218 -0
  33. package/breadcrumb/package.json +25 -0
  34. package/breadcrumb/types/breadcrumb.d.ts +57 -0
  35. package/button/README.md +2 -63
  36. package/button/fesm2022/button.mjs +201 -177
  37. package/button/package.json +25 -0
  38. package/button/{index.d.ts → types/button.d.ts} +31 -10
  39. package/button-group/README.md +11 -0
  40. package/button-group/fesm2022/button-group.mjs +102 -0
  41. package/button-group/package.json +25 -0
  42. package/button-group/types/button-group.d.ts +30 -0
  43. package/calendar/README.md +2 -63
  44. package/calendar/fesm2022/calendar.mjs +178 -570
  45. package/calendar/package.json +24 -0
  46. package/calendar/types/calendar.d.ts +94 -0
  47. package/card/README.md +11 -0
  48. package/card/fesm2022/card.mjs +169 -0
  49. package/card/package.json +25 -0
  50. package/card/types/card.d.ts +54 -0
  51. package/carousel/README.md +11 -0
  52. package/carousel/fesm2022/carousel.mjs +267 -0
  53. package/carousel/package.json +25 -0
  54. package/carousel/types/carousel.d.ts +84 -0
  55. package/checkbox/README.md +3 -0
  56. package/checkbox/fesm2022/checkbox.mjs +113 -0
  57. package/checkbox/package.json +24 -0
  58. package/checkbox/types/checkbox.d.ts +56 -0
  59. package/collapsible/README.md +11 -0
  60. package/collapsible/fesm2022/collapsible.mjs +77 -0
  61. package/collapsible/package.json +25 -0
  62. package/collapsible/types/collapsible.d.ts +27 -0
  63. package/combobox/README.md +11 -0
  64. package/combobox/fesm2022/combobox.mjs +547 -0
  65. package/combobox/package.json +25 -0
  66. package/combobox/types/combobox.d.ts +151 -0
  67. package/command/README.md +11 -0
  68. package/command/fesm2022/command.mjs +301 -0
  69. package/command/package.json +25 -0
  70. package/command/types/command.d.ts +89 -0
  71. package/confirmation-dialog/README.md +3 -0
  72. package/confirmation-dialog/fesm2022/confirmation-dialog.mjs +79 -0
  73. package/confirmation-dialog/package.json +24 -0
  74. package/confirmation-dialog/types/confirmation-dialog.d.ts +28 -0
  75. package/context-menu/README.md +11 -0
  76. package/context-menu/fesm2022/context-menu.mjs +89 -0
  77. package/context-menu/package.json +25 -0
  78. package/context-menu/types/context-menu.d.ts +34 -0
  79. package/date-picker/README.md +2 -63
  80. package/date-picker/fesm2022/date-picker.mjs +1104 -352
  81. package/date-picker/package.json +24 -0
  82. package/date-picker/types/date-picker.d.ts +555 -0
  83. package/dialog/README.md +3 -0
  84. package/dialog/fesm2022/dialog.mjs +281 -0
  85. package/dialog/package.json +24 -0
  86. package/dialog/types/dialog.d.ts +95 -0
  87. package/drawer/README.md +11 -0
  88. package/drawer/fesm2022/drawer.mjs +261 -0
  89. package/drawer/package.json +25 -0
  90. package/drawer/types/drawer.d.ts +76 -0
  91. package/dropdown-menu/README.md +11 -0
  92. package/dropdown-menu/fesm2022/dropdown-menu.mjs +554 -0
  93. package/dropdown-menu/package.json +25 -0
  94. package/dropdown-menu/types/dropdown-menu.d.ts +180 -0
  95. package/empty/README.md +11 -0
  96. package/empty/fesm2022/empty.mjs +151 -0
  97. package/empty/package.json +25 -0
  98. package/empty/types/empty.d.ts +54 -0
  99. package/field/README.md +11 -0
  100. package/field/fesm2022/field.mjs +351 -0
  101. package/field/package.json +25 -0
  102. package/field/types/field.d.ts +107 -0
  103. package/form-checkbox/README.md +3 -0
  104. package/form-checkbox/fesm2022/form-checkbox.mjs +94 -0
  105. package/form-checkbox/package.json +24 -0
  106. package/form-checkbox/types/form-checkbox.d.ts +33 -0
  107. package/form-date-picker/README.md +2 -63
  108. package/form-date-picker/fesm2022/form-date-picker.mjs +74 -120
  109. package/form-date-picker/package.json +24 -0
  110. package/form-date-picker/{index.d.ts → types/form-date-picker.d.ts} +7 -1
  111. package/form-field/README.md +2 -63
  112. package/form-field/fesm2022/form-field.mjs +54 -28
  113. package/form-field/package.json +25 -0
  114. package/form-field/types/form-field.d.ts +46 -0
  115. package/form-field-simple/README.md +2 -63
  116. package/form-field-simple/fesm2022/form-field-simple.mjs +15 -10
  117. package/form-field-simple/package.json +24 -0
  118. package/form-searchable-multiselect/README.md +3 -0
  119. package/form-searchable-multiselect/fesm2022/form-searchable-multiselect.mjs +98 -0
  120. package/form-searchable-multiselect/package.json +24 -0
  121. package/form-searchable-multiselect/types/form-searchable-multiselect.d.ts +36 -0
  122. package/form-select/README.md +2 -63
  123. package/form-select/fesm2022/form-select.mjs +85 -141
  124. package/form-select/package.json +24 -0
  125. package/form-select/{index.d.ts → types/form-select.d.ts} +7 -1
  126. package/form-text-input/README.md +2 -63
  127. package/form-text-input/fesm2022/form-text-input.mjs +86 -171
  128. package/form-text-input/package.json +24 -0
  129. package/form-text-input/{index.d.ts → types/form-text-input.d.ts} +9 -12
  130. package/form-textarea/README.md +2 -63
  131. package/form-textarea/fesm2022/form-textarea.mjs +77 -128
  132. package/form-textarea/package.json +24 -0
  133. package/form-textarea/{index.d.ts → types/form-textarea.d.ts} +8 -1
  134. package/hover-card/README.md +11 -0
  135. package/hover-card/fesm2022/hover-card.mjs +123 -0
  136. package/hover-card/package.json +25 -0
  137. package/hover-card/types/hover-card.d.ts +36 -0
  138. package/icon/README.md +2 -63
  139. package/icon/fesm2022/icon.mjs +12 -10
  140. package/icon/package.json +25 -0
  141. package/input/README.md +2 -63
  142. package/input/fesm2022/input.mjs +25 -70
  143. package/input/package.json +25 -0
  144. package/input/types/input.d.ts +19 -0
  145. package/input-group/README.md +11 -0
  146. package/input-group/fesm2022/input-group.mjs +199 -0
  147. package/input-group/package.json +25 -0
  148. package/input-group/types/input-group.d.ts +52 -0
  149. package/input-otp/README.md +11 -0
  150. package/input-otp/fesm2022/input-otp.mjs +141 -0
  151. package/input-otp/package.json +25 -0
  152. package/input-otp/types/input-otp.d.ts +43 -0
  153. package/item/README.md +11 -0
  154. package/item/fesm2022/item.mjs +278 -0
  155. package/item/package.json +25 -0
  156. package/item/types/item.d.ts +101 -0
  157. package/kbd/README.md +11 -0
  158. package/kbd/fesm2022/kbd.mjs +61 -0
  159. package/kbd/package.json +25 -0
  160. package/kbd/types/kbd.d.ts +22 -0
  161. package/label/README.md +2 -63
  162. package/label/fesm2022/label.mjs +12 -11
  163. package/label/package.json +25 -0
  164. package/label/{index.d.ts → types/label.d.ts} +1 -1
  165. package/layout-simple/README.md +3 -0
  166. package/layout-simple/fesm2022/layout-simple.mjs +388 -0
  167. package/layout-simple/package.json +24 -0
  168. package/layout-simple/types/layout-simple.d.ts +167 -0
  169. package/menu/README.md +3 -0
  170. package/menu/fesm2022/menu.mjs +455 -0
  171. package/menu/package.json +24 -0
  172. package/menu/types/menu.d.ts +137 -0
  173. package/menubar/README.md +11 -0
  174. package/menubar/fesm2022/menubar.mjs +108 -0
  175. package/menubar/package.json +25 -0
  176. package/menubar/types/menubar.d.ts +40 -0
  177. package/native-select/README.md +11 -0
  178. package/native-select/fesm2022/native-select.mjs +207 -0
  179. package/native-select/package.json +25 -0
  180. package/native-select/types/native-select.d.ts +70 -0
  181. package/navigation-menu/README.md +11 -0
  182. package/navigation-menu/fesm2022/navigation-menu.mjs +194 -0
  183. package/navigation-menu/package.json +25 -0
  184. package/navigation-menu/types/navigation-menu.d.ts +54 -0
  185. package/package.json +284 -63
  186. package/pagination/README.md +11 -0
  187. package/pagination/fesm2022/pagination.mjs +522 -0
  188. package/pagination/package.json +25 -0
  189. package/pagination/types/pagination.d.ts +192 -0
  190. package/popover/README.md +2 -63
  191. package/popover/fesm2022/popover.mjs +124 -30
  192. package/popover/package.json +24 -0
  193. package/popover/types/popover.d.ts +54 -0
  194. package/progress/README.md +11 -0
  195. package/progress/fesm2022/progress.mjs +77 -0
  196. package/progress/package.json +25 -0
  197. package/progress/types/progress.d.ts +27 -0
  198. package/radio-group/README.md +3 -0
  199. package/radio-group/fesm2022/radio-group.mjs +207 -0
  200. package/radio-group/package.json +25 -0
  201. package/radio-group/types/radio-group.d.ts +71 -0
  202. package/resizable/README.md +11 -0
  203. package/resizable/fesm2022/resizable.mjs +103 -0
  204. package/resizable/package.json +25 -0
  205. package/resizable/types/resizable.d.ts +32 -0
  206. package/scroll-area/README.md +11 -0
  207. package/scroll-area/fesm2022/scroll-area.mjs +51 -0
  208. package/scroll-area/package.json +25 -0
  209. package/scroll-area/types/scroll-area.d.ts +16 -0
  210. package/searchable-multiselect/README.md +3 -0
  211. package/searchable-multiselect/fesm2022/searchable-multiselect.mjs +136 -0
  212. package/searchable-multiselect/package.json +24 -0
  213. package/searchable-multiselect/types/searchable-multiselect.d.ts +45 -0
  214. package/select/README.md +2 -63
  215. package/select/fesm2022/select.mjs +340 -198
  216. package/select/package.json +25 -0
  217. package/select/types/select.d.ts +121 -0
  218. package/separator/README.md +2 -63
  219. package/separator/fesm2022/separator.mjs +17 -15
  220. package/separator/package.json +24 -0
  221. package/separator/{index.d.ts → types/separator.d.ts} +4 -5
  222. package/sheet/README.md +2 -63
  223. package/sheet/fesm2022/sheet.mjs +56 -61
  224. package/sheet/package.json +24 -0
  225. package/sidebar/README.md +11 -0
  226. package/sidebar/fesm2022/sidebar.mjs +846 -0
  227. package/sidebar/package.json +25 -0
  228. package/sidebar/types/sidebar.d.ts +237 -0
  229. package/skeleton/README.md +11 -0
  230. package/skeleton/fesm2022/skeleton.mjs +44 -0
  231. package/skeleton/package.json +25 -0
  232. package/skeleton/types/skeleton.d.ts +16 -0
  233. package/slider/README.md +11 -0
  234. package/slider/fesm2022/slider.mjs +74 -0
  235. package/slider/package.json +25 -0
  236. package/slider/types/slider.d.ts +19 -0
  237. package/sonner/README.md +2 -63
  238. package/sonner/fesm2022/sonner.mjs +34 -39
  239. package/sonner/package.json +25 -0
  240. package/spinner/README.md +2 -63
  241. package/spinner/fesm2022/spinner.mjs +20 -16
  242. package/spinner/package.json +25 -0
  243. package/switch/README.md +2 -63
  244. package/switch/fesm2022/switch.mjs +28 -27
  245. package/switch/package.json +25 -0
  246. package/table/README.md +11 -0
  247. package/table/fesm2022/table.mjs +211 -0
  248. package/table/package.json +25 -0
  249. package/table/types/table.d.ts +87 -0
  250. package/tabs/README.md +3 -0
  251. package/tabs/fesm2022/tabs.mjs +210 -0
  252. package/tabs/package.json +25 -0
  253. package/tabs/types/tabs.d.ts +71 -0
  254. package/textarea/README.md +11 -0
  255. package/textarea/fesm2022/textarea.mjs +47 -0
  256. package/textarea/package.json +25 -0
  257. package/textarea/types/textarea.d.ts +18 -0
  258. package/toggle/README.md +11 -0
  259. package/toggle/fesm2022/toggle.mjs +78 -0
  260. package/toggle/package.json +25 -0
  261. package/toggle/types/toggle.d.ts +27 -0
  262. package/toggle-group/README.md +11 -0
  263. package/toggle-group/fesm2022/toggle-group.mjs +117 -0
  264. package/toggle-group/package.json +25 -0
  265. package/toggle-group/types/toggle-group.d.ts +45 -0
  266. package/tooltip/README.md +3 -0
  267. package/tooltip/fesm2022/tooltip.mjs +72 -0
  268. package/tooltip/package.json +25 -0
  269. package/tooltip/types/tooltip.d.ts +22 -0
  270. package/typography/README.md +11 -0
  271. package/typography/fesm2022/typography.mjs +242 -0
  272. package/typography/package.json +25 -0
  273. package/typography/types/typography.d.ts +94 -0
  274. package/utils/README.md +2 -63
  275. package/utils/fesm2022/utils.mjs +209 -2
  276. package/utils/package.json +25 -0
  277. package/utils/types/utils.d.ts +13 -0
  278. package/alert/fesm2022/alert.mjs.map +0 -1
  279. package/badge/fesm2022/badge.mjs.map +0 -1
  280. package/basic-alert/fesm2022/basic-alert.mjs.map +0 -1
  281. package/button/fesm2022/button.mjs.map +0 -1
  282. package/calendar/fesm2022/calendar.mjs.map +0 -1
  283. package/calendar/index.d.ts +0 -111
  284. package/date-picker/fesm2022/date-picker.mjs.map +0 -1
  285. package/date-picker/index.d.ts +0 -227
  286. package/form-date-picker/fesm2022/form-date-picker.mjs.map +0 -1
  287. package/form-field/fesm2022/form-field.mjs.map +0 -1
  288. package/form-field/index.d.ts +0 -37
  289. package/form-field-simple/fesm2022/form-field-simple.mjs.map +0 -1
  290. package/form-select/fesm2022/form-select.mjs.map +0 -1
  291. package/form-text-input/fesm2022/form-text-input.mjs.map +0 -1
  292. package/form-textarea/fesm2022/form-textarea.mjs.map +0 -1
  293. package/icon/fesm2022/icon.mjs.map +0 -1
  294. package/input/fesm2022/input.mjs.map +0 -1
  295. package/input/index.d.ts +0 -41
  296. package/label/fesm2022/label.mjs.map +0 -1
  297. package/popover/fesm2022/popover.mjs.map +0 -1
  298. package/popover/index.d.ts +0 -30
  299. package/select/fesm2022/select.mjs.map +0 -1
  300. package/select/index.d.ts +0 -92
  301. package/separator/fesm2022/separator.mjs.map +0 -1
  302. package/sheet/fesm2022/sheet.mjs.map +0 -1
  303. package/sonner/fesm2022/sonner.mjs.map +0 -1
  304. package/spinner/fesm2022/spinner.mjs.map +0 -1
  305. package/switch/fesm2022/switch.mjs.map +0 -1
  306. package/utils/fesm2022/utils.mjs.map +0 -1
  307. package/utils/index.d.ts +0 -5
  308. /package/alert/{index.d.ts → types/alert.d.ts} +0 -0
  309. /package/badge/{index.d.ts → types/badge.d.ts} +0 -0
  310. /package/basic-alert/{index.d.ts → types/basic-alert.d.ts} +0 -0
  311. /package/form-field-simple/{index.d.ts → types/form-field-simple.d.ts} +0 -0
  312. /package/icon/{index.d.ts → types/icon.d.ts} +0 -0
  313. /package/sheet/{index.d.ts → types/sheet.d.ts} +0 -0
  314. /package/sonner/{index.d.ts → types/sonner.d.ts} +0 -0
  315. /package/spinner/{index.d.ts → types/spinner.d.ts} +0 -0
  316. /package/switch/{index.d.ts → types/switch.d.ts} +0 -0
@@ -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,3 @@
1
+ # Radio Group Subpath
2
+
3
+ This project ships only as `@egose/shadcn-theme-ng/radio-group` or `@egose/shadcn-theme-ng-tw/radio-group`. See the [package README](../../README.md) for installation, compatibility, Tailwind variant, test, and release guidance. Do not publish this project directory independently.
@@ -0,0 +1,207 @@
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 inputId = this.inputId();
58
+ const labelElement = this._elementRef.nativeElement.closest('label') ??
59
+ (inputId
60
+ ? Array.from(this._document.getElementsByTagName('label')).find((label) => label.htmlFor === inputId)
61
+ : undefined);
62
+ if (!labelElement)
63
+ return;
64
+ this._renderer.setAttribute(labelElement, 'data-disabled', isDisabled ? 'true' : 'false');
65
+ });
66
+ }
67
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmRadio, deps: [], target: i0.ɵɵFactoryTarget.Component });
68
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.3", 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: `
69
+ <brn-radio
70
+ [id]="inputId()"
71
+ [class]="_computedClass()"
72
+ [value]="value()"
73
+ [required]="required()"
74
+ [disabled]="disabled()"
75
+ [attr.aria-invalid]="_ariaInvalid() ? 'true' : null"
76
+ [attr.data-invalid]="_ariaInvalid() ? 'true' : null"
77
+ [attr.data-dirty]="_dirty() ? 'true' : null"
78
+ [attr.data-touched]="_touched() ? 'true' : null"
79
+ [attr.data-matches-spartan-invalid]="_groupSpartanInvalid() ? 'true' : null"
80
+ [aria-label]="ariaLabel()"
81
+ [aria-labelledby]="ariaLabelledby()"
82
+ [aria-describedby]="ariaDescribedby()"
83
+ (change)="change.emit($event)"
84
+ >
85
+ <ng-content select="[target],[indicator],hlm-radio-indicator" indicator />
86
+ <ng-content />
87
+ </brn-radio>
88
+ `, 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 });
89
+ }
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmRadio, decorators: [{
91
+ type: Component,
92
+ args: [{
93
+ selector: 'hlm-radio',
94
+ imports: [BrnRadio],
95
+ changeDetection: ChangeDetectionStrategy.OnPush,
96
+ host: {
97
+ '[attr.aria-label]': 'null',
98
+ '[attr.aria-labelledby]': 'null',
99
+ '[attr.aria-describedby]': 'null',
100
+ '[attr.data-disabled]': 'disabled() ? "" : null',
101
+ 'data-slot': 'radio-group-item',
102
+ },
103
+ template: `
104
+ <brn-radio
105
+ [id]="inputId()"
106
+ [class]="_computedClass()"
107
+ [value]="value()"
108
+ [required]="required()"
109
+ [disabled]="disabled()"
110
+ [attr.aria-invalid]="_ariaInvalid() ? 'true' : null"
111
+ [attr.data-invalid]="_ariaInvalid() ? 'true' : null"
112
+ [attr.data-dirty]="_dirty() ? 'true' : null"
113
+ [attr.data-touched]="_touched() ? 'true' : null"
114
+ [attr.data-matches-spartan-invalid]="_groupSpartanInvalid() ? 'true' : null"
115
+ [aria-label]="ariaLabel()"
116
+ [aria-labelledby]="ariaLabelledby()"
117
+ [aria-describedby]="ariaDescribedby()"
118
+ (change)="change.emit($event)"
119
+ >
120
+ <ng-content select="[target],[indicator],hlm-radio-indicator" indicator />
121
+ <ng-content />
122
+ </brn-radio>
123
+ `,
124
+ }]
125
+ }], 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"] }] } });
126
+
127
+ class HlmRadioGroup {
128
+ userClass = input('', { ...(ngDevMode ? { debugName: "userClass" } : /* istanbul ignore next */ {}), alias: 'class' });
129
+ _brnRadioGroup = inject(BrnRadioGroup);
130
+ _ariaInvalid = computed(() => this._brnRadioGroup.controlState?.()?.invalid, /* @ts-ignore */
131
+ ...(ngDevMode ? [{ debugName: "_ariaInvalid" }] : /* istanbul ignore next */ []));
132
+ _touched = computed(() => this._brnRadioGroup.controlState?.()?.touched, /* @ts-ignore */
133
+ ...(ngDevMode ? [{ debugName: "_touched" }] : /* istanbul ignore next */ []));
134
+ _dirty = computed(() => this._brnRadioGroup.controlState?.()?.dirty, /* @ts-ignore */
135
+ ...(ngDevMode ? [{ debugName: "_dirty" }] : /* istanbul ignore next */ []));
136
+ _errorState = computed(() => this._brnRadioGroup.controlState?.()?.spartanInvalid, /* @ts-ignore */
137
+ ...(ngDevMode ? [{ debugName: "_errorState" }] : /* istanbul ignore next */ []));
138
+ constructor() {
139
+ classes(() => ["grid gap-3", this.userClass(), this._errorState() ? "data-[invalid=true]:text-destructive" : '']);
140
+ }
141
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmRadioGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive });
142
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.3", 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 });
143
+ }
144
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmRadioGroup, decorators: [{
145
+ type: Directive,
146
+ args: [{
147
+ selector: '[hlmRadioGroup],hlm-radio-group',
148
+ hostDirectives: [
149
+ {
150
+ directive: BrnRadioGroup,
151
+ inputs: ['name', 'value', 'disabled', 'required'],
152
+ outputs: ['valueChange'],
153
+ },
154
+ BrnFieldControlDescribedBy,
155
+ ],
156
+ host: {
157
+ 'data-slot': 'radio-group',
158
+ '[attr.aria-invalid]': '_ariaInvalid() ? "true" : null',
159
+ '[attr.data-invalid]': '_ariaInvalid() ? "true" : null',
160
+ '[attr.data-dirty]': '_dirty() ? "true" : null',
161
+ '[attr.data-touched]': '_touched() ? "true" : null',
162
+ },
163
+ }]
164
+ }], ctorParameters: () => [], propDecorators: { userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
165
+
166
+ class HlmRadioIndicator {
167
+ constructor() {
168
+ 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]");
169
+ }
170
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmRadioIndicator, deps: [], target: i0.ɵɵFactoryTarget.Component });
171
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.3", 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 });
172
+ }
173
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmRadioIndicator, decorators: [{
174
+ type: Component,
175
+ args: [{
176
+ selector: 'hlm-radio-indicator',
177
+ changeDetection: ChangeDetectionStrategy.OnPush,
178
+ host: {
179
+ 'data-slot': 'radio-group-indicator',
180
+ },
181
+ template: " <div class=\"group-data-[checked=true]:bg-primary size-2 rounded-full bg-transparent\"></div> ",
182
+ }]
183
+ }], ctorParameters: () => [] });
184
+
185
+ /*
186
+ * Public API Surface of radio-group
187
+ */
188
+ const HlmRadioGroupImports = [HlmRadioGroup, HlmRadio, HlmRadioIndicator];
189
+ class HlmRadioGroupModule {
190
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmRadioGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
191
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.3", ngImport: i0, type: HlmRadioGroupModule, imports: [HlmRadioGroup, HlmRadio, HlmRadioIndicator], exports: [HlmRadioGroup, HlmRadio, HlmRadioIndicator] });
192
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmRadioGroupModule, imports: [HlmRadio] });
193
+ }
194
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmRadioGroupModule, decorators: [{
195
+ type: NgModule,
196
+ args: [{
197
+ imports: [...HlmRadioGroupImports],
198
+ exports: [...HlmRadioGroupImports],
199
+ }]
200
+ }] });
201
+
202
+ /**
203
+ * Generated bundle index. Do not edit.
204
+ */
205
+
206
+ export { HlmRadio, HlmRadioGroup, HlmRadioGroupImports, HlmRadioGroupModule, HlmRadioIndicator };
207
+
@@ -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 };
@@ -0,0 +1,11 @@
1
+ # Resizable
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 resizable
11
+ ```
@@ -0,0 +1,103 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Directive, inject, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
3
+ import * as i1 from '@spartan-ng/brain/resizable';
4
+ import { BrnResizableGroup, BrnResizableHandle, BrnResizablePanel } from '@spartan-ng/brain/resizable';
5
+ import { classes } from '@egose/shadcn-theme-ng/utils';
6
+
7
+ class HlmResizableGroup {
8
+ constructor() {
9
+ classes(() => "group flex h-full w-full data-[panel-group-direction=vertical]:flex-col");
10
+ }
11
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmResizableGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive });
12
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmResizableGroup, isStandalone: true, selector: "[hlmResizableGroup],hlm-resizable-group", host: { attributes: { "data-slot": "resizable-group" } }, hostDirectives: [{ directive: i1.BrnResizableGroup, inputs: ["direction", "direction", "layout", "layout"], outputs: ["dragEnd", "dragEnd", "dragStart", "dragStart", "layoutChange", "layoutChange"] }], ngImport: i0 });
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmResizableGroup, decorators: [{
15
+ type: Directive,
16
+ args: [{
17
+ selector: '[hlmResizableGroup],hlm-resizable-group',
18
+ hostDirectives: [
19
+ {
20
+ directive: BrnResizableGroup,
21
+ inputs: ['direction', 'layout'],
22
+ outputs: ['dragEnd', 'dragStart', 'layoutChange'],
23
+ },
24
+ ],
25
+ host: {
26
+ 'data-slot': 'resizable-group',
27
+ },
28
+ }]
29
+ }], ctorParameters: () => [] });
30
+
31
+ class HlmResizableHandle {
32
+ _brnResizableHandle = inject(BrnResizableHandle);
33
+ constructor() {
34
+ classes(() => [
35
+ "bg-border ring-offset-background focus-visible:ring-ring relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:outline-hidden data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:translate-x-0 data-[panel-group-direction=vertical]:after:-translate-y-1/2 [&[data-panel-group-direction=vertical]>div]:rotate-90",
36
+ "data-[panel-group-direction=horizontal]:hover:cursor-ew-resize data-[panel-group-direction=vertical]:hover:cursor-ns-resize",
37
+ ]);
38
+ }
39
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmResizableHandle, deps: [], target: i0.ɵɵFactoryTarget.Component });
40
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.3", type: HlmResizableHandle, isStandalone: true, selector: "hlm-resizable-handle", host: { attributes: { "data-slot": "resizable-handle" } }, exportAs: ["hlmResizableHandle"], hostDirectives: [{ directive: i1.BrnResizableHandle, inputs: ["withHandle", "withHandle", "disabled", "disabled"] }], ngImport: i0, template: "\n @if (_brnResizableHandle.withHandle()) {\n <div class=\"bg-border h-6 w-1 rounded-lg z-10 flex shrink-0\"></div>\n }\n ", isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
41
+ }
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmResizableHandle, decorators: [{
43
+ type: Component,
44
+ args: [{
45
+ selector: 'hlm-resizable-handle',
46
+ exportAs: 'hlmResizableHandle',
47
+ changeDetection: ChangeDetectionStrategy.OnPush,
48
+ hostDirectives: [{ directive: BrnResizableHandle, inputs: ['withHandle', 'disabled'] }],
49
+ host: {
50
+ 'data-slot': 'resizable-handle',
51
+ },
52
+ template: "\n @if (_brnResizableHandle.withHandle()) {\n <div class=\"bg-border h-6 w-1 rounded-lg z-10 flex shrink-0\"></div>\n }\n ",
53
+ }]
54
+ }], ctorParameters: () => [] });
55
+
56
+ class HlmResizablePanel {
57
+ _resizablePanel = inject(BrnResizablePanel);
58
+ setSize(size) {
59
+ this._resizablePanel.setSize(size);
60
+ }
61
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmResizablePanel, deps: [], target: i0.ɵɵFactoryTarget.Directive });
62
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmResizablePanel, isStandalone: true, selector: "[hlmResizablePanel],hlm-resizable-panel", host: { attributes: { "data-slot": "resizable-panel" } }, exportAs: ["hlmResizablePanel"], hostDirectives: [{ directive: i1.BrnResizablePanel, inputs: ["defaultSize", "defaultSize", "id", "id", "collapsible", "collapsible", "maxSize", "maxSize", "minSize", "minSize"] }], ngImport: i0 });
63
+ }
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmResizablePanel, decorators: [{
65
+ type: Directive,
66
+ args: [{
67
+ selector: '[hlmResizablePanel],hlm-resizable-panel',
68
+ exportAs: 'hlmResizablePanel',
69
+ hostDirectives: [
70
+ {
71
+ directive: BrnResizablePanel,
72
+ inputs: ['defaultSize', 'id', 'collapsible', 'maxSize', 'minSize'],
73
+ },
74
+ ],
75
+ host: {
76
+ 'data-slot': 'resizable-panel',
77
+ },
78
+ }]
79
+ }] });
80
+
81
+ /*
82
+ * Public API Surface of resizable
83
+ */
84
+ const HlmResizableImports = [HlmResizableGroup, HlmResizablePanel, HlmResizableHandle];
85
+ class HlmResizableModule {
86
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmResizableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
87
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.3", ngImport: i0, type: HlmResizableModule, imports: [HlmResizableGroup, HlmResizablePanel, HlmResizableHandle], exports: [HlmResizableGroup, HlmResizablePanel, HlmResizableHandle] });
88
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmResizableModule });
89
+ }
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmResizableModule, decorators: [{
91
+ type: NgModule,
92
+ args: [{
93
+ imports: [...HlmResizableImports],
94
+ exports: [...HlmResizableImports],
95
+ }]
96
+ }] });
97
+
98
+ /**
99
+ * Generated bundle index. Do not edit.
100
+ */
101
+
102
+ export { HlmResizableGroup, HlmResizableHandle, HlmResizableImports, HlmResizableModule, HlmResizablePanel };
103
+
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "resizable",
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/resizable.mjs",
14
+ "typings": "types/resizable.d.ts",
15
+ "exports": {
16
+ "./package.json": {
17
+ "default": "./package.json"
18
+ },
19
+ ".": {
20
+ "types": "./types/resizable.d.ts",
21
+ "default": "./fesm2022/resizable.mjs"
22
+ }
23
+ },
24
+ "type": "module"
25
+ }
@@ -0,0 +1,32 @@
1
+ import * as i0 from '@angular/core';
2
+ import * as i1 from '@spartan-ng/brain/resizable';
3
+ import { BrnResizableHandle } from '@spartan-ng/brain/resizable';
4
+
5
+ declare class HlmResizableGroup {
6
+ constructor();
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmResizableGroup, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HlmResizableGroup, "[hlmResizableGroup],hlm-resizable-group", never, {}, {}, never, never, true, [{ directive: typeof i1.BrnResizableGroup; inputs: { "direction": "direction"; "layout": "layout"; }; outputs: { "dragEnd": "dragEnd"; "dragStart": "dragStart"; "layoutChange": "layoutChange"; }; }]>;
9
+ }
10
+
11
+ declare class HlmResizableHandle {
12
+ protected readonly _brnResizableHandle: BrnResizableHandle;
13
+ constructor();
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmResizableHandle, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<HlmResizableHandle, "hlm-resizable-handle", ["hlmResizableHandle"], {}, {}, never, never, true, [{ directive: typeof i1.BrnResizableHandle; inputs: { "withHandle": "withHandle"; "disabled": "disabled"; }; outputs: {}; }]>;
16
+ }
17
+
18
+ declare class HlmResizablePanel {
19
+ private readonly _resizablePanel;
20
+ setSize(size: number): void;
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmResizablePanel, never>;
22
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HlmResizablePanel, "[hlmResizablePanel],hlm-resizable-panel", ["hlmResizablePanel"], {}, {}, never, never, true, [{ directive: typeof i1.BrnResizablePanel; inputs: { "defaultSize": "defaultSize"; "id": "id"; "collapsible": "collapsible"; "maxSize": "maxSize"; "minSize": "minSize"; }; outputs: {}; }]>;
23
+ }
24
+
25
+ declare const HlmResizableImports: readonly [typeof HlmResizableGroup, typeof HlmResizablePanel, typeof HlmResizableHandle];
26
+ declare class HlmResizableModule {
27
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmResizableModule, never>;
28
+ static ɵmod: i0.ɵɵNgModuleDeclaration<HlmResizableModule, never, [typeof HlmResizableGroup, typeof HlmResizablePanel, typeof HlmResizableHandle], [typeof HlmResizableGroup, typeof HlmResizablePanel, typeof HlmResizableHandle]>;
29
+ static ɵinj: i0.ɵɵInjectorDeclaration<HlmResizableModule>;
30
+ }
31
+
32
+ export { HlmResizableGroup, HlmResizableHandle, HlmResizableImports, HlmResizableModule, HlmResizablePanel };
@@ -0,0 +1,11 @@
1
+ # ScrollArea
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 scroll-area
11
+ ```
@@ -0,0 +1,51 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Directive, NgModule } from '@angular/core';
3
+ import { classes } from '@egose/shadcn-theme-ng/utils';
4
+ import { provideScrollbarOptions } from 'ngx-scrollbar';
5
+
6
+ class HlmScrollArea {
7
+ constructor() {
8
+ classes(() => "rounded-md [--scrollbar-thumb-shape:9999px] block");
9
+ }
10
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmScrollArea, deps: [], target: i0.ɵɵFactoryTarget.Directive });
11
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmScrollArea, isStandalone: true, selector: "ng-scrollbar[hlm],ng-scrollbar[hlmScrollbar]", host: { attributes: { "data-slot": "scroll-area" }, properties: { "style.--scrollbar-thumb-color": "\"var(--border)\"", "style.--scrollbar-thumb-hover-color": "\"var(--border)\"", "style.--scrollbar-track-color": "\"transparent\"", "style.--scrollbar-track-thickness": "\"0.625rem\"", "style.--scrollbar-track-offset": "\"1.5px\"" } }, providers: [provideScrollbarOptions({ visibility: 'hover' })], ngImport: i0 });
12
+ }
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmScrollArea, decorators: [{
14
+ type: Directive,
15
+ args: [{
16
+ selector: 'ng-scrollbar[hlm],ng-scrollbar[hlmScrollbar]',
17
+ providers: [provideScrollbarOptions({ visibility: 'hover' })],
18
+ host: {
19
+ 'data-slot': 'scroll-area',
20
+ '[style.--scrollbar-thumb-color]': '"var(--border)"',
21
+ '[style.--scrollbar-thumb-hover-color]': '"var(--border)"',
22
+ '[style.--scrollbar-track-color]': '"transparent"',
23
+ '[style.--scrollbar-track-thickness]': '"0.625rem"',
24
+ '[style.--scrollbar-track-offset]': '"1.5px"',
25
+ },
26
+ }]
27
+ }], ctorParameters: () => [] });
28
+
29
+ /*
30
+ * Public API Surface of scroll-area
31
+ */
32
+ const HlmScrollAreaImports = [HlmScrollArea];
33
+ class HlmScrollAreaModule {
34
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmScrollAreaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
35
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.3", ngImport: i0, type: HlmScrollAreaModule, imports: [HlmScrollArea], exports: [HlmScrollArea] });
36
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmScrollAreaModule });
37
+ }
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmScrollAreaModule, decorators: [{
39
+ type: NgModule,
40
+ args: [{
41
+ imports: [...HlmScrollAreaImports],
42
+ exports: [...HlmScrollAreaImports],
43
+ }]
44
+ }] });
45
+
46
+ /**
47
+ * Generated bundle index. Do not edit.
48
+ */
49
+
50
+ export { HlmScrollArea, HlmScrollAreaImports, HlmScrollAreaModule };
51
+
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "scroll-area",
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/scroll-area.mjs",
14
+ "typings": "types/scroll-area.d.ts",
15
+ "exports": {
16
+ "./package.json": {
17
+ "default": "./package.json"
18
+ },
19
+ ".": {
20
+ "types": "./types/scroll-area.d.ts",
21
+ "default": "./fesm2022/scroll-area.mjs"
22
+ }
23
+ },
24
+ "type": "module"
25
+ }