@spartan-ng/brain 0.0.1-alpha.563 → 0.0.1-alpha.565

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 (272) hide show
  1. package/accordion/index.d.ts +125 -10
  2. package/alert-dialog/index.d.ts +40 -13
  3. package/autocomplete/index.d.ts +113 -15
  4. package/avatar/index.d.ts +40 -8
  5. package/button/index.d.ts +15 -3
  6. package/calendar/index.d.ts +465 -29
  7. package/checkbox/index.d.ts +156 -3
  8. package/collapsible/index.d.ts +70 -8
  9. package/command/index.d.ts +147 -16
  10. package/core/index.d.ts +153 -11
  11. package/date-time/index.d.ts +321 -3
  12. package/date-time-luxon/index.d.ts +32 -1
  13. package/dialog/index.d.ts +225 -21
  14. package/fesm2022/spartan-ng-brain-accordion.mjs +12 -12
  15. package/fesm2022/spartan-ng-brain-accordion.mjs.map +1 -1
  16. package/fesm2022/spartan-ng-brain-alert-dialog.mjs +18 -18
  17. package/fesm2022/spartan-ng-brain-alert-dialog.mjs.map +1 -1
  18. package/fesm2022/spartan-ng-brain-autocomplete.mjs +18 -18
  19. package/fesm2022/spartan-ng-brain-autocomplete.mjs.map +1 -1
  20. package/fesm2022/spartan-ng-brain-avatar.mjs +12 -12
  21. package/fesm2022/spartan-ng-brain-avatar.mjs.map +1 -1
  22. package/fesm2022/spartan-ng-brain-button.mjs +3 -3
  23. package/fesm2022/spartan-ng-brain-button.mjs.map +1 -1
  24. package/fesm2022/spartan-ng-brain-calendar.mjs +42 -42
  25. package/fesm2022/spartan-ng-brain-calendar.mjs.map +1 -1
  26. package/fesm2022/spartan-ng-brain-checkbox.mjs +5 -5
  27. package/fesm2022/spartan-ng-brain-checkbox.mjs.map +1 -1
  28. package/fesm2022/spartan-ng-brain-collapsible.mjs +9 -9
  29. package/fesm2022/spartan-ng-brain-collapsible.mjs.map +1 -1
  30. package/fesm2022/spartan-ng-brain-command.mjs +29 -34
  31. package/fesm2022/spartan-ng-brain-command.mjs.map +1 -1
  32. package/fesm2022/spartan-ng-brain-core.mjs.map +1 -1
  33. package/fesm2022/spartan-ng-brain-date-time-luxon.mjs.map +1 -1
  34. package/fesm2022/spartan-ng-brain-date-time.mjs.map +1 -1
  35. package/fesm2022/spartan-ng-brain-dialog.mjs +24 -24
  36. package/fesm2022/spartan-ng-brain-dialog.mjs.map +1 -1
  37. package/fesm2022/spartan-ng-brain-form-field.mjs +3 -3
  38. package/fesm2022/spartan-ng-brain-form-field.mjs.map +1 -1
  39. package/fesm2022/spartan-ng-brain-forms.mjs +6 -6
  40. package/fesm2022/spartan-ng-brain-forms.mjs.map +1 -1
  41. package/fesm2022/spartan-ng-brain-hover-card.mjs +12 -12
  42. package/fesm2022/spartan-ng-brain-hover-card.mjs.map +1 -1
  43. package/fesm2022/spartan-ng-brain-input-otp.mjs +6 -6
  44. package/fesm2022/spartan-ng-brain-input-otp.mjs.map +1 -1
  45. package/fesm2022/spartan-ng-brain-label.mjs +3 -3
  46. package/fesm2022/spartan-ng-brain-label.mjs.map +1 -1
  47. package/fesm2022/spartan-ng-brain-menu.mjs +24 -24
  48. package/fesm2022/spartan-ng-brain-menu.mjs.map +1 -1
  49. package/fesm2022/spartan-ng-brain-navigation-menu.mjs +21 -21
  50. package/fesm2022/spartan-ng-brain-navigation-menu.mjs.map +1 -1
  51. package/fesm2022/spartan-ng-brain-popover.mjs +12 -12
  52. package/fesm2022/spartan-ng-brain-popover.mjs.map +1 -1
  53. package/fesm2022/spartan-ng-brain-progress.mjs +6 -6
  54. package/fesm2022/spartan-ng-brain-progress.mjs.map +1 -1
  55. package/fesm2022/spartan-ng-brain-radio-group.mjs +6 -6
  56. package/fesm2022/spartan-ng-brain-radio-group.mjs.map +1 -1
  57. package/fesm2022/spartan-ng-brain-resizable.mjs +10 -11
  58. package/fesm2022/spartan-ng-brain-resizable.mjs.map +1 -1
  59. package/fesm2022/spartan-ng-brain-select.mjs +33 -33
  60. package/fesm2022/spartan-ng-brain-select.mjs.map +1 -1
  61. package/fesm2022/spartan-ng-brain-separator.mjs +3 -3
  62. package/fesm2022/spartan-ng-brain-separator.mjs.map +1 -1
  63. package/fesm2022/spartan-ng-brain-sheet.mjs +21 -21
  64. package/fesm2022/spartan-ng-brain-sheet.mjs.map +1 -1
  65. package/fesm2022/spartan-ng-brain-slider.mjs +17 -17
  66. package/fesm2022/spartan-ng-brain-slider.mjs.map +1 -1
  67. package/fesm2022/spartan-ng-brain-switch.mjs +8 -8
  68. package/fesm2022/spartan-ng-brain-switch.mjs.map +1 -1
  69. package/fesm2022/spartan-ng-brain-tabs.mjs +15 -15
  70. package/fesm2022/spartan-ng-brain-tabs.mjs.map +1 -1
  71. package/fesm2022/spartan-ng-brain-toggle-group.mjs +6 -6
  72. package/fesm2022/spartan-ng-brain-toggle-group.mjs.map +1 -1
  73. package/fesm2022/spartan-ng-brain-toggle.mjs +3 -3
  74. package/fesm2022/spartan-ng-brain-toggle.mjs.map +1 -1
  75. package/fesm2022/spartan-ng-brain-tooltip.mjs +14 -14
  76. package/fesm2022/spartan-ng-brain-tooltip.mjs.map +1 -1
  77. package/fesm2022/spartan-ng-brain.mjs.map +1 -1
  78. package/form-field/index.d.ts +14 -1
  79. package/forms/index.d.ts +35 -3
  80. package/hover-card/index.d.ts +86 -5
  81. package/index.d.ts +2 -2
  82. package/input-otp/index.d.ts +82 -5
  83. package/label/index.d.ts +20 -3
  84. package/menu/index.d.ts +79 -17
  85. package/navigation-menu/index.d.ts +185 -13
  86. package/package.json +9 -9
  87. package/popover/index.d.ts +39 -9
  88. package/progress/index.d.ts +39 -6
  89. package/radio-group/index.d.ts +124 -6
  90. package/resizable/index.d.ts +103 -3
  91. package/select/index.d.ts +217 -21
  92. package/separator/index.d.ts +27 -4
  93. package/sheet/index.d.ts +51 -15
  94. package/slider/index.d.ts +100 -12
  95. package/switch/index.d.ts +141 -5
  96. package/tabs/index.d.ts +276 -10
  97. package/toggle/index.d.ts +30 -3
  98. package/toggle-group/index.d.ts +108 -6
  99. package/tooltip/index.d.ts +261 -10
  100. package/accordion/lib/brn-accordion-content.d.ts +0 -20
  101. package/accordion/lib/brn-accordion-item.d.ts +0 -28
  102. package/accordion/lib/brn-accordion-token.d.ts +0 -19
  103. package/accordion/lib/brn-accordion-trigger.d.ts +0 -16
  104. package/accordion/lib/brn-accordion.d.ts +0 -39
  105. package/alert-dialog/lib/brn-alert-dialog-content.d.ts +0 -6
  106. package/alert-dialog/lib/brn-alert-dialog-description.d.ts +0 -6
  107. package/alert-dialog/lib/brn-alert-dialog-overlay.d.ts +0 -6
  108. package/alert-dialog/lib/brn-alert-dialog-title.d.ts +0 -6
  109. package/alert-dialog/lib/brn-alert-dialog-trigger.d.ts +0 -10
  110. package/alert-dialog/lib/brn-alert-dialog.d.ts +0 -7
  111. package/autocomplete/lib/brn-autocomplete-empty.d.ts +0 -11
  112. package/autocomplete/lib/brn-autocomplete-group.d.ts +0 -8
  113. package/autocomplete/lib/brn-autocomplete-item.d.ts +0 -32
  114. package/autocomplete/lib/brn-autocomplete-item.token.d.ts +0 -4
  115. package/autocomplete/lib/brn-autocomplete-list.d.ts +0 -8
  116. package/autocomplete/lib/brn-autocomplete-search-input.d.ts +0 -13
  117. package/autocomplete/lib/brn-autocomplete.d.ts +0 -30
  118. package/autocomplete/lib/brn-autocomplete.token.d.ts +0 -5
  119. package/avatar/lib/brn-avatar.d.ts +0 -7
  120. package/avatar/lib/fallback/brn-avatar-fallback.d.ts +0 -9
  121. package/avatar/lib/fallback/index.d.ts +0 -1
  122. package/avatar/lib/image/brn-avatar-image.d.ts +0 -9
  123. package/avatar/lib/image/index.d.ts +0 -1
  124. package/avatar/lib/util/hex-color-for.d.ts +0 -1
  125. package/avatar/lib/util/index.d.ts +0 -3
  126. package/avatar/lib/util/initials.pipe.d.ts +0 -7
  127. package/avatar/lib/util/is-bright.d.ts +0 -1
  128. package/button/lib/brn-button.d.ts +0 -10
  129. package/calendar/lib/brn-calendar-cell-button.d.ts +0 -62
  130. package/calendar/lib/brn-calendar-cell.d.ts +0 -5
  131. package/calendar/lib/brn-calendar-grid.d.ts +0 -7
  132. package/calendar/lib/brn-calendar-header.d.ts +0 -7
  133. package/calendar/lib/brn-calendar-month-select.d.ts +0 -17
  134. package/calendar/lib/brn-calendar-next-button.d.ts +0 -13
  135. package/calendar/lib/brn-calendar-previous-button.d.ts +0 -13
  136. package/calendar/lib/brn-calendar-week.d.ts +0 -25
  137. package/calendar/lib/brn-calendar-weekday.d.ts +0 -28
  138. package/calendar/lib/brn-calendar-year-select.d.ts +0 -16
  139. package/calendar/lib/brn-calendar.d.ts +0 -74
  140. package/calendar/lib/brn-calendar.token.d.ts +0 -22
  141. package/calendar/lib/i18n/calendar-i18n.d.ts +0 -32
  142. package/calendar/lib/mode/brn-calendar-multiple.d.ts +0 -77
  143. package/calendar/lib/mode/brn-calendar-range.d.ts +0 -79
  144. package/checkbox/lib/brn-checkbox.d.ts +0 -151
  145. package/collapsible/lib/brn-collapsible-content.d.ts +0 -15
  146. package/collapsible/lib/brn-collapsible-token.d.ts +0 -16
  147. package/collapsible/lib/brn-collapsible-trigger.d.ts +0 -9
  148. package/collapsible/lib/brn-collapsible.d.ts +0 -24
  149. package/command/lib/brn-command-empty.d.ts +0 -11
  150. package/command/lib/brn-command-group.d.ts +0 -12
  151. package/command/lib/brn-command-item.d.ts +0 -42
  152. package/command/lib/brn-command-item.token.d.ts +0 -4
  153. package/command/lib/brn-command-list.d.ts +0 -8
  154. package/command/lib/brn-command-search-input.d.ts +0 -24
  155. package/command/lib/brn-command-search-input.token.d.ts +0 -4
  156. package/command/lib/brn-command.d.ts +0 -29
  157. package/command/lib/brn-command.token.d.ts +0 -11
  158. package/core/helpers/computed-previous.d.ts +0 -36
  159. package/core/helpers/create-hover-observable.d.ts +0 -7
  160. package/core/helpers/create-injection-token.d.ts +0 -20
  161. package/core/helpers/custom-element-class-settable.d.ts +0 -12
  162. package/core/helpers/debounced-signal.d.ts +0 -9
  163. package/core/helpers/dev-mode.d.ts +0 -5
  164. package/core/helpers/exposes-side.d.ts +0 -13
  165. package/core/helpers/exposes-state.d.ts +0 -13
  166. package/core/helpers/measure-dimensions.d.ts +0 -5
  167. package/core/helpers/table-classes-settable.d.ts +0 -16
  168. package/core/helpers/wait-for-element-animations.d.ts +0 -5
  169. package/core/helpers/zone-free.d.ts +0 -10
  170. package/date-time/lib/date-adapter.d.ts +0 -186
  171. package/date-time/lib/native-date-adapter.d.ts +0 -103
  172. package/date-time/lib/utc-date-adapter.d.ts +0 -28
  173. package/date-time-luxon/lib/date-adapter.d.ts +0 -29
  174. package/dialog/lib/brn-dialog-close.d.ts +0 -8
  175. package/dialog/lib/brn-dialog-content.d.ts +0 -12
  176. package/dialog/lib/brn-dialog-description.d.ts +0 -8
  177. package/dialog/lib/brn-dialog-options.d.ts +0 -26
  178. package/dialog/lib/brn-dialog-overlay.d.ts +0 -9
  179. package/dialog/lib/brn-dialog-ref.d.ts +0 -24
  180. package/dialog/lib/brn-dialog-state.d.ts +0 -1
  181. package/dialog/lib/brn-dialog-title.d.ts +0 -8
  182. package/dialog/lib/brn-dialog-token.d.ts +0 -29
  183. package/dialog/lib/brn-dialog-trigger.d.ts +0 -18
  184. package/dialog/lib/brn-dialog-utils.d.ts +0 -1
  185. package/dialog/lib/brn-dialog.d.ts +0 -61
  186. package/dialog/lib/brn-dialog.service.d.ts +0 -23
  187. package/form-field/lib/brn-form-field-control.d.ts +0 -11
  188. package/forms/lib/control-value-accessor.d.ts +0 -2
  189. package/forms/lib/error-options.d.ts +0 -14
  190. package/forms/lib/error-state-tracker.d.ts +0 -15
  191. package/hover-card/lib/brn-hover-card-content.service.d.ts +0 -72
  192. package/hover-card/lib/brn-hover-card.d.ts +0 -9
  193. package/input-otp/lib/brn-input-otp-slot.d.ts +0 -15
  194. package/input-otp/lib/brn-input-otp.d.ts +0 -61
  195. package/input-otp/lib/brn-input-otp.token.d.ts +0 -5
  196. package/label/lib/brn-label.d.ts +0 -15
  197. package/menu/lib/brn-context-menu-trigger.d.ts +0 -14
  198. package/menu/lib/brn-menu-align.d.ts +0 -4
  199. package/menu/lib/brn-menu-bar.d.ts +0 -6
  200. package/menu/lib/brn-menu-group.d.ts +0 -6
  201. package/menu/lib/brn-menu-item-checkbox.d.ts +0 -11
  202. package/menu/lib/brn-menu-item-radio.d.ts +0 -11
  203. package/menu/lib/brn-menu-item.d.ts +0 -10
  204. package/menu/lib/brn-menu-trigger.d.ts +0 -11
  205. package/menu/lib/brn-menu.d.ts +0 -11
  206. package/navigation-menu/lib/brn-navigation-menu-content.d.ts +0 -22
  207. package/navigation-menu/lib/brn-navigation-menu-content.service.d.ts +0 -44
  208. package/navigation-menu/lib/brn-navigation-menu-item-focusable.token.d.ts +0 -4
  209. package/navigation-menu/lib/brn-navigation-menu-item.d.ts +0 -23
  210. package/navigation-menu/lib/brn-navigation-menu-item.token.d.ts +0 -5
  211. package/navigation-menu/lib/brn-navigation-menu-link.d.ts +0 -22
  212. package/navigation-menu/lib/brn-navigation-menu-list.d.ts +0 -7
  213. package/navigation-menu/lib/brn-navigation-menu-trigger.d.ts +0 -44
  214. package/navigation-menu/lib/brn-navigation-menu.d.ts +0 -61
  215. package/navigation-menu/lib/brn-navigation-menu.token.d.ts +0 -5
  216. package/navigation-menu/lib/brn-parent-nav-menu.token.d.ts +0 -8
  217. package/popover/lib/brn-popover-close.d.ts +0 -6
  218. package/popover/lib/brn-popover-content.d.ts +0 -6
  219. package/popover/lib/brn-popover-trigger.d.ts +0 -10
  220. package/popover/lib/brn-popover.d.ts +0 -15
  221. package/progress/lib/brn-progress-indicator.d.ts +0 -6
  222. package/progress/lib/brn-progress.d.ts +0 -24
  223. package/progress/lib/brn-progress.token.d.ts +0 -4
  224. package/radio-group/lib/brn-radio-group.d.ts +0 -59
  225. package/radio-group/lib/brn-radio-group.token.d.ts +0 -4
  226. package/radio-group/lib/brn-radio.d.ts +0 -58
  227. package/resizable/lib/brn-resizable-group.d.ts +0 -37
  228. package/resizable/lib/brn-resizable-handle.d.ts +0 -26
  229. package/resizable/lib/brn-resizable-panel.d.ts +0 -39
  230. package/select/lib/brn-select-content.d.ts +0 -48
  231. package/select/lib/brn-select-content.token.d.ts +0 -4
  232. package/select/lib/brn-select-group.d.ts +0 -6
  233. package/select/lib/brn-select-label.d.ts +0 -9
  234. package/select/lib/brn-select-option.d.ts +0 -25
  235. package/select/lib/brn-select-placeholder.d.ts +0 -8
  236. package/select/lib/brn-select-trigger.d.ts +0 -24
  237. package/select/lib/brn-select-value-template.d.ts +0 -11
  238. package/select/lib/brn-select-value.d.ts +0 -18
  239. package/select/lib/brn-select.d.ts +0 -69
  240. package/select/lib/brn-select.token.d.ts +0 -4
  241. package/separator/lib/brn-separator.d.ts +0 -14
  242. package/separator/lib/brn-separator.token.d.ts +0 -7
  243. package/sheet/lib/brn-sheet-close.d.ts +0 -6
  244. package/sheet/lib/brn-sheet-content.d.ts +0 -8
  245. package/sheet/lib/brn-sheet-description.d.ts +0 -6
  246. package/sheet/lib/brn-sheet-overlay.d.ts +0 -6
  247. package/sheet/lib/brn-sheet-title.d.ts +0 -6
  248. package/sheet/lib/brn-sheet-trigger.d.ts +0 -10
  249. package/sheet/lib/brn-sheet.d.ts +0 -10
  250. package/slider/lib/brn-slider-range.d.ts +0 -7
  251. package/slider/lib/brn-slider-thumb.d.ts +0 -24
  252. package/slider/lib/brn-slider-tick.d.ts +0 -12
  253. package/slider/lib/brn-slider-track.d.ts +0 -12
  254. package/slider/lib/brn-slider-track.token.d.ts +0 -5
  255. package/slider/lib/brn-slider.d.ts +0 -39
  256. package/slider/lib/brn-slider.token.d.ts +0 -4
  257. package/switch/lib/brn-switch-thumb.d.ts +0 -5
  258. package/switch/lib/brn-switch.d.ts +0 -131
  259. package/tabs/lib/brn-tabs-content.d.ts +0 -15
  260. package/tabs/lib/brn-tabs-list.d.ts +0 -17
  261. package/tabs/lib/brn-tabs-paginated-list.d.ts +0 -196
  262. package/tabs/lib/brn-tabs-trigger.d.ts +0 -21
  263. package/tabs/lib/brn-tabs.d.ts +0 -38
  264. package/toggle/lib/brn-toggle.d.ts +0 -25
  265. package/toggle-group/lib/brn-toggle-group.d.ts +0 -68
  266. package/toggle-group/lib/brn-toggle-group.token.d.ts +0 -4
  267. package/toggle-group/lib/brn-toggle-item.d.ts +0 -31
  268. package/tooltip/lib/brn-tooltip-content-template.d.ts +0 -8
  269. package/tooltip/lib/brn-tooltip-content.d.ts +0 -73
  270. package/tooltip/lib/brn-tooltip-trigger.d.ts +0 -141
  271. package/tooltip/lib/brn-tooltip.d.ts +0 -7
  272. package/tooltip/lib/brn-tooltip.token.d.ts +0 -28
@@ -1 +1 @@
1
- {"version":3,"file":"spartan-ng-brain-select.mjs","sources":["../../../../libs/brain/select/src/lib/brn-select-content.token.ts","../../../../libs/brain/select/src/lib/brn-select.token.ts","../../../../libs/brain/select/src/lib/brn-select-option.ts","../../../../libs/brain/select/src/lib/brn-select-content.ts","../../../../libs/brain/select/src/lib/brn-select.ts","../../../../libs/brain/select/src/lib/brn-select-group.ts","../../../../libs/brain/select/src/lib/brn-select-label.ts","../../../../libs/brain/select/src/lib/brn-select-placeholder.ts","../../../../libs/brain/select/src/lib/brn-select-trigger.ts","../../../../libs/brain/select/src/lib/brn-select-value-template.ts","../../../../libs/brain/select/src/lib/brn-select-value.ts","../../../../libs/brain/select/src/index.ts","../../../../libs/brain/select/src/spartan-ng-brain-select.ts"],"sourcesContent":["import { type ExistingProvider, inject, InjectionToken, type Type } from '@angular/core';\nimport type { BrnSelectContent } from './brn-select-content';\n\nconst BrnSelectContentToken = new InjectionToken<BrnSelectContent<unknown>>('BrnSelectContentToken');\n\nexport function injectBrnSelectContent<T>(): BrnSelectContent<T> {\n\treturn inject(BrnSelectContentToken) as BrnSelectContent<T>;\n}\n\nexport function provideBrnSelectContent(select: Type<BrnSelectContent<unknown>>): ExistingProvider {\n\treturn { provide: BrnSelectContentToken, useExisting: select };\n}\n","import { type ExistingProvider, inject, InjectionToken, type Type } from '@angular/core';\nimport type { BrnSelect } from './brn-select';\n\nconst BrnSelectToken = new InjectionToken<BrnSelect>('BrnSelectToken');\n\nexport function injectBrnSelect<T>(): BrnSelect<T> {\n\treturn inject(BrnSelectToken) as BrnSelect<T>;\n}\n\nexport function provideBrnSelect(select: Type<BrnSelect>): ExistingProvider {\n\treturn { provide: BrnSelectToken, useExisting: select };\n}\n","import type { FocusableOption } from '@angular/cdk/a11y';\nimport type { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, computed, Directive, ElementRef, inject, input, signal } from '@angular/core';\nimport { injectBrnSelectContent } from './brn-select-content.token';\nimport { injectBrnSelect } from './brn-select.token';\n\nlet nextId = 0;\n\n@Directive({\n\tselector: '[brnOption]',\n\thost: {\n\t\trole: 'option',\n\t\t'[id]': 'id()',\n\t\t'[attr.aria-selected]': 'selected()',\n\t\t'[attr.aria-disabled]': '_disabled()',\n\t\t'(click)': 'select()',\n\t\t'[attr.dir]': '_select.dir()',\n\t\t'[attr.data-active]': \"_active() ? '' : undefined\",\n\t\t'[attr.data-disabled]': \"_disabled() ? '' : undefined\",\n\t\t'(mouseenter)': 'activate()',\n\t\t'(blur)': 'setInactiveStyles()',\n\t\t'[tabindex]': '-1',\n\t},\n})\nexport class BrnSelectOption<T> implements FocusableOption {\n\tprotected readonly _select = injectBrnSelect();\n\tprotected readonly _content = injectBrnSelectContent<T>();\n\tpublic readonly elementRef = inject(ElementRef);\n\tpublic readonly id = input(`brn-option-${++nextId}`);\n\tpublic readonly value = input<T>();\n\n\t// we use \"_disabled\" here because disabled is already defined in the Highlightable interface\n\t// eslint-disable-next-line @typescript-eslint/naming-convention\n\tpublic readonly _disabled = input<boolean, BooleanInput>(false, {\n\t\talias: 'disabled',\n\t\ttransform: booleanAttribute,\n\t});\n\n\tpublic get disabled(): boolean {\n\t\treturn this._disabled();\n\t}\n\n\tpublic readonly selected = computed(() => this.value() !== undefined && this._select.isSelected(this.value()));\n\tprotected readonly _active = signal(false);\n\tpublic readonly checkedState = computed(() => (this.selected() ? 'checked' : 'unchecked'));\n\tpublic readonly dir = this._select.dir;\n\n\tpublic select(): void {\n\t\tif (this._disabled()) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._select.multiple()) {\n\t\t\tthis._select.toggleSelect(this.value());\n\t\t\treturn;\n\t\t}\n\n\t\tthis._select.selectOption(this.value());\n\t}\n\n\t/** Get the label for this element which is required by the FocusableOption interface. */\n\tgetLabel(): string {\n\t\treturn this.elementRef.nativeElement.textContent?.trim() ?? '';\n\t}\n\n\tsetInactiveStyles(): void {\n\t\tthis._active.set(false);\n\t}\n\n\tprotected activate(): void {\n\t\tif (this._disabled()) {\n\t\t\treturn;\n\t\t}\n\t\tthis._content.setActiveOption(this);\n\t}\n\n\tpublic focus(): void {\n\t\tthis.elementRef.nativeElement.focus();\n\t\tthis._active.set(true);\n\t}\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n\ttype AfterContentInit,\n\tChangeDetectionStrategy,\n\tComponent,\n\tDestroyRef,\n\tElementRef,\n\tInjector,\n\tafterNextRender,\n\tcontentChild,\n\tcontentChildren,\n\teffect,\n\tinject,\n\tsignal,\n\tviewChild,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { BrnSelectOption } from './brn-select-option';\n\nimport { FocusKeyManager } from '@angular/cdk/a11y';\nimport { Directive } from '@angular/core';\nimport { Subject, fromEvent, interval } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { provideBrnSelectContent } from './brn-select-content.token';\nimport { injectBrnSelect } from './brn-select.token';\n\nconst SCROLLBY_PIXELS = 100;\n\n@Directive({\n\tselector: '[brnSelectScrollUp], brn-select-scroll-up, hlm-select-scroll-up:not(noHlm)',\n\thost: {\n\t\t'aria-hidden': 'true',\n\t\t'(mouseenter)': 'startEmittingEvents()',\n\t},\n})\nexport class BrnSelectScrollUp {\n\tprivate readonly _el = inject(ElementRef);\n\tprivate readonly _selectContent = inject(BrnSelectContent);\n\n\tprivate readonly _endReached = new Subject<boolean>();\n\tprivate readonly _destroyRef = inject(DestroyRef);\n\n\tpublic startEmittingEvents(): void {\n\t\tconst mouseLeave$ = fromEvent(this._el.nativeElement, 'mouseleave');\n\n\t\tinterval(100)\n\t\t\t.pipe(takeUntil(mouseLeave$), takeUntil(this._endReached), takeUntilDestroyed(this._destroyRef))\n\t\t\t.subscribe(() => this._selectContent.moveFocusUp());\n\t}\n\n\tpublic stopEmittingEvents(): void {\n\t\tthis._endReached.next(true);\n\t}\n}\n\n@Directive({\n\tselector: '[brnSelectScrollDown], brn-select-scroll-down, hlm-select-scroll-down:not(noHlm)',\n\thost: {\n\t\t'aria-hidden': 'true',\n\t\t'(mouseenter)': 'startEmittingEvents()',\n\t},\n})\nexport class BrnSelectScrollDown {\n\tprivate readonly _el = inject(ElementRef);\n\tprivate readonly _selectContent = inject(BrnSelectContent);\n\n\tprivate readonly _endReached = new Subject<boolean>();\n\tprivate readonly _destroyRef = inject(DestroyRef);\n\n\tpublic startEmittingEvents(): void {\n\t\tconst mouseLeave$ = fromEvent(this._el.nativeElement, 'mouseleave');\n\n\t\tinterval(100)\n\t\t\t.pipe(takeUntil(mouseLeave$), takeUntil(this._endReached), takeUntilDestroyed(this._destroyRef))\n\t\t\t.subscribe(() => this._selectContent.moveFocusDown());\n\t}\n\n\tpublic stopEmittingEvents(): void {\n\t\tthis._endReached.next(true);\n\t}\n}\n\n@Component({\n\tselector: 'brn-select-content, hlm-select-content:not(noHlm)',\n\timports: [NgTemplateOutlet],\n\tproviders: [provideBrnSelectContent(BrnSelectContent)],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\trole: 'listbox',\n\t\t'[attr.aria-multiselectable]': '_select.multiple()',\n\t\t'[attr.aria-disabled]': '_select.disabled() || _select.formDisabled()',\n\t\t'aria-orientation': 'vertical',\n\t\t'[attr.aria-labelledBy]': '_select.labelId()',\n\t\t'[attr.aria-controlledBy]': \"_select.id() +'--trigger'\",\n\t\t'[id]': \"_select.id() + '--content'\",\n\t\t'[attr.dir]': '_select.dir()',\n\t\t'(keydown)': 'keyManager?.onKeydown($event)',\n\t\t'(keydown.enter)': 'selectActiveItem($event)',\n\t\t'(keydown.space)': 'selectActiveItem($event)',\n\t\tclass: 'flex flex-col outline-none pointer-events-auto',\n\t},\n\ttemplate: `\n\t\t<ng-template #scrollUp>\n\t\t\t<ng-content select=\"hlm-select-scroll-up\" />\n\t\t\t<ng-content select=\"brnSelectScrollUp\" />\n\t\t</ng-template>\n\t\t<ng-container *ngTemplateOutlet=\"_canScrollUp() && _scrollUpBtn() ? scrollUp : null\" />\n\t\t<div\n\t\t\tdata-brn-select-viewport\n\t\t\t#viewport\n\t\t\t(scroll)=\"handleScroll()\"\n\t\t\tclass=\"relative -mb-0.5 min-h-9 w-full flex-1 overflow-auto pb-0.5 [-ms-overflow-style:none] [-webkit-overflow-scrolling:touch] [scrollbar-width:none] [&::-webkit-scrollbar]:hidden\"\n\t\t>\n\t\t\t<ng-content />\n\t\t</div>\n\t\t<ng-template #scrollDown>\n\t\t\t<ng-content select=\"brnSelectScrollDown\" />\n\t\t\t<ng-content select=\"hlm-select-scroll-down\" />\n\t\t</ng-template>\n\t\t<ng-container *ngTemplateOutlet=\"_canScrollDown() && _scrollDownBtn() ? scrollDown : null\" />\n\t`,\n})\nexport class BrnSelectContent<T> implements AfterContentInit {\n\tprivate readonly _elementRef: ElementRef<HTMLElement> = inject(ElementRef);\n\tprivate readonly _injector = inject(Injector);\n\tprotected readonly _select = injectBrnSelect<T>();\n\tprotected readonly _canScrollUp = signal(false);\n\tprotected readonly _canScrollDown = signal(false);\n\tprotected readonly _viewport = viewChild.required<ElementRef<HTMLElement>>('viewport');\n\tprotected readonly _scrollUpBtn = contentChild(BrnSelectScrollUp);\n\tprotected readonly _scrollDownBtn = contentChild(BrnSelectScrollDown);\n\tprivate readonly _options = contentChildren(BrnSelectOption, { descendants: true });\n\n\t/** @internal */\n\tpublic keyManager: FocusKeyManager<BrnSelectOption<T>> | null = null;\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tthis._select.open() && afterNextRender(() => this.updateArrowDisplay(), { injector: this._injector });\n\t\t});\n\t}\n\n\tngAfterContentInit(): void {\n\t\tthis.keyManager = new FocusKeyManager(this._options, this._injector)\n\t\t\t.withHomeAndEnd()\n\t\t\t.withVerticalOrientation()\n\t\t\t.withTypeAhead()\n\t\t\t.withWrap()\n\t\t\t.skipPredicate((option) => option.disabled);\n\n\t\teffect(\n\t\t\t() => {\n\t\t\t\tconst open = this._select.open();\n\t\t\t\tconst options = this._options();\n\n\t\t\t\tif (!open || !options.length) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst selectedOption = options.find((option) => option.selected());\n\n\t\t\t\tif (selectedOption) {\n\t\t\t\t\tafterNextRender(\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\tthis.keyManager?.setActiveItem(selectedOption);\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ injector: this._injector },\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tafterNextRender(\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\tthis.keyManager?.setFirstItemActive();\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ injector: this._injector },\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t},\n\t\t\t{ injector: this._injector },\n\t\t);\n\t}\n\n\tpublic updateArrowDisplay(): void {\n\t\tconst { scrollTop, scrollHeight, clientHeight } = this._viewport().nativeElement;\n\t\tthis._canScrollUp.set(scrollTop > 0);\n\t\tconst maxScroll = scrollHeight - clientHeight;\n\t\tthis._canScrollDown.set(Math.ceil(scrollTop) < maxScroll);\n\t}\n\n\tpublic handleScroll(): void {\n\t\tthis.updateArrowDisplay();\n\t}\n\n\tpublic focusList(): void {\n\t\tthis._elementRef.nativeElement.focus();\n\t}\n\n\tpublic moveFocusUp(): void {\n\t\tthis._viewport().nativeElement.scrollBy({ top: -SCROLLBY_PIXELS, behavior: 'smooth' });\n\t\tif (this._viewport().nativeElement.scrollTop === 0) {\n\t\t\tthis._scrollUpBtn()?.stopEmittingEvents();\n\t\t}\n\t}\n\n\tpublic moveFocusDown(): void {\n\t\tthis._viewport().nativeElement.scrollBy({ top: SCROLLBY_PIXELS, behavior: 'smooth' });\n\t\tconst viewportSize = this._elementRef.nativeElement.scrollHeight;\n\t\tconst viewportScrollPosition = this._viewport().nativeElement.scrollTop;\n\t\tif (\n\t\t\tviewportSize + viewportScrollPosition + SCROLLBY_PIXELS >\n\t\t\tthis._viewport().nativeElement.scrollHeight + SCROLLBY_PIXELS / 2\n\t\t) {\n\t\t\tthis._scrollDownBtn()?.stopEmittingEvents();\n\t\t}\n\t}\n\n\tsetActiveOption(option: BrnSelectOption<T>): void {\n\t\tconst index = this._options().findIndex((o) => o === option);\n\n\t\tif (index === -1) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.keyManager?.setActiveItem(index);\n\t}\n\n\tprotected selectActiveItem(event: KeyboardEvent): void {\n\t\tevent.preventDefault();\n\n\t\tconst activeOption = this.keyManager?.activeItem;\n\n\t\tif (activeOption) {\n\t\t\tthis._select.toggleSelect(activeOption.value()!);\n\t\t}\n\t}\n}\n","import type { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport { CdkListboxModule } from '@angular/cdk/listbox';\nimport {\n\tCdkConnectedOverlay,\n\ttype ConnectedOverlayPositionChange,\n\ttype ConnectedPosition,\n\tOverlayModule,\n} from '@angular/cdk/overlay';\nimport {\n\tbooleanAttribute,\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\tcontentChild,\n\tcontentChildren,\n\ttype DoCheck,\n\tforwardRef,\n\tinject,\n\tInjector,\n\tinput,\n\tmodel,\n\tnumberAttribute,\n\toutput,\n\ttype Signal,\n\tsignal,\n\tviewChild,\n} from '@angular/core';\nimport { takeUntilDestroyed, toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { type ControlValueAccessor, FormGroupDirective, NgControl, NgForm } from '@angular/forms';\nimport {\n\ttype ExposesSide,\n\ttype ExposesState,\n\tprovideExposedSideProviderExisting,\n\tprovideExposesStateProviderExisting,\n} from '@spartan-ng/brain/core';\nimport { BrnFormFieldControl } from '@spartan-ng/brain/form-field';\nimport { type ChangeFn, ErrorStateMatcher, ErrorStateTracker, type TouchFn } from '@spartan-ng/brain/forms';\nimport { BrnLabel } from '@spartan-ng/brain/label';\nimport { of, Subject } from 'rxjs';\nimport { delay, map, switchMap } from 'rxjs/operators';\nimport { BrnSelectContent } from './brn-select-content';\nimport { BrnSelectOption } from './brn-select-option';\nimport type { BrnSelectTrigger } from './brn-select-trigger';\nimport { provideBrnSelect } from './brn-select.token';\n\nexport type BrnReadDirection = 'ltr' | 'rtl';\n\nlet nextId = 0;\n\n@Component({\n\tselector: 'brn-select, hlm-select',\n\timports: [OverlayModule, CdkListboxModule],\n\tproviders: [\n\t\tprovideExposedSideProviderExisting(() => BrnSelect),\n\t\tprovideExposesStateProviderExisting(() => BrnSelect),\n\t\tprovideBrnSelect(BrnSelect),\n\t\t{\n\t\t\tprovide: BrnFormFieldControl,\n\t\t\tuseExisting: forwardRef(() => BrnSelect),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\ttemplate: `\n\t\t@if (!_selectLabel() && placeholder()) {\n\t\t\t<label style=\"display: none;\" [attr.id]=\"labelId()\">{{ placeholder() }}</label>\n\t\t} @else {\n\t\t\t<ng-content select=\"label[hlmLabel],label[brnLabel]\" />\n\t\t}\n\n\t\t<div cdk-overlay-origin (click)=\"toggle()\" #trigger=\"cdkOverlayOrigin\">\n\t\t\t<ng-content select=\"hlm-select-trigger,[brnSelectTrigger]\" />\n\t\t</div>\n\n\t\t<ng-template\n\t\t\tcdk-connected-overlay\n\t\t\tcdkConnectedOverlayLockPosition\n\t\t\tcdkConnectedOverlayHasBackdrop\n\t\t\tcdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n\t\t\t[cdkConnectedOverlayOrigin]=\"trigger\"\n\t\t\t[cdkConnectedOverlayOpen]=\"_delayedExpanded()\"\n\t\t\t[cdkConnectedOverlayPositions]=\"_positions\"\n\t\t\t[cdkConnectedOverlayWidth]=\"triggerWidth() > 0 ? triggerWidth() : 'auto'\"\n\t\t\t(backdropClick)=\"hide()\"\n\t\t\t(detach)=\"hide()\"\n\t\t\t(positionChange)=\"_positionChanges$.next($event)\"\n\t\t>\n\t\t\t<ng-content />\n\t\t</ng-template>\n\t`,\n})\nexport class BrnSelect<T = unknown>\n\timplements ControlValueAccessor, DoCheck, ExposesSide, ExposesState, BrnFormFieldControl\n{\n\tprivate readonly _defaultErrorStateMatcher = inject(ErrorStateMatcher);\n\tprivate readonly _parentForm = inject(NgForm, { optional: true });\n\tprivate readonly _injector = inject(Injector);\n\tprivate readonly _parentFormGroup = inject(FormGroupDirective, { optional: true });\n\tpublic readonly ngControl = inject(NgControl, { optional: true, self: true });\n\n\tpublic readonly id = input<string>(`brn-select-${++nextId}`);\n\tpublic readonly multiple = input<boolean, BooleanInput>(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\tpublic readonly placeholder = input<string>('');\n\tpublic readonly disabled = input<boolean, BooleanInput>(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\tpublic readonly dir = input<BrnReadDirection>('ltr');\n\tpublic readonly closeDelay = input<number, NumberInput>(100, {\n\t\ttransform: numberAttribute,\n\t});\n\n\tpublic readonly open = model<boolean>(false);\n\tpublic readonly value = model<T | T[]>();\n\tpublic readonly valueChange = output<T | T[]>();\n\tpublic readonly compareWith = input<(o1: T, o2: T) => boolean>((o1, o2) => o1 === o2);\n\tpublic readonly formDisabled = signal(false);\n\n\t/** Label provided by the consumer. */\n\tprotected readonly _selectLabel = contentChild(BrnLabel, { descendants: false });\n\n\t/** Overlay pane containing the options. */\n\tprotected readonly _selectContent = contentChild.required(BrnSelectContent);\n\n\t/** @internal */\n\tpublic readonly options = contentChildren(BrnSelectOption, { descendants: true });\n\n\t/** @internal Derive the selected options to filter out the unselected options */\n\tpublic readonly selectedOptions = computed(() => this.options().filter((option) => option.selected()));\n\n\t/** Overlay pane containing the options. */\n\tprotected readonly _overlayDir = viewChild.required(CdkConnectedOverlay);\n\tpublic readonly trigger = signal<BrnSelectTrigger<T> | null>(null);\n\tpublic readonly triggerWidth = signal<number>(0);\n\n\tprotected readonly _delayedExpanded = toSignal(\n\t\ttoObservable(this.open).pipe(\n\t\t\tswitchMap((expanded) => (!expanded ? of(expanded).pipe(delay(this.closeDelay())) : of(expanded))),\n\t\t\ttakeUntilDestroyed(),\n\t\t),\n\t\t{ initialValue: false },\n\t);\n\n\tpublic readonly state = computed(() => (this.open() ? 'open' : 'closed'));\n\n\tprotected readonly _positionChanges$ = new Subject<ConnectedOverlayPositionChange>();\n\n\tpublic readonly side: Signal<'top' | 'bottom' | 'left' | 'right'> = toSignal(\n\t\tthis._positionChanges$.pipe(\n\t\t\tmap<ConnectedOverlayPositionChange, 'top' | 'bottom' | 'left' | 'right'>((change) =>\n\t\t\t\t// todo: better translation or adjusting hlm to take that into account\n\t\t\t\tchange.connectionPair.originY === 'center'\n\t\t\t\t\t? change.connectionPair.originX === 'start'\n\t\t\t\t\t\t? 'left'\n\t\t\t\t\t\t: 'right'\n\t\t\t\t\t: change.connectionPair.originY,\n\t\t\t),\n\t\t),\n\t\t{ initialValue: 'bottom' },\n\t);\n\n\tpublic readonly labelId = computed(() => this._selectLabel()?.id ?? `${this.id()}--label`);\n\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\tprivate _onChange: ChangeFn<T | T[]> = () => {};\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\tprivate _onTouched: TouchFn = () => {};\n\n\t/*\n\t * This position config ensures that the top \"start\" corner of the overlay\n\t * is aligned with with the top \"start\" of the origin by default (overlapping\n\t * the trigger completely). If the panel cannot fit below the trigger, it\n\t * will fall back to a position above the trigger.\n\t */\n\tprotected _positions: ConnectedPosition[] = [\n\t\t{\n\t\t\toriginX: 'start',\n\t\t\toriginY: 'bottom',\n\t\t\toverlayX: 'start',\n\t\t\toverlayY: 'top',\n\t\t},\n\t\t{\n\t\t\toriginX: 'end',\n\t\t\toriginY: 'bottom',\n\t\t\toverlayX: 'end',\n\t\t\toverlayY: 'top',\n\t\t},\n\t\t{\n\t\t\toriginX: 'start',\n\t\t\toriginY: 'top',\n\t\t\toverlayX: 'start',\n\t\t\toverlayY: 'bottom',\n\t\t},\n\t\t{\n\t\t\toriginX: 'end',\n\t\t\toriginY: 'top',\n\t\t\toverlayX: 'end',\n\t\t\toverlayY: 'bottom',\n\t\t},\n\t];\n\n\tpublic errorStateTracker: ErrorStateTracker;\n\n\tpublic readonly errorState = computed(() => this.errorStateTracker.errorState());\n\n\tconstructor() {\n\t\tif (this.ngControl !== null) {\n\t\t\tthis.ngControl.valueAccessor = this;\n\t\t}\n\n\t\tthis.errorStateTracker = new ErrorStateTracker(\n\t\t\tthis._defaultErrorStateMatcher,\n\t\t\tthis.ngControl,\n\t\t\tthis._parentFormGroup,\n\t\t\tthis._parentForm,\n\t\t);\n\t}\n\n\tngDoCheck() {\n\t\tthis.errorStateTracker.updateErrorState();\n\t}\n\n\tpublic toggle(): void {\n\t\tif (this.open()) {\n\t\t\tthis.hide();\n\t\t} else {\n\t\t\tthis.show();\n\t\t}\n\t}\n\n\tpublic show(): void {\n\t\tif (this.open() || this.disabled() || this.formDisabled() || this.options()?.length == 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.open.set(true);\n\t}\n\n\tpublic hide(): void {\n\t\tif (!this.open()) return;\n\n\t\tthis.open.set(false);\n\t\tthis._onTouched();\n\n\t\t// restore focus to the trigger\n\t\tthis.trigger()?.focus();\n\t}\n\n\tpublic writeValue(value: T): void {\n\t\tthis.value.set(value);\n\t}\n\n\tpublic registerOnChange(fn: ChangeFn<T | T[]>): void {\n\t\tthis._onChange = fn;\n\t}\n\n\tpublic registerOnTouched(fn: TouchFn): void {\n\t\tthis._onTouched = fn;\n\t}\n\n\tpublic setDisabledState(isDisabled: boolean) {\n\t\tthis.formDisabled.set(isDisabled);\n\t}\n\n\tselectOption(value: T): void {\n\t\t// if this is a multiple select we need to add the value to the array\n\t\tif (this.multiple()) {\n\t\t\tconst currentValue = this.value() as T[];\n\t\t\tconst newValue = currentValue ? [...currentValue, value] : [value];\n\t\t\tthis.value.set(newValue);\n\t\t\tthis.valueChange.emit(newValue);\n\t\t} else {\n\t\t\tthis.value.set(value);\n\t\t\tthis.valueChange.emit(value);\n\t\t}\n\n\t\tthis._onChange?.(this.value() as T | T[]);\n\n\t\t// if this is single select close the dropdown\n\t\tif (!this.multiple()) {\n\t\t\tthis.hide();\n\t\t}\n\t}\n\n\tdeselectOption(value: T): void {\n\t\tif (this.multiple()) {\n\t\t\tconst currentValue = this.value() as T[];\n\t\t\tconst newValue = currentValue.filter((val) => !this.compareWith()(val, value));\n\t\t\tthis.value.set(newValue);\n\t\t\tthis.valueChange.emit(newValue);\n\t\t} else {\n\t\t\tthis.value.set(null as T);\n\t\t\tthis.valueChange.emit(null as T);\n\t\t}\n\n\t\tthis._onChange?.(this.value() as T | T[]);\n\t}\n\n\ttoggleSelect(value: T): void {\n\t\tif (this.isSelected(value)) {\n\t\t\tthis.deselectOption(value);\n\t\t} else {\n\t\t\tthis.selectOption(value);\n\t\t}\n\t}\n\n\tisSelected(value: T): boolean {\n\t\tconst selection = this.value();\n\n\t\tif (Array.isArray(selection)) {\n\t\t\treturn selection.some((val) => this.compareWith()(val, value));\n\t\t} else if (value !== undefined) {\n\t\t\treturn this.compareWith()(selection as T, value);\n\t\t}\n\n\t\treturn false;\n\t}\n}\n","import { Directive, signal } from '@angular/core';\n\n@Directive({\n\tselector: '[brnSelectGroup]',\n\thost: {\n\t\trole: 'group',\n\t\t'[attr.aria-labelledby]': 'labelledBy()',\n\t},\n})\nexport class BrnSelectGroup {\n\tpublic readonly labelledBy = signal('');\n}\n","import { Directive, inject } from '@angular/core';\nimport { BrnLabel } from '@spartan-ng/brain/label';\nimport { BrnSelectGroup } from './brn-select-group';\n\n@Directive({\n\tselector: '[brnSelectLabel]',\n\thostDirectives: [BrnLabel],\n})\nexport class BrnSelectLabel {\n\tprivate readonly _group = inject(BrnSelectGroup, { optional: true });\n\tprivate readonly _label = inject(BrnLabel, { host: true });\n\n\tconstructor() {\n\t\tthis._group?.labelledBy.set(this._label.id());\n\t}\n}\n","import { Directive, inject, TemplateRef } from '@angular/core';\n\n@Directive({\n\tselector: '[brnSelectPlaceholder], [hlmSelectPlaceholder]',\n})\nexport class BrnSelectPlaceholder {\n\t/** @internale */\n\tpublic readonly templateRef = inject<TemplateRef<void>>(TemplateRef);\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport {\n\ttype AfterViewInit,\n\tChangeDetectorRef,\n\tcomputed,\n\tDirective,\n\tElementRef,\n\tinject,\n\ttype OnDestroy,\n\ttype OnInit,\n\tPLATFORM_ID,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport type { Subscription } from 'rxjs';\nimport { injectBrnSelect } from './brn-select.token';\n\n@Directive({\n\tselector: '[brnSelectTrigger]',\n\thost: {\n\t\ttype: 'button',\n\t\trole: 'combobox',\n\t\t'[attr.id]': '_triggerId()',\n\t\t'[disabled]': '_disabled()',\n\t\t'[attr.aria-expanded]': '_select.open()',\n\t\t'[attr.aria-controls]': '_contentId()',\n\t\t'[attr.aria-labelledBy]': '_labelledBy()',\n\t\t'aria-autocomplete': 'none',\n\t\t'[attr.dir]': '_select.dir()',\n\t\t'[class.ng-invalid]': '_ngControl?.invalid || null',\n\t\t'[class.ng-dirty]': '_ngControl?.dirty || null',\n\t\t'[class.ng-valid]': '_ngControl?.valid || null',\n\t\t'[class.ng-touched]': '_ngControl?.touched || null',\n\t\t'[class.ng-untouched]': '_ngControl?.untouched || null',\n\t\t'[class.ng-pristine]': '_ngControl?.pristine || null',\n\t\t'(keydown.ArrowDown)': '_select.show()',\n\t},\n})\nexport class BrnSelectTrigger<T> implements AfterViewInit, OnDestroy, OnInit {\n\tprivate readonly _elementRef = inject(ElementRef);\n\t/** Access the change detector */\n\tprivate readonly _changeDetector = inject(ChangeDetectorRef);\n\tprotected readonly _select = injectBrnSelect<T>();\n\tprotected readonly _ngControl = inject(NgControl, { optional: true });\n\tprivate readonly _platform = inject(PLATFORM_ID);\n\tprotected readonly _triggerId = computed(() => `${this._select.id()}--trigger`);\n\tprotected readonly _contentId = computed(() => `${this._select.id()}--content`);\n\tprotected readonly _disabled = computed(() => this._select.disabled() || this._select.formDisabled());\n\tprotected readonly _labelledBy = computed(() => {\n\t\tconst value = this._select.value();\n\n\t\tif (Array.isArray(value) && value.length > 0) {\n\t\t\treturn `${this._select.labelId()} ${this._select.id()}--value`;\n\t\t}\n\t\treturn this._select.labelId();\n\t});\n\n\tprivate _resizeObserver?: ResizeObserver;\n\tprivate _statusChangedSubscription?: Subscription;\n\n\tconstructor() {\n\t\tthis._select.trigger.set(this);\n\t}\n\n\tngOnInit() {\n\t\tif (this._ngControl) {\n\t\t\tthis._statusChangedSubscription = this._ngControl.statusChanges?.subscribe(() => {\n\t\t\t\tthis._changeDetector.markForCheck();\n\t\t\t});\n\t\t}\n\t}\n\n\tngAfterViewInit() {\n\t\tthis._select.triggerWidth.set(this._elementRef.nativeElement.offsetWidth);\n\n\t\t// if we are on the client, listen for element resize events\n\t\tif (isPlatformBrowser(this._platform)) {\n\t\t\tthis._resizeObserver = new ResizeObserver(() =>\n\t\t\t\tthis._select.triggerWidth.set(this._elementRef.nativeElement.offsetWidth),\n\t\t\t);\n\n\t\t\tthis._resizeObserver.observe(this._elementRef.nativeElement);\n\t\t}\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._resizeObserver?.disconnect();\n\t\tthis._statusChangedSubscription?.unsubscribe();\n\t}\n\n\tfocus(): void {\n\t\tthis._elementRef.nativeElement.focus();\n\t}\n}\n","import { Directive, inject, TemplateRef } from '@angular/core';\n\n@Directive({\n\tselector: '[brnSelectValue], [hlmSelectValue]',\n})\nexport class BrnSelectValueTemplate<T> {\n\t/** @internal */\n\tpublic readonly templateRef = inject<TemplateRef<BrnSelectValueContext<T>>>(TemplateRef);\n}\n\nexport interface BrnSelectValueContext<T> {\n\t$implicit: T | T[];\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, contentChild, input } from '@angular/core';\nimport { BrnSelectPlaceholder } from './brn-select-placeholder';\nimport { BrnSelectValueTemplate } from './brn-select-value-template';\nimport { injectBrnSelect } from './brn-select.token';\n\n@Component({\n\tselector: 'brn-select-value, hlm-select-value',\n\timports: [NgTemplateOutlet],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\t'[id]': 'id()',\n\t\t'[attr.data-placeholder]': '_showPlaceholder() ? \"\" : null',\n\t\tclass: 'line-clamp-1 whitespace-nowrap pointer-events-none',\n\t},\n\ttemplate: `\n\t\t@if (_showPlaceholder()) {\n\t\t\t<ng-container [ngTemplateOutlet]=\"_customPlaceholderTemplate()?.templateRef ?? defaultPlaceholderTemplate\" />\n\t\t} @else {\n\t\t\t<ng-container\n\t\t\t\t[ngTemplateOutlet]=\"_customValueTemplate()?.templateRef ?? defaultValueTemplate\"\n\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: _select.value() }\"\n\t\t\t/>\n\t\t}\n\n\t\t<ng-template #defaultValueTemplate>{{ _value() }}</ng-template>\n\t\t<ng-template #defaultPlaceholderTemplate>{{ placeholder() }}</ng-template>\n\t`,\n})\nexport class BrnSelectValue<T> {\n\tprotected readonly _select = injectBrnSelect<T>();\n\tpublic readonly id = computed(() => `${this._select.id()}--value`);\n\tpublic readonly placeholder = computed(() => this._select.placeholder());\n\n\tprotected readonly _showPlaceholder = computed(\n\t\t() => this._value() === null || this._value() === undefined || this._value() === '',\n\t);\n\n\t/** Allow a custom value template */\n\tprotected readonly _customValueTemplate = contentChild(BrnSelectValueTemplate, { descendants: true });\n\tprotected readonly _customPlaceholderTemplate = contentChild(BrnSelectPlaceholder, { descendants: true });\n\n\tprotected readonly _value = computed(() => {\n\t\tconst value = this._values();\n\n\t\tif (value.length === 0) {\n\t\t\treturn null;\n\t\t}\n\n\t\t// remove any selected values that are not in the options list\n\t\tconst existingOptions = value.filter((val) =>\n\t\t\tthis._select.options().some((option) => this._select.compareWith()(option.value(), val)),\n\t\t);\n\t\tconst selectedOption = existingOptions.map((val) =>\n\t\t\tthis._select.options().find((option) => this._select.compareWith()(option.value(), val)),\n\t\t);\n\n\t\tif (selectedOption.length === 0) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst selectedLabels = selectedOption.map((option) => option?.getLabel());\n\n\t\tif (this._select.dir() === 'rtl') {\n\t\t\tselectedLabels.reverse();\n\t\t}\n\t\treturn this.transformFn()(selectedLabels);\n\t});\n\n\t/** Normalize the values as an array */\n\tprotected readonly _values = computed(() =>\n\t\tArray.isArray(this._select.value()) ? (this._select.value() as T[]) : ([this._select.value()] as T[]),\n\t);\n\n\tpublic readonly transformFn = input<(values: (string | undefined)[]) => any>((values) => (values ?? []).join(', '));\n}\n","import { BrnSelect } from './lib/brn-select';\nimport { BrnSelectContent, BrnSelectScrollDown, BrnSelectScrollUp } from './lib/brn-select-content';\nimport { BrnSelectGroup } from './lib/brn-select-group';\nimport { BrnSelectLabel } from './lib/brn-select-label';\nimport { BrnSelectOption } from './lib/brn-select-option';\nimport { BrnSelectPlaceholder } from './lib/brn-select-placeholder';\nimport { BrnSelectTrigger } from './lib/brn-select-trigger';\nimport { BrnSelectValue } from './lib/brn-select-value';\nimport { BrnSelectValueTemplate } from './lib/brn-select-value-template';\n\nexport * from './lib/brn-select';\nexport * from './lib/brn-select-content';\nexport * from './lib/brn-select-content.token';\nexport * from './lib/brn-select-group';\nexport * from './lib/brn-select-label';\nexport * from './lib/brn-select-option';\nexport * from './lib/brn-select-placeholder';\nexport * from './lib/brn-select-trigger';\nexport * from './lib/brn-select-value';\nexport * from './lib/brn-select-value-template';\nexport * from './lib/brn-select.token';\n\nexport const BrnSelectImports = [\n\tBrnSelect,\n\tBrnSelectContent,\n\tBrnSelectTrigger,\n\tBrnSelectOption,\n\tBrnSelectValue,\n\tBrnSelectScrollDown,\n\tBrnSelectScrollUp,\n\tBrnSelectGroup,\n\tBrnSelectLabel,\n\tBrnSelectValueTemplate,\n\tBrnSelectPlaceholder,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["nextId","i1"],"mappings":"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"}
1
+ {"version":3,"file":"spartan-ng-brain-select.mjs","sources":["../tmp-esm2022/select/lib/brn-select-content.token.js","../tmp-esm2022/select/lib/brn-select.token.js","../tmp-esm2022/select/lib/brn-select-option.js","../tmp-esm2022/select/lib/brn-select-content.js","../tmp-esm2022/select/lib/brn-select.js","../tmp-esm2022/select/lib/brn-select-group.js","../tmp-esm2022/select/lib/brn-select-label.js","../tmp-esm2022/select/lib/brn-select-placeholder.js","../tmp-esm2022/select/lib/brn-select-trigger.js","../tmp-esm2022/select/lib/brn-select-value-template.js","../tmp-esm2022/select/lib/brn-select-value.js","../tmp-esm2022/select/index.js","../tmp-esm2022/select/spartan-ng-brain-select.js"],"sourcesContent":["import { inject, InjectionToken } from '@angular/core';\nconst BrnSelectContentToken = new InjectionToken('BrnSelectContentToken');\nexport function injectBrnSelectContent() {\n return inject(BrnSelectContentToken);\n}\nexport function provideBrnSelectContent(select) {\n return { provide: BrnSelectContentToken, useExisting: select };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLXNlbGVjdC1jb250ZW50LnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9zZWxlY3Qvc3JjL2xpYi9icm4tc2VsZWN0LWNvbnRlbnQudG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF5QixNQUFNLEVBQUUsY0FBYyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBR3pGLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxjQUFjLENBQTRCLHVCQUF1QixDQUFDLENBQUM7QUFFckcsTUFBTSxVQUFVLHNCQUFzQjtJQUNyQyxPQUFPLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBd0IsQ0FBQztBQUM3RCxDQUFDO0FBRUQsTUFBTSxVQUFVLHVCQUF1QixDQUFDLE1BQXVDO0lBQzlFLE9BQU8sRUFBRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxDQUFDO0FBQ2hFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIEV4aXN0aW5nUHJvdmlkZXIsIGluamVjdCwgSW5qZWN0aW9uVG9rZW4sIHR5cGUgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBCcm5TZWxlY3RDb250ZW50IH0gZnJvbSAnLi9icm4tc2VsZWN0LWNvbnRlbnQnO1xuXG5jb25zdCBCcm5TZWxlY3RDb250ZW50VG9rZW4gPSBuZXcgSW5qZWN0aW9uVG9rZW48QnJuU2VsZWN0Q29udGVudDx1bmtub3duPj4oJ0JyblNlbGVjdENvbnRlbnRUb2tlbicpO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0QnJuU2VsZWN0Q29udGVudDxUPigpOiBCcm5TZWxlY3RDb250ZW50PFQ+IHtcblx0cmV0dXJuIGluamVjdChCcm5TZWxlY3RDb250ZW50VG9rZW4pIGFzIEJyblNlbGVjdENvbnRlbnQ8VD47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlQnJuU2VsZWN0Q29udGVudChzZWxlY3Q6IFR5cGU8QnJuU2VsZWN0Q29udGVudDx1bmtub3duPj4pOiBFeGlzdGluZ1Byb3ZpZGVyIHtcblx0cmV0dXJuIHsgcHJvdmlkZTogQnJuU2VsZWN0Q29udGVudFRva2VuLCB1c2VFeGlzdGluZzogc2VsZWN0IH07XG59XG4iXX0=","import { inject, InjectionToken } from '@angular/core';\nconst BrnSelectToken = new InjectionToken('BrnSelectToken');\nexport function injectBrnSelect() {\n return inject(BrnSelectToken);\n}\nexport function provideBrnSelect(select) {\n return { provide: BrnSelectToken, useExisting: select };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLXNlbGVjdC50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vc2VsZWN0L3NyYy9saWIvYnJuLXNlbGVjdC50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXlCLE1BQU0sRUFBRSxjQUFjLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFHekYsTUFBTSxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQVksZ0JBQWdCLENBQUMsQ0FBQztBQUV2RSxNQUFNLFVBQVUsZUFBZTtJQUM5QixPQUFPLE1BQU0sQ0FBQyxjQUFjLENBQWlCLENBQUM7QUFDL0MsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxNQUF1QjtJQUN2RCxPQUFPLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLENBQUM7QUFDekQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgRXhpc3RpbmdQcm92aWRlciwgaW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgdHlwZSBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IEJyblNlbGVjdCB9IGZyb20gJy4vYnJuLXNlbGVjdCc7XG5cbmNvbnN0IEJyblNlbGVjdFRva2VuID0gbmV3IEluamVjdGlvblRva2VuPEJyblNlbGVjdD4oJ0JyblNlbGVjdFRva2VuJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RCcm5TZWxlY3Q8VD4oKTogQnJuU2VsZWN0PFQ+IHtcblx0cmV0dXJuIGluamVjdChCcm5TZWxlY3RUb2tlbikgYXMgQnJuU2VsZWN0PFQ+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUJyblNlbGVjdChzZWxlY3Q6IFR5cGU8QnJuU2VsZWN0Pik6IEV4aXN0aW5nUHJvdmlkZXIge1xuXHRyZXR1cm4geyBwcm92aWRlOiBCcm5TZWxlY3RUb2tlbiwgdXNlRXhpc3Rpbmc6IHNlbGVjdCB9O1xufVxuIl19","import { booleanAttribute, computed, Directive, ElementRef, inject, input, signal } from '@angular/core';\nimport { injectBrnSelectContent } from './brn-select-content.token';\nimport { injectBrnSelect } from './brn-select.token';\nimport * as i0 from \"@angular/core\";\nlet nextId = 0;\nexport class BrnSelectOption {\n _select = injectBrnSelect();\n _content = injectBrnSelectContent();\n elementRef = inject(ElementRef);\n id = input(`brn-option-${++nextId}`);\n value = input();\n // we use \"_disabled\" here because disabled is already defined in the Highlightable interface\n // eslint-disable-next-line @typescript-eslint/naming-convention\n _disabled = input(false, {\n alias: 'disabled',\n transform: booleanAttribute,\n });\n get disabled() {\n return this._disabled();\n }\n selected = computed(() => this.value() !== undefined && this._select.isSelected(this.value()));\n _active = signal(false);\n checkedState = computed(() => (this.selected() ? 'checked' : 'unchecked'));\n dir = this._select.dir;\n select() {\n if (this._disabled()) {\n return;\n }\n if (this._select.multiple()) {\n this._select.toggleSelect(this.value());\n return;\n }\n this._select.selectOption(this.value());\n }\n /** Get the label for this element which is required by the FocusableOption interface. */\n getLabel() {\n return this.elementRef.nativeElement.textContent?.trim() ?? '';\n }\n setInactiveStyles() {\n this._active.set(false);\n }\n activate() {\n if (this._disabled()) {\n return;\n }\n this._content.setActiveOption(this);\n }\n focus() {\n this.elementRef.nativeElement.focus();\n this._active.set(true);\n }\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnSelectOption, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.7\", type: BrnSelectOption, isStandalone: true, selector: \"[brnOption]\", inputs: { id: { classPropertyName: \"id\", publicName: \"id\", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: \"value\", publicName: \"value\", isSignal: true, isRequired: false, transformFunction: null }, _disabled: { classPropertyName: \"_disabled\", publicName: \"disabled\", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { \"role\": \"option\" }, listeners: { \"click\": \"select()\", \"mouseenter\": \"activate()\", \"blur\": \"setInactiveStyles()\" }, properties: { \"id\": \"id()\", \"attr.aria-selected\": \"selected()\", \"attr.aria-disabled\": \"_disabled()\", \"attr.dir\": \"_select.dir()\", \"attr.data-active\": \"_active() ? '' : undefined\", \"attr.data-disabled\": \"_disabled() ? '' : undefined\", \"tabindex\": \"-1\" } }, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnSelectOption, decorators: [{\n type: Directive,\n args: [{\n selector: '[brnOption]',\n host: {\n role: 'option',\n '[id]': 'id()',\n '[attr.aria-selected]': 'selected()',\n '[attr.aria-disabled]': '_disabled()',\n '(click)': 'select()',\n '[attr.dir]': '_select.dir()',\n '[attr.data-active]': \"_active() ? '' : undefined\",\n '[attr.data-disabled]': \"_disabled() ? '' : undefined\",\n '(mouseenter)': 'activate()',\n '(blur)': 'setInactiveStyles()',\n '[tabindex]': '-1',\n },\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLXNlbGVjdC1vcHRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL3NlbGVjdC9zcmMvbGliL2Jybi1zZWxlY3Qtb3B0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBRXJELElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztBQWtCZixNQUFNLE9BQU8sZUFBZTtJQUNSLE9BQU8sR0FBRyxlQUFlLEVBQUUsQ0FBQztJQUM1QixRQUFRLEdBQUcsc0JBQXNCLEVBQUssQ0FBQztJQUMxQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2hDLEVBQUUsR0FBRyxLQUFLLENBQUMsY0FBYyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDckMsS0FBSyxHQUFHLEtBQUssRUFBSyxDQUFDO0lBRW5DLDZGQUE2RjtJQUM3RixnRUFBZ0U7SUFDaEQsU0FBUyxHQUFHLEtBQUssQ0FBd0IsS0FBSyxFQUFFO1FBQy9ELEtBQUssRUFBRSxVQUFVO1FBQ2pCLFNBQVMsRUFBRSxnQkFBZ0I7S0FDM0IsQ0FBQyxDQUFDO0lBRUgsSUFBVyxRQUFRO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFZSxRQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM1RixPQUFPLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLFlBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUMzRSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7SUFFaEMsTUFBTTtRQUNaLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDdEIsT0FBTztRQUNSLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUN4QyxPQUFPO1FBQ1IsQ0FBQztRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCx5RkFBeUY7SUFDekYsUUFBUTtRQUNQLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNoRSxDQUFDO0lBRUQsaUJBQWlCO1FBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFUyxRQUFRO1FBQ2pCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDdEIsT0FBTztRQUNSLENBQUM7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRU0sS0FBSztRQUNYLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hCLENBQUM7MEhBdkRXLGVBQWU7OEdBQWYsZUFBZTs7MkZBQWYsZUFBZTtrQkFoQjNCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLElBQUksRUFBRTt3QkFDTCxJQUFJLEVBQUUsUUFBUTt3QkFDZCxNQUFNLEVBQUUsTUFBTTt3QkFDZCxzQkFBc0IsRUFBRSxZQUFZO3dCQUNwQyxzQkFBc0IsRUFBRSxhQUFhO3dCQUNyQyxTQUFTLEVBQUUsVUFBVTt3QkFDckIsWUFBWSxFQUFFLGVBQWU7d0JBQzdCLG9CQUFvQixFQUFFLDRCQUE0Qjt3QkFDbEQsc0JBQXNCLEVBQUUsOEJBQThCO3dCQUN0RCxjQUFjLEVBQUUsWUFBWTt3QkFDNUIsUUFBUSxFQUFFLHFCQUFxQjt3QkFDL0IsWUFBWSxFQUFFLElBQUk7cUJBQ2xCO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBGb2N1c2FibGVPcHRpb24gfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgdHlwZSB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBib29sZWFuQXR0cmlidXRlLCBjb21wdXRlZCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QsIGlucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdEJyblNlbGVjdENvbnRlbnQgfSBmcm9tICcuL2Jybi1zZWxlY3QtY29udGVudC50b2tlbic7XG5pbXBvcnQgeyBpbmplY3RCcm5TZWxlY3QgfSBmcm9tICcuL2Jybi1zZWxlY3QudG9rZW4nO1xuXG5sZXQgbmV4dElkID0gMDtcblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnW2Jybk9wdGlvbl0nLFxuXHRob3N0OiB7XG5cdFx0cm9sZTogJ29wdGlvbicsXG5cdFx0J1tpZF0nOiAnaWQoKScsXG5cdFx0J1thdHRyLmFyaWEtc2VsZWN0ZWRdJzogJ3NlbGVjdGVkKCknLFxuXHRcdCdbYXR0ci5hcmlhLWRpc2FibGVkXSc6ICdfZGlzYWJsZWQoKScsXG5cdFx0JyhjbGljayknOiAnc2VsZWN0KCknLFxuXHRcdCdbYXR0ci5kaXJdJzogJ19zZWxlY3QuZGlyKCknLFxuXHRcdCdbYXR0ci5kYXRhLWFjdGl2ZV0nOiBcIl9hY3RpdmUoKSA/ICcnIDogdW5kZWZpbmVkXCIsXG5cdFx0J1thdHRyLmRhdGEtZGlzYWJsZWRdJzogXCJfZGlzYWJsZWQoKSA/ICcnIDogdW5kZWZpbmVkXCIsXG5cdFx0Jyhtb3VzZWVudGVyKSc6ICdhY3RpdmF0ZSgpJyxcblx0XHQnKGJsdXIpJzogJ3NldEluYWN0aXZlU3R5bGVzKCknLFxuXHRcdCdbdGFiaW5kZXhdJzogJy0xJyxcblx0fSxcbn0pXG5leHBvcnQgY2xhc3MgQnJuU2VsZWN0T3B0aW9uPFQ+IGltcGxlbWVudHMgRm9jdXNhYmxlT3B0aW9uIHtcblx0cHJvdGVjdGVkIHJlYWRvbmx5IF9zZWxlY3QgPSBpbmplY3RCcm5TZWxlY3QoKTtcblx0cHJvdGVjdGVkIHJlYWRvbmx5IF9jb250ZW50ID0gaW5qZWN0QnJuU2VsZWN0Q29udGVudDxUPigpO1xuXHRwdWJsaWMgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcblx0cHVibGljIHJlYWRvbmx5IGlkID0gaW5wdXQoYGJybi1vcHRpb24tJHsrK25leHRJZH1gKTtcblx0cHVibGljIHJlYWRvbmx5IHZhbHVlID0gaW5wdXQ8VD4oKTtcblxuXHQvLyB3ZSB1c2UgXCJfZGlzYWJsZWRcIiBoZXJlIGJlY2F1c2UgZGlzYWJsZWQgaXMgYWxyZWFkeSBkZWZpbmVkIGluIHRoZSBIaWdobGlnaHRhYmxlIGludGVyZmFjZVxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5cdHB1YmxpYyByZWFkb25seSBfZGlzYWJsZWQgPSBpbnB1dDxib29sZWFuLCBCb29sZWFuSW5wdXQ+KGZhbHNlLCB7XG5cdFx0YWxpYXM6ICdkaXNhYmxlZCcsXG5cdFx0dHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuXHR9KTtcblxuXHRwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLl9kaXNhYmxlZCgpO1xuXHR9XG5cblx0cHVibGljIHJlYWRvbmx5IHNlbGVjdGVkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy52YWx1ZSgpICE9PSB1bmRlZmluZWQgJiYgdGhpcy5fc2VsZWN0LmlzU2VsZWN0ZWQodGhpcy52YWx1ZSgpKSk7XG5cdHByb3RlY3RlZCByZWFkb25seSBfYWN0aXZlID0gc2lnbmFsKGZhbHNlKTtcblx0cHVibGljIHJlYWRvbmx5IGNoZWNrZWRTdGF0ZSA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLnNlbGVjdGVkKCkgPyAnY2hlY2tlZCcgOiAndW5jaGVja2VkJykpO1xuXHRwdWJsaWMgcmVhZG9ubHkgZGlyID0gdGhpcy5fc2VsZWN0LmRpcjtcblxuXHRwdWJsaWMgc2VsZWN0KCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLl9kaXNhYmxlZCgpKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0aWYgKHRoaXMuX3NlbGVjdC5tdWx0aXBsZSgpKSB7XG5cdFx0XHR0aGlzLl9zZWxlY3QudG9nZ2xlU2VsZWN0KHRoaXMudmFsdWUoKSk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0dGhpcy5fc2VsZWN0LnNlbGVjdE9wdGlvbih0aGlzLnZhbHVlKCkpO1xuXHR9XG5cblx0LyoqIEdldCB0aGUgbGFiZWwgZm9yIHRoaXMgZWxlbWVudCB3aGljaCBpcyByZXF1aXJlZCBieSB0aGUgRm9jdXNhYmxlT3B0aW9uIGludGVyZmFjZS4gKi9cblx0Z2V0TGFiZWwoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudGV4dENvbnRlbnQ/LnRyaW0oKSA/PyAnJztcblx0fVxuXG5cdHNldEluYWN0aXZlU3R5bGVzKCk6IHZvaWQge1xuXHRcdHRoaXMuX2FjdGl2ZS5zZXQoZmFsc2UpO1xuXHR9XG5cblx0cHJvdGVjdGVkIGFjdGl2YXRlKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLl9kaXNhYmxlZCgpKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdHRoaXMuX2NvbnRlbnQuc2V0QWN0aXZlT3B0aW9uKHRoaXMpO1xuXHR9XG5cblx0cHVibGljIGZvY3VzKCk6IHZvaWQge1xuXHRcdHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG5cdFx0dGhpcy5fYWN0aXZlLnNldCh0cnVlKTtcblx0fVxufVxuIl19","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, Injector, afterNextRender, contentChild, contentChildren, effect, inject, signal, viewChild, } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { BrnSelectOption } from './brn-select-option';\nimport { FocusKeyManager } from '@angular/cdk/a11y';\nimport { Directive } from '@angular/core';\nimport { Subject, fromEvent, interval } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { provideBrnSelectContent } from './brn-select-content.token';\nimport { injectBrnSelect } from './brn-select.token';\nimport * as i0 from \"@angular/core\";\nconst SCROLLBY_PIXELS = 100;\nexport class BrnSelectScrollUp {\n _el = inject(ElementRef);\n _selectContent = inject(BrnSelectContent);\n _endReached = new Subject();\n _destroyRef = inject(DestroyRef);\n startEmittingEvents() {\n const mouseLeave$ = fromEvent(this._el.nativeElement, 'mouseleave');\n interval(100)\n .pipe(takeUntil(mouseLeave$), takeUntil(this._endReached), takeUntilDestroyed(this._destroyRef))\n .subscribe(() => this._selectContent.moveFocusUp());\n }\n stopEmittingEvents() {\n this._endReached.next(true);\n }\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnSelectScrollUp, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.7\", type: BrnSelectScrollUp, isStandalone: true, selector: \"[brnSelectScrollUp], brn-select-scroll-up, hlm-select-scroll-up:not(noHlm)\", host: { attributes: { \"aria-hidden\": \"true\" }, listeners: { \"mouseenter\": \"startEmittingEvents()\" } }, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnSelectScrollUp, decorators: [{\n type: Directive,\n args: [{\n selector: '[brnSelectScrollUp], brn-select-scroll-up, hlm-select-scroll-up:not(noHlm)',\n host: {\n 'aria-hidden': 'true',\n '(mouseenter)': 'startEmittingEvents()',\n },\n }]\n }] });\nexport class BrnSelectScrollDown {\n _el = inject(ElementRef);\n _selectContent = inject(BrnSelectContent);\n _endReached = new Subject();\n _destroyRef = inject(DestroyRef);\n startEmittingEvents() {\n const mouseLeave$ = fromEvent(this._el.nativeElement, 'mouseleave');\n interval(100)\n .pipe(takeUntil(mouseLeave$), takeUntil(this._endReached), takeUntilDestroyed(this._destroyRef))\n .subscribe(() => this._selectContent.moveFocusDown());\n }\n stopEmittingEvents() {\n this._endReached.next(true);\n }\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnSelectScrollDown, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.7\", type: BrnSelectScrollDown, isStandalone: true, selector: \"[brnSelectScrollDown], brn-select-scroll-down, hlm-select-scroll-down:not(noHlm)\", host: { attributes: { \"aria-hidden\": \"true\" }, listeners: { \"mouseenter\": \"startEmittingEvents()\" } }, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnSelectScrollDown, decorators: [{\n type: Directive,\n args: [{\n selector: '[brnSelectScrollDown], brn-select-scroll-down, hlm-select-scroll-down:not(noHlm)',\n host: {\n 'aria-hidden': 'true',\n '(mouseenter)': 'startEmittingEvents()',\n },\n }]\n }] });\nexport class BrnSelectContent {\n _elementRef = inject(ElementRef);\n _injector = inject(Injector);\n _select = injectBrnSelect();\n _canScrollUp = signal(false);\n _canScrollDown = signal(false);\n _viewport = viewChild.required('viewport');\n _scrollUpBtn = contentChild(BrnSelectScrollUp);\n _scrollDownBtn = contentChild(BrnSelectScrollDown);\n _options = contentChildren(BrnSelectOption, { descendants: true });\n /** @internal */\n keyManager = null;\n constructor() {\n effect(() => {\n this._select.open() && afterNextRender(() => this.updateArrowDisplay(), { injector: this._injector });\n });\n }\n ngAfterContentInit() {\n this.keyManager = new FocusKeyManager(this._options, this._injector)\n .withHomeAndEnd()\n .withVerticalOrientation()\n .withTypeAhead()\n .withWrap()\n .skipPredicate((option) => option.disabled);\n effect(() => {\n const open = this._select.open();\n const options = this._options();\n if (!open || !options.length) {\n return;\n }\n const selectedOption = options.find((option) => option.selected());\n if (selectedOption) {\n afterNextRender(() => {\n this.keyManager?.setActiveItem(selectedOption);\n }, { injector: this._injector });\n }\n else {\n afterNextRender(() => {\n this.keyManager?.setFirstItemActive();\n }, { injector: this._injector });\n }\n }, { injector: this._injector });\n }\n updateArrowDisplay() {\n const { scrollTop, scrollHeight, clientHeight } = this._viewport().nativeElement;\n this._canScrollUp.set(scrollTop > 0);\n const maxScroll = scrollHeight - clientHeight;\n this._canScrollDown.set(Math.ceil(scrollTop) < maxScroll);\n }\n handleScroll() {\n this.updateArrowDisplay();\n }\n focusList() {\n this._elementRef.nativeElement.focus();\n }\n moveFocusUp() {\n this._viewport().nativeElement.scrollBy({ top: -SCROLLBY_PIXELS, behavior: 'smooth' });\n if (this._viewport().nativeElement.scrollTop === 0) {\n this._scrollUpBtn()?.stopEmittingEvents();\n }\n }\n moveFocusDown() {\n this._viewport().nativeElement.scrollBy({ top: SCROLLBY_PIXELS, behavior: 'smooth' });\n const viewportSize = this._elementRef.nativeElement.scrollHeight;\n const viewportScrollPosition = this._viewport().nativeElement.scrollTop;\n if (viewportSize + viewportScrollPosition + SCROLLBY_PIXELS >\n this._viewport().nativeElement.scrollHeight + SCROLLBY_PIXELS / 2) {\n this._scrollDownBtn()?.stopEmittingEvents();\n }\n }\n setActiveOption(option) {\n const index = this._options().findIndex((o) => o === option);\n if (index === -1) {\n return;\n }\n this.keyManager?.setActiveItem(index);\n }\n selectActiveItem(event) {\n event.preventDefault();\n const activeOption = this.keyManager?.activeItem;\n if (activeOption) {\n this._select.toggleSelect(activeOption.value());\n }\n }\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnSelectContent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.2.0\", version: \"20.0.7\", type: BrnSelectContent, isStandalone: true, selector: \"brn-select-content, hlm-select-content:not(noHlm)\", host: { attributes: { \"role\": \"listbox\", \"aria-orientation\": \"vertical\" }, listeners: { \"keydown\": \"keyManager?.onKeydown($event)\", \"keydown.enter\": \"selectActiveItem($event)\", \"keydown.space\": \"selectActiveItem($event)\" }, properties: { \"attr.aria-multiselectable\": \"_select.multiple()\", \"attr.aria-disabled\": \"_select.disabled() || _select.formDisabled()\", \"attr.aria-labelledBy\": \"_select.labelId()\", \"attr.aria-controlledBy\": \"_select.id() +'--trigger'\", \"id\": \"_select.id() + '--content'\", \"attr.dir\": \"_select.dir()\" }, classAttribute: \"flex flex-col outline-none pointer-events-auto\" }, providers: [provideBrnSelectContent(BrnSelectContent)], queries: [{ propertyName: \"_scrollUpBtn\", first: true, predicate: BrnSelectScrollUp, descendants: true, isSignal: true }, { propertyName: \"_scrollDownBtn\", first: true, predicate: BrnSelectScrollDown, descendants: true, isSignal: true }, { propertyName: \"_options\", predicate: BrnSelectOption, descendants: true, isSignal: true }], viewQueries: [{ propertyName: \"_viewport\", first: true, predicate: [\"viewport\"], descendants: true, isSignal: true }], ngImport: i0, template: `\n\t\t<ng-template #scrollUp>\n\t\t\t<ng-content select=\"hlm-select-scroll-up\" />\n\t\t\t<ng-content select=\"brnSelectScrollUp\" />\n\t\t</ng-template>\n\t\t<ng-container *ngTemplateOutlet=\"_canScrollUp() && _scrollUpBtn() ? scrollUp : null\" />\n\t\t<div\n\t\t\tdata-brn-select-viewport\n\t\t\t#viewport\n\t\t\t(scroll)=\"handleScroll()\"\n\t\t\tclass=\"relative -mb-0.5 min-h-9 w-full flex-1 overflow-auto pb-0.5 [-ms-overflow-style:none] [-webkit-overflow-scrolling:touch] [scrollbar-width:none] [&::-webkit-scrollbar]:hidden\"\n\t\t>\n\t\t\t<ng-content />\n\t\t</div>\n\t\t<ng-template #scrollDown>\n\t\t\t<ng-content select=\"brnSelectScrollDown\" />\n\t\t\t<ng-content select=\"hlm-select-scroll-down\" />\n\t\t</ng-template>\n\t\t<ng-container *ngTemplateOutlet=\"_canScrollDown() && _scrollDownBtn() ? scrollDown : null\" />\n\t`, isInline: true, dependencies: [{ kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnSelectContent, decorators: [{\n type: Component,\n args: [{\n selector: 'brn-select-content, hlm-select-content:not(noHlm)',\n imports: [NgTemplateOutlet],\n providers: [provideBrnSelectContent(BrnSelectContent)],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'listbox',\n '[attr.aria-multiselectable]': '_select.multiple()',\n '[attr.aria-disabled]': '_select.disabled() || _select.formDisabled()',\n 'aria-orientation': 'vertical',\n '[attr.aria-labelledBy]': '_select.labelId()',\n '[attr.aria-controlledBy]': \"_select.id() +'--trigger'\",\n '[id]': \"_select.id() + '--content'\",\n '[attr.dir]': '_select.dir()',\n '(keydown)': 'keyManager?.onKeydown($event)',\n '(keydown.enter)': 'selectActiveItem($event)',\n '(keydown.space)': 'selectActiveItem($event)',\n class: 'flex flex-col outline-none pointer-events-auto',\n },\n template: `\n\t\t<ng-template #scrollUp>\n\t\t\t<ng-content select=\"hlm-select-scroll-up\" />\n\t\t\t<ng-content select=\"brnSelectScrollUp\" />\n\t\t</ng-template>\n\t\t<ng-container *ngTemplateOutlet=\"_canScrollUp() && _scrollUpBtn() ? scrollUp : null\" />\n\t\t<div\n\t\t\tdata-brn-select-viewport\n\t\t\t#viewport\n\t\t\t(scroll)=\"handleScroll()\"\n\t\t\tclass=\"relative -mb-0.5 min-h-9 w-full flex-1 overflow-auto pb-0.5 [-ms-overflow-style:none] [-webkit-overflow-scrolling:touch] [scrollbar-width:none] [&::-webkit-scrollbar]:hidden\"\n\t\t>\n\t\t\t<ng-content />\n\t\t</div>\n\t\t<ng-template #scrollDown>\n\t\t\t<ng-content select=\"brnSelectScrollDown\" />\n\t\t\t<ng-content select=\"hlm-select-scroll-down\" />\n\t\t</ng-template>\n\t\t<ng-container *ngTemplateOutlet=\"_canScrollDown() && _scrollDownBtn() ? scrollDown : null\" />\n\t`,\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLXNlbGVjdC1jb250ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9zZWxlY3Qvc3JjL2xpYi9icm4tc2VsZWN0LWNvbnRlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUVOLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixRQUFRLEVBQ1IsZUFBZSxFQUNmLFlBQVksRUFDWixlQUFlLEVBQ2YsTUFBTSxFQUNOLE1BQU0sRUFDTixNQUFNLEVBQ04sU0FBUyxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFFckQsTUFBTSxlQUFlLEdBQUcsR0FBRyxDQUFDO0FBUzVCLE1BQU0sT0FBTyxpQkFBaUI7SUFDWixHQUFHLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3pCLGNBQWMsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUUxQyxXQUFXLEdBQUcsSUFBSSxPQUFPLEVBQVcsQ0FBQztJ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QUFnQixrckJBckNqQixDQUFDLHVCQUF1QixDQUFDLGdCQUFnQixDQUFDLENBQUMsb0VBNENQLGlCQUFpQixpR0FDZixtQkFBbUIsOEVBQ3hCLGVBQWUsdUxBOUJqRDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQW1CVCw0REFwQ1MsZ0JBQWdCOzsyRkFzQ2QsZ0JBQWdCO2tCQXhDNUIsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsbURBQW1EO29CQUM3RCxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDM0IsU0FBUyxFQUFFLENBQUMsdUJBQXVCLGtCQUFrQixDQUFDO29CQUN0RCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsSUFBSSxFQUFFO3dCQUNMLElBQUksRUFBRSxTQUFTO3dCQUNmLDZCQUE2QixFQUFFLG9CQUFvQjt3QkFDbkQsc0JBQXNCLEVBQUUsOENBQThDO3dCQUN0RSxrQkFBa0IsRUFBRSxVQUFVO3dCQUM5Qix3QkFBd0IsRUFBRSxtQkFBbUI7d0JBQzdDLDBCQUEwQixFQUFFLDJCQUEyQjt3QkFDdkQsTUFBTSxFQUFFLDRCQUE0Qjt3QkFDcEMsWUFBWSxFQUFFLGVBQWU7d0JBQzdCLFdBQVcsRUFBRSwrQkFBK0I7d0JBQzVDLGlCQUFpQixFQUFFLDBCQUEwQjt3QkFDN0MsaUJBQWlCLEVBQUUsMEJBQTBCO3dCQUM3QyxLQUFLLEVBQUUsZ0RBQWdEO3FCQUN2RDtvQkFDRCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFtQlQ7aUJBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG5cdHR5cGUgQWZ0ZXJDb250ZW50SW5pdCxcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0RGVzdHJveVJlZixcblx0RWxlbWVudFJlZixcblx0SW5qZWN0b3IsXG5cdGFmdGVyTmV4dFJlbmRlcixcblx0Y29udGVudENoaWxkLFxuXHRjb250ZW50Q2hpbGRyZW4sXG5cdGVmZmVjdCxcblx0aW5qZWN0LFxuXHRzaWduYWwsXG5cdHZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBCcm5TZWxlY3RPcHRpb24gfSBmcm9tICcuL2Jybi1zZWxlY3Qtb3B0aW9uJztcblxuaW1wb3J0IHsgRm9jdXNLZXlNYW5hZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBmcm9tRXZlbnQsIGludGVydmFsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBwcm92aWRlQnJuU2VsZWN0Q29udGVudCB9IGZyb20gJy4vYnJuLXNlbGVjdC1jb250ZW50LnRva2VuJztcbmltcG9ydCB7IGluamVjdEJyblNlbGVjdCB9IGZyb20gJy4vYnJuLXNlbGVjdC50b2tlbic7XG5cbmNvbnN0IFNDUk9MTEJZX1BJWEVMUyA9IDEwMDtcblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnW2JyblNlbGVjdFNjcm9sbFVwXSwgYnJuLXNlbGVjdC1zY3JvbGwtdXAsIGhsbS1zZWxlY3Qtc2Nyb2xsLXVwOm5vdChub0hsbSknLFxuXHRob3N0OiB7XG5cdFx0J2FyaWEtaGlkZGVuJzogJ3RydWUnLFxuXHRcdCcobW91c2VlbnRlciknOiAnc3RhcnRFbWl0dGluZ0V2ZW50cygpJyxcblx0fSxcbn0pXG5leHBvcnQgY2xhc3MgQnJuU2VsZWN0U2Nyb2xsVXAge1xuXHRwcml2YXRlIHJlYWRvbmx5IF9lbCA9IGluamVjdChFbGVtZW50UmVmKTtcblx0cHJpdmF0ZSByZWFkb25seSBfc2VsZWN0Q29udGVudCA9IGluamVjdChCcm5TZWxlY3RDb250ZW50KTtcblxuXHRwcml2YXRlIHJlYWRvbmx5IF9lbmRSZWFjaGVkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblx0cHJpdmF0ZSByZWFkb25seSBfZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuXHRwdWJsaWMgc3RhcnRFbWl0dGluZ0V2ZW50cygpOiB2b2lkIHtcblx0XHRjb25zdCBtb3VzZUxlYXZlJCA9IGZyb21FdmVudCh0aGlzLl9lbC5uYXRpdmVFbGVtZW50LCAnbW91c2VsZWF2ZScpO1xuXG5cdFx0aW50ZXJ2YWwoMTAwKVxuXHRcdFx0LnBpcGUodGFrZVVudGlsKG1vdXNlTGVhdmUkKSwgdGFrZVVudGlsKHRoaXMuX2VuZFJlYWNoZWQpLCB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpXG5cdFx0XHQuc3Vic2NyaWJlKCgpID0+IHRoaXMuX3NlbGVjdENvbnRlbnQubW92ZUZvY3VzVXAoKSk7XG5cdH1cblxuXHRwdWJsaWMgc3RvcEVtaXR0aW5nRXZlbnRzKCk6IHZvaWQge1xuXHRcdHRoaXMuX2VuZFJlYWNoZWQubmV4dCh0cnVlKTtcblx0fVxufVxuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdbYnJuU2VsZWN0U2Nyb2xsRG93bl0sIGJybi1zZWxlY3Qtc2Nyb2xsLWRvd24sIGhsbS1zZWxlY3Qtc2Nyb2xsLWRvd246bm90KG5vSGxtKScsXG5cdGhvc3Q6IHtcblx0XHQnYXJpYS1oaWRkZW4nOiAndHJ1ZScsXG5cdFx0Jyhtb3VzZWVudGVyKSc6ICdzdGFydEVtaXR0aW5nRXZlbnRzKCknLFxuXHR9LFxufSlcbmV4cG9ydCBjbGFzcyBCcm5TZWxlY3RTY3JvbGxEb3duIHtcblx0cHJpdmF0ZSByZWFkb25seSBfZWwgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cdHByaXZhdGUgcmVhZG9ubHkgX3NlbGVjdENvbnRlbnQgPSBpbmplY3QoQnJuU2VsZWN0Q29udGVudCk7XG5cblx0cHJpdmF0ZSByZWFkb25seSBfZW5kUmVhY2hlZCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cdHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cblx0cHVibGljIHN0YXJ0RW1pdHRpbmdFdmVudHMoKTogdm9pZCB7XG5cdFx0Y29uc3QgbW91c2VMZWF2ZSQgPSBmcm9tRXZlbnQodGhpcy5fZWwubmF0aXZlRWxlbWVudCwgJ21vdXNlbGVhdmUnKTtcblxuXHRcdGludGVydmFsKDEwMClcblx0XHRcdC5waXBlKHRha2VVbnRpbChtb3VzZUxlYXZlJCksIHRha2VVbnRpbCh0aGlzLl9lbmRSZWFjaGVkKSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKVxuXHRcdFx0LnN1YnNjcmliZSgoKSA9PiB0aGlzLl9zZWxlY3RDb250ZW50Lm1vdmVGb2N1c0Rvd24oKSk7XG5cdH1cblxuXHRwdWJsaWMgc3RvcEVtaXR0aW5nRXZlbnRzKCk6IHZvaWQge1xuXHRcdHRoaXMuX2VuZFJlYWNoZWQubmV4dCh0cnVlKTtcblx0fVxufVxuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdicm4tc2VsZWN0LWNvbnRlbnQsIGhsbS1zZWxlY3QtY29udGVudDpub3Qobm9IbG0pJyxcblx0aW1wb3J0czogW05nVGVtcGxhdGVPdXRsZXRdLFxuXHRwcm92aWRlcnM6IFtwcm92aWRlQnJuU2VsZWN0Q29udGVudChCcm5TZWxlY3RDb250ZW50KV0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRob3N0OiB7XG5cdFx0cm9sZTogJ2xpc3Rib3gnLFxuXHRcdCdbYXR0ci5hcmlhLW11bHRpc2VsZWN0YWJsZV0nOiAnX3NlbGVjdC5tdWx0aXBsZSgpJyxcblx0XHQnW2F0dHIuYXJpYS1kaXNhYmxlZF0nOiAnX3NlbGVjdC5kaXNhYmxlZCgpIHx8IF9zZWxlY3QuZm9ybURpc2FibGVkKCknLFxuXHRcdCdhcmlhLW9yaWVudGF0aW9uJzogJ3ZlcnRpY2FsJyxcblx0XHQnW2F0dHIuYXJpYS1sYWJlbGxlZEJ5XSc6ICdfc2VsZWN0LmxhYmVsSWQoKScsXG5cdFx0J1thdHRyLmFyaWEtY29udHJvbGxlZEJ5XSc6IFwiX3NlbGVjdC5pZCgpICsnLS10cmlnZ2VyJ1wiLFxuXHRcdCdbaWRdJzogXCJfc2VsZWN0LmlkKCkgKyAnLS1jb250ZW50J1wiLFxuXHRcdCdbYXR0ci5kaXJdJzogJ19zZWxlY3QuZGlyKCknLFxuXHRcdCcoa2V5ZG93biknOiAna2V5TWFuYWdlcj8ub25LZXlkb3duKCRldmVudCknLFxuXHRcdCcoa2V5ZG93bi5lbnRlciknOiAnc2VsZWN0QWN0aXZlSXRlbSgkZXZlbnQpJyxcblx0XHQnKGtleWRvd24uc3BhY2UpJzogJ3NlbGVjdEFjdGl2ZUl0ZW0oJGV2ZW50KScsXG5cdFx0Y2xhc3M6ICdmbGV4IGZsZXgtY29sIG91dGxpbmUtbm9uZSBwb2ludGVyLWV2ZW50cy1hdXRvJyxcblx0fSxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmctdGVtcGxhdGUgI3Njcm9sbFVwPlxuXHRcdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwiaGxtLXNlbGVjdC1zY3JvbGwtdXBcIiAvPlxuXHRcdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwiYnJuU2VsZWN0U2Nyb2xsVXBcIiAvPlxuXHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIl9jYW5TY3JvbGxVcCgpICYmIF9zY3JvbGxVcEJ0bigpID8gc2Nyb2xsVXAgOiBudWxsXCIgLz5cblx0XHQ8ZGl2XG5cdFx0XHRkYXRhLWJybi1zZWxlY3Qtdmlld3BvcnRcblx0XHRcdCN2aWV3cG9ydFxuXHRcdFx0KHNjcm9sbCk9XCJoYW5kbGVTY3JvbGwoKVwiXG5cdFx0XHRjbGFzcz1cInJlbGF0aXZlIC1tYi0wLjUgbWluLWgtOSB3LWZ1bGwgZmxleC0xIG92ZXJmbG93LWF1dG8gcGItMC41IFstbXMtb3ZlcmZsb3ctc3R5bGU6bm9uZV0gWy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoXSBbc2Nyb2xsYmFyLXdpZHRoOm5vbmVdIFsmOjotd2Via2l0LXNjcm9sbGJhcl06aGlkZGVuXCJcblx0XHQ+XG5cdFx0XHQ8bmctY29udGVudCAvPlxuXHRcdDwvZGl2PlxuXHRcdDxuZy10ZW1wbGF0ZSAjc2Nyb2xsRG93bj5cblx0XHRcdDxuZy1jb250ZW50IHNlbGVjdD1cImJyblNlbGVjdFNjcm9sbERvd25cIiAvPlxuXHRcdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwiaGxtLXNlbGVjdC1zY3JvbGwtZG93blwiIC8+XG5cdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHQ8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiX2NhblNjcm9sbERvd24oKSAmJiBfc2Nyb2xsRG93bkJ0bigpID8gc2Nyb2xsRG93biA6IG51bGxcIiAvPlxuXHRgLFxufSlcbmV4cG9ydCBjbGFzcyBCcm5TZWxlY3RDb250ZW50PFQ+IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG5cdHByaXZhdGUgcmVhZG9ubHkgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+ID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXHRwcml2YXRlIHJlYWRvbmx5IF9pbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cdHByb3RlY3RlZCByZWFkb25seSBfc2VsZWN0ID0gaW5qZWN0QnJuU2VsZWN0PFQ+KCk7XG5cdHByb3RlY3RlZCByZWFkb25seSBfY2FuU2Nyb2xsVXAgPSBzaWduYWwoZmFsc2UpO1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgX2NhblNjcm9sbERvd24gPSBzaWduYWwoZmFsc2UpO1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgX3ZpZXdwb3J0ID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+Pigndmlld3BvcnQnKTtcblx0cHJvdGVjdGVkIHJlYWRvbmx5IF9zY3JvbGxVcEJ0biA9IGNvbnRlbnRDaGlsZChCcm5TZWxlY3RTY3JvbGxVcCk7XG5cdHByb3RlY3RlZCByZWFkb25seSBfc2Nyb2xsRG93bkJ0biA9IGNvbnRlbnRDaGlsZChCcm5TZWxlY3RTY3JvbGxEb3duKTtcblx0cHJpdmF0ZSByZWFkb25seSBfb3B0aW9ucyA9IGNvbnRlbnRDaGlsZHJlbihCcm5TZWxlY3RPcHRpb24sIHsgZGVzY2VuZGFudHM6IHRydWUgfSk7XG5cblx0LyoqIEBpbnRlcm5hbCAqL1xuXHRwdWJsaWMga2V5TWFuYWdlcjogRm9jdXNLZXlNYW5hZ2VyPEJyblNlbGVjdE9wdGlvbjxUPj4gfCBudWxsID0gbnVsbDtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0dGhpcy5fc2VsZWN0Lm9wZW4oKSAmJiBhZnRlck5leHRSZW5kZXIoKCkgPT4gdGhpcy51cGRhdGVBcnJvd0Rpc3BsYXkoKSwgeyBpbmplY3RvcjogdGhpcy5faW5qZWN0b3IgfSk7XG5cdFx0fSk7XG5cdH1cblxuXHRuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG5cdFx0dGhpcy5rZXlNYW5hZ2VyID0gbmV3IEZvY3VzS2V5TWFuYWdlcih0aGlzLl9vcHRpb25zLCB0aGlzLl9pbmplY3Rvcilcblx0XHRcdC53aXRoSG9tZUFuZEVuZCgpXG5cdFx0XHQud2l0aFZlcnRpY2FsT3JpZW50YXRpb24oKVxuXHRcdFx0LndpdGhUeXBlQWhlYWQoKVxuXHRcdFx0LndpdGhXcmFwKClcblx0XHRcdC5za2lwUHJlZGljYXRlKChvcHRpb24pID0+IG9wdGlvbi5kaXNhYmxlZCk7XG5cblx0XHRlZmZlY3QoXG5cdFx0XHQoKSA9PiB7XG5cdFx0XHRcdGNvbnN0IG9wZW4gPSB0aGlzLl9zZWxlY3Qub3BlbigpO1xuXHRcdFx0XHRjb25zdCBvcHRpb25zID0gdGhpcy5fb3B0aW9ucygpO1xuXG5cdFx0XHRcdGlmICghb3BlbiB8fCAhb3B0aW9ucy5sZW5ndGgpIHtcblx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRjb25zdCBzZWxlY3RlZE9wdGlvbiA9IG9wdGlvbnMuZmluZCgob3B0aW9uKSA9PiBvcHRpb24uc2VsZWN0ZWQoKSk7XG5cblx0XHRcdFx0aWYgKHNlbGVjdGVkT3B0aW9uKSB7XG5cdFx0XHRcdFx0YWZ0ZXJOZXh0UmVuZGVyKFxuXHRcdFx0XHRcdFx0KCkgPT4ge1xuXHRcdFx0XHRcdFx0XHR0aGlzLmtleU1hbmFnZXI/LnNldEFjdGl2ZUl0ZW0oc2VsZWN0ZWRPcHRpb24pO1xuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdHsgaW5qZWN0b3I6IHRoaXMuX2luamVjdG9yIH0sXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRhZnRlck5leHRSZW5kZXIoXG5cdFx0XHRcdFx0XHQoKSA9PiB7XG5cdFx0XHRcdFx0XHRcdHRoaXMua2V5TWFuYWdlcj8uc2V0Rmlyc3RJdGVtQWN0aXZlKCk7XG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0eyBpbmplY3RvcjogdGhpcy5faW5qZWN0b3IgfSxcblx0XHRcdFx0XHQpO1xuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0eyBpbmplY3RvcjogdGhpcy5faW5qZWN0b3IgfSxcblx0XHQpO1xuXHR9XG5cblx0cHVibGljIHVwZGF0ZUFycm93RGlzcGxheSgpOiB2b2lkIHtcblx0XHRjb25zdCB7IHNjcm9sbFRvcCwgc2Nyb2xsSGVpZ2h0LCBjbGllbnRIZWlnaHQgfSA9IHRoaXMuX3ZpZXdwb3J0KCkubmF0aXZlRWxlbWVudDtcblx0XHR0aGlzLl9jYW5TY3JvbGxVcC5zZXQoc2Nyb2xsVG9wID4gMCk7XG5cdFx0Y29uc3QgbWF4U2Nyb2xsID0gc2Nyb2xsSGVpZ2h0IC0gY2xpZW50SGVpZ2h0O1xuXHRcdHRoaXMuX2NhblNjcm9sbERvd24uc2V0KE1hdGguY2VpbChzY3JvbGxUb3ApIDwgbWF4U2Nyb2xsKTtcblx0fVxuXG5cdHB1YmxpYyBoYW5kbGVTY3JvbGwoKTogdm9pZCB7XG5cdFx0dGhpcy51cGRhdGVBcnJvd0Rpc3BsYXkoKTtcblx0fVxuXG5cdHB1YmxpYyBmb2N1c0xpc3QoKTogdm9pZCB7XG5cdFx0dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG5cdH1cblxuXHRwdWJsaWMgbW92ZUZvY3VzVXAoKTogdm9pZCB7XG5cdFx0dGhpcy5fdmlld3BvcnQoKS5uYXRpdmVFbGVtZW50LnNjcm9sbEJ5KHsgdG9wOiAtU0NST0xMQllfUElYRUxTLCBiZWhhdmlvcjogJ3Ntb290aCcgfSk7XG5cdFx0aWYgKHRoaXMuX3ZpZXdwb3J0KCkubmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgPT09IDApIHtcblx0XHRcdHRoaXMuX3Njcm9sbFVwQnRuKCk/LnN0b3BFbWl0dGluZ0V2ZW50cygpO1xuXHRcdH1cblx0fVxuXG5cdHB1YmxpYyBtb3ZlRm9jdXNEb3duKCk6IHZvaWQge1xuXHRcdHRoaXMuX3ZpZXdwb3J0KCkubmF0aXZlRWxlbWVudC5zY3JvbGxCeSh7IHRvcDogU0NST0xMQllfUElYRUxTLCBiZWhhdmlvcjogJ3Ntb290aCcgfSk7XG5cdFx0Y29uc3Qgdmlld3BvcnRTaXplID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodDtcblx0XHRjb25zdCB2aWV3cG9ydFNjcm9sbFBvc2l0aW9uID0gdGhpcy5fdmlld3BvcnQoKS5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcDtcblx0XHRpZiAoXG5cdFx0XHR2aWV3cG9ydFNpemUgKyB2aWV3cG9ydFNjcm9sbFBvc2l0aW9uICsgU0NST0xMQllfUElYRUxTID5cblx0XHRcdHRoaXMuX3ZpZXdwb3J0KCkubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQgKyBTQ1JPTExCWV9QSVhFTFMgLyAyXG5cdFx0KSB7XG5cdFx0XHR0aGlzLl9zY3JvbGxEb3duQnRuKCk/LnN0b3BFbWl0dGluZ0V2ZW50cygpO1xuXHRcdH1cblx0fVxuXG5cdHNldEFjdGl2ZU9wdGlvbihvcHRpb246IEJyblNlbGVjdE9wdGlvbjxUPik6IHZvaWQge1xuXHRcdGNvbnN0IGluZGV4ID0gdGhpcy5fb3B0aW9ucygpLmZpbmRJbmRleCgobykgPT4gbyA9PT0gb3B0aW9uKTtcblxuXHRcdGlmIChpbmRleCA9PT0gLTEpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHR0aGlzLmtleU1hbmFnZXI/LnNldEFjdGl2ZUl0ZW0oaW5kZXgpO1xuXHR9XG5cblx0cHJvdGVjdGVkIHNlbGVjdEFjdGl2ZUl0ZW0oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcblx0XHRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG5cdFx0Y29uc3QgYWN0aXZlT3B0aW9uID0gdGhpcy5rZXlNYW5hZ2VyPy5hY3RpdmVJdGVtO1xuXG5cdFx0aWYgKGFjdGl2ZU9wdGlvbikge1xuXHRcdFx0dGhpcy5fc2VsZWN0LnRvZ2dsZVNlbGVjdChhY3RpdmVPcHRpb24udmFsdWUoKSEpO1xuXHRcdH1cblx0fVxufVxuIl19","import { CdkListboxModule } from '@angular/cdk/listbox';\nimport { CdkConnectedOverlay, OverlayModule, } from '@angular/cdk/overlay';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, contentChild, contentChildren, forwardRef, inject, Injector, input, model, numberAttribute, output, signal, viewChild, } from '@angular/core';\nimport { takeUntilDestroyed, toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { FormGroupDirective, NgControl, NgForm } from '@angular/forms';\nimport { provideExposedSideProviderExisting, provideExposesStateProviderExisting, } from '@spartan-ng/brain/core';\nimport { BrnFormFieldControl } from '@spartan-ng/brain/form-field';\nimport { ErrorStateMatcher, ErrorStateTracker } from '@spartan-ng/brain/forms';\nimport { BrnLabel } from '@spartan-ng/brain/label';\nimport { of, Subject } from 'rxjs';\nimport { delay, map, switchMap } from 'rxjs/operators';\nimport { BrnSelectContent } from './brn-select-content';\nimport { BrnSelectOption } from './brn-select-option';\nimport { provideBrnSelect } from './brn-select.token';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/cdk/overlay\";\nlet nextId = 0;\nexport class BrnSelect {\n _defaultErrorStateMatcher = inject(ErrorStateMatcher);\n _parentForm = inject(NgForm, { optional: true });\n _injector = inject(Injector);\n _parentFormGroup = inject(FormGroupDirective, { optional: true });\n ngControl = inject(NgControl, { optional: true, self: true });\n id = input(`brn-select-${++nextId}`);\n multiple = input(false, {\n transform: booleanAttribute,\n });\n placeholder = input('');\n disabled = input(false, {\n transform: booleanAttribute,\n });\n dir = input('ltr');\n closeDelay = input(100, {\n transform: numberAttribute,\n });\n open = model(false);\n value = model();\n valueChange = output();\n compareWith = input((o1, o2) => o1 === o2);\n formDisabled = signal(false);\n /** Label provided by the consumer. */\n _selectLabel = contentChild(BrnLabel, { descendants: false });\n /** Overlay pane containing the options. */\n _selectContent = contentChild.required(BrnSelectContent);\n /** @internal */\n options = contentChildren(BrnSelectOption, { descendants: true });\n /** @internal Derive the selected options to filter out the unselected options */\n selectedOptions = computed(() => this.options().filter((option) => option.selected()));\n /** Overlay pane containing the options. */\n _overlayDir = viewChild.required(CdkConnectedOverlay);\n trigger = signal(null);\n triggerWidth = signal(0);\n _delayedExpanded = toSignal(toObservable(this.open).pipe(switchMap((expanded) => (!expanded ? of(expanded).pipe(delay(this.closeDelay())) : of(expanded))), takeUntilDestroyed()), { initialValue: false });\n state = computed(() => (this.open() ? 'open' : 'closed'));\n _positionChanges$ = new Subject();\n side = toSignal(this._positionChanges$.pipe(map((change) => \n // todo: better translation or adjusting hlm to take that into account\n change.connectionPair.originY === 'center'\n ? change.connectionPair.originX === 'start'\n ? 'left'\n : 'right'\n : change.connectionPair.originY)), { initialValue: 'bottom' });\n labelId = computed(() => this._selectLabel()?.id ?? `${this.id()}--label`);\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n _onChange = () => { };\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n _onTouched = () => { };\n /*\n * This position config ensures that the top \"start\" corner of the overlay\n * is aligned with with the top \"start\" of the origin by default (overlapping\n * the trigger completely). If the panel cannot fit below the trigger, it\n * will fall back to a position above the trigger.\n */\n _positions = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n },\n ];\n errorStateTracker;\n errorState = computed(() => this.errorStateTracker.errorState());\n constructor() {\n if (this.ngControl !== null) {\n this.ngControl.valueAccessor = this;\n }\n this.errorStateTracker = new ErrorStateTracker(this._defaultErrorStateMatcher, this.ngControl, this._parentFormGroup, this._parentForm);\n }\n ngDoCheck() {\n this.errorStateTracker.updateErrorState();\n }\n toggle() {\n if (this.open()) {\n this.hide();\n }\n else {\n this.show();\n }\n }\n show() {\n if (this.open() || this.disabled() || this.formDisabled() || this.options()?.length == 0) {\n return;\n }\n this.open.set(true);\n }\n hide() {\n if (!this.open())\n return;\n this.open.set(false);\n this._onTouched();\n // restore focus to the trigger\n this.trigger()?.focus();\n }\n writeValue(value) {\n this.value.set(value);\n }\n registerOnChange(fn) {\n this._onChange = fn;\n }\n registerOnTouched(fn) {\n this._onTouched = fn;\n }\n setDisabledState(isDisabled) {\n this.formDisabled.set(isDisabled);\n }\n selectOption(value) {\n // if this is a multiple select we need to add the value to the array\n if (this.multiple()) {\n const currentValue = this.value();\n const newValue = currentValue ? [...currentValue, value] : [value];\n this.value.set(newValue);\n this.valueChange.emit(newValue);\n }\n else {\n this.value.set(value);\n this.valueChange.emit(value);\n }\n this._onChange?.(this.value());\n // if this is single select close the dropdown\n if (!this.multiple()) {\n this.hide();\n }\n }\n deselectOption(value) {\n if (this.multiple()) {\n const currentValue = this.value();\n const newValue = currentValue.filter((val) => !this.compareWith()(val, value));\n this.value.set(newValue);\n this.valueChange.emit(newValue);\n }\n else {\n this.value.set(null);\n this.valueChange.emit(null);\n }\n this._onChange?.(this.value());\n }\n toggleSelect(value) {\n if (this.isSelected(value)) {\n this.deselectOption(value);\n }\n else {\n this.selectOption(value);\n }\n }\n isSelected(value) {\n const selection = this.value();\n if (Array.isArray(selection)) {\n return selection.some((val) => this.compareWith()(val, value));\n }\n else if (value !== undefined) {\n return this.compareWith()(selection, value);\n }\n return false;\n }\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnSelect, deps: [], target: i0.ɵɵFactoryTarget.Component });\n /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.7\", type: BrnSelect, isStandalone: true, selector: \"brn-select, hlm-select\", inputs: { id: { classPropertyName: \"id\", publicName: \"id\", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: \"multiple\", publicName: \"multiple\", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: \"placeholder\", publicName: \"placeholder\", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: true, isRequired: false, transformFunction: null }, dir: { classPropertyName: \"dir\", publicName: \"dir\", isSignal: true, isRequired: false, transformFunction: null }, closeDelay: { classPropertyName: \"closeDelay\", publicName: \"closeDelay\", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: \"open\", publicName: \"open\", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: \"value\", publicName: \"value\", isSignal: true, isRequired: false, transformFunction: null }, compareWith: { classPropertyName: \"compareWith\", publicName: \"compareWith\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { open: \"openChange\", value: \"valueChange\", valueChange: \"valueChange\" }, providers: [\n provideExposedSideProviderExisting((() => BrnSelect)),\n provideExposesStateProviderExisting((() => BrnSelect)),\n provideBrnSelect(BrnSelect),\n {\n provide: BrnFormFieldControl,\n useExisting: forwardRef((() => BrnSelect)),\n },\n ], queries: [{ propertyName: \"_selectLabel\", first: true, predicate: BrnLabel, isSignal: true }, { propertyName: \"_selectContent\", first: true, predicate: BrnSelectContent, descendants: true, isSignal: true }, { propertyName: \"options\", predicate: BrnSelectOption, descendants: true, isSignal: true }], viewQueries: [{ propertyName: \"_overlayDir\", first: true, predicate: CdkConnectedOverlay, descendants: true, isSignal: true }], ngImport: i0, template: `\n\t\t@if (!_selectLabel() && placeholder()) {\n\t\t\t<label style=\"display: none;\" [attr.id]=\"labelId()\">{{ placeholder() }}</label>\n\t\t} @else {\n\t\t\t<ng-content select=\"label[hlmLabel],label[brnLabel]\" />\n\t\t}\n\n\t\t<div cdk-overlay-origin (click)=\"toggle()\" #trigger=\"cdkOverlayOrigin\">\n\t\t\t<ng-content select=\"hlm-select-trigger,[brnSelectTrigger]\" />\n\t\t</div>\n\n\t\t<ng-template\n\t\t\tcdk-connected-overlay\n\t\t\tcdkConnectedOverlayLockPosition\n\t\t\tcdkConnectedOverlayHasBackdrop\n\t\t\tcdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n\t\t\t[cdkConnectedOverlayOrigin]=\"trigger\"\n\t\t\t[cdkConnectedOverlayOpen]=\"_delayedExpanded()\"\n\t\t\t[cdkConnectedOverlayPositions]=\"_positions\"\n\t\t\t[cdkConnectedOverlayWidth]=\"triggerWidth() > 0 ? triggerWidth() : 'auto'\"\n\t\t\t(backdropClick)=\"hide()\"\n\t\t\t(detach)=\"hide()\"\n\t\t\t(positionChange)=\"_positionChanges$.next($event)\"\n\t\t>\n\t\t\t<ng-content />\n\t\t</ng-template>\n\t`, isInline: true, dependencies: [{ kind: \"ngmodule\", type: OverlayModule }, { kind: \"directive\", type: i1.CdkConnectedOverlay, selector: \"[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]\", inputs: [\"cdkConnectedOverlayOrigin\", \"cdkConnectedOverlayPositions\", \"cdkConnectedOverlayPositionStrategy\", \"cdkConnectedOverlayOffsetX\", \"cdkConnectedOverlayOffsetY\", \"cdkConnectedOverlayWidth\", \"cdkConnectedOverlayHeight\", \"cdkConnectedOverlayMinWidth\", \"cdkConnectedOverlayMinHeight\", \"cdkConnectedOverlayBackdropClass\", \"cdkConnectedOverlayPanelClass\", \"cdkConnectedOverlayViewportMargin\", \"cdkConnectedOverlayScrollStrategy\", \"cdkConnectedOverlayOpen\", \"cdkConnectedOverlayDisableClose\", \"cdkConnectedOverlayTransformOriginOn\", \"cdkConnectedOverlayHasBackdrop\", \"cdkConnectedOverlayLockPosition\", \"cdkConnectedOverlayFlexibleDimensions\", \"cdkConnectedOverlayGrowAfterOpen\", \"cdkConnectedOverlayPush\", \"cdkConnectedOverlayDisposeOnNavigation\"], outputs: [\"backdropClick\", \"positionChange\", \"attach\", \"detach\", \"overlayKeydown\", \"overlayOutsideClick\"], exportAs: [\"cdkConnectedOverlay\"] }, { kind: \"directive\", type: i1.CdkOverlayOrigin, selector: \"[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]\", exportAs: [\"cdkOverlayOrigin\"] }, { kind: \"ngmodule\", type: CdkListboxModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnSelect, decorators: [{\n type: Component,\n args: [{\n selector: 'brn-select, hlm-select',\n imports: [OverlayModule, CdkListboxModule],\n providers: [\n provideExposedSideProviderExisting((() => BrnSelect)),\n provideExposesStateProviderExisting((() => BrnSelect)),\n provideBrnSelect(BrnSelect),\n {\n provide: BrnFormFieldControl,\n useExisting: forwardRef((() => BrnSelect)),\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n\t\t@if (!_selectLabel() && placeholder()) {\n\t\t\t<label style=\"display: none;\" [attr.id]=\"labelId()\">{{ placeholder() }}</label>\n\t\t} @else {\n\t\t\t<ng-content select=\"label[hlmLabel],label[brnLabel]\" />\n\t\t}\n\n\t\t<div cdk-overlay-origin (click)=\"toggle()\" #trigger=\"cdkOverlayOrigin\">\n\t\t\t<ng-content select=\"hlm-select-trigger,[brnSelectTrigger]\" />\n\t\t</div>\n\n\t\t<ng-template\n\t\t\tcdk-connected-overlay\n\t\t\tcdkConnectedOverlayLockPosition\n\t\t\tcdkConnectedOverlayHasBackdrop\n\t\t\tcdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n\t\t\t[cdkConnectedOverlayOrigin]=\"trigger\"\n\t\t\t[cdkConnectedOverlayOpen]=\"_delayedExpanded()\"\n\t\t\t[cdkConnectedOverlayPositions]=\"_positions\"\n\t\t\t[cdkConnectedOverlayWidth]=\"triggerWidth() > 0 ? triggerWidth() : 'auto'\"\n\t\t\t(backdropClick)=\"hide()\"\n\t\t\t(detach)=\"hide()\"\n\t\t\t(positionChange)=\"_positionChanges$.next($event)\"\n\t\t>\n\t\t\t<ng-content />\n\t\t</ng-template>\n\t`,\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLXNlbGVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vc2VsZWN0L3NyYy9saWIvYnJuLXNlbGVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQ04sbUJBQW1CLEVBR25CLGFBQWEsR0FDYixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFDTixnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsWUFBWSxFQUNaLGVBQWUsRUFFZixVQUFVLEVBQ1YsTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBQ0wsS0FBSyxFQUNMLGVBQWUsRUFDZixNQUFNLEVBRU4sTUFBTSxFQUNOLFNBQVMsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hGLE9BQU8sRUFBNkIsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xHLE9BQU8sRUFHTixrQ0FBa0MsRUFDbEMsbUNBQW1DLEdBQ25DLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFpQixpQkFBaUIsRUFBRSxpQkFBaUIsRUFBZ0IsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkMsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFF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QVcsRUFBRSxVQUFVLEVBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxFQUFDO2FBQ3hDO1NBQ0Qsb0VBMkQ4QyxRQUFRLDhFQUdHLGdCQUFnQiw2RUFHaEMsZUFBZSw2R0FNTCxtQkFBbUIsZ0VBckU3RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUEwQlQsMkRBckNTLGFBQWEsMHJDQUFFLGdCQUFnQjs7MkZBdUM3QixTQUFTO2tCQXpDckIsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxPQUFPLEVBQUUsQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLENBQUM7b0JBQzFDLFNBQVMsRUFBRTt3QkFDVixrQ0FBa0MsRUFBQyxHQUFHLEVBQUUsVUFBVSxFQUFDO3dCQUNuRCxtQ0FBbUMsRUFBQyxHQUFHLEVBQUUsVUFBVSxFQUFDO3dCQUNwRCxnQkFBZ0IsV0FBVzt3QkFDM0I7NEJBQ0MsT0FBTyxFQUFFLG1CQUFtQjs0QkFDNUIsV0FBVyxFQUFFLFVBQVUsRUFBQyxHQUFHLEVBQUUsVUFBVSxFQUFDO3lCQUN4QztxQkFDRDtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQTBCVDtpQkFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQm9vbGVhbklucHV0LCBOdW1iZXJJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBDZGtMaXN0Ym94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xpc3Rib3gnO1xuaW1wb3J0IHtcblx0Q2RrQ29ubmVjdGVkT3ZlcmxheSxcblx0dHlwZSBDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UsXG5cdHR5cGUgQ29ubmVjdGVkUG9zaXRpb24sXG5cdE92ZXJsYXlNb2R1bGUsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7XG5cdGJvb2xlYW5BdHRyaWJ1dGUsXG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDb21wb25lbnQsXG5cdGNvbXB1dGVkLFxuXHRjb250ZW50Q2hpbGQsXG5cdGNvbnRlbnRDaGlsZHJlbixcblx0dHlwZSBEb0NoZWNrLFxuXHRmb3J3YXJkUmVmLFxuXHRpbmplY3QsXG5cdEluamVjdG9yLFxuXHRpbnB1dCxcblx0bW9kZWwsXG5cdG51bWJlckF0dHJpYnV0ZSxcblx0b3V0cHV0LFxuXHR0eXBlIFNpZ25hbCxcblx0c2lnbmFsLFxuXHR2aWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkLCB0b09ic2VydmFibGUsIHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgdHlwZSBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUdyb3VwRGlyZWN0aXZlLCBOZ0NvbnRyb2wsIE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG5cdHR5cGUgRXhwb3Nlc1NpZGUsXG5cdHR5cGUgRXhwb3Nlc1N0YXRlLFxuXHRwcm92aWRlRXhwb3NlZFNpZGVQcm92aWRlckV4aXN0aW5nLFxuXHRwcm92aWRlRXhwb3Nlc1N0YXRlUHJvdmlkZXJFeGlzdGluZyxcbn0gZnJvbSAnQHNwYXJ0YW4tbmcvYnJhaW4vY29yZSc7XG5pbXBvcnQgeyBCcm5Gb3JtRmllbGRDb250cm9sIH0gZnJvbSAnQHNwYXJ0YW4tbmcvYnJhaW4vZm9ybS1maWVsZCc7XG5pbXBvcnQgeyB0eXBlIENoYW5nZUZuLCBFcnJvclN0YXRlTWF0Y2hlciwgRXJyb3JTdGF0ZVRyYWNrZXIsIHR5cGUgVG91Y2hGbiB9IGZyb20gJ0BzcGFydGFuLW5nL2JyYWluL2Zvcm1zJztcbmltcG9ydCB7IEJybkxhYmVsIH0gZnJvbSAnQHNwYXJ0YW4tbmcvYnJhaW4vbGFiZWwnO1xuaW1wb3J0IHsgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlbGF5LCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEJyblNlbGVjdENvbnRlbnQgfSBmcm9tICcuL2Jybi1zZWxlY3QtY29udGVudCc7XG5pbXBvcnQgeyBCcm5TZWxlY3RPcHRpb24gfSBmcm9tICcuL2Jybi1zZWxlY3Qtb3B0aW9uJztcbmltcG9ydCB0eXBlIHsgQnJuU2VsZWN0VHJpZ2dlciB9IGZyb20gJy4vYnJuLXNlbGVjdC10cmlnZ2VyJztcbmltcG9ydCB7IHByb3ZpZGVCcm5TZWxlY3QgfSBmcm9tICcuL2Jybi1zZWxlY3QudG9rZW4nO1xuXG5leHBvcnQgdHlwZSBCcm5SZWFkRGlyZWN0aW9uID0gJ2x0cicgfCAncnRsJztcblxubGV0IG5leHRJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2Jybi1zZWxlY3QsIGhsbS1zZWxlY3QnLFxuXHRpbXBvcnRzOiBbT3ZlcmxheU1vZHVsZSwgQ2RrTGlzdGJveE1vZHVsZV0sXG5cdHByb3ZpZGVyczogW1xuXHRcdHByb3ZpZGVFeHBvc2VkU2lkZVByb3ZpZGVyRXhpc3RpbmcoKCkgPT4gQnJuU2VsZWN0KSxcblx0XHRwcm92aWRlRXhwb3Nlc1N0YXRlUHJvdmlkZXJFeGlzdGluZygoKSA9PiBCcm5TZWxlY3QpLFxuXHRcdHByb3ZpZGVCcm5TZWxlY3QoQnJuU2VsZWN0KSxcblx0XHR7XG5cdFx0XHRwcm92aWRlOiBCcm5Gb3JtRmllbGRDb250cm9sLFxuXHRcdFx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQnJuU2VsZWN0KSxcblx0XHR9LFxuXHRdLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0dGVtcGxhdGU6IGBcblx0XHRAaWYgKCFfc2VsZWN0TGFiZWwoKSAmJiBwbGFjZWhvbGRlcigpKSB7XG5cdFx0XHQ8bGFiZWwgc3R5bGU9XCJkaXNwbGF5OiBub25lO1wiIFthdHRyLmlkXT1cImxhYmVsSWQoKVwiPnt7IHBsYWNlaG9sZGVyKCkgfX08L2xhYmVsPlxuXHRcdH0gQGVsc2Uge1xuXHRcdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwibGFiZWxbaGxtTGFiZWxdLGxhYmVsW2JybkxhYmVsXVwiIC8+XG5cdFx0fVxuXG5cdFx0PGRpdiBjZGstb3ZlcmxheS1vcmlnaW4gKGNsaWNrKT1cInRvZ2dsZSgpXCIgI3RyaWdnZXI9XCJjZGtPdmVybGF5T3JpZ2luXCI+XG5cdFx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJobG0tc2VsZWN0LXRyaWdnZXIsW2JyblNlbGVjdFRyaWdnZXJdXCIgLz5cblx0XHQ8L2Rpdj5cblxuXHRcdDxuZy10ZW1wbGF0ZVxuXHRcdFx0Y2RrLWNvbm5lY3RlZC1vdmVybGF5XG5cdFx0XHRjZGtDb25uZWN0ZWRPdmVybGF5TG9ja1Bvc2l0aW9uXG5cdFx0XHRjZGtDb25uZWN0ZWRPdmVybGF5SGFzQmFja2Ryb3Bcblx0XHRcdGNka0Nvbm5lY3RlZE92ZXJsYXlCYWNrZHJvcENsYXNzPVwiY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BcIlxuXHRcdFx0W2Nka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW5dPVwidHJpZ2dlclwiXG5cdFx0XHRbY2RrQ29ubmVjdGVkT3ZlcmxheU9wZW5dPVwiX2RlbGF5ZWRFeHBhbmRlZCgpXCJcblx0XHRcdFtjZGtDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25zXT1cIl9wb3NpdGlvbnNcIlxuXHRcdFx0W2Nka0Nvbm5lY3RlZE92ZXJsYXlXaWR0aF09XCJ0cmlnZ2VyV2lkdGgoKSA+IDAgPyB0cmlnZ2VyV2lkdGgoKSA6ICdhdXRvJ1wiXG5cdFx0XHQoYmFja2Ryb3BDbGljayk9XCJoaWRlKClcIlxuXHRcdFx0KGRldGFjaCk9XCJoaWRlKClcIlxuXHRcdFx0KHBvc2l0aW9uQ2hhbmdlKT1cIl9wb3NpdGlvbkNoYW5nZXMkLm5leHQoJGV2ZW50KVwiXG5cdFx0PlxuXHRcdFx0PG5nLWNvbnRlbnQgLz5cblx0XHQ8L25nLXRlbXBsYXRlPlxuXHRgLFxufSlcbmV4cG9ydCBjbGFzcyBCcm5TZWxlY3Q8VCA9IHVua25vd24+XG5cdGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIERvQ2hlY2ssIEV4cG9zZXNTaWRlLCBFeHBvc2VzU3RhdGUsIEJybkZvcm1GaWVsZENvbnRyb2xcbntcblx0cHJpdmF0ZSByZWFkb25seSBfZGVmYXVsdEVycm9yU3RhdGVNYXRjaGVyID0gaW5qZWN0KEVycm9yU3RhdGVNYXRjaGVyKTtcblx0cHJpdmF0ZSByZWFkb25seSBfcGFyZW50Rm9ybSA9IGluamVjdChOZ0Zvcm0sIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cdHByaXZhdGUgcmVhZG9ubHkgX2luamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblx0cHJpdmF0ZSByZWFkb25seSBfcGFyZW50Rm9ybUdyb3VwID0gaW5qZWN0KEZvcm1Hcm91cERpcmVjdGl2ZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblx0cHVibGljIHJlYWRvbmx5IG5nQ29udHJvbCA9IGluamVjdChOZ0NvbnRyb2wsIHsgb3B0aW9uYWw6IHRydWUsIHNlbGY6IHRydWUgfSk7XG5cblx0cHVibGljIHJlYWRvbmx5IGlkID0gaW5wdXQ8c3RyaW5nPihgYnJuLXNlbGVjdC0keysrbmV4dElkfWApO1xuXHRwdWJsaWMgcmVhZG9ubHkgbXVsdGlwbGUgPSBpbnB1dDxib29sZWFuLCBCb29sZWFuSW5wdXQ+KGZhbHNlLCB7XG5cdFx0dHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuXHR9KTtcblx0cHVibGljIHJlYWRvbmx5IHBsYWNlaG9sZGVyID0gaW5wdXQ8c3RyaW5nPignJyk7XG5cdHB1YmxpYyByZWFkb25seSBkaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4sIEJvb2xlYW5JbnB1dD4oZmFsc2UsIHtcblx0XHR0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsXG5cdH0pO1xuXHRwdWJsaWMgcmVhZG9ubHkgZGlyID0gaW5wdXQ8QnJuUmVhZERpcmVjdGlvbj4oJ2x0cicpO1xuXHRwdWJsaWMgcmVhZG9ubHkgY2xvc2VEZWxheSA9IGlucHV0PG51bWJlciwgTnVtYmVySW5wdXQ+KDEwMCwge1xuXHRcdHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlLFxuXHR9KTtcblxuXHRwdWJsaWMgcmVhZG9ubHkgb3BlbiA9IG1vZGVsPGJvb2xlYW4+KGZhbHNlKTtcblx0cHVibGljIHJlYWRvbmx5IHZhbHVlID0gbW9kZWw8VCB8IFRbXT4oKTtcblx0cHVibGljIHJlYWRvbmx5IHZhbHVlQ2hhbmdlID0gb3V0cHV0PFQgfCBUW10+KCk7XG5cdHB1YmxpYyByZWFkb25seSBjb21wYXJlV2l0aCA9IGlucHV0PChvMTogVCwgbzI6IFQpID0+IGJvb2xlYW4+KChvMSwgbzIpID0+IG8xID09PSBvMik7XG5cdHB1YmxpYyByZWFkb25seSBmb3JtRGlzYWJsZWQgPSBzaWduYWwoZmFsc2UpO1xuXG5cdC8qKiBMYWJlbCBwcm92aWRlZCBieSB0aGUgY29uc3VtZXIuICovXG5cdHByb3RlY3RlZCByZWFkb25seSBfc2VsZWN0TGFiZWwgPSBjb250ZW50Q2hpbGQoQnJuTGFiZWwsIHsgZGVzY2VuZGFudHM6IGZhbHNlIH0pO1xuXG5cdC8qKiBPdmVybGF5IHBhbmUgY29udGFpbmluZyB0aGUgb3B0aW9ucy4gKi9cblx0cHJvdGVjdGVkIHJlYWRvbmx5IF9zZWxlY3RDb250ZW50ID0gY29udGVudENoaWxkLnJlcXVpcmVkKEJyblNlbGVjdENvbnRlbnQpO1xuXG5cdC8qKiBAaW50ZXJuYWwgKi9cblx0cHVibGljIHJlYWRvbmx5IG9wdGlvbnMgPSBjb250ZW50Q2hpbGRyZW4oQnJuU2VsZWN0T3B0aW9uLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pO1xuXG5cdC8qKiBAaW50ZXJuYWwgRGVyaXZlIHRoZSBzZWxlY3RlZCBvcHRpb25zIHRvIGZpbHRlciBvdXQgdGhlIHVuc2VsZWN0ZWQgb3B0aW9ucyAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ZWRPcHRpb25zID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5vcHRpb25zKCkuZmlsdGVyKChvcHRpb24pID0+IG9wdGlvbi5zZWxlY3RlZCgpKSk7XG5cblx0LyoqIE92ZXJsYXkgcGFuZSBjb250YWluaW5nIHRoZSBvcHRpb25zLiAqL1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgX292ZXJsYXlEaXIgPSB2aWV3Q2hpbGQucmVxdWlyZWQoQ2RrQ29ubmVjdGVkT3ZlcmxheSk7XG5cdHB1YmxpYyByZWFkb25seSB0cmlnZ2VyID0gc2lnbmFsPEJyblNlbGVjdFRyaWdnZXI8VD4gfCBudWxsPihudWxsKTtcblx0cHVibGljIHJlYWRvbmx5IHRyaWdnZXJXaWR0aCA9IHNpZ25hbDxudW1iZXI+KDApO1xuXG5cdHByb3RlY3RlZCByZWFkb25seSBfZGVsYXllZEV4cGFuZGVkID0gdG9TaWduYWwoXG5cdFx0dG9PYnNlcnZhYmxlKHRoaXMub3BlbikucGlwZShcblx0XHRcdHN3aXRjaE1hcCgoZXhwYW5kZWQpID0+ICghZXhwYW5kZWQgPyBvZihleHBhbmRlZCkucGlwZShkZWxheSh0aGlzLmNsb3NlRGVsYXkoKSkpIDogb2YoZXhwYW5kZWQpKSksXG5cdFx0XHR0YWtlVW50aWxEZXN0cm95ZWQoKSxcblx0XHQpLFxuXHRcdHsgaW5pdGlhbFZhbHVlOiBmYWxzZSB9LFxuXHQpO1xuXG5cdHB1YmxpYyByZWFkb25seSBzdGF0ZSA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLm9wZW4oKSA/ICdvcGVuJyA6ICdjbG9zZWQnKSk7XG5cblx0cHJvdGVjdGVkIHJlYWRvbmx5IF9wb3NpdGlvbkNoYW5nZXMkID0gbmV3IFN1YmplY3Q8Q29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uQ2hhbmdlPigpO1xuXG5cdHB1YmxpYyByZWFkb25seSBzaWRlOiBTaWduYWw8J3RvcCcgfCAnYm90dG9tJyB8ICdsZWZ0JyB8ICdyaWdodCc+ID0gdG9TaWduYWwoXG5cdFx0dGhpcy5fcG9zaXRpb25DaGFuZ2VzJC5waXBlKFxuXHRcdFx0bWFwPENvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbkNoYW5nZSwgJ3RvcCcgfCAnYm90dG9tJyB8ICdsZWZ0JyB8ICdyaWdodCc+KChjaGFuZ2UpID0+XG5cdFx0XHRcdC8vIHRvZG86IGJldHRlciB0cmFuc2xhdGlvbiBvciBhZGp1c3RpbmcgaGxtIHRvIHRha2UgdGhhdCBpbnRvIGFjY291bnRcblx0XHRcdFx0Y2hhbmdlLmNvbm5lY3Rpb25QYWlyLm9yaWdpblkgPT09ICdjZW50ZXInXG5cdFx0XHRcdFx0PyBjaGFuZ2UuY29ubmVjdGlvblBhaXIub3JpZ2luWCA9PT0gJ3N0YXJ0J1xuXHRcdFx0XHRcdFx0PyAnbGVmdCdcblx0XHRcdFx0XHRcdDogJ3JpZ2h0J1xuXHRcdFx0XHRcdDogY2hhbmdlLmNvbm5lY3Rpb25QYWlyLm9yaWdpblksXG5cdFx0XHQpLFxuXHRcdCksXG5cdFx0eyBpbml0aWFsVmFsdWU6ICdib3R0b20nIH0sXG5cdCk7XG5cblx0cHVibGljIHJlYWRvbmx5IGxhYmVsSWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLl9zZWxlY3RMYWJlbCgpPy5pZCA/PyBgJHt0aGlzLmlkKCl9LS1sYWJlbGApO1xuXG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cblx0cHJpdmF0ZSBfb25DaGFuZ2U6IENoYW5nZUZuPFQgfCBUW10+ID0gKCkgPT4ge307XG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cblx0cHJpdmF0ZSBfb25Ub3VjaGVkOiBUb3VjaEZuID0gKCkgPT4ge307XG5cblx0Lypcblx0ICogVGhpcyBwb3NpdGlvbiBjb25maWcgZW5zdXJlcyB0aGF0IHRoZSB0b3AgXCJzdGFydFwiIGNvcm5lciBvZiB0aGUgb3ZlcmxheVxuXHQgKiBpcyBhbGlnbmVkIHdpdGggd2l0aCB0aGUgdG9wIFwic3RhcnRcIiBvZiB0aGUgb3JpZ2luIGJ5IGRlZmF1bHQgKG92ZXJsYXBwaW5nXG5cdCAqIHRoZSB0cmlnZ2VyIGNvbXBsZXRlbHkpLiBJZiB0aGUgcGFuZWwgY2Fubm90IGZpdCBiZWxvdyB0aGUgdHJpZ2dlciwgaXRcblx0ICogd2lsbCBmYWxsIGJhY2sgdG8gYSBwb3NpdGlvbiBhYm92ZSB0aGUgdHJpZ2dlci5cblx0ICovXG5cdHByb3RlY3RlZCBfcG9zaXRpb25zOiBDb25uZWN0ZWRQb3NpdGlvbltdID0gW1xuXHRcdHtcblx0XHRcdG9yaWdpblg6ICdzdGFydCcsXG5cdFx0XHRvcmlnaW5ZOiAnYm90dG9tJyxcblx0XHRcdG92ZXJsYXlYOiAnc3RhcnQnLFxuXHRcdFx0b3ZlcmxheVk6ICd0b3AnLFxuXHRcdH0sXG5cdFx0e1xuXHRcdFx0b3JpZ2luWDogJ2VuZCcsXG5cdFx0XHRvcmlnaW5ZOiAnYm90dG9tJyxcblx0XHRcdG92ZXJsYXlYOiAnZW5kJyxcblx0XHRcdG92ZXJsYXlZOiAndG9wJyxcblx0XHR9LFxuXHRcdHtcblx0XHRcdG9yaWdpblg6ICdzdGFydCcsXG5cdFx0XHRvcmlnaW5ZOiAndG9wJyxcblx0XHRcdG92ZXJsYXlYOiAnc3RhcnQnLFxuXHRcdFx0b3ZlcmxheVk6ICdib3R0b20nLFxuXHRcdH0sXG5cdFx0e1xuXHRcdFx0b3JpZ2luWDogJ2VuZCcsXG5cdFx0XHRvcmlnaW5ZOiAndG9wJyxcblx0XHRcdG92ZXJsYXlYOiAnZW5kJyxcblx0XHRcdG92ZXJsYXlZOiAnYm90dG9tJyxcblx0XHR9LFxuXHRdO1xuXG5cdHB1YmxpYyBlcnJvclN0YXRlVHJhY2tlcjogRXJyb3JTdGF0ZVRyYWNrZXI7XG5cblx0cHVibGljIHJlYWRvbmx5IGVycm9yU3RhdGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmVycm9yU3RhdGVUcmFja2VyLmVycm9yU3RhdGUoKSk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0aWYgKHRoaXMubmdDb250cm9sICE9PSBudWxsKSB7XG5cdFx0XHR0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcblx0XHR9XG5cblx0XHR0aGlzLmVycm9yU3RhdGVUcmFja2VyID0gbmV3IEVycm9yU3RhdGVUcmFja2VyKFxuXHRcdFx0dGhpcy5fZGVmYXVsdEVycm9yU3RhdGVNYXRjaGVyLFxuXHRcdFx0dGhpcy5uZ0NvbnRyb2wsXG5cdFx0XHR0aGlzLl9wYXJlbnRGb3JtR3JvdXAsXG5cdFx0XHR0aGlzLl9wYXJlbnRGb3JtLFxuXHRcdCk7XG5cdH1cblxuXHRuZ0RvQ2hlY2soKSB7XG5cdFx0dGhpcy5lcnJvclN0YXRlVHJhY2tlci51cGRhdGVFcnJvclN0YXRlKCk7XG5cdH1cblxuXHRwdWJsaWMgdG9nZ2xlKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLm9wZW4oKSkge1xuXHRcdFx0dGhpcy5oaWRlKCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuc2hvdygpO1xuXHRcdH1cblx0fVxuXG5cdHB1YmxpYyBzaG93KCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLm9wZW4oKSB8fCB0aGlzLmRpc2FibGVkKCkgfHwgdGhpcy5mb3JtRGlzYWJsZWQoKSB8fCB0aGlzLm9wdGlvbnMoKT8ubGVuZ3RoID09IDApIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHR0aGlzLm9wZW4uc2V0KHRydWUpO1xuXHR9XG5cblx0cHVibGljIGhpZGUoKTogdm9pZCB7XG5cdFx0aWYgKCF0aGlzLm9wZW4oKSkgcmV0dXJuO1xuXG5cdFx0dGhpcy5vcGVuLnNldChmYWxzZSk7XG5cdFx0dGhpcy5fb25Ub3VjaGVkKCk7XG5cblx0XHQvLyByZXN0b3JlIGZvY3VzIHRvIHRoZSB0cmlnZ2VyXG5cdFx0dGhpcy50cmlnZ2VyKCk/LmZvY3VzKCk7XG5cdH1cblxuXHRwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogVCk6IHZvaWQge1xuXHRcdHRoaXMudmFsdWUuc2V0KHZhbHVlKTtcblx0fVxuXG5cdHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBDaGFuZ2VGbjxUIHwgVFtdPik6IHZvaWQge1xuXHRcdHRoaXMuX29uQ2hhbmdlID0gZm47XG5cdH1cblxuXHRwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IFRvdWNoRm4pOiB2b2lkIHtcblx0XHR0aGlzLl9vblRvdWNoZWQgPSBmbjtcblx0fVxuXG5cdHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcblx0XHR0aGlzLmZvcm1EaXNhYmxlZC5zZXQoaXNEaXNhYmxlZCk7XG5cdH1cblxuXHRzZWxlY3RPcHRpb24odmFsdWU6IFQpOiB2b2lkIHtcblx0XHQvLyBpZiB0aGlzIGlzIGEgbXVsdGlwbGUgc2VsZWN0IHdlIG5lZWQgdG8gYWRkIHRoZSB2YWx1ZSB0byB0aGUgYXJyYXlcblx0XHRpZiAodGhpcy5tdWx0aXBsZSgpKSB7XG5cdFx0XHRjb25zdCBjdXJyZW50VmFsdWUgPSB0aGlzLnZhbHVlKCkgYXMgVFtdO1xuXHRcdFx0Y29uc3QgbmV3VmFsdWUgPSBjdXJyZW50VmFsdWUgPyBbLi4uY3VycmVudFZhbHVlLCB2YWx1ZV0gOiBbdmFsdWVdO1xuXHRcdFx0dGhpcy52YWx1ZS5zZXQobmV3VmFsdWUpO1xuXHRcdFx0dGhpcy52YWx1ZUNoYW5nZS5lbWl0KG5ld1ZhbHVlKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy52YWx1ZS5zZXQodmFsdWUpO1xuXHRcdFx0dGhpcy52YWx1ZUNoYW5nZS5lbWl0KHZhbHVlKTtcblx0XHR9XG5cblx0XHR0aGlzLl9vbkNoYW5nZT8uKHRoaXMudmFsdWUoKSBhcyBUIHwgVFtdKTtcblxuXHRcdC8vIGlmIHRoaXMgaXMgc2luZ2xlIHNlbGVjdCBjbG9zZSB0aGUgZHJvcGRvd25cblx0XHRpZiAoIXRoaXMubXVsdGlwbGUoKSkge1xuXHRcdFx0dGhpcy5oaWRlKCk7XG5cdFx0fVxuXHR9XG5cblx0ZGVzZWxlY3RPcHRpb24odmFsdWU6IFQpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5tdWx0aXBsZSgpKSB7XG5cdFx0XHRjb25zdCBjdXJyZW50VmFsdWUgPSB0aGlzLnZhbHVlKCkgYXMgVFtdO1xuXHRcdFx0Y29uc3QgbmV3VmFsdWUgPSBjdXJyZW50VmFsdWUuZmlsdGVyKCh2YWwpID0+ICF0aGlzLmNvbXBhcmVXaXRoKCkodmFsLCB2YWx1ZSkpO1xuXHRcdFx0dGhpcy52YWx1ZS5zZXQobmV3VmFsdWUpO1xuXHRcdFx0dGhpcy52YWx1ZUNoYW5nZS5lbWl0KG5ld1ZhbHVlKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy52YWx1ZS5zZXQobnVsbCBhcyBUKTtcblx0XHRcdHRoaXMudmFsdWVDaGFuZ2UuZW1pdChudWxsIGFzIFQpO1xuXHRcdH1cblxuXHRcdHRoaXMuX29uQ2hhbmdlPy4odGhpcy52YWx1ZSgpIGFzIFQgfCBUW10pO1xuXHR9XG5cblx0dG9nZ2xlU2VsZWN0KHZhbHVlOiBUKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuaXNTZWxlY3RlZCh2YWx1ZSkpIHtcblx0XHRcdHRoaXMuZGVzZWxlY3RPcHRpb24odmFsdWUpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLnNlbGVjdE9wdGlvbih2YWx1ZSk7XG5cdFx0fVxuXHR9XG5cblx0aXNTZWxlY3RlZCh2YWx1ZTogVCk6IGJvb2xlYW4ge1xuXHRcdGNvbnN0IHNlbGVjdGlvbiA9IHRoaXMudmFsdWUoKTtcblxuXHRcdGlmIChBcnJheS5pc0FycmF5KHNlbGVjdGlvbikpIHtcblx0XHRcdHJldHVybiBzZWxlY3Rpb24uc29tZSgodmFsKSA9PiB0aGlzLmNvbXBhcmVXaXRoKCkodmFsLCB2YWx1ZSkpO1xuXHRcdH0gZWxzZSBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0cmV0dXJuIHRoaXMuY29tcGFyZVdpdGgoKShzZWxlY3Rpb24gYXMgVCwgdmFsdWUpO1xuXHRcdH1cblxuXHRcdHJldHVybiBmYWxzZTtcblx0fVxufVxuIl19","import { Directive, signal } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class BrnSelectGroup {\n labelledBy = signal('');\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnSelectGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.7\", type: BrnSelectGroup, isStandalone: true, selector: \"[brnSelectGroup]\", host: { attributes: { \"role\": \"group\" }, properties: { \"attr.aria-labelledby\": \"labelledBy()\" } }, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnSelectGroup, decorators: [{\n type: Directive,\n args: [{\n selector: '[brnSelectGroup]',\n host: {\n role: 'group',\n '[attr.aria-labelledby]': 'labelledBy()',\n },\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLXNlbGVjdC1ncm91cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vc2VsZWN0L3NyYy9saWIvYnJuLXNlbGVjdC1ncm91cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFTbEQsTUFBTSxPQUFPLGNBQWM7SUFDVixVQUFVLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDOzBIQUQ1QixjQUFjOzhHQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBUDFCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsSUFBSSxFQUFFO3dCQUNMLElBQUksRUFBRSxPQUFPO3dCQUNiLHdCQUF3QixFQUFFLGNBQWM7cUJBQ3hDO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnW2JyblNlbGVjdEdyb3VwXScsXG5cdGhvc3Q6IHtcblx0XHRyb2xlOiAnZ3JvdXAnLFxuXHRcdCdbYXR0ci5hcmlhLWxhYmVsbGVkYnldJzogJ2xhYmVsbGVkQnkoKScsXG5cdH0sXG59KVxuZXhwb3J0IGNsYXNzIEJyblNlbGVjdEdyb3VwIHtcblx0cHVibGljIHJlYWRvbmx5IGxhYmVsbGVkQnkgPSBzaWduYWwoJycpO1xufVxuIl19","import { Directive, inject } from '@angular/core';\nimport { BrnLabel } from '@spartan-ng/brain/label';\nimport { BrnSelectGroup } from './brn-select-group';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@spartan-ng/brain/label\";\nexport class BrnSelectLabel {\n _group = inject(BrnSelectGroup, { optional: true });\n _label = inject(BrnLabel, { host: true });\n constructor() {\n this._group?.labelledBy.set(this._label.id());\n }\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnSelectLabel, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.7\", type: BrnSelectLabel, isStandalone: true, selector: \"[brnSelectLabel]\", hostDirectives: [{ directive: i1.BrnLabel }], ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnSelectLabel, decorators: [{\n type: Directive,\n args: [{\n selector: '[brnSelectLabel]',\n hostDirectives: [BrnLabel],\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLXNlbGVjdC1sYWJlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vc2VsZWN0L3NyYy9saWIvYnJuLXNlbGVjdC1sYWJlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFNcEQsTUFBTSxPQUFPLGNBQWM7SUFDVCxNQUFNLEdBQUcsTUFBTSxDQUFDLGNBQWMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3BELE1BQU0sR0FBRyxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFFM0Q7UUFDQyxJQUFJLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7MEhBTlcsY0FBYzs4R0FBZCxjQUFjOzsyRkFBZCxjQUFjO2tCQUoxQixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLGNBQWMsRUFBRSxDQUFDLFFBQVEsQ0FBQztpQkFDMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnJuTGFiZWwgfSBmcm9tICdAc3BhcnRhbi1uZy9icmFpbi9sYWJlbCc7XG5pbXBvcnQgeyBCcm5TZWxlY3RHcm91cCB9IGZyb20gJy4vYnJuLXNlbGVjdC1ncm91cCc7XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ1ticm5TZWxlY3RMYWJlbF0nLFxuXHRob3N0RGlyZWN0aXZlczogW0JybkxhYmVsXSxcbn0pXG5leHBvcnQgY2xhc3MgQnJuU2VsZWN0TGFiZWwge1xuXHRwcml2YXRlIHJlYWRvbmx5IF9ncm91cCA9IGluamVjdChCcm5TZWxlY3RHcm91cCwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblx0cHJpdmF0ZSByZWFkb25seSBfbGFiZWwgPSBpbmplY3QoQnJuTGFiZWwsIHsgaG9zdDogdHJ1ZSB9KTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHR0aGlzLl9ncm91cD8ubGFiZWxsZWRCeS5zZXQodGhpcy5fbGFiZWwuaWQoKSk7XG5cdH1cbn1cbiJdfQ==","import { Directive, inject, TemplateRef } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class BrnSelectPlaceholder {\n /** @internale */\n templateRef = inject(TemplateRef);\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnSelectPlaceholder, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.7\", type: BrnSelectPlaceholder, isStandalone: true, selector: \"[brnSelectPlaceholder], [hlmSelectPlaceholder]\", ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnSelectPlaceholder, decorators: [{\n type: Directive,\n args: [{\n selector: '[brnSelectPlaceholder], [hlmSelectPlaceholder]',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLXNlbGVjdC1wbGFjZWhvbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vc2VsZWN0L3NyYy9saWIvYnJuLXNlbGVjdC1wbGFjZWhvbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSy9ELE1BQU0sT0FBTyxvQkFBb0I7SUFDaEMsaUJBQWlCO0lBQ0QsV0FBVyxHQUFHLE1BQU0sQ0FBb0IsV0FBVyxDQUFDLENBQUM7MEhBRnpELG9CQUFvQjs4R0FBcEIsb0JBQW9COzsyRkFBcEIsb0JBQW9CO2tCQUhoQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxnREFBZ0Q7aUJBQzFEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ1ticm5TZWxlY3RQbGFjZWhvbGRlcl0sIFtobG1TZWxlY3RQbGFjZWhvbGRlcl0nLFxufSlcbmV4cG9ydCBjbGFzcyBCcm5TZWxlY3RQbGFjZWhvbGRlciB7XG5cdC8qKiBAaW50ZXJuYWxlICovXG5cdHB1YmxpYyByZWFkb25seSB0ZW1wbGF0ZVJlZiA9IGluamVjdDxUZW1wbGF0ZVJlZjx2b2lkPj4oVGVtcGxhdGVSZWYpO1xufVxuIl19","import { isPlatformBrowser } from '@angular/common';\nimport { ChangeDetectorRef, computed, Directive, ElementRef, inject, PLATFORM_ID, } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { injectBrnSelect } from './brn-select.token';\nimport * as i0 from \"@angular/core\";\nexport class BrnSelectTrigger {\n _elementRef = inject(ElementRef);\n /** Access the change detector */\n _changeDetector = inject(ChangeDetectorRef);\n _select = injectBrnSelect();\n _ngControl = inject(NgControl, { optional: true });\n _platform = inject(PLATFORM_ID);\n _triggerId = computed(() => `${this._select.id()}--trigger`);\n _contentId = computed(() => `${this._select.id()}--content`);\n _disabled = computed(() => this._select.disabled() || this._select.formDisabled());\n _labelledBy = computed(() => {\n const value = this._select.value();\n if (Array.isArray(value) && value.length > 0) {\n return `${this._select.labelId()} ${this._select.id()}--value`;\n }\n return this._select.labelId();\n });\n _resizeObserver;\n _statusChangedSubscription;\n constructor() {\n this._select.trigger.set(this);\n }\n ngOnInit() {\n if (this._ngControl) {\n this._statusChangedSubscription = this._ngControl.statusChanges?.subscribe(() => {\n this._changeDetector.markForCheck();\n });\n }\n }\n ngAfterViewInit() {\n this._select.triggerWidth.set(this._elementRef.nativeElement.offsetWidth);\n // if we are on the client, listen for element resize events\n if (isPlatformBrowser(this._platform)) {\n this._resizeObserver = new ResizeObserver(() => this._select.triggerWidth.set(this._elementRef.nativeElement.offsetWidth));\n this._resizeObserver.observe(this._elementRef.nativeElement);\n }\n }\n ngOnDestroy() {\n this._resizeObserver?.disconnect();\n this._statusChangedSubscription?.unsubscribe();\n }\n focus() {\n this._elementRef.nativeElement.focus();\n }\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnSelectTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.7\", type: BrnSelectTrigger, isStandalone: true, selector: \"[brnSelectTrigger]\", host: { attributes: { \"type\": \"button\", \"role\": \"combobox\", \"aria-autocomplete\": \"none\" }, listeners: { \"keydown.ArrowDown\": \"_select.show()\" }, properties: { \"attr.id\": \"_triggerId()\", \"disabled\": \"_disabled()\", \"attr.aria-expanded\": \"_select.open()\", \"attr.aria-controls\": \"_contentId()\", \"attr.aria-labelledBy\": \"_labelledBy()\", \"attr.dir\": \"_select.dir()\", \"class.ng-invalid\": \"_ngControl?.invalid || null\", \"class.ng-dirty\": \"_ngControl?.dirty || null\", \"class.ng-valid\": \"_ngControl?.valid || null\", \"class.ng-touched\": \"_ngControl?.touched || null\", \"class.ng-untouched\": \"_ngControl?.untouched || null\", \"class.ng-pristine\": \"_ngControl?.pristine || null\" } }, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnSelectTrigger, decorators: [{\n type: Directive,\n args: [{\n selector: '[brnSelectTrigger]',\n host: {\n type: 'button',\n role: 'combobox',\n '[attr.id]': '_triggerId()',\n '[disabled]': '_disabled()',\n '[attr.aria-expanded]': '_select.open()',\n '[attr.aria-controls]': '_contentId()',\n '[attr.aria-labelledBy]': '_labelledBy()',\n 'aria-autocomplete': 'none',\n '[attr.dir]': '_select.dir()',\n '[class.ng-invalid]': '_ngControl?.invalid || null',\n '[class.ng-dirty]': '_ngControl?.dirty || null',\n '[class.ng-valid]': '_ngControl?.valid || null',\n '[class.ng-touched]': '_ngControl?.touched || null',\n '[class.ng-untouched]': '_ngControl?.untouched || null',\n '[class.ng-pristine]': '_ngControl?.pristine || null',\n '(keydown.ArrowDown)': '_select.show()',\n },\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLXNlbGVjdC10cmlnZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9zZWxlY3Qvc3JjL2xpYi9icm4tc2VsZWN0LXRyaWdnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUVOLGlCQUFpQixFQUNqQixRQUFRLEVBQ1IsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBR04sV0FBVyxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBdUJyRCxNQUFNLE9BQU8sZ0JBQWdCO0lBQ1gsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNsRCxpQ0FBaUM7SUFDaEIsZUFBZSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzFDLE9BQU8sR0FBRyxlQUFlLEVBQUssQ0FBQztJQUMvQixVQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELFNBQVMsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDOUIsVUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzdELFVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUM3RCxTQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxF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Q29udGVudCI6WyJpbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuXHR0eXBlIEFmdGVyVmlld0luaXQsXG5cdENoYW5nZURldGVjdG9yUmVmLFxuXHRjb21wdXRlZCxcblx0RGlyZWN0aXZlLFxuXHRFbGVtZW50UmVmLFxuXHRpbmplY3QsXG5cdHR5cGUgT25EZXN0cm95LFxuXHR0eXBlIE9uSW5pdCxcblx0UExBVEZPUk1fSUQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHR5cGUgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGluamVjdEJyblNlbGVjdCB9IGZyb20gJy4vYnJuLXNlbGVjdC50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ1ticm5TZWxlY3RUcmlnZ2VyXScsXG5cdGhvc3Q6IHtcblx0XHR0eXBlOiAnYnV0dG9uJyxcblx0XHRyb2xlOiAnY29tYm9ib3gnLFxuXHRcdCdbYXR0ci5pZF0nOiAnX3RyaWdnZXJJZCgpJyxcblx0XHQnW2Rpc2FibGVkXSc6ICdfZGlzYWJsZWQoKScsXG5cdFx0J1thdHRyLmFyaWEtZXhwYW5kZWRdJzogJ19zZWxlY3Qub3BlbigpJyxcblx0XHQnW2F0dHIuYXJpYS1jb250cm9sc10nOiAnX2NvbnRlbnRJZCgpJyxcblx0XHQnW2F0dHIuYXJpYS1sYWJlbGxlZEJ5XSc6ICdfbGFiZWxsZWRCeSgpJyxcblx0XHQnYXJpYS1hdXRvY29tcGxldGUnOiAnbm9uZScsXG5cdFx0J1thdHRyLmRpcl0nOiAnX3NlbGVjdC5kaXIoKScsXG5cdFx0J1tjbGFzcy5uZy1pbnZhbGlkXSc6ICdfbmdDb250cm9sPy5pbnZhbGlkIHx8IG51bGwnLFxuXHRcdCdbY2xhc3MubmctZGlydHldJzogJ19uZ0NvbnRyb2w/LmRpcnR5IHx8IG51bGwnLFxuXHRcdCdbY2xhc3MubmctdmFsaWRdJzogJ19uZ0NvbnRyb2w/LnZhbGlkIHx8IG51bGwnLFxuXHRcdCdbY2xhc3MubmctdG91Y2hlZF0nOiAnX25nQ29udHJvbD8udG91Y2hlZCB8fCBudWxsJyxcblx0XHQnW2NsYXNzLm5nLXVudG91Y2hlZF0nOiAnX25nQ29udHJvbD8udW50b3VjaGVkIHx8IG51bGwnLFxuXHRcdCdbY2xhc3MubmctcHJpc3RpbmVdJzogJ19uZ0NvbnRyb2w/LnByaXN0aW5lIHx8IG51bGwnLFxuXHRcdCcoa2V5ZG93bi5BcnJvd0Rvd24pJzogJ19zZWxlY3Quc2hvdygpJyxcblx0fSxcbn0pXG5leHBvcnQgY2xhc3MgQnJuU2VsZWN0VHJpZ2dlcjxUPiBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25Jbml0IHtcblx0cHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcblx0LyoqIEFjY2VzcyB0aGUgY2hhbmdlIGRldGVjdG9yICovXG5cdHByaXZhdGUgcmVhZG9ubHkgX2NoYW5nZURldGVjdG9yID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblx0cHJvdGVjdGVkIHJlYWRvbmx5IF9zZWxlY3QgPSBpbmplY3RCcm5TZWxlY3Q8VD4oKTtcblx0cHJvdGVjdGVkIHJlYWRvbmx5IF9uZ0NvbnRyb2wgPSBpbmplY3QoTmdDb250cm9sLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXHRwcml2YXRlIHJlYWRvbmx5IF9wbGF0Zm9ybSA9IGluamVjdChQTEFURk9STV9JRCk7XG5cdHByb3RlY3RlZCByZWFkb25seSBfdHJpZ2dlcklkID0gY29tcHV0ZWQoKCkgPT4gYCR7dGhpcy5fc2VsZWN0LmlkKCl9LS10cmlnZ2VyYCk7XG5cdHByb3RlY3RlZCByZWFkb25seSBfY29udGVudElkID0gY29tcHV0ZWQoKCkgPT4gYCR7dGhpcy5fc2VsZWN0LmlkKCl9LS1jb250ZW50YCk7XG5cdHByb3RlY3RlZCByZWFkb25seSBfZGlzYWJsZWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLl9zZWxlY3QuZGlzYWJsZWQoKSB8fCB0aGlzLl9zZWxlY3QuZm9ybURpc2FibGVkKCkpO1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgX2xhYmVsbGVkQnkgPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0Y29uc3QgdmFsdWUgPSB0aGlzLl9zZWxlY3QudmFsdWUoKTtcblxuXHRcdGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPiAwKSB7XG5cdFx0XHRyZXR1cm4gYCR7dGhpcy5fc2VsZWN0LmxhYmVsSWQoKX0gJHt0aGlzLl9zZWxlY3QuaWQoKX0tLXZhbHVlYDtcblx0XHR9XG5cdFx0cmV0dXJuIHRoaXMuX3NlbGVjdC5sYWJlbElkKCk7XG5cdH0pO1xuXG5cdHByaXZhdGUgX3Jlc2l6ZU9ic2VydmVyPzogUmVzaXplT2JzZXJ2ZXI7XG5cdHByaXZhdGUgX3N0YXR1c0NoYW5nZWRTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0dGhpcy5fc2VsZWN0LnRyaWdnZXIuc2V0KHRoaXMpO1xuXHR9XG5cblx0bmdPbkluaXQoKSB7XG5cdFx0aWYgKHRoaXMuX25nQ29udHJvbCkge1xuXHRcdFx0dGhpcy5fc3RhdHVzQ2hhbmdlZFN1YnNjcmlwdGlvbiA9IHRoaXMuX25nQ29udHJvbC5zdGF0dXNDaGFuZ2VzPy5zdWJzY3JpYmUoKCkgPT4ge1xuXHRcdFx0XHR0aGlzLl9jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcblx0XHRcdH0pO1xuXHRcdH1cblx0fVxuXG5cdG5nQWZ0ZXJWaWV3SW5pdCgpIHtcblx0XHR0aGlzLl9zZWxlY3QudHJpZ2dlcldpZHRoLnNldCh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGgpO1xuXG5cdFx0Ly8gaWYgd2UgYXJlIG9uIHRoZSBjbGllbnQsIGxpc3RlbiBmb3IgZWxlbWVudCByZXNpemUgZXZlbnRzXG5cdFx0aWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMuX3BsYXRmb3JtKSkge1xuXHRcdFx0dGhpcy5fcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT5cblx0XHRcdFx0dGhpcy5fc2VsZWN0LnRyaWdnZXJXaWR0aC5zZXQodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoKSxcblx0XHRcdCk7XG5cblx0XHRcdHRoaXMuX3Jlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcblx0XHR9XG5cdH1cblxuXHRuZ09uRGVzdHJveSgpOiB2b2lkIHtcblx0XHR0aGlzLl9yZXNpemVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuXHRcdHRoaXMuX3N0YXR1c0NoYW5nZWRTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG5cdH1cblxuXHRmb2N1cygpOiB2b2lkIHtcblx0XHR0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcblx0fVxufVxuIl19","import { Directive, inject, TemplateRef } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class BrnSelectValueTemplate {\n /** @internal */\n templateRef = inject(TemplateRef);\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnSelectValueTemplate, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.7\", type: BrnSelectValueTemplate, isStandalone: true, selector: \"[brnSelectValue], [hlmSelectValue]\", ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnSelectValueTemplate, decorators: [{\n type: Directive,\n args: [{\n selector: '[brnSelectValue], [hlmSelectValue]',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLXNlbGVjdC12YWx1ZS10ZW1wbGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vc2VsZWN0L3NyYy9saWIvYnJuLXNlbGVjdC12YWx1ZS10ZW1wbGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSy9ELE1BQU0sT0FBTyxzQkFBc0I7SUFDbEMsZ0JBQWdCO0lBQ0EsV0FBVyxHQUFHLE1BQU0sQ0FBd0MsV0FBVyxDQUFDLENBQUM7MEhBRjdFLHNCQUFzQjs4R0FBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQUhsQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxvQ0FBb0M7aUJBQzlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ1ticm5TZWxlY3RWYWx1ZV0sIFtobG1TZWxlY3RWYWx1ZV0nLFxufSlcbmV4cG9ydCBjbGFzcyBCcm5TZWxlY3RWYWx1ZVRlbXBsYXRlPFQ+IHtcblx0LyoqIEBpbnRlcm5hbCAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgdGVtcGxhdGVSZWYgPSBpbmplY3Q8VGVtcGxhdGVSZWY8QnJuU2VsZWN0VmFsdWVDb250ZXh0PFQ+Pj4oVGVtcGxhdGVSZWYpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJyblNlbGVjdFZhbHVlQ29udGV4dDxUPiB7XG5cdCRpbXBsaWNpdDogVCB8IFRbXTtcbn1cbiJdfQ==","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, contentChild, input } from '@angular/core';\nimport { BrnSelectPlaceholder } from './brn-select-placeholder';\nimport { BrnSelectValueTemplate } from './brn-select-value-template';\nimport { injectBrnSelect } from './brn-select.token';\nimport * as i0 from \"@angular/core\";\nexport class BrnSelectValue {\n _select = injectBrnSelect();\n id = computed(() => `${this._select.id()}--value`);\n placeholder = computed(() => this._select.placeholder());\n _showPlaceholder = computed(() => this._value() === null || this._value() === undefined || this._value() === '');\n /** Allow a custom value template */\n _customValueTemplate = contentChild(BrnSelectValueTemplate, { descendants: true });\n _customPlaceholderTemplate = contentChild(BrnSelectPlaceholder, { descendants: true });\n _value = computed(() => {\n const value = this._values();\n if (value.length === 0) {\n return null;\n }\n // remove any selected values that are not in the options list\n const existingOptions = value.filter((val) => this._select.options().some((option) => this._select.compareWith()(option.value(), val)));\n const selectedOption = existingOptions.map((val) => this._select.options().find((option) => this._select.compareWith()(option.value(), val)));\n if (selectedOption.length === 0) {\n return null;\n }\n const selectedLabels = selectedOption.map((option) => option?.getLabel());\n if (this._select.dir() === 'rtl') {\n selectedLabels.reverse();\n }\n return this.transformFn()(selectedLabels);\n });\n /** Normalize the values as an array */\n _values = computed(() => Array.isArray(this._select.value()) ? this._select.value() : [this._select.value()]);\n transformFn = input((values) => (values ?? []).join(', '));\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnSelectValue, deps: [], target: i0.ɵɵFactoryTarget.Component });\n /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.7\", type: BrnSelectValue, isStandalone: true, selector: \"brn-select-value, hlm-select-value\", inputs: { transformFn: { classPropertyName: \"transformFn\", publicName: \"transformFn\", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { \"id\": \"id()\", \"attr.data-placeholder\": \"_showPlaceholder() ? \\\"\\\" : null\" }, classAttribute: \"line-clamp-1 whitespace-nowrap pointer-events-none\" }, queries: [{ propertyName: \"_customValueTemplate\", first: true, predicate: BrnSelectValueTemplate, descendants: true, isSignal: true }, { propertyName: \"_customPlaceholderTemplate\", first: true, predicate: BrnSelectPlaceholder, descendants: true, isSignal: true }], ngImport: i0, template: `\n\t\t@if (_showPlaceholder()) {\n\t\t\t<ng-container [ngTemplateOutlet]=\"_customPlaceholderTemplate()?.templateRef ?? defaultPlaceholderTemplate\" />\n\t\t} @else {\n\t\t\t<ng-container\n\t\t\t\t[ngTemplateOutlet]=\"_customValueTemplate()?.templateRef ?? defaultValueTemplate\"\n\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: _select.value() }\"\n\t\t\t/>\n\t\t}\n\n\t\t<ng-template #defaultValueTemplate>{{ _value() }}</ng-template>\n\t\t<ng-template #defaultPlaceholderTemplate>{{ placeholder() }}</ng-template>\n\t`, isInline: true, dependencies: [{ kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnSelectValue, decorators: [{\n type: Component,\n args: [{\n selector: 'brn-select-value, hlm-select-value',\n imports: [NgTemplateOutlet],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[id]': 'id()',\n '[attr.data-placeholder]': '_showPlaceholder() ? \"\" : null',\n class: 'line-clamp-1 whitespace-nowrap pointer-events-none',\n },\n template: `\n\t\t@if (_showPlaceholder()) {\n\t\t\t<ng-container [ngTemplateOutlet]=\"_customPlaceholderTemplate()?.templateRef ?? defaultPlaceholderTemplate\" />\n\t\t} @else {\n\t\t\t<ng-container\n\t\t\t\t[ngTemplateOutlet]=\"_customValueTemplate()?.templateRef ?? defaultValueTemplate\"\n\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: _select.value() }\"\n\t\t\t/>\n\t\t}\n\n\t\t<ng-template #defaultValueTemplate>{{ _value() }}</ng-template>\n\t\t<ng-template #defaultPlaceholderTemplate>{{ placeholder() }}</ng-template>\n\t`,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLXNlbGVjdC12YWx1ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vc2VsZWN0L3NyYy9saWIvYnJuLXNlbGVjdC12YWx1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUF5QnJELE1BQU0sT0FBTyxjQUFjO0lBQ1AsT0FBTyxHQUFHLGVBQWUsRUFBSyxDQUFDO0lBQ2xDLEVBQUUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNuRCxXQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUV0RCxnQkFBZ0IsR0FBRyxRQUFRLENBQzdDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUNuRixDQUFDO0lBRUYsb0NBQW9DO0lBQ2pCLG9CQUFvQixHQUFHLFlBQVksQ0FBQyxzQkFBc0IsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ25GLDBCQUEwQixHQUFHLFlBQVksQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRXZGLE1BQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ3pDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUU3QixJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDeEIsT0FBTyxJQUFJLENBQUM7UUFDYixDQUFDO1FBRUQsOERBQThEO1FBQzlELE1BQU0sZUFBZSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUM1QyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FDeEYsQ0FBQztRQUNGLE1BQU0sY0FBYyxHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUNsRCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FDeEYsQ0FBQztRQUVGLElBQUksY0FBYyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNqQyxPQUFPLElBQUksQ0FBQztRQUNiLENBQUM7UUFFRCxNQUFNLGNBQWMsR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUUxRSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDbEMsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzFCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMzQyxDQUFDLENBQUMsQ0FBQztJQUVILHVDQUF1QztJQUNwQixPQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUMxQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQVUsQ0FBQyxDQUFDLENBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFTLENBQ3JHLENBQUM7SUFFYyxXQUFXLEdBQUcsS0FBSyxDQUEwQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7MEhBN0N4RyxjQUFjOzhHQUFkLGNBQWMsaWRBVTZCLHNCQUFzQiw2R0FDaEIsb0JBQW9CLGdFQXpCdkU7Ozs7Ozs7Ozs7OztFQVlULDREQW5CUyxnQkFBZ0I7OzJGQXFCZCxjQUFjO2tCQXZCMUIsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsb0NBQW9DO29CQUM5QyxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDM0IsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLElBQUksRUFBRTt3QkFDTCxNQUFNLEVBQUUsTUFBTTt3QkFDZCx5QkFBeUIsRUFBRSxnQ0FBZ0M7d0JBQzNELEtBQUssRUFBRSxvREFBb0Q7cUJBQzNEO29CQUNELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7O0VBWVQ7aUJBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBjb250ZW50Q2hpbGQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCcm5TZWxlY3RQbGFjZWhvbGRlciB9IGZyb20gJy4vYnJuLXNlbGVjdC1wbGFjZWhvbGRlcic7XG5pbXBvcnQgeyBCcm5TZWxlY3RWYWx1ZVRlbXBsYXRlIH0gZnJvbSAnLi9icm4tc2VsZWN0LXZhbHVlLXRlbXBsYXRlJztcbmltcG9ydCB7IGluamVjdEJyblNlbGVjdCB9IGZyb20gJy4vYnJuLXNlbGVjdC50b2tlbic7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2Jybi1zZWxlY3QtdmFsdWUsIGhsbS1zZWxlY3QtdmFsdWUnLFxuXHRpbXBvcnRzOiBbTmdUZW1wbGF0ZU91dGxldF0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRob3N0OiB7XG5cdFx0J1tpZF0nOiAnaWQoKScsXG5cdFx0J1thdHRyLmRhdGEtcGxhY2Vob2xkZXJdJzogJ19zaG93UGxhY2Vob2xkZXIoKSA/IFwiXCIgOiBudWxsJyxcblx0XHRjbGFzczogJ2xpbmUtY2xhbXAtMSB3aGl0ZXNwYWNlLW5vd3JhcCBwb2ludGVyLWV2ZW50cy1ub25lJyxcblx0fSxcblx0dGVtcGxhdGU6IGBcblx0XHRAaWYgKF9zaG93UGxhY2Vob2xkZXIoKSkge1xuXHRcdFx0PG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJfY3VzdG9tUGxhY2Vob2xkZXJUZW1wbGF0ZSgpPy50ZW1wbGF0ZVJlZiA/PyBkZWZhdWx0UGxhY2Vob2xkZXJUZW1wbGF0ZVwiIC8+XG5cdFx0fSBAZWxzZSB7XG5cdFx0XHQ8bmctY29udGFpbmVyXG5cdFx0XHRcdFtuZ1RlbXBsYXRlT3V0bGV0XT1cIl9jdXN0b21WYWx1ZVRlbXBsYXRlKCk/LnRlbXBsYXRlUmVmID8/IGRlZmF1bHRWYWx1ZVRlbXBsYXRlXCJcblx0XHRcdFx0W25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBfc2VsZWN0LnZhbHVlKCkgfVwiXG5cdFx0XHQvPlxuXHRcdH1cblxuXHRcdDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFZhbHVlVGVtcGxhdGU+e3sgX3ZhbHVlKCkgfX08L25nLXRlbXBsYXRlPlxuXHRcdDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFBsYWNlaG9sZGVyVGVtcGxhdGU+e3sgcGxhY2Vob2xkZXIoKSB9fTwvbmctdGVtcGxhdGU+XG5cdGAsXG59KVxuZXhwb3J0IGNsYXNzIEJyblNlbGVjdFZhbHVlPFQ+IHtcblx0cHJvdGVjdGVkIHJlYWRvbmx5IF9zZWxlY3QgPSBpbmplY3RCcm5TZWxlY3Q8VD4oKTtcblx0cHVibGljIHJlYWRvbmx5IGlkID0gY29tcHV0ZWQoKCkgPT4gYCR7dGhpcy5fc2VsZWN0LmlkKCl9LS12YWx1ZWApO1xuXHRwdWJsaWMgcmVhZG9ubHkgcGxhY2Vob2xkZXIgPSBjb21wdXRlZCgoKSA9PiB0aGlzLl9zZWxlY3QucGxhY2Vob2xkZXIoKSk7XG5cblx0cHJvdGVjdGVkIHJlYWRvbmx5IF9zaG93UGxhY2Vob2xkZXIgPSBjb21wdXRlZChcblx0XHQoKSA9PiB0aGlzLl92YWx1ZSgpID09PSBudWxsIHx8IHRoaXMuX3ZhbHVlKCkgPT09IHVuZGVmaW5lZCB8fCB0aGlzLl92YWx1ZSgpID09PSAnJyxcblx0KTtcblxuXHQvKiogQWxsb3cgYSBjdXN0b20gdmFsdWUgdGVtcGxhdGUgKi9cblx0cHJvdGVjdGVkIHJlYWRvbmx5IF9jdXN0b21WYWx1ZVRlbXBsYXRlID0gY29udGVudENoaWxkKEJyblNlbGVjdFZhbHVlVGVtcGxhdGUsIHsgZGVzY2VuZGFudHM6IHRydWUgfSk7XG5cdHByb3RlY3RlZCByZWFkb25seSBfY3VzdG9tUGxhY2Vob2xkZXJUZW1wbGF0ZSA9IGNvbnRlbnRDaGlsZChCcm5TZWxlY3RQbGFjZWhvbGRlciwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KTtcblxuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgX3ZhbHVlID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGNvbnN0IHZhbHVlID0gdGhpcy5fdmFsdWVzKCk7XG5cblx0XHRpZiAodmFsdWUubGVuZ3RoID09PSAwKSB7XG5cdFx0XHRyZXR1cm4gbnVsbDtcblx0XHR9XG5cblx0XHQvLyByZW1vdmUgYW55IHNlbGVjdGVkIHZhbHVlcyB0aGF0IGFyZSBub3QgaW4gdGhlIG9wdGlvbnMgbGlzdFxuXHRcdGNvbnN0IGV4aXN0aW5nT3B0aW9ucyA9IHZhbHVlLmZpbHRlcigodmFsKSA9PlxuXHRcdFx0dGhpcy5fc2VsZWN0Lm9wdGlvbnMoKS5zb21lKChvcHRpb24pID0+IHRoaXMuX3NlbGVjdC5jb21wYXJlV2l0aCgpKG9wdGlvbi52YWx1ZSgpLCB2YWwpKSxcblx0XHQpO1xuXHRcdGNvbnN0IHNlbGVjdGVkT3B0aW9uID0gZXhpc3RpbmdPcHRpb25zLm1hcCgodmFsKSA9PlxuXHRcdFx0dGhpcy5fc2VsZWN0Lm9wdGlvbnMoKS5maW5kKChvcHRpb24pID0+IHRoaXMuX3NlbGVjdC5jb21wYXJlV2l0aCgpKG9wdGlvbi52YWx1ZSgpLCB2YWwpKSxcblx0XHQpO1xuXG5cdFx0aWYgKHNlbGVjdGVkT3B0aW9uLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fVxuXG5cdFx0Y29uc3Qgc2VsZWN0ZWRMYWJlbHMgPSBzZWxlY3RlZE9wdGlvbi5tYXAoKG9wdGlvbikgPT4gb3B0aW9uPy5nZXRMYWJlbCgpKTtcblxuXHRcdGlmICh0aGlzLl9zZWxlY3QuZGlyKCkgPT09ICdydGwnKSB7XG5cdFx0XHRzZWxlY3RlZExhYmVscy5yZXZlcnNlKCk7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLnRyYW5zZm9ybUZuKCkoc2VsZWN0ZWRMYWJlbHMpO1xuXHR9KTtcblxuXHQvKiogTm9ybWFsaXplIHRoZSB2YWx1ZXMgYXMgYW4gYXJyYXkgKi9cblx0cHJvdGVjdGVkIHJlYWRvbmx5IF92YWx1ZXMgPSBjb21wdXRlZCgoKSA9PlxuXHRcdEFycmF5LmlzQXJyYXkodGhpcy5fc2VsZWN0LnZhbHVlKCkpID8gKHRoaXMuX3NlbGVjdC52YWx1ZSgpIGFzIFRbXSkgOiAoW3RoaXMuX3NlbGVjdC52YWx1ZSgpXSBhcyBUW10pLFxuXHQpO1xuXG5cdHB1YmxpYyByZWFkb25seSB0cmFuc2Zvcm1GbiA9IGlucHV0PCh2YWx1ZXM6IChzdHJpbmcgfCB1bmRlZmluZWQpW10pID0+IGFueT4oKHZhbHVlcykgPT4gKHZhbHVlcyA/PyBbXSkuam9pbignLCAnKSk7XG59XG4iXX0=","import { BrnSelect } from './lib/brn-select';\nimport { BrnSelectContent, BrnSelectScrollDown, BrnSelectScrollUp } from './lib/brn-select-content';\nimport { BrnSelectGroup } from './lib/brn-select-group';\nimport { BrnSelectLabel } from './lib/brn-select-label';\nimport { BrnSelectOption } from './lib/brn-select-option';\nimport { BrnSelectPlaceholder } from './lib/brn-select-placeholder';\nimport { BrnSelectTrigger } from './lib/brn-select-trigger';\nimport { BrnSelectValue } from './lib/brn-select-value';\nimport { BrnSelectValueTemplate } from './lib/brn-select-value-template';\nexport * from './lib/brn-select';\nexport * from './lib/brn-select-content';\nexport * from './lib/brn-select-content.token';\nexport * from './lib/brn-select-group';\nexport * from './lib/brn-select-label';\nexport * from './lib/brn-select-option';\nexport * from './lib/brn-select-placeholder';\nexport * from './lib/brn-select-trigger';\nexport * from './lib/brn-select-value';\nexport * from './lib/brn-select-value-template';\nexport * from './lib/brn-select.token';\nexport const BrnSelectImports = [\n BrnSelect,\n BrnSelectContent,\n BrnSelectTrigger,\n BrnSelectOption,\n BrnSelectValue,\n BrnSelectScrollDown,\n BrnSelectScrollUp,\n BrnSelectGroup,\n BrnSelectLabel,\n BrnSelectValueTemplate,\n BrnSelectPlaceholder,\n];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL3NlbGVjdC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUV6RSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsd0JBQXdCLENBQUM7QUFFdkMsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUc7SUFDL0IsU0FBUztJQUNULGdCQUFnQjtJQUNoQixnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLGNBQWM7SUFDZCxtQkFBbUI7SUFDbkIsaUJBQWlCO0lBQ2pCLGNBQWM7SUFDZCxjQUFjO0lBQ2Qsc0JBQXNCO0lBQ3RCLG9CQUFvQjtDQUNYLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCcm5TZWxlY3QgfSBmcm9tICcuL2xpYi9icm4tc2VsZWN0JztcbmltcG9ydCB7IEJyblNlbGVjdENvbnRlbnQsIEJyblNlbGVjdFNjcm9sbERvd24sIEJyblNlbGVjdFNjcm9sbFVwIH0gZnJvbSAnLi9saWIvYnJuLXNlbGVjdC1jb250ZW50JztcbmltcG9ydCB7IEJyblNlbGVjdEdyb3VwIH0gZnJvbSAnLi9saWIvYnJuLXNlbGVjdC1ncm91cCc7XG5pbXBvcnQgeyBCcm5TZWxlY3RMYWJlbCB9IGZyb20gJy4vbGliL2Jybi1zZWxlY3QtbGFiZWwnO1xuaW1wb3J0IHsgQnJuU2VsZWN0T3B0aW9uIH0gZnJvbSAnLi9saWIvYnJuLXNlbGVjdC1vcHRpb24nO1xuaW1wb3J0IHsgQnJuU2VsZWN0UGxhY2Vob2xkZXIgfSBmcm9tICcuL2xpYi9icm4tc2VsZWN0LXBsYWNlaG9sZGVyJztcbmltcG9ydCB7IEJyblNlbGVjdFRyaWdnZXIgfSBmcm9tICcuL2xpYi9icm4tc2VsZWN0LXRyaWdnZXInO1xuaW1wb3J0IHsgQnJuU2VsZWN0VmFsdWUgfSBmcm9tICcuL2xpYi9icm4tc2VsZWN0LXZhbHVlJztcbmltcG9ydCB7IEJyblNlbGVjdFZhbHVlVGVtcGxhdGUgfSBmcm9tICcuL2xpYi9icm4tc2VsZWN0LXZhbHVlLXRlbXBsYXRlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJuLXNlbGVjdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tc2VsZWN0LWNvbnRlbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJuLXNlbGVjdC1jb250ZW50LnRva2VuJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jybi1zZWxlY3QtZ3JvdXAnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJuLXNlbGVjdC1sYWJlbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tc2VsZWN0LW9wdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tc2VsZWN0LXBsYWNlaG9sZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jybi1zZWxlY3QtdHJpZ2dlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tc2VsZWN0LXZhbHVlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jybi1zZWxlY3QtdmFsdWUtdGVtcGxhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJuLXNlbGVjdC50b2tlbic7XG5cbmV4cG9ydCBjb25zdCBCcm5TZWxlY3RJbXBvcnRzID0gW1xuXHRCcm5TZWxlY3QsXG5cdEJyblNlbGVjdENvbnRlbnQsXG5cdEJyblNlbGVjdFRyaWdnZXIsXG5cdEJyblNlbGVjdE9wdGlvbixcblx0QnJuU2VsZWN0VmFsdWUsXG5cdEJyblNlbGVjdFNjcm9sbERvd24sXG5cdEJyblNlbGVjdFNjcm9sbFVwLFxuXHRCcm5TZWxlY3RHcm91cCxcblx0QnJuU2VsZWN0TGFiZWwsXG5cdEJyblNlbGVjdFZhbHVlVGVtcGxhdGUsXG5cdEJyblNlbGVjdFBsYWNlaG9sZGVyLFxuXSBhcyBjb25zdDtcbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhcnRhbi1uZy1icmFpbi1zZWxlY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL3NlbGVjdC9zcmMvc3BhcnRhbi1uZy1icmFpbi1zZWxlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":["nextId","i1"],"mappings":"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"}
@@ -21,10 +21,10 @@ class BrnSeparator {
21
21
  decorative = input(true, { transform: booleanAttribute });
22
22
  _role = computed(() => (this.decorative() ? 'none' : 'separator'));
23
23
  _ariaOrientation = computed(() => this.decorative() ? undefined : this.orientation() === 'vertical' ? 'vertical' : undefined);
24
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnSeparator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
25
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.8", type: BrnSeparator, isStandalone: true, selector: "[brnSeparator],brn-separator", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, decorative: { classPropertyName: "decorative", publicName: "decorative", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "role": "_role()", "attr.aria-orientation": "_ariaOrientation()", "attr.data-orientation": "orientation()" } }, ngImport: i0 });
24
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: BrnSeparator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
25
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.7", type: BrnSeparator, isStandalone: true, selector: "[brnSeparator],brn-separator", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, decorative: { classPropertyName: "decorative", publicName: "decorative", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "role": "_role()", "attr.aria-orientation": "_ariaOrientation()", "attr.data-orientation": "orientation()" } }, ngImport: i0 });
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnSeparator, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: BrnSeparator, decorators: [{
28
28
  type: Directive,
29
29
  args: [{
30
30
  selector: '[brnSeparator],brn-separator',
@@ -1 +1 @@
1
- {"version":3,"file":"spartan-ng-brain-separator.mjs","sources":["../../../../libs/brain/separator/src/lib/brn-separator.token.ts","../../../../libs/brain/separator/src/lib/brn-separator.ts","../../../../libs/brain/separator/src/index.ts","../../../../libs/brain/separator/src/spartan-ng-brain-separator.ts"],"sourcesContent":["// brn-separator.token.ts\nimport { InjectionToken, type ValueProvider, inject } from '@angular/core';\n\nexport type SeparatorOrientation = 'horizontal' | 'vertical';\n\nexport interface BrnSeparatorConfig {\n\torientation: SeparatorOrientation;\n}\n\nconst defaultConfig: BrnSeparatorConfig = {\n\torientation: 'horizontal',\n};\n\nconst BrnSeparatorConfigToken = new InjectionToken<BrnSeparatorConfig>('BrnSeparatorConfig');\n\nexport function provideBrnSeparatorConfig(config: Partial<BrnSeparatorConfig>): ValueProvider {\n\treturn { provide: BrnSeparatorConfigToken, useValue: { ...defaultConfig, ...config } };\n}\n\nexport function injectBrnSeparatorConfig(): BrnSeparatorConfig {\n\treturn inject(BrnSeparatorConfigToken, { optional: true }) ?? defaultConfig;\n}\n","import type { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, computed, Directive, input } from '@angular/core';\nimport { injectBrnSeparatorConfig, SeparatorOrientation } from './brn-separator.token';\n\n@Directive({\n\tselector: '[brnSeparator],brn-separator',\n\thost: {\n\t\t'[role]': '_role()',\n\t\t'[attr.aria-orientation]': '_ariaOrientation()',\n\t\t'[attr.data-orientation]': 'orientation()',\n\t},\n})\nexport class BrnSeparator {\n\tprivate readonly _config = injectBrnSeparatorConfig();\n\n\t/** Orientation of the separator. */\n\tpublic readonly orientation = input<SeparatorOrientation>(this._config.orientation);\n\t/** Whether the separator is decorative. */\n\tpublic readonly decorative = input<boolean, BooleanInput>(true, { transform: booleanAttribute });\n\n\tprotected readonly _role = computed(() => (this.decorative() ? 'none' : 'separator'));\n\tprotected readonly _ariaOrientation = computed(() =>\n\t\tthis.decorative() ? undefined : this.orientation() === 'vertical' ? 'vertical' : undefined,\n\t);\n}\n","import { BrnSeparator } from './lib/brn-separator';\n\nexport * from './lib/brn-separator';\nexport * from './lib/brn-separator.token';\n\nexport const BrnSeparatorImports = [BrnSeparator] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAAA;AASA,MAAM,aAAa,GAAuB;AACzC,IAAA,WAAW,EAAE,YAAY;CACzB;AAED,MAAM,uBAAuB,GAAG,IAAI,cAAc,CAAqB,oBAAoB,CAAC;AAEtF,SAAU,yBAAyB,CAAC,MAAmC,EAAA;AAC5E,IAAA,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,EAAE,GAAG,aAAa,EAAE,GAAG,MAAM,EAAE,EAAE;AACvF;SAEgB,wBAAwB,GAAA;AACvC,IAAA,OAAO,MAAM,CAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,aAAa;AAC5E;;MCTa,YAAY,CAAA;IACP,OAAO,GAAG,wBAAwB,EAAE;;IAGrC,WAAW,GAAG,KAAK,CAAuB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;;IAEnE,UAAU,GAAG,KAAK,CAAwB,IAAI,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAE7E,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,UAAU,EAAE,GAAG,MAAM,GAAG,WAAW,CAAC,CAAC;AAClE,IAAA,gBAAgB,GAAG,QAAQ,CAAC,MAC9C,IAAI,CAAC,UAAU,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,UAAU,GAAG,UAAU,GAAG,SAAS,CAC1F;0HAXW,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;8GAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,SAAA,EAAA,uBAAA,EAAA,oBAAA,EAAA,uBAAA,EAAA,eAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBARxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,8BAA8B;AACxC,oBAAA,IAAI,EAAE;AACL,wBAAA,QAAQ,EAAE,SAAS;AACnB,wBAAA,yBAAyB,EAAE,oBAAoB;AAC/C,wBAAA,yBAAyB,EAAE,eAAe;AAC1C,qBAAA;AACD,iBAAA;;;ACNM,MAAM,mBAAmB,GAAG,CAAC,YAAY;;ACLhD;;AAEG;;;;"}
1
+ {"version":3,"file":"spartan-ng-brain-separator.mjs","sources":["../tmp-esm2022/separator/lib/brn-separator.token.js","../tmp-esm2022/separator/lib/brn-separator.js","../tmp-esm2022/separator/index.js","../tmp-esm2022/separator/spartan-ng-brain-separator.js"],"sourcesContent":["// brn-separator.token.ts\nimport { InjectionToken, inject } from '@angular/core';\nconst defaultConfig = {\n orientation: 'horizontal',\n};\nconst BrnSeparatorConfigToken = new InjectionToken('BrnSeparatorConfig');\nexport function provideBrnSeparatorConfig(config) {\n return { provide: BrnSeparatorConfigToken, useValue: { ...defaultConfig, ...config } };\n}\nexport function injectBrnSeparatorConfig() {\n return inject(BrnSeparatorConfigToken, { optional: true }) ?? defaultConfig;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLXNlcGFyYXRvci50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vc2VwYXJhdG9yL3NyYy9saWIvYnJuLXNlcGFyYXRvci50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx5QkFBeUI7QUFDekIsT0FBTyxFQUFFLGNBQWMsRUFBc0IsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBUTNFLE1BQU0sYUFBYSxHQUF1QjtJQUN6QyxXQUFXLEVBQUUsWUFBWTtDQUN6QixDQUFDO0FBRUYsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLGNBQWMsQ0FBcUIsb0JBQW9CLENBQUMsQ0FBQztBQUU3RixNQUFNLFVBQVUseUJBQXlCLENBQUMsTUFBbUM7SUFDNUUsT0FBTyxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLGFBQWEsRUFBRSxHQUFHLE1BQU0sRUFBRSxFQUFFLENBQUM7QUFDeEYsQ0FBQztBQUVELE1BQU0sVUFBVSx3QkFBd0I7SUFDdkMsT0FBTyxNQUFNLENBQUMsdUJBQXVCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsSUFBSSxhQUFhLENBQUM7QUFDN0UsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGJybi1zZXBhcmF0b3IudG9rZW4udHNcbmltcG9ydCB7IEluamVjdGlvblRva2VuLCB0eXBlIFZhbHVlUHJvdmlkZXIsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgdHlwZSBTZXBhcmF0b3JPcmllbnRhdGlvbiA9ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnJuU2VwYXJhdG9yQ29uZmlnIHtcblx0b3JpZW50YXRpb246IFNlcGFyYXRvck9yaWVudGF0aW9uO1xufVxuXG5jb25zdCBkZWZhdWx0Q29uZmlnOiBCcm5TZXBhcmF0b3JDb25maWcgPSB7XG5cdG9yaWVudGF0aW9uOiAnaG9yaXpvbnRhbCcsXG59O1xuXG5jb25zdCBCcm5TZXBhcmF0b3JDb25maWdUb2tlbiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxCcm5TZXBhcmF0b3JDb25maWc+KCdCcm5TZXBhcmF0b3JDb25maWcnKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVCcm5TZXBhcmF0b3JDb25maWcoY29uZmlnOiBQYXJ0aWFsPEJyblNlcGFyYXRvckNvbmZpZz4pOiBWYWx1ZVByb3ZpZGVyIHtcblx0cmV0dXJuIHsgcHJvdmlkZTogQnJuU2VwYXJhdG9yQ29uZmlnVG9rZW4sIHVzZVZhbHVlOiB7IC4uLmRlZmF1bHRDb25maWcsIC4uLmNvbmZpZyB9IH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RCcm5TZXBhcmF0b3JDb25maWcoKTogQnJuU2VwYXJhdG9yQ29uZmlnIHtcblx0cmV0dXJuIGluamVjdChCcm5TZXBhcmF0b3JDb25maWdUb2tlbiwgeyBvcHRpb25hbDogdHJ1ZSB9KSA/PyBkZWZhdWx0Q29uZmlnO1xufVxuIl19","import { booleanAttribute, computed, Directive, input } from '@angular/core';\nimport { injectBrnSeparatorConfig } from './brn-separator.token';\nimport * as i0 from \"@angular/core\";\nexport class BrnSeparator {\n _config = injectBrnSeparatorConfig();\n /** Orientation of the separator. */\n orientation = input(this._config.orientation);\n /** Whether the separator is decorative. */\n decorative = input(true, { transform: booleanAttribute });\n _role = computed(() => (this.decorative() ? 'none' : 'separator'));\n _ariaOrientation = computed(() => this.decorative() ? undefined : this.orientation() === 'vertical' ? 'vertical' : undefined);\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnSeparator, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.7\", type: BrnSeparator, isStandalone: true, selector: \"[brnSeparator],brn-separator\", inputs: { orientation: { classPropertyName: \"orientation\", publicName: \"orientation\", isSignal: true, isRequired: false, transformFunction: null }, decorative: { classPropertyName: \"decorative\", publicName: \"decorative\", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { \"role\": \"_role()\", \"attr.aria-orientation\": \"_ariaOrientation()\", \"attr.data-orientation\": \"orientation()\" } }, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnSeparator, decorators: [{\n type: Directive,\n args: [{\n selector: '[brnSeparator],brn-separator',\n host: {\n '[role]': '_role()',\n '[attr.aria-orientation]': '_ariaOrientation()',\n '[attr.data-orientation]': 'orientation()',\n },\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLXNlcGFyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vc2VwYXJhdG9yL3NyYy9saWIvYnJuLXNlcGFyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFFLHdCQUF3QixFQUF3QixNQUFNLHVCQUF1QixDQUFDOztBQVV2RixNQUFNLE9BQU8sWUFBWTtJQUNQLE9BQU8sR0FBRyx3QkFBd0IsRUFBRSxDQUFDO0lBRXRELG9DQUFvQztJQUNwQixXQUFXLEdBQUcsS0FBSyxDQUF1QixJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3BGLDJDQUEyQztJQUMzQixVQUFVLEdBQUcsS0FBSyxDQUF3QixJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBRTlFLEtBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNuRSxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQ25ELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FDMUYsQ0FBQzswSEFYVSxZQUFZOzhHQUFaLFlBQVk7OzJGQUFaLFlBQVk7a0JBUnhCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLDhCQUE4QjtvQkFDeEMsSUFBSSxFQUFFO3dCQUNMLFFBQVEsRUFBRSxTQUFTO3dCQUNuQix5QkFBeUIsRUFBRSxvQkFBb0I7d0JBQy9DLHlCQUF5QixFQUFFLGVBQWU7cUJBQzFDO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgYm9vbGVhbkF0dHJpYnV0ZSwgY29tcHV0ZWQsIERpcmVjdGl2ZSwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdEJyblNlcGFyYXRvckNvbmZpZywgU2VwYXJhdG9yT3JpZW50YXRpb24gfSBmcm9tICcuL2Jybi1zZXBhcmF0b3IudG9rZW4nO1xuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdbYnJuU2VwYXJhdG9yXSxicm4tc2VwYXJhdG9yJyxcblx0aG9zdDoge1xuXHRcdCdbcm9sZV0nOiAnX3JvbGUoKScsXG5cdFx0J1thdHRyLmFyaWEtb3JpZW50YXRpb25dJzogJ19hcmlhT3JpZW50YXRpb24oKScsXG5cdFx0J1thdHRyLmRhdGEtb3JpZW50YXRpb25dJzogJ29yaWVudGF0aW9uKCknLFxuXHR9LFxufSlcbmV4cG9ydCBjbGFzcyBCcm5TZXBhcmF0b3Ige1xuXHRwcml2YXRlIHJlYWRvbmx5IF9jb25maWcgPSBpbmplY3RCcm5TZXBhcmF0b3JDb25maWcoKTtcblxuXHQvKiogT3JpZW50YXRpb24gb2YgdGhlIHNlcGFyYXRvci4gKi9cblx0cHVibGljIHJlYWRvbmx5IG9yaWVudGF0aW9uID0gaW5wdXQ8U2VwYXJhdG9yT3JpZW50YXRpb24+KHRoaXMuX2NvbmZpZy5vcmllbnRhdGlvbik7XG5cdC8qKiBXaGV0aGVyIHRoZSBzZXBhcmF0b3IgaXMgZGVjb3JhdGl2ZS4gKi9cblx0cHVibGljIHJlYWRvbmx5IGRlY29yYXRpdmUgPSBpbnB1dDxib29sZWFuLCBCb29sZWFuSW5wdXQ+KHRydWUsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG5cdHByb3RlY3RlZCByZWFkb25seSBfcm9sZSA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmRlY29yYXRpdmUoKSA/ICdub25lJyA6ICdzZXBhcmF0b3InKSk7XG5cdHByb3RlY3RlZCByZWFkb25seSBfYXJpYU9yaWVudGF0aW9uID0gY29tcHV0ZWQoKCkgPT5cblx0XHR0aGlzLmRlY29yYXRpdmUoKSA/IHVuZGVmaW5lZCA6IHRoaXMub3JpZW50YXRpb24oKSA9PT0gJ3ZlcnRpY2FsJyA/ICd2ZXJ0aWNhbCcgOiB1bmRlZmluZWQsXG5cdCk7XG59XG4iXX0=","import { BrnSeparator } from './lib/brn-separator';\nexport * from './lib/brn-separator';\nexport * from './lib/brn-separator.token';\nexport const BrnSeparatorImports = [BrnSeparator];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL3NlcGFyYXRvci9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRW5ELGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYywyQkFBMkIsQ0FBQztBQUUxQyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLFlBQVksQ0FBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnJuU2VwYXJhdG9yIH0gZnJvbSAnLi9saWIvYnJuLXNlcGFyYXRvcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jybi1zZXBhcmF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJuLXNlcGFyYXRvci50b2tlbic7XG5cbmV4cG9ydCBjb25zdCBCcm5TZXBhcmF0b3JJbXBvcnRzID0gW0JyblNlcGFyYXRvcl0gYXMgY29uc3Q7XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhcnRhbi1uZy1icmFpbi1zZXBhcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL3NlcGFyYXRvci9zcmMvc3BhcnRhbi1uZy1icmFpbi1zZXBhcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":";;;AAAA;AAEA,MAAM,aAAa,GAAG;AACtB,IAAI,WAAW,EAAE,YAAY;AAC7B,CAAC;AACD,MAAM,uBAAuB,GAAG,IAAI,cAAc,CAAC,oBAAoB,CAAC;AACjE,SAAS,yBAAyB,CAAC,MAAM,EAAE;AAClD,IAAI,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,EAAE,GAAG,aAAa,EAAE,GAAG,MAAM,EAAE,EAAE;AAC1F;AACO,SAAS,wBAAwB,GAAG;AAC3C,IAAI,OAAO,MAAM,CAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,aAAa;AAC/E;;ACRO,MAAM,YAAY,CAAC;AAC1B,IAAI,OAAO,GAAG,wBAAwB,EAAE;AACxC;AACA,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;AACjD;AACA,IAAI,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;AAC7D,IAAI,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,UAAU,EAAE,GAAG,MAAM,GAAG,WAAW,CAAC,CAAC;AACtE,IAAI,gBAAgB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;AACjI,uBAAuB,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;AACzL,uBAAuB,OAAO,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,8BAA8B,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,EAAE,iBAAiB,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,iBAAiB,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,eAAe,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AAC5mB;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;AACtH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,8BAA8B;AAC5D,oBAAoB,IAAI,EAAE;AAC1B,wBAAwB,QAAQ,EAAE,SAAS;AAC3C,wBAAwB,yBAAyB,EAAE,oBAAoB;AACvE,wBAAwB,yBAAyB,EAAE,eAAe;AAClE,qBAAqB;AACrB,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;ACrBD,MAAC,mBAAmB,GAAG,CAAC,YAAY;;ACHhD;AACA;AACA;;;;"}