@egose/shadcn-theme-ng 0.0.27 → 0.0.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (334) hide show
  1. package/accordion/README.md +64 -0
  2. package/accordion/fesm2022/accordion.mjs +160 -0
  3. package/accordion/fesm2022/accordion.mjs.map +1 -0
  4. package/accordion/package.json +25 -0
  5. package/accordion/types/accordion.d.ts +49 -0
  6. package/alert/fesm2022/alert.mjs +29 -24
  7. package/alert/fesm2022/alert.mjs.map +1 -1
  8. package/alert/package.json +25 -0
  9. package/alert-dialog/README.md +11 -0
  10. package/alert-dialog/fesm2022/alert-dialog.mjs +287 -0
  11. package/alert-dialog/fesm2022/alert-dialog.mjs.map +1 -0
  12. package/alert-dialog/package.json +25 -0
  13. package/alert-dialog/types/alert-dialog.d.ts +90 -0
  14. package/aspect-ratio/README.md +11 -0
  15. package/aspect-ratio/fesm2022/aspect-ratio.mjs +62 -0
  16. package/aspect-ratio/fesm2022/aspect-ratio.mjs.map +1 -0
  17. package/aspect-ratio/package.json +25 -0
  18. package/aspect-ratio/types/aspect-ratio.d.ts +21 -0
  19. package/autocomplete/README.md +64 -0
  20. package/autocomplete/fesm2022/autocomplete.mjs +409 -0
  21. package/autocomplete/fesm2022/autocomplete.mjs.map +1 -0
  22. package/autocomplete/package.json +24 -0
  23. package/autocomplete/types/autocomplete.d.ts +96 -0
  24. package/avatar/README.md +11 -0
  25. package/avatar/fesm2022/avatar.mjs +178 -0
  26. package/avatar/fesm2022/avatar.mjs.map +1 -0
  27. package/avatar/package.json +25 -0
  28. package/avatar/types/avatar.d.ts +50 -0
  29. package/badge/fesm2022/badge.mjs +15 -9
  30. package/badge/fesm2022/badge.mjs.map +1 -1
  31. package/badge/package.json +25 -0
  32. package/basic-alert/fesm2022/basic-alert.mjs +11 -7
  33. package/basic-alert/fesm2022/basic-alert.mjs.map +1 -1
  34. package/basic-alert/package.json +24 -0
  35. package/breadcrumb/README.md +11 -0
  36. package/breadcrumb/fesm2022/breadcrumb.mjs +224 -0
  37. package/breadcrumb/fesm2022/breadcrumb.mjs.map +1 -0
  38. package/breadcrumb/package.json +25 -0
  39. package/breadcrumb/types/breadcrumb.d.ts +57 -0
  40. package/button/fesm2022/button.mjs +99 -25
  41. package/button/fesm2022/button.mjs.map +1 -1
  42. package/button/package.json +25 -0
  43. package/button/{index.d.ts → types/button.d.ts} +30 -9
  44. package/button-group/README.md +11 -0
  45. package/button-group/fesm2022/button-group.mjs +102 -0
  46. package/button-group/fesm2022/button-group.mjs.map +1 -0
  47. package/button-group/package.json +25 -0
  48. package/button-group/types/button-group.d.ts +30 -0
  49. package/calendar/fesm2022/calendar.mjs +868 -546
  50. package/calendar/fesm2022/calendar.mjs.map +1 -1
  51. package/calendar/package.json +24 -0
  52. package/calendar/types/calendar.d.ts +94 -0
  53. package/card/README.md +11 -0
  54. package/card/fesm2022/card.mjs +169 -0
  55. package/card/fesm2022/card.mjs.map +1 -0
  56. package/card/package.json +25 -0
  57. package/card/types/card.d.ts +54 -0
  58. package/carousel/README.md +11 -0
  59. package/carousel/fesm2022/carousel.mjs +309 -0
  60. package/carousel/fesm2022/carousel.mjs.map +1 -0
  61. package/carousel/package.json +25 -0
  62. package/carousel/types/carousel.d.ts +84 -0
  63. package/checkbox/README.md +64 -0
  64. package/checkbox/fesm2022/checkbox.mjs +151 -0
  65. package/checkbox/fesm2022/checkbox.mjs.map +1 -0
  66. package/checkbox/package.json +24 -0
  67. package/checkbox/types/checkbox.d.ts +55 -0
  68. package/collapsible/README.md +11 -0
  69. package/collapsible/fesm2022/collapsible.mjs +77 -0
  70. package/collapsible/fesm2022/collapsible.mjs.map +1 -0
  71. package/collapsible/package.json +25 -0
  72. package/collapsible/types/collapsible.d.ts +27 -0
  73. package/combobox/README.md +11 -0
  74. package/combobox/fesm2022/combobox.mjs +683 -0
  75. package/combobox/fesm2022/combobox.mjs.map +1 -0
  76. package/combobox/package.json +25 -0
  77. package/combobox/types/combobox.d.ts +151 -0
  78. package/command/README.md +11 -0
  79. package/command/fesm2022/command.mjs +361 -0
  80. package/command/fesm2022/command.mjs.map +1 -0
  81. package/command/package.json +25 -0
  82. package/command/types/command.d.ts +89 -0
  83. package/confirmation-dialog/README.md +64 -0
  84. package/confirmation-dialog/fesm2022/confirmation-dialog.mjs +104 -0
  85. package/confirmation-dialog/fesm2022/confirmation-dialog.mjs.map +1 -0
  86. package/confirmation-dialog/package.json +24 -0
  87. package/confirmation-dialog/types/confirmation-dialog.d.ts +24 -0
  88. package/context-menu/README.md +11 -0
  89. package/context-menu/fesm2022/context-menu.mjs +89 -0
  90. package/context-menu/fesm2022/context-menu.mjs.map +1 -0
  91. package/context-menu/package.json +25 -0
  92. package/context-menu/types/context-menu.d.ts +34 -0
  93. package/date-picker/fesm2022/date-picker.mjs +1262 -307
  94. package/date-picker/fesm2022/date-picker.mjs.map +1 -1
  95. package/date-picker/package.json +24 -0
  96. package/date-picker/types/date-picker.d.ts +551 -0
  97. package/dialog/README.md +64 -0
  98. package/dialog/fesm2022/dialog.mjs +307 -0
  99. package/dialog/fesm2022/dialog.mjs.map +1 -0
  100. package/dialog/package.json +24 -0
  101. package/dialog/types/dialog.d.ts +95 -0
  102. package/drawer/README.md +11 -0
  103. package/drawer/fesm2022/drawer.mjs +271 -0
  104. package/drawer/fesm2022/drawer.mjs.map +1 -0
  105. package/drawer/package.json +25 -0
  106. package/drawer/types/drawer.d.ts +76 -0
  107. package/dropdown-menu/README.md +11 -0
  108. package/dropdown-menu/fesm2022/dropdown-menu.mjs +542 -0
  109. package/dropdown-menu/fesm2022/dropdown-menu.mjs.map +1 -0
  110. package/dropdown-menu/package.json +25 -0
  111. package/dropdown-menu/types/dropdown-menu.d.ts +176 -0
  112. package/empty/README.md +11 -0
  113. package/empty/fesm2022/empty.mjs +151 -0
  114. package/empty/fesm2022/empty.mjs.map +1 -0
  115. package/empty/package.json +25 -0
  116. package/empty/types/empty.d.ts +54 -0
  117. package/field/README.md +11 -0
  118. package/field/fesm2022/field.mjs +367 -0
  119. package/field/fesm2022/field.mjs.map +1 -0
  120. package/field/package.json +25 -0
  121. package/field/types/field.d.ts +107 -0
  122. package/form-checkbox/README.md +64 -0
  123. package/form-checkbox/fesm2022/form-checkbox.mjs +154 -0
  124. package/form-checkbox/fesm2022/form-checkbox.mjs.map +1 -0
  125. package/form-checkbox/package.json +24 -0
  126. package/form-checkbox/types/form-checkbox.d.ts +27 -0
  127. package/form-date-picker/fesm2022/form-date-picker.mjs +57 -50
  128. package/form-date-picker/fesm2022/form-date-picker.mjs.map +1 -1
  129. package/form-date-picker/package.json +24 -0
  130. package/form-field/fesm2022/form-field.mjs +37 -25
  131. package/form-field/fesm2022/form-field.mjs.map +1 -1
  132. package/form-field/package.json +25 -0
  133. package/form-field/{index.d.ts → types/form-field.d.ts} +4 -3
  134. package/form-field-simple/fesm2022/form-field-simple.mjs +14 -9
  135. package/form-field-simple/fesm2022/form-field-simple.mjs.map +1 -1
  136. package/form-field-simple/package.json +24 -0
  137. package/form-searchable-multiselect/README.md +64 -0
  138. package/form-searchable-multiselect/fesm2022/form-searchable-multiselect.mjs +158 -0
  139. package/form-searchable-multiselect/fesm2022/form-searchable-multiselect.mjs.map +1 -0
  140. package/form-searchable-multiselect/package.json +24 -0
  141. package/form-searchable-multiselect/types/form-searchable-multiselect.d.ts +30 -0
  142. package/form-select/fesm2022/form-select.mjs +131 -70
  143. package/form-select/fesm2022/form-select.mjs.map +1 -1
  144. package/form-select/package.json +24 -0
  145. package/form-text-input/fesm2022/form-text-input.mjs +66 -37
  146. package/form-text-input/fesm2022/form-text-input.mjs.map +1 -1
  147. package/form-text-input/package.json +24 -0
  148. package/form-textarea/fesm2022/form-textarea.mjs +53 -29
  149. package/form-textarea/fesm2022/form-textarea.mjs.map +1 -1
  150. package/form-textarea/package.json +24 -0
  151. package/hover-card/README.md +11 -0
  152. package/hover-card/fesm2022/hover-card.mjs +123 -0
  153. package/hover-card/fesm2022/hover-card.mjs.map +1 -0
  154. package/hover-card/package.json +25 -0
  155. package/hover-card/types/hover-card.d.ts +36 -0
  156. package/icon/fesm2022/icon.mjs +11 -9
  157. package/icon/fesm2022/icon.mjs.map +1 -1
  158. package/icon/package.json +25 -0
  159. package/input/fesm2022/input.mjs +21 -71
  160. package/input/fesm2022/input.mjs.map +1 -1
  161. package/input/package.json +25 -0
  162. package/input/types/input.d.ts +18 -0
  163. package/input-group/README.md +11 -0
  164. package/input-group/fesm2022/input-group.mjs +199 -0
  165. package/input-group/fesm2022/input-group.mjs.map +1 -0
  166. package/input-group/package.json +25 -0
  167. package/input-group/types/input-group.d.ts +52 -0
  168. package/input-otp/README.md +11 -0
  169. package/input-otp/fesm2022/input-otp.mjs +141 -0
  170. package/input-otp/fesm2022/input-otp.mjs.map +1 -0
  171. package/input-otp/package.json +25 -0
  172. package/input-otp/types/input-otp.d.ts +43 -0
  173. package/item/README.md +11 -0
  174. package/item/fesm2022/item.mjs +278 -0
  175. package/item/fesm2022/item.mjs.map +1 -0
  176. package/item/package.json +25 -0
  177. package/item/types/item.d.ts +101 -0
  178. package/kbd/README.md +11 -0
  179. package/kbd/fesm2022/kbd.mjs +61 -0
  180. package/kbd/fesm2022/kbd.mjs.map +1 -0
  181. package/kbd/package.json +25 -0
  182. package/kbd/types/kbd.d.ts +22 -0
  183. package/label/fesm2022/label.mjs +10 -9
  184. package/label/fesm2022/label.mjs.map +1 -1
  185. package/label/package.json +25 -0
  186. package/layout-simple/README.md +64 -0
  187. package/layout-simple/fesm2022/layout-simple.mjs +719 -0
  188. package/layout-simple/fesm2022/layout-simple.mjs.map +1 -0
  189. package/layout-simple/package.json +24 -0
  190. package/layout-simple/types/layout-simple.d.ts +153 -0
  191. package/menubar/README.md +11 -0
  192. package/menubar/fesm2022/menubar.mjs +108 -0
  193. package/menubar/fesm2022/menubar.mjs.map +1 -0
  194. package/menubar/package.json +25 -0
  195. package/menubar/types/menubar.d.ts +40 -0
  196. package/native-select/README.md +11 -0
  197. package/native-select/fesm2022/native-select.mjs +207 -0
  198. package/native-select/fesm2022/native-select.mjs.map +1 -0
  199. package/native-select/package.json +25 -0
  200. package/native-select/types/native-select.d.ts +70 -0
  201. package/navigation-menu/README.md +11 -0
  202. package/navigation-menu/fesm2022/navigation-menu.mjs +206 -0
  203. package/navigation-menu/fesm2022/navigation-menu.mjs.map +1 -0
  204. package/navigation-menu/package.json +25 -0
  205. package/navigation-menu/types/navigation-menu.d.ts +54 -0
  206. package/package.json +239 -47
  207. package/pagination/README.md +11 -0
  208. package/pagination/fesm2022/pagination.mjs +808 -0
  209. package/pagination/fesm2022/pagination.mjs.map +1 -0
  210. package/pagination/package.json +25 -0
  211. package/pagination/types/pagination.d.ts +192 -0
  212. package/popover/fesm2022/popover.mjs +123 -29
  213. package/popover/fesm2022/popover.mjs.map +1 -1
  214. package/popover/package.json +24 -0
  215. package/popover/types/popover.d.ts +54 -0
  216. package/progress/README.md +11 -0
  217. package/progress/fesm2022/progress.mjs +77 -0
  218. package/progress/fesm2022/progress.mjs.map +1 -0
  219. package/progress/package.json +25 -0
  220. package/progress/types/progress.d.ts +27 -0
  221. package/radio-group/README.md +64 -0
  222. package/radio-group/fesm2022/radio-group.mjs +204 -0
  223. package/radio-group/fesm2022/radio-group.mjs.map +1 -0
  224. package/radio-group/package.json +25 -0
  225. package/radio-group/types/radio-group.d.ts +71 -0
  226. package/resizable/README.md +11 -0
  227. package/resizable/fesm2022/resizable.mjs +111 -0
  228. package/resizable/fesm2022/resizable.mjs.map +1 -0
  229. package/resizable/package.json +25 -0
  230. package/resizable/types/resizable.d.ts +32 -0
  231. package/scroll-area/README.md +11 -0
  232. package/scroll-area/fesm2022/scroll-area.mjs +51 -0
  233. package/scroll-area/fesm2022/scroll-area.mjs.map +1 -0
  234. package/scroll-area/package.json +25 -0
  235. package/scroll-area/types/scroll-area.d.ts +16 -0
  236. package/searchable-multiselect/README.md +64 -0
  237. package/searchable-multiselect/fesm2022/searchable-multiselect.mjs +225 -0
  238. package/searchable-multiselect/fesm2022/searchable-multiselect.mjs.map +1 -0
  239. package/searchable-multiselect/package.json +24 -0
  240. package/searchable-multiselect/types/searchable-multiselect.d.ts +39 -0
  241. package/select/fesm2022/select.mjs +373 -191
  242. package/select/fesm2022/select.mjs.map +1 -1
  243. package/select/package.json +25 -0
  244. package/select/types/select.d.ts +119 -0
  245. package/separator/fesm2022/separator.mjs +16 -14
  246. package/separator/fesm2022/separator.mjs.map +1 -1
  247. package/separator/package.json +24 -0
  248. package/separator/{index.d.ts → types/separator.d.ts} +4 -5
  249. package/sheet/fesm2022/sheet.mjs +49 -42
  250. package/sheet/fesm2022/sheet.mjs.map +1 -1
  251. package/sheet/package.json +24 -0
  252. package/sidebar/README.md +11 -0
  253. package/sidebar/fesm2022/sidebar.mjs +948 -0
  254. package/sidebar/fesm2022/sidebar.mjs.map +1 -0
  255. package/sidebar/package.json +25 -0
  256. package/sidebar/types/sidebar.d.ts +237 -0
  257. package/skeleton/README.md +11 -0
  258. package/skeleton/fesm2022/skeleton.mjs +44 -0
  259. package/skeleton/fesm2022/skeleton.mjs.map +1 -0
  260. package/skeleton/package.json +25 -0
  261. package/skeleton/types/skeleton.d.ts +16 -0
  262. package/slider/README.md +11 -0
  263. package/slider/fesm2022/slider.mjs +144 -0
  264. package/slider/fesm2022/slider.mjs.map +1 -0
  265. package/slider/package.json +25 -0
  266. package/slider/types/slider.d.ts +19 -0
  267. package/sonner/fesm2022/sonner.mjs +29 -34
  268. package/sonner/fesm2022/sonner.mjs.map +1 -1
  269. package/sonner/package.json +25 -0
  270. package/spinner/fesm2022/spinner.mjs +17 -13
  271. package/spinner/fesm2022/spinner.mjs.map +1 -1
  272. package/spinner/package.json +25 -0
  273. package/switch/fesm2022/switch.mjs +27 -24
  274. package/switch/fesm2022/switch.mjs.map +1 -1
  275. package/switch/package.json +25 -0
  276. package/table/README.md +11 -0
  277. package/table/fesm2022/table.mjs +211 -0
  278. package/table/fesm2022/table.mjs.map +1 -0
  279. package/table/package.json +25 -0
  280. package/table/types/table.d.ts +87 -0
  281. package/tabs/README.md +64 -0
  282. package/tabs/fesm2022/tabs.mjs +286 -0
  283. package/tabs/fesm2022/tabs.mjs.map +1 -0
  284. package/tabs/package.json +25 -0
  285. package/tabs/types/tabs.d.ts +71 -0
  286. package/textarea/README.md +11 -0
  287. package/textarea/fesm2022/textarea.mjs +47 -0
  288. package/textarea/fesm2022/textarea.mjs.map +1 -0
  289. package/textarea/package.json +25 -0
  290. package/textarea/types/textarea.d.ts +18 -0
  291. package/toggle/README.md +11 -0
  292. package/toggle/fesm2022/toggle.mjs +78 -0
  293. package/toggle/fesm2022/toggle.mjs.map +1 -0
  294. package/toggle/package.json +25 -0
  295. package/toggle/types/toggle.d.ts +27 -0
  296. package/toggle-group/README.md +11 -0
  297. package/toggle-group/fesm2022/toggle-group.mjs +117 -0
  298. package/toggle-group/fesm2022/toggle-group.mjs.map +1 -0
  299. package/toggle-group/package.json +25 -0
  300. package/toggle-group/types/toggle-group.d.ts +39 -0
  301. package/tooltip/README.md +64 -0
  302. package/tooltip/fesm2022/tooltip.mjs +72 -0
  303. package/tooltip/fesm2022/tooltip.mjs.map +1 -0
  304. package/tooltip/package.json +25 -0
  305. package/tooltip/types/tooltip.d.ts +22 -0
  306. package/typography/README.md +11 -0
  307. package/typography/fesm2022/typography.mjs +242 -0
  308. package/typography/fesm2022/typography.mjs.map +1 -0
  309. package/typography/package.json +25 -0
  310. package/typography/types/typography.d.ts +94 -0
  311. package/utils/fesm2022/utils.mjs +184 -1
  312. package/utils/fesm2022/utils.mjs.map +1 -1
  313. package/utils/package.json +25 -0
  314. package/utils/types/utils.d.ts +13 -0
  315. package/calendar/index.d.ts +0 -111
  316. package/date-picker/index.d.ts +0 -227
  317. package/input/index.d.ts +0 -41
  318. package/popover/index.d.ts +0 -30
  319. package/select/index.d.ts +0 -92
  320. package/utils/index.d.ts +0 -5
  321. /package/alert/{index.d.ts → types/alert.d.ts} +0 -0
  322. /package/badge/{index.d.ts → types/badge.d.ts} +0 -0
  323. /package/basic-alert/{index.d.ts → types/basic-alert.d.ts} +0 -0
  324. /package/form-date-picker/{index.d.ts → types/form-date-picker.d.ts} +0 -0
  325. /package/form-field-simple/{index.d.ts → types/form-field-simple.d.ts} +0 -0
  326. /package/form-select/{index.d.ts → types/form-select.d.ts} +0 -0
  327. /package/form-text-input/{index.d.ts → types/form-text-input.d.ts} +0 -0
  328. /package/form-textarea/{index.d.ts → types/form-textarea.d.ts} +0 -0
  329. /package/icon/{index.d.ts → types/icon.d.ts} +0 -0
  330. /package/label/{index.d.ts → types/label.d.ts} +0 -0
  331. /package/sheet/{index.d.ts → types/sheet.d.ts} +0 -0
  332. /package/sonner/{index.d.ts → types/sonner.d.ts} +0 -0
  333. /package/spinner/{index.d.ts → types/spinner.d.ts} +0 -0
  334. /package/switch/{index.d.ts → types/switch.d.ts} +0 -0
@@ -1,271 +1,453 @@
1
1
  import * as i0 from '@angular/core';
2
- import { input, computed, Directive, booleanAttribute, inject, ChangeDetectionStrategy, Component, contentChild, NgModule } from '@angular/core';
3
- import { hlm } from '@egose/shadcn-theme-ng/utils';
4
- import { injectExposesStateProvider, injectExposedSideProvider } from '@spartan-ng/brain/core';
2
+ import { Directive, ChangeDetectionStrategy, Component, computed, input, booleanAttribute, inject, NgModule } from '@angular/core';
3
+ import * as i2 from '@spartan-ng/brain/popover';
4
+ import { provideBrnPopoverConfig, provideBrnPopoverDefaultOptions, BrnPopover, BrnPopoverContent } from '@spartan-ng/brain/popover';
5
5
  import * as i1 from '@spartan-ng/brain/select';
6
- import { BrnSelectGroup, BrnSelectLabel, BrnSelectOption, BrnSelect, BrnSelectTrigger } from '@spartan-ng/brain/select';
6
+ import { BrnSelect, BrnSelectScrollDown, BrnSelectScrollUp, BrnSelectContent, BrnSelectGroup, BrnSelectItem, BrnSelectLabel, BrnSelectMultiple, BrnSelectPlaceholder, BrnSelectSeparator, BrnSelectTrigger, BrnSelectValue, BrnSelectValueTemplate, BrnSelectValues } from '@spartan-ng/brain/select';
7
+ import { classes, hlm } from '@egose/shadcn-theme-ng/utils';
7
8
  import { NgIcon, provideIcons } from '@ng-icons/core';
8
- import { lucideCheck, lucideChevronDown, lucideChevronUp } from '@ng-icons/lucide';
9
- import { HlmIcon } from '@egose/shadcn-theme-ng/icon';
10
- import { cva } from 'class-variance-authority';
9
+ import { lucideChevronDown, lucideChevronUp, lucideCheck } from '@ng-icons/lucide';
10
+ import { BrnFieldControlDescribedBy } from '@spartan-ng/brain/field';
11
11
 
12
12
  class HlmSelect {
13
- userClass = input('', ...(ngDevMode ? [{ debugName: "userClass", alias: 'class' }] : [{ alias: 'class' }]));
14
- _computedClass = computed(() => hlm('space-y-2', this.userClass()), ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
15
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmSelect, deps: [], target: i0.ɵɵFactoryTarget.Directive });
16
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.15", type: HlmSelect, isStandalone: true, selector: "hlm-select, brn-select [hlm]", inputs: { userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()" } }, ngImport: i0 });
13
+ constructor() {
14
+ classes(() => 'block');
15
+ }
16
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmSelect, deps: [], target: i0.ɵɵFactoryTarget.Directive });
17
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: HlmSelect, isStandalone: true, selector: "[hlmSelect],hlm-select", host: { attributes: { "data-slot": "select" } }, providers: [
18
+ provideBrnPopoverConfig({
19
+ align: 'start',
20
+ sideOffset: 6,
21
+ }),
22
+ provideBrnPopoverDefaultOptions({ role: null }),
23
+ ], hostDirectives: [{ directive: i1.BrnSelect, inputs: ["disabled", "disabled", "value", "value", "isItemEqualToValue", "isItemEqualToValue", "itemToString", "itemToString"], outputs: ["valueChange", "valueChange"] }, { directive: i2.BrnPopover, inputs: ["align", "align", "closeOnOutsidePointerEvents", "closeOnOutsidePointerEvents", "sideOffset", "sideOffset", "state", "state", "offsetX", "offsetX"], outputs: ["stateChanged", "stateChanged", "closed", "closed"] }], ngImport: i0 });
17
24
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmSelect, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmSelect, decorators: [{
19
26
  type: Directive,
20
27
  args: [{
21
- selector: 'hlm-select, brn-select [hlm]',
22
- host: {
23
- '[class]': '_computedClass()',
24
- },
28
+ selector: '[hlmSelect],hlm-select',
29
+ providers: [
30
+ provideBrnPopoverConfig({
31
+ align: 'start',
32
+ sideOffset: 6,
33
+ }),
34
+ provideBrnPopoverDefaultOptions({ role: null }),
35
+ ],
36
+ hostDirectives: [
37
+ {
38
+ directive: BrnSelect,
39
+ inputs: ['disabled', 'value', 'isItemEqualToValue', 'itemToString'],
40
+ outputs: ['valueChange'],
41
+ },
42
+ {
43
+ directive: BrnPopover,
44
+ inputs: ['align', 'closeOnOutsidePointerEvents', 'sideOffset', 'state', 'offsetX'],
45
+ outputs: ['stateChanged', 'closed'],
46
+ },
47
+ ],
48
+ host: { 'data-slot': 'select' },
25
49
  }]
26
- }], propDecorators: { userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
50
+ }], ctorParameters: () => [] });
27
51
 
28
- class HlmSelectContent {
29
- userClass = input('', ...(ngDevMode ? [{ debugName: "userClass", alias: 'class' }] : [{ alias: 'class' }]));
30
- stickyLabels = input(false, ...(ngDevMode ? [{ debugName: "stickyLabels", transform: booleanAttribute }] : [{
31
- transform: booleanAttribute,
32
- }]));
33
- _stateProvider = injectExposesStateProvider({ optional: true });
34
- _sideProvider = injectExposedSideProvider({ optional: true });
35
- _computedClass = computed(() => hlm('border-border bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=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 relative z-50 w-full min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md data-[side=bottom]:top-[2px] data-[side=top]:bottom-[2px]', this.userClass()), ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
36
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmSelectContent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
37
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.15", type: HlmSelectContent, isStandalone: true, selector: "[hlmSelectContent], hlm-select-content", inputs: { userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, stickyLabels: { classPropertyName: "stickyLabels", publicName: "stickyLabels", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()", "attr.data-state": "_stateProvider?.state() ?? \"open\"", "attr.data-side": "_sideProvider?.side() ?? \"bottom\"" } }, ngImport: i0 });
52
+ class HlmSelectScrollDown {
53
+ constructor() {
54
+ classes(() => "bg-popover z-10 flex cursor-default items-center justify-center py-1 [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)] sticky bottom-0 w-full data-hidden:hidden");
55
+ }
56
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmSelectScrollDown, deps: [], target: i0.ɵɵFactoryTarget.Component });
57
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.7", type: HlmSelectScrollDown, isStandalone: true, selector: "hlm-select-scroll-down", providers: [provideIcons({ lucideChevronDown })], hostDirectives: [{ directive: i1.BrnSelectScrollDown }], ngImport: i0, template: ` <ng-icon name="lucideChevronDown" /> `, isInline: true, dependencies: [{ kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
38
58
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmSelectContent, decorators: [{
40
- type: Directive,
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmSelectScrollDown, decorators: [{
60
+ type: Component,
41
61
  args: [{
42
- selector: '[hlmSelectContent], hlm-select-content',
43
- host: {
44
- '[class]': '_computedClass()',
45
- '[attr.data-state]': '_stateProvider?.state() ?? "open"',
46
- '[attr.data-side]': '_sideProvider?.side() ?? "bottom"',
47
- },
62
+ selector: 'hlm-select-scroll-down',
63
+ imports: [NgIcon],
64
+ providers: [provideIcons({ lucideChevronDown })],
65
+ changeDetection: ChangeDetectionStrategy.OnPush,
66
+ hostDirectives: [BrnSelectScrollDown],
67
+ template: ` <ng-icon name="lucideChevronDown" /> `,
48
68
  }]
49
- }], propDecorators: { userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], stickyLabels: [{ type: i0.Input, args: [{ isSignal: true, alias: "stickyLabels", required: false }] }] } });
69
+ }], ctorParameters: () => [] });
50
70
 
51
- class HlmSelectGroup {
52
- userClass = input('', ...(ngDevMode ? [{ debugName: "userClass", alias: 'class' }] : [{ alias: 'class' }]));
53
- _computedClass = computed(() => hlm(this.userClass()), ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
54
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmSelectGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive });
55
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.15", type: HlmSelectGroup, isStandalone: true, selector: "[hlmSelectGroup], hlm-select-group", inputs: { userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()" } }, hostDirectives: [{ directive: i1.BrnSelectGroup }], ngImport: i0 });
71
+ class HlmSelectScrollUp {
72
+ constructor() {
73
+ classes(() => "bg-popover z-10 flex cursor-default items-center justify-center py-1 [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)] sticky top-0 w-full data-hidden:hidden");
74
+ }
75
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmSelectScrollUp, deps: [], target: i0.ɵɵFactoryTarget.Component });
76
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.7", type: HlmSelectScrollUp, isStandalone: true, selector: "hlm-select-scroll-up", providers: [provideIcons({ lucideChevronUp })], hostDirectives: [{ directive: i1.BrnSelectScrollUp }], ngImport: i0, template: ` <ng-icon name="lucideChevronUp" /> `, isInline: true, dependencies: [{ kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
56
77
  }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmSelectGroup, decorators: [{
58
- type: Directive,
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmSelectScrollUp, decorators: [{
79
+ type: Component,
59
80
  args: [{
60
- selector: '[hlmSelectGroup], hlm-select-group',
61
- hostDirectives: [BrnSelectGroup],
62
- host: {
63
- '[class]': '_computedClass()',
64
- },
81
+ selector: 'hlm-select-scroll-up',
82
+ imports: [NgIcon],
83
+ providers: [provideIcons({ lucideChevronUp })],
84
+ changeDetection: ChangeDetectionStrategy.OnPush,
85
+ hostDirectives: [BrnSelectScrollUp],
86
+ template: ` <ng-icon name="lucideChevronUp" /> `,
65
87
  }]
66
- }], propDecorators: { userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
88
+ }], ctorParameters: () => [] });
67
89
 
68
- class HlmSelectLabel {
69
- _selectContent = inject(HlmSelectContent);
70
- _stickyLabels = computed(() => this._selectContent.stickyLabels(), ...(ngDevMode ? [{ debugName: "_stickyLabels" }] : []));
71
- userClass = input('', ...(ngDevMode ? [{ debugName: "userClass", alias: 'class' }] : [{ alias: 'class' }]));
72
- _computedClass = computed(() => hlm('text-muted-foreground px-2 py-1.5 text-xs', this._stickyLabels() ? 'bg-popover sticky top-0 z-[2] block' : '', this.userClass()), ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
73
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmSelectLabel, deps: [], target: i0.ɵɵFactoryTarget.Directive });
74
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.15", type: HlmSelectLabel, isStandalone: true, selector: "[hlmSelectLabel], hlm-select-label", inputs: { userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()" } }, hostDirectives: [{ directive: i1.BrnSelectLabel }], ngImport: i0 });
90
+ class HlmSelectContent {
91
+ _computedListboxClasses = computed(() => hlm('flex flex-col'), /* @ts-ignore */
92
+ ...(ngDevMode ? [{ debugName: "_computedListboxClasses" }] : /* istanbul ignore next */ []));
93
+ showScroll = input(false, { ...(ngDevMode ? { debugName: "showScroll" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
94
+ constructor() {
95
+ classes(() => 'bg-popover no-scrollbar text-popover-foreground data-open:animate-in 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 max-h-72 min-w-36 flex-col rounded-md shadow-md ring-1 duration-100 relative flex w-(--brn-select-width) overflow-x-hidden overflow-y-auto');
96
+ }
97
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmSelectContent, deps: [], target: i0.ɵɵFactoryTarget.Component });
98
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: HlmSelectContent, isStandalone: true, selector: "hlm-select-content", inputs: { showScroll: { classPropertyName: "showScroll", publicName: "showScroll", isSignal: true, isRequired: false, transformFunction: null } }, hostDirectives: [{ directive: i1.BrnSelectContent }], ngImport: i0, template: `
99
+ @if (showScroll()) {
100
+ <hlm-select-scroll-up />
101
+ }
102
+
103
+ <div role="listbox" [class]="_computedListboxClasses()">
104
+ <ng-content />
105
+ </div>
106
+
107
+ @if (showScroll()) {
108
+ <hlm-select-scroll-down />
109
+ }
110
+ `, isInline: true, dependencies: [{ kind: "component", type: HlmSelectScrollUp, selector: "hlm-select-scroll-up" }, { kind: "component", type: HlmSelectScrollDown, selector: "hlm-select-scroll-down" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
75
111
  }
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmSelectLabel, decorators: [{
77
- type: Directive,
112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmSelectContent, decorators: [{
113
+ type: Component,
78
114
  args: [{
79
- selector: '[hlmSelectLabel], hlm-select-label',
80
- hostDirectives: [BrnSelectLabel],
81
- host: {
82
- '[class]': '_computedClass()',
83
- },
115
+ selector: 'hlm-select-content',
116
+ imports: [HlmSelectScrollUp, HlmSelectScrollDown],
117
+ changeDetection: ChangeDetectionStrategy.OnPush,
118
+ hostDirectives: [BrnSelectContent],
119
+ template: `
120
+ @if (showScroll()) {
121
+ <hlm-select-scroll-up />
122
+ }
123
+
124
+ <div role="listbox" [class]="_computedListboxClasses()">
125
+ <ng-content />
126
+ </div>
127
+
128
+ @if (showScroll()) {
129
+ <hlm-select-scroll-down />
130
+ }
131
+ `,
84
132
  }]
85
- }], propDecorators: { userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
133
+ }], ctorParameters: () => [], propDecorators: { showScroll: [{ type: i0.Input, args: [{ isSignal: true, alias: "showScroll", required: false }] }] } });
86
134
 
87
- class HlmSelectOption {
88
- _brnSelectOption = inject(BrnSelectOption, { host: true });
89
- userClass = input('', ...(ngDevMode ? [{ debugName: "userClass", alias: 'class' }] : [{ alias: 'class' }]));
90
- _computedClass = computed(() => hlm('data-[active]:bg-accent data-[active]:text-accent-foreground [&>ng-icon]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2 relative flex w-full cursor-default select-none items-center gap-2 rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>ng-icon]:pointer-events-none [&>ng-icon]:size-4 [&>ng-icon]:shrink-0', this.userClass()), ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
91
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmSelectOption, deps: [], target: i0.ɵɵFactoryTarget.Component });
92
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: HlmSelectOption, isStandalone: true, selector: "hlm-option", inputs: { userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()" } }, providers: [provideIcons({ lucideCheck })], hostDirectives: [{ directive: i1.BrnSelectOption, inputs: ["disabled", "disabled", "value", "value"] }], ngImport: i0, template: `
93
- <span class="absolute right-2 flex size-3.5 items-center justify-center">
94
- @if (this._brnSelectOption.selected()) {
95
- <ng-icon hlm size="sm" aria-hidden="true" name="lucideCheck" />
96
- }
97
- </span>
135
+ class HlmSelectGroup {
136
+ constructor() {
137
+ classes(() => 'scroll-my-1 p-1');
138
+ }
139
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmSelectGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive });
140
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: HlmSelectGroup, isStandalone: true, selector: "[hlmSelectGroup],hlm-select-group", host: { attributes: { "data-slot": "select-group" } }, hostDirectives: [{ directive: i1.BrnSelectGroup }], ngImport: i0 });
141
+ }
142
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmSelectGroup, decorators: [{
143
+ type: Directive,
144
+ args: [{
145
+ selector: '[hlmSelectGroup],hlm-select-group',
146
+ hostDirectives: [{ directive: BrnSelectGroup }],
147
+ host: { 'data-slot': 'select-group' },
148
+ }]
149
+ }], ctorParameters: () => [] });
98
150
 
151
+ class HlmSelectItem {
152
+ _brnSelectItem = inject(BrnSelectItem);
153
+ _active = this._brnSelectItem.active;
154
+ constructor() {
155
+ 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 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2 relative flex w-full cursor-default items-center outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_ng-icon]:pointer-events-none [&_ng-icon]:shrink-0');
156
+ }
157
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmSelectItem, deps: [], target: i0.ɵɵFactoryTarget.Component });
158
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: HlmSelectItem, isStandalone: true, selector: "hlm-select-item", host: { attributes: { "data-slot": "select-item" } }, providers: [provideIcons({ lucideCheck })], hostDirectives: [{ directive: i1.BrnSelectItem, inputs: ["id", "id", "disabled", "disabled", "value", "value"] }], ngImport: i0, template: `
99
159
  <ng-content />
100
- `, isInline: true, dependencies: [{ kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: HlmIcon, selector: "ng-icon[hlm]", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
160
+ @if (_active()) {
161
+ <ng-icon
162
+ name="lucideCheck"
163
+ class="absolute end-2 flex items-center justify-center text-[length:--spacing(4)]"
164
+ aria-hidden="true"
165
+ />
166
+ }
167
+ `, isInline: true, dependencies: [{ kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
101
168
  }
102
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmSelectOption, decorators: [{
169
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmSelectItem, decorators: [{
103
170
  type: Component,
104
171
  args: [{
105
- selector: 'hlm-option',
106
- changeDetection: ChangeDetectionStrategy.OnPush,
107
- hostDirectives: [{ directive: BrnSelectOption, inputs: ['disabled', 'value'] }],
172
+ selector: 'hlm-select-item',
173
+ imports: [NgIcon],
108
174
  providers: [provideIcons({ lucideCheck })],
109
- host: {
110
- '[class]': '_computedClass()',
111
- },
175
+ changeDetection: ChangeDetectionStrategy.OnPush,
176
+ hostDirectives: [{ directive: BrnSelectItem, inputs: ['id', 'disabled', 'value'] }],
177
+ host: { 'data-slot': 'select-item' },
112
178
  template: `
113
- <span class="absolute right-2 flex size-3.5 items-center justify-center">
114
- @if (this._brnSelectOption.selected()) {
115
- <ng-icon hlm size="sm" aria-hidden="true" name="lucideCheck" />
116
- }
117
- </span>
118
-
119
179
  <ng-content />
180
+ @if (_active()) {
181
+ <ng-icon
182
+ name="lucideCheck"
183
+ class="absolute end-2 flex items-center justify-center text-[length:--spacing(4)]"
184
+ aria-hidden="true"
185
+ />
186
+ }
120
187
  `,
121
- imports: [NgIcon, HlmIcon],
122
188
  }]
123
- }], propDecorators: { userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
189
+ }], ctorParameters: () => [] });
124
190
 
125
- class HlmSelectScrollDown {
126
- userClass = input('', ...(ngDevMode ? [{ debugName: "userClass", alias: 'class' }] : [{ alias: 'class' }]));
127
- _computedClass = computed(() => hlm('flex cursor-default items-center justify-center py-1', this.userClass()), ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
128
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmSelectScrollDown, deps: [], target: i0.ɵɵFactoryTarget.Component });
129
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.15", type: HlmSelectScrollDown, isStandalone: true, selector: "hlm-select-scroll-down", inputs: { userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()" } }, providers: [provideIcons({ lucideChevronDown })], ngImport: i0, template: ` <ng-icon hlm size="sm" class="ml-2" name="lucideChevronDown" /> `, isInline: true, dependencies: [{ kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: HlmIcon, selector: "ng-icon[hlm]", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
191
+ class HlmSelectLabel {
192
+ constructor() {
193
+ classes(() => 'text-muted-foreground px-2 py-1.5 text-xs flex');
194
+ }
195
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmSelectLabel, deps: [], target: i0.ɵɵFactoryTarget.Directive });
196
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: HlmSelectLabel, isStandalone: true, selector: "[hlmSelectLabel],hlm-select-label", host: { attributes: { "data-slot": "select-label" } }, hostDirectives: [{ directive: i1.BrnSelectLabel, inputs: ["id", "id"] }], ngImport: i0 });
130
197
  }
131
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmSelectScrollDown, decorators: [{
132
- type: Component,
198
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmSelectLabel, decorators: [{
199
+ type: Directive,
133
200
  args: [{
134
- selector: 'hlm-select-scroll-down',
135
- imports: [NgIcon, HlmIcon],
136
- providers: [provideIcons({ lucideChevronDown })],
137
- host: {
138
- '[class]': '_computedClass()',
139
- },
140
- template: ` <ng-icon hlm size="sm" class="ml-2" name="lucideChevronDown" /> `,
141
- changeDetection: ChangeDetectionStrategy.OnPush,
201
+ selector: '[hlmSelectLabel],hlm-select-label',
202
+ hostDirectives: [{ directive: BrnSelectLabel, inputs: ['id'] }],
203
+ host: { 'data-slot': 'select-label' },
142
204
  }]
143
- }], propDecorators: { userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
205
+ }], ctorParameters: () => [] });
144
206
 
145
- class HlmSelectScrollUp {
146
- userClass = input('', ...(ngDevMode ? [{ debugName: "userClass", alias: 'class' }] : [{ alias: 'class' }]));
147
- _computedClass = computed(() => hlm('flex cursor-default items-center justify-center py-1', this.userClass()), ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
148
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmSelectScrollUp, deps: [], target: i0.ɵɵFactoryTarget.Component });
149
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.15", type: HlmSelectScrollUp, isStandalone: true, selector: "hlm-select-scroll-up", inputs: { userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()" } }, providers: [provideIcons({ lucideChevronUp })], ngImport: i0, template: ` <ng-icon hlm size="sm" class="ml-2" name="lucideChevronUp" /> `, isInline: true, dependencies: [{ kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: HlmIcon, selector: "ng-icon[hlm]", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
207
+ class HlmSelectMultiple {
208
+ constructor() {
209
+ classes(() => 'block');
210
+ }
211
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmSelectMultiple, deps: [], target: i0.ɵɵFactoryTarget.Directive });
212
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: HlmSelectMultiple, isStandalone: true, selector: "[hlmSelectMultiple],hlm-select-multiple", host: { attributes: { "data-slot": "select" } }, providers: [
213
+ provideBrnPopoverConfig({
214
+ align: 'start',
215
+ sideOffset: 6,
216
+ }),
217
+ provideBrnPopoverDefaultOptions({ role: null }),
218
+ ], hostDirectives: [{ directive: i1.BrnSelectMultiple, inputs: ["disabled", "disabled", "value", "value", "isItemEqualToValue", "isItemEqualToValue", "itemToString", "itemToString"], outputs: ["valueChange", "valueChange"] }, { directive: i2.BrnPopover, inputs: ["align", "align", "closeOnOutsidePointerEvents", "closeOnOutsidePointerEvents", "sideOffset", "sideOffset", "state", "state", "offsetX", "offsetX"], outputs: ["stateChanged", "stateChanged", "closed", "closed"] }], ngImport: i0 });
150
219
  }
151
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmSelectScrollUp, decorators: [{
152
- type: Component,
220
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmSelectMultiple, decorators: [{
221
+ type: Directive,
153
222
  args: [{
154
- selector: 'hlm-select-scroll-up',
155
- imports: [NgIcon, HlmIcon],
156
- providers: [provideIcons({ lucideChevronUp })],
157
- host: {
158
- '[class]': '_computedClass()',
159
- },
160
- template: ` <ng-icon hlm size="sm" class="ml-2" name="lucideChevronUp" /> `,
161
- changeDetection: ChangeDetectionStrategy.OnPush,
223
+ selector: '[hlmSelectMultiple],hlm-select-multiple',
224
+ providers: [
225
+ provideBrnPopoverConfig({
226
+ align: 'start',
227
+ sideOffset: 6,
228
+ }),
229
+ provideBrnPopoverDefaultOptions({ role: null }),
230
+ ],
231
+ hostDirectives: [
232
+ {
233
+ directive: BrnSelectMultiple,
234
+ inputs: ['disabled', 'value', 'isItemEqualToValue', 'itemToString'],
235
+ outputs: ['valueChange'],
236
+ },
237
+ {
238
+ directive: BrnPopover,
239
+ inputs: ['align', 'closeOnOutsidePointerEvents', 'sideOffset', 'state', 'offsetX'],
240
+ outputs: ['stateChanged', 'closed'],
241
+ },
242
+ ],
243
+ host: { 'data-slot': 'select' },
162
244
  }]
163
- }], propDecorators: { userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
245
+ }], ctorParameters: () => [] });
246
+
247
+ class HlmSelectPlaceholder {
248
+ constructor() {
249
+ 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");
250
+ }
251
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmSelectPlaceholder, deps: [], target: i0.ɵɵFactoryTarget.Directive });
252
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: HlmSelectPlaceholder, isStandalone: true, selector: "[hlmSelectPlaceholder],hlm-select-placeholder", host: { attributes: { "data-slot": "select-placeholder" } }, hostDirectives: [{ directive: i1.BrnSelectPlaceholder }], ngImport: i0 });
253
+ }
254
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmSelectPlaceholder, decorators: [{
255
+ type: Directive,
256
+ args: [{
257
+ selector: '[hlmSelectPlaceholder],hlm-select-placeholder',
258
+ hostDirectives: [BrnSelectPlaceholder],
259
+ host: { 'data-slot': 'select-placeholder' },
260
+ }]
261
+ }], ctorParameters: () => [] });
262
+
263
+ class HlmSelectPortal {
264
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmSelectPortal, deps: [], target: i0.ɵɵFactoryTarget.Directive });
265
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: HlmSelectPortal, isStandalone: true, selector: "[hlmSelectPortal]", hostDirectives: [{ directive: i2.BrnPopoverContent, inputs: ["context", "context", "class", "class"] }], ngImport: i0 });
266
+ }
267
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmSelectPortal, decorators: [{
268
+ type: Directive,
269
+ args: [{
270
+ selector: '[hlmSelectPortal]',
271
+ hostDirectives: [{ directive: BrnPopoverContent, inputs: ['context', 'class'] }],
272
+ }]
273
+ }] });
274
+
275
+ class HlmSelectSeparator {
276
+ constructor() {
277
+ classes(() => 'bg-border -mx-1 my-1 h-px pointer-events-none');
278
+ }
279
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmSelectSeparator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
280
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: HlmSelectSeparator, isStandalone: true, selector: "[hlmSelectSeparator],hlm-select-separator", host: { attributes: { "data-slot": "select-separator" } }, hostDirectives: [{ directive: i1.BrnSelectSeparator, inputs: ["orientation", "orientation"] }], ngImport: i0 });
281
+ }
282
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmSelectSeparator, decorators: [{
283
+ type: Directive,
284
+ args: [{
285
+ selector: '[hlmSelectSeparator],hlm-select-separator',
286
+ hostDirectives: [{ directive: BrnSelectSeparator, inputs: ['orientation'] }],
287
+ host: { 'data-slot': 'select-separator' },
288
+ }]
289
+ }], ctorParameters: () => [] });
164
290
 
165
- const selectTriggerVariants = cva(`border-input [&>ng-icon]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 dark:bg-input/10 dark:hover:bg-input/50 shadow-xs flex w-fit items-center justify-between gap-2 whitespace-nowrap rounded-md border bg-transparent px-3 py-2 text-sm outline-none transition-[color,box-shadow] focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 [&>ng-icon]:pointer-events-none [&>ng-icon]:size-4 [&>ng-icon]:shrink-0`, {
166
- variants: {
167
- error: {
168
- auto: '[&.ng-invalid.ng-touched]:text-destructive [&.ng-invalid.ng-touched]:border-destructive [&.ng-invalid.ng-touched]:focus-visible:ring-destructive/20 dark:[&.ng-invalid.ng-touched]:focus-visible:ring-destructive/40',
169
- true: 'text-destructive border-destructive focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40',
170
- },
171
- },
172
- defaultVariants: {
173
- error: 'auto',
174
- },
175
- });
176
291
  class HlmSelectTrigger {
177
- _icon = contentChild(HlmIcon, ...(ngDevMode ? [{ debugName: "_icon" }] : []));
178
- _brnSelect = inject(BrnSelect, { optional: true });
179
- userClass = input('', ...(ngDevMode ? [{ debugName: "userClass", alias: 'class' }] : [{ alias: 'class' }]));
180
- size = input('default', ...(ngDevMode ? [{ debugName: "size" }] : []));
181
- _computedClass = computed(() => hlm(selectTriggerVariants({ error: this._brnSelect?.errorState() }), this.userClass()), ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
182
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmSelectTrigger, deps: [], target: i0.ɵɵFactoryTarget.Component });
183
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: HlmSelectTrigger, isStandalone: true, selector: "hlm-select-trigger", inputs: { userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideIcons({ lucideChevronDown })], queries: [{ propertyName: "_icon", first: true, predicate: HlmIcon, descendants: true, isSignal: true }], ngImport: i0, template: `
184
- <button [class]="_computedClass()" #button egInput brnSelectTrigger type="button" [attr.data-size]="size()">
292
+ static _id = 0;
293
+ userClass = input('', { ...(ngDevMode ? { debugName: "userClass" } : /* istanbul ignore next */ {}), alias: 'class' });
294
+ _computedClass = computed(() => hlm('border-input data-placeholder:text-muted-foreground dark:bg-input/30 dark:hover:bg-input/50 focus-visible:border-ring focus-visible: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 gap-1.5 rounded-md border bg-transparent py-2 ps-2.5 pe-2 text-sm shadow-xs transition-[color,box-shadow] focus-visible:ring-3 data-[matches-spartan-invalid=true]:ring-3 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:gap-1.5 flex w-fit items-center justify-between whitespace-nowrap outline-none disabled:cursor-not-allowed disabled:opacity-50 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center [&_ng-icon]:pointer-events-none [&_ng-icon]:shrink-0', this.userClass()), /* @ts-ignore */
295
+ ...(ngDevMode ? [{ debugName: "_computedClass" }] : /* istanbul ignore next */ []));
296
+ buttonId = input(`hlm-select-trigger-${HlmSelectTrigger._id++}`, /* @ts-ignore */
297
+ ...(ngDevMode ? [{ debugName: "buttonId" }] : /* istanbul ignore next */ []));
298
+ size = input('default', /* @ts-ignore */
299
+ ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
300
+ /** Whether to force the trigger into an invalid state. */
301
+ forceInvalid = input(false, { ...(ngDevMode ? { debugName: "forceInvalid" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
302
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmSelectTrigger, deps: [], target: i0.ɵɵFactoryTarget.Component });
303
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.7", type: HlmSelectTrigger, isStandalone: true, selector: "hlm-select-trigger", inputs: { userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, buttonId: { classPropertyName: "buttonId", publicName: "buttonId", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, forceInvalid: { classPropertyName: "forceInvalid", publicName: "forceInvalid", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideIcons({ lucideChevronDown })], ngImport: i0, template: `
304
+ <button
305
+ brnSelectTrigger
306
+ brnFieldControlDescribedBy
307
+ [forceInvalid]="forceInvalid()"
308
+ [id]="buttonId()"
309
+ [class]="_computedClass()"
310
+ [attr.data-size]="size()"
311
+ data-slot="select-trigger"
312
+ >
185
313
  <ng-content />
186
- @if (_icon()) {
187
- <ng-content select="ng-icon" />
188
- } @else {
189
- <ng-icon hlm size="sm" class="ml-2 flex-none" name="lucideChevronDown" />
190
- }
314
+ <ng-icon name="lucideChevronDown" class="text-muted-foreground text-[length:--spacing(4)] ms-auto" />
191
315
  </button>
192
- `, isInline: true, dependencies: [{ kind: "directive", type: BrnSelectTrigger, selector: "[brnSelectTrigger]" }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: HlmIcon, selector: "ng-icon[hlm]", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
316
+ `, isInline: true, dependencies: [{ kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: BrnSelectTrigger, selector: "button[brnSelectTrigger]", inputs: ["id", "forceInvalid"] }, { kind: "directive", type: BrnFieldControlDescribedBy, selector: "[brnFieldControlDescribedBy]", inputs: ["aria-describedby"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
193
317
  }
194
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmSelectTrigger, decorators: [{
318
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmSelectTrigger, decorators: [{
195
319
  type: Component,
196
320
  args: [{
197
321
  selector: 'hlm-select-trigger',
198
- imports: [BrnSelectTrigger, NgIcon, HlmIcon],
322
+ imports: [NgIcon, BrnSelectTrigger, BrnFieldControlDescribedBy],
199
323
  providers: [provideIcons({ lucideChevronDown })],
324
+ changeDetection: ChangeDetectionStrategy.OnPush,
200
325
  template: `
201
- <button [class]="_computedClass()" #button egInput brnSelectTrigger type="button" [attr.data-size]="size()">
326
+ <button
327
+ brnSelectTrigger
328
+ brnFieldControlDescribedBy
329
+ [forceInvalid]="forceInvalid()"
330
+ [id]="buttonId()"
331
+ [class]="_computedClass()"
332
+ [attr.data-size]="size()"
333
+ data-slot="select-trigger"
334
+ >
202
335
  <ng-content />
203
- @if (_icon()) {
204
- <ng-content select="ng-icon" />
205
- } @else {
206
- <ng-icon hlm size="sm" class="ml-2 flex-none" name="lucideChevronDown" />
207
- }
336
+ <ng-icon name="lucideChevronDown" class="text-muted-foreground text-[length:--spacing(4)] ms-auto" />
208
337
  </button>
209
338
  `,
210
- changeDetection: ChangeDetectionStrategy.OnPush,
211
339
  }]
212
- }], propDecorators: { _icon: [{ type: i0.ContentChild, args: [i0.forwardRef(() => HlmIcon), { isSignal: true }] }], userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }] } });
340
+ }], propDecorators: { userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], buttonId: [{ type: i0.Input, args: [{ isSignal: true, alias: "buttonId", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], forceInvalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "forceInvalid", required: false }] }] } });
213
341
 
214
342
  class HlmSelectValue {
215
- userClass = input('', ...(ngDevMode ? [{ debugName: "userClass", alias: 'class' }] : [{ alias: 'class' }]));
216
- _computedClass = computed(() => hlm('data-[placeholder]:text-muted-foreground line-clamp-1 flex items-center gap-2', this.userClass()), ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
217
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmSelectValue, deps: [], target: i0.ɵɵFactoryTarget.Directive });
218
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.15", type: HlmSelectValue, isStandalone: true, selector: "hlm-select-value,[hlmSelectValue], brn-select-value[hlm]", inputs: { userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()" } }, ngImport: i0 });
343
+ _brnSelectValue = inject(BrnSelectValue);
344
+ _hidden = this._brnSelectValue.hidden;
345
+ constructor() {
346
+ classes(() => 'data-hidden:hidden');
347
+ }
348
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmSelectValue, deps: [], target: i0.ɵɵFactoryTarget.Directive });
349
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: HlmSelectValue, isStandalone: true, selector: "[hlmSelectValue],hlm-select-value", host: { properties: { "attr.data-slot": "!_hidden() ? \"select-value\" : null" } }, hostDirectives: [{ directive: i1.BrnSelectValue, inputs: ["placeholder", "placeholder"] }], ngImport: i0 });
219
350
  }
220
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmSelectValue, decorators: [{
351
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmSelectValue, decorators: [{
221
352
  type: Directive,
222
353
  args: [{
223
- selector: 'hlm-select-value,[hlmSelectValue], brn-select-value[hlm]',
224
- host: {
225
- '[class]': '_computedClass()',
226
- },
354
+ selector: '[hlmSelectValue],hlm-select-value',
355
+ hostDirectives: [{ directive: BrnSelectValue, inputs: ['placeholder'] }],
356
+ host: { '[attr.data-slot]': '!_hidden() ? "select-value" : null' },
227
357
  }]
228
- }], propDecorators: { userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
358
+ }], ctorParameters: () => [] });
359
+
360
+ class HlmSelectValueTemplate {
361
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmSelectValueTemplate, deps: [], target: i0.ɵɵFactoryTarget.Directive });
362
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: HlmSelectValueTemplate, isStandalone: true, selector: "[hlmSelectValueTemplate]", hostDirectives: [{ directive: i1.BrnSelectValueTemplate }], ngImport: i0 });
363
+ }
364
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmSelectValueTemplate, decorators: [{
365
+ type: Directive,
366
+ args: [{ selector: '[hlmSelectValueTemplate]', hostDirectives: [BrnSelectValueTemplate] }]
367
+ }] });
368
+
369
+ class HlmSelectValues {
370
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmSelectValues, deps: [], target: i0.ɵɵFactoryTarget.Directive });
371
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: HlmSelectValues, isStandalone: true, selector: "[hlmSelectValues]", hostDirectives: [{ directive: i1.BrnSelectValues }], ngImport: i0 });
372
+ }
373
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmSelectValues, decorators: [{
374
+ type: Directive,
375
+ args: [{ selector: '[hlmSelectValues]', hostDirectives: [BrnSelectValues] }]
376
+ }] });
377
+
378
+ class HlmSelectValuesContent {
379
+ constructor() {
380
+ classes(() => 'gap-2 flex');
381
+ }
382
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmSelectValuesContent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
383
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: HlmSelectValuesContent, isStandalone: true, selector: "[hlmSelectValuesContent],hlm-select-values-content", ngImport: i0 });
384
+ }
385
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmSelectValuesContent, decorators: [{
386
+ type: Directive,
387
+ args: [{ selector: '[hlmSelectValuesContent],hlm-select-values-content' }]
388
+ }], ctorParameters: () => [] });
229
389
 
230
390
  /*
231
391
  * Public API Surface of select
232
392
  */
233
393
  const HlmSelectImports = [
394
+ HlmSelect,
234
395
  HlmSelectContent,
396
+ HlmSelectGroup,
397
+ HlmSelectItem,
398
+ HlmSelectLabel,
399
+ HlmSelectMultiple,
400
+ HlmSelectPlaceholder,
401
+ HlmSelectPortal,
402
+ HlmSelectScrollDown,
403
+ HlmSelectScrollUp,
404
+ HlmSelectSeparator,
235
405
  HlmSelectTrigger,
236
- HlmSelectOption,
237
406
  HlmSelectValue,
238
- HlmSelect,
239
- HlmSelectScrollUp,
240
- HlmSelectScrollDown,
241
- HlmSelectLabel,
242
- HlmSelectGroup,
407
+ HlmSelectValues,
408
+ HlmSelectValuesContent,
409
+ HlmSelectValueTemplate,
243
410
  ];
244
411
  class HlmSelectModule {
245
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
246
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: HlmSelectModule, imports: [HlmSelectContent,
412
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
413
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: HlmSelectModule, imports: [HlmSelect,
414
+ HlmSelectContent,
415
+ HlmSelectGroup,
416
+ HlmSelectItem,
417
+ HlmSelectLabel,
418
+ HlmSelectMultiple,
419
+ HlmSelectPlaceholder,
420
+ HlmSelectPortal,
421
+ HlmSelectScrollDown,
422
+ HlmSelectScrollUp,
423
+ HlmSelectSeparator,
247
424
  HlmSelectTrigger,
248
- HlmSelectOption,
249
425
  HlmSelectValue,
250
- HlmSelect,
251
- HlmSelectScrollUp,
252
- HlmSelectScrollDown,
426
+ HlmSelectValues,
427
+ HlmSelectValuesContent,
428
+ HlmSelectValueTemplate], exports: [HlmSelect,
429
+ HlmSelectContent,
430
+ HlmSelectGroup,
431
+ HlmSelectItem,
253
432
  HlmSelectLabel,
254
- HlmSelectGroup], exports: [HlmSelectContent,
433
+ HlmSelectMultiple,
434
+ HlmSelectPlaceholder,
435
+ HlmSelectPortal,
436
+ HlmSelectScrollDown,
437
+ HlmSelectScrollUp,
438
+ HlmSelectSeparator,
255
439
  HlmSelectTrigger,
256
- HlmSelectOption,
257
440
  HlmSelectValue,
258
- HlmSelect,
259
- HlmSelectScrollUp,
441
+ HlmSelectValues,
442
+ HlmSelectValuesContent,
443
+ HlmSelectValueTemplate] });
444
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmSelectModule, imports: [HlmSelectContent,
445
+ HlmSelectItem,
260
446
  HlmSelectScrollDown,
261
- HlmSelectLabel,
262
- HlmSelectGroup] });
263
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmSelectModule, imports: [HlmSelectTrigger,
264
- HlmSelectOption,
265
447
  HlmSelectScrollUp,
266
- HlmSelectScrollDown] });
448
+ HlmSelectTrigger] });
267
449
  }
268
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmSelectModule, decorators: [{
450
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmSelectModule, decorators: [{
269
451
  type: NgModule,
270
452
  args: [{
271
453
  imports: [...HlmSelectImports],
@@ -277,5 +459,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
277
459
  * Generated bundle index. Do not edit.
278
460
  */
279
461
 
280
- export { HlmSelect, HlmSelectContent, HlmSelectGroup, HlmSelectImports, HlmSelectLabel, HlmSelectModule, HlmSelectOption, HlmSelectScrollDown, HlmSelectScrollUp, HlmSelectTrigger, HlmSelectValue, selectTriggerVariants };
462
+ export { HlmSelect, HlmSelectContent, HlmSelectGroup, HlmSelectImports, HlmSelectItem, HlmSelectLabel, HlmSelectModule, HlmSelectMultiple, HlmSelectPlaceholder, HlmSelectPortal, HlmSelectScrollDown, HlmSelectScrollUp, HlmSelectSeparator, HlmSelectTrigger, HlmSelectValue, HlmSelectValueTemplate, HlmSelectValues, HlmSelectValuesContent };
281
463
  //# sourceMappingURL=select.mjs.map