@egose/shadcn-theme-ng-tw 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 +160 -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 +31 -26
  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 +409 -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 +16 -10
  27. package/badge/package.json +25 -0
  28. package/basic-alert/README.md +2 -63
  29. package/basic-alert/fesm2022/basic-alert.mjs +12 -8
  30. package/basic-alert/package.json +24 -0
  31. package/basic-alert/{index.d.ts → types/basic-alert.d.ts} +1 -1
  32. package/breadcrumb/README.md +11 -0
  33. package/breadcrumb/fesm2022/breadcrumb.mjs +224 -0
  34. package/breadcrumb/package.json +25 -0
  35. package/breadcrumb/types/breadcrumb.d.ts +57 -0
  36. package/button/README.md +2 -63
  37. package/button/fesm2022/button.mjs +100 -26
  38. package/button/package.json +25 -0
  39. package/button/{index.d.ts → types/button.d.ts} +31 -10
  40. package/button-group/README.md +11 -0
  41. package/button-group/fesm2022/button-group.mjs +102 -0
  42. package/button-group/package.json +25 -0
  43. package/button-group/types/button-group.d.ts +30 -0
  44. package/calendar/README.md +2 -63
  45. package/calendar/fesm2022/calendar.mjs +869 -547
  46. package/calendar/package.json +24 -0
  47. package/calendar/types/calendar.d.ts +94 -0
  48. package/card/README.md +11 -0
  49. package/card/fesm2022/card.mjs +169 -0
  50. package/card/package.json +25 -0
  51. package/card/types/card.d.ts +54 -0
  52. package/carousel/README.md +11 -0
  53. package/carousel/fesm2022/carousel.mjs +309 -0
  54. package/carousel/package.json +25 -0
  55. package/carousel/types/carousel.d.ts +84 -0
  56. package/checkbox/README.md +3 -0
  57. package/checkbox/fesm2022/checkbox.mjs +153 -0
  58. package/checkbox/package.json +24 -0
  59. package/checkbox/types/checkbox.d.ts +56 -0
  60. package/collapsible/README.md +11 -0
  61. package/collapsible/fesm2022/collapsible.mjs +77 -0
  62. package/collapsible/package.json +25 -0
  63. package/collapsible/types/collapsible.d.ts +27 -0
  64. package/combobox/README.md +11 -0
  65. package/combobox/fesm2022/combobox.mjs +683 -0
  66. package/combobox/package.json +25 -0
  67. package/combobox/types/combobox.d.ts +151 -0
  68. package/command/README.md +11 -0
  69. package/command/fesm2022/command.mjs +361 -0
  70. package/command/package.json +25 -0
  71. package/command/types/command.d.ts +89 -0
  72. package/confirmation-dialog/README.md +3 -0
  73. package/confirmation-dialog/fesm2022/confirmation-dialog.mjs +105 -0
  74. package/confirmation-dialog/package.json +24 -0
  75. package/confirmation-dialog/types/confirmation-dialog.d.ts +28 -0
  76. package/context-menu/README.md +11 -0
  77. package/context-menu/fesm2022/context-menu.mjs +89 -0
  78. package/context-menu/package.json +25 -0
  79. package/context-menu/types/context-menu.d.ts +34 -0
  80. package/date-picker/README.md +2 -63
  81. package/date-picker/fesm2022/date-picker.mjs +1274 -308
  82. package/date-picker/package.json +24 -0
  83. package/date-picker/types/date-picker.d.ts +555 -0
  84. package/dialog/README.md +3 -0
  85. package/dialog/fesm2022/dialog.mjs +307 -0
  86. package/dialog/package.json +24 -0
  87. package/dialog/types/dialog.d.ts +95 -0
  88. package/drawer/README.md +11 -0
  89. package/drawer/fesm2022/drawer.mjs +271 -0
  90. package/drawer/package.json +25 -0
  91. package/drawer/types/drawer.d.ts +76 -0
  92. package/dropdown-menu/README.md +11 -0
  93. package/dropdown-menu/fesm2022/dropdown-menu.mjs +554 -0
  94. package/dropdown-menu/package.json +25 -0
  95. package/dropdown-menu/types/dropdown-menu.d.ts +180 -0
  96. package/empty/README.md +11 -0
  97. package/empty/fesm2022/empty.mjs +151 -0
  98. package/empty/package.json +25 -0
  99. package/empty/types/empty.d.ts +54 -0
  100. package/field/README.md +11 -0
  101. package/field/fesm2022/field.mjs +367 -0
  102. package/field/package.json +25 -0
  103. package/field/types/field.d.ts +107 -0
  104. package/form-checkbox/README.md +3 -0
  105. package/form-checkbox/fesm2022/form-checkbox.mjs +172 -0
  106. package/form-checkbox/package.json +24 -0
  107. package/form-checkbox/types/form-checkbox.d.ts +33 -0
  108. package/form-date-picker/README.md +2 -63
  109. package/form-date-picker/fesm2022/form-date-picker.mjs +95 -53
  110. package/form-date-picker/package.json +24 -0
  111. package/form-date-picker/{index.d.ts → types/form-date-picker.d.ts} +7 -1
  112. package/form-field/README.md +2 -63
  113. package/form-field/fesm2022/form-field.mjs +54 -28
  114. package/form-field/package.json +25 -0
  115. package/form-field/types/form-field.d.ts +46 -0
  116. package/form-field-simple/README.md +2 -63
  117. package/form-field-simple/fesm2022/form-field-simple.mjs +15 -10
  118. package/form-field-simple/package.json +24 -0
  119. package/form-searchable-multiselect/README.md +3 -0
  120. package/form-searchable-multiselect/fesm2022/form-searchable-multiselect.mjs +178 -0
  121. package/form-searchable-multiselect/package.json +24 -0
  122. package/form-searchable-multiselect/types/form-searchable-multiselect.d.ts +36 -0
  123. package/form-select/README.md +2 -63
  124. package/form-select/fesm2022/form-select.mjs +178 -84
  125. package/form-select/package.json +24 -0
  126. package/form-select/{index.d.ts → types/form-select.d.ts} +7 -1
  127. package/form-text-input/README.md +2 -63
  128. package/form-text-input/fesm2022/form-text-input.mjs +99 -82
  129. package/form-text-input/package.json +24 -0
  130. package/form-text-input/{index.d.ts → types/form-text-input.d.ts} +9 -12
  131. package/form-textarea/README.md +2 -63
  132. package/form-textarea/fesm2022/form-textarea.mjs +90 -47
  133. package/form-textarea/package.json +24 -0
  134. package/form-textarea/{index.d.ts → types/form-textarea.d.ts} +8 -1
  135. package/hover-card/README.md +11 -0
  136. package/hover-card/fesm2022/hover-card.mjs +123 -0
  137. package/hover-card/package.json +25 -0
  138. package/hover-card/types/hover-card.d.ts +36 -0
  139. package/icon/README.md +2 -63
  140. package/icon/fesm2022/icon.mjs +12 -10
  141. package/icon/package.json +25 -0
  142. package/input/README.md +2 -63
  143. package/input/fesm2022/input.mjs +25 -70
  144. package/input/package.json +25 -0
  145. package/input/types/input.d.ts +19 -0
  146. package/input-group/README.md +11 -0
  147. package/input-group/fesm2022/input-group.mjs +199 -0
  148. package/input-group/package.json +25 -0
  149. package/input-group/types/input-group.d.ts +52 -0
  150. package/input-otp/README.md +11 -0
  151. package/input-otp/fesm2022/input-otp.mjs +141 -0
  152. package/input-otp/package.json +25 -0
  153. package/input-otp/types/input-otp.d.ts +43 -0
  154. package/item/README.md +11 -0
  155. package/item/fesm2022/item.mjs +278 -0
  156. package/item/package.json +25 -0
  157. package/item/types/item.d.ts +101 -0
  158. package/kbd/README.md +11 -0
  159. package/kbd/fesm2022/kbd.mjs +61 -0
  160. package/kbd/package.json +25 -0
  161. package/kbd/types/kbd.d.ts +22 -0
  162. package/label/README.md +2 -63
  163. package/label/fesm2022/label.mjs +12 -11
  164. package/label/package.json +25 -0
  165. package/label/{index.d.ts → types/label.d.ts} +1 -1
  166. package/layout-simple/README.md +3 -0
  167. package/layout-simple/fesm2022/layout-simple.mjs +770 -0
  168. package/layout-simple/package.json +24 -0
  169. package/layout-simple/types/layout-simple.d.ts +167 -0
  170. package/menu/README.md +3 -0
  171. package/menu/fesm2022/menu.mjs +461 -0
  172. package/menu/package.json +24 -0
  173. package/menu/types/menu.d.ts +137 -0
  174. package/menubar/README.md +11 -0
  175. package/menubar/fesm2022/menubar.mjs +108 -0
  176. package/menubar/package.json +25 -0
  177. package/menubar/types/menubar.d.ts +40 -0
  178. package/native-select/README.md +11 -0
  179. package/native-select/fesm2022/native-select.mjs +207 -0
  180. package/native-select/package.json +25 -0
  181. package/native-select/types/native-select.d.ts +70 -0
  182. package/navigation-menu/README.md +11 -0
  183. package/navigation-menu/fesm2022/navigation-menu.mjs +206 -0
  184. package/navigation-menu/package.json +25 -0
  185. package/navigation-menu/types/navigation-menu.d.ts +54 -0
  186. package/package.json +284 -63
  187. package/pagination/README.md +11 -0
  188. package/pagination/fesm2022/pagination.mjs +808 -0
  189. package/pagination/package.json +25 -0
  190. package/pagination/types/pagination.d.ts +192 -0
  191. package/popover/README.md +2 -63
  192. package/popover/fesm2022/popover.mjs +124 -30
  193. package/popover/package.json +24 -0
  194. package/popover/types/popover.d.ts +54 -0
  195. package/progress/README.md +11 -0
  196. package/progress/fesm2022/progress.mjs +77 -0
  197. package/progress/package.json +25 -0
  198. package/progress/types/progress.d.ts +27 -0
  199. package/radio-group/README.md +3 -0
  200. package/radio-group/fesm2022/radio-group.mjs +207 -0
  201. package/radio-group/package.json +25 -0
  202. package/radio-group/types/radio-group.d.ts +71 -0
  203. package/resizable/README.md +11 -0
  204. package/resizable/fesm2022/resizable.mjs +111 -0
  205. package/resizable/package.json +25 -0
  206. package/resizable/types/resizable.d.ts +32 -0
  207. package/scroll-area/README.md +11 -0
  208. package/scroll-area/fesm2022/scroll-area.mjs +51 -0
  209. package/scroll-area/package.json +25 -0
  210. package/scroll-area/types/scroll-area.d.ts +16 -0
  211. package/searchable-multiselect/README.md +3 -0
  212. package/searchable-multiselect/fesm2022/searchable-multiselect.mjs +272 -0
  213. package/searchable-multiselect/package.json +24 -0
  214. package/searchable-multiselect/types/searchable-multiselect.d.ts +45 -0
  215. package/select/README.md +2 -63
  216. package/select/fesm2022/select.mjs +382 -192
  217. package/select/package.json +25 -0
  218. package/select/types/select.d.ts +121 -0
  219. package/separator/README.md +2 -63
  220. package/separator/fesm2022/separator.mjs +17 -15
  221. package/separator/package.json +24 -0
  222. package/separator/{index.d.ts → types/separator.d.ts} +4 -5
  223. package/sheet/README.md +2 -63
  224. package/sheet/fesm2022/sheet.mjs +51 -44
  225. package/sheet/package.json +24 -0
  226. package/sidebar/README.md +11 -0
  227. package/sidebar/fesm2022/sidebar.mjs +950 -0
  228. package/sidebar/package.json +25 -0
  229. package/sidebar/types/sidebar.d.ts +237 -0
  230. package/skeleton/README.md +11 -0
  231. package/skeleton/fesm2022/skeleton.mjs +44 -0
  232. package/skeleton/package.json +25 -0
  233. package/skeleton/types/skeleton.d.ts +16 -0
  234. package/slider/README.md +11 -0
  235. package/slider/fesm2022/slider.mjs +144 -0
  236. package/slider/package.json +25 -0
  237. package/slider/types/slider.d.ts +19 -0
  238. package/sonner/README.md +2 -63
  239. package/sonner/fesm2022/sonner.mjs +30 -35
  240. package/sonner/package.json +25 -0
  241. package/spinner/README.md +2 -63
  242. package/spinner/fesm2022/spinner.mjs +18 -14
  243. package/spinner/package.json +25 -0
  244. package/switch/README.md +2 -63
  245. package/switch/fesm2022/switch.mjs +29 -28
  246. package/switch/package.json +25 -0
  247. package/table/README.md +11 -0
  248. package/table/fesm2022/table.mjs +211 -0
  249. package/table/package.json +25 -0
  250. package/table/types/table.d.ts +87 -0
  251. package/tabs/README.md +3 -0
  252. package/tabs/fesm2022/tabs.mjs +286 -0
  253. package/tabs/package.json +25 -0
  254. package/tabs/types/tabs.d.ts +71 -0
  255. package/textarea/README.md +11 -0
  256. package/textarea/fesm2022/textarea.mjs +47 -0
  257. package/textarea/package.json +25 -0
  258. package/textarea/types/textarea.d.ts +18 -0
  259. package/toggle/README.md +11 -0
  260. package/toggle/fesm2022/toggle.mjs +78 -0
  261. package/toggle/package.json +25 -0
  262. package/toggle/types/toggle.d.ts +27 -0
  263. package/toggle-group/README.md +11 -0
  264. package/toggle-group/fesm2022/toggle-group.mjs +117 -0
  265. package/toggle-group/package.json +25 -0
  266. package/toggle-group/types/toggle-group.d.ts +45 -0
  267. package/tooltip/README.md +3 -0
  268. package/tooltip/fesm2022/tooltip.mjs +72 -0
  269. package/tooltip/package.json +25 -0
  270. package/tooltip/types/tooltip.d.ts +22 -0
  271. package/typography/README.md +11 -0
  272. package/typography/fesm2022/typography.mjs +242 -0
  273. package/typography/package.json +25 -0
  274. package/typography/types/typography.d.ts +94 -0
  275. package/utils/README.md +2 -63
  276. package/utils/fesm2022/utils.mjs +209 -2
  277. package/utils/package.json +25 -0
  278. package/utils/types/utils.d.ts +13 -0
  279. package/alert/fesm2022/alert.mjs.map +0 -1
  280. package/badge/fesm2022/badge.mjs.map +0 -1
  281. package/basic-alert/fesm2022/basic-alert.mjs.map +0 -1
  282. package/button/fesm2022/button.mjs.map +0 -1
  283. package/calendar/fesm2022/calendar.mjs.map +0 -1
  284. package/calendar/index.d.ts +0 -111
  285. package/date-picker/fesm2022/date-picker.mjs.map +0 -1
  286. package/date-picker/index.d.ts +0 -227
  287. package/form-date-picker/fesm2022/form-date-picker.mjs.map +0 -1
  288. package/form-field/fesm2022/form-field.mjs.map +0 -1
  289. package/form-field/index.d.ts +0 -37
  290. package/form-field-simple/fesm2022/form-field-simple.mjs.map +0 -1
  291. package/form-select/fesm2022/form-select.mjs.map +0 -1
  292. package/form-text-input/fesm2022/form-text-input.mjs.map +0 -1
  293. package/form-textarea/fesm2022/form-textarea.mjs.map +0 -1
  294. package/icon/fesm2022/icon.mjs.map +0 -1
  295. package/input/fesm2022/input.mjs.map +0 -1
  296. package/input/index.d.ts +0 -41
  297. package/label/fesm2022/label.mjs.map +0 -1
  298. package/popover/fesm2022/popover.mjs.map +0 -1
  299. package/popover/index.d.ts +0 -30
  300. package/select/fesm2022/select.mjs.map +0 -1
  301. package/select/index.d.ts +0 -92
  302. package/separator/fesm2022/separator.mjs.map +0 -1
  303. package/sheet/fesm2022/sheet.mjs.map +0 -1
  304. package/sonner/fesm2022/sonner.mjs.map +0 -1
  305. package/spinner/fesm2022/spinner.mjs.map +0 -1
  306. package/switch/fesm2022/switch.mjs.map +0 -1
  307. package/utils/fesm2022/utils.mjs.map +0 -1
  308. package/utils/index.d.ts +0 -5
  309. /package/alert/{index.d.ts → types/alert.d.ts} +0 -0
  310. /package/badge/{index.d.ts → types/badge.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,137 @@
1
+ import * as i0 from '@angular/core';
2
+ import * as class_variance_authority_types from 'class-variance-authority/types';
3
+ import { ClassValue } from 'clsx';
4
+ import * as i1 from '@angular/cdk/menu';
5
+ import { BooleanInput } from '@angular/cdk/coercion';
6
+
7
+ declare const menuVariants: (props?: ({
8
+ variant?: "default" | "menubar" | null | undefined;
9
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
10
+ declare class HlmMenu {
11
+ readonly userClass: i0.InputSignal<ClassValue>;
12
+ protected readonly _computedClass: i0.Signal<string>;
13
+ readonly variant: i0.InputSignal<"default" | "menubar" | null | undefined>;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmMenu, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<HlmMenu, "hlm-menu", never, { "userClass": { "alias": "class"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof i1.CdkMenu; inputs: {}; outputs: {}; }]>;
16
+ }
17
+
18
+ declare class HlmMenuBar {
19
+ readonly userClass: i0.InputSignal<ClassValue>;
20
+ protected _computedClass: i0.Signal<string>;
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmMenuBar, never>;
22
+ static ɵcmp: i0.ɵɵComponentDeclaration<HlmMenuBar, "hlm-menu-bar", never, { "userClass": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof i1.CdkMenuBar; inputs: {}; outputs: {}; }]>;
23
+ }
24
+
25
+ declare class HlmMenuBarItem {
26
+ readonly userClass: i0.InputSignal<ClassValue>;
27
+ protected readonly _computedClass: i0.Signal<string>;
28
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmMenuBarItem, never>;
29
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HlmMenuBarItem, "[hlmMenuBarItem]", never, { "userClass": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.CdkMenuItem; inputs: {}; outputs: {}; }]>;
30
+ }
31
+
32
+ declare class HlmMenuGroup {
33
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmMenuGroup, never>;
34
+ static ɵcmp: i0.ɵɵComponentDeclaration<HlmMenuGroup, "hlm-menu-group", never, {}, {}, never, ["*"], true, [{ directive: typeof i1.CdkMenuGroup; inputs: {}; outputs: {}; }]>;
35
+ }
36
+
37
+ declare class HlmMenuLabel {
38
+ readonly inset: i0.InputSignalWithTransform<boolean, BooleanInput>;
39
+ readonly userClass: i0.InputSignal<ClassValue>;
40
+ protected _computedClass: i0.Signal<string>;
41
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmMenuLabel, never>;
42
+ static ɵcmp: i0.ɵɵComponentDeclaration<HlmMenuLabel, "hlm-menu-label", never, { "inset": { "alias": "inset"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
43
+ }
44
+
45
+ declare class HlmMenuSeparator {
46
+ readonly userClass: i0.InputSignal<ClassValue>;
47
+ protected readonly _computedClass: i0.Signal<string>;
48
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmMenuSeparator, never>;
49
+ static ɵcmp: i0.ɵɵComponentDeclaration<HlmMenuSeparator, "hlm-menu-separator", never, { "userClass": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
50
+ }
51
+
52
+ declare class HlmSubMenu {
53
+ readonly userClass: i0.InputSignal<ClassValue>;
54
+ protected readonly _computedClass: i0.Signal<string>;
55
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmSubMenu, never>;
56
+ static ɵcmp: i0.ɵɵComponentDeclaration<HlmSubMenu, "hlm-sub-menu", never, { "userClass": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof i1.CdkMenu; inputs: {}; outputs: {}; }]>;
57
+ }
58
+
59
+ declare class HlmMenuItem {
60
+ readonly variant: i0.InputSignal<"default" | "destructive">;
61
+ readonly inset: i0.InputSignalWithTransform<boolean, BooleanInput>;
62
+ readonly userClass: i0.InputSignal<ClassValue>;
63
+ protected readonly _computedClass: i0.Signal<string>;
64
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmMenuItem, never>;
65
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HlmMenuItem, "[hlmMenuItem]", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "inset": { "alias": "inset"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.CdkMenuItem; inputs: { "cdkMenuItemDisabled": "disabled"; }; outputs: { "cdkMenuItemTriggered": "triggered"; }; }]>;
66
+ }
67
+
68
+ declare class HlmMenuItemIcon {
69
+ readonly userClass: i0.InputSignal<ClassValue>;
70
+ protected _computedClass: i0.Signal<string>;
71
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmMenuItemIcon, never>;
72
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HlmMenuItemIcon, "[hlmMenuIcon]", never, { "userClass": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
73
+ }
74
+
75
+ declare class HlmMenuItemSubIndicator {
76
+ readonly userClass: i0.InputSignal<ClassValue>;
77
+ protected readonly _computedClass: i0.Signal<string>;
78
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmMenuItemSubIndicator, never>;
79
+ static ɵcmp: i0.ɵɵComponentDeclaration<HlmMenuItemSubIndicator, "hlm-menu-item-sub-indicator", never, { "userClass": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
80
+ }
81
+
82
+ declare class HlmMenuItemRadioIndicator {
83
+ readonly userClass: i0.InputSignal<ClassValue>;
84
+ protected readonly _computedClass: i0.Signal<string>;
85
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmMenuItemRadioIndicator, never>;
86
+ static ɵcmp: i0.ɵɵComponentDeclaration<HlmMenuItemRadioIndicator, "hlm-menu-item-radio", never, { "userClass": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
87
+ }
88
+
89
+ declare class HlmMenuItemCheck {
90
+ readonly userClass: i0.InputSignal<ClassValue>;
91
+ protected _computedClass: i0.Signal<string>;
92
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmMenuItemCheck, never>;
93
+ static ɵcmp: i0.ɵɵComponentDeclaration<HlmMenuItemCheck, "hlm-menu-item-check", never, { "userClass": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
94
+ }
95
+
96
+ declare class HlmMenuShortcut {
97
+ readonly userClass: i0.InputSignal<ClassValue>;
98
+ protected _computedClass: i0.Signal<string>;
99
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmMenuShortcut, never>;
100
+ static ɵcmp: i0.ɵɵComponentDeclaration<HlmMenuShortcut, "hlm-menu-shortcut", never, { "userClass": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
101
+ }
102
+
103
+ declare class HlmMenuItemCheckbox {
104
+ readonly userClass: i0.InputSignal<ClassValue>;
105
+ protected readonly _computedClass: i0.Signal<string>;
106
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmMenuItemCheckbox, never>;
107
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HlmMenuItemCheckbox, "[hlmMenuItemCheckbox]", never, { "userClass": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.CdkMenuItemCheckbox; inputs: { "cdkMenuItemDisabled": "disabled"; "cdkMenuItemChecked": "checked"; }; outputs: { "cdkMenuItemTriggered": "triggered"; }; }]>;
108
+ }
109
+
110
+ declare class HlmMenuItemRadio {
111
+ readonly userClass: i0.InputSignal<ClassValue>;
112
+ protected readonly _computedClass: i0.Signal<string>;
113
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmMenuItemRadio, never>;
114
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HlmMenuItemRadio, "[hlmMenuItemRadio]", never, { "userClass": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.CdkMenuItemRadio; inputs: { "cdkMenuItemDisabled": "disabled"; "cdkMenuItemChecked": "checked"; }; outputs: { "cdkMenuItemTriggered": "triggered"; }; }]>;
115
+ }
116
+
117
+ declare const HlmMenuItemImports: (typeof HlmMenuGroup)[];
118
+ declare const HlmMenuStructureImports: readonly [typeof HlmMenuLabel, typeof HlmMenuSeparator];
119
+ declare const HlmMenuImports: readonly [...(typeof HlmMenuGroup)[], typeof HlmMenuLabel, typeof HlmMenuSeparator, typeof HlmMenu, typeof HlmSubMenu];
120
+ declare const HlmMenuBarImports: readonly [...(typeof HlmMenuGroup)[], typeof HlmMenuLabel, typeof HlmMenuSeparator, typeof HlmMenu, typeof HlmSubMenu, typeof HlmMenuBar, typeof HlmMenuBarItem];
121
+ declare class HlmMenuItemModule {
122
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmMenuItemModule, never>;
123
+ static ɵmod: i0.ɵɵNgModuleDeclaration<HlmMenuItemModule, never, [typeof HlmMenuItem, typeof HlmMenuItemIcon, typeof HlmMenuGroup, typeof HlmMenuItemSubIndicator, typeof HlmMenuItemRadioIndicator, typeof HlmMenuItemCheck, typeof HlmMenuShortcut, typeof HlmMenuItemCheckbox, typeof HlmMenuItemRadio], [typeof HlmMenuItem, typeof HlmMenuItemIcon, typeof HlmMenuGroup, typeof HlmMenuItemSubIndicator, typeof HlmMenuItemRadioIndicator, typeof HlmMenuItemCheck, typeof HlmMenuShortcut, typeof HlmMenuItemCheckbox, typeof HlmMenuItemRadio]>;
124
+ static ɵinj: i0.ɵɵInjectorDeclaration<HlmMenuItemModule>;
125
+ }
126
+ declare class HlmMenuModule {
127
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmMenuModule, never>;
128
+ static ɵmod: i0.ɵɵNgModuleDeclaration<HlmMenuModule, never, [typeof HlmMenuItem, typeof HlmMenuItemIcon, typeof HlmMenuGroup, typeof HlmMenuItemSubIndicator, typeof HlmMenuItemRadioIndicator, typeof HlmMenuItemCheck, typeof HlmMenuShortcut, typeof HlmMenuItemCheckbox, typeof HlmMenuItemRadio, typeof HlmMenuLabel, typeof HlmMenuSeparator, typeof HlmMenu, typeof HlmSubMenu], [typeof HlmMenuItem, typeof HlmMenuItemIcon, typeof HlmMenuGroup, typeof HlmMenuItemSubIndicator, typeof HlmMenuItemRadioIndicator, typeof HlmMenuItemCheck, typeof HlmMenuShortcut, typeof HlmMenuItemCheckbox, typeof HlmMenuItemRadio, typeof HlmMenuLabel, typeof HlmMenuSeparator, typeof HlmMenu, typeof HlmSubMenu]>;
129
+ static ɵinj: i0.ɵɵInjectorDeclaration<HlmMenuModule>;
130
+ }
131
+ declare class HlmMenuBarModule {
132
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmMenuBarModule, never>;
133
+ static ɵmod: i0.ɵɵNgModuleDeclaration<HlmMenuBarModule, never, [typeof HlmMenuItem, typeof HlmMenuItemIcon, typeof HlmMenuGroup, typeof HlmMenuItemSubIndicator, typeof HlmMenuItemRadioIndicator, typeof HlmMenuItemCheck, typeof HlmMenuShortcut, typeof HlmMenuItemCheckbox, typeof HlmMenuItemRadio, typeof HlmMenuLabel, typeof HlmMenuSeparator, typeof HlmMenu, typeof HlmSubMenu, typeof HlmMenuBar, typeof HlmMenuBarItem], [typeof HlmMenuItem, typeof HlmMenuItemIcon, typeof HlmMenuGroup, typeof HlmMenuItemSubIndicator, typeof HlmMenuItemRadioIndicator, typeof HlmMenuItemCheck, typeof HlmMenuShortcut, typeof HlmMenuItemCheckbox, typeof HlmMenuItemRadio, typeof HlmMenuLabel, typeof HlmMenuSeparator, typeof HlmMenu, typeof HlmSubMenu, typeof HlmMenuBar, typeof HlmMenuBarItem]>;
134
+ static ɵinj: i0.ɵɵInjectorDeclaration<HlmMenuBarModule>;
135
+ }
136
+
137
+ export { HlmMenu, HlmMenuBar, HlmMenuBarImports, HlmMenuBarItem, HlmMenuBarModule, HlmMenuGroup, HlmMenuImports, HlmMenuItem, HlmMenuItemCheck, HlmMenuItemCheckbox, HlmMenuItemIcon, HlmMenuItemImports, HlmMenuItemModule, HlmMenuItemRadio, HlmMenuItemRadioIndicator, HlmMenuItemSubIndicator, HlmMenuLabel, HlmMenuModule, HlmMenuSeparator, HlmMenuShortcut, HlmMenuStructureImports, HlmSubMenu, menuVariants };
@@ -0,0 +1,11 @@
1
+ # Menubar
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 menubar
11
+ ```
@@ -0,0 +1,108 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Directive, InjectionToken, inject, input, booleanAttribute, computed, effect, forwardRef, NgModule } from '@angular/core';
3
+ import * as i1 from '@angular/cdk/menu';
4
+ import { CdkMenuBar, CdkMenuTrigger, CdkMenuItem } from '@angular/cdk/menu';
5
+ import { classes } from '@egose/shadcn-theme-ng-tw/utils';
6
+ import { createMenuPosition, MENU_SIDE } from '@spartan-ng/brain/core';
7
+
8
+ class HlmMenubar {
9
+ constructor() {
10
+ classes(() => 'tw:bg-background tw:h-9 tw:gap-1 tw:rounded-md tw:border tw:p-1 tw:shadow-xs tw:flex tw:items-center');
11
+ }
12
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmMenubar, deps: [], target: i0.ɵɵFactoryTarget.Directive });
13
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmMenubar, isStandalone: true, selector: "[hlmMenubar],hlm-menubar", host: { attributes: { "data-slot": "menubar" } }, hostDirectives: [{ directive: i1.CdkMenuBar }], ngImport: i0 });
14
+ }
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmMenubar, decorators: [{
16
+ type: Directive,
17
+ args: [{
18
+ selector: '[hlmMenubar],hlm-menubar',
19
+ hostDirectives: [CdkMenuBar],
20
+ host: {
21
+ 'data-slot': 'menubar',
22
+ },
23
+ }]
24
+ }], ctorParameters: () => [] });
25
+
26
+ const defaultConfig = {
27
+ align: 'start',
28
+ side: 'bottom',
29
+ };
30
+ const HlmMenubarConfigToken = new InjectionToken('HlmMenubarConfig');
31
+ function provideHlmMenubarConfig(config) {
32
+ return { provide: HlmMenubarConfigToken, useValue: { ...defaultConfig, ...config } };
33
+ }
34
+ function injectHlmMenubarConfig() {
35
+ return inject(HlmMenubarConfigToken, { optional: true }) ?? defaultConfig;
36
+ }
37
+
38
+ class HlmMenubarTrigger {
39
+ _cdkTrigger = inject(CdkMenuTrigger, { host: true });
40
+ _config = injectHlmMenubarConfig();
41
+ disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
42
+ align = input(this._config.align, /* @ts-ignore */
43
+ ...(ngDevMode ? [{ debugName: "align" }] : /* istanbul ignore next */ []));
44
+ side = input(this._config.side, /* @ts-ignore */
45
+ ...(ngDevMode ? [{ debugName: "side" }] : /* istanbul ignore next */ []));
46
+ _menuPosition = computed(() => createMenuPosition(this.align(), this.side()), /* @ts-ignore */
47
+ ...(ngDevMode ? [{ debugName: "_menuPosition" }] : /* istanbul ignore next */ []));
48
+ constructor() {
49
+ // CDK sets transform-origin on the menu content (a shared hlm-dropdown-menu) from the resolved
50
+ // position; the content reads it to animate from the anchored corner and to derive its data-side.
51
+ // Cast tolerates @angular/cdk < 21.2 (we still support >=21.0), where the property is absent and
52
+ // the assignment is a harmless no-op.
53
+ this._cdkTrigger.transformOriginSelector = '[data-slot="dropdown-menu"]';
54
+ effect(() => {
55
+ this._cdkTrigger.menuPosition = this._menuPosition();
56
+ });
57
+ classes(() => 'tw:hover:bg-muted tw:aria-expanded:bg-muted tw:rounded-sm tw:px-2 tw:py-1 tw:text-sm tw:font-medium tw:flex tw:items-center tw:outline-hidden tw:select-none tw:data-disabled:pointer-events-none tw:data-disabled:opacity-50');
58
+ }
59
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmMenubarTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive });
60
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.3", type: HlmMenubarTrigger, isStandalone: true, selector: "button[hlmMenubarTrigger]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, side: { classPropertyName: "side", publicName: "side", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "menubar-trigger" }, properties: { "disabled": "disabled() ", "attr.data-disabled": "disabled() ? \"\" : null" } }, providers: [{ provide: MENU_SIDE, useExisting: forwardRef(() => HlmMenubarTrigger) }], hostDirectives: [{ directive: i1.CdkMenuItem, inputs: ["cdkMenuItemDisabled", "disabled"] }, { directive: i1.CdkMenuTrigger, inputs: ["cdkMenuTriggerFor", "hlmMenubarTrigger", "cdkMenuTriggerData", "hlmMenubarTriggerData"], outputs: ["cdkMenuOpened", "hlmDropdownMenuOpened", "cdkMenuClosed", "hlmDropdownMenuClosed"] }], ngImport: i0 });
61
+ }
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmMenubarTrigger, decorators: [{
63
+ type: Directive,
64
+ args: [{
65
+ selector: 'button[hlmMenubarTrigger]',
66
+ providers: [{ provide: MENU_SIDE, useExisting: forwardRef(() => HlmMenubarTrigger) }],
67
+ hostDirectives: [
68
+ {
69
+ directive: CdkMenuItem,
70
+ inputs: ['cdkMenuItemDisabled: disabled'],
71
+ },
72
+ {
73
+ directive: CdkMenuTrigger,
74
+ inputs: ['cdkMenuTriggerFor: hlmMenubarTrigger', 'cdkMenuTriggerData: hlmMenubarTriggerData'],
75
+ outputs: ['cdkMenuOpened: hlmDropdownMenuOpened', 'cdkMenuClosed: hlmDropdownMenuClosed'],
76
+ },
77
+ ],
78
+ host: {
79
+ 'data-slot': 'menubar-trigger',
80
+ '[disabled]': 'disabled() ',
81
+ '[attr.data-disabled]': 'disabled() ? "" : null',
82
+ },
83
+ }]
84
+ }], ctorParameters: () => [], propDecorators: { disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], align: [{ type: i0.Input, args: [{ isSignal: true, alias: "align", required: false }] }], side: [{ type: i0.Input, args: [{ isSignal: true, alias: "side", required: false }] }] } });
85
+
86
+ /*
87
+ * Public API Surface of menubar
88
+ */
89
+ const HlmMenubarImports = [HlmMenubar, HlmMenubarTrigger];
90
+ class HlmMenubarModule {
91
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmMenubarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
92
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.3", ngImport: i0, type: HlmMenubarModule, imports: [HlmMenubar, HlmMenubarTrigger], exports: [HlmMenubar, HlmMenubarTrigger] });
93
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmMenubarModule });
94
+ }
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmMenubarModule, decorators: [{
96
+ type: NgModule,
97
+ args: [{
98
+ imports: [...HlmMenubarImports],
99
+ exports: [...HlmMenubarImports],
100
+ }]
101
+ }] });
102
+
103
+ /**
104
+ * Generated bundle index. Do not edit.
105
+ */
106
+
107
+ export { HlmMenubar, HlmMenubarImports, HlmMenubarModule, HlmMenubarTrigger, injectHlmMenubarConfig, provideHlmMenubarConfig };
108
+
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "menubar",
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/menubar.mjs",
14
+ "typings": "types/menubar.d.ts",
15
+ "exports": {
16
+ "./package.json": {
17
+ "default": "./package.json"
18
+ },
19
+ ".": {
20
+ "types": "./types/menubar.d.ts",
21
+ "default": "./fesm2022/menubar.mjs"
22
+ }
23
+ },
24
+ "type": "module"
25
+ }
@@ -0,0 +1,40 @@
1
+ import * as i0 from '@angular/core';
2
+ import { ValueProvider } from '@angular/core';
3
+ import * as i1 from '@angular/cdk/menu';
4
+ import { BooleanInput } from '@angular/cdk/coercion';
5
+ import { MenuAlign, MenuSide } from '@spartan-ng/brain/core';
6
+
7
+ declare class HlmMenubar {
8
+ constructor();
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmMenubar, never>;
10
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HlmMenubar, "[hlmMenubar],hlm-menubar", never, {}, {}, never, never, true, [{ directive: typeof i1.CdkMenuBar; inputs: {}; outputs: {}; }]>;
11
+ }
12
+
13
+ declare class HlmMenubarTrigger {
14
+ private readonly _cdkTrigger;
15
+ private readonly _config;
16
+ readonly disabled: i0.InputSignalWithTransform<boolean, BooleanInput>;
17
+ readonly align: i0.InputSignal<MenuAlign>;
18
+ readonly side: i0.InputSignal<MenuSide>;
19
+ private readonly _menuPosition;
20
+ constructor();
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmMenubarTrigger, never>;
22
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HlmMenubarTrigger, "button[hlmMenubarTrigger]", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "side": { "alias": "side"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.CdkMenuItem; inputs: { "cdkMenuItemDisabled": "disabled"; }; outputs: {}; }, { directive: typeof i1.CdkMenuTrigger; inputs: { "cdkMenuTriggerFor": "hlmMenubarTrigger"; "cdkMenuTriggerData": "hlmMenubarTriggerData"; }; outputs: { "cdkMenuOpened": "hlmDropdownMenuOpened"; "cdkMenuClosed": "hlmDropdownMenuClosed"; }; }]>;
23
+ }
24
+
25
+ interface HlmMenubarConfig {
26
+ align: MenuAlign;
27
+ side: MenuSide;
28
+ }
29
+ declare function provideHlmMenubarConfig(config: Partial<HlmMenubarConfig>): ValueProvider;
30
+ declare function injectHlmMenubarConfig(): HlmMenubarConfig;
31
+
32
+ declare const HlmMenubarImports: readonly [typeof HlmMenubar, typeof HlmMenubarTrigger];
33
+ declare class HlmMenubarModule {
34
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmMenubarModule, never>;
35
+ static ɵmod: i0.ɵɵNgModuleDeclaration<HlmMenubarModule, never, [typeof HlmMenubar, typeof HlmMenubarTrigger], [typeof HlmMenubar, typeof HlmMenubarTrigger]>;
36
+ static ɵinj: i0.ɵɵInjectorDeclaration<HlmMenubarModule>;
37
+ }
38
+
39
+ export { HlmMenubar, HlmMenubarImports, HlmMenubarModule, HlmMenubarTrigger, injectHlmMenubarConfig, provideHlmMenubarConfig };
40
+ export type { HlmMenubarConfig };
@@ -0,0 +1,11 @@
1
+ # NativeSelect
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 native-select
11
+ ```
@@ -0,0 +1,207 @@
1
+ import * as i0 from '@angular/core';
2
+ import { forwardRef, inject, input, computed, booleanAttribute, linkedSignal, output, ChangeDetectionStrategy, Component, Directive, NgModule } from '@angular/core';
3
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
+ import { NgIcon, provideIcons } from '@ng-icons/core';
5
+ import { lucideChevronDown } from '@ng-icons/lucide';
6
+ import * as i1 from '@spartan-ng/brain/field';
7
+ import { BrnFieldControl, provideBrnLabelable } from '@spartan-ng/brain/field';
8
+ import { hlm, classes } from '@egose/shadcn-theme-ng-tw/utils';
9
+
10
+ const HLM_NATIVE_SELECT_VALUE_ACCESSOR = {
11
+ provide: NG_VALUE_ACCESSOR,
12
+ useExisting: forwardRef(() => HlmNativeSelect),
13
+ multi: true,
14
+ };
15
+ class HlmNativeSelect {
16
+ _fieldControl = inject(BrnFieldControl, { optional: true });
17
+ static _id = 0;
18
+ selectId = input(`hlm-native-select-${HlmNativeSelect._id++}`, /* @ts-ignore */
19
+ ...(ngDevMode ? [{ debugName: "selectId" }] : /* istanbul ignore next */ []));
20
+ selectClass = input('', /* @ts-ignore */
21
+ ...(ngDevMode ? [{ debugName: "selectClass" }] : /* istanbul ignore next */ []));
22
+ _computedSelectClass = computed(() => hlm('tw:border-input tw:placeholder:text-muted-foreground tw:selection:bg-primary tw:selection:text-primary-foreground tw:dark:bg-input/30 tw:dark:hover:bg-input/50 tw:focus-visible:border-ring tw:focus-visible:ring-ring/50 tw:data-[matches-spartan-invalid=true]:ring-destructive/20 tw:dark:data-[matches-spartan-invalid=true]:ring-destructive/40 tw:data-[matches-spartan-invalid=true]:border-destructive tw:dark:data-[matches-spartan-invalid=true]:border-destructive/50 tw:h-9 tw:w-full tw:min-w-0 tw:appearance-none tw:rounded-md tw:border tw:bg-transparent tw:py-1 tw:ps-2.5 tw:pe-8 tw:text-sm tw:shadow-xs tw:transition-[color,box-shadow] tw:select-none tw:focus-visible:ring-3 tw:data-[matches-spartan-invalid=true]:ring-3 tw:data-[size=sm]:h-8 tw:outline-none tw:disabled:pointer-events-none tw:disabled:cursor-not-allowed', this.selectClass()), /* @ts-ignore */
23
+ ...(ngDevMode ? [{ debugName: "_computedSelectClass" }] : /* istanbul ignore next */ []));
24
+ selectIconClass = input('', /* @ts-ignore */
25
+ ...(ngDevMode ? [{ debugName: "selectIconClass" }] : /* istanbul ignore next */ []));
26
+ _computedSelectIconClass = computed(() => hlm('tw:text-muted-foreground tw:end-2.5 tw:top-1/2 tw:-translate-y-1/2 tw:text-[length:--spacing(4)] tw:pointer-events-none tw:absolute tw:select-none', this.selectIconClass()), /* @ts-ignore */
27
+ ...(ngDevMode ? [{ debugName: "_computedSelectIconClass" }] : /* istanbul ignore next */ []));
28
+ size = input('default', /* @ts-ignore */
29
+ ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
30
+ disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
31
+ _disabled = linkedSignal(this.disabled, /* @ts-ignore */
32
+ ...(ngDevMode ? [{ debugName: "_disabled" }] : /* istanbul ignore next */ []));
33
+ /** Whether to force the input into an invalid state. */
34
+ forceInvalid = input(false, { ...(ngDevMode ? { debugName: "forceInvalid" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
35
+ /** Manual override for aria-invalid. When not set, auto-detects from the parent autocomplete error state. */
36
+ ariaInvalidOverride = input(undefined, { ...(ngDevMode ? { debugName: "ariaInvalidOverride" } : /* istanbul ignore next */ {}), transform: (v) => (v === '' || v === undefined ? undefined : booleanAttribute(v)),
37
+ alias: 'aria-invalid' });
38
+ _ariaInvalid = computed(() => this.ariaInvalidOverride() ?? this._invalid?.(), /* @ts-ignore */
39
+ ...(ngDevMode ? [{ debugName: "_ariaInvalid" }] : /* istanbul ignore next */ []));
40
+ valueInput = input('', { ...(ngDevMode ? { debugName: "valueInput" } : /* istanbul ignore next */ {}), alias: 'value' });
41
+ value = linkedSignal(this.valueInput, /* @ts-ignore */
42
+ ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
43
+ valueChange = output();
44
+ _onChange;
45
+ _onTouched;
46
+ labelableId = this.selectId;
47
+ _invalid = this._fieldControl?.invalid;
48
+ _touched = this._fieldControl?.touched;
49
+ _dirty = this._fieldControl?.dirty;
50
+ _spartanInvalid = computed(() => this.forceInvalid() || this._fieldControl?.spartanInvalid(), /* @ts-ignore */
51
+ ...(ngDevMode ? [{ debugName: "_spartanInvalid" }] : /* istanbul ignore next */ []));
52
+ constructor() {
53
+ classes(() => 'tw:group/native-select tw:relative tw:w-fit tw:has-[select:disabled]:opacity-50');
54
+ }
55
+ _valueChanged(event) {
56
+ const value = event.target.value;
57
+ this.value.set(value);
58
+ this.valueChange.emit(value);
59
+ this._onChange?.(value);
60
+ this._onTouched?.();
61
+ }
62
+ _blur() {
63
+ this._onTouched?.();
64
+ }
65
+ /** CONTROL VALUE ACCESSOR */
66
+ writeValue(value) {
67
+ this.value.set(value);
68
+ }
69
+ registerOnChange(fn) {
70
+ this._onChange = fn;
71
+ }
72
+ registerOnTouched(fn) {
73
+ this._onTouched = fn;
74
+ }
75
+ setDisabledState(isDisabled) {
76
+ this._disabled.set(isDisabled);
77
+ }
78
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmNativeSelect, deps: [], target: i0.ɵɵFactoryTarget.Component });
79
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.3", type: HlmNativeSelect, isStandalone: true, selector: "hlm-native-select", inputs: { selectId: { classPropertyName: "selectId", publicName: "selectId", isSignal: true, isRequired: false, transformFunction: null }, selectClass: { classPropertyName: "selectClass", publicName: "selectClass", isSignal: true, isRequired: false, transformFunction: null }, selectIconClass: { classPropertyName: "selectIconClass", publicName: "selectIconClass", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, forceInvalid: { classPropertyName: "forceInvalid", publicName: "forceInvalid", isSignal: true, isRequired: false, transformFunction: null }, ariaInvalidOverride: { classPropertyName: "ariaInvalidOverride", publicName: "aria-invalid", isSignal: true, isRequired: false, transformFunction: null }, valueInput: { classPropertyName: "valueInput", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange" }, host: { attributes: { "data-slot": "native-select-wrapper" }, properties: { "attr.data-size": "size()" } }, providers: [
80
+ HLM_NATIVE_SELECT_VALUE_ACCESSOR,
81
+ provideIcons({ lucideChevronDown }),
82
+ provideBrnLabelable(HlmNativeSelect),
83
+ ], hostDirectives: [{ directive: i1.BrnFieldControl }], ngImport: i0, template: `
84
+ <select
85
+ data-slot="native-select"
86
+ [id]="selectId()"
87
+ [class]="_computedSelectClass()"
88
+ [attr.data-size]="size()"
89
+ [attr.aria-invalid]="_ariaInvalid() ? 'true' : null"
90
+ [attr.data-invalid]="_ariaInvalid() ? 'true' : null"
91
+ [attr.data-dirty]="_dirty?.() ? 'true' : null"
92
+ [attr.data-touched]="_touched?.() ? 'true' : null"
93
+ [attr.data-matches-spartan-invalid]="_spartanInvalid() ? 'true' : null"
94
+ [value]="value()"
95
+ [disabled]="_disabled()"
96
+ (change)="_valueChanged($event)"
97
+ (blur)="_blur()"
98
+ >
99
+ <ng-content />
100
+ </select>
101
+
102
+ <ng-icon
103
+ name="lucideChevronDown"
104
+ [class]="_computedSelectIconClass()"
105
+ aria-hidden="true"
106
+ data-slot="native-select-icon"
107
+ />
108
+ `, isInline: true, dependencies: [{ kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
109
+ }
110
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmNativeSelect, decorators: [{
111
+ type: Component,
112
+ args: [{
113
+ selector: 'hlm-native-select',
114
+ imports: [NgIcon],
115
+ providers: [
116
+ HLM_NATIVE_SELECT_VALUE_ACCESSOR,
117
+ provideIcons({ lucideChevronDown }),
118
+ provideBrnLabelable(HlmNativeSelect),
119
+ ],
120
+ changeDetection: ChangeDetectionStrategy.OnPush,
121
+ hostDirectives: [BrnFieldControl],
122
+ host: {
123
+ 'data-slot': 'native-select-wrapper',
124
+ '[attr.data-size]': 'size()',
125
+ },
126
+ template: `
127
+ <select
128
+ data-slot="native-select"
129
+ [id]="selectId()"
130
+ [class]="_computedSelectClass()"
131
+ [attr.data-size]="size()"
132
+ [attr.aria-invalid]="_ariaInvalid() ? 'true' : null"
133
+ [attr.data-invalid]="_ariaInvalid() ? 'true' : null"
134
+ [attr.data-dirty]="_dirty?.() ? 'true' : null"
135
+ [attr.data-touched]="_touched?.() ? 'true' : null"
136
+ [attr.data-matches-spartan-invalid]="_spartanInvalid() ? 'true' : null"
137
+ [value]="value()"
138
+ [disabled]="_disabled()"
139
+ (change)="_valueChanged($event)"
140
+ (blur)="_blur()"
141
+ >
142
+ <ng-content />
143
+ </select>
144
+
145
+ <ng-icon
146
+ name="lucideChevronDown"
147
+ [class]="_computedSelectIconClass()"
148
+ aria-hidden="true"
149
+ data-slot="native-select-icon"
150
+ />
151
+ `,
152
+ }]
153
+ }], ctorParameters: () => [], propDecorators: { selectId: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectId", required: false }] }], selectClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectClass", required: false }] }], selectIconClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectIconClass", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], forceInvalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "forceInvalid", required: false }] }], ariaInvalidOverride: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-invalid", required: false }] }], valueInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }] } });
154
+
155
+ class HlmNativeSelectOptGroup {
156
+ constructor() {
157
+ classes(() => 'tw:bg-[Canvas] tw:text-[CanvasText]');
158
+ }
159
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmNativeSelectOptGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive });
160
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmNativeSelectOptGroup, isStandalone: true, selector: "optgroup[hlmNativeSelectOptGroup]", host: { attributes: { "data-slot": "native-select-optgroup" } }, ngImport: i0 });
161
+ }
162
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmNativeSelectOptGroup, decorators: [{
163
+ type: Directive,
164
+ args: [{
165
+ selector: 'optgroup[hlmNativeSelectOptGroup]',
166
+ host: { 'data-slot': 'native-select-optgroup' },
167
+ }]
168
+ }], ctorParameters: () => [] });
169
+
170
+ class HlmNativeSelectOption {
171
+ constructor() {
172
+ classes(() => 'tw:bg-[Canvas] tw:text-[CanvasText]');
173
+ }
174
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmNativeSelectOption, deps: [], target: i0.ɵɵFactoryTarget.Directive });
175
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmNativeSelectOption, isStandalone: true, selector: "option[hlmNativeSelectOption]", host: { attributes: { "data-slot": "native-select-option" } }, ngImport: i0 });
176
+ }
177
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmNativeSelectOption, decorators: [{
178
+ type: Directive,
179
+ args: [{
180
+ selector: 'option[hlmNativeSelectOption]',
181
+ host: { 'data-slot': 'native-select-option' },
182
+ }]
183
+ }], ctorParameters: () => [] });
184
+
185
+ /*
186
+ * Public API Surface of native-select
187
+ */
188
+ const HlmNativeSelectImports = [HlmNativeSelect, HlmNativeSelectOption, HlmNativeSelectOptGroup];
189
+ class HlmNativeSelectModule {
190
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmNativeSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
191
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.3", ngImport: i0, type: HlmNativeSelectModule, imports: [HlmNativeSelect, HlmNativeSelectOption, HlmNativeSelectOptGroup], exports: [HlmNativeSelect, HlmNativeSelectOption, HlmNativeSelectOptGroup] });
192
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmNativeSelectModule, imports: [HlmNativeSelect] });
193
+ }
194
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmNativeSelectModule, decorators: [{
195
+ type: NgModule,
196
+ args: [{
197
+ imports: [...HlmNativeSelectImports],
198
+ exports: [...HlmNativeSelectImports],
199
+ }]
200
+ }] });
201
+
202
+ /**
203
+ * Generated bundle index. Do not edit.
204
+ */
205
+
206
+ export { HLM_NATIVE_SELECT_VALUE_ACCESSOR, HlmNativeSelect, HlmNativeSelectImports, HlmNativeSelectModule, HlmNativeSelectOptGroup, HlmNativeSelectOption };
207
+
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "native-select",
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/native-select.mjs",
14
+ "typings": "types/native-select.d.ts",
15
+ "exports": {
16
+ "./package.json": {
17
+ "default": "./package.json"
18
+ },
19
+ ".": {
20
+ "types": "./types/native-select.d.ts",
21
+ "default": "./fesm2022/native-select.mjs"
22
+ }
23
+ },
24
+ "type": "module"
25
+ }