yukit-web 0.0.1

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