@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,547 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Directive, input, booleanAttribute, ChangeDetectionStrategy, Component, computed, inject, NgModule } from '@angular/core';
3
+ import * as i1 from '@spartan-ng/brain/combobox';
4
+ import { BrnCombobox, BrnComboboxChipRemove, BrnComboboxChip, BrnComboboxChipInput, injectBrnComboboxBase, BrnComboboxAnchor, BrnComboboxPopoverTrigger, BrnComboboxContent, BrnComboboxEmpty, BrnComboboxGroup, BrnComboboxImports, BrnComboboxItem, BrnComboboxLabel, BrnComboboxList, BrnComboboxMultiple, BrnComboboxPlaceholder, BrnComboboxSeparator, BrnComboboxStatus, BrnComboboxTrigger, BrnComboboxValue, BrnComboboxValueTemplate, BrnComboboxValues } from '@spartan-ng/brain/combobox';
5
+ import * as i2 from '@spartan-ng/brain/popover';
6
+ import { provideBrnPopoverConfig, provideBrnPopoverDefaultOptions, BrnPopover, BrnPopoverContent } from '@spartan-ng/brain/popover';
7
+ import { classes, hlm } from '@egose/shadcn-theme-ng/utils';
8
+ import { NgIcon, provideIcons } from '@ng-icons/core';
9
+ import { lucideX, lucideChevronDown, lucideCheck } from '@ng-icons/lucide';
10
+ import { buttonVariants, HlmBtn } from '@egose/shadcn-theme-ng/button';
11
+ import * as i2$1 from '@egose/shadcn-theme-ng/input-group';
12
+ import { HlmInputGroup, HlmInputGroupImports } from '@egose/shadcn-theme-ng/input-group';
13
+ import { BrnFieldControlDescribedBy } from '@spartan-ng/brain/field';
14
+
15
+ class HlmCombobox {
16
+ constructor() {
17
+ classes(() => "block");
18
+ }
19
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmCombobox, deps: [], target: i0.ɵɵFactoryTarget.Directive });
20
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmCombobox, isStandalone: true, selector: "[hlmCombobox],hlm-combobox", host: { attributes: { "data-slot": "combobox" } }, providers: [
21
+ provideBrnPopoverConfig({
22
+ align: 'start',
23
+ sideOffset: 6,
24
+ }),
25
+ provideBrnPopoverDefaultOptions({ role: null }),
26
+ ], hostDirectives: [{ directive: i1.BrnCombobox, inputs: ["autoHighlight", "autoHighlight", "disabled", "disabled", "filter", "filter", "search", "search", "value", "value", "itemToString", "itemToString", "filterOptions", "filterOptions", "isItemEqualToValue", "isItemEqualToValue"], outputs: ["searchChange", "searchChange", "valueChange", "valueChange"] }, { directive: i2.BrnPopover, inputs: ["align", "align", "closeOnOutsidePointerEvents", "closeOnOutsidePointerEvents", "sideOffset", "sideOffset", "state", "state", "offsetX", "offsetX"], outputs: ["stateChanged", "stateChanged", "closed", "closed"] }], ngImport: i0 });
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmCombobox, decorators: [{
29
+ type: Directive,
30
+ args: [{
31
+ selector: '[hlmCombobox],hlm-combobox',
32
+ providers: [
33
+ provideBrnPopoverConfig({
34
+ align: 'start',
35
+ sideOffset: 6,
36
+ }),
37
+ provideBrnPopoverDefaultOptions({ role: null }),
38
+ ],
39
+ hostDirectives: [
40
+ {
41
+ directive: BrnCombobox,
42
+ inputs: [
43
+ 'autoHighlight',
44
+ 'disabled',
45
+ 'filter',
46
+ 'search',
47
+ 'value',
48
+ 'itemToString',
49
+ 'filterOptions',
50
+ 'isItemEqualToValue',
51
+ ],
52
+ outputs: ['searchChange', 'valueChange'],
53
+ },
54
+ {
55
+ directive: BrnPopover,
56
+ inputs: ['align', 'closeOnOutsidePointerEvents', 'sideOffset', 'state', 'offsetX'],
57
+ outputs: ['stateChanged', 'closed'],
58
+ },
59
+ ],
60
+ host: { 'data-slot': 'combobox' },
61
+ }]
62
+ }], ctorParameters: () => [] });
63
+
64
+ class HlmComboboxChipRemove {
65
+ constructor() {
66
+ classes(() => ["-ms-1 opacity-50 hover:opacity-100", buttonVariants({ variant: 'ghost', size: 'icon-xs' })]);
67
+ }
68
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxChipRemove, deps: [], target: i0.ɵɵFactoryTarget.Directive });
69
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmComboboxChipRemove, isStandalone: true, selector: "button[hlmComboboxChipRemove]", host: { attributes: { "data-slot": "combobox-chip-remove" } }, hostDirectives: [{ directive: i1.BrnComboboxChipRemove }], ngImport: i0 });
70
+ }
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxChipRemove, decorators: [{
72
+ type: Directive,
73
+ args: [{
74
+ selector: 'button[hlmComboboxChipRemove]',
75
+ hostDirectives: [BrnComboboxChipRemove],
76
+ host: { 'data-slot': 'combobox-chip-remove' },
77
+ }]
78
+ }], ctorParameters: () => [] });
79
+
80
+ class HlmComboboxChip {
81
+ showRemove = input(true, { ...(ngDevMode ? { debugName: "showRemove" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
82
+ constructor() {
83
+ classes(() => "bg-muted text-foreground flex h-[calc(--spacing(5.5))] w-fit items-center justify-center gap-1 rounded-sm px-1.5 text-xs font-medium whitespace-nowrap has-data-[slot=combobox-chip-remove]:pe-0 has-disabled:pointer-events-none has-disabled:cursor-not-allowed has-disabled:opacity-50");
84
+ }
85
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxChip, deps: [], target: i0.ɵɵFactoryTarget.Component });
86
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.3", type: HlmComboboxChip, isStandalone: true, selector: "hlm-combobox-chip", inputs: { showRemove: { classPropertyName: "showRemove", publicName: "showRemove", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "combobox-chip" } }, providers: [provideIcons({ lucideX })], hostDirectives: [{ directive: i1.BrnComboboxChip, inputs: ["value", "value"] }], ngImport: i0, template: `
87
+ <ng-content />
88
+
89
+ @if (showRemove()) {
90
+ <button hlmComboboxChipRemove>
91
+ <ng-icon name="lucideX" />
92
+ </button>
93
+ }
94
+ `, isInline: true, dependencies: [{ kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: HlmComboboxChipRemove, selector: "button[hlmComboboxChipRemove]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
95
+ }
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxChip, decorators: [{
97
+ type: Component,
98
+ args: [{
99
+ selector: 'hlm-combobox-chip',
100
+ imports: [NgIcon, HlmComboboxChipRemove],
101
+ providers: [provideIcons({ lucideX })],
102
+ changeDetection: ChangeDetectionStrategy.OnPush,
103
+ hostDirectives: [{ directive: BrnComboboxChip, inputs: ['value'] }],
104
+ host: { 'data-slot': 'combobox-chip' },
105
+ template: `
106
+ <ng-content />
107
+
108
+ @if (showRemove()) {
109
+ <button hlmComboboxChipRemove>
110
+ <ng-icon name="lucideX" />
111
+ </button>
112
+ }
113
+ `,
114
+ }]
115
+ }], ctorParameters: () => [], propDecorators: { showRemove: [{ type: i0.Input, args: [{ isSignal: true, alias: "showRemove", required: false }] }] } });
116
+
117
+ class HlmComboboxChipInput {
118
+ constructor() {
119
+ classes(() => "placeholder:text-muted-foreground min-w-16 flex-1 outline-none");
120
+ }
121
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxChipInput, deps: [], target: i0.ɵɵFactoryTarget.Directive });
122
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmComboboxChipInput, isStandalone: true, selector: "input[hlmComboboxChipInput]", host: { attributes: { "data-slot": "combobox-chip-input" } }, hostDirectives: [{ directive: i1.BrnComboboxChipInput, inputs: ["id", "id", "aria-invalid", "aria-invalid"] }], ngImport: i0 });
123
+ }
124
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxChipInput, decorators: [{
125
+ type: Directive,
126
+ args: [{
127
+ selector: 'input[hlmComboboxChipInput]',
128
+ hostDirectives: [{ directive: BrnComboboxChipInput, inputs: ['id', 'aria-invalid'] }],
129
+ host: { 'data-slot': 'combobox-chip-input' },
130
+ }]
131
+ }], ctorParameters: () => [] });
132
+
133
+ class HlmComboboxChips {
134
+ _combobox = injectBrnComboboxBase();
135
+ forceInvalid = input(false, { ...(ngDevMode ? { debugName: "forceInvalid" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
136
+ _spartanInvalid = computed(() => this.forceInvalid() || this._combobox.controlState?.()?.spartanInvalid, /* @ts-ignore */
137
+ ...(ngDevMode ? [{ debugName: "_spartanInvalid" }] : /* istanbul ignore next */ []));
138
+ constructor() {
139
+ classes(() => "dark:bg-input/30 border-input focus-within:border-ring focus-within:ring-ring/50 data-[matches-spartan-invalid=true]:ring-destructive/20 dark:data-[matches-spartan-invalid=true]:ring-destructive/40 data-[matches-spartan-invalid=true]:border-destructive dark:data-[matches-spartan-invalid=true]:border-destructive/50 flex min-h-9 flex-wrap items-center gap-1.5 rounded-md border bg-transparent bg-clip-padding px-2.5 py-1.5 text-sm shadow-xs transition-[color,box-shadow] focus-within:ring-3 has-data-[slot=combobox-chip]:px-1.5 data-[matches-spartan-invalid=true]:ring-3");
140
+ }
141
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxChips, deps: [], target: i0.ɵɵFactoryTarget.Directive });
142
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.3", type: HlmComboboxChips, isStandalone: true, selector: "[hlmComboboxChips],hlm-combobox-chips", inputs: { forceInvalid: { classPropertyName: "forceInvalid", publicName: "forceInvalid", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "combobox-chips" }, properties: { "attr.data-matches-spartan-invalid": "_spartanInvalid() ? \"true\" : null" } }, hostDirectives: [{ directive: i1.BrnComboboxAnchor }, { directive: i1.BrnComboboxPopoverTrigger }], ngImport: i0 });
143
+ }
144
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxChips, decorators: [{
145
+ type: Directive,
146
+ args: [{
147
+ selector: '[hlmComboboxChips],hlm-combobox-chips',
148
+ hostDirectives: [BrnComboboxAnchor, BrnComboboxPopoverTrigger],
149
+ host: {
150
+ 'data-slot': 'combobox-chips',
151
+ '[attr.data-matches-spartan-invalid]': '_spartanInvalid() ? "true" : null',
152
+ },
153
+ }]
154
+ }], ctorParameters: () => [], propDecorators: { forceInvalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "forceInvalid", required: false }] }] } });
155
+
156
+ class HlmComboboxContent {
157
+ constructor() {
158
+ classes(() => [
159
+ "bg-popover text-popover-foreground data-open:animate-in **:has-[[data-slot=input-group-control]:focus-visible]:border-input data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 **:data-[slot=input-group]:bg-input/30 **:data-[slot=input-group]:border-input/30 max-h-72 min-w-36 overflow-hidden rounded-md shadow-md ring-1 duration-100 **:has-[[data-slot=input-group-control]:focus-visible]:ring-0 **:data-[slot=input-group]:m-1 **:data-[slot=input-group]:mb-0 **:data-[slot=input-group]:h-8 **:data-[slot=input-group]:shadow-none group/combobox-content relative flex w-(--brn-combobox-width) flex-col p-0",
160
+ ]);
161
+ }
162
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxContent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
163
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmComboboxContent, isStandalone: true, selector: "[hlmComboboxContent],hlm-combobox-content", hostDirectives: [{ directive: i1.BrnComboboxContent }], ngImport: i0 });
164
+ }
165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxContent, decorators: [{
166
+ type: Directive,
167
+ args: [{
168
+ selector: '[hlmComboboxContent],hlm-combobox-content',
169
+ hostDirectives: [BrnComboboxContent],
170
+ }]
171
+ }], ctorParameters: () => [] });
172
+
173
+ class HlmComboboxEmpty {
174
+ constructor() {
175
+ classes(() => "text-muted-foreground hidden w-full items-center justify-center gap-2 py-2 text-center text-sm group-data-empty/combobox-content:flex");
176
+ }
177
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxEmpty, deps: [], target: i0.ɵɵFactoryTarget.Directive });
178
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmComboboxEmpty, isStandalone: true, selector: "[hlmComboboxEmpty],hlm-combobox-empty", host: { attributes: { "data-slot": "combobox-empty" } }, hostDirectives: [{ directive: i1.BrnComboboxEmpty }], ngImport: i0 });
179
+ }
180
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxEmpty, decorators: [{
181
+ type: Directive,
182
+ args: [{
183
+ selector: '[hlmComboboxEmpty],hlm-combobox-empty',
184
+ hostDirectives: [BrnComboboxEmpty],
185
+ host: { 'data-slot': 'combobox-empty' },
186
+ }]
187
+ }], ctorParameters: () => [] });
188
+
189
+ class HlmComboboxGroup {
190
+ constructor() {
191
+ classes(() => "data-hidden:hidden");
192
+ }
193
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive });
194
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmComboboxGroup, isStandalone: true, selector: "[hlmComboboxGroup]", host: { attributes: { "data-slot": "combobox-group" } }, hostDirectives: [{ directive: i1.BrnComboboxGroup }], ngImport: i0 });
195
+ }
196
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxGroup, decorators: [{
197
+ type: Directive,
198
+ args: [{
199
+ selector: '[hlmComboboxGroup]',
200
+ hostDirectives: [BrnComboboxGroup],
201
+ host: { 'data-slot': 'combobox-group' },
202
+ }]
203
+ }], ctorParameters: () => [] });
204
+
205
+ class HlmComboboxInput {
206
+ static _id = 0;
207
+ inputId = input(`hlm-combobox-input-${HlmComboboxInput._id++}`, /* @ts-ignore */
208
+ ...(ngDevMode ? [{ debugName: "inputId" }] : /* istanbul ignore next */ []));
209
+ placeholder = input('', /* @ts-ignore */
210
+ ...(ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []));
211
+ showTrigger = input(true, { ...(ngDevMode ? { debugName: "showTrigger" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
212
+ showClear = input(false, { ...(ngDevMode ? { debugName: "showClear" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
213
+ forceInvalid = input(false, { ...(ngDevMode ? { debugName: "forceInvalid" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
214
+ /** Manual override for aria-invalid. When not set, auto-detects from the parent combobox error state. */
215
+ ariaInvalidOverride = input(undefined, { ...(ngDevMode ? { debugName: "ariaInvalidOverride" } : /* istanbul ignore next */ {}), transform: (v) => (v === '' || v === undefined ? undefined : booleanAttribute(v)),
216
+ alias: 'aria-invalid' });
217
+ constructor() {
218
+ classes(() => "w-auto");
219
+ }
220
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxInput, deps: [], target: i0.ɵɵFactoryTarget.Component });
221
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.3", type: HlmComboboxInput, isStandalone: true, selector: "hlm-combobox-input", inputs: { inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, showTrigger: { classPropertyName: "showTrigger", publicName: "showTrigger", isSignal: true, isRequired: false, transformFunction: null }, showClear: { classPropertyName: "showClear", publicName: "showClear", 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 } }, providers: [provideIcons({ lucideChevronDown, lucideX })], hostDirectives: [{ directive: i1.BrnComboboxAnchor }, { directive: i2$1.HlmInputGroup }], ngImport: i0, template: "\n <input\n brnComboboxInput\n #comboboxInput=\"brnComboboxInput\"\n brnComboboxPopoverTrigger\n [closeOnTriggerClick]=\"false\"\n hlmInputGroupInput\n [id]=\"inputId()\"\n [placeholder]=\"placeholder()\"\n [forceInvalid]=\"forceInvalid()\"\n [aria-invalid]=\"ariaInvalidOverride()\"\n />\n\n <hlm-input-group-addon align=\"inline-end\">\n @if (showTrigger()) {\n <button\n brnComboboxPopoverTrigger\n hlmInputGroupButton\n data-slot=\"input-group-button\"\n [disabled]=\"comboboxInput.disabled()\"\n size=\"icon-xs\"\n variant=\"ghost\"\n class=\"group-has-data-[slot=combobox-clear]/input-group:hidden data-pressed:bg-transparent\"\n >\n <ng-icon name=\"lucideChevronDown\" />\n </button>\n }\n\n @if (showClear()) {\n <button\n *brnComboboxClear\n hlmInputGroupButton\n data-slot=\"combobox-clear\"\n [disabled]=\"comboboxInput.disabled()\"\n size=\"icon-xs\"\n variant=\"ghost\"\n >\n <ng-icon name=\"lucideX\" />\n </button>\n }\n </hlm-input-group-addon>\n\n <ng-content />\n ", isInline: true, dependencies: [{ kind: "directive", type: i2$1.HlmInputGroupAddon, selector: "[hlmInputGroupAddon],hlm-input-group-addon", inputs: ["align"] }, { kind: "directive", type: i2$1.HlmInputGroupButton, selector: "button[hlmInputGroupButton]", inputs: ["size", "type"] }, { kind: "directive", type: i2$1.HlmInputGroupInput, selector: "input[hlmInputGroupInput]" }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: i1.BrnComboboxClear, selector: "[brnComboboxClear]" }, { kind: "directive", type: i1.BrnComboboxInput, selector: "input[brnComboboxInput]", inputs: ["id", "aria-invalid", "forceInvalid"], exportAs: ["brnComboboxInput"] }, { kind: "directive", type: i1.BrnComboboxPopoverTrigger, selector: "[brnComboboxPopoverTrigger]", inputs: ["closeOnTriggerClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
222
+ }
223
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxInput, decorators: [{
224
+ type: Component,
225
+ args: [{
226
+ selector: 'hlm-combobox-input',
227
+ imports: [HlmInputGroupImports, NgIcon, BrnComboboxImports, BrnComboboxPopoverTrigger],
228
+ providers: [provideIcons({ lucideChevronDown, lucideX })],
229
+ changeDetection: ChangeDetectionStrategy.OnPush,
230
+ hostDirectives: [BrnComboboxAnchor, HlmInputGroup],
231
+ template: "\n <input\n brnComboboxInput\n #comboboxInput=\"brnComboboxInput\"\n brnComboboxPopoverTrigger\n [closeOnTriggerClick]=\"false\"\n hlmInputGroupInput\n [id]=\"inputId()\"\n [placeholder]=\"placeholder()\"\n [forceInvalid]=\"forceInvalid()\"\n [aria-invalid]=\"ariaInvalidOverride()\"\n />\n\n <hlm-input-group-addon align=\"inline-end\">\n @if (showTrigger()) {\n <button\n brnComboboxPopoverTrigger\n hlmInputGroupButton\n data-slot=\"input-group-button\"\n [disabled]=\"comboboxInput.disabled()\"\n size=\"icon-xs\"\n variant=\"ghost\"\n class=\"group-has-data-[slot=combobox-clear]/input-group:hidden data-pressed:bg-transparent\"\n >\n <ng-icon name=\"lucideChevronDown\" />\n </button>\n }\n\n @if (showClear()) {\n <button\n *brnComboboxClear\n hlmInputGroupButton\n data-slot=\"combobox-clear\"\n [disabled]=\"comboboxInput.disabled()\"\n size=\"icon-xs\"\n variant=\"ghost\"\n >\n <ng-icon name=\"lucideX\" />\n </button>\n }\n </hlm-input-group-addon>\n\n <ng-content />\n ",
232
+ }]
233
+ }], ctorParameters: () => [], propDecorators: { inputId: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputId", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], showTrigger: [{ type: i0.Input, args: [{ isSignal: true, alias: "showTrigger", required: false }] }], showClear: [{ type: i0.Input, args: [{ isSignal: true, alias: "showClear", 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 }] }] } });
234
+
235
+ class HlmComboboxItem {
236
+ _brnComboboxItem = inject(BrnComboboxItem);
237
+ _active = this._brnComboboxItem.active;
238
+ constructor() {
239
+ classes(() => "data-highlighted:bg-accent data-highlighted:text-accent-foreground not-data-[variant=destructive]:data-highlighted:**:text-accent-foreground gap-2 rounded-sm py-1.5 ps-2 pe-8 text-sm relative flex w-full cursor-default items-center outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-hidden:hidden [&_ng-icon]:pointer-events-none [&_ng-icon]:shrink-0");
240
+ }
241
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxItem, deps: [], target: i0.ɵɵFactoryTarget.Component });
242
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.3", type: HlmComboboxItem, isStandalone: true, selector: "hlm-combobox-item", host: { attributes: { "data-slot": "combobox-item" } }, providers: [provideIcons({ lucideCheck })], hostDirectives: [{ directive: i1.BrnComboboxItem, inputs: ["id", "id", "disabled", "disabled", "value", "value"] }], ngImport: i0, template: "\n <ng-content />\n @if (_active()) {\n <ng-icon\n name=\"lucideCheck\"\n class=\"absolute end-2 flex items-center justify-center text-[length:--spacing(4)]\"\n aria-hidden=\"true\"\n />\n }\n ", isInline: true, dependencies: [{ kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
243
+ }
244
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxItem, decorators: [{
245
+ type: Component,
246
+ args: [{
247
+ selector: 'hlm-combobox-item',
248
+ imports: [NgIcon],
249
+ providers: [provideIcons({ lucideCheck })],
250
+ changeDetection: ChangeDetectionStrategy.OnPush,
251
+ hostDirectives: [{ directive: BrnComboboxItem, inputs: ['id', 'disabled', 'value'] }],
252
+ host: { 'data-slot': 'combobox-item' },
253
+ template: "\n <ng-content />\n @if (_active()) {\n <ng-icon\n name=\"lucideCheck\"\n class=\"absolute end-2 flex items-center justify-center text-[length:--spacing(4)]\"\n aria-hidden=\"true\"\n />\n }\n ",
254
+ }]
255
+ }], ctorParameters: () => [] });
256
+
257
+ class HlmComboboxLabel {
258
+ constructor() {
259
+ classes(() => "text-muted-foreground px-2 py-1.5 text-xs");
260
+ }
261
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxLabel, deps: [], target: i0.ɵɵFactoryTarget.Directive });
262
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmComboboxLabel, isStandalone: true, selector: "[hlmComboboxLabel]", host: { attributes: { "data-slot": "combobox-label" } }, hostDirectives: [{ directive: i1.BrnComboboxLabel, inputs: ["id", "id"] }], ngImport: i0 });
263
+ }
264
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxLabel, decorators: [{
265
+ type: Directive,
266
+ args: [{
267
+ selector: '[hlmComboboxLabel]',
268
+ hostDirectives: [{ directive: BrnComboboxLabel, inputs: ['id'] }],
269
+ host: { 'data-slot': 'combobox-label' },
270
+ }]
271
+ }], ctorParameters: () => [] });
272
+
273
+ class HlmComboboxList {
274
+ constructor() {
275
+ classes(() => "no-scrollbar max-h-[calc(--spacing(72)---spacing(9))] scroll-py-1 p-1 data-empty:p-0 overflow-y-auto overscroll-contain");
276
+ }
277
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxList, deps: [], target: i0.ɵɵFactoryTarget.Directive });
278
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmComboboxList, isStandalone: true, selector: "[hlmComboboxList]", host: { attributes: { "data-slot": "combobox-list" } }, hostDirectives: [{ directive: i1.BrnComboboxList, inputs: ["id", "id"] }], ngImport: i0 });
279
+ }
280
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxList, decorators: [{
281
+ type: Directive,
282
+ args: [{
283
+ selector: '[hlmComboboxList]',
284
+ hostDirectives: [{ directive: BrnComboboxList, inputs: ['id'] }],
285
+ host: { 'data-slot': 'combobox-list' },
286
+ }]
287
+ }], ctorParameters: () => [] });
288
+
289
+ class HlmComboboxMultiple {
290
+ constructor() {
291
+ classes(() => "block");
292
+ }
293
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxMultiple, deps: [], target: i0.ɵɵFactoryTarget.Directive });
294
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmComboboxMultiple, isStandalone: true, selector: "[hlmComboboxMultiple],hlm-combobox-multiple", host: { attributes: { "data-slot": "combobox" } }, providers: [
295
+ provideBrnPopoverConfig({
296
+ align: 'start',
297
+ sideOffset: 6,
298
+ }),
299
+ provideBrnPopoverDefaultOptions({ role: null }),
300
+ ], hostDirectives: [{ directive: i1.BrnComboboxMultiple, inputs: ["autoHighlight", "autoHighlight", "disabled", "disabled", "filter", "filter", "search", "search", "value", "value", "itemToString", "itemToString", "filterOptions", "filterOptions", "isItemEqualToValue", "isItemEqualToValue"], outputs: ["searchChange", "searchChange", "valueChange", "valueChange"] }, { directive: i2.BrnPopover, inputs: ["align", "align", "closeOnOutsidePointerEvents", "closeOnOutsidePointerEvents", "sideOffset", "sideOffset", "state", "state", "offsetX", "offsetX"], outputs: ["stateChanged", "stateChanged", "closed", "closed"] }], ngImport: i0 });
301
+ }
302
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxMultiple, decorators: [{
303
+ type: Directive,
304
+ args: [{
305
+ selector: '[hlmComboboxMultiple],hlm-combobox-multiple',
306
+ providers: [
307
+ provideBrnPopoverConfig({
308
+ align: 'start',
309
+ sideOffset: 6,
310
+ }),
311
+ provideBrnPopoverDefaultOptions({ role: null }),
312
+ ],
313
+ hostDirectives: [
314
+ {
315
+ directive: BrnComboboxMultiple,
316
+ inputs: [
317
+ 'autoHighlight',
318
+ 'disabled',
319
+ 'filter',
320
+ 'search',
321
+ 'value',
322
+ 'itemToString',
323
+ 'filterOptions',
324
+ 'isItemEqualToValue',
325
+ ],
326
+ outputs: ['searchChange', 'valueChange'],
327
+ },
328
+ {
329
+ directive: BrnPopover,
330
+ inputs: ['align', 'closeOnOutsidePointerEvents', 'sideOffset', 'state', 'offsetX'],
331
+ outputs: ['stateChanged', 'closed'],
332
+ },
333
+ ],
334
+ host: { 'data-slot': 'combobox' },
335
+ }]
336
+ }], ctorParameters: () => [] });
337
+
338
+ class HlmComboboxPlaceholder {
339
+ constructor() {
340
+ classes(() => "gap-2 [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)] flex items-center data-hidden:hidden [&_ng-icon]:pointer-events-none [&_ng-icon]:shrink-0");
341
+ }
342
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxPlaceholder, deps: [], target: i0.ɵɵFactoryTarget.Directive });
343
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmComboboxPlaceholder, isStandalone: true, selector: "[hlmComboboxPlaceholder],hlm-combobox-placeholder", host: { attributes: { "data-slot": "combobox-placeholder" } }, hostDirectives: [{ directive: i1.BrnComboboxPlaceholder }], ngImport: i0 });
344
+ }
345
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxPlaceholder, decorators: [{
346
+ type: Directive,
347
+ args: [{
348
+ selector: '[hlmComboboxPlaceholder],hlm-combobox-placeholder',
349
+ hostDirectives: [BrnComboboxPlaceholder],
350
+ host: { 'data-slot': 'combobox-placeholder' },
351
+ }]
352
+ }], ctorParameters: () => [] });
353
+
354
+ class HlmComboboxPortal {
355
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxPortal, deps: [], target: i0.ɵɵFactoryTarget.Directive });
356
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmComboboxPortal, isStandalone: true, selector: "[hlmComboboxPortal]", hostDirectives: [{ directive: i2.BrnPopoverContent, inputs: ["context", "context", "class", "class"] }], ngImport: i0 });
357
+ }
358
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxPortal, decorators: [{
359
+ type: Directive,
360
+ args: [{
361
+ selector: '[hlmComboboxPortal]',
362
+ hostDirectives: [{ directive: BrnPopoverContent, inputs: ['context', 'class'] }],
363
+ }]
364
+ }] });
365
+
366
+ class HlmComboboxSeparator {
367
+ constructor() {
368
+ classes(() => "bg-border -mx-1 my-1 h-px");
369
+ }
370
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxSeparator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
371
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmComboboxSeparator, isStandalone: true, selector: "[hlmComboboxSeparator]", host: { attributes: { "data-slot": "combobox-separator" } }, hostDirectives: [{ directive: i1.BrnComboboxSeparator, inputs: ["orientation", "orientation"] }], ngImport: i0 });
372
+ }
373
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxSeparator, decorators: [{
374
+ type: Directive,
375
+ args: [{
376
+ selector: '[hlmComboboxSeparator]',
377
+ hostDirectives: [{ directive: BrnComboboxSeparator, inputs: ['orientation'] }],
378
+ host: { 'data-slot': 'combobox-separator' },
379
+ }]
380
+ }], ctorParameters: () => [] });
381
+
382
+ class HlmComboboxStatus {
383
+ constructor() {
384
+ classes(() => "text-muted-foreground gap-2 px-3 py-2 text-sm flex w-full items-center justify-center text-center");
385
+ }
386
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxStatus, deps: [], target: i0.ɵɵFactoryTarget.Directive });
387
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmComboboxStatus, isStandalone: true, selector: "[hlmComboboxStatus],hlm-combobox-status", host: { attributes: { "data-slot": "combobox-status" } }, hostDirectives: [{ directive: i1.BrnComboboxStatus }], ngImport: i0 });
388
+ }
389
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxStatus, decorators: [{
390
+ type: Directive,
391
+ args: [{
392
+ selector: '[hlmComboboxStatus],hlm-combobox-status',
393
+ hostDirectives: [BrnComboboxStatus],
394
+ host: { 'data-slot': 'combobox-status' },
395
+ }]
396
+ }], ctorParameters: () => [] });
397
+
398
+ class HlmComboboxTrigger {
399
+ static _id = 0;
400
+ userClass = input('', { ...(ngDevMode ? { debugName: "userClass" } : /* istanbul ignore next */ {}), alias: 'class' });
401
+ _computedClass = computed(() => hlm("data-placeholder:text-muted-foreground", this.userClass()), /* @ts-ignore */
402
+ ...(ngDevMode ? [{ debugName: "_computedClass" }] : /* istanbul ignore next */ []));
403
+ buttonId = input(`hlm-combobox-trigger-${HlmComboboxTrigger._id++}`, /* @ts-ignore */
404
+ ...(ngDevMode ? [{ debugName: "buttonId" }] : /* istanbul ignore next */ []));
405
+ variant = input('outline', /* @ts-ignore */
406
+ ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
407
+ forceInvalid = input(false, { ...(ngDevMode ? { debugName: "forceInvalid" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
408
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxTrigger, deps: [], target: i0.ɵɵFactoryTarget.Component });
409
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.3", type: HlmComboboxTrigger, isStandalone: true, selector: "hlm-combobox-trigger", inputs: { userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, buttonId: { classPropertyName: "buttonId", publicName: "buttonId", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, forceInvalid: { classPropertyName: "forceInvalid", publicName: "forceInvalid", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideIcons({ lucideChevronDown })], ngImport: i0, template: "\n <button\n brnComboboxTrigger\n brnComboboxAnchor\n brnComboboxPopoverTrigger\n brnFieldControlDescribedBy\n hlmBtn\n data-slot=\"combobox-trigger\"\n [id]=\"buttonId()\"\n [class]=\"_computedClass()\"\n [variant]=\"variant()\"\n [forceInvalid]=\"forceInvalid()\"\n >\n <ng-content />\n <ng-icon name=\"lucideChevronDown\" class=\"text-muted-foreground text-[length:--spacing(4)]\" />\n </button>\n ", isInline: true, dependencies: [{ kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: HlmBtn, selector: "button[hlmBtn], a[hlmBtn]", inputs: ["variant", "size", "class", "type"], exportAs: ["hlmBtn"] }, { kind: "directive", type: BrnComboboxAnchor, selector: "[brnComboboxAnchor]" }, { kind: "directive", type: BrnComboboxTrigger, selector: "button[brnComboboxTrigger]", inputs: ["forceInvalid"] }, { kind: "directive", type: BrnComboboxPopoverTrigger, selector: "[brnComboboxPopoverTrigger]", inputs: ["closeOnTriggerClick"] }, { kind: "directive", type: BrnFieldControlDescribedBy, selector: "[brnFieldControlDescribedBy]", inputs: ["aria-describedby"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
410
+ }
411
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxTrigger, decorators: [{
412
+ type: Component,
413
+ args: [{
414
+ selector: 'hlm-combobox-trigger',
415
+ imports: [
416
+ NgIcon,
417
+ HlmBtn,
418
+ BrnComboboxAnchor,
419
+ BrnComboboxTrigger,
420
+ BrnComboboxPopoverTrigger,
421
+ BrnFieldControlDescribedBy,
422
+ ],
423
+ providers: [provideIcons({ lucideChevronDown })],
424
+ changeDetection: ChangeDetectionStrategy.OnPush,
425
+ template: "\n <button\n brnComboboxTrigger\n brnComboboxAnchor\n brnComboboxPopoverTrigger\n brnFieldControlDescribedBy\n hlmBtn\n data-slot=\"combobox-trigger\"\n [id]=\"buttonId()\"\n [class]=\"_computedClass()\"\n [variant]=\"variant()\"\n [forceInvalid]=\"forceInvalid()\"\n >\n <ng-content />\n <ng-icon name=\"lucideChevronDown\" class=\"text-muted-foreground text-[length:--spacing(4)]\" />\n </button>\n ",
426
+ }]
427
+ }], propDecorators: { userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], buttonId: [{ type: i0.Input, args: [{ isSignal: true, alias: "buttonId", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], forceInvalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "forceInvalid", required: false }] }] } });
428
+
429
+ class HlmComboboxValue {
430
+ constructor() {
431
+ classes(() => "data-hidden:hidden");
432
+ }
433
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxValue, deps: [], target: i0.ɵɵFactoryTarget.Directive });
434
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmComboboxValue, isStandalone: true, selector: "[hlmComboboxValue],hlm-combobox-value", host: { attributes: { "data-slot": "combobox-value" } }, hostDirectives: [{ directive: i1.BrnComboboxValue, inputs: ["placeholder", "placeholder"] }], ngImport: i0 });
435
+ }
436
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxValue, decorators: [{
437
+ type: Directive,
438
+ args: [{
439
+ selector: '[hlmComboboxValue],hlm-combobox-value',
440
+ hostDirectives: [{ directive: BrnComboboxValue, inputs: ['placeholder'] }],
441
+ host: { 'data-slot': 'combobox-value' },
442
+ }]
443
+ }], ctorParameters: () => [] });
444
+
445
+ class HlmComboboxValueTemplate {
446
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxValueTemplate, deps: [], target: i0.ɵɵFactoryTarget.Directive });
447
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmComboboxValueTemplate, isStandalone: true, selector: "[hlmComboboxValueTemplate]", hostDirectives: [{ directive: i1.BrnComboboxValueTemplate }], ngImport: i0 });
448
+ }
449
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxValueTemplate, decorators: [{
450
+ type: Directive,
451
+ args: [{ selector: '[hlmComboboxValueTemplate]', hostDirectives: [BrnComboboxValueTemplate] }]
452
+ }] });
453
+
454
+ class HlmComboboxValues {
455
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxValues, deps: [], target: i0.ɵɵFactoryTarget.Directive });
456
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmComboboxValues, isStandalone: true, selector: "[hlmComboboxValues]", hostDirectives: [{ directive: i1.BrnComboboxValues }], ngImport: i0 });
457
+ }
458
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxValues, decorators: [{
459
+ type: Directive,
460
+ args: [{ selector: '[hlmComboboxValues]', hostDirectives: [BrnComboboxValues] }]
461
+ }] });
462
+
463
+ /*
464
+ * Public API Surface of combobox
465
+ */
466
+ const HlmComboboxImports = [
467
+ HlmCombobox,
468
+ HlmComboboxChip,
469
+ HlmComboboxChipInput,
470
+ HlmComboboxChips,
471
+ HlmComboboxContent,
472
+ HlmComboboxEmpty,
473
+ HlmComboboxGroup,
474
+ HlmComboboxInput,
475
+ HlmComboboxItem,
476
+ HlmComboboxLabel,
477
+ HlmComboboxList,
478
+ HlmComboboxMultiple,
479
+ HlmComboboxPlaceholder,
480
+ HlmComboboxPortal,
481
+ HlmComboboxSeparator,
482
+ HlmComboboxStatus,
483
+ HlmComboboxTrigger,
484
+ HlmComboboxValue,
485
+ HlmComboboxValueTemplate,
486
+ HlmComboboxValues,
487
+ ];
488
+ class HlmComboboxModule {
489
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
490
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxModule, imports: [HlmCombobox,
491
+ HlmComboboxChip,
492
+ HlmComboboxChipInput,
493
+ HlmComboboxChips,
494
+ HlmComboboxContent,
495
+ HlmComboboxEmpty,
496
+ HlmComboboxGroup,
497
+ HlmComboboxInput,
498
+ HlmComboboxItem,
499
+ HlmComboboxLabel,
500
+ HlmComboboxList,
501
+ HlmComboboxMultiple,
502
+ HlmComboboxPlaceholder,
503
+ HlmComboboxPortal,
504
+ HlmComboboxSeparator,
505
+ HlmComboboxStatus,
506
+ HlmComboboxTrigger,
507
+ HlmComboboxValue,
508
+ HlmComboboxValueTemplate,
509
+ HlmComboboxValues], exports: [HlmCombobox,
510
+ HlmComboboxChip,
511
+ HlmComboboxChipInput,
512
+ HlmComboboxChips,
513
+ HlmComboboxContent,
514
+ HlmComboboxEmpty,
515
+ HlmComboboxGroup,
516
+ HlmComboboxInput,
517
+ HlmComboboxItem,
518
+ HlmComboboxLabel,
519
+ HlmComboboxList,
520
+ HlmComboboxMultiple,
521
+ HlmComboboxPlaceholder,
522
+ HlmComboboxPortal,
523
+ HlmComboboxSeparator,
524
+ HlmComboboxStatus,
525
+ HlmComboboxTrigger,
526
+ HlmComboboxValue,
527
+ HlmComboboxValueTemplate,
528
+ HlmComboboxValues] });
529
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxModule, imports: [HlmComboboxChip,
530
+ HlmComboboxInput,
531
+ HlmComboboxItem,
532
+ HlmComboboxTrigger] });
533
+ }
534
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmComboboxModule, decorators: [{
535
+ type: NgModule,
536
+ args: [{
537
+ imports: [...HlmComboboxImports],
538
+ exports: [...HlmComboboxImports],
539
+ }]
540
+ }] });
541
+
542
+ /**
543
+ * Generated bundle index. Do not edit.
544
+ */
545
+
546
+ export { HlmCombobox, HlmComboboxChip, HlmComboboxChipInput, HlmComboboxChips, HlmComboboxContent, HlmComboboxEmpty, HlmComboboxGroup, HlmComboboxImports, HlmComboboxInput, HlmComboboxItem, HlmComboboxLabel, HlmComboboxList, HlmComboboxModule, HlmComboboxMultiple, HlmComboboxPlaceholder, HlmComboboxPortal, HlmComboboxSeparator, HlmComboboxStatus, HlmComboboxTrigger, HlmComboboxValue, HlmComboboxValueTemplate, HlmComboboxValues };
547
+
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "combobox",
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/combobox.mjs",
14
+ "typings": "types/combobox.d.ts",
15
+ "exports": {
16
+ "./package.json": {
17
+ "default": "./package.json"
18
+ },
19
+ ".": {
20
+ "types": "./types/combobox.d.ts",
21
+ "default": "./fesm2022/combobox.mjs"
22
+ }
23
+ },
24
+ "type": "module"
25
+ }