@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,42 @@
1
+ import { Directive, HostListener } from '@angular/core';
2
+ import { injectDateAdapter } from '@spartan-ng/brain/date-time';
3
+ import { injectBrnCalendar } from './brn-calendar.token';
4
+ import { injectBrnCalendarI18n } from './i18n/calendar-i18n';
5
+ import * as i0 from "@angular/core";
6
+ export class BrnCalendarPreviousButtonDirective {
7
+ /** Access the calendar */
8
+ _calendar = injectBrnCalendar();
9
+ /** Access the date adapter */
10
+ _dateAdapter = injectDateAdapter();
11
+ /** Access the calendar i18n */
12
+ i18n = injectBrnCalendarI18n();
13
+ /** Focus the previous month */
14
+ focusPreviousMonth() {
15
+ const targetDate = this._dateAdapter.subtract(this._calendar.state().focusedDate(), { months: 1 });
16
+ // if the date is disabled, but there are available dates in the month, focus the last day of the month.
17
+ const possibleDate = this._calendar.constrainDate(targetDate);
18
+ if (this._dateAdapter.isSameMonth(possibleDate, targetDate)) {
19
+ // if this date is within the same month, then focus it
20
+ this._calendar.state().focusedDate.set(possibleDate);
21
+ return;
22
+ }
23
+ this._calendar.state().focusedDate.set(targetDate);
24
+ }
25
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCalendarPreviousButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
26
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: BrnCalendarPreviousButtonDirective, isStandalone: true, selector: "[brnCalendarPreviousButton]", host: { attributes: { "type": "button" }, listeners: { "click": "focusPreviousMonth()" }, properties: { "attr.aria-label": "i18n.labelPrevious()" } }, ngImport: i0 });
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCalendarPreviousButtonDirective, decorators: [{
29
+ type: Directive,
30
+ args: [{
31
+ selector: '[brnCalendarPreviousButton]',
32
+ standalone: true,
33
+ host: {
34
+ type: 'button',
35
+ '[attr.aria-label]': 'i18n.labelPrevious()',
36
+ },
37
+ }]
38
+ }], propDecorators: { focusPreviousMonth: [{
39
+ type: HostListener,
40
+ args: ['click']
41
+ }] } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWNhbGVuZGFyLXByZXZpb3VzLWJ1dHRvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2NhbGVuZGFyL3NyYy9saWIvYnJuLWNhbGVuZGFyLXByZXZpb3VzLWJ1dHRvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBVTdELE1BQU0sT0FBTyxrQ0FBa0M7SUFDOUMsMEJBQTBCO0lBQ1QsU0FBUyxHQUFHLGlCQUFpQixFQUFFLENBQUM7SUFFakQsOEJBQThCO0lBQ2IsWUFBWSxHQUFHLGlCQUFpQixFQUFFLENBQUM7SUFFcEQsK0JBQStCO0lBQ1osSUFBSSxHQUFHLHFCQUFxQixFQUFFLENBQUM7SUFFbEQsK0JBQStCO0lBRXJCLGtCQUFrQjtRQUMzQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLFdBQVcsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFbkcsd0dBQXdHO1FBQ3hHLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTlELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDN0QsdURBQXVEO1lBQ3ZELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNyRCxPQUFPO1FBQ1IsQ0FBQztRQUVELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNwRCxDQUFDOzBIQXpCVyxrQ0FBa0M7OEdBQWxDLGtDQUFrQzs7MkZBQWxDLGtDQUFrQztrQkFSOUMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsNkJBQTZCO29CQUN2QyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNMLElBQUksRUFBRSxRQUFRO3dCQUNkLG1CQUFtQixFQUFFLHNCQUFzQjtxQkFDM0M7aUJBQ0Q7OEJBYVUsa0JBQWtCO3NCQUQzQixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0RGF0ZUFkYXB0ZXIgfSBmcm9tICdAc3BhcnRhbi1uZy9icmFpbi9kYXRlLXRpbWUnO1xuaW1wb3J0IHsgaW5qZWN0QnJuQ2FsZW5kYXIgfSBmcm9tICcuL2Jybi1jYWxlbmRhci50b2tlbic7XG5pbXBvcnQgeyBpbmplY3RCcm5DYWxlbmRhckkxOG4gfSBmcm9tICcuL2kxOG4vY2FsZW5kYXItaTE4bic7XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ1ticm5DYWxlbmRhclByZXZpb3VzQnV0dG9uXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGhvc3Q6IHtcblx0XHR0eXBlOiAnYnV0dG9uJyxcblx0XHQnW2F0dHIuYXJpYS1sYWJlbF0nOiAnaTE4bi5sYWJlbFByZXZpb3VzKCknLFxuXHR9LFxufSlcbmV4cG9ydCBjbGFzcyBCcm5DYWxlbmRhclByZXZpb3VzQnV0dG9uRGlyZWN0aXZlIHtcblx0LyoqIEFjY2VzcyB0aGUgY2FsZW5kYXIgKi9cblx0cHJpdmF0ZSByZWFkb25seSBfY2FsZW5kYXIgPSBpbmplY3RCcm5DYWxlbmRhcigpO1xuXG5cdC8qKiBBY2Nlc3MgdGhlIGRhdGUgYWRhcHRlciAqL1xuXHRwcml2YXRlIHJlYWRvbmx5IF9kYXRlQWRhcHRlciA9IGluamVjdERhdGVBZGFwdGVyKCk7XG5cblx0LyoqIEFjY2VzcyB0aGUgY2FsZW5kYXIgaTE4biAqL1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgaTE4biA9IGluamVjdEJybkNhbGVuZGFySTE4bigpO1xuXG5cdC8qKiBGb2N1cyB0aGUgcHJldmlvdXMgbW9udGggKi9cblx0QEhvc3RMaXN0ZW5lcignY2xpY2snKVxuXHRwcm90ZWN0ZWQgZm9jdXNQcmV2aW91c01vbnRoKCk6IHZvaWQge1xuXHRcdGNvbnN0IHRhcmdldERhdGUgPSB0aGlzLl9kYXRlQWRhcHRlci5zdWJ0cmFjdCh0aGlzLl9jYWxlbmRhci5zdGF0ZSgpLmZvY3VzZWREYXRlKCksIHsgbW9udGhzOiAxIH0pO1xuXG5cdFx0Ly8gaWYgdGhlIGRhdGUgaXMgZGlzYWJsZWQsIGJ1dCB0aGVyZSBhcmUgYXZhaWxhYmxlIGRhdGVzIGluIHRoZSBtb250aCwgZm9jdXMgdGhlIGxhc3QgZGF5IG9mIHRoZSBtb250aC5cblx0XHRjb25zdCBwb3NzaWJsZURhdGUgPSB0aGlzLl9jYWxlbmRhci5jb25zdHJhaW5EYXRlKHRhcmdldERhdGUpO1xuXG5cdFx0aWYgKHRoaXMuX2RhdGVBZGFwdGVyLmlzU2FtZU1vbnRoKHBvc3NpYmxlRGF0ZSwgdGFyZ2V0RGF0ZSkpIHtcblx0XHRcdC8vIGlmIHRoaXMgZGF0ZSBpcyB3aXRoaW4gdGhlIHNhbWUgbW9udGgsIHRoZW4gZm9jdXMgaXRcblx0XHRcdHRoaXMuX2NhbGVuZGFyLnN0YXRlKCkuZm9jdXNlZERhdGUuc2V0KHBvc3NpYmxlRGF0ZSk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0dGhpcy5fY2FsZW5kYXIuc3RhdGUoKS5mb2N1c2VkRGF0ZS5zZXQodGFyZ2V0RGF0ZSk7XG5cdH1cbn1cbiJdfQ==
@@ -0,0 +1,64 @@
1
+ import { ChangeDetectorRef, Directive, TemplateRef, ViewContainerRef, computed, effect, inject, } from '@angular/core';
2
+ import { injectBrnCalendar } from './brn-calendar.token';
3
+ import * as i0 from "@angular/core";
4
+ export class BrnCalendarWeekDirective {
5
+ /** Access the calendar */
6
+ _calendar = injectBrnCalendar();
7
+ /** Access the view container ref */
8
+ _viewContainerRef = inject(ViewContainerRef);
9
+ /** Access the change detector */
10
+ _changeDetector = inject(ChangeDetectorRef);
11
+ /** Access the template ref */
12
+ _templateRef = inject(TemplateRef);
13
+ // get the weeks to display.
14
+ weeks = computed(() => {
15
+ const days = this._calendar.days();
16
+ const weeks = [];
17
+ for (let i = 0; i < days.length; i += 7) {
18
+ weeks.push(days.slice(i, i + 7));
19
+ }
20
+ return weeks;
21
+ });
22
+ /** Store the view refs */
23
+ _viewRefs = [];
24
+ // Make sure the template checker knows the type of the context with which the
25
+ // template of this directive will be rendered
26
+ static ngTemplateContextGuard(_, ctx) {
27
+ return true;
28
+ }
29
+ constructor() {
30
+ // this should use `afterRenderEffect` but it's not available in the current version
31
+ effect(() => this.renderWeek(), { allowSignalWrites: true });
32
+ }
33
+ renderWeek() {
34
+ // Destroy all the views when the directive is destroyed
35
+ for (const viewRef of this._viewRefs) {
36
+ viewRef.destroy();
37
+ }
38
+ this._viewRefs.length = 0;
39
+ // Create a new view for each week
40
+ for (const week of this.weeks()) {
41
+ const viewRef = this._viewContainerRef.createEmbeddedView(this._templateRef, {
42
+ $implicit: week,
43
+ });
44
+ this._viewRefs.push(viewRef);
45
+ }
46
+ this._changeDetector.detectChanges();
47
+ }
48
+ ngOnDestroy() {
49
+ // Destroy all the views when the directive is destroyed
50
+ for (const viewRef of this._viewRefs) {
51
+ viewRef.destroy();
52
+ }
53
+ }
54
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCalendarWeekDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
55
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: BrnCalendarWeekDirective, isStandalone: true, selector: "[brnCalendarWeek]", ngImport: i0 });
56
+ }
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCalendarWeekDirective, decorators: [{
58
+ type: Directive,
59
+ args: [{
60
+ standalone: true,
61
+ selector: '[brnCalendarWeek]',
62
+ }]
63
+ }], ctorParameters: () => [] });
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWNhbGVuZGFyLXdlZWsuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9jYWxlbmRhci9zcmMvbGliL2Jybi1jYWxlbmRhci13ZWVrLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04saUJBQWlCLEVBQ2pCLFNBQVMsRUFHVCxXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixNQUFNLEVBQ04sTUFBTSxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQU16RCxNQUFNLE9BQU8sd0JBQXdCO0lBQ3BDLDBCQUEwQjtJQUNULFNBQVMsR0FBRyxpQkFBaUIsRUFBSyxDQUFDO0lBRXBELG9DQUFvQztJQUNuQixpQkFBaUIsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUU5RCxpQ0FBaUM7SUFDaEIsZUFBZSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRTdELDhCQUE4QjtJQUNiLFlBQVksR0FBRyxNQUFNLENBQWlDLFdBQVcsQ0FBQyxDQUFDO0lBRXBGLDRCQUE0QjtJQUNULEtBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ3hDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbkMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBRWpCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN6QyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNkLENBQUMsQ0FBQyxDQUFDO0lBRUgsMEJBQTBCO0lBQ1QsU0FBUyxHQUF5QyxFQUFFLENBQUM7SUFFdEUsOEVBQThFO0lBQzlFLDhDQUE4QztJQUM5QyxNQUFNLENBQUMsc0JBQXNCLENBQUksQ0FBOEIsRUFBRSxHQUFZO1FBQzVFLE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQztJQUVEO1FBQ0Msb0ZBQW9GO1FBQ3BGLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFTyxVQUFVO1FBQ2pCLHdEQUF3RDtRQUN4RCxLQUFLLE1BQU0sT0FBTyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN0QyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkIsQ0FBQztRQUVELElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUUxQixrQ0FBa0M7UUFDbEMsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUNqQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDNUUsU0FBUyxFQUFFLElBQUk7YUFDZixDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5QixDQUFDO1FBRUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsV0FBVztRQUNWLHdEQUF3RDtRQUN4RCxLQUFLLE1BQU0sT0FBTyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN0QyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkIsQ0FBQztJQUNGLENBQUM7MEhBL0RXLHdCQUF3Qjs4R0FBeEIsd0JBQXdCOzsyRkFBeEIsd0JBQXdCO2tCQUpwQyxTQUFTO21CQUFDO29CQUNWLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsbUJBQW1CO2lCQUM3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdENoYW5nZURldGVjdG9yUmVmLFxuXHREaXJlY3RpdmUsXG5cdEVtYmVkZGVkVmlld1JlZixcblx0T25EZXN0cm95LFxuXHRUZW1wbGF0ZVJlZixcblx0Vmlld0NvbnRhaW5lclJlZixcblx0Y29tcHV0ZWQsXG5cdGVmZmVjdCxcblx0aW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdEJybkNhbGVuZGFyIH0gZnJvbSAnLi9icm4tY2FsZW5kYXIudG9rZW4nO1xuXG5ARGlyZWN0aXZlKHtcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0c2VsZWN0b3I6ICdbYnJuQ2FsZW5kYXJXZWVrXScsXG59KVxuZXhwb3J0IGNsYXNzIEJybkNhbGVuZGFyV2Vla0RpcmVjdGl2ZTxUPiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cdC8qKiBBY2Nlc3MgdGhlIGNhbGVuZGFyICovXG5cdHByaXZhdGUgcmVhZG9ubHkgX2NhbGVuZGFyID0gaW5qZWN0QnJuQ2FsZW5kYXI8VD4oKTtcblxuXHQvKiogQWNjZXNzIHRoZSB2aWV3IGNvbnRhaW5lciByZWYgKi9cblx0cHJpdmF0ZSByZWFkb25seSBfdmlld0NvbnRhaW5lclJlZiA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcblxuXHQvKiogQWNjZXNzIHRoZSBjaGFuZ2UgZGV0ZWN0b3IgKi9cblx0cHJpdmF0ZSByZWFkb25seSBfY2hhbmdlRGV0ZWN0b3IgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG5cdC8qKiBBY2Nlc3MgdGhlIHRlbXBsYXRlIHJlZiAqL1xuXHRwcml2YXRlIHJlYWRvbmx5IF90ZW1wbGF0ZVJlZiA9IGluamVjdDxUZW1wbGF0ZVJlZjxCcm5XZWVrQ29udGV4dDxUPj4+KFRlbXBsYXRlUmVmKTtcblxuXHQvLyBnZXQgdGhlIHdlZWtzIHRvIGRpc3BsYXkuXG5cdHByb3RlY3RlZCByZWFkb25seSB3ZWVrcyA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRjb25zdCBkYXlzID0gdGhpcy5fY2FsZW5kYXIuZGF5cygpO1xuXHRcdGNvbnN0IHdlZWtzID0gW107XG5cblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGRheXMubGVuZ3RoOyBpICs9IDcpIHtcblx0XHRcdHdlZWtzLnB1c2goZGF5cy5zbGljZShpLCBpICsgNykpO1xuXHRcdH1cblxuXHRcdHJldHVybiB3ZWVrcztcblx0fSk7XG5cblx0LyoqIFN0b3JlIHRoZSB2aWV3IHJlZnMgKi9cblx0cHJpdmF0ZSByZWFkb25seSBfdmlld1JlZnM6IEVtYmVkZGVkVmlld1JlZjxCcm5XZWVrQ29udGV4dDxUPj5bXSA9IFtdO1xuXG5cdC8vIE1ha2Ugc3VyZSB0aGUgdGVtcGxhdGUgY2hlY2tlciBrbm93cyB0aGUgdHlwZSBvZiB0aGUgY29udGV4dCB3aXRoIHdoaWNoIHRoZVxuXHQvLyB0ZW1wbGF0ZSBvZiB0aGlzIGRpcmVjdGl2ZSB3aWxsIGJlIHJlbmRlcmVkXG5cdHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkPFQ+KF86IEJybkNhbGVuZGFyV2Vla0RpcmVjdGl2ZTxUPiwgY3R4OiB1bmtub3duKTogY3R4IGlzIEJybldlZWtDb250ZXh0PFQ+IHtcblx0XHRyZXR1cm4gdHJ1ZTtcblx0fVxuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdC8vIHRoaXMgc2hvdWxkIHVzZSBgYWZ0ZXJSZW5kZXJFZmZlY3RgIGJ1dCBpdCdzIG5vdCBhdmFpbGFibGUgaW4gdGhlIGN1cnJlbnQgdmVyc2lvblxuXHRcdGVmZmVjdCgoKSA9PiB0aGlzLnJlbmRlcldlZWsoKSwgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9KTtcblx0fVxuXG5cdHByaXZhdGUgcmVuZGVyV2VlaygpOiB2b2lkIHtcblx0XHQvLyBEZXN0cm95IGFsbCB0aGUgdmlld3Mgd2hlbiB0aGUgZGlyZWN0aXZlIGlzIGRlc3Ryb3llZFxuXHRcdGZvciAoY29uc3Qgdmlld1JlZiBvZiB0aGlzLl92aWV3UmVmcykge1xuXHRcdFx0dmlld1JlZi5kZXN0cm95KCk7XG5cdFx0fVxuXG5cdFx0dGhpcy5fdmlld1JlZnMubGVuZ3RoID0gMDtcblxuXHRcdC8vIENyZWF0ZSBhIG5ldyB2aWV3IGZvciBlYWNoIHdlZWtcblx0XHRmb3IgKGNvbnN0IHdlZWsgb2YgdGhpcy53ZWVrcygpKSB7XG5cdFx0XHRjb25zdCB2aWV3UmVmID0gdGhpcy5fdmlld0NvbnRhaW5lclJlZi5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5fdGVtcGxhdGVSZWYsIHtcblx0XHRcdFx0JGltcGxpY2l0OiB3ZWVrLFxuXHRcdFx0fSk7XG5cdFx0XHR0aGlzLl92aWV3UmVmcy5wdXNoKHZpZXdSZWYpO1xuXHRcdH1cblxuXHRcdHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcblx0fVxuXG5cdG5nT25EZXN0cm95KCk6IHZvaWQge1xuXHRcdC8vIERlc3Ryb3kgYWxsIHRoZSB2aWV3cyB3aGVuIHRoZSBkaXJlY3RpdmUgaXMgZGVzdHJveWVkXG5cdFx0Zm9yIChjb25zdCB2aWV3UmVmIG9mIHRoaXMuX3ZpZXdSZWZzKSB7XG5cdFx0XHR2aWV3UmVmLmRlc3Ryb3koKTtcblx0XHR9XG5cdH1cbn1cblxuaW50ZXJmYWNlIEJybldlZWtDb250ZXh0PFQ+IHtcblx0JGltcGxpY2l0OiBUW107XG59XG4iXX0=
@@ -0,0 +1,48 @@
1
+ import { Directive, TemplateRef, ViewContainerRef, computed, inject } from '@angular/core';
2
+ import { injectDateAdapter } from '@spartan-ng/brain/date-time';
3
+ import { injectBrnCalendar } from './brn-calendar.token';
4
+ import * as i0 from "@angular/core";
5
+ export class BrnCalendarWeekdayDirective {
6
+ /** Access the calendar */
7
+ _calendar = injectBrnCalendar();
8
+ /** Access the date time adapter */
9
+ _dateAdapter = injectDateAdapter();
10
+ /** Access the view container ref */
11
+ _viewContainerRef = inject(ViewContainerRef);
12
+ /** Access the template ref */
13
+ _templateRef = inject(TemplateRef);
14
+ /** Get the days of the week to display in the header. */
15
+ weekdays = computed(() => this._calendar.days().slice(0, 7));
16
+ /** Store the view refs */
17
+ _viewRefs = [];
18
+ // Make sure the template checker knows the type of the context with which the
19
+ // template of this directive will be rendered
20
+ static ngTemplateContextGuard(_, ctx) {
21
+ return true;
22
+ }
23
+ constructor() {
24
+ // Create a new view for each day
25
+ for (const day of this.weekdays()) {
26
+ const viewRef = this._viewContainerRef.createEmbeddedView(this._templateRef, {
27
+ $implicit: this._dateAdapter.getDay(day),
28
+ });
29
+ this._viewRefs.push(viewRef);
30
+ }
31
+ }
32
+ ngOnDestroy() {
33
+ // Destroy all the views when the directive is destroyed
34
+ for (const viewRef of this._viewRefs) {
35
+ viewRef.destroy();
36
+ }
37
+ }
38
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCalendarWeekdayDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
39
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: BrnCalendarWeekdayDirective, isStandalone: true, selector: "[brnCalendarWeekday]", ngImport: i0 });
40
+ }
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCalendarWeekdayDirective, decorators: [{
42
+ type: Directive,
43
+ args: [{
44
+ standalone: true,
45
+ selector: '[brnCalendarWeekday]',
46
+ }]
47
+ }], ctorParameters: () => [] });
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWNhbGVuZGFyLXdlZWtkYXkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9jYWxlbmRhci9zcmMvbGliL2Jybi1jYWxlbmRhci13ZWVrZGF5LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUE4QixXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2SCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFNekQsTUFBTSxPQUFPLDJCQUEyQjtJQUN2QywwQkFBMEI7SUFDVCxTQUFTLEdBQUcsaUJBQWlCLEVBQUssQ0FBQztJQUVwRCxtQ0FBbUM7SUFDbEIsWUFBWSxHQUFHLGlCQUFpQixFQUFLLENBQUM7SUFFdkQsb0NBQW9DO0lBQ25CLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRTlELDhCQUE4QjtJQUNiLFlBQVksR0FBRyxNQUFNLENBQWlDLFdBQVcsQ0FBQyxDQUFDO0lBRXBGLHlEQUF5RDtJQUN0QyxRQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRWhGLDBCQUEwQjtJQUNULFNBQVMsR0FBeUMsRUFBRSxDQUFDO0lBRXRFLDhFQUE4RTtJQUM5RSw4Q0FBOEM7SUFDOUMsTUFBTSxDQUFDLHNCQUFzQixDQUFJLENBQWlDLEVBQUUsR0FBWTtRQUMvRSxPQUFPLElBQUksQ0FBQztJQUNiLENBQUM7SUFFRDtRQUNDLGlDQUFpQztRQUNqQyxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1lBQ25DLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUM1RSxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO2FBQ3hDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlCLENBQUM7SUFDRixDQUFDO0lBRUQsV0FBVztRQUNWLHdEQUF3RDtRQUN4RCxLQUFLLE1BQU0sT0FBTyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN0QyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkIsQ0FBQztJQUNGLENBQUM7MEhBeENXLDJCQUEyQjs4R0FBM0IsMkJBQTJCOzsyRkFBM0IsMkJBQTJCO2tCQUp2QyxTQUFTO21CQUFDO29CQUNWLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsc0JBQXNCO2lCQUNoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRW1iZWRkZWRWaWV3UmVmLCBPbkRlc3Ryb3ksIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmLCBjb21wdXRlZCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpbmplY3REYXRlQWRhcHRlciB9IGZyb20gJ0BzcGFydGFuLW5nL2JyYWluL2RhdGUtdGltZSc7XG5pbXBvcnQgeyBpbmplY3RCcm5DYWxlbmRhciB9IGZyb20gJy4vYnJuLWNhbGVuZGFyLnRva2VuJztcblxuQERpcmVjdGl2ZSh7XG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHNlbGVjdG9yOiAnW2JybkNhbGVuZGFyV2Vla2RheV0nLFxufSlcbmV4cG9ydCBjbGFzcyBCcm5DYWxlbmRhcldlZWtkYXlEaXJlY3RpdmU8VD4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXHQvKiogQWNjZXNzIHRoZSBjYWxlbmRhciAqL1xuXHRwcml2YXRlIHJlYWRvbmx5IF9jYWxlbmRhciA9IGluamVjdEJybkNhbGVuZGFyPFQ+KCk7XG5cblx0LyoqIEFjY2VzcyB0aGUgZGF0ZSB0aW1lIGFkYXB0ZXIgKi9cblx0cHJpdmF0ZSByZWFkb25seSBfZGF0ZUFkYXB0ZXIgPSBpbmplY3REYXRlQWRhcHRlcjxUPigpO1xuXG5cdC8qKiBBY2Nlc3MgdGhlIHZpZXcgY29udGFpbmVyIHJlZiAqL1xuXHRwcml2YXRlIHJlYWRvbmx5IF92aWV3Q29udGFpbmVyUmVmID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuXG5cdC8qKiBBY2Nlc3MgdGhlIHRlbXBsYXRlIHJlZiAqL1xuXHRwcml2YXRlIHJlYWRvbmx5IF90ZW1wbGF0ZVJlZiA9IGluamVjdDxUZW1wbGF0ZVJlZjxCcm5XZWVrZGF5Q29udGV4dD4+KFRlbXBsYXRlUmVmKTtcblxuXHQvKiogR2V0IHRoZSBkYXlzIG9mIHRoZSB3ZWVrIHRvIGRpc3BsYXkgaW4gdGhlIGhlYWRlci4gKi9cblx0cHJvdGVjdGVkIHJlYWRvbmx5IHdlZWtkYXlzID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5fY2FsZW5kYXIuZGF5cygpLnNsaWNlKDAsIDcpKTtcblxuXHQvKiogU3RvcmUgdGhlIHZpZXcgcmVmcyAqL1xuXHRwcml2YXRlIHJlYWRvbmx5IF92aWV3UmVmczogRW1iZWRkZWRWaWV3UmVmPEJybldlZWtkYXlDb250ZXh0PltdID0gW107XG5cblx0Ly8gTWFrZSBzdXJlIHRoZSB0ZW1wbGF0ZSBjaGVja2VyIGtub3dzIHRoZSB0eXBlIG9mIHRoZSBjb250ZXh0IHdpdGggd2hpY2ggdGhlXG5cdC8vIHRlbXBsYXRlIG9mIHRoaXMgZGlyZWN0aXZlIHdpbGwgYmUgcmVuZGVyZWRcblx0c3RhdGljIG5nVGVtcGxhdGVDb250ZXh0R3VhcmQ8VD4oXzogQnJuQ2FsZW5kYXJXZWVrZGF5RGlyZWN0aXZlPFQ+LCBjdHg6IHVua25vd24pOiBjdHggaXMgQnJuV2Vla2RheUNvbnRleHQge1xuXHRcdHJldHVybiB0cnVlO1xuXHR9XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0Ly8gQ3JlYXRlIGEgbmV3IHZpZXcgZm9yIGVhY2ggZGF5XG5cdFx0Zm9yIChjb25zdCBkYXkgb2YgdGhpcy53ZWVrZGF5cygpKSB7XG5cdFx0XHRjb25zdCB2aWV3UmVmID0gdGhpcy5fdmlld0NvbnRhaW5lclJlZi5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5fdGVtcGxhdGVSZWYsIHtcblx0XHRcdFx0JGltcGxpY2l0OiB0aGlzLl9kYXRlQWRhcHRlci5nZXREYXkoZGF5KSxcblx0XHRcdH0pO1xuXHRcdFx0dGhpcy5fdmlld1JlZnMucHVzaCh2aWV3UmVmKTtcblx0XHR9XG5cdH1cblxuXHRuZ09uRGVzdHJveSgpOiB2b2lkIHtcblx0XHQvLyBEZXN0cm95IGFsbCB0aGUgdmlld3Mgd2hlbiB0aGUgZGlyZWN0aXZlIGlzIGRlc3Ryb3llZFxuXHRcdGZvciAoY29uc3Qgdmlld1JlZiBvZiB0aGlzLl92aWV3UmVmcykge1xuXHRcdFx0dmlld1JlZi5kZXN0cm95KCk7XG5cdFx0fVxuXHR9XG59XG5cbmludGVyZmFjZSBCcm5XZWVrZGF5Q29udGV4dCB7XG5cdCRpbXBsaWNpdDogbnVtYmVyO1xufVxuIl19
@@ -0,0 +1,154 @@
1
+ import { ChangeDetectorRef, Directive, Injector, afterNextRender, booleanAttribute, computed, contentChild, contentChildren, inject, input, model, numberAttribute, signal, } from '@angular/core';
2
+ import { injectDateAdapter } from '@spartan-ng/brain/date-time';
3
+ import { BrnCalendarCellButtonDirective } from './brn-calendar-cell-button.directive';
4
+ import { BrnCalendarHeaderDirective } from './brn-calendar-header.directive';
5
+ import { provideBrnCalendar } from './brn-calendar.token';
6
+ import * as i0 from "@angular/core";
7
+ export class BrnCalendarDirective {
8
+ /** Access the date adapter */
9
+ dateAdapter = injectDateAdapter();
10
+ /** Access the change detector */
11
+ _changeDetector = inject(ChangeDetectorRef);
12
+ /** Access the injector */
13
+ _injector = inject(Injector);
14
+ /** The minimum date that can be selected.*/
15
+ min = input();
16
+ /* * The maximum date that can be selected. */
17
+ max = input();
18
+ /** Determine if the date picker is disabled. */
19
+ disabled = input(false, {
20
+ transform: booleanAttribute,
21
+ });
22
+ /** The selected value. */
23
+ date = model();
24
+ /** Whether a specific date is disabled. */
25
+ dateDisabled = input(() => false);
26
+ /** The day the week starts on */
27
+ weekStartsOn = input(0, {
28
+ transform: (v) => numberAttribute(v),
29
+ });
30
+ /** The default focused date. */
31
+ defaultFocusedDate = input();
32
+ /** @internal Access the header */
33
+ header = contentChild(BrnCalendarHeaderDirective);
34
+ /** Store the cells */
35
+ cells = contentChildren(BrnCalendarCellButtonDirective, {
36
+ descendants: true,
37
+ });
38
+ /**
39
+ * @internal
40
+ * The internal state of the component.
41
+ */
42
+ state = computed(() => ({
43
+ focusedDate: signal(this.constrainDate(this.defaultFocusedDate() ?? this.date() ?? this.dateAdapter.now())),
44
+ }));
45
+ /**
46
+ * The focused date.
47
+ */
48
+ focusedDate = computed(() => this.state().focusedDate());
49
+ /**
50
+ * Get all the days to display, this is the days of the current month
51
+ * and the days of the previous and next month to fill the grid.
52
+ */
53
+ days = computed(() => {
54
+ const weekStartsOn = this.weekStartsOn();
55
+ const month = this.state().focusedDate();
56
+ const days = [];
57
+ // Get the first and last day of the month.
58
+ let firstDay = this.dateAdapter.startOfMonth(month);
59
+ let lastDay = this.dateAdapter.endOfMonth(month);
60
+ // we need to subtract until we get the to starting day before or on the start of the month.
61
+ while (this.dateAdapter.getDay(firstDay) !== weekStartsOn) {
62
+ firstDay = this.dateAdapter.subtract(firstDay, { days: 1 });
63
+ }
64
+ const weekEndsOn = (weekStartsOn + 6) % 7;
65
+ // we need to add until we get to the ending day after or on the end of the month.
66
+ while (this.dateAdapter.getDay(lastDay) !== weekEndsOn) {
67
+ lastDay = this.dateAdapter.add(lastDay, { days: 1 });
68
+ }
69
+ // collect all the days to display.
70
+ while (firstDay <= lastDay) {
71
+ days.push(firstDay);
72
+ firstDay = this.dateAdapter.add(firstDay, { days: 1 });
73
+ }
74
+ return days;
75
+ });
76
+ /** @internal Constrain a date to the min and max boundaries */
77
+ constrainDate(date) {
78
+ const min = this.min();
79
+ const max = this.max();
80
+ // If there is no min or max, return the date.
81
+ if (!min && !max) {
82
+ return date;
83
+ }
84
+ // If there is a min and the date is before the min, return the min.
85
+ if (min && this.dateAdapter.isBefore(date, this.dateAdapter.startOfDay(min))) {
86
+ return min;
87
+ }
88
+ // If there is a max and the date is after the max, return the max.
89
+ if (max && this.dateAdapter.isAfter(date, this.dateAdapter.endOfDay(max))) {
90
+ return max;
91
+ }
92
+ // Return the date.
93
+ return date;
94
+ }
95
+ /** @internal Determine if a date is disabled */
96
+ isDateDisabled(date) {
97
+ // if the calendar is disabled we can't select this date
98
+ if (this.disabled()) {
99
+ return true;
100
+ }
101
+ // if the date is outside the min and max range
102
+ const min = this.min();
103
+ const max = this.max();
104
+ if (min && this.dateAdapter.isBefore(date, this.dateAdapter.startOfDay(min))) {
105
+ return true;
106
+ }
107
+ if (max && this.dateAdapter.isAfter(date, this.dateAdapter.endOfDay(max))) {
108
+ return true;
109
+ }
110
+ // if this specific date is disabled
111
+ const disabledFn = this.dateDisabled();
112
+ if (disabledFn(date)) {
113
+ return true;
114
+ }
115
+ return false;
116
+ }
117
+ selectDate(date) {
118
+ this.date.set(date);
119
+ this.state().focusedDate.set(date);
120
+ }
121
+ /** @internal Set the focused date */
122
+ setFocusedDate(date) {
123
+ // check if the date is disabled.
124
+ if (this.isDateDisabled(date)) {
125
+ return;
126
+ }
127
+ this.state().focusedDate.set(date);
128
+ // wait until the cells have all updated
129
+ afterNextRender({
130
+ write: () => {
131
+ // focus the cell with the target date.
132
+ const cell = this.cells().find((c) => this.dateAdapter.isSameDay(c.date(), date));
133
+ if (cell) {
134
+ cell.focus();
135
+ }
136
+ },
137
+ }, {
138
+ injector: this._injector,
139
+ });
140
+ // we must update the view to ensure the focused cell is visible.
141
+ this._changeDetector.detectChanges();
142
+ }
143
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCalendarDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
144
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.2.5", type: BrnCalendarDirective, isStandalone: true, selector: "[brnCalendar]", inputs: { min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: false, transformFunction: null }, dateDisabled: { classPropertyName: "dateDisabled", publicName: "dateDisabled", isSignal: true, isRequired: false, transformFunction: null }, weekStartsOn: { classPropertyName: "weekStartsOn", publicName: "weekStartsOn", isSignal: true, isRequired: false, transformFunction: null }, defaultFocusedDate: { classPropertyName: "defaultFocusedDate", publicName: "defaultFocusedDate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { date: "dateChange" }, providers: [provideBrnCalendar(BrnCalendarDirective)], queries: [{ propertyName: "header", first: true, predicate: BrnCalendarHeaderDirective, descendants: true, isSignal: true }, { propertyName: "cells", predicate: BrnCalendarCellButtonDirective, descendants: true, isSignal: true }], ngImport: i0 });
145
+ }
146
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCalendarDirective, decorators: [{
147
+ type: Directive,
148
+ args: [{
149
+ selector: '[brnCalendar]',
150
+ standalone: true,
151
+ providers: [provideBrnCalendar(BrnCalendarDirective)],
152
+ }]
153
+ }] });
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWNhbGVuZGFyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vY2FsZW5kYXIvc3JjL2xpYi9icm4tY2FsZW5kYXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFFBQVEsRUFDUixlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixZQUFZLEVBQ1osZUFBZSxFQUNmLE1BQU0sRUFDTixLQUFLLEVBQ0wsS0FBSyxFQUNMLGVBQWUsRUFDZixNQUFNLEdBQ04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBTzFELE1BQU0sT0FBTyxvQkFBb0I7SUFDaEMsOEJBQThCO0lBQ1gsV0FBVyxHQUFHLGlCQUFpQixFQUFLLENBQUM7SUFFeEQsaUNBQWlDO0lBQ2hCLGVBQWUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUU3RCwwQkFBMEI7SUFDVCxTQUFTLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRTlDLDRDQUE0QztJQUM1QixHQUFHLEdBQUcsS0FBSyxFQUFLLENBQUM7SUFFakMsOENBQThDO0lBQzlCLEdBQUcsR0FBRyxLQUFLLEVBQUssQ0FBQztJQUVqQyxnREFBZ0Q7SUFDaEMsUUFBUSxHQUFHLEtBQUssQ0FBd0IsS0FBSyxFQUFFO1FBQzlELFNBQVMsRUFBRSxnQkFBZ0I7S0FDM0IsQ0FBQyxDQUFDO0lBRUgsMEJBQTBCO0lBQ1YsSUFBSSxHQUFHLEtBQUssRUFBSyxDQUFDO0lBRWxDLDJDQUEyQztJQUMzQixZQUFZLEdBQUcsS0FBSyxDQUF1QixHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUV4RSxpQ0FBaUM7SUFDakIsWUFBWSxHQUFHLEtBQUssQ0FBdUIsQ0FBQyxFQUFFO1FBQzdELFNBQVMsRUFBRSxDQUFDLENBQVUsRUFBRSxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBWTtLQUN4RCxDQUFDLENBQUM7SUFFSCxnQ0FBZ0M7SUFDaEIsa0JBQWtCLEdBQUcsS0FBSyxFQUFLLENBQUM7SUFFaEQsa0NBQWtDO0lBQ2xCLE1BQU0sR0FBRyxZQUFZLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUVsRSxzQkFBc0I7SUFDSCxLQUFLLEdBQUcsZUFBZSxDQUFvQyw4QkFBOEIsRUFBRTtRQUM3RyxXQUFXLEVBQUUsSUFBSTtLQUNqQixDQUFDLENBQUM7SUFFSDs7O09BR0c7SUFDYSxLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDdkMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7S0FDM0csQ0FBQyxDQUFDLENBQUM7SUFFSjs7T0FFRztJQUNhLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFFekU7OztPQUdHO0lBQ2EsSUFBSSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDcEMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3pDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN6QyxNQUFNLElBQUksR0FBUSxFQUFFLENBQUM7UUFFckIsMkNBQTJDO1FBQzNDLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BELElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWpELDRGQUE0RjtRQUM1RixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLFlBQVksRUFBRSxDQUFDO1lBQzNELFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBRUQsTUFBTSxVQUFVLEdBQUcsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTFDLGtGQUFrRjtRQUNsRixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQ3hELE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBRUQsbUNBQW1DO1FBQ25DLE9BQU8sUUFBUSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEIsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hELENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNiLENBQUMsQ0FBQyxDQUFDO0lBRUgsK0RBQStEO0lBQy9ELGFBQWEsQ0FBQyxJQUFPO1FBQ3BCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN2QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFFdkIsOENBQThDO1FBQzlDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNsQixPQUFPLElBQUksQ0FBQztRQUNiLENBQUM7UUFFRCxvRUFBb0U7UUFDcEUsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUM5RSxPQUFPLEdBQUcsQ0FBQztRQUNaLENBQUM7UUFFRCxtRUFBbUU7UUFDbkUsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMzRSxPQUFPLEdBQUcsQ0FBQztRQUNaLENBQUM7UUFFRCxtQkFBbUI7UUFDbkIsT0FBTyxJQUFJLENBQUM7SUFDYixDQUFDO0lBRUQsZ0RBQWdEO0lBQ2hELGNBQWMsQ0FBQyxJQUFPO1FBQ3JCLHdEQUF3RDtRQUN4RCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sSUFBSSxDQUFDO1FBQ2IsQ0FBQztRQUVELCtDQUErQztRQUMvQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDdkIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBRXZCLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDOUUsT0FBTyxJQUFJLENBQUM7UUFDYixDQUFDO1FBRUQsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMzRSxPQUFPLElBQUksQ0FBQztRQUNiLENBQUM7UUFFRCxvQ0FBb0M7UUFDcEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXZDLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDdEIsT0FBTyxJQUFJLENBQUM7UUFDYixDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZCxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQU87UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELHFDQUFxQztJQUNyQyxjQUFjLENBQUMsSUFBTztRQUNyQixpQ0FBaUM7UUFDakMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDL0IsT0FBTztRQUNSLENBQUM7UUFFRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVuQyx3Q0FBd0M7UUFDeEMsZUFBZSxDQUNkO1lBQ0MsS0FBSyxFQUFFLEdBQUcsRUFBRTtnQkFDWCx1Q0FBdUM7Z0JBQ3ZDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUVsRixJQUFJLElBQUksRUFBRSxDQUFDO29CQUNWLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDZCxDQUFDO1lBQ0YsQ0FBQztTQUNELEVBQ0Q7WUFDQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVM7U0FDeEIsQ0FDRCxDQUFDO1FBRUYsaUVBQWlFO1FBQ2pFLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdEMsQ0FBQzswSEFoTFcsb0JBQW9COzhHQUFwQixvQkFBb0IsNC9CQUZyQixDQUFDLGtCQUFrQixDQUFDLG9CQUFvQixDQUFDLENBQUMsOERBc0NmLDBCQUEwQiwyRUFHYyw4QkFBOEI7OzJGQXZDaEcsb0JBQW9CO2tCQUxoQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxlQUFlO29CQUN6QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsU0FBUyxFQUFFLENBQUMsa0JBQWtCLHNCQUFzQixDQUFDO2lCQUNyRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJvb2xlYW5JbnB1dCwgTnVtYmVySW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcblx0Q2hhbmdlRGV0ZWN0b3JSZWYsXG5cdERpcmVjdGl2ZSxcblx0SW5qZWN0b3IsXG5cdGFmdGVyTmV4dFJlbmRlcixcblx0Ym9vbGVhbkF0dHJpYnV0ZSxcblx0Y29tcHV0ZWQsXG5cdGNvbnRlbnRDaGlsZCxcblx0Y29udGVudENoaWxkcmVuLFxuXHRpbmplY3QsXG5cdGlucHV0LFxuXHRtb2RlbCxcblx0bnVtYmVyQXR0cmlidXRlLFxuXHRzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0RGF0ZUFkYXB0ZXIgfSBmcm9tICdAc3BhcnRhbi1uZy9icmFpbi9kYXRlLXRpbWUnO1xuaW1wb3J0IHsgQnJuQ2FsZW5kYXJDZWxsQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi9icm4tY2FsZW5kYXItY2VsbC1idXR0b24uZGlyZWN0aXZlJztcbmltcG9ydCB7IEJybkNhbGVuZGFySGVhZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9icm4tY2FsZW5kYXItaGVhZGVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBwcm92aWRlQnJuQ2FsZW5kYXIgfSBmcm9tICcuL2Jybi1jYWxlbmRhci50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ1ticm5DYWxlbmRhcl0nLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRwcm92aWRlcnM6IFtwcm92aWRlQnJuQ2FsZW5kYXIoQnJuQ2FsZW5kYXJEaXJlY3RpdmUpXSxcbn0pXG5leHBvcnQgY2xhc3MgQnJuQ2FsZW5kYXJEaXJlY3RpdmU8VD4ge1xuXHQvKiogQWNjZXNzIHRoZSBkYXRlIGFkYXB0ZXIgKi9cblx0cHJvdGVjdGVkIHJlYWRvbmx5IGRhdGVBZGFwdGVyID0gaW5qZWN0RGF0ZUFkYXB0ZXI8VD4oKTtcblxuXHQvKiogQWNjZXNzIHRoZSBjaGFuZ2UgZGV0ZWN0b3IgKi9cblx0cHJpdmF0ZSByZWFkb25seSBfY2hhbmdlRGV0ZWN0b3IgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG5cdC8qKiBBY2Nlc3MgdGhlIGluamVjdG9yICovXG5cdHByaXZhdGUgcmVhZG9ubHkgX2luamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuXHQvKiogVGhlIG1pbmltdW0gZGF0ZSB0aGF0IGNhbiBiZSBzZWxlY3RlZC4qL1xuXHRwdWJsaWMgcmVhZG9ubHkgbWluID0gaW5wdXQ8VD4oKTtcblxuXHQvKiAqIFRoZSBtYXhpbXVtIGRhdGUgdGhhdCBjYW4gYmUgc2VsZWN0ZWQuICovXG5cdHB1YmxpYyByZWFkb25seSBtYXggPSBpbnB1dDxUPigpO1xuXG5cdC8qKiBEZXRlcm1pbmUgaWYgdGhlIGRhdGUgcGlja2VyIGlzIGRpc2FibGVkLiAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgZGlzYWJsZWQgPSBpbnB1dDxib29sZWFuLCBCb29sZWFuSW5wdXQ+KGZhbHNlLCB7XG5cdFx0dHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuXHR9KTtcblxuXHQvKiogVGhlIHNlbGVjdGVkIHZhbHVlLiAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgZGF0ZSA9IG1vZGVsPFQ+KCk7XG5cblx0LyoqIFdoZXRoZXIgYSBzcGVjaWZpYyBkYXRlIGlzIGRpc2FibGVkLiAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgZGF0ZURpc2FibGVkID0gaW5wdXQ8KGRhdGU6IFQpID0+IGJvb2xlYW4+KCgpID0+IGZhbHNlKTtcblxuXHQvKiogVGhlIGRheSB0aGUgd2VlayBzdGFydHMgb24gKi9cblx0cHVibGljIHJlYWRvbmx5IHdlZWtTdGFydHNPbiA9IGlucHV0PFdlZWtkYXksIE51bWJlcklucHV0PigwLCB7XG5cdFx0dHJhbnNmb3JtOiAodjogdW5rbm93bikgPT4gbnVtYmVyQXR0cmlidXRlKHYpIGFzIFdlZWtkYXksXG5cdH0pO1xuXG5cdC8qKiBUaGUgZGVmYXVsdCBmb2N1c2VkIGRhdGUuICovXG5cdHB1YmxpYyByZWFkb25seSBkZWZhdWx0Rm9jdXNlZERhdGUgPSBpbnB1dDxUPigpO1xuXG5cdC8qKiBAaW50ZXJuYWwgQWNjZXNzIHRoZSBoZWFkZXIgKi9cblx0cHVibGljIHJlYWRvbmx5IGhlYWRlciA9IGNvbnRlbnRDaGlsZChCcm5DYWxlbmRhckhlYWRlckRpcmVjdGl2ZSk7XG5cblx0LyoqIFN0b3JlIHRoZSBjZWxscyAqL1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgY2VsbHMgPSBjb250ZW50Q2hpbGRyZW48QnJuQ2FsZW5kYXJDZWxsQnV0dG9uRGlyZWN0aXZlPFQ+PihCcm5DYWxlbmRhckNlbGxCdXR0b25EaXJlY3RpdmUsIHtcblx0XHRkZXNjZW5kYW50czogdHJ1ZSxcblx0fSk7XG5cblx0LyoqXG5cdCAqIEBpbnRlcm5hbFxuXHQgKiBUaGUgaW50ZXJuYWwgc3RhdGUgb2YgdGhlIGNvbXBvbmVudC5cblx0ICovXG5cdHB1YmxpYyByZWFkb25seSBzdGF0ZSA9IGNvbXB1dGVkKCgpID0+ICh7XG5cdFx0Zm9jdXNlZERhdGU6IHNpZ25hbCh0aGlzLmNvbnN0cmFpbkRhdGUodGhpcy5kZWZhdWx0Rm9jdXNlZERhdGUoKSA/PyB0aGlzLmRhdGUoKSA/PyB0aGlzLmRhdGVBZGFwdGVyLm5vdygpKSksXG5cdH0pKTtcblxuXHQvKipcblx0ICogVGhlIGZvY3VzZWQgZGF0ZS5cblx0ICovXG5cdHB1YmxpYyByZWFkb25seSBmb2N1c2VkRGF0ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc3RhdGUoKS5mb2N1c2VkRGF0ZSgpKTtcblxuXHQvKipcblx0ICogR2V0IGFsbCB0aGUgZGF5cyB0byBkaXNwbGF5LCB0aGlzIGlzIHRoZSBkYXlzIG9mIHRoZSBjdXJyZW50IG1vbnRoXG5cdCAqIGFuZCB0aGUgZGF5cyBvZiB0aGUgcHJldmlvdXMgYW5kIG5leHQgbW9udGggdG8gZmlsbCB0aGUgZ3JpZC5cblx0ICovXG5cdHB1YmxpYyByZWFkb25seSBkYXlzID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGNvbnN0IHdlZWtTdGFydHNPbiA9IHRoaXMud2Vla1N0YXJ0c09uKCk7XG5cdFx0Y29uc3QgbW9udGggPSB0aGlzLnN0YXRlKCkuZm9jdXNlZERhdGUoKTtcblx0XHRjb25zdCBkYXlzOiBUW10gPSBbXTtcblxuXHRcdC8vIEdldCB0aGUgZmlyc3QgYW5kIGxhc3QgZGF5IG9mIHRoZSBtb250aC5cblx0XHRsZXQgZmlyc3REYXkgPSB0aGlzLmRhdGVBZGFwdGVyLnN0YXJ0T2ZNb250aChtb250aCk7XG5cdFx0bGV0IGxhc3REYXkgPSB0aGlzLmRhdGVBZGFwdGVyLmVuZE9mTW9udGgobW9udGgpO1xuXG5cdFx0Ly8gd2UgbmVlZCB0byBzdWJ0cmFjdCB1bnRpbCB3ZSBnZXQgdGhlIHRvIHN0YXJ0aW5nIGRheSBiZWZvcmUgb3Igb24gdGhlIHN0YXJ0IG9mIHRoZSBtb250aC5cblx0XHR3aGlsZSAodGhpcy5kYXRlQWRhcHRlci5nZXREYXkoZmlyc3REYXkpICE9PSB3ZWVrU3RhcnRzT24pIHtcblx0XHRcdGZpcnN0RGF5ID0gdGhpcy5kYXRlQWRhcHRlci5zdWJ0cmFjdChmaXJzdERheSwgeyBkYXlzOiAxIH0pO1xuXHRcdH1cblxuXHRcdGNvbnN0IHdlZWtFbmRzT24gPSAod2Vla1N0YXJ0c09uICsgNikgJSA3O1xuXG5cdFx0Ly8gd2UgbmVlZCB0byBhZGQgdW50aWwgd2UgZ2V0IHRvIHRoZSBlbmRpbmcgZGF5IGFmdGVyIG9yIG9uIHRoZSBlbmQgb2YgdGhlIG1vbnRoLlxuXHRcdHdoaWxlICh0aGlzLmRhdGVBZGFwdGVyLmdldERheShsYXN0RGF5KSAhPT0gd2Vla0VuZHNPbikge1xuXHRcdFx0bGFzdERheSA9IHRoaXMuZGF0ZUFkYXB0ZXIuYWRkKGxhc3REYXksIHsgZGF5czogMSB9KTtcblx0XHR9XG5cblx0XHQvLyBjb2xsZWN0IGFsbCB0aGUgZGF5cyB0byBkaXNwbGF5LlxuXHRcdHdoaWxlIChmaXJzdERheSA8PSBsYXN0RGF5KSB7XG5cdFx0XHRkYXlzLnB1c2goZmlyc3REYXkpO1xuXHRcdFx0Zmlyc3REYXkgPSB0aGlzLmRhdGVBZGFwdGVyLmFkZChmaXJzdERheSwgeyBkYXlzOiAxIH0pO1xuXHRcdH1cblxuXHRcdHJldHVybiBkYXlzO1xuXHR9KTtcblxuXHQvKiogQGludGVybmFsIENvbnN0cmFpbiBhIGRhdGUgdG8gdGhlIG1pbiBhbmQgbWF4IGJvdW5kYXJpZXMgKi9cblx0Y29uc3RyYWluRGF0ZShkYXRlOiBUKTogVCB7XG5cdFx0Y29uc3QgbWluID0gdGhpcy5taW4oKTtcblx0XHRjb25zdCBtYXggPSB0aGlzLm1heCgpO1xuXG5cdFx0Ly8gSWYgdGhlcmUgaXMgbm8gbWluIG9yIG1heCwgcmV0dXJuIHRoZSBkYXRlLlxuXHRcdGlmICghbWluICYmICFtYXgpIHtcblx0XHRcdHJldHVybiBkYXRlO1xuXHRcdH1cblxuXHRcdC8vIElmIHRoZXJlIGlzIGEgbWluIGFuZCB0aGUgZGF0ZSBpcyBiZWZvcmUgdGhlIG1pbiwgcmV0dXJuIHRoZSBtaW4uXG5cdFx0aWYgKG1pbiAmJiB0aGlzLmRhdGVBZGFwdGVyLmlzQmVmb3JlKGRhdGUsIHRoaXMuZGF0ZUFkYXB0ZXIuc3RhcnRPZkRheShtaW4pKSkge1xuXHRcdFx0cmV0dXJuIG1pbjtcblx0XHR9XG5cblx0XHQvLyBJZiB0aGVyZSBpcyBhIG1heCBhbmQgdGhlIGRhdGUgaXMgYWZ0ZXIgdGhlIG1heCwgcmV0dXJuIHRoZSBtYXguXG5cdFx0aWYgKG1heCAmJiB0aGlzLmRhdGVBZGFwdGVyLmlzQWZ0ZXIoZGF0ZSwgdGhpcy5kYXRlQWRhcHRlci5lbmRPZkRheShtYXgpKSkge1xuXHRcdFx0cmV0dXJuIG1heDtcblx0XHR9XG5cblx0XHQvLyBSZXR1cm4gdGhlIGRhdGUuXG5cdFx0cmV0dXJuIGRhdGU7XG5cdH1cblxuXHQvKiogQGludGVybmFsIERldGVybWluZSBpZiBhIGRhdGUgaXMgZGlzYWJsZWQgKi9cblx0aXNEYXRlRGlzYWJsZWQoZGF0ZTogVCk6IGJvb2xlYW4ge1xuXHRcdC8vIGlmIHRoZSBjYWxlbmRhciBpcyBkaXNhYmxlZCB3ZSBjYW4ndCBzZWxlY3QgdGhpcyBkYXRlXG5cdFx0aWYgKHRoaXMuZGlzYWJsZWQoKSkge1xuXHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0fVxuXG5cdFx0Ly8gaWYgdGhlIGRhdGUgaXMgb3V0c2lkZSB0aGUgbWluIGFuZCBtYXggcmFuZ2Vcblx0XHRjb25zdCBtaW4gPSB0aGlzLm1pbigpO1xuXHRcdGNvbnN0IG1heCA9IHRoaXMubWF4KCk7XG5cblx0XHRpZiAobWluICYmIHRoaXMuZGF0ZUFkYXB0ZXIuaXNCZWZvcmUoZGF0ZSwgdGhpcy5kYXRlQWRhcHRlci5zdGFydE9mRGF5KG1pbikpKSB7XG5cdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHR9XG5cblx0XHRpZiAobWF4ICYmIHRoaXMuZGF0ZUFkYXB0ZXIuaXNBZnRlcihkYXRlLCB0aGlzLmRhdGVBZGFwdGVyLmVuZE9mRGF5KG1heCkpKSB7XG5cdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHR9XG5cblx0XHQvLyBpZiB0aGlzIHNwZWNpZmljIGRhdGUgaXMgZGlzYWJsZWRcblx0XHRjb25zdCBkaXNhYmxlZEZuID0gdGhpcy5kYXRlRGlzYWJsZWQoKTtcblxuXHRcdGlmIChkaXNhYmxlZEZuKGRhdGUpKSB7XG5cdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHR9XG5cblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblxuXHRzZWxlY3REYXRlKGRhdGU6IFQpOiB2b2lkIHtcblx0XHR0aGlzLmRhdGUuc2V0KGRhdGUpO1xuXHRcdHRoaXMuc3RhdGUoKS5mb2N1c2VkRGF0ZS5zZXQoZGF0ZSk7XG5cdH1cblxuXHQvKiogQGludGVybmFsIFNldCB0aGUgZm9jdXNlZCBkYXRlICovXG5cdHNldEZvY3VzZWREYXRlKGRhdGU6IFQpOiB2b2lkIHtcblx0XHQvLyBjaGVjayBpZiB0aGUgZGF0ZSBpcyBkaXNhYmxlZC5cblx0XHRpZiAodGhpcy5pc0RhdGVEaXNhYmxlZChkYXRlKSkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdHRoaXMuc3RhdGUoKS5mb2N1c2VkRGF0ZS5zZXQoZGF0ZSk7XG5cblx0XHQvLyB3YWl0IHVudGlsIHRoZSBjZWxscyBoYXZlIGFsbCB1cGRhdGVkXG5cdFx0YWZ0ZXJOZXh0UmVuZGVyKFxuXHRcdFx0e1xuXHRcdFx0XHR3cml0ZTogKCkgPT4ge1xuXHRcdFx0XHRcdC8vIGZvY3VzIHRoZSBjZWxsIHdpdGggdGhlIHRhcmdldCBkYXRlLlxuXHRcdFx0XHRcdGNvbnN0IGNlbGwgPSB0aGlzLmNlbGxzKCkuZmluZCgoYykgPT4gdGhpcy5kYXRlQWRhcHRlci5pc1NhbWVEYXkoYy5kYXRlKCksIGRhdGUpKTtcblxuXHRcdFx0XHRcdGlmIChjZWxsKSB7XG5cdFx0XHRcdFx0XHRjZWxsLmZvY3VzKCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9LFxuXHRcdFx0fSxcblx0XHRcdHtcblx0XHRcdFx0aW5qZWN0b3I6IHRoaXMuX2luamVjdG9yLFxuXHRcdFx0fSxcblx0XHQpO1xuXG5cdFx0Ly8gd2UgbXVzdCB1cGRhdGUgdGhlIHZpZXcgdG8gZW5zdXJlIHRoZSBmb2N1c2VkIGNlbGwgaXMgdmlzaWJsZS5cblx0XHR0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG5cdH1cbn1cblxuZXhwb3J0IHR5cGUgV2Vla2RheSA9IDAgfCAxIHwgMiB8IDMgfCA0IHwgNSB8IDY7XG4iXX0=
@@ -0,0 +1,12 @@
1
+ import { InjectionToken, inject } from '@angular/core';
2
+ export const BrnCalendarToken = new InjectionToken('BrnCalendarToken');
3
+ export function provideBrnCalendar(instance) {
4
+ return { provide: BrnCalendarToken, useExisting: instance };
5
+ }
6
+ /**
7
+ * Inject the calendar component.
8
+ */
9
+ export function injectBrnCalendar() {
10
+ return inject(BrnCalendarToken);
11
+ }
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWNhbGVuZGFyLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9jYWxlbmRhci9zcmMvbGliL2Jybi1jYWxlbmRhci50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLGNBQWMsRUFBUSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0UsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQWdDLGtCQUFrQixDQUFDLENBQUM7QUFFdEcsTUFBTSxVQUFVLGtCQUFrQixDQUFJLFFBQXVDO0lBQzVFLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxDQUFDO0FBQzdELENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxpQkFBaUI7SUFDaEMsT0FBTyxNQUFNLENBQUMsZ0JBQWdCLENBQTRCLENBQUM7QUFDNUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV4aXN0aW5nUHJvdmlkZXIsIEluamVjdGlvblRva2VuLCBUeXBlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgQnJuQ2FsZW5kYXJEaXJlY3RpdmUgfSBmcm9tICcuL2Jybi1jYWxlbmRhci5kaXJlY3RpdmUnO1xuXG5leHBvcnQgY29uc3QgQnJuQ2FsZW5kYXJUb2tlbiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxCcm5DYWxlbmRhckRpcmVjdGl2ZTx1bmtub3duPj4oJ0JybkNhbGVuZGFyVG9rZW4nKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVCcm5DYWxlbmRhcjxUPihpbnN0YW5jZTogVHlwZTxCcm5DYWxlbmRhckRpcmVjdGl2ZTxUPj4pOiBFeGlzdGluZ1Byb3ZpZGVyIHtcblx0cmV0dXJuIHsgcHJvdmlkZTogQnJuQ2FsZW5kYXJUb2tlbiwgdXNlRXhpc3Rpbmc6IGluc3RhbmNlIH07XG59XG5cbi8qKlxuICogSW5qZWN0IHRoZSBjYWxlbmRhciBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RCcm5DYWxlbmRhcjxUPigpOiBCcm5DYWxlbmRhckRpcmVjdGl2ZTxUPiB7XG5cdHJldHVybiBpbmplY3QoQnJuQ2FsZW5kYXJUb2tlbikgYXMgQnJuQ2FsZW5kYXJEaXJlY3RpdmU8VD47XG59XG4iXX0=
@@ -0,0 +1,33 @@
1
+ import { InjectionToken, inject } from '@angular/core';
2
+ export const BrnCalendarI18nToken = new InjectionToken('BrnCalendarI18nToken');
3
+ /**
4
+ * Provide the calendar i18n configuration.
5
+ */
6
+ export function provideBrnCalendarI18n(configuration) {
7
+ return { provide: BrnCalendarI18nToken, useValue: configuration };
8
+ }
9
+ const defaultCalendarI18n = {
10
+ formatWeekdayName: (index) => {
11
+ const weekdays = ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'];
12
+ return weekdays[index];
13
+ },
14
+ formatHeader: (month, year) => {
15
+ return new Date(year, month).toLocaleDateString(undefined, {
16
+ month: 'long',
17
+ year: 'numeric',
18
+ });
19
+ },
20
+ labelPrevious: () => 'Go to the previous month',
21
+ labelNext: () => 'Go to the next month',
22
+ labelWeekday: (index) => {
23
+ const weekdays = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
24
+ return weekdays[index];
25
+ },
26
+ };
27
+ /**
28
+ * Inject the calendar i18n configuration.
29
+ */
30
+ export function injectBrnCalendarI18n() {
31
+ return inject(BrnCalendarI18nToken, { optional: true }) ?? defaultCalendarI18n;
32
+ }
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItaTE4bi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vY2FsZW5kYXIvc3JjL2xpYi9pMThuL2NhbGVuZGFyLWkxOG4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBaUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBVXRFLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLElBQUksY0FBYyxDQUFrQixzQkFBc0IsQ0FBQyxDQUFDO0FBRWhHOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHNCQUFzQixDQUFDLGFBQThCO0lBQ3BFLE9BQU8sRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxDQUFDO0FBQ25FLENBQUM7QUFFRCxNQUFNLG1CQUFtQixHQUFvQjtJQUM1QyxpQkFBaUIsRUFBRSxDQUFDLEtBQWEsRUFBRSxFQUFFO1FBQ3BDLE1BQU0sUUFBUSxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDNUQsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUNELFlBQVksRUFBRSxDQUFDLEtBQWEsRUFBRSxJQUFZLEVBQUUsRUFBRTtRQUM3QyxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLEVBQUU7WUFDMUQsS0FBSyxFQUFFLE1BQU07WUFDYixJQUFJLEVBQUUsU0FBUztTQUNmLENBQUMsQ0FBQztJQUNKLENBQUM7SUFDRCxhQUFhLEVBQUUsR0FBRyxFQUFFLENBQUMsMEJBQTBCO0lBQy9DLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxzQkFBc0I7SUFDdkMsWUFBWSxFQUFFLENBQUMsS0FBYSxFQUFFLEVBQUU7UUFDL0IsTUFBTSxRQUFRLEdBQUcsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNoRyxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QixDQUFDO0NBQ0QsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQjtJQUNwQyxPQUFPLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLG1CQUFtQixDQUFDO0FBQ2hGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgVmFsdWVQcm92aWRlciwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnJuQ2FsZW5kYXJJMThuIHtcblx0Zm9ybWF0V2Vla2RheU5hbWU6IChpbmRleDogbnVtYmVyKSA9PiBzdHJpbmc7XG5cdGZvcm1hdEhlYWRlcjogKG1vbnRoOiBudW1iZXIsIHllYXI6IG51bWJlcikgPT4gc3RyaW5nO1xuXHRsYWJlbFByZXZpb3VzOiAoKSA9PiBzdHJpbmc7XG5cdGxhYmVsTmV4dDogKCkgPT4gc3RyaW5nO1xuXHRsYWJlbFdlZWtkYXk6IChpbmRleDogbnVtYmVyKSA9PiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBCcm5DYWxlbmRhckkxOG5Ub2tlbiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxCcm5DYWxlbmRhckkxOG4+KCdCcm5DYWxlbmRhckkxOG5Ub2tlbicpO1xuXG4vKipcbiAqIFByb3ZpZGUgdGhlIGNhbGVuZGFyIGkxOG4gY29uZmlndXJhdGlvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVCcm5DYWxlbmRhckkxOG4oY29uZmlndXJhdGlvbjogQnJuQ2FsZW5kYXJJMThuKTogVmFsdWVQcm92aWRlciB7XG5cdHJldHVybiB7IHByb3ZpZGU6IEJybkNhbGVuZGFySTE4blRva2VuLCB1c2VWYWx1ZTogY29uZmlndXJhdGlvbiB9O1xufVxuXG5jb25zdCBkZWZhdWx0Q2FsZW5kYXJJMThuOiBCcm5DYWxlbmRhckkxOG4gPSB7XG5cdGZvcm1hdFdlZWtkYXlOYW1lOiAoaW5kZXg6IG51bWJlcikgPT4ge1xuXHRcdGNvbnN0IHdlZWtkYXlzID0gWydTdScsICdNbycsICdUdScsICdXZScsICdUaCcsICdGcicsICdTYSddO1xuXHRcdHJldHVybiB3ZWVrZGF5c1tpbmRleF07XG5cdH0sXG5cdGZvcm1hdEhlYWRlcjogKG1vbnRoOiBudW1iZXIsIHllYXI6IG51bWJlcikgPT4ge1xuXHRcdHJldHVybiBuZXcgRGF0ZSh5ZWFyLCBtb250aCkudG9Mb2NhbGVEYXRlU3RyaW5nKHVuZGVmaW5lZCwge1xuXHRcdFx0bW9udGg6ICdsb25nJyxcblx0XHRcdHllYXI6ICdudW1lcmljJyxcblx0XHR9KTtcblx0fSxcblx0bGFiZWxQcmV2aW91czogKCkgPT4gJ0dvIHRvIHRoZSBwcmV2aW91cyBtb250aCcsXG5cdGxhYmVsTmV4dDogKCkgPT4gJ0dvIHRvIHRoZSBuZXh0IG1vbnRoJyxcblx0bGFiZWxXZWVrZGF5OiAoaW5kZXg6IG51bWJlcikgPT4ge1xuXHRcdGNvbnN0IHdlZWtkYXlzID0gWydTdW5kYXknLCAnTW9uZGF5JywgJ1R1ZXNkYXknLCAnV2VkbmVzZGF5JywgJ1RodXJzZGF5JywgJ0ZyaWRheScsICdTYXR1cmRheSddO1xuXHRcdHJldHVybiB3ZWVrZGF5c1tpbmRleF07XG5cdH0sXG59O1xuXG4vKipcbiAqIEluamVjdCB0aGUgY2FsZW5kYXIgaTE4biBjb25maWd1cmF0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0QnJuQ2FsZW5kYXJJMThuKCk6IEJybkNhbGVuZGFySTE4biB7XG5cdHJldHVybiBpbmplY3QoQnJuQ2FsZW5kYXJJMThuVG9rZW4sIHsgb3B0aW9uYWw6IHRydWUgfSkgPz8gZGVmYXVsdENhbGVuZGFySTE4bjtcbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhcnRhbi1uZy1icmFpbi1jYWxlbmRhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vY2FsZW5kYXIvc3JjL3NwYXJ0YW4tbmctYnJhaW4tY2FsZW5kYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -245,4 +245,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
245
245
  type: HostListener,
246
246
  args: ['keydown.space', ['$event']]
247
247
  }] } });
248
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWNoZWNrYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vY2hlY2tib3gvc3JjL2xpYi9icm4tY2hlY2tib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0QsT0FBTyxFQUVOLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFFWixXQUFXLEVBQ1gsU0FBUyxFQUNULGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLE1BQU0sRUFDTixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBR25ELE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHO0lBQzFDLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztJQUNuRCxLQUFLLEVBQUUsSUFBSTtDQUNYLENBQUM7QUFFRixNQUFNLFVBQVUsNkJBQTZCLENBQUMsS0FBYztJQUMzRCxJQUFJLEtBQUssS0FBSyxlQUFlO1FBQUUsT0FBTyxlQUFlLENBQUM7SUFDdEQsT0FBTyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNoQyxDQUFDO0FBRUQsTUFBTSxrQkFBa0IsR0FBRyxXQUFXLENBQUM7QUFvRHZDLE1BQU0sT0FBTyxvQkFBb0I7SUFDZixTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLFdBQVcs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d0JBQ2pDLFdBQVcsRUFBRSxVQUFVO3dCQUN2QixhQUFhLEVBQUUsWUFBWTtxQkFDM0I7b0JBQ0QsU0FBUyxFQUFFLENBQUMsMkJBQTJCLENBQUM7b0JBQ3hDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDckM7d0RBb0ZBLE1BQU07c0JBSEwsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7O3NCQUNoQyxZQUFZO3VCQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7c0JBQ3RDLFlBQVk7dUJBQUMsYUFBYSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQW9FN0IsZ0JBQWdCO3NCQUR6QixZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvY3VzTW9uaXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IE5nU3R5bGUsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG5cdHR5cGUgQWZ0ZXJDb250ZW50SW5pdCxcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0RWxlbWVudFJlZixcblx0SG9zdExpc3RlbmVyLFxuXHR0eXBlIE9uRGVzdHJveSxcblx0UExBVEZPUk1fSUQsXG5cdFJlbmRlcmVyMixcblx0Vmlld0VuY2Fwc3VsYXRpb24sXG5cdGJvb2xlYW5BdHRyaWJ1dGUsXG5cdGNvbXB1dGVkLFxuXHRlZmZlY3QsXG5cdGZvcndhcmRSZWYsXG5cdGluamVjdCxcblx0aW5wdXQsXG5cdG1vZGVsLFxuXHRvdXRwdXQsXG5cdHNpZ25hbCxcblx0dmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ2hhbmdlRm4sIFRvdWNoRm4gfSBmcm9tICdAc3BhcnRhbi1uZy91aS1mb3Jtcy1icmFpbic7XG5cbmV4cG9ydCBjb25zdCBCUk5fQ0hFQ0tCT1hfVkFMVUVfQUNDRVNTT1IgPSB7XG5cdHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuXHR1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBCcm5DaGVja2JveENvbXBvbmVudCksXG5cdG11bHRpOiB0cnVlLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGluZGV0ZXJtaW5hdGVCb29sZWFuQXR0cmlidXRlKHZhbHVlOiB1bmtub3duKTogYm9vbGVhbiB8ICdpbmRldGVybWluYXRlJyB7XG5cdGlmICh2YWx1ZSA9PT0gJ2luZGV0ZXJtaW5hdGUnKSByZXR1cm4gJ2luZGV0ZXJtaW5hdGUnO1xuXHRyZXR1cm4gYm9vbGVhbkF0dHJpYnV0ZSh2YWx1ZSk7XG59XG5cbmNvbnN0IENPTlRBSU5FUl9QT1NUX0ZJWCA9ICctY2hlY2tib3gnO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdicm4tY2hlY2tib3gnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRpbXBvcnRzOiBbTmdTdHlsZV0sXG5cdHRlbXBsYXRlOiBgXG5cdFx0PGlucHV0XG5cdFx0XHQjY2hlY2tCb3hcblx0XHRcdHRhYmluZGV4PVwiLTFcIlxuXHRcdFx0dHlwZT1cImNoZWNrYm94XCJcblx0XHRcdHJvbGU9XCJjaGVja2JveFwiXG5cdFx0XHRbbmdTdHlsZV09XCJ7XG5cdFx0XHRcdHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuXHRcdFx0XHR3aWR0aDogJzFweCcsXG5cdFx0XHRcdGhlaWdodDogJzFweCcsXG5cdFx0XHRcdHBhZGRpbmc6ICcwJyxcblx0XHRcdFx0bWFyZ2luOiAnLTFweCcsXG5cdFx0XHRcdG92ZXJmbG93OiAnaGlkZGVuJyxcblx0XHRcdFx0Y2xpcDogJ3JlY3QoMCwgMCwgMCwgMCknLFxuXHRcdFx0XHR3aGl0ZVNwYWNlOiAnbm93cmFwJyxcblx0XHRcdFx0Ym9yZGVyV2lkdGg6ICcwJyxcblx0XHRcdH1cIlxuXHRcdFx0W2lkXT1cImlkKCkgPz8gJydcIlxuXHRcdFx0W25hbWVdPVwibmFtZSgpID8/ICcnXCJcblx0XHRcdFt2YWx1ZV09XCJfdmFsdWUoKVwiXG5cdFx0XHRbY2hlY2tlZF09XCJpc0NoZWNrZWQoKVwiXG5cdFx0XHRbcmVxdWlyZWRdPVwicmVxdWlyZWQoKVwiXG5cdFx0XHRbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbCgpXCJcblx0XHRcdFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRieSgpXCJcblx0XHRcdFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiYXJpYURlc2NyaWJlZGJ5KClcIlxuXHRcdFx0W2F0dHIuYXJpYS1yZXF1aXJlZF09XCJyZXF1aXJlZCgpIHx8IG51bGxcIlxuXHRcdFx0W2F0dHIuYXJpYS1jaGVja2VkXT1cIl9hcmlhQ2hlY2tlZCgpXCJcblx0XHQvPlxuXHRcdDxuZy1jb250ZW50IC8+XG5cdGAsXG5cdGhvc3Q6IHtcblx0XHQnW2F0dHIudGFiaW5kZXhdJzogJ3N0YXRlKCkuZGlzYWJsZWQoKSA/IFwiLTFcIiA6IFwiMFwiJyxcblx0XHQnW2F0dHIuZGF0YS1zdGF0ZV0nOiAnX2RhdGFTdGF0ZSgpJyxcblx0XHQnW2F0dHIuZGF0YS1mb2N1cy12aXNpYmxlXSc6ICdmb2N1c1Zpc2libGUoKScsXG5cdFx0J1thdHRyLmRhdGEtZm9jdXNdJzogJ2ZvY3VzZWQoKScsXG5cdFx0J1thdHRyLmRhdGEtZGlzYWJsZWRdJzogJ3N0YXRlKCkuZGlzYWJsZWQoKScsXG5cdFx0J1thdHRyLmFyaWEtbGFiZWxsZWRieV0nOiAnbnVsbCcsXG5cdFx0J1thdHRyLmFyaWEtbGFiZWxdJzogJ251bGwnLFxuXHRcdCdbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XSc6ICdudWxsJyxcblx0XHQnW2F0dHIuaWRdJzogJ2hvc3RJZCgpJyxcblx0XHQnW2F0dHIubmFtZV0nOiAnaG9zdE5hbWUoKScsXG5cdH0sXG5cdHByb3ZpZGVyczogW0JSTl9DSEVDS0JPWF9WQUxVRV9BQ0NFU1NPUl0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBCcm5DaGVja2JveENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG5cdHByaXZhdGUgcmVhZG9ubHkgX3JlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG5cdHByaXZhdGUgcmVhZG9ubHkgX2VsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cdHByaXZhdGUgcmVhZG9ubHkgX2ZvY3VzTW9uaXRvciA9IGluamVjdChGb2N1c01vbml0b3IpO1xuXHRwcml2YXRlIHJlYWRvbmx5IF9pc0Jyb3dzZXIgPSBpc1BsYXRmb3JtQnJvd3NlcihpbmplY3QoUExBVEZPUk1fSUQpKTtcblxuXHRwcml2YXRlIHJlYWRvbmx5IF9mb2N1c1Zpc2libGUgPSBzaWduYWwoZmFsc2UpO1xuXHRwdWJsaWMgcmVhZG9ubHkgZm9jdXNWaXNpYmxlID0gdGhpcy5fZm9jdXNWaXNpYmxlLmFzUmVhZG9ubHkoKTtcblx0cHJpdmF0ZSByZWFkb25seSBfZm9jdXNlZCA9IHNpZ25hbChmYWxzZSk7XG5cdHB1YmxpYyByZWFkb25seSBmb2N1c2VkID0gdGhpcy5fZm9jdXNlZC5hc1JlYWRvbmx5KCk7XG5cblx0cHVibGljIHJlYWRvbmx5IGNoZWNrZWQgPSBtb2RlbDxCcm5DaGVja2JveFZhbHVlPihmYWxzZSk7XG5cdHB1YmxpYyByZWFkb25seSBpc0NoZWNrZWQgPSB0aGlzLmNoZWNrZWQuYXNSZWFkb25seSgpO1xuXG5cdHByb3RlY3RlZCByZWFkb25seSBfZGF0YVN0YXRlID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGNvbnN0IGNoZWNrZWQgPSB0aGlzLmNoZWNrZWQoKTtcblx0XHRpZiAoY2hlY2tlZCA9PT0gJ2luZGV0ZXJtaW5hdGUnKSByZXR1cm4gJ2luZGV0ZXJtaW5hdGUnO1xuXHRcdHJldHVybiBjaGVja2VkID8gJ2NoZWNrZWQnIDogJ3VuY2hlY2tlZCc7XG5cdH0pO1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgX2FyaWFDaGVja2VkID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGNvbnN0IGNoZWNrZWQgPSB0aGlzLmNoZWNrZWQoKTtcblx0XHRpZiAoY2hlY2tlZCA9PT0gJ2luZGV0ZXJtaW5hdGUnKSByZXR1cm4gJ21peGVkJztcblx0XHRyZXR1cm4gY2hlY2tlZCA/ICd0cnVlJyA6ICdmYWxzZSc7XG5cdH0pO1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgX3ZhbHVlID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGNvbnN0IGNoZWNrZWQgPSB0aGlzLmNoZWNrZWQoKTtcblx0XHRpZiAoY2hlY2tlZCA9PT0gJ2luZGV0ZXJtaW5hdGUnKSByZXR1cm4gJyc7XG5cdFx0cmV0dXJuIGNoZWNrZWQgPyAnb24nIDogJ29mZic7XG5cdH0pO1xuXG5cdC8qKiBVc2VkIHRvIHNldCB0aGUgaWQgb24gdGhlIHVuZGVybHlpbmcgaW5wdXQgZWxlbWVudC4gKi9cblx0cHVibGljIHJlYWRvbmx5IGlkID0gaW5wdXQ8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cdHByb3RlY3RlZCByZWFkb25seSBob3N0SWQgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5pZCgpID8gdGhpcy5pZCgpICsgQ09OVEFJTkVSX1BPU1RfRklYIDogbnVsbCkpO1xuXG5cdC8qKiBVc2VkIHRvIHNldCB0aGUgbmFtZSBhdHRyaWJ1dGUgb24gdGhlIHVuZGVybHlpbmcgaW5wdXQgZWxlbWVudC4gKi9cblx0cHVibGljIHJlYWRvbmx5IG5hbWUgPSBpbnB1dDxzdHJpbmcgfCBudWxsPihudWxsKTtcblx0cHJvdGVjdGVkIHJlYWRvbmx5IGhvc3ROYW1lID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMubmFtZSgpID8gdGhpcy5uYW1lKCkgKyBDT05UQUlORVJfUE9TVF9GSVggOiBudWxsKSk7XG5cblx0LyoqIFVzZWQgdG8gc2V0IHRoZSBhcmlhLWxhYmVsIGF0dHJpYnV0ZSBvbiB0aGUgdW5kZXJseWluZyBpbnB1dCBlbGVtZW50LiAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgYXJpYUxhYmVsID0gaW5wdXQ8c3RyaW5nIHwgbnVsbD4obnVsbCwgeyBhbGlhczogJ2FyaWEtbGFiZWwnIH0pO1xuXG5cdC8qKiBVc2VkIHRvIHNldCB0aGUgYXJpYS1sYWJlbGxlZGJ5IGF0dHJpYnV0ZSBvbiB0aGUgdW5kZXJseWluZyBpbnB1dCBlbGVtZW50LiAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgYXJpYUxhYmVsbGVkYnkgPSBpbnB1dDxzdHJpbmcgfCBudWxsPihudWxsLCB7IGFsaWFzOiAnYXJpYS1sYWJlbGxlZGJ5JyB9KTtcblxuXHRwdWJsaWMgcmVhZG9ubHkgYXJpYURlc2NyaWJlZGJ5ID0gaW5wdXQ8c3RyaW5nIHwgbnVsbD4obnVsbCwgeyBhbGlhczogJ2FyaWEtZGVzY3JpYmVkYnknIH0pO1xuXG5cdHB1YmxpYyByZWFkb25seSByZXF1aXJlZCA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuXHRwdWJsaWMgcmVhZG9ubHkgZGlzYWJsZWQgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cblx0cHJvdGVjdGVkIHJlYWRvbmx5IHN0YXRlID0gY29tcHV0ZWQoKCkgPT4gKHtcblx0XHRkaXNhYmxlZDogc2lnbmFsKHRoaXMuZGlzYWJsZWQoKSksXG5cdH0pKTtcblxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG5cdHByb3RlY3RlZCBfb25DaGFuZ2U6IENoYW5nZUZuPEJybkNoZWNrYm94VmFsdWU+ID0gKCkgPT4ge307XG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cblx0cHJpdmF0ZSBfb25Ub3VjaGVkOiBUb3VjaEZuID0gKCkgPT4ge307XG5cblx0cHVibGljIHJlYWRvbmx5IGNoZWNrYm94ID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4+KCdjaGVja0JveCcpO1xuXG5cdHB1YmxpYyByZWFkb25seSBjaGFuZ2VkID0gb3V0cHV0PEJybkNoZWNrYm94VmFsdWU+KCk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0ZWZmZWN0KCgpID0+IHtcblx0XHRcdGNvbnN0IHBhcmVudCA9IHRoaXMuX3JlbmRlcmVyLnBhcmVudE5vZGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcblx0XHRcdGlmICghcGFyZW50KSByZXR1cm47XG5cdFx0XHQvLyBjaGVjayBpZiBwYXJlbnQgaXMgYSBsYWJlbCBhbmQgYXNzdW1lIGl0IGlzIGZvciB0aGlzIGNoZWNrYm94XG5cdFx0XHRpZiAocGFyZW50Py50YWdOYW1lID09PSAnTEFCRUwnKSB7XG5cdFx0XHRcdHRoaXMuX3JlbmRlcmVyLnNldEF0dHJpYnV0ZShwYXJlbnQsICdkYXRhLWRpc2FibGVkJywgdGhpcy5zdGF0ZSgpLmRpc2FibGVkKCkgPyAndHJ1ZScgOiAnZmFsc2UnKTtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0aWYgKCF0aGlzLl9pc0Jyb3dzZXIpIHJldHVybjtcblxuXHRcdFx0Y29uc3QgbGFiZWwgPSBwYXJlbnQ/LnF1ZXJ5U2VsZWN0b3IoYGxhYmVsW2Zvcj1cIiR7dGhpcy5pZCgpfVwiXWApO1xuXHRcdFx0aWYgKCFsYWJlbCkgcmV0dXJuO1xuXHRcdFx0dGhpcy5fcmVuZGVyZXIuc2V0QXR0cmlidXRlKGxhYmVsLCAnZGF0YS1kaXNhYmxlZCcsIHRoaXMuc3RhdGUoKS5kaXNhYmxlZCgpID8gJ3RydWUnIDogJ2ZhbHNlJyk7XG5cdFx0fSk7XG5cdH1cblxuXHRASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG5cdEBIb3N0TGlzdGVuZXIoJ2tleXVwLnNwYWNlJywgWyckZXZlbnQnXSlcblx0QEhvc3RMaXN0ZW5lcigna2V5dXAuZW50ZXInLCBbJyRldmVudCddKVxuXHR0b2dnbGUoZXZlbnQ6IEV2ZW50KSB7XG5cdFx0aWYgKHRoaXMuc3RhdGUoKS5kaXNhYmxlZCgpKSByZXR1cm47XG5cdFx0ZXZlbnQucHJldmVudERlZmF1bHQoKTtcblx0XHRjb25zdCBwcmV2aW91c0NoZWNrZWQgPSB0aGlzLmNoZWNrZWQoKTtcblx0XHR0aGlzLmNoZWNrZWQuc2V0KHByZXZpb3VzQ2hlY2tlZCA9PT0gJ2luZGV0ZXJtaW5hdGUnID8gdHJ1ZSA6ICFwcmV2aW91c0NoZWNrZWQpO1xuXHRcdHRoaXMuX29uQ2hhbmdlKCFwcmV2aW91c0NoZWNrZWQpO1xuXHRcdHRoaXMuY2hhbmdlZC5lbWl0KCFwcmV2aW91c0NoZWNrZWQpO1xuXHR9XG5cblx0bmdBZnRlckNvbnRlbnRJbml0KCkge1xuXHRcdHRoaXMuX2ZvY3VzTW9uaXRvci5tb25pdG9yKHRoaXMuX2VsZW1lbnRSZWYsIHRydWUpLnN1YnNjcmliZSgoZm9jdXNPcmlnaW4pID0+IHtcblx0XHRcdGlmIChmb2N1c09yaWdpbikgdGhpcy5fZm9jdXNlZC5zZXQodHJ1ZSk7XG5cdFx0XHRpZiAoZm9jdXNPcmlnaW4gPT09ICdrZXlib2FyZCcgfHwgZm9jdXNPcmlnaW4gPT09ICdwcm9ncmFtJykge1xuXHRcdFx0XHR0aGlzLl9mb2N1c1Zpc2libGUuc2V0KHRydWUpO1xuXHRcdFx0fVxuXHRcdFx0aWYgKCFmb2N1c09yaWdpbikge1xuXHRcdFx0XHQvLyBXaGVuIGEgZm9jdXNlZCBlbGVtZW50IGJlY29tZXMgZGlzYWJsZWQsIHRoZSBicm93c2VyICppbW1lZGlhdGVseSogZmlyZXMgYSBibHVyIGV2ZW50LlxuXHRcdFx0XHQvLyBBbmd1bGFyIGRvZXMgbm90IGV4cGVjdCBldmVudHMgdG8gYmUgcmFpc2VkIGR1cmluZyBjaGFuZ2UgZGV0ZWN0aW9uLCBzbyBhbnkgc3RhdGVcblx0XHRcdFx0Ly8gY2hhbmdlIChzdWNoIGFzIGEgZm9ybSBjb250cm9sJ3MgbmctdG91Y2hlZCkgd2lsbCBjYXVzZSBhIGNoYW5nZWQtYWZ0ZXItY2hlY2tlZCBlcnJvci5cblx0XHRcdFx0Ly8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzE3NzkzLiBUbyB3b3JrIGFyb3VuZCB0aGlzLCB3ZSBkZWZlclxuXHRcdFx0XHQvLyB0ZWxsaW5nIHRoZSBmb3JtIGNvbnRyb2wgaXQgaGFzIGJlZW4gdG91Y2hlZCB1bnRpbCB0aGUgbmV4dCB0aWNrLlxuXHRcdFx0XHRQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcblx0XHRcdFx0XHR0aGlzLl9mb2N1c1Zpc2libGUuc2V0KGZhbHNlKTtcblx0XHRcdFx0XHR0aGlzLl9mb2N1c2VkLnNldChmYWxzZSk7XG5cdFx0XHRcdFx0dGhpcy5fb25Ub3VjaGVkKCk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdH0pO1xuXG5cdFx0dGhpcy5jaGVja2JveCgpLm5hdGl2ZUVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IHRoaXMuY2hlY2tlZCgpID09PSAnaW5kZXRlcm1pbmF0ZSc7XG5cdFx0aWYgKHRoaXMuY2hlY2tib3goKS5uYXRpdmVFbGVtZW50LmluZGV0ZXJtaW5hdGUpIHtcblx0XHRcdHRoaXMuY2hlY2tib3goKS5uYXRpdmVFbGVtZW50LnZhbHVlID0gJ2luZGV0ZXJtaW5hdGUnO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLmNoZWNrYm94KCkubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMuY2hlY2tlZCgpID8gJ29uJyA6ICdvZmYnO1xuXHRcdH1cblx0XHR0aGlzLmNoZWNrYm94KCkubmF0aXZlRWxlbWVudC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2hhbmdlJykpO1xuXHR9XG5cblx0bmdPbkRlc3Ryb3koKSB7XG5cdFx0dGhpcy5fZm9jdXNNb25pdG9yLnN0b3BNb25pdG9yaW5nKHRoaXMuX2VsZW1lbnRSZWYpO1xuXHR9XG5cblx0d3JpdGVWYWx1ZSh2YWx1ZTogQnJuQ2hlY2tib3hWYWx1ZSk6IHZvaWQge1xuXHRcdGlmICh2YWx1ZSA9PT0gJ2luZGV0ZXJtaW5hdGUnKSB7XG5cdFx0XHR0aGlzLmNoZWNrZWQuc2V0KCdpbmRldGVybWluYXRlJyk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuY2hlY2tlZC5zZXQoISF2YWx1ZSk7XG5cdFx0fVxuXHR9XG5cblx0cmVnaXN0ZXJPbkNoYW5nZShmbjogQ2hhbmdlRm48QnJuQ2hlY2tib3hWYWx1ZT4pOiB2b2lkIHtcblx0XHR0aGlzLl9vbkNoYW5nZSA9IGZuO1xuXHR9XG5cblx0cmVnaXN0ZXJPblRvdWNoZWQoZm46IFRvdWNoRm4pOiB2b2lkIHtcblx0XHR0aGlzLl9vblRvdWNoZWQgPSBmbjtcblx0fVxuXG5cdC8qKiBJbXBsZW1lbnRlZCBhcyBhIHBhcnQgb2YgQ29udHJvbFZhbHVlQWNjZXNzb3IuICovXG5cdHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuXHRcdHRoaXMuc3RhdGUoKS5kaXNhYmxlZC5zZXQoaXNEaXNhYmxlZCk7XG5cdH1cblxuXHQvKipcblx0ICogSWYgdGhlIHNwYWNlIGtleSBpcyBwcmVzc2VkLCBwcmV2ZW50IHRoZSBkZWZhdWx0IGFjdGlvbiB0byBzdG9wIHRoZSBwYWdlIGZyb20gc2Nyb2xsaW5nLlxuXHQgKi9cblx0QEhvc3RMaXN0ZW5lcigna2V5ZG93bi5zcGFjZScsIFsnJGV2ZW50J10pXG5cdHByb3RlY3RlZCBwcmV2ZW50U2Nyb2xsaW5nKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG5cdFx0ZXZlbnQucHJldmVudERlZmF1bHQoKTtcblx0fVxufVxuXG50eXBlIEJybkNoZWNrYm94VmFsdWUgPSBib29sZWFuIHwgJ2luZGV0ZXJtaW5hdGUnO1xuIl19
248
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWNoZWNrYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vY2hlY2tib3gvc3JjL2xpYi9icm4tY2hlY2tib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0QsT0FBTyxFQUVOLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFFWixXQUFXLEVBQ1gsU0FBUyxFQUNULGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLE1BQU0sRUFDTixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBR25ELE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHO0lBQzFDLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztJQUNuRCxLQUFLLEVBQUUsSUFBSTtDQUNYLENBQUM7QUFFRixNQUFNLFVBQVUsNkJBQTZCLENBQUMsS0FBYztJQUMzRCxJQUFJLEtBQUssS0FBSyxlQUFlO1FBQUUsT0FBTyxlQUFlLENBQUM7SUFDdEQsT0FBTyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNoQyxDQUFDO0FBRUQsTUFBTSxrQkFBa0IsR0FBRyxXQUFXLENBQUM7QUFvRHZDLE1BQU0sT0FBTyxvQkFBb0I7SUFDZixTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLFdBQVcs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d0JBQ2pDLFdBQVcsRUFBRSxVQUFVO3dCQUN2QixhQUFhLEVBQUUsWUFBWTtxQkFDM0I7b0JBQ0QsU0FBUyxFQUFFLENBQUMsMkJBQTJCLENBQUM7b0JBQ3hDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDckM7d0RBb0ZBLE1BQU07c0JBSEwsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7O3NCQUNoQyxZQUFZO3VCQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7c0JBQ3RDLFlBQVk7dUJBQUMsYUFBYSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQW9FN0IsZ0JBQWdCO3NCQUR6QixZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvY3VzTW9uaXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IE5nU3R5bGUsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG5cdHR5cGUgQWZ0ZXJDb250ZW50SW5pdCxcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0RWxlbWVudFJlZixcblx0SG9zdExpc3RlbmVyLFxuXHR0eXBlIE9uRGVzdHJveSxcblx0UExBVEZPUk1fSUQsXG5cdFJlbmRlcmVyMixcblx0Vmlld0VuY2Fwc3VsYXRpb24sXG5cdGJvb2xlYW5BdHRyaWJ1dGUsXG5cdGNvbXB1dGVkLFxuXHRlZmZlY3QsXG5cdGZvcndhcmRSZWYsXG5cdGluamVjdCxcblx0aW5wdXQsXG5cdG1vZGVsLFxuXHRvdXRwdXQsXG5cdHNpZ25hbCxcblx0dmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ2hhbmdlRm4sIFRvdWNoRm4gfSBmcm9tICdAc3BhcnRhbi1uZy9icmFpbi9mb3Jtcyc7XG5cbmV4cG9ydCBjb25zdCBCUk5fQ0hFQ0tCT1hfVkFMVUVfQUNDRVNTT1IgPSB7XG5cdHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuXHR1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBCcm5DaGVja2JveENvbXBvbmVudCksXG5cdG11bHRpOiB0cnVlLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGluZGV0ZXJtaW5hdGVCb29sZWFuQXR0cmlidXRlKHZhbHVlOiB1bmtub3duKTogYm9vbGVhbiB8ICdpbmRldGVybWluYXRlJyB7XG5cdGlmICh2YWx1ZSA9PT0gJ2luZGV0ZXJtaW5hdGUnKSByZXR1cm4gJ2luZGV0ZXJtaW5hdGUnO1xuXHRyZXR1cm4gYm9vbGVhbkF0dHJpYnV0ZSh2YWx1ZSk7XG59XG5cbmNvbnN0IENPTlRBSU5FUl9QT1NUX0ZJWCA9ICctY2hlY2tib3gnO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdicm4tY2hlY2tib3gnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRpbXBvcnRzOiBbTmdTdHlsZV0sXG5cdHRlbXBsYXRlOiBgXG5cdFx0PGlucHV0XG5cdFx0XHQjY2hlY2tCb3hcblx0XHRcdHRhYmluZGV4PVwiLTFcIlxuXHRcdFx0dHlwZT1cImNoZWNrYm94XCJcblx0XHRcdHJvbGU9XCJjaGVja2JveFwiXG5cdFx0XHRbbmdTdHlsZV09XCJ7XG5cdFx0XHRcdHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuXHRcdFx0XHR3aWR0aDogJzFweCcsXG5cdFx0XHRcdGhlaWdodDogJzFweCcsXG5cdFx0XHRcdHBhZGRpbmc6ICcwJyxcblx0XHRcdFx0bWFyZ2luOiAnLTFweCcsXG5cdFx0XHRcdG92ZXJmbG93OiAnaGlkZGVuJyxcblx0XHRcdFx0Y2xpcDogJ3JlY3QoMCwgMCwgMCwgMCknLFxuXHRcdFx0XHR3aGl0ZVNwYWNlOiAnbm93cmFwJyxcblx0XHRcdFx0Ym9yZGVyV2lkdGg6ICcwJyxcblx0XHRcdH1cIlxuXHRcdFx0W2lkXT1cImlkKCkgPz8gJydcIlxuXHRcdFx0W25hbWVdPVwibmFtZSgpID8/ICcnXCJcblx0XHRcdFt2YWx1ZV09XCJfdmFsdWUoKVwiXG5cdFx0XHRbY2hlY2tlZF09XCJpc0NoZWNrZWQoKVwiXG5cdFx0XHRbcmVxdWlyZWRdPVwicmVxdWlyZWQoKVwiXG5cdFx0XHRbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbCgpXCJcblx0XHRcdFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRieSgpXCJcblx0XHRcdFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiYXJpYURlc2NyaWJlZGJ5KClcIlxuXHRcdFx0W2F0dHIuYXJpYS1yZXF1aXJlZF09XCJyZXF1aXJlZCgpIHx8IG51bGxcIlxuXHRcdFx0W2F0dHIuYXJpYS1jaGVja2VkXT1cIl9hcmlhQ2hlY2tlZCgpXCJcblx0XHQvPlxuXHRcdDxuZy1jb250ZW50IC8+XG5cdGAsXG5cdGhvc3Q6IHtcblx0XHQnW2F0dHIudGFiaW5kZXhdJzogJ3N0YXRlKCkuZGlzYWJsZWQoKSA/IFwiLTFcIiA6IFwiMFwiJyxcblx0XHQnW2F0dHIuZGF0YS1zdGF0ZV0nOiAnX2RhdGFTdGF0ZSgpJyxcblx0XHQnW2F0dHIuZGF0YS1mb2N1cy12aXNpYmxlXSc6ICdmb2N1c1Zpc2libGUoKScsXG5cdFx0J1thdHRyLmRhdGEtZm9jdXNdJzogJ2ZvY3VzZWQoKScsXG5cdFx0J1thdHRyLmRhdGEtZGlzYWJsZWRdJzogJ3N0YXRlKCkuZGlzYWJsZWQoKScsXG5cdFx0J1thdHRyLmFyaWEtbGFiZWxsZWRieV0nOiAnbnVsbCcsXG5cdFx0J1thdHRyLmFyaWEtbGFiZWxdJzogJ251bGwnLFxuXHRcdCdbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XSc6ICdudWxsJyxcblx0XHQnW2F0dHIuaWRdJzogJ2hvc3RJZCgpJyxcblx0XHQnW2F0dHIubmFtZV0nOiAnaG9zdE5hbWUoKScsXG5cdH0sXG5cdHByb3ZpZGVyczogW0JSTl9DSEVDS0JPWF9WQUxVRV9BQ0NFU1NPUl0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBCcm5DaGVja2JveENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG5cdHByaXZhdGUgcmVhZG9ubHkgX3JlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG5cdHByaXZhdGUgcmVhZG9ubHkgX2VsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cdHByaXZhdGUgcmVhZG9ubHkgX2ZvY3VzTW9uaXRvciA9IGluamVjdChGb2N1c01vbml0b3IpO1xuXHRwcml2YXRlIHJlYWRvbmx5IF9pc0Jyb3dzZXIgPSBpc1BsYXRmb3JtQnJvd3NlcihpbmplY3QoUExBVEZPUk1fSUQpKTtcblxuXHRwcml2YXRlIHJlYWRvbmx5IF9mb2N1c1Zpc2libGUgPSBzaWduYWwoZmFsc2UpO1xuXHRwdWJsaWMgcmVhZG9ubHkgZm9jdXNWaXNpYmxlID0gdGhpcy5fZm9jdXNWaXNpYmxlLmFzUmVhZG9ubHkoKTtcblx0cHJpdmF0ZSByZWFkb25seSBfZm9jdXNlZCA9IHNpZ25hbChmYWxzZSk7XG5cdHB1YmxpYyByZWFkb25seSBmb2N1c2VkID0gdGhpcy5fZm9jdXNlZC5hc1JlYWRvbmx5KCk7XG5cblx0cHVibGljIHJlYWRvbmx5IGNoZWNrZWQgPSBtb2RlbDxCcm5DaGVja2JveFZhbHVlPihmYWxzZSk7XG5cdHB1YmxpYyByZWFkb25seSBpc0NoZWNrZWQgPSB0aGlzLmNoZWNrZWQuYXNSZWFkb25seSgpO1xuXG5cdHByb3RlY3RlZCByZWFkb25seSBfZGF0YVN0YXRlID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGNvbnN0IGNoZWNrZWQgPSB0aGlzLmNoZWNrZWQoKTtcblx0XHRpZiAoY2hlY2tlZCA9PT0gJ2luZGV0ZXJtaW5hdGUnKSByZXR1cm4gJ2luZGV0ZXJtaW5hdGUnO1xuXHRcdHJldHVybiBjaGVja2VkID8gJ2NoZWNrZWQnIDogJ3VuY2hlY2tlZCc7XG5cdH0pO1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgX2FyaWFDaGVja2VkID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGNvbnN0IGNoZWNrZWQgPSB0aGlzLmNoZWNrZWQoKTtcblx0XHRpZiAoY2hlY2tlZCA9PT0gJ2luZGV0ZXJtaW5hdGUnKSByZXR1cm4gJ21peGVkJztcblx0XHRyZXR1cm4gY2hlY2tlZCA/ICd0cnVlJyA6ICdmYWxzZSc7XG5cdH0pO1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgX3ZhbHVlID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGNvbnN0IGNoZWNrZWQgPSB0aGlzLmNoZWNrZWQoKTtcblx0XHRpZiAoY2hlY2tlZCA9PT0gJ2luZGV0ZXJtaW5hdGUnKSByZXR1cm4gJyc7XG5cdFx0cmV0dXJuIGNoZWNrZWQgPyAnb24nIDogJ29mZic7XG5cdH0pO1xuXG5cdC8qKiBVc2VkIHRvIHNldCB0aGUgaWQgb24gdGhlIHVuZGVybHlpbmcgaW5wdXQgZWxlbWVudC4gKi9cblx0cHVibGljIHJlYWRvbmx5IGlkID0gaW5wdXQ8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cdHByb3RlY3RlZCByZWFkb25seSBob3N0SWQgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5pZCgpID8gdGhpcy5pZCgpICsgQ09OVEFJTkVSX1BPU1RfRklYIDogbnVsbCkpO1xuXG5cdC8qKiBVc2VkIHRvIHNldCB0aGUgbmFtZSBhdHRyaWJ1dGUgb24gdGhlIHVuZGVybHlpbmcgaW5wdXQgZWxlbWVudC4gKi9cblx0cHVibGljIHJlYWRvbmx5IG5hbWUgPSBpbnB1dDxzdHJpbmcgfCBudWxsPihudWxsKTtcblx0cHJvdGVjdGVkIHJlYWRvbmx5IGhvc3ROYW1lID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMubmFtZSgpID8gdGhpcy5uYW1lKCkgKyBDT05UQUlORVJfUE9TVF9GSVggOiBudWxsKSk7XG5cblx0LyoqIFVzZWQgdG8gc2V0IHRoZSBhcmlhLWxhYmVsIGF0dHJpYnV0ZSBvbiB0aGUgdW5kZXJseWluZyBpbnB1dCBlbGVtZW50LiAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgYXJpYUxhYmVsID0gaW5wdXQ8c3RyaW5nIHwgbnVsbD4obnVsbCwgeyBhbGlhczogJ2FyaWEtbGFiZWwnIH0pO1xuXG5cdC8qKiBVc2VkIHRvIHNldCB0aGUgYXJpYS1sYWJlbGxlZGJ5IGF0dHJpYnV0ZSBvbiB0aGUgdW5kZXJseWluZyBpbnB1dCBlbGVtZW50LiAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgYXJpYUxhYmVsbGVkYnkgPSBpbnB1dDxzdHJpbmcgfCBudWxsPihudWxsLCB7IGFsaWFzOiAnYXJpYS1sYWJlbGxlZGJ5JyB9KTtcblxuXHRwdWJsaWMgcmVhZG9ubHkgYXJpYURlc2NyaWJlZGJ5ID0gaW5wdXQ8c3RyaW5nIHwgbnVsbD4obnVsbCwgeyBhbGlhczogJ2FyaWEtZGVzY3JpYmVkYnknIH0pO1xuXG5cdHB1YmxpYyByZWFkb25seSByZXF1aXJlZCA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuXHRwdWJsaWMgcmVhZG9ubHkgZGlzYWJsZWQgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cblx0cHJvdGVjdGVkIHJlYWRvbmx5IHN0YXRlID0gY29tcHV0ZWQoKCkgPT4gKHtcblx0XHRkaXNhYmxlZDogc2lnbmFsKHRoaXMuZGlzYWJsZWQoKSksXG5cdH0pKTtcblxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG5cdHByb3RlY3RlZCBfb25DaGFuZ2U6IENoYW5nZUZuPEJybkNoZWNrYm94VmFsdWU+ID0gKCkgPT4ge307XG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cblx0cHJpdmF0ZSBfb25Ub3VjaGVkOiBUb3VjaEZuID0gKCkgPT4ge307XG5cblx0cHVibGljIHJlYWRvbmx5IGNoZWNrYm94ID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4+KCdjaGVja0JveCcpO1xuXG5cdHB1YmxpYyByZWFkb25seSBjaGFuZ2VkID0gb3V0cHV0PEJybkNoZWNrYm94VmFsdWU+KCk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0ZWZmZWN0KCgpID0+IHtcblx0XHRcdGNvbnN0IHBhcmVudCA9IHRoaXMuX3JlbmRlcmVyLnBhcmVudE5vZGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcblx0XHRcdGlmICghcGFyZW50KSByZXR1cm47XG5cdFx0XHQvLyBjaGVjayBpZiBwYXJlbnQgaXMgYSBsYWJlbCBhbmQgYXNzdW1lIGl0IGlzIGZvciB0aGlzIGNoZWNrYm94XG5cdFx0XHRpZiAocGFyZW50Py50YWdOYW1lID09PSAnTEFCRUwnKSB7XG5cdFx0XHRcdHRoaXMuX3JlbmRlcmVyLnNldEF0dHJpYnV0ZShwYXJlbnQsICdkYXRhLWRpc2FibGVkJywgdGhpcy5zdGF0ZSgpLmRpc2FibGVkKCkgPyAndHJ1ZScgOiAnZmFsc2UnKTtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0aWYgKCF0aGlzLl9pc0Jyb3dzZXIpIHJldHVybjtcblxuXHRcdFx0Y29uc3QgbGFiZWwgPSBwYXJlbnQ/LnF1ZXJ5U2VsZWN0b3IoYGxhYmVsW2Zvcj1cIiR7dGhpcy5pZCgpfVwiXWApO1xuXHRcdFx0aWYgKCFsYWJlbCkgcmV0dXJuO1xuXHRcdFx0dGhpcy5fcmVuZGVyZXIuc2V0QXR0cmlidXRlKGxhYmVsLCAnZGF0YS1kaXNhYmxlZCcsIHRoaXMuc3RhdGUoKS5kaXNhYmxlZCgpID8gJ3RydWUnIDogJ2ZhbHNlJyk7XG5cdFx0fSk7XG5cdH1cblxuXHRASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG5cdEBIb3N0TGlzdGVuZXIoJ2tleXVwLnNwYWNlJywgWyckZXZlbnQnXSlcblx0QEhvc3RMaXN0ZW5lcigna2V5dXAuZW50ZXInLCBbJyRldmVudCddKVxuXHR0b2dnbGUoZXZlbnQ6IEV2ZW50KSB7XG5cdFx0aWYgKHRoaXMuc3RhdGUoKS5kaXNhYmxlZCgpKSByZXR1cm47XG5cdFx0ZXZlbnQucHJldmVudERlZmF1bHQoKTtcblx0XHRjb25zdCBwcmV2aW91c0NoZWNrZWQgPSB0aGlzLmNoZWNrZWQoKTtcblx0XHR0aGlzLmNoZWNrZWQuc2V0KHByZXZpb3VzQ2hlY2tlZCA9PT0gJ2luZGV0ZXJtaW5hdGUnID8gdHJ1ZSA6ICFwcmV2aW91c0NoZWNrZWQpO1xuXHRcdHRoaXMuX29uQ2hhbmdlKCFwcmV2aW91c0NoZWNrZWQpO1xuXHRcdHRoaXMuY2hhbmdlZC5lbWl0KCFwcmV2aW91c0NoZWNrZWQpO1xuXHR9XG5cblx0bmdBZnRlckNvbnRlbnRJbml0KCkge1xuXHRcdHRoaXMuX2ZvY3VzTW9uaXRvci5tb25pdG9yKHRoaXMuX2VsZW1lbnRSZWYsIHRydWUpLnN1YnNjcmliZSgoZm9jdXNPcmlnaW4pID0+IHtcblx0XHRcdGlmIChmb2N1c09yaWdpbikgdGhpcy5fZm9jdXNlZC5zZXQodHJ1ZSk7XG5cdFx0XHRpZiAoZm9jdXNPcmlnaW4gPT09ICdrZXlib2FyZCcgfHwgZm9jdXNPcmlnaW4gPT09ICdwcm9ncmFtJykge1xuXHRcdFx0XHR0aGlzLl9mb2N1c1Zpc2libGUuc2V0KHRydWUpO1xuXHRcdFx0fVxuXHRcdFx0aWYgKCFmb2N1c09yaWdpbikge1xuXHRcdFx0XHQvLyBXaGVuIGEgZm9jdXNlZCBlbGVtZW50IGJlY29tZXMgZGlzYWJsZWQsIHRoZSBicm93c2VyICppbW1lZGlhdGVseSogZmlyZXMgYSBibHVyIGV2ZW50LlxuXHRcdFx0XHQvLyBBbmd1bGFyIGRvZXMgbm90IGV4cGVjdCBldmVudHMgdG8gYmUgcmFpc2VkIGR1cmluZyBjaGFuZ2UgZGV0ZWN0aW9uLCBzbyBhbnkgc3RhdGVcblx0XHRcdFx0Ly8gY2hhbmdlIChzdWNoIGFzIGEgZm9ybSBjb250cm9sJ3MgbmctdG91Y2hlZCkgd2lsbCBjYXVzZSBhIGNoYW5nZWQtYWZ0ZXItY2hlY2tlZCBlcnJvci5cblx0XHRcdFx0Ly8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzE3NzkzLiBUbyB3b3JrIGFyb3VuZCB0aGlzLCB3ZSBkZWZlclxuXHRcdFx0XHQvLyB0ZWxsaW5nIHRoZSBmb3JtIGNvbnRyb2wgaXQgaGFzIGJlZW4gdG91Y2hlZCB1bnRpbCB0aGUgbmV4dCB0aWNrLlxuXHRcdFx0XHRQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcblx0XHRcdFx0XHR0aGlzLl9mb2N1c1Zpc2libGUuc2V0KGZhbHNlKTtcblx0XHRcdFx0XHR0aGlzLl9mb2N1c2VkLnNldChmYWxzZSk7XG5cdFx0XHRcdFx0dGhpcy5fb25Ub3VjaGVkKCk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdH0pO1xuXG5cdFx0dGhpcy5jaGVja2JveCgpLm5hdGl2ZUVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IHRoaXMuY2hlY2tlZCgpID09PSAnaW5kZXRlcm1pbmF0ZSc7XG5cdFx0aWYgKHRoaXMuY2hlY2tib3goKS5uYXRpdmVFbGVtZW50LmluZGV0ZXJtaW5hdGUpIHtcblx0XHRcdHRoaXMuY2hlY2tib3goKS5uYXRpdmVFbGVtZW50LnZhbHVlID0gJ2luZGV0ZXJtaW5hdGUnO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLmNoZWNrYm94KCkubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMuY2hlY2tlZCgpID8gJ29uJyA6ICdvZmYnO1xuXHRcdH1cblx0XHR0aGlzLmNoZWNrYm94KCkubmF0aXZlRWxlbWVudC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2hhbmdlJykpO1xuXHR9XG5cblx0bmdPbkRlc3Ryb3koKSB7XG5cdFx0dGhpcy5fZm9jdXNNb25pdG9yLnN0b3BNb25pdG9yaW5nKHRoaXMuX2VsZW1lbnRSZWYpO1xuXHR9XG5cblx0d3JpdGVWYWx1ZSh2YWx1ZTogQnJuQ2hlY2tib3hWYWx1ZSk6IHZvaWQge1xuXHRcdGlmICh2YWx1ZSA9PT0gJ2luZGV0ZXJtaW5hdGUnKSB7XG5cdFx0XHR0aGlzLmNoZWNrZWQuc2V0KCdpbmRldGVybWluYXRlJyk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuY2hlY2tlZC5zZXQoISF2YWx1ZSk7XG5cdFx0fVxuXHR9XG5cblx0cmVnaXN0ZXJPbkNoYW5nZShmbjogQ2hhbmdlRm48QnJuQ2hlY2tib3hWYWx1ZT4pOiB2b2lkIHtcblx0XHR0aGlzLl9vbkNoYW5nZSA9IGZuO1xuXHR9XG5cblx0cmVnaXN0ZXJPblRvdWNoZWQoZm46IFRvdWNoRm4pOiB2b2lkIHtcblx0XHR0aGlzLl9vblRvdWNoZWQgPSBmbjtcblx0fVxuXG5cdC8qKiBJbXBsZW1lbnRlZCBhcyBhIHBhcnQgb2YgQ29udHJvbFZhbHVlQWNjZXNzb3IuICovXG5cdHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuXHRcdHRoaXMuc3RhdGUoKS5kaXNhYmxlZC5zZXQoaXNEaXNhYmxlZCk7XG5cdH1cblxuXHQvKipcblx0ICogSWYgdGhlIHNwYWNlIGtleSBpcyBwcmVzc2VkLCBwcmV2ZW50IHRoZSBkZWZhdWx0IGFjdGlvbiB0byBzdG9wIHRoZSBwYWdlIGZyb20gc2Nyb2xsaW5nLlxuXHQgKi9cblx0QEhvc3RMaXN0ZW5lcigna2V5ZG93bi5zcGFjZScsIFsnJGV2ZW50J10pXG5cdHByb3RlY3RlZCBwcmV2ZW50U2Nyb2xsaW5nKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG5cdFx0ZXZlbnQucHJldmVudERlZmF1bHQoKTtcblx0fVxufVxuXG50eXBlIEJybkNoZWNrYm94VmFsdWUgPSBib29sZWFuIHwgJ2luZGV0ZXJtaW5hdGUnO1xuIl19
@@ -0,0 +1,30 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { BrnCollapsibleContentComponent } from './lib/brn-collapsible-content.component';
3
+ import { BrnCollapsibleTriggerDirective } from './lib/brn-collapsible-trigger.directive';
4
+ import { BrnCollapsibleComponent } from './lib/brn-collapsible.component';
5
+ import * as i0 from "@angular/core";
6
+ export * from './lib/brn-collapsible-content.component';
7
+ export * from './lib/brn-collapsible-trigger.directive';
8
+ export * from './lib/brn-collapsible.component';
9
+ export const BrnCollapsibleImports = [
10
+ BrnCollapsibleComponent,
11
+ BrnCollapsibleTriggerDirective,
12
+ BrnCollapsibleContentComponent,
13
+ ];
14
+ export class BrnCollapsibleModule {
15
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCollapsibleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
16
+ /** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.5", ngImport: i0, type: BrnCollapsibleModule, imports: [BrnCollapsibleComponent,
17
+ BrnCollapsibleTriggerDirective,
18
+ BrnCollapsibleContentComponent], exports: [BrnCollapsibleComponent,
19
+ BrnCollapsibleTriggerDirective,
20
+ BrnCollapsibleContentComponent] });
21
+ /** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCollapsibleModule });
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCollapsibleModule, decorators: [{
24
+ type: NgModule,
25
+ args: [{
26
+ imports: [...BrnCollapsibleImports],
27
+ exports: [...BrnCollapsibleImports],
28
+ }]
29
+ }] });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2NvbGxhcHNpYmxlL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQUUxRSxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUVoRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRztJQUNwQyx1QkFBdUI7SUFDdkIsOEJBQThCO0lBQzlCLDhCQUE4QjtDQUNyQixDQUFDO0FBTVgsTUFBTSxPQUFPLG9CQUFvQjswSEFBcEIsb0JBQW9COzJIQUFwQixvQkFBb0IsWUFUaEMsdUJBQXVCO1lBQ3ZCLDhCQUE4QjtZQUM5Qiw4QkFBOEIsYUFGOUIsdUJBQXVCO1lBQ3ZCLDhCQUE4QjtZQUM5Qiw4QkFBOEI7MkhBT2xCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFKaEMsUUFBUTttQkFBQztvQkFDVCxPQUFPLEVBQUUsQ0FBQyxHQUFHLHFCQUFxQixDQUFDO29CQUNuQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLHFCQUFxQixDQUFDO2lCQUNuQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJybkNvbGxhcHNpYmxlQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vbGliL2Jybi1jb2xsYXBzaWJsZS1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCcm5Db2xsYXBzaWJsZVRyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9icm4tY29sbGFwc2libGUtdHJpZ2dlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQnJuQ29sbGFwc2libGVDb21wb25lbnQgfSBmcm9tICcuL2xpYi9icm4tY29sbGFwc2libGUuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJuLWNvbGxhcHNpYmxlLWNvbnRlbnQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jybi1jb2xsYXBzaWJsZS10cmlnZ2VyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tY29sbGFwc2libGUuY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IEJybkNvbGxhcHNpYmxlSW1wb3J0cyA9IFtcblx0QnJuQ29sbGFwc2libGVDb21wb25lbnQsXG5cdEJybkNvbGxhcHNpYmxlVHJpZ2dlckRpcmVjdGl2ZSxcblx0QnJuQ29sbGFwc2libGVDb250ZW50Q29tcG9uZW50LFxuXSBhcyBjb25zdDtcblxuQE5nTW9kdWxlKHtcblx0aW1wb3J0czogWy4uLkJybkNvbGxhcHNpYmxlSW1wb3J0c10sXG5cdGV4cG9ydHM6IFsuLi5Ccm5Db2xsYXBzaWJsZUltcG9ydHNdLFxufSlcbmV4cG9ydCBjbGFzcyBCcm5Db2xsYXBzaWJsZU1vZHVsZSB7fVxuIl19