@egose/shadcn-theme-ng-tw 0.0.27 → 0.1.0

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