@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 @@
1
+ {"version":3,"file":"spartan-ng-brain-select.mjs","sources":["../../../../libs/brain/select/src/lib/brn-select.service.ts","../../../../libs/brain/select/src/lib/brn-select-option.directive.ts","../../../../libs/brain/select/src/lib/brn-select-content.component.ts","../../../../libs/brain/select/src/lib/brn-select-group.directive.ts","../../../../libs/brain/select/src/lib/brn-select-label.directive.ts","../../../../libs/brain/select/src/lib/brn-select-value.component.ts","../../../../libs/brain/select/src/lib/brn-select.component.ts","../../../../libs/brain/select/src/index.ts","../../../../libs/brain/select/src/spartan-ng-brain-select.ts"],"sourcesContent":["import type { CdkOption, ListboxValueChangeEvent } from '@angular/cdk/listbox';\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n\ttype AfterViewInit,\n\tDirective,\n\tElementRef,\n\tInjectable,\n\tOnDestroy,\n\tPLATFORM_ID,\n\tSignal,\n\tcomputed,\n\tinject,\n\tsignal,\n} from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { NgControl } from '@angular/forms';\nimport { Subject, skip } from 'rxjs';\n\n@Directive({\n\tselector: '[brnSelectTrigger]',\n\tstandalone: true,\n\thost: {\n\t\trole: 'combobox',\n\t\t'[attr.id]': 'selectTriggerId()',\n\t\t'[disabled]': 'selectDisable()',\n\t\t'[attr.aria-expanded]': 'isExpanded()',\n\t\t'[attr.aria-controls]': \"selectContentId() + ''\",\n\t\t'[attr.aria-labelledBy]': 'selectTriggerLabelledBy()',\n\t\t'aria-autocomplete': 'none',\n\t\t'[attr.dir]': '_selectService.dir()',\n\t\t'[class.ng-invalid]': 'this._ngControl?.invalid || null',\n\t\t'[class.ng-dirty]': 'this._ngControl?.dirty || null',\n\t\t'[class.ng-valid]': 'this._ngControl?.valid || null',\n\t\t'[class.ng-touched]': 'this._ngControl?.touched || null',\n\t\t'[class.ng-untouched]': 'this._ngControl?.untouched || null',\n\t\t'[class.ng-pristine]': 'this._ngControl?.pristine || null',\n\t\ttype: 'button',\n\t},\n})\nexport class BrnSelectTriggerDirective implements AfterViewInit, OnDestroy {\n\tprivate readonly _el = inject(ElementRef);\n\tprotected readonly _selectService = inject(BrnSelectService);\n\tprotected readonly _ngControl = inject(NgControl, { optional: true });\n\tprivate readonly _platform = inject(PLATFORM_ID);\n\tpublic readonly isExpanded = this._selectService.isExpanded;\n\tpublic readonly selectTriggerId = computed(() => `${this._selectService.id()}--trigger`);\n\tpublic readonly selectContentId = computed(() => `${this._selectService.id()}--content`);\n\tpublic readonly selectDisable = computed(() => this._selectService.disabled());\n\tpublic readonly selectTriggerLabelledBy = computed(() => {\n\t\tif (this._selectService.value() && this._selectService.value().length > 0) {\n\t\t\treturn `${this._selectService.labelId()} ${this._selectService.id()}--value`;\n\t\t}\n\t\treturn this._selectService.labelId();\n\t});\n\n\tprivate _resizeObserver?: ResizeObserver;\n\n\tconstructor() {\n\t\tif (!this._selectService) return;\n\t\tthis._selectService._setSelectTrigger(this);\n\t}\n\n\tngAfterViewInit() {\n\t\tthis._selectService.setTriggerWidth(this._el.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._selectService.setTriggerWidth(this._el.nativeElement.offsetWidth),\n\t\t\t);\n\n\t\t\tthis._resizeObserver.observe(this._el.nativeElement);\n\t\t}\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._resizeObserver?.disconnect();\n\t}\n\n\tpublic focus() {\n\t\tthis._el.nativeElement.focus();\n\t}\n}\n\ntype BrnReadDirection = 'ltr' | 'rtl';\n\n@Injectable()\nexport class BrnSelectService {\n\tpublic readonly state = signal<{\n\t\tid: string;\n\t\tlabelId: string;\n\t\tpanelId: string;\n\t\tplaceholder: Signal<string>;\n\t\tisExpanded: boolean;\n\t\tmultiple: Signal<boolean>;\n\t\tdisabled: Signal<boolean>;\n\t\tdisabledBySetDisabled: Signal<boolean>;\n\t\tdir: Signal<BrnReadDirection>;\n\t\tselectedOptions: Array<CdkOption | null>;\n\t\tpossibleOptions: Array<CdkOption | null>;\n\t\tvalue: string | string[];\n\t\ttriggerWidth: number;\n\t}>({\n\t\tid: '',\n\t\tlabelId: '',\n\t\tpanelId: '',\n\t\tisExpanded: false,\n\t\tplaceholder: signal(''),\n\t\tmultiple: signal(false),\n\t\tdisabled: signal(false),\n\t\tdisabledBySetDisabled: signal(false),\n\t\tdir: signal('ltr' as BrnReadDirection),\n\t\tselectedOptions: [],\n\t\tpossibleOptions: [],\n\t\tvalue: '',\n\t\ttriggerWidth: 0,\n\t});\n\n\tpublic readonly id = computed(() => this.state().id);\n\tpublic readonly labelId = computed(() => this.state().labelId);\n\tpublic readonly panelId = computed(() => this.state().panelId);\n\tpublic readonly placeholder = computed(() => this.state().placeholder());\n\tpublic readonly disabled = computed(() => this.state().disabled() || this.state().disabledBySetDisabled());\n\tpublic readonly isExpanded = computed(() => this.state().isExpanded);\n\tpublic readonly multiple = computed(() => this.state().multiple());\n\tpublic readonly dir = computed(() => this.state().dir());\n\tpublic readonly selectedOptions = computed(() => this.state().selectedOptions);\n\tpublic readonly value = computed(() => this.state().value);\n\tpublic readonly triggerWidth = computed(() => this.state().triggerWidth);\n\tpublic readonly possibleOptions = computed(() => this.state().possibleOptions);\n\n\tprivate readonly _multiple$ = toObservable(this.multiple);\n\n\tpublic readonly listBoxValueChangeEvent$ = new Subject<ListboxValueChangeEvent<unknown>>();\n\n\tprivate _selectTrigger?: BrnSelectTriggerDirective;\n\tpublic get selectTrigger() {\n\t\treturn this._selectTrigger;\n\t}\n\n\tconstructor() {\n\t\tthis.listBoxValueChangeEvent$.pipe(takeUntilDestroyed()).subscribe((listBoxChange) => {\n\t\t\tconst updatedSelections = this.multiple() ? this.getUpdatedOptions(listBoxChange) : [listBoxChange.option];\n\t\t\tconst value = this.multiple() ? listBoxChange.value : listBoxChange.value[0];\n\t\t\tthis.state.update((state) => ({\n\t\t\t\t...state,\n\t\t\t\tselectedOptions: [...updatedSelections],\n\t\t\t\tvalue: value as string | string[],\n\t\t\t}));\n\t\t});\n\n\t\t// We need to skip the first value because we don't want to deselect all options when the component is initialized with a preselected value e.g. by the form control\n\t\tthis._multiple$.pipe(skip(1), takeUntilDestroyed()).subscribe((multiple) => {\n\t\t\tif (!multiple && this.value().length > 1) {\n\t\t\t\tthis.deselectAllOptions();\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic setTriggerWidth(triggerWidth: number) {\n\t\tthis.state.update((s) => ({ ...s, triggerWidth }));\n\t}\n\n\tpublic getUpdatedOptions(latestListboxChange: ListboxValueChangeEvent<unknown>): Array<CdkOption | null> {\n\t\tconst isNewSelection = latestListboxChange.value.findIndex((value) => value === latestListboxChange.option?.value);\n\t\tif (isNewSelection === -1) {\n\t\t\tconst removedOptionIndex = this.selectedOptions().findIndex((option) => latestListboxChange.option === option);\n\t\t\tconst options = this.selectedOptions();\n\t\t\toptions.splice(removedOptionIndex, 1);\n\t\t\treturn options;\n\t\t}\n\t\treturn [...this.selectedOptions(), latestListboxChange.option];\n\t}\n\n\tpublic deselectAllOptions() {\n\t\tthis.state.update((state) => ({\n\t\t\t...state,\n\t\t\tselectedOptions: [],\n\t\t\tvalue: [],\n\t\t}));\n\t}\n\n\t// Needed due to https://github.com/angular/angular/issues/20810\n\tpublic _setSelectTrigger(trigger: BrnSelectTriggerDirective) {\n\t\tthis._selectTrigger = trigger;\n\t}\n\n\tpublic setInitialSelectedOptions(value: unknown) {\n\t\tthis.selectOptionByValue(value);\n\t\tthis.state.update((state) => ({\n\t\t\t...state,\n\t\t\tvalue: value as string | string[],\n\t\t\tinitialSelectedOptions: this.selectedOptions(),\n\t\t\tselectedOptions: this.selectedOptions(),\n\t\t}));\n\t}\n\n\tprivate selectOptionByValue(value: unknown) {\n\t\tconst options = this.possibleOptions();\n\t\tif (value === null || value === undefined) {\n\t\t\tconst nullOrUndefinedOption = options.find((o) => o && o.value === value);\n\t\t\tif (!nullOrUndefinedOption) {\n\t\t\t\tthis.state.update((state) => ({\n\t\t\t\t\t...state,\n\t\t\t\t\tselectedOptions: [],\n\t\t\t\t\tvalue: this.multiple() ? [] : '',\n\t\t\t\t}));\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif (this.multiple()) {\n\t\t\tconst selectedOptions = options.filter((option) => {\n\t\t\t\tif (Array.isArray(value)) {\n\t\t\t\t\treturn value.includes(option?.value as string);\n\t\t\t\t}\n\t\t\t\treturn value === option?.value;\n\t\t\t});\n\t\t\tthis.state.update((state) => ({\n\t\t\t\t...state,\n\t\t\t\tselectedOptions,\n\t\t\t\tvalue: value as string[],\n\t\t\t}));\n\t\t} else {\n\t\t\tconst selectedOption = options.find((option) => option?.value === value);\n\t\t\tif (!selectedOption) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.state.update((state) => ({\n\t\t\t\t...state,\n\t\t\t\tselectedOptions: [selectedOption as CdkOption | null],\n\t\t\t\tvalue: selectedOption.value as string,\n\t\t\t}));\n\t\t}\n\t}\n}\n","import type { FocusableOption } from '@angular/cdk/a11y';\nimport { BooleanInput } from '@angular/cdk/coercion';\nimport { CdkOption } from '@angular/cdk/listbox';\nimport {\n\tAfterContentChecked,\n\tDirective,\n\tElementRef,\n\tbooleanAttribute,\n\tcomputed,\n\teffect,\n\tinject,\n\tinput,\n\tsignal,\n} from '@angular/core';\nimport { BrnSelectService } from './brn-select.service';\n\n@Directive({\n\tselector: '[brnOption]',\n\tstandalone: true,\n\thostDirectives: [CdkOption],\n\thost: {\n\t\t'(mouseenter)': 'hover()',\n\t\t'(blur)': 'blur()',\n\t\t'[attr.dir]': '_selectService.dir()',\n\t\t'[attr.data-disabled]': \"disabledSignal() ? '' : undefined\",\n\t},\n})\nexport class BrnSelectOptionDirective implements FocusableOption, AfterContentChecked {\n\tprivate readonly _cdkSelectOption = inject(CdkOption, { host: true });\n\tprotected readonly _selectService = inject(BrnSelectService);\n\n\tprivate readonly _focused = signal<boolean>(false);\n\tpublic readonly elementRef = inject(ElementRef);\n\n\tpublic readonly selected = computed(() => {\n\t\tif (Array.isArray(this._selectService.value())) {\n\t\t\tconst itemFound = (this._selectService.value() as Array<unknown>).find(\n\t\t\t\t(val) => val === this._cdkSelectOption.value,\n\t\t\t);\n\t\t\treturn !!itemFound;\n\t\t}\n\t\treturn this._cdkSelectOption.value === this._selectService.value();\n\t});\n\tpublic readonly focused = computed(() => this._focused());\n\tpublic readonly checkedState = computed(() => (this.selected() ? 'checked' : 'unchecked'));\n\tpublic readonly dir = computed(() => this._selectService.dir());\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tthis._cdkSelectOption.value = this.value();\n\t\t});\n\t\teffect(() => {\n\t\t\tthis._cdkSelectOption.disabled = this.disabledSignal();\n\t\t});\n\t}\n\tngAfterContentChecked(): void {\n\t\tthis._cdkSelectOption.value = this.value();\n\t}\n\n\tpublic value = input<unknown | null>(null);\n\n\t// we use \"disabledSignal\" here because disabled is already defined in the FocusableOption interface\n\tpublic readonly disabledSignal = input<boolean, BooleanInput>(false, {\n\t\talias: 'disabled',\n\t\ttransform: booleanAttribute,\n\t});\n\n\tprotected hover(): void {\n\t\tthis.focus();\n\t}\n\n\tpublic focus(): void {\n\t\tthis._cdkSelectOption.focus();\n\t\tthis._focused.set(true);\n\t}\n\n\tpublic blur(): void {\n\t\tthis._focused.set(false);\n\t}\n}\n","import { CdkListbox, type ListboxValueChangeEvent } from '@angular/cdk/listbox';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n\ttype AfterViewInit,\n\tChangeDetectionStrategy,\n\tComponent,\n\tDestroyRef,\n\tElementRef,\n\tcontentChild,\n\tcontentChildren,\n\teffect,\n\tinject,\n\tsignal,\n\tviewChild,\n} from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { BrnSelectOptionDirective } from './brn-select-option.directive';\nimport { BrnSelectService } from './brn-select.service';\n\nimport { Directive } from '@angular/core';\nimport { Subject, fromEvent, interval, takeUntil } from 'rxjs';\n\nconst SCROLLBY_PIXELS = 100;\n\n@Directive({\n\tselector: '[brnSelectScrollUp], brn-select-scroll-up, hlm-select-scroll-up:not(noHlm)',\n\tstandalone: true,\n\thost: {\n\t\t'aria-hidden': 'true',\n\t\t'(mouseenter)': 'startEmittingEvents()',\n\t},\n})\nexport class BrnSelectScrollUpDirective {\n\tprivate readonly _el = inject(ElementRef);\n\tprivate readonly _selectContent = inject(BrnSelectContentComponent);\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\tstandalone: true,\n\thost: {\n\t\t'aria-hidden': 'true',\n\t\t'(mouseenter)': 'startEmittingEvents()',\n\t},\n})\nexport class BrnSelectScrollDownDirective {\n\tprivate readonly _el = inject(ElementRef);\n\tprivate readonly _selectContent = inject(BrnSelectContentComponent);\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\tstandalone: true,\n\timports: [BrnSelectScrollUpDirective, BrnSelectScrollDownDirective, NgTemplateOutlet],\n\thostDirectives: [CdkListbox],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\t'[attr.aria-labelledBy]': 'labelledBy()',\n\t\t'[attr.aria-controlledBy]': \"id() +'--trigger'\",\n\t\t'[id]': \"id() + '--content'\",\n\t\t'[attr.dir]': '_selectService.dir()',\n\t},\n\tstyles: [\n\t\t`\n\t\t\t:host {\n\t\t\t\tdisplay: flex;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tflex-direction: column;\n\t\t\t\toutline: none;\n\t\t\t\tpointer-events: auto;\n\t\t\t}\n\n\t\t\t[data-brn-select-viewport] {\n\t\t\t\tscrollbar-width: none;\n\t\t\t\t-ms-overflow-style: none;\n\t\t\t\t-webkit-overflow-scrolling: touch;\n\t\t\t}\n\n\t\t\t[data-brn-select-viewport]::-webkit-scrollbar {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t`,\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\tstyle=\"flex: 1 1 0%;\n\t\t\tposition: relative;\n\t\t\twidth:100%;\n\t\t\toverflow:auto;\n\t\t\tmin-height: 36px;\n padding-bottom: 2px;\n margin-bottom: -2px;\"\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 BrnSelectContentComponent implements AfterViewInit {\n\tprivate readonly _el: ElementRef<HTMLElement> = inject(ElementRef);\n\tprivate readonly _cdkListbox = inject(CdkListbox, { host: true });\n\tprivate readonly _destroyRef = inject(DestroyRef);\n\tprotected readonly _selectService = inject(BrnSelectService);\n\n\tprotected readonly labelledBy = this._selectService.labelId;\n\tprotected readonly id = this._selectService.id;\n\tprotected readonly canScrollUp = signal(false);\n\tprotected readonly canScrollDown = signal(false);\n\n\tprotected initialSelectedOptions$ = toObservable(this._selectService.selectedOptions);\n\n\tprotected viewport = viewChild.required<ElementRef<HTMLElement>>('viewport');\n\n\tprotected scrollUpBtn = contentChild.required(BrnSelectScrollUpDirective);\n\n\tprotected scrollDownBtn = contentChild.required(BrnSelectScrollDownDirective);\n\n\tprotected _options = contentChildren(BrnSelectOptionDirective, { descendants: true });\n\n\tconstructor() {\n\t\tthis._cdkListbox.valueChange\n\t\t\t.asObservable()\n\t\t\t.pipe(takeUntilDestroyed())\n\t\t\t.subscribe((val: ListboxValueChangeEvent<unknown>) => this._selectService.listBoxValueChangeEvent$.next(val));\n\n\t\teffect(() => {\n\t\t\tthis._cdkListbox.multiple = this._selectService.multiple();\n\t\t\tthis._selectService.isExpanded() && setTimeout(() => this.updateArrowDisplay());\n\t\t});\n\t}\n\n\tngAfterViewInit(): void {\n\t\tthis.setInitiallySelectedOptions();\n\t}\n\n\tprivate setInitiallySelectedOptions() {\n\t\tthis.initialSelectedOptions$.pipe(takeUntilDestroyed(this._destroyRef)).subscribe((selectedOptions) => {\n\t\t\t// Reapplying cdkLibstbox multiple because seems this is running before effect that\n\t\t\t// updates cdklistbox, reapplying multiple true so we can set the multiple initial options\n\t\t\tif (this._selectService.multiple()) {\n\t\t\t\tthis._cdkListbox.multiple = true;\n\t\t\t}\n\n\t\t\tfor (const cdkOption of this._selectService.possibleOptions()) {\n\t\t\t\tif (selectedOptions.includes(cdkOption)) {\n\t\t\t\t\tcdkOption?.select();\n\t\t\t\t} else {\n\t\t\t\t\tcdkOption?.deselect();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (const cdkOption of selectedOptions) {\n\t\t\t\tcdkOption?.select();\n\t\t\t}\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() {\n\t\tthis.updateArrowDisplay();\n\t}\n\n\tpublic focusList(): void {\n\t\tthis._cdkListbox.focus();\n\t}\n\n\tpublic moveFocusUp() {\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() {\n\t\tthis.viewport().nativeElement.scrollBy({ top: SCROLLBY_PIXELS, behavior: 'smooth' });\n\t\tconst viewportSize = this._el.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","import { Directive, signal } from '@angular/core';\n\n@Directive({\n\tselector: '[brnSelectGroup]',\n\tstandalone: true,\n\thost: {\n\t\trole: 'group',\n\t\t'[attr.aria-labelledby]': 'labelledBy()',\n\t},\n})\nexport class BrnSelectGroupDirective {\n\tpublic readonly labelledBy = signal('');\n}\n","import { Directive, inject } from '@angular/core';\nimport { BrnLabelDirective } from '@spartan-ng/brain/label';\nimport { BrnSelectGroupDirective } from './brn-select-group.directive';\n\n@Directive({\n\tselector: '[brnSelectLabel]',\n\thostDirectives: [BrnLabelDirective],\n\tstandalone: true,\n})\nexport class BrnSelectLabelDirective {\n\tprivate readonly _group = inject(BrnSelectGroupDirective, { optional: true });\n\tprivate readonly _label = inject(BrnLabelDirective, { host: true });\n\n\tconstructor() {\n\t\tthis._group?.labelledBy.set(this._label.id());\n\t}\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, computed, inject, input } from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { BrnSelectService } from './brn-select.service';\n\n@Component({\n\tselector: 'brn-select-value, hlm-select-value',\n\ttemplate: `\n\t\t{{ value || placeholder() }}\n\t`,\n\thost: {\n\t\t'[id]': 'id()',\n\t},\n\tstyles: [\n\t\t`\n\t\t\t:host {\n\t\t\t\tdisplay: -webkit-box;\n\t\t\t\t-webkit-box-orient: vertical;\n\t\t\t\t-webkit-line-clamp: 1;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\t\t`,\n\t],\n\tstandalone: true,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BrnSelectValueComponent {\n\tprivate readonly _selectService = inject(BrnSelectService);\n\n\tpublic readonly id = computed(() => `${this._selectService.id()}--value`);\n\tpublic readonly placeholder = computed(() => this._selectService.placeholder());\n\tpublic value: string | null = null;\n\n\tpublic readonly transformFn = input<(values: (string | undefined)[]) => any>((values) => (values ?? []).join(', '));\n\n\tconstructor() {\n\t\tconst cdr = inject(ChangeDetectorRef);\n\n\t\t// In certain cases (when using a computed signal for value) where the value of the select and the options are\n\t\t// changed dynamically, the template does not update until the next frame. To work around this we can use a simple\n\t\t// string variable in the template and manually trigger change detection when we update it.\n\t\ttoObservable(this._selectService.selectedOptions)\n\t\t\t.pipe(takeUntilDestroyed())\n\t\t\t.subscribe((value) => {\n\t\t\t\tif (value.length === 0) {\n\t\t\t\t\tthis.value = null;\n\t\t\t\t\tcdr.detectChanges();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst selectedLabels = value.map((selectedOption) => selectedOption?.getLabel());\n\n\t\t\t\tif (this._selectService.dir() === 'rtl') {\n\t\t\t\t\tselectedLabels.reverse();\n\t\t\t\t}\n\t\t\t\tconst result = this.transformFn()(selectedLabels);\n\t\t\t\tthis.value = result;\n\t\t\t\tcdr.detectChanges();\n\t\t\t});\n\t}\n}\n","import { CdkListbox, CdkListboxModule, CdkOption } from '@angular/cdk/listbox';\nimport {\n\tCdkConnectedOverlay,\n\ttype ConnectedOverlayPositionChange,\n\ttype ConnectedPosition,\n\tOverlayModule,\n} from '@angular/cdk/overlay';\nimport {\n\tAfterContentInit,\n\tChangeDetectionStrategy,\n\tComponent,\n\ttype DoCheck,\n\ttype Signal,\n\tcomputed,\n\tcontentChild,\n\tcontentChildren,\n\tinject,\n\tinput,\n\toutput,\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 { BrnFormFieldControl } from '@spartan-ng/brain/form-field';\nimport { ChangeFn, ErrorStateMatcher, ErrorStateTracker, TouchFn } from '@spartan-ng/brain/forms';\nimport { BrnLabelDirective } from '@spartan-ng/brain/label';\nimport {\n\ttype ExposesSide,\n\ttype ExposesState,\n\tprovideExposedSideProviderExisting,\n\tprovideExposesStateProviderExisting,\n} from '@spartan-ng/ui-core';\nimport { Subject, combineLatest, delay, map, of, switchMap } from 'rxjs';\nimport { BrnSelectContentComponent } from './brn-select-content.component';\nimport { BrnSelectService } from './brn-select.service';\n\nexport type BrnReadDirection = 'ltr' | 'rtl';\n\nlet nextId = 0;\n\n@Component({\n\tselector: 'brn-select, hlm-select',\n\tstandalone: true,\n\timports: [OverlayModule, CdkListboxModule],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tproviders: [\n\t\tBrnSelectService,\n\t\tCdkListbox,\n\t\tprovideExposedSideProviderExisting(() => BrnSelectComponent),\n\t\tprovideExposesStateProviderExisting(() => BrnSelectComponent),\n\t\t{\n\t\t\tprovide: BrnFormFieldControl,\n\t\t\tuseExisting: BrnSelectComponent,\n\t\t},\n\t],\n\ttemplate: `\n\t\t@if (!labelProvided() && placeholder()) {\n\t\t\t<label class=\"hidden\" [attr.id]=\"backupLabelId()\">{{ 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\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)=\"close()\"\n\t\t\t(detach)=\"close()\"\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 BrnSelectComponent<T = unknown>\n\timplements ControlValueAccessor, AfterContentInit, DoCheck, ExposesSide, ExposesState, BrnFormFieldControl\n{\n\tprivate readonly _selectService = inject(BrnSelectService);\n\n\tpublic readonly triggerWidth = this._selectService.triggerWidth;\n\n\tpublic readonly multiple = input<boolean>(false);\n\tpublic readonly placeholder = input<string>('');\n\tpublic readonly disabled = input<boolean>(false);\n\tpublic readonly dir = input<BrnReadDirection>('ltr');\n\tprivate readonly _disabledFromSetDisabledState = signal(false);\n\n\tprotected selectLabel = contentChild(BrnLabelDirective, { descendants: false });\n\t/** Overlay pane containing the options. */\n\tprotected selectContent = contentChild.required(BrnSelectContentComponent);\n\n\tprotected options = contentChildren(CdkOption, { descendants: true });\n\tprotected options$ = toObservable(this.options);\n\tprotected optionsAndIndex$ = this.options$.pipe(map((options, index) => [options, index] as const));\n\n\t/** Overlay pane containing the options. */\n\tprotected _overlayDir = viewChild(CdkConnectedOverlay);\n\n\tpublic readonly openedChange = output<boolean>();\n\n\tpublic readonly closeDelay = input<number>(100);\n\tpublic readonly isExpanded = this._selectService.isExpanded;\n\tprotected readonly _delayedExpanded = toSignal(\n\t\ttoObservable(this.isExpanded).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\tpublic readonly state = computed(() => (this.isExpanded() ? 'open' : 'closed'));\n\n\tprotected readonly _positionChanges$ = new Subject<ConnectedOverlayPositionChange>();\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 backupLabelId = computed(() => this._selectService.labelId());\n\tpublic readonly labelProvided = signal(false);\n\n\tpublic readonly ngControl = inject(NgControl, { optional: true, self: true });\n\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\tprivate _onChange: ChangeFn<T> = () => {};\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\tprivate _onTouched: TouchFn = () => {};\n\n\tprivate readonly _shouldEmitValueChange = signal(false);\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\tprivate readonly _defaultErrorStateMatcher = inject(ErrorStateMatcher);\n\tprivate readonly _parentForm = inject(NgForm, { optional: true });\n\tprivate readonly _parentFormGroup = inject(FormGroupDirective, { optional: true });\n\n\tpublic errorState = computed(() => this.errorStateTracker.errorState());\n\n\tpublic writeValue$ = new Subject<T>();\n\n\tconstructor() {\n\t\tthis._selectService.state.update((state) => ({\n\t\t\t...state,\n\t\t\tmultiple: this.multiple,\n\t\t\tplaceholder: this.placeholder,\n\t\t\tdisabled: this.disabled,\n\t\t\tdisabledBySetDisabled: this._disabledFromSetDisabledState,\n\t\t\tdir: this.dir,\n\t\t}));\n\t\tthis.handleOptionChanges();\n\t\tthis.handleInitialOptionSelect();\n\n\t\tthis._selectService.state.update((state) => ({\n\t\t\t...state,\n\t\t\tid: `brn-select-${nextId++}`,\n\t\t}));\n\t\tif (this.ngControl !== null) {\n\t\t\tthis.ngControl.valueAccessor = this;\n\t\t}\n\n\t\t// Watch for Listbox Selection Changes to trigger Collapse and Value Change\n\t\tthis._selectService.listBoxValueChangeEvent$.pipe(takeUntilDestroyed()).subscribe(() => {\n\t\t\tif (!this.multiple()) {\n\t\t\t\tthis.close();\n\t\t\t}\n\n\t\t\t// we set shouldEmitValueChange to true because we want to propagate the value change\n\t\t\t// as a result of user interaction\n\t\t\tthis._shouldEmitValueChange.set(true);\n\t\t});\n\n\t\t/**\n\t\t * Listening to value changes in order to trigger forms api on change\n\t\t * ShouldEmitValueChange simply ensures we only propagate value change when a user makes a selection\n\t\t * we don't propagate changes made from outside the component (ex. patch value or initial value from form control)\n\t\t */\n\t\ttoObservable(this._selectService.value).subscribe((value) => {\n\t\t\tif (this._shouldEmitValueChange()) {\n\t\t\t\tthis._onChange((value ?? null) as T);\n\t\t\t}\n\t\t\tthis._shouldEmitValueChange.set(true);\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\tpublic ngAfterContentInit(): void {\n\t\t// Check if Label Directive Provided and pass to service\n\t\tconst label = this.selectLabel();\n\t\tif (label) {\n\t\t\tthis.labelProvided.set(true);\n\t\t\tthis._selectService.state.update((state) => ({\n\t\t\t\t...state,\n\t\t\t\tlabelId: label.id(),\n\t\t\t}));\n\t\t} else if (this.placeholder()) {\n\t\t\tthis._selectService.state.update((state) => ({\n\t\t\t\t...state,\n\t\t\t\tlabelId: `${state.id}--label`,\n\t\t\t}));\n\t\t}\n\t}\n\n\tngDoCheck() {\n\t\tthis.errorStateTracker.updateErrorState();\n\t}\n\n\tpublic toggle(): void {\n\t\tif (this.isExpanded()) {\n\t\t\tthis.close();\n\t\t} else {\n\t\t\tthis.open();\n\t\t}\n\t}\n\n\tpublic open(): void {\n\t\tif (!this._canOpen()) return;\n\t\tthis._selectService.state.update((state) => ({\n\t\t\t...state,\n\t\t\tisExpanded: true,\n\t\t}));\n\t\tthis.openedChange.emit(true);\n\t\tthis._moveFocusToCDKList();\n\t}\n\n\tpublic close(): void {\n\t\tif (!this.isExpanded()) return;\n\n\t\tif (this._selectService.selectTrigger) {\n\t\t\tthis._selectService.selectTrigger.focus();\n\t\t}\n\n\t\tthis.openedChange.emit(false);\n\t\tthis._selectService.state.update((state) => ({\n\t\t\t...state,\n\t\t\tisExpanded: false,\n\t\t}));\n\t\tthis._onTouched();\n\t}\n\n\tprotected _canOpen(): boolean {\n\t\treturn !this.isExpanded() && !this.disabled() && this.options()?.length > 0;\n\t}\n\n\tprivate _moveFocusToCDKList(): void {\n\t\tsetTimeout(() => {\n\t\t\tthis.selectContent()?.focusList();\n\t\t});\n\t}\n\n\tpublic writeValue(value: T): void {\n\t\tthis.writeValue$.next(value);\n\t}\n\n\tpublic registerOnChange(fn: ChangeFn<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._disabledFromSetDisabledState.set(isDisabled);\n\t}\n\n\t/**\n\t * Once writeValue is called and options are available we can handle setting the initial options\n\t * @private\n\t */\n\tprivate handleInitialOptionSelect() {\n\t\t// Write value cannot be handled until options are available, so we wait until both are available with a combineLatest\n\t\tcombineLatest([this.writeValue$, this.options$])\n\t\t\t.pipe(\n\t\t\t\tmap((values, index) => [...values, index]),\n\t\t\t\ttakeUntilDestroyed(),\n\t\t\t)\n\t\t\t.subscribe(([value, _, index]) => {\n\t\t\t\tthis._shouldEmitValueChange.set(false);\n\t\t\t\tthis._selectService.setInitialSelectedOptions(value);\n\t\t\t\t// the first time this observable emits a value we are simply setting the initial state\n\t\t\t\t// this change should not count as changing the state of the select, so we need to mark as pristine\n\t\t\t\tif (index === 0) {\n\t\t\t\t\tthis.ngControl?.control?.markAsPristine();\n\t\t\t\t}\n\t\t\t});\n\t}\n\n\t/**\n\t * When options change, our current selected options may become invalid\n\t * Here we will automatically update our current selected options so that they are always inline with the possibleOptions\n\t * @private\n\t */\n\tprivate handleOptionChanges() {\n\t\tthis.optionsAndIndex$.pipe(takeUntilDestroyed()).subscribe(([options, index]) => {\n\t\t\tif (index > 0) {\n\t\t\t\tthis.handleInvalidOptions(options);\n\t\t\t}\n\t\t\tthis.updatePossibleOptions(options);\n\t\t});\n\t}\n\n\t/**\n\t * Check that our \"selectedOptions\" are still valid when \"possibleOptions\" is about to be updated\n\t */\n\tprivate handleInvalidOptions(options: readonly CdkOption[]) {\n\t\tconst selectedOptions = this._selectService.selectedOptions();\n\t\tconst availableOptionSet = new Set<CdkOption | null>(options);\n\t\tif (this._selectService.multiple()) {\n\t\t\tconst filteredOptions = selectedOptions.filter((o) => availableOptionSet.has(o));\n\t\t\t// only update if there was an actual change\n\t\t\tif (selectedOptions.length !== filteredOptions.length) {\n\t\t\t\t// update should result in a value change since we are deselecting a value\n\t\t\t\tthis._shouldEmitValueChange.set(true);\n\t\t\t\tconst value = filteredOptions.map((o) => (o?.value as string) ?? '');\n\t\t\t\tthis._selectService.state.update((state) => ({\n\t\t\t\t\t...state,\n\t\t\t\t\tselectedOptions: filteredOptions,\n\t\t\t\t\tvalue: value,\n\t\t\t\t}));\n\t\t\t\tthis._onChange((value ?? null) as T);\n\t\t\t}\n\t\t} else {\n\t\t\tconst selectedOption = selectedOptions[0] ?? null;\n\t\t\tif (selectedOption !== null && !availableOptionSet.has(selectedOption)) {\n\t\t\t\tthis._shouldEmitValueChange.set(true);\n\t\t\t\tthis._selectService.state.update((state) => ({\n\t\t\t\t\t...state,\n\t\t\t\t\tselectedOptions: [],\n\t\t\t\t\tvalue: '',\n\t\t\t\t}));\n\t\t\t\tthis._onChange('' as T);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Sync the updated options with \"possibleOptions\" in the select service\n\t */\n\tprivate updatePossibleOptions(options: readonly CdkOption[]) {\n\t\tthis._selectService.state.update((state) => ({\n\t\t\t...state,\n\t\t\tpossibleOptions: options as CdkOption[],\n\t\t}));\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport {\n\tBrnSelectContentComponent,\n\tBrnSelectScrollDownDirective,\n\tBrnSelectScrollUpDirective,\n} from './lib/brn-select-content.component';\nimport { BrnSelectGroupDirective } from './lib/brn-select-group.directive';\nimport { BrnSelectLabelDirective } from './lib/brn-select-label.directive';\nimport { BrnSelectOptionDirective } from './lib/brn-select-option.directive';\nimport { BrnSelectValueComponent } from './lib/brn-select-value.component';\nimport { BrnSelectComponent } from './lib/brn-select.component';\nimport { BrnSelectTriggerDirective } from './lib/brn-select.service';\nexport * from './lib/brn-select-content.component';\nexport * from './lib/brn-select-group.directive';\nexport * from './lib/brn-select-label.directive';\nexport * from './lib/brn-select-option.directive';\nexport * from './lib/brn-select-value.component';\nexport * from './lib/brn-select.component';\nexport * from './lib/brn-select.service';\n\nexport const BrnSelectImports = [\n\tBrnSelectComponent,\n\tBrnSelectContentComponent,\n\tBrnSelectTriggerDirective,\n\tBrnSelectOptionDirective,\n\tBrnSelectValueComponent,\n\tBrnSelectScrollDownDirective,\n\tBrnSelectScrollUpDirective,\n\tBrnSelectGroupDirective,\n\tBrnSelectLabelDirective,\n] as const;\n\n@NgModule({\n\timports: [...BrnSelectImports],\n\texports: [...BrnSelectImports],\n})\nexport class BrnSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, booleanAttribute, computed, Component, NgModule } from '@angular/core';
3
+
4
+ class BrnSeparatorComponent {
5
+ orientation = input('horizontal');
6
+ decorative = input(false, { transform: booleanAttribute });
7
+ role = computed(() => (this.decorative() ? 'none' : 'separator'));
8
+ ariaOrientation = computed(() => this.decorative() ? undefined : this.orientation() === 'vertical' ? 'vertical' : undefined);
9
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSeparatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
+ /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.5", type: BrnSeparatorComponent, isStandalone: true, selector: "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, template: '', isInline: true });
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSeparatorComponent, decorators: [{
13
+ type: Component,
14
+ args: [{
15
+ selector: 'brn-separator',
16
+ standalone: true,
17
+ template: '',
18
+ host: {
19
+ '[role]': 'role()',
20
+ '[attr.aria-orientation]': 'ariaOrientation()',
21
+ '[attr.data-orientation]': 'orientation()',
22
+ },
23
+ }]
24
+ }] });
25
+
26
+ class BrnSeparatorModule {
27
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSeparatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
28
+ /** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.5", ngImport: i0, type: BrnSeparatorModule, imports: [BrnSeparatorComponent], exports: [BrnSeparatorComponent] });
29
+ /** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSeparatorModule });
30
+ }
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSeparatorModule, decorators: [{
32
+ type: NgModule,
33
+ args: [{
34
+ imports: [BrnSeparatorComponent],
35
+ exports: [BrnSeparatorComponent],
36
+ }]
37
+ }] });
38
+
39
+ /**
40
+ * Generated bundle index. Do not edit.
41
+ */
42
+
43
+ export { BrnSeparatorComponent, BrnSeparatorModule };
44
+ //# sourceMappingURL=spartan-ng-brain-separator.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spartan-ng-brain-separator.mjs","sources":["../../../../libs/brain/separator/src/lib/brn-separator.component.ts","../../../../libs/brain/separator/src/index.ts","../../../../libs/brain/separator/src/spartan-ng-brain-separator.ts"],"sourcesContent":["import { BooleanInput } from '@angular/cdk/coercion';\nimport { Component, booleanAttribute, computed, input } from '@angular/core';\n\nexport type BrnSeparatorOrientation = 'horizontal' | 'vertical';\n\n@Component({\n\tselector: 'brn-separator',\n\tstandalone: true,\n\ttemplate: '',\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 BrnSeparatorComponent {\n\tpublic readonly orientation = input<BrnSeparatorOrientation>('horizontal');\n\tpublic readonly decorative = input<boolean, BooleanInput>(false, { 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 { NgModule } from '@angular/core';\nimport { BrnSeparatorComponent } from './lib/brn-separator.component';\n\nexport * from './lib/brn-separator.component';\n\n@NgModule({\n\timports: [BrnSeparatorComponent],\n\texports: [BrnSeparatorComponent],\n})\nexport class BrnSeparatorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAea,qBAAqB,CAAA;AACjB,IAAA,WAAW,GAAG,KAAK,CAA0B,YAAY,CAAC;IAC1D,UAAU,GAAG,KAAK,CAAwB,KAAK,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAE9E,IAAI,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,UAAU,EAAE,GAAG,MAAM,GAAG,WAAW,CAAC,CAAC;AACjE,IAAA,eAAe,GAAG,QAAQ,CAAC,MAC7C,IAAI,CAAC,UAAU,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,UAAU,GAAG,UAAU,GAAG,SAAS,CAC1F;0HAPW,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAArB,uBAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,0eAPvB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;2FAOA,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAVjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,EAAE;AACZ,oBAAA,IAAI,EAAE;AACL,wBAAA,QAAQ,EAAE,QAAQ;AAClB,wBAAA,yBAAyB,EAAE,mBAAmB;AAC9C,wBAAA,yBAAyB,EAAE,eAAe;AAC1C,qBAAA;AACD,iBAAA;;;MCLY,kBAAkB,CAAA;0HAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;2HAAlB,kBAAkB,EAAA,OAAA,EAAA,CAHpB,qBAAqB,CAAA,EAAA,OAAA,EAAA,CACrB,qBAAqB,CAAA,EAAA,CAAA;2HAEnB,kBAAkB,EAAA,CAAA;;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,qBAAqB,CAAC;oBAChC,OAAO,EAAE,CAAC,qBAAqB,CAAC;AAChC,iBAAA;;;ACRD;;AAEG;;;;"}
@@ -0,0 +1,197 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Directive, signal, forwardRef, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, inject, NgModule } from '@angular/core';
3
+ import { BrnDialogCloseDirective, BrnDialogComponent, BrnDialogContentDirective, BrnDialogDescriptionDirective, BrnDialogOverlayComponent, BrnDialogTitleDirective, BrnDialogTriggerDirective } from '@spartan-ng/brain/dialog';
4
+ import { provideExposesStateProviderExisting, provideExposedSideProviderExisting, provideCustomClassSettableExisting } from '@spartan-ng/ui-core';
5
+
6
+ class BrnSheetCloseDirective extends BrnDialogCloseDirective {
7
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSheetCloseDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
8
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: BrnSheetCloseDirective, isStandalone: true, selector: "button[brnSheetClose]", usesInheritance: true, ngImport: i0 });
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSheetCloseDirective, decorators: [{
11
+ type: Directive,
12
+ args: [{
13
+ selector: 'button[brnSheetClose]',
14
+ standalone: true,
15
+ }]
16
+ }] });
17
+
18
+ class BrnSheetComponent extends BrnDialogComponent {
19
+ _side = signal('top');
20
+ side = this._side.asReadonly();
21
+ /* eslint-disable-next-line @angular-eslint/no-input-rename */
22
+ set setSide(side) {
23
+ this._side.set(side);
24
+ if (side === 'top') {
25
+ this.positionStrategy = this.positionBuilder.global().top();
26
+ }
27
+ if (side === 'bottom') {
28
+ this.positionStrategy = this.positionBuilder.global().bottom();
29
+ }
30
+ if (side === 'left') {
31
+ this.positionStrategy = this.positionBuilder.global().left();
32
+ }
33
+ if (side === 'right') {
34
+ this.positionStrategy = this.positionBuilder.global().right();
35
+ }
36
+ }
37
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSheetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
38
+ /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: BrnSheetComponent, isStandalone: true, selector: "brn-sheet", inputs: { setSide: ["side", "setSide"] }, providers: [
39
+ {
40
+ provide: BrnDialogComponent,
41
+ useExisting: forwardRef((() => BrnSheetComponent)),
42
+ },
43
+ ], exportAs: ["brnSheet"], usesInheritance: true, ngImport: i0, template: `
44
+ <ng-content />
45
+ `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
46
+ }
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSheetComponent, decorators: [{
48
+ type: Component,
49
+ args: [{
50
+ selector: 'brn-sheet',
51
+ standalone: true,
52
+ template: `
53
+ <ng-content />
54
+ `,
55
+ providers: [
56
+ {
57
+ provide: BrnDialogComponent,
58
+ useExisting: forwardRef((() => BrnSheetComponent)),
59
+ },
60
+ ],
61
+ changeDetection: ChangeDetectionStrategy.OnPush,
62
+ encapsulation: ViewEncapsulation.None,
63
+ exportAs: 'brnSheet',
64
+ }]
65
+ }], propDecorators: { setSide: [{
66
+ type: Input,
67
+ args: ['side']
68
+ }] } });
69
+
70
+ class BrnSheetContentDirective extends BrnDialogContentDirective {
71
+ side = inject(BrnSheetComponent).side;
72
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSheetContentDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
73
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: BrnSheetContentDirective, isStandalone: true, selector: "[brnSheetContent]", providers: [
74
+ provideExposesStateProviderExisting((() => BrnSheetContentDirective)),
75
+ provideExposedSideProviderExisting((() => BrnSheetContentDirective)),
76
+ ], usesInheritance: true, ngImport: i0 });
77
+ }
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSheetContentDirective, decorators: [{
79
+ type: Directive,
80
+ args: [{
81
+ selector: '[brnSheetContent]',
82
+ standalone: true,
83
+ providers: [
84
+ provideExposesStateProviderExisting((() => BrnSheetContentDirective)),
85
+ provideExposedSideProviderExisting((() => BrnSheetContentDirective)),
86
+ ],
87
+ }]
88
+ }] });
89
+
90
+ class BrnSheetDescriptionDirective extends BrnDialogDescriptionDirective {
91
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSheetDescriptionDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
92
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: BrnSheetDescriptionDirective, isStandalone: true, selector: "[brnSheetDescription]", host: { properties: { "id": "_id()" } }, usesInheritance: true, ngImport: i0 });
93
+ }
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSheetDescriptionDirective, decorators: [{
95
+ type: Directive,
96
+ args: [{
97
+ selector: '[brnSheetDescription]',
98
+ standalone: true,
99
+ host: {
100
+ '[id]': '_id()',
101
+ },
102
+ }]
103
+ }] });
104
+
105
+ class BrnSheetOverlayComponent extends BrnDialogOverlayComponent {
106
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSheetOverlayComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
107
+ /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: BrnSheetOverlayComponent, isStandalone: true, selector: "brn-sheet-overlay", providers: [provideCustomClassSettableExisting((() => BrnSheetOverlayComponent))], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
108
+ }
109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSheetOverlayComponent, decorators: [{
110
+ type: Component,
111
+ args: [{
112
+ selector: 'brn-sheet-overlay',
113
+ standalone: true,
114
+ providers: [provideCustomClassSettableExisting((() => BrnSheetOverlayComponent))],
115
+ template: '',
116
+ changeDetection: ChangeDetectionStrategy.OnPush,
117
+ encapsulation: ViewEncapsulation.None,
118
+ }]
119
+ }] });
120
+
121
+ class BrnSheetTitleDirective extends BrnDialogTitleDirective {
122
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSheetTitleDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
123
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: BrnSheetTitleDirective, isStandalone: true, selector: "[brnSheetTitle]", host: { properties: { "id": "_id()" } }, usesInheritance: true, ngImport: i0 });
124
+ }
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSheetTitleDirective, decorators: [{
126
+ type: Directive,
127
+ args: [{
128
+ selector: '[brnSheetTitle]',
129
+ standalone: true,
130
+ host: {
131
+ '[id]': '_id()',
132
+ },
133
+ }]
134
+ }] });
135
+
136
+ class BrnSheetTriggerDirective extends BrnDialogTriggerDirective {
137
+ _sheet = inject(BrnSheetComponent, { optional: true });
138
+ side;
139
+ open() {
140
+ if (this._sheet && this.side) {
141
+ this._sheet.setSide = this.side;
142
+ }
143
+ super.open();
144
+ }
145
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSheetTriggerDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
146
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: BrnSheetTriggerDirective, isStandalone: true, selector: "button[brnSheetTrigger]", inputs: { side: "side" }, usesInheritance: true, ngImport: i0 });
147
+ }
148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSheetTriggerDirective, decorators: [{
149
+ type: Directive,
150
+ args: [{
151
+ selector: 'button[brnSheetTrigger]',
152
+ standalone: true,
153
+ }]
154
+ }], propDecorators: { side: [{
155
+ type: Input
156
+ }] } });
157
+
158
+ const BrnSheetImports = [
159
+ BrnSheetComponent,
160
+ BrnSheetOverlayComponent,
161
+ BrnSheetTriggerDirective,
162
+ BrnSheetCloseDirective,
163
+ BrnSheetContentDirective,
164
+ BrnSheetTitleDirective,
165
+ BrnSheetDescriptionDirective,
166
+ ];
167
+ class BrnSheetModule {
168
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSheetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
169
+ /** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.5", ngImport: i0, type: BrnSheetModule, imports: [BrnSheetComponent,
170
+ BrnSheetOverlayComponent,
171
+ BrnSheetTriggerDirective,
172
+ BrnSheetCloseDirective,
173
+ BrnSheetContentDirective,
174
+ BrnSheetTitleDirective,
175
+ BrnSheetDescriptionDirective], exports: [BrnSheetComponent,
176
+ BrnSheetOverlayComponent,
177
+ BrnSheetTriggerDirective,
178
+ BrnSheetCloseDirective,
179
+ BrnSheetContentDirective,
180
+ BrnSheetTitleDirective,
181
+ BrnSheetDescriptionDirective] });
182
+ /** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSheetModule });
183
+ }
184
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSheetModule, decorators: [{
185
+ type: NgModule,
186
+ args: [{
187
+ imports: [...BrnSheetImports],
188
+ exports: [...BrnSheetImports],
189
+ }]
190
+ }] });
191
+
192
+ /**
193
+ * Generated bundle index. Do not edit.
194
+ */
195
+
196
+ export { BrnSheetCloseDirective, BrnSheetComponent, BrnSheetContentDirective, BrnSheetDescriptionDirective, BrnSheetImports, BrnSheetModule, BrnSheetOverlayComponent, BrnSheetTitleDirective, BrnSheetTriggerDirective };
197
+ //# sourceMappingURL=spartan-ng-brain-sheet.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spartan-ng-brain-sheet.mjs","sources":["../../../../libs/brain/sheet/src/lib/brn-sheet-close.directive.ts","../../../../libs/brain/sheet/src/lib/brn-sheet.component.ts","../../../../libs/brain/sheet/src/lib/brn-sheet-content.directive.ts","../../../../libs/brain/sheet/src/lib/brn-sheet-description.directive.ts","../../../../libs/brain/sheet/src/lib/brn-sheet-overlay.component.ts","../../../../libs/brain/sheet/src/lib/brn-sheet-title.directive.ts","../../../../libs/brain/sheet/src/lib/brn-sheet-trigger.directive.ts","../../../../libs/brain/sheet/src/index.ts","../../../../libs/brain/sheet/src/spartan-ng-brain-sheet.ts"],"sourcesContent":["import { Directive } from '@angular/core';\nimport { BrnDialogCloseDirective } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: 'button[brnSheetClose]',\n\tstandalone: true,\n})\nexport class BrnSheetCloseDirective extends BrnDialogCloseDirective {}\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, forwardRef, signal } from '@angular/core';\nimport { BrnDialogComponent } from '@spartan-ng/brain/dialog';\n\n@Component({\n\tselector: 'brn-sheet',\n\tstandalone: true,\n\ttemplate: `\n\t\t<ng-content />\n\t`,\n\tproviders: [\n\t\t{\n\t\t\tprovide: BrnDialogComponent,\n\t\t\tuseExisting: forwardRef(() => BrnSheetComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\texportAs: 'brnSheet',\n})\nexport class BrnSheetComponent extends BrnDialogComponent {\n\tprivate readonly _side = signal<'top' | 'bottom' | 'left' | 'right'>('top');\n\tpublic readonly side = this._side.asReadonly();\n\t/* eslint-disable-next-line @angular-eslint/no-input-rename */\n\t@Input('side')\n\tpublic set setSide(side: 'top' | 'bottom' | 'left' | 'right') {\n\t\tthis._side.set(side);\n\t\tif (side === 'top') {\n\t\t\tthis.positionStrategy = this.positionBuilder.global().top();\n\t\t}\n\t\tif (side === 'bottom') {\n\t\t\tthis.positionStrategy = this.positionBuilder.global().bottom();\n\t\t}\n\t\tif (side === 'left') {\n\t\t\tthis.positionStrategy = this.positionBuilder.global().left();\n\t\t}\n\t\tif (side === 'right') {\n\t\t\tthis.positionStrategy = this.positionBuilder.global().right();\n\t\t}\n\t}\n}\n","import { Directive, inject } from '@angular/core';\nimport { BrnDialogContentDirective } from '@spartan-ng/brain/dialog';\nimport {\n\ttype ExposesSide,\n\tprovideExposedSideProviderExisting,\n\tprovideExposesStateProviderExisting,\n} from '@spartan-ng/ui-core';\nimport { BrnSheetComponent } from './brn-sheet.component';\n\n@Directive({\n\tselector: '[brnSheetContent]',\n\tstandalone: true,\n\tproviders: [\n\t\tprovideExposesStateProviderExisting(() => BrnSheetContentDirective),\n\t\tprovideExposedSideProviderExisting(() => BrnSheetContentDirective),\n\t],\n})\nexport class BrnSheetContentDirective<T> extends BrnDialogContentDirective<T> implements ExposesSide {\n\tpublic readonly side = inject(BrnSheetComponent).side;\n}\n","import { Directive } from '@angular/core';\nimport { BrnDialogDescriptionDirective } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: '[brnSheetDescription]',\n\tstandalone: true,\n\thost: {\n\t\t'[id]': '_id()',\n\t},\n})\nexport class BrnSheetDescriptionDirective extends BrnDialogDescriptionDirective {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { BrnDialogOverlayComponent } from '@spartan-ng/brain/dialog';\nimport { provideCustomClassSettableExisting } from '@spartan-ng/ui-core';\n\n@Component({\n\tselector: 'brn-sheet-overlay',\n\tstandalone: true,\n\tproviders: [provideCustomClassSettableExisting(() => BrnSheetOverlayComponent)],\n\ttemplate: '',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class BrnSheetOverlayComponent extends BrnDialogOverlayComponent {}\n","import { Directive } from '@angular/core';\nimport { BrnDialogTitleDirective } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: '[brnSheetTitle]',\n\tstandalone: true,\n\thost: {\n\t\t'[id]': '_id()',\n\t},\n})\nexport class BrnSheetTitleDirective extends BrnDialogTitleDirective {}\n","import { Directive, Input, inject } from '@angular/core';\nimport { BrnDialogTriggerDirective } from '@spartan-ng/brain/dialog';\nimport { BrnSheetComponent } from './brn-sheet.component';\n\n@Directive({\n\tselector: 'button[brnSheetTrigger]',\n\tstandalone: true,\n})\nexport class BrnSheetTriggerDirective extends BrnDialogTriggerDirective {\n\tprivate readonly _sheet = inject(BrnSheetComponent, { optional: true });\n\t@Input()\n\tpublic side: 'top' | 'bottom' | 'left' | 'right' | undefined;\n\n\toverride open() {\n\t\tif (this._sheet && this.side) {\n\t\t\tthis._sheet.setSide = this.side;\n\t\t}\n\t\tsuper.open();\n\t}\n}\n","import { NgModule } from '@angular/core';\n\nimport { BrnSheetCloseDirective } from './lib/brn-sheet-close.directive';\nimport { BrnSheetContentDirective } from './lib/brn-sheet-content.directive';\nimport { BrnSheetDescriptionDirective } from './lib/brn-sheet-description.directive';\nimport { BrnSheetOverlayComponent } from './lib/brn-sheet-overlay.component';\nimport { BrnSheetTitleDirective } from './lib/brn-sheet-title.directive';\nimport { BrnSheetTriggerDirective } from './lib/brn-sheet-trigger.directive';\nimport { BrnSheetComponent } from './lib/brn-sheet.component';\n\nexport * from './lib/brn-sheet-close.directive';\nexport * from './lib/brn-sheet-content.directive';\nexport * from './lib/brn-sheet-description.directive';\nexport * from './lib/brn-sheet-overlay.component';\nexport * from './lib/brn-sheet-title.directive';\nexport * from './lib/brn-sheet-trigger.directive';\nexport * from './lib/brn-sheet.component';\n\nexport const BrnSheetImports = [\n\tBrnSheetComponent,\n\tBrnSheetOverlayComponent,\n\tBrnSheetTriggerDirective,\n\tBrnSheetCloseDirective,\n\tBrnSheetContentDirective,\n\tBrnSheetTitleDirective,\n\tBrnSheetDescriptionDirective,\n] as const;\n\n@NgModule({\n\timports: [...BrnSheetImports],\n\texports: [...BrnSheetImports],\n})\nexport class BrnSheetModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAOM,MAAO,sBAAuB,SAAQ,uBAAuB,CAAA;0HAAtD,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;8GAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,UAAU,EAAE,IAAI;AAChB,iBAAA;;;ACaK,MAAO,iBAAkB,SAAQ,kBAAkB,CAAA;AACvC,IAAA,KAAK,GAAG,MAAM,CAAsC,KAAK,CAAC;AAC3D,IAAA,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;;IAE9C,IACW,OAAO,CAAC,IAAyC,EAAA;AAC3D,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;AACpB,QAAA,IAAI,IAAI,KAAK,KAAK,EAAE;AACnB,YAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;;AAE5D,QAAA,IAAI,IAAI,KAAK,QAAQ,EAAE;AACtB,YAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE;;AAE/D,QAAA,IAAI,IAAI,KAAK,MAAM,EAAE;AACpB,YAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;;AAE7D,QAAA,IAAI,IAAI,KAAK,OAAO,EAAE;AACrB,YAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE;;;0HAjBnD,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAjB,uBAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,EAVlB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,CAAA,MAAA,EAAA,SAAA,CAAA,EAAA,EAAA,SAAA,EAAA;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,kBAAkB;AAC3B,gBAAA,WAAW,EAAE,UAAU,EAAC,MAAM,iBAAiB,EAAC;AAChD,aAAA;SACD,EARS,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;AAET,CAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAWW,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAhB7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE;;AAET,CAAA,CAAA;AACD,oBAAA,SAAS,EAAE;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,kBAAkB;AAC3B,4BAAA,WAAW,EAAE,UAAU,EAAC,uBAAuB,EAAC;AAChD,yBAAA;AACD,qBAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,QAAQ,EAAE,UAAU;AACpB,iBAAA;8BAMW,OAAO,EAAA,CAAA;sBADjB,KAAK;uBAAC,MAAM;;;ACNR,MAAO,wBAA4B,SAAQ,yBAA4B,CAAA;AAC5D,IAAA,IAAI,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI;0HADzC,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAxB,uBAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,EALzB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,SAAA,EAAA;AACV,YAAA,mCAAmC,EAAC,MAAM,wBAAwB,EAAC;AACnE,YAAA,kCAAkC,EAAC,MAAM,wBAAwB,EAAC;AAClE,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAEW,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBARpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,SAAS,EAAE;AACV,wBAAA,mCAAmC,EAAC,MAAK,wBAAyB,EAAC;AACnE,wBAAA,kCAAkC,EAAC,MAAK,wBAAyB,EAAC;AAClE,qBAAA;AACD,iBAAA;;;ACNK,MAAO,4BAA6B,SAAQ,6BAA6B,CAAA;0HAAlE,4BAA4B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;8GAA5B,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAA5B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAPxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACL,wBAAA,MAAM,EAAE,OAAO;AACf,qBAAA;AACD,iBAAA;;;ACGK,MAAO,wBAAyB,SAAQ,yBAAyB,CAAA;0HAA1D,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;8GAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,SAAA,EALzB,CAAC,kCAAkC,EAAC,MAAM,wBAAwB,EAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EACrE,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAIA,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBARpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,UAAU,EAAE,IAAI;oBAChB,SAAS,EAAE,CAAC,kCAAkC,EAAC,MAAK,wBAAyB,EAAC,CAAC;AAC/E,oBAAA,QAAQ,EAAE,EAAE;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,iBAAA;;;ACDK,MAAO,sBAAuB,SAAQ,uBAAuB,CAAA;0HAAtD,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;8GAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACL,wBAAA,MAAM,EAAE,OAAO;AACf,qBAAA;AACD,iBAAA;;;ACDK,MAAO,wBAAyB,SAAQ,yBAAyB,CAAA;IACrD,MAAM,GAAG,MAAM,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAEhE,IAAA,IAAI;IAEF,IAAI,GAAA;QACZ,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE;YAC7B,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI;;QAEhC,KAAK,CAAC,IAAI,EAAE;;0HATD,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;8GAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAJpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,yBAAyB;AACnC,oBAAA,UAAU,EAAE,IAAI;AAChB,iBAAA;8BAIO,IAAI,EAAA,CAAA;sBADV;;;ACQW,MAAA,eAAe,GAAG;IAC9B,iBAAiB;IACjB,wBAAwB;IACxB,wBAAwB;IACxB,sBAAsB;IACtB,wBAAwB;IACxB,sBAAsB;IACtB,4BAA4B;;MAOhB,cAAc,CAAA;0HAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAd,uBAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAb1B,iBAAiB;YACjB,wBAAwB;YACxB,wBAAwB;YACxB,sBAAsB;YACtB,wBAAwB;YACxB,sBAAsB;AACtB,YAAA,4BAA4B,aAN5B,iBAAiB;YACjB,wBAAwB;YACxB,wBAAwB;YACxB,sBAAsB;YACtB,wBAAwB;YACxB,sBAAsB;YACtB,4BAA4B,CAAA,EAAA,CAAA;2HAOhB,cAAc,EAAA,CAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,OAAO,EAAE,CAAC,GAAG,eAAe,CAAC;AAC7B,oBAAA,OAAO,EAAE,CAAC,GAAG,eAAe,CAAC;AAC7B,iBAAA;;;AC/BD;;AAEG;;;;"}