@spartan-ng/brain 0.0.1-alpha.373 → 0.0.1-alpha.379

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 (398) hide show
  1. package/accordion/README.md +3 -0
  2. package/accordion/index.d.ts +13 -0
  3. package/accordion/lib/brn-accordion-content.component.d.ts +15 -0
  4. package/accordion/lib/brn-accordion.directive.d.ts +47 -0
  5. package/alert-dialog/README.md +3 -0
  6. package/alert-dialog/index.d.ts +25 -0
  7. package/alert-dialog/lib/brn-alert-dialog-content.directive.d.ts +6 -0
  8. package/alert-dialog/lib/brn-alert-dialog-description.directive.d.ts +6 -0
  9. package/alert-dialog/lib/brn-alert-dialog-overlay.component.d.ts +6 -0
  10. package/alert-dialog/lib/brn-alert-dialog-title.directive.d.ts +6 -0
  11. package/alert-dialog/lib/brn-alert-dialog-trigger.directive.d.ts +8 -0
  12. package/alert-dialog/lib/brn-alert-dialog.component.d.ts +7 -0
  13. package/avatar/README.md +3 -0
  14. package/avatar/index.d.ts +17 -0
  15. package/avatar/lib/brn-avatar.component.d.ts +7 -0
  16. package/avatar/lib/fallback/brn-avatar-fallback.directive.d.ts +11 -0
  17. package/avatar/lib/fallback/index.d.ts +1 -0
  18. package/avatar/lib/image/brn-avatar-image.directive.d.ts +9 -0
  19. package/avatar/lib/image/index.d.ts +1 -0
  20. package/avatar/lib/util/hex-color-for.d.ts +1 -0
  21. package/avatar/lib/util/index.d.ts +3 -0
  22. package/avatar/lib/util/initials.pipe.d.ts +7 -0
  23. package/avatar/lib/util/is-bright.d.ts +1 -0
  24. package/calendar/README.md +3 -0
  25. package/calendar/index.d.ts +36 -0
  26. package/calendar/lib/brn-calendar-cell-button.directive.d.ts +59 -0
  27. package/calendar/lib/brn-calendar-cell.directive.d.ts +5 -0
  28. package/calendar/lib/brn-calendar-grid.directive.d.ts +7 -0
  29. package/calendar/lib/brn-calendar-header.directive.d.ts +7 -0
  30. package/calendar/lib/brn-calendar-next-button.directive.d.ts +13 -0
  31. package/calendar/lib/brn-calendar-previous-button.directive.d.ts +13 -0
  32. package/calendar/lib/brn-calendar-week.directive.d.ts +25 -0
  33. package/calendar/lib/brn-calendar-weekday.directive.d.ts +25 -0
  34. package/calendar/lib/brn-calendar.directive.d.ts +55 -0
  35. package/calendar/lib/brn-calendar.token.d.ts +8 -0
  36. package/calendar/lib/i18n/calendar-i18n.d.ts +17 -0
  37. package/checkbox/lib/brn-checkbox.component.d.ts +1 -1
  38. package/collapsible/README.md +3 -0
  39. package/collapsible/index.d.ts +16 -0
  40. package/collapsible/lib/brn-collapsible-content.component.d.ts +19 -0
  41. package/collapsible/lib/brn-collapsible-trigger.directive.d.ts +12 -0
  42. package/collapsible/lib/brn-collapsible.component.d.ts +11 -0
  43. package/command/README.md +3 -0
  44. package/command/index.d.ts +33 -0
  45. package/command/lib/brn-command-empty.directive.d.ts +6 -0
  46. package/command/lib/brn-command-group.component.d.ts +6 -0
  47. package/command/lib/brn-command-input.directive.d.ts +6 -0
  48. package/command/lib/brn-command-item.directive.d.ts +6 -0
  49. package/command/lib/brn-command-list.component.d.ts +6 -0
  50. package/command/lib/brn-command-loader.directive.d.ts +6 -0
  51. package/command/lib/brn-command-separator.component.d.ts +6 -0
  52. package/command/lib/brn-command.component.d.ts +6 -0
  53. package/date-time/README.md +3 -0
  54. package/date-time/index.d.ts +2 -0
  55. package/date-time/lib/date-adapter.d.ts +176 -0
  56. package/date-time/lib/native-date-adapter.d.ts +103 -0
  57. package/date-time-luxon/README.md +3 -0
  58. package/date-time-luxon/index.d.ts +1 -0
  59. package/date-time-luxon/lib/date-adapter.d.ts +29 -0
  60. package/dialog/README.md +3 -0
  61. package/dialog/index.d.ts +33 -0
  62. package/dialog/lib/brn-dialog-close.directive.d.ts +10 -0
  63. package/dialog/lib/brn-dialog-content.directive.d.ts +12 -0
  64. package/dialog/lib/brn-dialog-description.directive.d.ts +8 -0
  65. package/dialog/lib/brn-dialog-options.d.ts +26 -0
  66. package/dialog/lib/brn-dialog-overlay.component.d.ts +8 -0
  67. package/dialog/lib/brn-dialog-ref.d.ts +24 -0
  68. package/dialog/lib/brn-dialog-state.d.ts +1 -0
  69. package/dialog/lib/brn-dialog-title.directive.d.ts +8 -0
  70. package/dialog/lib/brn-dialog-trigger.directive.d.ts +16 -0
  71. package/dialog/lib/brn-dialog-utils.d.ts +1 -0
  72. package/dialog/lib/brn-dialog.component.d.ts +56 -0
  73. package/dialog/lib/brn-dialog.service.d.ts +22 -0
  74. package/esm2022/accordion/index.mjs +31 -0
  75. package/esm2022/accordion/lib/brn-accordion-content.component.mjs +50 -0
  76. package/esm2022/accordion/lib/brn-accordion.directive.mjs +180 -0
  77. package/esm2022/accordion/spartan-ng-brain-accordion.mjs +5 -0
  78. package/esm2022/alert-dialog/index.mjs +45 -0
  79. package/esm2022/alert-dialog/lib/brn-alert-dialog-content.directive.mjs +17 -0
  80. package/esm2022/alert-dialog/lib/brn-alert-dialog-description.directive.mjs +18 -0
  81. package/esm2022/alert-dialog/lib/brn-alert-dialog-overlay.component.mjs +20 -0
  82. package/esm2022/alert-dialog/lib/brn-alert-dialog-title.directive.mjs +18 -0
  83. package/esm2022/alert-dialog/lib/brn-alert-dialog-trigger.directive.mjs +27 -0
  84. package/esm2022/alert-dialog/lib/brn-alert-dialog.component.mjs +40 -0
  85. package/esm2022/alert-dialog/spartan-ng-brain-alert-dialog.mjs +5 -0
  86. package/esm2022/avatar/index.mjs +23 -0
  87. package/esm2022/avatar/lib/brn-avatar.component.mjs +31 -0
  88. package/esm2022/avatar/lib/fallback/brn-avatar-fallback.directive.mjs +21 -0
  89. package/esm2022/avatar/lib/fallback/index.mjs +2 -0
  90. package/esm2022/avatar/lib/image/brn-avatar-image.directive.mjs +29 -0
  91. package/esm2022/avatar/lib/image/index.mjs +2 -0
  92. package/esm2022/avatar/lib/util/hex-color-for.mjs +22 -0
  93. package/esm2022/avatar/lib/util/index.mjs +4 -0
  94. package/esm2022/avatar/lib/util/initials.pipe.mjs +27 -0
  95. package/esm2022/avatar/lib/util/is-bright.mjs +12 -0
  96. package/esm2022/avatar/spartan-ng-brain-avatar.mjs +5 -0
  97. package/esm2022/calendar/index.mjs +62 -0
  98. package/esm2022/calendar/lib/brn-calendar-cell-button.directive.mjs +160 -0
  99. package/esm2022/calendar/lib/brn-calendar-cell.directive.mjs +17 -0
  100. package/esm2022/calendar/lib/brn-calendar-grid.directive.mjs +21 -0
  101. package/esm2022/calendar/lib/brn-calendar-header.directive.mjs +22 -0
  102. package/esm2022/calendar/lib/brn-calendar-next-button.directive.mjs +42 -0
  103. package/esm2022/calendar/lib/brn-calendar-previous-button.directive.mjs +42 -0
  104. package/esm2022/calendar/lib/brn-calendar-week.directive.mjs +64 -0
  105. package/esm2022/calendar/lib/brn-calendar-weekday.directive.mjs +48 -0
  106. package/esm2022/calendar/lib/brn-calendar.directive.mjs +154 -0
  107. package/esm2022/calendar/lib/brn-calendar.token.mjs +12 -0
  108. package/esm2022/calendar/lib/i18n/calendar-i18n.mjs +33 -0
  109. package/esm2022/calendar/spartan-ng-brain-calendar.mjs +5 -0
  110. package/esm2022/checkbox/lib/brn-checkbox.component.mjs +1 -1
  111. package/esm2022/collapsible/index.mjs +30 -0
  112. package/esm2022/collapsible/lib/brn-collapsible-content.component.mjs +61 -0
  113. package/esm2022/collapsible/lib/brn-collapsible-trigger.directive.mjs +35 -0
  114. package/esm2022/collapsible/lib/brn-collapsible.component.mjs +33 -0
  115. package/esm2022/collapsible/spartan-ng-brain-collapsible.mjs +5 -0
  116. package/esm2022/command/index.mjs +64 -0
  117. package/esm2022/command/lib/brn-command-empty.directive.mjs +29 -0
  118. package/esm2022/command/lib/brn-command-group.component.mjs +45 -0
  119. package/esm2022/command/lib/brn-command-input.directive.mjs +29 -0
  120. package/esm2022/command/lib/brn-command-item.directive.mjs +36 -0
  121. package/esm2022/command/lib/brn-command-list.component.mjs +35 -0
  122. package/esm2022/command/lib/brn-command-loader.directive.mjs +29 -0
  123. package/esm2022/command/lib/brn-command-separator.component.mjs +30 -0
  124. package/esm2022/command/lib/brn-command.component.mjs +21 -0
  125. package/esm2022/command/spartan-ng-brain-command.mjs +5 -0
  126. package/esm2022/date-time/index.mjs +3 -0
  127. package/esm2022/date-time/lib/date-adapter.mjs +16 -0
  128. package/esm2022/date-time/lib/native-date-adapter.mjs +155 -0
  129. package/esm2022/date-time/spartan-ng-brain-date-time.mjs +5 -0
  130. package/esm2022/date-time-luxon/index.mjs +2 -0
  131. package/esm2022/date-time-luxon/lib/date-adapter.mjs +85 -0
  132. package/esm2022/date-time-luxon/spartan-ng-brain-date-time-luxon.mjs +5 -0
  133. package/esm2022/dialog/index.mjs +55 -0
  134. package/esm2022/dialog/lib/brn-dialog-close.directive.mjs +29 -0
  135. package/esm2022/dialog/lib/brn-dialog-content.directive.mjs +41 -0
  136. package/esm2022/dialog/lib/brn-dialog-description.directive.mjs +25 -0
  137. package/esm2022/dialog/lib/brn-dialog-options.mjs +19 -0
  138. package/esm2022/dialog/lib/brn-dialog-overlay.component.mjs +29 -0
  139. package/esm2022/dialog/lib/brn-dialog-ref.mjs +53 -0
  140. package/esm2022/dialog/lib/brn-dialog-state.mjs +2 -0
  141. package/esm2022/dialog/lib/brn-dialog-title.directive.mjs +25 -0
  142. package/esm2022/dialog/lib/brn-dialog-trigger.directive.mjs +39 -0
  143. package/esm2022/dialog/lib/brn-dialog-utils.mjs +12 -0
  144. package/esm2022/dialog/lib/brn-dialog.component.mjs +208 -0
  145. package/esm2022/dialog/lib/brn-dialog.service.mjs +127 -0
  146. package/esm2022/dialog/spartan-ng-brain-dialog.mjs +5 -0
  147. package/esm2022/form-field/index.mjs +2 -0
  148. package/esm2022/form-field/lib/brn-form-field-control.mjs +14 -0
  149. package/esm2022/form-field/spartan-ng-brain-form-field.mjs +5 -0
  150. package/esm2022/forms/index.mjs +4 -0
  151. package/esm2022/forms/lib/control-value-accessor.mjs +2 -0
  152. package/esm2022/forms/lib/error-options.mjs +26 -0
  153. package/esm2022/forms/lib/error-state-tracker.mjs +29 -0
  154. package/esm2022/forms/spartan-ng-brain-forms.mjs +5 -0
  155. package/esm2022/hover-card/index.mjs +29 -0
  156. package/esm2022/hover-card/lib/brn-hover-card-content.service.mjs +205 -0
  157. package/esm2022/hover-card/lib/brn-hover-card.component.mjs +34 -0
  158. package/esm2022/hover-card/lib/createHoverObservable.mjs +19 -0
  159. package/esm2022/hover-card/spartan-ng-brain-hover-card.mjs +5 -0
  160. package/esm2022/label/index.mjs +17 -0
  161. package/esm2022/label/lib/brn-label.directive.mjs +49 -0
  162. package/esm2022/label/spartan-ng-brain-label.mjs +5 -0
  163. package/esm2022/menu/index.mjs +100 -0
  164. package/esm2022/menu/lib/brn-context-menu-trigger.directive.mjs +40 -0
  165. package/esm2022/menu/lib/brn-menu-align.mjs +15 -0
  166. package/esm2022/menu/lib/brn-menu-bar.directive.mjs +17 -0
  167. package/esm2022/menu/lib/brn-menu-group.directive.mjs +17 -0
  168. package/esm2022/menu/lib/brn-menu-item-checkbox.directive.mjs +30 -0
  169. package/esm2022/menu/lib/brn-menu-item-radio.directive.mjs +30 -0
  170. package/esm2022/menu/lib/brn-menu-item.directive.mjs +27 -0
  171. package/esm2022/menu/lib/brn-menu-trigger.directive.mjs +36 -0
  172. package/esm2022/menu/lib/brn-menu.directive.mjs +50 -0
  173. package/esm2022/menu/spartan-ng-brain-menu.mjs +5 -0
  174. package/esm2022/popover/index.mjs +35 -0
  175. package/esm2022/popover/lib/brn-popover-close.directive.mjs +15 -0
  176. package/esm2022/popover/lib/brn-popover-content.directive.mjs +17 -0
  177. package/esm2022/popover/lib/brn-popover-trigger.directive.mjs +37 -0
  178. package/esm2022/popover/lib/brn-popover.component.mjs +81 -0
  179. package/esm2022/popover/spartan-ng-brain-popover.mjs +5 -0
  180. package/esm2022/progress/index.mjs +21 -0
  181. package/esm2022/progress/lib/brn-progress-indicator.component.mjs +22 -0
  182. package/esm2022/progress/lib/brn-progress.component.mjs +61 -0
  183. package/esm2022/progress/lib/brn-progress.token.mjs +9 -0
  184. package/esm2022/progress/spartan-ng-brain-progress.mjs +5 -0
  185. package/esm2022/radio-group/index.mjs +20 -0
  186. package/esm2022/radio-group/lib/brn-radio-group.component.mjs +90 -0
  187. package/esm2022/radio-group/lib/brn-radio-group.token.mjs +9 -0
  188. package/esm2022/radio-group/lib/brn-radio.component.mjs +185 -0
  189. package/esm2022/radio-group/spartan-ng-brain-radio-group.mjs +5 -0
  190. package/esm2022/select/index.mjs +56 -0
  191. package/esm2022/select/lib/brn-select-content.component.mjs +204 -0
  192. package/esm2022/select/lib/brn-select-group.directive.mjs +19 -0
  193. package/esm2022/select/lib/brn-select-label.directive.mjs +23 -0
  194. package/esm2022/select/lib/brn-select-option.directive.mjs +65 -0
  195. package/esm2022/select/lib/brn-select-value.component.mjs +46 -0
  196. package/esm2022/select/lib/brn-select.component.mjs +358 -0
  197. package/esm2022/select/lib/brn-select.service.mjs +197 -0
  198. package/esm2022/select/spartan-ng-brain-select.mjs +5 -0
  199. package/esm2022/separator/index.mjs +17 -0
  200. package/esm2022/separator/lib/brn-separator.component.mjs +24 -0
  201. package/esm2022/separator/spartan-ng-brain-separator.mjs +5 -0
  202. package/esm2022/sheet/index.mjs +50 -0
  203. package/esm2022/sheet/lib/brn-sheet-close.directive.mjs +15 -0
  204. package/esm2022/sheet/lib/brn-sheet-content.directive.mjs +25 -0
  205. package/esm2022/sheet/lib/brn-sheet-description.directive.mjs +18 -0
  206. package/esm2022/sheet/lib/brn-sheet-overlay.component.mjs +20 -0
  207. package/esm2022/sheet/lib/brn-sheet-title.directive.mjs +18 -0
  208. package/esm2022/sheet/lib/brn-sheet-trigger.directive.mjs +26 -0
  209. package/esm2022/sheet/lib/brn-sheet.component.mjs +55 -0
  210. package/esm2022/sheet/spartan-ng-brain-sheet.mjs +5 -0
  211. package/esm2022/slider/index.mjs +13 -0
  212. package/esm2022/slider/lib/brn-slider-thumb.directive.mjs +41 -0
  213. package/esm2022/slider/lib/brn-slider-tick-mark.directive.mjs +37 -0
  214. package/esm2022/slider/lib/brn-slider-track-active-fill.directive.mjs +29 -0
  215. package/esm2022/slider/lib/brn-slider-track.directive.mjs +290 -0
  216. package/esm2022/slider/spartan-ng-brain-slider.mjs +5 -0
  217. package/esm2022/switch/index.mjs +20 -0
  218. package/esm2022/switch/lib/brn-switch-thumb.component.mjs +16 -0
  219. package/esm2022/switch/lib/brn-switch.component.mjs +236 -0
  220. package/esm2022/switch/spartan-ng-brain-switch.mjs +5 -0
  221. package/esm2022/table/index.mjs +47 -0
  222. package/esm2022/table/lib/brn-cell-def.directive.mjs +22 -0
  223. package/esm2022/table/lib/brn-column-def.component.mjs +82 -0
  224. package/esm2022/table/lib/brn-column-manager.mjs +61 -0
  225. package/esm2022/table/lib/brn-footer-def.directive.mjs +22 -0
  226. package/esm2022/table/lib/brn-header-def.directive.mjs +22 -0
  227. package/esm2022/table/lib/brn-paginator.directive.mjs +109 -0
  228. package/esm2022/table/lib/brn-table.component.mjs +169 -0
  229. package/esm2022/table/spartan-ng-brain-table.mjs +5 -0
  230. package/esm2022/tabs/index.mjs +32 -0
  231. package/esm2022/tabs/lib/brn-tabs-list.directive.mjs +65 -0
  232. package/esm2022/tabs/lib/brn-tabs-paginated-list.directive.mjs +525 -0
  233. package/esm2022/tabs/lib/brn-tabs-trigger.directive.mjs +134 -0
  234. package/esm2022/tabs/spartan-ng-brain-tabs.mjs +5 -0
  235. package/esm2022/toggle/index.mjs +31 -0
  236. package/esm2022/toggle/lib/brn-toggle-group.component.mjs +159 -0
  237. package/esm2022/toggle/lib/brn-toggle-group.token.mjs +9 -0
  238. package/esm2022/toggle/lib/brn-toggle.directive.mjs +65 -0
  239. package/esm2022/toggle/spartan-ng-brain-toggle.mjs +5 -0
  240. package/esm2022/tooltip/index.mjs +35 -0
  241. package/esm2022/tooltip/lib/brn-tooltip-content.component.mjs +228 -0
  242. package/esm2022/tooltip/lib/brn-tooltip-content.directive.mjs +22 -0
  243. package/esm2022/tooltip/lib/brn-tooltip-trigger.directive.mjs +689 -0
  244. package/esm2022/tooltip/lib/brn-tooltip.directive.mjs +15 -0
  245. package/esm2022/tooltip/spartan-ng-brain-tooltip.mjs +5 -0
  246. package/fesm2022/spartan-ng-brain-accordion.mjs +259 -0
  247. package/fesm2022/spartan-ng-brain-accordion.mjs.map +1 -0
  248. package/fesm2022/spartan-ng-brain-alert-dialog.mjs +162 -0
  249. package/fesm2022/spartan-ng-brain-alert-dialog.mjs.map +1 -0
  250. package/fesm2022/spartan-ng-brain-avatar.mjs +156 -0
  251. package/fesm2022/spartan-ng-brain-avatar.mjs.map +1 -0
  252. package/fesm2022/spartan-ng-brain-calendar.mjs +629 -0
  253. package/fesm2022/spartan-ng-brain-calendar.mjs.map +1 -0
  254. package/fesm2022/spartan-ng-brain-checkbox.mjs.map +1 -1
  255. package/fesm2022/spartan-ng-brain-collapsible.mjs +152 -0
  256. package/fesm2022/spartan-ng-brain-collapsible.mjs.map +1 -0
  257. package/fesm2022/spartan-ng-brain-command.mjs +284 -0
  258. package/fesm2022/spartan-ng-brain-command.mjs.map +1 -0
  259. package/fesm2022/spartan-ng-brain-date-time-luxon.mjs +92 -0
  260. package/fesm2022/spartan-ng-brain-date-time-luxon.mjs.map +1 -0
  261. package/fesm2022/spartan-ng-brain-date-time.mjs +177 -0
  262. package/fesm2022/spartan-ng-brain-date-time.mjs.map +1 -0
  263. package/fesm2022/spartan-ng-brain-dialog.mjs +617 -0
  264. package/fesm2022/spartan-ng-brain-dialog.mjs.map +1 -0
  265. package/fesm2022/spartan-ng-brain-form-field.mjs +21 -0
  266. package/fesm2022/spartan-ng-brain-form-field.mjs.map +1 -0
  267. package/fesm2022/spartan-ng-brain-forms.mjs +61 -0
  268. package/fesm2022/spartan-ng-brain-forms.mjs.map +1 -0
  269. package/fesm2022/spartan-ng-brain-hover-card.mjs +274 -0
  270. package/fesm2022/spartan-ng-brain-hover-card.mjs.map +1 -0
  271. package/fesm2022/spartan-ng-brain-label.mjs +69 -0
  272. package/fesm2022/spartan-ng-brain-label.mjs.map +1 -0
  273. package/fesm2022/spartan-ng-brain-menu.mjs +316 -0
  274. package/fesm2022/spartan-ng-brain-menu.mjs.map +1 -0
  275. package/fesm2022/spartan-ng-brain-popover.mjs +173 -0
  276. package/fesm2022/spartan-ng-brain-popover.mjs.map +1 -0
  277. package/fesm2022/spartan-ng-brain-progress.mjs +108 -0
  278. package/fesm2022/spartan-ng-brain-progress.mjs.map +1 -0
  279. package/fesm2022/spartan-ng-brain-radio-group.mjs +299 -0
  280. package/fesm2022/spartan-ng-brain-radio-group.mjs.map +1 -0
  281. package/fesm2022/spartan-ng-brain-select.mjs +928 -0
  282. package/fesm2022/spartan-ng-brain-select.mjs.map +1 -0
  283. package/fesm2022/spartan-ng-brain-separator.mjs +44 -0
  284. package/fesm2022/spartan-ng-brain-separator.mjs.map +1 -0
  285. package/fesm2022/spartan-ng-brain-sheet.mjs +197 -0
  286. package/fesm2022/spartan-ng-brain-sheet.mjs.map +1 -0
  287. package/fesm2022/spartan-ng-brain-slider.mjs +399 -0
  288. package/fesm2022/spartan-ng-brain-slider.mjs.map +1 -0
  289. package/fesm2022/spartan-ng-brain-switch.mjs +271 -0
  290. package/fesm2022/spartan-ng-brain-switch.mjs.map +1 -0
  291. package/fesm2022/spartan-ng-brain-table.mjs +506 -0
  292. package/fesm2022/spartan-ng-brain-table.mjs.map +1 -0
  293. package/fesm2022/spartan-ng-brain-tabs.mjs +748 -0
  294. package/fesm2022/spartan-ng-brain-tabs.mjs.map +1 -0
  295. package/fesm2022/spartan-ng-brain-toggle.mjs +260 -0
  296. package/fesm2022/spartan-ng-brain-toggle.mjs.map +1 -0
  297. package/fesm2022/spartan-ng-brain-tooltip.mjs +975 -0
  298. package/fesm2022/spartan-ng-brain-tooltip.mjs.map +1 -0
  299. package/form-field/README.md +3 -0
  300. package/form-field/index.d.ts +1 -0
  301. package/form-field/lib/brn-form-field-control.d.ts +11 -0
  302. package/forms/README.md +3 -0
  303. package/forms/index.d.ts +3 -0
  304. package/forms/lib/control-value-accessor.d.ts +2 -0
  305. package/forms/lib/error-options.d.ts +14 -0
  306. package/forms/lib/error-state-tracker.d.ts +15 -0
  307. package/hover-card/README.md +3 -0
  308. package/hover-card/index.d.ts +14 -0
  309. package/hover-card/lib/brn-hover-card-content.service.d.ts +65 -0
  310. package/hover-card/lib/brn-hover-card.component.d.ts +9 -0
  311. package/hover-card/lib/createHoverObservable.d.ts +4 -0
  312. package/label/README.md +3 -0
  313. package/label/index.d.ts +8 -0
  314. package/label/lib/brn-label.directive.d.ts +15 -0
  315. package/menu/README.md +3 -0
  316. package/menu/index.d.ts +49 -0
  317. package/menu/lib/brn-context-menu-trigger.directive.d.ts +13 -0
  318. package/menu/lib/brn-menu-align.d.ts +3 -0
  319. package/menu/lib/brn-menu-bar.directive.d.ts +6 -0
  320. package/menu/lib/brn-menu-group.directive.d.ts +6 -0
  321. package/menu/lib/brn-menu-item-checkbox.directive.d.ts +11 -0
  322. package/menu/lib/brn-menu-item-radio.directive.d.ts +11 -0
  323. package/menu/lib/brn-menu-item.directive.d.ts +10 -0
  324. package/menu/lib/brn-menu-trigger.directive.d.ts +10 -0
  325. package/menu/lib/brn-menu.directive.d.ts +11 -0
  326. package/package.json +182 -9
  327. package/popover/README.md +3 -0
  328. package/popover/index.d.ts +19 -0
  329. package/popover/lib/brn-popover-close.directive.d.ts +6 -0
  330. package/popover/lib/brn-popover-content.directive.d.ts +6 -0
  331. package/popover/lib/brn-popover-trigger.directive.d.ts +10 -0
  332. package/popover/lib/brn-popover.component.d.ts +14 -0
  333. package/progress/README.md +3 -0
  334. package/progress/index.d.ts +14 -0
  335. package/progress/lib/brn-progress-indicator.component.d.ts +6 -0
  336. package/progress/lib/brn-progress.component.d.ts +15 -0
  337. package/progress/lib/brn-progress.token.d.ts +4 -0
  338. package/radio-group/README.md +3 -0
  339. package/radio-group/index.d.ts +13 -0
  340. package/radio-group/lib/brn-radio-group.component.d.ts +57 -0
  341. package/radio-group/lib/brn-radio-group.token.d.ts +4 -0
  342. package/radio-group/lib/brn-radio.component.d.ts +58 -0
  343. package/select/README.md +3 -0
  344. package/select/index.d.ts +28 -0
  345. package/select/lib/brn-select-content.component.d.ts +50 -0
  346. package/select/lib/brn-select-group.directive.d.ts +6 -0
  347. package/select/lib/brn-select-label.directive.d.ts +9 -0
  348. package/select/lib/brn-select-option.directive.d.ts +25 -0
  349. package/select/lib/brn-select-value.component.d.ts +11 -0
  350. package/select/lib/brn-select.component.d.ts +82 -0
  351. package/select/lib/brn-select.service.d.ts +67 -0
  352. package/separator/README.md +3 -0
  353. package/separator/index.d.ts +8 -0
  354. package/separator/lib/brn-separator.component.d.ts +11 -0
  355. package/sheet/README.md +3 -0
  356. package/sheet/index.d.ts +28 -0
  357. package/sheet/lib/brn-sheet-close.directive.d.ts +6 -0
  358. package/sheet/lib/brn-sheet-content.directive.d.ts +8 -0
  359. package/sheet/lib/brn-sheet-description.directive.d.ts +6 -0
  360. package/sheet/lib/brn-sheet-overlay.component.d.ts +6 -0
  361. package/sheet/lib/brn-sheet-title.directive.d.ts +6 -0
  362. package/sheet/lib/brn-sheet-trigger.directive.d.ts +9 -0
  363. package/sheet/lib/brn-sheet.component.d.ts +9 -0
  364. package/slider/README.md +3 -0
  365. package/slider/index.d.ts +7 -0
  366. package/slider/lib/brn-slider-thumb.directive.d.ts +17 -0
  367. package/slider/lib/brn-slider-tick-mark.directive.d.ts +15 -0
  368. package/slider/lib/brn-slider-track-active-fill.directive.d.ts +10 -0
  369. package/slider/lib/brn-slider-track.directive.d.ts +139 -0
  370. package/switch/README.md +3 -0
  371. package/switch/index.d.ts +13 -0
  372. package/switch/lib/brn-switch-thumb.component.d.ts +5 -0
  373. package/switch/lib/brn-switch.component.d.ts +58 -0
  374. package/table/README.md +3 -0
  375. package/table/index.d.ts +26 -0
  376. package/table/lib/brn-cell-def.directive.d.ts +9 -0
  377. package/table/lib/brn-column-def.component.d.ts +18 -0
  378. package/table/lib/brn-column-manager.d.ts +26 -0
  379. package/table/lib/brn-footer-def.directive.d.ts +9 -0
  380. package/table/lib/brn-header-def.directive.d.ts +9 -0
  381. package/table/lib/brn-paginator.directive.d.ts +41 -0
  382. package/table/lib/brn-table.component.d.ts +37 -0
  383. package/tabs/README.md +3 -0
  384. package/tabs/index.d.ts +14 -0
  385. package/tabs/lib/brn-tabs-list.directive.d.ts +17 -0
  386. package/tabs/lib/brn-tabs-paginated-list.directive.d.ts +196 -0
  387. package/tabs/lib/brn-tabs-trigger.directive.d.ts +61 -0
  388. package/toggle/README.md +3 -0
  389. package/toggle/index.d.ts +15 -0
  390. package/toggle/lib/brn-toggle-group.component.d.ts +68 -0
  391. package/toggle/lib/brn-toggle-group.token.d.ts +4 -0
  392. package/toggle/lib/brn-toggle.directive.d.ts +25 -0
  393. package/tooltip/README.md +3 -0
  394. package/tooltip/index.d.ts +19 -0
  395. package/tooltip/lib/brn-tooltip-content.component.d.ts +73 -0
  396. package/tooltip/lib/brn-tooltip-content.directive.d.ts +8 -0
  397. package/tooltip/lib/brn-tooltip-trigger.directive.d.ts +177 -0
  398. package/tooltip/lib/brn-tooltip.directive.d.ts +7 -0
@@ -0,0 +1,20 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { BrnRadioGroupComponent } from './lib/brn-radio-group.component';
3
+ import { BrnRadioComponent } from './lib/brn-radio.component';
4
+ import * as i0 from "@angular/core";
5
+ export * from './lib/brn-radio-group.component';
6
+ export * from './lib/brn-radio.component';
7
+ export const BrnRadioGroupImports = [BrnRadioGroupComponent, BrnRadioComponent];
8
+ export class BrnRadioGroupModule {
9
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnRadioGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ /** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.5", ngImport: i0, type: BrnRadioGroupModule, imports: [BrnRadioGroupComponent, BrnRadioComponent], exports: [BrnRadioGroupComponent, BrnRadioComponent] });
11
+ /** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnRadioGroupModule });
12
+ }
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnRadioGroupModule, decorators: [{
14
+ type: NgModule,
15
+ args: [{
16
+ imports: [...BrnRadioGroupImports],
17
+ exports: [...BrnRadioGroupImports],
18
+ }]
19
+ }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL3JhZGlvLWdyb3VwL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUU5RCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsMkJBQTJCLENBQUM7QUFFMUMsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxzQkFBc0IsRUFBRSxpQkFBaUIsQ0FBVSxDQUFDO0FBTXpGLE1BQU0sT0FBTyxtQkFBbUI7MEhBQW5CLG1CQUFtQjsySEFBbkIsbUJBQW1CLFlBTkssc0JBQXNCLEVBQUUsaUJBQWlCLGFBQXpDLHNCQUFzQixFQUFFLGlCQUFpQjsySEFNakUsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUovQixRQUFRO21CQUFDO29CQUNULE9BQU8sRUFBRSxDQUFDLEdBQUcsb0JBQW9CLENBQUM7b0JBQ2xDLE9BQU8sRUFBRSxDQUFDLEdBQUcsb0JBQW9CLENBQUM7aUJBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQnJuUmFkaW9Hcm91cENvbXBvbmVudCB9IGZyb20gJy4vbGliL2Jybi1yYWRpby1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnJuUmFkaW9Db21wb25lbnQgfSBmcm9tICcuL2xpYi9icm4tcmFkaW8uY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJuLXJhZGlvLWdyb3VwLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tcmFkaW8uY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IEJyblJhZGlvR3JvdXBJbXBvcnRzID0gW0JyblJhZGlvR3JvdXBDb21wb25lbnQsIEJyblJhZGlvQ29tcG9uZW50XSBhcyBjb25zdDtcblxuQE5nTW9kdWxlKHtcblx0aW1wb3J0czogWy4uLkJyblJhZGlvR3JvdXBJbXBvcnRzXSxcblx0ZXhwb3J0czogWy4uLkJyblJhZGlvR3JvdXBJbXBvcnRzXSxcbn0pXG5leHBvcnQgY2xhc3MgQnJuUmFkaW9Hcm91cE1vZHVsZSB7fVxuIl19
@@ -0,0 +1,90 @@
1
+ import { booleanAttribute, Component, computed, contentChildren, forwardRef, input, model, output, signal, } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { provideBrnRadioGroupToken } from './brn-radio-group.token';
4
+ import { BrnRadioChange, BrnRadioComponent } from './brn-radio.component';
5
+ import * as i0 from "@angular/core";
6
+ export const BRN_RADIO_GROUP_CONTROL_VALUE_ACCESSOR = {
7
+ provide: NG_VALUE_ACCESSOR,
8
+ useExisting: forwardRef(() => BrnRadioGroupComponent),
9
+ multi: true,
10
+ };
11
+ export class BrnRadioGroupComponent {
12
+ static _nextUniqueId = 0;
13
+ onChange = () => { };
14
+ onTouched = () => { };
15
+ name = input(`brn-radio-group-${BrnRadioGroupComponent._nextUniqueId++}`);
16
+ /**
17
+ * The value of the selected radio button.
18
+ */
19
+ value = model();
20
+ /**
21
+ * Whether the radio group is disabled.
22
+ */
23
+ disabled = input(false, {
24
+ transform: booleanAttribute,
25
+ });
26
+ /**
27
+ * Whether the radio group should be required.
28
+ */
29
+ required = input(false, {
30
+ transform: booleanAttribute,
31
+ });
32
+ /**
33
+ * The direction of the radio group.
34
+ */
35
+ direction = input('ltr');
36
+ /**
37
+ * Event emitted when the group value changes.
38
+ */
39
+ change = output();
40
+ /**
41
+ * The internal disabled state of the radio group. This could be switched to a linkedSignal when we can drop v18 support.
42
+ * @internal
43
+ */
44
+ disabledState = computed(() => signal(this.disabled()));
45
+ /**
46
+ * Access the radio buttons within the group.
47
+ * @internal
48
+ */
49
+ radioButtons = contentChildren(BrnRadioComponent, { descendants: true });
50
+ writeValue(value) {
51
+ this.value.set(value);
52
+ }
53
+ registerOnChange(fn) {
54
+ this.onChange = fn;
55
+ }
56
+ registerOnTouched(fn) {
57
+ this.onTouched = fn;
58
+ }
59
+ setDisabledState(isDisabled) {
60
+ this.disabledState().set(isDisabled);
61
+ }
62
+ /**
63
+ * Select a radio button.
64
+ * @internal
65
+ */
66
+ select(radioButton, value) {
67
+ if (this.value() === value) {
68
+ return;
69
+ }
70
+ this.value.set(value);
71
+ this.onChange(value);
72
+ this.change.emit(new BrnRadioChange(radioButton, value));
73
+ }
74
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnRadioGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
75
+ /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.5", type: BrnRadioGroupComponent, isStandalone: true, selector: "brn-radio-group", inputs: { name: { classPropertyName: "name", publicName: "name", 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 }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", change: "change" }, host: { attributes: { "role": "radiogroup" }, listeners: { "focusout": "onTouched()" } }, providers: [BRN_RADIO_GROUP_CONTROL_VALUE_ACCESSOR, provideBrnRadioGroupToken(BrnRadioGroupComponent)], queries: [{ propertyName: "radioButtons", predicate: BrnRadioComponent, descendants: true, isSignal: true }], ngImport: i0, template: '<ng-content />', isInline: true });
76
+ }
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnRadioGroupComponent, decorators: [{
78
+ type: Component,
79
+ args: [{
80
+ selector: 'brn-radio-group',
81
+ standalone: true,
82
+ providers: [BRN_RADIO_GROUP_CONTROL_VALUE_ACCESSOR, provideBrnRadioGroupToken(BrnRadioGroupComponent)],
83
+ host: {
84
+ role: 'radiogroup',
85
+ '(focusout)': 'onTouched()',
86
+ },
87
+ template: '<ng-content />',
88
+ }]
89
+ }] });
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLXJhZGlvLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vcmFkaW8tZ3JvdXAvc3JjL2xpYi9icm4tcmFkaW8tZ3JvdXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFDTixnQkFBZ0IsRUFDaEIsU0FBUyxFQUNULFFBQVEsRUFDUixlQUFlLEVBQ2YsVUFBVSxFQUNWLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUUxRSxNQUFNLENBQUMsTUFBTSxzQ0FBc0MsR0FBRztJQUNyRCxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQXNCLENBQUM7SUFDckQsS0FBSyxFQUFFLElBQUk7Q0FDWCxDQUFDO0FBWUYsTUFBTSxPQUFPLHNCQUFzQjtJQUMxQixNQUFNLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztJQUV2QixRQUFRLEdBQWdCLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUVqQyxTQUFTLEdBQVksR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBRXhCLElBQUksR0FBRyxLQUFLLENBQUMsbUJBQW1CLHNCQUFzQixDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUUxRjs7T0FFRztJQUNhLEtBQUssR0FBRyxLQUFLLEVBQUssQ0FBQztJQUVuQzs7T0FFRztJQUNJLFFBQVEsR0FBRyxLQUFLLENBQXdCLEtBQUssRUFBRTtRQUNyRCxTQUFTLEVBQUUsZ0JBQWdCO0tBQzNCLENBQUMsQ0FBQztJQUVIOztPQUVHO0lBQ2EsUUFBUSxHQUFHLEtBQUssQ0FBd0IsS0FBSyxFQUFFO1FBQzlELFNBQVMsRUFBRSxnQkFBZ0I7S0FDM0IsQ0FBQyxDQUFDO0lBRUg7O09BRUc7SUFDYSxTQUFTLEdBQUcsS0FBSyxDQUF1QixLQUFLLENBQUMsQ0FBQztJQUUvRDs7T0FFRztJQUNhLE1BQU0sR0FBRyxNQUFNLEVBQXFCLENBQUM7SUFFckQ7OztPQUdHO0lBQ2EsYUFBYSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUV4RTs7O09BR0c7SUFDYSxZQUFZLEdBQUcsZUFBZSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFFekYsVUFBVSxDQUFDLEtBQVE7UUFDbEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQWU7UUFDL0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQVc7UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQW1CO1FBQ25DLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxXQUFpQyxFQUFFLEtBQVE7UUFDakQsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDNUIsT0FBTztRQUNSLENBQUM7UUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksY0FBYyxDQUFJLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7MEhBOUVXLHNCQUFzQjs4R0FBdEIsc0JBQXNCLDQwQkFQdkIsQ0FBQyxzQ0FBc0MsRUFBRSx5QkFBeUIsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLHVEQXVEdkQsaUJBQWlCLGdFQWxEdEQsZ0JBQWdCOzsyRkFFZCxzQkFBc0I7a0JBVmxDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFNBQVMsRUFBRSxDQUFDLHNDQUFzQyxFQUFFLHlCQUF5Qix3QkFBd0IsQ0FBQztvQkFDdEcsSUFBSSxFQUFFO3dCQUNMLElBQUksRUFBRSxZQUFZO3dCQUNsQixZQUFZLEVBQUUsYUFBYTtxQkFDM0I7b0JBQ0QsUUFBUSxFQUFFLGdCQUFnQjtpQkFDMUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb24gKi9cbmltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuXHRib29sZWFuQXR0cmlidXRlLFxuXHRDb21wb25lbnQsXG5cdGNvbXB1dGVkLFxuXHRjb250ZW50Q2hpbGRyZW4sXG5cdGZvcndhcmRSZWYsXG5cdGlucHV0LFxuXHRtb2RlbCxcblx0b3V0cHV0LFxuXHRzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ2hhbmdlRm4sIFRvdWNoRm4gfSBmcm9tICdAc3BhcnRhbi1uZy9icmFpbi9mb3Jtcyc7XG5pbXBvcnQgeyBwcm92aWRlQnJuUmFkaW9Hcm91cFRva2VuIH0gZnJvbSAnLi9icm4tcmFkaW8tZ3JvdXAudG9rZW4nO1xuaW1wb3J0IHsgQnJuUmFkaW9DaGFuZ2UsIEJyblJhZGlvQ29tcG9uZW50IH0gZnJvbSAnLi9icm4tcmFkaW8uY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IEJSTl9SQURJT19HUk9VUF9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SID0ge1xuXHRwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcblx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQnJuUmFkaW9Hcm91cENvbXBvbmVudCksXG5cdG11bHRpOiB0cnVlLFxufTtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnYnJuLXJhZGlvLWdyb3VwJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0cHJvdmlkZXJzOiBbQlJOX1JBRElPX0dST1VQX0NPTlRST0xfVkFMVUVfQUNDRVNTT1IsIHByb3ZpZGVCcm5SYWRpb0dyb3VwVG9rZW4oQnJuUmFkaW9Hcm91cENvbXBvbmVudCldLFxuXHRob3N0OiB7XG5cdFx0cm9sZTogJ3JhZGlvZ3JvdXAnLFxuXHRcdCcoZm9jdXNvdXQpJzogJ29uVG91Y2hlZCgpJyxcblx0fSxcblx0dGVtcGxhdGU6ICc8bmctY29udGVudCAvPicsXG59KVxuZXhwb3J0IGNsYXNzIEJyblJhZGlvR3JvdXBDb21wb25lbnQ8VCA9IHVua25vd24+IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuXHRwcml2YXRlIHN0YXRpYyBfbmV4dFVuaXF1ZUlkID0gMDtcblxuXHRwcm90ZWN0ZWQgb25DaGFuZ2U6IENoYW5nZUZuPFQ+ID0gKCkgPT4ge307XG5cblx0cHJvdGVjdGVkIG9uVG91Y2hlZDogVG91Y2hGbiA9ICgpID0+IHt9O1xuXG5cdHB1YmxpYyByZWFkb25seSBuYW1lID0gaW5wdXQoYGJybi1yYWRpby1ncm91cC0ke0JyblJhZGlvR3JvdXBDb21wb25lbnQuX25leHRVbmlxdWVJZCsrfWApO1xuXG5cdC8qKlxuXHQgKiBUaGUgdmFsdWUgb2YgdGhlIHNlbGVjdGVkIHJhZGlvIGJ1dHRvbi5cblx0ICovXG5cdHB1YmxpYyByZWFkb25seSB2YWx1ZSA9IG1vZGVsPFQ+KCk7XG5cblx0LyoqXG5cdCAqIFdoZXRoZXIgdGhlIHJhZGlvIGdyb3VwIGlzIGRpc2FibGVkLlxuXHQgKi9cblx0cHVibGljIGRpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbiwgQm9vbGVhbklucHV0PihmYWxzZSwge1xuXHRcdHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSxcblx0fSk7XG5cblx0LyoqXG5cdCAqIFdoZXRoZXIgdGhlIHJhZGlvIGdyb3VwIHNob3VsZCBiZSByZXF1aXJlZC5cblx0ICovXG5cdHB1YmxpYyByZWFkb25seSByZXF1aXJlZCA9IGlucHV0PGJvb2xlYW4sIEJvb2xlYW5JbnB1dD4oZmFsc2UsIHtcblx0XHR0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsXG5cdH0pO1xuXG5cdC8qKlxuXHQgKiBUaGUgZGlyZWN0aW9uIG9mIHRoZSByYWRpbyBncm91cC5cblx0ICovXG5cdHB1YmxpYyByZWFkb25seSBkaXJlY3Rpb24gPSBpbnB1dDwnbHRyJyB8ICdydGwnIHwgbnVsbD4oJ2x0cicpO1xuXG5cdC8qKlxuXHQgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGdyb3VwIHZhbHVlIGNoYW5nZXMuXG5cdCAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgY2hhbmdlID0gb3V0cHV0PEJyblJhZGlvQ2hhbmdlPFQ+PigpO1xuXG5cdC8qKlxuXHQgKiBUaGUgaW50ZXJuYWwgZGlzYWJsZWQgc3RhdGUgb2YgdGhlIHJhZGlvIGdyb3VwLiBUaGlzIGNvdWxkIGJlIHN3aXRjaGVkIHRvIGEgbGlua2VkU2lnbmFsIHdoZW4gd2UgY2FuIGRyb3AgdjE4IHN1cHBvcnQuXG5cdCAqIEBpbnRlcm5hbFxuXHQgKi9cblx0cHVibGljIHJlYWRvbmx5IGRpc2FibGVkU3RhdGUgPSBjb21wdXRlZCgoKSA9PiBzaWduYWwodGhpcy5kaXNhYmxlZCgpKSk7XG5cblx0LyoqXG5cdCAqIEFjY2VzcyB0aGUgcmFkaW8gYnV0dG9ucyB3aXRoaW4gdGhlIGdyb3VwLlxuXHQgKiBAaW50ZXJuYWxcblx0ICovXG5cdHB1YmxpYyByZWFkb25seSByYWRpb0J1dHRvbnMgPSBjb250ZW50Q2hpbGRyZW4oQnJuUmFkaW9Db21wb25lbnQsIHsgZGVzY2VuZGFudHM6IHRydWUgfSk7XG5cblx0d3JpdGVWYWx1ZSh2YWx1ZTogVCk6IHZvaWQge1xuXHRcdHRoaXMudmFsdWUuc2V0KHZhbHVlKTtcblx0fVxuXG5cdHJlZ2lzdGVyT25DaGFuZ2UoZm46IENoYW5nZUZuPFQ+KTogdm9pZCB7XG5cdFx0dGhpcy5vbkNoYW5nZSA9IGZuO1xuXHR9XG5cblx0cmVnaXN0ZXJPblRvdWNoZWQoZm46IFRvdWNoRm4pOiB2b2lkIHtcblx0XHR0aGlzLm9uVG91Y2hlZCA9IGZuO1xuXHR9XG5cblx0c2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG5cdFx0dGhpcy5kaXNhYmxlZFN0YXRlKCkuc2V0KGlzRGlzYWJsZWQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNlbGVjdCBhIHJhZGlvIGJ1dHRvbi5cblx0ICogQGludGVybmFsXG5cdCAqL1xuXHRzZWxlY3QocmFkaW9CdXR0b246IEJyblJhZGlvQ29tcG9uZW50PFQ+LCB2YWx1ZTogVCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLnZhbHVlKCkgPT09IHZhbHVlKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0dGhpcy52YWx1ZS5zZXQodmFsdWUpO1xuXHRcdHRoaXMub25DaGFuZ2UodmFsdWUpO1xuXHRcdHRoaXMuY2hhbmdlLmVtaXQobmV3IEJyblJhZGlvQ2hhbmdlPFQ+KHJhZGlvQnV0dG9uLCB2YWx1ZSkpO1xuXHR9XG59XG4iXX0=
@@ -0,0 +1,9 @@
1
+ import { inject, InjectionToken } from '@angular/core';
2
+ const BrnRadioGroupToken = new InjectionToken('BrnRadioGroupToken');
3
+ export function provideBrnRadioGroupToken(component) {
4
+ return { provide: BrnRadioGroupToken, useExisting: component };
5
+ }
6
+ export function injectBrnRadioGroup() {
7
+ return inject(BrnRadioGroupToken);
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLXJhZGlvLWdyb3VwLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9yYWRpby1ncm91cC9zcmMvbGliL2Jybi1yYWRpby1ncm91cC50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLE1BQU0sRUFBRSxjQUFjLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFHL0UsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBa0Msb0JBQW9CLENBQUMsQ0FBQztBQUVyRyxNQUFNLFVBQVUseUJBQXlCLENBQUksU0FBMEM7SUFDdEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLENBQUM7QUFDaEUsQ0FBQztBQUVELE1BQU0sVUFBVSxtQkFBbUI7SUFDbEMsT0FBTyxNQUFNLENBQUMsa0JBQWtCLENBQThCLENBQUM7QUFDaEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV4aXN0aW5nUHJvdmlkZXIsIGluamVjdCwgSW5qZWN0aW9uVG9rZW4sIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgQnJuUmFkaW9Hcm91cENvbXBvbmVudCB9IGZyb20gJy4vYnJuLXJhZGlvLWdyb3VwLmNvbXBvbmVudCc7XG5cbmNvbnN0IEJyblJhZGlvR3JvdXBUb2tlbiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxCcm5SYWRpb0dyb3VwQ29tcG9uZW50PHVua25vd24+PignQnJuUmFkaW9Hcm91cFRva2VuJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlQnJuUmFkaW9Hcm91cFRva2VuPFQ+KGNvbXBvbmVudDogVHlwZTxCcm5SYWRpb0dyb3VwQ29tcG9uZW50PFQ+Pik6IEV4aXN0aW5nUHJvdmlkZXIge1xuXHRyZXR1cm4geyBwcm92aWRlOiBCcm5SYWRpb0dyb3VwVG9rZW4sIHVzZUV4aXN0aW5nOiBjb21wb25lbnQgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdEJyblJhZGlvR3JvdXA8VCA9IHVua25vd24+KCk6IEJyblJhZGlvR3JvdXBDb21wb25lbnQ8VD4ge1xuXHRyZXR1cm4gaW5qZWN0KEJyblJhZGlvR3JvdXBUb2tlbikgYXMgQnJuUmFkaW9Hcm91cENvbXBvbmVudDxUPjtcbn1cbiJdfQ==
@@ -0,0 +1,185 @@
1
+ import { FocusMonitor } from '@angular/cdk/a11y';
2
+ import { ChangeDetectionStrategy, Component, ElementRef, ViewEncapsulation, booleanAttribute, computed, inject, input, output, viewChild, } from '@angular/core';
3
+ import { injectBrnRadioGroup } from './brn-radio-group.token';
4
+ import * as i0 from "@angular/core";
5
+ export class BrnRadioChange {
6
+ source;
7
+ value;
8
+ constructor(source, value) {
9
+ this.source = source;
10
+ this.value = value;
11
+ }
12
+ }
13
+ export class BrnRadioComponent {
14
+ static _nextUniqueId = 0;
15
+ _focusMonitor = inject(FocusMonitor);
16
+ _elementRef = inject(ElementRef);
17
+ radioGroup = injectBrnRadioGroup();
18
+ /**
19
+ * Whether the radio button is disabled.
20
+ */
21
+ disabled = input(false, {
22
+ transform: booleanAttribute,
23
+ alias: 'disabled',
24
+ });
25
+ /**
26
+ * Whether the radio button is disabled or the radio group is disabled.
27
+ */
28
+ disabledState = computed(() => this.disabled() || (this.radioGroup && this.radioGroup.disabled()));
29
+ /**
30
+ * Whether the radio button is checked.
31
+ */
32
+ checked = computed(() => this.radioGroup.value() === this.value());
33
+ tabIndex = computed(() => {
34
+ const disabled = this.disabledState();
35
+ const checked = this.checked();
36
+ const hasSelectedRadio = this.radioGroup.value() !== undefined;
37
+ const isFirstRadio = this.radioGroup.radioButtons()[0] === this;
38
+ if (disabled || (!checked && (hasSelectedRadio || !isFirstRadio))) {
39
+ return -1;
40
+ }
41
+ return 0;
42
+ });
43
+ /**
44
+ * The unique ID for the radio button input. If none is supplied, it will be auto-generated.
45
+ */
46
+ id = input(`brn-radio-${++BrnRadioComponent._nextUniqueId}`);
47
+ ariaLabel = input(undefined, { alias: 'aria-label' });
48
+ ariaLabelledby = input(undefined, { alias: 'aria-labelledby' });
49
+ ariaDescribedby = input(undefined, { alias: 'aria-describedby' });
50
+ /**
51
+ * The value this radio button represents.
52
+ */
53
+ value = input.required();
54
+ /**
55
+ * Whether the radio button is required.
56
+ */
57
+ required = input(false, {
58
+ transform: booleanAttribute,
59
+ });
60
+ /**
61
+ * Event emitted when the checked state of this radio button changes.
62
+ */
63
+ change = output();
64
+ inputId = computed(() => `${this.id()}-input`);
65
+ inputElement = viewChild.required('input');
66
+ constructor() {
67
+ this._focusMonitor.monitor(this._elementRef, true);
68
+ }
69
+ ngOnDestroy() {
70
+ this._focusMonitor.stopMonitoring(this._elementRef);
71
+ }
72
+ /** Dispatch change event with current value. */
73
+ emitChangeEvent() {
74
+ this.change.emit(new BrnRadioChange(this, this.value()));
75
+ }
76
+ onInputClick(event) {
77
+ // We have to stop propagation for click events on the visual hidden input element.
78
+ // By default, when a user clicks on a label element, a generated click event will be
79
+ // dispatched on the associated input element. Since we are using a label element as our
80
+ // root container, the click event on the `radio-button` will be executed twice.
81
+ // The real click event will bubble up, and the generated click event also tries to bubble up.
82
+ // This will lead to multiple click events.
83
+ // Preventing bubbling for the second event will solve that issue.
84
+ event.stopPropagation();
85
+ }
86
+ onInputInteraction(event) {
87
+ // We always have to stop propagation on the change event.
88
+ // Otherwise the change event, from the input element, will bubble up and
89
+ // emit its event object to the `change` output.
90
+ event.stopPropagation();
91
+ if (!this.checked() && !this.disabledState()) {
92
+ this.emitChangeEvent();
93
+ this.radioGroup.select(this, this.value());
94
+ }
95
+ }
96
+ /** Triggered when the user clicks on the touch target. */
97
+ onTouchTargetClick(event) {
98
+ this.onInputInteraction(event);
99
+ if (!this.disabledState()) {
100
+ // Normally the input should be focused already, but if the click
101
+ // comes from the touch target, then we might have to focus it ourselves.
102
+ this.inputElement().nativeElement.focus();
103
+ }
104
+ }
105
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnRadioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
106
+ /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.5", type: BrnRadioComponent, isStandalone: true, selector: "brn-radio", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedby: { classPropertyName: "ariaDescribedby", publicName: "aria-describedby", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { change: "change" }, host: { listeners: { "focus": "inputElement().nativeElement.focus()" }, properties: { "attr.id": "id()", "class.brn-radio-checked": "checked()", "class.brn-radio-disabled": "disabledState()", "attr.data-checked": "checked()", "attr.data-disabled": "disabledState()", "attr.data-value": "value()", "attr.tabindex": "null", "attr.aria-label": "null", "attr.aria-labelledby": "null", "attr.aria-describedby": "null" }, classAttribute: "brn-radio" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true, isSignal: true }], exportAs: ["brnRadio"], ngImport: i0, template: `
107
+ <div style="display: flex; height: fit-content; width: fit-content" (click)="onTouchTargetClick($event)">
108
+ <ng-content select="[target],[indicator]" />
109
+ </div>
110
+ <input
111
+ #input
112
+ style="position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0;"
113
+ type="radio"
114
+ [id]="inputId()"
115
+ [checked]="checked()"
116
+ [disabled]="disabledState()"
117
+ [tabIndex]="tabIndex()"
118
+ [attr.name]="radioGroup.name()"
119
+ [attr.value]="value()"
120
+ [required]="required()"
121
+ [attr.aria-label]="ariaLabel()"
122
+ [attr.aria-labelledby]="ariaLabelledby()"
123
+ [attr.aria-describedby]="ariaDescribedby()"
124
+ (change)="onInputInteraction($event)"
125
+ (click)="onInputClick($event)"
126
+ />
127
+ <label style="display: flex; height: fit-content; width: fit-content" [for]="inputId()">
128
+ <ng-content />
129
+ </label>
130
+ `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
131
+ }
132
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnRadioComponent, decorators: [{
133
+ type: Component,
134
+ args: [{
135
+ selector: 'brn-radio',
136
+ standalone: true,
137
+ host: {
138
+ class: 'brn-radio',
139
+ '[attr.id]': 'id()',
140
+ '[class.brn-radio-checked]': 'checked()',
141
+ '[class.brn-radio-disabled]': 'disabledState()',
142
+ '[attr.data-checked]': 'checked()',
143
+ '[attr.data-disabled]': 'disabledState()',
144
+ '[attr.data-value]': 'value()',
145
+ // Needs to be removed since it causes some a11y issues (see #21266).
146
+ '[attr.tabindex]': 'null',
147
+ '[attr.aria-label]': 'null',
148
+ '[attr.aria-labelledby]': 'null',
149
+ '[attr.aria-describedby]': 'null',
150
+ // Note: under normal conditions focus shouldn't land on this element, however it may be
151
+ // programmatically set, for example inside of a focus trap, in this case we want to forward
152
+ // the focus to the native element.
153
+ '(focus)': 'inputElement().nativeElement.focus()',
154
+ },
155
+ exportAs: 'brnRadio',
156
+ encapsulation: ViewEncapsulation.None,
157
+ changeDetection: ChangeDetectionStrategy.OnPush,
158
+ template: `
159
+ <div style="display: flex; height: fit-content; width: fit-content" (click)="onTouchTargetClick($event)">
160
+ <ng-content select="[target],[indicator]" />
161
+ </div>
162
+ <input
163
+ #input
164
+ style="position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0;"
165
+ type="radio"
166
+ [id]="inputId()"
167
+ [checked]="checked()"
168
+ [disabled]="disabledState()"
169
+ [tabIndex]="tabIndex()"
170
+ [attr.name]="radioGroup.name()"
171
+ [attr.value]="value()"
172
+ [required]="required()"
173
+ [attr.aria-label]="ariaLabel()"
174
+ [attr.aria-labelledby]="ariaLabelledby()"
175
+ [attr.aria-describedby]="ariaDescribedby()"
176
+ (change)="onInputInteraction($event)"
177
+ (click)="onInputClick($event)"
178
+ />
179
+ <label style="display: flex; height: fit-content; width: fit-content" [for]="inputId()">
180
+ <ng-content />
181
+ </label>
182
+ `,
183
+ }]
184
+ }], ctorParameters: () => [] });
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLXJhZGlvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vcmFkaW8tZ3JvdXAvc3JjL2xpYi9icm4tcmFkaW8uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVqRCxPQUFPLEVBQ04sdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBRVYsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixRQUFRLEVBQ1IsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUU5RCxNQUFNLE9BQU8sY0FBYztJQUVsQjtJQUNBO0lBRlIsWUFDUSxNQUE0QixFQUM1QixLQUFRO1FBRFIsV0FBTSxHQUFOLE1BQU0sQ0FBc0I7UUFDNUIsVUFBSyxHQUFMLEtBQUssQ0FBRztJQUNiLENBQUM7Q0FDSjtBQW9ERCxNQUFNLE9BQU8saUJBQWlCO0lBQ3JCLE1BQU0sQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO0lBQ2hCLGFBQWEsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDckMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMvQixVQUFVLEdBQUcsbUJBQW1CLEVBQUssQ0FBQztJQUV6RDs7T0FFRztJQUNhLFFBQVEsR0FBRyxLQUFLLENBQXdCLEtBQUssRUFBRTtRQUM5RCxTQUFTLEVBQUUsZ0JBQWdCO1FBQzNCLEtBQUssRUFBRSxVQUFVO0tBQ2pCLENBQUMsQ0FBQztJQUVIOztPQUVHO0lBQ2dCLGFBQWEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVB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cUJBQ2pEO29CQUNELFFBQVEsRUFBRSxVQUFVO29CQUNwQixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBd0JUO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9jdXNNb25pdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDb21wb25lbnQsXG5cdEVsZW1lbnRSZWYsXG5cdHR5cGUgT25EZXN0cm95LFxuXHRWaWV3RW5jYXBzdWxhdGlvbixcblx0Ym9vbGVhbkF0dHJpYnV0ZSxcblx0Y29tcHV0ZWQsXG5cdGluamVjdCxcblx0aW5wdXQsXG5cdG91dHB1dCxcblx0dmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdEJyblJhZGlvR3JvdXAgfSBmcm9tICcuL2Jybi1yYWRpby1ncm91cC50b2tlbic7XG5cbmV4cG9ydCBjbGFzcyBCcm5SYWRpb0NoYW5nZTxUPiB7XG5cdGNvbnN0cnVjdG9yKFxuXHRcdHB1YmxpYyBzb3VyY2U6IEJyblJhZGlvQ29tcG9uZW50PFQ+LFxuXHRcdHB1YmxpYyB2YWx1ZTogVCxcblx0KSB7fVxufVxuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdicm4tcmFkaW8nLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRob3N0OiB7XG5cdFx0Y2xhc3M6ICdicm4tcmFkaW8nLFxuXHRcdCdbYXR0ci5pZF0nOiAnaWQoKScsXG5cdFx0J1tjbGFzcy5icm4tcmFkaW8tY2hlY2tlZF0nOiAnY2hlY2tlZCgpJyxcblx0XHQnW2NsYXNzLmJybi1yYWRpby1kaXNhYmxlZF0nOiAnZGlzYWJsZWRTdGF0ZSgpJyxcblx0XHQnW2F0dHIuZGF0YS1jaGVja2VkXSc6ICdjaGVja2VkKCknLFxuXHRcdCdbYXR0ci5kYXRhLWRpc2FibGVkXSc6ICdkaXNhYmxlZFN0YXRlKCknLFxuXHRcdCdbYXR0ci5kYXRhLXZhbHVlXSc6ICd2YWx1ZSgpJyxcblx0XHQvLyBOZWVkcyB0byBiZSByZW1vdmVkIHNpbmNlIGl0IGNhdXNlcyBzb21lIGExMXkgaXNzdWVzIChzZWUgIzIxMjY2KS5cblx0XHQnW2F0dHIudGFiaW5kZXhdJzogJ251bGwnLFxuXHRcdCdbYXR0ci5hcmlhLWxhYmVsXSc6ICdudWxsJyxcblx0XHQnW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XSc6ICdudWxsJyxcblx0XHQnW2F0dHIuYXJpYS1kZXNjcmliZWRieV0nOiAnbnVsbCcsXG5cdFx0Ly8gTm90ZTogdW5kZXIgbm9ybWFsIGNvbmRpdGlvbnMgZm9jdXMgc2hvdWxkbid0IGxhbmQgb24gdGhpcyBlbGVtZW50LCBob3dldmVyIGl0IG1heSBiZVxuXHRcdC8vIHByb2dyYW1tYXRpY2FsbHkgc2V0LCBmb3IgZXhhbXBsZSBpbnNpZGUgb2YgYSBmb2N1cyB0cmFwLCBpbiB0aGlzIGNhc2Ugd2Ugd2FudCB0byBmb3J3YXJkXG5cdFx0Ly8gdGhlIGZvY3VzIHRvIHRoZSBuYXRpdmUgZWxlbWVudC5cblx0XHQnKGZvY3VzKSc6ICdpbnB1dEVsZW1lbnQoKS5uYXRpdmVFbGVtZW50LmZvY3VzKCknLFxuXHR9LFxuXHRleHBvcnRBczogJ2JyblJhZGlvJyxcblx0ZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGhlaWdodDogZml0LWNvbnRlbnQ7IHdpZHRoOiBmaXQtY29udGVudFwiIChjbGljayk9XCJvblRvdWNoVGFyZ2V0Q2xpY2soJGV2ZW50KVwiPlxuXHRcdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwiW3RhcmdldF0sW2luZGljYXRvcl1cIiAvPlxuXHRcdDwvZGl2PlxuXHRcdDxpbnB1dFxuXHRcdFx0I2lucHV0XG5cdFx0XHRzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDFweDsgaGVpZ2h0OiAxcHg7IHBhZGRpbmc6IDA7IG1hcmdpbjogLTFweDsgb3ZlcmZsb3c6IGhpZGRlbjsgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgYm9yZGVyLXdpZHRoOiAwO1wiXG5cdFx0XHR0eXBlPVwicmFkaW9cIlxuXHRcdFx0W2lkXT1cImlucHV0SWQoKVwiXG5cdFx0XHRbY2hlY2tlZF09XCJjaGVja2VkKClcIlxuXHRcdFx0W2Rpc2FibGVkXT1cImRpc2FibGVkU3RhdGUoKVwiXG5cdFx0XHRbdGFiSW5kZXhdPVwidGFiSW5kZXgoKVwiXG5cdFx0XHRbYXR0ci5uYW1lXT1cInJhZGlvR3JvdXAubmFtZSgpXCJcblx0XHRcdFthdHRyLnZhbHVlXT1cInZhbHVlKClcIlxuXHRcdFx0W3JlcXVpcmVkXT1cInJlcXVpcmVkKClcIlxuXHRcdFx0W2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWwoKVwiXG5cdFx0XHRbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkYnkoKVwiXG5cdFx0XHRbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImFyaWFEZXNjcmliZWRieSgpXCJcblx0XHRcdChjaGFuZ2UpPVwib25JbnB1dEludGVyYWN0aW9uKCRldmVudClcIlxuXHRcdFx0KGNsaWNrKT1cIm9uSW5wdXRDbGljaygkZXZlbnQpXCJcblx0XHQvPlxuXHRcdDxsYWJlbCBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGhlaWdodDogZml0LWNvbnRlbnQ7IHdpZHRoOiBmaXQtY29udGVudFwiIFtmb3JdPVwiaW5wdXRJZCgpXCI+XG5cdFx0XHQ8bmctY29udGVudCAvPlxuXHRcdDwvbGFiZWw+XG5cdGAsXG59KVxuZXhwb3J0IGNsYXNzIEJyblJhZGlvQ29tcG9uZW50PFQgPSB1bmtub3duPiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cdHByaXZhdGUgc3RhdGljIF9uZXh0VW5pcXVlSWQgPSAwO1xuXHRwcml2YXRlIHJlYWRvbmx5IF9mb2N1c01vbml0b3IgPSBpbmplY3QoRm9jdXNNb25pdG9yKTtcblx0cHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcblx0cHJvdGVjdGVkIHJlYWRvbmx5IHJhZGlvR3JvdXAgPSBpbmplY3RCcm5SYWRpb0dyb3VwPFQ+KCk7XG5cblx0LyoqXG5cdCAqIFdoZXRoZXIgdGhlIHJhZGlvIGJ1dHRvbiBpcyBkaXNhYmxlZC5cblx0ICovXG5cdHB1YmxpYyByZWFkb25seSBkaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4sIEJvb2xlYW5JbnB1dD4oZmFsc2UsIHtcblx0XHR0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsXG5cdFx0YWxpYXM6ICdkaXNhYmxlZCcsXG5cdH0pO1xuXG5cdC8qKlxuXHQgKiBXaGV0aGVyIHRoZSByYWRpbyBidXR0b24gaXMgZGlzYWJsZWQgb3IgdGhlIHJhZGlvIGdyb3VwIGlzIGRpc2FibGVkLlxuXHQgKi9cblx0cHJvdGVjdGVkIHJlYWRvbmx5IGRpc2FibGVkU3RhdGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmRpc2FibGVkKCkgfHwgKHRoaXMucmFkaW9Hcm91cCAmJiB0aGlzLnJhZGlvR3JvdXAuZGlzYWJsZWQoKSkpO1xuXG5cdC8qKlxuXHQgKiBXaGV0aGVyIHRoZSByYWRpbyBidXR0b24gaXMgY2hlY2tlZC5cblx0ICovXG5cdHByb3RlY3RlZCByZWFkb25seSBjaGVja2VkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5yYWRpb0dyb3VwLnZhbHVlKCkgPT09IHRoaXMudmFsdWUoKSk7XG5cblx0cHJvdGVjdGVkIHJlYWRvbmx5IHRhYkluZGV4ID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGNvbnN0IGRpc2FibGVkID0gdGhpcy5kaXNhYmxlZFN0YXRlKCk7XG5cdFx0Y29uc3QgY2hlY2tlZCA9IHRoaXMuY2hlY2tlZCgpO1xuXHRcdGNvbnN0IGhhc1NlbGVjdGVkUmFkaW8gPSB0aGlzLnJhZGlvR3JvdXAudmFsdWUoKSAhPT0gdW5kZWZpbmVkO1xuXHRcdGNvbnN0IGlzRmlyc3RSYWRpbyA9IHRoaXMucmFkaW9Hcm91cC5yYWRpb0J1dHRvbnMoKVswXSA9PT0gdGhpcztcblxuXHRcdGlmIChkaXNhYmxlZCB8fCAoIWNoZWNrZWQgJiYgKGhhc1NlbGVjdGVkUmFkaW8gfHwgIWlzRmlyc3RSYWRpbykpKSB7XG5cdFx0XHRyZXR1cm4gLTE7XG5cdFx0fVxuXHRcdHJldHVybiAwO1xuXHR9KTtcblxuXHQvKipcblx0ICogVGhlIHVuaXF1ZSBJRCBmb3IgdGhlIHJhZGlvIGJ1dHRvbiBpbnB1dC4gSWYgbm9uZSBpcyBzdXBwbGllZCwgaXQgd2lsbCBiZSBhdXRvLWdlbmVyYXRlZC5cblx0ICovXG5cdHB1YmxpYyByZWFkb25seSBpZCA9IGlucHV0KGBicm4tcmFkaW8tJHsrK0JyblJhZGlvQ29tcG9uZW50Ll9uZXh0VW5pcXVlSWR9YCk7XG5cblx0cHVibGljIHJlYWRvbmx5IGFyaWFMYWJlbCA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkLCB7IGFsaWFzOiAnYXJpYS1sYWJlbCcgfSk7XG5cblx0cHVibGljIHJlYWRvbmx5IGFyaWFMYWJlbGxlZGJ5ID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQsIHsgYWxpYXM6ICdhcmlhLWxhYmVsbGVkYnknIH0pO1xuXG5cdHB1YmxpYyByZWFkb25seSBhcmlhRGVzY3JpYmVkYnkgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCwgeyBhbGlhczogJ2FyaWEtZGVzY3JpYmVkYnknIH0pO1xuXG5cdC8qKlxuXHQgKiBUaGUgdmFsdWUgdGhpcyByYWRpbyBidXR0b24gcmVwcmVzZW50cy5cblx0ICovXG5cdHB1YmxpYyByZWFkb25seSB2YWx1ZSA9IGlucHV0LnJlcXVpcmVkPFQ+KCk7XG5cblx0LyoqXG5cdCAqIFdoZXRoZXIgdGhlIHJhZGlvIGJ1dHRvbiBpcyByZXF1aXJlZC5cblx0ICovXG5cdHB1YmxpYyByZWFkb25seSByZXF1aXJlZCA9IGlucHV0PGJvb2xlYW4sIEJvb2xlYW5JbnB1dD4oZmFsc2UsIHtcblx0XHR0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsXG5cdH0pO1xuXG5cdC8qKlxuXHQgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGNoZWNrZWQgc3RhdGUgb2YgdGhpcyByYWRpbyBidXR0b24gY2hhbmdlcy5cblx0ICovXG5cdHB1YmxpYyByZWFkb25seSBjaGFuZ2UgPSBvdXRwdXQ8QnJuUmFkaW9DaGFuZ2U8VD4+KCk7XG5cblx0cHJvdGVjdGVkIHJlYWRvbmx5IGlucHV0SWQgPSBjb21wdXRlZCgoKSA9PiBgJHt0aGlzLmlkKCl9LWlucHV0YCk7XG5cblx0cHJvdGVjdGVkIHJlYWRvbmx5IGlucHV0RWxlbWVudCA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+PignaW5wdXQnKTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHR0aGlzLl9mb2N1c01vbml0b3IubW9uaXRvcih0aGlzLl9lbGVtZW50UmVmLCB0cnVlKTtcblx0fVxuXG5cdG5nT25EZXN0cm95KCk6IHZvaWQge1xuXHRcdHRoaXMuX2ZvY3VzTW9uaXRvci5zdG9wTW9uaXRvcmluZyh0aGlzLl9lbGVtZW50UmVmKTtcblx0fVxuXG5cdC8qKiBEaXNwYXRjaCBjaGFuZ2UgZXZlbnQgd2l0aCBjdXJyZW50IHZhbHVlLiAqL1xuXHRwcml2YXRlIGVtaXRDaGFuZ2VFdmVudCgpOiB2b2lkIHtcblx0XHR0aGlzLmNoYW5nZS5lbWl0KG5ldyBCcm5SYWRpb0NoYW5nZSh0aGlzLCB0aGlzLnZhbHVlKCkpKTtcblx0fVxuXG5cdHByb3RlY3RlZCBvbklucHV0Q2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG5cdFx0Ly8gV2UgaGF2ZSB0byBzdG9wIHByb3BhZ2F0aW9uIGZvciBjbGljayBldmVudHMgb24gdGhlIHZpc3VhbCBoaWRkZW4gaW5wdXQgZWxlbWVudC5cblx0XHQvLyBCeSBkZWZhdWx0LCB3aGVuIGEgdXNlciBjbGlja3Mgb24gYSBsYWJlbCBlbGVtZW50LCBhIGdlbmVyYXRlZCBjbGljayBldmVudCB3aWxsIGJlXG5cdFx0Ly8gZGlzcGF0Y2hlZCBvbiB0aGUgYXNzb2NpYXRlZCBpbnB1dCBlbGVtZW50LiBTaW5jZSB3ZSBhcmUgdXNpbmcgYSBsYWJlbCBlbGVtZW50IGFzIG91clxuXHRcdC8vIHJvb3QgY29udGFpbmVyLCB0aGUgY2xpY2sgZXZlbnQgb24gdGhlIGByYWRpby1idXR0b25gIHdpbGwgYmUgZXhlY3V0ZWQgdHdpY2UuXG5cdFx0Ly8gVGhlIHJlYWwgY2xpY2sgZXZlbnQgd2lsbCBidWJibGUgdXAsIGFuZCB0aGUgZ2VuZXJhdGVkIGNsaWNrIGV2ZW50IGFsc28gdHJpZXMgdG8gYnViYmxlIHVwLlxuXHRcdC8vIFRoaXMgd2lsbCBsZWFkIHRvIG11bHRpcGxlIGNsaWNrIGV2ZW50cy5cblx0XHQvLyBQcmV2ZW50aW5nIGJ1YmJsaW5nIGZvciB0aGUgc2Vjb25kIGV2ZW50IHdpbGwgc29sdmUgdGhhdCBpc3N1ZS5cblx0XHRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblx0fVxuXG5cdHByb3RlY3RlZCBvbklucHV0SW50ZXJhY3Rpb24oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG5cdFx0Ly8gV2UgYWx3YXlzIGhhdmUgdG8gc3RvcCBwcm9wYWdhdGlvbiBvbiB0aGUgY2hhbmdlIGV2ZW50LlxuXHRcdC8vIE90aGVyd2lzZSB0aGUgY2hhbmdlIGV2ZW50LCBmcm9tIHRoZSBpbnB1dCBlbGVtZW50LCB3aWxsIGJ1YmJsZSB1cCBhbmRcblx0XHQvLyBlbWl0IGl0cyBldmVudCBvYmplY3QgdG8gdGhlIGBjaGFuZ2VgIG91dHB1dC5cblx0XHRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuXHRcdGlmICghdGhpcy5jaGVja2VkKCkgJiYgIXRoaXMuZGlzYWJsZWRTdGF0ZSgpKSB7XG5cdFx0XHR0aGlzLmVtaXRDaGFuZ2VFdmVudCgpO1xuXHRcdFx0dGhpcy5yYWRpb0dyb3VwLnNlbGVjdCh0aGlzLCB0aGlzLnZhbHVlKCkpO1xuXHRcdH1cblx0fVxuXG5cdC8qKiBUcmlnZ2VyZWQgd2hlbiB0aGUgdXNlciBjbGlja3Mgb24gdGhlIHRvdWNoIHRhcmdldC4gKi9cblx0cHJvdGVjdGVkIG9uVG91Y2hUYXJnZXRDbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcblx0XHR0aGlzLm9uSW5wdXRJbnRlcmFjdGlvbihldmVudCk7XG5cblx0XHRpZiAoIXRoaXMuZGlzYWJsZWRTdGF0ZSgpKSB7XG5cdFx0XHQvLyBOb3JtYWxseSB0aGUgaW5wdXQgc2hvdWxkIGJlIGZvY3VzZWQgYWxyZWFkeSwgYnV0IGlmIHRoZSBjbGlja1xuXHRcdFx0Ly8gY29tZXMgZnJvbSB0aGUgdG91Y2ggdGFyZ2V0LCB0aGVuIHdlIG1pZ2h0IGhhdmUgdG8gZm9jdXMgaXQgb3Vyc2VsdmVzLlxuXHRcdFx0dGhpcy5pbnB1dEVsZW1lbnQoKS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG5cdFx0fVxuXHR9XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhcnRhbi1uZy1icmFpbi1yYWRpby1ncm91cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vcmFkaW8tZ3JvdXAvc3JjL3NwYXJ0YW4tbmctYnJhaW4tcmFkaW8tZ3JvdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -0,0 +1,56 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { BrnSelectContentComponent, BrnSelectScrollDownDirective, BrnSelectScrollUpDirective, } from './lib/brn-select-content.component';
3
+ import { BrnSelectGroupDirective } from './lib/brn-select-group.directive';
4
+ import { BrnSelectLabelDirective } from './lib/brn-select-label.directive';
5
+ import { BrnSelectOptionDirective } from './lib/brn-select-option.directive';
6
+ import { BrnSelectValueComponent } from './lib/brn-select-value.component';
7
+ import { BrnSelectComponent } from './lib/brn-select.component';
8
+ import { BrnSelectTriggerDirective } from './lib/brn-select.service';
9
+ import * as i0 from "@angular/core";
10
+ export * from './lib/brn-select-content.component';
11
+ export * from './lib/brn-select-group.directive';
12
+ export * from './lib/brn-select-label.directive';
13
+ export * from './lib/brn-select-option.directive';
14
+ export * from './lib/brn-select-value.component';
15
+ export * from './lib/brn-select.component';
16
+ export * from './lib/brn-select.service';
17
+ export const BrnSelectImports = [
18
+ BrnSelectComponent,
19
+ BrnSelectContentComponent,
20
+ BrnSelectTriggerDirective,
21
+ BrnSelectOptionDirective,
22
+ BrnSelectValueComponent,
23
+ BrnSelectScrollDownDirective,
24
+ BrnSelectScrollUpDirective,
25
+ BrnSelectGroupDirective,
26
+ BrnSelectLabelDirective,
27
+ ];
28
+ export class BrnSelectModule {
29
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
30
+ /** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.5", ngImport: i0, type: BrnSelectModule, imports: [BrnSelectComponent,
31
+ BrnSelectContentComponent,
32
+ BrnSelectTriggerDirective,
33
+ BrnSelectOptionDirective,
34
+ BrnSelectValueComponent,
35
+ BrnSelectScrollDownDirective,
36
+ BrnSelectScrollUpDirective,
37
+ BrnSelectGroupDirective,
38
+ BrnSelectLabelDirective], exports: [BrnSelectComponent,
39
+ BrnSelectContentComponent,
40
+ BrnSelectTriggerDirective,
41
+ BrnSelectOptionDirective,
42
+ BrnSelectValueComponent,
43
+ BrnSelectScrollDownDirective,
44
+ BrnSelectScrollUpDirective,
45
+ BrnSelectGroupDirective,
46
+ BrnSelectLabelDirective] });
47
+ /** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSelectModule, imports: [BrnSelectComponent] });
48
+ }
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSelectModule, decorators: [{
50
+ type: NgModule,
51
+ args: [{
52
+ imports: [...BrnSelectImports],
53
+ exports: [...BrnSelectImports],
54
+ }]
55
+ }] });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL3NlbGVjdC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ04seUJBQXlCLEVBQ3pCLDRCQUE0QixFQUM1QiwwQkFBMEIsR0FDMUIsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFDckUsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywwQkFBMEIsQ0FBQztBQUV6QyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUMvQixrQkFBa0I7SUFDbEIseUJBQXlCO0lBQ3pCLHlCQUF5QjtJQUN6Qix3QkFBd0I7SUFDeEIsdUJBQXVCO0lBQ3ZCLDRCQUE0QjtJQUM1QiwwQkFBMEI7SUFDMUIsdUJBQXVCO0lBQ3ZCLHVCQUF1QjtDQUNkLENBQUM7QUFNWCxNQUFNLE9BQU8sZUFBZTswSEFBZixlQUFlOzJIQUFmLGVBQWUsWUFmM0Isa0JBQWtCO1lBQ2xCLHlCQUF5QjtZQUN6Qix5QkFBeUI7WUFDekIsd0JBQXdCO1lBQ3hCLHVCQUF1QjtZQUN2Qiw0QkFBNEI7WUFDNUIsMEJBQTBCO1lBQzFCLHVCQUF1QjtZQUN2Qix1QkFBdUIsYUFSdkIsa0JBQWtCO1lBQ2xCLHlCQUF5QjtZQUN6Qix5QkFBeUI7WUFDekIsd0JBQXdCO1lBQ3hCLHVCQUF1QjtZQUN2Qiw0QkFBNEI7WUFDNUIsMEJBQTBCO1lBQzFCLHVCQUF1QjtZQUN2Qix1QkFBdUI7MkhBT1gsZUFBZSxZQWYzQixrQkFBa0I7OzJGQWVOLGVBQWU7a0JBSjNCLFFBQVE7bUJBQUM7b0JBQ1QsT0FBTyxFQUFFLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQztvQkFDOUIsT0FBTyxFQUFFLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQztpQkFDOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcblx0QnJuU2VsZWN0Q29udGVudENvbXBvbmVudCxcblx0QnJuU2VsZWN0U2Nyb2xsRG93bkRpcmVjdGl2ZSxcblx0QnJuU2VsZWN0U2Nyb2xsVXBEaXJlY3RpdmUsXG59IGZyb20gJy4vbGliL2Jybi1zZWxlY3QtY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnJuU2VsZWN0R3JvdXBEaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9icm4tc2VsZWN0LWdyb3VwLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCcm5TZWxlY3RMYWJlbERpcmVjdGl2ZSB9IGZyb20gJy4vbGliL2Jybi1zZWxlY3QtbGFiZWwuZGlyZWN0aXZlJztcbmltcG9ydCB7IEJyblNlbGVjdE9wdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vbGliL2Jybi1zZWxlY3Qtb3B0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCcm5TZWxlY3RWYWx1ZUNvbXBvbmVudCB9IGZyb20gJy4vbGliL2Jybi1zZWxlY3QtdmFsdWUuY29tcG9uZW50JztcbmltcG9ydCB7IEJyblNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vbGliL2Jybi1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IEJyblNlbGVjdFRyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9icm4tc2VsZWN0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJuLXNlbGVjdC1jb250ZW50LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tc2VsZWN0LWdyb3VwLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tc2VsZWN0LWxhYmVsLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tc2VsZWN0LW9wdGlvbi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJuLXNlbGVjdC12YWx1ZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJuLXNlbGVjdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJuLXNlbGVjdC5zZXJ2aWNlJztcblxuZXhwb3J0IGNvbnN0IEJyblNlbGVjdEltcG9ydHMgPSBbXG5cdEJyblNlbGVjdENvbXBvbmVudCxcblx0QnJuU2VsZWN0Q29udGVudENvbXBvbmVudCxcblx0QnJuU2VsZWN0VHJpZ2dlckRpcmVjdGl2ZSxcblx0QnJuU2VsZWN0T3B0aW9uRGlyZWN0aXZlLFxuXHRCcm5TZWxlY3RWYWx1ZUNvbXBvbmVudCxcblx0QnJuU2VsZWN0U2Nyb2xsRG93bkRpcmVjdGl2ZSxcblx0QnJuU2VsZWN0U2Nyb2xsVXBEaXJlY3RpdmUsXG5cdEJyblNlbGVjdEdyb3VwRGlyZWN0aXZlLFxuXHRCcm5TZWxlY3RMYWJlbERpcmVjdGl2ZSxcbl0gYXMgY29uc3Q7XG5cbkBOZ01vZHVsZSh7XG5cdGltcG9ydHM6IFsuLi5Ccm5TZWxlY3RJbXBvcnRzXSxcblx0ZXhwb3J0czogWy4uLkJyblNlbGVjdEltcG9ydHNdLFxufSlcbmV4cG9ydCBjbGFzcyBCcm5TZWxlY3RNb2R1bGUge31cbiJdfQ==