@coreui/angular-pro 4.4.10 → 4.5.0

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 (533) hide show
  1. package/README.md +2 -2
  2. package/{esm2020 → esm2022}/lib/accordion/accordion/accordion.component.mjs +4 -4
  3. package/{esm2020 → esm2022}/lib/accordion/accordion-button/accordion-button.directive.mjs +4 -4
  4. package/{esm2020 → esm2022}/lib/accordion/accordion-item/accordion-item.component.mjs +4 -4
  5. package/esm2022/lib/accordion/accordion.module.mjs +36 -0
  6. package/{esm2020 → esm2022}/lib/accordion/accordion.service.mjs +4 -4
  7. package/{esm2020 → esm2022}/lib/alert/alert-heading.directive.mjs +4 -4
  8. package/{esm2020 → esm2022}/lib/alert/alert-link.directive.mjs +4 -4
  9. package/esm2022/lib/alert/alert.component.mjs +181 -0
  10. package/esm2022/lib/alert/alert.module.mjs +30 -0
  11. package/{esm2020 → esm2022}/lib/avatar/avatar.component.mjs +4 -4
  12. package/esm2022/lib/avatar/avatar.module.mjs +20 -0
  13. package/{esm2020 → esm2022}/lib/backdrop/backdrop.service.mjs +4 -4
  14. package/{esm2020 → esm2022}/lib/badge/badge.component.mjs +4 -4
  15. package/esm2022/lib/badge/badge.module.mjs +20 -0
  16. package/{esm2020 → esm2022}/lib/breadcrumb/breadcrumb/breadcrumb.component.mjs +4 -4
  17. package/{esm2020 → esm2022}/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.mjs +4 -4
  18. package/{esm2020 → esm2022}/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.mjs +4 -4
  19. package/esm2022/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.mjs +52 -0
  20. package/esm2022/lib/breadcrumb/breadcrumb.module.mjs +34 -0
  21. package/{esm2020 → esm2022}/lib/button/button-close.directive.mjs +4 -4
  22. package/{esm2020 → esm2022}/lib/button/button.directive.mjs +4 -4
  23. package/{esm2020 → esm2022}/lib/button/button.module.mjs +7 -7
  24. package/{esm2020 → esm2022}/lib/button-group/button-group/button-group.component.mjs +4 -4
  25. package/esm2022/lib/button-group/button-group.module.mjs +17 -0
  26. package/{esm2020 → esm2022}/lib/button-group/button-toolbar/button-toolbar.component.mjs +4 -4
  27. package/{esm2020 → esm2022}/lib/calendar/calendar/calendar-class-view.pipe.mjs +4 -4
  28. package/{esm2020 → esm2022}/lib/calendar/calendar/calendar.component.mjs +4 -4
  29. package/{esm2020 → esm2022}/lib/calendar/calendar-month/calendar-class-day.pipe.mjs +4 -4
  30. package/{esm2020 → esm2022}/lib/calendar/calendar-month/calendar-class-month.pipe.mjs +4 -4
  31. package/{esm2020 → esm2022}/lib/calendar/calendar-month/calendar-class-year.pipe.mjs +4 -4
  32. package/{esm2020 → esm2022}/lib/calendar/calendar-month/calendar-day-title.pipe.mjs +4 -4
  33. package/{esm2020 → esm2022}/lib/calendar/calendar-month/calendar-day.directive.mjs +4 -4
  34. package/{esm2020 → esm2022}/lib/calendar/calendar-month/calendar-day.pipe.mjs +4 -4
  35. package/{esm2020 → esm2022}/lib/calendar/calendar-month/calendar-month.component.mjs +4 -4
  36. package/{esm2020 → esm2022}/lib/calendar/calendar-month/calendar-weekday.pipe.mjs +4 -4
  37. package/{esm2020 → esm2022}/lib/calendar/calendar-navigation/calendar-navigation.component.mjs +4 -4
  38. package/esm2022/lib/calendar/calendar.module.mjs +54 -0
  39. package/{esm2020 → esm2022}/lib/calendar/calendar.service.mjs +4 -4
  40. package/{esm2020 → esm2022}/lib/callout/callout.component.mjs +4 -4
  41. package/esm2022/lib/callout/callout.module.mjs +16 -0
  42. package/{esm2020 → esm2022}/lib/card/card-body.component.mjs +4 -4
  43. package/{esm2020 → esm2022}/lib/card/card-footer.component.mjs +4 -4
  44. package/{esm2020 → esm2022}/lib/card/card-group.component.mjs +4 -4
  45. package/{esm2020 → esm2022}/lib/card/card-header-actions.component.mjs +4 -4
  46. package/{esm2020 → esm2022}/lib/card/card-header.component.mjs +4 -4
  47. package/{esm2020 → esm2022}/lib/card/card-img-overlay/card-img-overlay.component.mjs +4 -4
  48. package/{esm2020 → esm2022}/lib/card/card-img.directive.mjs +4 -4
  49. package/{esm2020 → esm2022}/lib/card/card-link.directive.mjs +4 -4
  50. package/{esm2020 → esm2022}/lib/card/card-subtitle.directive.mjs +4 -4
  51. package/{esm2020 → esm2022}/lib/card/card-text.directive.mjs +4 -4
  52. package/{esm2020 → esm2022}/lib/card/card-title.directive.mjs +4 -4
  53. package/{esm2020 → esm2022}/lib/card/card.component.mjs +4 -4
  54. package/esm2022/lib/card/card.module.mjs +75 -0
  55. package/{esm2020 → esm2022}/lib/carousel/carousel/carousel.component.mjs +4 -4
  56. package/{esm2020 → esm2022}/lib/carousel/carousel-caption/carousel-caption.component.mjs +4 -4
  57. package/{esm2020 → esm2022}/lib/carousel/carousel-control/carousel-control.component.mjs +4 -4
  58. package/{esm2020 → esm2022}/lib/carousel/carousel-indicators/carousel-indicators.component.mjs +4 -4
  59. package/{esm2020 → esm2022}/lib/carousel/carousel-inner/carousel-inner.component.mjs +4 -4
  60. package/{esm2020 → esm2022}/lib/carousel/carousel-item/carousel-item.component.mjs +4 -4
  61. package/{esm2020 → esm2022}/lib/carousel/carousel-state.mjs +4 -4
  62. package/{esm2020 → esm2022}/lib/carousel/carousel.config.mjs +4 -4
  63. package/esm2022/lib/carousel/carousel.module.mjs +52 -0
  64. package/{esm2020 → esm2022}/lib/carousel/carousel.service.mjs +4 -4
  65. package/{esm2020 → esm2022}/lib/collapse/collapse.directive.mjs +4 -4
  66. package/{esm2020 → esm2022}/lib/collapse/collapse.module.mjs +5 -5
  67. package/esm2022/lib/date-picker/date-picker.component.mjs +93 -0
  68. package/{esm2020 → esm2022}/lib/date-picker/date-picker.module.mjs +5 -5
  69. package/esm2022/lib/date-range-picker/date-range-picker/date-range-picker.component.mjs +675 -0
  70. package/{esm2020 → esm2022}/lib/date-range-picker/date-range-picker.module.mjs +5 -5
  71. package/{esm2020 → esm2022}/lib/dropdown/dropdown/dropdown.component.mjs +7 -7
  72. package/{esm2020 → esm2022}/lib/dropdown/dropdown-close/dropdown-close.directive.mjs +4 -4
  73. package/{esm2020 → esm2022}/lib/dropdown/dropdown-divider/dropdown-divider.directive.mjs +4 -4
  74. package/{esm2020 → esm2022}/lib/dropdown/dropdown-header/dropdown-header.directive.mjs +4 -4
  75. package/{esm2020 → esm2022}/lib/dropdown/dropdown-item/dropdown-item-plain.directive.mjs +4 -4
  76. package/{esm2020 → esm2022}/lib/dropdown/dropdown-item/dropdown-item.directive.mjs +4 -4
  77. package/{esm2020 → esm2022}/lib/dropdown/dropdown-menu/dropdown-menu.directive.mjs +4 -4
  78. package/esm2022/lib/dropdown/dropdown.module.mjs +56 -0
  79. package/{esm2020 → esm2022}/lib/dropdown/dropdown.service.mjs +4 -4
  80. package/esm2022/lib/element-cover/element-cover.component.mjs +68 -0
  81. package/esm2022/lib/element-cover/element-cover.module.mjs +16 -0
  82. package/{esm2020 → esm2022}/lib/footer/footer.component.mjs +4 -4
  83. package/esm2022/lib/footer/footer.module.mjs +16 -0
  84. package/{esm2020 → esm2022}/lib/form/form/form.directive.mjs +4 -4
  85. package/{esm2020 → esm2022}/lib/form/form-check/form-check-input.directive.mjs +4 -4
  86. package/{esm2020 → esm2022}/lib/form/form-check/form-check-label.directive.mjs +4 -4
  87. package/{esm2020 → esm2022}/lib/form/form-check/form-check.component.mjs +4 -4
  88. package/{esm2020 → esm2022}/lib/form/form-control/form-control.directive.mjs +4 -4
  89. package/{esm2020 → esm2022}/lib/form/form-feedback/form-feedback.component.mjs +4 -4
  90. package/{esm2020 → esm2022}/lib/form/form-floating/form-floating.directive.mjs +4 -4
  91. package/{esm2020 → esm2022}/lib/form/form-label/form-label.directive.mjs +4 -4
  92. package/{esm2020 → esm2022}/lib/form/form-select/form-select.directive.mjs +4 -4
  93. package/{esm2020 → esm2022}/lib/form/form-text/form-text.directive.mjs +4 -4
  94. package/esm2022/lib/form/form.module.mjs +75 -0
  95. package/{esm2020 → esm2022}/lib/form/input-group/input-group.component.mjs +4 -4
  96. package/{esm2020 → esm2022}/lib/form/input-group-text/input-group-text.directive.mjs +4 -4
  97. package/{esm2020 → esm2022}/lib/grid/col.component.mjs +4 -4
  98. package/{esm2020 → esm2022}/lib/grid/col.directive.mjs +4 -4
  99. package/{esm2020 → esm2022}/lib/grid/container.component.mjs +4 -4
  100. package/esm2022/lib/grid/grid.module.mjs +45 -0
  101. package/{esm2020 → esm2022}/lib/grid/gutter.directive.mjs +4 -4
  102. package/{esm2020 → esm2022}/lib/grid/row.component.mjs +4 -4
  103. package/{esm2020 → esm2022}/lib/grid/row.directive.mjs +4 -4
  104. package/{esm2020 → esm2022}/lib/header/header/header.component.mjs +4 -4
  105. package/{esm2020 → esm2022}/lib/header/header-brand/header-brand.component.mjs +4 -4
  106. package/{esm2020 → esm2022}/lib/header/header-divider/header-divider.component.mjs +4 -4
  107. package/{esm2020 → esm2022}/lib/header/header-nav/header-nav.component.mjs +4 -4
  108. package/{esm2020 → esm2022}/lib/header/header-text/header-text.component.mjs +4 -4
  109. package/{esm2020 → esm2022}/lib/header/header-toggler/header-toggler.directive.mjs +4 -4
  110. package/esm2022/lib/header/header.module.mjs +45 -0
  111. package/{esm2020 → esm2022}/lib/image/img.directive.mjs +4 -4
  112. package/{esm2020 → esm2022}/lib/image/img.module.mjs +5 -5
  113. package/{esm2020 → esm2022}/lib/list-group/list-group-item.directive.mjs +4 -4
  114. package/{esm2020 → esm2022}/lib/list-group/list-group.directive.mjs +4 -4
  115. package/{esm2020 → esm2022}/lib/list-group/list-group.module.mjs +5 -5
  116. package/{esm2020 → esm2022}/lib/loading-button/loading-button.component.mjs +4 -4
  117. package/esm2022/lib/loading-button/loading-button.module.mjs +16 -0
  118. package/{esm2020 → esm2022}/lib/modal/modal/modal.component.mjs +14 -14
  119. package/{esm2020 → esm2022}/lib/modal/modal-body/modal-body.component.mjs +4 -4
  120. package/{esm2020 → esm2022}/lib/modal/modal-content/modal-content.component.mjs +4 -4
  121. package/{esm2020 → esm2022}/lib/modal/modal-dialog/modal-dialog.component.mjs +4 -4
  122. package/{esm2020 → esm2022}/lib/modal/modal-dismiss/modal-toggle.directive.mjs +4 -4
  123. package/{esm2020 → esm2022}/lib/modal/modal-footer/modal-footer.component.mjs +4 -4
  124. package/{esm2020 → esm2022}/lib/modal/modal-header/modal-header.component.mjs +4 -4
  125. package/{esm2020 → esm2022}/lib/modal/modal-title/modal-title.directive.mjs +4 -4
  126. package/esm2022/lib/modal/modal.module.mjs +57 -0
  127. package/{esm2020 → esm2022}/lib/modal/modal.service.mjs +4 -4
  128. package/esm2022/lib/multi-select/multi-select/multi-select-search.directive.mjs +69 -0
  129. package/esm2022/lib/multi-select/multi-select/multi-select.component.mjs +1066 -0
  130. package/{esm2020 → esm2022}/lib/multi-select/multi-select-native-select/multi-select-native-select.component.mjs +4 -4
  131. package/{esm2020 → esm2022}/lib/multi-select/multi-select-optgroup/multi-select-optgroup-label.component.mjs +4 -4
  132. package/{esm2020 → esm2022}/lib/multi-select/multi-select-optgroup/multi-select-optgroup.component.mjs +4 -4
  133. package/esm2022/lib/multi-select/multi-select-option/multi-select-option.component.mjs +334 -0
  134. package/{esm2020 → esm2022}/lib/multi-select/multi-select-tag/multi-select-tag.component.mjs +4 -4
  135. package/esm2022/lib/multi-select/multi-select.module.mjs +37 -0
  136. package/esm2022/lib/multi-select/multi-select.service.mjs +38 -0
  137. package/{esm2020 → esm2022}/lib/nav/nav-item.component.mjs +4 -4
  138. package/{esm2020 → esm2022}/lib/nav/nav-link.directive.mjs +4 -4
  139. package/{esm2020 → esm2022}/lib/nav/nav.component.mjs +4 -4
  140. package/esm2022/lib/nav/nav.module.mjs +30 -0
  141. package/{esm2020 → esm2022}/lib/navbar/navbar-brand/navbar-brand.directive.mjs +4 -4
  142. package/{esm2020 → esm2022}/lib/navbar/navbar-nav/navbar-nav.component.mjs +4 -4
  143. package/{esm2020 → esm2022}/lib/navbar/navbar-text/navbar-text.component.mjs +4 -4
  144. package/{esm2020 → esm2022}/lib/navbar/navbar-toggler/navbar-toggler.directive.mjs +4 -4
  145. package/{esm2020 → esm2022}/lib/navbar/navbar.component.mjs +4 -4
  146. package/esm2022/lib/navbar/navbar.module.mjs +40 -0
  147. package/esm2022/lib/offcanvas/offcanvas/offcanvas.component.mjs +321 -0
  148. package/{esm2020 → esm2022}/lib/offcanvas/offcanvas-body/offcanvas-body.component.mjs +4 -4
  149. package/{esm2020 → esm2022}/lib/offcanvas/offcanvas-header/offcanvas-header.component.mjs +4 -4
  150. package/{esm2020 → esm2022}/lib/offcanvas/offcanvas-title/offcanvas-title.directive.mjs +4 -4
  151. package/{esm2020 → esm2022}/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.mjs +4 -4
  152. package/esm2022/lib/offcanvas/offcanvas.module.mjs +49 -0
  153. package/{esm2020 → esm2022}/lib/offcanvas/offcanvas.service.mjs +4 -4
  154. package/{esm2020 → esm2022}/lib/pagination/page-item/page-item.component.mjs +4 -4
  155. package/{esm2020 → esm2022}/lib/pagination/page-item/page-item.directive.mjs +4 -4
  156. package/{esm2020 → esm2022}/lib/pagination/page-link/page-link.directive.mjs +4 -4
  157. package/{esm2020 → esm2022}/lib/pagination/pagination/pagination.component.mjs +4 -4
  158. package/esm2022/lib/pagination/pagination.module.mjs +35 -0
  159. package/{esm2020 → esm2022}/lib/placeholder/placeholder-animation.directive.mjs +4 -4
  160. package/{esm2020 → esm2022}/lib/placeholder/placeholder.directive.mjs +4 -4
  161. package/{esm2020 → esm2022}/lib/placeholder/placeholder.module.mjs +7 -7
  162. package/{esm2020 → esm2022}/lib/popover/popover/popover.component.mjs +4 -4
  163. package/{esm2020 → esm2022}/lib/popover/popover.directive.mjs +4 -4
  164. package/esm2022/lib/popover/popover.module.mjs +25 -0
  165. package/{esm2020 → esm2022}/lib/progress/progress-bar.component.mjs +4 -4
  166. package/{esm2020 → esm2022}/lib/progress/progress.component.mjs +4 -4
  167. package/esm2022/lib/progress/progress.module.mjs +25 -0
  168. package/{esm2020 → esm2022}/lib/services/class-toggle.service.mjs +4 -4
  169. package/{esm2020 → esm2022}/lib/services/intersection.service.mjs +4 -4
  170. package/{esm2020 → esm2022}/lib/services/listeners.service.mjs +4 -4
  171. package/{esm2020 → esm2022}/lib/shared/html-attr.directive.mjs +4 -4
  172. package/{esm2020 → esm2022}/lib/shared/shared.module.mjs +7 -7
  173. package/{esm2020 → esm2022}/lib/shared/template-id.directive.mjs +4 -4
  174. package/{esm2020 → esm2022}/lib/sidebar/sidebar/sidebar.component.mjs +46 -42
  175. package/{esm2020 → esm2022}/lib/sidebar/sidebar-backdrop/sidebar-backdrop.service.mjs +4 -4
  176. package/{esm2020 → esm2022}/lib/sidebar/sidebar-brand/sidebar-brand.component.mjs +4 -4
  177. package/{esm2020 → esm2022}/lib/sidebar/sidebar-footer/sidebar-footer.component.mjs +4 -4
  178. package/{esm2020 → esm2022}/lib/sidebar/sidebar-header/sidebar-header.component.mjs +4 -4
  179. package/{esm2020 → esm2022}/lib/sidebar/sidebar-nav/sidebar-nav-badge.pipe.mjs +4 -4
  180. package/{esm2020 → esm2022}/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.mjs +4 -4
  181. package/{esm2020 → esm2022}/lib/sidebar/sidebar-nav/sidebar-nav-group.service.mjs +4 -4
  182. package/{esm2020 → esm2022}/lib/sidebar/sidebar-nav/sidebar-nav-icon.pipe.mjs +4 -4
  183. package/{esm2020 → esm2022}/lib/sidebar/sidebar-nav/sidebar-nav-item-class.pipe.mjs +4 -4
  184. package/{esm2020 → esm2022}/lib/sidebar/sidebar-nav/sidebar-nav-label.component.mjs +4 -4
  185. package/{esm2020 → esm2022}/lib/sidebar/sidebar-nav/sidebar-nav-link.component.mjs +9 -9
  186. package/{esm2020 → esm2022}/lib/sidebar/sidebar-nav/sidebar-nav-link.pipe.mjs +4 -4
  187. package/{esm2020 → esm2022}/lib/sidebar/sidebar-nav/sidebar-nav-title.component.mjs +4 -4
  188. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav.component.mjs +230 -0
  189. package/{esm2020 → esm2022}/lib/sidebar/sidebar-nav/sidebar-nav.service.mjs +7 -7
  190. package/{esm2020 → esm2022}/lib/sidebar/sidebar-toggle/sidebar-toggle.directive.mjs +4 -4
  191. package/{esm2020 → esm2022}/lib/sidebar/sidebar-toggler/sidebar-toggler.component.mjs +4 -4
  192. package/esm2022/lib/sidebar/sidebar.module.mjs +83 -0
  193. package/{esm2020 → esm2022}/lib/sidebar/sidebar.service.mjs +4 -4
  194. package/{esm2020 → esm2022}/lib/smart-pagination/smart-pagination.component.mjs +4 -4
  195. package/esm2022/lib/smart-pagination/smart-pagination.module.mjs +16 -0
  196. package/{esm2020 → esm2022}/lib/smart-table/smart-table/smart-table.component.mjs +4 -4
  197. package/esm2022/lib/smart-table/smart-table-column-filter/smart-table-column-filter.component.mjs +28 -0
  198. package/esm2022/lib/smart-table/smart-table-filter/filter-input.directive.mjs +78 -0
  199. package/esm2022/lib/smart-table/smart-table-filter/smart-table-filter.component.mjs +43 -0
  200. package/esm2022/lib/smart-table/smart-table-head/smart-table-head.component.mjs +178 -0
  201. package/esm2022/lib/smart-table/smart-table-items-per-page-selector/smart-table-items-per-page-selector.component.mjs +52 -0
  202. package/esm2022/lib/smart-table/smart-table.module.mjs +17 -0
  203. package/{esm2020 → esm2022}/lib/spinner/spinner.component.mjs +4 -4
  204. package/esm2022/lib/spinner/spinner.module.mjs +20 -0
  205. package/{esm2020 → esm2022}/lib/table/table-active.directive.mjs +4 -4
  206. package/{esm2020 → esm2022}/lib/table/table-color.directive.mjs +4 -4
  207. package/{esm2020 → esm2022}/lib/table/table.directive.mjs +4 -4
  208. package/{esm2020 → esm2022}/lib/table/table.module.mjs +9 -9
  209. package/{esm2020 → esm2022}/lib/tabs/tab-content/tab-content.component.mjs +4 -4
  210. package/{esm2020 → esm2022}/lib/tabs/tab-content-ref.directive.mjs +4 -4
  211. package/{esm2020 → esm2022}/lib/tabs/tab-pane/tab-pane.component.mjs +5 -5
  212. package/{esm2020 → esm2022}/lib/tabs/tab.service.mjs +4 -4
  213. package/esm2022/lib/tabs/tabs.module.mjs +36 -0
  214. package/{esm2020 → esm2022}/lib/time-picker/time-picker-roll-col/time-picker-roll-am-pm.component.mjs +7 -7
  215. package/{esm2020 → esm2022}/lib/time-picker/time-picker-roll-col/time-picker-roll-col.component.mjs +7 -7
  216. package/esm2022/lib/time-picker/time-picker.component.mjs +511 -0
  217. package/{esm2020 → esm2022}/lib/time-picker/time-picker.module.mjs +21 -21
  218. package/esm2022/lib/toast/toast/toast.component.mjs +238 -0
  219. package/{esm2020 → esm2022}/lib/toast/toast-body/toast-body.component.mjs +4 -4
  220. package/{esm2020 → esm2022}/lib/toast/toast-close.directive.mjs +4 -4
  221. package/{esm2020 → esm2022}/lib/toast/toast-header/toast-header.component.mjs +4 -4
  222. package/{esm2020 → esm2022}/lib/toast/toast.module.mjs +15 -18
  223. package/{esm2020 → esm2022}/lib/toast/toaster/toaster-host.directive.mjs +4 -4
  224. package/esm2022/lib/toast/toaster/toaster.component.mjs +130 -0
  225. package/{esm2020 → esm2022}/lib/toast/toaster/toaster.service.mjs +4 -4
  226. package/{esm2020 → esm2022}/lib/tooltip/tooltip/tooltip.component.mjs +4 -4
  227. package/{esm2020 → esm2022}/lib/tooltip/tooltip.directive.mjs +4 -4
  228. package/esm2022/lib/tooltip/tooltip.module.mjs +25 -0
  229. package/{esm2020 → esm2022}/lib/utilities/align.directive.mjs +4 -4
  230. package/{esm2020 → esm2022}/lib/utilities/bg-color.directive.mjs +4 -4
  231. package/{esm2020 → esm2022}/lib/utilities/border.directive.mjs +4 -4
  232. package/{esm2020 → esm2022}/lib/utilities/rounded.directive.mjs +4 -4
  233. package/{esm2020 → esm2022}/lib/utilities/text-color.directive.mjs +4 -4
  234. package/{esm2020 → esm2022}/lib/utilities/utilities.module.mjs +13 -13
  235. package/{esm2020 → esm2022}/lib/widget/widget-stat-a/widget-stat-a.component.mjs +4 -4
  236. package/{esm2020 → esm2022}/lib/widget/widget-stat-b/widget-stat-b.component.mjs +4 -4
  237. package/{esm2020 → esm2022}/lib/widget/widget-stat-c/widget-stat-c.component.mjs +4 -4
  238. package/{esm2020 → esm2022}/lib/widget/widget-stat-d/widget-stat-d.component.mjs +4 -4
  239. package/{esm2020 → esm2022}/lib/widget/widget-stat-e/widget-stat-e.component.mjs +4 -4
  240. package/{esm2020 → esm2022}/lib/widget/widget-stat-f/widget-stat-f.component.mjs +4 -4
  241. package/esm2022/lib/widget/widget.module.mjs +45 -0
  242. package/{fesm2020 → fesm2022}/coreui-angular-pro.mjs +1417 -1461
  243. package/fesm2022/coreui-angular-pro.mjs.map +1 -0
  244. package/lib/accordion/accordion/accordion.component.d.ts +1 -1
  245. package/lib/accordion/accordion-button/accordion-button.directive.d.ts +1 -1
  246. package/lib/accordion/accordion-item/accordion-item.component.d.ts +1 -1
  247. package/lib/alert/alert.component.d.ts +1 -1
  248. package/lib/avatar/avatar.component.d.ts +1 -1
  249. package/lib/badge/badge.component.d.ts +1 -1
  250. package/lib/breadcrumb/breadcrumb/breadcrumb.component.d.ts +1 -1
  251. package/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.d.ts +1 -1
  252. package/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.d.ts +1 -1
  253. package/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.d.ts +1 -1
  254. package/lib/button/button-close.directive.d.ts +1 -1
  255. package/lib/button/button.directive.d.ts +1 -1
  256. package/lib/button-group/button-group/button-group.component.d.ts +1 -1
  257. package/lib/button-group/button-toolbar/button-toolbar.component.d.ts +1 -1
  258. package/lib/calendar/calendar/calendar.component.d.ts +1 -1
  259. package/lib/calendar/calendar-month/calendar-day.directive.d.ts +1 -1
  260. package/lib/calendar/calendar-month/calendar-month.component.d.ts +1 -1
  261. package/lib/calendar/calendar-navigation/calendar-navigation.component.d.ts +1 -1
  262. package/lib/callout/callout.component.d.ts +1 -1
  263. package/lib/card/card-img.directive.d.ts +1 -1
  264. package/lib/card/card.component.d.ts +1 -1
  265. package/lib/carousel/carousel/carousel.component.d.ts +1 -1
  266. package/lib/carousel/carousel-control/carousel-control.component.d.ts +1 -1
  267. package/lib/carousel/carousel-item/carousel-item.component.d.ts +1 -1
  268. package/lib/collapse/collapse.directive.d.ts +1 -1
  269. package/lib/date-picker/date-picker.component.d.ts +1 -1
  270. package/lib/date-range-picker/date-range-picker/date-range-picker.component.d.ts +1 -1
  271. package/lib/dropdown/dropdown/dropdown.component.d.ts +2 -2
  272. package/lib/dropdown/dropdown-close/dropdown-close.directive.d.ts +1 -1
  273. package/lib/dropdown/dropdown-item/dropdown-item.directive.d.ts +1 -1
  274. package/lib/dropdown/dropdown-menu/dropdown-menu.directive.d.ts +1 -1
  275. package/lib/element-cover/element-cover.component.d.ts +1 -1
  276. package/lib/footer/footer.component.d.ts +1 -1
  277. package/lib/form/form/form.directive.d.ts +1 -1
  278. package/lib/form/form-check/form-check-input.directive.d.ts +1 -1
  279. package/lib/form/form-check/form-check.component.d.ts +1 -1
  280. package/lib/form/form-control/form-control.directive.d.ts +1 -1
  281. package/lib/form/form-feedback/form-feedback.component.d.ts +1 -1
  282. package/lib/form/form-floating/form-floating.directive.d.ts +1 -1
  283. package/lib/form/form-label/form-label.directive.d.ts +1 -1
  284. package/lib/form/form-select/form-select.directive.d.ts +1 -1
  285. package/lib/form/input-group/input-group.component.d.ts +1 -1
  286. package/lib/grid/col.directive.d.ts +1 -1
  287. package/lib/grid/container.component.d.ts +1 -1
  288. package/lib/grid/gutter.directive.d.ts +1 -1
  289. package/lib/grid/row.directive.d.ts +1 -1
  290. package/lib/header/header/header.component.d.ts +1 -1
  291. package/lib/header/header-brand/header-brand.component.d.ts +1 -1
  292. package/lib/header/header-nav/header-nav.component.d.ts +1 -1
  293. package/lib/header/header-toggler/header-toggler.directive.d.ts +1 -1
  294. package/lib/image/img.directive.d.ts +1 -1
  295. package/lib/list-group/list-group-item.directive.d.ts +1 -1
  296. package/lib/list-group/list-group.directive.d.ts +1 -1
  297. package/lib/loading-button/loading-button.component.d.ts +1 -1
  298. package/lib/modal/modal/modal.component.d.ts +1 -1
  299. package/lib/modal/modal-dialog/modal-dialog.component.d.ts +1 -1
  300. package/lib/modal/modal-dismiss/modal-toggle.directive.d.ts +1 -1
  301. package/lib/multi-select/multi-select/multi-select-search.directive.d.ts +1 -1
  302. package/lib/multi-select/multi-select/multi-select.component.d.ts +1 -1
  303. package/lib/multi-select/multi-select-native-select/multi-select-native-select.component.d.ts +1 -1
  304. package/lib/multi-select/multi-select-optgroup/multi-select-optgroup.component.d.ts +1 -1
  305. package/lib/multi-select/multi-select-option/multi-select-option.component.d.ts +1 -1
  306. package/lib/multi-select/multi-select-tag/multi-select-tag.component.d.ts +1 -1
  307. package/lib/nav/nav-link.directive.d.ts +1 -1
  308. package/lib/nav/nav.component.d.ts +1 -1
  309. package/lib/navbar/navbar-nav/navbar-nav.component.d.ts +1 -1
  310. package/lib/navbar/navbar-toggler/navbar-toggler.directive.d.ts +1 -1
  311. package/lib/navbar/navbar.component.d.ts +1 -1
  312. package/lib/offcanvas/offcanvas/offcanvas.component.d.ts +1 -1
  313. package/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.d.ts +1 -1
  314. package/lib/pagination/page-item/page-item.directive.d.ts +1 -1
  315. package/lib/pagination/pagination/pagination.component.d.ts +1 -1
  316. package/lib/placeholder/placeholder-animation.directive.d.ts +1 -1
  317. package/lib/placeholder/placeholder.directive.d.ts +1 -1
  318. package/lib/popover/popover/popover.component.d.ts +1 -1
  319. package/lib/popover/popover.directive.d.ts +1 -1
  320. package/lib/progress/progress-bar.component.d.ts +1 -1
  321. package/lib/progress/progress.component.d.ts +1 -1
  322. package/lib/shared/html-attr.directive.d.ts +1 -1
  323. package/lib/shared/template-id.directive.d.ts +1 -1
  324. package/lib/sidebar/sidebar/sidebar.component.d.ts +1 -1
  325. package/lib/sidebar/sidebar-brand/sidebar-brand.component.d.ts +1 -1
  326. package/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.d.ts +1 -1
  327. package/lib/sidebar/sidebar-nav/sidebar-nav-label.component.d.ts +1 -1
  328. package/lib/sidebar/sidebar-nav/sidebar-nav-link.component.d.ts +2 -2
  329. package/lib/sidebar/sidebar-nav/sidebar-nav-title.component.d.ts +1 -1
  330. package/lib/sidebar/sidebar-nav/sidebar-nav.component.d.ts +2 -2
  331. package/lib/sidebar/sidebar-toggle/sidebar-toggle.directive.d.ts +1 -1
  332. package/lib/sidebar/sidebar-toggler/sidebar-toggler.component.d.ts +1 -1
  333. package/lib/smart-pagination/smart-pagination.component.d.ts +1 -1
  334. package/lib/smart-table/smart-table/smart-table.component.d.ts +1 -1
  335. package/lib/smart-table/smart-table-column-filter/smart-table-column-filter.component.d.ts +1 -1
  336. package/lib/smart-table/smart-table-filter/filter-input.directive.d.ts +1 -1
  337. package/lib/smart-table/smart-table-filter/smart-table-filter.component.d.ts +1 -1
  338. package/lib/smart-table/smart-table-head/smart-table-head.component.d.ts +3 -2
  339. package/lib/smart-table/smart-table-items-per-page-selector/smart-table-items-per-page-selector.component.d.ts +1 -1
  340. package/lib/spinner/spinner.component.d.ts +1 -1
  341. package/lib/table/table-active.directive.d.ts +1 -1
  342. package/lib/table/table-color.directive.d.ts +1 -1
  343. package/lib/table/table.directive.d.ts +1 -1
  344. package/lib/tabs/tab-content/tab-content.component.d.ts +1 -1
  345. package/lib/tabs/tab-content-ref.directive.d.ts +1 -1
  346. package/lib/time-picker/time-picker-roll-col/time-picker-roll-am-pm.component.d.ts +2 -2
  347. package/lib/time-picker/time-picker-roll-col/time-picker-roll-col.component.d.ts +2 -2
  348. package/lib/time-picker/time-picker.component.d.ts +1 -1
  349. package/lib/toast/toast/toast.component.d.ts +1 -1
  350. package/lib/toast/toast-close.directive.d.ts +1 -1
  351. package/lib/toast/toast-header/toast-header.component.d.ts +1 -1
  352. package/lib/toast/toaster/toaster.component.d.ts +1 -1
  353. package/lib/tooltip/tooltip/tooltip.component.d.ts +1 -1
  354. package/lib/tooltip/tooltip.directive.d.ts +1 -1
  355. package/lib/utilities/align.directive.d.ts +1 -1
  356. package/lib/utilities/bg-color.directive.d.ts +1 -1
  357. package/lib/utilities/border.directive.d.ts +1 -1
  358. package/lib/utilities/rounded.directive.d.ts +1 -1
  359. package/lib/utilities/text-color.directive.d.ts +1 -1
  360. package/lib/widget/widget-stat-a/widget-stat-a.component.d.ts +1 -1
  361. package/lib/widget/widget-stat-b/widget-stat-b.component.d.ts +1 -1
  362. package/lib/widget/widget-stat-c/widget-stat-c.component.d.ts +1 -1
  363. package/lib/widget/widget-stat-d/widget-stat-d.component.d.ts +1 -1
  364. package/lib/widget/widget-stat-e/widget-stat-e.component.d.ts +1 -1
  365. package/lib/widget/widget-stat-f/widget-stat-f.component.d.ts +1 -1
  366. package/package.json +9 -15
  367. package/esm2020/lib/accordion/accordion.module.mjs +0 -37
  368. package/esm2020/lib/alert/alert.component.mjs +0 -181
  369. package/esm2020/lib/alert/alert.module.mjs +0 -30
  370. package/esm2020/lib/avatar/avatar.module.mjs +0 -20
  371. package/esm2020/lib/badge/badge.module.mjs +0 -20
  372. package/esm2020/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.mjs +0 -53
  373. package/esm2020/lib/breadcrumb/breadcrumb.module.mjs +0 -35
  374. package/esm2020/lib/button-group/button-group.module.mjs +0 -17
  375. package/esm2020/lib/calendar/calendar.module.mjs +0 -56
  376. package/esm2020/lib/callout/callout.module.mjs +0 -16
  377. package/esm2020/lib/card/card.module.mjs +0 -81
  378. package/esm2020/lib/carousel/carousel.module.mjs +0 -57
  379. package/esm2020/lib/date-picker/date-picker.component.mjs +0 -93
  380. package/esm2020/lib/date-range-picker/date-range-picker/date-range-picker.component.mjs +0 -676
  381. package/esm2020/lib/dropdown/dropdown.module.mjs +0 -56
  382. package/esm2020/lib/element-cover/element-cover.component.mjs +0 -71
  383. package/esm2020/lib/element-cover/element-cover.module.mjs +0 -16
  384. package/esm2020/lib/footer/footer.module.mjs +0 -16
  385. package/esm2020/lib/form/form.module.mjs +0 -77
  386. package/esm2020/lib/grid/grid.module.mjs +0 -47
  387. package/esm2020/lib/header/header.module.mjs +0 -49
  388. package/esm2020/lib/loading-button/loading-button.module.mjs +0 -16
  389. package/esm2020/lib/modal/modal.module.mjs +0 -62
  390. package/esm2020/lib/multi-select/multi-select/multi-select-search.directive.mjs +0 -69
  391. package/esm2020/lib/multi-select/multi-select/multi-select.component.mjs +0 -1065
  392. package/esm2020/lib/multi-select/multi-select-option/multi-select-option.component.mjs +0 -326
  393. package/esm2020/lib/multi-select/multi-select.module.mjs +0 -40
  394. package/esm2020/lib/multi-select/multi-select.service.mjs +0 -40
  395. package/esm2020/lib/nav/nav.module.mjs +0 -31
  396. package/esm2020/lib/navbar/navbar.module.mjs +0 -42
  397. package/esm2020/lib/offcanvas/offcanvas/offcanvas.component.mjs +0 -319
  398. package/esm2020/lib/offcanvas/offcanvas.module.mjs +0 -51
  399. package/esm2020/lib/pagination/pagination.module.mjs +0 -36
  400. package/esm2020/lib/popover/popover.module.mjs +0 -25
  401. package/esm2020/lib/progress/progress.module.mjs +0 -26
  402. package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav.component.mjs +0 -230
  403. package/esm2020/lib/sidebar/sidebar.module.mjs +0 -92
  404. package/esm2020/lib/smart-pagination/smart-pagination.module.mjs +0 -16
  405. package/esm2020/lib/smart-table/smart-table-column-filter/smart-table-column-filter.component.mjs +0 -30
  406. package/esm2020/lib/smart-table/smart-table-filter/filter-input.directive.mjs +0 -79
  407. package/esm2020/lib/smart-table/smart-table-filter/smart-table-filter.component.mjs +0 -45
  408. package/esm2020/lib/smart-table/smart-table-head/smart-table-head.component.mjs +0 -178
  409. package/esm2020/lib/smart-table/smart-table-items-per-page-selector/smart-table-items-per-page-selector.component.mjs +0 -54
  410. package/esm2020/lib/smart-table/smart-table.module.mjs +0 -17
  411. package/esm2020/lib/spinner/spinner.module.mjs +0 -20
  412. package/esm2020/lib/tabs/tabs.module.mjs +0 -37
  413. package/esm2020/lib/time-picker/time-picker.component.mjs +0 -511
  414. package/esm2020/lib/toast/toast/toast.component.mjs +0 -238
  415. package/esm2020/lib/toast/toaster/toaster.component.mjs +0 -130
  416. package/esm2020/lib/tooltip/tooltip.module.mjs +0 -25
  417. package/esm2020/lib/widget/widget.module.mjs +0 -50
  418. package/fesm2015/coreui-angular-pro.mjs +0 -16521
  419. package/fesm2015/coreui-angular-pro.mjs.map +0 -1
  420. package/fesm2020/coreui-angular-pro.mjs.map +0 -1
  421. /package/{esm2020 → esm2022}/coreui-angular-pro.mjs +0 -0
  422. /package/{esm2020 → esm2022}/lib/accordion/index.mjs +0 -0
  423. /package/{esm2020 → esm2022}/lib/accordion/public_api.mjs +0 -0
  424. /package/{esm2020 → esm2022}/lib/alert/index.mjs +0 -0
  425. /package/{esm2020 → esm2022}/lib/alert/public_api.mjs +0 -0
  426. /package/{esm2020 → esm2022}/lib/avatar/index.mjs +0 -0
  427. /package/{esm2020 → esm2022}/lib/avatar/public_api.mjs +0 -0
  428. /package/{esm2020 → esm2022}/lib/badge/index.mjs +0 -0
  429. /package/{esm2020 → esm2022}/lib/badge/public_api.mjs +0 -0
  430. /package/{esm2020 → esm2022}/lib/breadcrumb/breadcrumb-item/breadcrumb-item.mjs +0 -0
  431. /package/{esm2020 → esm2022}/lib/breadcrumb/index.mjs +0 -0
  432. /package/{esm2020 → esm2022}/lib/breadcrumb/public_api.mjs +0 -0
  433. /package/{esm2020 → esm2022}/lib/button/index.mjs +0 -0
  434. /package/{esm2020 → esm2022}/lib/button/public_api.mjs +0 -0
  435. /package/{esm2020 → esm2022}/lib/button-group/index.mjs +0 -0
  436. /package/{esm2020 → esm2022}/lib/button-group/public_api.mjs +0 -0
  437. /package/{esm2020 → esm2022}/lib/calendar/calendar.utils.mjs +0 -0
  438. /package/{esm2020 → esm2022}/lib/calendar/index.mjs +0 -0
  439. /package/{esm2020 → esm2022}/lib/calendar/public_api.mjs +0 -0
  440. /package/{esm2020 → esm2022}/lib/callout/index.mjs +0 -0
  441. /package/{esm2020 → esm2022}/lib/callout/public_api.mjs +0 -0
  442. /package/{esm2020 → esm2022}/lib/card/index.mjs +0 -0
  443. /package/{esm2020 → esm2022}/lib/card/public_api.mjs +0 -0
  444. /package/{esm2020 → esm2022}/lib/carousel/carousel-state.type.mjs +0 -0
  445. /package/{esm2020 → esm2022}/lib/carousel/carousel.animation.mjs +0 -0
  446. /package/{esm2020 → esm2022}/lib/carousel/index.mjs +0 -0
  447. /package/{esm2020 → esm2022}/lib/carousel/public_api.mjs +0 -0
  448. /package/{esm2020 → esm2022}/lib/collapse/collapse.animations.mjs +0 -0
  449. /package/{esm2020 → esm2022}/lib/collapse/index.mjs +0 -0
  450. /package/{esm2020 → esm2022}/lib/collapse/public_api.mjs +0 -0
  451. /package/{esm2020 → esm2022}/lib/coreui.types.mjs +0 -0
  452. /package/{esm2020 → esm2022}/lib/date-picker/index.mjs +0 -0
  453. /package/{esm2020 → esm2022}/lib/date-picker/public_api.mjs +0 -0
  454. /package/{esm2020 → esm2022}/lib/date-range-picker/index.mjs +0 -0
  455. /package/{esm2020 → esm2022}/lib/date-range-picker/public_api.mjs +0 -0
  456. /package/{esm2020 → esm2022}/lib/dropdown/index.mjs +0 -0
  457. /package/{esm2020 → esm2022}/lib/dropdown/public_api.mjs +0 -0
  458. /package/{esm2020 → esm2022}/lib/element-cover/index.mjs +0 -0
  459. /package/{esm2020 → esm2022}/lib/element-cover/public_api.mjs +0 -0
  460. /package/{esm2020 → esm2022}/lib/footer/index.mjs +0 -0
  461. /package/{esm2020 → esm2022}/lib/footer/public_api.mjs +0 -0
  462. /package/{esm2020 → esm2022}/lib/form/index.mjs +0 -0
  463. /package/{esm2020 → esm2022}/lib/form/public_api.mjs +0 -0
  464. /package/{esm2020 → esm2022}/lib/grid/col.type.mjs +0 -0
  465. /package/{esm2020 → esm2022}/lib/grid/container.type.mjs +0 -0
  466. /package/{esm2020 → esm2022}/lib/grid/gutter.type.mjs +0 -0
  467. /package/{esm2020 → esm2022}/lib/grid/index.mjs +0 -0
  468. /package/{esm2020 → esm2022}/lib/grid/public_api.mjs +0 -0
  469. /package/{esm2020 → esm2022}/lib/grid/row.type.mjs +0 -0
  470. /package/{esm2020 → esm2022}/lib/header/index.mjs +0 -0
  471. /package/{esm2020 → esm2022}/lib/header/public_api.mjs +0 -0
  472. /package/{esm2020 → esm2022}/lib/image/index.mjs +0 -0
  473. /package/{esm2020 → esm2022}/lib/image/public_api.mjs +0 -0
  474. /package/{esm2020 → esm2022}/lib/list-group/index.mjs +0 -0
  475. /package/{esm2020 → esm2022}/lib/list-group/public_api.mjs +0 -0
  476. /package/{esm2020 → esm2022}/lib/loading-button/index.mjs +0 -0
  477. /package/{esm2020 → esm2022}/lib/loading-button/public_api.mjs +0 -0
  478. /package/{esm2020 → esm2022}/lib/modal/index.mjs +0 -0
  479. /package/{esm2020 → esm2022}/lib/modal/public_api.mjs +0 -0
  480. /package/{esm2020 → esm2022}/lib/multi-select/index.mjs +0 -0
  481. /package/{esm2020 → esm2022}/lib/multi-select/multi-select.type.mjs +0 -0
  482. /package/{esm2020 → esm2022}/lib/multi-select/public_api.mjs +0 -0
  483. /package/{esm2020 → esm2022}/lib/nav/index.mjs +0 -0
  484. /package/{esm2020 → esm2022}/lib/nav/public_api.mjs +0 -0
  485. /package/{esm2020 → esm2022}/lib/navbar/index.mjs +0 -0
  486. /package/{esm2020 → esm2022}/lib/navbar/public_api.mjs +0 -0
  487. /package/{esm2020 → esm2022}/lib/offcanvas/index.mjs +0 -0
  488. /package/{esm2020 → esm2022}/lib/offcanvas/public_api.mjs +0 -0
  489. /package/{esm2020 → esm2022}/lib/pagination/index.mjs +0 -0
  490. /package/{esm2020 → esm2022}/lib/pagination/public_api.mjs +0 -0
  491. /package/{esm2020 → esm2022}/lib/placeholder/index.mjs +0 -0
  492. /package/{esm2020 → esm2022}/lib/placeholder/public_api.mjs +0 -0
  493. /package/{esm2020 → esm2022}/lib/popover/index.mjs +0 -0
  494. /package/{esm2020 → esm2022}/lib/popover/public_api.mjs +0 -0
  495. /package/{esm2020 → esm2022}/lib/progress/index.mjs +0 -0
  496. /package/{esm2020 → esm2022}/lib/progress/progress-bar.mjs +0 -0
  497. /package/{esm2020 → esm2022}/lib/progress/public_api.mjs +0 -0
  498. /package/{esm2020 → esm2022}/lib/services/index.mjs +0 -0
  499. /package/{esm2020 → esm2022}/lib/services/public_api.mjs +0 -0
  500. /package/{esm2020 → esm2022}/lib/shared/index.mjs +0 -0
  501. /package/{esm2020 → esm2022}/lib/shared/public_api.mjs +0 -0
  502. /package/{esm2020 → esm2022}/lib/sidebar/index.mjs +0 -0
  503. /package/{esm2020 → esm2022}/lib/sidebar/public_api.mjs +0 -0
  504. /package/{esm2020 → esm2022}/lib/sidebar/sidebar-nav/index.mjs +0 -0
  505. /package/{esm2020 → esm2022}/lib/sidebar/sidebar-nav/public_api.mjs +0 -0
  506. /package/{esm2020 → esm2022}/lib/sidebar/sidebar-nav/sidebar-nav.mjs +0 -0
  507. /package/{esm2020 → esm2022}/lib/smart-pagination/index.mjs +0 -0
  508. /package/{esm2020 → esm2022}/lib/smart-pagination/public_api.mjs +0 -0
  509. /package/{esm2020 → esm2022}/lib/smart-pagination/smart-pagination.type.mjs +0 -0
  510. /package/{esm2020 → esm2022}/lib/smart-table/index.mjs +0 -0
  511. /package/{esm2020 → esm2022}/lib/smart-table/public_api.mjs +0 -0
  512. /package/{esm2020 → esm2022}/lib/smart-table/smart-table.type.mjs +0 -0
  513. /package/{esm2020 → esm2022}/lib/spinner/index.mjs +0 -0
  514. /package/{esm2020 → esm2022}/lib/spinner/public_api.mjs +0 -0
  515. /package/{esm2020 → esm2022}/lib/table/index.mjs +0 -0
  516. /package/{esm2020 → esm2022}/lib/table/public_api.mjs +0 -0
  517. /package/{esm2020 → esm2022}/lib/table/table.type.mjs +0 -0
  518. /package/{esm2020 → esm2022}/lib/tabs/index.mjs +0 -0
  519. /package/{esm2020 → esm2022}/lib/tabs/public_api.mjs +0 -0
  520. /package/{esm2020 → esm2022}/lib/time-picker/index.mjs +0 -0
  521. /package/{esm2020 → esm2022}/lib/time-picker/public_api.mjs +0 -0
  522. /package/{esm2020 → esm2022}/lib/time-picker/time.utils.mjs +0 -0
  523. /package/{esm2020 → esm2022}/lib/toast/index.mjs +0 -0
  524. /package/{esm2020 → esm2022}/lib/toast/public_api.mjs +0 -0
  525. /package/{esm2020 → esm2022}/lib/tooltip/index.mjs +0 -0
  526. /package/{esm2020 → esm2022}/lib/tooltip/public_api.mjs +0 -0
  527. /package/{esm2020 → esm2022}/lib/utilities/border.type.mjs +0 -0
  528. /package/{esm2020 → esm2022}/lib/utilities/index.mjs +0 -0
  529. /package/{esm2020 → esm2022}/lib/utilities/public_api.mjs +0 -0
  530. /package/{esm2020 → esm2022}/lib/utilities/rounded.type.mjs +0 -0
  531. /package/{esm2020 → esm2022}/lib/widget/index.mjs +0 -0
  532. /package/{esm2020 → esm2022}/lib/widget/public_api.mjs +0 -0
  533. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"coreui-angular-pro.mjs","sources":["../../../projects/coreui-angular/src/lib/coreui.types.ts","../../../projects/coreui-angular/src/lib/shared/html-attr.directive.ts","../../../projects/coreui-angular/src/lib/shared/template-id.directive.ts","../../../projects/coreui-angular/src/lib/shared/shared.module.ts","../../../projects/coreui-angular/src/lib/accordion/accordion-button/accordion-button.directive.ts","../../../projects/coreui-angular/src/lib/accordion/accordion.service.ts","../../../projects/coreui-angular/src/lib/accordion/accordion/accordion.component.ts","../../../projects/coreui-angular/src/lib/collapse/collapse.animations.ts","../../../projects/coreui-angular/src/lib/collapse/collapse.directive.ts","../../../projects/coreui-angular/src/lib/collapse/collapse.module.ts","../../../projects/coreui-angular/src/lib/accordion/accordion-item/accordion-item.component.ts","../../../projects/coreui-angular/src/lib/accordion/accordion-item/accordion-item.component.html","../../../projects/coreui-angular/src/lib/accordion/accordion.module.ts","../../../projects/coreui-angular/src/lib/alert/alert-heading.directive.ts","../../../projects/coreui-angular/src/lib/alert/alert-link.directive.ts","../../../projects/coreui-angular/src/lib/button/button.directive.ts","../../../projects/coreui-angular/src/lib/button/button-close.directive.ts","../../../projects/coreui-angular/src/lib/button/button.module.ts","../../../projects/coreui-angular/src/lib/alert/alert.component.ts","../../../projects/coreui-angular/src/lib/alert/alert.component.html","../../../projects/coreui-angular/src/lib/alert/alert.module.ts","../../../projects/coreui-angular/src/lib/avatar/avatar.component.ts","../../../projects/coreui-angular/src/lib/avatar/avatar.component.html","../../../projects/coreui-angular/src/lib/avatar/avatar.module.ts","../../../projects/coreui-angular/src/lib/badge/badge.component.ts","../../../projects/coreui-angular/src/lib/badge/badge.module.ts","../../../projects/coreui-angular/src/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.ts","../../../projects/coreui-angular/src/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.html","../../../projects/coreui-angular/src/lib/breadcrumb/breadcrumb/breadcrumb.component.ts","../../../projects/coreui-angular/src/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.ts","../../../projects/coreui-angular/src/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.ts","../../../projects/coreui-angular/src/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.html","../../../projects/coreui-angular/src/lib/breadcrumb/breadcrumb.module.ts","../../../projects/coreui-angular/src/lib/button-group/button-group/button-group.component.ts","../../../projects/coreui-angular/src/lib/button-group/button-toolbar/button-toolbar.component.ts","../../../projects/coreui-angular/src/lib/button-group/button-group.module.ts","../../../projects/coreui-angular/src/lib/calendar/calendar.service.ts","../../../projects/coreui-angular/src/lib/calendar/calendar-navigation/calendar-navigation.component.ts","../../../projects/coreui-angular/src/lib/calendar/calendar-navigation/calendar-navigation.component.html","../../../projects/coreui-angular/src/lib/calendar/calendar.utils.ts","../../../projects/coreui-angular/src/lib/calendar/calendar-month/calendar-weekday.pipe.ts","../../../projects/coreui-angular/src/lib/calendar/calendar-month/calendar-class-year.pipe.ts","../../../projects/coreui-angular/src/lib/calendar/calendar-month/calendar-class-month.pipe.ts","../../../projects/coreui-angular/src/lib/calendar/calendar-month/calendar-day.pipe.ts","../../../projects/coreui-angular/src/lib/calendar/calendar-month/calendar-day.directive.ts","../../../projects/coreui-angular/src/lib/calendar/calendar-month/calendar-day-title.pipe.ts","../../../projects/coreui-angular/src/lib/calendar/calendar-month/calendar-class-day.pipe.ts","../../../projects/coreui-angular/src/lib/calendar/calendar-month/calendar-month.component.ts","../../../projects/coreui-angular/src/lib/calendar/calendar-month/calendar-month.component.html","../../../projects/coreui-angular/src/lib/calendar/calendar/calendar-class-view.pipe.ts","../../../projects/coreui-angular/src/lib/calendar/calendar/calendar.component.ts","../../../projects/coreui-angular/src/lib/calendar/calendar/calendar.component.html","../../../projects/coreui-angular/src/lib/calendar/calendar.module.ts","../../../projects/coreui-angular/src/lib/callout/callout.component.ts","../../../projects/coreui-angular/src/lib/callout/callout.module.ts","../../../projects/coreui-angular/src/lib/card/card.component.ts","../../../projects/coreui-angular/src/lib/card/card-body.component.ts","../../../projects/coreui-angular/src/lib/card/card-footer.component.ts","../../../projects/coreui-angular/src/lib/card/card-group.component.ts","../../../projects/coreui-angular/src/lib/card/card-header.component.ts","../../../projects/coreui-angular/src/lib/card/card-header-actions.component.ts","../../../projects/coreui-angular/src/lib/card/card-img.directive.ts","../../../projects/coreui-angular/src/lib/card/card-img-overlay/card-img-overlay.component.ts","../../../projects/coreui-angular/src/lib/card/card-link.directive.ts","../../../projects/coreui-angular/src/lib/card/card-subtitle.directive.ts","../../../projects/coreui-angular/src/lib/card/card-text.directive.ts","../../../projects/coreui-angular/src/lib/card/card-title.directive.ts","../../../projects/coreui-angular/src/lib/card/card.module.ts","../../../projects/coreui-angular/src/lib/services/intersection.service.ts","../../../projects/coreui-angular/src/lib/services/listeners.service.ts","../../../projects/coreui-angular/src/lib/carousel/carousel.service.ts","../../../projects/coreui-angular/src/lib/carousel/carousel-state.ts","../../../projects/coreui-angular/src/lib/carousel/carousel.config.ts","../../../projects/coreui-angular/src/lib/carousel/carousel/carousel.component.ts","../../../projects/coreui-angular/src/lib/carousel/carousel-caption/carousel-caption.component.ts","../../../projects/coreui-angular/src/lib/carousel/carousel-control/carousel-control.component.ts","../../../projects/coreui-angular/src/lib/carousel/carousel-control/carousel-control.component.html","../../../projects/coreui-angular/src/lib/carousel/carousel-indicators/carousel-indicators.component.ts","../../../projects/coreui-angular/src/lib/carousel/carousel-indicators/carousel-indicators.component.html","../../../projects/coreui-angular/src/lib/carousel/carousel.animation.ts","../../../projects/coreui-angular/src/lib/carousel/carousel-item/carousel-item.component.ts","../../../projects/coreui-angular/src/lib/carousel/carousel-item/carousel-item.component.html","../../../projects/coreui-angular/src/lib/carousel/carousel-inner/carousel-inner.component.ts","../../../projects/coreui-angular/src/lib/carousel/carousel-inner/carousel-inner.component.html","../../../projects/coreui-angular/src/lib/carousel/carousel.module.ts","../../../projects/coreui-angular/src/lib/dropdown/dropdown-divider/dropdown-divider.directive.ts","../../../projects/coreui-angular/src/lib/dropdown/dropdown-header/dropdown-header.directive.ts","../../../projects/coreui-angular/src/lib/dropdown/dropdown.service.ts","../../../projects/coreui-angular/src/lib/dropdown/dropdown-menu/dropdown-menu.directive.ts","../../../projects/coreui-angular/src/lib/dropdown/dropdown/dropdown.component.ts","../../../projects/coreui-angular/src/lib/dropdown/dropdown-item/dropdown-item.directive.ts","../../../projects/coreui-angular/src/lib/dropdown/dropdown-item/dropdown-item-plain.directive.ts","../../../projects/coreui-angular/src/lib/dropdown/dropdown-close/dropdown-close.directive.ts","../../../projects/coreui-angular/src/lib/dropdown/dropdown.module.ts","../../../projects/coreui-angular/src/lib/form/form/form.directive.ts","../../../projects/coreui-angular/src/lib/form/form-feedback/form-feedback.component.ts","../../../projects/coreui-angular/src/lib/form/input-group/input-group.component.ts","../../../projects/coreui-angular/src/lib/form/form-select/form-select.directive.ts","../../../projects/coreui-angular/src/lib/form/form-label/form-label.directive.ts","../../../projects/coreui-angular/src/lib/form/form-check/form-check-label.directive.ts","../../../projects/coreui-angular/src/lib/form/form-check/form-check.component.ts","../../../projects/coreui-angular/src/lib/form/form-check/form-check-input.directive.ts","../../../projects/coreui-angular/src/lib/form/form-control/form-control.directive.ts","../../../projects/coreui-angular/src/lib/form/form-text/form-text.directive.ts","../../../projects/coreui-angular/src/lib/form/form-floating/form-floating.directive.ts","../../../projects/coreui-angular/src/lib/form/input-group-text/input-group-text.directive.ts","../../../projects/coreui-angular/src/lib/form/form.module.ts","../../../projects/coreui-angular/src/lib/time-picker/time.utils.ts","../../../projects/coreui-angular/src/lib/time-picker/time-picker-roll-col/time-picker-roll-col.component.ts","../../../projects/coreui-angular/src/lib/time-picker/time-picker-roll-col/time-picker-roll-col.component.html","../../../projects/coreui-angular/src/lib/time-picker/time-picker-roll-col/time-picker-roll-am-pm.component.ts","../../../projects/coreui-angular/src/lib/time-picker/time-picker-roll-col/time-picker-roll-am-pm.component.html","../../../projects/coreui-angular/src/lib/time-picker/time-picker.component.ts","../../../projects/coreui-angular/src/lib/time-picker/time-picker.component.html","../../../projects/coreui-angular/src/lib/time-picker/time-picker.module.ts","../../../projects/coreui-angular/src/lib/date-range-picker/date-range-picker/date-range-picker.component.ts","../../../projects/coreui-angular/src/lib/date-range-picker/date-range-picker/date-range-picker.component.html","../../../projects/coreui-angular/src/lib/date-range-picker/date-range-picker.module.ts","../../../projects/coreui-angular/src/lib/date-picker/date-picker.component.ts","../../../projects/coreui-angular/src/lib/date-picker/date-picker.module.ts","../../../projects/coreui-angular/src/lib/spinner/spinner.component.ts","../../../projects/coreui-angular/src/lib/spinner/spinner.component.html","../../../projects/coreui-angular/src/lib/spinner/spinner.module.ts","../../../projects/coreui-angular/src/lib/element-cover/element-cover.component.ts","../../../projects/coreui-angular/src/lib/element-cover/element-cover.component.html","../../../projects/coreui-angular/src/lib/element-cover/element-cover.module.ts","../../../projects/coreui-angular/src/lib/footer/footer.component.ts","../../../projects/coreui-angular/src/lib/footer/footer.module.ts","../../../projects/coreui-angular/src/lib/grid/container.component.ts","../../../projects/coreui-angular/src/lib/grid/col.directive.ts","../../../projects/coreui-angular/src/lib/grid/col.component.ts","../../../projects/coreui-angular/src/lib/grid/row.directive.ts","../../../projects/coreui-angular/src/lib/grid/row.component.ts","../../../projects/coreui-angular/src/lib/grid/gutter.directive.ts","../../../projects/coreui-angular/src/lib/grid/grid.module.ts","../../../projects/coreui-angular/src/lib/header/header/header.component.ts","../../../projects/coreui-angular/src/lib/header/header/header.component.html","../../../projects/coreui-angular/src/lib/header/header-brand/header-brand.component.ts","../../../projects/coreui-angular/src/lib/header/header-divider/header-divider.component.ts","../../../projects/coreui-angular/src/lib/header/header-nav/header-nav.component.ts","../../../projects/coreui-angular/src/lib/header/header-text/header-text.component.ts","../../../projects/coreui-angular/src/lib/header/header-toggler/header-toggler.directive.ts","../../../projects/coreui-angular/src/lib/header/header.module.ts","../../../projects/coreui-angular/src/lib/image/img.directive.ts","../../../projects/coreui-angular/src/lib/image/img.module.ts","../../../projects/coreui-angular/src/lib/list-group/list-group.directive.ts","../../../projects/coreui-angular/src/lib/list-group/list-group-item.directive.ts","../../../projects/coreui-angular/src/lib/list-group/list-group.module.ts","../../../projects/coreui-angular/src/lib/loading-button/loading-button.component.ts","../../../projects/coreui-angular/src/lib/loading-button/loading-button.component.html","../../../projects/coreui-angular/src/lib/loading-button/loading-button.module.ts","../../../projects/coreui-angular/src/lib/multi-select/multi-select-optgroup/multi-select-optgroup-label.component.ts","../../../projects/coreui-angular/src/lib/multi-select/multi-select.service.ts","../../../projects/coreui-angular/src/lib/multi-select/multi-select-option/multi-select-option.component.ts","../../../projects/coreui-angular/src/lib/multi-select/multi-select-option/multi-select-option.component.html","../../../projects/coreui-angular/src/lib/multi-select/multi-select-optgroup/multi-select-optgroup.component.ts","../../../projects/coreui-angular/src/lib/multi-select/multi-select-optgroup/multi-select-optgroup.component.html","../../../projects/coreui-angular/src/lib/multi-select/multi-select-native-select/multi-select-native-select.component.ts","../../../projects/coreui-angular/src/lib/multi-select/multi-select-native-select/multi-select-native-select.component.html","../../../projects/coreui-angular/src/lib/multi-select/multi-select-tag/multi-select-tag.component.ts","../../../projects/coreui-angular/src/lib/multi-select/multi-select-tag/multi-select-tag.component.html","../../../projects/coreui-angular/src/lib/multi-select/multi-select/multi-select-search.directive.ts","../../../projects/coreui-angular/src/lib/multi-select/multi-select/multi-select.component.ts","../../../projects/coreui-angular/src/lib/multi-select/multi-select/multi-select.component.html","../../../projects/coreui-angular/src/lib/multi-select/multi-select.module.ts","../../../projects/coreui-angular/src/lib/nav/nav-link.directive.ts","../../../projects/coreui-angular/src/lib/nav/nav-item.component.ts","../../../projects/coreui-angular/src/lib/nav/nav.component.ts","../../../projects/coreui-angular/src/lib/nav/nav.module.ts","../../../projects/coreui-angular/src/lib/navbar/navbar.component.ts","../../../projects/coreui-angular/src/lib/navbar/navbar.component.html","../../../projects/coreui-angular/src/lib/navbar/navbar-brand/navbar-brand.directive.ts","../../../projects/coreui-angular/src/lib/navbar/navbar-nav/navbar-nav.component.ts","../../../projects/coreui-angular/src/lib/navbar/navbar-text/navbar-text.component.ts","../../../projects/coreui-angular/src/lib/navbar/navbar-toggler/navbar-toggler.directive.ts","../../../projects/coreui-angular/src/lib/navbar/navbar.module.ts","../../../projects/coreui-angular/src/lib/modal/modal-body/modal-body.component.ts","../../../projects/coreui-angular/src/lib/modal/modal-content/modal-content.component.ts","../../../projects/coreui-angular/src/lib/modal/modal-dialog/modal-dialog.component.ts","../../../projects/coreui-angular/src/lib/modal/modal.service.ts","../../../projects/coreui-angular/src/lib/modal/modal-dismiss/modal-toggle.directive.ts","../../../projects/coreui-angular/src/lib/modal/modal-footer/modal-footer.component.ts","../../../projects/coreui-angular/src/lib/modal/modal-header/modal-header.component.ts","../../../projects/coreui-angular/src/lib/modal/modal-title/modal-title.directive.ts","../../../projects/coreui-angular/src/lib/backdrop/backdrop.service.ts","../../../projects/coreui-angular/src/lib/modal/modal/modal.component.ts","../../../projects/coreui-angular/src/lib/modal/modal/modal.component.html","../../../projects/coreui-angular/src/lib/modal/modal.module.ts","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas.service.ts","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas/offcanvas.component.ts","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas/offcanvas.component.html","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas-body/offcanvas-body.component.ts","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas-header/offcanvas-header.component.ts","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas-title/offcanvas-title.directive.ts","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.ts","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas.module.ts","../../../projects/coreui-angular/src/lib/pagination/page-link/page-link.directive.ts","../../../projects/coreui-angular/src/lib/pagination/page-item/page-item.directive.ts","../../../projects/coreui-angular/src/lib/pagination/page-item/page-item.component.ts","../../../projects/coreui-angular/src/lib/pagination/pagination/pagination.component.ts","../../../projects/coreui-angular/src/lib/pagination/pagination/pagination.component.html","../../../projects/coreui-angular/src/lib/pagination/pagination.module.ts","../../../projects/coreui-angular/src/lib/placeholder/placeholder.directive.ts","../../../projects/coreui-angular/src/lib/placeholder/placeholder-animation.directive.ts","../../../projects/coreui-angular/src/lib/placeholder/placeholder.module.ts","../../../projects/coreui-angular/src/lib/popover/popover/popover.component.ts","../../../projects/coreui-angular/src/lib/popover/popover/popover.component.html","../../../projects/coreui-angular/src/lib/services/class-toggle.service.ts","../../../projects/coreui-angular/src/lib/popover/popover.directive.ts","../../../projects/coreui-angular/src/lib/popover/popover.module.ts","../../../projects/coreui-angular/src/lib/progress/progress.component.ts","../../../projects/coreui-angular/src/lib/progress/progress-bar.component.ts","../../../projects/coreui-angular/src/lib/progress/progress.module.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar.service.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-backdrop/sidebar-backdrop.service.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar/sidebar.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-brand/sidebar-brand.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-brand/sidebar-brand.component.html","../../../projects/coreui-angular/src/lib/sidebar/sidebar-toggle/sidebar-toggle.directive.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-toggler/sidebar-toggler.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-header/sidebar-header.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-footer/sidebar-footer.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav.service.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-group.service.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-icon.pipe.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-badge.pipe.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-link.pipe.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-link.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-link.component.html","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-label.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-label.component.html","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-title.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-item-class.pipe.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-group.component.html","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav.component.html","../../../projects/coreui-angular/src/lib/sidebar/sidebar.module.ts","../../../projects/coreui-angular/src/lib/smart-pagination/smart-pagination.component.ts","../../../projects/coreui-angular/src/lib/smart-pagination/smart-pagination.component.html","../../../projects/coreui-angular/src/lib/smart-pagination/smart-pagination.module.ts","../../../projects/coreui-angular/src/lib/smart-table/smart-table-filter/filter-input.directive.ts","../../../projects/coreui-angular/src/lib/smart-table/smart-table-filter/smart-table-filter.component.ts","../../../projects/coreui-angular/src/lib/smart-table/smart-table-filter/smart-table-filter.component.html","../../../projects/coreui-angular/src/lib/table/table-color.directive.ts","../../../projects/coreui-angular/src/lib/table/table-active.directive.ts","../../../projects/coreui-angular/src/lib/table/table.directive.ts","../../../projects/coreui-angular/src/lib/table/table.module.ts","../../../projects/coreui-angular/src/lib/utilities/bg-color.directive.ts","../../../projects/coreui-angular/src/lib/utilities/border.directive.ts","../../../projects/coreui-angular/src/lib/utilities/text-color.directive.ts","../../../projects/coreui-angular/src/lib/utilities/rounded.directive.ts","../../../projects/coreui-angular/src/lib/utilities/align.directive.ts","../../../projects/coreui-angular/src/lib/utilities/utilities.module.ts","../../../projects/coreui-angular/src/lib/smart-table/smart-table-column-filter/smart-table-column-filter.component.ts","../../../projects/coreui-angular/src/lib/smart-table/smart-table-column-filter/smart-table-column-filter.component.html","../../../projects/coreui-angular/src/lib/smart-table/smart-table-head/smart-table-head.component.ts","../../../projects/coreui-angular/src/lib/smart-table/smart-table-head/smart-table-head.component.html","../../../projects/coreui-angular/src/lib/smart-table/smart-table-items-per-page-selector/smart-table-items-per-page-selector.component.ts","../../../projects/coreui-angular/src/lib/smart-table/smart-table-items-per-page-selector/smart-table-items-per-page-selector.component.html","../../../projects/coreui-angular/src/lib/smart-table/smart-table/smart-table.component.ts","../../../projects/coreui-angular/src/lib/smart-table/smart-table/smart-table.component.html","../../../projects/coreui-angular/src/lib/smart-table/smart-table.module.ts","../../../projects/coreui-angular/src/lib/tabs/tab.service.ts","../../../projects/coreui-angular/src/lib/tabs/tab-pane/tab-pane.component.ts","../../../projects/coreui-angular/src/lib/tabs/tab-content/tab-content.component.ts","../../../projects/coreui-angular/src/lib/tabs/tab-content-ref.directive.ts","../../../projects/coreui-angular/src/lib/tabs/tabs.module.ts","../../../projects/coreui-angular/src/lib/toast/toaster/toaster.service.ts","../../../projects/coreui-angular/src/lib/toast/toast/toast.component.ts","../../../projects/coreui-angular/src/lib/toast/toast-body/toast-body.component.ts","../../../projects/coreui-angular/src/lib/toast/toast-close.directive.ts","../../../projects/coreui-angular/src/lib/toast/toast-header/toast-header.component.ts","../../../projects/coreui-angular/src/lib/toast/toast-header/toast-header.component.html","../../../projects/coreui-angular/src/lib/toast/toaster/toaster-host.directive.ts","../../../projects/coreui-angular/src/lib/toast/toaster/toaster.component.ts","../../../projects/coreui-angular/src/lib/toast/toaster/toaster.component.html","../../../projects/coreui-angular/src/lib/toast/toast.module.ts","../../../projects/coreui-angular/src/lib/tooltip/tooltip/tooltip.component.ts","../../../projects/coreui-angular/src/lib/tooltip/tooltip/tooltip.component.html","../../../projects/coreui-angular/src/lib/tooltip/tooltip.directive.ts","../../../projects/coreui-angular/src/lib/tooltip/tooltip.module.ts","../../../projects/coreui-angular/src/lib/widget/widget-stat-a/widget-stat-a.component.ts","../../../projects/coreui-angular/src/lib/widget/widget-stat-a/widget-stat-a.component.html","../../../projects/coreui-angular/src/lib/widget/widget-stat-b/widget-stat-b.component.ts","../../../projects/coreui-angular/src/lib/widget/widget-stat-b/widget-stat-b.component.html","../../../projects/coreui-angular/src/lib/widget/widget-stat-c/widget-stat-c.component.ts","../../../projects/coreui-angular/src/lib/widget/widget-stat-c/widget-stat-c.component.html","../../../projects/coreui-angular/src/lib/widget/widget-stat-d/widget-stat-d.component.ts","../../../projects/coreui-angular/src/lib/widget/widget-stat-d/widget-stat-d.component.html","../../../projects/coreui-angular/src/lib/widget/widget-stat-e/widget-stat-e.component.ts","../../../projects/coreui-angular/src/lib/widget/widget-stat-e/widget-stat-e.component.html","../../../projects/coreui-angular/src/lib/widget/widget-stat-f/widget-stat-f.component.ts","../../../projects/coreui-angular/src/lib/widget/widget-stat-f/widget-stat-f.component.html","../../../projects/coreui-angular/src/lib/widget/widget.module.ts","../../../projects/coreui-angular/src/public-api.ts","../../../projects/coreui-angular/src/coreui-angular-pro.ts"],"sourcesContent":["import { IsActiveMatchOptions } from '@angular/router';\n\nexport enum BreakpointInfix {\n xs = 'xs',\n sm = 'sm',\n md = 'md',\n lg = 'lg',\n xl = 'xl',\n xxl = 'xxl'\n}\n\nexport type BreakpointInfixStrings = keyof typeof BreakpointInfix;\n\nexport type Breakpoints = BreakpointInfixStrings | string;\n\nexport type Sizes = 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | string;\n\nexport type Colors =\n | 'primary'\n | 'secondary'\n | 'success'\n | 'danger'\n | 'warning'\n | 'info'\n | 'dark'\n | 'light'\n | 'primary-gradient'\n | 'secondary-gradient'\n | 'success-gradient'\n | 'danger-gradient'\n | 'warning-gradient'\n | 'info-gradient'\n | 'dark-gradient'\n | 'light-gradient'\n | string;\n\n// export type ColorsGradient =\n// | Colors\n// | `${Colors}-gradient`;\n\nexport type BackgroundColors = Colors | 'body' | 'white' | 'transparent';\n\nexport type Directions = 'down' | 'up' | 'start' | 'end' | '';\n\nexport type TextColors =\n | Colors\n | 'body'\n | 'white'\n | 'muted'\n | 'black-50'\n | 'white-50'\n | 'high-emphasis'\n | 'medium-emphasis'\n | 'disabled'\n | 'high-emphasis-inverse'\n | 'medium-emphasis-inverse'\n | 'disabled-inverse';\n\nexport type Alignment =\n | 'baseline'\n | 'top'\n | 'middle'\n | 'bottom'\n | 'text-top'\n | 'text-bottom';\n\nexport type BadgePositions =\n | 'top-start'\n | 'top-end'\n | 'bottom-end'\n | 'bottom-start'\n | string\n | undefined;\n\nexport type Placements =\n | 'auto'\n | 'auto-start'\n | 'auto-end'\n | 'top-end'\n | 'top'\n | 'top-start'\n | 'bottom-end'\n | 'bottom'\n | 'bottom-start'\n | 'right-start'\n | 'right'\n | 'right-end'\n | 'left-start'\n | 'left'\n | 'left-end'\n | undefined;\n\nexport type Shapes =\n | 'rounded'\n | 'rounded-top'\n | 'rounded-end'\n | 'rounded-bottom'\n | 'rounded-start'\n | 'rounded-circle'\n | 'rounded-pill'\n | 'rounded-0'\n | 'rounded-1'\n | 'rounded-2'\n | 'rounded-3'\n | string;\n\nexport type Triggers = 'hover' | 'focus' | 'click';\n\nexport type Positions = 'fixed' | 'sticky';\n\nexport type InputType =\n | 'button'\n | 'color'\n | 'date'\n | 'datetime'\n | 'datetime-local'\n | 'email'\n | 'file'\n | 'hidden'\n | 'image'\n | 'month'\n | 'number'\n | 'password'\n | 'range'\n | 'reset'\n | 'search'\n | 'submit'\n | 'tel'\n | 'text'\n | 'time'\n | 'url'\n | 'week'\n | 'checkbox'\n | 'radio';\n\nexport interface INavLinkProps {\n queryParams?: { [k: string]: any };\n fragment?: string;\n queryParamsHandling?: 'merge' | 'preserve' | '' | null;\n preserveFragment?: boolean;\n skipLocationChange?: boolean;\n replaceUrl?: boolean;\n state?: { [k: string]: any };\n routerLinkActiveOptions?: { exact: boolean } | IsActiveMatchOptions;\n routerLinkActive?: string | string[];\n ariaCurrentWhenActive?: 'page' | 'step' | 'location' | 'date' | 'time' | true | false;\n}\n\nexport interface INavAttributes {\n [propName: string]: any;\n}\n\nexport type ButtonType = 'button' | 'submit' | 'reset';\n","import { Directive, ElementRef, Input, OnInit, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[cHtmlAttr]',\n exportAs: 'cHtmlAttr',\n standalone: true\n})\nexport class HtmlAttributesDirective implements OnInit {\n\n @Input() cHtmlAttr?: { [key: string]: any };\n\n constructor(\n private renderer: Renderer2,\n private el: ElementRef\n ) {}\n\n ngOnInit(): void {\n const attribs = this.cHtmlAttr;\n for (const attr in attribs) {\n if (attr === 'style' && typeof (attribs[attr]) === 'object') {\n this.setStyle(attribs[attr]);\n } else if (attr === 'class') {\n this.addClass(attribs[attr]);\n } else {\n this.setAttrib(attr, attribs[attr]);\n }\n }\n }\n\n private setStyle(styles: { [x: string]: any; }): void {\n for (const style in styles) {\n if (style) {\n this.renderer.setStyle(this.el.nativeElement, style, styles[style]);\n }\n }\n }\n\n private addClass(classes: string | string[]): void {\n const classArray = (Array.isArray(classes) ? classes : classes.split(' '));\n classArray.filter((element) => element.length > 0).forEach(element => {\n this.renderer.addClass(this.el.nativeElement, element);\n });\n }\n\n private setAttrib(key: string, value: string | null): void {\n value !== null ?\n this.renderer.setAttribute(this.el.nativeElement, key, value) :\n this.renderer.removeAttribute(this.el.nativeElement, key);\n }\n}\n","import { Directive, Input, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[cTemplateId]',\n standalone: true\n})\nexport class TemplateIdDirective {\n @Input('cTemplateId') id!: string;\n\n constructor(\n public templateRef: TemplateRef<any>\n ) { }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { HtmlAttributesDirective } from './html-attr.directive';\nimport { TemplateIdDirective } from './template-id.directive';\n\n@NgModule({\n imports: [\n HtmlAttributesDirective,\n TemplateIdDirective\n ],\n exports: [\n HtmlAttributesDirective,\n TemplateIdDirective\n ],\n})\nexport class SharedModule {\n\n static forRoot(): ModuleWithProviders<SharedModule> {\n return {\n ngModule: SharedModule\n };\n }\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[cAccordionButton]',\n standalone: true\n})\nexport class AccordionButtonDirective {\n\n /**\n * Toggles an accordion button collapsed state. Use in accordionHeaderTemplate. [docs]\n * @type boolean\n */\n @Input() collapsed!: boolean;\n\n /**\n * Default type for cAccordionButton. [docs]\n * @type string\n * @default 'button'\n */\n @HostBinding('attr.type')\n @Input() type = 'button';\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'accordion-button': true,\n collapsed: this.collapsed\n };\n }\n\n @HostBinding('attr.aria-expanded') get ariaExpanded(): boolean {\n return !this.collapsed;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AccordionItemComponent } from './accordion-item/accordion-item.component';\n\n@Injectable()\nexport class AccordionService {\n\n items: AccordionItemComponent[] = [];\n alwaysOpen = false;\n\n constructor() { }\n\n addItem(item: AccordionItemComponent): void {\n this.items.push(item);\n }\n\n removeItem(item: AccordionItemComponent): void {\n const index = this.items.indexOf(item);\n if (index !== -1) {\n this.items.splice(index, 1);\n }\n }\n\n toggleItem(item: AccordionItemComponent): void {\n item.visible = !item.visible;\n this.closeOtherItems(item);\n }\n\n closeOtherItems(openItem: AccordionItemComponent): void {\n if (!this.alwaysOpen) {\n this.items.forEach((item: AccordionItemComponent) => {\n if (item !== openItem) {\n item.visible = false;\n }\n });\n }\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\nimport { AccordionService } from '../accordion.service';\n\n@Component({\n selector: 'c-accordion',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./accordion.component.scss'],\n exportAs: 'cAccordionItem',\n providers: [AccordionService],\n standalone: true\n})\nexport class AccordionComponent {\n\n static ngAcceptInputType_alwaysOpen: BooleanInput;\n\n /**\n * Removes the default background-color, some borders, and some rounded corners to render accordions edge-to-edge with their parent container.\n * @type boolean\n */\n @Input() flush?: boolean;\n /**\n * Make accordion items stay open when another item is opened\n * @type boolean\n */\n @Input()\n set alwaysOpen(value: boolean) {\n this.accordionService.alwaysOpen = coerceBooleanProperty(value);\n }\n get alwaysOpen(): boolean {\n return this.accordionService.alwaysOpen;\n }\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n accordion: true,\n 'accordion-flush': !!this.flush\n };\n }\n\n constructor(\n private accordionService: AccordionService\n ) {}\n\n}\n","import { animate, animation, style } from '@angular/animations';\n\nexport const expandAnimation = animation([\n animate('{{ time }} {{ easing }}')\n]);\n\nexport const collapseAnimation = animation([\n style({ height: '*', minHeight: '*' }),\n animate('{{ time }} {{ easing }}',\n style({ height: 0, minHeight: 0 })\n )\n]);\n\nexport const expandHorizontalAnimation = animation([\n animate('{{ time }} {{ easing }}')\n]);\n\nexport const collapseHorizontalAnimation = animation([\n // style({ opacity: '*' }),\n animate(\n '{{ time }} {{ easing }}'\n // style({ opacity: 0 })\n )\n]);\n","import {\n AfterViewInit,\n Directive,\n DoCheck,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n Renderer2,\n SimpleChanges\n} from '@angular/core';\nimport { AnimationBuilder, AnimationPlayer, useAnimation } from '@angular/animations';\n\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\nimport {\n collapseAnimation,\n collapseHorizontalAnimation,\n expandAnimation,\n expandHorizontalAnimation\n} from './collapse.animations';\n\n// todo\n// tslint:disable-next-line:no-conflicting-lifecycle\n@Directive({\n selector: '[cCollapse]',\n exportAs: 'cCollapse',\n standalone: true\n})\nexport class CollapseDirective implements OnChanges, OnDestroy, DoCheck, AfterViewInit {\n\n static ngAcceptInputType_horizontal: BooleanInput;\n static ngAcceptInputType_navbar: BooleanInput;\n static ngAcceptInputType_visible: BooleanInput;\n\n /**\n * @ignore\n */\n @Input()\n set animate(value: boolean) {\n this._animate = value;\n }\n\n get animate(): boolean {\n return this._animate;\n }\n\n private _animate = true;\n\n /**\n * Set horizontal collapsing to transition the width instead of height.\n */\n @Input()\n set horizontal(value: boolean) {\n this._horizontal = coerceBooleanProperty(value);\n }\n\n get horizontal(): boolean {\n return this._horizontal;\n }\n\n private _horizontal: boolean = false;\n\n /**\n * Toggle the visibility of collapsible element.\n */\n @Input()\n set visible(value) {\n this._visible = coerceBooleanProperty(value);\n }\n\n get visible(): boolean {\n return this._visible;\n }\n\n private _visible = false;\n\n /**\n * Add `navbar` prop for grouping and hiding navbar contents by a parent breakpoint.\n */\n @Input()\n set navbar(value: boolean) {\n this._navbar = coerceBooleanProperty(value);\n };\n\n get navbar() {\n return this._navbar;\n }\n\n private _navbar = false;\n\n /**\n * @ignore\n */\n @Input() duration = '350ms';\n /**\n * @ignore\n */\n @Input() transition = 'ease';\n /**\n * Event emitted on visibility change. [docs]\n * @type string\n */\n @Output() collapseChange = new EventEmitter<string>();\n\n private player!: AnimationPlayer;\n private readonly host: HTMLElement;\n // private scrollHeight!: number;\n private scrollWidth!: number;\n private collapsing: boolean = false;\n\n constructor(\n private hostElement: ElementRef,\n private renderer: Renderer2,\n private animationBuilder: AnimationBuilder\n ) {\n this.host = this.hostElement.nativeElement;\n this.renderer.setStyle(this.host, 'display', 'none');\n }\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'navbar-collapse': this.navbar,\n 'collapse-horizontal': this.horizontal\n };\n }\n\n ngAfterViewInit(): void {\n if (this.visible) {\n this.toggle();\n }\n }\n\n ngOnDestroy(): void {\n this.destroyPlayer();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['visible']) {\n if (!changes['visible'].firstChange || !changes['visible'].currentValue) {\n this.toggle(changes['visible'].currentValue);\n }\n }\n }\n\n ngDoCheck(): void {\n if (this._visible !== this.visible) {\n this.toggle();\n }\n }\n\n toggle(visible = this.visible): void {\n this.createPlayer(visible);\n this.player?.play();\n }\n\n destroyPlayer(): void {\n this.player?.destroy();\n }\n\n createPlayer(visible: boolean = this.visible): void {\n if (this.player?.hasStarted()) {\n this.destroyPlayer();\n }\n\n if (visible) {\n this.renderer.removeStyle(this.host, 'display');\n }\n\n const duration = this.animate ? this.duration : '0ms';\n\n const expand = this.horizontal ? expandHorizontalAnimation : expandAnimation;\n const collapse = this.horizontal ? collapseHorizontalAnimation : collapseAnimation;\n\n const dimension = this.horizontal ? 'width' : 'height';\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);\n const scrollSize = `scroll${capitalizedDimension}`;\n\n const animationFactory = this.animationBuilder.build(\n useAnimation(visible ? expand : collapse, { params: { time: duration, easing: this.transition } })\n );\n\n this.player = animationFactory.create(this.host);\n\n this.renderer.setStyle(this.host, dimension, visible ? 0 : `${this.host.getBoundingClientRect()[dimension]}px`);\n\n !visible && this.host.offsetHeight;\n\n this.player.onStart(() => {\n this.setMaxSize();\n this.renderer.removeClass(this.host, 'collapse');\n this.renderer.addClass(this.host, 'collapsing');\n this.renderer.removeClass(this.host, 'show');\n this.collapsing = true;\n if (visible) {\n // @ts-ignore\n this.renderer.setStyle(this.host, dimension, `${this.host[scrollSize]}px`);\n } else {\n this.renderer.setStyle(this.host, dimension, '');\n }\n this.collapseChange.emit(visible ? 'opening' : 'collapsing');\n });\n this.player.onDone(() => {\n this.visible = visible;\n this.collapsing = false;\n this.renderer.removeClass(this.host, 'collapsing');\n this.renderer.addClass(this.host, 'collapse');\n if (visible) {\n this.renderer.addClass(this.host, 'show');\n this.renderer.setStyle(this.host, dimension, '');\n } else {\n this.renderer.removeClass(this.host, 'show');\n }\n this.collapseChange.emit(visible ? 'open' : 'collapsed');\n });\n }\n\n setMaxSize() {\n // setTimeout(() => {\n if (this.horizontal) {\n this.scrollWidth = this.host.scrollWidth;\n this.scrollWidth > 0 && this.renderer.setStyle(this.host, 'maxWidth', `${this.scrollWidth}px`);\n // } else {\n // this.scrollHeight = this.host.scrollHeight;\n // this.scrollHeight > 0 && this.renderer.setStyle(this.host, 'maxHeight', `${this.scrollHeight}px`);\n }\n // });\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CollapseDirective } from './collapse.directive';\n\n@NgModule({\n exports: [CollapseDirective],\n imports: [CollapseDirective]\n})\nexport class CollapseModule {\n static forRoot(): ModuleWithProviders<CollapseModule> {\n return { ngModule: CollapseModule, providers: [] };\n }\n}\n","import {\n AfterContentInit,\n Component,\n ContentChildren,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n QueryList\n} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\nimport { CollapseDirective } from '../../collapse';\nimport { TemplateIdDirective } from '../../shared';\nimport { AccordionButtonDirective } from '../accordion-button/accordion-button.directive';\nimport { AccordionService } from '../accordion.service';\n\nlet nextId = 0;\n\n@Component({\n selector: 'c-accordion-item',\n templateUrl: './accordion-item.component.html',\n styleUrls: ['./accordion-item.component.scss'],\n exportAs: 'cAccordionItem',\n standalone: true,\n imports: [AccordionButtonDirective, NgTemplateOutlet, CollapseDirective]\n})\nexport class AccordionItemComponent implements OnInit, OnDestroy, AfterContentInit {\n\n constructor(\n private accordionService: AccordionService\n ) { }\n\n static ngAcceptInputType_visible: BooleanInput;\n contentId = `accordion-item-${nextId++}`;\n itemContext = { $implicit: this.visible };\n templates: any = {};\n @ContentChildren(TemplateIdDirective, { descendants: true }) contentTemplates!: QueryList<TemplateIdDirective>;\n\n private _visible: boolean = false;\n\n get visible() {\n return this._visible;\n }\n\n /**\n * Toggle an accordion item programmatically\n * @type boolean\n * @default false\n */\n @Input()\n set visible(value: boolean) {\n this._visible = coerceBooleanProperty(value);\n }\n\n get open() {\n return this.visible;\n }\n\n @Input()\n set open(value: boolean) {\n console.warn('c-accordion-item \"open\" prop is deprecated, use \"visible\" prop instead.');\n this.visible = value || this.visible;\n }\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'accordion-item': true\n };\n }\n\n ngOnInit(): void {\n this.accordionService.addItem(this);\n }\n\n ngOnDestroy(): void {\n this.accordionService.removeItem(this);\n }\n\n toggleItem(): void {\n this.accordionService.toggleItem(this);\n }\n\n ngAfterContentInit(): void {\n this.contentTemplates.forEach((child: TemplateIdDirective) => {\n this.templates[child.id] = child.templateRef;\n });\n }\n}\n\n","<ng-container>\n <div class=\"accordion-header\">\n <ng-container *ngTemplateOutlet=\"templates['accordionHeaderTemplate'] || defaultAccordionHeaderTemplate; context: itemContext\"></ng-container>\n </div>\n <div class=\"accordion-collapse\" cCollapse [visible]=\"visible\" [attr.aria-expanded]=\"visible\" [id]=\"contentId\">\n <ng-container *ngTemplateOutlet=\"templates['accordionBodyTemplate'] || defaultAccordionBodyTemplate; context: itemContext\"></ng-container>\n </div>\n</ng-container>\n\n<ng-template #defaultAccordionHeaderTemplate>\n <button cAccordionButton [collapsed]=\"!visible\" [attr.aria-controls]=\"contentId\" (click)=\"toggleItem()\">\n <ng-container\n *ngTemplateOutlet=\"templates['accordionHeader'] || defaultAccordionHeaderContentTemplate; context: itemContext\">\n </ng-container>\n </button>\n</ng-template>\n\n<ng-template #defaultAccordionHeaderContentTemplate>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #defaultAccordionBodyTemplate>\n <div class=\"accordion-body\">\n <ng-container\n *ngTemplateOutlet=\"templates['accordionBody'] || defaultAccordionBodyContentTemplate; context: itemContext\">\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #defaultAccordionBodyContentTemplate>\n <ng-content></ng-content>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { AccordionComponent } from './accordion/accordion.component';\nimport { AccordionButtonDirective } from './accordion-button/accordion-button.directive';\nimport { AccordionItemComponent } from './accordion-item/accordion-item.component';\nimport { AccordionService } from './accordion.service';\n\n@NgModule({\n imports: [\n AccordionButtonDirective,\n AccordionComponent,\n AccordionItemComponent\n ],\n exports: [\n AccordionComponent,\n AccordionButtonDirective,\n AccordionItemComponent\n ],\n providers: [\n AccordionService\n ]\n})\nexport class AccordionModule {\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[cAlertHeading]',\n standalone: true\n})\nexport class AlertHeadingDirective {\n\n @HostBinding('class')\n get hostClasses(): any {\n\n return {\n 'alert-heading': true,\n };\n }\n\n constructor() { }\n\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[cAlertLink]',\n standalone: true\n})\nexport class AlertLinkDirective {\n\n @HostBinding('class')\n get hostClasses(): any {\n\n return {\n 'alert-link': true,\n };\n }\n\n constructor() { }\n\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\n\nimport { ButtonType, Colors, Shapes } from '../coreui.types';\n\n@Directive({\n selector: '[cButton]',\n exportAs: 'cButton',\n standalone: true\n})\nexport class ButtonDirective {\n\n constructor() {}\n\n static ngAcceptInputType_active: BooleanInput;\n private _active = false;\n static ngAcceptInputType_disabled: BooleanInput;\n private _disabled = false;\n\n /**\n * Toggle the active state for the component. [docs]\n * @type boolean\n */\n @Input()\n get active(): boolean {\n return this._active;\n }\n set active(value: boolean) {\n this._active = coerceBooleanProperty(value);\n }\n\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors. [docs]\n * @type Colors\n */\n @Input() color?: Colors = 'primary';\n /**\n * Toggle the disabled state for the component.\n * @type boolean\n */\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n /**\n * Select the shape of the component.\n * @type { 'rounded' | 'rounded-top' | 'rounded-end' | 'rounded-bottom' | 'rounded-start' | 'rounded-circle' | 'rounded-pill' | 'rounded-0' | 'rounded-1' | 'rounded-2' | 'rounded-3' | string }\n */\n @Input() shape?: Shapes;\n /**\n * Size the component small or large.\n * @type {'sm' | 'lg'}\n */\n @Input() size?: 'sm' | 'lg' | '' = '';\n /**\n * Specifies the type of button. Always specify the type attribute for the `<button>` element.\n * Different browsers may use different default types for the `<button>` element.\n */\n @HostBinding('attr.type')\n @Input() type: ButtonType = 'button';\n /**\n * Set the button variant to an outlined button or a ghost button.\n * @type {'ghost' | 'outline'}\n */\n @Input() variant?: 'ghost' | 'outline';\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n btn: true,\n [`btn-${this.color}`]: !!this.color && !this.variant,\n [`btn-${this.variant}`]: !!this.variant && !this.color,\n [`btn-${this.variant}-${this.color}`]: !!this.variant && !!this.color,\n [`btn-${this.size}`]: !!this.size,\n [`${this.shape}`]: !!this.shape,\n disabled: this.disabled,\n active: this.active\n };\n }\n\n @HostBinding('attr.aria-disabled')\n get ariaDisabled () {\n return this.disabled || null;\n };\n\n @HostBinding('attr.aria-pressed')\n get isActive(): boolean | null {\n return this.active || null;\n }\n\n @HostBinding('attr.disabled')\n get attrDisabled () {\n return this.disabled ? '' : null;\n };\n\n @HostBinding('attr.tabindex')\n get tabIndex(): string | null {\n return this.disabled ? '-1' : null;\n }\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ButtonDirective } from './button.directive';\n\n@Directive({\n selector: '[cButtonClose]',\n standalone: true\n})\nexport class ButtonCloseDirective extends ButtonDirective {\n\n static ngAcceptInputType_white: BooleanInput;\n private _white = false;\n /**\n * Change the default color to white.\n * @type boolean\n */\n @Input()\n get white(): boolean {\n return this._white;\n }\n set white(value: boolean) {\n this._white = coerceBooleanProperty(value);\n }\n\n @HostBinding('class')\n override get hostClasses(): any {\n return {\n btn: true,\n 'btn-close': true,\n 'btn-close-white': this.white,\n [`btn-${this.size}`]: !!this.size,\n disabled: this.disabled,\n active: this.active,\n };\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { ButtonDirective } from './button.directive';\nimport { ButtonCloseDirective } from './button-close.directive';\n\n@NgModule({\n imports: [\n ButtonDirective,\n ButtonCloseDirective\n ],\n exports: [\n ButtonDirective,\n ButtonCloseDirective\n ]\n})\nexport class ButtonModule {}\n","import {\n AfterContentInit,\n Component,\n ContentChildren,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n Output,\n QueryList\n} from '@angular/core';\nimport { NgIf, NgTemplateOutlet } from '@angular/common';\nimport { animate, AnimationEvent, state, style, transition, trigger } from '@angular/animations';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\nimport { Colors } from '../coreui.types';\nimport { TemplateIdDirective } from '../shared';\nimport { ButtonCloseDirective } from '../button';\n\ntype AnimateType = ('hide' | 'show');\n\n@Component({\n selector: 'c-alert',\n templateUrl: './alert.component.html',\n styleUrls: ['./alert.component.scss'],\n exportAs: 'cAlert',\n standalone: true,\n imports: [NgIf, NgTemplateOutlet, ButtonCloseDirective],\n animations: [\n trigger('fadeInOut', [\n state('show', style({ opacity: 1, height: '*', padding: '*', border: '*', margin: '*' })),\n state('hide', style({ opacity: 0, height: 0, padding: 0, border: 0, margin: 0 })),\n state('void', style({ opacity: 0, height: 0, padding: 0, border: 0, margin: 0 })),\n transition('show => hide', [\n animate('.3s ease-out')\n ]),\n transition('hide => show', [\n animate('.3s ease-in')\n ]),\n transition('show => void', [\n animate('.3s ease-out')\n ]),\n transition('void => show', [\n animate('.3s ease-in')\n ])\n ])\n ]\n})\nexport class AlertComponent implements AfterContentInit {\n\n static ngAcceptInputType_dismissible: BooleanInput;\n static ngAcceptInputType_fade: BooleanInput;\n static ngAcceptInputType_visible: BooleanInput;\n\n hide!: boolean;\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n *\n * @type Colors\n * @default 'primary'\n */\n @Input() color: Colors = 'primary';\n /**\n * Default role for alert. [docs]\n * @type string\n * @default 'alert'\n */\n @HostBinding('attr.role')\n @Input() role = 'alert';\n /**\n * Set the alert variant to a solid.\n * @type string\n */\n @Input() variant?: 'solid' | string;\n /**\n * Event triggered on the alert dismiss.\n */\n @Output() visibleChange: EventEmitter<boolean> = new EventEmitter();\n templates: any = {};\n @ContentChildren(TemplateIdDirective, { descendants: true }) contentTemplates!: QueryList<TemplateIdDirective>;\n\n private _dismissible = false;\n\n /**\n * Optionally adds a close button to alert and allow it to self dismiss.\n * @type boolean\n */\n @Input()\n get dismissible(): boolean {\n return this._dismissible;\n }\n\n set dismissible(value: boolean) {\n this._dismissible = coerceBooleanProperty(value);\n }\n\n private _fade = false;\n\n /**\n * Adds animation for dismissible alert.\n * @type boolean\n */\n @Input()\n get fade(): boolean {\n return this._fade;\n }\n\n set fade(value: boolean) {\n this._fade = coerceBooleanProperty(value);\n }\n\n private _visible = true;\n\n get visible() {\n return this._visible;\n }\n\n /**\n * Toggle the visibility of alert component.\n * @type boolean\n */\n @Input()\n set visible(value: boolean) {\n if (this._visible !== value) {\n this._visible = coerceBooleanProperty(value);\n this.visibleChange.emit(value);\n }\n };\n\n @HostBinding('@.disabled')\n get animationDisabled(): boolean {\n return !this.fade;\n }\n\n @HostBinding('@fadeInOut')\n get animateType(): AnimateType {\n return this.visible ? 'show' : 'hide';\n }\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n alert: true,\n 'alert-dismissible': this.dismissible,\n fade: this.fade,\n show: !this.hide,\n [`alert-${this.color}`]: !!this.color && this.variant !== 'solid',\n [`bg-${this.color}`]: !!this.color && this.variant === 'solid',\n 'text-white': !!this.color && this.variant === 'solid'\n };\n }\n\n @HostListener('@fadeInOut.start', ['$event'])\n onAnimationStart($event: AnimationEvent): void {\n this.onAnimationEvent($event);\n }\n\n @HostListener('@fadeInOut.done', ['$event'])\n onAnimationDone($event: AnimationEvent): void {\n this.onAnimationEvent($event);\n }\n\n ngAfterContentInit(): void {\n this.contentTemplates.forEach((child: TemplateIdDirective) => {\n this.templates[child.id] = child.templateRef;\n });\n }\n\n onAnimationEvent(event: AnimationEvent): void {\n this.hide = event.phaseName === 'start' && event.toState === 'show';\n if (event.phaseName === 'done') {\n this.hide = (event.toState === 'hide' || event.toState === 'void');\n if (event.toState === 'show') {\n this.hide = false;\n }\n }\n }\n}\n","<ng-container *ngIf=\"visible || !hide\">\n <ng-template [ngIf]=\"dismissible\">\n <ng-container *ngTemplateOutlet=\"templates?.alertButtonCloseTemplate || defaultAlertButtonCloseTemplate\">\n </ng-container>\n </ng-template>\n <ng-content></ng-content>\n</ng-container>\n\n<ng-template #defaultAlertButtonCloseTemplate>\n <button (click)=\"visible=false\" aria-label=\"Close\" cButtonClose></button>\n</ng-template>\n","import { NgModule } from '@angular/core';\n\nimport { AlertComponent } from './alert.component';\nimport { AlertHeadingDirective } from './alert-heading.directive';\nimport { AlertLinkDirective } from './alert-link.directive';\n\n@NgModule({\n imports: [\n AlertComponent,\n AlertHeadingDirective,\n AlertLinkDirective\n ],\n exports: [\n AlertComponent,\n AlertHeadingDirective,\n AlertLinkDirective\n ]\n})\nexport class AlertModule {}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { NgClass, NgIf, NgTemplateOutlet } from '@angular/common';\n\nimport { Colors, Shapes, Sizes, TextColors } from '../coreui.types';\n\n@Component({\n selector: 'c-avatar',\n templateUrl: './avatar.component.html',\n standalone: true,\n imports: [\n NgTemplateOutlet,\n NgClass,\n NgIf\n ]\n})\nexport class AvatarComponent {\n /**\n * Sets the background color context of the component to one of CoreUI’s themed colors.\n * @type Colors\n */\n @Input() color?: Colors;\n /**\n * Select the shape of the component.\n * @type Shapes\n */\n @Input() shape?: Shapes;\n /**\n * Size the component small, large, or extra large.\n * @default 'md'\n */\n @Input() size?: Omit<Sizes, 'xxl'> = 'md';\n /**\n * The src attribute for the img element.\n * @type string\n */\n @Input() src?: string;\n /**\n * Sets the color context of the status indicator to one of CoreUI’s themed colors.\n * @type Colors\n */\n @Input() status?: Colors;\n /**\n * Sets the text color of the component to one of CoreUI’s themed colors.\n *\n * @values 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | 'white' | 'muted' | string\n */\n @Input() textColor?: TextColors;\n\n constructor() { }\n\n get statusClass(): any {\n return {\n 'avatar-status': true,\n [`bg-${this.status}`]: !!this.status\n };\n }\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n avatar: true,\n [`avatar-${this.size}`]: !!this.size,\n [`bg-${this.color}`]: !!this.color,\n [`${this.shape}`]: !!this.shape,\n [`text-${this.textColor}`]: !!this.textColor\n };\n }\n}\n","<ng-container>\n <ng-container *ngTemplateOutlet=\"defaultImageTemplate\"></ng-container>\n <span *ngIf=\"!!status\" [ngClass]=\"statusClass\"></span>\n</ng-container>\n\n<ng-template #defaultImageTemplate>\n <img *ngIf=\"!!src; else imageContent\" [src]=\"src\" class=\"avatar-img\" />\n <ng-template #imageContent>\n <ng-content></ng-content>\n </ng-template>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { AvatarComponent } from './avatar.component';\n\n@NgModule({\n imports: [\n AvatarComponent\n ],\n exports: [\n AvatarComponent\n ]\n})\nexport class AvatarModule {}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { BadgePositions, Colors, Shapes } from '../coreui.types';\n\n@Component({\n selector: 'c-badge',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class BadgeComponent {\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @type Colors\n */\n @Input() color?: Colors;\n /**\n * Position badge in one of the corners of a link or button.\n * @type BadgePositions\n */\n @Input() position?: BadgePositions;\n /**\n * Select the shape of the component.\n * @type Shapes\n */\n @Input() shape?: Shapes;\n /**\n * Size the component small.\n */\n @Input() size?: 'sm';\n /**\n * Sets the text color of the component to one of CoreUI’s themed colors.\n * @type TextColors\n */\n @Input() textColor?: string;\n\n constructor() {}\n\n @HostBinding('class')\n get hostClasses(): any {\n const positionClasses = {\n 'position-absolute': !!this.position,\n 'translate-middle': !!this.position,\n 'top-0': this.position?.includes('top'),\n 'top-100': this.position?.includes('bottom'),\n 'start-100': this.position?.includes('end'),\n 'start-0': this.position?.includes('start')\n };\n\n return Object.assign({\n badge: true,\n [`bg-${this.color}`]: !!this.color,\n [`text-${this.textColor}`]: !!this.textColor,\n [`badge-${this.size}`]: !!this.size,\n [`${this.shape}`]: !!this.shape\n }, !!this.position ? positionClasses : {}\n );\n }\n}\n","import { NgModule } from '@angular/core';\nimport { BadgeComponent } from './badge.component';\n\n@NgModule({\n imports: [\n BadgeComponent\n ],\n exports: [\n BadgeComponent\n ]\n})\nexport class BadgeModule {}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { NgIf, NgTemplateOutlet } from '@angular/common';\nimport { RouterModule } from '@angular/router';\n\nimport { HtmlAttributesDirective } from '../../shared';\nimport { INavAttributes, INavLinkProps } from './breadcrumb-item';\n\n@Component({\n selector: 'c-breadcrumb-item',\n templateUrl: './breadcrumb-item.component.html',\n styleUrls: ['./breadcrumb-item.component.scss'],\n standalone: true,\n imports: [RouterModule, NgIf, NgTemplateOutlet, HtmlAttributesDirective]\n})\nexport class BreadcrumbItemComponent {\n\n /**\n * Toggle the active state for the component. [docs]\n * @type boolean\n */\n @Input() active?: boolean;\n /**\n * The `url` prop for the inner `[routerLink]` directive. [docs]\n * @type string\n */\n @Input() url?: string | any[];\n /**\n * Additional html attributes for link. [docs]\n * @type INavAttributes\n */\n @Input() attributes?: INavAttributes;\n /**\n * Some `NavigationExtras` props for the inner `[routerLink]` directive and `routerLinkActiveOptions`. [docs]\n * @type INavLinkProps\n */\n @Input() linkProps?: INavLinkProps;\n\n @HostBinding('attr.aria-current') get ariaCurrent(): string | null {\n return this.active ? 'page' : null;\n }\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'breadcrumb-item': true,\n active: this.active\n };\n }\n}\n","<a *ngIf=\"!active; else activeItem\"\n [routerLink]=\"url\"\n [cHtmlAttr]=\"attributes ?? {}\"\n [target]=\"attributes?.['target']\"\n [queryParams]=\"linkProps?.queryParams ?? null\"\n [fragment]=\"linkProps?.fragment\"\n [queryParamsHandling]=\"linkProps?.queryParamsHandling ?? null\"\n [preserveFragment]=\"linkProps?.preserveFragment ?? false\"\n [skipLocationChange]=\"linkProps?.skipLocationChange ?? false\"\n [replaceUrl]=\"linkProps?.replaceUrl ?? false\"\n [state]=\"linkProps?.state ?? {}\"\n>\n <ng-container *ngTemplateOutlet=\"defaultBreadcrumbItemContentTemplate\"></ng-container>\n</a>\n\n<ng-template #activeItem>\n <span [cHtmlAttr]=\"attributes ?? {}\">\n <ng-container *ngTemplateOutlet=\"defaultBreadcrumbItemContentTemplate\"></ng-container>\n </span>\n</ng-template>\n\n<ng-template #defaultBreadcrumbItemContentTemplate>\n <ng-content></ng-content>\n</ng-template>\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'c-breadcrumb',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class BreadcrumbComponent {\n /**\n * Default aria-label for breadcrumb. [docs]\n * @type string\n * @default 'breadcrumb'\n */\n @HostBinding('attr.aria-label')\n @Input() ariaLabel = 'breadcrumb';\n\n /**\n * Default role for breadcrumb. [docs]\n * @type string\n * @default 'navigation'\n */\n @HostBinding('attr.role')\n @Input() role = 'navigation';\n\n @HostBinding('class')\n get hostClasses() {\n return {\n breadcrumb: true\n }\n }\n\n constructor() { }\n\n}\n","import { Injectable } from '@angular/core';\nimport { Router, ActivatedRoute, NavigationEnd } from '@angular/router';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { IBreadcrumbItem } from '../breadcrumb-item/breadcrumb-item';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class BreadcrumbRouterService {\n public outlet = 'primary';\n\n breadcrumbs$: Observable<IBreadcrumbItem[]>;\n private breadcrumbsBehaviorSubject: BehaviorSubject<IBreadcrumbItem[]>;\n\n constructor(private router: Router, private route: ActivatedRoute) {\n this.breadcrumbsBehaviorSubject = new BehaviorSubject<any[]>(\n new Array<IBreadcrumbItem>()\n );\n\n this.breadcrumbs$ = this.breadcrumbsBehaviorSubject.asObservable();\n\n this.router.events\n .pipe(filter((event) => event instanceof NavigationEnd))\n .subscribe((event) => {\n const breadcrumbs: any[] = [];\n let currentRoute: ActivatedRoute | null = this.route.root;\n let url = '';\n do {\n const childrenRoutes: ActivatedRoute[] = currentRoute.children;\n currentRoute = null;\n childrenRoutes.forEach((childRoute) => {\n // console.log('breadcrumb event', event, 'route', route);\n if (childRoute.outlet === this.outlet) {\n const routeSnapshot = childRoute.snapshot;\n url +=\n '/' +\n routeSnapshot.url.map((segment) => segment.path).join('/');\n breadcrumbs.push({\n label: childRoute.snapshot.data['title'] || '',\n url,\n queryParams: routeSnapshot.queryParams,\n });\n currentRoute = childRoute;\n }\n });\n } while (currentRoute);\n\n this.breadcrumbsBehaviorSubject.next(Object.assign([], breadcrumbs));\n\n // console.log('breadcrumbs', breadcrumbs);\n return breadcrumbs;\n });\n }\n}\n","import { Component, Input, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';\nimport { Observable, Observer } from 'rxjs';\nimport { AsyncPipe, NgForOf, NgIf } from '@angular/common';\n\nimport { IBreadcrumbItem } from '../breadcrumb-item/breadcrumb-item';\nimport { BreadcrumbComponent } from '../breadcrumb/breadcrumb.component';\nimport { BreadcrumbRouterService } from './breadcrumb-router.service';\nimport { BreadcrumbItemComponent } from '../breadcrumb-item/breadcrumb-item.component';\n\n@Component({\n selector: 'c-breadcrumb-router, [cBreadcrumbRouter]',\n templateUrl: './breadcrumb-router.component.html',\n styleUrls: ['./breadcrumb-router.component.scss'],\n standalone: true,\n imports: [BreadcrumbComponent, BreadcrumbItemComponent, NgForOf, NgIf, AsyncPipe]\n})\nexport class BreadcrumbRouterComponent implements OnChanges, OnDestroy, OnInit {\n constructor(\n public service: BreadcrumbRouterService\n ) {}\n\n /**\n * Optional array of IBreadcrumbItem to override default BreadcrumbRouter behavior. [docs]\n * @type IBreadcrumbItem[]\n */\n @Input() items?: IBreadcrumbItem[];\n public breadcrumbs: Observable<IBreadcrumbItem[]> | undefined;\n\n ngOnInit(): void {\n this.breadcrumbs = this.service.breadcrumbs$;\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (changes['items']) {\n this.setup();\n }\n }\n\n setup(): void {\n if (this.items && this.items.length > 0) {\n this.breadcrumbs = new Observable<IBreadcrumbItem[]>(\n (observer: Observer<IBreadcrumbItem[]>) => {\n if (this.items) {\n observer.next(this.items);\n }\n }\n );\n }\n }\n\n ngOnDestroy(): void {\n this.breadcrumbs = undefined;\n }\n}\n","<c-breadcrumb class=\"m-0\">\n <ng-template ngFor let-breadcrumb [ngForOf]=\"breadcrumbs | async\" let-last=\"last\">\n <ng-container *ngIf=\"breadcrumb?.label && (breadcrumb?.url?.slice(-1) === '/' || last)\">\n <c-breadcrumb-item\n [active]=\"last\"\n [url]=\"breadcrumb?.url\"\n [attributes]=\"breadcrumb?.attributes\"\n [linkProps]=\"breadcrumb?.linkProps\"\n >\n {{ breadcrumb?.label }}\n </c-breadcrumb-item>\n </ng-container>\n </ng-template>\n</c-breadcrumb>\n","import { NgModule } from '@angular/core';\n\n// CoreUI Breadcrumb Component\nimport { BreadcrumbComponent } from './breadcrumb/breadcrumb.component';\nimport { BreadcrumbItemComponent } from './breadcrumb-item/breadcrumb-item.component';\nimport { BreadcrumbRouterComponent } from './breadcrumb-router/breadcrumb-router.component';\nimport { BreadcrumbRouterService } from './breadcrumb-router/breadcrumb-router.service';\n\n@NgModule({\n imports: [\n BreadcrumbComponent,\n BreadcrumbItemComponent,\n BreadcrumbRouterComponent\n ],\n exports: [\n BreadcrumbComponent,\n BreadcrumbItemComponent,\n BreadcrumbRouterComponent\n ],\n providers: [BreadcrumbRouterService]\n})\nexport class BreadcrumbModule {}\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'c-button-group',\n template: `<ng-content></ng-content>`,\n standalone: true\n})\nexport class ButtonGroupComponent {\n\n /**\n * Size the component small or large.\n * @type { 'sm' | 'lg' }\n */\n @Input() size?: 'sm' | 'lg';\n /**\n * Create a set of buttons that appear vertically stacked rather than horizontally. Split button dropdowns are not supported here.\n * @type boolean\n */\n @Input() vertical?: boolean;\n /**\n * Default role attr for ButtonGroup. [docs]\n * @type string\n * @default 'group'\n */\n @HostBinding('attr.role')\n @Input() role = 'group';\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'btn-group': !this.vertical,\n 'btn-group-vertical': this.vertical,\n [`btn-group-${this.size}`]: !!this.size,\n };\n }\n\n\n constructor() { }\n\n}\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'c-button-toolbar',\n template: `<ng-content></ng-content>`,\n standalone: true\n})\nexport class ButtonToolbarComponent {\n /**\n * Default role attr for ButtonToolbar. [docs]\n * @type string\n * @default 'toolbar'\n */\n @HostBinding('attr.role')\n @Input() role = 'toolbar';\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'btn-toolbar': true,\n };\n }\n\n constructor() { }\n\n}\n","import { NgModule } from '@angular/core';\nimport { ButtonGroupComponent } from './button-group/button-group.component';\nimport { ButtonToolbarComponent } from './button-toolbar/button-toolbar.component';\n\n@NgModule({\n imports: [ButtonGroupComponent, ButtonToolbarComponent],\n exports: [ButtonGroupComponent, ButtonToolbarComponent]\n})\nexport class ButtonGroupModule {}\n","import { Injectable, KeyValueDiffer, KeyValueDiffers } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n// import { isValidDate } from './calendar.utils';\nimport { isValid } from 'date-fns';\n\nexport type DateFilterType = (date: Date) => boolean;\nexport type DayFormatType = 'numeric' | '2-digit' | ((date: Date) => string | number);\nexport type WeekdayFormatType = number | 'long' | 'narrow' | 'short' | ((date: Date) => string | number);\n\nexport interface ICalendarState {\n [key: string]: any;\n\n calendarDate?: Date | null;\n hoverDate?: Date | null;\n startDate?: Date | null;\n endDate?: Date | null;\n maxDate?: Date | null;\n minDate?: Date | null;\n disabledDates?: (Date | Date[])[];\n range?: boolean;\n view?: string;\n locale?: string;\n dateFilter?: DateFilterType,\n dayFormat?: DayFormatType,\n weekdayFormat?: WeekdayFormatType;\n navYearFirst?: boolean;\n showAdjacentDays?: boolean;\n selectAdjacentDays?: boolean;\n}\n\n@Injectable()\nexport class CalendarService {\n\n constructor(\n private keyValueDiffers: KeyValueDiffers\n ) {\n this.differ = this.keyValueDiffers.find(this.calendarStateObject).create();\n }\n\n private readonly differ!: KeyValueDiffer<any, any>;\n\n public calendarStateObject: ICalendarState = {\n calendarDate: new Date(),\n hoverDate: null,\n startDate: null,\n endDate: null,\n maxDate: null,\n minDate: null,\n disabledDates: [],\n range: false,\n view: 'days',\n locale: 'default',\n dateFilter: undefined,\n weekdayFormat: 'short',\n dayFormat: 'numeric',\n navYearFirst: false,\n showAdjacentDays: true,\n selectAdjacentDays: false\n };\n\n private calendarState = new BehaviorSubject<ICalendarState>(this.calendarStateObject);\n calendarState$ = this.calendarState.asObservable();\n\n update(state: ICalendarState): void {\n const keys = Object.keys(state);\n for (const key of keys) {\n const entry = this.calendarStateObject[key];\n if (entry === state[key]) {\n continue;\n }\n // if (isValidDate(state[key]) && entry ? entry.getTime() === state[key]?.getTime() : false) {\n if (isValid(state[key]) && entry ? entry.getTime() === state[key]?.getTime() : false) {\n continue;\n }\n this.calendarStateObject[key] = state[key];\n }\n\n if (this.differ) {\n const changes = this.differ.diff(this.calendarStateObject);\n if (changes) {\n const newState: ICalendarState = { ...this.calendarStateObject };\n changes.forEachChangedItem(item => {\n // console.log('changes', item.key, item, );\n newState[item.key] = item.currentValue;\n });\n this.calendarState.next(newState);\n }\n }\n }\n}\n","import { Component, EventEmitter, HostBinding, Input, OnDestroy, Output } from '@angular/core';\nimport { NgIf, NgStyle } from '@angular/common';\nimport { Subscription } from 'rxjs';\n\nimport { ButtonDirective } from '../../button';\nimport { CalendarService } from '../calendar.service';\n\ninterface INavigationClick {\n direction: ('prev' | 'next');\n years: boolean;\n}\n\n@Component({\n selector: 'c-calendar-navigation',\n templateUrl: './calendar-navigation.component.html',\n styleUrls: ['./calendar-navigation.component.scss'],\n standalone: true,\n imports: [ButtonDirective, NgIf, NgStyle]\n})\nexport class CalendarNavigationComponent implements OnDestroy {\n\n constructor(\n private calendarService: CalendarService\n ) {\n this.calendarStateSubscribe();\n }\n\n @Input() addMonths: number = 0;\n\n @Input()\n set calendarDate(value: Date) {\n this._calendarDate = value;\n };\n\n get calendarDate() {\n return this._calendarDate;\n }\n\n private _calendarDate = new Date();\n\n @Input() navigation: boolean = true;\n @Input() navYearFirst: boolean = false;\n\n locale: string = 'default';\n view: 'days' | 'months' | 'years' = 'days';\n\n @Output() navigationClick: EventEmitter<INavigationClick> = new EventEmitter<INavigationClick>();\n private calendarStateSubscription!: Subscription;\n\n get date() {\n return new Date(this.calendarDate.getFullYear(), this.calendarDate.getMonth() + this.addMonths);\n }\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'calendar-nav': true\n };\n }\n\n ngOnDestroy(): void {\n this.calendarStateSubscribe(false);\n }\n\n calendarStateSubscribe(subscribe: boolean = true): void {\n if (subscribe) {\n this.calendarStateSubscription =\n this.calendarService.calendarState$.subscribe(state => {\n const keys = Object.keys(state);\n for (const key of keys) {\n if (key in this) {\n // @ts-ignore\n this[key] = state[key];\n }\n }\n });\n return;\n }\n this.calendarStateSubscription?.unsubscribe();\n }\n\n setView(view: 'days' | 'months' | 'years') {\n this.view = view;\n this.calendarService.update({ view: view });\n }\n\n handleNavigationClick(direction: 'prev' | 'next', years = false) {\n this.navigationClick.emit({ direction, years: years });\n }\n}\n","<div *ngIf=\"navigation\" class=\"calendar-nav-prev\">\n <button\n (click)=\"handleNavigationClick('prev', true)\"\n cButton\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n >\n <span class=\"calendar-nav-icon calendar-nav-icon-double-prev\"></span>\n </button>\n <button\n (click)=\"handleNavigationClick('prev')\"\n *ngIf=\"view === 'days'\"\n cButton\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n >\n <span class=\"calendar-nav-icon calendar-nav-icon-prev\"></span>\n </button>\n</div>\n<div class=\"calendar-nav-date\" [ngStyle]=\"navYearFirst ? { display: 'flex', justifyContent: 'center' } : {}\">\n <button\n (click)=\"setView('months')\"\n *ngIf=\"view === 'days'\"\n cButton\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n >\n {{ date.toLocaleDateString(locale, { month: 'long' }) }}\n </button>\n <button (click)=\"setView('years')\" cButton color=\"transparent\" size=\"sm\" tabindex=\"0\" [ngStyle]=\"navYearFirst ? { order: '-1' } : {}\">\n {{ date.toLocaleDateString(locale, { year: 'numeric' }) }}\n </button>\n</div>\n<div *ngIf=\"navigation\" class=\"calendar-nav-next\">\n <button\n (click)=\"handleNavigationClick('next')\"\n *ngIf=\"view === 'days'\"\n cButton\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n >\n <span class=\"calendar-nav-icon calendar-nav-icon-next\"></span>\n </button>\n <button\n (click)=\"handleNavigationClick('next', true)\"\n cButton\n color=\"transparent\"\n size=\"sm\"\n tabindex=\"0\"\n >\n <span class=\"calendar-nav-icon calendar-nav-icon-double-next\"></span>\n </button>\n</div>\n","import { isValid } from 'date-fns';\n\nexport const convertToLocalDate = (d: Date, locale: string, options = {}) => d.toLocaleDateString(locale, options);\n\nexport const convertToLocalTime = (d: Date, locale: string, options = {}) => d.toLocaleTimeString(locale, options);\n\nexport const createGroupsInArray = (arr: any[], numberOfGroups: number) => {\n const perGroup = Math.ceil(arr.length / numberOfGroups);\n return new Array(numberOfGroups)\n .fill('')\n .map((_, i) => arr.slice(i * perGroup, (i + 1) * perGroup));\n};\n\nexport const getCurrentYear = () => new Date().getFullYear();\n\nexport const getCurrentMonth = () => new Date().getMonth();\n\nexport const getLocalDateFromString = (string: string, locale: string, time?: boolean) => {\n const date = new Date(2013, 11, 31, 17, 19, 22);\n let regex = time ? date.toLocaleString(locale) : date.toLocaleDateString(locale);\n regex = regex\n .replace('2013', '(?<year>[0-9]{2,4})')\n .replace('12', '(?<month>[0-9]{1,2})')\n .replace('31', '(?<day>[0-9]{1,2})');\n\n if (time) {\n regex = regex\n .replace('5', '(?<hour>[0-9]{1,2})')\n .replace('17', '(?<hour>[0-9]{1,2})')\n .replace('19', '(?<minute>[0-9]{1,2})')\n .replace('22', '(?<second>[0-9]{1,2})')\n .replace('PM', '(?<ampm>[A-Z]{2})');\n }\n\n const rgx = RegExp(`${regex}`);\n const partials = string.match(rgx);\n\n if (partials === null) {\n return;\n }\n\n const newDate = partials.groups && (time ? new Date(Number(partials.groups['year']), Number(partials.groups['month']) - 1, Number(partials.groups['day']), partials.groups['ampm'] ? partials.groups['ampm'] === 'PM' ? Number(partials.groups['hour']) + 12 : Number(partials.groups['hour']) : Number(partials.groups['hour']), Number(partials.groups['minute']), Number(partials.groups['second'])) : new Date(Number(partials.groups['year']), Number(partials.groups['month']) - 1, Number(partials.groups['day'])));\n\n return newDate;\n};\n\nexport const getMonthName = (month: number, locale: string) => {\n const d = new Date();\n d.setDate(1);\n d.setMonth(month);\n return d.toLocaleString(locale, { month: 'long' });\n};\n\nexport const getMonthsNames = (locale: string) => {\n const months = [];\n const d = new Date();\n d.setDate(1);\n\n for (let i = 0; i < 12; i++) {\n d.setMonth(i);\n months.push(d.toLocaleDateString(locale, { month: 'short' }));\n }\n\n return months;\n};\n\nexport const getYears = (year: number) => {\n const years = [];\n for (let _year = year - 6; _year < year + 6; _year++) {\n years.push(_year);\n }\n\n return years;\n};\n\nconst getLeadingDays = (year: number, month: number, firstDayOfWeek: number) => {\n // 0: sunday\n // 1: monday\n const dates = [];\n const d = new Date(year, month);\n const y = d.getFullYear();\n const m = d.getMonth();\n const firstWeekday = new Date(y, m, 1).getDay();\n let leadingDays = 6 - (6 - firstWeekday) - firstDayOfWeek;\n\n if (firstDayOfWeek) {\n leadingDays = leadingDays < 0 ? 7 + leadingDays : leadingDays;\n }\n\n for (let i = leadingDays * -1; i < 0; i++) {\n dates.push({\n date: new Date(y, m, i + 1), month: 'previous'\n });\n }\n\n return dates;\n};\n\nconst getMonthDays = (year: number, month: number) => {\n const dates = [];\n const lastDay = new Date(year, month + 1, 0).getDate();\n for (let i = 1; i <= lastDay; i++) {\n dates.push({\n date: new Date(year, month, i), month: 'current'\n });\n }\n return dates;\n};\n\nconst getTrailingDays = (\n year: number,\n month: number,\n leadingDays: { date: Date; month: string }[],\n monthDays: { date: Date; month: string }[]\n) => {\n const dates = [];\n const days = 42 - (leadingDays.length + monthDays.length);\n for (let i = 1; i <= days; i++) {\n dates.push({\n date: new Date(year, month + 1, i), month: 'next'\n });\n }\n return dates;\n};\n\nexport const getMonthDetails = (year: number, month: number, firstDayOfWeek: number) => {\n const daysPrevMonth = getLeadingDays(year, month, firstDayOfWeek);\n const daysThisMonth = getMonthDays(year, month);\n const daysNextMonth = getTrailingDays(year, month, daysPrevMonth, daysThisMonth);\n const days = [...daysPrevMonth, ...daysThisMonth, ...daysNextMonth];\n\n const weeks: { date: Date; month: string }[][] = [];\n\n days.forEach((day, index) => {\n if (index % 7 === 0 || weeks.length === 0) {\n weeks.push([]);\n }\n weeks[weeks.length - 1].push(day);\n });\n\n return weeks;\n};\n\nexport const isDateDisabled = (date: Date | null, min?: Date | null, max?: Date | null, dates?: (Date | Date[])[]) => {\n if (!date) {\n return false;\n }\n if (!min && !max && (!dates || !dates.length)) {\n return false;\n }\n let disabled;\n if (dates) {\n dates.forEach((_date: Date | Date[]) => {\n if (Array.isArray(_date)) {\n if (isDateInRange(date, _date[0], _date[1])) {\n disabled = true;\n }\n }\n if (_date instanceof Date) {\n if (isSameDateAs(date, _date)) {\n disabled = true;\n }\n }\n });\n }\n if (min && date < min) {\n disabled = true;\n }\n\n if (max && date > max) {\n disabled = true;\n }\n return disabled;\n};\n\nexport const isDateInRange = (date: Date | null, start: Date | null, end: Date | null) => {\n return date && start && end && start <= date && date <= end;\n};\n\nexport const isDateSelected = (date: Date | null, start: Date | null, end: Date | null) => {\n return date && ((start && isSameDateAs(start, date)) || (end && isSameDateAs(end, date)));\n};\n\nexport const isEndDate = (date: Date | null, start: Date | null, end: Date | null) => {\n return date && start && end && isSameDateAs(end, date) && start < end;\n};\n\nexport const isLastDayOfMonth = (date: Date) => {\n const test = new Date(date.getTime());\n const month = test.getMonth();\n\n test.setDate(test.getDate() + 1);\n return test.getMonth() !== month;\n};\n\nexport const isSameDateAs = (date: Date, date2: Date) => {\n return (date.getDate() == date2.getDate() && date.getMonth() == date2.getMonth() && date.getFullYear() == date2.getFullYear());\n};\n\nexport const isStartDate = (date: Date | null, start: Date | null, end: Date | null) => {\n return date && start && end && isSameDateAs(start, date) && start < end;\n};\n\nexport const isToday = (date: Date) => {\n const today = new Date();\n return (date.getDate() == today.getDate() && date.getMonth() == today.getMonth() && date.getFullYear() == today.getFullYear());\n};\n\nexport const isThisMonth = (date: Date, index: number) => {\n const today = new Date();\n return (index == today.getMonth() && date.getFullYear() == today.getFullYear());\n};\n\nexport const isThisYear = (year: number) => {\n const today = new Date();\n return (year == today.getFullYear());\n};\n\nexport const isValidDate = (date: Date | string | number) => {\n const d = new Date(date);\n // console.log('isValidDate', date, d.getTime(), !!d.getTime())\n return !!d.getTime();\n};\n\nexport const tryDate = (value: string | number | Date, propName: string = 'date') => {\n let _value;\n try {\n if (!isValid(value)) {\n throw value;\n }\n _value = new Date(value);\n } catch (err) {\n console.warn(`Invalid ${propName}`, err);\n _value = new Date();\n _value.setHours(0, 0, 0, 0);\n }\n return _value;\n};\n\nexport const isDateInRangeDisabled = (startDate?: Date | null, endDate?: Date | null, dates?: (Date | Date[])[]) => {\n if (!dates || !dates.length) {\n return false;\n }\n if (startDate && endDate) {\n const date = new Date(startDate);\n let disabled = false;\n\n while (date < endDate) {\n date.setDate(date.getDate() + 1);\n if (isDateDisabled(date, null, null, dates)) {\n disabled = true;\n break;\n }\n }\n return disabled;\n }\n return false;\n};\n\n// export const stringToDateConvert = (date: string, locales: string) => {\n// const formatter = new Intl.DateTimeFormat('fr-FR');\n// const parts = formatter.formatToParts();\n// console.log(date, parts, formatter.format(), formatter.resolvedOptions(), formatter.format());\n// };\n\n// declare namespace Intl {\n// type DateTimeFormatPartTypes = \"day\" | \"dayPeriod\" | \"era\" | \"fractionalSecond\" | \"hour\" | \"literal\" | \"minute\" | \"month\" | \"second\" | \"timeZoneName\" | \"weekday\" | \"year\";\n//\n// interface DateTimeFormatPart {\n// type: DateTimeFormatPartTypes;\n// value: string;\n// }\n//\n// interface DateTimeFormat {\n// formatToParts(date?: Date | number): DateTimeFormatPart[];\n// }\n// }\n\ntype DateTimeFormatPartTypes =\n 'day'\n | 'dayPeriod'\n | 'era'\n | 'fractionalSecond'\n | 'hour'\n | 'literal'\n | 'minute'\n | 'month'\n | 'second'\n | 'timeZoneName'\n | 'weekday'\n | 'year';\ntype DateFormatPartTypes = 'day' | 'month' | 'year' | 'literal';\n\n// type DateParts = {\n// [key in DateTimeFormatPartTypes]?: string;\n// };\n\n// type DateParts = {\n// year: number, month: number, day: number, literal: string\n// };\n//\n// export const cvtDate = (dateAsString: string, locale = 'pl-PL') => {\n// const dateString = dateAsString ?? new Date().toLocaleDateString(locale);\n// const dateSplit = dateString.split(/[.\\-\\/\\s\\D]/gi).filter(item => !!item.length);\n// const formatter = new Intl.DateTimeFormat(locale);\n// const parts = formatter.formatToParts().filter(part => ['year', 'month', 'day'].includes(part.type));\n// const dateShim = {\n// day: undefined, month: undefined, year: undefined\n// };\n// parts.forEach((part, index) => {\n// const { type, value } = { ...part };\n// // @ts-ignore\n// dateShim[type] = dateSplit[index];\n// });\n//\n// return dateShim;\n//\n// // const dateParts: DateParts = {\n// // year: 0,\n// // month: 0,\n// // day: 0,\n// // literal: '/'\n// // };\n// //\n// // const literal = parts.find(part => part.type === 'literal')?.value ?? '/';\n// // // const year = parseInt(parts.find(part => part.type === 'year')?.value ?? '0');\n// // // const month = parseInt(parts.find(part => part.type === 'year')?.value ?? '0');\n// // // const day = parseInt(parts.find(part => part.type === 'year')?.value ?? '0');\n// //\n// // const dateArray = dateString.split(literal);\n// //\n// // parts.forEach(part => {\n// // const {type, value} = {...part};\n// // if (type === 'day') {\n// //\n// // }\n// // })\n// //\n// // parts.filter(part => part.type in dateParts).map(part => {\n// // const {type, value} = {...part};\n// // // @ts-ignore\n// // dateParts[type] = parseInt(part.value);\n// // //\n// // // switch (type) {\n// // // case 'day':\n// // // day = parseInt(value);\n// // // break;\n// // // case 'month':\n// // // month = parseInt(value);\n// // // break;\n// // // case 'year':\n// // // year = parseInt(value);\n// // // break;\n// // // }\n// // })\n// // // const { year, month, day } = {...dateParts}\n// // return new Date(year, month - 1, day);\n// };\n//\n// // function getDateX(dateAsString) {\n// // const [day, month, year] = dateAsString.split('/');\n// // return new Date(year, month - 1, day);\n// // }\n//\n// // getDate('12/07/1997');\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { WeekdayFormatType } from '../calendar.service';\n\n@Pipe({\n name: 'calendarWeekday',\n standalone: true\n})\nexport class CalendarWeekdayPipe implements PipeTransform {\n\n transform(date: Date, weekdayFormat: WeekdayFormatType = 'short', locale: string = 'default'): (string | number) {\n return typeof weekdayFormat === 'function'\n ? weekdayFormat(date)\n : typeof weekdayFormat === 'string'\n ? date.toLocaleDateString(locale, { weekday: weekdayFormat })\n : date.toLocaleDateString(locale, { weekday: 'long' }).slice(0, weekdayFormat);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isThisYear } from '../calendar.utils';\n\n@Pipe({\n name: 'calendarClassYear',\n standalone: true\n})\nexport class CalendarClassYearPipe implements PipeTransform {\n\n transform(year: number, args?: any): any {\n return {\n 'calendar-cell': true,\n year: true,\n today: isThisYear(year)\n };\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isThisMonth } from '../calendar.utils';\n\n@Pipe({\n name: 'calendarClassMonth',\n standalone: true\n})\nexport class CalendarClassMonthPipe implements PipeTransform {\n\n transform(calendarDate: string | number | Date, monthIndex: number): any {\n const date = new Date(calendarDate);\n\n return {\n 'calendar-cell': true,\n month: true,\n today: isThisMonth(date, monthIndex)\n };\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DayFormatType } from '../calendar.service';\n\n@Pipe({\n name: 'calendarDay',\n standalone: true\n})\nexport class CalendarDayPipe implements PipeTransform {\n\n transform(date: Date, dayFormat: DayFormatType = 'numeric', locale: string = 'default'): (string | number) {\n return typeof dayFormat === 'function' ?\n dayFormat(date) :\n date.toLocaleDateString(locale, { day: dayFormat });\n }\n}\n","import { Directive, HostBinding, Input, OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport {\n isDateDisabled,\n isDateInRange,\n isDateInRangeDisabled,\n isDateSelected,\n isEndDate,\n isStartDate\n} from '../calendar.utils';\nimport { CalendarService, DateFilterType } from '../calendar.service';\n\n@Directive({\n selector: '[cCalendarDay]',\n standalone: true\n})\nexport class CalendarDayDirective implements OnDestroy {\n\n constructor(\n private calendarService: CalendarService\n ) {\n this.calendarStateSubscribe();\n }\n\n private date: Date | null = null;\n private month?: string;\n private startDate: Date | null = null;\n private endDate: Date | null = null;\n private hoverDate: Date | null = null;\n private maxDate: Date | null = null;\n private minDate: Date | null = null;\n private range: boolean = false;\n private disabledDates!: (Date | Date[])[];\n private calendarStateSubscription!: Subscription;\n private dateFilter!: DateFilterType;\n private selectAdjacentDays!: boolean;\n\n private _dateObj?: { date: Date; month: string; };\n\n @Input('cCalendarDay')\n set dateObj(value: { date: Date; month: string }) {\n this._dateObj = value;\n this.date = value.date;\n this.month = value.month;\n }\n\n get selectEndDate(): boolean {\n return (this.range && !!this.startDate && !this.endDate);\n }\n\n @HostBinding('class')\n get hostClasses(): any {\n\n if (!this.date) {\n return;\n }\n\n const rangeHover = this.month === 'current' && this.selectEndDate && isDateInRange(this.date, this.startDate, this.hoverDate);\n const start = isStartDate(this.date, this.startDate, this.endDate);\n const end = isEndDate(this.date, this.startDate, this.endDate);\n const inRange = this.month === 'current' && (isDateInRange(this.date, this.startDate, this.endDate) || !!start || !!end);\n const selected = isDateSelected(this.date, this.startDate, this.endDate);\n const disabledRange = isDateInRangeDisabled(this.startDate, this.date, this.disabledDates);\n const disabledDate = isDateDisabled(this.date, this.minDate, this.maxDate, this.disabledDates);\n const disabledByFilter = this.dateFilter ? !this.dateFilter(this.date) : false;\n const clickable = this.month !== 'current' && this.selectAdjacentDays;\n\n return {\n 'range-hover': rangeHover && (!disabledRange || !disabledByFilter),\n selected: !!selected,\n range: inRange,\n start: !!start,\n end: !!end,\n disabled: disabledDate || disabledByFilter,\n clickable: clickable\n };\n }\n\n ngOnDestroy(): void {\n this.calendarStateSubscribe(false);\n }\n\n calendarStateSubscribe(subscribe: boolean = true): void {\n if (subscribe) {\n this.calendarStateSubscription =\n this.calendarService.calendarState$.subscribe(state => {\n const {\n startDate = this.startDate,\n endDate = this.endDate,\n hoverDate = this.hoverDate,\n range = this.range,\n maxDate = this.maxDate,\n minDate = this.minDate,\n disabledDates = this.disabledDates,\n dateFilter = this.dateFilter,\n selectAdjacentDays = this.selectAdjacentDays\n } = { ...state };\n this.startDate = startDate;\n this.endDate = endDate;\n this.range = range;\n this.hoverDate = hoverDate;\n this.maxDate = maxDate;\n this.minDate = minDate;\n this.disabledDates = disabledDates;\n this.dateFilter = dateFilter;\n this.selectAdjacentDays = selectAdjacentDays;\n });\n return;\n }\n this.calendarStateSubscription?.unsubscribe();\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'calendarDayTitle',\n standalone: true\n})\nexport class CalendarDayTitlePipe implements PipeTransform {\n\n transform(date: Date, locale: string = 'default'): string {\n return date.toLocaleDateString(locale);\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isDateDisabled, isLastDayOfMonth, isToday } from '../calendar.utils';\n\n@Pipe({\n name: 'calendarClassDay',\n standalone: true\n})\nexport class CalendarClassDayPipe implements PipeTransform {\n\n transform(dateObj: { date: Date; month: string; }, datesConfig?: { minDate: any; maxDate: any; disabledDates: any; dateFilter: any; }): any {\n const { date, month } = { ...dateObj };\n const { minDate, maxDate, disabledDates, dateFilter } = { ...datesConfig };\n // @ts-ignore\n const disabled = isDateDisabled(date, minDate, maxDate, disabledDates) || (dateFilter ? !dateFilter(date) : false);\n\n return {\n 'calendar-cell': true,\n today: isToday(date),\n disabled: disabled,\n next: month === 'next',\n previous: month === 'previous',\n last: isLastDayOfMonth(date)\n };\n }\n}\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { NgClass, NgForOf, NgIf, NgSwitch, NgSwitchCase, NgSwitchDefault } from '@angular/common';\nimport { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { Subscription } from 'rxjs';\n\nimport {\n createGroupsInArray,\n getMonthDetails,\n getMonthsNames,\n getYears,\n isDateDisabled,\n isDateInRangeDisabled,\n tryDate\n} from '../calendar.utils';\n\nimport { CalendarService, DateFilterType, DayFormatType, WeekdayFormatType } from '../calendar.service';\nimport { CalendarWeekdayPipe } from './calendar-weekday.pipe';\nimport { CalendarClassYearPipe } from './calendar-class-year.pipe';\nimport { CalendarClassMonthPipe } from './calendar-class-month.pipe';\nimport { CalendarDayPipe } from './calendar-day.pipe';\nimport { CalendarDayDirective } from './calendar-day.directive';\nimport { CalendarDayTitlePipe } from './calendar-day-title.pipe';\nimport { CalendarClassDayPipe } from './calendar-class-day.pipe';\n\n@Component({\n selector: 'c-calendar-month',\n templateUrl: './calendar-month.component.html',\n exportAs: 'cCalendarMonth',\n standalone: true,\n imports: [\n CalendarDayDirective,\n CalendarDayPipe,\n CalendarDayTitlePipe,\n CalendarClassDayPipe,\n CalendarClassMonthPipe,\n CalendarClassYearPipe,\n CalendarWeekdayPipe,\n NgClass,\n NgForOf,\n NgIf,\n NgSwitch,\n NgSwitchCase,\n NgSwitchDefault\n ]\n})\nexport class CalendarMonthComponent implements OnInit, OnDestroy {\n\n constructor(\n private calendarService: CalendarService\n ) {\n this.calendarStateSubscribe();\n }\n\n @Input() addMonths: number = 0;\n\n /**\n * Initial selected date.\n * @type (Date | null)\n */\n @Input()\n set startDate(value: Date | number | string | null | undefined) {\n const date = !!value ? tryDate(value, 'startDate') : null;\n if (this._startDate?.getTime() !== date?.getTime()) {\n this._startDate = date;\n this.calendarService.update({ startDate: this._startDate });\n }\n }\n\n get startDate() {\n return this._startDate;\n }\n\n _startDate: Date | null = null;\n\n /**\n * Initial selected to date (range).\n * @type (Date | null)\n */\n @Input()\n set endDate(value: Date | number | string | null | undefined) {\n const date = !!value ? tryDate(value, 'endDate') : null;\n if (this._endDate?.getTime() !== date?.getTime()) {\n this._endDate = date;\n this.calendarService.update({ endDate: this._endDate });\n }\n }\n\n get endDate() {\n return this._endDate;\n }\n\n _endDate: (Date | null) = null;\n\n /**\n * Specify the list of dates that cannot be selected.\n * @type (Date[] | Date[][])\n */\n @Input()\n set disabledDates(value: Date[] | Date[][]) {\n this._disabledDates = value;\n }\n\n get disabledDates(): Date[] | Date[][] {\n return this._disabledDates;\n }\n\n private _disabledDates: (Date[] | Date[][]) = [];\n\n /**\n * Sets the day of start week.\n * - 0 - Sunday,\n * - 1 - Monday,\n * - 2 - Tuesday,\n * - 3 - Wednesday,\n * - 4 - Thursday,\n * - 5 - Friday,\n * - 6 - Saturday,\n */\n @Input()\n set firstDayOfWeek(value: number) {\n this._firstDayOfWeek = coerceNumberProperty(value);\n }\n\n get firstDayOfWeek(): number {\n return this._firstDayOfWeek;\n }\n\n private _firstDayOfWeek: number = 1;\n\n /**\n * Sets the default locale for components. If not set, it is inherited from the browser.\n * @default 'default'\n */\n @Input()\n set locale(value) {\n this._locale = value;\n this.listOfMonths = createGroupsInArray(getMonthsNames(value), 4);\n }\n\n get locale() {\n return this._locale;\n }\n\n private _locale: string = 'default';\n\n /**\n * Allow range selection.\n */\n @Input()\n set range(value: boolean) {\n this._range = coerceBooleanProperty(value);\n }\n\n get range(): boolean {\n return this._range;\n }\n\n private _range: boolean = false;\n\n /**\n * Set length or format of day name.\n * @type number | 'long' | 'narrow' | 'short'\n * @default 'short'\n */\n @Input() weekdayFormat: WeekdayFormatType = 'short';\n\n /**\n * Set calendar view.\n * @type 'days' | 'months' | 'years'\n * @default 'days'\n */\n @Input()\n set view(value) {\n this._view = value;\n this.listOfYears = createGroupsInArray(getYears(this.date.getFullYear()), 4);\n }\n\n get view() {\n return this._view;\n }\n\n private _view: 'days' | 'months' | 'years' = 'days';\n\n /**\n * Max selectable date.\n */\n @Input()\n set maxDate(value: Date | null) {\n this._maxDate = value ? tryDate(value, 'maxDate') : null;\n }\n\n get maxDate() {\n return this._maxDate;\n }\n\n private _maxDate: Date | null = null;\n\n /**\n * Min selectable date.\n */\n @Input()\n set minDate(value: Date | null) {\n this._minDate = value ? tryDate(value, 'minDate') : null;\n }\n\n get minDate() {\n return this._minDate;\n }\n\n private _minDate: Date | null = null;\n\n listOfMonths = createGroupsInArray(getMonthsNames(this.locale), 4);\n listOfYears = createGroupsInArray(getYears(this.date.getFullYear()), 4);\n private calendarStateSubscription!: Subscription;\n\n /**\n * Default date of the component\n * @type Date\n */\n @Input()\n set calendarDate(value: (Date | string | number)) {\n const _value = new Date(tryDate((value ?? this.startDate), 'calendarDate'));\n if (!!_value && this._calendarDate.getTime() !== _value.getTime()) {\n this.listOfYears = createGroupsInArray(getYears(_value.getFullYear()), 4);\n this._calendarDate = new Date(new Date(_value.setDate(1)).setHours(0, 0, 0, 0));\n this.setMonthDetails(this.date);\n this.calendarService.update({ calendarDate: this._calendarDate });\n }\n }\n\n get calendarDate(): Date {\n return this._calendarDate;\n }\n\n private _calendarDate: Date = new Date();\n\n dateFilter!: DateFilterType;\n\n get date() {\n return new Date(this.calendarDate?.getFullYear(), this.calendarDate?.getMonth() + this.addMonths);\n }\n\n dayFormat!: DayFormatType;\n selectAdjacentDays!: boolean;\n showAdjacentDays!: boolean;\n\n private _monthDetails!: { date: Date; month: string; }[][];\n\n get monthDetails(): { date: Date; month: string; }[][] {\n return this._monthDetails;\n }\n\n get weekDays() {\n return this.monthDetails[0];\n }\n\n ngOnInit(): void {\n this.listOfMonths = createGroupsInArray(getMonthsNames(this.locale), 4);\n this.setMonthDetails(this.date);\n }\n\n setMonthDetails(date: Date = this.date) {\n this._monthDetails = getMonthDetails(\n date.getFullYear(),\n date.getMonth(),\n this.firstDayOfWeek\n );\n }\n\n yearNumber(year: any) {\n return new Date(year, 0).toLocaleDateString(this.locale, { year: 'numeric' });\n }\n\n isDateDisabled(date: Date) {\n // @ts-ignore\n return isDateDisabled(date, this.minDate, this.maxDate, this.disabledDates) || (this.dateFilter ? !this.dateFilter(date) : false);\n }\n\n calendarCellTitle(date: Date) {\n return date.toLocaleDateString(this.locale);\n }\n\n handleCellMouseEnter(hoverDate: Date) {\n const hoverValue = this.isDateDisabled(hoverDate) ? null : hoverDate;\n this.calendarService.update({ hoverDate: hoverValue });\n }\n\n handleYearCellClick(year: any) {\n const calendarDate = new Date(year, this.calendarDate.getMonth(), 1, 0, 0, 0, 0);\n this.view = 'months';\n this.calendarService.update({ view: this.view, calendarDate: calendarDate });\n }\n\n handleYearCellKeyUp($event: KeyboardEvent, year: any) {\n if ($event.key === 'Enter') {\n this.handleYearCellClick(year);\n return;\n }\n }\n\n handleMonthCellKeyUp($event: KeyboardEvent, i: number, idx: number) {\n if ($event.key === 'Enter') {\n this.handleMonthCellClick(i, idx);\n return;\n }\n }\n\n handleMonthCellClick(i: number, idx: number) {\n this.setCalendarPage(0, 0, i * 3 + idx - this.addMonths);\n this.view = 'days';\n this.calendarService.update({ view: this.view });\n }\n\n setCalendarPage(years: number, months = 0, setMonth?: number) {\n const year = this.date.getFullYear();\n const month = this.date.getMonth();\n const d = new Date(year, month, 1, 0, 0, 0, 0);\n\n years && d.setFullYear(d.getFullYear() + years);\n months && d.setMonth(d.getMonth() + months);\n typeof setMonth === 'number' && d.setMonth(setMonth);\n\n this.calendarService.update({ calendarDate: d });\n }\n\n handleCellMouseLeave() {\n this.calendarService.update({ hoverDate: null });\n }\n\n handleDayCellKeyUp($event: KeyboardEvent, date: Date) {\n if ($event.key === 'Enter') {\n this.handleDayCellClick(date);\n return;\n }\n if ($event.key === 'Tab') {\n this.handleCellMouseEnter(date);\n return;\n }\n }\n\n handleDayCellClick(date: Date) {\n if (this.isDateDisabled(date)) {\n return;\n }\n\n if (!this.range) {\n this.endDate = null;\n this.startDate = date;\n return;\n }\n\n if (this.startDate && this.endDate) {\n const calendarDate = new Date(date.getFullYear(), date.getMonth(), 1, 0, 0, 0, 0);\n this.calendarDate = calendarDate;\n this.endDate = null;\n this.startDate = null;\n return;\n }\n\n if (!!this.startDate && !this.endDate) {\n if (this.startDate && date < this.startDate) {\n this.endDate = null;\n this.startDate = date;\n } else {\n this.endDate = date;\n }\n } else {\n this.endDate = null;\n this.startDate = date;\n }\n\n if (this.startDate && this.endDate) {\n // @ts-ignore\n if (isDateInRangeDisabled(this.startDate, this.endDate, this.disabledDates)) {\n this.startDate = null;\n this.endDate = null;\n return;\n }\n\n // let date = new Date(this.startDate);\n // while (date < this.endDate) {\n // date.setDate(date.getDate() + 1);\n // if (this.isDateDisabled(date)) {\n // this.startDate = null;\n // this.endDate = null;\n // break;\n // }\n // }\n }\n }\n\n calendarStateSubscribe(subscribe: boolean = true): void {\n if (subscribe) {\n this.calendarStateSubscription =\n this.calendarService.calendarState$.subscribe(state => {\n const keys = Object.keys(state);\n for (const key of keys) {\n // if (key in this) {\n // @ts-ignore\n this[key] = state[key];\n // }\n }\n });\n return;\n }\n this.calendarStateSubscription?.unsubscribe();\n }\n\n ngOnDestroy(): void {\n this.calendarStateSubscribe(false);\n }\n}\n","<table>\n <thead *ngIf=\"view === 'days'\">\n <tr>\n <th *ngFor=\"let weekDay of weekDays; index as i; count as cnt\" class=\"calendar-cell\">\n <div class=\"calendar-header-cell-inner\">\n {{ weekDay.date | calendarWeekday:weekdayFormat:locale }}\n </div>\n </th>\n </tr>\n </thead>\n <tbody (mouseleave)=\"handleCellMouseLeave()\" [ngSwitch]=\"view\">\n <ng-container *ngSwitchCase=\"'years'\">\n <tr *ngFor=\"let yearsRow of listOfYears; index as rowIdx\">\n <td\n (click)=\"handleYearCellClick(year)\"\n (keyup)=\"handleYearCellKeyUp($event, year)\"\n *ngFor=\"let year of yearsRow; index as idx\"\n [ngClass]=\"year | calendarClassYear\"\n [tabindex]=\"0\"\n >\n <div class=\"calendar-cell-inner\">\n {{ yearNumber(year) }}\n </div>\n </td>\n </tr>\n </ng-container>\n <ng-container *ngSwitchCase=\"'months'\">\n <tr *ngFor=\"let monthsRow of listOfMonths; index as rowIdx\">\n <td\n (click)=\"handleMonthCellClick(rowIdx, idx)\"\n (keyup)=\"handleMonthCellKeyUp($event, rowIdx, idx)\"\n *ngFor=\"let month of monthsRow; index as idx\"\n [ngClass]=\"calendarDate | calendarClassMonth:(rowIdx*3+idx)\"\n [tabindex]=\"0\"\n >\n <div class=\"calendar-cell-inner\">\n {{ month }}\n </div>\n </td>\n </tr>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <tr *ngFor=\"let week of monthDetails; index as i\">\n <ng-container *ngFor=\"let dateObj of week; index as idx\">\n <td *ngIf=\"(dateObj.month === 'current' || showAdjacentDays); else emptyCell\"\n (click)=\"(dateObj.month === 'current' || selectAdjacentDays) && handleDayCellClick(dateObj.date)\"\n (keyup)=\"(dateObj.month === 'current' || selectAdjacentDays) && handleDayCellKeyUp($event, dateObj.date)\"\n (mouseenter)=\"(dateObj.month === 'current' || selectAdjacentDays) && handleCellMouseEnter(dateObj.date)\"\n [cCalendarDay]=\"dateObj\"\n [ngClass]=\"dateObj | calendarClassDay:{minDate, maxDate, disabledDates, dateFilter}\"\n [tabindex]=\"(dateObj.month === 'current' || selectAdjacentDays) && !isDateDisabled(dateObj.date) ? 0 : -1\"\n [title]=\"dateObj.date | calendarDayTitle:locale\"\n >\n <div class=\"calendar-cell-inner\">\n {{ dateObj.date | calendarDay:dayFormat:locale }}\n </div>\n </td>\n <ng-template #emptyCell>\n <td class=\"calendar-cell\"></td>\n </ng-template>\n </ng-container>\n </tr>\n </ng-container>\n </tbody>\n</table>\n\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'calendarClassView',\n standalone: true\n})\nexport class CalendarClassViewPipe implements PipeTransform {\n\n transform(view: string): any {\n return {\n calendar: true,\n [`${view}`]: !!view\n };\n }\n}\n","import {\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n ViewChildren\n} from '@angular/core';\nimport { NgClass, NgForOf } from '@angular/common';\nimport { BooleanInput, coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { Subscription } from 'rxjs';\n\nimport { CalendarService, DateFilterType, DayFormatType, WeekdayFormatType } from '../calendar.service';\nimport { tryDate } from '../calendar.utils';\nimport { CalendarMonthComponent } from '../calendar-month/calendar-month.component';\nimport { CalendarNavigationComponent } from '../calendar-navigation/calendar-navigation.component';\nimport { CalendarClassViewPipe } from './calendar-class-view.pipe';\n\n@Component({\n selector: 'c-calendar',\n templateUrl: './calendar.component.html',\n styleUrls: ['./calendar.component.scss'],\n exportAs: 'cCalendar',\n providers: [CalendarService],\n standalone: true,\n imports: [CalendarNavigationComponent, CalendarClassViewPipe, CalendarMonthComponent, NgForOf, NgClass]\n})\nexport class CalendarComponent implements OnInit, OnDestroy {\n\n static ngAcceptInputType_navigation: BooleanInput;\n static ngAcceptInputType_navYearFirst: BooleanInput;\n static ngAcceptInputType_range: BooleanInput;\n static ngAcceptInputType_selectAdjacentDays: BooleanInput;\n\n constructor(\n private calendarService: CalendarService\n ) {\n this.calendarStateSubscribe();\n }\n\n /**\n * Default date of the component\n * @type (Date | string)\n */\n @Input()\n set calendarDate(value: Date | string | number) {\n // const _value = new Date(tryDate((value ?? this.startDate ?? new Date()), 'calendarDate'));\n const _value = new Date(tryDate(value ?? this.startDate, 'calendarDate'));\n if (!!_value && this._calendarDate.getTime() !== _value.getTime()) {\n const _calendarDate = new Date(new Date(_value.setDate(1)).setHours(0, 0, 0, 0));\n this._calendarDate = _calendarDate;\n this.calendarDateChange.emit(_calendarDate);\n this.calendarService.update({ calendarDate: _calendarDate });\n }\n }\n\n get calendarDate(): Date {\n return this._calendarDate;\n }\n\n private _calendarDate: Date = tryDate(new Date());\n\n /**\n * The number of calendars that render on desktop devices.\n * @type number\n * default 1\n */\n @Input()\n set calendars(value: number) {\n this._calendars = coerceNumberProperty(value);\n }\n\n get calendars(): number {\n return this._calendars;\n }\n\n private _calendars: number = 1;\n\n get calendarsArray() {\n return Array.from({ length: this.calendars });\n }\n\n /**\n * Set the format of day name.\n * @default 'numeric'\n * @type DayFormatType\n */\n @Input()\n set dayFormat(value: DayFormatType) {\n this._dayFormat = value;\n this.calendarService.update({ dayFormat: this._dayFormat });\n }\n\n get dayFormat() {\n return this._dayFormat;\n }\n\n private _dayFormat: DayFormatType = 'numeric';\n\n /**\n * Specify the list of dates that cannot be selected.\n * @type (Date[] | Date[][])\n */\n @Input()\n set disabledDates(value: Date[] | Date[][]) {\n this._disabledDates = value;\n this.calendarService.update({ disabledDates: this._disabledDates });\n }\n\n get disabledDates(): Date[] | Date[][] {\n return this._disabledDates;\n }\n\n private _disabledDates: (Date[] | Date[][]) = [];\n\n /**\n * Initial selected date.\n * @type (Date | null)\n */\n @Input()\n set startDate(value: Date | number | string | null | undefined) {\n const date = !!value ? tryDate(value, 'startDate') : null;\n if (this._startDate?.getTime() !== date?.getTime()) {\n this._startDate = date;\n this.calendarService.update({ startDate: this._startDate });\n if (!this.range || !this._startDate || (this.endDate && this._startDate > this.endDate)) {\n this.endDate = null;\n }\n }\n }\n\n get startDate() {\n return this._startDate;\n }\n\n _startDate: Date | null = null;\n\n /**\n * Initial selected to date (range).\n * @type (Date | null)\n */\n @Input()\n set endDate(value: Date | number | string | null | undefined) {\n const date = !!value ? tryDate(value, 'endDate') : null;\n if (this._endDate?.getTime() !== date?.getTime()) {\n this._endDate = date;\n // this._endDate = this.range ? this._endDate : null;\n this.calendarService.update({ endDate: this._endDate });\n }\n }\n\n get endDate() {\n return this.range ? this._endDate : null;\n }\n\n _endDate: (Date | null) = null;\n\n /**\n * Sets the day of start week.\n * - 0 - Sunday,\n * - 1 - Monday,\n * - 2 - Tuesday,\n * - 3 - Wednesday,\n * - 4 - Thursday,\n * - 5 - Friday,\n * - 6 - Saturday,\n *\n * @type number\n * @default 1\n */\n @Input()\n set firstDayOfWeek(value: number) {\n this._firstDayOfWeek = coerceNumberProperty(value);\n }\n\n get firstDayOfWeek(): number {\n return this._firstDayOfWeek;\n }\n\n private _firstDayOfWeek: number = 1;\n\n /**\n * Sets the default locale for components. If not set, it is inherited from the browser.\n * @default 'default'\n */\n @Input()\n set locale(value: string) {\n this._locale = value;\n this.calendarService.update({ locale: value });\n }\n\n get locale() {\n return this._locale;\n }\n\n private _locale: string = 'default';\n\n /**\n * Max selectable date.\n */\n @Input()\n set maxDate(value: Date | string | null | undefined) {\n this._maxDate = !!value ? tryDate(value, 'maxDate') : null;\n this.calendarService.update({ maxDate: this._maxDate });\n }\n\n get maxDate() {\n return this._maxDate;\n }\n\n private _maxDate: Date | null = null;\n\n /**\n * Min selectable date.\n */\n @Input()\n set minDate(value: Date | string | null | undefined) {\n this._minDate = value ? tryDate(value, 'minDate') : null;\n this.calendarService.update({ minDate: this._minDate });\n }\n\n get minDate() {\n return this._minDate;\n }\n\n private _minDate: Date | null = null;\n\n /**\n * Show navigation.\n * @type boolean\n */\n @Input()\n set navigation(value: boolean) {\n this._navigation = coerceBooleanProperty(value);\n }\n\n get navigation(): boolean {\n return this._navigation;\n }\n\n private _navigation: boolean = true;\n\n /**\n * Reorder year-month navigation, and render year first.\n * @type boolean\n * @default false\n */\n @Input()\n set navYearFirst(value: boolean) {\n this._navYearFirst = coerceBooleanProperty(value);\n this.calendarService.update({ navYearFirst: this._navYearFirst });\n }\n\n get navYearFirst() {\n return this._navYearFirst;\n }\n\n private _navYearFirst: boolean = false;\n\n /**\n * Allow range selection.\n * @type boolean\n * @default false\n */\n @Input()\n set range(value: boolean) {\n this._range = coerceBooleanProperty(value);\n this.calendarService.update({ range: this._range });\n }\n\n get range(): boolean {\n return this._range;\n }\n\n private _range: boolean = false;\n\n /**\n * Set calendar view.\n * @type 'days' | 'months' | 'years'\n * @default 'days'\n */\n @Input()\n set view(value) {\n this._view = value;\n this.calendarService.update({ view: value });\n }\n\n get view() {\n return this._view;\n }\n\n private _view: 'days' | 'months' | 'years' = 'days';\n\n /**\n * Set length or format of day name.\n * @type number | 'long' | 'narrow' | 'short'\n * @default 'short'\n */\n @Input()\n set weekdayFormat(value: WeekdayFormatType) {\n this._weekdayFormat = value;\n this.calendarService.update({ weekdayFormat: this._weekdayFormat });\n }\n\n get weekdayFormat() {\n return this._weekdayFormat;\n }\n\n private _weekdayFormat: WeekdayFormatType = 'short';\n\n @Input()\n set dateFilter(value: DateFilterType | undefined) {\n this.calendarService.update({ dateFilter: value });\n }\n\n /**\n * Set whether days in adjacent months shown before or after the current month are selectable. This only applies if the `showAdjacentDays` option is set to true.\n * @type boolean\n * @default false\n * @since 4.4.10\n */\n @Input() selectAdjacentDays: boolean = false;\n\n /**\n * Set whether to display dates in adjacent months (non-selectable) at the start and end of the current month.\n * @type boolean\n * @default true\n * @since 4.4.10\n */\n @Input() showAdjacentDays: boolean = true;\n\n @Output() calendarCellHover: EventEmitter<Date | null> = new EventEmitter<Date | null>();\n @Output() calendarDateChange: EventEmitter<Date> = new EventEmitter<Date>();\n @Output() endDateChange: EventEmitter<Date | null> = new EventEmitter<Date | null>();\n @Output() startDateChange: EventEmitter<Date | null> = new EventEmitter<Date | null>();\n @Output() viewChange: EventEmitter<string> = new EventEmitter<string>();\n\n // used with calendarService\n set hoverDate(value: Date | null) {\n this._hoverDate = value;\n this.calendarCellHover.emit(value);\n }\n\n get hoverDate(): Date | null {\n return this._hoverDate;\n }\n\n private _hoverDate: Date | null = null;\n\n private calendarStateSubscription!: Subscription;\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'calendars': true\n };\n }\n\n @ViewChildren(CalendarMonthComponent) calendarMonths!: QueryList<CalendarMonthComponent>;\n\n ngOnDestroy(): void {\n this.calendarStateSubscribe(false);\n }\n\n ngOnInit(): void {\n this.calendarService.update({\n locale: this.locale,\n view: this.view,\n range: this.range,\n showAdjacentDays: this.showAdjacentDays,\n selectAdjacentDays: this.selectAdjacentDays\n });\n }\n\n calendarStateSubscribe(subscribe: boolean = true): void {\n if (subscribe) {\n this.calendarStateSubscription =\n this.calendarService.calendarState$.subscribe(state => {\n const keys = Object.keys(state);\n for (const key of keys) {\n if (key in this) {\n // @ts-ignore\n if (this[key] !== state[key]) {\n // @ts-ignore\n this[key] = state[key];\n if (key === 'startDate') {\n setTimeout(() => {\n this.startDateChange.emit(this._startDate);\n });\n continue;\n }\n if (key === 'endDate') {\n setTimeout(() => {\n this.endDateChange.emit(this._endDate);\n });\n }\n }\n }\n }\n });\n return;\n }\n this.calendarStateSubscription?.unsubscribe();\n }\n\n setCalendarPage(years: number, months = 0, setMonth?: number) {\n const year = this.calendarDate.getFullYear();\n const month = this.calendarDate.getMonth();\n const d = new Date(year, month, 1);\n\n years && d.setFullYear(d.getFullYear() + years);\n months && d.setMonth(d.getMonth() + months);\n typeof setMonth === 'number' && d.setMonth(setMonth);\n\n this.calendarDate = d;\n }\n\n handleNavigationClick(direction: 'prev' | 'next', years = false) {\n if (direction === 'prev') {\n if (years) {\n this.setCalendarPage(this.view === 'years' ? -10 : -1);\n return;\n }\n\n if (this.view !== 'days') {\n this.setCalendarPage(-1);\n return;\n }\n\n this.setCalendarPage(0, -1);\n return;\n }\n if (direction === 'next') {\n if (years) {\n this.setCalendarPage(this.view === 'years' ? 10 : 1);\n return;\n }\n\n if (this.view !== 'days') {\n this.setCalendarPage(1);\n return;\n }\n\n this.setCalendarPage(0, 1);\n return;\n }\n }\n\n /**\n * Clear startDate and endDate\n * @type void\n */\n public clearDates() {\n this.calendarService.update({ endDate: null });\n this.calendarService.update({ startDate: null });\n }\n}\n","<ng-container *ngFor=\"let calendar of calendarsArray; let i=index;\">\n <div [ngClass]=\"view | calendarClassView\">\n <c-calendar-navigation\n [addMonths]=\"i\"\n [navigation]=\"navigation\"\n (navigationClick)=\"handleNavigationClick($event.direction, $event.years)\"\n ></c-calendar-navigation>\n\n <c-calendar-month\n [addMonths]=\"i\"\n [firstDayOfWeek]=\"firstDayOfWeek\"\n [weekdayFormat]=\"weekdayFormat\"\n ></c-calendar-month>\n </div>\n</ng-container>\n","import { NgModule } from '@angular/core';\n\nimport { CalendarComponent } from './calendar/calendar.component';\nimport { CalendarClassViewPipe } from './calendar/calendar-class-view.pipe';\nimport { CalendarClassYearPipe } from './calendar-month/calendar-class-year.pipe';\nimport { CalendarDayDirective } from './calendar-month/calendar-day.directive';\nimport { CalendarClassDayPipe } from './calendar-month/calendar-class-day.pipe';\nimport { CalendarClassMonthPipe } from './calendar-month/calendar-class-month.pipe';\nimport { CalendarMonthComponent } from './calendar-month/calendar-month.component';\nimport { CalendarNavigationComponent } from './calendar-navigation/calendar-navigation.component';\nimport { CalendarDayPipe } from './calendar-month/calendar-day.pipe';\nimport { CalendarWeekdayPipe } from './calendar-month/calendar-weekday.pipe';\nimport { CalendarDayTitlePipe } from './calendar-month/calendar-day-title.pipe';\n\n@NgModule({\n imports: [\n CalendarComponent,\n CalendarClassYearPipe,\n CalendarClassDayPipe,\n CalendarClassMonthPipe,\n CalendarDayDirective,\n CalendarClassViewPipe,\n CalendarNavigationComponent,\n CalendarMonthComponent,\n CalendarDayPipe,\n CalendarWeekdayPipe,\n CalendarDayTitlePipe\n ],\n exports: [\n CalendarComponent,\n CalendarMonthComponent,\n CalendarNavigationComponent\n ]\n})\nexport class CalendarModule {}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { Colors } from '../coreui.types';\n\n@Component({\n selector: 'c-callout, [cCallout]',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./callout.component.scss'],\n standalone: true\n})\nexport class CalloutComponent {\n\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @type Colors\n */\n @Input() color?: Colors;\n\n @HostBinding('class')\n get hostClasses(): any {\n\n return {\n callout: true,\n [`callout-${this.color}`]: !!this.color\n };\n }\n\n constructor() { }\n\n}\n","import { NgModule } from '@angular/core';\n\nimport { CalloutComponent } from './callout.component';\n\n@NgModule({\n exports: [CalloutComponent],\n imports: [CalloutComponent]\n})\nexport class CalloutModule {}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { Colors, TextColors } from '../coreui.types';\n\n@Component({\n selector: 'c-card, [c-card]',\n template: `<ng-content></ng-content>`,\n standalone: true\n})\nexport class CardComponent {\n\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @type Colors\n */\n @Input() color?: Colors;\n /**\n * Sets the text color context of the component to one of CoreUI’s themed colors.\n * @type TextColors\n */\n @Input() textColor?: TextColors;\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n card: true,\n [`bg-${this.color}`]: !!this.color,\n [`text-${this.textColor}`]: !!this.textColor,\n };\n }\n\n constructor() { }\n\n}\n","import {Component, HostBinding} from '@angular/core';\n\n@Component({\n selector: 'c-card-body, [c-card-body]',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class CardBodyComponent {\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'card-body': true,\n };\n }\n}\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'c-card-footer, [c-card-footer]',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class CardFooterComponent {\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'card-footer': true\n };\n }\n}\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'c-card-group, [c-card-group]',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class CardGroupComponent {\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'card-group': true\n };\n }\n}\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'c-card-header, [c-card-header]',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class CardHeaderComponent {\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'card-header': true\n };\n }\n}\n","import {Component, HostBinding} from '@angular/core';\n\n@Component({\n selector: 'c-card-header-actions, [c-card-header-actions]',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class CardHeaderActionsComponent {\n\n @HostBinding('class.card-header-actions') cardHeaderActions = true;\n\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[cCardImg]',\n standalone: true\n})\nexport class CardImgDirective {\n /**\n * Optionally orientate the image to the top, bottom, or make it overlaid across the card.\n * @type {'top | 'bottom'}\n */\n @Input('cCardImg') orientation?: 'top' | 'bottom';\n\n @HostBinding('class')\n get hostClasses(): any {\n const suffix = !!this.orientation ? `-${this.orientation}` : '';\n return {\n [`card-img${suffix}`]: true\n };\n }\n}\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'c-card-img-overlay',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./card-img-overlay.component.scss'],\n standalone: true\n})\nexport class CardImgOverlayComponent {\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'card-img-overlay': true\n };\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[cCardLink]',\n standalone: true\n})\nexport class CardLinkDirective {\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'card-link': true\n };\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[cCardSubtitle]',\n standalone: true\n})\nexport class CardSubtitleDirective {\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'card-subtitle': true\n };\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[cCardText]',\n standalone: true\n})\nexport class CardTextDirective {\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'card-text': true\n };\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[cCardTitle]',\n standalone: true\n})\nexport class CardTitleDirective {\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'card-title': true\n };\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { CardComponent } from './card.component';\nimport { CardBodyComponent } from './card-body.component';\nimport { CardFooterComponent } from './card-footer.component';\nimport { CardHeaderComponent } from './card-header.component';\nimport { CardHeaderActionsComponent } from './card-header-actions.component';\nimport { CardGroupComponent } from './card-group.component';\nimport { CardImgDirective } from './card-img.directive';\nimport { CardLinkDirective } from './card-link.directive';\nimport { CardSubtitleDirective } from './card-subtitle.directive';\nimport { CardTextDirective } from './card-text.directive';\nimport { CardTitleDirective } from './card-title.directive';\nimport { CardImgOverlayComponent } from './card-img-overlay/card-img-overlay.component';\n\n@NgModule({\n imports: [\n CardComponent,\n CardBodyComponent,\n CardFooterComponent,\n CardGroupComponent,\n CardHeaderComponent,\n CardHeaderActionsComponent,\n CardImgDirective,\n CardImgOverlayComponent,\n CardLinkDirective,\n CardSubtitleDirective,\n CardTextDirective,\n CardTitleDirective\n ],\n exports: [\n CardComponent,\n CardBodyComponent,\n CardFooterComponent,\n CardGroupComponent,\n CardHeaderComponent,\n CardHeaderActionsComponent,\n CardImgDirective,\n CardImgOverlayComponent,\n CardLinkDirective,\n CardSubtitleDirective,\n CardTextDirective,\n CardTitleDirective\n ]\n})\nexport class CardModule {}\n","import { Injectable, OnDestroy } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\ninterface IIntersectionObserverInit {\n root?: Element | null;\n rootMargin?: string;\n threshold?: number | number[];\n}\n\n@Injectable()\nexport class IntersectionService implements OnDestroy {\n\n constructor() { }\n\n private intersecting = new BehaviorSubject<boolean>(false);\n intersecting$ = this.intersecting.asObservable();\n\n private intersectionObserver!: IntersectionObserver;\n private hostElement!: { nativeElement: Element; };\n\n private defaultObserverOptions: IIntersectionObserverInit = {\n root: null,\n rootMargin: '0px',\n threshold: 0.2\n };\n\n createIntersectionObserver(hostElement: { nativeElement: Element; }, observerOptions = this.defaultObserverOptions) {\n\n const options = { ...this.defaultObserverOptions, ...observerOptions }\n\n this.hostElement = hostElement;\n\n const handleIntersect = (entries: any[], observer: any) => {\n entries.forEach((entry: any) => {\n this.intersecting.next(entry.isIntersecting);\n });\n };\n\n this.intersectionObserver = new IntersectionObserver(handleIntersect, options);\n this.intersectionObserver.observe(hostElement.nativeElement);\n }\n\n ngOnDestroy(): void {\n this.intersectionObserver?.unobserve(this.hostElement?.nativeElement);\n }\n}\n","import { ElementRef, Injectable, Renderer2 } from '@angular/core';\nimport { Triggers } from '../coreui.types';\n\nexport interface IListenersConfig {\n hostElement: ElementRef,\n trigger?: Triggers | Triggers[],\n callbackOn?: () => void,\n callbackOff?: () => void,\n callbackToggle?: () => void,\n}\n\n@Injectable()\nexport class ListenersService {\n\n private listeners: Map<string, () => void> = new Map();\n\n constructor(\n private renderer: Renderer2\n ) {}\n\n setListeners({ hostElement, trigger, callbackOn, callbackOff, callbackToggle }: IListenersConfig): void {\n const host = hostElement.nativeElement;\n const triggers = Array.isArray(trigger) ? trigger : trigger?.split(' ') ?? [];\n\n if (triggers?.includes('click')) {\n typeof callbackToggle === 'function' && this.listeners.set(\n 'click',\n this.renderer.listen(host, 'click', callbackToggle)\n );\n }\n if (triggers?.includes('focus')) {\n typeof callbackOn === 'function' && this.listeners.set(\n 'focus',\n this.renderer.listen(host, 'focus', callbackOn)\n );\n }\n if (triggers?.includes('click') || triggers?.includes('focus')) {\n typeof callbackOff === 'function' && this.listeners.set(\n 'blur',\n this.renderer.listen(host, 'blur', callbackOff)\n );\n }\n if (triggers?.includes('hover')) {\n typeof callbackOn === 'function' && this.listeners.set(\n 'mouseenter',\n this.renderer.listen(host, 'mouseenter', callbackOn)\n );\n typeof callbackOff === 'function' && this.listeners.set(\n 'mouseleave',\n this.renderer.listen(host, 'mouseleave', callbackOff)\n );\n }\n }\n\n clearListeners(): void {\n this.listeners.forEach((unListen, key) => {\n unListen();\n });\n this.listeners.forEach((unListen, key) => {\n // @ts-ignore\n this.listeners.set(key, null);\n });\n this.listeners.clear();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nexport interface ICarouselIndex {\n active?: number;\n interval?: number;\n lastItemIndex?: number;\n}\n\n@Injectable()\nexport class CarouselService {\n private carouselIndex = new BehaviorSubject<ICarouselIndex>({});\n carouselIndex$ = this.carouselIndex.asObservable();\n\n constructor() {}\n\n setIndex(index: ICarouselIndex): void {\n this.carouselIndex.next(index);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ICarouselState } from './carousel-state.type';\nimport { CarouselService } from './carousel.service';\nimport { CarouselItemComponent } from './carousel-item/carousel-item.component';\n\n@Injectable()\nexport class CarouselState {\n private _state: ICarouselState = {\n activeItemIndex: -1,\n animate: true,\n items: [],\n direction: 'next',\n transition: 'slide'\n };\n\n constructor(private carouselService: CarouselService) {}\n\n get state(): ICarouselState {\n return this._state;\n }\n\n set state(state) {\n const prevState = { ...this._state };\n const nextState = { ...this._state, ...state };\n this._state = nextState;\n if (prevState.activeItemIndex !== nextState.activeItemIndex) {\n const activeItemIndex = this.state.activeItemIndex || 0;\n const itemInterval = this.state.items && this.state.items[activeItemIndex]?.interval || -1;\n this.carouselService.setIndex({\n active: nextState.activeItemIndex,\n interval: itemInterval,\n lastItemIndex: (nextState.items?.length ?? 0) - 1\n });\n }\n }\n\n setItems(newItems: any): void {\n if (newItems.length) {\n const itemsArray = newItems.toArray();\n itemsArray.forEach((item: CarouselItemComponent, i: number) => {\n item.index = i;\n });\n this.state = {\n items: itemsArray\n };\n } else {\n this.reset();\n }\n }\n\n setNextIndex(nextIndex: any): void {\n this.carouselService.setIndex(nextIndex);\n }\n\n direction(direction: 'next' | 'prev' = 'next'): number {\n this.state = { direction };\n const { activeItemIndex = -1, items } = this.state;\n const itemsCount = items?.length ?? 0;\n if (itemsCount > 0) {\n return direction === 'next' ?\n (activeItemIndex === itemsCount - 1 ? 0 : activeItemIndex + 1) :\n (activeItemIndex === 0 ? itemsCount - 1 : activeItemIndex - 1);\n } else {\n return 0;\n }\n }\n\n reset(): void {\n this.state = {\n activeItemIndex: -1,\n animate: true,\n items: [],\n direction: 'next',\n transition: 'slide'\n };\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class CarouselConfig {\n /* Animate transition of slides */\n activeIndex = 0;\n /* Animate transition of slides */\n animate = true;\n /* Darken controls, indicators, and captions */\n dark? = false;\n /* Default direction of auto changing of slides */\n direction: 'next' | 'prev' = 'next';\n /* Default interval of auto changing of slides */\n interval = 3000;\n}\n","import {\n AfterContentInit,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Output\n} from '@angular/core';\nimport { fromEvent, Subscription, withLatestFrom, zipWith } from 'rxjs';\n\nimport { IntersectionService } from '../../services/intersection.service';\nimport { IListenersConfig, ListenersService } from '../../services/listeners.service';\n\nimport { CarouselState } from '../carousel-state';\nimport { CarouselService } from '../carousel.service';\nimport { CarouselConfig } from '../carousel.config';\nimport { Triggers } from '../../coreui.types';\n\n@Component({\n selector: 'c-carousel',\n template: '<ng-content></ng-content>',\n styleUrls: ['./carousel.component.scss'],\n providers: [CarouselService, CarouselState, CarouselConfig, IntersectionService, ListenersService],\n standalone: true\n})\nexport class CarouselComponent implements OnInit, OnDestroy, AfterContentInit {\n /**\n * Index of the active item.\n * @type number\n */\n @Input() activeIndex = 0;\n /**\n * Carousel automatically starts cycle items.\n * @type boolean\n */\n @Input() animate = true;\n /**\n * Add darker controls, indicators, and captions.\n * @type boolean\n */\n @Input() dark?: boolean;\n /**\n * Carousel direction. [docs]\n * @type {'next' | 'prev'}\n */\n @Input() direction: 'next' | 'prev' = 'next';\n /**\n * The amount of time to delay between automatically cycling an item. If false, carousel will not automatically cycle.\n * @type number\n * @default 0\n */\n @Input() interval = 0;\n /**\n * Sets which event handlers you’d like provided to your pause prop. You can specify one trigger or an array of them.\n * @type {'hover' | 'focus' | 'click'}\n */\n @Input() pause: Triggers | Triggers[] | false = 'hover';\n /**\n * Support left/right swipe interactions on touchscreen devices.\n * @type boolean\n * @default true\n */\n @Input() touch: boolean = true;\n /**\n * Set type of the transition.\n * @type {'slide' | 'crossfade'}\n * @default 'slide'\n */\n @Input() transition: 'slide' | 'crossfade' = 'slide';\n /**\n * Set whether the carousel should cycle continuously or have hard stops.\n * @type boolean\n * @default true\n */\n @Input() wrap = true;\n /**\n * Event emitted on carousel item change. [docs]\n * @type number\n */\n @Output() itemChange = new EventEmitter<number>();\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n carousel: true,\n slide: true,\n 'carousel-dark': !!this.dark,\n 'carousel-fade': this.transition === 'crossfade'\n };\n }\n\n private carouselIndexSubscription?: Subscription;\n private timerId!: any;\n private intersectingSubscription?: Subscription;\n private activeItemInterval = 0;\n private swipeSubscription?: Subscription;\n\n constructor(\n @Inject(CarouselConfig) private config: CarouselConfig,\n private hostElement: ElementRef,\n private carouselService: CarouselService,\n private carouselState: CarouselState,\n private intersectionService: IntersectionService,\n private listenersService: ListenersService\n ) {\n Object.assign(this, config);\n }\n\n ngOnInit(): void {\n this.carouselStateSubscribe();\n }\n\n ngOnDestroy(): void {\n this.clearListeners();\n this.carouselStateSubscribe(false);\n this.intersectionServiceSubscribe(false);\n this.swipeSubscribe(false);\n }\n\n ngAfterContentInit(): void {\n this.intersectionService.createIntersectionObserver(this.hostElement);\n this.intersectionServiceSubscribe();\n this.carouselState.state = { activeItemIndex: this.activeIndex, animate: this.animate };\n this.setListeners();\n this.swipeSubscribe();\n }\n\n private setListeners(): void {\n const config: IListenersConfig = {\n hostElement: this.hostElement,\n trigger: this.pause || [],\n callbackOff: () => {\n this.setTimer();\n },\n callbackOn: () => {\n this.resetTimer();\n }\n };\n this.listenersService.setListeners(config);\n }\n\n private clearListeners(): void {\n this.listenersService.clearListeners();\n }\n\n set visible(value) {\n this._visible = value;\n }\n\n get visible() {\n return this._visible;\n }\n\n private _visible: boolean = true;\n\n setTimer(): void {\n const interval = this.activeItemInterval || 0;\n this.resetTimer();\n if (interval > 0) {\n this.timerId = setTimeout(() => {\n const nextIndex = this.carouselState.direction(this.direction);\n this.carouselState.state = { activeItemIndex: nextIndex };\n }, interval);\n }\n }\n\n resetTimer(): void {\n clearTimeout(this.timerId);\n }\n\n private carouselStateSubscribe(subscribe: boolean = true): void {\n if (subscribe) {\n this.carouselIndexSubscription = this.carouselService.carouselIndex$.subscribe((nextItem) => {\n if ('active' in nextItem) {\n this.itemChange.emit(nextItem.active);\n }\n this.activeItemInterval = typeof nextItem.interval === 'number' && nextItem.interval > -1 ? nextItem.interval : this.interval;\n const isLastItem = ((nextItem.active === nextItem.lastItemIndex) && this.direction === 'next') || ((nextItem.active === 0) && this.direction === 'prev');\n !this.wrap && isLastItem ? this.resetTimer() : this.setTimer();\n });\n } else {\n this.carouselIndexSubscription?.unsubscribe();\n }\n }\n\n private intersectionServiceSubscribe(subscribe: boolean = true): void {\n if (subscribe) {\n this.intersectingSubscription = this.intersectionService.intersecting$.subscribe(isIntersecting => {\n this.visible = isIntersecting;\n isIntersecting ? this.setTimer() : this.resetTimer();\n });\n } else {\n this.intersectingSubscription?.unsubscribe();\n }\n }\n\n private swipeSubscribe(subscribe: boolean = true): void {\n if (this.touch && subscribe) {\n const carouselElement = this.hostElement.nativeElement;\n const touchStart$ = fromEvent<TouchEvent>(carouselElement, 'touchstart');\n const touchEnd$ = fromEvent<TouchEvent>(carouselElement, 'touchend');\n const touchMove$ = fromEvent<TouchEvent>(carouselElement, 'touchmove');\n this.swipeSubscription = touchStart$.pipe(zipWith(touchEnd$.pipe(withLatestFrom(touchMove$))))\n .subscribe(([touchstart, [touchend, touchmove]]) => {\n touchstart.stopPropagation();\n touchmove.stopPropagation();\n const distanceX = touchstart.touches[0].clientX - touchmove.touches[0].clientX;\n if (Math.abs(distanceX) > 0.3 * carouselElement.clientWidth && touchstart.timeStamp <= touchmove.timeStamp) {\n const nextIndex = this.carouselState.direction(distanceX > 0 ? 'next' : 'prev');\n this.carouselState.state = { activeItemIndex: nextIndex };\n }\n });\n } else {\n this.swipeSubscription?.unsubscribe();\n }\n }\n}\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'c-carousel-caption',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./carousel-caption.component.scss'],\n standalone: true\n})\nexport class CarouselCaptionComponent {\n\n @HostBinding('class.carousel-caption') carouselCaptionClass = true;\n\n constructor() { }\n\n}\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Input,\n ViewChild\n} from '@angular/core';\nimport { NgIf } from '@angular/common';\n\nimport { CarouselState } from '../carousel-state';\n\n@Component({\n selector: 'c-carousel-control',\n templateUrl: './carousel-control.component.html',\n standalone: true,\n imports: [NgIf]\n})\nexport class CarouselControlComponent implements AfterViewInit {\n\n constructor(\n private changeDetectorRef: ChangeDetectorRef,\n private carouselState: CarouselState\n ) {}\n\n private _caption?: string;\n /**\n * Carousel control caption. [docs]\n * @type string\n */\n @Input()\n set caption(value) {\n this._caption = value;\n }\n\n get caption(): string {\n return !!this._caption ? this._caption : this.direction === 'prev' ? 'Previous' : 'Next';\n }\n\n /**\n * Carousel control direction. [docs]\n * @type {'next' | 'prev'}\n */\n @Input() direction: 'prev' | 'next' = 'next';\n\n @HostBinding('attr.role')\n get hostRole(): string {\n return 'button';\n }\n\n @HostBinding('class')\n get hostClasses(): string {\n return `carousel-control-${this.direction}`;\n }\n\n get carouselControlIconClass(): string {\n return `carousel-control-${this.direction}-icon`;\n }\n\n @ViewChild('content') content?: ElementRef;\n\n hasContent = true;\n\n @HostListener('keyup', ['$event'])\n onKeyUp($event: KeyboardEvent): void {\n if ($event.key === 'Enter') {\n this.play();\n }\n if ($event.key === 'ArrowLeft') {\n this.play('prev');\n }\n if ($event.key === 'ArrowRight') {\n this.play('next');\n }\n }\n\n @HostListener('click', ['$event'])\n public onClick($event: MouseEvent): void {\n this.play();\n }\n\n ngAfterViewInit(): void {\n this.hasContent = this.content?.nativeElement.childNodes.length ?? false;\n this.changeDetectorRef.detectChanges();\n }\n\n private play(direction = this.direction): void {\n const nextIndex = this.carouselState.direction(direction);\n this.carouselState.state = { activeItemIndex: nextIndex };\n }\n}\n","<div #content *ngIf = \"hasContent; else defaultContent\"><ng-content></ng-content></div>\n<ng-template #defaultContent>\n <span [class]=\"carouselControlIconClass\" [attr.aria-label]=\"direction\" [attr.aria-hidden]=\"true\"></span>\n <span class=\"visually-hidden\">{{caption}}</span>\n</ng-template>\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { NgForOf } from '@angular/common';\nimport { Subscription } from 'rxjs';\n\nimport { CarouselState } from '../carousel-state';\nimport { CarouselService } from '../carousel.service';\n\n@Component({\n selector: 'c-carousel-indicators',\n templateUrl: './carousel-indicators.component.html',\n standalone: true,\n imports: [NgForOf]\n})\nexport class CarouselIndicatorsComponent implements OnInit, OnDestroy {\n constructor(\n private carouselService: CarouselService,\n private carouselState: CarouselState\n ) {}\n\n items: (number | undefined)[] = [];\n active = 0;\n private carouselIndexSubscription?: Subscription;\n\n ngOnInit(): void {\n this.carouselStateSubscribe();\n }\n\n ngOnDestroy(): void {\n this.carouselStateSubscribe(false);\n }\n\n onClick(index: number): void {\n if (index !== this.active) {\n const direction = index < this.active ? 'prev' : 'next';\n this.carouselState.state = { direction, activeItemIndex: index };\n }\n }\n\n private carouselStateSubscribe(subscribe: boolean = true): void {\n if (subscribe) {\n this.carouselIndexSubscription = this.carouselService.carouselIndex$.subscribe((nextIndex) => {\n this.items = this.carouselState?.state?.items?.map(item => item.index) ?? [];\n if ('active' in nextIndex) {\n this.active = nextIndex.active ?? 0;\n }\n });\n } else {\n this.carouselIndexSubscription?.unsubscribe();\n }\n }\n}\n","<div class=\"carousel-indicators\">\n <ng-container *ngFor=\"let item of items; let i=index\">\n <button [attr.data-coreui-target]=\"i\" type=\"button\" (click)=\"onClick(i)\" [class]=\"{active: active === i}\" [attr.aria-current]=\"active === i\"></button>\n </ng-container>\n</div>\n","import {\n animate,\n group,\n query,\n state,\n style,\n transition,\n trigger,\n} from '@angular/animations';\n\nexport function toLeft(fromState: any, toState: any): boolean {\n return toState.left === true;\n}\nexport function toRight(fromState: any, toState: any): boolean {\n return toState.left === false;\n}\n\nexport const slideAnimation = trigger('slideAnimation', [\n state(\n '*',\n style({ transform: 'translateX(0)', display: 'block', opacity: 1 })\n ),\n transition(\n toLeft,\n group([\n query(\n ':leave',\n [\n animate(\n '0.6s ease-in-out',\n style({\n transform: 'translateX(-100%)',\n })\n ),\n ],\n { optional: true }\n ),\n query(\n ':enter',\n [\n style({\n transform: 'translateX(100%)',\n }),\n animate('0.6s ease-in-out', style('*')),\n ],\n { optional: true }\n ),\n ])\n ),\n transition(\n toRight,\n group([\n query(\n ':enter',\n [\n style({\n transform: 'translateX(-100%)',\n }),\n animate('0.6s ease-in-out', style('*')),\n ],\n { optional: true }\n ),\n query(\n ':leave',\n [\n animate(\n '0.6s ease-in-out',\n style({\n transform: 'translateX(100%)',\n })\n ),\n ],\n { optional: true }\n ),\n ])\n ),\n]);\n\nexport const fadeAnimation = trigger('fadeAnimation', [\n state(\n '*',\n style({ zIndex: 1, opacity: 1 })\n ),\n transition(\n toLeft,\n group([\n query(\n ':leave',\n [\n animate(\n '0.6s ease-in-out',\n style({\n zIndex: 0,\n opacity: 0,\n })\n ),\n ],\n { optional: true }\n ),\n query(\n ':enter',\n [\n style({\n zIndex: 1,\n opacity: 1\n }),\n animate('0.6s ease-in-out', style('*')),\n ],\n { optional: true }\n ),\n ])\n ),\n transition(\n toRight,\n group([\n query(\n ':enter',\n [\n style({\n zIndex: 1,\n opacity: 1\n }),\n animate('0.6s ease-in-out', style('*')),\n ],\n { optional: true }\n ),\n query(\n ':leave',\n [\n animate(\n '0.6s ease-in-out',\n style({\n zIndex: 0,\n opacity: 0,\n })\n ),\n ],\n { optional: true }\n ),\n ])\n ),\n]);\n","import { AfterViewInit, ChangeDetectorRef, Component, HostBinding, Input, OnDestroy } from '@angular/core';\nimport { NgIf } from '@angular/common';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Subscription } from 'rxjs';\n\nimport { CarouselService } from '../carousel.service';\n\n@Component({\n selector: 'c-carousel-item',\n templateUrl: './carousel-item.component.html',\n styleUrls: ['./carousel-item.component.scss'],\n standalone: true,\n imports: [NgIf]\n})\nexport class CarouselItemComponent implements OnDestroy, AfterViewInit {\n\n static ngAcceptInputType_active: BooleanInput;\n\n index?: number;\n private carouselIndexSubscription?: Subscription;\n\n /**\n * @ignore\n */\n @Input()\n set active(value) {\n this._active = coerceBooleanProperty(value);\n this.changeDetectorRef.markForCheck();\n }\n\n get active(): boolean {\n return this._active;\n }\n\n private _active = false;\n\n /**\n * Time delay before cycling to next item. If -1, uses carousel interval value.\n * @type number\n * @default -1\n */\n @Input() interval: number = -1;\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'carousel-item': true,\n active: this.active\n };\n }\n\n constructor(\n private carouselService: CarouselService,\n private changeDetectorRef: ChangeDetectorRef\n ) {}\n\n ngOnDestroy(): void {\n this.carouselStateSubscribe(false);\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.carouselStateSubscribe();\n });\n }\n\n private carouselStateSubscribe(subscribe: boolean = true): void {\n if (subscribe) {\n this.carouselIndexSubscription = this.carouselService.carouselIndex$.subscribe((nextIndex) => {\n if ('active' in nextIndex) {\n this.active = nextIndex.active === this.index;\n }\n });\n } else {\n this.carouselIndexSubscription?.unsubscribe();\n }\n }\n}\n","<!--todo ngIf-->\n<ng-container *ngIf=\"active\">\n <ng-content></ng-content>\n</ng-container>\n\n","import {\n AfterContentChecked,\n AfterContentInit,\n Component,\n ContentChildren,\n HostBinding,\n QueryList\n} from '@angular/core';\n\nimport { fadeAnimation, slideAnimation } from '../carousel.animation';\nimport { CarouselItemComponent } from '../carousel-item/carousel-item.component';\nimport { CarouselState } from '../carousel-state';\n\n@Component({\n selector: 'c-carousel-inner',\n templateUrl: './carousel-inner.component.html',\n styleUrls: ['./carousel-inner.component.scss'],\n animations: [slideAnimation, fadeAnimation],\n standalone: true\n})\nexport class CarouselInnerComponent implements AfterContentInit, AfterContentChecked {\n constructor(private carouselState: CarouselState) {}\n\n @HostBinding('class.carousel-inner') carouselInnerClass = true;\n activeIndex?: number;\n animate?: boolean;\n slide = { left: true };\n transition = 'slide';\n @ContentChildren(CarouselItemComponent) private contentItems!: QueryList<CarouselItemComponent>;\n private prevContentItems!: QueryList<CarouselItemComponent>;\n\n ngAfterContentInit(): void {\n this.setItems();\n }\n\n ngAfterContentChecked(): void {\n this.setItems();\n const state = this.carouselState?.state;\n const nextIndex = state?.activeItemIndex;\n const nextDirection = state?.direction;\n if (this.activeIndex !== nextIndex) {\n this.animate = state?.animate;\n this.slide = { left: nextDirection === 'next' };\n this.activeIndex = state?.activeItemIndex;\n this.transition = state?.transition ?? 'slide';\n }\n }\n\n setItems(): void {\n if (this.prevContentItems !== this.contentItems) {\n this.prevContentItems = this.contentItems;\n this.carouselState.setItems(this.contentItems);\n }\n }\n}\n","<div [@slideAnimation]=\"slide\" [@.disabled]=\"!animate\">\n <ng-content></ng-content>\n</div>\n<!--todo-->\n<!--<div [@fadeAnimation]=\"slide\" [@.disabled]=\"!animate\" >-->\n<!-- <ng-content></ng-content>-->\n<!--</div>-->\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { CarouselComponent } from './carousel/carousel.component';\nimport { CarouselCaptionComponent } from './carousel-caption/carousel-caption.component';\nimport { CarouselControlComponent } from './carousel-control/carousel-control.component';\nimport { CarouselIndicatorsComponent } from './carousel-indicators/carousel-indicators.component';\nimport { CarouselInnerComponent } from './carousel-inner/carousel-inner.component';\nimport { CarouselItemComponent } from './carousel-item/carousel-item.component';\nimport { CarouselService } from './carousel.service';\nimport { CarouselState } from './carousel-state';\nimport { CarouselConfig } from './carousel.config';\n\n@NgModule({\n imports: [\n CarouselComponent,\n CarouselCaptionComponent,\n CarouselControlComponent,\n CarouselIndicatorsComponent,\n CarouselInnerComponent,\n CarouselItemComponent\n ],\n providers: [CarouselService, CarouselState, CarouselConfig],\n exports: [\n CarouselComponent,\n CarouselCaptionComponent,\n CarouselControlComponent,\n CarouselIndicatorsComponent,\n CarouselInnerComponent,\n CarouselItemComponent\n ]\n})\nexport class CarouselModule {\n static forRoot(): ModuleWithProviders<CarouselModule> {\n return { ngModule: CarouselModule, providers: [] };\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[cDropdownDivider]',\n standalone: true\n})\nexport class DropdownDividerDirective {\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'dropdown-divider': true\n };\n }\n\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[cDropdownHeader]',\n standalone: true,\n})\nexport class DropdownHeaderDirective {\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'dropdown-header': true,\n };\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nexport interface IDropdownState {\n visible?: boolean | 'toggle';\n dropdown?: any;\n}\n\n@Injectable()\nexport class DropdownService {\n\n private dropdownState = new BehaviorSubject<any>({});\n dropdownState$ = this.dropdownState.asObservable();\n\n constructor() {\n }\n\n toggle(state: IDropdownState): void {\n this.dropdownState.next(state);\n }\n}\n","import { Directive, ElementRef, HostBinding, Input, OnDestroy, OnInit, } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { DropdownService } from '../dropdown.service';\n\n@Directive({\n selector: '[cDropdownMenu]',\n exportAs: 'cDropdownMenu',\n standalone: true\n})\nexport class DropdownMenuDirective implements OnInit, OnDestroy {\n static ngAcceptInputType_dark: BooleanInput;\n\n constructor(\n public elementRef: ElementRef,\n private dropdownService: DropdownService\n ) {}\n\n /**\n * Set alignment of dropdown menu.\n * @type {'start' | 'end' }\n */\n @Input() alignment?: 'start' | 'end' | string;\n\n /**\n * Toggle the visibility of dropdown menu component.\n */\n @Input() visible = false;\n\n /**\n * Sets a darker color scheme to match a dark navbar.\n */\n @Input()\n get dark(): boolean {\n return this._dark;\n }\n set dark(value: boolean) {\n this._dark = coerceBooleanProperty(value);\n }\n private _dark = false;\n\n private dropdownStateSubscription!: Subscription;\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'dropdown-menu': true,\n 'dropdown-menu-dark': this.dark,\n [`dropdown-menu-${this.alignment}`]: !!this.alignment,\n show: this.visible,\n };\n }\n\n @HostBinding('style')\n get hostStyles() {\n // workaround for popper position calculate (see also: dropdown.component)\n return {\n visibility: this.visible ? null : '',\n display: this.visible ? null : '',\n };\n }\n\n ngOnInit(): void {\n this.dropdownStateSubscribe();\n }\n\n ngOnDestroy(): void {\n this.dropdownStateSubscribe(false);\n }\n\n private dropdownStateSubscribe(subscribe: boolean = true): void {\n if (subscribe) {\n this.dropdownStateSubscription =\n this.dropdownService.dropdownState$.subscribe((state) => {\n if ('visible' in state) {\n this.visible =\n state.visible === 'toggle' ? !this.visible : state.visible;\n }\n });\n } else {\n this.dropdownStateSubscription?.unsubscribe();\n }\n }\n}\n","import {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ContentChild,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n Renderer2,\n SimpleChanges\n} from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { createPopper, Instance, Options, Placement } from '@popperjs/core';\n\nimport { DropdownMenuDirective } from '../dropdown-menu/dropdown-menu.directive';\nimport { DropdownService } from '../dropdown.service';\n\n// lightweight injection token\nexport abstract class DropdownToken {}\n\n@Directive({\n selector: '[cDropdownToggle]',\n providers: [{ provide: DropdownToken, useExisting: forwardRef(() => DropdownComponent) }],\n exportAs: 'cDropdownToggle',\n standalone: true\n})\nexport class DropdownToggleDirective implements AfterViewInit {\n\n static ngAcceptInputType_split: BooleanInput;\n static ngAcceptInputType_popper: BooleanInput;\n\n constructor(\n public elementRef: ElementRef,\n private dropdownService: DropdownService,\n @Optional() public dropdown?: DropdownToken\n ) {}\n\n /**\n * Toggle the disabled state for the toggler.\n * @type DropdownComponent | undefined\n * @default undefined\n */\n @Input() dropdownComponent?: DropdownComponent;\n\n /**\n * Disables the toggler.\n * @type boolean\n * @default false\n */\n @Input() disabled?: boolean = false;\n\n /**\n * Enables pseudo element caret on toggler.\n * @type boolean\n */\n @Input() caret = true;\n\n /**\n * Create split button dropdowns with virtually the same markup as single button dropdowns, but with the addition of `.dropdown-toggle-split` class for proper spacing around the dropdown caret.\n * @type boolean\n */\n @Input()\n set split(value: boolean) {\n this._split = coerceBooleanProperty(value);\n }\n\n get split(): boolean {\n return this._split;\n }\n\n private _split = false;\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'dropdown-toggle': this.caret,\n 'dropdown-toggle-split': this.split,\n disabled: this.disabled\n };\n }\n\n @HostListener('click', ['$event'])\n public onClick($event: MouseEvent): void {\n $event.preventDefault();\n !this.disabled && this.dropdownService.toggle({ visible: 'toggle', dropdown: this.dropdown });\n }\n\n ngAfterViewInit(): void {\n if (this.dropdownComponent) {\n this.dropdown = this.dropdownComponent;\n this.dropdownService = this.dropdownComponent?.dropdownService;\n }\n }\n}\n\n@Component({\n selector: 'c-dropdown',\n template: '<ng-content></ng-content>',\n styleUrls: ['./dropdown.component.scss'],\n exportAs: 'cDropdown',\n providers: [DropdownService],\n standalone: true\n})\nexport class DropdownComponent implements AfterContentInit, OnChanges, OnDestroy, OnInit {\n\n static ngAcceptInputType_dark: BooleanInput;\n static ngAcceptInputType_visible: BooleanInput;\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n private elementRef: ElementRef,\n private renderer: Renderer2,\n private ngZone: NgZone,\n private changeDetectorRef: ChangeDetectorRef,\n public dropdownService: DropdownService\n ) {\n this.dropdownStateSubscribe();\n }\n\n /**\n * Set alignment of dropdown menu.\n * @type {'start' | 'end' | { xs: 'start' | 'end' } | { sm: 'start' | 'end' } | { md: 'start' | 'end' } | { lg: 'start' | 'end' } | { xl: 'start' | 'end'} | { xxl: 'start' | 'end'}}\n */\n @Input() alignment?: string;\n\n @Input() autoClose: boolean | 'inside' | 'outside' = true;\n\n /**\n * Sets a darker color scheme to match a dark navbar.\n * @type boolean\n * @default false\n */\n @Input()\n set dark(value: boolean) {\n this._dark = coerceBooleanProperty(value);\n };\n\n get dark() {\n return this._dark;\n }\n\n private _dark = false;\n\n /**\n * Sets a specified direction and location of the dropdown menu.\n * @type 'dropup' | 'dropend' | 'dropstart'\n */\n @Input() direction?: 'center' | 'dropup' | 'dropup-center' | 'dropend' | 'dropstart';\n\n /**\n * Describes the placement of your component after Popper.js has applied all the modifiers that may have flipped or altered the originally provided placement property.\n * @type Placement\n */\n @Input() placement: Placement = 'bottom-start';\n\n /**\n * If you want to disable dynamic positioning set this property to `false`.\n * @type boolean\n * @default true\n */\n @Input()\n set popper(value: boolean) {\n this._popper = coerceBooleanProperty(value);\n }\n\n get popper(): boolean {\n return this._popper;\n }\n\n private _popper = true;\n\n /**\n * Optional popper Options object, placement prop takes precedence over\n * @type Partial<Options>\n */\n @Input()\n set popperOptions(value: Partial<Options>) {\n this._popperOptions = { ...this._popperOptions, ...value };\n };\n\n get popperOptions(): Partial<Options> {\n let placement = this.placement;\n switch (this.direction) {\n case 'dropup': {\n placement = 'top-start';\n break;\n }\n case 'dropend': {\n placement = 'right-start';\n break;\n }\n case 'dropstart': {\n placement = 'left-start';\n break;\n }\n case 'center': {\n placement = 'bottom';\n break;\n }\n case 'dropup-center': {\n placement = 'top';\n break;\n }\n }\n if (this.alignment === 'end') {\n placement = 'bottom-end';\n }\n this._popperOptions = { ...this._popperOptions, placement: placement };\n return this._popperOptions;\n }\n\n private _popperOptions: Partial<Options> = {\n placement: this.placement,\n modifiers: [],\n strategy: 'absolute'\n };\n\n /**\n * Set the dropdown variant to a btn-group, dropdown, input-group, and nav-item.\n */\n @Input() variant?: 'btn-group' | 'dropdown' | 'input-group' | 'nav-item' = 'dropdown';\n\n /**\n * Toggle the visibility of dropdown menu component.\n * @type boolean\n * @default false\n */\n @Input()\n set visible(value: boolean) {\n const _value = coerceBooleanProperty(value);\n if (_value !== this._visible) {\n this.activeTrap = _value;\n this._visible = _value;\n _value ? this.createPopperInstance() : this.destroyPopperInstance();\n this.visibleChange.emit(_value);\n }\n }\n\n get visible(): boolean {\n return this._visible;\n }\n\n private _visible = false;\n\n @Output() visibleChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n dropdownContext = { $implicit: this.visible };\n @ContentChild(DropdownToggleDirective) _toggler!: DropdownToggleDirective;\n @ContentChild(DropdownMenuDirective) _menu!: DropdownMenuDirective;\n @ContentChild(DropdownMenuDirective, { read: ElementRef }) _menuElementRef!: ElementRef;\n\n public activeTrap = false;\n\n private dropdownStateSubscription!: Subscription;\n private popperInstance!: Instance | undefined;\n private listeners: (() => void)[] = [];\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n dropdown:\n (this.variant === 'dropdown' || this.variant === 'nav-item') &&\n !this.direction,\n [`${this.direction}`]: !!this.direction,\n [`${this.variant}`]: !!this.variant,\n 'dropup': this.direction === 'dropup' || this.direction === 'dropup-center',\n show: this.visible\n };\n }\n\n // todo: find better solution\n @HostBinding('style')\n get hostStyle(): any {\n return this.variant === 'input-group' ? { display: 'contents' } : {};\n }\n\n private clickedTarget!: HTMLElement;\n\n @HostListener('click', ['$event'])\n private onHostClick($event: MouseEvent): void {\n this.clickedTarget = $event.target as HTMLElement;\n }\n\n dropdownStateSubscribe(subscribe: boolean = true): void {\n if (subscribe) {\n this.dropdownStateSubscription =\n this.dropdownService.dropdownState$.pipe(\n filter((state) => {\n return this === state.dropdown;\n })\n ).subscribe((state) => {\n if ('visible' in state) {\n state?.visible === 'toggle'\n ? this.toggleDropdown()\n : (this.visible = state.visible);\n }\n });\n } else {\n this.dropdownStateSubscription?.unsubscribe();\n }\n }\n\n toggleDropdown(): void {\n this.visible = !this.visible;\n }\n\n onClick(event: any): void {\n if (!this._toggler?.elementRef.nativeElement.contains(event.target?.closest('[cDropdownToggle]'))) {\n this.toggleDropdown();\n }\n }\n\n ngAfterContentInit(): void {\n if (this.variant === 'nav-item') {\n this.renderer.addClass(this._toggler.elementRef.nativeElement, 'nav-link');\n }\n }\n\n ngOnInit(): void {\n this.setVisibleState(this.visible);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['visible'] && !changes['visible'].firstChange) {\n this.setVisibleState(changes['visible'].currentValue);\n }\n }\n\n ngOnDestroy(): void {\n this.clearListeners();\n this.dropdownStateSubscribe(false);\n this.destroyPopperInstance();\n }\n\n setVisibleState(value: boolean): void {\n this.dropdownService.toggle({ visible: value, dropdown: this });\n }\n\n // todo: turn off popper in navbar-nav\n createPopperInstance(): void {\n if (this._toggler && this._menu) {\n this.ngZone.runOutsideAngular(() => {\n // workaround for popper position calculate (see also: dropdown-menu.component)\n this._menu.elementRef.nativeElement.style.visibility = 'hidden';\n this._menu.elementRef.nativeElement.style.display = 'block';\n if (this.popper) {\n this.popperInstance = createPopper(\n this._toggler.elementRef.nativeElement,\n this._menu.elementRef.nativeElement,\n { ...this.popperOptions }\n );\n }\n this.ngZone.run(() => {\n this.setListeners();\n this.changeDetectorRef.markForCheck();\n this.changeDetectorRef.detectChanges();\n });\n });\n }\n }\n\n destroyPopperInstance(): void {\n this.clearListeners();\n this.popperInstance?.destroy();\n this.popperInstance = undefined;\n this.changeDetectorRef.markForCheck();\n }\n\n private setListeners(): void {\n this.listeners.push(\n this.renderer.listen(this.document, 'click', (event) => {\n const target = event.target as HTMLElement;\n if (this._menuElementRef?.nativeElement.contains(event.target)) {\n this.clickedTarget = target;\n }\n if (this._toggler?.elementRef.nativeElement.contains(event.target)) {\n return;\n }\n if (this.autoClose === true) {\n this.setVisibleState(false);\n return;\n }\n if (this.clickedTarget === target && this.autoClose === 'inside') {\n this.setVisibleState(false);\n return;\n }\n if (this.clickedTarget !== target && this.autoClose === 'outside') {\n this.setVisibleState(false);\n return;\n }\n })\n );\n this.listeners.push(\n this.renderer.listen(this.elementRef.nativeElement, 'keyup', (event) => {\n if (event.key === 'Escape' && this.autoClose !== false) {\n event.stopPropagation();\n this.setVisibleState(false);\n return;\n }\n })\n );\n this.listeners.push(\n this.renderer.listen(this.document, 'keyup', (event) => {\n if (event.key === 'Tab' && this.autoClose !== false && !this.elementRef.nativeElement.contains(event.target)) {\n this.setVisibleState(false);\n return;\n }\n })\n );\n }\n\n private clearListeners(): void {\n this.listeners.forEach((unListen) => {\n unListen();\n });\n // @ts-ignore\n this.listeners.fill(undefined);\n this.listeners = [];\n }\n}\n","import { Directive, HostBinding, HostListener, Input, Optional } from '@angular/core';\nimport { DropdownService } from '../dropdown.service';\nimport { DropdownComponent } from '../dropdown/dropdown.component';\n\n@Directive({\n selector: '[cDropdownItem]',\n exportAs: 'cDropdownItem',\n standalone: true\n})\nexport class DropdownItemDirective {\n /**\n * Set active state to a dropdown-item.\n * @type boolean\n * @default undefined\n */\n @Input() active?: boolean;\n /**\n * Configure dropdown-item close dropdown behavior.\n * @type boolean\n * @default true\n */\n @Input() autoClose: boolean = true;\n /**\n * Disables a dropdown-item.\n * @type boolean\n * @default undefined\n */\n @Input() disabled?: boolean;\n\n constructor(\n private dropdownService: DropdownService,\n @Optional() public dropdown?: DropdownComponent\n ) {\n }\n\n @HostBinding('attr.aria-current')\n get ariaCurrent(): string | null {\n return this.active ? 'true' : null;\n }\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'dropdown-item': true,\n active: this.active,\n disabled: this.disabled\n };\n }\n\n @HostBinding('attr.tabindex')\n @Input()\n set tabIndex(value: string | number | null) {\n this._tabIndex = value;\n }\n get tabIndex() {\n return this.disabled ? '-1' : this._tabIndex;\n }\n private _tabIndex: string | number | null = null;\n\n @HostBinding('attr.aria-disabled')\n get isDisabled(): boolean | null {\n return this.disabled || null;\n }\n\n @HostListener('click', ['$event'])\n private onClick($event: MouseEvent): void {\n if (this.autoClose) {\n this.dropdownService.toggle({ visible: 'toggle', dropdown: this.dropdown });\n }\n }\n\n @HostListener('keyup', ['$event'])\n private onKeyUp($event: KeyboardEvent): void {\n if ($event.key === 'Enter') {\n if (this.autoClose) {\n this.dropdownService.toggle({ visible: false, dropdown: this.dropdown });\n }\n }\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[cDropdownItemPlain]',\n standalone: true\n})\nexport class DropdownItemPlainDirective {\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'dropdown-item-text': true\n };\n }\n}\n","import { AfterViewInit, Directive, HostBinding, HostListener, Input, Optional } from '@angular/core';\nimport { DropdownService } from '../dropdown.service';\nimport { DropdownComponent } from '../dropdown/dropdown.component';\n\n@Directive({\n selector: '[cDropdownClose]',\n exportAs: 'cDropdownClose',\n standalone: true\n})\nexport class DropdownCloseDirective implements AfterViewInit {\n\n constructor(\n private dropdownService: DropdownService,\n @Optional() public dropdown?: DropdownComponent\n ) { }\n\n /**\n * Disables a dropdown-close directive.\n * @type boolean\n * @default undefined\n */\n @Input() disabled?: boolean;\n\n @Input() dropdownComponent?: DropdownComponent;\n\n ngAfterViewInit(): void {\n if (this.dropdownComponent) {\n this.dropdown = this.dropdownComponent;\n this.dropdownService = this.dropdownComponent?.dropdownService;\n }\n }\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n disabled: this.disabled\n };\n }\n\n @HostBinding('attr.tabindex')\n @Input()\n set tabIndex(value: string | number | null) {\n this._tabIndex = value;\n }\n get tabIndex() {\n return this.disabled ? '-1' : this._tabIndex;\n }\n private _tabIndex: string | number | null = null;\n\n @HostBinding('attr.aria-disabled')\n get isDisabled(): boolean | null {\n return this.disabled || null;\n }\n\n @HostListener('click', ['$event'])\n private onClick($event: MouseEvent): void {\n !this.disabled && this.dropdownService.toggle({ visible: false, dropdown: this.dropdown });\n }\n\n @HostListener('keyup', ['$event'])\n private onKeyUp($event: KeyboardEvent): void {\n if ($event.key === 'Enter') {\n !this.disabled && this.dropdownService.toggle({ visible: false, dropdown: this.dropdown });\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { DropdownComponent, DropdownToggleDirective } from './dropdown/dropdown.component';\nimport { DropdownDividerDirective } from './dropdown-divider/dropdown-divider.directive';\nimport { DropdownHeaderDirective } from './dropdown-header/dropdown-header.directive';\nimport { DropdownItemDirective } from './dropdown-item/dropdown-item.directive';\nimport { DropdownItemPlainDirective } from './dropdown-item/dropdown-item-plain.directive';\nimport { DropdownMenuDirective } from './dropdown-menu/dropdown-menu.directive';\nimport { DropdownService } from './dropdown.service';\nimport { DropdownCloseDirective } from './dropdown-close/dropdown-close.directive';\n\n@NgModule({\n imports: [\n DropdownComponent,\n DropdownCloseDirective,\n DropdownDividerDirective,\n DropdownHeaderDirective,\n DropdownItemDirective,\n DropdownItemPlainDirective,\n DropdownMenuDirective,\n DropdownToggleDirective\n ],\n exports: [\n DropdownComponent,\n DropdownCloseDirective,\n DropdownDividerDirective,\n DropdownHeaderDirective,\n DropdownItemDirective,\n DropdownItemPlainDirective,\n DropdownMenuDirective,\n DropdownToggleDirective\n ],\n providers: [DropdownService]\n})\nexport class DropdownModule {}\n","import { Directive, HostBinding, Input } from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\n@Directive({\n selector: 'form[cForm]',\n standalone: true\n})\nexport class FormDirective {\n\n static ngAcceptInputType_validated: BooleanInput;\n private _validated = false;\n\n /**\n * Mark a form as validated. If you set it `true`, all validation styles will be applied to the form. [docs]\n * @type boolean\n * @default false\n */\n @Input()\n set validated(value: boolean) {\n this._validated = coerceBooleanProperty(value);\n }\n get validated() {\n return this._validated;\n }\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'was-validated': this.validated,\n };\n }\n\n constructor() { }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\n@Component({\n selector: 'c-form-feedback',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class FormFeedbackComponent {\n static ngAcceptInputType_tooltip: BooleanInput;\n\n /**\n * If your form layout allows it, you can display validation feedback in a styled tooltip.\n */\n private _tooltip = false;\n @Input()\n set tooltip(value: boolean) {\n this._tooltip = coerceBooleanProperty(value);\n }\n get tooltip(): boolean {\n return this._tooltip;\n }\n /**\n * Set component validation state to valid.\n */\n @Input() valid?: boolean;\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'valid-feedback': this.valid === true && !this.tooltip,\n 'valid-tooltip': this.valid === true && this.tooltip,\n 'invalid-feedback': this.valid !== true && !this.tooltip,\n 'invalid-tooltip': this.valid !== true && this.tooltip\n };\n }\n}\n","import {\n Component,\n HostBinding,\n Input,\n} from '@angular/core';\n\n@Component({\n selector: 'c-input-group',\n template: `<ng-content></ng-content>`,\n standalone: true\n})\nexport class InputGroupComponent {\n /**\n * Size the component small or large.\n */\n @Input() sizing: string | 'sm' | 'lg' | '' = '';\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'input-group': true,\n [`input-group-${this.sizing}`]: !!this.sizing,\n };\n }\n\n constructor() {}\n\n}\n","import { Directive, HostBinding, Input, OnChanges } from '@angular/core';\n\n@Directive({\n selector: 'select[cSelect]',\n standalone: true\n})\nexport class FormSelectDirective {\n /**\n * Size the component small or large.\n */\n @Input() sizing?: '' | 'sm' | 'lg' | string = '';\n\n /**\n * Set component validation state to valid.\n * @type {boolean | undefined}\n */\n @Input() valid?: boolean;\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'form-select': true,\n [`form-select-${this.sizing}`]: !!this.sizing,\n 'is-valid': this.valid === true,\n 'is-invalid': this.valid === false,\n };\n }\n\n constructor() {}\n\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[cLabel]',\n standalone: true\n})\nexport class FormLabelDirective {\n\n /**\n * For horizontal forms set labels to 'col' and make them vertically centered with their associated form controls.\n * @type 'col'\n */\n @Input('cLabel') col: 'col' | '' = '';\n /**\n * Size the label small or large.\n */\n @Input() sizing: '' | 'sm' | 'lg' | string = '';\n\n @HostBinding('class')\n get hostClasses(): any {\n\n return {\n 'form-label': true,\n 'col-form-label': this.col === 'col',\n [`col-form-label-${this.sizing}`]: !!this.sizing && this.col === 'col',\n };\n }\n\n constructor() {}\n\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: 'label[cFormCheckLabel]',\n standalone: true\n})\nexport class FormCheckLabelDirective {\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'form-check-label': true\n };\n }\n}\n","import { AfterContentInit, Component, ContentChild, HostBinding, Input } from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\nimport { FormCheckLabelDirective } from './form-check-label.directive';\n\n@Component({\n selector: 'c-form-check',\n template: '<ng-content></ng-content>',\n exportAs: 'cFormCheck',\n standalone: true\n})\nexport class FormCheckComponent implements AfterContentInit {\n\n static ngAcceptInputType_inline: BooleanInput;\n static ngAcceptInputType_reverse: BooleanInput;\n static ngAcceptInputType_switch: BooleanInput;\n\n /**\n * Group checkboxes or radios on the same horizontal row.\n * @type boolean\n * @default false\n */\n @Input()\n set inline(value: boolean) {\n this._inline = coerceBooleanProperty(value);\n }\n\n get inline(): boolean {\n return this._inline;\n }\n\n private _inline = false;\n\n /**\n * Put checkboxes or radios on the opposite side.\n * @type boolean\n * @default false\n * @since 4.4.7\n */\n @Input()\n set reverse(value: boolean) {\n this._reverse = coerceBooleanProperty(value);\n }\n\n get reverse(): boolean {\n return this._reverse;\n }\n\n private _reverse: boolean = false;\n\n /**\n * Size the component large or extra large. Works only with `[switch]=\"true\"` [docs]\n * @type {'lg' | 'xl' | ''}\n */\n @Input() sizing?: 'lg' | 'xl' | '' = '';\n\n /**\n * Render a toggle switch on for checkbox.\n * @type boolean\n * @default false\n */\n @Input()\n set switch(value: boolean) {\n this._switch = coerceBooleanProperty(value);\n }\n\n get switch(): boolean {\n return this._switch;\n }\n\n private _switch = false;\n\n @HostBinding('class')\n get hostClasses(): any {\n\n return {\n 'form-check': this.formCheckClass,\n 'form-switch': this.switch,\n [`form-switch-${this.sizing}`]: this.switch && !!this.sizing,\n 'form-check-inline': this.inline,\n 'form-check-reverse': this.reverse\n };\n }\n\n @ContentChild(FormCheckLabelDirective) formCheckLabel!: FormCheckLabelDirective;\n\n private _formCheckClass = true;\n get formCheckClass() {\n return this._formCheckClass;\n }\n\n ngAfterContentInit(): void {\n this._formCheckClass = !!this.formCheckLabel;\n }\n}\n","import { Directive, ElementRef, HostBinding, Input, Renderer2 } from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\n@Directive({\n selector: 'input[cFormCheckInput]',\n standalone: true\n})\nexport class FormCheckInputDirective {\n\n static ngAcceptInputType_indeterminate: BooleanInput;\n\n /**\n * Specifies the type of component.\n * @type {'checkbox' | 'radio'}\n * @default 'checkbox'\n */\n @HostBinding('attr.type')\n @Input() type: ('checkbox' | 'radio') = 'checkbox';\n\n /**\n * Set component indeterminate state.\n * @type boolean\n */\n @Input()\n set indeterminate(value: boolean) {\n const newValue = coerceBooleanProperty(value);\n if (this._indeterminate !== newValue) {\n this._indeterminate = newValue;\n this.renderer.setProperty(this.hostElement.nativeElement, 'indeterminate', newValue);\n }\n };\n get indeterminate() {\n return this._indeterminate;\n }\n private _indeterminate = false;\n\n /**\n * Set component validation state to valid.\n * @type boolean\n */\n @Input() valid?: boolean;\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'form-check-input': true,\n 'is-valid': this.valid === true,\n 'is-invalid': this.valid === false\n };\n }\n\n get checked(): boolean {\n return this.hostElement?.nativeElement?.checked;\n }\n\n constructor(\n private renderer: Renderer2,\n private hostElement: ElementRef\n ) { }\n\n}\n","import { Directive, ElementRef, HostBinding, Input, OnInit } from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\nimport { InputType } from '../../coreui.types';\n\n@Directive({\n selector: 'input[cFormControl], textarea[cFormControl]',\n standalone: true\n})\nexport class FormControlDirective implements OnInit {\n\n static ngAcceptInputType_plaintext: BooleanInput;\n /**\n * Size the component small or large.\n * @type {'sm' | 'lg'}\n */\n @Input() sizing?: '' | 'sm' | 'lg' | string = '';\n /**\n * Set component validation state to valid.\n * @type boolean | undefined\n */\n @Input() valid?: boolean;\n\n /**\n * Specifies the type of input element.\n */\n @HostBinding('attr.type')\n @Input() type: Omit<InputType, 'checkbox' | 'radio'> = 'text';\n\n /**\n * Render the component styled as plain text. Removes the default form field styling and preserve the correct margin and padding. Recommend to use alongside `readonly` [docs]\n */\n @Input()\n set plaintext(value: boolean) {\n this._plaintext = coerceBooleanProperty(value);\n }\n get plaintext(): boolean {\n return this._plaintext;\n }\n private _plaintext = false;\n\n constructor(\n private hostElement: ElementRef\n ) {}\n\n @HostBinding('class')\n get hostClasses(): any {\n\n const isRangeType = this.type === 'range';\n\n return {\n 'form-control': !isRangeType && !this.plaintext,\n 'form-control-plaintext': !isRangeType && this.plaintext,\n 'form-control-color': this.type === 'color',\n 'form-range': isRangeType,\n [`form-control-${this.sizing}`]: !!this.sizing && !isRangeType,\n 'is-valid': this.valid === true,\n 'is-invalid': this.valid === false\n };\n }\n\n get hostTag(): string {\n return this.hostElement.nativeElement.tagName;\n }\n\n ngOnInit(): void {\n const hostTag = this.hostTag.toLowerCase();\n if (hostTag !== 'input' && hostTag !== 'textarea') {\n console.warn(`CoreUI [cFormControl] works with '<input>' and '<texarea>' - not with '<${hostTag}>'`);\n }\n }\n\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[cFormText]',\n standalone: true\n})\nexport class FormTextDirective {\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'form-text': true\n };\n }\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\n@Directive({\n selector: '[cFormFloating]',\n standalone: true\n})\nexport class FormFloatingDirective {\n\n static ngAcceptInputType_floating: BooleanInput;\n\n /**\n * Enable floating labels\n * @type boolean\n */\n @Input('cFormFloating')\n get floating(): boolean {\n return this._floating;\n }\n set floating(value: boolean) {\n this._floating = coerceBooleanProperty(value);\n }\n private _floating = true;\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'form-floating': this.floating,\n };\n }\n\n constructor() { }\n\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[cInputGroupText]',\n standalone: true\n})\nexport class InputGroupTextDirective {\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'input-group-text': true,\n };\n }\n\n constructor() { }\n\n}\n","import { NgModule } from '@angular/core';\nimport { FormDirective } from './form/form.directive';\nimport { FormFeedbackComponent } from './form-feedback/form-feedback.component';\nimport { InputGroupComponent } from './input-group/input-group.component';\nimport { FormSelectDirective } from './form-select/form-select.directive';\nimport { FormLabelDirective } from './form-label/form-label.directive';\nimport { FormCheckComponent } from './form-check/form-check.component';\nimport { FormControlDirective } from './form-control/form-control.directive';\nimport { FormTextDirective } from './form-text/form-text.directive';\nimport { FormFloatingDirective } from './form-floating/form-floating.directive';\nimport { InputGroupTextDirective } from './input-group-text/input-group-text.directive';\nimport { FormCheckLabelDirective } from './form-check/form-check-label.directive';\nimport { FormCheckInputDirective } from './form-check/form-check-input.directive';\n\n@NgModule({\n imports: [\n FormDirective,\n FormCheckComponent,\n FormCheckLabelDirective,\n FormCheckInputDirective,\n FormControlDirective,\n FormFeedbackComponent,\n FormFloatingDirective,\n FormLabelDirective,\n FormSelectDirective,\n FormTextDirective,\n InputGroupComponent,\n InputGroupTextDirective\n ],\n exports: [\n FormDirective,\n FormCheckComponent,\n FormCheckLabelDirective,\n FormCheckInputDirective,\n FormControlDirective,\n FormFeedbackComponent,\n FormFloatingDirective,\n FormLabelDirective,\n FormSelectDirective,\n FormTextDirective,\n InputGroupComponent,\n InputGroupTextDirective\n ]\n})\nexport class FormModule {}\n","import { isValid } from 'date-fns';\n\nexport interface DateTimeFormatOptions {\n localeMatcher?: \"best fit\" | \"lookup\" | undefined;\n weekday?: \"long\" | \"short\" | \"narrow\" | undefined;\n era?: \"long\" | \"short\" | \"narrow\" | undefined;\n year?: \"numeric\" | \"2-digit\" | undefined;\n month?: \"numeric\" | \"2-digit\" | \"long\" | \"short\" | \"narrow\" | undefined;\n day?: \"numeric\" | \"2-digit\" | undefined;\n hour?: \"numeric\" | \"2-digit\" | undefined;\n minute?: \"numeric\" | \"2-digit\" | undefined;\n second?: \"numeric\" | \"2-digit\" | undefined;\n timeZoneName?: \"long\" | \"short\" | undefined;\n formatMatcher?: \"best fit\" | \"basic\" | undefined;\n hour12?: boolean | undefined;\n timeZone?: string | undefined;\n}\n\nexport type DayPeriod = ('am' | 'pm');\n\nexport interface ITimeValue {\n value: number;\n label: string;\n dayPeriod?: DayPeriod;\n disabled?: boolean;\n}\n\nexport interface IDayPeriods {\n am: string;\n pm: string;\n}\n\nexport const getSupportedLocale = (locale: string = 'default') => {\n let supportedLocale: string;\n try {\n supportedLocale = Intl.DateTimeFormat.supportedLocalesOf(locale).length ? locale : 'default';\n } catch (e) {\n supportedLocale = 'default';\n }\n return supportedLocale;\n}\n\nexport const isHour12 = (locale: string = 'default'): boolean => {\n const supportedLocale = getSupportedLocale(locale);\n const hour12 = Intl.DateTimeFormat(supportedLocale, {timeStyle: 'short'}).resolvedOptions().hour12;\n return hour12 ?? false;\n}\n\nexport const convert12hTo24h = (abbr: 'am' | 'pm', hour: number) => {\n if (abbr === 'am' && hour === 12) {\n return 0\n }\n if (abbr === 'am') {\n return hour\n }\n if (abbr === 'pm' && hour === 12) {\n return 12\n }\n return hour + 12\n}\n\nexport const convert24hTo12h = (hour: number) => hour % 12 || 12\n\nexport const convertTimeToDate = (time: Date | string | null | undefined) =>\n time ? (time instanceof Date ? new Date(time) : new Date(`1970-01-01 ${time}`)) : null\n\n// export const getAmPm = (date: Date, locale: string) => {\n// if (date.toLocaleTimeString(locale).includes('AM')) {\n// return 'am'\n// }\n// if (date.toLocaleTimeString(locale).includes('PM')) {\n// return 'pm'\n// }\n// return date.getHours() >= 12 ? 'pm' : 'am'\n// }\n\nexport const getAmPm = (date: Date, locale: string, options: DateTimeFormatOptions = {}): DayPeriod => {\n\n const dayPeriods = getDayPeriods('en-US', options);\n const time = new Intl.DateTimeFormat('en-US', {timeStyle: \"short\", hour12: true}).format(date);\n\n const dayPeriod = dayPeriods.find(element => time.includes(element.label));\n\n return <DayPeriod>(dayPeriod?.value ?? (date.getHours() >= 12 ? 'pm' : 'am'));\n}\n\nexport const isAm = (date: Date) => {\n return date.getHours() < 12;\n}\nexport const isPm = (date: Date) => {\n return date.getHours() > 11;\n}\n\nexport const isValidTimeZone = (timeZone: unknown): boolean => {\n try {\n if (timeZone === undefined) {\n return false;\n }\n\n if (!Intl || !Intl.DateTimeFormat().resolvedOptions().timeZone) {\n throw new Error('Time zones not supported.');\n }\n\n if (typeof timeZone !== 'string') {\n throw new Error(`Invalid timeZone type specified: ${timeZone}`);\n }\n\n try {\n // throws an error if timezone is not valid\n Intl.DateTimeFormat(undefined, { timeZone: timeZone });\n } catch (error) {\n throw new Error(`Invalid timeZone string specified: ${timeZone}`);\n }\n\n return true;\n } catch (error) {\n console.warn(error);\n return false;\n }\n};\n\nexport const getListOfHours = (locale: string, options: DateTimeFormatOptions = {}) => {\n const hour12 = isHour12(locale);\n const time = new Date(0);\n return Array.from({ length: 24 }, (_, i) => {\n time.setHours(i);\n const dayPeriod = getAmPm(time, locale);\n return {\n value: i,\n dayPeriod: <DayPeriod>dayPeriod,\n label: time.toLocaleTimeString(locale, {\n hour: '2-digit',\n hour12: hour12,\n minute: '2-digit',\n second: '2-digit',\n }).split(':')[0],\n }\n })\n}\n\nexport const getListOfMinutes = (locale: string, options: DateTimeFormatOptions = {}, valueAsString = false) => {\n const d = new Date(0);\n return Array.from({ length: 60 }, (_, i) => {\n d.setMinutes(i)\n return {\n value: i,\n // value: valueAsString ? i.toString() : i,\n label: d.toLocaleTimeString(locale, {\n // ...options,\n hour: '2-digit',\n hour12: false,\n minute: '2-digit',\n second: '2-digit',\n }).split(':')[1],\n }\n })\n}\n\nexport const getListOfSeconds = (locale: string, options: DateTimeFormatOptions = {}, valueAsString = false) =>\n Array.from({ length: 60 }, (_, i) => {\n const d = new Date(0)\n d.setSeconds(i)\n return {\n value: i,\n // value: valueAsString ? i.toString() : i,\n label: d.toLocaleTimeString(locale, {\n // ...options,\n hour: '2-digit',\n hour12: false,\n minute: '2-digit',\n second: '2-digit',\n }).split(':')[2],\n }\n })\n\nexport const getSelectedHour = (date: Date | null, locale: string) =>\n date instanceof Date ? (isHour12(locale) ? convert24hTo12h(date.getHours()) : date.getHours()) : '';\n\nexport const getSelectedMinutes = (date: Date | null) => (date ? date.getMinutes() : '')\n\nexport const getSelectedSeconds = (date: Date | null) => (date ? date.getSeconds() : '')\n\n// export const isAmPm = (locale: string) =>\n// ['am', 'AM', 'pm', 'PM'].some((el) => new Date().toLocaleString(locale).includes(el))\n\nexport const isAmPm = (locale: string = 'default') => {\n const supportedLocale = getSupportedLocale(locale);\n const date = new Date();\n const time = new Intl.DateTimeFormat(supportedLocale, {timeStyle: \"short\"}).format(date);\n const isAmPm = time.match(/(?:\\p{L}\\p{M}\\p{P}*)+|(?:\\p{L}\\p{P}*)+/gu) ?? [];\n return isAmPm.length > 0;\n}\n\nexport const isValidTime = (time: string | Date | number | any) => {\n if (typeof time === 'string') {\n return isValid(time) || isValid(new Date(`1970-01-01 ${time}`));\n }\n return isValid(time);\n // const d = new Date(`1970-01-01 ${time}`)\n // return d instanceof Date && d.getTime()\n}\n\n// export const _getDayPeriods = (locale: string = 'default', options: DateTimeFormatOptions = {}) => {\n// const supportedLocale = getSupportedLocale(locale);\n//\n// const dayPeriods = { am: 'am', pm: 'pm' };\n//\n// const hour12 = isHour12(supportedLocale);\n// if (!hour12) {\n// return dayPeriods;\n// }\n//\n// const am = new Date(Date.UTC(1970, 0, 1, 0, 0, 0));\n// const pm = new Date(Date.UTC(1970, 0, 1, 13, 0, 0));\n//\n// const formatter = new Intl.DateTimeFormat(supportedLocale, { hour12: hour12, hour: 'numeric', timeZone: 'UTC' });\n// dayPeriods.am = formatter.formatToParts(am).find(part => part.type === 'dayPeriod')?.value ?? 'am';\n// dayPeriods.pm = formatter.formatToParts(pm).find(part => part.type === 'dayPeriod')?.value ?? 'pm'\n// return dayPeriods;\n// };\n\nexport const getDayPeriods = (locale: string = 'default', options: DateTimeFormatOptions = {}) => {\n const supportedLocale = getSupportedLocale(locale);\n\n const dayPeriods = [\n { value: 'am', label: 'am' },\n { value: 'pm', label: 'pm' },\n ];\n\n const hour12 = isHour12(supportedLocale);\n if (!hour12) {\n return dayPeriods;\n }\n\n const am = new Date(Date.UTC(1970, 0, 1, 0, 0, 0));\n const pm = new Date(Date.UTC(1970, 0, 1, 13, 0, 0));\n const formatter = new Intl.DateTimeFormat(supportedLocale, { hour12: hour12, hour: 'numeric', timeZone: 'UTC' });\n const formattedAm = formatter.formatToParts(am).find(part => part.type === 'dayPeriod')?.value ?? 'am';\n const formattedPm = formatter.formatToParts(pm).find(part => part.type === 'dayPeriod')?.value ?? 'pm';\n\n dayPeriods.forEach((element, index, dayPeriods) => {\n dayPeriods[index].label = element.value === 'am' ? (formattedAm ?? 'am') : (formattedPm ?? 'pm');\n })\n\n return dayPeriods;\n};\n\n\n\n// testing\n// const langs = [\n// ['Abkhazian', 'ab'],\n// ['Afar', 'aa'],\n// ['Afrikaans', 'af'],\n// ['Akan', 'ak'],\n// ['Albanian', 'sq'],\n// ['Amharic', 'am'],\n// ['Arabic', 'ar'],\n// ['Aragonese', 'an'],\n// ['Argentina', 'es-ar'],\n// ['Armenian', 'hy'],\n// ['Assamese', 'as'],\n// ['Avaric', 'av'],\n// ['Avestan', 'ae'],\n// ['Aymara', 'ay'],\n// ['Azerbaijani', 'az'],\n// ['Bambara', 'bm'],\n// ['Bashkir', 'ba'],\n// ['Basque', 'eu'],\n// ['Belarusian', 'be'],\n// ['Bengali (Bangla)', 'bn'],\n// ['Bihari', 'bh'],\n// ['Bislama', 'bi'],\n// ['Bosnian', 'bs'],\n// ['Breton', 'br'],\n// ['Bulgarian', 'bg'],\n// ['Burmese', 'my'],\n// ['Catalan', 'ca'],\n// ['Chamorro', 'ch'],\n// ['Chechen', 'ce'],\n// ['Chichewa, Chewa, Nyanja', 'ny'],\n// ['Chinese', 'zh'],\n// ['Chinese (Simplified)', 'zh-Hans'],\n// ['Chinese (Traditional)', 'zh-Hant'],\n// ['Chuvash', 'cv'],\n// ['Cornish', 'kw'],\n// ['Corsican', 'co'],\n// ['Cree', 'cr'],\n// ['Croatian', 'hr'],\n// ['Czech', 'cs'],\n// ['Danish', 'da'],\n// ['Divehi, Dhivehi, Maldivian', 'dv'],\n// ['Dutch', 'nl'],\n// ['Dzongkha', 'dz'],\n// ['English', 'en'],\n// ['Esperanto', 'eo'],\n// ['Estonian', 'et'],\n// ['Ewe', 'ee'],\n// ['Faroese', 'fo'],\n// ['Fijian', 'fj'],\n// ['Finnish', 'fi'],\n// ['French', 'fr'],\n// ['Fula, Fulah, Pulaar, Pular', 'ff'],\n// ['Galician', 'gl'],\n// ['Gaelic (Scottish)', 'gd'],\n// ['Gaelic (Manx)', 'gv'],\n// ['Georgian', 'ka'],\n// ['German', 'de'],\n// ['Greek', 'el'],\n// ['Greenlandic', 'kl'],\n// ['Guarani', 'gn'],\n// ['Gujarati', 'gu'],\n// ['Haitian Creole', 'ht'],\n// ['Hausa', 'ha'],\n// ['Hebrew', 'he'],\n// ['Herero', 'hz'],\n// ['Hindi', 'hi'],\n// ['Hiri Motu', 'ho'],\n// ['Hungarian', 'hu'],\n// ['Icelandic', 'is'],\n// ['Ido', 'io'],\n// ['Igbo', 'ig'],\n// ['Indonesian', 'id', 'in'],\n// ['Interlingua', 'ia'],\n// ['Interlingue', 'ie'],\n// ['Inuktitut', 'iu'],\n// ['Inupiak', 'ik'],\n// ['Irish', 'ga'],\n// ['Italian', 'it'],\n// ['Japanese', 'ja'],\n// ['Javanese', 'jv'],\n// ['Kalaallisut, Greenlandic', 'kl'],\n// ['Kannada', 'kn'],\n// ['Kanuri', 'kr'],\n// ['Kashmiri', 'ks'],\n// ['Kazakh', 'kk'],\n// ['Khmer', 'km'],\n// ['Kikuyu', 'ki'],\n// ['Kinyarwanda (Rwanda)', 'rw'],\n// ['Kirundi', 'rn'],\n// ['Kyrgyz', 'ky'],\n// ['Komi', 'kv'],\n// ['Kongo', 'kg'],\n// ['Korean', 'ko'],\n// ['Kurdish', 'ku'],\n// ['Kwanyama', 'kj'],\n// ['Lao', 'lo'],\n// ['Latin', 'la'],\n// ['Latvian (Lettish)', 'lv'],\n// ['Limburgish (Limburger)', 'li'],\n// ['Lingala', 'ln'],\n// ['Lithuanian', 'lt'],\n// ['Luga-Katanga', 'lu'],\n// ['Luganda, Ganda', 'lg'],\n// ['Luxembourgish', 'lb'],\n// ['Manx', 'gv'],\n// ['Macedonian', 'mk'],\n// ['Malagasy', 'mg'],\n// ['Malay', 'ms'],\n// ['Malayalam', 'ml'],\n// ['Maltese', 'mt'],\n// ['Maori', 'mi'],\n// ['Marathi', 'mr'],\n// ['Marshallese', 'mh'],\n// ['Moldavian', 'mo'],\n// ['Mongolian', 'mn'],\n// ['Nauru', 'na'],\n// ['Navajo', 'nv'],\n// ['Ndonga', 'ng'],\n// ['Northern Ndebele', 'nd'],\n// ['Nepali', 'ne'],\n// ['Norwegian', 'no'],\n// ['Norwegian bokmål', 'nb'],\n// ['Norwegian nynorsk', 'nn'],\n// ['Nuosu', 'ii'],\n// ['Occitan', 'oc'],\n// ['Ojibwe', 'oj'],\n// ['Old Church Slavonic, Old Bulgarian', 'cu'],\n// ['Oriya', 'or'],\n// ['Oromo (Afaan Oromo)', 'om'],\n// ['Ossetian', 'os'],\n// ['Pāli', 'pi'],\n// ['Pashto, Pushto', 'ps'],\n// ['Persian (Farsi)', 'fa'],\n// ['Polish', 'pl'],\n// ['Portuguese', 'pt'],\n// ['Punjabi (Eastern)', 'pa'],\n// ['Quechua', 'qu'],\n// ['Romansh', 'rm'],\n// ['Romanian', 'ro'],\n// ['Russian', 'ru'],\n// ['Sami', 'se'],\n// ['Samoan', 'sm'],\n// ['Sango', 'sg'],\n// ['Sanskrit', 'sa'],\n// ['Serbian', 'sr'],\n// ['Serbo-Croatian', 'sh'],\n// ['Sesotho', 'st'],\n// ['Setswana', 'tn'],\n// ['Shona', 'sn'],\n// ['Sichuan Yi', 'ii'],\n// ['Sindhi', 'sd'],\n// ['Sinhalese', 'si'],\n// ['Siswati', 'ss'],\n// ['Slovak', 'sk'],\n// ['Slovenian', 'sl'],\n// ['Somali', 'so'],\n// ['Southern Ndebele', 'nr'],\n// ['Spanish', 'es'],\n// ['Sundanese', 'su'],\n// ['Swahili (Kiswahili)', 'sw'],\n// ['Swati', 'ss'],\n// ['Swedish', 'sv'],\n// ['Tagalog', 'tl'],\n// ['Tahitian', 'ty'],\n// ['Tajik', 'tg'],\n// ['Tamil', 'ta'],\n// ['Tatar', 'tt'],\n// ['Telugu', 'te'],\n// ['Thai', 'th'],\n// ['Tibetan', 'bo'],\n// ['Tigrinya', 'ti'],\n// ['Tonga', 'to'],\n// ['Tsonga', 'ts'],\n// ['Turkish', 'tr'],\n// ['Turkmen', 'tk'],\n// ['Twi', 'tw'],\n// ['Uyghur', 'ug'],\n// ['Ukrainian', 'uk'],\n// ['Urdu', 'ur'],\n// ['Uzbek', 'uz'],\n// ['Venda', 've'],\n// ['Vietnamese', 'vi'],\n// ['Volapük', 'vo'],\n// ['Wallon', 'wa'],\n// ['Welsh', 'cy'],\n// ['Wolof', 'wo'],\n// ['Western Frisian', 'fy'],\n// ['Xhosa', 'xh'],\n// ['Yiddish', 'yi', 'ji'],\n// ['Yoruba', 'yo'],\n// ['Zhuang, Chuang', 'za'],\n// ['Zulu', 'zu'],\n// ]\n//\n// langs.forEach(lang => {const period = getDayPeriods(lang[1]); if (period.am === 'AM') return; console.log(lang[1], period )})\n\n\n// Chrome / Opera\n// Amharic am {am: 'ጥዋት', pm: 'ከሰዓት'}\n// Arabic ar {am: 'ص', pm: 'م'}\n// Bulgarian bg {am: 'пр.об.', pm: 'сл.об.'}\n// Chinese (Traditional) zh-Hant {am: '上午', pm: '下午'}\n// Greek el {am: 'π.μ.', pm: 'μ.μ.'}\n// Hindi hi {am: 'am', pm: 'pm'}\n// Kannada kn {am: 'ಪೂರ್ವಾಹ್ನ', pm: 'ಅಪರಾಹ್ನ'}\n// Korean ko {am: '오전', pm: '오후'}\n// Malay ms {am: 'PG', pm: 'PTG'}\n// Tamil ta {am: 'முற்பகல்', pm: 'பிற்பகல்'}\n\n// Edge Chromium\n// Albanian sq {am: 'e paradites', pm: 'e pasdites'}\n// Amharic am {am: 'ጥዋት', pm: 'ከሰዓት'}\n// Arabic ar {am: 'ص', pm: 'م'}\n// Bulgarian bg {am: 'пр.об.', pm: 'сл.об.'}\n// Chinese (Traditional) zh-Hant {am: '上午', pm: '下午'}\n// Greek el {am: 'π.μ.', pm: 'μ.μ.'}\n// Hindi hi {am: 'am', pm: 'pm'}\n// Kannada kn {am: 'ಪೂರ್ವಾಹ್ನ', pm: 'ಅಪರಾಹ್ನ'}\n// Korean ko {am: '오전', pm: '오후'}\n// Malay ms {am: 'PG', pm: 'PTG'}\n// Punjabi (Eastern) pa {am: 'ਪੂ.ਦੁ.', pm: 'ਬਾ.ਦੁ.'}\n// Sindhi sd {am: 'صبح، منجهند', pm: 'منجهند، شام'}\n// Tamil ta {am: 'முற்பகல்', pm: 'பிற்பகல்'}\n\n\n// Firefox\n// Akan ak { am: \"AN\", pm: \"EW\" }\n// Albanian sq { am: \"e paradites\", pm: \"e pasdites\" }\n// Amharic am { am: \"ጥዋት\", pm: \"ከሰዓት\" }\n// Arabic ar { am: \"ص\", pm: \"م\" }\n// Assamese as { am: \"পূৰ্বাহ্ন\", pm: \"অপৰাহ্ন\" }\n// Bulgarian bg { am: \"пр.об.\", pm: \"сл.об.\" }\n// Chinese (Traditional) zh-Hant { am: \"上午\", pm: \"下午\" }\n// Dzongkha dz { am: \"སྔ་ཆ་\", pm: \"ཕྱི་ཆ་\" }\n// Ewe ee { am: \"ŋdi\", pm: \"ɣetrɔ\" }\n// Greek el { am: \"π.μ.\", pm: \"μ.μ.\" }\n// Hindi hi { am: \"am\", pm: \"pm\" }\n// Kannada kn { am: \"ಪೂರ್ವಾಹ್ನ\", pm: \"ಅಪರಾಹ್ನ\" }\n// Korean ko { am: \"오전\", pm: \"오후\" }\n// Malay ms { am: \"PG\", pm: \"PTG\" }\n// Oromo (Afaan Oromo) om { am: \"WD\", pm: \"WB\" }\n// Punjabi (Eastern) pa { am: \"ਪੂ.ਦੁ.\", pm: \"ਬਾ.ਦੁ.\" }\n// Sanskrit sa { am: \"पूर्वाह्न\", pm: \"अपराह्न\" }\n// Sindhi sd { am: \"صبح، منجهند\", pm: \"منجهند، شام\" }\n// Somali so { am: \"GH\", pm: \"GD\" }\n// Tamil ta { am: \"முற்பகல்\", pm: \"பிற்பகல்\" }\n// Tigrinya ti { am: \"ቅ.ቀ.\", pm: \"ድ.ቀ.\" }\n// Tonga to { am: \"hengihengi\", pm: \"efiafi\" }\n// Twi tw { am: \"AN\", pm: \"EW\" }\n\n\n\n// const formats = {\n// \"ar-SA\" : \"dd/MM/yy\",\n// \"bg-BG\" : \"dd.M.yyyy\",\n// \"ca-ES\" : \"dd/MM/yyyy\",\n// \"zh-TW\" : \"yyyy/M/d\",\n// \"cs-CZ\" : \"d.M.yyyy\",\n// \"da-DK\" : \"dd-MM-yyyy\",\n// \"de-DE\" : \"dd.MM.yyyy\",\n// \"el-GR\" : \"d/M/yyyy\",\n// \"en-US\" : \"M/d/yyyy\",\n// \"fi-FI\" : \"d.M.yyyy\",\n// \"fr-FR\" : \"dd/MM/yyyy\",\n// \"he-IL\" : \"dd/MM/yyyy\",\n// \"hu-HU\" : \"yyyy. MM. dd.\",\n// \"is-IS\" : \"d.M.yyyy\",\n// \"it-IT\" : \"dd/MM/yyyy\",\n// \"ja-JP\" : \"yyyy/MM/dd\",\n// \"ko-KR\" : \"yyyy-MM-dd\",\n// \"nl-NL\" : \"d-M-yyyy\",\n// \"nb-NO\" : \"dd.MM.yyyy\",\n// \"pl-PL\" : \"yyyy-MM-dd\",\n// \"pt-BR\" : \"d/M/yyyy\",\n// \"ro-RO\" : \"dd.MM.yyyy\",\n// \"ru-RU\" : \"dd.MM.yyyy\",\n// \"hr-HR\" : \"d.M.yyyy\",\n// \"sk-SK\" : \"d. M. yyyy\",\n// \"sq-AL\" : \"yyyy-MM-dd\",\n// \"sv-SE\" : \"yyyy-MM-dd\",\n// \"th-TH\" : \"d/M/yyyy\",\n// \"tr-TR\" : \"dd.MM.yyyy\",\n// \"ur-PK\" : \"dd/MM/yyyy\",\n// \"id-ID\" : \"dd/MM/yyyy\",\n// \"uk-UA\" : \"dd.MM.yyyy\",\n// \"be-BY\" : \"dd.MM.yyyy\",\n// \"sl-SI\" : \"d.M.yyyy\",\n// \"et-EE\" : \"d.MM.yyyy\",\n// \"lv-LV\" : \"yyyy.MM.dd.\",\n// \"lt-LT\" : \"yyyy.MM.dd\",\n// \"fa-IR\" : \"MM/dd/yyyy\",\n// \"vi-VN\" : \"dd/MM/yyyy\",\n// \"hy-AM\" : \"dd.MM.yyyy\",\n// \"az-Latn-AZ\" : \"dd.MM.yyyy\",\n// \"eu-ES\" : \"yyyy/MM/dd\",\n// \"mk-MK\" : \"dd.MM.yyyy\",\n// \"af-ZA\" : \"yyyy/MM/dd\",\n// \"ka-GE\" : \"dd.MM.yyyy\",\n// \"fo-FO\" : \"dd-MM-yyyy\",\n// \"hi-IN\" : \"dd-MM-yyyy\",\n// \"ms-MY\" : \"dd/MM/yyyy\",\n// \"kk-KZ\" : \"dd.MM.yyyy\",\n// \"ky-KG\" : \"dd.MM.yy\",\n// \"sw-KE\" : \"M/d/yyyy\",\n// \"uz-Latn-UZ\" : \"dd/MM yyyy\",\n// \"tt-RU\" : \"dd.MM.yyyy\",\n// \"pa-IN\" : \"dd-MM-yy\",\n// \"gu-IN\" : \"dd-MM-yy\",\n// \"ta-IN\" : \"dd-MM-yyyy\",\n// \"te-IN\" : \"dd-MM-yy\",\n// \"kn-IN\" : \"dd-MM-yy\",\n// \"mr-IN\" : \"dd-MM-yyyy\",\n// \"sa-IN\" : \"dd-MM-yyyy\",\n// \"mn-MN\" : \"yy.MM.dd\",\n// \"gl-ES\" : \"dd/MM/yy\",\n// \"kok-IN\" : \"dd-MM-yyyy\",\n// \"syr-SY\" : \"dd/MM/yyyy\",\n// \"dv-MV\" : \"dd/MM/yy\",\n// \"ar-IQ\" : \"dd/MM/yyyy\",\n// \"zh-CN\" : \"yyyy/M/d\",\n// \"de-CH\" : \"dd.MM.yyyy\",\n// \"en-GB\" : \"dd/MM/yyyy\",\n// \"es-MX\" : \"dd/MM/yyyy\",\n// \"fr-BE\" : \"d/MM/yyyy\",\n// \"it-CH\" : \"dd.MM.yyyy\",\n// \"nl-BE\" : \"d/MM/yyyy\",\n// \"nn-NO\" : \"dd.MM.yyyy\",\n// \"pt-PT\" : \"dd-MM-yyyy\",\n// \"sr-Latn-CS\" : \"d.M.yyyy\",\n// \"sv-FI\" : \"d.M.yyyy\",\n// \"az-Cyrl-AZ\" : \"dd.MM.yyyy\",\n// \"ms-BN\" : \"dd/MM/yyyy\",\n// \"uz-Cyrl-UZ\" : \"dd.MM.yyyy\",\n// \"ar-EG\" : \"dd/MM/yyyy\",\n// \"zh-HK\" : \"d/M/yyyy\",\n// \"de-AT\" : \"dd.MM.yyyy\",\n// \"en-AU\" : \"d/MM/yyyy\",\n// \"es-ES\" : \"dd/MM/yyyy\",\n// \"fr-CA\" : \"yyyy-MM-dd\",\n// \"sr-Cyrl-CS\" : \"d.M.yyyy\",\n// \"ar-LY\" : \"dd/MM/yyyy\",\n// \"zh-SG\" : \"d/M/yyyy\",\n// \"de-LU\" : \"dd.MM.yyyy\",\n// \"en-CA\" : \"dd/MM/yyyy\",\n// \"es-GT\" : \"dd/MM/yyyy\",\n// \"fr-CH\" : \"dd.MM.yyyy\",\n// \"ar-DZ\" : \"dd-MM-yyyy\",\n// \"zh-MO\" : \"d/M/yyyy\",\n// \"de-LI\" : \"dd.MM.yyyy\",\n// \"en-NZ\" : \"d/MM/yyyy\",\n// \"es-CR\" : \"dd/MM/yyyy\",\n// \"fr-LU\" : \"dd/MM/yyyy\",\n// \"ar-MA\" : \"dd-MM-yyyy\",\n// \"en-IE\" : \"dd/MM/yyyy\",\n// \"es-PA\" : \"MM/dd/yyyy\",\n// \"fr-MC\" : \"dd/MM/yyyy\",\n// \"ar-TN\" : \"dd-MM-yyyy\",\n// \"en-ZA\" : \"yyyy/MM/dd\",\n// \"es-DO\" : \"dd/MM/yyyy\",\n// \"ar-OM\" : \"dd/MM/yyyy\",\n// \"en-JM\" : \"dd/MM/yyyy\",\n// \"es-VE\" : \"dd/MM/yyyy\",\n// \"ar-YE\" : \"dd/MM/yyyy\",\n// \"en-029\" : \"MM/dd/yyyy\",\n// \"es-CO\" : \"dd/MM/yyyy\",\n// \"ar-SY\" : \"dd/MM/yyyy\",\n// \"en-BZ\" : \"dd/MM/yyyy\",\n// \"es-PE\" : \"dd/MM/yyyy\",\n// \"ar-JO\" : \"dd/MM/yyyy\",\n// \"en-TT\" : \"dd/MM/yyyy\",\n// \"es-AR\" : \"dd/MM/yyyy\",\n// \"ar-LB\" : \"dd/MM/yyyy\",\n// \"en-ZW\" : \"M/d/yyyy\",\n// \"es-EC\" : \"dd/MM/yyyy\",\n// \"ar-KW\" : \"dd/MM/yyyy\",\n// \"en-PH\" : \"M/d/yyyy\",\n// \"es-CL\" : \"dd-MM-yyyy\",\n// \"ar-AE\" : \"dd/MM/yyyy\",\n// \"es-UY\" : \"dd/MM/yyyy\",\n// \"ar-BH\" : \"dd/MM/yyyy\",\n// \"es-PY\" : \"dd/MM/yyyy\",\n// \"ar-QA\" : \"dd/MM/yyyy\",\n// \"es-BO\" : \"dd/MM/yyyy\",\n// \"es-SV\" : \"dd/MM/yyyy\",\n// \"es-HN\" : \"dd/MM/yyyy\",\n// \"es-NI\" : \"dd/MM/yyyy\",\n// \"es-PR\" : \"dd/MM/yyyy\",\n// \"am-ET\" : \"d/M/yyyy\",\n// \"tzm-Latn-DZ\" : \"dd-MM-yyyy\",\n// \"iu-Latn-CA\" : \"d/MM/yyyy\",\n// \"sma-NO\" : \"dd.MM.yyyy\",\n// \"mn-Mong-CN\" : \"yyyy/M/d\",\n// \"gd-GB\" : \"dd/MM/yyyy\",\n// \"en-MY\" : \"d/M/yyyy\",\n// \"prs-AF\" : \"dd/MM/yy\",\n// \"bn-BD\" : \"dd-MM-yy\",\n// \"wo-SN\" : \"dd/MM/yyyy\",\n// \"rw-RW\" : \"M/d/yyyy\",\n// \"qut-GT\" : \"dd/MM/yyyy\",\n// \"sah-RU\" : \"MM.dd.yyyy\",\n// \"gsw-FR\" : \"dd/MM/yyyy\",\n// \"co-FR\" : \"dd/MM/yyyy\",\n// \"oc-FR\" : \"dd/MM/yyyy\",\n// \"mi-NZ\" : \"dd/MM/yyyy\",\n// \"ga-IE\" : \"dd/MM/yyyy\",\n// \"se-SE\" : \"yyyy-MM-dd\",\n// \"br-FR\" : \"dd/MM/yyyy\",\n// \"smn-FI\" : \"d.M.yyyy\",\n// \"moh-CA\" : \"M/d/yyyy\",\n// \"arn-CL\" : \"dd-MM-yyyy\",\n// \"ii-CN\" : \"yyyy/M/d\",\n// \"dsb-DE\" : \"d. M. yyyy\",\n// \"ig-NG\" : \"d/M/yyyy\",\n// \"kl-GL\" : \"dd-MM-yyyy\",\n// \"lb-LU\" : \"dd/MM/yyyy\",\n// \"ba-RU\" : \"dd.MM.yy\",\n// \"nso-ZA\" : \"yyyy/MM/dd\",\n// \"quz-BO\" : \"dd/MM/yyyy\",\n// \"yo-NG\" : \"d/M/yyyy\",\n// \"ha-Latn-NG\" : \"d/M/yyyy\",\n// \"fil-PH\" : \"M/d/yyyy\",\n// \"ps-AF\" : \"dd/MM/yy\",\n// \"fy-NL\" : \"d-M-yyyy\",\n// \"ne-NP\" : \"M/d/yyyy\",\n// \"se-NO\" : \"dd.MM.yyyy\",\n// \"iu-Cans-CA\" : \"d/M/yyyy\",\n// \"sr-Latn-RS\" : \"d.M.yyyy\",\n// \"si-LK\" : \"yyyy-MM-dd\",\n// \"sr-Cyrl-RS\" : \"d.M.yyyy\",\n// \"lo-LA\" : \"dd/MM/yyyy\",\n// \"km-KH\" : \"yyyy-MM-dd\",\n// \"cy-GB\" : \"dd/MM/yyyy\",\n// \"bo-CN\" : \"yyyy/M/d\",\n// \"sms-FI\" : \"d.M.yyyy\",\n// \"as-IN\" : \"dd-MM-yyyy\",\n// \"ml-IN\" : \"dd-MM-yy\",\n// \"en-IN\" : \"dd-MM-yyyy\",\n// \"or-IN\" : \"dd-MM-yy\",\n// \"bn-IN\" : \"dd-MM-yy\",\n// \"tk-TM\" : \"dd.MM.yy\",\n// \"bs-Latn-BA\" : \"d.M.yyyy\",\n// \"mt-MT\" : \"dd/MM/yyyy\",\n// \"sr-Cyrl-ME\" : \"d.M.yyyy\",\n// \"se-FI\" : \"d.M.yyyy\",\n// \"zu-ZA\" : \"yyyy/MM/dd\",\n// \"xh-ZA\" : \"yyyy/MM/dd\",\n// \"tn-ZA\" : \"yyyy/MM/dd\",\n// \"hsb-DE\" : \"d. M. yyyy\",\n// \"bs-Cyrl-BA\" : \"d.M.yyyy\",\n// \"tg-Cyrl-TJ\" : \"dd.MM.yy\",\n// \"sr-Latn-BA\" : \"d.M.yyyy\",\n// \"smj-NO\" : \"dd.MM.yyyy\",\n// \"rm-CH\" : \"dd/MM/yyyy\",\n// \"smj-SE\" : \"yyyy-MM-dd\",\n// \"quz-EC\" : \"dd/MM/yyyy\",\n// \"quz-PE\" : \"dd/MM/yyyy\",\n// \"hr-BA\" : \"d.M.yyyy.\",\n// \"sr-Latn-ME\" : \"d.M.yyyy\",\n// \"sma-SE\" : \"yyyy-MM-dd\",\n// \"en-SG\" : \"d/M/yyyy\",\n// \"ug-CN\" : \"yyyy-M-d\",\n// \"sr-Cyrl-BA\" : \"d.M.yyyy\",\n// \"es-US\" : \"M/d/yyyy\"\n// };\n//\n// Object.keys(formats).forEach(lang => {const period = getDayPeriods(lang); if (period.am === 'AM') return; console.log(lang, period )})\n","import {\n AfterViewInit,\n Component,\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n Output,\n QueryList,\n SimpleChanges,\n ViewChildren\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ITimeValue } from '../time.utils';\n\nexport interface ITimePickerRollCol {\n elements: ITimeValue[];\n onClick?: (value: number | string) => void;\n selected?: number | string | null;\n}\n\n@Directive({\n selector: '[cTimeElement]',\n exportAs: 'cTimeElement',\n standalone: true\n})\nexport class TimeElementDirective {\n\n constructor(\n public elementRef: ElementRef\n ) { }\n\n @Input() cTimeElement!: ITimeValue;\n}\n\n@Component({\n selector: 'c-time-picker-roll-col',\n templateUrl: './time-picker-roll-col.component.html',\n styleUrls: ['./time-picker-roll-col.component.scss'],\n exportAs: 'cTimePickerRollCol',\n standalone: true,\n imports: [CommonModule, TimeElementDirective]\n})\nexport class TimePickerRollColComponent implements ITimePickerRollCol, OnChanges, AfterViewInit {\n\n constructor(\n public elementRef: ElementRef\n ) { }\n\n private init = true;\n\n @Input() disabled = false;\n @Input() elements: ITimeValue[] = [];\n @Input() onClick?: (value: number | string) => void;\n @Input() selected?: number | string | null;\n @Input() refresh?: boolean;\n\n @Output() selectedChange: EventEmitter<any> = new EventEmitter<any>();\n\n @HostBinding('class')\n get hostClasses() {\n return {\n 'time-picker-roll-col': true,\n disabled: this.disabled\n };\n }\n\n @ViewChildren(TimeElementDirective) timeElements!: QueryList<TimeElementDirective>;\n\n ngAfterViewInit(): void {\n this.timeElements?.changes.subscribe(state => {\n const selectedElement = this.timeElements?.find(element => {\n return element.cTimeElement?.value === <number>this.selected;\n });\n this.scrollToElement(selectedElement?.elementRef.nativeElement);\n });\n setTimeout(() => {\n const selectedElement = this.elementRef.nativeElement.querySelector('.selected');\n this.scrollToElement(selectedElement);\n }, 1000);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes['refresh'] && changes['refresh'].currentValue) || (changes['selected'] && !changes['selected'].firstChange)) {\n const selectedElement = this.timeElements?.find(element => {\n return element.cTimeElement?.value === <number>this.selected;\n });\n this.init = !selectedElement;\n this.scrollToElement(selectedElement?.elementRef.nativeElement);\n }\n }\n\n scrollToElement(element: any) {\n setTimeout(() => {\n const elementSelected = element || this.elementRef.nativeElement.querySelector('.selected');\n if (elementSelected) {\n this.elementRef.nativeElement.scrollTo({\n top: elementSelected?.offsetTop,\n behavior: this.init ? 'auto' : 'smooth'\n });\n this.init = false;\n }\n });\n }\n\n handleElementClick($event: MouseEvent, element: any) {\n if (element.disabled) {\n return;\n }\n this.selected = element.value;\n this.scrollToElement($event.target);\n this.onClick && this.onClick(element.value);\n this.selectedChange.emit(element.value);\n }\n\n trackByElement(index: number, element: ITimeValue) {\n return element.value;\n }\n\n}\n","<div (click)=\"handleElementClick($event, element)\"\n *ngFor=\"let element of elements; index as i; trackBy: trackByElement\"\n [attr.disabled]=\"element.disabled || null\"\n [cTimeElement]=\"element\"\n [ngClass]=\"{'time-picker-roll-cell': true, selected: element.value === selected, disabled: element.disabled}\"\n [ngStyle]=\"{'width': 'fit-content'}\"\n role=\"button\"\n>\n {{element.label}}\n</div>\n","import {\n AfterViewInit,\n Component,\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n Output,\n QueryList,\n SimpleChanges,\n ViewChildren\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { DayPeriod } from '../time.utils';\n\nexport interface IDayPeriod {\n value: string;\n label: string;\n dayPeriod?: DayPeriod;\n disabled?: boolean;\n}\n\n@Directive({\n selector: '[cDayPeriodElement]',\n exportAs: 'cDayPeriodElement',\n standalone: true\n})\nexport class DayPeriodElementDirective {\n\n constructor(\n public elementRef: ElementRef\n ) { }\n\n @Input() cDayPeriodElement!: IDayPeriod;\n}\n\n@Component({\n selector: 'c-time-picker-roll-am-pm',\n templateUrl: './time-picker-roll-am-pm.component.html',\n styleUrls: ['./time-picker-roll-am-pm.component.scss'],\n standalone: true,\n imports: [CommonModule, DayPeriodElementDirective]\n})\nexport class TimePickerRollAmPmComponent implements OnChanges, AfterViewInit {\n\n constructor(\n public elementRef: ElementRef\n ) { }\n\n private init = true;\n\n @Input() disabled = false;\n @Input() elements: IDayPeriod[] = [];\n @Input() onClick?: (value: number | string) => void;\n @Input() selected?: number | string | null;\n @Input() refresh?: boolean;\n\n @Output() selectedChange: EventEmitter<any> = new EventEmitter<any>();\n\n @HostBinding('class')\n get hostClasses() {\n return {\n 'time-picker-roll-col': true,\n disabled: this.disabled\n };\n }\n\n @ViewChildren(DayPeriodElementDirective) dayPeriodElements!: QueryList<DayPeriodElementDirective>;\n\n ngAfterViewInit(): void {\n this.dayPeriodElements?.changes.subscribe(state => {\n const selectedElement = this.dayPeriodElements?.find(element => {\n return element.cDayPeriodElement?.value === <string>this.selected;\n });\n this.scrollToElement(selectedElement?.elementRef.nativeElement);\n });\n const selectedElement = this.elementRef.nativeElement.querySelector('.selected');\n this.scrollToElement(selectedElement);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes['refresh'] && changes['refresh'].currentValue) || (changes['selected'] && !changes['selected'].firstChange)) {\n // @ts-ignore\n const selectedElement = this.dayPeriodElements?.find(element => {\n return element.cDayPeriodElement?.value === <string>this.selected;\n });\n this.init = !selectedElement;\n this.scrollToElement(selectedElement?.elementRef.nativeElement);\n }\n }\n\n scrollToElement(element: any) {\n setTimeout(() => {\n const elementSelected = element || this.elementRef.nativeElement.querySelector('.selected');\n if (elementSelected) {\n this.elementRef.nativeElement.scrollTo({\n top: elementSelected?.offsetTop,\n behavior: this.init ? 'auto' : 'smooth'\n });\n this.init = false;\n }\n });\n }\n\n handleElementClick($event: MouseEvent, element: any) {\n if (element.disabled) {\n return;\n }\n this.selected = element.value;\n this.scrollToElement($event.target);\n this.onClick && this.onClick(element.value);\n this.selectedChange.emit(element.value);\n }\n\n trackByElement(index: number, element: IDayPeriod) {\n return element.value;\n }\n\n}\n","<div (click)=\"handleElementClick($event, element)\"\n *ngFor=\"let element of elements; index as i; trackBy: trackByElement\"\n [attr.disabled]=\"element.disabled || null\"\n [cDayPeriodElement]=\"element\"\n [ngClass]=\"{'time-picker-roll-cell': true, selected: element.value === selected, disabled: element.disabled}\"\n [ngStyle]=\"{'width': 'fit-content'}\"\n role=\"button\">\n {{element.label}}\n</div>\n","import {\n AfterViewInit,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostListener,\n Input,\n OnChanges,\n OnInit,\n Output,\n QueryList,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n FormControl,\n FormGroup,\n NG_VALUE_ACCESSOR,\n ReactiveFormsModule,\n Validators\n} from '@angular/forms';\nimport { NgClass, NgForOf, NgIf, NgTemplateOutlet } from '@angular/common';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\nimport {\n convert12hTo24h,\n convert24hTo12h,\n convertTimeToDate,\n DateTimeFormatOptions,\n DayPeriod,\n getAmPm,\n getDayPeriods,\n getListOfHours,\n getListOfMinutes,\n getListOfSeconds,\n isHour12,\n isValidTime,\n ITimeValue\n} from './time.utils';\nimport { DropdownComponent, DropdownMenuDirective, DropdownToggleDirective } from '../dropdown';\nimport { FormControlDirective, FormSelectDirective, InputGroupComponent, InputGroupTextDirective } from '../form';\nimport { TemplateIdDirective } from '../shared';\nimport { TimePickerRollColComponent } from './time-picker-roll-col/time-picker-roll-col.component';\nimport { TimePickerRollAmPmComponent } from './time-picker-roll-col/time-picker-roll-am-pm.component';\n\n@Component({\n selector: 'c-time-picker',\n templateUrl: './time-picker.component.html',\n styleUrls: ['./time-picker.component.scss'],\n exportAs: 'cTimePicker',\n standalone: true,\n imports: [\n NgClass,\n NgIf,\n NgForOf,\n NgTemplateOutlet,\n ReactiveFormsModule,\n DropdownComponent,\n DropdownToggleDirective,\n DropdownMenuDirective,\n FormControlDirective,\n FormSelectDirective,\n InputGroupComponent,\n InputGroupTextDirective,\n TimePickerRollColComponent,\n TimePickerRollAmPmComponent\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TimePickerComponent),\n multi: true\n }\n ]\n})\nexport class TimePickerComponent implements OnChanges, OnInit, ControlValueAccessor, AfterViewInit {\n constructor() {}\n\n static ngAcceptInputType_cleaner: BooleanInput;\n static ngAcceptInputType_disabled: BooleanInput;\n static ngAcceptInputType_indicator: BooleanInput;\n static ngAcceptInputType_inputReadOnly: BooleanInput;\n static ngAcceptInputType_seconds: BooleanInput;\n static ngAcceptInputType_visible: BooleanInput;\n\n /**\n * Toggle visibility or set the content of the cleaner button.\n * @type boolean\n * @default true\n */\n @Input()\n set cleaner(value: boolean) {\n this._cleaner = coerceBooleanProperty(value);\n }\n\n get cleaner() {\n return this._cleaner;\n }\n\n private _cleaner: boolean = true;\n\n /**\n * Sets DateTime format options including timeZone\n * @type DateTimeFormatOptions\n * @default {}\n * @note The date object doesn't store timeZone, it keeps the local timezone of the browser, regardless if you parsed UTC dates.\n */\n @Input() dateTimeFormatOptions: DateTimeFormatOptions = {};\n\n /**\n * Toggle the disabled state for the component.\n * @type boolean\n * @default false\n */\n @Input()\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n get disabled(): boolean {\n return this._disabled;\n }\n\n private _disabled: boolean = false;\n\n /**\n * Filter available hours to pick.\n * @type (value: number) => boolean;\n * @default undefined\n */\n @Input() filterHours?: (value: number) => boolean;\n\n /**\n * Filter available minutes to pick.\n * @type (value: number) => boolean;\n * @default undefined\n */\n @Input() filterMinutes?: (value: number) => boolean;\n\n /**\n * Filter available seconds to pick.\n * @type (value: number) => boolean;\n * @default undefined\n */\n @Input() filterSeconds?: (value: number) => boolean;\n\n /**\n * Toggle visibility or set the content of the input indicator.\n * @type boolean\n * @default true\n */\n @Input()\n set indicator(value: boolean) {\n this._indicator = coerceBooleanProperty(value);\n }\n\n get indicator() {\n return this._indicator;\n }\n\n private _indicator: boolean = true;\n\n /**\n * Toggle the readonly state for the component.\n * @type boolean\n * @default false\n */\n @Input()\n set inputReadOnly(value: boolean) {\n this._inputReadOnly = coerceBooleanProperty(value);\n }\n\n get inputReadOnly(): boolean {\n return this._inputReadOnly;\n }\n\n private _inputReadOnly: boolean = false;\n\n /**\n * Sets the default locale for components. If not set, it is inherited from the browser.\n * @type string\n * @default default\n */\n @Input() locale: string = 'default';\n\n /**\n * Specifies short hint visible in time input.\n * @type string\n * @default 'Select time'\n */\n @Input() placeholder: string = 'Select time';\n\n /**\n * Toggle seconds visibility.\n * @type boolean\n * @default false\n */\n @Input()\n set seconds(value: boolean) {\n this._seconds = coerceBooleanProperty(value);\n }\n\n get seconds(): boolean {\n return this._seconds;\n }\n\n private _seconds: boolean = false;\n\n /**\n * Size the component small or large.\n * @type 'sm' | 'lg' | undefined\n * @default undefined\n */\n @Input() size?: 'sm' | 'lg';\n\n /**\n * Initial selected time.\n * @type Date | string | null | number\n * @default undefined\n */\n @Input()\n set time(value: Date | string | undefined) {\n if (value && isValidTime(value)) {\n const time = convertTimeToDate(value);\n if (!time) {\n this.clearTime();\n return;\n }\n this.dayPeriod = getAmPm(time, this.locale);\n if (this._time?.getTime() !== time.getTime()) {\n this._time = new Date(time.getTime());\n }\n } else {\n this.clearTime();\n }\n }\n\n get time(): Date | undefined {\n return this._time;\n }\n\n private _time?: Date;\n private _timeInternal?: Date;\n\n /**\n * Set the time picker variant to a roll or select.\n * @type 'roll' | 'select'\n * @default 'roll'\n */\n @Input() variant: 'roll' | 'select' = 'roll';\n\n /**\n * Toggle visual validation feedback.\n * @type boolean | undefined\n * @default undefined\n */\n @Input() valid?: boolean;\n\n /**\n * Toggle the visibility of dropdown timepicker menu component.\n * @type boolean\n * @default false\n */\n @Input()\n set visible(value: boolean) {\n this._visible = coerceBooleanProperty(value);\n }\n\n get visible() {\n return this._visible;\n }\n\n private _visible: boolean = false;\n\n @Output() timeChange: EventEmitter<Date | undefined> = new EventEmitter<Date | undefined>(false);\n\n @HostListener('blur') onBlur() {\n this.onTouched();\n }\n\n @ViewChild(DropdownComponent, { read: ElementRef }) dropdownRef!: ElementRef;\n\n templates: any = {};\n @ContentChildren(TemplateIdDirective, { descendants: true })\n contentTemplates!: QueryList<TemplateIdDirective>;\n\n listOfHours!: ITimeValue[];\n listOfHours12!: ITimeValue[];\n listOfMinutes!: ITimeValue[];\n listOfSeconds!: ITimeValue[];\n hour12: boolean = isHour12(this.locale);\n dayPeriods = [\n { value: 'am', label: 'am' },\n { value: 'pm', label: 'pm' }\n ];\n\n set timeInputValue(value: string) {\n this.timeInput.setValue(value);\n this._timeInputValue = value;\n }\n\n get timeInputValue(): string {\n return this._timeInputValue;\n }\n\n private _timeInputValue: string =\n this.time?.toLocaleTimeString(this.locale, { timeStyle: this.seconds ? 'medium' : 'short' }) ??\n '';\n\n get timePickerClasses() {\n return {\n 'form-control': this.variant === 'select' && this.valid !== undefined,\n 'is-valid': this.valid === true,\n 'is-invalid': this.valid === false\n };\n }\n\n selectTime = new FormGroup<{\n selectHours: FormControl<number | null>;\n selectMinutes: FormControl<number | null>;\n selectSeconds?: FormControl<number | null>;\n selectDayPeriod?: FormControl<'am' | 'pm' | null>;\n }>(\n {\n selectHours: new FormControl(\n { value: this.hour, disabled: this.disabled },\n { validators: [Validators.min(0)] }\n ),\n selectMinutes: new FormControl(\n { value: this.minute, disabled: this.disabled },\n Validators.min(0)\n ),\n selectSeconds: new FormControl(\n { value: this.second, disabled: this.disabled },\n Validators.min(0)\n ),\n selectDayPeriod: new FormControl(\n { value: this.dayPeriod, disabled: this.disabled },\n Validators.required\n )\n },\n { validators: [Validators.required] }\n );\n\n timeInput = new FormControl(\n {\n value: this.timeInputValue,\n disabled: this.disabled\n },\n { validators: [Validators.required] }\n );\n\n set hour(value: number) {\n if (this._hour !== value) {\n if (value < 0) {\n this.clearTime();\n return;\n }\n this._hour = value;\n }\n }\n\n get hour(): number {\n return this._hour;\n }\n\n private _hour = -1;\n\n set minute(value: number) {\n if (this._minute !== value) {\n if (value < 0) {\n this.clearTime();\n return;\n }\n this._minute = value;\n }\n }\n\n get minute(): number {\n return this._minute;\n }\n\n private _minute = -1;\n\n set second(value: number) {\n if (this._second !== value) {\n if (value < 0) {\n this.clearTime();\n return;\n }\n this._second = value;\n }\n }\n\n get second(): number {\n return this._second;\n }\n\n private _second = -1;\n\n set dayPeriod(value) {\n this._dayPeriod = value;\n this.listOfHours12 = this.hour12\n ? this.listOfHours?.filter(\n (item) => (item.dayPeriod && item.dayPeriod === value) || !item.dayPeriod\n )\n : this.listOfHours;\n this.patchSelectTimeValues();\n }\n\n get dayPeriod() {\n return this._dayPeriod;\n }\n\n private _dayPeriod: DayPeriod = 'am';\n\n setTime() {\n this._hour = this._hour < 0 ? 0 : this._hour;\n this._minute = this._minute < 0 ? 0 : this._minute;\n this._second = this._second < 0 ? 0 : this._second;\n\n const time = new Date(this._time?.getTime() || new Date());\n time.setHours(this.hour, this.minute, this.second, 0);\n this.time = time;\n this.emitTime(time);\n }\n\n public clearTime() {\n if (this.time) {\n this._time = undefined;\n this.emitTime(undefined);\n }\n this._hour = -1;\n this._minute = -1;\n this._second = -1;\n this.dayPeriod = 'am';\n this.patchSelectTimeValues();\n this.timeInputValue = '';\n }\n\n emitTime(time: Date | undefined) {\n const timeValue = !!time && isValidTime(time) ? new Date(time.getTime()) : undefined;\n if (this._timeInternal?.getTime() !== timeValue?.getTime()) {\n this.timeChange.emit(timeValue);\n this.onChange(timeValue);\n this.onTouched();\n this._timeInternal = timeValue;\n }\n this.timeInputValue =\n this.time?.toLocaleTimeString(this.locale, {\n timeStyle: this.seconds ? 'medium' : 'short'\n }) ?? '';\n }\n\n ngOnInit(): void {\n this.setTimeLists();\n this.updateSelectTime();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['time']) {\n if (!changes['time'].firstChange) {\n if (this._timeInternal?.getTime() !== changes['time'].currentValue?.getTime()) {\n this.updateSelectTime();\n }\n }\n }\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.contentTemplates.forEach((child: TemplateIdDirective) => {\n this.templates[child.id] = child.templateRef;\n });\n });\n }\n\n setTimeLists() {\n this.dayPeriods = getDayPeriods(this.locale, this.dateTimeFormatOptions);\n this.hour12 = isHour12(this.locale);\n this.listOfHours = this.listOfTimeSegments(getListOfHours, this.filterHours);\n this.listOfMinutes = this.listOfTimeSegments(getListOfMinutes, this.filterMinutes);\n this.listOfSeconds = this.listOfTimeSegments(getListOfSeconds, this.filterSeconds);\n if (this.variant === 'select') {\n const undefSegment = { value: -1, label: ' --', disabled: true };\n this.listOfHours.unshift({ ...undefSegment });\n this.listOfMinutes.unshift({ ...undefSegment });\n this.listOfSeconds.unshift({ ...undefSegment });\n }\n this.listOfHours12 = this.hour12\n ? this.listOfHours.filter(\n (item) => (item.dayPeriod && item.dayPeriod === this.dayPeriod) || !item.dayPeriod\n )\n : this.listOfHours;\n }\n\n updateSelectTime(time = this.time) {\n if (!!time && isValidTime(time)) {\n const hour = time.getHours() ?? 0;\n const minute = time.getMinutes() ?? 0;\n const second = this.seconds ? time.getSeconds() ?? 0 : 0;\n\n const closestSecond = this.closestTime(this.listOfSeconds, second);\n const closestMinute = this.closestTime(this.listOfMinutes, minute);\n const closestHour = this.closestTime(this.listOfHours, hour);\n\n this.second = this.seconds ? closestSecond.value : 0;\n this.minute = closestMinute.value;\n this.hour = closestHour.value;\n this.setTime();\n this.patchSelectTimeValues();\n }\n }\n\n closestTime(timeArray: ITimeValue[], timeSegment: number) {\n let array = timeArray ?? [{ value: 0, label: '00' }];\n if (this.time) {\n array = timeArray.filter((el) => el.value >= 0);\n array = array.length ? array : timeArray;\n }\n return array.reduce((a: ITimeValue, b: ITimeValue) => {\n return Math.abs(b.value - timeSegment) < Math.abs(a.value - timeSegment) ? b : a;\n });\n }\n\n listOfTimeSegments(\n getListOfTimeSegments: (\n locale: string,\n dateTimeFormatOptions: DateTimeFormatOptions\n ) => ITimeValue[],\n filterTimeSegments: ((timeSegmentValue: number) => boolean) | undefined\n ) {\n const list = getListOfTimeSegments(this.locale, this.dateTimeFormatOptions).filter(\n (segment: ITimeValue) => {\n return typeof filterTimeSegments === 'function' ? filterTimeSegments(segment.value) : true;\n }\n );\n return list.length\n ? list\n : getListOfTimeSegments(this.locale, this.dateTimeFormatOptions).slice(0, 1);\n }\n\n handleSelectDayPeriodChange(dayPeriod: DayPeriod) {\n if (dayPeriod !== this.dayPeriod) {\n const hrs = this.time?.getHours() ?? (this.hour < 0 ? 0 : this.hour);\n const hour = hrs > 12 ? convert24hTo12h(hrs) : convert12hTo24h(dayPeriod, hrs);\n this.hour = this.closestTime(this.listOfHours, hour).value;\n if (hour >= 0) {\n this.setTime();\n }\n this.updateSelectTime();\n }\n }\n\n handleSelectHoursChange(hour: number) {\n this.hour = hour;\n if (hour >= 0) {\n this.setTime();\n }\n this.updateSelectTime();\n }\n\n handleSelectMinutesChange(minute: number) {\n this.minute = minute;\n if (minute >= 0) {\n this.setTime();\n }\n this.updateSelectTime();\n }\n\n handleSelectSecondsChange(second: number) {\n this.second = second;\n if (second >= 0) {\n this.setTime();\n }\n this.updateSelectTime();\n }\n\n patchSelectTimeValues() {\n const dayPeriod = this.selectTime.get('selectDayPeriod')?.value;\n if (this.dayPeriod !== dayPeriod) {\n this.selectTime.patchValue({\n selectDayPeriod: this.dayPeriod ?? 'am'\n });\n }\n const hours = this.selectTime.get('selectHours')?.value;\n const minutes = this.selectTime.get('selectMinutes')?.value;\n const seconds = this.selectTime.get('selectSeconds')?.value;\n const goUpdate =\n (this.second < 0 && this.minute < 0) ||\n (this.hour >= 0 && this.minute >= 0 && this.second >= 0);\n const timeChanged = this.hour !== hours || this.minute !== minutes || this.second !== seconds;\n if (goUpdate && timeChanged) {\n if (this.hour !== hours) {\n this.selectTime.patchValue({\n selectHours: this.hour ?? 0\n });\n }\n if (this.minute !== minutes) {\n this.selectTime.patchValue({\n selectMinutes: this.minute ?? 0\n });\n }\n if (this.second !== seconds) {\n this.selectTime.patchValue({\n selectSeconds: this.second ?? 0\n });\n }\n }\n }\n\n trackByHour(index: number, hour: ITimeValue) {\n return hour;\n }\n\n onChange = (value: Date | undefined) => {};\n onTouched = () => {};\n\n writeValue(value: any): void {\n this.time = value;\n this.updateSelectTime();\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n }\n\n handleTimeInputChange($event: any) {\n const value = $event.target?.value;\n if (!value || !isValidTime(value)) {\n this.clearTime();\n return;\n }\n const time = convertTimeToDate(value);\n this.updateSelectTime(time ?? new Date(Date.now()));\n }\n\n handleClear($event: MouseEvent) {\n this.clearTime();\n }\n\n handleBlur($event: FocusEvent) {\n if (this.disabled) {\n return;\n }\n this.dropdownRef?.nativeElement?.classList.remove('show');\n setTimeout(() => {\n this.onBlur();\n }, 100);\n }\n\n handleFocus($event: FocusEvent) {\n if (this.disabled) {\n return;\n }\n this.dropdownRef?.nativeElement?.classList.add('show');\n }\n}\n","<div class=\"date-picker-timepickers\" *ngIf=\"variant==='select'\">\n <div class=\"picker time-picker\">\n <div [formGroup]=\"selectTime\" class=\"time-picker-body\" [ngClass]=\"timePickerClasses\">\n <span class=\"time-picker-inline-icon\"></span>\n <select [attr.disabled]=\"disabled || null\" cSelect class=\"ms-0\" formControlName=\"selectHours\" (ngModelChange)=\"handleSelectHoursChange($event)\" (blur)=\"onBlur()\" [sizing]=\"size ?? ''\">\n <option *ngFor=\"let hour of listOfHours12; index as i; trackBy: trackByHour\" [ngValue]=\"hour.value\" [attr.disabled]=\"hour.disabled || null\">{{hour.label}}</option>\n </select>\n {{' :'}}<select [attr.disabled]=\"disabled || null\" cSelect class=\"ms-0\" formControlName=\"selectMinutes\" (ngModelChange)=\"handleSelectMinutesChange($event)\" (blur)=\"onBlur()\" [sizing]=\"size ?? ''\">\n <option *ngFor=\"let minute of listOfMinutes\" [ngValue]=\"minute.value\" [attr.disabled]=\"minute.disabled || null\">{{minute.label}}</option>\n </select>\n <ng-template [ngIf]=\"seconds\">\n {{' :'}}<select [attr.disabled]=\"disabled || null\" cSelect class=\"ms-0\" formControlName=\"selectSeconds\" (ngModelChange)=\"handleSelectSecondsChange($event)\" (blur)=\"onBlur()\" [sizing]=\"size ?? ''\">\n <option *ngFor=\"let second of listOfSeconds\" [ngValue]=\"second.value\" [attr.disabled]=\"second.disabled || null\">{{second.label}}</option>\n </select>\n </ng-template>\n <ng-template [ngIf]=\"hour12\">\n <select [attr.disabled]=\"disabled || null\" cSelect class=\"ms-0\" formControlName=\"selectDayPeriod\" (ngModelChange)=\"handleSelectDayPeriodChange($event)\" (blur)=\"onBlur()\" [sizing]=\"size ?? ''\">\n <option *ngFor=\"let dayPeriod of dayPeriods\" [ngValue]=\"dayPeriod.value\" class=\"time-picker-roll-cell\">{{dayPeriod.label}}</option>\n </select>\n </ng-template>\n </div>\n </div>\n</div>\n\n<c-dropdown #dropdown=\"cDropdown\" [autoClose]=\"'outside'\" class=\"time-picker picker\" [ngClass]=\"timePickerClasses\" *ngIf=\"variant==='roll'\" [visible]=\"visible\">\n <c-input-group [caret]=\"false\"\n [disabled]=\"disabled ?? dropdown.visible\"\n [sizing]=\"size ?? ''\"\n cDropdownToggle\n class=\"picker-input-group\">\n <input (blur)=\"handleBlur($event);\"\n (change)=\"handleTimeInputChange($event)\"\n (focus)=\"handleFocus($event)\"\n [formControl]=\"timeInput\"\n [placeholder]=\"placeholder\"\n cFormControl\n [attr.tabindex]=\"disabled ? -1 : 0\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.pattern]=\"hour12 ? '(((0[1-9])|(1[0-2])):([0-5])([0-9])\\\\s(A|P)M)' : '([01]?[0-9]|2[0-3]):[0-5][0-9]'\"\n [readonly]=\"inputReadOnly ?? null\"\n [valid]=\"valid\"\n >\n <span *ngIf=\"indicator || cleaner\" cInputGroupText>\n <span *ngIf=\"indicator\" class=\"picker-input-group-indicator\">\n <span class=\"picker-input-group-icon time-picker-input-icon\"></span>\n </span>\n <span (click)=\"!disabled && handleClear($event)\" *ngIf=\"cleaner && time && !disabled\" class=\"picker-input-group-cleaner\" role=\"button\">\n <span class=\"picker-input-group-icon time-picker-cleaner-icon\"></span>\n </span>\n </span>\n\n </c-input-group>\n <div cDropdownMenu #dropdownMenu=\"cDropdownMenu\">\n <div class=\"time-picker-body time-picker-roll\" style=\"position: relative;\">\n <c-time-picker-roll-col\n [elements]=\"listOfHours12\"\n [selected]=\"hour\"\n (selectedChange)=\"handleSelectHoursChange($event)\"\n [disabled]=\"disabled\"\n [refresh]=\"dropdownMenu.visible\"\n role=\"listbox\"\n >\n </c-time-picker-roll-col>\n <c-time-picker-roll-col\n [elements]=\"listOfMinutes\"\n [selected]=\"minute\"\n (selectedChange)=\"handleSelectMinutesChange($event)\"\n [disabled]=\"disabled\"\n [refresh]=\"dropdownMenu.visible\"\n role=\"listbox\"\n >\n </c-time-picker-roll-col>\n <c-time-picker-roll-col\n *ngIf=\"seconds\"\n [elements]=\"listOfSeconds\"\n [selected]=\"second\"\n (selectedChange)=\"handleSelectSecondsChange($event)\"\n [disabled]=\"disabled\"\n [refresh]=\"dropdownMenu.visible\"\n role=\"listbox\"\n >\n </c-time-picker-roll-col>\n <c-time-picker-roll-am-pm\n *ngIf=\"hour12\" [elements]=\"dayPeriods\"\n [selected]=\"dayPeriod\"\n (selectedChange)=\"handleSelectDayPeriodChange($event)\"\n [disabled]=\"disabled\"\n [refresh]=\"dropdownMenu.visible\"\n role=\"listbox\"\n >\n </c-time-picker-roll-am-pm>\n </div>\n <div *ngIf=\"templates?.timePickerFooter\" class=\"picker-footer\">\n <ng-container *ngTemplateOutlet=\"templates?.timePickerFooter; context: {$implicit: dropdown}\"></ng-container>\n </div>\n </div>\n</c-dropdown>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FormModule } from '../form';\n\nimport { ButtonModule } from '../button';\nimport { DropdownModule } from '../dropdown';\nimport { TimeElementDirective, TimePickerRollColComponent } from './time-picker-roll-col/time-picker-roll-col.component';\nimport { DayPeriodElementDirective, TimePickerRollAmPmComponent } from './time-picker-roll-col/time-picker-roll-am-pm.component';\nimport { TimePickerComponent } from './time-picker.component';\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormModule,\n ButtonModule,\n DropdownModule,\n DayPeriodElementDirective,\n TimeElementDirective,\n TimePickerComponent,\n TimePickerRollAmPmComponent,\n TimePickerRollColComponent\n ],\n exports: [TimePickerComponent]\n})\nexport class TimePickerModule {}\n","import {\n AfterViewInit,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostListener,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport { NgClass, NgForOf, NgIf, NgTemplateOutlet } from '@angular/common';\nimport {\n ControlValueAccessor,\n FormControl,\n FormGroup,\n NG_VALUE_ACCESSOR,\n ReactiveFormsModule,\n Validators\n} from '@angular/forms';\nimport { BooleanInput, coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { Subscription } from 'rxjs';\n\nimport { format as dateFormat } from 'date-fns';\nimport { Options } from '@popperjs/core';\n\nimport { ButtonDirective } from '../../button';\nimport { getLocalDateFromString, isDateDisabled } from '../../calendar/calendar.utils';\nimport { DateFilterType, DayFormatType, WeekdayFormatType } from '../../calendar/calendar.service';\nimport { CalendarComponent } from '../../calendar';\nimport { Colors } from '../../coreui.types';\nimport { DropdownComponent, DropdownMenuDirective, DropdownToggleDirective } from '../../dropdown';\nimport { FormControlDirective, InputGroupComponent, InputGroupTextDirective } from '../../form';\nimport { TemplateIdDirective } from '../../shared';\nimport { TimePickerComponent } from '../../time-picker';\n\nexport interface ICalendarRanges {\n [key: string]: Date[];\n}\n\nexport type TCustomRange = [string, Date[]]\n\n/** Must be a valid date string */\n// todo: validation\n// export function invalidDateStringValidator(locale: string): ValidatorFn {\n// return (control: AbstractControl): ValidationErrors | null => {\n// // const validDate = !isNaN(Date.parse(control.value));\n// stringToDateConvert(control.value, locale);\n// const dateShim = cvtDate(control.value, locale);\n// // @ts-ignore\n// // control.setValue(new Date(dateShim.year, dateShim.month, dateShim.day))\n// console.log('dateShim', dateShim, locale);\n// const validDate = isValidDate(control.value);\n// console.log('invalidDateStringValidator', control, control.value, validDate);\n// return validDate ? { invalidDateStringValidator: { value: control.value } } : null;\n// };\n// }\n\n@Component({\n selector: 'c-date-range-picker',\n templateUrl: './date-range-picker.component.html',\n exportAs: 'cDateRangePicker',\n standalone: true,\n imports: [\n NgClass,\n NgIf,\n NgForOf,\n NgTemplateOutlet,\n ReactiveFormsModule,\n CalendarComponent,\n TimePickerComponent,\n ButtonDirective,\n DropdownComponent,\n DropdownToggleDirective,\n DropdownMenuDirective,\n InputGroupComponent,\n FormControlDirective,\n InputGroupTextDirective\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DateRangePickerComponent),\n multi: true\n }\n ]\n})\nexport class DateRangePickerComponent implements OnInit, OnDestroy, ControlValueAccessor, AfterViewInit, OnChanges {\n\n static ngAcceptInputType_closeOnSelect: BooleanInput;\n static ngAcceptInputType_disabled: BooleanInput;\n static ngAcceptInputType_navYearFirst: BooleanInput;\n\n constructor(\n private breakpointObserver: BreakpointObserver\n ) { }\n\n /**\n * Set the format of day name.\n * @default 'numeric'\n * @type DayFormatType\n */\n @Input() dayFormat: DayFormatType = 'numeric';\n\n /**\n * The number of calendars that render on desktop devices.\n * @type number\n * @default 2\n */\n @Input()\n set calendars(value: number) {\n this._calendars = coerceNumberProperty(value);\n }\n\n get calendars() {\n return this._calendars;\n }\n\n private _calendars: number = 2;\n\n /**\n * Toggle visibility or set the content of the cleaner button.\n * @type boolean\n * @default true\n */\n @Input()\n set cleaner(value: boolean) {\n this._cleaner = coerceBooleanProperty(value);\n }\n\n get cleaner() {\n return this._cleaner;\n }\n\n private _cleaner: boolean = true;\n\n /**\n * Determine if the dropdown should be closed after value setting.\n * @type boolean\n * @default false\n */\n @Input()\n set closeOnSelect(value: boolean) {\n this.#closeOnSelect = coerceBooleanProperty(value);\n }\n\n get closeOnSelect() {\n return this.#closeOnSelect;\n }\n\n #closeOnSelect: boolean = false;\n\n /**\n * Set date format.\n * We use date-fns to format dates. Visit https://date-fns.org/v2.28.0/docs/format to check accepted patterns.\n */\n @Input()\n format?: string;\n\n /**\n * Toggle visibility or set the content of the input indicator.\n * @type boolean\n * @default true\n */\n @Input()\n set indicator(value: boolean) {\n this._indicator = coerceBooleanProperty(value);\n }\n\n get indicator() {\n return this._indicator;\n }\n\n private _indicator: boolean = true;\n\n /**\n * Toggle the readonly state for the component.\n * @type boolean\n * @default false\n */\n @Input()\n set inputReadOnly(value: boolean) {\n this._inputReadOnly = coerceBooleanProperty(value);\n }\n\n get inputReadOnly(): boolean {\n return this._inputReadOnly || typeof this.format === 'string';\n }\n\n private _inputReadOnly: boolean = false;\n\n /**\n * Reorder year-month navigation, and render year first.\n * @type boolean\n * @default false\n */\n @Input()\n set navYearFirst(value: boolean) {\n this._navYearFirst = coerceBooleanProperty(value);\n }\n\n get navYearFirst() {\n return this._navYearFirst;\n }\n\n private _navYearFirst: boolean = false;\n\n /**\n * Specifies short hints that are visible in start date and end date inputs.\n * type string\n */\n @Input() placeholder: string | string[] = ['Start date', 'End date'];\n\n /**\n * Predefined date ranges the user can select from.\n * @type ICalendarRanges\n */\n @Input() ranges?: object;\n\n /**\n * Sets the color context of the cancel button to one of CoreUI’s themed colors.\n * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string\n * @default 'secondary'\n */\n @Input() rangesButtonsColor?: Colors = 'secondary';\n\n /**\n * Size the ranges button small or large.\n * @type 'sm' | 'lg' | ''\n */\n @Input() rangesButtonsSize: 'sm' | 'lg' | '' = '';\n\n /**\n * Set the ranges button variant to an outlined button or a ghost button.\n * @type 'outline' | 'ghost' | undefined\n */\n @Input() rangesButtonsVariant?: 'outline' | 'ghost' = 'ghost';\n\n /**\n * Default icon or character that separates two dates.\n * @type boolean\n * @default true\n */\n @Input()\n set separator(value: boolean) {\n this._separator = coerceBooleanProperty(value);\n }\n\n get separator(): boolean {\n return this._separator;\n }\n\n private _separator: boolean = true;\n\n /**\n * Size the component small or large.\n * @type 'sm' | 'lg' | undefined\n * @default undefined\n */\n @Input() size?: 'sm' | 'lg';\n\n /**\n * Provide an additional time selection by adding select boxes to choose time.\n * @type boolean\n * @default false\n */\n @Input()\n set timepicker(value: boolean) {\n this._timepicker = coerceBooleanProperty(value);\n }\n\n get timepicker(): boolean {\n return false;\n // return this._timepicker;\n }\n\n private _timepicker: boolean = false;\n\n /**\n * Toggle visual validation feedback.\n * @type boolean | undefined\n * @default undefined\n */\n @Input() valid?: boolean;\n\n /**\n * Toggle the visibility of the dropdown date-picker component.\n * @type boolean\n * @default false\n */\n @Input()\n set visible(value: boolean) {\n this._visible = coerceBooleanProperty(value);\n }\n\n get visible(): boolean {\n return this._visible;\n }\n\n private _visible: boolean = false;\n\n @Input()\n set startDate(value) {\n const prevDate = this._startDate ? new Date(this._startDate) : null;\n this._startDate = value ? new Date(value) : null;\n if (prevDate?.getTime() !== this._startDate?.getTime()) {\n this.startDateValue = this._startDate?.toLocaleDateString(this.locale) ?? '';\n this.startDateChange.emit(this._startDate);\n }\n }\n\n get startDate() {\n return this._startDate;\n }\n\n private _startDate?: Date | null;\n\n @Input()\n set endDate(value) {\n const prevDate = this._endDate ? new Date(this._endDate ?? 0) : null;\n this._endDate = value ? new Date(value) : null;\n if (prevDate?.getTime() !== this._endDate?.getTime()) {\n this.endDateValue = this._endDate?.toLocaleDateString(this.locale) ?? '';\n this.endDateChange.emit(this._endDate);\n }\n }\n\n get endDate() {\n return this._endDate;\n }\n\n private _endDate?: Date | null;\n\n @Input() calendarDate: Date = new Date();\n @Input() disabledDates: Date[] | Date[][] = [];\n\n @Input()\n set firstDayOfWeek(value: number) {\n this._firstDayOfWeek = coerceNumberProperty(value);\n }\n\n get firstDayOfWeek() {\n return this._firstDayOfWeek;\n }\n\n private _firstDayOfWeek: number = 1;\n\n @Input() locale: string = 'default';\n @Input() maxDate: Date | null = null;\n @Input() minDate: Date | null = null;\n\n @Input()\n set navigation(value: boolean) {\n this._navigation = coerceBooleanProperty(value);\n }\n\n get navigation() {\n return this._navigation;\n }\n\n private _navigation: boolean = true;\n\n /**\n * Allow range selection.\n * @type boolean\n * @default false\n */\n @Input()\n set range(value: boolean) {\n this._range = coerceBooleanProperty(value);\n }\n\n get range(): boolean {\n return this._range;\n }\n\n private _range: boolean = true;\n\n @Input() dateFilter?: DateFilterType;\n\n @Input()\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n this._disabled ? this.startDateInput.disable() : this.startDateInput.enable();\n this._disabled ? this.endDateInput.disable() : this.endDateInput.enable();\n }\n\n get disabled(): boolean {\n return this._disabled;\n }\n\n private _disabled = false;\n\n @Input()\n set value(value: any) {\n const newValue = this.range ? { ...value } : value;\n if (JSON.stringify(this._value) !== JSON.stringify(newValue)) {\n this._value = newValue;\n if (this.range) {\n this.handleStartDateChange(newValue.startDate ?? null);\n this.handleEndDateChange(newValue.endDate ?? null);\n } else {\n this.handleStartDateChange(newValue ?? null);\n }\n this.onChange(newValue);\n this.onTouched();\n this.valueChange.emit(this.value);\n if (this.closeOnSelect) {\n const hasValue = this.range ? !!(this.value.startDate && this.value.endDate) : !!this.value;\n this.visible = !hasValue;\n }\n }\n }\n\n get value() {\n return this._value;\n }\n\n private _value: any = {};\n\n /**\n * Set length or format of day name.\n * @type WeekdayFormatType\n * @default 'short'\n */\n @Input() weekdayFormat: WeekdayFormatType = 'short';\n\n /**\n * Optional popper Options object\n * @type Partial<Options>\n */\n @Input('popperOptions') popperjsOptions: Partial<Options> = {\n strategy: 'fixed'\n };\n\n /**\n * Set whether days in adjacent months shown before or after the current month are selectable. This only applies if the `showAdjacentDays` option is set to true.\n * @type boolean\n * @default false\n * @since 4.4.10\n */\n @Input()\n set selectAdjacentDays(value: boolean) {\n this.#selectAdjacentDays = coerceBooleanProperty(value);\n }\n\n get selectAdjacentDays(): boolean {\n return this.#selectAdjacentDays;\n }\n\n #selectAdjacentDays: boolean = false;\n\n /**\n * Set whether to display dates in adjacent months (non-selectable) at the start and end of the current month.\n * @type boolean\n * @default true\n * @since 4.4.10\n */\n @Input() showAdjacentDays: boolean = true;\n\n @Output() readonly valueChange = new EventEmitter<Date | Date[] | undefined>();\n\n @Output() calendarCellHover: EventEmitter<Date | null> = new EventEmitter<Date | null>();\n @Output() calendarDateChange: EventEmitter<Date> = new EventEmitter<Date>();\n @Output() endDateChange: EventEmitter<Date | null> = new EventEmitter<Date | null>();\n @Output() startDateChange: EventEmitter<Date | null> = new EventEmitter<Date | null>();\n\n // @ViewChild(CalendarComponent) calendarComponent!: CalendarComponent;\n @ViewChild('startDateElementRef') startDateElementRef!: ElementRef<HTMLInputElement>;\n @ViewChild('endDateElementRef') endDateElementRef!: ElementRef<HTMLInputElement>;\n\n templates: any = {};\n @ContentChildren(TemplateIdDirective, { descendants: true }) contentTemplates!: QueryList<TemplateIdDirective>;\n\n protected dateChangeSubscriptions: Subscription[] = [];\n\n protected subscribeDateChange(subscribe: boolean = true): void {\n if (subscribe) {\n // todo\n // this.dateChangeSubscriptions.push(this.startDateChange.subscribe(next => {\n // this.startDate = next;\n // this.onChange(next);\n // }));\n // this.dateChangeSubscriptions.push(this.startDateChange.subscribe(next => {\n // this.endDate = next;\n // this.onChange(next);\n // }));\n return;\n }\n this.dateChangeSubscriptions.forEach(subscription => {\n subscription?.unsubscribe();\n });\n }\n\n @HostListener('blur') onBlur() {\n this.onTouched();\n }\n\n public isMobile = true;\n public customRanges!: TCustomRange[];\n\n set startDateValue(value: string) {\n this.startDateInput.setValue(value);\n this._startDateValue = value;\n }\n\n get startDateValue(): string {\n return this._startDateValue;\n }\n\n private _startDateValue: string = this.startDate?.toLocaleDateString(this.locale) ?? '';\n\n set endDateValue(value: string) {\n this.endDateInput.setValue(value);\n this._endDateValue = value;\n }\n\n get endDateValue(): string {\n return this._endDateValue;\n }\n\n public _endDateValue: string = this.endDate?.toLocaleDateString(this.locale) ?? '';\n\n public get startDatePlaceholder(): string {\n return Array.isArray(this.placeholder) ? this.placeholder[0] : this.placeholder;\n };\n\n public get endDatePlaceholder(): string {\n return Array.isArray(this.placeholder) ? this.placeholder[1] : this.placeholder;\n };\n\n private layoutChanges!: Subscription;\n\n // todo: validation\n startDateInput = new FormControl({ value: this.startDateValue, disabled: this.disabled }, [\n Validators.required\n // Validators.minLength(8),\n // Validators.maxLength(10),\n // invalidDateStringValidator(this.locale)\n ]);\n endDateInput = new FormControl({ value: this.endDateValue, disabled: this.disabled }, [\n Validators.required\n // Validators.minLength(8),\n // Validators.maxLength(10),\n // invalidDateStringValidator(this.locale)\n ]);\n dateRangeGroup!: FormGroup;\n\n set inputStartHoverValue(value) {\n this._inputStartHoverValue = value;\n }\n\n get inputStartHoverValue() {\n return this._inputStartHoverValue;\n }\n\n private _inputStartHoverValue!: Date | null;\n\n set inputEndHoverValue(value) {\n this._inputEndHoverValue = value;\n }\n\n get inputEndHoverValue() {\n return this._inputEndHoverValue;\n }\n\n private _inputEndHoverValue!: Date | null;\n\n get datePickerClasses() {\n return {\n 'is-valid': this.valid === true,\n 'is-invalid': this.valid === false\n };\n }\n\n formatDate(date: Date) {\n return this.format\n ? dateFormat(date, this.format)\n : this.timepicker\n ? date.toLocaleString(this.locale)\n : date.toLocaleDateString(this.locale);\n }\n\n ngOnInit(): void {\n this.layoutChanges = this.breakpointObserver.observe([\n Breakpoints.Handset,\n Breakpoints.Tablet\n ]).subscribe(result => {\n this.isMobile = result.matches;\n });\n this.customRanges = this.ranges ? Object.entries(this.ranges) : [];\n\n this.startDateValue = this.startDate?.toLocaleDateString(this.locale) ?? '';\n this.endDateValue = this.endDate?.toLocaleDateString(this.locale) ?? '';\n this.subscribeDateChange();\n }\n\n ngOnDestroy() {\n this.layoutChanges?.unsubscribe();\n this.subscribeDateChange(false);\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.contentTemplates.forEach((child: TemplateIdDirective) => {\n this.templates[child.id] = child.templateRef;\n });\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['date']) {\n // for date-picker component\n const date = this.convertValueToDate(changes['date']?.currentValue) ?? null;\n this.handleStartDateChange(date);\n this.calendarDate = date ?? this.calendarDate;\n }\n if (changes['startDate']) {\n const date = this.convertValueToDate(changes['startDate']?.currentValue) ?? null;\n this.handleStartDateChange(date);\n this.calendarDate = date ?? this.calendarDate;\n }\n if (changes['endDate']) {\n const date = this.convertValueToDate(changes['endDate']?.currentValue) ?? null;\n this.handleEndDateChange(date);\n }\n }\n\n convertValueToDate(value: Date | string | number | undefined | null) {\n if (!value) {\n return null;\n }\n if (typeof value === 'string') {\n return getLocalDateFromString(value, this.locale, this.timepicker);\n }\n return new Date(value) ?? null;\n }\n\n getCustomRangeKey(customRange: any) {\n return customRange[0];\n }\n\n setCustomRange(customRange: any) {\n const key = this.getCustomRangeKey(customRange);\n this.handleStartDateChange(customRange[1][0]);\n this.handleEndDateChange(customRange[1][1]);\n }\n\n handleCalendarCellHover($event: Date | null) {\n this.calendarCellHover.emit($event);\n if (!this.startDate) {\n this.setInputValue(this.startDateElementRef, $event);\n this.inputStartHoverValue = $event;\n this.setInputValue(this.endDateElementRef, null);\n this.inputEndHoverValue = null;\n return;\n }\n if (!this.endDate) {\n this.setInputValue(this.endDateElementRef, $event);\n this.inputEndHoverValue = $event;\n return;\n }\n }\n\n handleCalendarDateChange($event: Date) {\n if (this.calendarDate.getTime() !== $event.getTime()) {\n this.calendarDateChange.emit($event);\n }\n }\n\n handleStartDateChange(date: Date | null) {\n if (date?.getTime() !== this.startDate?.getTime()) {\n this.startDate = date ?? null;\n this.startDateValue = date ? date.toLocaleDateString(this.locale) : '';\n this.inputStartHoverValue = null;\n this.value = this.range ? { startDate: this.startDate, endDate: this.endDate } : this.startDate;\n }\n }\n\n handleEndDateChange(date: Date | null) {\n if (date?.getTime() !== this.endDate?.getTime()) {\n if (!this.range) {\n return;\n }\n this.endDate = date ?? null;\n this.endDateValue = date ? date.toLocaleDateString(this.locale) : '';\n this.inputEndHoverValue = null;\n this.value = this.range ? { startDate: this.startDate, endDate: this.endDate } : this.startDate;\n }\n }\n\n handleClear($event?: MouseEvent) {\n // this.calendarComponent.clearDates();\n this.handleStartDateChange(null);\n this.handleEndDateChange(null);\n }\n\n handleStartDateInputChange($event: any) {\n const date = getLocalDateFromString($event.target?.value, this.locale, this.timepicker);\n if (!date) {\n // this.calendarComponent.clearDates();\n this.handleStartDateChange(null);\n this.handleEndDateChange(null);\n }\n if (date instanceof Date && date.getTime()) {\n if (!(this.forbiddenDate(date) || (this.endDate && this.endDate < date))) {\n this.calendarDate = date;\n this.startDate = date;\n }\n }\n this.handleStartDateChange(this.startDate ?? null);\n }\n\n handleEndDateInputChange($event: any) {\n const date = getLocalDateFromString($event.target?.value, this.locale, this.timepicker);\n if (!date) {\n this.endDate = null;\n }\n if (date instanceof Date && date.getTime()) {\n if (!(this.forbiddenDate(date) || (this.startDate && this.startDate > date))) {\n this.calendarDate = date;\n this.endDate = date;\n }\n }\n this.handleEndDateChange(this.endDate ?? null);\n }\n\n forbiddenDate(date: Date) {\n return isDateDisabled(date, this.minDate, this.maxDate, this.disabledDates) || (this.dateFilter ? !this.dateFilter(date) : false);\n }\n\n setInputValue = (elementRef: ElementRef, date: Date | null) => {\n if (!elementRef) {\n return;\n }\n elementRef.nativeElement.value = date?.toLocaleDateString(this.locale) ?? '';\n // elementRef.nativeElement.valueAsDate = date;\n return;\n };\n\n onChange: any = (value: any) => {};\n onTouched: any = () => {};\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(value: any): void {\n if (value !== null) {\n this.value = this.range ? { ...value } : value;\n }\n }\n\n handleStartTimeChange(time: Date | undefined) {\n this.startDate = time ?? this.startDate;\n }\n\n handleEndTimeChange(time: Date | undefined) {\n if (!this.range) {\n return;\n }\n this.endDate = time ?? this.endDate;\n }\n}\n","<c-dropdown #dropdown=\"cDropdown\" [autoClose]=\"'outside'\" class=\"date-picker picker\" [ngClass]=\"datePickerClasses\"\n [(visible)]=\"visible\" [popperOptions]=\"popperjsOptions\">\n <c-input-group [caret]=\"false\"\n [disabled]=\"disabled ?? dropdown.visible\"\n [sizing]=\"size ?? ''\"\n cDropdownToggle\n class=\"picker-input-group\"\n >\n <input (change)=\"handleStartDateInputChange($event)\"\n [formControl]=\"startDateInput\"\n [ngClass]=\"{hover: !!inputStartHoverValue}\"\n [placeholder]=\"startDatePlaceholder\"\n cFormControl\n #startDateElementRef\n [attr.tabindex]=\"disabled ? -1 : 0\"\n pattern=\"[1-9]*\"\n [readonly]=\"inputReadOnly ?? null\"\n [valid]=\"range ? undefined : valid\"\n >\n <span *ngIf=\"range && separator !== false\" cInputGroupText>\n <span class=\"picker-input-group-icon date-picker-arrow-icon\"></span>\n </span>\n <input (change)=\"handleEndDateInputChange($event)\"\n *ngIf=\"range\"\n [formControl]=\"endDateInput\"\n [ngClass]=\"{hover: !!inputEndHoverValue}\"\n [placeholder]=\"endDatePlaceholder\"\n cFormControl\n #endDateElementRef\n [attr.tabindex]=\"disabled ? -1 : 0\"\n pattern=\"[1-9]*\"\n [readonly]=\"inputReadOnly ?? null\"\n [valid]=\"valid ?? undefined\"\n >\n <span *ngIf=\"indicator || cleaner\" cInputGroupText>\n <span *ngIf=\"indicator\" class=\"picker-input-group-indicator\">\n <span class=\"picker-input-group-icon date-picker-input-icon\"></span>\n </span>\n <span (click)=\"!disabled && handleClear($event)\"\n *ngIf=\"cleaner && startDateElementRef.value && !disabled\"\n class=\"picker-input-group-cleaner\" role=\"button\">\n <span class=\"picker-input-group-icon date-picker-cleaner-icon\"></span>\n </span>\n </span>\n\n </c-input-group>\n <div cDropdownMenu>\n <div class=\"date-picker-body\">\n <ng-template [ngIf]=\"!isMobile\">\n <div *ngIf=\"ranges\" class=\"date-picker-ranges\">\n <button (click)=\"setCustomRange(customRange)\"\n *ngFor=\"let customRange of customRanges\"\n [color]=\"rangesButtonsColor\"\n [size]=\"rangesButtonsSize\"\n [variant]=\"rangesButtonsVariant\"\n cButton>\n {{getCustomRangeKey(customRange)}}\n </button>\n </div>\n </ng-template>\n <c-calendar\n (calendarCellHover)=\"handleCalendarCellHover($event)\"\n (calendarDateChange)=\"handleCalendarDateChange($event)\"\n (endDateChange)=\"handleEndDateChange($event)\"\n (startDateChange)=\"handleStartDateChange($event)\"\n [calendarDate]=\"calendarDate\"\n [calendars]=\"isMobile ? 1 : calendars\"\n [dateFilter]=\"dateFilter\"\n [disabledDates]=\"disabledDates\"\n [endDate]=\"endDate\"\n [firstDayOfWeek]=\"firstDayOfWeek\"\n [locale]=\"locale\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [navigation]=\"navigation\"\n [range]=\"range\"\n [startDate]=\"startDate\"\n [navYearFirst]=\"navYearFirst\"\n [dayFormat]=\"dayFormat\"\n [weekdayFormat]=\"weekdayFormat\"\n [selectAdjacentDays]=\"selectAdjacentDays\"\n [showAdjacentDays]=\"showAdjacentDays\"\n class=\"date-picker-calendars\"\n ></c-calendar>\n <div *ngIf=\"false && timepicker\" class=\"date-picker-timepickers\">\n <!-- todo-->\n <c-time-picker\n variant=\"select\"\n [locale]=\"locale\"\n [disabled]=\"!startDate\"\n [time]=\"startDate ?? undefined\"\n (timeChange)=\"handleStartTimeChange($event)\"\n ></c-time-picker>\n <c-time-picker\n *ngIf=\"range\"\n variant=\"select\"\n [locale]=\"locale\"\n [disabled]=\"!endDate\"\n [time]=\"endDate ?? undefined\"\n (timeChange)=\"handleEndTimeChange($event)\"\n ></c-time-picker>\n </div>\n </div>\n <div *ngIf=\"templates?.datePickerFooter\" class=\"picker-footer\">\n <ng-container *ngTemplateOutlet=\"templates?.datePickerFooter; context: {$implicit: dropdown}\"></ng-container>\n </div>\n </div>\n <ng-content></ng-content>\n</c-dropdown>\n","import { NgModule } from '@angular/core';\n\nimport { DateRangePickerComponent } from './date-range-picker/date-range-picker.component';\n\n@NgModule({\n imports: [DateRangePickerComponent],\n exports: [DateRangePickerComponent]\n})\nexport class DateRangePickerModule {\n}\n","import { Component, EventEmitter, forwardRef, Input, Output } from '@angular/core';\nimport { NgClass, NgForOf, NgIf, NgTemplateOutlet } from '@angular/common';\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { BreakpointObserver } from '@angular/cdk/layout';\n\nimport { ButtonDirective } from '../button';\nimport { DateRangePickerComponent } from '../date-range-picker';\nimport { CalendarComponent } from '../calendar';\nimport { DropdownComponent, DropdownMenuDirective, DropdownToggleDirective } from '../dropdown';\nimport { FormControlDirective, InputGroupComponent, InputGroupTextDirective } from '../form';\nimport { TimePickerComponent } from '../time-picker';\n\n@Component({\n selector: 'c-date-picker',\n templateUrl: '../date-range-picker/date-range-picker/date-range-picker.component.html',\n exportAs: 'cDatePicker',\n standalone: true,\n imports: [\n NgClass,\n NgIf,\n NgForOf,\n NgTemplateOutlet,\n ReactiveFormsModule,\n CalendarComponent,\n TimePickerComponent,\n ButtonDirective,\n DropdownComponent,\n DropdownToggleDirective,\n DropdownMenuDirective,\n InputGroupComponent,\n FormControlDirective,\n InputGroupTextDirective\n ], providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DatePickerComponent),\n multi: true\n }\n ]\n})\nexport class DatePickerComponent extends DateRangePickerComponent {\n\n constructor(\n breakpointObserver: BreakpointObserver\n ) {\n super(breakpointObserver);\n }\n\n @Input() override placeholder: string = 'Select date';\n\n // @ts-ignore\n @Output('dateChange') override startDateChange: EventEmitter<Date | null> = new EventEmitter<Date | null>();\n\n override get range(): boolean {\n return false;\n }\n\n override get calendars() {\n return 1;\n }\n\n override get endDate() {\n return null;\n }\n\n get date() {\n return this.startDate;\n }\n\n @Input()\n set date(value: Date | null | undefined) {\n this.startDate = value;\n }\n\n // @ts-ignore\n override writeValue(value: Date | null | undefined): void {\n this.date = value;\n this.startDateValue = this.date ? this.date.toLocaleDateString(this.locale) : '';\n }\n\n override subscribeDateChange(subscribe: boolean = true): void {\n if (subscribe) {\n this.dateChangeSubscriptions.push(this.startDateChange.subscribe(next => {\n this.date = next;\n this.onChange(next);\n }));\n return;\n }\n this.dateChangeSubscriptions.forEach(subscription => {\n subscription?.unsubscribe();\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { DatePickerComponent } from './date-picker.component';\n\n@NgModule({\n imports: [DatePickerComponent],\n exports: [DatePickerComponent]\n})\nexport class DatePickerModule {}\n","import { Component, HostBinding, Input } from '@angular/core';\n\nimport { Colors } from '../coreui.types';\n\n@Component({\n selector: 'c-spinner',\n templateUrl: './spinner.component.html',\n standalone: true\n})\nexport class SpinnerComponent {\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @type Colors\n */\n @Input() color?: Colors;\n\n /**\n * Label for accessibility.\n * @type string\n * @default 'Loading...'\n */\n @Input() label: string = \"Loading...\";\n\n /**\n * Size the component small.\n * @type string\n * @values 'sm'\n */\n @Input() size?: 'sm';\n\n /**\n * Set the button variant to an outlined button or a ghost button.\n * @values 'border' | 'grow'\n * @default 'border'\n */\n @Input() variant?: 'border' | 'grow' = 'border';\n\n @Input()\n @HostBinding('attr.role') role = 'status';\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n [`spinner-${this.variant}`]: true,\n [`text-${this.color}`]: !!this.color,\n [`spinner-${this.variant}-${this.size}`]: !!this.size\n };\n }\n}\n","<span class=\"visually-hidden\">{{label}}</span>\n","import { NgModule } from '@angular/core';\n\nimport { SpinnerComponent } from './spinner.component';\n\n@NgModule({\n exports: [\n SpinnerComponent\n ],\n imports: [\n SpinnerComponent\n ]\n})\nexport class SpinnerModule {}\n","import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, HostBinding, Input, ViewChild } from '@angular/core';\nimport { NgIf, NgStyle } from '@angular/common';\n\nimport { SpinnerComponent } from '../spinner';\n\n@Component({\n selector: 'c-element-cover, [cElementCover]',\n templateUrl: './element-cover.component.html',\n styleUrls: ['./element-cover.component.scss'],\n imports: [SpinnerComponent, NgStyle, NgIf],\n standalone: true\n})\nexport class ElementCoverComponent implements AfterViewInit {\n\n constructor(private elementRef: ElementRef, private changeDetectorRef: ChangeDetectorRef) {}\n\n /**\n * Array of custom boundaries. Use to create custom cover area (instead of parent element area). Area is defined by four sides: 'top', 'bottom', 'right', 'left'. If side is not defined by any custom boundary it is equal to parent element boundary. Each custom boundary is object with keys:\n * - sides (array) - select boundaries of element to define boundaries. Side names: 'top', 'bottom', 'right', 'left'.\n * - query (string) - query used to get element which define boundaries. Search will be done only inside parent element, by parent.querySelector(query) function. [docs]\n * @type {sides: string[], query: string}[]\n */\n @Input() boundaries?: { sides: string[]; query: string }[];\n @Input() opacity: number = 0.4;\n\n @ViewChild('content') content?: ElementRef;\n hasContent = true;\n #parent!: any;\n\n private get customBoundaries() {\n if (!this.boundaries || this.elementRef === null) {\n return {};\n }\n if (!this.#parent) {\n return {};\n }\n const parentCoords = this.#parent?.getBoundingClientRect();\n const _customBoundaries = {};\n this.boundaries.forEach((value: any) => {\n const element = this.#parent?.querySelector(value.query);\n if (!element || !value.sides) {\n return;\n }\n const coords = element.getBoundingClientRect();\n value.sides.forEach((side: string) => {\n const sideMargin = Math.abs(coords[side] - parentCoords[side]);\n // @ts-ignore\n _customBoundaries[side] = `${sideMargin}px`;\n });\n });\n return _customBoundaries;\n }\n\n private get containerCoords() {\n return {\n top: 0, left: 0, right: 0, bottom: 0, ...this.customBoundaries\n };\n }\n\n @HostBinding('style')\n private get coverStyles() {\n return {\n ...this.containerCoords, position: 'absolute', backgroundColor: `rgb(255,255,255,${this.opacity})`\n };\n }\n\n ngAfterViewInit(): void {\n this.#parent = this.elementRef.nativeElement.parentElement;\n this.hasContent = this.content?.nativeElement.childNodes.length ?? false;\n this.changeDetectorRef.detectChanges();\n }\n}\n","<div [ngStyle]=\"{position: 'absolute', 'top.%': '50', 'left.%': '50', transform: 'translateX(-50%) translateY(-50%)'}\">\n <div #content *ngIf=\"hasContent; else defaultSpinner\">\n <ng-content></ng-content>\n </div>\n <ng-template #defaultSpinner>\n <c-spinner color=\"primary\" variant=\"grow\"></c-spinner>\n </ng-template>\n</div>\n","import { NgModule } from '@angular/core';\nimport { ElementCoverComponent } from './element-cover.component';\n\n@NgModule({\n imports: [ElementCoverComponent],\n exports: [ElementCoverComponent]\n})\nexport class ElementCoverModule {}\n","import { Component, HostBinding, Input } from '@angular/core';\n\nimport { Positions } from '../coreui.types';\n\n@Component({\n selector: 'c-footer, [cFooter]',\n template: `<ng-content></ng-content>`,\n standalone: true\n})\nexport class FooterComponent {\n /**\n * Place footer in non-static positions. [docs]\n * @type Positions\n */\n @Input() position?: Positions;\n /**\n * Default role for footer. [docs]\n * @type string\n * @default 'footer'\n */\n @Input()\n @HostBinding('attr.role') role = 'footer';\n\n @HostBinding('class')\n get getClasses(): any {\n return {\n footer: true,\n [`footer-${this.position}`]: !!this.position,\n };\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { FooterComponent } from './footer.component';\n\n@NgModule({\n imports: [FooterComponent],\n exports: [FooterComponent]\n})\nexport class FooterModule {}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\nimport { IContainer } from './container.type';\nimport { Breakpoints } from '../coreui.types';\n\n@Component({\n selector: 'c-container, [cContainer]',\n template: '<ng-content></ng-content>',\n styleUrls: ['./container.component.scss'],\n standalone: true\n})\nexport class ContainerComponent implements IContainer{\n\n static ngAcceptInputType_fluid: BooleanInput;\n\n /**\n * Set container 100% wide until a breakpoint.\n */\n @Input() breakpoint: Exclude<Breakpoints, 'xs'> = '';\n /**\n * Set container 100% wide, spanning the entire width of the viewport.\n */\n @Input()\n set fluid(value: boolean) {\n this._fluid = coerceBooleanProperty(value);\n };\n get fluid(): boolean {\n return this._fluid;\n }\n private _fluid = false;\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n container: !this.fluid && !this.breakpoint,\n 'container-fluid': this.fluid,\n [`container-${this.breakpoint}`]: !!this.breakpoint,\n };\n }\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty, coerceNumberProperty, NumberInput } from '@angular/cdk/coercion';\n\nimport { ColOrder, ICol } from './col.type';\nimport { BreakpointInfix } from '../coreui.types';\n\n@Directive({\n selector: '[cCol]',\n standalone: true\n})\nexport class ColDirective implements ICol {\n\n static ngAcceptInputType_cCol: (BooleanInput | NumberInput);\n static ngAcceptInputType_xs: (BooleanInput | NumberInput);\n static ngAcceptInputType_sm: (BooleanInput | NumberInput);\n static ngAcceptInputType_md: (BooleanInput | NumberInput);\n static ngAcceptInputType_lg: (BooleanInput | NumberInput);\n static ngAcceptInputType_xl: (BooleanInput | NumberInput);\n static ngAcceptInputType_xxl: (BooleanInput | NumberInput);\n\n /**\n * The number of columns/offset/order on extra small devices (<576px).\n * @type { 'auto' | number | boolean }\n */\n @Input()\n set cCol(value: (BooleanInput | NumberInput)) {\n this.xs = this.xs || this.coerceInput(value);\n }\n @Input()\n set xs(value) {\n this._xs = this.coerceInput(value);\n }\n get xs(): (BooleanInput | NumberInput) {\n return this._xs;\n }\n private _xs: (BooleanInput | NumberInput) = false;\n\n /**\n * The number of columns/offset/order on small devices (<768px).\n * @type { 'auto' | number | boolean }\n */\n @Input()\n set sm(value) {\n this._sm = this.coerceInput(value);\n }\n get sm(): (BooleanInput | NumberInput) {\n return this._sm;\n }\n private _sm: (BooleanInput | NumberInput) = false;\n\n /**\n * The number of columns/offset/order on medium devices (<992px).\n * @type { 'auto' | number | boolean }\n */\n @Input()\n set md(value) {\n this._md = this.coerceInput(value);\n }\n get md(): (BooleanInput | NumberInput) {\n return this._md;\n }\n private _md: (BooleanInput | NumberInput) = false;\n\n /**\n * The number of columns/offset/order on large devices (<1200px).\n * @type { 'auto' | number | boolean }\n */\n @Input()\n set lg(value) {\n this._lg = this.coerceInput(value);\n }\n get lg(): (BooleanInput | NumberInput) {\n return this._lg;\n }\n private _lg: (BooleanInput | NumberInput) = false;\n\n /**\n * The number of columns/offset/order on X-Large devices (<1400px).\n * @type { 'auto' | number | boolean }\n */\n @Input()\n set xl(value) {\n this._xl = this.coerceInput(value);\n }\n get xl(): (BooleanInput | NumberInput) {\n return this._xl;\n }\n private _xl: (BooleanInput | NumberInput) = false;\n\n /**\n * The number of columns/offset/order on XX-Large devices (≥1400px).\n * @type { 'auto' | number | boolean }\n */\n @Input()\n set xxl(value) {\n this._xxl = this.coerceInput(value);\n }\n get xxl(): (BooleanInput | NumberInput) {\n return this._xxl;\n }\n private _xxl: (BooleanInput | NumberInput) = false;\n\n @Input() offset?: (number | { 'xs'?: number, sm?: number, md?: number, lg?: number, xl?: number, xxl?: number });\n @Input() order?: (ColOrder | { xs?: ColOrder, sm?: ColOrder, md?: ColOrder, lg?: ColOrder, xl?: ColOrder, xxl?: ColOrder });\n\n @HostBinding('class')\n get hostClasses(): any {\n\n const classes: any = {\n col: true\n };\n\n Object.keys(BreakpointInfix).forEach((breakpoint) => {\n // @ts-ignore\n const value: number | string | boolean = this[breakpoint];\n const infix = breakpoint === 'xs' ? '' : `-${breakpoint}`;\n classes[`col${infix}`] = value === true;\n classes[`col${infix}-${value}`] = (typeof value === 'number') || (typeof value === 'string');\n });\n\n if (typeof this.offset === 'object') {\n const offset = { ...this.offset };\n Object.entries(offset).forEach((entry) => {\n const [breakpoint, value] = [...entry];\n const infix = breakpoint === 'xs' ? '' : `-${breakpoint}`;\n classes[`offset${infix}-${value}`] = value >= 0 && value <= 11;\n });\n } else {\n classes[`offset-${this.offset}`] = (typeof this.offset === 'number') && this.offset > 0 && this.offset <= 11;\n }\n\n if (typeof this.order === 'object') {\n const order = { ...this.order };\n Object.entries(order).forEach((entry) => {\n const [breakpoint, value] = [...entry];\n const infix = breakpoint === 'xs' ? '' : `-${breakpoint}`;\n classes[`order${infix}-${value}`] = value;\n });\n } else {\n classes[`order-${this.order}`] = !!this.order;\n }\n\n // if there is no 'col' class, add one\n classes.col = (!Object.entries(classes).filter(i => i[0].startsWith('col-') && i[1]).length) || this.xs === true;\n return classes;\n }\n\n coerceInput(value: (BooleanInput | NumberInput)) {\n if (value === 'auto') {\n return value;\n }\n if (value === '' || value === undefined || value === null) {\n return coerceBooleanProperty(value);\n }\n if (typeof value === 'boolean') {\n return value;\n }\n return coerceNumberProperty(value);\n }\n}\n","import { Component } from '@angular/core';\n\nimport { ColDirective } from './col.directive';\n\n@Component({\n selector: 'c-col',\n template: '<ng-content></ng-content>',\n styleUrls: ['./col.component.scss'],\n standalone: true\n})\nexport class ColComponent extends ColDirective {}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\nimport { BreakpointInfix } from '../coreui.types';\nimport { IRow, NumberOfColumns } from './row.type';\n\n@Directive({\n selector: '[cRow]',\n standalone: true\n})\nexport class RowDirective implements IRow {\n /**\n * The number of columns/offset/order on extra small devices (<576px).\n * @type {{ cols: 'auto' | number }\n */\n @Input() xs?: NumberOfColumns;\n /**\n * The number of columns/offset/order on small devices (<768px).\n * @type {{ cols: 'auto' | number }\n */\n @Input() sm?: NumberOfColumns;\n /**\n * The number of columns/offset/order on medium devices (<992px).\n * @type {{ cols: 'auto' | number }\n */\n @Input() md?: NumberOfColumns;\n /**\n * The number of columns/offset/order on large devices (<1200px).\n * @type {{ cols: 'auto' | number }\n */\n @Input() lg?: NumberOfColumns;\n /**\n * The number of columns/offset/order on X-Large devices (<1400px).\n * @type {{ cols: 'auto' | number }\n */\n @Input() xl?: NumberOfColumns;\n /**\n * The number of columns/offset/order on XX-Large devices (≥1400px).\n * @type {{ cols: 'auto' | number }\n */\n @Input() xxl?: NumberOfColumns;\n\n @HostBinding('class')\n get hostClasses(): any {\n\n const cols = this.xs;\n\n const classes: any = {\n row: true,\n [`row-cols-${cols}`]: !!cols,\n };\n\n Object.keys(BreakpointInfix).forEach(breakpoint => {\n // @ts-ignore\n const value: any = this[breakpoint];\n if ((typeof value === 'number') || (typeof value === 'string')) {\n const infix: string = breakpoint === 'xs' ? '' : breakpoint;\n classes[`row-cols-${infix}-${value}`] = !!value;\n }\n });\n\n return classes;\n }\n}\n","import { Component } from '@angular/core';\n\nimport { RowDirective } from './row.directive';\n\n@Component({\n selector: 'c-row',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class RowComponent extends RowDirective {}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\nimport { BreakpointInfix } from '../coreui.types';\nimport { GutterBreakpoints, Gutters, IGutter, IGutterObject } from './gutter.type';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[gutter]',\n standalone: true\n})\nexport class GutterDirective implements IGutter {\n /**\n * Define padding between columns to space and align content responsively in the Bootstrap grid system.\n */\n @Input() gutter: (IGutterObject | GutterBreakpoints | Gutters) = {};\n\n constructor() { }\n\n @HostBinding('class')\n get hostClasses(): any {\n\n let gutterClass: any;\n\n if (typeof this.gutter === 'number') {\n gutterClass = GutterDirective.getGutterClasses({ g: this.gutter });\n return gutterClass;\n }\n\n {\n // @ts-ignore\n const { g, gx, gy } = { ...this.gutter };\n gutterClass = GutterDirective.getGutterClasses({ g, gx, gy });\n }\n\n Object.keys(BreakpointInfix).forEach(key => {\n // @ts-ignore\n const gutter = this.gutter[key] ? { ...this.gutter[key] } : undefined;\n if (gutter) {\n const classes = GutterDirective.getGutterClasses(gutter, key);\n gutterClass = { ...gutterClass, ...classes };\n }\n });\n return gutterClass;\n }\n\n private static getGutterClasses(gutter: IGutterObject, breakpoint?: string): any {\n const { g, gx, gy } = { ...gutter };\n const infix = breakpoint ? `-${breakpoint}` : '';\n return {\n [`g${infix}-${g}`]: typeof g === 'number',\n [`gx${infix}-${gx}`]: typeof gx === 'number',\n [`gy${infix}-${gy}`]: typeof gy === 'number'\n };\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { ContainerComponent } from './container.component';\nimport { RowComponent } from './row.component';\nimport { ColComponent } from './col.component';\nimport { RowDirective } from './row.directive';\nimport { ColDirective } from './col.directive';\nimport { GutterDirective } from './gutter.directive';\n\n@NgModule({\n imports: [\n ColComponent,\n ColDirective,\n ContainerComponent,\n GutterDirective,\n RowComponent,\n RowDirective\n ],\n exports: [\n ColComponent,\n ColDirective,\n ContainerComponent,\n GutterDirective,\n RowComponent,\n RowDirective\n ]\n})\nexport class GridModule {}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { NgClass, NgIf } from '@angular/common';\n\nimport { Positions } from '../../coreui.types';\n\ntype Container = boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'fluid';\n\n@Component({\n selector: 'c-header, [c-header]',\n templateUrl: './header.component.html',\n standalone: true,\n imports: [NgClass, NgIf]\n})\nexport class HeaderComponent {\n /**\n * Defines optional container wrapping children elements.\n */\n @Input() container?: Container;\n /**\n * Place header in non-static positions.\n */\n @Input() position?: Positions;\n /**\n * Default role for header. [docs]\n * @type string\n * @default 'header'\n */\n @HostBinding('attr.role')\n @Input() role = 'header';\n\n @HostBinding('class')\n get getClasses(): any {\n return !!this.container ? this.containerClasses : this.headerClasses;\n }\n\n get headerClasses(): any {\n return {\n header: true,\n [`header-${this.position}`]: !!this.position\n };\n }\n\n get containerClasses(): any {\n return {\n container: this.container === true,\n [`container-${this.container}`]: typeof this.container === 'string'\n };\n }\n}\n","<div [ngClass]=\"headerClasses\" *ngIf=\"!!container; else elseBlock\">\n <ng-content></ng-content>\n</div>\n<ng-template #elseBlock>\n <ng-content></ng-content>\n</ng-template>\n\n\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'c-header-brand',\n template: `<ng-content></ng-content>`,\n standalone: true\n})\nexport class HeaderBrandComponent {\n /**\n * Default role for header-brand. [docs]\n * @type string\n * @default 'button'\n */\n @HostBinding('attr.role')\n @Input() role = 'button';\n\n @HostBinding('class.header-brand') headerBrandClass = true;\n}\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'c-header-divider, [cHeaderDivider]',\n template: ``,\n standalone: true\n})\nexport class HeaderDividerComponent {\n\n @HostBinding('class.header-divider') headerDividerClass = true;\n\n}\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'c-header-nav',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./header-nav.component.scss'],\n standalone: true\n})\nexport class HeaderNavComponent {\n /**\n * Default role for header-nav. [docs]\n * @type string\n * @default 'navigation'\n */\n @HostBinding('attr.role')\n @Input() role = 'navigation';\n\n @HostBinding('class.header-nav') headerNavClass = true;\n}\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'c-header-text, [cHeaderText]',\n template: `<ng-content></ng-content>`,\n standalone: true\n})\nexport class HeaderTextComponent {\n @HostBinding('class.header-text') headerTextClass = true;\n}\n","import { AfterContentInit, Directive, ElementRef, HostBinding, Input, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[cHeaderToggler]',\n standalone: true\n})\nexport class HeaderTogglerDirective implements AfterContentInit {\n\n @HostBinding('class.header-toggler') headerToggler = true;\n /**\n * Default role for header-toggler. [docs]\n * @type string\n * @default 'button'\n */\n @HostBinding('attr.type')\n @Input() type = 'button';\n /**\n * Default aria-label attr for header-toggler. [docs]\n * @type string\n * @default 'Toggle navigation'\n */\n @HostBinding('attr.aria-label')\n @Input() ariaLabel = 'Toggle navigation';\n\n private hasContent!: boolean;\n\n constructor(\n private renderer: Renderer2,\n private hostElement: ElementRef\n ) { }\n\n addDefaultIcon(): void {\n const span = this.renderer.createElement('span');\n this.renderer.addClass(span, 'header-toggler-icon');\n this.renderer.appendChild(this.hostElement.nativeElement, span);\n }\n\n ngAfterContentInit(): void {\n this.hasContent = this.hostElement.nativeElement.childNodes.length > 0;\n if (!this.hasContent) {\n this.addDefaultIcon();\n }\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { HeaderComponent } from './header/header.component';\nimport { HeaderBrandComponent } from './header-brand/header-brand.component';\nimport { HeaderDividerComponent } from './header-divider/header-divider.component';\nimport { HeaderNavComponent } from './header-nav/header-nav.component';\nimport { HeaderTextComponent } from './header-text/header-text.component';\nimport { HeaderTogglerDirective } from './header-toggler/header-toggler.directive';\n\n@NgModule({\n imports: [\n HeaderComponent,\n HeaderBrandComponent,\n HeaderDividerComponent,\n HeaderNavComponent,\n HeaderTextComponent,\n HeaderTogglerDirective\n ],\n exports: [\n HeaderComponent,\n HeaderBrandComponent,\n HeaderDividerComponent,\n HeaderNavComponent,\n HeaderTextComponent,\n HeaderTogglerDirective\n ]\n})\nexport class HeaderModule {}\n","import { Directive, HostBinding, Input } from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\n@Directive({\n selector: '[cImg]',\n standalone: true\n})\nexport class ImgDirective {\n static ngAcceptInputType_fluid: BooleanInput;\n static ngAcceptInputType_rounded: BooleanInput;\n static ngAcceptInputType_thumbnail: BooleanInput;\n\n /**\n * Set the horizontal aligment.\n * @type {'' | 'start' | 'end' | 'center'}\n */\n @Input() align: '' | 'start' | 'end' | 'center' = '';\n\n /**\n * Make image responsive.\n * @type boolean\n */\n @Input()\n set fluid(value: boolean) {\n this._fluid = coerceBooleanProperty(value);\n };\n get fluid() {\n return this._fluid;\n }\n private _fluid = false;\n\n /**\n * Make image rounded.\n * @type boolean\n */\n @Input()\n set rounded(value: boolean){\n this._rounded = coerceBooleanProperty(value);\n };\n get rounded() {\n return this._rounded;\n }\n private _rounded = false;\n\n /**\n * Give an image a rounded 1px border appearance.\n * @type boolean\n */\n @Input()\n set thumbnail(value: boolean) {\n this._thumbnail = coerceBooleanProperty(value);\n };\n get thumbnail() {\n return this._thumbnail;\n }\n private _thumbnail = false;\n\n /**\n * Color for image placeholder.\n */\n @Input() placeholderColor = 'transparent';\n\n @HostBinding('style')\n get getStyles(): any {\n return {backgroundColor: this.placeholderColor};\n }\n\n @HostBinding('class')\n get hostClasses(): any {\n const align = this.align;\n return {\n [`float-${align}`]: align === 'start' || align === 'end',\n 'd-block': align === 'center',\n 'mx-auto': align === 'center',\n 'img-fluid': this.fluid,\n 'rounded': this.rounded,\n 'img-thumbnail': this.thumbnail,\n };\n }\n\n constructor() {}\n}\n","import { NgModule } from '@angular/core';\nimport { ImgDirective } from './img.directive';\n\n@NgModule({\n imports: [ImgDirective],\n exports: [ImgDirective]\n})\nexport class ImgModule {}\n","import {Directive, HostBinding, Input} from '@angular/core';\nimport { Sizes } from '../coreui.types';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\n@Directive({\n selector: '[cListGroup]',\n standalone: true\n})\nexport class ListGroupDirective {\n static ngAcceptInputType_flush: BooleanInput;\n\n /**\n * Remove some borders and rounded corners to render list group items edge-to-edge in a parent component (e.g., `<CCard>`).\n * @type boolean\n */\n @Input()\n set flush(value: boolean) {\n this._flush = coerceBooleanProperty(value);\n };\n get flush() {\n return this._flush;\n }\n private _flush = false;\n /**\n * Specify horizontal layout type.\n */\n @Input() horizontal?: boolean | Sizes;\n\n @HostBinding('class')\n get hostClasses(): any {\n const classes = {\n 'list-group': true,\n 'list-group-horizontal': this.horizontal === true || this.horizontal === '',\n [`list-group-horizontal-${this.horizontal}`]: !!this.horizontal && typeof this.horizontal !== 'boolean',\n 'list-group-flush': this.flush,\n };\n return classes;\n }\n\n constructor( ) { }\n\n}\n\n","import { Directive, ElementRef, HostBinding, Input } from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Colors } from '../coreui.types';\n\n@Directive({\n selector: '[cListGroupItem], c-list-group-item',\n exportAs: 'cListGroupItem',\n standalone: true\n})\nexport class ListGroupItemDirective {\n\n static ngAcceptInputType_disabled: BooleanInput;\n\n /**\n * Toggle the active state for the component.\n * @type boolean\n */\n @Input() active?: boolean;\n\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @type Colors\n */\n @Input() color?: Colors;\n\n /**\n * Set disabled attr for the host element. [docs]\n * @type boolean\n */\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n private _disabled = false;\n\n @HostBinding('attr.aria-disabled')\n get isDisabled(): boolean | null {\n return this.disabled || null;\n }\n\n @HostBinding('attr.disabled')\n get attrDisabled() {\n return this.disabled ? '' : null;\n };\n\n @HostBinding('attr.tabindex')\n get getTabindex(): string | null {\n return this.disabled ? '-1' : null;\n }\n\n @HostBinding('attr.aria-current') get ariaCurrent(): boolean {\n return !!this.active;\n }\n\n @HostBinding('class')\n get hostClasses(): any {\n const host: HTMLElement = this.hostElement.nativeElement;\n return {\n 'list-group-item': true,\n 'list-group-item-action': host.nodeName === 'A' || host.nodeName === 'BUTTON',\n active: !!this.active,\n disabled: this.isDisabled,\n [`list-group-item-${this.color}`]: !!this.color\n };\n }\n\n constructor(\n private hostElement: ElementRef\n ) { }\n}\n","import { NgModule } from '@angular/core';\n\nimport { ListGroupDirective } from './list-group.directive';\nimport { ListGroupItemDirective } from './list-group-item.directive';\n\n@NgModule({\n exports: [ListGroupDirective, ListGroupItemDirective],\n imports: [ListGroupDirective, ListGroupItemDirective]\n})\nexport class ListGroupModule {}\n","import { Component, EventEmitter, HostBinding, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\nimport { ButtonDirective } from '../button';\nimport { SpinnerComponent } from '../spinner';\n\n@Component({\n selector: 'button[cLoadingButton], a[cLoadingButton]',\n templateUrl: './loading-button.component.html',\n styleUrls: ['./loading-button.component.scss'],\n exportAs: 'cLoadingButton',\n imports: [SpinnerComponent],\n standalone: true\n})\nexport class LoadingButtonComponent extends ButtonDirective implements OnChanges {\n\n static ngAcceptInputType_disabledOnLoading: BooleanInput;\n\n /**\n * Makes button disabled when loading.\n * @type boolean\n */\n @Input()\n set disabledOnLoading(value: boolean) {\n this._disabledOnLoading = coerceBooleanProperty(value);\n };\n\n get disabledOnLoading() {\n return this._disabledOnLoading;\n }\n\n _disabledOnLoading = false;\n\n /**\n * Loading state (set to true to start animation).\n * @type boolean\n */\n @Input()\n set loading(value: boolean) {\n const newValue = coerceBooleanProperty(value);\n if (this._loading !== newValue) {\n this._loading = newValue;\n this.loadingChange.emit(newValue);\n }\n };\n\n get loading() {\n return this._loading;\n }\n\n _loading = false;\n\n /**\n * Sets type of spinner.\n * @type {'border' | 'grow'}\n */\n @Input() spinnerType: 'border' | 'grow' = 'border';\n\n /**\n * Event emitted on loading change\n * @type boolean\n */\n @Output() loadingChange: EventEmitter<boolean> = new EventEmitter();\n\n constructor() {\n super();\n }\n\n @HostBinding('class')\n override get hostClasses() {\n return {\n 'btn-loading': true,\n 'is-loading': this.loading,\n disabled: this.disabledOnLoading && this.loading,\n btn: true,\n [`btn-${this.color}`]: !!this.color && !this.variant,\n [`btn-${this.variant}`]: !!this.variant && !this.color,\n [`btn-${this.variant}-${this.color}`]: !!this.variant && !!this.color,\n [`btn-${this.size}`]: !!this.size,\n active: this.active\n };\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['loading'] && !changes['loading']?.isFirstChange()) {\n this.disabled = this.disabledOnLoading && changes['loading'].currentValue;\n }\n }\n}\n","<c-spinner [variant]=\"spinnerType\" size=\"sm\" class=\"btn-loading-spinner\"></c-spinner>\n<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { LoadingButtonComponent } from './loading-button.component';\n\n@NgModule({\n exports: [LoadingButtonComponent],\n imports: [LoadingButtonComponent]\n})\nexport class LoadingButtonModule {}\n","import { ChangeDetectionStrategy, Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'c-multi-select-optgroup-label',\n template: '<ng-content></ng-content>',\n styleUrls: ['./multi-select-optgroup-label.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class MultiSelectOptgroupLabelComponent {\n\n constructor() { }\n\n @HostBinding('class') get hostClasses() {\n return {\n 'form-multi-select-optgroup-label': true\n };\n }\n}\n","import { Injectable, OnDestroy } from '@angular/core';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport { BehaviorSubject, Subject, takeUntil } from 'rxjs';\nimport { MultiSelectOptionComponent } from './multi-select-option/multi-select-option.component';\n\n@Injectable()\nexport class MultiSelectService implements OnDestroy {\n\n readonly #destroy$ = new Subject<boolean>();\n\n ngOnDestroy(): void {\n this.#destroy$.next(true);\n }\n\n public optionsStyle: 'checkbox' | 'text' = 'checkbox';\n\n selectionModel!: SelectionModel<any>;\n\n setSelectionModel(multiple = true, initiallySelectedValues: string[] = []) {\n this.selectionModel = new SelectionModel<any>(multiple);\n this.selectionModel.changed.pipe(\n takeUntil(this.#destroy$)\n // tap( change => {\n // console.log('value selected', this.selectionModel.selected);\n // })\n ).subscribe();\n }\n\n private readonly multiSelectVisible = new BehaviorSubject<boolean>(false);\n readonly multiSelectVisible$ = this.multiSelectVisible.asObservable();\n\n toggleVisible(visible: boolean): void {\n this.multiSelectVisible.next(visible);\n }\n\n private readonly multiSelectFocus = new Subject<MultiSelectOptionComponent>();\n readonly multiSelectFocus$ = this.multiSelectFocus.asObservable();\n\n focusChange(option: MultiSelectOptionComponent) {\n this.multiSelectFocus.next(option);\n }\n\n}\n\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n Output,\n ViewChild\n} from '@angular/core';\nimport { NgIf } from '@angular/common';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { FocusableOption, FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';\nimport { Subject } from 'rxjs';\nimport { combineLatestWith, delay, distinctUntilChanged, filter, takeUntil, tap } from 'rxjs/operators';\n\nimport { MultiSelectService } from '../multi-select.service';\n\n@Component({\n selector: 'c-multi-select-option',\n templateUrl: './multi-select-option.component.html',\n styleUrls: ['./multi-select-option.component.scss'],\n exportAs: 'cMultiSelectOption',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [NgIf]\n})\nexport class MultiSelectOptionComponent implements AfterViewInit, FocusableOption, OnDestroy {\n\n constructor(\n public readonly elementRef: ElementRef,\n private readonly changeDetectorRef: ChangeDetectorRef,\n private readonly focusMonitor: FocusMonitor,\n private readonly multiSelectService: MultiSelectService\n ) {\n this.setSubscriptions();\n }\n\n static ngAcceptInputType_disabled: BooleanInput;\n static ngAcceptInputType_selected: BooleanInput;\n\n readonly #active$ = new Subject<boolean>();\n readonly #destroy$ = new Subject<boolean>();\n readonly #selected$ = new Subject<boolean>();\n readonly #value$ = new Subject<any>();\n\n /**\n * Option style\n * @type ('checkbox' | 'text')\n * @default 'checkbox'\n */\n @Input() optionsStyle: ('checkbox' | 'text') = this.multiSelectService.optionsStyle;\n\n /**\n * Option label\n * @type string\n * @default undefined\n */\n @Input() label?: string;\n\n /**\n * Option inner text\n * @type string\n * @default undefined\n */\n @Input() text?: string;\n\n /**\n * Option visible.\n * @type boolean\n * @default true\n */\n @Input() visible: boolean = true;\n\n /**\n * Option disabled.\n * @type boolean\n * @default false\n */\n @Input()\n set disabled(value: boolean) {\n this.#disabled = coerceBooleanProperty(value);\n }\n\n get disabled() {\n return this.#disabled;\n }\n\n #disabled = false;\n\n /**\n * Option selected.\n * @type boolean\n * @default false\n */\n @Input()\n set selected(value: (boolean | undefined)) {\n const selected = coerceBooleanProperty(value);\n if (this.#selected !== selected) {\n this.#selected = selected;\n this.#selected$.next(selected);\n }\n }\n\n get selected() {\n return this.#selected;\n }\n\n #selected = false;\n\n /**\n * Emits option selected change\n * @type boolean\n */\n @Output() readonly selectedChange = new EventEmitter<boolean>();\n\n /**\n * Option value.\n * @type string\n * @default undefined\n */\n @Input()\n set value(value: string) {\n if (this.#value !== value) {\n this.#value = value;\n this.#value$.next(value);\n }\n }\n\n get value() {\n return this.#value;\n }\n\n #value!: string;\n\n @ViewChild('contentDiv') private contentDiv?: ElementRef;\n public hasContent = true;\n\n #dropdownVisible = false;\n\n @Input()\n set active(value: (boolean | undefined)) {\n const active = coerceBooleanProperty(value) && this.visible && !this.disabled;\n if (this.#active !== active) {\n this.#active = active;\n this.#active$.next(active);\n }\n }\n\n get active() {\n return this.#active && this.visible;\n }\n\n #active = false;\n\n #focused = false;\n\n @Output() readonly focusChange = new EventEmitter<MultiSelectOptionComponent>();\n\n @Input()\n @HostBinding('role')\n private get role() {\n return 'option';\n }\n\n @HostBinding('class')\n get hostClasses() {\n return {\n 'form-multi-select-option': true,\n 'form-multi-selected': this.selected,\n [`form-multi-select-option-with-${this.optionsStyle}`]: !!this.optionsStyle,\n disabled: this.disabled,\n 'd-none': !this.visible,\n active: this.active,\n focused: this.#focused\n };\n }\n\n @HostBinding('attr.tabindex')\n private get tabIndex() {\n // return this.disabled || !this._active ? -1 : 0;\n return (this.disabled || !this.visible) ? -1 : this.#tabIndex;\n }\n\n private set tabIndex(tabindex) {\n this.#tabIndex = tabindex;\n }\n\n #tabIndex: number = -1;\n\n @HostBinding('attr.disabled')\n @HostBinding('attr.aria-disabled')\n private get ariaDisabled() {\n return this.disabled || null;\n }\n\n @HostBinding('attr.aria-selected')\n private get ariaSelected() {\n return this.#ariaSelected;\n }\n\n private set ariaSelected(selected) {\n setTimeout(() => {\n this.#ariaSelected = selected || undefined;\n });\n }\n\n #ariaSelected: boolean | undefined = undefined;\n\n @HostListener('keydown', ['$event'])\n onKeyDown($event: KeyboardEvent): void {\n if (['Space'].includes($event.code)) {\n $event.preventDefault();\n }\n if (['Tab'].includes($event.code)) {\n $event.preventDefault();\n }\n }\n\n @HostListener('blur')\n private onBlur() {\n this.#focused = false;\n }\n\n @HostListener('focus')\n private onFocus() {\n this.#focused = true;\n }\n\n @HostListener('keyup', ['$event'])\n private onKeyUp($event: KeyboardEvent): void {\n if (this.#dropdownVisible) {\n if (['Enter', 'Space'].includes($event.code)) {\n $event.stopImmediatePropagation();\n $event.preventDefault();\n this.selected = this.disabled ? this.selected : !this.selected;\n this.focus('keyboard');\n }\n }\n }\n\n @HostListener('click', ['$event'])\n private onClick($event: MouseEvent): void {\n $event.stopPropagation();\n this.selected = this.disabled ? this.selected : !this.selected;\n this.focus('mouse');\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.hasContent = !!this.contentDiv?.nativeElement.childNodes.length;\n if (!this.hasContent) {\n this.changeDetectorRef.markForCheck();\n }\n });\n\n if (this.text === undefined) {\n const innerText = this.elementRef.nativeElement.textContent.trim() || this.elementRef.nativeElement.innerText.trim();\n this.text = innerText || this.value?.trim() || '...';\n }\n\n if (this.label === undefined) {\n this.label = this.text?.trim() || '...';\n }\n\n if (this.value === undefined) {\n this.value = this.label?.trim() || '...';\n }\n\n setTimeout(() => {\n this.selected = this.multiSelectService.selectionModel.isSelected(this.value) || this.selected;\n });\n }\n\n /** Get the label for this element which is required by the FocusableOption interface. */\n getLabel(): string {\n return <string>(this.label ?? this.value);\n }\n\n focus(origin: FocusOrigin = 'program'): void {\n if (this.#dropdownVisible && !this.disabled) {\n this.focusMonitor.focusVia(this.elementRef.nativeElement, origin, { preventScroll: false });\n this.multiSelectService.focusChange(this);\n this.changeDetectorRef.markForCheck();\n this.focusChange.emit(this);\n }\n }\n\n ngOnDestroy(): void {\n this.#destroy$.next(true);\n this.#destroy$.complete();\n }\n\n private setSubscriptions() {\n\n this.multiSelectService.multiSelectVisible$\n .pipe(takeUntil(this.#destroy$))\n .subscribe(visible => {\n this.#dropdownVisible = visible;\n });\n\n this.#selected$\n .pipe(\n takeUntil(this.#destroy$),\n tap(selected => {\n if (selected) {\n if (this.value && !this.multiSelectService.selectionModel?.isSelected(this.value)) {\n this.multiSelectService.selectionModel?.select(this.value);\n }\n } else {\n if (this.value && this.multiSelectService.selectionModel?.isSelected(this.value)) {\n this.multiSelectService.selectionModel?.deselect(this.value);\n }\n }\n }),\n // delay(0),\n combineLatestWith(this.#value$)\n )\n .subscribe(([selected, value]) => {\n if (selected) {\n if (!this.multiSelectService.selectionModel?.isSelected(this.value)) {\n this.multiSelectService.selectionModel?.select(this.value);\n }\n } else {\n if (this.multiSelectService.selectionModel?.isSelected(this.value)) {\n this.multiSelectService.selectionModel?.deselect(this.value);\n }\n }\n this.ariaSelected = selected;\n this.selectedChange.emit(selected);\n this.changeDetectorRef.markForCheck();\n });\n\n setTimeout(() => {\n this.multiSelectService.selectionModel.changed\n .pipe(\n takeUntil(this.#destroy$),\n filter(change => {\n return change.added.includes(this.value) || change.removed.includes(this.value);\n }),\n tap(change => {\n this.#selected = change.added.includes(this.value);\n this.changeDetectorRef.markForCheck();\n })\n )\n .subscribe();\n });\n\n this.multiSelectService.multiSelectFocus$\n .pipe(\n takeUntil(this.#destroy$),\n distinctUntilChanged()\n )\n .subscribe((option) => {\n this.active = this.value === option.value;\n });\n\n this.#active$\n .pipe(\n takeUntil(this.#destroy$),\n distinctUntilChanged(),\n delay(0)\n )\n .subscribe(active => {\n this.tabIndex = active ? 0 : -1;\n });\n\n this.#value$\n .pipe(\n takeUntil(this.#destroy$),\n distinctUntilChanged(),\n delay(0)\n )\n .subscribe(value => {\n this.#selected = this.multiSelectService.selectionModel?.isSelected(value) || this.selected || false;\n });\n }\n}\n","<div #contentDiv>\n <ng-content></ng-content>\n</div>\n<div *ngIf=\"!hasContent\">\n {{text ?? label ?? value}}\n</div>\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n HostBinding,\n Input,\n OnChanges,\n QueryList,\n SimpleChanges\n} from '@angular/core';\nimport { NgIf } from '@angular/common';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\nimport { MultiSelectOptionComponent } from '../multi-select-option/multi-select-option.component';\nimport { MultiSelectOptgroupLabelComponent } from './multi-select-optgroup-label.component';\n\n@Component({\n selector: 'c-multi-select-optgroup',\n templateUrl: './multi-select-optgroup.component.html',\n styleUrls: ['./multi-select-optgroup.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [MultiSelectOptgroupLabelComponent, NgIf]\n})\nexport class MultiSelectOptgroupComponent implements AfterContentInit, OnChanges {\n\n static ngAcceptInputType_disabled: BooleanInput;\n\n @Input() label?: string;\n\n @Input()\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n get disabled(): boolean {\n return this._disabled;\n }\n\n private _disabled: boolean = false;\n\n @ContentChildren(MultiSelectOptionComponent, { descendants: true }) multiSelectOptions!: QueryList<MultiSelectOptionComponent>;\n\n @HostBinding('class') get hostClasses() {\n return {\n 'form-multi-select-options': true\n };\n }\n\n ngAfterContentInit(): void {\n this.updateMultiSelectOptions();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['disabled']) {\n this.updateMultiSelectOptions();\n }\n }\n\n private updateMultiSelectOptions() {\n this.multiSelectOptions?.forEach((option) => {\n option.disabled = this.disabled || option.disabled;\n });\n }\n}\n","<c-multi-select-optgroup-label *ngIf=\"label\">{{label}}</c-multi-select-optgroup-label>\n<ng-content></ng-content>\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core';\nimport { NgForOf } from '@angular/common';\n\n@Component({\n selector: 'c-multi-select-native-select',\n templateUrl: './multi-select-native-select.component.html',\n styleUrls: ['./multi-select-native-select.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [NgForOf]\n})\nexport class MultiSelectNativeSelectComponent {\n\n @Input() form?: string = '';\n @Input() id?: string = '';\n @Input() multiple?: boolean;\n @Input() name?: string;\n @Input() options?: any;\n @Input() disabled?: boolean;\n\n constructor(\n public changeDetectorRef: ChangeDetectorRef\n ) { }\n}\n","<select [disabled]=\"disabled\" [id]=\"id\" [multiple]=\"multiple\" [name]=\"name\" style=\"display: none\" tabindex=\"-1\">\n <option\n *ngFor=\"let option of options\"\n [attr.selected]=\"option.selected ? '' : null\"\n [disabled]=\"disabled\"\n [label]=\"option.label\"\n [value]=\"option.value\"\n tabindex=\"-1\"\n ></option>\n</select>\n\n","import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { AsyncPipe, NgIf } from '@angular/common';\n\nimport { MultiSelectService } from '../multi-select.service';\nimport { IOption } from '../multi-select.type';\n\n@Component({\n selector: 'c-multi-select-tag',\n templateUrl: './multi-select-tag.component.html',\n styleUrls: ['./multi-select-tag.component.scss'],\n standalone: true,\n imports: [NgIf, AsyncPipe]\n})\nexport class MultiSelectTagComponent {\n\n constructor(\n private multiSelectService: MultiSelectService\n ) { }\n\n public multiselectVisible$ = this.multiSelectService.multiSelectVisible$;\n\n @Input() option?: IOption;\n\n @Input() disabled: boolean = true;\n @Input() label?: string;\n @Input() value?: any;\n\n @Output() remove = new EventEmitter<IOption>();\n\n @HostBinding('class')\n get hostClasses() {\n return {\n 'form-multi-select-tag': true\n };\n }\n\n handleRemove($event: MouseEvent): void {\n $event.stopPropagation();\n if (this.value) {\n this.remove.emit(this.value);\n }\n }\n\n}\n","<!--<ng-template [ngIfElse]=\"elseContent\"-->\n<!-- [ngIf]=\"!!option\">{{label ?? value ?? '???'}}-->\n<!--</ng-template>-->\n<!--<ng-template #elseContent>-->\n<!-- <ng-content></ng-content>-->\n<!--</ng-template>-->\n{{label ?? value ?? '???'}}\n<button (click)=\"handleRemove($event)\" *ngIf=\"!disabled\"\n [disabled]=\"((multiselectVisible$ | async) ?? true) === false\" aria-label=\"Clear\"\n class=\"form-multi-select-tag-delete close\" type=\"button\">\n <span aria-hidden=\"true\">×</span>\n</button>\n","import { AfterViewInit, Directive, ElementRef, EventEmitter, Input, OnDestroy, Output } from '@angular/core';\nimport { BehaviorSubject, fromEvent, Observable, Subject } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, map, takeUntil } from 'rxjs/operators';\n\n@Directive({\n selector: '[cMultiSelectSearch]',\n exportAs: 'cMultiSelectSearch',\n standalone: true\n})\nexport class MultiSelectSearchDirective implements AfterViewInit, OnDestroy {\n\n constructor(\n private readonly elementRef: ElementRef\n ) { }\n\n readonly #value$ = new BehaviorSubject<string>('');\n readonly #destroy$ = new Subject<boolean>();\n #input$!: Observable<string>;\n #value = '';\n\n @Input() delay: number = 300;\n\n @Input()\n set value(value: string) {\n this.#value$.next(value);\n }\n\n @Output() readonly valueChange: EventEmitter<string> = new EventEmitter<string>();\n\n ngAfterViewInit(): void {\n this.setSubscription();\n }\n\n ngOnDestroy(): void {\n this.#destroy$.next(true);\n this.#destroy$.complete();\n }\n\n private setSubscription() {\n\n this.#value$\n .pipe(\n takeUntil(this.#destroy$),\n distinctUntilChanged()\n // debounceTime(this.delay),\n // switchMap(value => this.#input$)\n )\n .subscribe(value => {\n if (this.#value !== value) {\n this.#value = value;\n this.valueChange.emit(value);\n }\n });\n\n this.#input$ = fromEvent<Event>(this.elementRef.nativeElement, 'input')\n .pipe(\n takeUntil(this.#destroy$),\n debounceTime(this.delay),\n map(event => {\n return (event.target as HTMLInputElement).value;\n })\n );\n\n this.#input$\n .pipe(\n takeUntil(this.#destroy$)\n )\n .subscribe((value) => {\n if (value !== this.#value) {\n this.#value$.next(value);\n }\n });\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n IterableDiffer,\n IterableDiffers,\n NgZone,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n Renderer2,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewChildren,\n ViewContainerRef\n} from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { AsyncPipe, I18nPluralPipe, NgClass, NgForOf, NgIf, NgStyle, NgTemplateOutlet } from '@angular/common';\nimport { FocusableOption, FocusKeyManager, FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';\nimport { BooleanInput, coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { CdkFixedSizeVirtualScroll, CdkVirtualForOf, CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\nimport { BehaviorSubject, Observable, Subject, Subscription } from 'rxjs';\nimport {\n combineLatestWith,\n debounceTime,\n delay,\n distinctUntilChanged,\n filter,\n map,\n take,\n takeUntil,\n tap\n} from 'rxjs/operators';\nimport { Modifier, ModifierArguments, Options } from '@popperjs/core';\n\nimport { DropdownComponent, DropdownMenuDirective, DropdownToggleDirective } from '../../dropdown';\nimport { TemplateIdDirective } from '../../shared';\nimport { IMultiSelect, IOption, SearchFn } from '../multi-select.type';\nimport { MultiSelectService } from '../multi-select.service';\nimport { MultiSelectOptionComponent } from '../multi-select-option/multi-select-option.component';\nimport { MultiSelectNativeSelectComponent } from '../multi-select-native-select/multi-select-native-select.component';\nimport { MultiSelectTagComponent } from '../multi-select-tag/multi-select-tag.component';\nimport { MultiSelectSearchDirective } from './multi-select-search.directive';\n\ninterface IPluralMap {\n [k: string]: string;\n}\n\n// @ts-ignore\nexport const observeReferenceModifier: Modifier<string, any> = {\n name: 'observeReferenceModifier', enabled: true, phase: 'main', fn({ state }) {},\n\n effect: ({ state, instance }: ModifierArguments<Options>) => {\n const RO_PROP = '__popperjsRO__';\n const { reference } = state.elements;\n\n // @ts-ignore\n reference[RO_PROP] = new ResizeObserver((entries) => {\n instance.update();\n });\n\n // @ts-ignore\n reference[RO_PROP].observe(reference);\n return () => {\n // @ts-ignore\n reference[RO_PROP].disconnect();\n // @ts-ignore\n delete reference[RO_PROP];\n };\n }\n};\n\n@Component({\n selector: 'c-multi-select',\n templateUrl: './multi-select.component.html',\n styleUrls: ['./multi-select.component.scss'],\n exportAs: 'cMultiSelect',\n providers: [\n MultiSelectService,\n {\n provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => MultiSelectComponent), multi: true\n }\n ],\n standalone: true,\n imports: [\n AsyncPipe,\n I18nPluralPipe,\n NgClass,\n NgIf,\n NgForOf,\n NgStyle,\n NgTemplateOutlet,\n CdkFixedSizeVirtualScroll,\n CdkVirtualScrollViewport,\n CdkVirtualForOf,\n FormsModule,\n MultiSelectTagComponent,\n MultiSelectOptionComponent,\n MultiSelectSearchDirective,\n DropdownComponent,\n DropdownToggleDirective,\n DropdownMenuDirective,\n ]\n})\nexport class MultiSelectComponent implements IMultiSelect, ControlValueAccessor, AfterViewInit, OnChanges, OnDestroy, OnInit {\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n private ngZone: NgZone,\n private changeDetectorRef: ChangeDetectorRef,\n private viewContainerRef: ViewContainerRef,\n private focusMonitor: FocusMonitor,\n private multiSelectService: MultiSelectService,\n private iterableDiffers: IterableDiffers\n ) {\n this.differ = this.iterableDiffers.find(this.#value).create();\n }\n\n private readonly differ!: IterableDiffer<any>;\n\n static ngAcceptInputType_multiple: BooleanInput;\n static ngAcceptInputType_disabled: BooleanInput;\n static ngAcceptInputType_virtualScroller: BooleanInput;\n\n readonly #destroy$ = new Subject<boolean>();\n readonly #optionsReady$ = new Subject<boolean>();\n readonly optionsArray$ = new BehaviorSubject<IOption[]>([]);\n readonly #options: Map<any, IOption> = new Map();\n readonly optionsSelected$ = new BehaviorSubject<IOption[]>([]);\n readonly optionsSelected: Map<any, IOption> = new Map();\n readonly value$ = new BehaviorSubject<string[]>([]);\n\n onChange = (value: any) => {};\n onTouched = () => {};\n\n writeValue(value: (string | string[])): void {\n if (value?.length > 0) {\n this.value = Array.isArray(value) ? [...value] : [value];\n } else {\n this.value = Array(0);\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n /**\n * Enables selection cleaner element\n * @type boolean\n * @default true\n */\n @Input() cleaner = true;\n\n /**\n * Disables multi-select component\n * @type boolean\n * @default false\n */\n @Input() set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = coerceBooleanProperty(value);\n this.setFocusMonitor(!value);\n }\n }\n\n get disabled(): boolean {\n return this._disabled;\n }\n\n private _disabled = false;\n\n /**\n * Specifies that multiple options can be selected at once\n * @type boolean\n * @default false\n */\n @Input() set multiple(value: boolean) {\n this._multiple = coerceBooleanProperty(value);\n }\n\n get multiple(): boolean {\n return this._multiple;\n }\n\n private _multiple = false;\n\n /**\n * Hidden native select form\n * @type string\n * @default ''\n */\n @Input() nativeFormId = '';\n\n /**\n * Hidden native select id\n * @type string\n * @default ''\n */\n @Input() nativeId = '';\n\n /**\n * Hidden native select name\n * @type string\n * @default ''\n */\n @Input() nativeName = '';\n\n /**\n * List of option elements\n * @type IOption[]\n * @default []\n */\n @Input()\n set options(options: IOption[]) {\n if (Array.isArray(options)) {\n this.makeOptions(options);\n }\n }\n\n get options() {\n return [...this.#options.values()];\n }\n\n /**\n * Sets maxHeight of options list in px\n * @type (string | number)\n * @default 'auto'\n */\n @Input() optionsMaxHeight = 'auto';\n\n /**\n * Sets option style\n * @type 'checkbox' | 'text'\n * @default 'checkbox'\n */\n @Input()\n set optionsStyle(value: 'checkbox' | 'text') {\n this.multiSelectService.optionsStyle = value ?? 'checkbox';\n }\n\n /**\n * Specifies a short hint that is visible in the search input\n * @type string\n * @default 'Select...'\n */\n @Input() placeholder = 'Select...';\n\n /**\n * Enables search input element\n * @type boolean | SearchFn | 'external'\n * @default true\n */\n @Input() search: (boolean | 'external' | SearchFn) = true;\n\n /**\n * Sets the label for no results when filtering\n * @type string\n * @default 'no items'\n */\n @Input() searchNoResultsLabel = 'no items';\n\n /**\n * Sets initial search string\n * @type string\n * @default ''\n */\n @Input()\n set searchValue(value) {\n if (this._searchValue !== value.trimStart()) {\n this._searchValue = value.trimStart();\n this.visible = !!this.searchValue.length ? true : this.visible;\n this.filterOptions(this.searchValue);\n this.inputElementSize();\n this.searchValueChange.emit(this._searchValue);\n }\n }\n\n get searchValue() {\n return this._searchValue;\n }\n\n private _searchValue: string = '';\n\n /**\n * Emits searchValue string for external filtering\n * @type string\n */\n @Output() readonly searchValueChange = new EventEmitter<string>();\n\n /**\n * Enables select all button\n * @type boolean\n * @default true\n */\n @Input() selectAll = true;\n\n /**\n * Sets the select all button label\n * @type string\n * @default 'Select all options'\n */\n @Input() selectAllLabel = 'Select all options';\n\n /**\n * Selection type\n * @type 'counter' | 'tags' | 'text'\n * @default 'tags'\n */\n @Input() selectionType: 'counter' | 'tags' | 'text' = 'tags';\n\n /**\n * Counter selection label value\n * @type string\n * @default 'item(s) selected'\n */\n @Input() selectionTypeCounterText: string = 'item(s) selected';\n\n /**\n * Counter selection label plural map for I18nPluralPipe\n * @type IPluralMap\n * @default { '=1': 'item selected', 'other': 'items selected' }\n */\n @Input() selectionTypeCounterTextPluralMap?: IPluralMap = { '=1': 'item selected', 'other': 'items selected' };\n\n /**\n * Size the component small or large.\n * @type 'sm' | 'lg' | undefined\n */\n @Input() size?: 'sm' | 'lg';\n\n /**\n * Initial value of multi-select\n * @type string | string[]\n */\n @Input() set value(value: string | string[]) {\n const newValue = Array.isArray(value) ? [...value] : [value ?? undefined];\n if (this.differ) {\n const changes = this.differ.diff(newValue);\n if (changes) {\n this.#value = [...newValue];\n this.value$.next([...newValue]);\n this.onChange(this.value);\n // this.valueChange.emit(this.value);\n }\n }\n }\n\n get value() {\n const value = this.multiSelectService.selectionModel?.selected ?? [...this.#value];\n return this.multiple ? [...value] : value?.toString() ?? undefined;\n }\n\n #value: string[] = [];\n\n /**\n * Emits valueChange\n * @type string | string[]\n */\n @Output() readonly valueChange = new EventEmitter<string | string[]>();\n\n /**\n * Toggle visual validation feedback.\n * @type boolean | undefined\n * @default undefined\n */\n @Input() valid?: boolean;\n\n /**\n * Enable virtual scroller for options list.\n * @type boolean\n * @default false\n */\n @Input()\n set virtualScroller(value: boolean) {\n this._virtualScroller = coerceBooleanProperty(value);\n }\n\n get virtualScroller() {\n return this._virtualScroller;\n }\n\n private _virtualScroller = false;\n\n /**\n * Amount of visible options, if set - overwrites optionsMaxHeight\n * @type number\n * @default 8\n */\n @Input()\n set visibleItems(value) {\n this._visibleItems = coerceNumberProperty(value || 8);\n this.optionsMaxHeight = ((this.itemSize * this._visibleItems) + 16).toString();\n }\n\n get visibleItems() {\n return this._visibleItems;\n }\n\n private _visibleItems = 8;\n\n /**\n * The size of the option item in the list (in pixels).\n * @type number\n * @default 40\n */\n @Input() itemSize: number = 40;\n\n /**\n * Min width of the options list (in pixels).\n * @type number\n * @default 196\n */\n @Input() itemMinWidth: number = 196;\n\n /**\n * Toggle the visibility of the dropdown select component.\n * @type boolean\n * @default false\n */\n @Input() set visible(value: boolean) {\n const visible = coerceBooleanProperty(value);\n if (visible !== this._visible) {\n this._visible = visible;\n this.multiSelectService.toggleVisible(visible);\n if (!visible) {\n // this.searchValue = '';\n }\n }\n }\n\n get visible() {\n return this._visible;\n }\n\n private _visible = false;\n\n /**\n * Emits visibleChange\n * @type boolean\n */\n @Output() readonly visibleChange = new EventEmitter<boolean>();\n\n /**\n * Optional popper Options object\n * @type Partial<Options>\n */\n @Input('popperOptions') popperjsOptions: Partial<Options> = {\n strategy: 'fixed', modifiers: [observeReferenceModifier, {\n name: 'offset', options: {\n offset: () => this.selectionType === 'tags' && this.optionsSelected.size ? [-2, 8] : [-12, 12]\n }\n }]\n };\n\n isDropdownVisible = false;\n\n get selectedOptions() {\n return [...this.optionsSelected.values()];\n }\n\n get selectedOptionsText() {\n return this.selectedOptions.map(option => option.label).join(', ');\n }\n\n get counterText() {\n return `${this.selectedOptions.length} ${this.selectionTypeCounterText}`;\n }\n\n get counterTextType(): string {\n return typeof this.selectionTypeCounterTextPluralMap ?? typeof this.selectionTypeCounterText;\n };\n\n private focusMonitorSubscription!: Subscription;\n\n @ContentChildren(MultiSelectOptionComponent, { descendants: true }) multiSelectOptionsContent!: QueryList<MultiSelectOptionComponent>;\n @ViewChildren(MultiSelectOptionComponent) multiSelectOptionsView!: QueryList<MultiSelectOptionComponent>;\n @ViewChildren('scrollViewport') scrollViewportView!: QueryList<CdkVirtualScrollViewport>;\n @ViewChild('options') optionsElementRef!: ElementRef;\n\n protected scrollViewport!: CdkVirtualScrollViewport;\n\n protected templates: { [id: string]: TemplateRef<any> } = {};\n @ContentChildren(TemplateIdDirective, { descendants: true }) contentTemplates!: QueryList<TemplateIdDirective>;\n\n private listKeyManager!: FocusKeyManager<MultiSelectOptionComponent>;\n\n @ViewChild('inputElement') inputElement!: ElementRef;\n @ViewChild('dropdownMenu') dropdownMenu!: ElementRef;\n @ViewChild(DropdownComponent, { read: ElementRef }) dropdown!: ElementRef;\n @ViewChild(DropdownToggleDirective, { read: ElementRef }) dropdownToggle!: ElementRef;\n\n @HostBinding('class')\n get hostClasses() {\n return {\n disabled: this.disabled\n };\n }\n\n get multiselectClasses() {\n return {\n 'form-multi-select': true,\n 'form-multi-select-selection-tags': this.selectionType === 'tags' && this.optionsSelected.size > 0,\n [`form-multi-select-${this.size}`]: !!this.size,\n 'form-multi-select-with-cleaner': this.cleaner,\n show: this.visible,\n disabled: this.disabled,\n 'is-valid': this.valid === true,\n 'is-invalid': this.valid === false\n };\n }\n\n @HostBinding('attr.aria-multiselectable')\n private get ariaMultiSelectable() {\n return this.multiple;\n }\n\n @HostBinding('attr.tabindex')\n private get tabIndex() {\n return this._tabIndex;\n }\n\n private set tabIndex(value) {\n setTimeout(() => {\n this._tabIndex = this.disabled || this.search ? -1 : value === null ? null : 0;\n });\n }\n\n private _tabIndex: number | null = -1;\n\n @HostListener('keyup', ['$event']) onKeyUp($event: KeyboardEvent): void {\n if (this.disabled) {\n return;\n }\n this.onTouched();\n const targetTagName = ($event.target as HTMLElement).tagName;\n if ($event.key === 'Escape') {\n this.visible = false;\n this.searchValue = '';\n this.setFocus('keyboard', 'onKeyUp');\n return;\n }\n if (['Enter', 'Space', 'ArrowDown'].includes($event.code) && [this.inputElement?.nativeElement, this.elementRef.nativeElement].includes($event.target)) {\n $event.stopPropagation();\n this.visible = true;\n if (!this.search) {\n this.setFocus('keyboard', 'onKeyUp');\n }\n return;\n }\n\n if (['Tab'].includes($event.key)) {\n\n if ($event.target === this.elementRef.nativeElement) {\n this.visible = true;\n if (!this.search) {\n this.setFocus('keyboard', 'onKeyUp');\n }\n this.tabTarget = targetTagName;\n return;\n }\n\n if (this.visible && this.subtreeFocused) {\n if (targetTagName === 'C-MULTI-SELECT-OPTION') {\n\n if (this.tabTarget === 'C-MULTI-SELECT-OPTION') {\n if ($event.shiftKey && this.listKeyManager.activeItem?.value === this.options.filter(option => option.visible && !option.disabled).slice(0)[0].value) {\n this.setFocus('keyboard', 'onKeyUp');\n this.tabTarget = targetTagName;\n return;\n }\n\n if (!$event.shiftKey && this.listKeyManager.activeItem?.value === this.options.filter(option => option.visible && !option.disabled).slice(-1)[0].value) {\n this.setFocus('keyboard', 'onKeyUp');\n this.tabTarget = targetTagName;\n this.updateActiveItem(0);\n return;\n }\n }\n\n if (!this.listKeyManager.activeItem || this.tabTarget !== targetTagName) {\n if (this.activeOption) {\n this.listKeyManager.setActiveItem(this.activeOption);\n } else {\n this.setFirstItemActive();\n }\n } else {\n $event.shiftKey ? this.listKeyManager.setPreviousItemActive() : this.listKeyManager.setNextItemActive();\n }\n }\n this.tabTarget = targetTagName;\n return;\n }\n }\n }\n\n @HostListener('keydown', ['$event']) onKeyDown($event: KeyboardEvent) {\n const targetTagName = ($event.target as HTMLElement).tagName;\n if ($event.key === 'Enter' && targetTagName === 'INPUT') {\n $event.preventDefault();\n }\n if ($event.key === 'Tab') {\n this.tabTarget = targetTagName;\n return;\n }\n if ($event.key === 'ArrowDown' && targetTagName !== 'C-MULTI-SELECT-OPTION') {\n $event.preventDefault();\n return;\n }\n if ($event.key === 'Escape') {\n this.visible = false;\n this.searchValue = '';\n this.setFocus('keyboard', 'onKeyUp');\n return;\n }\n if (this.disabled) {\n return;\n }\n // avoid setting focus to option while on input element\n if ($event.target === this.inputElement.nativeElement) {\n return;\n }\n if ($event.key !== 'Tab') {\n this.listKeyManager?.onKeydown($event);\n }\n }\n\n @HostListener('click', ['$event'])\n onClick($event: MouseEvent): void {\n if (this.disabled) {\n return;\n }\n if ([this.dropdown.nativeElement].includes($event.target)) {\n this.visible = !this.visible;\n } else {\n this.visible = true;\n }\n this.onTouched();\n this.setFocus('mouse', 'onClick');\n }\n\n public visibleOptions = 0;\n\n get subtreeFocused() {\n return this._subtreeFocused;\n }\n\n set subtreeFocused(focused: boolean) {\n this._subtreeFocused = this.disabled ? false : focused;\n if (!focused) {\n this.searchValue = '';\n }\n if (!this.virtualScroller) {\n this.visible = focused === false ? false : this.visible;\n }\n }\n\n private _subtreeFocused = this.focusOrigin(null);\n\n private nativeSelectRef!: any;\n\n focusOrigin(origin: FocusOrigin): boolean {\n if (this.disabled) {\n return false;\n }\n return !!origin;\n }\n\n ngOnInit(): void {\n\n this.multiSelectService.setSelectionModel(this.multiple);\n\n this.multiSelectService.selectionModel.changed\n .pipe(\n takeUntil(this.#destroy$),\n filter(() => !this.multiple),\n delay(0),\n tap(change => {\n if (change.added.length) {\n // close dropdown for single select (!multiple)\n this.visible = false;\n this.searchValue = '';\n }\n })\n )\n .subscribe();\n\n this.multiSelectService.selectionModel.changed\n .pipe(\n takeUntil(this.#destroy$),\n // delay(0),\n combineLatestWith(this.#optionsReady$),\n tap(([change, ready]) => {\n const { added, removed } = { ...change };\n // added.forEach(key => {\n // const value = this.#options.get(key);\n // if (value) {\n // this.optionsSelected.set(key, value);\n // }\n // });\n removed.forEach(value => {\n this.optionsSelected.delete(value);\n });\n this.multiSelectService.selectionModel.selected.forEach(key => {\n const value = this.#options.get(key);\n if (value) {\n this.optionsSelected.set(key, value);\n }\n });\n\n this.optionsSelected$.next(Array.from(this.optionsSelected.values()));\n this.value = [...this.multiSelectService.selectionModel.selected];\n\n this.inputElementSize();\n this.updateNativeSelect();\n })\n )\n .subscribe();\n\n // set initial values\n this.multiSelectService.selectionModel.select(...this.#value);\n\n this.value$\n .pipe(\n takeUntil(this.#destroy$)\n )\n .subscribe(value => {\n if (!value.length) {\n this.clearAllOptions();\n return;\n }\n\n value.forEach(value => {\n this.multiSelectService.selectionModel.select(value);\n });\n });\n\n this.value$\n .pipe(\n takeUntil(this.#destroy$),\n debounceTime(100),\n tap(value => {\n this.valueChange.emit(this.value);\n })\n )\n .subscribe();\n\n this.optionsArray$\n .pipe(\n takeUntil(this.#destroy$),\n tap(options => {\n this.visibleOptions = options.filter((item) => item.visible).length;\n this.activeOption = null;\n\n if (this.virtualScroller) {\n this.multiSelectOptionsContent?.forEach(option => {\n option.active = false;\n });\n this.scrollViewport?.setRenderedRange({ start: 0, end: this.visibleItems });\n this.scrollViewport?.scrollToIndex(0);\n } else {\n this.multiSelectOptionsContent?.forEach(option => {\n const found = options.find(item => item.value === option.value);\n option.visible = found?.visible ?? false;\n option.active = false;\n });\n const firstFocusable = this.firstFocusableItem;\n if (firstFocusable) {\n this.updateActiveItem(firstFocusable);\n }\n }\n if (!this.activeOption) {\n setTimeout(() => {\n this.updateActiveItem(0);\n });\n }\n this.multiSelectOptionsContent?.notifyOnChanges();\n // console.log('=> optionsArray$', options.length);\n })\n )\n .subscribe();\n\n this.tabIndex = 0;\n }\n\n ngOnDestroy(): void {\n this.#destroy$.next(true);\n this.#destroy$.complete();\n this.setFocusMonitor(false);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['value']) {\n const valueChanges = changes['value'];\n if (valueChanges.currentValue.length === 0) {\n this.clearAllOptions();\n }\n this.inputElementSize();\n }\n }\n\n makeOptions(options: IOption[]) {\n\n if (this.search === 'external' && this.searchValue.length) {\n this.#options.forEach((value, key) => {\n value.visible = false;\n });\n }\n\n options.forEach(option => {\n const key = option.value;\n const value = {\n value: option.value ?? option.label,\n label: option.label ?? option.value,\n disabled: option.disabled === true,\n visible: this.search === 'external' ? true : option.visible !== false,\n text: option.text ?? option.label ?? option.value,\n selected: option.selected\n // selected: this.multiSelectService.selectionModel.isSelected(option.value),\n // id: option.id\n };\n this.#options.set(key, { ...value });\n });\n\n this.filterOptions(this.searchValue);\n\n this.#optionsReady$.next(true);\n // console.log('makeOptions', this.#options.size);\n this.multiSelectOptionsContent?.notifyOnChanges();\n }\n\n ngAfterViewInit(): void {\n\n this.setVirtualScroller();\n\n this.multiSelectOptionsContent?.changes\n .pipe(\n takeUntil(this.#destroy$),\n delay(0),\n distinctUntilChanged((previous: QueryList<MultiSelectOptionComponent>, current) => {\n const prev = previous.toArray().map(option => option.value);\n const curr = current.toArray().map(option => option.value);\n return JSON.stringify(prev) === JSON.stringify(curr);\n })\n )\n .subscribe(next => {\n this.visibleOptions = this.multiSelectOptionsContent?.filter((option) => option.visible).length;\n if (this.visibleOptions) {\n this.makeOptions(this.multiSelectOptionsContent.toArray());\n }\n });\n\n this.visibleOptions = this.multiSelectOptionsContent?.length;\n if (this.visibleOptions) {\n this.multiSelectOptionsContent.notifyOnChanges();\n }\n\n this.multiselectSubscribe();\n\n this.setFocusMonitor(!this.disabled);\n\n this.setListKeyManager();\n\n this.inputElementSize();\n\n this.multiSelectOptionsContent.notifyOnChanges();\n\n setTimeout(() => {\n this.createNativeSelect();\n });\n\n this.multiSelectService.multiSelectFocus$\n .pipe(takeUntil(this.#destroy$))\n .subscribe((option: any) => {\n if (this.activeOption?.value !== option.value) {\n this.listKeyManager.setActiveItem(option);\n }\n }\n );\n }\n\n private tabTarget!: string;\n\n private multiselectSubscribe(subscribe: boolean = true) {\n\n this.multiSelectService.multiSelectVisible$\n .pipe(\n takeUntil(this.#destroy$),\n debounceTime(100),\n distinctUntilChanged()\n )\n .subscribe((visible) => {\n if (this.isDropdownVisible !== visible) {\n this.isDropdownVisible = visible;\n this.visibleChange.emit(visible);\n if (!visible) {\n } else {\n if (this.virtualScroller) {\n this.scrollViewport?.setRenderedRange({ start: 0, end: this.visibleItems });\n this.scrollViewport?.scrollToIndex(0);\n }\n }\n this.multiSelectOptionsContent.notifyOnChanges();\n }\n this.updateActiveItem(0);\n });\n\n }\n\n clearAllOptions($event?: MouseEvent) {\n setTimeout(() => {\n const enabledOptions = Array.from(this.optionsSelected.values()).filter(option => !option.disabled).map(option => option.value);\n this.multiSelectService.selectionModel.deselect(...enabledOptions);\n });\n\n this.searchValue = '';\n if ($event) {\n this.setFocus('program', 'clearAllOptions');\n }\n }\n\n selectAllOptions() {\n const enabledOptions = Array.from(this.#options.values()).filter(option => option.visible && !option.disabled).map(option => option.value);\n this.multiSelectService.selectionModel.select(...enabledOptions);\n this.inputElementSize();\n }\n\n handleTagRemove(value: any) {\n this.multiSelectService.selectionModel.deselect(value);\n this.setFocus('program', 'handleTagRemove');\n }\n\n setFocus(origin: FocusOrigin = 'program', methodName?: string) {\n if (this.disabled) {\n return;\n }\n const element = <HTMLElement>(this.inputElement.nativeElement ?? this.elementRef.nativeElement);\n const preventScroll = origin === 'program';\n this.focusMonitor?.focusVia(element, origin, { preventScroll: preventScroll });\n // console.log('setFocus', origin, methodName, 'preventScroll:', preventScroll, element.tagName);\n }\n\n filterOptions(value: string) {\n const searchString = value.toLowerCase() ?? '';\n this.#options.forEach((item, index) => {\n if (searchString === '') {\n item.visible = true;\n return;\n }\n if (typeof this.search === 'function') {\n item.visible = this.search(item, searchString);\n return;\n }\n if (this.search === 'external' || !searchString) {\n // item.visible = true;\n return;\n }\n item.visible = item.label?.toLowerCase().includes(searchString) ?? true;\n });\n this.optionsArray$.next(Array.from(this.#options.values()).filter((item) => item.visible));\n\n }\n\n createNativeSelect() {\n if (!this.nativeId) {\n return;\n }\n this.viewContainerRef.clear();\n this.nativeSelectRef = this.viewContainerRef.createComponent(MultiSelectNativeSelectComponent);\n this.updateNativeSelect();\n }\n\n updateNativeSelect() {\n if (!this.nativeSelectRef || !this.nativeId) {\n return;\n }\n const options = Array.from(this.optionsSelected).map(item => {\n const { selected, value, label } = item[1];\n return { selected, value, label };\n });\n\n this.nativeSelectRef.instance.multiple = this.multiple;\n this.nativeSelectRef.instance.form = this.nativeFormId;\n this.nativeSelectRef.instance.id = this.nativeId;\n this.nativeSelectRef.instance.name = this.nativeName;\n this.nativeSelectRef.instance.options = [...options];\n this.nativeSelectRef.instance.disabled = this.disabled;\n this.nativeSelectRef.instance.changeDetectorRef.markForCheck();\n }\n\n inputElementSize() {\n setTimeout(() => {\n if (this.inputElement) {\n if ((this.optionsSelected.size > 0 || this.selectionType === 'counter') && !this.inputElement.nativeElement?.disabled) {\n this.renderer.setAttribute(this.inputElement.nativeElement, 'size', (this.searchValue.length + 2).toString());\n } else {\n this.renderer.removeAttribute(this.inputElement.nativeElement, 'size');\n }\n }\n });\n }\n\n handleSearchKeyDown($event: KeyboardEvent) {\n if (this.searchValue.length || this.optionsSelected.size === 0) {\n return;\n }\n\n if (['Backspace', 'Delete'].includes($event.key)) {\n $event.stopPropagation();\n const last = this.selectedOptions.filter(option => !option.disabled).pop();\n if (last) {\n this.multiSelectService.selectionModel.deselect(last.value);\n }\n }\n }\n\n private setFocusMonitor(monitor: boolean) {\n if (monitor && !this.disabled) {\n this.focusMonitorSubscription = this.focusMonitor?.monitor(this.elementRef, true)\n .pipe(\n // to avoid focus lost on speed scrolling with virtualScroll\n debounceTime(100)\n )\n .subscribe((origin) => {\n this.ngZone.run(() => {\n this.subtreeFocused = this.focusOrigin(origin);\n this.changeDetectorRef?.markForCheck();\n });\n });\n } else {\n this.focusMonitor?.stopMonitoring(this.elementRef);\n this.focusMonitorSubscription?.unsubscribe();\n }\n }\n\n activeOption: (FocusableOption & MultiSelectOptionComponent) | null = null;\n\n handleScrolledIndexChange(scrolledIndex: number, scrollViewport: CdkVirtualScrollViewport) {\n\n if (!this.scrollViewport) {\n this.scrollViewport = scrollViewport;\n }\n\n const availableOptions = this.options.filter(option => option.visible);\n const firstVisibleOption = availableOptions[scrolledIndex];\n const activeOptionIndex = availableOptions.findIndex(option => option.value === this.activeOption?.value);\n const optionsArray = this.multiSelectOptionsContent.toArray();\n\n if (scrolledIndex > activeOptionIndex) {\n const firstVisibleItem = optionsArray.find(option => option.value === firstVisibleOption?.value);\n if (firstVisibleItem && scrolledIndex) {\n this.listKeyManager.setActiveItem(firstVisibleItem);\n }\n return;\n }\n\n if (scrolledIndex + this.visibleItems - 2 <= activeOptionIndex) {\n const lastVisibleItem = optionsArray.findIndex(option => option.value === firstVisibleOption.value);\n if (lastVisibleItem > -1) {\n this.listKeyManager.setActiveItem(lastVisibleItem + this.visibleItems - 2);\n }\n return;\n }\n\n }\n\n trackByFn(index: number, option: IOption) {\n return option.value;\n }\n\n handleSearchValueChange(searchValue: string) {\n this.searchValue = searchValue;\n if (!searchValue) {\n this.scrollViewport?.scrollToIndex(0);\n this.multiSelectOptionsContent.notifyOnChanges();\n }\n }\n\n private setVirtualScroller() {\n\n if (!this.virtualScroller) {\n return;\n }\n\n // multiSelectOptionTemplate for virtualScroller\n this.contentTemplates.forEach((child: TemplateIdDirective) => {\n this.templates[child.id] = child.templateRef;\n });\n\n // if no template found, get defaultMultiSelectOptionTemplate from view\n if (!this.templates['multiSelectOptionTemplate']) {\n this.multiSelectOptionsContent = this.multiSelectOptionsView;\n }\n\n // multiSelectOptionsContent gets out of order on changes\n // do sort() and reset()\n const indexOfOption = (option: MultiSelectOptionComponent) => {\n return [...option.elementRef.nativeElement.parentElement.children]?.indexOf(option.elementRef.nativeElement);\n };\n\n const optionsChange$: Observable<QueryList<MultiSelectOptionComponent>> = this.multiSelectOptionsContent.changes;\n\n const sortedOptions$ = optionsChange$.pipe(\n takeUntil(this.#destroy$),\n map(options => options.toArray()),\n filter(options => options.length > 0),\n map(options => options.sort((a, b) => indexOfOption(a) - indexOfOption(b)))\n );\n\n sortedOptions$\n .pipe(takeUntil(this.#destroy$))\n .subscribe(sortedOptions => {\n return this.multiSelectOptionsContent.reset(sortedOptions);\n });\n\n this.scrollViewportView.changes\n .pipe(\n takeUntil(this.#destroy$),\n take(1),\n map(changes => changes.toArray()[0]),\n tap((scrollViewport) => {\n if (!this.scrollViewport) {\n this.scrollViewport = scrollViewport;\n\n const cdkVirtualScrollContentWrapper = this.scrollViewport.getElementRef().nativeElement?.firstElementChild;\n if (cdkVirtualScrollContentWrapper) {\n\n const style = getComputedStyle(cdkVirtualScrollContentWrapper, null);\n const padding = parseInt(style.getPropertyValue('padding-left') ?? '12px') * 3;\n\n const observer = new MutationObserver((mutationRecords) => {\n mutationRecords.forEach(child => {\n child.addedNodes.forEach(node => {\n if (node.nodeName === 'C-MULTI-SELECT-OPTION') {\n const width = (node as HTMLElement).offsetWidth;\n if (width > this.itemMinWidth) {\n this.itemMinWidth = width + padding;\n }\n }\n });\n });\n });\n\n observer.observe(cdkVirtualScrollContentWrapper, { childList: true });\n\n this.#destroy$.subscribe(() => {\n observer.disconnect();\n });\n }\n }\n }\n )\n )\n .subscribe();\n }\n\n private setListKeyManager() {\n\n // run once on multiSelectOptionsContent first set\n this.multiSelectOptionsContent.changes\n .pipe(\n takeUntil(this.#destroy$),\n take(1)\n )\n .subscribe(change => {\n\n this.listKeyManager = new FocusKeyManager(this.multiSelectOptionsContent)\n .withHomeAndEnd()\n .skipPredicate((option) => (option.disabled || !option.visible));\n\n if (!this._virtualScroller) {\n this.listKeyManager.withTypeAhead(300);\n }\n\n this.listKeyManager.change\n .pipe(\n takeUntil(this.#destroy$)\n )\n .subscribe(change => {\n if (change < 0) {\n this.activeOption ? this.listKeyManager.setActiveItem(this.activeOption) : this.setFirstItemActive();\n }\n if (this.listKeyManager.activeItem) {\n this.listKeyManager.activeItem.active = true;\n }\n this.activeOption = this.listKeyManager.activeItem;\n this.multiSelectOptionsContent.notifyOnChanges();\n });\n\n if (!this.listKeyManager.activeItem) {\n this.setFirstItemActive();\n }\n });\n }\n\n get firstFocusableItem() {\n return this.multiSelectOptionsContent?.find(option => option.visible && !option.disabled);\n }\n\n private setFirstItemActive() {\n const firstFocusableItem = this.firstFocusableItem;\n firstFocusableItem ? this.listKeyManager?.setActiveItem(firstFocusableItem) : this.listKeyManager?.setFirstItemActive();\n this.activeOption = this.listKeyManager?.activeItem ?? null;\n }\n\n updateActiveItem(index: number): void;\n\n updateActiveItem<T extends (MultiSelectOptionComponent & FocusableOption)>(item: T): void;\n\n updateActiveItem(item: any) {\n const firstFocusableItem = this.firstFocusableItem ?? item;\n firstFocusableItem ? this.listKeyManager?.updateActiveItem(firstFocusableItem) : this.listKeyManager?.updateActiveItem(0);\n if (this.listKeyManager?.activeItem) {\n this.multiSelectOptionsContent?.forEach(option => {\n option.active = false;\n });\n this.listKeyManager.activeItem.active = true;\n }\n this.activeOption = this.listKeyManager?.activeItem ?? null;\n }\n}\n","<c-dropdown #dropdown=\"cDropdown\"\n [(visible)]=\"visible\"\n [autoClose]=\"'outside'\"\n [ngClass]=\"multiselectClasses\"\n [popperOptions]=\"popperjsOptions\"\n class=\"picker\">\n <div #dropdownToggle=\"cDropdownToggle\" [caret]=\"false\" [disabled]=\"disabled\" cDropdownToggle>\n <div class=\"form-multi-select-selection\">\n <ng-template [ngIf]=\"selectionType === 'tags'\">\n <ng-container *ngIf=\"(optionsSelected$ | async) as optionTags\">\n <c-multi-select-tag\n (remove)=\"handleTagRemove($event)\"\n *ngFor=\"let option of optionTags; index as i\"\n [disabled]=\"option.disabled ?? false\"\n [label]=\"option.label\"\n [option]=\"option\"\n [value]=\"option.value\"\n class=\"form-multi-select-tag\"\n tabindex=\"-1\">\n </c-multi-select-tag>\n </ng-container>\n </ng-template>\n <ng-template [ngIf]=\"selectionType === 'text' && !!selectedOptionsText\">\n <span class=\"form-multi-select-search\">{{ selectedOptionsText }}</span>\n </ng-template>\n <ng-template [ngIf]=\"selectionType === 'counter'\">\n <span *ngIf=\"counterTextType === 'string'; else pluralMap\">{{ counterText }}</span>\n <ng-template #pluralMap>\n <span>{{selectedOptions.length}} {{ selectedOptions.length | i18nPlural: selectionTypeCounterTextPluralMap ?? { other: counterText } }}</span>\n </ng-template>\n </ng-template>\n <!-- <ng-template [ngIf]=\"!search && selectedOptions.length === 0 && selectionType !== 'counter'\">-->\n <!-- <span class=\"form-multi-select-search\">{{ placeholder }}</span>-->\n <!-- </ng-template>-->\n </div>\n\n <input\n #inputElement\n (keydown)=\"handleSearchKeyDown($event)\"\n (valueChange)=\"handleSearchValueChange($event)\"\n [attr.placeholder]=\"optionsSelected.size === 0 && selectionType !== 'counter' ? placeholder : null\"\n [disabled]=\"disabled || !search\"\n [ngClass]=\"{ 'form-multi-select-search': true, disabled: (disabled || !search) }\"\n [ngModel]=\"searchValue\"\n [value]=\"searchValue\"\n autocomplete=\"off\"\n cMultiSelectSearch\n size=\"3\"\n tabindex=\"{{ disabled ? -1 : 0 }}\"\n type=\"text\"\n >\n\n <button\n (click)=\"clearAllOptions($event)\"\n *ngIf=\"cleaner && optionsSelected.size > 0 && !disabled\"\n [disabled]=\"disabled || !isDropdownVisible\"\n aria-label=\"Clear all\"\n class=\"form-multi-select-selection-cleaner\"\n ></button>\n </div>\n <div #dropdownMenu=\"cDropdownMenu\" *ngIf=\"!disabled\" [visible]=\"dropdown.visible\" cDropdownMenu>\n <ng-template [ngIfElse]=\"optionsEmpty\" [ngIf]=\"visibleOptions > 0 && options.length > 0\">\n <button (click)=\"selectAllOptions()\"\n *ngIf=\"selectAll && multiple && !virtualScroller\"\n class=\"form-multi-select-all\"\n >\n {{ selectAllLabel }}\n </button>\n <ng-container\n *ngTemplateOutlet=\"virtualScroller ? multiselectVirtualScroller : multiselectOptionsDiv\"></ng-container>\n </ng-template>\n <ng-template #optionsEmpty>\n <div class=\"form-multi-select-options-empty\">{{ searchNoResultsLabel }}</div>\n </ng-template>\n </div>\n</c-dropdown>\n\n<ng-template #multiselectVirtualScroller>\n <cdk-virtual-scroll-viewport\n #scrollViewport\n (scrolledIndexChange)=\"handleScrolledIndexChange($event, scrollViewport)\"\n *ngIf=\"optionsArray$ | async as optionsArray\"\n [itemSize]=\"itemSize\"\n [ngStyle]=\"optionsMaxHeight !== 'auto' ? { 'height.px': optionsMaxHeight, 'maxHeight.px': optionsMaxHeight, 'minWidth.px': itemMinWidth ?? 196, overflowX: 'hidden' } : { 'minWidth.px': itemMinWidth ?? 196, overflowX: 'hidden'}\"\n maxBufferPx=\"{{itemSize * visibleItems}}\"\n minBufferPx=\"{{itemSize * visibleItems}}\"\n >\n <ng-container\n #cdkVirtualFor\n *cdkVirtualFor=\"let option of optionsArray; trackBy: trackByFn; templateCacheSize: 0; even as even; odd as odd; index as index; count as count; first as first; last as last;\"\n [ngTemplateOutletContext]=\"{$implicit: option, even, odd, index, count, first, last}\"\n [ngTemplateOutlet]=\"templates['multiSelectOptionTemplate'] || defaultMultiSelectOptionTemplate\"\n >\n </ng-container>\n </cdk-virtual-scroll-viewport>\n\n</ng-template>\n\n<ng-template #multiselectOptionsDiv>\n <div\n [ngStyle]=\"optionsMaxHeight !== 'auto' ? { 'maxHeight.px': optionsMaxHeight, overflowY: 'scroll' } : {}\"\n class=\"form-multi-select-options\"\n >\n <ng-content></ng-content>\n </div>\n</ng-template>\n\n<ng-template #defaultMultiSelectOptionTemplate let-option>\n <c-multi-select-option\n [disabled]=\"option.disabled\"\n [label]=\"option.label\"\n [selected]=\"option.selected\"\n [text]=\"option.text\"\n [value]=\"option.value\"\n [visible]=\"option.visible\"\n >\n {{option.text}}\n </c-multi-select-option>\n</ng-template>\n","import { NgModule } from '@angular/core';\n\nimport { MultiSelectService } from './multi-select.service';\nimport { MultiSelectComponent } from './multi-select/multi-select.component';\nimport { MultiSelectOptionComponent } from './multi-select-option/multi-select-option.component';\nimport { MultiSelectOptgroupComponent } from './multi-select-optgroup/multi-select-optgroup.component';\nimport { MultiSelectOptgroupLabelComponent } from './multi-select-optgroup/multi-select-optgroup-label.component';\n\n@NgModule({\n imports: [\n MultiSelectComponent,\n MultiSelectOptionComponent,\n MultiSelectOptgroupComponent,\n MultiSelectOptgroupLabelComponent\n ],\n exports: [\n MultiSelectComponent,\n MultiSelectOptionComponent,\n MultiSelectOptgroupComponent,\n MultiSelectOptgroupLabelComponent\n ],\n providers: [MultiSelectService]\n})\nexport class MultiSelectModule {\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\n@Directive({\n selector: '[cNavLink]',\n standalone: true\n})\nexport class NavLinkDirective {\n\n static ngAcceptInputType_cNavLink: BooleanInput;\n static ngAcceptInputType_disabled: BooleanInput;\n\n /**\n * Sets .nav-link class to the host. [docs]\n * @type boolean\n * @default true\n */\n @Input()\n set cNavLink(value: boolean) {\n this._cNavLink = coerceBooleanProperty(value);\n };\n get cNavLink() {\n return this._cNavLink;\n }\n private _cNavLink = true\n\n /**\n * Toggle the active state for the component. [docs]\n * @type boolean\n */\n @Input() active?: boolean;\n /**\n * Set disabled attr for the host element. [docs]\n * @type boolean\n */\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n private _disabled = false;\n\n @HostBinding('attr.aria-current')\n get ariaCurrent(): string | null {\n return this.active ? 'page' : null;\n }\n\n @HostBinding('attr.aria-disabled')\n get isDisabled(): boolean | null {\n return this.disabled || null;\n }\n\n @HostBinding('attr.disabled')\n get attrDisabled () {\n return this.disabled ? '' : null;\n };\n\n @HostBinding('attr.tabindex')\n get getTabindex(): string | null {\n return this.disabled ? '-1' : null;\n }\n\n @HostBinding('style.cursor')\n get getCursorStyle(): string | null {\n return this.disabled ? null : 'pointer';\n }\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'nav-link': this.cNavLink,\n disabled: this.disabled,\n active: this.active\n };\n }\n}\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'c-nav-item',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./nav-item.component.scss'],\n standalone: true\n})\nexport class NavItemComponent {\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'nav-item': true\n };\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'c-nav',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./nav.component.scss'],\n standalone: true\n})\nexport class NavComponent {\n /**\n * Specify a layout type for component.\n * @type {'fill' | 'justified'}\n */\n @Input() layout?: 'fill' | 'justified';\n /**\n * Set the nav variant to tabs or pills.\n * @type {'tabs' | 'pills' | 'underline'}\n */\n @Input() variant?: '' | 'tabs' | 'pills' | 'underline';\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n nav: true,\n [`nav-${this.layout}`]: !!this.layout,\n [`nav-${this.variant}`]: !!this.variant\n };\n }\n}\n","import { NgModule } from '@angular/core';\nimport { NavComponent } from './nav.component';\nimport { NavItemComponent } from './nav-item.component';\nimport { NavLinkDirective } from './nav-link.directive';\n\n@NgModule({\n imports: [\n NavComponent,\n NavItemComponent,\n NavLinkDirective\n ],\n exports: [\n NavComponent,\n NavItemComponent,\n NavLinkDirective\n ]\n})\nexport class NavModule {}\n","import { AfterContentInit, Component, ContentChild, ElementRef, HostBinding, Input } from '@angular/core';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport { BreakpointObserver } from '@angular/cdk/layout';\n\nimport { CollapseDirective } from '../collapse';\nimport { Colors } from '../coreui.types';\n\n// todo: fix container prop issue not rendering children\n// todo: workaround - use <c-container> component directly in template\n\n@Component({\n selector: 'c-navbar',\n templateUrl: './navbar.component.html',\n standalone: true,\n imports: [NgClass, NgTemplateOutlet]\n})\nexport class NavbarComponent implements AfterContentInit {\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @type Colors\n */\n @Input() color?: Colors;\n /**\n * Sets if the color of text should be colored for a light or dark dark background.\n */\n @Input() colorScheme?: 'dark' | 'light' = 'light';\n /**\n * Defines optional container wrapping children elements.\n */\n @Input() container?: boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'fluid';\n /**\n * Defines the responsive breakpoint to determine when content collapses.\n */\n @Input() expand?: boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';\n /**\n * Place component in non-static positions.\n */\n @Input() placement?: 'fixed-top' | 'fixed-bottom' | 'sticky-top';\n\n @ContentChild(CollapseDirective) collapse!: CollapseDirective;\n\n @HostBinding('attr.role')\n @Input() role = 'navigation';\n\n constructor(\n private hostElement: ElementRef,\n private breakpointObserver: BreakpointObserver\n ) {}\n\n @HostBinding('class')\n get hostClasses(): any {\n const expandClassSuffix: string = this.expand === true ? '' : `-${this.expand}`;\n return {\n navbar: true,\n 'navbar-light': this.colorScheme === 'light',\n 'navbar-dark': this.colorScheme === 'dark',\n [`navbar-expand${expandClassSuffix}`]: !!this.expand,\n [`bg-${this.color}`]: !!this.color,\n [`${this.placement}`]: !!this.placement\n };\n }\n\n get containerClass(): string {\n return `container${this.container !== true ? '-' + this.container : ''}`;\n }\n\n get breakpoint(): string | boolean {\n if (typeof this.expand === 'string') {\n return getComputedStyle(this.hostElement.nativeElement).getPropertyValue(`--cui-breakpoint-${this.expand}`);\n }\n return false;\n }\n\n ngAfterContentInit(): void {\n if (this.breakpoint) {\n const onBreakpoint = `(min-width: ${this.breakpoint})`;\n this.breakpointObserver.observe([onBreakpoint]).subscribe(result => {\n if (this.collapse) {\n const animate = this.collapse.animate;\n this.collapse.toggle(false);\n this.collapse.animate = false;\n setTimeout(() => {\n this.collapse.toggle(result.matches);\n setTimeout(() => {\n this.collapse.animate = animate;\n });\n });\n }\n });\n }\n }\n}\n","<ng-container *ngTemplateOutlet=\"container ? withContainerTemplate : noContainerTemplate\"></ng-container>\n\n<ng-template #withContainerTemplate>\n <div [ngClass]=\"containerClass\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n\n<ng-template #noContainerTemplate>\n <ng-content></ng-content>\n</ng-template>\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[cNavbarBrand]',\n standalone: true\n})\nexport class NavbarBrandDirective {\n\n @HostBinding('class.navbar-brand') navbarBrand = true;\n @HostBinding('attr.role') role = 'button';\n\n}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\n@Component({\n selector: 'c-navbar-nav',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class NavbarNavComponent {\n\n static ngAcceptInputType_scroll: BooleanInput;\n\n /**\n * Enable vertical scrolling of a collapsed navbar toggleable contents.\n * @type boolean\n */\n @Input()\n set scroll(value: boolean) {\n this._scroll = coerceBooleanProperty(value);\n };\n get scroll() {\n return this._scroll;\n }\n private _scroll = false;\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'navbar-nav': true,\n 'navbar-nav-scroll': this.scroll\n };\n }\n\n}\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'c-navbar-text',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class NavbarTextComponent {\n\n @HostBinding('class.navbar-text') navbarTextClass = true;\n\n}\n","import { AfterContentInit, Directive, ElementRef, HostBinding, HostListener, Input, Renderer2 } from '@angular/core';\nimport { CollapseDirective } from '../../collapse';\n\n@Directive({\n selector: '[cNavbarToggler]',\n standalone: true\n})\nexport class NavbarTogglerDirective implements AfterContentInit {\n /**\n * Reference to navbar collapse element (via # template variable) . [docs]\n * @type string\n * @default 'button'\n */\n @Input('cNavbarToggler') collapseRef?: CollapseDirective;\n @HostBinding('class.navbar-toggler') navbarToggler = true;\n /**\n * Default type for navbar-toggler. [docs]\n * @type string\n * @default 'button'\n */\n @HostBinding('attr.type')\n @Input() type = 'button';\n /**\n * Default aria-label attr for navbar-toggler. [docs]\n * @type string\n * @default 'Toggle navigation'\n */\n @HostBinding('attr.aria-label')\n @Input() ariaLabel = 'Toggle navigation';\n\n private hasContent!: boolean;\n\n constructor(\n private renderer: Renderer2,\n private hostElement: ElementRef\n ) { }\n\n @HostListener('click', ['$event'])\n handleClick() {\n this.collapseRef?.toggle(!this.collapseRef?.visible);\n }\n\n addDefaultIcon(): void {\n const span = this.renderer.createElement('span');\n this.renderer.addClass(span, 'navbar-toggler-icon');\n this.renderer.appendChild(this.hostElement.nativeElement, span);\n }\n\n ngAfterContentInit(): void {\n this.hasContent = this.hostElement.nativeElement.childNodes.length as boolean;\n if (!this.hasContent) {\n this.addDefaultIcon();\n }\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { NavbarComponent } from './navbar.component';\nimport { NavbarBrandDirective } from './navbar-brand/navbar-brand.directive';\nimport { NavbarNavComponent } from './navbar-nav/navbar-nav.component';\nimport { NavbarTextComponent } from './navbar-text/navbar-text.component';\nimport { NavbarTogglerDirective } from './navbar-toggler/navbar-toggler.directive';\n\n@NgModule({\n exports: [\n NavbarBrandDirective,\n NavbarComponent,\n NavbarNavComponent,\n NavbarTextComponent,\n NavbarTogglerDirective\n ],\n imports: [\n NavbarBrandDirective,\n NavbarComponent,\n NavbarNavComponent,\n NavbarTextComponent,\n NavbarTogglerDirective\n ]\n})\nexport class NavbarModule {}\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'c-modal-body',\n template: '<ng-content></ng-content>',\n styleUrls: ['./modal-body.component.scss'],\n standalone: true\n})\nexport class ModalBodyComponent {\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'modal-body': true,\n };\n }\n}\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'c-modal-content',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class ModalContentComponent {\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'modal-content': true\n };\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'c-modal-dialog',\n template: '<ng-content></ng-content>',\n styleUrls: ['./modal-dialog.component.scss'],\n standalone: true\n})\nexport class ModalDialogComponent {\n /**\n * Align the modal in the center or top of the screen.\n * @type {'top' | 'center'}\n */\n @Input() alignment?: 'top' | 'center';\n /**\n * Set modal to covers the entire user viewport.\n * @type {boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'}\n */\n @Input() fullscreen?: boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';\n /**\n * Does the modal dialog itself scroll, or does the whole dialog scroll within the window.\n * @type boolean\n */\n @Input() scrollable?: boolean;\n /**\n * Size the component small, large, or extra large.\n */\n @Input() size?: 'sm' | 'lg' | 'xl';\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'modal-dialog': true,\n 'modal-dialog-centered': this.alignment === 'center',\n 'modal-fullscreen': this.fullscreen === true,\n [`modal-fullscreen-${this.fullscreen}-down`]: this.fullscreen,\n 'modal-dialog-scrollable': this.scrollable,\n [`modal-${this.size}`]: this.size\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { ModalComponent } from './modal/modal.component';\n\nexport interface IModalAction {\n show?: boolean | 'toggle';\n modal?: ModalComponent;\n id?: string;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ModalService {\n\n private modalState = new Subject<any>();\n modalState$ = this.modalState.asObservable();\n\n constructor() {}\n\n toggle(action: IModalAction): void {\n this.modalState.next(action);\n }\n}\n","import { Directive, HostListener, Input } from '@angular/core';\n\nimport { ModalService } from '../modal.service';\n\n@Directive({\n selector: '[cModalToggle]',\n standalone: true\n})\nexport class ModalToggleDirective {\n /**\n * Html id attr of modal to dismiss.\n */\n @Input('cModalToggle') id: string | undefined;\n\n constructor(\n private modalService: ModalService\n ) { }\n\n @HostListener('click', ['$event'])\n dismiss($event: any): void {\n $event.preventDefault();\n this.modalService.toggle({show: 'toggle', id: this.id});\n }\n}\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'c-modal-footer',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class ModalFooterComponent {\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'modal-footer': true,\n };\n }\n\n}\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'c-modal-header',\n template: `<ng-content></ng-content>`,\n standalone: true\n})\nexport class ModalHeaderComponent {\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'modal-header': true\n };\n }\n\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[cModalTitle]',\n standalone: true\n})\nexport class ModalTitleDirective {\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'modal-title': true,\n };\n }\n\n}\n","import { Inject, Injectable, Renderer2, RendererFactory2 } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BackdropService {\n\n private backdropClick = new Subject<boolean>();\n backdropClick$ = this.backdropClick.asObservable();\n\n private renderer: Renderer2;\n private unListen!: () => void;\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n private rendererFactory: RendererFactory2\n ) {\n this.renderer = rendererFactory.createRenderer(null, null);\n }\n\n get scrollbarWidth() {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = this.document.documentElement.clientWidth;\n const scrollbarWidth = Math.abs((window?.innerWidth ?? documentWidth) - documentWidth);\n return `${scrollbarWidth}px`;\n }\n\n setBackdrop(type: string = 'modal'): any {\n const backdropElement = this.renderer.createElement('div');\n this.renderer.addClass(backdropElement, `${type}-backdrop`);\n this.renderer.addClass(backdropElement, 'fade');\n this.renderer.appendChild(this.document.body, backdropElement);\n this.unListen = this.renderer.listen(backdropElement, 'click', (e): void => {\n this.onClickHandler();\n });\n setTimeout(() => {\n this.renderer.addClass(backdropElement, 'show');\n });\n return backdropElement;\n }\n\n clearBackdrop(backdrop: any): any {\n if (backdrop) {\n this.unListen();\n this.renderer.removeClass(backdrop, 'show');\n setTimeout(() => {\n this.renderer.removeChild(this.document.body, backdrop);\n backdrop = undefined;\n }, 300);\n }\n return backdrop;\n }\n\n onClickHandler(): void {\n this.backdropClick.next(true);\n }\n}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n ViewChild\n} from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { animate, AnimationEvent, state, style, transition, trigger } from '@angular/animations';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { Subscription } from 'rxjs';\n\nimport { ModalService } from '../modal.service';\nimport { BackdropService } from '../../backdrop/backdrop.service';\nimport { ModalContentComponent } from '../modal-content/modal-content.component';\nimport { ModalDialogComponent } from '../modal-dialog/modal-dialog.component';\n\n@Component({\n selector: 'c-modal',\n animations: [\n trigger('showHide', [\n state(\n 'visible',\n style({\n // display: 'block'\n })\n ),\n state(\n 'hidden',\n style({\n // display: 'none'\n })\n ),\n transition('visible <=> *', [animate('300ms')])\n ])\n ],\n templateUrl: './modal.component.html',\n exportAs: 'cModal',\n standalone: true,\n imports: [ModalDialogComponent, ModalContentComponent, A11yModule]\n})\nexport class ModalComponent implements OnInit, OnDestroy {\n\n static ngAcceptInputType_scrollable: BooleanInput;\n static ngAcceptInputType_visible: BooleanInput;\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n private renderer: Renderer2,\n private hostElement: ElementRef,\n private modalService: ModalService,\n private backdropService: BackdropService\n ) { }\n\n /**\n * Align the modal in the center or top of the screen.\n * @type {'top' | 'center'}\n * @default 'top'\n */\n @Input() alignment?: 'top' | 'center' = 'top';\n /**\n * Apply a backdrop on body while modal is open.\n * @type boolean | 'static'\n * @default true\n */\n @Input() backdrop: boolean | 'static' = true;\n /**\n * Set modal to cover the entire user viewport.\n * @type {boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'}\n * @default undefined\n */\n @Input() fullscreen?: boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';\n /**\n * Closes the modal when escape key is pressed.\n * @type boolean\n * @default true\n */\n @Input() keyboard = true;\n @Input() id?: string;\n /**\n * Size the component small, large, or extra large.\n */\n @Input() size?: 'sm' | 'lg' | 'xl';\n /**\n * Remove animation to create modal that simply appear rather than fade in to view.\n */\n @Input() transition = true;\n /**\n * Default role for modal. [docs]\n * @type string\n * @default 'dialog'\n */\n @Input() @HostBinding('attr.role') role = 'dialog';\n /**\n * Set aria-modal html attr for modal. [docs]\n * @type boolean\n * @default true\n */\n @Input() @HostBinding('attr.aria-modal') ariaModal = true;\n\n /**\n * Create a scrollable modal that allows scrolling the modal body.\n * @type boolean\n */\n @Input()\n set scrollable(value: boolean) {\n this._scrollable = coerceBooleanProperty(value);\n }\n\n get scrollable(): boolean {\n return this._scrollable;\n }\n\n private _scrollable = false;\n\n /**\n * Toggle the visibility of modal component.\n * @type boolean\n */\n @Input()\n set visible(value: boolean) {\n const newValue = coerceBooleanProperty(value);\n if (this._visible !== newValue) {\n this._visible = newValue;\n this.setBackdrop(this.backdrop !== false && newValue);\n this.setBodyStyles(newValue);\n this.visibleChange.emit(newValue);\n }\n }\n\n get visible(): boolean {\n return this._visible;\n }\n\n private _visible!: boolean;\n\n /**\n * Event triggered on modal dismiss.\n */\n @Output() visibleChange = new EventEmitter<boolean>();\n\n @ViewChild(ModalContentComponent, { read: ElementRef }) modalContent!: ElementRef;\n private activeBackdrop!: any;\n private stateToggleSubscription!: Subscription;\n\n // private inBoundingClientRect!: boolean;\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n modal: true,\n fade: this.transition,\n show: this.show\n };\n }\n\n @HostBinding('attr.aria-hidden')\n get ariaHidden(): boolean | null {\n return this.visible ? null : true;\n };\n\n @HostBinding('attr.tabindex')\n get tabIndex(): string | null {\n return '-1';\n }\n\n @HostBinding('@showHide')\n get animateTrigger(): string {\n return this.visible ? 'visible' : 'hidden';\n }\n\n get show(): boolean {\n return this.visible && this._show;\n }\n\n set show(value: boolean) {\n this._show = value;\n }\n\n private _show = true;\n\n @HostListener('@showHide.start', ['$event'])\n animateStart(event: AnimationEvent) {\n const scrollbarWidth = this.backdropService.scrollbarWidth;\n if (event.toState === 'visible') {\n this.renderer.setStyle(this.document.body, 'overflow', 'hidden');\n this.renderer.setStyle(this.document.body, 'padding-right', scrollbarWidth);\n this.renderer.setStyle(this.hostElement.nativeElement, 'display', 'block');\n } else {\n if (!this.transition) {\n this.renderer.setStyle(this.hostElement.nativeElement, 'display', 'none');\n }\n }\n }\n\n @HostListener('@showHide.done', ['$event'])\n animateDone(event: AnimationEvent) {\n setTimeout(() => {\n if (event.toState === 'hidden') {\n this.renderer.setStyle(this.hostElement.nativeElement, 'display', 'none');\n this.renderer.removeStyle(this.document.body, 'overflow');\n this.renderer.removeStyle(this.document.body, 'padding-right');\n }\n });\n this.show = this.visible;\n }\n\n @HostListener('document:keyup', ['$event'])\n onKeyDownHandler(event: KeyboardEvent): void {\n if (event.key === 'Escape' && this.keyboard && this.visible) {\n if (this.backdrop === 'static') {\n this.setStaticBackdrop();\n } else {\n this.modalService.toggle({ show: false, modal: this });\n }\n }\n }\n\n private mouseDownTarget: EventTarget | null = null;\n\n @HostListener('mousedown', ['$event'])\n public onMouseDownHandler($event: MouseEvent): void {\n this.mouseDownTarget = $event.target;\n }\n\n @HostListener('click', ['$event'])\n public onClickHandler($event: MouseEvent): void {\n\n if (this.mouseDownTarget !== $event.target) {\n this.mouseDownTarget = null;\n return;\n }\n\n const targetElement = $event.target;\n if (targetElement === this.hostElement.nativeElement) {\n\n if (this.backdrop === 'static') {\n this.setStaticBackdrop();\n return;\n }\n\n this.modalService.toggle({ show: false, modal: this });\n }\n }\n\n ngOnInit(): void {\n this.stateToggleSubscribe();\n }\n\n ngOnDestroy(): void {\n this.modalService.toggle({ show: false, modal: this });\n this.stateToggleSubscribe(false);\n }\n\n private stateToggleSubscribe(subscribe: boolean = true): void {\n if (subscribe) {\n this.stateToggleSubscription = this.modalService.modalState$.subscribe(\n (action) => {\n if (this === action.modal || this.id === action.id) {\n if ('show' in action) {\n this.visible = action?.show === 'toggle' ? !this.visible : action.show;\n }\n } else {\n if (this.visible) {\n this.visible = false;\n }\n }\n }\n );\n } else {\n this.stateToggleSubscription?.unsubscribe();\n }\n }\n\n private setBackdrop(setBackdrop: boolean): void {\n if (setBackdrop) {\n this.activeBackdrop = this.backdropService.setBackdrop('modal');\n } else {\n this.activeBackdrop = this.backdropService.clearBackdrop(this.activeBackdrop);\n }\n }\n\n private setBodyStyles(open: boolean): void {\n if (open) {\n if (this.backdrop === true) {\n this.renderer.addClass(this.document.body, 'modal-open');\n }\n } else {\n this.renderer.removeClass(this.document.body, 'modal-open');\n }\n }\n\n private setStaticBackdrop(): void {\n if (this.transition) {\n this.renderer.addClass(this.hostElement.nativeElement, 'modal-static');\n this.renderer.setStyle(this.hostElement.nativeElement, 'overflow-y', 'hidden');\n setTimeout(() => {\n this.renderer.removeClass(this.hostElement.nativeElement, 'modal-static');\n this.renderer.removeStyle(this.hostElement.nativeElement, 'overflow-y');\n }, 300);\n }\n }\n}\n","<c-modal-dialog\n [alignment]=\"alignment\"\n [fullscreen]=\"fullscreen\"\n [scrollable]=\"scrollable\"\n [size]=\"size\">\n <c-modal-content>\n <div [cdkTrapFocus]=\"visible\" [cdkTrapFocusAutoCapture]=\"visible\" style=\"display: contents;\">\n <ng-content></ng-content>\n </div>\n </c-modal-content>\n</c-modal-dialog>\n","import { NgModule } from '@angular/core';\n\nimport { ModalBodyComponent } from './modal-body/modal-body.component';\nimport { ModalContentComponent } from './modal-content/modal-content.component';\nimport { ModalDialogComponent } from './modal-dialog/modal-dialog.component';\nimport { ModalToggleDirective } from './modal-dismiss/modal-toggle.directive';\nimport { ModalFooterComponent } from './modal-footer/modal-footer.component';\nimport { ModalHeaderComponent } from './modal-header/modal-header.component';\nimport { ModalTitleDirective } from './modal-title/modal-title.directive';\nimport { ModalComponent } from './modal/modal.component';\nimport { ModalService } from './modal.service';\n\n@NgModule({\n exports: [\n ModalBodyComponent,\n ModalComponent,\n ModalContentComponent,\n ModalDialogComponent,\n ModalFooterComponent,\n ModalHeaderComponent,\n ModalTitleDirective,\n ModalToggleDirective\n ],\n imports: [\n ModalBodyComponent,\n ModalComponent,\n ModalContentComponent,\n ModalDialogComponent,\n ModalFooterComponent,\n ModalHeaderComponent,\n ModalTitleDirective,\n ModalToggleDirective\n ],\n providers: [ModalService]\n})\nexport class ModalModule {}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { OffcanvasComponent } from './offcanvas/offcanvas.component';\n\nexport interface IOffcanvasAction {\n show?: boolean | 'toggle';\n offcanvas?: OffcanvasComponent;\n id?: string;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OffcanvasService {\n\n private offcanvasState = new Subject<any>();\n offcanvasState$ = this.offcanvasState.asObservable();\n\n constructor() { }\n\n toggle(action: IOffcanvasAction): void {\n this.offcanvasState.next(action);\n }\n}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Output,\n PLATFORM_ID,\n Renderer2\n} from '@angular/core';\nimport { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport { animate, AnimationEvent, state, style, transition, trigger } from '@angular/animations';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { BackdropService } from '../../backdrop/backdrop.service';\nimport { OffcanvasService } from '../offcanvas.service';\nimport { A11yModule } from '@angular/cdk/a11y';\n\nlet nextId = 0;\n\n@Component({\n selector: 'c-offcanvas',\n animations: [\n trigger('showHide', [\n state(\n 'visible',\n style({\n // visibility: 'visible'\n })\n ),\n state(\n 'hidden',\n style({\n // visibility: 'hidden'\n })\n ),\n transition('visible <=> *', [animate('300ms')])\n ])\n ],\n templateUrl: './offcanvas.component.html',\n styleUrls: ['./offcanvas.component.scss'],\n exportAs: 'cOffcanvas',\n standalone: true,\n imports: [A11yModule]\n})\nexport class OffcanvasComponent implements OnInit, OnDestroy {\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n @Inject(PLATFORM_ID) private platformId: any,\n private renderer: Renderer2,\n private hostElement: ElementRef,\n private offcanvasService: OffcanvasService,\n private backdropService: BackdropService,\n private breakpointObserver: BreakpointObserver\n ) {}\n\n static ngAcceptInputType_scroll: BooleanInput;\n /**\n * Apply a backdrop on body while offcanvas is open.\n * @type boolean | 'static'\n * @default true\n */\n @Input() backdrop: boolean | 'static' = true;\n\n /**\n * Closes the offcanvas when escape key is pressed [docs]\n * @type boolean\n * @default true\n */\n @Input() keyboard = true;\n\n /**\n * Components placement, there’s no default placement.\n * @type {'start' | 'end' | 'top' | 'bottom'}\n * @default 'start'\n */\n @Input() placement: string | 'start' | 'end' | 'top' | 'bottom' = 'start';\n\n /**\n * Responsive offcanvas property hides content outside the viewport from a specified breakpoint and down.\n * @type boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';\n * @default true\n * @since 4.3.10\n */\n @Input() responsive?: boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl' = true;\n @Input() id = `offcanvas-${this.placement}-${nextId++}`;\n /**\n * Default role for offcanvas. [docs]\n * @type string\n * @default 'dialog'\n */\n @Input() @HostBinding('attr.role') role = 'dialog';\n /**\n * Set aria-modal html attr for offcanvas. [docs]\n * @type boolean\n * @default true\n */\n @Input() @HostBinding('attr.aria-modal') ariaModal = true;\n /**\n * Event triggered on visible change.\n */\n @Output() readonly visibleChange = new EventEmitter<boolean>();\n #scroll = false;\n #visible: boolean = false;\n #activeBackdrop!: HTMLDivElement;\n #scrollbarWidth!: string;\n #stateToggleSubscription!: Subscription;\n #backdropClickSubscription!: Subscription;\n #layoutChangeSubscription!: Subscription;\n #show = false;\n\n get scroll() {\n return this.#scroll;\n }\n\n /**\n * Allow body scrolling while offcanvas is visible.\n * @type boolean\n * @default false\n */\n @Input()\n set scroll(value: boolean) {\n this.#scroll = coerceBooleanProperty(value);\n }\n\n get visible(): boolean {\n return this.#visible;\n }\n\n /**\n * Toggle the visibility of offcanvas component.\n * @type boolean\n * @default false\n */\n @Input()\n set visible(value: boolean) {\n this.#visible = coerceBooleanProperty(value);\n if (this.#visible) {\n this.setBackdrop(this.backdrop);\n this.setFocus();\n } else {\n this.setBackdrop(false);\n }\n this.layoutChangeSubscribe(this.#visible);\n this.visibleChange.emit(value);\n }\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n offcanvas: typeof this.responsive === 'boolean',\n [`offcanvas-${this.responsive}`]: typeof this.responsive !== 'boolean',\n [`offcanvas-${this.placement}`]: !!this.placement,\n show: this.show\n };\n }\n\n @HostBinding('attr.aria-hidden')\n get ariaHidden(): boolean | null {\n return this.visible ? null : true;\n }\n\n @HostBinding('attr.tabindex')\n get tabIndex(): string | null {\n return '-1';\n }\n\n @HostBinding('@showHide')\n get animateTrigger(): string {\n return this.visible ? 'visible' : 'hidden';\n }\n\n get show(): boolean {\n return this.visible && this.#show;\n }\n\n set show(value: boolean) {\n this.#show = value;\n }\n\n get responsiveBreakpoint(): string | false {\n if (typeof this.responsive !== 'string') {\n return false;\n }\n const element: Element = this.document.documentElement;\n const responsiveBreakpoint = this.responsive;\n const breakpointValue = getComputedStyle(element).getPropertyValue(`--cui-breakpoint-${responsiveBreakpoint.trim()}`) || false;\n return breakpointValue ? `${parseFloat(breakpointValue.trim()) - 0.02}px` : false;\n }\n\n @HostListener('@showHide.start', ['$event'])\n animateStart(event: AnimationEvent) {\n const scrollbarWidth = this.#scrollbarWidth;\n if (event.toState === 'visible') {\n if (!this.scroll) {\n this.renderer.setStyle(this.document.body, 'overflow', 'hidden');\n this.renderer.setStyle(this.document.body, 'padding-right', scrollbarWidth);\n }\n this.renderer.addClass(this.hostElement.nativeElement, 'showing');\n } else {\n this.renderer.addClass(this.hostElement.nativeElement, 'hiding');\n }\n }\n\n @HostListener('@showHide.done', ['$event'])\n animateDone(event: AnimationEvent) {\n setTimeout(() => {\n if (event.toState === 'visible') {\n this.renderer.removeClass(this.hostElement.nativeElement, 'showing');\n }\n if (event.toState === 'hidden') {\n this.renderer.removeClass(this.hostElement.nativeElement, 'hiding');\n this.renderer.removeStyle(this.document.body, 'overflow');\n this.renderer.removeStyle(this.document.body, 'paddingRight');\n }\n });\n this.show = this.visible;\n }\n\n @HostListener('document:keydown', ['$event'])\n onKeyDownHandler(event: KeyboardEvent): void {\n if (\n event.key === 'Escape' &&\n this.keyboard &&\n this.visible &&\n this.backdrop !== 'static'\n ) {\n this.offcanvasService.toggle({ show: false, id: this.id });\n }\n }\n\n ngOnInit(): void {\n this.#scrollbarWidth = this.backdropService.scrollbarWidth;\n this.stateToggleSubscribe();\n setTimeout(() => {\n // hotfix to avoid offcanvas flicker on the first render\n this.renderer.setStyle(this.hostElement.nativeElement, 'display', 'flex');\n })\n }\n\n ngOnDestroy(): void {\n this.offcanvasService.toggle({ show: false, id: this.id });\n this.stateToggleSubscribe(false);\n }\n\n setFocus(): void {\n if (isPlatformBrowser(this.platformId)) {\n setTimeout(() => this.hostElement.nativeElement.focus());\n }\n }\n\n private stateToggleSubscribe(subscribe: boolean = true): void {\n if (subscribe) {\n this.#stateToggleSubscription =\n this.offcanvasService.offcanvasState$.subscribe((action) => {\n if (this === action.offcanvas || this.id === action.id) {\n if ('show' in action) {\n this.visible =\n action?.show === 'toggle' ? !this.visible : action.show;\n }\n }\n });\n } else {\n this.#stateToggleSubscription?.unsubscribe();\n }\n }\n\n private backdropClickSubscribe(subscribe: boolean = true): void {\n if (subscribe) {\n this.#backdropClickSubscription =\n this.backdropService.backdropClick$.subscribe((clicked) => {\n this.offcanvasService.toggle({ show: !clicked, id: this.id });\n });\n } else {\n this.#backdropClickSubscription?.unsubscribe();\n }\n }\n\n private setBackdrop(setBackdrop: boolean | 'static'): void {\n this.#scrollbarWidth = this.backdropService.scrollbarWidth;\n this.#activeBackdrop = !!setBackdrop ? this.backdropService.setBackdrop('offcanvas')\n : this.backdropService.clearBackdrop(this.#activeBackdrop);\n setBackdrop === true ? this.backdropClickSubscribe()\n : this.backdropClickSubscribe(false);\n }\n\n private layoutChangeSubscribe(subscribe: boolean = true): void {\n\n if (subscribe) {\n\n if (!this.responsiveBreakpoint) {\n return;\n }\n\n const responsiveBreakpoint = `(max-width: ${this.responsiveBreakpoint})`;\n\n const layoutChanges = this.breakpointObserver.observe([responsiveBreakpoint]);\n\n this.#layoutChangeSubscription = layoutChanges\n .pipe(\n filter(breakpointState => !breakpointState.matches)\n )\n .subscribe(\n (breakpointState: BreakpointState) => {\n this.visible = breakpointState.matches;\n }\n );\n } else {\n this.#layoutChangeSubscription?.unsubscribe();\n }\n }\n}\n","<div cdkTrapFocus cdkTrapFocusAutoCapture>\n <ng-content></ng-content>\n</div>\n\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'c-offcanvas-body',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./offcanvas-body.component.scss'],\n standalone: true\n})\nexport class OffcanvasBodyComponent {\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'offcanvas-body': true,\n };\n }\n\n}\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'c-offcanvas-header',\n template: `<ng-content></ng-content>`,\n standalone: true\n})\nexport class OffcanvasHeaderComponent {\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'offcanvas-header': true,\n };\n }\n\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[cOffcanvasTitle]',\n standalone: true\n})\nexport class OffcanvasTitleDirective {\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'offcanvas-title': true,\n };\n }\n\n}\n","import { Directive, HostListener, Input } from '@angular/core';\n\nimport { OffcanvasService } from '../offcanvas.service';\n\n@Directive({\n selector: '[cOffcanvasToggle]',\n standalone: true\n})\nexport class OffcanvasToggleDirective {\n\n /**\n * Html id attr of offcanvas to toggle.\n * @type string\n */\n @Input('cOffcanvasToggle') id?: string;\n\n constructor(\n private offcanvasService: OffcanvasService\n ) {}\n\n @HostListener('click', ['$event'])\n toggleOpen($event: any): void {\n $event.preventDefault();\n this.offcanvasService.toggle({ show: 'toggle', id: this.id });\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { OffcanvasComponent } from './offcanvas/offcanvas.component';\nimport { OffcanvasBodyComponent } from './offcanvas-body/offcanvas-body.component';\nimport { OffcanvasHeaderComponent } from './offcanvas-header/offcanvas-header.component';\nimport { OffcanvasTitleDirective } from './offcanvas-title/offcanvas-title.directive';\nimport { OffcanvasToggleDirective } from './offcanvas-toggle/offcanvas-toggle.directive';\nimport { OffcanvasService } from './offcanvas.service';\nimport { BackdropService } from '../backdrop/backdrop.service';\n\n@NgModule({\n exports: [\n OffcanvasBodyComponent,\n OffcanvasComponent,\n OffcanvasHeaderComponent,\n OffcanvasTitleDirective,\n OffcanvasToggleDirective\n ],\n imports: [\n OffcanvasBodyComponent,\n OffcanvasComponent,\n OffcanvasHeaderComponent,\n OffcanvasTitleDirective,\n OffcanvasToggleDirective\n ],\n providers: [\n OffcanvasService,\n BackdropService\n ]\n})\nexport class OffcanvasModule {}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[cPageLink]',\n standalone: true\n})\nexport class PageLinkDirective {\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'page-link': true,\n };\n }\n}\n","import {\n AfterContentInit,\n ContentChild,\n Directive,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n Renderer2, SimpleChanges\n} from '@angular/core';\n\nimport { PageLinkDirective } from '../page-link/page-link.directive';\n\n@Directive({\n selector: '[cPageItem]',\n standalone: true\n})\nexport class PageItemDirective implements AfterContentInit, OnChanges {\n\n /**\n * Toggle the active state for the component.\n * @type boolean\n */\n @Input() active?: boolean;\n /**\n * Toggle the disabled state for the component.\n * @type boolean\n */\n @Input() disabled?: boolean;\n\n @HostBinding('attr.aria-current')\n get ariaCurrent(): string | null {\n return this.active ? 'page' : null;\n }\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'page-item': true,\n disabled: this.disabled,\n active: this.active,\n };\n }\n\n @ContentChild(PageLinkDirective, { read: ElementRef }) pageLinkElementRef!: ElementRef;\n\n constructor(\n private renderer: Renderer2\n ) { }\n\n ngAfterContentInit(): void {\n this.setAttributes();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['disabled']) {\n this.setAttributes();\n }\n }\n\n setAttributes(): void {\n if (!this.pageLinkElementRef) {\n return\n }\n const pageLinkElement = this.pageLinkElementRef.nativeElement;\n\n if (this.disabled) {\n this.renderer.setAttribute(pageLinkElement, 'aria-disabled', 'true');\n this.renderer.setAttribute(pageLinkElement, 'tabindex', '-1');\n } else {\n this.renderer.removeAttribute(pageLinkElement, 'aria-disabled');\n this.renderer.removeAttribute(pageLinkElement, 'tabindex');\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { PageItemDirective } from './page-item.directive';\n\n@Component({\n selector: 'c-page-item',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./page-item.component.scss'],\n standalone: true\n})\nexport class PageItemComponent extends PageItemDirective { }\n\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { NgClass } from '@angular/common';\n\n@Component({\n selector: 'c-pagination',\n templateUrl: './pagination.component.html',\n standalone: true,\n imports: [NgClass]\n})\nexport class PaginationComponent {\n\n /**\n * Set the alignment of pagination components.\n * @values 'start', 'center', 'end'\n */\n @Input() align: 'start' | 'center' | 'end' | '' = '';\n /**\n * Size the component small or large.\n * @values 'sm', 'lg'\n */\n @Input() size?: 'sm' | 'lg';\n /**\n * Default role for pagination. [docs]\n * @type string\n * @default 'navigation'\n */\n @HostBinding('attr.role')\n @Input() role = 'navigation';\n\n get paginationClass(): any {\n return {\n pagination: true,\n [`pagination-${this.size}`]: !!this.size,\n [`justify-content-${this.align}`]: !!this.align\n };\n }\n\n}\n","<ul [ngClass]=\"paginationClass\">\n <ng-content></ng-content>\n</ul>\n","import { NgModule } from '@angular/core';\nimport { PaginationComponent } from './pagination/pagination.component';\nimport { PageItemComponent } from './page-item/page-item.component';\nimport { PageItemDirective } from './page-item/page-item.directive';\nimport { PageLinkDirective } from './page-link/page-link.directive';\n\n@NgModule({\n exports: [\n PageItemComponent,\n PageItemDirective,\n PageLinkDirective,\n PaginationComponent\n ],\n imports: [\n PageItemComponent,\n PageItemDirective,\n PageLinkDirective,\n PaginationComponent\n ]\n})\nexport class PaginationModule {}\n","import { Directive, HostBinding, Input } from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\n@Directive({\n selector: '[cPlaceholder]',\n exportAs: 'cPlaceholder',\n standalone: true\n})\nexport class PlaceholderDirective {\n\n static ngAcceptInputType_visible: BooleanInput;\n\n constructor() { }\n\n /**\n * placeholder toggler\n * @type boolean\n * @default true\n */\n @Input('cPlaceholder')\n set visible(value: boolean) {\n this._visible = coerceBooleanProperty(value);\n }\n get visible() {\n return this._visible;\n }\n private _visible: boolean = false;\n\n /**\n * Size the placeholder extra small, small, large.\n */\n @Input('cPlaceholderSize') size?: 'xs' | 'sm' | 'lg';\n\n @HostBinding('attr.aria-hidden')\n get ariaHidden(): boolean | null {\n return this.visible ? null : true;\n };\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'placeholder': this.visible,\n [`placeholder-${this.size}`]: !!this.size\n };\n }\n}\n","import { AfterContentInit, ContentChild, Directive, HostBinding, Input } from '@angular/core';\nimport { PlaceholderDirective } from './placeholder.directive';\n\n@Directive({\n selector: '[cPlaceholderAnimation]',\n standalone: true\n})\nexport class PlaceholderAnimationDirective implements AfterContentInit {\n\n constructor() { }\n\n /**\n * Animation type for placeholder\n * @type 'glow' | 'wave'\n * @default undefined\n */\n @Input('cPlaceholderAnimation') animation?: 'glow' | 'wave';\n @ContentChild(PlaceholderDirective) placeholder!: PlaceholderDirective;\n private animate: boolean = false;\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n [`placeholder-${this.animation}`]: this.animate && !!this.animation\n };\n }\n\n ngAfterContentInit() {\n this.animate = this.placeholder?.visible;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { PlaceholderDirective } from './placeholder.directive';\nimport { PlaceholderAnimationDirective } from './placeholder-animation.directive';\n\n@NgModule({\n imports: [\n PlaceholderDirective,\n PlaceholderAnimationDirective\n ],\n exports: [\n PlaceholderDirective,\n PlaceholderAnimationDirective\n ]\n})\nexport class PlaceholderModule {\n}\n","import {\n AfterViewInit,\n Component,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n Renderer2,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\nimport { NgClass } from '@angular/common';\n\n@Component({\n selector: 'c-popover',\n templateUrl: './popover.component.html',\n standalone: true,\n imports: [NgClass]\n})\nexport class PopoverComponent implements AfterViewInit, OnChanges, OnDestroy {\n\n /**\n * Content of popover\n * @type {string | TemplateRef}\n */\n @Input() content: string | TemplateRef<any> = '';\n /**\n * Toggle the visibility of popover component.\n * @type boolean\n */\n @Input() visible = false;\n @Input() @HostBinding('attr.id') id?: string;\n @Input() @HostBinding('attr.role') role = 'tooltip';\n\n @ViewChild('popoverTemplate', { read: ViewContainerRef }) viewContainerRef!: ViewContainerRef;\n private textNode!: Text;\n\n constructor(\n private renderer: Renderer2\n ) { }\n\n @HostBinding('class')\n get hostClasses(): { [klass: string]: any; } {\n return {\n popover: true,\n fade: true,\n show: this.visible,\n 'bs-popover-auto': true\n };\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.updateView(this.content);\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['content']) {\n setTimeout(() => {\n this.updateView(this.content);\n });\n }\n }\n\n ngOnDestroy(): void {\n this.clear();\n }\n\n private clear(): void {\n this.viewContainerRef?.clear();\n if (!!this.textNode) {\n this.renderer.removeChild(this.textNode.parentNode, this.textNode);\n }\n }\n\n private updateView(content: string | TemplateRef<any>): void {\n this.clear();\n\n if (!content) {\n return;\n }\n\n if (content instanceof TemplateRef) {\n this.viewContainerRef.createEmbeddedView(content);\n } else {\n this.textNode = this.renderer.createText(content);\n const popoverBody = this.renderer.createElement('div');\n this.renderer.addClass(popoverBody, 'popover-body');\n this.renderer.appendChild(popoverBody, this.textNode);\n\n const element = this.viewContainerRef.element.nativeElement;\n this.renderer.appendChild(element.parentNode, popoverBody);\n }\n }\n}\n","<ng-container>\n <div [ngClass]=\"{'popover-arrow': !!content}\" data-popper-arrow></div>\n <ng-container #popoverTemplate></ng-container>\n</ng-container>\n","import { Inject, Injectable, Renderer2, RendererFactory2 } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ClassToggleService {\n\n private renderer: Renderer2;\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n private rendererFactory: RendererFactory2\n ) {\n this.renderer = rendererFactory.createRenderer(null, null);\n }\n\n toggle(selector: any, className: string) {\n const element = document.querySelector(selector);\n if (element) {\n element.classList.contains(className) ?\n this.renderer.removeClass(element, className) :\n this.renderer.addClass(element, className);\n }\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n ComponentRef,\n Directive,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Renderer2,\n SimpleChanges,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { Subscription } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { createPopper, Instance, Options } from '@popperjs/core';\n\nimport { Triggers } from '../coreui.types';\nimport { PopoverComponent } from './popover/popover.component';\nimport { IListenersConfig, ListenersService } from '../services/listeners.service';\nimport { IntersectionService } from '../services';\n\n@Directive({\n selector: '[cPopover]',\n exportAs: 'cPopover',\n providers: [ListenersService, IntersectionService],\n standalone: true\n})\nexport class PopoverDirective implements OnChanges, OnDestroy, OnInit, AfterViewInit {\n\n /**\n * Content of popover\n * @type {string | TemplateRef}\n */\n @Input('cPopover') content: string | TemplateRef<any> = '';\n\n /**\n * Optional popper Options object, takes precedence over cPopoverPlacement prop\n * @type Partial<Options>\n */\n @Input('cPopoverOptions')\n set popperOptions(value: Partial<Options>) {\n this._popperOptions = { ...this._popperOptions, placement: this.placement, ...value };\n };\n\n get popperOptions(): Partial<Options> {\n return { placement: this.placement, ...this._popperOptions };\n }\n\n /**\n * Describes the placement of your component after Popper.js has applied all the modifiers that may have flipped or altered the originally provided placement property.\n */\n @Input('cPopoverPlacement') placement: 'top' | 'bottom' | 'left' | 'right' = 'top';\n /**\n * Sets which event handlers you’d like provided to your toggle prop. You can specify one trigger or an array of them.\n * @type {'hover' | 'focus' | 'click'}\n */\n @Input('cPopoverTrigger') trigger?: Triggers | Triggers[] = 'hover';\n\n /**\n * Toggle the visibility of popover component.\n */\n @Input('cPopoverVisible')\n set visible(value: boolean) {\n this._visible = value;\n }\n\n get visible() {\n return this._visible;\n }\n\n private _visible = false;\n\n @HostBinding('attr.aria-describedby') get ariaDescribedBy(): string | null {\n return this.popoverId ? this.popoverId : null;\n }\n\n private popover!: HTMLDivElement;\n private popoverId!: string;\n private popoverRef!: ComponentRef<PopoverComponent>;\n private popperInstance!: Instance;\n\n private _popperOptions: Partial<Options> = {\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 8]\n }\n }\n ]\n };\n\n private intersectingSubscription?: Subscription;\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n private renderer: Renderer2,\n private hostElement: ElementRef,\n private viewContainerRef: ViewContainerRef,\n private listenersService: ListenersService,\n private changeDetectorRef: ChangeDetectorRef,\n private intersectionService: IntersectionService\n ) {}\n\n ngAfterViewInit(): void {\n this.intersectionService.createIntersectionObserver(this.hostElement);\n this.intersectionServiceSubscribe();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['visible']) {\n changes['visible'].currentValue ? this.addPopoverElement() : this.removePopoverElement();\n }\n }\n\n ngOnDestroy(): void {\n this.clearListeners();\n this.destroyPopoverElement();\n this.intersectionServiceSubscribe(false);\n }\n\n ngOnInit(): void {\n this.setListeners();\n }\n\n private setListeners(): void {\n const config: IListenersConfig = {\n hostElement: this.hostElement,\n trigger: this.trigger,\n callbackToggle: () => {\n this.visible = !this.visible;\n this.visible ? this.addPopoverElement() : this.removePopoverElement();\n },\n callbackOff: () => {\n this.visible = false;\n this.removePopoverElement();\n },\n callbackOn: () => {\n this.visible = true;\n this.addPopoverElement();\n }\n };\n this.listenersService.setListeners(config);\n }\n\n private clearListeners(): void {\n this.listenersService.clearListeners();\n }\n\n private intersectionServiceSubscribe(subscribe: boolean = true): void {\n if (subscribe) {\n this.intersectingSubscription = this.intersectionService.intersecting$\n .pipe(\n debounceTime(100)\n )\n .subscribe(isIntersecting => {\n this.visible = isIntersecting ? this.visible : false;\n !this.visible && this.removePopoverElement();\n });\n } else {\n this.intersectingSubscription?.unsubscribe();\n }\n }\n\n private getUID(prefix: string): string {\n let uid = prefix ?? 'random-id';\n do {\n uid = `${prefix}-${Math.floor(Math.random() * 1000000).toString(10)}`;\n } while (this.document.getElementById(uid));\n\n return uid;\n }\n\n private createPopoverElement(): void {\n if (!this.popoverRef) {\n this.popoverRef = this.viewContainerRef.createComponent<PopoverComponent>(PopoverComponent);\n // this.viewContainerRef.detach();\n }\n }\n\n private destroyPopoverElement(): void {\n this.popover?.remove();\n this.popoverRef?.destroy();\n // @ts-ignore\n this.popoverRef = undefined;\n this.popperInstance?.destroy();\n this.viewContainerRef?.detach();\n this.viewContainerRef?.clear();\n }\n\n private addPopoverElement(): void {\n if (!this.popoverRef) {\n this.createPopoverElement();\n }\n this.popoverRef.instance.content = this.content;\n this.popover = this.popoverRef.location.nativeElement;\n this.renderer.addClass(this.popover, 'd-none');\n this.renderer.addClass(this.popover, 'fade');\n\n this.popperInstance?.destroy();\n\n setTimeout(() => {\n this.popperInstance = createPopper(\n this.hostElement.nativeElement,\n this.popover,\n { ...this.popperOptions }\n );\n this.viewContainerRef.insert(this.popoverRef.hostView);\n this.renderer.appendChild(this.document.body, this.popover);\n if (!this.visible) {\n this.removePopoverElement();\n return;\n }\n setTimeout(() => {\n this.popoverId = this.getUID('popover');\n this.popoverRef.instance.id = this.popoverId;\n if (!this.visible) {\n this.removePopoverElement();\n return;\n }\n this.renderer.removeClass(this.popover, 'd-none');\n this.popoverRef.instance.visible = this.visible;\n this.popperInstance.forceUpdate();\n this.changeDetectorRef.markForCheck();\n }, 100);\n });\n }\n\n private removePopoverElement(): void {\n this.popoverId = '';\n if (!this.popoverRef) {\n return;\n }\n this.popoverRef.instance.visible = false;\n this.popoverRef.instance.id = undefined;\n this.changeDetectorRef.markForCheck();\n setTimeout(() => {\n this.viewContainerRef.detach();\n }, 300);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { PopoverDirective } from './popover.directive';\nimport { PopoverComponent } from './popover/popover.component';\n\n@NgModule({\n exports: [\n PopoverDirective,\n PopoverComponent\n ],\n imports: [\n PopoverDirective,\n PopoverComponent\n ]\n})\nexport class PopoverModule {}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty, coerceNumberProperty, NumberInput } from '@angular/cdk/coercion';\n\n@Component({\n selector: 'c-progress',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class ProgressComponent {\n\n static ngAcceptInputType_height: NumberInput;\n static ngAcceptInputType_thin: BooleanInput;\n static ngAcceptInputType_white: BooleanInput;\n\n /**\n * Sets the height of the component. If you set that value the inner `<CProgressBar>` will automatically resize accordingly.\n * @type number\n */\n @Input()\n set height(value: number) {\n this._height = coerceNumberProperty(value);\n }\n get height() {\n return this._height;\n }\n private _height: number = 0;\n\n /**\n * Displays thin progress.\n * @type boolean\n */\n @Input()\n set thin(value: boolean) {\n this._thin = coerceBooleanProperty(value);\n }\n get thin(): boolean {\n return this._thin;\n }\n private _thin = false;\n\n /**\n * Change the default color to white.\n * @type boolean\n */\n @Input()\n get white(): boolean {\n return this._white;\n }\n set white(value: boolean) {\n this._white = coerceBooleanProperty(value);\n }\n private _white = false;\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n progress: true,\n 'progress-thin': this.thin,\n 'progress-white': this.white\n };\n }\n\n @HostBinding('style.height')\n get hostStyle(): any {\n return !!this.height ? `${this.height}px` : '';\n }\n}\n","import { Component, ElementRef, HostBinding, Input, OnChanges, OnInit, Renderer2, SimpleChanges } from '@angular/core';\nimport { Colors } from '../coreui.types';\nimport { BooleanInput, coerceBooleanProperty, coerceNumberProperty, NumberInput } from '@angular/cdk/coercion';\n\n@Component({\n selector: 'c-progress-bar',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class ProgressBarComponent implements OnInit, OnChanges {\n\n static ngAcceptInputType_animated: BooleanInput;\n static ngAcceptInputType_value: NumberInput;\n\n /**\n * Use to animate the stripes right to left via CSS3 animations.\n * @type boolean\n */\n @Input()\n set animated(value: boolean) {\n this._animated = coerceBooleanProperty(value);\n }\n get animated() {\n return this._animated;\n }\n private _animated = false;\n\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @values 'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light'\n */\n @Input() color?: Colors;\n // TODO: check if this is necessary.\n @Input() precision = 0;\n /**\n * The percent to progress the ProgressBar.\n */\n @Input()\n set value(value: number) {\n this._value = coerceNumberProperty(value);\n };\n get value() {\n return this._value;\n }\n private _value = 0;\n /**\n * Set the progress bar variant to optional striped.\n * @values 'striped'\n */\n @Input() variant?: 'striped';\n\n /**\n * Set default html role attribute.\n * @type string\n */\n @Input()\n @HostBinding('attr.role') role = 'progressbar';\n private state = {\n percent: 0,\n min: 0,\n max: 100\n };\n\n constructor(\n private renderer: Renderer2,\n private hostElement: ElementRef\n ) { }\n\n get min(): number {\n return this.state.min;\n }\n\n @Input()\n set min(value: number) {\n this.state.min = isNaN(value) ? 0 : value;\n }\n\n get max(): number {\n return this.state.max;\n }\n\n @Input()\n set max(value: number) {\n this.state.max = isNaN(value) || value <= 0 || value === this.min ? 100 : value;\n }\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'progress-bar': true,\n 'progress-bar-animated': this.animated,\n [`progress-bar-${this.variant}`]: !!this.variant,\n [`bg-${this.color}`]: !!this.color\n };\n }\n\n ngOnInit(): void {\n this.setValues();\n }\n\n setPercent(): void {\n this.state.percent = +((this.value / (this.max - this.min)) * 100).toFixed(this.precision);\n }\n\n setValues(): void {\n this.setPercent();\n const host: HTMLElement = this.hostElement.nativeElement;\n this.renderer.setStyle(host, 'width', `${this.state.percent}%`);\n this.renderer.setAttribute(host, 'aria-valuenow', String(this.value));\n this.renderer.setAttribute(host, 'aria-valuemin', String(this.min));\n this.renderer.setAttribute(host, 'aria-valuemax', String(this.max));\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n this.setValues();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { ProgressComponent } from './progress.component';\nimport { ProgressBarComponent } from './progress-bar.component';\n\n@NgModule({\n exports: [\n ProgressComponent,\n ProgressBarComponent\n ],\n imports: [\n ProgressComponent,\n ProgressBarComponent\n ]\n})\nexport class ProgressModule {}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nimport {SidebarComponent} from './sidebar/sidebar.component';\n\nexport interface ISidebarAction {\n unfoldable?: boolean | 'toggle';\n visible?: boolean | 'toggle';\n toggle?: 'visible' | 'unfoldable';\n narrow?: boolean;\n mobile?: boolean;\n sidebar?: SidebarComponent;\n id?: string;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SidebarService {\n\n private sidebarState = new BehaviorSubject<ISidebarAction>({});\n sidebarState$ = this.sidebarState.asObservable();\n\n constructor() {}\n\n toggle(action: ISidebarAction): void {\n this.sidebarState.next(action);\n }\n}\n","import { Inject, Injectable, Renderer2 } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { SidebarService } from '../sidebar.service';\nimport { SidebarComponent } from '../sidebar/sidebar.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SidebarBackdropService {\n\n private backdrop!: HTMLElement;\n renderer!: Renderer2;\n private clickListener = (): void => {};\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n // private rendererFactory: RendererFactory2,\n private sidebarService: SidebarService\n ) {\n // this.renderer = rendererFactory.createRenderer(null, null);\n }\n\n setBackdrop(sidebar: SidebarComponent): void {\n const backdrop = this.document.getElementsByClassName('sidebar-backdrop');\n // console.log(`sidebar-${this.id}`, ' setBackdrop', backdrop);\n if (backdrop.length === 0) {\n this.backdrop = this.renderer.createElement('div');\n this.renderer.addClass(this.backdrop, 'sidebar-backdrop');\n this.renderer.appendChild(this.document.body, this.backdrop);\n this.clickListener = this.renderer.listen(this.backdrop, 'click', (e) => {\n // console.log(`sidebar-${this.id}`, ' backdrop click', e);\n this.sidebarService.toggle({ toggle: 'visible', sidebar });\n });\n }\n // console.log(this.backdrop, sidebar.sidebarState.mobile, sidebar.sidebarState.show);\n if (this.backdrop && sidebar.sidebarState.mobile && sidebar.sidebarState.visible) {\n this.renderer.addClass(this.backdrop, 'fade');\n this.renderer.addClass(this.backdrop, 'show');\n // this.renderer.removeClass(this.backdrop, 'd-none');\n } else {\n this.renderer.removeClass(this.backdrop, 'show');\n this.renderer.removeClass(this.backdrop, 'fade');\n // this.renderer.addClass(this.backdrop, 'd-none');\n }\n }\n\n clearBackdrop(): void {\n if (this.backdrop) {\n // clear backdrop click Listener\n this.clickListener();\n // this.renderer.listen(this.backdrop, 'click', (e): void => {} );\n this.renderer.removeChild(this.document.body, this.backdrop);\n // @ts-ignore\n this.backdrop = undefined;\n }\n }\n\n}\n","import {\n Component,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n SimpleChanges,\n} from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\nimport { Subscription } from 'rxjs';\n\nimport { ISidebarAction, SidebarService } from '../sidebar.service';\nimport { SidebarBackdropService } from '../sidebar-backdrop/sidebar-backdrop.service';\n\n@Component({\n selector: 'c-sidebar',\n exportAs: 'cSidebar',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class SidebarComponent implements OnChanges, OnDestroy, OnInit {\n static ngAcceptInputType_narrow: BooleanInput;\n static ngAcceptInputType_overlaid: BooleanInput;\n static ngAcceptInputType_unfoldable: BooleanInput;\n static ngAcceptInputType_visible: BooleanInput;\n\n #narrow = false;\n #overlaid = false;\n #unfoldable = false;\n #visible = false;\n #onMobile = false;\n #layoutChangeSubscription!: Subscription;\n #stateToggleSubscription!: Subscription;\n\n state: ISidebarAction = {\n sidebar: this,\n };\n\n #stateInitial = {\n narrow: false,\n visible: false,\n unfoldable: false,\n };\n\n /**\n * Sets if the color of text should be colored for a light or dark background. [docs]\n *\n * @type 'dark' | 'light'\n */\n @Input() colorScheme?: 'dark' | 'light';\n\n /**\n * Sets html attribute id. [docs]\n *\n * @type string\n */\n @Input() id?: string;\n\n /**\n * Make sidebar narrow. [docs]\n * @type boolean\n */\n @Input()\n set narrow(value: boolean) {\n this.#narrow = coerceBooleanProperty(value);\n }\n\n get narrow() {\n return this.#narrow;\n }\n\n /**\n * Set sidebar to overlaid variant.\n * @type boolean\n */\n @Input()\n set overlaid(value: boolean) {\n this.#overlaid = coerceBooleanProperty(value);\n }\n\n get overlaid() {\n return this.#overlaid;\n }\n\n /**\n * Components placement, there’s no default placement. [docs]\n * @type 'start' | 'end'\n */\n @Input() placement?: 'start' | 'end';\n\n /**\n * Place sidebar in non-static positions. [docs]\n * @default 'fixed'\n */\n @Input() position: 'fixed' | 'sticky' = 'fixed';\n\n /**\n * Size the component small, large, or extra large. [docs]\n */\n @Input() size?: 'sm' | 'lg' | 'xl';\n\n /**\n * Expand narrowed sidebar on hover. [docs]\n */\n @Input()\n set unfoldable(value: boolean) {\n this.#unfoldable = coerceBooleanProperty(value);\n }\n\n get unfoldable() {\n return this.#unfoldable;\n }\n\n /**\n * Toggle the visibility of sidebar component. [docs]\n */\n @Input()\n set visible(value: boolean) {\n const visible = coerceBooleanProperty(value);\n if (this.#visible !== visible) {\n this.#visible = visible;\n this.visibleChange.emit(this.#visible);\n }\n }\n\n get visible() {\n return this.#visible;\n }\n\n /**\n * Event emitted on visibility change. [docs]\n * @type boolean\n */\n @Output() visibleChange = new EventEmitter<boolean>();\n\n set sidebarState(value: ISidebarAction) {\n const newState = value;\n if ('toggle' in newState) {\n if (newState.toggle === 'visible') {\n newState.visible = !this.state.visible;\n this.visible = newState.visible;\n } else if (newState.toggle === 'unfoldable') {\n newState.unfoldable = !this.state.unfoldable;\n this.unfoldable = newState.unfoldable;\n }\n } else {\n this.visible = (newState.visible ?? this.visible) && !this.overlaid;\n }\n this.state = {\n ...this.state,\n ...newState,\n };\n this.state.mobile && this.state.visible\n ? this.backdropService.setBackdrop(this)\n : this.backdropService.clearBackdrop();\n }\n\n get sidebarState(): ISidebarAction {\n return this.state;\n }\n\n get getMobileBreakpoint(): string {\n const element: Element = this.document.documentElement;\n const mobileBreakpoint =\n getComputedStyle(element).getPropertyValue('--cui-mobile-breakpoint') ||\n 'md';\n const breakpointValue =\n getComputedStyle(element).getPropertyValue(\n `--cui-breakpoint-${mobileBreakpoint.trim()}`\n ) || '768px';\n return `${parseFloat(breakpointValue.trim()) - 0.02}px` || '767.98px';\n }\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n private renderer: Renderer2,\n private breakpointObserver: BreakpointObserver,\n private sidebarService: SidebarService,\n private backdropService: SidebarBackdropService\n ) {\n this.backdropService.renderer = renderer;\n }\n\n @HostBinding('class')\n get getClasses(): any {\n const { mobile, visible } = this.sidebarState;\n return {\n sidebar: true,\n 'sidebar-fixed': this.position === 'fixed' && !mobile,\n 'sidebar-narrow': this.narrow && !this.unfoldable,\n 'sidebar-narrow-unfoldable': this.unfoldable,\n 'sidebar-overlaid': this.overlaid,\n [`sidebar-${this.placement}`]: !!this.placement,\n [`sidebar-${this.colorScheme}`]: !!this.colorScheme,\n [`sidebar-${this.size}`]: !!this.size,\n show: visible && this.#onMobile,\n hide: !visible,\n };\n }\n\n ngOnInit(): void {\n this.setInitialState();\n this.layoutChangeSubscribe();\n this.stateToggleSubscribe();\n }\n\n ngOnDestroy(): void {\n this.stateToggleSubscribe(false);\n this.layoutChangeSubscribe(false);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const oldStateMap = new Map(Object.entries(this.state));\n const newStateMap = new Map();\n newStateMap.set('sidebar', this);\n\n const propList = ['visible', 'unfoldable', 'narrow'];\n\n for (const propName in changes) {\n if (propList.includes(propName)) {\n if (changes[propName] && !changes[propName].firstChange) {\n const value = coerceBooleanProperty(changes[propName].currentValue);\n if (oldStateMap.get(propName) !== value) {\n newStateMap.set(propName, value);\n }\n }\n }\n }\n\n if (newStateMap.size > 1) {\n const state = Object.fromEntries(newStateMap.entries());\n this.sidebarService.toggle(state);\n }\n }\n\n setInitialState(): void {\n this.#stateInitial = {\n narrow: this.narrow,\n visible: this.visible,\n unfoldable: this.unfoldable,\n };\n this.sidebarService.toggle({\n ...this.#stateInitial,\n sidebar: this,\n });\n }\n\n private stateToggleSubscribe(subscribe: boolean = true): void {\n if (subscribe) {\n this.#stateToggleSubscription =\n this.sidebarService.sidebarState$.subscribe((state) => {\n if (this === state.sidebar || this.id === state.id) {\n this.sidebarState = state;\n }\n });\n } else {\n this.#stateToggleSubscription?.unsubscribe();\n }\n }\n\n layoutChangeSubscribe(subscribe: boolean = true): void {\n const onMobile = `(max-width: ${this.getMobileBreakpoint})`;\n\n if (subscribe) {\n const layoutChanges = this.breakpointObserver.observe([onMobile]);\n\n this.#layoutChangeSubscription = layoutChanges.subscribe(\n (result: BreakpointState) => {\n const isOnMobile = result.breakpoints[onMobile];\n const isUnfoldable = isOnMobile ? false : this.unfoldable;\n if (this.#onMobile !== isOnMobile) {\n this.#onMobile = isOnMobile;\n this.sidebarService.toggle({\n mobile: isOnMobile,\n unfoldable: isUnfoldable,\n visible: isOnMobile ? !isOnMobile : this.#stateInitial.visible,\n sidebar: this,\n });\n }\n }\n );\n } else {\n this.#layoutChangeSubscription?.unsubscribe();\n }\n }\n}\n","import { Component, HostBinding, Input, OnInit } from '@angular/core';\nimport { NgClass, NgIf } from '@angular/common';\nimport { RouterLink } from '@angular/router';\n\nimport { HtmlAttributesDirective } from '../../shared';\n\n@Component({\n selector: 'c-sidebar-brand',\n templateUrl: './sidebar-brand.component.html',\n standalone: true,\n imports: [RouterLink, HtmlAttributesDirective, NgIf, NgClass]\n})\nexport class SidebarBrandComponent implements OnInit {\n\n @Input() brandFull?: any;\n @Input() brandNarrow?: any;\n @Input() routerLink?: any[] | string;\n\n @HostBinding('class.sidebar-brand') sidebarBrandClass = true;\n\n brandImg = false;\n\n ngOnInit(): void {\n this.brandImg = Boolean(this.brandFull || this.brandNarrow);\n }\n}\n","<ng-template [ngIf]=\"brandImg\">\n <a [routerLink]=\"routerLink\">\n <img *ngIf=\"brandFull\"\n [cHtmlAttr]=\"brandFull\"\n [ngClass]=\"'sidebar-brand-full'\">\n <img *ngIf=\"brandNarrow\"\n [cHtmlAttr]=\"brandNarrow\"\n [ngClass]=\"'sidebar-brand-narrow'\">\n </a>\n</ng-template>\n<ng-template [ngIf]=\"!brandImg\">\n <ng-content></ng-content>\n</ng-template>\n","import {Directive, HostListener, Input} from '@angular/core';\n\nimport {SidebarService} from '../sidebar.service';\n\n/**\n * Allows the sidebar to be toggled/folded via click on host element.\n */\n@Directive({\n selector: '[cSidebarToggle]',\n exportAs: 'cSidebarToggle',\n standalone: true\n})\nexport class SidebarToggleDirective {\n /**\n * Id of sidebar for toggle action. [docs]\n *\n * @type string\n */\n @Input('cSidebarToggle') id?: string;\n /**\n * Sidebar property name for toggle action. [docs]\n *\n * @type 'visible' | 'unfoldable'\n * @default 'visible'\n */\n @Input() toggle: 'visible' | 'unfoldable' = 'visible'\n\n constructor(\n private sidebarService: SidebarService\n ) {}\n\n @HostListener('click', ['$event'])\n toggleOpen($event: any): void {\n $event.preventDefault();\n this.sidebarService.toggle({ toggle: this.toggle, id: this.id });\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'c-sidebar-toggler',\n template: ``,\n standalone: true\n})\nexport class SidebarTogglerComponent {\n\n @HostBinding('attr.role')\n @Input() role = 'button';\n\n @HostBinding('class.sidebar-toggler') sidebarTogglerClass = true;\n\n}\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'c-sidebar-header',\n template: `<ng-content></ng-content>`,\n standalone: true\n})\nexport class SidebarHeaderComponent {\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'sidebar-header': true\n };\n }\n}\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'c-sidebar-footer',\n template: `<ng-content></ng-content>`,\n standalone: true\n})\nexport class SidebarFooterComponent {\n\n constructor() { }\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'sidebar-footer': true\n };\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { INavData } from './sidebar-nav';\n\n@Injectable()\nexport abstract class SidebarNavService {\n /**\n * Returns a sidebar-nav items config NavData\n */\n abstract getSidebarNavItemsConfig(): INavData[];\n}\n\n@Injectable()\nexport class SidebarNavHelper {\n\n itemType(item: INavData): string {\n if (item.divider) {\n return 'divider';\n } else if (item.title) {\n return 'title';\n } else if (item.children && item.children.length > 0 ) {\n return 'group';\n } else if (item.label) {\n return 'label';\n } else if (!Object.keys(item).length) {\n return 'empty';\n } else {\n return 'link';\n }\n }\n\n public isActive(router: any, item: INavData): boolean {\n return router.isActive(item.url, false);\n }\n\n public hasBadge = (item: INavData) => Boolean(item.badge);\n public hasIcon = (item: INavData) => Boolean(item.icon) || item.icon === '';\n public hasIconComponent = (item: INavData) => Boolean(item.iconComponent);\n\n public getIconClass(item: INavData): any {\n const classes = {\n 'nav-icon': true\n };\n const icon = item.icon;\n // @ts-ignore\n classes[icon] = this.hasIcon(item);\n return classes;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { SidebarNavGroupComponent } from './sidebar-nav.component';\n\nexport interface ISidebarAction {\n open?: boolean;\n sidebarNavGroup?: SidebarNavGroupComponent;\n}\n\n@Injectable()\nexport class SidebarNavGroupService {\n\n constructor() { }\n\n private sidebarNavGroupState = new BehaviorSubject<ISidebarAction>({});\n sidebarNavGroupState$ = this.sidebarNavGroupState.asObservable();\n\n toggle(action: ISidebarAction): void {\n this.sidebarNavGroupState.next(action);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'cSidebarNavIcon',\n standalone: true\n})\nexport class SidebarNavIconPipe implements PipeTransform {\n\n transform(item: any, args?: any): any {\n const icon = item.icon;\n return {\n 'nav-icon': true,\n [`${icon}`]: !!icon\n };\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'cSidebarNavBadge',\n standalone: true\n})\nexport class SidebarNavBadgePipe implements PipeTransform {\n\n transform(item: any, args?: any): any {\n const badge = item.badge;\n return {\n badge: true,\n 'ms-auto': true,\n 'badge-sm': !badge.size,\n [`badge-${badge.size}`]: !!badge.size,\n [`bg-${badge.color}`]: !!badge.color,\n [`${badge.class}`]: !!badge.class\n };\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'cSidebarNavLink',\n standalone: true\n})\nexport class SidebarNavLinkPipe implements PipeTransform {\n\n transform(item: any): any {\n\n const disabled = item?.attributes?.disabled;\n\n return {\n 'nav-link': true,\n disabled,\n 'btn-link': disabled,\n [`nav-link-${item.variant}`]: !!item.variant\n };\n }\n}\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { CommonModule, NgIf } from '@angular/common';\nimport { NavigationEnd, Router, RouterModule } from '@angular/router';\nimport { Observable, Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\n// import {SidebarService} from '../sidebar.service';\nimport { HtmlAttributesDirective } from '../../shared';\nimport { SidebarNavHelper } from './sidebar-nav.service';\nimport { INavData } from './sidebar-nav';\nimport { SidebarNavLinkPipe } from './sidebar-nav-link.pipe';\nimport { SidebarNavBadgePipe } from './sidebar-nav-badge.pipe';\nimport { SidebarNavIconPipe } from './sidebar-nav-icon.pipe';\nimport { IconModule } from '@coreui/icons-angular'\n\n@Component({\n selector: 'c-sidebar-nav-link-content',\n template: `\n <ng-container *ngIf=\"true\">\n <ng-container>{{item?.name ?? ''}}</ng-container>\n </ng-container>\n `,\n providers: [SidebarNavHelper],\n standalone: true,\n imports: [NgIf]\n})\nexport class SidebarNavLinkContentComponent {\n @Input() item?: INavData;\n\n constructor(\n public helper: SidebarNavHelper\n ) { }\n}\n\n@Component({\n selector: 'c-sidebar-nav-link',\n templateUrl: './sidebar-nav-link.component.html',\n providers: [SidebarNavHelper],\n standalone: true,\n imports: [CommonModule, RouterModule, HtmlAttributesDirective, SidebarNavLinkContentComponent, SidebarNavLinkPipe, SidebarNavBadgePipe, SidebarNavIconPipe, IconModule]\n})\nexport class SidebarNavLinkComponent implements OnInit, OnDestroy {\n\n // tslint:disable-next-line:variable-name\n protected _item: INavData = {};\n\n @Input()\n set item(item: INavData) {\n this._item = JSON.parse(JSON.stringify(item));\n }\n\n get item(): INavData {\n return this._item;\n }\n\n @Output() linkClick = new EventEmitter();\n\n // @ts-ignore\n public linkType: string;\n // @ts-ignore\n public href: string;\n // @ts-ignore\n public linkActive: boolean;\n // @ts-ignore\n private url: string;\n\n private navigationEndObservable: Observable<NavigationEnd>;\n // @ts-ignore\n private navSubscription: Subscription;\n\n constructor(\n public router: Router\n // private renderer: Renderer2,\n // private hostElement: ElementRef,\n // private sidebarService: SidebarService\n ) {\n this.navigationEndObservable = router.events.pipe(\n filter(event => {\n return event instanceof NavigationEnd;\n })\n ) as Observable<NavigationEnd>;\n }\n\n ngOnInit(): void {\n // @ts-ignore\n this.url = typeof this.item.url === 'string' ? this.item.url : this.router.serializeUrl(this.router.createUrlTree(this.item.url));\n this.linkType = this.getLinkType();\n this.href = this.isDisabled() ? '' : (this.item.href || this.url);\n this.linkActive = this.router.url.split(/[?#(;]/)[0] === this.href.split(/[?#(;]/)[0];\n this.navSubscription = this.navigationEndObservable.subscribe(event => {\n const itemUrlArray = this.href.split(/[?#(;]/)[0].split('/');\n const urlArray = event.urlAfterRedirects.split(/[?#(;]/)[0].split('/');\n this.linkActive = itemUrlArray.every((value, index) => value === urlArray[index]);\n });\n }\n\n ngOnDestroy(): void {\n this.navSubscription?.unsubscribe();\n }\n\n public getLinkType(): string {\n return this.isDisabled() ? 'disabled' : this.isExternalLink() ? 'external' : 'link';\n }\n\n public isDisabled(): boolean {\n return this.item?.attributes?.['disabled'];\n }\n\n public isExternalLink(): boolean {\n const linkPath = Array.isArray(this.item.url) ? this.item.url[0] : this.item.url;\n return !!this.item.href || linkPath.substring(0, 4) === 'http';\n }\n\n linkClicked(): void {\n this.linkClick.emit();\n }\n\n // public hideMobile() {\n // // todo: proper scrollIntoView() after NavigationEnd\n // setTimeout(() => {\n // console.log('scroll')\n // this.hostElement.nativeElement.scrollIntoView();\n // }, 1000)\n // this.sidebarService.toggle({open: false, breakpoint: ''});\n // }\n}\n","<ng-container [ngSwitch]=\"linkType\">\n <a *ngSwitchCase=\"'disabled'\"\n [ngClass]=\"item | cSidebarNavLink\"\n [cHtmlAttr]=\"item.attributes ?? {}\"\n >\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: {$implicit: item}\"></ng-container>\n <c-sidebar-nav-link-content [item]=\"item\"></c-sidebar-nav-link-content>\n <span *ngIf=\"item.badge\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge?.text }}</span>\n </a>\n <a *ngSwitchCase=\"'external'\"\n [ngClass]=\"item | cSidebarNavLink\"\n [href]=\"href\"\n [cHtmlAttr]=\"item.attributes ?? {}\"\n (click)=\"linkClicked()\"\n >\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: {$implicit: item}\"></ng-container>\n <c-sidebar-nav-link-content [item]=\"item\"></c-sidebar-nav-link-content>\n <span *ngIf=\"item.badge\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge?.text }}</span>\n </a>\n <a *ngSwitchDefault\n [ngClass]=\"item | cSidebarNavLink\"\n [cHtmlAttr]=\"item.attributes ?? {}\"\n [target]=\"item.attributes?.['target']\"\n [queryParams]=\"item.linkProps?.queryParams ?? null\"\n [fragment]=\"item.linkProps?.fragment\"\n [queryParamsHandling]=\"item.linkProps?.queryParamsHandling\"\n [preserveFragment]=\"item.linkProps?.preserveFragment ?? false\"\n [skipLocationChange]=\"item.linkProps?.skipLocationChange ?? false\"\n [replaceUrl]=\"item.linkProps?.replaceUrl ?? false\"\n [state]=\"item.linkProps?.state ?? {}\"\n [routerLink]=\"item.url\"\n routerLinkActive=\"active\"\n [routerLinkActiveOptions]=\"item.linkProps?.routerLinkActiveOptions ?? { exact: false }\"\n (click)=\"linkClicked()\"\n >\n<!-- [class.active]=\"linkActive\"-->\n <ng-container *ngTemplateOutlet=\"iconTemplate ; context: {$implicit: item}\"></ng-container>\n <c-sidebar-nav-link-content [item]=\"item\"></c-sidebar-nav-link-content>\n <span *ngIf=\"item.badge\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge?.text }}</span>\n </a>\n</ng-container>\n\n<ng-template #iconTemplate let-item>\n <i *ngIf=\"item?.icon\" [ngClass]=\"item | cSidebarNavIcon\"></i>\n <ng-template [ngIf]=\"item?.iconComponent\">\n <svg\n [cIcon]=\"item.iconComponent?.content\"\n [name]=\"item.iconComponent?.name\"\n [customClasses]=\"item | cSidebarNavIcon\"\n ></svg>\n </ng-template>\n <span *ngIf=\"!item?.icon && !item?.iconComponent\" [ngClass]=\"item | cSidebarNavIcon\"></span>\n</ng-template>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { NgClass, NgIf } from '@angular/common';\n\nimport { HtmlAttributesDirective } from '../../shared';\nimport { SidebarNavHelper } from './sidebar-nav.service';\nimport { SidebarNavBadgePipe } from './sidebar-nav-badge.pipe';\n\n@Component({\n selector: 'c-sidebar-nav-label',\n templateUrl: './sidebar-nav-label.component.html',\n standalone: true,\n imports: [HtmlAttributesDirective, SidebarNavBadgePipe, NgClass, NgIf]\n})\nexport class SidebarNavLabelComponent implements OnInit {\n\n constructor(\n public helper: SidebarNavHelper\n ) { }\n\n @Input() item: any;\n\n private classes = {\n 'c-nav-label': true,\n 'c-active': true\n };\n private iconClasses = {};\n\n ngOnInit() {\n this.iconClasses = this.helper.getIconClass(this.item);\n }\n\n getItemClass() {\n const itemClass = this.item.class;\n // @ts-ignore\n this.classes[itemClass] = !!itemClass;\n return this.classes;\n }\n\n getLabelIconClass() {\n const variant = `text-${this.item.label.variant}`;\n // @ts-ignore\n this.iconClasses[variant] = !!this.item.label.variant;\n const labelClass = this.item.label.class;\n // @ts-ignore\n this.iconClasses[labelClass] = !!labelClass;\n return this.iconClasses;\n }\n}\n","<a [ngClass]=\"getItemClass()\"\n href=\"{{item.url}}\"\n [cHtmlAttr]=\"item.attributes\">\n <i *ngIf=\"helper.hasIcon(item)\" [ngClass]=\"getLabelIconClass()\"></i>\n <ng-container>{{ item.name }}</ng-container>\n <span *ngIf=\"helper.hasBadge(item)\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge.text }}</span>\n</a>\n","import {Component, ElementRef, Input, OnInit, Renderer2} from '@angular/core';\n\n@Component({\n selector: 'c-sidebar-nav-title',\n template: '',\n standalone: true\n})\nexport class SidebarNavTitleComponent implements OnInit {\n @Input() item: any;\n\n constructor(\n private el: ElementRef,\n private renderer: Renderer2,\n ) {}\n\n ngOnInit(): void {\n const nativeElement: HTMLElement = this.el.nativeElement;\n const name = this.renderer.createText(this.item.name);\n\n if ( this.item.class ) {\n const classes = this.item.class;\n this.renderer.addClass(nativeElement, classes);\n }\n\n if ( this.item.wrapper ) {\n const wrapper = this.renderer.createElement(this.item.wrapper.element);\n this.addAttribs(this.item.wrapper.attributes, wrapper);\n this.renderer.appendChild(wrapper, name);\n this.renderer.appendChild(nativeElement, wrapper);\n } else {\n this.renderer.appendChild(nativeElement, name);\n }\n }\n\n private addAttribs(attribs: { [x: string]: any; }, element: any): void {\n if (attribs) {\n for (const attr in attribs) {\n if (attr === 'style' && typeof(attribs[attr]) === 'object' ) {\n this.setStyle(attribs[attr], element);\n } else if (attr === 'class') {\n this.addClass(attribs[attr], element);\n } else {\n this.setAttrib(attr, attribs[attr], element);\n }\n }\n }\n }\n\n private setStyle(styles: { [x: string]: any; }, el: any): void {\n for (const style in styles) {\n if (style) {\n this.renderer.setStyle(el, style, styles[style]);\n }\n }\n }\n\n private addClass(classes: string | Array<string>, el: any): void {\n const classArray = (Array.isArray(classes) ? classes : classes.split(' '));\n classArray.filter((element) => element.length > 0).forEach(element => {\n this.renderer.addClass(el, element );\n });\n }\n\n private setAttrib(key: string, value: string, el: any): void {\n this.renderer.setAttribute(el, key, value );\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'c-sidebar-nav-divider',\n template: ``,\n standalone: true\n})\nexport class SidebarNavDividerComponent {\n\n @Input() item: any;\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport {SidebarNavHelper} from './sidebar-nav.service';\n\n@Pipe({\n name: 'cSidebarNavItemClass',\n standalone: true\n})\nexport class SidebarNavItemClassPipe implements PipeTransform {\n\n constructor(\n public helper: SidebarNavHelper\n ) {}\n\n // transform(item: any, ...args: any[]): any {\n transform(item: any, args?: any[]): any {\n const itemType = this.helper.itemType(item);\n let itemClass;\n if (['divider', 'title'].includes(itemType)) {\n itemClass = `nav-${itemType}`;\n } else if (itemType === 'group') {\n // itemClass = 'c-sidebar-nav-group' ;\n itemClass = '' ;\n } else {\n itemClass = 'nav-item';\n }\n return item.class ? `${itemClass} ${item.class}` : itemClass;\n }\n}\n","import { animate, AnimationEvent, state, style, transition, trigger } from '@angular/animations';\nimport {\n NgClass,\n NgForOf,\n NgIf,\n NgStyle,\n NgSwitch,\n NgSwitchCase,\n NgSwitchDefault,\n NgTemplateOutlet\n} from '@angular/common';\nimport {\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Renderer2,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport { NavigationEnd, Router, RouterModule } from '@angular/router';\nimport { Observable, Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { SidebarService } from '../sidebar.service';\nimport { SidebarComponent } from '../sidebar/sidebar.component';\nimport { INavData } from './sidebar-nav';\nimport { SidebarNavHelper } from './sidebar-nav.service';\nimport { SidebarNavGroupService } from './sidebar-nav-group.service';\nimport { HtmlAttributesDirective } from '../../shared';\nimport { IconModule } from '@coreui/icons-angular';\nimport { SidebarNavIconPipe } from './sidebar-nav-icon.pipe';\nimport { SidebarNavBadgePipe } from './sidebar-nav-badge.pipe';\nimport { SidebarNavLinkComponent } from './sidebar-nav-link.component';\nimport { SidebarNavLabelComponent } from './sidebar-nav-label.component';\nimport { SidebarNavTitleComponent } from './sidebar-nav-title.component';\nimport { SidebarNavDividerComponent } from './sidebar-nav-divider.component';\nimport { SidebarNavItemClassPipe } from './sidebar-nav-item-class.pipe';\n\n@Component({\n selector: 'c-sidebar-nav-group',\n templateUrl: './sidebar-nav-group.component.html',\n styleUrls: ['./sidebar-nav-group.component.scss'],\n providers: [SidebarNavHelper, SidebarNavGroupService],\n standalone: true,\n imports: [\n HtmlAttributesDirective,\n NgTemplateOutlet,\n NgIf,\n NgClass,\n IconModule,\n SidebarNavIconPipe,\n SidebarNavBadgePipe,\n forwardRef(() => SidebarNavComponent),\n NgStyle\n ],\n animations: [\n trigger('openClose', [\n state('open', style({\n height: '*'\n })),\n state('closed', style({\n height: '0px'\n })),\n transition('open <=> closed', [\n animate('.15s ease')\n ])\n ])\n ]\n})\nexport class SidebarNavGroupComponent implements OnInit, OnDestroy {\n\n constructor(\n private router: Router,\n private renderer: Renderer2,\n private hostElement: ElementRef,\n public helper: SidebarNavHelper,\n private sidebarNavGroupService: SidebarNavGroupService\n ) {\n this.navigationEndObservable = router.events.pipe(\n filter((event: any) => event instanceof NavigationEnd)\n ) as Observable<NavigationEnd>;\n }\n\n @Input() item: any;\n @Input() dropdownMode: 'path' | 'none' | 'close' = 'path';\n @Input() show?: boolean;\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'nav-group': true,\n show: this.open\n };\n }\n\n @ViewChild(forwardRef(() => SidebarNavComponent), { read: ElementRef }) sidebarNav!: ElementRef;\n\n navigationEndObservable: Observable<NavigationEnd>;\n navSubscription!: Subscription;\n navGroupSubscription!: Subscription;\n\n public open!: boolean;\n public navItems: INavData[] = [];\n public display: any = { display: 'block' };\n\n ngOnInit(): void {\n\n this.navItems = [...this.item.children];\n\n this.navSubscription = this.navigationEndObservable.subscribe((event: NavigationEnd) => {\n if (this.dropdownMode !== 'none') {\n const samePath = this.samePath(event.url);\n this.openGroup(samePath);\n }\n });\n\n if (this.samePath(this.router.routerState.snapshot.url)) {\n this.openGroup(true);\n }\n\n this.navGroupSubscription = this.sidebarNavGroupService.sidebarNavGroupState$.subscribe(next => {\n if (this.dropdownMode === 'close' && next.sidebarNavGroup && next.sidebarNavGroup !== this) {\n if (next.sidebarNavGroup.item.url.startsWith(this.item.url)) {\n return;\n }\n if (this.samePath(this.router.routerState.snapshot.url)) {\n this.openGroup(true);\n return;\n }\n this.openGroup(false);\n }\n });\n }\n\n samePath(url: string): boolean {\n // console.log('item:', this.item.name, this.item.url, 'url:', url);\n const itemArray = this.item.url?.split('/');\n const urlArray = url.split('/');\n return itemArray?.every((value: string, index: number) => {\n // console.log(value === urlArray[index], 'value:', value, 'index:', index, urlArray[index], url);\n return value === urlArray[index];\n });\n }\n\n openGroup(open: boolean): void {\n this.open = open;\n }\n\n toggleGroup($event: any): void {\n $event.preventDefault();\n this.openGroup(!this.open);\n if (this.open) {\n this.sidebarNavGroupService.toggle({ open: this.open, sidebarNavGroup: this });\n }\n }\n\n ngOnDestroy(): void {\n this.navSubscription?.unsubscribe();\n }\n\n onAnimationStart($event: AnimationEvent) {\n this.display = { display: 'block' };\n if ($event.toState === 'open') {\n const host = this.sidebarNav.nativeElement;\n this.renderer.setStyle(host, 'height', `${host['scrollHeight']}px`);\n }\n }\n\n onAnimationDone($event: AnimationEvent) {\n if ($event.toState === 'open') {\n const host = this.sidebarNav.nativeElement;\n this.renderer.setStyle(host, 'height', 'auto');\n }\n if ($event.toState === 'closed') {\n setTimeout(() => {\n this.display = null;\n });\n }\n }\n}\n\n@Component({\n selector: 'c-sidebar-nav',\n templateUrl: './sidebar-nav.component.html',\n standalone: true,\n imports: [\n NgForOf,\n NgClass,\n NgSwitch,\n NgSwitchCase,\n NgSwitchDefault,\n HtmlAttributesDirective,\n SidebarNavLinkComponent,\n SidebarNavLabelComponent,\n SidebarNavTitleComponent,\n SidebarNavDividerComponent,\n SidebarNavGroupComponent,\n SidebarNavItemClassPipe,\n RouterModule\n ]\n})\nexport class SidebarNavComponent implements OnChanges {\n\n constructor(\n @Optional() public sidebar: SidebarComponent,\n public helper: SidebarNavHelper,\n public router: Router,\n private renderer: Renderer2,\n private hostElement: ElementRef,\n private sidebarService: SidebarService\n ) { }\n\n @Input() navItems?: INavData[] = [];\n @Input() dropdownMode: 'path' | 'none' | 'close' = 'path';\n @Input() groupItems?: boolean;\n @Input() compact?: boolean;\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'sidebar-nav': !this.groupItems,\n compact: !this.groupItems && !!this.compact\n };\n }\n\n @HostBinding('class.nav-group-items')\n get sidebarNavGroupItemsClass(): boolean {\n return !!this.groupItems;\n }\n\n @HostBinding('attr.role') role = 'nav';\n\n public navItemsArray: INavData[] = [];\n\n public ngOnChanges(changes: SimpleChanges): void {\n this.navItemsArray = Array.isArray(this.navItems) ? this.navItems.slice() : [];\n }\n\n public hideMobile(): void {\n // todo: proper scrollIntoView() after NavigationEnd\n if (this.sidebar && this.sidebar.sidebarState.mobile) {\n this.sidebarService.toggle({ toggle: 'visible', sidebar: this.sidebar });\n }\n }\n}\n","<a (click)=\"toggleGroup($event)\"\n [cHtmlAttr]=\"item.attributes\"\n class=\"nav-link nav-group-toggle\"\n href>\n <ng-container *ngTemplateOutlet=\"iconTemplate ; context: {$implicit: item}\"></ng-container>\n <ng-container>{{ item.name }}</ng-container>\n <span *ngIf=\"helper.hasBadge(item)\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge.text }}</span>\n</a>\n<c-sidebar-nav\n (@openClose.done)=\"onAnimationDone($event)\"\n (@openClose.start)=\"onAnimationStart($event)\"\n [@openClose]=\"open ? 'open' : 'closed'\"\n [dropdownMode]=\"dropdownMode\"\n [groupItems]=\"true\"\n [navItems]=\"navItems\"\n [ngStyle]=\"display\"\n>\n</c-sidebar-nav>\n\n<ng-template #iconTemplate let-item>\n <i *ngIf=\"item?.icon\" [ngClass]=\"item | cSidebarNavIcon\"></i>\n <ng-template [ngIf]=\"item?.iconComponent\">\n <svg\n [cIcon]=\"item.iconComponent?.content\"\n [customClasses]=\"item | cSidebarNavIcon\"\n [name]=\"item.iconComponent?.name\"\n ></svg>\n </ng-template>\n <span *ngIf=\"!item?.icon && !item?.iconComponent\" [ngClass]=\"item | cSidebarNavIcon\"></span>\n</ng-template>\n","<ng-container *ngFor=\"let item of navItemsArray\">\n <ng-container [ngSwitch]=\"helper.itemType(item)\">\n <c-sidebar-nav-group\n #rla=\"routerLinkActive\"\n *ngSwitchCase=\"'group'\"\n [dropdownMode]=\"dropdownMode\"\n [item]=\"item\"\n [ngClass]=\"item | cSidebarNavItemClass\"\n [routerLinkActiveOptions]=\"{exact: true}\"\n routerLinkActive=\"show\"\n >\n </c-sidebar-nav-group>\n <c-sidebar-nav-divider\n *ngSwitchCase=\"'divider'\"\n [cHtmlAttr]=\"item.attributes ?? {}\"\n [item]=\"item\"\n [ngClass]=\"item | cSidebarNavItemClass\">\n </c-sidebar-nav-divider>\n <c-sidebar-nav-title\n *ngSwitchCase=\"'title'\"\n [cHtmlAttr]=\"item.attributes ?? {}\"\n [item]=\"item\"\n [ngClass]=\"item | cSidebarNavItemClass\">\n </c-sidebar-nav-title>\n <c-sidebar-nav-label\n *ngSwitchCase=\"'label'\"\n [item]=\"item\"\n [ngClass]=\"item | cSidebarNavItemClass\">\n </c-sidebar-nav-label>\n <ng-container\n *ngSwitchCase=\"'empty'\">\n </ng-container>\n <c-sidebar-nav-link\n (linkClick)=\"hideMobile()\"\n *ngSwitchDefault\n [item]=\"item\"\n [ngClass]=\"item | cSidebarNavItemClass\"\n >\n </c-sidebar-nav-link>\n </ng-container>\n</ng-container>\n<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\n\nimport { SidebarComponent } from './sidebar/sidebar.component';\nimport { SidebarService } from './sidebar.service';\nimport { SidebarBrandComponent } from './sidebar-brand/sidebar-brand.component';\nimport { SidebarToggleDirective } from './sidebar-toggle/sidebar-toggle.directive';\nimport { SidebarTogglerComponent } from './sidebar-toggler/sidebar-toggler.component';\nimport { SidebarHeaderComponent } from './sidebar-header/sidebar-header.component';\nimport { SidebarFooterComponent } from './sidebar-footer/sidebar-footer.component';\nimport { SidebarNavGroupService } from './sidebar-nav/sidebar-nav-group.service';\n\nimport {\n SidebarNavBadgePipe,\n SidebarNavComponent,\n SidebarNavDividerComponent,\n SidebarNavGroupComponent,\n SidebarNavHelper,\n SidebarNavIconPipe,\n SidebarNavItemClassPipe,\n SidebarNavLabelComponent,\n SidebarNavLinkComponent,\n SidebarNavLinkContentComponent,\n SidebarNavLinkPipe,\n SidebarNavTitleComponent\n} from './sidebar-nav';\n\n@NgModule({\n imports: [\n SidebarComponent,\n SidebarBrandComponent,\n SidebarFooterComponent,\n SidebarHeaderComponent,\n SidebarNavComponent,\n SidebarNavBadgePipe,\n SidebarNavDividerComponent,\n SidebarNavGroupComponent,\n SidebarNavIconPipe,\n SidebarNavItemClassPipe,\n SidebarNavLabelComponent,\n SidebarNavLinkComponent,\n SidebarNavLinkContentComponent,\n SidebarNavLinkPipe,\n SidebarNavTitleComponent,\n SidebarToggleDirective,\n SidebarTogglerComponent\n ],\n exports: [\n SidebarComponent,\n SidebarToggleDirective,\n SidebarTogglerComponent,\n SidebarBrandComponent,\n SidebarNavComponent,\n SidebarHeaderComponent,\n SidebarFooterComponent\n ],\n providers: [\n SidebarService,\n SidebarNavHelper,\n SidebarNavGroupService\n ]\n})\nexport class SidebarModule {}\n","import { Component, EventEmitter, HostBinding, Input, Output, TemplateRef } from '@angular/core';\nimport { NgClass, NgForOf, NgIf } from '@angular/common';\nimport { coerceNumberProperty, NumberInput } from '@angular/cdk/coercion';\n\nimport { PageItemDirective, PageLinkDirective } from '../pagination';\nimport { ISmartPagination } from './smart-pagination.type';\n\n@Component({\n selector: 'c-smart-pagination',\n templateUrl: './smart-pagination.component.html',\n exportAs: 'cSmartPagination',\n standalone: true,\n imports: [PageItemDirective, PageLinkDirective, NgClass, NgIf, NgForOf]\n})\nexport class SmartPaginationComponent implements ISmartPagination {\n\n static ngAcceptInputType_activePage: NumberInput;\n static ngAcceptInputType_pages: NumberInput;\n static ngAcceptInputType_limit: NumberInput;\n\n constructor() { }\n\n /**\n * Current page number. [docs]\n * @default 1\n * @type number\n */\n @Input()\n set activePage(value: number) {\n this._activePage = coerceNumberProperty(value);\n }\n\n get activePage(): number {\n return this._activePage;\n }\n\n private _activePage: number = 1;\n\n /**\n * Event triggered on activePage change.\n * @type EventEmitter<number>\n */\n @Output() activePageChange: EventEmitter<number> = new EventEmitter<number>();\n\n /**\n * Show/hide arrows\n * @default true\n * @type boolean\n */\n @Input() arrows: boolean = true;\n\n /**\n * Show double arrows buttons\n * @default true\n * @type boolean\n */\n @Input() doubleArrows: boolean = true;\n\n /**\n * Show/hide dots. [docs]\n * @default true\n */\n @Input() dots: boolean = true;\n\n /**\n * Maximum items number. [docs]\n * @default 5\n * @type number\n */\n @Input()\n set limit(value: number) {\n this._limit = coerceNumberProperty(value);\n }\n\n get limit(): number {\n return this._limit;\n }\n\n private _limit: number = 5;\n\n /**\n * Number of pages. [docs]\n * @type number\n */\n @Input()\n set pages(value: number) {\n this._pages = coerceNumberProperty(value);\n }\n\n get pages(): number {\n return this._pages;\n }\n\n private _pages: number = 1;\n\n /**\n * The content of 'firstButton' button. [docs]\n * @default '&laquo'\n * todo TemplateRef\n */\n @Input() firstButton?: string | TemplateRef<any> = '«';\n // firstButton?: string | TemplateRef<any> = '&laquo;'\n\n /**\n * The content of 'lastButton' button. [docs]\n * @default '&raquo'\n * todo TemplateRef\n */\n @Input() lastButton?: string | TemplateRef<any> = '»';\n // lastButton?: string | TemplateRef<any> = '&raquo;'\n\n /**\n * The content of 'nextButton' button. [docs]\n * @default '&lsaquo'\n * todo TemplateRef\n */\n @Input() nextButton?: string | TemplateRef<any> = '›';\n\n /**\n * The content of 'previousButton' button. [docs]\n * @default '&rsaquo'\n * todo TemplateRef\n */\n @Input() previousButton?: string | TemplateRef<any> = '‹';\n\n /**\n * Set the alignment of pagination components.\n * @values 'start', 'center', 'end'\n */\n @Input() align?: 'start' | 'center' | 'end' | '' = 'start';\n\n /**\n * Size the component small or large.\n * @values 'sm', 'lg'\n */\n @Input() size?: 'sm' | 'lg';\n\n /**\n * Default role for pagination. [docs]\n * @type string\n * @default 'navigation'\n */\n @HostBinding('attr.role')\n @Input() role = 'navigation';\n\n get paginationClass(): any {\n return {\n pagination: true,\n [`pagination-${this.size}`]: !!this.size,\n [`justify-content-${this.align}`]: !!this.align\n };\n }\n\n get maxPrevItems() {\n return Math.floor((this._limit - 1) / 2);\n }\n\n get maxNextItems() {\n return Math.ceil((this._limit - 1) / 2);\n }\n\n get range(): number {\n return this.activePage + this.maxNextItems;\n }\n\n get lastItem(): number {\n return this.range >= this._pages ? this._pages : this.range - (this.afterDots ? 1 : 0);\n }\n\n get computedLimit(): number {\n return this._limit - (this.afterDots ? 1 : 0) - (this.beforeDots ? 1 : 0);\n }\n\n get itemsLimit(): number {\n return this._pages < this.computedLimit ? this._pages : this.computedLimit;\n }\n\n get showDots(): boolean {\n return this.dots && this._limit > 4 && this._limit < this._pages;\n }\n\n get beforeDots(): boolean {\n return this.showDots && this.activePage > this.maxPrevItems + 1;\n }\n\n get afterDots(): boolean {\n return this.showDots && this.activePage < this._pages - this.maxNextItems;\n }\n\n get items() {\n if (this.activePage - this.maxPrevItems <= 1) {\n return Array.from(\n {\n length: this.itemsLimit\n },\n (_item, i) => i + 1\n );\n } else {\n return Array.from(\n {\n length: this.itemsLimit\n },\n (_item, i) => {\n return this.lastItem - i;\n }\n ).reverse();\n }\n }\n\n setPage(page: number) {\n if (page !== this.activePage) {\n this.activePage = page;\n this.activePageChange.emit(page);\n }\n }\n}\n","<ul [ngClass]=\"paginationClass\">\n <li *ngIf=\"doubleArrows\" cPageItem>\n <button\n (click)=\"setPage(1)\"\n [disabled]=\"activePage === 1\"\n aria-label=\"First page\"\n cPageLink\n >\n <span aria-hidden=\"true\">{{firstButton}}</span>\n </button>\n </li>\n <li *ngIf=\"arrows\" cPageItem>\n <button\n (click)=\"setPage(activePage - 1)\"\n [disabled]=\"activePage === 1\"\n aria-label=\"Previous page\"\n cPageLink\n >\n <span aria-hidden=\"true\">{{previousButton}}</span>\n </button>\n </li>\n <li *ngIf=\"beforeDots\" cPageItem>\n <a cPageLink disabled role=\"separator\">\n ...\n </a>\n </li>\n <li *ngFor=\"let item of items; index as i\" [active]=\"activePage === item\" cPageItem>\n <button\n (click)=\"setPage(item)\"\n [title]=\"(activePage === item ? 'Current page ' : 'Go to page ') + (item).toString()\"\n cPageLink\n >\n {{item}}\n </button>\n </li>\n <li *ngIf=\"afterDots\" cPageItem>\n <a cPageLink disabled role=\"separator\">\n ...\n </a>\n </li>\n <li *ngIf=\"arrows\" cPageItem>\n <button\n (click)=\"setPage(activePage + 1)\"\n [disabled]=\"activePage === pages\"\n aria-label=\"Next page\"\n cPageLink\n >\n <span aria-hidden=\"true\">{{nextButton}}</span>\n </button>\n </li>\n <li *ngIf=\"doubleArrows\" cPageItem>\n <button\n (click)=\"setPage(pages)\"\n [disabled]=\"activePage === pages\"\n aria-label=\"Last page\"\n cPageLink\n >\n <span aria-hidden=\"true\">{{lastButton}}</span>\n </button>\n </li>\n</ul>\n","import { NgModule } from '@angular/core';\nimport { SmartPaginationComponent } from './smart-pagination.component';\n\n@NgModule({\n exports: [SmartPaginationComponent],\n imports: [SmartPaginationComponent]\n})\nexport class SmartPaginationModule {\n}\n","import { AfterViewInit, Directive, ElementRef, EventEmitter, Input, OnDestroy, Output } from '@angular/core';\nimport {\n BehaviorSubject,\n debounceTime,\n distinctUntilChanged,\n fromEvent,\n map,\n Subject,\n Subscription,\n takeUntil\n} from 'rxjs';\nimport { IColumn } from '../smart-table.type';\n\n@Directive({\n selector: '[cFilterInput]',\n exportAs: 'cFilterInput',\n standalone: true\n})\nexport class FilterInputDirective implements AfterViewInit, OnDestroy {\n\n constructor(\n private readonly elementRef: ElementRef\n ) { }\n\n #value = '';\n #valueSubscription!: Subscription;\n #inputSubscription!: Subscription;\n readonly value$ = new BehaviorSubject<string>('');\n readonly #destroy$ = new Subject<boolean>();\n public emitObject: { value: string, type?: string, column?: (string | IColumn) } = {\n value: '',\n type: '',\n column: ''\n };\n\n @Input() delay: number = 300;\n @Input() onEvent: 'change' | 'input' = 'input';\n\n @Input()\n set value(value: string) {\n this.value$.next(value);\n }\n\n @Output() readonly valueChange: EventEmitter<any> = new EventEmitter<any>();\n\n ngAfterViewInit(): void {\n this.setSubscription();\n }\n\n ngOnDestroy(): void {\n this.setSubscription(false);\n }\n\n private setSubscription(subscribe: boolean = !this.#valueSubscription) {\n if (subscribe) {\n\n this.#valueSubscription = this.value$\n .pipe(\n distinctUntilChanged(),\n takeUntil(this.#destroy$)\n )\n .subscribe(value => {\n if (this.#value !== value) {\n this.#value = value;\n this.emitObject = { ...this.emitObject, value: value, type: this.onEvent };\n this.valueChange.emit({ ...this.emitObject });\n }\n });\n\n const dueTime = this.onEvent === 'change' ? 0 : this.delay;\n\n this.#inputSubscription = fromEvent<Event>(this.elementRef.nativeElement, this.onEvent)\n .pipe(\n map(event => {\n return (event.target as HTMLInputElement).value;\n }),\n debounceTime(dueTime),\n takeUntil(this.#destroy$)\n )\n .subscribe((value) => {\n if (value !== this.#value) {\n this.value$.next(value);\n }\n }\n );\n } else {\n this.#destroy$.next(true);\n this.#destroy$.complete();\n }\n }\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, inject, Input } from '@angular/core';\nimport { AsyncPipe, NgClass, NgIf } from '@angular/common';\n\nimport { FormControlDirective, FormLabelDirective } from '../../form';\nimport { FilterInputDirective } from './filter-input.directive';\n\n@Component({\n selector: 'c-smart-table-filter',\n templateUrl: './smart-table-filter.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [FormControlDirective, FormLabelDirective, NgClass, NgIf, AsyncPipe]\n // hostDirectives: [\n // {\n // directive: FilterInputDirective,\n // inputs: ['value', 'delay', 'onEvent'],\n // outputs: ['valueChange']\n // }\n // ]\n})\nexport class SmartTableFilterComponent {\n\n constructor() {}\n\n readonly #filterInputDirective = inject(FilterInputDirective);\n readonly value$ = this.#filterInputDirective.value$;\n\n @Input() filterLabel: string = 'Filter:';\n @Input() filterPlaceholder: string = 'Filter';\n @Input() sizing?: 'sm' | 'lg';\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n row: true,\n 'mb-2': true\n };\n }\n\n get labelClasses() {\n return {\n 'col-form-label': true,\n [`col-form-label-${this.sizing}`]: !!this.sizing\n };\n };\n}\n","<label *ngIf=\"!!filterLabel\" [ngClass]=\"labelClasses\" cLabel=\"col\" class=\"col-auto\">\n {{ filterLabel }}\n</label>\n<div class=\"col-auto\">\n <input\n [placeholder]=\"filterPlaceholder\"\n [sizing]=\"sizing\"\n [value]=\"value$ | async\"\n autocomplete=\"off\"\n cFormControl\n size=\"10\"\n />\n</div>\n","import { Directive, HostBinding, Input } from '@angular/core';\nimport { Colors } from '../coreui.types';\n\n@Directive({\n selector: '[cTableColor]',\n standalone: true\n})\nexport class TableColorDirective {\n\n /**\n * Use contextual color for tables, table rows or individual cells.\n * @type Colors\n */\n @Input('cTableColor') color?: Colors;\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n [`table-${this.color}`]: !!this.color,\n };\n }\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\n@Directive({\n selector: '[cTableActive]',\n standalone: true\n})\nexport class TableActiveDirective {\n\n static ngAcceptInputType_active: BooleanInput;\n\n /**\n * Highlight a table row or cell\n * @type boolean\n */\n @Input('cTableActive')\n set active(value: boolean) {\n this._active = coerceBooleanProperty(value);\n };\n get active() {\n return this._active;\n };\n\n private _active = false;\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n 'table-active': this.active,\n };\n }\n\n constructor() { }\n\n}\n","import { Directive, ElementRef, HostBinding, Input, OnInit, Renderer2 } from '@angular/core';\nimport { Breakpoints, Colors } from '../coreui.types';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ITable } from './table.type';\n\n@Directive({\n selector: 'table[cTable]',\n standalone: true\n})\nexport class TableDirective implements ITable, OnInit {\n static ngAcceptInputType_bordered: BooleanInput;\n static ngAcceptInputType_borderless: BooleanInput;\n static ngAcceptInputType_hover: BooleanInput;\n static ngAcceptInputType_small: BooleanInput;\n static ngAcceptInputType_striped: BooleanInput;\n static ngAcceptInputType_stripedColumns: BooleanInput;\n\n /**\n * Set the vertical alignment.\n * @type string\n * @values 'bottom' | 'middle' | 'top'\n */\n @Input() align?: 'bottom' | 'middle' | 'top';\n\n /**\n * Sets the border color of the component to one of CoreUI’s themed colors.\n * @type Colors\n */\n @Input() borderColor?: Colors;\n\n /**\n * Add borders on all sides of the table and cells.\n * @type boolean\n */\n @Input()\n set bordered(value: boolean) {\n this._bordered = coerceBooleanProperty(value);\n };\n\n get bordered() {\n return this._bordered;\n }\n\n private _bordered = false;\n\n /**\n * Remove borders on all sides of the table and cells.\n * @type boolean\n */\n @Input()\n set borderless(value: boolean) {\n this._borderless = coerceBooleanProperty(value);\n };\n\n get borderless() {\n return this._borderless;\n }\n\n private _borderless = false;\n\n /**\n * Put the `<caption>` on the top of the table.\n * @values 'top'\n */\n @Input() caption?: 'top';\n\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @type Colors\n */\n @Input() color?: Colors;\n\n /**\n * Enable a hover state on table rows within table body.\n * @type boolean\n */\n @Input()\n set hover(value: boolean) {\n this._hover = coerceBooleanProperty(value);\n };\n\n get hover() {\n return this._hover;\n }\n\n private _hover = false;\n\n /**\n * Make table responsive across all viewports or pick a maximum breakpoint with which to have a responsive table up to.\n * @type: {boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'}\n */\n @Input() responsive?: boolean | Omit<Breakpoints, 'xs'>;\n\n /**\n * Make table more compact by cutting all cell `padding` in half.\n * @type boolean\n */\n @Input()\n set small(value: boolean) {\n this._small = coerceBooleanProperty(value);\n };\n\n get small() {\n return this._small;\n }\n\n private _small = false;\n\n /**\n * Add zebra-striping to any table row within the table body.\n * @type boolean\n */\n @Input()\n set striped(value: boolean) {\n this._striped = coerceBooleanProperty(value);\n };\n\n get striped() {\n return this._striped;\n }\n\n private _striped = false;\n\n /**\n * Add zebra-striping to any table column.\n * @type boolean\n * @since 4.2.4\n */\n @Input()\n set stripedColumns(value: boolean) {\n this._stripedColumns = coerceBooleanProperty(value);\n };\n\n get stripedColumns() {\n return this._stripedColumns;\n }\n\n private _stripedColumns = false;\n\n constructor(\n private renderer: Renderer2,\n private hostElement: ElementRef\n ) { }\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n table: true,\n [`align-${this.align}`]: !!this.align,\n [`caption-${this.caption}`]: !!this.caption,\n [`border-${this.borderColor}`]: !!this.borderColor,\n 'table-bordered': this.bordered,\n 'table-borderless': this.borderless,\n [`table-${this.color}`]: !!this.color,\n 'table-hover': this.hover,\n 'table-sm': this.small,\n 'table-striped': this.striped,\n 'table-striped-columns': this.stripedColumns\n };\n }\n\n ngOnInit(): void {\n this.setResponsiveWrapper();\n }\n\n // todo\n setResponsiveWrapper(): void {\n if (!!this.responsive) {\n const nativeElement: HTMLElement = this.hostElement.nativeElement;\n const wrapper = this.renderer.createElement('div');\n const className = this.responsive === true ? 'table-responsive' : `table-responsive-${this.responsive}`;\n this.renderer.addClass(wrapper, className);\n const parentNode = this.renderer.parentNode(nativeElement);\n this.renderer.appendChild(parentNode, wrapper);\n this.renderer.insertBefore(parentNode, wrapper, nativeElement);\n this.renderer.appendChild(wrapper, nativeElement);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { TableDirective } from './table.directive';\nimport { TableColorDirective } from './table-color.directive';\nimport { TableActiveDirective } from './table-active.directive';\n\n@NgModule({\n exports: [\n TableDirective,\n TableColorDirective,\n TableActiveDirective\n ],\n imports: [\n TableDirective,\n TableColorDirective,\n TableActiveDirective\n ]\n})\nexport class TableModule {}\n","import { Directive, HostBinding, Input } from '@angular/core';\nimport { BackgroundColors } from '../coreui.types';\n\n@Directive({\n selector: '[cBgColor]',\n standalone: true\n})\nexport class BgColorDirective {\n\n /**\n * Set the background of an element to any contextual class\n */\n @Input('cBgColor') color: BackgroundColors = '';\n /**\n * Add linear gradient as background image to the backgrounds.\n * @type boolean\n */\n @Input() gradient?: boolean;\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n [`bg-${this.color}`]: !!this.color,\n 'bg-gradient': this.gradient,\n };\n }\n\n constructor() { }\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\nimport { Border, BorderColor, IBorderElement, BorderWidth } from './border.type';\n\n@Directive({\n selector: '[cBorder]',\n standalone: true\n})\nexport class BorderDirective {\n /**\n * Add or remove an element’s borders\n * @type Border\n */\n @Input('cBorder') border: Border = true;\n\n @HostBinding('class')\n get hostClasses(): any {\n\n if ( typeof this.border === 'boolean' ) {\n return { border: true };\n }\n if ( typeof this.border === 'number' || typeof this.border === 'string' ) {\n return {\n border: true,\n [`border-${this.border}`]: true\n };\n }\n if ( typeof this.border === 'object' ) {\n const borderObj = { top: undefined, end: undefined, bottom: undefined, start: undefined, color: undefined, ...this.border };\n // @ts-ignore\n const keys = Object.keys(borderObj).filter(key => borderObj[key] !== undefined);\n const classes = {};\n keys.forEach(key => {\n // @ts-ignore\n const val = borderObj[key];\n if ( typeof val === 'boolean') {\n // @ts-ignore\n classes[`border-${key}`] = true;\n } else if ( typeof val === 'number' || typeof val === 'string' ) {\n // @ts-ignore\n classes[`border-${key}-${val}`] = true;\n } else if ( typeof val === 'object' ) {\n if ('color' in val) {\n // @ts-ignore\n classes[`border-${key}-${val.color}`] = true;\n }\n if ('width' in val) {\n // @ts-ignore\n classes[`border-${key}-${val.width}`] = true;\n }\n }\n });\n return Object.entries(classes).length === 0 ? {border: false} : classes;\n }\n }\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\nimport { TextColors } from '../coreui.types';\n\n@Directive({\n selector: '[cTextColor]',\n standalone: true\n})\nexport class TextColorDirective {\n\n /**\n * Set text-color of element\n * @type TextColors\n */\n @Input('cTextColor') color: TextColors = '';\n\n @HostBinding('class')\n get hostClasses(): any {\n const color = this.color;\n return {\n [`text-${color}`]: !!color\n };\n }\n\n constructor() {}\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\nimport { Rounded, RoundedSize } from './rounded.type';\n\n@Directive({\n selector: '[cRounded]',\n standalone: true\n})\nexport class RoundedDirective {\n\n /**\n * Set border radius variant and radius size\n * @type Rounded\n */\n @Input('cRounded') rounded: Rounded = true;\n\n @HostBinding('class')\n get hostClasses(): any {\n\n if ( typeof this.rounded === 'boolean' ) {\n return { rounded: true };\n }\n if ( typeof this.rounded === 'number' || typeof this.rounded === 'string' ) {\n return {\n [`rounded-${this.rounded}`]: true\n };\n }\n if ( typeof this.rounded === 'object' ) {\n const roundedObj = {\n top: undefined,\n end: undefined,\n bottom: undefined,\n start: undefined,\n circle: undefined,\n pill: undefined,\n size: undefined,\n ...this.rounded,\n };\n // @ts-ignore\n const keys = Object.keys(roundedObj).filter(key => roundedObj[key] !== undefined );\n const classes = {};\n keys.forEach(key => {\n // @ts-ignore\n const val = roundedObj[key];\n if (typeof val === 'boolean') {\n // @ts-ignore\n classes[`rounded-${key}`] = val;\n } else {\n // @ts-ignore\n classes[`rounded-${val}`] = true;\n }\n });\n // console.log('rounded keys', keys, classes);\n return Object.entries(classes).length === 0 ? {rounded: false} : classes;\n }\n }\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\nimport { Alignment } from '../coreui.types';\n\n@Directive({\n selector: '[cAlign]',\n standalone: true\n})\nexport class AlignDirective {\n /**\n * Set vertical alignment of inline, inline-block, inline-table, and table cell elements\n * @type Alignment\n */\n @Input('cAlign') align?: Alignment;\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n [`align-${this.align}`]: !!this.align,\n };\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { BgColorDirective } from './bg-color.directive';\nimport { BorderDirective } from './border.directive';\nimport { RoundedDirective } from './rounded.directive';\nimport { TextColorDirective } from './text-color.directive';\nimport { AlignDirective } from './align.directive';\n\n@NgModule({\n imports: [\n BgColorDirective,\n BorderDirective,\n RoundedDirective,\n TextColorDirective,\n AlignDirective\n ],\n exports: [\n BgColorDirective,\n BorderDirective,\n RoundedDirective,\n TextColorDirective,\n AlignDirective\n ]\n})\nexport class UtilitiesModule {}\n","import { ChangeDetectionStrategy, Component, inject, Input } from '@angular/core';\nimport { AsyncPipe } from '@angular/common';\n\nimport { FilterInputDirective } from '../smart-table-filter/filter-input.directive';\nimport { IColumn } from '../smart-table.type';\nimport { FormControlDirective } from '../../form';\n\n@Component({\n selector: 'c-smart-table-column-filter',\n templateUrl: './smart-table-column-filter.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [FormControlDirective, AsyncPipe]\n})\nexport class SmartTableColumnFilterComponent {\n\n constructor() {}\n\n readonly #filterInputDirective = inject(FilterInputDirective);\n readonly value$ = this.#filterInputDirective.value$;\n\n @Input()\n set column(value: string | IColumn) {\n this.#filterInputDirective.emitObject = { ...this.#filterInputDirective.emitObject, column: value };\n };\n\n @Input() sizing?: 'sm' | 'lg' = 'sm';\n\n}\n","<input\n [sizing]=\"sizing\"\n [value]=\"value$ | async\"\n autocomplete=\"off\"\n cFormControl\n/>\n","import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, OnInit, Output } from '@angular/core';\nimport { NgForOf, NgIf, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgTemplateOutlet } from '@angular/common';\n\nimport { IColumn, IColumnFilter, IColumnFilterValue, ISorter, ISorterValue } from '../smart-table.type';\n\nimport { HtmlAttributesDirective } from '../../shared';\nimport { TableColorDirective } from '../../table';\nimport { FormCheckInputDirective } from '../../form';\nimport { SmartTableColumnFilterComponent } from '../smart-table-column-filter/smart-table-column-filter.component';\nimport { FilterInputDirective } from '../smart-table-filter/filter-input.directive';\n\n@Component({\n selector: 'c-smart-table-head',\n templateUrl: './smart-table-head.component.html',\n styleUrls: ['./smart-table-head.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n FilterInputDirective,\n FormCheckInputDirective,\n HtmlAttributesDirective,\n SmartTableColumnFilterComponent,\n TableColorDirective,\n NgForOf,\n NgIf,\n NgStyle,\n NgSwitch,\n NgSwitchCase,\n NgSwitchDefault,\n NgTemplateOutlet\n ]\n})\nexport class SmartTableHeadComponent implements OnInit {\n\n constructor() { }\n\n @Input() columnFilter?: boolean | IColumnFilter;\n @Input() columnFilterState: IColumnFilterValue = {};\n @Input() columnSorter?: boolean | ISorter = true;\n @Input() component?: string = 'thead';\n @Input() columns?: (IColumn | string)[];\n @Input() selectable?: boolean;\n @Input() selectAll?: boolean | string;\n @Input() sorterValue?: ISorterValue;\n\n @Input()\n set columnFilterTemplates(value) {\n this._columnFilterTemplates = { ...value };\n };\n\n get columnFilterTemplates() {\n return this._columnFilterTemplates;\n };\n\n _columnFilterTemplates?: any = {};\n\n // todo\n // @Input() sortingIcon?: string | TemplateRef<any>;\n // @Input() sortingIconAscending?: string | TemplateRef<any>;\n // @Input() sortingIconDescending?: string | TemplateRef<any>;\n\n @Output() columnFilterStateChange: EventEmitter<any> = new EventEmitter<any>();\n @Output() sorterStateChange: EventEmitter<any> = new EventEmitter<any>();\n @Output() selectAllChange: EventEmitter<any> = new EventEmitter<any>();\n\n @HostBinding('class')\n get hostClasses() {\n return {\n thead: this.component === 'thead',\n tfoot: this.component === 'tfoot'\n };\n }\n\n ngOnInit(): void {\n this.columns?.forEach((column, index) => {\n const columnKey = this.columnKey(column);\n this.columnFilterState[columnKey] = this.columnFilterState[columnKey] ?? '';\n });\n }\n\n tableHeaderCellProps(column: IColumn | string) {\n if (typeof column === 'object' && column._props) {\n const { color, ...props } = { ...column._props };\n return props;\n }\n return {};\n }\n\n tableHeaderCellColor(column: IColumn | string) {\n if (typeof column === 'object' && column._props) {\n const { color } = { ...column._props };\n return color;\n }\n return '';\n }\n\n tableHeaderCellStyles(column: IColumn | string) {\n const style = { verticalAlign: 'middle', overflow: 'hidden', cursor: '' };\n if (\n this.columnSorter &&\n (typeof column !== 'object' ||\n (typeof column === 'object' && (typeof column.sorter === 'undefined' || column.sorter)))\n ) {\n style.cursor = 'pointer';\n }\n\n if (typeof column === 'object' && column._style) {\n return { ...style, ...column._style };\n }\n return style;\n }\n\n columnLabel(column: IColumn | string) {\n return typeof column === 'object' ? column.label !== undefined ? column.label : this.prettifyName(column.key) : this.prettifyName(column);\n }\n\n columnKey(column: IColumn | string) {\n return typeof column === 'object' ? column.key : column;\n }\n\n getColumnSorterState(column: IColumn | string) {\n const columnKey = this.columnKey(column);\n if (this.sorterValue?.column === columnKey) {\n if (this.sorterValue.state) {\n return this.sorterValue.state;\n }\n return 0;\n }\n return 0;\n }\n\n prettifyName(name: string) {\n return name\n .replace(/[-_.]/g, ' ')\n .replace(/ +/g, ' ')\n .replace(/([a-z0-9])([A-Z])/g, '$1 $2')\n .split(' ')\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' ');\n }\n\n handleSortClick(column: IColumn | string, i: number) {\n if (this.columnSorterEnabled(column)) {\n const columnKey = this.columnKey(column);\n this.sorterStateChange.emit({ columnKey, index: i });\n }\n }\n\n columnFilterEnabled(column: IColumn | string) {\n return typeof column !== 'object' ? true : typeof column.filter === 'undefined' ? true : column.filter;\n }\n\n columnSorterEnabled(column: IColumn | string) {\n if (!this.columnSorter) {\n return false;\n }\n return (typeof column !== 'object') ? true : typeof column.sorter === 'undefined' ? true : column.sorter;\n }\n\n handleColumnFilterValueChange($event: { value: string, type?: string, column: (IColumn | string) }) {\n const { value, type: eventType, column } = { ...$event };\n const columnKey = this.columnKey(column);\n const columnFilterValue = value;\n const isLazy = typeof this.columnFilter === 'object' && this.columnFilter.lazy === true;\n if (((isLazy && eventType === 'input') || (!isLazy && eventType === 'change')) && columnFilterValue.length !== 0) {\n return;\n }\n this.columnFilterState[this.columnKey(column)] = columnFilterValue;\n this.columnFilterStateChange.emit({ column: columnKey, value: columnFilterValue, type: eventType });\n }\n\n handleSelectAllChecked($event: Event) {\n const selectAll = ($event.target as HTMLInputElement).checked;\n this.selectAllChange.emit(selectAll);\n }\n\n getColumnFilter(column: IColumn | string) {\n return `columnFilter_${this.columnKey(column) ?? '_undefined'}`;\n }\n\n get columnFilterEvent(): 'change' | 'input' {\n return (typeof this.columnFilter === 'object' && this.columnFilter.lazy) ? 'change' : 'input';\n };\n\n}\n","<tr>\n <th *ngIf=\"selectable\">\n <input (change)=\"handleSelectAllChecked($event)\"\n [checked]=\"selectAll === true\"\n [indeterminate]=\"selectAll === 'indeterminate'\"\n cFormCheckInput>\n </th>\n <th\n (click)=\"handleSortClick(column, i)\"\n *ngFor=\"let column of columns; let i = index\"\n [cHtmlAttr]=\"tableHeaderCellProps(column)\"\n [cTableColor]=\"tableHeaderCellColor(column)\"\n [ngStyle]=\"tableHeaderCellStyles(column)\"\n >\n <div class=\"d-inline\">{{ columnLabel(column) }}</div>\n <ng-template [ngIf]=\"columnSorter && columnSorterEnabled(column)\">\n <ng-container\n *ngTemplateOutlet=\"columnSorterIconTemplate; context: { $implicit: getColumnSorterState(column) }\"\n ></ng-container>\n </ng-template>\n </th>\n</tr>\n<tr *ngIf=\"columnFilter\">\n <th *ngIf=\"selectable\"></th>\n <th *ngFor=\"let column of columns; let i = index\"\n [cHtmlAttr]=\"tableHeaderCellProps(column)\"\n [cTableColor]=\"tableHeaderCellColor(column)\"\n [ngStyle]=\"tableHeaderCellStyles(column)\"\n >\n <ng-container *ngTemplateOutlet=\"columnFilterTemplates[getColumnFilter(column)] ?? defaultColumnFilter; context: {$implicit: column, header: this}\"></ng-container>\n <ng-template #defaultColumnFilter let-column>\n <c-smart-table-column-filter\n (valueChange)=\"handleColumnFilterValueChange($event)\"\n *ngIf=\"columnFilterEnabled(column)\"\n [column]=\"column\"\n [delay]=\"300\"\n [onEvent]=\"columnFilterEvent\"\n [value]=\"columnFilterState[columnKey(column)] ?? ''\"\n cFilterInput\n sizing=\"sm\"\n ></c-smart-table-column-filter>\n </ng-template>\n </th>\n</tr>\n\n<ng-template #columnSorterIconTemplate let-columnSorterState>\n <ng-container [ngSwitch]=\"columnSorterState\">\n <span *ngSwitchCase=\"'asc'\" class=\"float-end me-1\">\n <ng-container *ngTemplateOutlet=\"sortingIconAscendingTemplate\"></ng-container>\n </span>\n <span *ngSwitchCase=\"'desc'\" class=\"float-end me-1\">\n <ng-container *ngTemplateOutlet=\"sortingIconDescendingTemplate\"></ng-container>\n </span>\n <span *ngSwitchDefault class=\"opacity-25 float-end me-1\">\n <ng-container *ngTemplateOutlet=\"sortingIconTemplate\"></ng-container>\n </span>\n </ng-container>\n</ng-template>\n\n<!--todo: sortingIconCustom Templates-->\n<ng-template #sortingIconTemplate>\n <svg\n class=\"icon icon-custom-size\"\n role=\"img\"\n viewBox=\"0 0 512 512\"\n width=\"18\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <polygon\n class=\"ci-primary\"\n fill=\"var(--ci-primary-color, currentColor)\"\n points=\"384 433.373 384 160 352 160 352 434.51 282.177 364.687 259.55 387.313 367.432 495.196 475.313 387.313 452.687 364.687 384 433.373\"\n ></polygon>\n <polygon\n class=\"ci-primary\"\n fill=\"var(--ci-primary-color, currentColor)\"\n points=\"159.432 17.372 51.55 125.255 74.177 147.882 144 78.059 144 352 176 352 176 79.195 244.687 147.882 267.313 125.255 159.432 17.372\"\n ></polygon>\n </svg>\n</ng-template>\n\n<ng-template #sortingIconAscendingTemplate>\n <svg\n class=\"icon icon-custom-size\"\n role=\"img\"\n viewBox=\"0 0 512 512\"\n width=\"18\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <polygon\n class=\"ci-primary\"\n fill=\"var(--ci-primary-color, currentColor)\"\n points=\"390.624 150.625 256 16 121.376 150.625 144.004 173.252 240.001 77.254 240.001 495.236 272.001 495.236 272.001 77.257 367.996 173.252 390.624 150.625\"\n ></polygon>\n </svg>\n</ng-template>\n\n<ng-template #sortingIconDescendingTemplate>\n <svg\n class=\"icon icon-custom-size\"\n role=\"img\"\n viewBox=\"0 0 512 512\"\n width=\"18\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <polygon\n class=\"ci-primary\"\n fill=\"var(--ci-primary-color, currentColor)\"\n points=\"367.997 338.75 271.999 434.747 271.999 17.503 239.999 17.503 239.999 434.745 144.003 338.75 121.376 361.377 256 496 390.624 361.377 367.997 338.75\"\n ></polygon>\n </svg>\n</ng-template>\n","import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { NgForOf } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { FormLabelDirective, FormSelectDirective } from '../../form';\n\n@Component({\n selector: 'c-smart-table-items-per-page-selector',\n templateUrl: './smart-table-items-per-page-selector.component.html',\n imports: [\n FormSelectDirective,\n FormLabelDirective,\n NgForOf,\n FormsModule\n ],\n standalone: true\n})\nexport class SmartTableItemsPerPageSelectorComponent {\n\n constructor() { }\n\n @Input()\n set itemsPerPage(value: number) {\n if (this.#itemsPerPage != value) {\n this.#itemsPerPage = value;\n this.itemsPerPageChange.emit(value);\n }\n }\n\n get itemsPerPage() {\n return this.#itemsPerPage;\n }\n\n #itemsPerPage = 5;\n\n @Input() itemsPerPageLabel: string = 'Items per page:';\n @Input() itemsPerPageOptions: number[] = [5, 10, 20, 50];\n @Output() readonly itemsPerPageChange: EventEmitter<number> = new EventEmitter<number>();\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n row: true\n };\n }\n}\n","<label cLabel=\"col\" class=\"col-sm-auto\">{{itemsPerPageLabel}}</label>\n<div class=\"col-auto\">\n <select [(ngModel)]=\"itemsPerPage\" cSelect name=\"itemsPerPageSelector\">\n <option *ngFor=\"let option of itemsPerPageOptions; let i = index\" [ngValue]=\"option\">{{option}}</option>\n </select>\n</div>\n","import {\n AfterContentInit,\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n IterableDiffer,\n IterableDiffers,\n KeyValueDiffer,\n KeyValueDiffers,\n OnChanges,\n Output,\n QueryList,\n SimpleChanges,\n TemplateRef,\n Type\n} from '@angular/core';\nimport { NgClass, NgForOf, NgIf, NgStyle, NgTemplateOutlet } from '@angular/common';\nimport { BooleanInput, coerceBooleanProperty, coerceNumberProperty, NumberInput } from '@angular/cdk/coercion';\n\nimport { ITable } from '../../table/table.type';\nimport {\n IColumn,\n IColumnFilter,\n IColumnFilterValue,\n IItem,\n IItemInternal,\n ISmartTable,\n ISorter,\n ISorterValue,\n ITableFilter,\n ITableGroupProps,\n ItemsPerPageSelect\n} from '../smart-table.type';\n\nimport { ButtonDirective } from '../../button';\nimport { FormCheckInputDirective } from '../../form';\nimport { ElementCoverComponent } from '../../element-cover';\nimport { HtmlAttributesDirective, TemplateIdDirective } from '../../shared';\nimport { SmartPaginationComponent } from '../../smart-pagination';\nimport { TableActiveDirective, TableColorDirective, TableDirective } from '../../table';\nimport { AlignDirective } from '../../utilities';\nimport { SmartTableFilterComponent } from '../smart-table-filter/smart-table-filter.component';\nimport { FilterInputDirective } from '../smart-table-filter/filter-input.directive';\nimport { SmartTableHeadComponent } from '../smart-table-head/smart-table-head.component';\nimport {\n SmartTableItemsPerPageSelectorComponent\n} from '../smart-table-items-per-page-selector/smart-table-items-per-page-selector.component';\n\n@Component({\n selector: 'c-smart-table',\n templateUrl: './smart-table.component.html',\n styleUrls: ['./smart-table.component.scss'],\n exportAs: 'cSmartTable',\n standalone: true,\n imports: [\n NgIf,\n NgTemplateOutlet,\n NgClass,\n NgForOf,\n NgStyle,\n AlignDirective,\n ButtonDirective,\n ElementCoverComponent,\n FilterInputDirective,\n FormCheckInputDirective,\n HtmlAttributesDirective,\n SmartPaginationComponent,\n SmartTableFilterComponent,\n SmartTableHeadComponent,\n SmartTableItemsPerPageSelectorComponent,\n TableActiveDirective,\n TableColorDirective,\n TableDirective\n ]\n})\nexport class SmartTableComponent implements ISmartTable, AfterContentInit, OnChanges {\n\n static ngAcceptInputType_activePage: NumberInput;\n static ngAcceptInputType_cleaner: BooleanInput;\n static ngAcceptInputType_clickableRows: BooleanInput;\n static ngAcceptInputType_footer: BooleanInput;\n static ngAcceptInputType_header: BooleanInput;\n static ngAcceptInputType_itemsPerPage: NumberInput;\n static ngAcceptInputType_pagination: BooleanInput;\n static ngAcceptInputType_selectable: BooleanInput;\n\n constructor(\n private iterableDiffers: IterableDiffers,\n private keyValueDiffers: KeyValueDiffers\n ) {\n this.itemsDiffer = this.iterableDiffers.find(this.items).create();\n this.itemsFilteredDiffer = this.iterableDiffers.find(this._columnFiltered).create();\n this.columFilterValueDiffer = this.keyValueDiffers.find(this.columnFilterValue).create();\n this.sorterValueDiffer = this.keyValueDiffers.find(this.sorterValue).create();\n }\n\n private readonly itemsDiffer: IterableDiffer<any> | null;\n private readonly itemsFilteredDiffer: IterableDiffer<any> | null;\n private readonly columFilterValueDiffer: KeyValueDiffer<any, any> | null;\n private readonly sorterValueDiffer: KeyValueDiffer<any, any> | null;\n\n @Input()\n set activePage(value: number) {\n this._activePage = coerceNumberProperty(value) || 1;\n this.activePageChange.emit(this._activePage);\n }\n\n get activePage(): number {\n return this._activePage;\n }\n\n private _activePage = 1;\n\n @Input()\n set cleaner(value: boolean) {\n this._cleaner = coerceBooleanProperty(value);\n }\n\n get cleaner(): boolean {\n return this._cleaner;\n }\n\n private _cleaner: boolean = false;\n\n @Input()\n set clickableRows(value: boolean) {\n this._clickableRows = coerceBooleanProperty(value);\n }\n\n get clickableRows(): boolean {\n return this._clickableRows;\n }\n\n private _clickableRows: boolean = false;\n\n @Input()\n set columns(value: (string | IColumn)[]) {\n this._columns = value.map(column => typeof column === 'string' ? { key: column } : { ...column });\n }\n\n get columns(): (string | IColumn)[] {\n return this._columns || this.rawColumnNames;\n }\n\n private _columns?: (string | IColumn)[];\n\n @Input() columnFilter?: boolean | IColumnFilter;\n\n @Input()\n set columnFilterValue(value: IColumnFilterValue) {\n if (this.columFilterValueDiffer) {\n const changes = this.columFilterValueDiffer.diff(value);\n if (changes) {\n this._columnFilterValue = { ...value };\n this.columnFilterValueChange.emit({ ...this._columnFilterValue });\n this.tableFiltered; // emits tableFiltered change\n }\n }\n }\n\n get columnFilterValue(): IColumnFilterValue {\n return this._columnFilterValue;\n }\n\n private _columnFilterValue: IColumnFilterValue = {};\n\n @Input() columnSorter?: boolean | ISorter;\n\n @Input()\n set footer(value: boolean) {\n this._footer = coerceBooleanProperty(value);\n }\n\n get footer(): boolean {\n return this._footer;\n }\n\n private _footer: boolean = false;\n\n @Input()\n set header(value: boolean) {\n this._header = coerceBooleanProperty(value);\n }\n\n get header(): boolean {\n return this._header;\n }\n\n private _header: boolean = false;\n\n @Input()\n set items(value: IItem[]) {\n if (this.itemsDiffer) {\n const changes = this.itemsDiffer.diff(value);\n if (changes) {\n this._items = this.setItems(value) as Array<Type<IItemInternal>>;\n }\n }\n }\n\n get items() {\n return this._items;\n }\n\n private _items: IItemInternal[] = [] as Array<Type<IItemInternal>>;\n\n @Input()\n set itemsPerPage(value: number) {\n this._itemsPerPage = coerceNumberProperty(value);\n }\n\n get itemsPerPage(): number {\n return this._itemsPerPage;\n }\n\n private _itemsPerPage: number = 10;\n\n @Input() itemsPerPageLabel: string = 'Items per page:';\n @Input() itemsPerPageOptions: number[] = [5, 10, 20, 50];\n @Input() itemsPerPageSelect?: boolean | ItemsPerPageSelect;\n @Input() loading?: boolean;\n @Input() noItemsLabel: string | TemplateRef<any> = 'No items found';\n\n @Input()\n set pagination(value: boolean) {\n this._pagination = coerceBooleanProperty(value);\n }\n\n get pagination(): boolean {\n return this._pagination;\n }\n\n private _pagination: boolean = false;\n\n @Input()\n set selectable(value: boolean) {\n this._selectable = coerceBooleanProperty(value);\n }\n\n get selectable(): boolean {\n return this._selectable;\n }\n\n private _selectable: boolean = false;\n\n @Input()\n set sorterValue(value: ISorterValue) {\n if (this.sorterValueDiffer) {\n const changes = this.sorterValueDiffer.diff(value);\n if (changes) {\n this._sorterValue = value;\n this.sorterValueChange.emit({ ...value });\n }\n }\n }\n\n get sorterValue(): ISorterValue {\n return this._sorterValue;\n }\n\n private _sorterValue: ISorterValue = {};\n\n @Input()\n set tableFilter(filter) {\n this._tableFilter = filter;\n if (typeof filter === 'object') {\n this.tableFilterLabel = typeof filter.label === 'string' ? filter.label : this.tableFilterLabel;\n this.tableFilterPlaceholder = typeof filter.placeholder === 'string' ? filter.placeholder : this.tableFilterPlaceholder;\n this.tableFilterValue = typeof filter.value === 'string' ? filter.value : this.tableFilterValue;\n }\n }\n\n get tableFilter() {\n return this._tableFilter;\n }\n\n private _tableFilter?: boolean | ITableFilter;\n\n @Input() tableFilterLabel = 'Filter:';\n @Input() tableFilterPlaceholder = 'type string...';\n\n @Input()\n set tableFilterValue(value: string) {\n if (this._tableFilterValue !== value) {\n this._tableFilterValue = value;\n this.tableFilterValueChange.emit(value);\n this.tableFiltered; // emits tableFiltered change\n }\n }\n\n get tableFilterValue(): string {\n return this._tableFilterValue;\n }\n\n private _tableFilterValue: string = '';\n\n @Input() tableBodyProps?: ITableGroupProps = {};\n @Input() tableFootProps?: ITableGroupProps = {};\n @Input() tableHeadProps?: ITableGroupProps = {};\n @Input() tableProps?: ITable = {};\n\n @Output() selectedItemsChange: EventEmitter<any> = new EventEmitter<any>();\n @Output() sorterValueChange: EventEmitter<any> = new EventEmitter<any>();\n @Output() activePageChange: EventEmitter<any> = new EventEmitter<any>();\n @Output() itemsPerPageChange: EventEmitter<any> = new EventEmitter<any>();\n @Output() rowClick: EventEmitter<any> = new EventEmitter<any>();\n @Output() columnFilterValueChange: EventEmitter<any> = new EventEmitter<any>();\n @Output() filteredItemsChange: EventEmitter<any> = new EventEmitter<any>();\n @Output() tableFilterValueChange: EventEmitter<any> = new EventEmitter<any>();\n\n @ContentChildren(TemplateIdDirective) columnTemplates!: QueryList<TemplateIdDirective>;\n templates: { [key: string]: (TemplateRef<any> | null) } = { tableDetails: null, tableData: null };\n columnFilterTemplates: { [key: string]: (TemplateRef<any> | null) } = {};\n\n ngAfterContentInit(): void {\n this.columnTemplates.forEach((child: TemplateIdDirective) => {\n if (child.id.startsWith('columnFilter_')) {\n this.columnFilterTemplates[child.id] = child.templateRef;\n return;\n }\n this.templates[child.id] = child.templateRef;\n });\n this.columnFilterTemplates = { ...this.columnFilterTemplates };\n }\n\n get selectedAll() {\n const selected = this.items.filter((item) => item._selected === true);\n return selected.length === 0 ? false : selected.length === this.items.length ? true : 'indeterminate';\n // return this._selectedAll;\n }\n\n set selectedAll(value) {\n const selected = this.items.filter((item) => item._selected === true);\n this._selectedAll = selected.length === 0 ? false : selected.length === this.items.length ? true : 'indeterminate';\n this.selectedItemsChange.emit(selected);\n }\n\n private _selectedAll: (boolean | string) = false;\n\n get tableFilterState() {\n return this.tableFilterValue ? this.tableFilterValue : '';\n }\n\n get columnFilterState() {\n return this.columnFilterValue ? this.columnFilterValue : {};\n }\n\n get numberOfPages(): number {\n return this._itemsPerPage ? Math.ceil(this.sortedItems.length / this._itemsPerPage) : 1;\n }\n\n get colspan(): number {\n return this._selectable ? this.rawColumnNames.length + 1 : this.rawColumnNames.length;\n }\n\n get firstItemOnActivePageIndex(): number {\n return this._activePage ? (this._activePage - 1) * this._itemsPerPage : 0;\n }\n\n get itemsOnActivePage(): IItemInternal[] {\n return this.sortedItems.slice(\n this.firstItemOnActivePageIndex,\n this.firstItemOnActivePageIndex + this._itemsPerPage\n );\n }\n\n get currentItems(): IItemInternal[] {\n return this._activePage ? this.itemsOnActivePage : this.sortedItems ?? [];\n // return this.items ?? [];\n }\n\n get genCols() {\n return Object.keys(this._items ? this._items[0] ?? {} : {}).filter((el) => el.charAt(0) !== '_');\n }\n\n get rawColumnNames() {\n return this._columns ? this._columns.map(column => typeof column === 'object' ? column.key : column)\n : this.genCols;\n }\n\n get itemsDataColumns() {\n return this.rawColumnNames.filter((name) => this.genCols.includes(name));\n }\n\n get sortedItems(): IItemInternal[] {\n const columnKey = this.sorterValue.column;\n if (\n !columnKey ||\n !this.itemsDataColumns.includes(columnKey) ||\n (this.columnSorter &&\n typeof this.columnSorter === 'object' &&\n this.columnSorter.external)\n ) {\n return this.tableFiltered;\n }\n const tableFiltered = [...this.tableFiltered];\n\n // if values in column are to be sorted by numeric value they all have to be a type of number\n const flip = this.sorterValue.state === 'asc' ? 1 : this.sorterValue.state === 'desc' ? -1 : 0;\n\n if (flip === 0) {\n return tableFiltered;\n }\n\n const currentColumn = this.columns.find((column) => typeof column === 'object' && column.key === columnKey);\n if (typeof currentColumn === 'object' && typeof currentColumn.sorter === 'function') {\n const sorted = tableFiltered.slice().sort(currentColumn.sorter);\n return flip < 0 ? sorted.reverse() : sorted;\n }\n\n const compareFn = (item1: { [x: string]: any; }, item2: { [x: string]: any; }) => {\n const value1 = item1[columnKey];\n const value2 = item2[columnKey];\n const a = typeof value1 === 'number' ? value1 : String(value1).toLowerCase();\n const b = typeof value2 === 'number' ? value2 : String(value2).toLowerCase();\n return a > b ? 1 * flip : b > a ? -1 * flip : 0;\n };\n\n return tableFiltered.slice().sort(compareFn);\n }\n\n get tableFilterEvent(): 'change' | 'input' {\n return (typeof this.tableFilter === 'object' && this.tableFilter.lazy) ? 'change' : 'input';\n };\n\n private _columnFiltered: IItemInternal[] = [];\n\n get columnFiltered(): IItemInternal[] {\n let _items = this._items;\n if (\n this.columnFilter &&\n typeof this.columnFilter === 'object' &&\n this.columnFilter.external\n ) {\n this._columnFiltered = _items;\n return _items;\n }\n Object.entries(this.columnFilterState).forEach(([key, value]) => {\n\n if (value instanceof Function) {\n _items = _items.filter((item) => value(item[key]));\n return;\n }\n\n const currentColumn = this.columns.find(column => typeof column === 'object' && column.key === key);\n if (typeof currentColumn === 'object' && typeof currentColumn.filter === 'function') {\n _items = _items.filter((item) => (typeof currentColumn.filter === 'function' && currentColumn.filter(item, value)) ?? !value);\n return;\n }\n\n const columnFilter = String(value).toLowerCase();\n if (columnFilter && this.itemsDataColumns.includes(key)) {\n _items = _items.filter((item) => String(item[key]).toLowerCase().includes(columnFilter));\n }\n\n });\n this._columnFiltered = _items;\n return _items;\n }\n\n get tableFiltered(): IItemInternal[] {\n let items = this.columnFiltered;\n if (\n !this.tableFilterState ||\n (this.tableFilter && typeof this.tableFilter === 'object' && this.tableFilter.external)\n ) {\n if (this.itemsFilteredDiffer) {\n const changes = this.itemsFilteredDiffer.diff(items);\n if (changes) {\n this.filteredItemsChange.emit(items);\n }\n }\n return items;\n }\n const filter = this.tableFilterState.toLowerCase();\n const valueContainFilter = (val: any) => String(val).toLowerCase().includes(filter);\n // @ts-ignore\n items = items.filter((item: { [x: string]: any; }) => {\n return !!this.itemsDataColumns.find((key) => valueContainFilter(item[key]));\n });\n if (this.itemsFilteredDiffer) {\n const changes = this.itemsFilteredDiffer.diff(items);\n if (changes) {\n this.filteredItemsChange.emit(items);\n }\n }\n return items;\n }\n\n get isFiltered() {\n return this.tableFilterState || this.sorterValue?.column || Object.values(this.columnFilterState).join('');\n }\n\n private setItems(items: IItem[]) {\n if (Array.isArray(items)) {\n return items.map((item: IItem, index: number) => {\n return { ...item, _id: index };\n });\n }\n return <IItemInternal>[];\n }\n\n handleSortChange($event: { columnKey: string; index: number; }) {\n this.handleSorterChange($event.columnKey, $event.index);\n }\n\n isSortable(i: number): boolean | undefined {\n const isDataColumn = this.itemsDataColumns.includes(this.rawColumnNames[i]);\n let column;\n if (this.columns) {\n column = this.columns[i];\n }\n return (\n this.columnSorter &&\n (!this.columns ||\n typeof column !== 'object' ||\n (typeof column === 'object' && (typeof column.sorter === 'undefined' || column.sorter))\n ) && isDataColumn\n );\n }\n\n handleSorterChange(column: string, index: number): void {\n if (!this.isSortable(index)) {\n return;\n }\n //if column changed or sort was descending change asc to true\n const state = { ...this.sorterValue };\n\n if (state.column === column) {\n if (state.state === 0) {\n state.state = 'asc';\n } else if (state.state === 'asc') {\n state.state = 'desc';\n } else {\n if (typeof this.columnSorter === 'object' && !this.columnSorter.resetable) {\n state.state = 'asc';\n } else {\n state.state = 0;\n }\n }\n } else {\n state.column = column;\n state.state = 'asc';\n }\n this.sorterValue = { ...state };\n }\n\n setActivePage($event: number) {\n this.activePage = $event;\n }\n\n handleColumnFilterChange($event: any) {\n const { column, value, type } = $event;\n this.setActivePage(1);\n this.columnFilterValue = { ...this.columnFilterValue, [`${column}`]: value };\n }\n\n handleTableFilterChange($event: { value: string; type: string; }) {\n const { value, type } = $event;\n const isLazy = typeof this.tableFilter === 'object' && this.tableFilter.lazy === true;\n if (((isLazy && type === 'input') || (!isLazy && type === 'change')) && value.length !== 0) {\n return;\n }\n this.setActivePage(1);\n this.tableFilterValue = value;\n }\n\n clean($event: MouseEvent) {\n this.columnFilterValue = {};\n this.tableFilterValue = '';\n this.sorterValue = {};\n this.tableFiltered; //emits tableFiltered change\n }\n\n handleItemsPerPageChange(value: number) {\n if (value !== this._itemsPerPage) {\n this.setActivePage(1);\n this._itemsPerPage = value;\n this.itemsPerPageChange.emit(value);\n }\n }\n\n handleRowChecked($event: Event, item: IItemInternal) {\n item._selected = ($event.target as HTMLInputElement).checked;\n const selected = this.items.filter((item) => item._selected === true);\n this.selectedItemsChange.emit(selected);\n }\n\n handleSelectAllChange($event: any) {\n this._items = this.items.map((item: IItemInternal) => {\n return { ...item, _selected: $event };\n });\n this.selectedAll = $event;\n }\n\n tableDataCellProps(item: IItem, colName: string) {\n const props = item['_cellProps'] && {\n ...(item['_cellProps']['_all'] && { ...item['_cellProps']['_all'] }),\n ...(item['_cellProps'][colName] && { ...item['_cellProps'][colName] })\n };\n return props;\n }\n\n tableDataCellClasses(item: IItem, colName: string) {\n const column = this.columns.filter((column) => typeof column === 'string' ? column === colName : column['key'] === colName);\n return column[0] && typeof column[0] === 'object' ? column[0]._classes : undefined;\n }\n\n getColumnName($event: MouseEvent): string {\n const target = $event.target as HTMLTextAreaElement;\n const closest = target.closest('tr');\n const children = closest ? Array.from(closest.children) : [];\n const clickedCell = children.filter((child) => child.contains(target))[0];\n return this.rawColumnNames[children.indexOf(clickedCell) - (this._selectable ? 1 : 0)];\n }\n\n handleRowClick(param: { $event: MouseEvent; item: IItemInternal; i: number }) {\n const { $event, item, i } = { ...param };\n const columnName = this.getColumnName(param.$event);\n this.rowClick.emit({ item: item, index: i + this.firstItemOnActivePageIndex, columnName, event: $event });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['columnFilterValue']) {\n const columnFilterValueChange = changes['columnFilterValue'];\n const currentValue = columnFilterValueChange.currentValue;\n if (typeof currentValue === 'object' && Object.keys(currentValue ?? {}).length) {\n this.setActivePage(1);\n }\n }\n if (changes['tableFilterValue']) {\n const tableFilterValueChange = changes['tableFilterValue'];\n const currentValue = tableFilterValueChange.currentValue;\n if (currentValue.length) {\n this.setActivePage(1);\n }\n }\n }\n}\n","<div *ngIf=\"itemsPerPageSelect || tableFilter || cleaner || templates['tableCustomHeader']\" class=\"row my-2 mx-0\">\n <div class=\"col-auto p-0\" *ngIf=\"tableFilter\">\n <ng-container *ngTemplateOutlet=\"tableFilterTemplate\"></ng-container>\n </div>\n <div class=\"col-auto p-0\" *ngIf=\"cleaner\">\n <ng-container *ngTemplateOutlet=\"tableCleanerTemplate\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"templates['tableCustomHeader'] || tableCustomHeaderTemplate\"></ng-container>\n\n <ng-template #tableFilterTemplate>\n <c-smart-table-filter\n (valueChange)=\"handleTableFilterChange($event)\"\n *ngIf=\"tableFilter\"\n [delay]=\"300\"\n [filterLabel]=\"tableFilterLabel\"\n [filterPlaceholder]=\"tableFilterPlaceholder\"\n [onEvent]=\"tableFilterEvent\"\n [value]=\"tableFilterState\"\n cFilterInput\n >\n </c-smart-table-filter>\n </ng-template>\n\n <ng-template #tableCleanerTemplate>\n <button\n (click)=\"clean($event)\"\n *ngIf=\"cleaner\"\n [disabled]=\"!isFiltered\"\n [ngClass]=\"{'ms-1': tableFilter}\"\n [tabindex]=\"0\"\n cButton\n variant=\"ghost\"\n color=\"transparent\"\n >\n <ng-container *ngTemplateOutlet=\"filterIconTemplate\"></ng-container>\n </button>\n </ng-template>\n\n <ng-template #tableCustomHeaderTemplate>\n <div class=\"col-auto p-0 ms-auto\">\n <ng-content select=\"[customHeader]\"></ng-content>\n </div>\n </ng-template>\n</div>\n<div class=\"position-relative\">\n <table [align]=\"tableProps?.align\"\n [borderColor]=\"tableProps?.borderColor\"\n [bordered]=\"tableProps?.bordered\"\n [borderless]=\"tableProps?.borderless\"\n [caption]=\"tableProps?.caption\"\n [color]=\"tableProps?.color\"\n [hover]=\"tableProps?.hover\"\n [responsive]=\"tableProps?.responsive\"\n [small]=\"tableProps?.small\"\n [striped]=\"tableProps?.striped\"\n [cHtmlAttr]=\"tableProps?.attributes ?? {}\"\n [cTableColor]=\"tableProps?.color\"\n cTable\n >\n <c-smart-table-head\n (columnFilterStateChange)=\"handleColumnFilterChange($event)\"\n (selectAllChange)=\"handleSelectAllChange($event)\"\n (sorterStateChange)=\"handleSortChange($event)\"\n *ngIf=\"header\"\n [columnFilterState]=\"columnFilterState\"\n [columnFilter]=\"columnFilter\"\n [columns]=\"columns\"\n [selectAll]=\"selectedAll\"\n [selectable]=\"selectable\"\n [columnSorter]=\"columnSorter\"\n [sorterValue]=\"sorterValue\"\n [cHtmlAttr]=\"tableHeadProps?.attributes ?? {}\"\n [cTableColor]=\"tableHeadProps?.color\"\n [cAlign]=\"tableHeadProps?.align\"\n [columnFilterTemplates]=\"columnFilterTemplates\"\n ></c-smart-table-head>\n\n <ng-container *ngTemplateOutlet=\"tbodyDefaultTemplate\"></ng-container>\n\n <c-smart-table-head\n (selectAllChange)=\"handleSelectAllChange($event)\"\n (sorterStateChange)=\"handleSortChange($event)\"\n *ngIf=\"footer\"\n [columns]=\"columns\"\n [selectAll]=\"selectedAll\"\n [selectable]=\"selectable\"\n [columnSorter]=\"columnSorter\"\n [sorterValue]=\"sorterValue\"\n [cHtmlAttr]=\"tableFootProps?.attributes ?? {}\"\n [cTableColor]=\"tableFootProps?.color\"\n [cAlign]=\"tableFootProps?.align\"\n component=\"tfoot\"\n [columnFilterTemplates]=\"columnFilterTemplates\"\n ></c-smart-table-head>\n\n </table>\n <c-element-cover\n *ngIf=\"loading\"\n [boundaries]=\"[\n { sides: ['top'], query: 'td' },\n { sides: ['bottom'], query: 'tbody' }\n ]\"\n ></c-element-cover>\n</div>\n<ng-template [ngIf]=\"pagination || itemsPerPageSelect\">\n <div class=\"row\">\n <div class=\"col\">\n <c-smart-pagination\n (activePageChange)=\"setActivePage($event)\"\n *ngIf=\"pagination && numberOfPages > 1\"\n [activePage]=\"activePage\"\n [pages]=\"numberOfPages\">\n </c-smart-pagination>\n </div>\n <div class=\"col-auto ms-auto\">\n <c-smart-table-items-per-page-selector\n (itemsPerPageChange)=\"handleItemsPerPageChange($event)\"\n *ngIf=\"itemsPerPageSelect\"\n [itemsPerPageLabel]=\"itemsPerPageLabel\"\n [itemsPerPageOptions]=\"itemsPerPageOptions\"\n [itemsPerPage]=\"itemsPerPage\"\n >\n </c-smart-table-items-per-page-selector>\n </div>\n </div>\n</ng-template>\n\n<ng-template #tbodyDefaultTemplate>\n <tbody [cHtmlAttr]=\"tableBodyProps?.attributes ?? {}\"\n [cTableColor]=\"tableBodyProps?.color\"\n [cAlign]=\"tableBodyProps?.align\"\n >\n <ng-template ngFor let-item [ngForOf]=\"currentItems\" let-cnt=\"count\" let-i=\"index\" let-isEven=\"even\" let-isOdd=\"odd\">\n <tr [tabindex]=\"clickableRows ? 0 : -1\"\n [ngStyle]=\"{cursor: clickableRows ? 'pointer' : 'auto'}\"\n (click)=\"handleRowClick({$event, item, i})\"\n [cTableActive]=\"item._props?.active\"\n [cTableColor]=\"item._props?.color\"\n [cAlign]=\"item._props?.align\"\n >\n <td *ngIf=\"selectable\"\n [cTableActive]=\"item?.['_cellProps']?._all?.active\"\n [cTableColor]=\"item?.['_cellProps']?._all?.color\"\n [cAlign]=\"item?.['_cellProps']?._all?.align\"\n >\n <input (change)=\"handleRowChecked($event, item)\" [checked]=\"item._selected ?? false\" cFormCheckInput>\n </td>\n <ng-template ngFor let-columnName [ngForOf]=\"rawColumnNames\" let-i=\"index\">\n <ng-container\n *ngTemplateOutlet=\"templates['tableData'] || columnDefaultTemplate; context: {item, columnName, tdContent: item[columnName] }\"></ng-container>\n </ng-template>\n </tr>\n <ng-template [ngIf]=\"templates['tableDetails']\">\n <!-- <ng-container *ngTemplateOutlet=\"rowDetailsDefaultTemplate\"></ng-container>-->\n <tr>\n <td [colSpan]=\"colspan\" class=\"p-0\" tabindex=\"-1\" [ngStyle]=\"{borderBottomWidth: 0}\"></td>\n </tr>\n <tr class=\"p-0\">\n <td [colSpan]=\"colspan\" class=\"p-0\" [ngStyle]=\"{border: 0}\">\n <ng-container *ngTemplateOutlet=\"templates['tableDetails']; context: {item, index: i}\"></ng-container>\n </td>\n </tr>\n </ng-template>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"noItemsDefaultTemplate\"></ng-container>\n </tbody>\n</ng-template>\n\n<ng-template #columnDefaultTemplate let-item=\"item\" let-columnName=\"columnName\" let-tdContent=\"tdContent\">\n <td\n [cTableActive]=\"tableDataCellProps(item, columnName)?.['active']\"\n [cTableColor]=\"tableDataCellProps(item, columnName)?.color\"\n [cAlign]=\"tableDataCellProps(item, columnName)?.align\"\n [ngClass]=\"tableDataCellClasses(item, columnName)\"\n >\n {{tdContent}}\n </td>\n</ng-template>\n\n<!--<ng-template #rowDetailsDefaultTemplate let-item let-index>-->\n<!-- <tr><td [colSpan]=\"colspan\" class=\"p-0\" tabindex=\"-1\" [ngStyle]=\"{borderBottomWidth: 0}\"></td></tr>-->\n<!-- <tr class=\"p-0\">-->\n<!-- <td [colSpan]=\"colspan\" class=\"p-0\" [ngStyle]=\"{border: 0}\">-->\n<!-- <ng-container *ngTemplateOutlet=\"templates?.tableDetails\"></ng-container>-->\n<!-- </td>-->\n<!-- </tr>-->\n<!--</ng-template>-->\n\n<ng-template #noItemsDefaultTemplate>\n <tr *ngIf=\"!currentItems.length\">\n <td [colSpan]=\"colspan\" class=\"justify-content-center\">{{noItemsLabel}}</td>\n </tr>\n</ng-template>\n\n<!--todo: filterIconCustomTemplate-->\n<ng-template #filterIconTemplate>\n <svg viewBox=\"0 0 512 512\" xmlns=\"http://www.w3.org/2000/svg\" pointer-events=\"none\" role=\"img\"\n class=\"icon icon-custom-size\" width=\"18\">\n <polygon\n fill=\"var(--ci-primary-color, currentColor)\"\n points=\"40 16 40 53.828 109.024 136 150.815 136 76.896 48 459.51 48 304 242.388 304 401.373 241.373 464 240 464 240 368 208 368 208 496 254.627 496 336 414.627 336 253.612 496 53.612 496 16 40 16\"\n class=\"ci-primary\">\n </polygon>\n <polygon\n fill=\"var(--ci-primary-color, currentColor)\"\n points=\"166.403 248.225 226.864 187.763 204.237 165.135 143.775 225.597 83.313 165.135 60.687 187.763 121.148 248.225 60.687 308.687 83.313 331.314 143.775 270.852 204.237 331.314 226.864 308.687 166.403 248.225\"\n class=\"ci-primary\">\n </polygon>\n </svg>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { SmartTableComponent } from './smart-table/smart-table.component';\nimport { SmartTableFilterComponent } from './smart-table-filter/smart-table-filter.component';\n\n@NgModule({\n exports: [SmartTableComponent, SmartTableFilterComponent],\n imports: [SmartTableComponent, SmartTableFilterComponent]\n})\nexport class SmartTableModule {\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { TabContentComponent } from './tab-content/tab-content.component';\n\nexport interface ITabContentState {\n activeIdx: number,\n tabContent: TabContentComponent\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TabService {\n\n private activeTabPaneIdx = new Subject<ITabContentState>();\n activeTabPaneIdx$ = this.activeTabPaneIdx.asObservable();\n\n constructor() { }\n\n setActiveTabIdx(tabContentState: ITabContentState) {\n this.activeTabPaneIdx.next(tabContentState);\n }\n}\n","import { ChangeDetectorRef, Component, HostBinding, OnDestroy } from '@angular/core';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Subscription } from 'rxjs';\n\nimport { TabContentComponent } from '../tab-content/tab-content.component';\nimport { ITabContentState, TabService } from '../tab.service';\n\n@Component({\n selector: 'c-tab-pane',\n template: `\n <ng-content></ng-content>`,\n styleUrls: ['./tab-pane.component.scss'],\n exportAs: 'cTabPane',\n standalone: true\n})\nexport class TabPaneComponent implements OnDestroy {\n\n constructor(\n private changeDetectorRef: ChangeDetectorRef,\n private tabService: TabService\n ) {\n this.subscribeTabService();\n }\n\n public tabPaneIdx!: number;\n public tabContent!: TabContentComponent;\n private tabServiceSubscription!: Subscription;\n\n set active(value: boolean) {\n const newValue = coerceBooleanProperty(value);\n if (this._active !== newValue) {\n this._active = newValue;\n this.changeDetectorRef.markForCheck();\n }\n }\n\n get active(): boolean {\n return this._active;\n }\n\n private _active: boolean = false;\n\n @HostBinding('class')\n get hostClasses() {\n return {\n 'tab-pane': true,\n fade: true,\n show: this.active,\n active: this.active\n };\n }\n\n ngOnDestroy(): void {\n this.subscribeTabService(false);\n }\n\n subscribeTabService(subscribe: boolean = true) {\n if (subscribe) {\n this.tabServiceSubscription = this.tabService.activeTabPaneIdx$.subscribe((tabContentState: ITabContentState) => {\n if (tabContentState.tabContent === this.tabContent) {\n this.active = (tabContentState.activeIdx === this.tabPaneIdx);\n }\n });\n } else {\n this.tabServiceSubscription?.unsubscribe();\n }\n }\n}\n","import {\n AfterContentChecked,\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n QueryList,\n SimpleChanges\n} from '@angular/core';\nimport { coerceNumberProperty } from '@angular/cdk/coercion';\nimport { Subscription } from 'rxjs';\n\nimport { TabPaneComponent } from '../tab-pane/tab-pane.component';\nimport { TabService } from '../tab.service';\n\n@Component({\n selector: 'c-tab-content',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./tab-content.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'cTabContent',\n standalone: true\n})\nexport class TabContentComponent implements AfterContentChecked, AfterContentInit, OnChanges, OnDestroy {\n\n /**\n * Set active tabPane index\n * @type number\n */\n @Input()\n set activeTabPaneIdx(value: number) {\n const newValue = coerceNumberProperty(value);\n if (this._activeTabPaneIdx != newValue) {\n this._activeTabPaneIdx = newValue;\n this.activeTabPaneIdxChange.emit(newValue);\n this.changeDetectorRef.markForCheck();\n this.changeDetectorRef.detectChanges();\n }\n };\n get activeTabPaneIdx() {\n return this._activeTabPaneIdx;\n }\n private _activeTabPaneIdx = -1;\n\n /**\n * Event emitted on the active tab pane index change.\n */\n @Output() activeTabPaneIdxChange: EventEmitter<number> = new EventEmitter<number>();\n\n @ContentChildren(TabPaneComponent) public panes!: QueryList<TabPaneComponent>;\n private tabServiceSubscription!: Subscription;\n\n constructor(\n private changeDetectorRef: ChangeDetectorRef,\n private tabService: TabService\n ) { }\n\n @HostBinding('class')\n get hostClasses() {\n return {\n 'tab-content': true\n };\n }\n\n ngAfterContentInit(): void {\n this.subscribeTabService();\n }\n\n ngAfterContentChecked(): void {\n this.panes?.forEach((tabPane, index) => {\n tabPane.tabContent = this;\n tabPane.tabPaneIdx = index;\n });\n this.refreshTabPaneActive(this.activeTabPaneIdx);\n this.tabService.setActiveTabIdx({ tabContent: this, activeIdx: this.activeTabPaneIdx });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['activeTabPaneIdx']?.currentValue) {\n this.tabService.setActiveTabIdx({ tabContent: this, activeIdx: changes['activeTabPaneIdx'].currentValue });\n }\n }\n\n ngOnDestroy(): void {\n this.subscribeTabService(false);\n }\n\n subscribeTabService(subscribe: boolean = true) {\n if (subscribe) {\n this.tabServiceSubscription = this.tabService.activeTabPaneIdx$.subscribe((tabContentState) => {\n if (this === tabContentState.tabContent) {\n this.activeTabPaneIdx = tabContentState.activeIdx;\n }\n });\n } else {\n this.tabServiceSubscription?.unsubscribe();\n }\n }\n\n refreshTabPaneActive(idx: number) {\n // hack for active state pane refresh todo?\n this.panes?.forEach((tabPane, index) => {\n tabPane.active = idx === index;\n });\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n HostBinding,\n HostListener,\n Input,\n OnChanges,\n OnDestroy,\n SimpleChanges\n} from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Subscription } from 'rxjs';\n\nimport { TabService } from './tab.service';\n\n@Directive({\n selector: '[cTabContent]',\n standalone: true\n})\nexport class TabContentRefDirective implements OnChanges, OnDestroy {\n\n constructor(\n private changeDetectorRef: ChangeDetectorRef,\n private tabService: TabService\n ) {\n this.subscribeTabService();\n }\n\n static ngAcceptInputType_disabled: BooleanInput;\n private tabServiceSubscription!: Subscription;\n\n /**\n * Template Ref\n * @type TemplateRef\n */\n @Input('cTabContent') tabContentRef!: any;\n\n /**\n * Set active state of tab content\n * @type boolean\n */\n @Input()\n set active(value: boolean) {\n const newValue = coerceBooleanProperty(value);\n if (this._active !== newValue) {\n this._active = newValue;\n this.changeDetectorRef.detectChanges();\n }\n }\n\n get active() {\n return this._active;\n }\n\n private _active = false;\n\n /**\n * Set disabled state of tab content\n * @type boolean\n */\n @Input()\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n get disabled(): boolean {\n return this._disabled || this.tabPaneIdx >= this.tabContentRef?.panes?.length;\n }\n\n private _disabled = false;\n\n /**\n * c-tab-pane index respectively\n * @type number\n */\n @Input() tabPaneIdx = -1;\n\n @HostBinding('class')\n get hostClasses() {\n return {\n active: this.active,\n disabled: this.disabled\n };\n }\n\n @HostBinding('attr.aria-disabled')\n get isDisabled(): boolean | null {\n return this.disabled || null;\n }\n\n @HostBinding('attr.disabled')\n get attrDisabled() {\n return this.disabled ? '' : null;\n };\n\n @HostBinding('attr.tabindex')\n get getTabindex(): string | null {\n return this.disabled ? '-1' : null;\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['active']?.currentValue) {\n this.setActiveTabPane();\n }\n }\n\n @HostListener('click', ['$event'])\n toggleOpen($event: any): void {\n $event.preventDefault();\n this.setActiveTabPane();\n }\n\n setActiveTabPane() {\n setTimeout(() => {\n if (this.tabPaneIdx < this.tabContentRef.panes.length) {\n this.active = true;\n this.tabService.setActiveTabIdx({ tabContent: this.tabContentRef, activeIdx: this.tabPaneIdx });\n } else {\n this.active = false;\n }\n });\n }\n\n ngOnDestroy(): void {\n this.subscribeTabService(false);\n }\n\n subscribeTabService(subscribe: boolean = true) {\n if (subscribe) {\n this.tabServiceSubscription = this.tabService.activeTabPaneIdx$.subscribe((tabContentState) => {\n if (tabContentState.tabContent === this.tabContentRef) {\n this.active = (tabContentState.activeIdx === this.tabPaneIdx);\n }\n });\n } else {\n this.tabServiceSubscription?.unsubscribe();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { TabContentComponent } from './tab-content/tab-content.component';\nimport { TabPaneComponent } from './tab-pane/tab-pane.component';\nimport { TabService } from './tab.service';\nimport { TabContentRefDirective } from './tab-content-ref.directive';\n\n@NgModule({\n imports: [\n TabContentComponent,\n TabContentRefDirective,\n TabPaneComponent\n ],\n exports: [\n TabContentComponent,\n TabPaneComponent,\n TabContentRefDirective\n ],\n providers: [\n TabService\n ]\n})\nexport class TabsModule {}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { TToasterPlacement } from './toaster.component';\nimport { ToastComponent } from '../toast/toast.component';\n\nexport interface IToasterAction {\n placement?: TToasterPlacement;\n toast?: ToastComponent;\n show?: boolean;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ToasterService {\n\n private toasterState = new BehaviorSubject<IToasterAction>({});\n toasterState$ = this.toasterState.asObservable();\n\n constructor() {}\n\n setState(state: IToasterAction): void {\n this.toasterState.next({ ...state });\n }\n}\n","import {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n} from '@angular/core';\n\nimport { animate, AnimationEvent, state, style, transition, trigger } from '@angular/animations';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\nimport { ToasterService } from '../toaster/toaster.service';\nimport { TToasterPlacement } from '../toaster/toaster.component';\nimport { Colors } from '../../coreui.types';\n\ntype AnimateType = ('hide' | 'show');\n\n@Component({\n selector: 'c-toast',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./toast.component.scss'],\n exportAs: 'cToast',\n standalone: true,\n animations: [\n trigger('fadeInOut', [\n state('show', style({opacity: 1, height: '*', padding: '*', border: '*', margin: '*'})),\n state('hide', style({opacity: 0, height: 0, padding: 0, border: 0, margin: 0})),\n state('void', style({opacity: 0, height: 0, padding: 0, border: 0, margin: 0})),\n transition('show => hide', [\n animate('{{ time }} {{ easing }}'),\n ], {\n params: {time: '300ms', easing: 'ease-out'}\n }),\n transition('hide => show', [animate('{{ time }} {{ easing }}')], {\n params: {time: '300ms', easing: 'ease-in'},\n }),\n transition('show => void', [animate('{{ time }} {{ easing }}')], {\n params: {time: '300ms', easing: 'ease-out'},\n }),\n transition('void => show', [animate('{{ time }} {{ easing }}')], {\n params: {time: '300ms', easing: 'ease-in'},\n }),\n ]),\n ],\n})\nexport class ToastComponent implements OnInit, OnDestroy {\n\n static ngAcceptInputType_visible: BooleanInput;\n\n public dynamic!: boolean;\n public placement!: TToasterPlacement;\n public hide!: boolean;\n\n /**\n * Auto hide the toast.\n * @type boolean\n */\n @Input() autohide = true;\n\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @type Colors\n */\n @Input() color?: Colors = '';\n\n /**\n * Delay hiding the toast (ms).\n * @type number\n */\n @Input() delay = 5000;\n\n /**\n * Apply fade transition to the toast.\n * @type boolean\n */\n @Input() fade = true;\n\n /**\n * Toggle the visibility of component.\n * @type boolean\n */\n @Input()\n set visible(value: boolean) {\n const newValue = coerceBooleanProperty(value);\n if (this._visible !== newValue) {\n this._visible = newValue;\n newValue ? this.setTimer() : this.clearTimer();\n this.visibleChange.emit(newValue);\n this.changeDetectorRef.markForCheck();\n }\n }\n get visible() {\n return this._visible;\n }\n private _visible = false;\n\n /**\n * @ignore\n */\n @Input() index?: number;\n\n /**\n * Event emitted on visibility change. [docs]\n * @type boolean\n */\n @Output() visibleChange = new EventEmitter<boolean>();\n\n /**\n * Event emitted on timer tick. [docs]\n * @type number\n */\n @Output() timer: EventEmitter<number> = new EventEmitter();\n\n private timerId: any;\n private clockId: any;\n private clockTimerId: any;\n\n constructor(\n public hostElement: ElementRef,\n public renderer: Renderer2,\n public toasterService: ToasterService,\n public changeDetectorRef: ChangeDetectorRef\n ) {}\n\n private _clock!: number;\n\n get clock(): number {\n return this._clock;\n }\n\n set clock(value) {\n this._clock = value;\n this.timer.emit(this._clock);\n this.changeDetectorRef.markForCheck();\n }\n\n @HostBinding('@.disabled')\n get animationDisabled(): boolean {\n return !this.fade;\n }\n\n @HostBinding('@fadeInOut')\n get animateType(): AnimateType {\n return this.visible ? 'show' : 'hide';\n }\n\n @HostListener('@fadeInOut.start', ['$event'])\n onAnimationStart($event: AnimationEvent): void {\n this.onAnimationEvent($event);\n }\n\n @HostListener('@fadeInOut.done', ['$event'])\n onAnimationDone($event: AnimationEvent): void {\n this.onAnimationEvent($event);\n }\n\n @HostListener('mouseover') onMouseOver(): void {\n this.clearTimer();\n }\n\n @HostListener('mouseout') onMouseOut(): void {\n this.setTimer();\n }\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n toast: true,\n fade: this.fade,\n show: !this.hide,\n [`bg-${this.color}`]: !!this.color,\n 'border-0': !!this.color\n };\n }\n\n ngOnInit(): void {\n if (this.visible) {\n this.toasterService.setState({\n toast: this,\n show: this.visible,\n placement: this.placement,\n });\n this.clearTimer();\n this.setTimer();\n }\n }\n\n ngOnDestroy(): void {\n this.clearTimer();\n }\n\n setTimer(): void {\n this.clearTimer();\n if (this.autohide && this.visible) {\n this.timerId = this.delay > 0 ? setTimeout(() => this.onClose(), this.delay) : null;\n this.setClock();\n }\n }\n\n clearTimer(): void {\n this.clearClock();\n clearTimeout(this.timerId);\n this.timerId = null;\n }\n\n onClose(): void {\n this.clearTimer();\n this.toasterService.setState({\n toast: this,\n show: false,\n placement: this.placement,\n });\n }\n\n setClock(): void {\n this.clearClock();\n this.clock = 0;\n this.clockId = setInterval(() => {\n this.clock += 1;\n this.changeDetectorRef.markForCheck();\n }, 1000);\n this.clockTimerId = setTimeout(() => {\n this.clearClock();\n }, this.delay);\n }\n\n clearClock(): void {\n clearTimeout(this.clockTimerId);\n clearInterval(this.clockId);\n this.clockId = null;\n }\n\n onAnimationEvent(event: AnimationEvent): void {\n this.hide = event.phaseName === 'start' && event.toState === 'show';\n if (event.phaseName === 'done') {\n this.hide = (event.toState === 'hide' || event.toState === 'void');\n if (event.toState === 'show') {\n this.hide = false;\n }\n }\n }\n}\n","import { Component, HostBinding, Optional } from '@angular/core';\nimport { ToastComponent } from '../toast/toast.component';\n\n@Component({\n selector: 'c-toast-body',\n template: '<ng-content></ng-content>',\n styleUrls: ['./toast-body.component.scss'],\n exportAs: 'cToastBody',\n standalone: true\n})\nexport class ToastBodyComponent {\n\n @HostBinding('class.toast-body') toastBodyClass = true;\n\n constructor(\n @Optional() public toast?: ToastComponent\n ) { }\n\n}\n","import { Directive, HostListener, Input } from '@angular/core';\nimport { ToasterService } from './toaster/toaster.service';\n\n@Directive({\n selector: '[cToastClose]',\n exportAs: 'cToastClose',\n standalone: true\n})\nexport class ToastCloseDirective {\n\n @Input('cToastClose') toast: any;\n\n constructor(private toasterService: ToasterService) { }\n\n @HostListener('click', ['$event'])\n toggleOpen($event: any): void {\n $event.preventDefault();\n this.toasterService.setState({ show: false, toast: this.toast });\n }\n\n}\n","import { Component, HostBinding, Input, Optional } from '@angular/core';\nimport { NgIf } from '@angular/common';\n\nimport { ButtonCloseDirective } from '../../button';\nimport { ToastComponent } from '../toast/toast.component';\nimport { ToastCloseDirective } from '../toast-close.directive';\n\n@Component({\n selector: 'c-toast-header',\n templateUrl: './toast-header.component.html',\n exportAs: 'cToastHeader',\n standalone: true,\n imports: [ToastCloseDirective, ButtonCloseDirective, NgIf]\n})\nexport class ToastHeaderComponent {\n\n /**\n * Add close button to a toast header\n * @type boolean\n */\n @Input() closeButton = true;\n\n @HostBinding('class.toast-header') toastHeaderClass = true;\n\n constructor(\n @Optional() public toast?: ToastComponent\n ) { }\n\n}\n","<ng-container>\n <ng-content></ng-content>\n <button *ngIf=\"closeButton\" [cToastClose]=\"toast\" [style]=\"{outline: 0}\" aria-label=\"close\" cButtonClose class=\"ms-auto\"></button>\n</ng-container>\n","import { Directive, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[cToasterHost]',\n exportAs: 'cToasterHost',\n standalone: true\n})\nexport class ToasterHostDirective {\n\n constructor(\n public viewContainerRef: ViewContainerRef\n ) { }\n}\n","import {\n AfterContentChecked,\n Component,\n ComponentRef,\n ContentChildren,\n ElementRef,\n HostBinding,\n Injector,\n Input,\n NgModuleRef,\n OnDestroy,\n OnInit,\n QueryList,\n Renderer2,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { IToasterAction, ToasterService } from './toaster.service';\nimport { ToasterHostDirective } from './toaster-host.directive';\nimport { ToastComponent } from '../toast/toast.component';\n\nexport enum ToasterPlacement {\n Static = 'static',\n TopStart = 'top-start',\n TopCenter = 'top-center',\n TopEnd = 'top-end',\n MiddleStart = 'middle-start',\n MiddleCenter = 'middle-center',\n MiddleEnd = 'middle-end',\n BottomStart = 'bottom-start',\n BottomCenter = 'bottom-center',\n BottomEnd = 'bottom-end',\n}\n\nexport type TToasterPlacement =\n | ToasterPlacement.Static\n | ToasterPlacement.TopStart\n | ToasterPlacement.TopCenter\n | ToasterPlacement.TopEnd\n | ToasterPlacement.MiddleStart\n | ToasterPlacement.MiddleCenter\n | ToasterPlacement.MiddleEnd\n | ToasterPlacement.BottomStart\n | ToasterPlacement.BottomCenter\n | ToasterPlacement.BottomEnd\n | string;\n\n@Component({\n selector: 'c-toaster',\n templateUrl: './toaster.component.html',\n exportAs: 'cToaster',\n standalone: true,\n imports: [ToasterHostDirective]\n})\nexport class ToasterComponent implements OnDestroy, OnInit, AfterContentChecked {\n\n stateToasterSubscription!: Subscription;\n placements = Object.values(ToasterPlacement);\n toasts!: QueryList<ViewContainerRef>;\n toastsDynamic: any[] = [];\n\n /**\n * Toaster placement\n * @type TToasterPlacement\n */\n @Input() placement: TToasterPlacement = ToasterPlacement.TopEnd;\n\n /**\n * Toaster position\n * @type (string | 'absolute' | 'fixed' | 'static')\n */\n @Input() position: (string | 'absolute' | 'fixed' | 'static') = 'absolute';\n\n @ViewChild(ToasterHostDirective, { static: true }) toasterHost!: ToasterHostDirective;\n @ContentChildren(ToastComponent, { read: ViewContainerRef }) contentToasts!: QueryList<ViewContainerRef>;\n\n constructor(\n private hostElement: ElementRef,\n private renderer: Renderer2,\n private toasterService: ToasterService\n ) { }\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n toaster: true,\n 'toast-container': true,\n [`position-${this.position}`]: !!this.position,\n 'top-0': this.placement.includes('top'),\n 'top-50': this.placement.includes('middle'),\n 'bottom-0': this.placement.includes('bottom'),\n 'start-0': this.placement.includes('start'),\n 'start-50': this.placement.includes('center'),\n 'end-0': this.placement.includes('end'),\n 'translate-middle-x': this.placement.includes('center') && !this.placement.includes('middle'),\n 'translate-middle-y': this.placement.includes('middle') && !this.placement.includes('center'),\n 'translate-middle': this.placement.includes('middle') && this.placement.includes('center')\n };\n }\n\n ngOnInit(): void {\n this.stateToasterSubscribe(true);\n }\n\n ngOnDestroy(): void {\n this.stateToasterSubscribe(false);\n }\n\n ngAfterContentChecked(): void {\n this.toasts = this.contentToasts;\n }\n\n addToast(toast: any, props: any, options?: { index?: number; injector?: Injector; ngModuleRef?: NgModuleRef<unknown>; projectableNodes?: Node[][]; }): ComponentRef<any> {\n const componentRef: ComponentRef<any> = this.toasterHost.viewContainerRef.createComponent(toast, options);\n this.toastsDynamic.push(componentRef);\n const index = this.toastsDynamic.indexOf(componentRef);\n for (const [key, value] of Object.entries(props)) {\n componentRef.instance[key] = value;\n }\n componentRef.instance['placement'] = this.placement;\n componentRef.instance['dynamic'] = true;\n componentRef.instance['index'] = index;\n componentRef.instance['visible'] = true;\n componentRef.instance['visibleChange'].emit(true);\n componentRef.changeDetectorRef?.detectChanges();\n return componentRef;\n }\n\n removeToast(state: IToasterAction): void {\n this.toastsDynamic?.forEach(item => {\n if (state.toast?.dynamic && (item.instance === state.toast)) {\n item.instance.visible = false;\n item.instance['visibleChange'].emit(false);\n setTimeout(() => {\n item.destroy();\n }, 300);\n }\n });\n\n this.toasts?.forEach(item => {\n if (item.element.nativeElement === state.toast?.hostElement.nativeElement) {\n if (!state.toast?.dynamic) {\n // @ts-ignore\n state.toast.visible = false;\n }\n }\n });\n }\n\n private stateToasterSubscribe(subscribe: boolean = true): void {\n if (subscribe) {\n this.stateToasterSubscription = this.toasterService.toasterState$.subscribe((state) => {\n if (state.show === false) {\n this.removeToast(state);\n }\n if (state.show === true && state.toast?.dynamic === undefined) {\n }\n });\n } else {\n this.stateToasterSubscription?.unsubscribe();\n }\n }\n}\n","<ng-template cToasterHost></ng-template>\n<ng-content cToasterHost></ng-content>\n","import { NgModule } from '@angular/core';\nimport { ToastComponent } from './toast/toast.component';\nimport { ToastHeaderComponent } from './toast-header/toast-header.component';\nimport { ToastBodyComponent } from './toast-body/toast-body.component';\nimport { ToasterComponent } from './toaster/toaster.component';\nimport { ToasterService } from './toaster/toaster.service';\nimport { ToasterHostDirective } from './toaster/toaster-host.directive';\nimport { ToastCloseDirective } from './toast-close.directive';\n\n@NgModule({\n imports: [\n ToastBodyComponent,\n ToastComponent,\n ToastCloseDirective,\n ToastHeaderComponent,\n ToasterComponent,\n ToasterHostDirective\n ],\n providers: [ToasterService],\n exports: [\n ToastBodyComponent,\n ToastComponent,\n ToastCloseDirective,\n ToastHeaderComponent,\n ToasterComponent,\n ToasterHostDirective\n ]\n})\nexport class ToastModule {\n}\n","import {\n AfterViewInit,\n Component,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n Renderer2,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\n\n@Component({\n selector: 'c-tooltip',\n templateUrl: './tooltip.component.html',\n standalone: true\n})\nexport class TooltipComponent implements AfterViewInit, OnChanges, OnDestroy {\n\n /**\n * Content of tooltip\n * @type {string | TemplateRef}\n */\n @Input() content: string | TemplateRef<any> = '';\n /**\n * Toggle the visibility of popover component.\n * @type boolean\n */\n @Input() visible = false;\n @Input() @HostBinding('attr.id') id?: string;\n @Input() @HostBinding('attr.role') role = 'tooltip';\n\n @ViewChild('tooltipTemplate', { read: ViewContainerRef }) viewContainerRef!: ViewContainerRef;\n private textNode!: Text;\n\n constructor(\n private renderer: Renderer2\n ) { }\n\n @HostBinding('class')\n get hostClasses(): { [klass: string]: any; } {\n return {\n tooltip: true,\n fade: true,\n show: this.visible,\n 'bs-tooltip-auto': true\n };\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.updateView(this.content);\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['content']) {\n setTimeout(() => {\n this.updateView(this.content);\n });\n }\n }\n\n ngOnDestroy(): void {\n this.clear();\n }\n\n private clear(): void {\n this.viewContainerRef?.clear();\n if (!!this.textNode) {\n this.renderer.removeChild(this.textNode.parentNode, this.textNode);\n }\n }\n\n private updateView(content: string | TemplateRef<any>): void {\n this.clear();\n\n if (!content) {\n return;\n }\n\n if (content instanceof TemplateRef) {\n this.viewContainerRef.createEmbeddedView(content);\n } else {\n this.textNode = this.renderer.createText(content);\n\n const element = this.viewContainerRef.element.nativeElement;\n this.renderer.appendChild(element.parentNode, this.textNode);\n }\n }\n}\n","<ng-container>\n <div class=\"tooltip-arrow\" data-popper-arrow></div>\n <div class=\"tooltip-inner\">\n <ng-container #tooltipTemplate></ng-container>\n </div>\n</ng-container>\n","import {\n ChangeDetectorRef,\n ComponentRef,\n Directive,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Renderer2,\n SimpleChanges,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { createPopper, Instance, Options } from '@popperjs/core';\n\nimport { Triggers } from '../coreui.types';\nimport { TooltipComponent } from './tooltip/tooltip.component';\nimport { IListenersConfig, ListenersService } from '../services/listeners.service';\n\n@Directive({\n selector: '[cTooltip]',\n exportAs: 'cTooltip',\n providers: [ListenersService],\n standalone: true\n})\nexport class TooltipDirective implements OnChanges, OnDestroy, OnInit {\n\n /**\n * Content of tooltip\n * @type {string | TemplateRef}\n */\n @Input('cTooltip') content: string | TemplateRef<any> = '';\n\n /**\n * Optional popper Options object, takes precedence over cPopoverPlacement prop\n * @type Partial<Options>\n */\n @Input('cTooltipOptions')\n set popperOptions(value: Partial<Options>) {\n this._popperOptions = { ...this._popperOptions, placement: this.placement, ...value };\n };\n\n get popperOptions(): Partial<Options> {\n return { placement: this.placement, ...this._popperOptions };\n }\n\n /**\n * Describes the placement of your component after Popper.js has applied all the modifiers that may have flipped or altered the originally provided placement property.\n */\n @Input('cTooltipPlacement') placement: 'top' | 'bottom' | 'left' | 'right' = 'top';\n /**\n * Sets which event handlers you’d like provided to your toggle prop. You can specify one trigger or an array of them.\n * @type {'hover' | 'focus' | 'click'}\n */\n @Input('cTooltipTrigger') trigger: Triggers | Triggers[] = 'hover';\n\n /**\n * Toggle the visibility of tooltip component.\n */\n @Input('cTooltipVisible')\n set visible(value: boolean) {\n this._visible = value;\n }\n\n get visible() {\n return this._visible;\n }\n\n private _visible = false;\n\n @HostBinding('attr.aria-describedby') get ariaDescribedBy(): string | null {\n return this.tooltipId ? this.tooltipId : null;\n }\n\n private tooltip!: HTMLDivElement;\n private tooltipId!: string;\n private tooltipRef!: ComponentRef<TooltipComponent>;\n private popperInstance!: Instance;\n\n private _popperOptions: Partial<Options> = {\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 0]\n }\n }\n ]\n };\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n private renderer: Renderer2,\n private hostElement: ElementRef,\n private viewContainerRef: ViewContainerRef,\n private listenersService: ListenersService,\n private changeDetectorRef: ChangeDetectorRef\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['visible']) {\n changes['visible'].currentValue ? this.addTooltipElement() : this.removeTooltipElement();\n }\n }\n\n ngOnDestroy(): void {\n this.clearListeners();\n this.destroyTooltipElement();\n }\n\n ngOnInit(): void {\n this.setListeners();\n }\n\n private setListeners(): void {\n const config: IListenersConfig = {\n hostElement: this.hostElement,\n trigger: this.trigger,\n callbackToggle: () => {\n this.visible = !this.visible;\n this.visible ? this.addTooltipElement() : this.removeTooltipElement();\n },\n callbackOff: () => {\n this.visible = false;\n this.removeTooltipElement();\n },\n callbackOn: () => {\n this.visible = true;\n this.addTooltipElement();\n }\n };\n this.listenersService.setListeners(config);\n }\n\n private clearListeners(): void {\n this.listenersService.clearListeners();\n }\n\n private getUID(prefix: string): string {\n let uid = prefix ?? 'random-id';\n do {\n uid = `${prefix}-${Math.floor(Math.random() * 1000000).toString(10)}`;\n } while (this.document.getElementById(uid));\n\n return uid;\n }\n\n private createTooltipElement(): void {\n if (!this.tooltipRef) {\n this.tooltipRef = this.viewContainerRef.createComponent<TooltipComponent>(TooltipComponent);\n // this.viewContainerRef.detach();\n }\n }\n\n private destroyTooltipElement(): void {\n this.tooltip?.remove();\n this.tooltipRef?.destroy();\n // @ts-ignore\n this.tooltipRef = undefined;\n this.popperInstance?.destroy();\n this.viewContainerRef?.detach();\n this.viewContainerRef?.clear();\n }\n\n private addTooltipElement(): void {\n if (!this.tooltipRef) {\n this.createTooltipElement();\n }\n\n this.tooltipId = this.getUID('tooltip');\n this.tooltipRef.instance.id = this.tooltipId;\n this.tooltipRef.instance.content = this.content;\n\n this.tooltip = this.tooltipRef.location.nativeElement;\n this.renderer.addClass(this.tooltip, 'd-none');\n this.renderer.addClass(this.tooltip, 'fade');\n\n this.popperInstance?.destroy();\n\n this.viewContainerRef.insert(this.tooltipRef.hostView);\n this.renderer.appendChild(this.document.body, this.tooltip);\n\n this.popperInstance = createPopper(\n this.hostElement.nativeElement,\n this.tooltip,\n { ...this.popperOptions }\n );\n if (!this.visible) {\n this.removeTooltipElement();\n return;\n }\n this.renderer.removeClass(this.tooltip, 'd-none');\n this.changeDetectorRef.markForCheck();\n\n setTimeout(() => {\n this.tooltipRef.instance.visible = this.visible;\n this.popperInstance.forceUpdate();\n this.changeDetectorRef.markForCheck();\n }, 100);\n\n }\n\n private removeTooltipElement(): void {\n this.tooltipId = '';\n if (!this.tooltipRef) {\n return;\n }\n this.tooltipRef.instance.visible = false;\n this.tooltipRef.instance.id = undefined;\n this.changeDetectorRef.markForCheck();\n setTimeout(() => {\n this.viewContainerRef?.detach();\n }, 300);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { TooltipComponent } from './tooltip/tooltip.component';\nimport { TooltipDirective } from './tooltip.directive';\n\n@NgModule({\n exports: [\n TooltipComponent,\n TooltipDirective\n ],\n imports: [\n TooltipComponent,\n TooltipDirective\n ]\n})\nexport class TooltipModule {}\n","import { AfterContentInit, Component, ContentChildren, HostBinding, Input, QueryList } from '@angular/core';\n\nimport { Colors } from '../../coreui.types';\nimport { TemplateIdDirective } from '../../shared';\nimport { CardBodyComponent } from '../../card';\nimport { NgClass, NgIf, NgTemplateOutlet } from '@angular/common';\n\n@Component({\n selector: 'c-widget-stat-a',\n templateUrl: './widget-stat-a.component.html',\n exportAs: 'cWidgetStatA',\n imports: [CardBodyComponent, NgClass, NgIf, NgTemplateOutlet],\n standalone: true\n})\nexport class WidgetStatAComponent implements AfterContentInit {\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @type Colors\n */\n @Input() color?: Colors;\n /**\n * Title of the widget to display\n * @type string\n */\n @Input() title?: string;\n /**\n * Value for your widget to display\n * @type string\n */\n @Input() value?: string;\n\n templates: any = {};\n\n @ContentChildren(TemplateIdDirective, { descendants: true }) contentTemplates!: QueryList<TemplateIdDirective>;\n\n @HostBinding('class')\n get hostClasses() {\n return {\n 'card': true,\n [`bg-${this.color}`]: !!this.color,\n 'text-high-emphasis-inverse': !!this.color\n };\n }\n\n get bodyClasses() {\n return {\n 'pb-0': true,\n 'd-flex': true,\n 'justify-content-between': true,\n 'align-items-start': true\n };\n }\n\n ngAfterContentInit(): void {\n this.contentTemplates.forEach((child: TemplateIdDirective) => {\n this.templates[child.id] = child.templateRef;\n });\n }\n}\n","<ng-container>\n <c-card-body [ngClass]=\"bodyClasses\">\n <div>\n <div *ngIf=\"!!value || templates?.widgetValueTemplate\" class=\"fs-4 fw-semibold\">\n <ng-container *ngTemplateOutlet=\"templates?.widgetValueTemplate || defaultWidgetValueTemplate\"></ng-container>\n </div>\n <div *ngIf=\"!!title || templates?.widgetTitleTemplate\">\n <ng-container *ngTemplateOutlet=\"templates?.widgetTitleTemplate || defaultWidgetTitleTemplate\"></ng-container>\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"templates?.widgetActionTemplate || defaultWidgetActionTemplate\"></ng-container>\n </c-card-body>\n <ng-container *ngTemplateOutlet=\"templates?.widgetChartTemplate || defaultWidgetChartTemplate\"></ng-container>\n</ng-container>\n\n<ng-template #defaultWidgetTitleTemplate>\n {{title}}\n</ng-template>\n\n<ng-template #defaultWidgetValueTemplate>\n {{value}}\n</ng-template>\n\n<ng-template #defaultWidgetChartTemplate>\n <ng-content select=\".chart-wrapper\"></ng-content>\n</ng-template>\n\n<ng-template #defaultWidgetActionTemplate>\n <ng-content></ng-content>\n</ng-template>\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { NgClass, NgIf } from '@angular/common';\n\nimport { Colors } from '../../coreui.types';\nimport { CardBodyComponent, CardComponent } from '../../card';\n\n@Component({\n selector: 'c-widget-stat-b',\n templateUrl: './widget-stat-b.component.html',\n exportAs: 'cWidgetStatB',\n standalone: true,\n imports: [CardBodyComponent, NgIf, NgClass]\n})\nexport class WidgetStatBComponent extends CardComponent {\n\n constructor() {\n super();\n }\n\n static ngAcceptInputType_inverse: BooleanInput;\n\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @type Colors\n */\n @Input() override color?: Colors;\n /**\n * Sets the text-color context of the component to one of CoreUI’s themed colors.\n * @type Colors\n */\n @Input() override textColor?: Colors | 'white' | 'muted';\n /**\n * Title of the widget to display\n * @type string\n */\n @Input() title?: string;\n /**\n * Helper text for your widget.\n * @type string\n */\n @Input() text?: string;\n /**\n * Value for your widget to display\n * @type string\n */\n @Input() value?: string;\n\n /**\n * Invert colors from their default dark shade.\n * @type boolean\n */\n @Input()\n get inverse(): boolean {\n return this._inverse;\n }\n\n set inverse(value: boolean) {\n this._inverse = coerceBooleanProperty(value);\n }\n\n private _inverse = false;\n\n @HostBinding('class')\n override get hostClasses() {\n return {\n 'card': true,\n [`bg-${this.color}`]: !!this.color,\n [`text-${this.textColor}`]: !!this.textColor,\n 'text-high-emphasis-inverse': !!this.color\n };\n }\n\n}\n","<c-card-body>\n <div *ngIf=\"!!value\" class=\"fs-4 fw-semibold\">{{value}}</div>\n <div *ngIf=\"!!title\">{{title}}</div>\n <ng-content></ng-content>\n <small *ngIf=\"text\" [ngClass]=\"inverse ? 'text-medium-emphasis-inverse' : 'text-medium-emphasis'\">\n {{text}}\n </small>\n</c-card-body>\n","import { AfterContentInit, Component, ContentChildren, HostBinding, Input, QueryList } from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\nimport { CardBodyComponent, CardComponent } from '../../card';\nimport { TemplateIdDirective } from '../../shared';\nimport { NgClass, NgIf, NgTemplateOutlet } from '@angular/common';\n\n@Component({\n selector: 'c-widget-stat-c',\n templateUrl: './widget-stat-c.component.html',\n exportAs: 'cWidgetStatC',\n standalone: true,\n imports: [CardBodyComponent, NgIf, NgClass, NgTemplateOutlet]\n})\nexport class WidgetStatCComponent extends CardComponent implements AfterContentInit {\n\n constructor() {\n super();\n }\n\n static ngAcceptInputType_inverse: BooleanInput;\n\n /**\n * Icon for your component.\n * @type string\n */\n @Input() icon?: string;\n /**\n * Title of the widget to display\n * @type string\n */\n @Input() title?: string;\n /**\n * Value for your widget to display\n * @type string\n */\n @Input() value?: string | number;\n\n /**\n * Invert colors from their default dark shade.\n * @type boolean\n */\n @Input()\n get inverse(): boolean {\n return this._inverse;\n }\n\n set inverse(value: boolean) {\n this._inverse = coerceBooleanProperty(value);\n }\n\n private _inverse = false;\n\n templates: any = {};\n @ContentChildren(TemplateIdDirective, { descendants: true }) contentTemplates!: QueryList<TemplateIdDirective>;\n\n @HostBinding('class')\n get hostExtendedClass() {\n return {\n 'high-emphasis-inverse': this.inverse\n };\n }\n\n get iconClasses() {\n return {\n 'mb-4': !this.textColor,\n 'text-end': true,\n 'text-medium-emphasis': !this.inverse,\n 'text-medium-emphasis-inverse': this.inverse,\n [`text-${this.textColor}`]: !!this.textColor\n };\n }\n\n get titleClasses() {\n return {\n 'text-medium-emphasis': !this.inverse,\n 'text-medium-emphasis-inverse': this.inverse,\n [`text-${this.textColor}`]: !!this.textColor\n };\n }\n\n get valueClasses() {\n return {\n 'fs-4': !this.textColor,\n 'fw-semibold': true,\n 'text-high-emphasis': !this.inverse,\n 'text-high-emphasis-inverse': this.inverse,\n [`text-${this.textColor}`]: !!this.textColor\n };\n }\n\n ngAfterContentInit(): void {\n this.contentTemplates.forEach((child: TemplateIdDirective) => {\n this.templates[child.id] = child.templateRef;\n });\n }\n}\n","<c-card-body>\n <div *ngIf=\"icon || templates?.widgetIconTemplate\" [ngClass]=\"iconClasses\">\n <ng-container *ngTemplateOutlet=\"templates?.widgetIconTemplate || defaultWidgetIconTemplate\"></ng-container>\n </div>\n <div *ngIf=\"!!value\" [ngClass]=\"valueClasses\">\n {{value}}\n </div>\n <div *ngIf=\"!!title\" [ngClass]=\"titleClasses\">\n {{title}}\n </div>\n <ng-container *ngIf=\"templates?.widgetProgressTemplate\">\n <ng-container *ngTemplateOutlet=\"templates?.widgetProgressTemplate || defaultWidgetProgressTemplate\"></ng-container>\n </ng-container>\n</c-card-body>\n\n<ng-template #defaultWidgetIconTemplate>\n {{icon}}\n</ng-template>\n\n<ng-template #defaultWidgetProgressTemplate>\n <ng-content></ng-content>\n</ng-template>\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { Colors } from '../../coreui.types';\nimport { CardBodyComponent, CardHeaderComponent } from '../../card';\nimport { ColComponent, RowDirective } from '../../grid';\nimport { NgClass, NgForOf, NgIf } from '@angular/common';\n\nexport type WidgetStatDValue = {\n title?: string,\n value?: number | string,\n}\n\n@Component({\n selector: 'c-widget-stat-d',\n templateUrl: './widget-stat-d.component.html',\n exportAs: 'cWidgetStatD',\n standalone: true,\n imports: [CardHeaderComponent, CardBodyComponent, ColComponent, RowDirective, NgClass, NgForOf, NgIf]\n})\nexport class WidgetStatDComponent {\n constructor() { }\n\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @type Colors\n */\n @Input() color?: Colors;\n /**\n * Values and subtitles for your component.\n * @type WidgetStatDValue\n */\n @Input() values?: WidgetStatDValue[];\n\n @HostBinding('class')\n get hostClasses() {\n return {\n 'card': true\n };\n }\n\n get headerClasses() {\n return {\n 'position-relative': true,\n 'd-flex': true,\n 'justify-content-center': true,\n 'align-items-center': true,\n [`bg-${this.color}`]: this.color\n };\n }\n\n}\n","<c-card-header [ngClass]=\"headerClasses\">\n <ng-content></ng-content>\n</c-card-header>\n<c-card-body cRow class=\"text-center\">\n <ng-template [ngForOf]=\"values\" let-i=\"index\" let-item ngFor>\n <div *ngIf=\"i % 2 !== 0\" class=\"vr\"></div>\n <c-col>\n <div class=\"fs-5 fw-semibold\">{{item.value}}</div>\n <div class=\"text-uppercase text-medium-emphasis small\">{{item.title}}</div>\n </c-col>\n </ng-template>\n</c-card-body>\n","import { Component, Input } from '@angular/core';\nimport { NgClass, NgIf } from '@angular/common';\nimport { CardBodyComponent, CardComponent } from '../../card';\n\n@Component({\n selector: 'c-widget-stat-e',\n templateUrl: './widget-stat-e.component.html',\n exportAs: 'cWidgetStatE',\n standalone: true,\n imports: [CardBodyComponent, NgIf, NgClass]\n})\nexport class WidgetStatEComponent extends CardComponent {\n\n constructor() {\n super();\n }\n\n /**\n * Title of the widget to display\n * @type string\n */\n @Input() title?: string;\n /**\n * Value for your widget to display\n * @type string | number\n */\n @Input() value?: string | number;\n\n get titleClasses() {\n return {\n 'text-medium-emphasis': !this.textColor,\n 'small': true,\n 'text-uppercase': true,\n 'fw-semibold': true,\n [`text-${this.textColor}`]: !!this.textColor\n };\n }\n\n}\n","<c-card-body class=\"text-center\">\n <div *ngIf=\"!!title\" [ngClass]=\"titleClasses\">{{title}}</div>\n <div *ngIf=\"!!value\" class=\"fs-6 fw-semibold py-3\">{{value}}</div>\n <ng-content></ng-content>\n</c-card-body>\n","import { AfterContentInit, Component, ContentChildren, HostBinding, Input, QueryList } from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\nimport { TemplateIdDirective } from '../../shared';\nimport { Colors } from '../../coreui.types';\nimport { NgClass, NgIf, NgTemplateOutlet } from '@angular/common';\nimport { CardBodyComponent, CardFooterComponent } from '../../card';\n\n@Component({\n selector: 'c-widget-stat-f',\n templateUrl: './widget-stat-f.component.html',\n exportAs: 'cWidgetStatB',\n standalone: true,\n imports: [CardBodyComponent, CardFooterComponent, NgClass, NgTemplateOutlet, NgIf]\n})\nexport class WidgetStatFComponent implements AfterContentInit {\n\n static ngAcceptInputType_padding: BooleanInput;\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @type Colors\n */\n @Input() color?: Colors;\n /**\n * Sets the text-color context of the component to one of CoreUI’s themed colors.\n * @type Colors\n */\n @Input() textColor?: Colors | 'white' | 'muted';\n /**\n * Footer for your widget\n * @type string\n */\n @Input() footer?: string;\n /**\n * Icon for your widget\n * @type string\n */\n @Input() icon?: string;\n\n /**\n * Set padding of your component.\n * @type boolean\n */\n @Input()\n get padding(): boolean {\n return this._padding;\n }\n\n set padding(value: boolean) {\n this._padding = coerceBooleanProperty(value);\n }\n\n private _padding = false;\n\n /**\n * Title of the widget to display\n * @type string\n */\n @Input() title?: string;\n /**\n * Value for your widget to display\n * @type string\n */\n @Input() value?: string | number;\n\n templates: any = {};\n @ContentChildren(TemplateIdDirective, { descendants: true }) contentTemplates!: QueryList<TemplateIdDirective>;\n\n @HostBinding('class')\n get hostClasses() {\n return {\n card: true\n };\n }\n\n get cardBodyClasses() {\n return {\n 'd-flex': true,\n 'align-items-center': true,\n 'p-0': !this.padding\n };\n }\n\n get iconClasses() {\n return {\n 'me-3': !this.textColor,\n 'text-white': true,\n [`bg-${this.color}`]: !!this.color,\n 'p-3': this.padding,\n 'p-4': !this.padding\n };\n }\n\n get titleClasses() {\n return {\n 'text-medium-emphasis': !this.textColor,\n 'small': true,\n 'text-uppercase': true,\n 'fw-semibold': true,\n [`text-${this.textColor}`]: !!this.textColor\n };\n }\n\n get valueClasses() {\n return {\n 'fs-6': !this.textColor,\n 'fw-semibold': true,\n [`text-${this.textColor}`]: !!this.textColor\n };\n }\n\n ngAfterContentInit(): void {\n this.contentTemplates.forEach((child: TemplateIdDirective) => {\n this.templates[child.id] = child.templateRef;\n });\n }\n}\n","<ng-container>\n <c-card-body [ngClass]=\"cardBodyClasses\">\n <div [ngClass]=\"iconClasses\">\n <ng-container *ngTemplateOutlet=\"templates?.widgetIconTemplate || defaultWidgetIconTemplate\"></ng-container>\n </div>\n <div>\n <div [ngClass]=\"valueClasses\">{{value}}</div>\n <div [ngClass]=\"titleClasses\">{{title}}</div>\n </div>\n </c-card-body>\n <c-card-footer *ngIf=\"footer || templates?.widgetFooterTemplate\">\n <ng-container *ngTemplateOutlet=\"templates?.widgetFooterTemplate || defaultFooterIconTemplate\"></ng-container>\n </c-card-footer>\n</ng-container>\n\n<ng-template #defaultWidgetIconTemplate>\n <span>{{icon}}</span>\n</ng-template>\n\n<ng-template #defaultFooterIconTemplate>\n <span>{{footer}}</span>\n</ng-template>\n","import { NgModule } from '@angular/core';\n\nimport { WidgetStatAComponent } from './widget-stat-a/widget-stat-a.component';\nimport { WidgetStatBComponent } from './widget-stat-b/widget-stat-b.component';\nimport { WidgetStatCComponent } from './widget-stat-c/widget-stat-c.component';\nimport { WidgetStatDComponent } from './widget-stat-d/widget-stat-d.component';\nimport { WidgetStatEComponent } from './widget-stat-e/widget-stat-e.component';\nimport { WidgetStatFComponent } from './widget-stat-f/widget-stat-f.component';\n\n@NgModule({\n imports: [\n WidgetStatAComponent,\n WidgetStatBComponent,\n WidgetStatCComponent,\n WidgetStatDComponent,\n WidgetStatEComponent,\n WidgetStatFComponent\n ],\n exports: [\n WidgetStatAComponent,\n WidgetStatBComponent,\n WidgetStatCComponent,\n WidgetStatDComponent,\n WidgetStatEComponent,\n WidgetStatFComponent\n ]\n})\nexport class WidgetModule {}\n","/*\n * Public API Surface of coreui-angular\n */\n\nexport * from './lib/coreui.types';\nexport * from './lib/shared';\nexport * from './lib/accordion';\nexport * from './lib/alert';\nexport * from './lib/avatar';\nexport * from './lib/badge';\nexport * from './lib/breadcrumb';\nexport * from './lib/button';\nexport * from './lib/button-group';\nexport * from './lib/calendar';\nexport * from './lib/callout';\nexport * from './lib/card';\nexport * from './lib/carousel';\nexport * from './lib/collapse';\nexport * from './lib/date-picker';\nexport * from './lib/date-range-picker';\nexport * from './lib/dropdown';\nexport * from './lib/element-cover';\nexport * from './lib/footer';\nexport * from './lib/form';\nexport * from './lib/grid';\nexport * from './lib/header';\nexport * from './lib/image';\nexport * from './lib/list-group';\nexport * from './lib/loading-button';\nexport * from './lib/multi-select';\nexport * from './lib/nav';\nexport * from './lib/navbar';\nexport * from './lib/modal';\nexport * from './lib/offcanvas';\nexport * from './lib/pagination';\nexport * from './lib/placeholder';\nexport * from './lib/popover';\nexport * from './lib/progress';\nexport * from './lib/services';\nexport * from './lib/sidebar';\nexport * from './lib/smart-pagination';\nexport * from './lib/smart-table';\nexport * from './lib/spinner';\nexport * from './lib/table';\nexport * from './lib/tabs';\nexport * from './lib/time-picker';\nexport * from './lib/toast';\nexport * from './lib/tooltip';\nexport * from './lib/utilities';\nexport * from './lib/widget';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.AccordionService","nextId","i1","i1.BreadcrumbRouterService","i1.CalendarService","i1.CarouselService","i2.CarouselState","i3.IntersectionService","i4.ListenersService","i1.CarouselState","i1.DropdownService","i2.DropdownComponent","dateFormat","i2","takeUntil","i2.MultiSelectService","i1.MultiSelectService","i1.ModalService","i2.BackdropService","i3","i1.OffcanvasService","i4","i1.ListenersService","i2.IntersectionService","i1.SidebarService","i2.SidebarService","i3.SidebarBackdropService","i1.SidebarNavHelper","i2.SidebarNavHelper","i3.SidebarNavGroupService","i5.SidebarComponent","i6.SidebarService","distinctUntilChanged","map","debounceTime","i1.TabService","i1.ToasterService","i1.ToastComponent"],"mappings":"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,CAAC,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IACjH,MAAM,WAAW,GAAG,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC;IACvG,MAAM,WAAW,GAAG,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC;IAEvG,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,KAAI;QAChD,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,KAAK,IAAI,IAAI,WAAW,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,CAAC;AACnG,KAAC,CAAC,CAAA;AAEF,IAAA,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAIF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;MC/qBa,oBAAoB,CAAA;AAE/B,IAAA,WAAA,CACS,UAAsB,EAAA;QAAtB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAC1B;;iHAJM,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;qGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;iGAOU,YAAY,EAAA,CAAA;sBAApB,KAAK;;MAWK,0BAA0B,CAAA;AAErC,IAAA,WAAA,CACS,UAAsB,EAAA;QAAtB,IAAU,CAAA,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"}