@coreui/angular-pro 4.1.0-next.2 → 4.1.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.
- package/README.md +27 -7
- package/esm2020/lib/accordion/accordion/accordion.component.mjs +4 -4
- package/esm2020/lib/accordion/accordion-button/accordion-button.directive.mjs +4 -4
- package/esm2020/lib/accordion/accordion-item/accordion-item.component.mjs +4 -4
- package/esm2020/lib/accordion/accordion.module.mjs +8 -10
- package/esm2020/lib/accordion/accordion.service.mjs +4 -4
- package/esm2020/lib/alert/alert-heading.directive.mjs +4 -4
- package/esm2020/lib/alert/alert-link.directive.mjs +4 -4
- package/esm2020/lib/alert/alert.component.mjs +11 -11
- package/esm2020/lib/alert/alert.module.mjs +6 -8
- package/esm2020/lib/avatar/avatar.component.mjs +5 -5
- package/esm2020/lib/avatar/avatar.module.mjs +5 -7
- package/esm2020/lib/backdrop/backdrop.service.mjs +4 -4
- package/esm2020/lib/badge/badge.component.mjs +5 -5
- package/esm2020/lib/badge/badge.module.mjs +5 -7
- package/esm2020/lib/breadcrumb/breadcrumb/breadcrumb.component.mjs +5 -5
- package/esm2020/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.mjs +4 -4
- package/esm2020/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.mjs +7 -7
- package/esm2020/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.mjs +4 -4
- package/esm2020/lib/breadcrumb/breadcrumb.module.mjs +5 -5
- package/esm2020/lib/button/button-close.directive.mjs +4 -4
- package/esm2020/lib/button/button.directive.mjs +4 -4
- package/esm2020/lib/button/button.module.mjs +5 -7
- package/esm2020/lib/button-group/button-group/button-group.component.mjs +4 -4
- package/esm2020/lib/button-group/button-group.module.mjs +5 -7
- package/esm2020/lib/button-group/button-toolbar/button-toolbar.component.mjs +4 -4
- package/esm2020/lib/callout/callout.component.mjs +4 -4
- package/esm2020/lib/callout/callout.module.mjs +5 -7
- package/esm2020/lib/card/card-body.component.mjs +4 -4
- package/esm2020/lib/card/card-footer.component.mjs +4 -4
- package/esm2020/lib/card/card-group.component.mjs +4 -4
- package/esm2020/lib/card/card-header-actions.component.mjs +4 -4
- package/esm2020/lib/card/card-header.component.mjs +4 -4
- package/esm2020/lib/card/card-img-overlay/card-img-overlay.component.mjs +4 -4
- package/esm2020/lib/card/card-img.directive.mjs +4 -4
- package/esm2020/lib/card/card-link.directive.mjs +4 -4
- package/esm2020/lib/card/card-subtitle.directive.mjs +4 -4
- package/esm2020/lib/card/card-text.directive.mjs +4 -4
- package/esm2020/lib/card/card-title.directive.mjs +4 -4
- package/esm2020/lib/card/card.component.mjs +4 -4
- package/esm2020/lib/card/card.module.mjs +5 -7
- package/esm2020/lib/carousel/carousel/carousel.component.mjs +4 -4
- package/esm2020/lib/carousel/carousel-caption/carousel-caption.component.mjs +4 -4
- package/esm2020/lib/carousel/carousel-control/carousel-control.component.mjs +5 -5
- package/esm2020/lib/carousel/carousel-indicators/carousel-indicators.component.mjs +5 -5
- package/esm2020/lib/carousel/carousel-inner/carousel-inner.component.mjs +4 -4
- package/esm2020/lib/carousel/carousel-item/carousel-item.component.mjs +4 -4
- package/esm2020/lib/carousel/carousel-state.mjs +4 -4
- package/esm2020/lib/carousel/carousel.config.mjs +4 -4
- package/esm2020/lib/carousel/carousel.module.mjs +5 -5
- package/esm2020/lib/carousel/carousel.service.mjs +4 -4
- package/esm2020/lib/collapse/collapse.animations.mjs +5 -5
- package/esm2020/lib/collapse/collapse.directive.mjs +4 -4
- package/esm2020/lib/collapse/collapse.module.mjs +5 -7
- package/esm2020/lib/dropdown/dropdown/dropdown.component.mjs +13 -9
- package/esm2020/lib/dropdown/dropdown-close/dropdown-close.directive.mjs +4 -4
- package/esm2020/lib/dropdown/dropdown-divider/dropdown-divider.directive.mjs +4 -4
- package/esm2020/lib/dropdown/dropdown-header/dropdown-header.directive.mjs +4 -4
- package/esm2020/lib/dropdown/dropdown-item/dropdown-item-plain.directive.mjs +4 -4
- package/esm2020/lib/dropdown/dropdown-item/dropdown-item.directive.mjs +4 -4
- package/esm2020/lib/dropdown/dropdown-menu/dropdown-menu.directive.mjs +4 -4
- package/esm2020/lib/dropdown/dropdown.module.mjs +6 -8
- package/esm2020/lib/dropdown/dropdown.service.mjs +4 -4
- package/esm2020/lib/element-cover/element-cover.component.mjs +6 -6
- package/esm2020/lib/element-cover/element-cover.module.mjs +6 -8
- package/esm2020/lib/footer/footer.component.mjs +4 -4
- package/esm2020/lib/footer/footer.module.mjs +5 -7
- package/esm2020/lib/form/form/form.directive.mjs +4 -4
- package/esm2020/lib/form/form-check/form-check-input.directive.mjs +4 -4
- package/esm2020/lib/form/form-check/form-check-label.directive.mjs +4 -4
- package/esm2020/lib/form/form-check/form-check.component.mjs +4 -4
- package/esm2020/lib/form/form-control/form-control.directive.mjs +4 -4
- package/esm2020/lib/form/form-feedback/form-feedback.component.mjs +4 -4
- package/esm2020/lib/form/form-floating/form-floating.directive.mjs +4 -4
- package/esm2020/lib/form/form-label/form-label.directive.mjs +4 -4
- package/esm2020/lib/form/form-select/form-select.directive.mjs +4 -4
- package/esm2020/lib/form/form-text/form-text.directive.mjs +4 -4
- package/esm2020/lib/form/form.module.mjs +5 -5
- package/esm2020/lib/form/input-group/input-group.component.mjs +4 -4
- package/esm2020/lib/form/input-group-text/input-group-text.directive.mjs +4 -4
- package/esm2020/lib/grid/col.component.mjs +4 -4
- package/esm2020/lib/grid/col.directive.mjs +4 -4
- package/esm2020/lib/grid/container.component.mjs +4 -4
- package/esm2020/lib/grid/grid.module.mjs +5 -5
- package/esm2020/lib/grid/gutter.directive.mjs +4 -4
- package/esm2020/lib/grid/row.component.mjs +5 -5
- package/esm2020/lib/grid/row.directive.mjs +4 -4
- package/esm2020/lib/header/header/header.component.mjs +4 -4
- package/esm2020/lib/header/header-brand/header-brand.component.mjs +4 -4
- package/esm2020/lib/header/header-divider/header-divider.component.mjs +4 -4
- package/esm2020/lib/header/header-nav/header-nav.component.mjs +5 -5
- package/esm2020/lib/header/header-text/header-text.component.mjs +4 -4
- package/esm2020/lib/header/header-toggler/header-toggler.directive.mjs +4 -4
- package/esm2020/lib/header/header.module.mjs +5 -7
- package/esm2020/lib/image/img.directive.mjs +4 -4
- package/esm2020/lib/image/img.module.mjs +5 -7
- package/esm2020/lib/list-group/list-group-item.directive.mjs +4 -4
- package/esm2020/lib/list-group/list-group.directive.mjs +4 -4
- package/esm2020/lib/list-group/list-group.module.mjs +5 -7
- package/esm2020/lib/loading-button/loading-button.component.mjs +5 -5
- package/esm2020/lib/loading-button/loading-button.module.mjs +6 -8
- package/esm2020/lib/modal/modal/modal.component.mjs +7 -7
- package/esm2020/lib/modal/modal-body/modal-body.component.mjs +4 -4
- package/esm2020/lib/modal/modal-content/modal-content.component.mjs +4 -4
- package/esm2020/lib/modal/modal-dialog/modal-dialog.component.mjs +4 -4
- package/esm2020/lib/modal/modal-dismiss/modal-toggle.directive.mjs +4 -4
- package/esm2020/lib/modal/modal-footer/modal-footer.component.mjs +4 -4
- package/esm2020/lib/modal/modal-header/modal-header.component.mjs +4 -4
- package/esm2020/lib/modal/modal-title/modal-title.directive.mjs +4 -4
- package/esm2020/lib/modal/modal.module.mjs +7 -9
- package/esm2020/lib/modal/modal.service.mjs +4 -4
- package/esm2020/lib/multi-select/multi-select/multi-select.component.mjs +8 -8
- package/esm2020/lib/multi-select/multi-select-native-select/multi-select-native-select.component.mjs +4 -4
- package/esm2020/lib/multi-select/multi-select-optgroup/multi-select-optgroup-label.component.mjs +4 -4
- package/esm2020/lib/multi-select/multi-select-optgroup/multi-select-optgroup.component.mjs +6 -6
- package/esm2020/lib/multi-select/multi-select-option/multi-select-option.component.mjs +4 -4
- package/esm2020/lib/multi-select/multi-select-tag/multi-select-tag.component.mjs +4 -4
- package/esm2020/lib/multi-select/multi-select.module.mjs +5 -5
- package/esm2020/lib/multi-select/multi-select.service.mjs +4 -4
- package/esm2020/lib/nav/nav-item.component.mjs +4 -4
- package/esm2020/lib/nav/nav-link.directive.mjs +4 -4
- package/esm2020/lib/nav/nav.component.mjs +4 -4
- package/esm2020/lib/nav/nav.module.mjs +5 -7
- package/esm2020/lib/navbar/navbar-brand/navbar-brand.directive.mjs +4 -4
- package/esm2020/lib/navbar/navbar-nav/navbar-nav.component.mjs +4 -4
- package/esm2020/lib/navbar/navbar-text/navbar-text.component.mjs +4 -4
- package/esm2020/lib/navbar/navbar-toggler/navbar-toggler.directive.mjs +4 -4
- package/esm2020/lib/navbar/navbar.component.mjs +5 -5
- package/esm2020/lib/navbar/navbar.module.mjs +6 -8
- package/esm2020/lib/offcanvas/offcanvas/offcanvas.component.mjs +5 -5
- package/esm2020/lib/offcanvas/offcanvas-body/offcanvas-body.component.mjs +4 -4
- package/esm2020/lib/offcanvas/offcanvas-header/offcanvas-header.component.mjs +5 -5
- package/esm2020/lib/offcanvas/offcanvas-title/offcanvas-title.directive.mjs +4 -4
- package/esm2020/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.mjs +4 -4
- package/esm2020/lib/offcanvas/offcanvas.module.mjs +7 -9
- package/esm2020/lib/offcanvas/offcanvas.service.mjs +4 -4
- package/esm2020/lib/pagination/page-item/page-item.component.mjs +4 -4
- package/esm2020/lib/pagination/page-item/page-item.directive.mjs +4 -4
- package/esm2020/lib/pagination/page-link/page-link.directive.mjs +4 -4
- package/esm2020/lib/pagination/pagination/pagination.component.mjs +5 -5
- package/esm2020/lib/pagination/pagination.module.mjs +5 -7
- package/esm2020/lib/placeholder/placeholder-animation.directive.mjs +4 -4
- package/esm2020/lib/placeholder/placeholder.directive.mjs +4 -4
- package/esm2020/lib/placeholder/placeholder.module.mjs +5 -7
- package/esm2020/lib/popover/popover/popover.component.mjs +4 -4
- package/esm2020/lib/popover/popover.directive.mjs +4 -4
- package/esm2020/lib/popover/popover.module.mjs +5 -7
- package/esm2020/lib/progress/progress-bar.component.mjs +4 -4
- package/esm2020/lib/progress/progress.component.mjs +4 -4
- package/esm2020/lib/progress/progress.module.mjs +5 -7
- package/esm2020/lib/services/class-toggle.service.mjs +4 -4
- package/esm2020/lib/services/intersection.service.mjs +4 -4
- package/esm2020/lib/services/listeners.service.mjs +4 -4
- package/esm2020/lib/shared/html-attr.directive.mjs +4 -4
- package/esm2020/lib/shared/shared.module.mjs +5 -7
- package/esm2020/lib/shared/template-id.directive.mjs +4 -4
- package/esm2020/lib/sidebar/sidebar/sidebar.component.mjs +4 -4
- package/esm2020/lib/sidebar/sidebar-backdrop/sidebar-backdrop.service.mjs +4 -4
- package/esm2020/lib/sidebar/sidebar-brand/sidebar-brand.component.mjs +4 -4
- package/esm2020/lib/sidebar/sidebar-footer/sidebar-footer.component.mjs +5 -5
- package/esm2020/lib/sidebar/sidebar-header/sidebar-header.component.mjs +5 -5
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-badge.pipe.mjs +4 -4
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.mjs +4 -4
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-icon.pipe.mjs +4 -4
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-item-class.pipe.mjs +4 -4
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-label.component.mjs +4 -4
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-link.component.mjs +11 -11
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-link.pipe.mjs +4 -4
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-title.component.mjs +4 -4
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav.component.mjs +14 -14
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav.service.mjs +7 -7
- package/esm2020/lib/sidebar/sidebar-toggle/sidebar-toggle.directive.mjs +4 -4
- package/esm2020/lib/sidebar/sidebar-toggler/sidebar-toggler.component.mjs +4 -4
- package/esm2020/lib/sidebar/sidebar.module.mjs +9 -11
- package/esm2020/lib/sidebar/sidebar.service.mjs +4 -4
- package/esm2020/lib/smart-pagination/smart-pagination.component.mjs +4 -4
- package/esm2020/lib/smart-pagination/smart-pagination.module.mjs +6 -8
- package/esm2020/lib/smart-table/smart-table/smart-table.component.mjs +41 -22
- package/esm2020/lib/smart-table/smart-table-filter/smart-table-filter.component.mjs +7 -7
- package/esm2020/lib/smart-table/smart-table-head/smart-table-head.component.mjs +8 -8
- package/esm2020/lib/smart-table/smart-table-items-per-page-selector/smart-table-items-per-page-selector.component.mjs +9 -9
- package/esm2020/lib/smart-table/smart-table.module.mjs +15 -17
- package/esm2020/lib/spinner/spinner.component.mjs +4 -4
- package/esm2020/lib/spinner/spinner.module.mjs +6 -8
- package/esm2020/lib/table/table-active.directive.mjs +4 -4
- package/esm2020/lib/table/table-color.directive.mjs +4 -4
- package/esm2020/lib/table/table.directive.mjs +4 -4
- package/esm2020/lib/table/table.module.mjs +5 -7
- package/esm2020/lib/tabs/tab-content/tab-content.component.mjs +4 -4
- package/esm2020/lib/tabs/tab-content-ref.directive.mjs +4 -4
- package/esm2020/lib/tabs/tab-pane/tab-pane.component.mjs +4 -4
- package/esm2020/lib/tabs/tab.service.mjs +4 -4
- package/esm2020/lib/tabs/tabs.module.mjs +6 -8
- package/esm2020/lib/toast/toast/toast.component.mjs +10 -10
- package/esm2020/lib/toast/toast-body/toast-body.component.mjs +4 -4
- package/esm2020/lib/toast/toast-close.directive.mjs +4 -4
- package/esm2020/lib/toast/toast-header/toast-header.component.mjs +5 -5
- package/esm2020/lib/toast/toast.module.mjs +5 -5
- package/esm2020/lib/toast/toaster/toaster-host.directive.mjs +4 -4
- package/esm2020/lib/toast/toaster/toaster.component.mjs +4 -4
- package/esm2020/lib/toast/toaster/toaster.service.mjs +4 -4
- package/esm2020/lib/tooltip/tooltip/tooltip.component.mjs +4 -4
- package/esm2020/lib/tooltip/tooltip.directive.mjs +4 -4
- package/esm2020/lib/tooltip/tooltip.module.mjs +5 -7
- package/esm2020/lib/utilities/align.directive.mjs +4 -4
- package/esm2020/lib/utilities/bg-color.directive.mjs +4 -4
- package/esm2020/lib/utilities/border.directive.mjs +4 -4
- package/esm2020/lib/utilities/rounded.directive.mjs +4 -4
- package/esm2020/lib/utilities/text-color.directive.mjs +4 -4
- package/esm2020/lib/utilities/utilities.module.mjs +5 -7
- package/esm2020/lib/widget/widget-stat-a/widget-stat-a.component.mjs +7 -7
- package/esm2020/lib/widget/widget-stat-b/widget-stat-b.component.mjs +7 -7
- package/esm2020/lib/widget/widget-stat-c/widget-stat-c.component.mjs +7 -7
- package/esm2020/lib/widget/widget-stat-d/widget-stat-d.component.mjs +8 -8
- package/esm2020/lib/widget/widget-stat-e/widget-stat-e.component.mjs +7 -7
- package/esm2020/lib/widget/widget-stat-f/widget-stat-f.component.mjs +8 -8
- package/esm2020/lib/widget/widget.module.mjs +7 -9
- package/esm2020/public-api.mjs +1 -3
- package/fesm2015/coreui-angular-pro.mjs +2245 -4152
- package/fesm2015/coreui-angular-pro.mjs.map +1 -1
- package/fesm2020/coreui-angular-pro.mjs +2235 -4130
- package/fesm2020/coreui-angular-pro.mjs.map +1 -1
- package/{coreui-angular-pro.d.ts → index.d.ts} +0 -0
- package/lib/accordion/accordion/accordion.component.d.ts +1 -1
- package/lib/accordion/accordion-button/accordion-button.directive.d.ts +1 -1
- package/lib/accordion/accordion-item/accordion-item.component.d.ts +1 -1
- package/lib/alert/alert-heading.directive.d.ts +1 -1
- package/lib/alert/alert-link.directive.d.ts +1 -1
- package/lib/alert/alert.component.d.ts +1 -1
- package/lib/avatar/avatar.component.d.ts +1 -1
- package/lib/badge/badge.component.d.ts +1 -1
- package/lib/breadcrumb/breadcrumb/breadcrumb.component.d.ts +1 -1
- package/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.d.ts +1 -1
- package/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.d.ts +1 -1
- package/lib/button/button-close.directive.d.ts +1 -1
- package/lib/button/button.directive.d.ts +1 -1
- package/lib/button-group/button-group/button-group.component.d.ts +1 -1
- package/lib/button-group/button-toolbar/button-toolbar.component.d.ts +1 -1
- package/lib/callout/callout.component.d.ts +1 -1
- package/lib/card/card-body.component.d.ts +1 -1
- package/lib/card/card-footer.component.d.ts +1 -1
- package/lib/card/card-group.component.d.ts +1 -1
- package/lib/card/card-header-actions.component.d.ts +1 -1
- package/lib/card/card-header.component.d.ts +1 -1
- package/lib/card/card-img-overlay/card-img-overlay.component.d.ts +1 -1
- package/lib/card/card-img.directive.d.ts +1 -1
- package/lib/card/card-link.directive.d.ts +1 -1
- package/lib/card/card-subtitle.directive.d.ts +1 -1
- package/lib/card/card-text.directive.d.ts +1 -1
- package/lib/card/card-title.directive.d.ts +1 -1
- package/lib/card/card.component.d.ts +1 -1
- package/lib/carousel/carousel/carousel.component.d.ts +1 -1
- package/lib/carousel/carousel-caption/carousel-caption.component.d.ts +1 -1
- package/lib/carousel/carousel-control/carousel-control.component.d.ts +1 -1
- package/lib/carousel/carousel-indicators/carousel-indicators.component.d.ts +1 -1
- package/lib/carousel/carousel-inner/carousel-inner.component.d.ts +1 -1
- package/lib/carousel/carousel-item/carousel-item.component.d.ts +1 -1
- package/lib/collapse/collapse.directive.d.ts +1 -1
- package/lib/dropdown/dropdown/dropdown.component.d.ts +6 -4
- package/lib/dropdown/dropdown-close/dropdown-close.directive.d.ts +1 -1
- package/lib/dropdown/dropdown-divider/dropdown-divider.directive.d.ts +1 -1
- package/lib/dropdown/dropdown-header/dropdown-header.directive.d.ts +1 -1
- package/lib/dropdown/dropdown-item/dropdown-item-plain.directive.d.ts +1 -1
- package/lib/dropdown/dropdown-item/dropdown-item.directive.d.ts +1 -1
- package/lib/dropdown/dropdown-menu/dropdown-menu.directive.d.ts +1 -1
- package/lib/element-cover/element-cover.component.d.ts +1 -1
- package/lib/footer/footer.component.d.ts +1 -1
- package/lib/form/form/form.directive.d.ts +1 -1
- package/lib/form/form-check/form-check-input.directive.d.ts +1 -1
- package/lib/form/form-check/form-check-label.directive.d.ts +1 -1
- package/lib/form/form-check/form-check.component.d.ts +1 -1
- package/lib/form/form-control/form-control.directive.d.ts +1 -1
- package/lib/form/form-feedback/form-feedback.component.d.ts +1 -1
- package/lib/form/form-floating/form-floating.directive.d.ts +1 -1
- package/lib/form/form-label/form-label.directive.d.ts +1 -1
- package/lib/form/form-select/form-select.directive.d.ts +1 -1
- package/lib/form/form-text/form-text.directive.d.ts +1 -1
- package/lib/form/input-group/input-group.component.d.ts +1 -1
- package/lib/form/input-group-text/input-group-text.directive.d.ts +1 -1
- package/lib/grid/col.component.d.ts +1 -1
- package/lib/grid/col.directive.d.ts +1 -1
- package/lib/grid/container.component.d.ts +1 -1
- package/lib/grid/gutter.directive.d.ts +1 -1
- package/lib/grid/row.component.d.ts +1 -1
- package/lib/grid/row.directive.d.ts +1 -1
- package/lib/header/header/header.component.d.ts +1 -1
- package/lib/header/header-brand/header-brand.component.d.ts +1 -1
- package/lib/header/header-divider/header-divider.component.d.ts +1 -1
- package/lib/header/header-nav/header-nav.component.d.ts +1 -1
- package/lib/header/header-text/header-text.component.d.ts +1 -1
- package/lib/header/header-toggler/header-toggler.directive.d.ts +1 -1
- package/lib/image/img.directive.d.ts +1 -1
- package/lib/list-group/list-group-item.directive.d.ts +1 -1
- package/lib/list-group/list-group.directive.d.ts +1 -1
- package/lib/loading-button/loading-button.component.d.ts +1 -1
- package/lib/modal/modal/modal.component.d.ts +1 -1
- package/lib/modal/modal-body/modal-body.component.d.ts +1 -1
- package/lib/modal/modal-content/modal-content.component.d.ts +1 -1
- package/lib/modal/modal-dialog/modal-dialog.component.d.ts +1 -1
- package/lib/modal/modal-dismiss/modal-toggle.directive.d.ts +1 -1
- package/lib/modal/modal-footer/modal-footer.component.d.ts +1 -1
- package/lib/modal/modal-header/modal-header.component.d.ts +1 -1
- package/lib/modal/modal-title/modal-title.directive.d.ts +1 -1
- package/lib/multi-select/multi-select/multi-select.component.d.ts +1 -1
- package/lib/multi-select/multi-select-native-select/multi-select-native-select.component.d.ts +1 -1
- package/lib/multi-select/multi-select-optgroup/multi-select-optgroup-label.component.d.ts +1 -1
- package/lib/multi-select/multi-select-optgroup/multi-select-optgroup.component.d.ts +1 -1
- package/lib/multi-select/multi-select-option/multi-select-option.component.d.ts +1 -1
- package/lib/multi-select/multi-select-tag/multi-select-tag.component.d.ts +1 -1
- package/lib/nav/nav-item.component.d.ts +1 -1
- package/lib/nav/nav-link.directive.d.ts +1 -1
- package/lib/nav/nav.component.d.ts +1 -1
- package/lib/navbar/navbar-brand/navbar-brand.directive.d.ts +1 -1
- package/lib/navbar/navbar-nav/navbar-nav.component.d.ts +1 -1
- package/lib/navbar/navbar-text/navbar-text.component.d.ts +1 -1
- package/lib/navbar/navbar-toggler/navbar-toggler.directive.d.ts +1 -1
- package/lib/navbar/navbar.component.d.ts +1 -1
- package/lib/offcanvas/offcanvas/offcanvas.component.d.ts +1 -1
- package/lib/offcanvas/offcanvas-body/offcanvas-body.component.d.ts +1 -1
- package/lib/offcanvas/offcanvas-header/offcanvas-header.component.d.ts +1 -1
- package/lib/offcanvas/offcanvas-title/offcanvas-title.directive.d.ts +1 -1
- package/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.d.ts +1 -1
- package/lib/pagination/page-item/page-item.component.d.ts +1 -1
- package/lib/pagination/page-item/page-item.directive.d.ts +1 -1
- package/lib/pagination/page-link/page-link.directive.d.ts +1 -1
- package/lib/pagination/pagination/pagination.component.d.ts +1 -1
- package/lib/placeholder/placeholder-animation.directive.d.ts +1 -1
- package/lib/placeholder/placeholder.directive.d.ts +1 -1
- package/lib/popover/popover/popover.component.d.ts +1 -1
- package/lib/popover/popover.directive.d.ts +1 -1
- package/lib/progress/progress-bar.component.d.ts +1 -1
- package/lib/progress/progress.component.d.ts +1 -1
- package/lib/shared/html-attr.directive.d.ts +1 -1
- package/lib/shared/template-id.directive.d.ts +1 -1
- package/lib/sidebar/sidebar/sidebar.component.d.ts +1 -1
- package/lib/sidebar/sidebar-brand/sidebar-brand.component.d.ts +1 -1
- package/lib/sidebar/sidebar-footer/sidebar-footer.component.d.ts +1 -1
- package/lib/sidebar/sidebar-header/sidebar-header.component.d.ts +1 -1
- package/lib/sidebar/sidebar-nav/sidebar-nav-badge.pipe.d.ts +1 -1
- package/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.d.ts +1 -1
- package/lib/sidebar/sidebar-nav/sidebar-nav-icon.pipe.d.ts +1 -1
- package/lib/sidebar/sidebar-nav/sidebar-nav-item-class.pipe.d.ts +1 -1
- package/lib/sidebar/sidebar-nav/sidebar-nav-label.component.d.ts +1 -1
- package/lib/sidebar/sidebar-nav/sidebar-nav-link.component.d.ts +2 -2
- package/lib/sidebar/sidebar-nav/sidebar-nav-link.pipe.d.ts +1 -1
- package/lib/sidebar/sidebar-nav/sidebar-nav-title.component.d.ts +1 -1
- package/lib/sidebar/sidebar-nav/sidebar-nav.component.d.ts +2 -2
- package/lib/sidebar/sidebar-toggle/sidebar-toggle.directive.d.ts +1 -1
- package/lib/sidebar/sidebar-toggler/sidebar-toggler.component.d.ts +1 -1
- package/lib/smart-pagination/smart-pagination.component.d.ts +1 -1
- package/lib/smart-table/smart-table/smart-table.component.d.ts +4 -2
- package/lib/smart-table/smart-table-filter/smart-table-filter.component.d.ts +1 -1
- package/lib/smart-table/smart-table-head/smart-table-head.component.d.ts +1 -1
- package/lib/smart-table/smart-table-items-per-page-selector/smart-table-items-per-page-selector.component.d.ts +1 -1
- package/lib/spinner/spinner.component.d.ts +1 -1
- package/lib/table/table-active.directive.d.ts +1 -1
- package/lib/table/table-color.directive.d.ts +1 -1
- package/lib/table/table.directive.d.ts +1 -1
- package/lib/tabs/tab-content/tab-content.component.d.ts +1 -1
- package/lib/tabs/tab-content-ref.directive.d.ts +1 -1
- package/lib/tabs/tab-pane/tab-pane.component.d.ts +1 -1
- package/lib/toast/toast/toast.component.d.ts +1 -1
- package/lib/toast/toast-body/toast-body.component.d.ts +1 -1
- package/lib/toast/toast-close.directive.d.ts +1 -1
- package/lib/toast/toast-header/toast-header.component.d.ts +1 -1
- package/lib/toast/toaster/toaster-host.directive.d.ts +1 -1
- package/lib/toast/toaster/toaster.component.d.ts +1 -1
- package/lib/tooltip/tooltip/tooltip.component.d.ts +1 -1
- package/lib/tooltip/tooltip.directive.d.ts +1 -1
- package/lib/utilities/align.directive.d.ts +1 -1
- package/lib/utilities/bg-color.directive.d.ts +1 -1
- package/lib/utilities/border.directive.d.ts +1 -1
- package/lib/utilities/rounded.directive.d.ts +1 -1
- package/lib/utilities/text-color.directive.d.ts +1 -1
- package/lib/widget/widget-stat-a/widget-stat-a.component.d.ts +1 -1
- package/lib/widget/widget-stat-b/widget-stat-b.component.d.ts +1 -1
- package/lib/widget/widget-stat-c/widget-stat-c.component.d.ts +1 -1
- package/lib/widget/widget-stat-d/widget-stat-d.component.d.ts +1 -1
- package/lib/widget/widget-stat-e/widget-stat-e.component.d.ts +1 -1
- package/lib/widget/widget-stat-f/widget-stat-f.component.d.ts +1 -1
- package/package.json +7 -8
- package/public-api.d.ts +0 -2
- package/esm2020/lib/calendar/calendar/calendar-class-view.pipe.mjs +0 -19
- package/esm2020/lib/calendar/calendar/calendar.component.mjs +0 -366
- package/esm2020/lib/calendar/calendar-month/calendar-class-day.pipe.mjs +0 -28
- package/esm2020/lib/calendar/calendar-month/calendar-class-month.pipe.mjs +0 -21
- package/esm2020/lib/calendar/calendar-month/calendar-class-year.pipe.mjs +0 -21
- package/esm2020/lib/calendar/calendar-month/calendar-day.directive.mjs +0 -81
- package/esm2020/lib/calendar/calendar-month/calendar-day.pipe.mjs +0 -18
- package/esm2020/lib/calendar/calendar-month/calendar-month.component.mjs +0 -320
- package/esm2020/lib/calendar/calendar-month/calendar-weekday.pipe.mjs +0 -20
- package/esm2020/lib/calendar/calendar-navigation/calendar-navigation.component.mjs +0 -79
- package/esm2020/lib/calendar/calendar.module.mjs +0 -61
- package/esm2020/lib/calendar/calendar.service.mjs +0 -58
- package/esm2020/lib/calendar/calendar.utils.mjs +0 -270
- package/esm2020/lib/calendar/index.mjs +0 -2
- package/esm2020/lib/calendar/public_api.mjs +0 -5
- package/esm2020/lib/date-range-picker/date-range-picker/date-range-picker.component.mjs +0 -496
- package/esm2020/lib/date-range-picker/date-range-picker.module.mjs +0 -59
- package/esm2020/lib/date-range-picker/end-date.directive.mjs +0 -17
- package/esm2020/lib/date-range-picker/index.mjs +0 -2
- package/esm2020/lib/date-range-picker/public_api.mjs +0 -3
- package/esm2020/lib/date-range-picker/start-date.directive.mjs +0 -17
- package/lib/calendar/calendar/calendar-class-view.pipe.d.ts +0 -7
- package/lib/calendar/calendar/calendar.component.d.ts +0 -155
- package/lib/calendar/calendar-month/calendar-class-day.pipe.d.ts +0 -15
- package/lib/calendar/calendar-month/calendar-class-month.pipe.d.ts +0 -7
- package/lib/calendar/calendar-month/calendar-class-year.pipe.d.ts +0 -7
- package/lib/calendar/calendar-month/calendar-day.directive.d.ts +0 -29
- package/lib/calendar/calendar-month/calendar-day.pipe.d.ts +0 -8
- package/lib/calendar/calendar-month/calendar-month.component.d.ts +0 -121
- package/lib/calendar/calendar-month/calendar-weekday.pipe.d.ts +0 -8
- package/lib/calendar/calendar-navigation/calendar-navigation.component.d.ts +0 -30
- package/lib/calendar/calendar.module.d.ts +0 -18
- package/lib/calendar/calendar.service.d.ts +0 -33
- package/lib/calendar/calendar.utils.d.ts +0 -26
- package/lib/calendar/index.d.ts +0 -1
- package/lib/calendar/public_api.d.ts +0 -4
- package/lib/date-range-picker/date-range-picker/date-range-picker.component.d.ts +0 -233
- package/lib/date-range-picker/date-range-picker.module.d.ts +0 -16
- package/lib/date-range-picker/end-date.directive.d.ts +0 -8
- package/lib/date-range-picker/index.d.ts +0 -1
- package/lib/date-range-picker/public_api.d.ts +0 -2
- package/lib/date-range-picker/start-date.directive.d.ts +0 -8
|
@@ -1 +1 @@
|
|
|
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/accordion/accordion-item/accordion-item.component.ts","../../../projects/coreui-angular/src/lib/accordion/accordion-item/accordion-item.component.html","../../../projects/coreui-angular/src/lib/collapse/collapse.module.ts","../../../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/alert/alert.component.ts","../../../projects/coreui-angular/src/lib/alert/alert.component.html","../../../projects/coreui-angular/src/lib/button/button.module.ts","../../../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.component.html","../../../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/breadcrumb.component.html","../../../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.utils.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-month/calendar-day.directive.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-class-day.pipe.ts","../../../projects/coreui-angular/src/lib/calendar/calendar-month/calendar-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-img-overlay/card-img-overlay.component.html","../../../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/date-range-picker/start-date.directive.ts","../../../projects/coreui-angular/src/lib/date-range-picker/end-date.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/form/input-group/input-group.component.ts","../../../projects/coreui-angular/src/lib/form/form-control/form-control.directive.ts","../../../projects/coreui-angular/src/lib/form/input-group-text/input-group-text.directive.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/form/form/form.directive.ts","../../../projects/coreui-angular/src/lib/form/form-feedback/form-feedback.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-text/form-text.directive.ts","../../../projects/coreui-angular/src/lib/form/form-floating/form-floating.directive.ts","../../../projects/coreui-angular/src/lib/form/form.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-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/date-range-picker/date-range-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/element-cover/element-cover.component.ts","../../../projects/coreui-angular/src/lib/element-cover/element-cover.component.html","../../../projects/coreui-angular/src/lib/spinner/spinner.module.ts","../../../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-optgroup/multi-select-optgroup-label.component.html","../../../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-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-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/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-item.component.html","../../../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/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/services/class-toggle.service.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-header/sidebar-header.component.html","../../../projects/coreui-angular/src/lib/sidebar/sidebar-footer/sidebar-footer.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-footer/sidebar-footer.component.html","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav.service.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-title.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-badge.pipe.ts","../../../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-link.pipe.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-icon.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-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.component.html","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-group.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/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/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/table/table.directive.ts","../../../projects/coreui-angular/src/lib/utilities/align.directive.ts","../../../projects/coreui-angular/src/lib/table/table-active.directive.ts","../../../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/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/utilities.module.ts","../../../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-pane/tab-pane.component.html","../../../projects/coreui-angular/src/lib/tabs/tab-content/tab-content.component.ts","../../../projects/coreui-angular/src/lib/tabs/tab-content/tab-content.component.html","../../../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/toast.component.html","../../../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';\r\n\r\nexport enum BreakpointInfix {\r\n xs = 'xs',\r\n sm = 'sm',\r\n md = 'md',\r\n lg = 'lg',\r\n xl = 'xl',\r\n xxl = 'xxl'\r\n}\r\n\r\nexport type BreakpointInfixStrings = keyof typeof BreakpointInfix;\r\n\r\nexport type Breakpoints = BreakpointInfixStrings | string;\r\n\r\nexport type Sizes = 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | string;\r\n\r\nexport type Colors =\r\n | 'primary'\r\n | 'secondary'\r\n | 'success'\r\n | 'danger'\r\n | 'warning'\r\n | 'info'\r\n | 'dark'\r\n | 'light'\r\n | 'primary-gradient'\r\n | 'secondary-gradient'\r\n | 'success-gradient'\r\n | 'danger-gradient'\r\n | 'warning-gradient'\r\n | 'info-gradient'\r\n | 'dark-gradient'\r\n | 'light-gradient'\r\n | string;\r\n\r\n// export type ColorsGradient =\r\n// | Colors\r\n// | `${Colors}-gradient`;\r\n\r\nexport type BackgroundColors = Colors | 'body' | 'white' | 'transparent';\r\n\r\nexport type Directions = 'down' | 'up' | 'start' | 'end' | '';\r\n\r\nexport type TextColors =\r\n | Colors\r\n | 'body'\r\n | 'white'\r\n | 'muted'\r\n | 'black-50'\r\n | 'white-50'\r\n | 'high-emphasis'\r\n | 'medium-emphasis'\r\n | 'disabled'\r\n | 'high-emphasis-inverse'\r\n | 'medium-emphasis-inverse'\r\n | 'disabled-inverse';\r\n\r\nexport type Alignment =\r\n | 'baseline'\r\n | 'top'\r\n | 'middle'\r\n | 'bottom'\r\n | 'text-top'\r\n | 'text-bottom';\r\n\r\nexport type BadgePositions =\r\n | 'top-start'\r\n | 'top-end'\r\n | 'bottom-end'\r\n | 'bottom-start'\r\n | string\r\n | undefined;\r\n\r\nexport type Placements =\r\n | 'auto'\r\n | 'auto-start'\r\n | 'auto-end'\r\n | 'top-end'\r\n | 'top'\r\n | 'top-start'\r\n | 'bottom-end'\r\n | 'bottom'\r\n | 'bottom-start'\r\n | 'right-start'\r\n | 'right'\r\n | 'right-end'\r\n | 'left-start'\r\n | 'left'\r\n | 'left-end'\r\n | undefined;\r\n\r\nexport type Shapes =\r\n | 'rounded'\r\n | 'rounded-top'\r\n | 'rounded-end'\r\n | 'rounded-bottom'\r\n | 'rounded-start'\r\n | 'rounded-circle'\r\n | 'rounded-pill'\r\n | 'rounded-0'\r\n | 'rounded-1'\r\n | 'rounded-2'\r\n | 'rounded-3'\r\n | string;\r\n\r\nexport type Triggers = 'hover' | 'focus' | 'click';\r\n\r\nexport type Positions = 'fixed' | 'sticky';\r\n\r\nexport type InputType =\r\n | 'button'\r\n | 'color'\r\n | 'date'\r\n | 'datetime'\r\n | 'datetime-local'\r\n | 'email'\r\n | 'file'\r\n | 'hidden'\r\n | 'image'\r\n | 'month'\r\n | 'number'\r\n | 'password'\r\n | 'range'\r\n | 'reset'\r\n | 'search'\r\n | 'submit'\r\n | 'tel'\r\n | 'text'\r\n | 'time'\r\n | 'url'\r\n | 'week'\r\n | 'checkbox'\r\n | 'radio';\r\n\r\nexport interface INavLinkProps {\r\n queryParams?: { [k: string]: any };\r\n fragment?: string;\r\n queryParamsHandling?: 'merge' | 'preserve' | '' | null;\r\n preserveFragment?: boolean;\r\n skipLocationChange?: boolean;\r\n replaceUrl?: boolean;\r\n state?: { [k: string]: any };\r\n routerLinkActiveOptions?: { exact: boolean } | IsActiveMatchOptions;\r\n routerLinkActive?: string | string[];\r\n ariaCurrentWhenActive?: 'page' | 'step' | 'location' | 'date' | 'time' | true | false;\r\n}\r\n\r\nexport interface INavAttributes {\r\n [propName: string]: any;\r\n}\r\n\r\nexport type ButtonType = 'button' | 'submit' | 'reset';\r\n","import {Directive, ElementRef, Input, OnInit, Renderer2} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cHtmlAttr]',\r\n exportAs: 'cHtmlAttr'\r\n})\r\nexport class HtmlAttributesDirective implements OnInit {\r\n\r\n // @ts-ignore\r\n @Input() cHtmlAttr: {[key: string]: any };\r\n\r\n constructor(\r\n private renderer: Renderer2,\r\n private el: ElementRef\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n const attribs = this.cHtmlAttr;\r\n for (const attr in attribs) {\r\n if (attr === 'style' && typeof(attribs[attr]) === 'object' ) {\r\n this.setStyle(attribs[attr]);\r\n } else if (attr === 'class') {\r\n this.addClass(attribs[attr]);\r\n } else {\r\n this.setAttrib(attr, attribs[attr]);\r\n }\r\n }\r\n }\r\n\r\n private setStyle(styles: { [x: string]: any; }): void {\r\n for (const style in styles) {\r\n if (style) {\r\n this.renderer.setStyle(this.el.nativeElement, style, styles[style]);\r\n }\r\n }\r\n }\r\n\r\n private addClass(classes: string): void {\r\n const classArray = (Array.isArray(classes) ? classes : classes.split(' '));\r\n classArray.filter((element) => element.length > 0).forEach(element => {\r\n this.renderer.addClass(this.el.nativeElement, element );\r\n });\r\n }\r\n\r\n private setAttrib(key: string, value: string | null): void {\r\n value !== null ?\r\n this.renderer.setAttribute(this.el.nativeElement, key, value ) :\r\n this.renderer.removeAttribute(this.el.nativeElement, key);\r\n }\r\n}\r\n","import { Directive, Input, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cTemplateId]'\r\n})\r\nexport class TemplateIdDirective {\r\n @Input('cTemplateId') id!: string;\r\n\r\n constructor(\r\n public templateRef: TemplateRef<any>\r\n ) { }\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n// import { OutClickService } from './out-click.service';\r\n// import { OutClickDirective } from './out-click.directive';\r\nimport { HtmlAttributesDirective } from './html-attr.directive';\r\nimport { TemplateIdDirective } from './template-id.directive';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n // OutClickDirective,\r\n HtmlAttributesDirective,\r\n TemplateIdDirective\r\n ],\r\n exports: [\r\n // OutClickDirective,\r\n HtmlAttributesDirective,\r\n TemplateIdDirective\r\n ],\r\n providers: []\r\n})\r\nexport class SharedModule {\r\n\r\n static forRoot(): ModuleWithProviders<SharedModule> {\r\n return {\r\n ngModule: SharedModule,\r\n // providers: [\r\n // {provide: OutClickService}\r\n // ]\r\n };\r\n }\r\n}\r\n","import { Directive, HostBinding, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cAccordionButton]'\r\n})\r\nexport class AccordionButtonDirective {\r\n\r\n /**\r\n * Toggles an accordion button collapsed state. Use in accordionHeaderTemplate. [docs]\r\n * @type boolean\r\n */\r\n @Input() collapsed!: boolean;\r\n\r\n /**\r\n * Default type for cAccordionButton. [docs]\r\n * @type string\r\n * @default 'button'\r\n */\r\n @HostBinding('attr.type')\r\n @Input() type = 'button';\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'accordion-button': true,\r\n collapsed: this.collapsed\r\n };\r\n }\r\n\r\n @HostBinding('attr.aria-expanded') get ariaExpanded(): boolean {\r\n return !this.collapsed;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AccordionItemComponent } from './accordion-item/accordion-item.component';\r\n\r\n@Injectable()\r\nexport class AccordionService {\r\n\r\n items: AccordionItemComponent[] = [];\r\n alwaysOpen = false;\r\n\r\n constructor() { }\r\n\r\n addItem(item: AccordionItemComponent): void {\r\n this.items.push(item);\r\n }\r\n\r\n removeItem(item: AccordionItemComponent): void {\r\n const index = this.items.indexOf(item);\r\n if (index !== -1) {\r\n this.items.splice(index, 1);\r\n }\r\n }\r\n\r\n toggleItem(item: AccordionItemComponent): void {\r\n item.visible = !item.visible;\r\n this.closeOtherItems(item);\r\n }\r\n\r\n closeOtherItems(openItem: AccordionItemComponent): void {\r\n if (!this.alwaysOpen) {\r\n this.items.forEach((item: AccordionItemComponent) => {\r\n if (item !== openItem) {\r\n item.visible = false;\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\n\r\nimport { AccordionService } from '../accordion.service';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\n@Component({\r\n selector: 'c-accordion',\r\n template: `<ng-content></ng-content>`,\r\n styleUrls: ['./accordion.component.scss'],\r\n exportAs: 'cAccordionItem',\r\n providers: [AccordionService]\r\n})\r\nexport class AccordionComponent {\r\n\r\n static ngAcceptInputType_alwaysOpen: BooleanInput;\r\n\r\n /**\r\n * Removes the default background-color, some borders, and some rounded corners to render accordions edge-to-edge with their parent container.\r\n * @type boolean\r\n */\r\n @Input() flush?: boolean;\r\n /**\r\n * Make accordion items stay open when another item is opened\r\n * @type boolean\r\n */\r\n @Input()\r\n set alwaysOpen(value: boolean) {\r\n this.accordionService.alwaysOpen = coerceBooleanProperty(value);\r\n }\r\n get alwaysOpen(): boolean {\r\n return this.accordionService.alwaysOpen;\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n accordion: true,\r\n 'accordion-flush': !!this.flush\r\n };\r\n }\r\n\r\n constructor(\r\n private accordionService: AccordionService\r\n ) {}\r\n\r\n}\r\n","import { animation, animate, style } from '@angular/animations';\r\n\r\nexport const expandAnimation = animation([\r\n style({ height: 0, visibility: 'hidden', overflow: 'hidden', paddingTop: 0, paddingBottom: 0 }),\r\n animate('{{ time }} {{ easing }}', style({ height: '*', visibility: 'visible', paddingTop: '*', paddingBottom: '*', minHeight: '*' })\r\n ),\r\n animate('{{ time }}', style({opacity: '*', overflow: '*'})),\r\n]);\r\n\r\nexport const collapseAnimation = animation([\r\n style({ height: '*', visibility: 'visible', overflow: 'hidden', paddingTop: '*', paddingBottom: '*', minHeight: '*' }),\r\n animate(\r\n '{{ time }} {{ easing }}',\r\n style({ height: 0, visibility: 'hidden', opacity: 0, overflow: 'hidden', paddingTop: 0, paddingBottom: 0, minHeight: 0 })\r\n )\r\n]);\r\n\r\nexport const expandHorizontalAnimation = animation([\r\n style({ width: 0, visibility: 'hidden', paddingLeft: 0, paddingRight: 0 }),\r\n animate('{{ time }} {{ easing }}', style({ width: '*', visibility: 'visible', paddingLeft: '*', paddingRight: '*', minWidth: '*' })\r\n ),\r\n animate('{{ time }}', style({opacity: '*'})),\r\n]);\r\n\r\nexport const collapseHorizontalAnimation = animation([\r\n style({ width: '*', visibility: 'visible', paddingLeft: '*', paddingRight: '*', minWidth: '*' }),\r\n animate(\r\n '{{ time }} {{ easing }}',\r\n style({ width: 0, visibility: 'hidden', opacity: 0, paddingLeft: 0, paddingRight: 0, minWidth: 0 })\r\n )\r\n]);\r\n","import {\r\n AfterViewInit,\r\n Directive,\r\n DoCheck,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n Output,\r\n Renderer2,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport { AnimationBuilder, AnimationPlayer, useAnimation } from '@angular/animations';\r\n\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\nimport {\r\n collapseAnimation,\r\n collapseHorizontalAnimation,\r\n expandAnimation,\r\n expandHorizontalAnimation\r\n} from './collapse.animations';\r\n\r\n// todo\r\n// tslint:disable-next-line:no-conflicting-lifecycle\r\n@Directive({\r\n selector: '[cCollapse]',\r\n exportAs: 'cCollapse'\r\n})\r\nexport class CollapseDirective implements OnChanges, OnDestroy, DoCheck, AfterViewInit {\r\n\r\n static ngAcceptInputType_horizontal: BooleanInput;\r\n static ngAcceptInputType_navbar: BooleanInput;\r\n\r\n /**\r\n * @ignore\r\n */\r\n @Input()\r\n set animate(value: boolean) {\r\n this._animate = value;\r\n }\r\n get animate(): boolean {\r\n return this._animate;\r\n }\r\n private _animate = true;\r\n\r\n /**\r\n * Set horizontal collapsing to transition the width instead of height.\r\n */\r\n @Input()\r\n set horizontal(value: boolean) {\r\n this._horizontal = coerceBooleanProperty(value);\r\n }\r\n get horizontal(): boolean {\r\n return this._horizontal;\r\n }\r\n private _horizontal: boolean = false;\r\n\r\n /**\r\n * Toggle the visibility of collapsible element.\r\n */\r\n @Input()\r\n set visible(value) {\r\n this._visible = value;\r\n }\r\n get visible(): boolean {\r\n return this._visible;\r\n }\r\n private _visible = false;\r\n\r\n /**\r\n * Add `navbar` prop for grouping and hiding navbar contents by a parent breakpoint.\r\n */\r\n @Input()\r\n set navbar(value: boolean) {\r\n this._navbar = coerceBooleanProperty(value);\r\n };\r\n get navbar() {\r\n return this._navbar;\r\n }\r\n private _navbar = false;\r\n\r\n /**\r\n * @ignore\r\n */\r\n @Input() duration = '350ms';\r\n /**\r\n * @ignore\r\n */\r\n @Input() transition = 'ease';\r\n /**\r\n * Event emitted on visibility change. [docs]\r\n * @type string\r\n */\r\n @Output() collapseChange = new EventEmitter<string>();\r\n\r\n private player!: AnimationPlayer;\r\n private readonly host: HTMLElement;\r\n // private scrollHeight!: number;\r\n private scrollWidth!: number;\r\n private collapsing: boolean = false;\r\n\r\n constructor(\r\n private hostElement: ElementRef,\r\n private renderer: Renderer2,\r\n private animationBuilder: AnimationBuilder\r\n ) {\r\n this.host = this.hostElement.nativeElement;\r\n this.renderer.setStyle(this.host, 'display', 'none');\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'navbar-collapse': this.navbar,\r\n show: this.visible,\r\n 'collapse-horizontal': this.horizontal,\r\n collapsing: this.collapsing\r\n // collapse: !this.collapsing && !this.visible\r\n };\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.visible) {\r\n this.toggle();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroyPlayer();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['visible']) {\r\n if (!changes['visible'].firstChange || !changes['visible'].currentValue) {\r\n this.toggle(changes['visible'].currentValue);\r\n }\r\n }\r\n }\r\n\r\n ngDoCheck(): void {\r\n if (this._visible !== this.visible) {\r\n this.toggle();\r\n }\r\n }\r\n\r\n toggle(visible = this.visible): void {\r\n this.createPlayer(visible);\r\n this.player?.play();\r\n }\r\n\r\n destroyPlayer(): void {\r\n this.player?.destroy();\r\n }\r\n\r\n createPlayer(visible: boolean = this.visible): void {\r\n if (this.player?.hasStarted()) {\r\n this.destroyPlayer();\r\n }\r\n\r\n if (visible) {\r\n this.renderer.removeStyle(this.host, 'display');\r\n }\r\n\r\n const duration = this.animate ? this.duration : '0ms';\r\n\r\n const expand = this.horizontal ? expandHorizontalAnimation : expandAnimation;\r\n const collapse = this.horizontal ? collapseHorizontalAnimation : collapseAnimation;\r\n\r\n const animationFactory = this.animationBuilder.build(\r\n useAnimation(visible ? expand : collapse, { params: { time: duration, easing: this.transition } })\r\n );\r\n\r\n this.player = animationFactory.create(this.host);\r\n this.player.onStart(() => {\r\n this.setMaxSize();\r\n this.visible = visible;\r\n this.collapsing = true;\r\n this.collapseChange.emit(visible ? 'opening' : 'collapsing');\r\n });\r\n this.player.onDone(() => {\r\n this.collapsing = false;\r\n this.collapseChange.emit(visible ? 'open' : 'collapsed');\r\n });\r\n }\r\n\r\n setMaxSize() {\r\n setTimeout(() => {\r\n if (this.horizontal) {\r\n this.scrollWidth = this.host.scrollWidth;\r\n this.scrollWidth > 0 && this.renderer.setStyle(this.host, 'maxWidth', `${this.scrollWidth}px`);\r\n // } else {\r\n // this.scrollHeight = this.host.scrollHeight;\r\n // this.scrollHeight > 0 && this.renderer.setStyle(this.host, 'maxHeight', `${this.scrollHeight}px`);\r\n }\r\n });\r\n }\r\n}\r\n","import {\r\n AfterContentInit,\r\n Component,\r\n ContentChildren,\r\n HostBinding,\r\n Input,\r\n OnDestroy,\r\n OnInit, QueryList,\r\n} from '@angular/core';\r\n\r\nimport { AccordionService } from '../accordion.service';\r\nimport { TemplateIdDirective } from '../../shared';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\nlet nextId = 0;\r\n\r\n@Component({\r\n selector: 'c-accordion-item',\r\n templateUrl: './accordion-item.component.html',\r\n styleUrls: ['./accordion-item.component.scss'],\r\n exportAs: 'cAccordionItem',\r\n})\r\nexport class AccordionItemComponent implements OnInit, OnDestroy, AfterContentInit {\r\n\r\n static ngAcceptInputType_visible: BooleanInput;\r\n\r\n /**\r\n * Toggle an accordion item programmatically\r\n * @type boolean\r\n * @default false\r\n */\r\n @Input()\r\n set visible(value: boolean){\r\n this._visible = coerceBooleanProperty(value);\r\n }\r\n get visible() {\r\n return this._visible;\r\n }\r\n private _visible: boolean = false;\r\n\r\n @Input()\r\n set open(value: boolean) {\r\n console.warn('c-accordion-item \"open\" prop is deprecated, use \"visible\" prop instead.')\r\n this.visible = value || this.visible;\r\n }\r\n get open() {\r\n return this.visible;\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'accordion-item': true,\r\n };\r\n }\r\n contentId = `accordion-item-${nextId++}`;\r\n itemContext = { $implicit: this.visible };\r\n templates: any = {};\r\n\r\n @ContentChildren(TemplateIdDirective, {descendants: true}) contentTemplates!: QueryList<TemplateIdDirective>;\r\n\r\n constructor(\r\n private accordionService: AccordionService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.accordionService.addItem(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.accordionService.removeItem(this);\r\n }\r\n\r\n toggleItem(): void {\r\n this.accordionService.toggleItem(this);\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.contentTemplates.forEach((child: TemplateIdDirective) => {\r\n this.templates[child.id] = child.templateRef;\r\n });\r\n }\r\n}\r\n\r\n","<ng-container>\r\n <div class=\"accordion-header\">\r\n <ng-container *ngTemplateOutlet=\"templates['accordionHeaderTemplate'] || defaultAccordionHeaderTemplate; context: itemContext\"></ng-container>\r\n </div>\r\n <div class=\"accordion-collapse\" cCollapse [visible]=\"visible\" [attr.aria-expanded]=\"visible\" [id]=\"contentId\">\r\n <ng-container *ngTemplateOutlet=\"templates['accordionBodyTemplate'] || defaultAccordionBodyTemplate; context: itemContext\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-template #defaultAccordionHeaderTemplate>\r\n <button cAccordionButton [collapsed]=\"!visible\" [attr.aria-controls]=\"contentId\" (click)=\"toggleItem()\">\r\n <ng-container\r\n *ngTemplateOutlet=\"templates['accordionHeader'] || defaultAccordionHeaderContentTemplate; context: itemContext\">\r\n </ng-container>\r\n </button>\r\n</ng-template>\r\n\r\n<ng-template #defaultAccordionHeaderContentTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n\r\n<ng-template #defaultAccordionBodyTemplate>\r\n <div class=\"accordion-body\">\r\n <ng-container\r\n *ngTemplateOutlet=\"templates['accordionBody'] || defaultAccordionBodyContentTemplate; context: itemContext\">\r\n </ng-container>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #defaultAccordionBodyContentTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n","import { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CollapseDirective } from './collapse.directive';\r\n\r\n@NgModule({\r\n declarations: [CollapseDirective],\r\n exports: [CollapseDirective],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class CollapseModule {\r\n static forRoot(): ModuleWithProviders<CollapseModule> {\r\n return { ngModule: CollapseModule, providers: [] };\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AccordionComponent } from './accordion/accordion.component';\r\nimport { AccordionButtonDirective } from './accordion-button/accordion-button.directive';\r\nimport { AccordionItemComponent } from './accordion-item/accordion-item.component';\r\nimport { AccordionService } from './accordion.service';\r\nimport { CollapseModule } from '../collapse';\r\nimport { SharedModule } from '../shared';\r\n\r\n@NgModule({\r\n declarations: [\r\n AccordionComponent,\r\n AccordionButtonDirective,\r\n AccordionItemComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n CollapseModule,\r\n SharedModule\r\n ],\r\n exports: [\r\n AccordionComponent,\r\n AccordionButtonDirective,\r\n AccordionItemComponent,\r\n ],\r\n providers: [\r\n AccordionService\r\n ]\r\n})\r\nexport class AccordionModule {\r\n}\r\n","import { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cAlertHeading]'\r\n})\r\nexport class AlertHeadingDirective {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n\r\n return {\r\n 'alert-heading': true,\r\n };\r\n }\r\n\r\n constructor() { }\r\n\r\n}\r\n","import { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cAlertLink]'\r\n})\r\nexport class AlertLinkDirective {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n\r\n return {\r\n 'alert-link': true,\r\n };\r\n }\r\n\r\n constructor() { }\r\n\r\n}\r\n","import { Directive, HostBinding, Input } from '@angular/core';\r\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\r\n\r\nimport { ButtonType, Colors, Shapes } from '../coreui.types';\r\n\r\n@Directive({\r\n selector: '[cButton]',\r\n exportAs: 'cButton'\r\n})\r\nexport class ButtonDirective {\r\n\r\n constructor() {}\r\n\r\n static ngAcceptInputType_active: BooleanInput;\r\n private _active = false;\r\n static ngAcceptInputType_disabled: BooleanInput;\r\n private _disabled = false;\r\n\r\n /**\r\n * Toggle the active state for the component. [docs]\r\n * @type boolean\r\n */\r\n @Input()\r\n get active(): boolean {\r\n return this._active;\r\n }\r\n set active(value: boolean) {\r\n this._active = coerceBooleanProperty(value);\r\n }\r\n\r\n /**\r\n * Sets the color context of the component to one of CoreUI’s themed colors. [docs]\r\n * @type Colors\r\n */\r\n @Input() color?: Colors = 'primary';\r\n /**\r\n * Toggle the disabled state for the component.\r\n * @type boolean\r\n */\r\n @Input()\r\n get disabled(): boolean {\r\n return this._disabled;\r\n }\r\n set disabled(value: boolean) {\r\n this._disabled = coerceBooleanProperty(value);\r\n }\r\n /**\r\n * Select the shape of the component.\r\n * @type { 'rounded' | 'rounded-top' | 'rounded-end' | 'rounded-bottom' | 'rounded-start' | 'rounded-circle' | 'rounded-pill' | 'rounded-0' | 'rounded-1' | 'rounded-2' | 'rounded-3' | string }\r\n */\r\n @Input() shape?: Shapes;\r\n /**\r\n * Size the component small or large.\r\n * @type {'sm' | 'lg'}\r\n */\r\n @Input() size?: 'sm' | 'lg' | '' = '';\r\n /**\r\n * Specifies the type of button. Always specify the type attribute for the `<button>` element.\r\n * Different browsers may use different default types for the `<button>` element.\r\n */\r\n @HostBinding('attr.type')\r\n @Input() type: ButtonType = 'button';\r\n /**\r\n * Set the button variant to an outlined button or a ghost button.\r\n * @type {'ghost' | 'outline'}\r\n */\r\n @Input() variant?: 'ghost' | 'outline';\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n btn: true,\r\n [`btn-${this.color}`]: !!this.color && !this.variant,\r\n [`btn-${this.variant}`]: !!this.variant && !this.color,\r\n [`btn-${this.variant}-${this.color}`]: !!this.variant && !!this.color,\r\n [`btn-${this.size}`]: !!this.size,\r\n [`${this.shape}`]: !!this.shape,\r\n disabled: this.disabled,\r\n active: this.active\r\n };\r\n }\r\n\r\n @HostBinding('attr.aria-disabled')\r\n get ariaDisabled () {\r\n return this.disabled || null;\r\n };\r\n\r\n @HostBinding('attr.aria-pressed')\r\n get isActive(): boolean | null {\r\n return this.active || null;\r\n }\r\n\r\n @HostBinding('attr.disabled')\r\n get attrDisabled () {\r\n return this.disabled ? '' : null;\r\n };\r\n\r\n @HostBinding('attr.tabindex')\r\n get tabIndex(): string | null {\r\n return this.disabled ? '-1' : null;\r\n }\r\n}\r\n","import { Directive, HostBinding, Input } from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { ButtonDirective } from './button.directive';\r\n\r\n@Directive({\r\n selector: '[cButtonClose]'\r\n})\r\nexport class ButtonCloseDirective extends ButtonDirective {\r\n\r\n static ngAcceptInputType_white: BooleanInput;\r\n private _white = false;\r\n /**\r\n * Change the default color to white.\r\n * @type boolean\r\n */\r\n @Input()\r\n get white(): boolean {\r\n return this._white;\r\n }\r\n set white(value: boolean) {\r\n this._white = coerceBooleanProperty(value);\r\n }\r\n\r\n @HostBinding('class')\r\n override get hostClasses(): any {\r\n return {\r\n 'btn-close': true,\r\n 'btn-close-white': this.white,\r\n [`btn-${this.size}`]: !!this.size,\r\n disabled: this.disabled,\r\n active: this.active,\r\n };\r\n }\r\n}\r\n","import {\r\n AfterContentInit,\r\n Component,\r\n ContentChildren,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener,\r\n Input,\r\n Output,\r\n QueryList\r\n} from '@angular/core';\r\nimport { animate, AnimationEvent, state, style, transition, trigger } from '@angular/animations';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\nimport { Colors } from '../coreui.types';\r\nimport { TemplateIdDirective } from '../shared';\r\n\r\ntype AnimateType = ('hide' | 'show');\r\n\r\n@Component({\r\n selector: 'c-alert',\r\n templateUrl: './alert.component.html',\r\n styleUrls: ['./alert.component.scss'],\r\n exportAs: 'cAlert',\r\n animations: [\r\n trigger('fadeInOut', [\r\n state('show', style({opacity: 1, height: '*', padding: '*', border: '*', margin: '*', overflow: 'hidden'})),\r\n state('hide', style({opacity: 0, height: 0, padding: 0, border: 0, margin: 0, overflow: 'hidden'})),\r\n state('void', style({opacity: 0, height: 0, padding: 0, border: 0, margin: 0, overflow: 'hidden'})),\r\n transition('show => hide', [\r\n animate('.3s ease-out'),\r\n ]),\r\n transition('hide => show', [\r\n animate('.3s ease-in'),\r\n ]),\r\n transition('show => void', [\r\n animate('.3s ease-out'),\r\n ]),\r\n transition('void => show', [\r\n animate('.3s ease-in'),\r\n ]),\r\n ])\r\n ]\r\n})\r\nexport class AlertComponent implements AfterContentInit {\r\n\r\n static ngAcceptInputType_dismissible: BooleanInput;\r\n static ngAcceptInputType_fade: BooleanInput;\r\n static ngAcceptInputType_visible: BooleanInput;\r\n\r\n hide!: boolean;\r\n /**\r\n * Sets the color context of the component to one of CoreUI’s themed colors.\r\n *\r\n * @type Colors\r\n * @default 'primary'\r\n */\r\n @Input() color: Colors = 'primary';\r\n\r\n /**\r\n * Optionally adds a close button to alert and allow it to self dismiss.\r\n * @type boolean\r\n */\r\n @Input()\r\n get dismissible(): boolean {\r\n return this._dismissible;\r\n }\r\n set dismissible(value: boolean) {\r\n this._dismissible = coerceBooleanProperty(value);\r\n }\r\n private _dismissible = false;\r\n\r\n /**\r\n * Adds animation for dismissible alert.\r\n * @type boolean\r\n */\r\n @Input()\r\n get fade(): boolean {\r\n return this._fade;\r\n }\r\n set fade(value: boolean) {\r\n this._fade = coerceBooleanProperty(value);\r\n }\r\n private _fade = false;\r\n\r\n /**\r\n * Default role for alert. [docs]\r\n * @type string\r\n * @default 'alert'\r\n */\r\n @HostBinding('attr.role')\r\n @Input() role = 'alert';\r\n\r\n /**\r\n * Set the alert variant to a solid.\r\n * @type string\r\n */\r\n @Input() variant?: 'solid' | string;\r\n\r\n /**\r\n * Toggle the visibility of alert component.\r\n * @type boolean\r\n */\r\n @Input()\r\n set visible(value: boolean) {\r\n if (this._visible !== value) {\r\n this._visible = coerceBooleanProperty(value);\r\n this.visibleChange.emit(value);\r\n }\r\n };\r\n get visible() {\r\n return this._visible;\r\n }\r\n private _visible = true;\r\n\r\n /**\r\n * Event triggered on the alert dismiss.\r\n */\r\n @Output() visibleChange: EventEmitter<boolean> = new EventEmitter();\r\n\r\n templates: any = {};\r\n @ContentChildren(TemplateIdDirective, {descendants: true}) contentTemplates!: QueryList<TemplateIdDirective>;\r\n\r\n @HostBinding('@.disabled')\r\n get animationDisabled(): boolean {\r\n return !this.fade;\r\n }\r\n\r\n @HostBinding('@fadeInOut')\r\n get animateType(): AnimateType {\r\n return this.visible ? 'show' : 'hide';\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n alert: true,\r\n 'alert-dismissible': this.dismissible,\r\n fade: this.fade,\r\n show: !this.hide,\r\n [`alert-${this.color}`]: !!this.color && this.variant !== 'solid',\r\n [`bg-${this.color}`]: !!this.color && this.variant === 'solid',\r\n 'text-white': !!this.color && this.variant === 'solid'\r\n };\r\n }\r\n\r\n @HostListener('@fadeInOut.start', ['$event'])\r\n onAnimationStart($event: AnimationEvent): void {\r\n this.onAnimationEvent($event);\r\n }\r\n\r\n @HostListener('@fadeInOut.done', ['$event'])\r\n onAnimationDone($event: AnimationEvent): void {\r\n this.onAnimationEvent($event);\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.contentTemplates.forEach((child: TemplateIdDirective) => {\r\n this.templates[child.id] = child.templateRef;\r\n });\r\n }\r\n\r\n onAnimationEvent(event: AnimationEvent): void {\r\n this.hide = event.phaseName === 'start' && event.toState === 'show';\r\n if (event.phaseName === 'done') {\r\n this.hide = (event.toState === 'hide' || event.toState === 'void');\r\n if (event.toState === 'show') {\r\n this.hide = false;\r\n }\r\n }\r\n }\r\n}\r\n","<ng-container *ngIf=\"visible || !hide\">\r\n <ng-template [ngIf]=\"dismissible\">\r\n <ng-container *ngTemplateOutlet=\"templates?.alertButtonCloseTemplate || defaultAlertButtonCloseTemplate\">\r\n </ng-container>\r\n </ng-template>\r\n <ng-content></ng-content>\r\n</ng-container>\r\n\r\n<ng-template #defaultAlertButtonCloseTemplate>\r\n <button (click)=\"visible=false\" aria-label=\"Close\" cButtonClose></button>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { ButtonDirective } from './button.directive';\r\nimport { ButtonCloseDirective } from './button-close.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n ButtonDirective,\r\n ButtonCloseDirective,\r\n ],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [\r\n ButtonDirective,\r\n ButtonCloseDirective,\r\n ]\r\n})\r\nexport class ButtonModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { AlertComponent } from './alert.component';\r\nimport { AlertHeadingDirective } from './alert-heading.directive';\r\nimport { AlertLinkDirective } from './alert-link.directive';\r\nimport { ButtonModule } from '../button';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ButtonModule\r\n ],\r\n exports: [\r\n AlertComponent,\r\n AlertHeadingDirective,\r\n AlertLinkDirective\r\n ],\r\n declarations: [\r\n AlertComponent,\r\n AlertHeadingDirective,\r\n AlertLinkDirective\r\n ]\r\n})\r\nexport class AlertModule {}\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\nimport { Colors, Shapes, Sizes, TextColors } from '../coreui.types';\r\n\r\n@Component({\r\n selector: 'c-avatar',\r\n templateUrl: './avatar.component.html',\r\n styleUrls: ['./avatar.component.scss']\r\n})\r\nexport class AvatarComponent {\r\n /**\r\n * Sets the background color context of the component to one of CoreUI’s themed colors.\r\n * @type Colors\r\n */\r\n @Input() color?: Colors;\r\n /**\r\n * Select the shape of the component.\r\n * @type Shapes\r\n */\r\n @Input() shape?: Shapes;\r\n /**\r\n * Size the component small, large, or extra large.\r\n * @default 'md'\r\n */\r\n @Input() size?: Omit<Sizes, 'xxl'> = 'md';\r\n /**\r\n * The src attribute for the img element.\r\n * @type string\r\n */\r\n @Input() src?: string;\r\n /**\r\n * Sets the color context of the status indicator to one of CoreUI’s themed colors.\r\n * @type Colors\r\n */\r\n @Input() status?: Colors;\r\n /**\r\n * Sets the text color of the component to one of CoreUI’s themed colors.\r\n *\r\n * @values 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | 'white' | 'muted' | string\r\n */\r\n @Input() textColor?: TextColors;\r\n\r\n constructor() { }\r\n\r\n get statusClass(): any {\r\n return {\r\n 'avatar-status': true,\r\n [`bg-${this.status}`]: !!this.status\r\n };\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n avatar: true,\r\n [`avatar-${this.size}`]: !!this.size,\r\n [`bg-${this.color}`]: !!this.color,\r\n [`${this.shape}`]: !!this.shape,\r\n [`text-${this.textColor}`]: !!this.textColor\r\n };\r\n }\r\n}\r\n","<ng-container>\r\n <ng-container *ngTemplateOutlet=\"defaultImageTemplate\"></ng-container>\r\n <span *ngIf=\"!!status\" [ngClass]=\"statusClass\"></span>\r\n</ng-container>\r\n\r\n<ng-template #defaultImageTemplate>\r\n <img *ngIf=\"!!src; else imageContent\" [src]=\"src\" class=\"avatar-img\" />\r\n <ng-template #imageContent>\r\n <ng-content></ng-content>\r\n </ng-template>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AvatarComponent } from './avatar.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AvatarComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n AvatarComponent\r\n ]\r\n})\r\nexport class AvatarModule { }\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\nimport { BadgePositions, Colors, Shapes } from '../coreui.types';\r\n\r\n@Component({\r\n selector: 'c-badge',\r\n templateUrl: './badge.component.html',\r\n styleUrls: ['./badge.component.scss'],\r\n})\r\nexport class BadgeComponent {\r\n /**\r\n * Sets the color context of the component to one of CoreUI’s themed colors.\r\n * @type Colors\r\n */\r\n @Input() color?: Colors;\r\n /**\r\n * Position badge in one of the corners of a link or button.\r\n * @type BadgePositions\r\n */\r\n @Input() position?: BadgePositions;\r\n /**\r\n * Select the shape of the component.\r\n * @type Shapes\r\n */\r\n @Input() shape?: Shapes;\r\n /**\r\n * Size the component small.\r\n */\r\n @Input() size?: 'sm';\r\n /**\r\n * Sets the text color of the component to one of CoreUI’s themed colors.\r\n * @type TextColors\r\n */\r\n @Input() textColor?: string;\r\n\r\n constructor() {}\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n const positionClasses = {\r\n 'position-absolute': !!this.position,\r\n 'translate-middle': !!this.position,\r\n 'top-0': this.position?.includes('top'),\r\n 'top-100': this.position?.includes('bottom'),\r\n 'start-100': this.position?.includes('end'),\r\n 'start-0': this.position?.includes('start'),\r\n };\r\n\r\n return Object.assign({\r\n badge: true,\r\n [`bg-${this.color}`]: !!this.color,\r\n [`text-${this.textColor}`]: !!this.textColor,\r\n [`badge-${this.size}`]: !!this.size,\r\n [`${this.shape}`]: !!this.shape,\r\n }, !!this.position ? positionClasses : {}\r\n );\r\n }\r\n}\r\n","<ng-content></ng-content>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BadgeComponent } from './badge.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n BadgeComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n BadgeComponent\r\n ]\r\n})\r\nexport class BadgeModule { }\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\nimport { INavAttributes, INavLinkProps } from './breadcrumb-item';\r\n\r\n@Component({\r\n selector: 'c-breadcrumb-item',\r\n templateUrl: './breadcrumb-item.component.html',\r\n styleUrls: ['./breadcrumb-item.component.scss']\r\n})\r\nexport class BreadcrumbItemComponent {\r\n\r\n /**\r\n * Toggle the active state for the component. [docs]\r\n * @type boolean\r\n */\r\n @Input() active?: boolean;\r\n /**\r\n * The `url` prop for the inner `[routerLink]` directive. [docs]\r\n * @type string\r\n */\r\n @Input() url?: string | any[];\r\n /**\r\n * Additional html attributes for link. [docs]\r\n * @type INavAttributes\r\n */\r\n @Input() attributes?: INavAttributes;\r\n /**\r\n * Some `NavigationExtras` props for the inner `[routerLink]` directive and `routerLinkActiveOptions`. [docs]\r\n * @type INavLinkProps\r\n */\r\n @Input() linkProps?: INavLinkProps;\r\n\r\n @HostBinding('attr.aria-current') get ariaCurrent(): string | null {\r\n return this.active ? 'page' : null;\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'breadcrumb-item': true,\r\n active: this.active\r\n };\r\n }\r\n}\r\n","<a *ngIf=\"!active; else activeItem\"\r\n [routerLink]=\"url\"\r\n [cHtmlAttr]=\"attributes ?? {}\"\r\n [target]=\"attributes?.['target']\"\r\n [queryParams]=\"linkProps?.queryParams ?? null\"\r\n [fragment]=\"linkProps?.fragment\"\r\n [queryParamsHandling]=\"linkProps?.queryParamsHandling ?? null\"\r\n [preserveFragment]=\"linkProps?.preserveFragment ?? false\"\r\n [skipLocationChange]=\"linkProps?.skipLocationChange ?? false\"\r\n [replaceUrl]=\"linkProps?.replaceUrl ?? false\"\r\n [state]=\"linkProps?.state ?? {}\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"defaultBreadcrumbItemContentTemplate\"></ng-container>\r\n</a>\r\n\r\n<ng-template #activeItem>\r\n <span [cHtmlAttr]=\"attributes ?? {}\">\r\n <ng-container *ngTemplateOutlet=\"defaultBreadcrumbItemContentTemplate\"></ng-container>\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #defaultBreadcrumbItemContentTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-breadcrumb',\r\n templateUrl: './breadcrumb.component.html',\r\n styleUrls: ['./breadcrumb.component.scss']\r\n})\r\nexport class BreadcrumbComponent {\r\n /**\r\n * Default aria-label for breadcrumb. [docs]\r\n * @type string\r\n * @default 'breadcrumb'\r\n */\r\n @HostBinding('attr.aria-label')\r\n @Input() ariaLabel = 'breadcrumb';\r\n\r\n /**\r\n * Default role for breadcrumb. [docs]\r\n * @type string\r\n * @default 'navigation'\r\n */\r\n @HostBinding('attr.role')\r\n @Input() role = 'navigation';\r\n\r\n @HostBinding('class')\r\n get hostClasses() {\r\n return {\r\n breadcrumb: true\r\n }\r\n }\r\n\r\n constructor() { }\r\n\r\n}\r\n","<ng-content></ng-content>\r\n\r\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';\r\n\r\nimport {IBreadcrumbItem} from '../breadcrumb-item/breadcrumb-item';\r\nimport {Observable, Observer} from 'rxjs';\r\nimport { BreadcrumbRouterService } from './breadcrumb-router.service';\r\n\r\n@Component({\r\n selector: 'c-breadcrumb-router, [cBreadcrumbRouter]',\r\n templateUrl: './breadcrumb-router.component.html',\r\n styleUrls: ['./breadcrumb-router.component.scss']\r\n})\r\nexport class BreadcrumbRouterComponent implements OnChanges, OnDestroy, OnInit {\r\n /**\r\n * Optional array of IBreadcrumbItem to override default BreadcrumbRouter behavior. [docs]\r\n * @type IBreadcrumbItem[]\r\n */\r\n @Input() items?: IBreadcrumbItem[];\r\n\r\n public breadcrumbs: Observable<IBreadcrumbItem[]> | undefined;\r\n\r\n constructor(\r\n public service: BreadcrumbRouterService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.breadcrumbs = this.service.breadcrumbs$;\r\n }\r\n\r\n public ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['items']) {\r\n this.setup();\r\n }\r\n }\r\n\r\n setup(): void {\r\n if (this.items && this.items.length > 0) {\r\n this.breadcrumbs = new Observable<IBreadcrumbItem[]>((observer: Observer<IBreadcrumbItem[]>) => {\r\n if (this.items) {\r\n observer.next(this.items);\r\n }\r\n });\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.breadcrumbs = undefined;\r\n }\r\n}\r\n","<c-breadcrumb class=\"m-0\">\r\n <ng-template ngFor let-breadcrumb [ngForOf]=\"breadcrumbs | async\" let-last=\"last\">\r\n <ng-container *ngIf=\"breadcrumb?.label && (breadcrumb?.url?.slice(-1) === '/' || last)\">\r\n <c-breadcrumb-item\r\n [active]=\"last\"\r\n [url]=\"breadcrumb?.url\"\r\n [attributes]=\"breadcrumb?.attributes\"\r\n [linkProps]=\"breadcrumb?.linkProps\"\r\n >\r\n {{ breadcrumb?.label }}\r\n </c-breadcrumb-item>\r\n </ng-container>\r\n </ng-template>\r\n</c-breadcrumb>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n// CoreUI Breadcrumb Component\r\nimport { BreadcrumbComponent } from './breadcrumb/breadcrumb.component';\r\nimport { BreadcrumbItemComponent } from './breadcrumb-item/breadcrumb-item.component';\r\nimport { BreadcrumbRouterComponent } from './breadcrumb-router/breadcrumb-router.component';\r\nimport { BreadcrumbRouterService } from './breadcrumb-router/breadcrumb-router.service';\r\nimport { SharedModule } from '../shared';\r\n\r\n@NgModule({\r\n imports: [CommonModule, RouterModule, SharedModule],\r\n exports: [\r\n BreadcrumbComponent,\r\n BreadcrumbItemComponent,\r\n BreadcrumbRouterComponent,\r\n ],\r\n declarations: [\r\n BreadcrumbRouterComponent,\r\n BreadcrumbItemComponent,\r\n BreadcrumbComponent,\r\n ],\r\n providers: [BreadcrumbRouterService],\r\n})\r\nexport class BreadcrumbModule { }\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-button-group',\r\n template: `<ng-content></ng-content>`,\r\n})\r\nexport class ButtonGroupComponent {\r\n\r\n /**\r\n * Size the component small or large.\r\n * @type { 'sm' | 'lg' }\r\n */\r\n @Input() size?: 'sm' | 'lg';\r\n /**\r\n * Create a set of buttons that appear vertically stacked rather than horizontally. Split button dropdowns are not supported here.\r\n * @type boolean\r\n */\r\n @Input() vertical?: boolean;\r\n /**\r\n * Default role attr for ButtonGroup. [docs]\r\n * @type string\r\n * @default 'group'\r\n */\r\n @HostBinding('attr.role')\r\n @Input() role = 'group';\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'btn-group': !this.vertical,\r\n 'btn-group-vertical': this.vertical,\r\n [`btn-group-${this.size}`]: !!this.size,\r\n };\r\n }\r\n\r\n\r\n constructor() { }\r\n\r\n}\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-button-toolbar',\r\n template: `<ng-content></ng-content>`,\r\n})\r\nexport class ButtonToolbarComponent {\r\n /**\r\n * Default role attr for ButtonToolbar. [docs]\r\n * @type string\r\n * @default 'toolbar'\r\n */\r\n @HostBinding('attr.role')\r\n @Input() role = 'toolbar';\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'btn-toolbar': true,\r\n };\r\n }\r\n\r\n constructor() { }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ButtonGroupComponent } from './button-group/button-group.component';\r\nimport { ButtonToolbarComponent } from './button-toolbar/button-toolbar.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n ButtonGroupComponent,\r\n ButtonToolbarComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n ButtonGroupComponent,\r\n ButtonToolbarComponent\r\n ]\r\n})\r\nexport class ButtonGroupModule { }\r\n","export const convertToLocalDate = (d: Date, locale: string, options = {}) => d.toLocaleDateString(locale, options);\r\n\r\nexport const convertToLocalTime = (d: Date, locale: string, options = {}) => d.toLocaleTimeString(locale, options);\r\n\r\nexport const createGroupsInArray = (arr: any[], numberOfGroups: number) => {\r\n const perGroup = Math.ceil(arr.length / numberOfGroups);\r\n return new Array(numberOfGroups)\r\n .fill('')\r\n .map((_, i) => arr.slice(i * perGroup, (i + 1) * perGroup));\r\n};\r\n\r\nexport const getCurrentYear = () => new Date().getFullYear();\r\n\r\nexport const getCurrentMonth = () => new Date().getMonth();\r\n\r\nexport const getLocalDateFromString = (string: string, locale: string, time?: boolean) => {\r\n const date = new Date(2013, 11, 31, 17, 19, 22);\r\n let regex = time ? date.toLocaleString(locale) : date.toLocaleDateString(locale);\r\n regex = regex\r\n .replace('2013', '(?<year>[0-9]{2,4})')\r\n .replace('12', '(?<month>[0-9]{1,2})')\r\n .replace('31', '(?<day>[0-9]{1,2})');\r\n\r\n if (time) {\r\n regex = regex\r\n .replace('5', '(?<hour>[0-9]{1,2})')\r\n .replace('17', '(?<hour>[0-9]{1,2})')\r\n .replace('19', '(?<minute>[0-9]{1,2})')\r\n .replace('22', '(?<second>[0-9]{1,2})')\r\n .replace('PM', '(?<ampm>[A-Z]{2})');\r\n }\r\n\r\n const rgx = RegExp(`${regex}`);\r\n const partials = string.match(rgx);\r\n\r\n if (partials === null) return;\r\n\r\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'])));\r\n\r\n return newDate;\r\n};\r\n\r\nexport const getMonthName = (month: number, locale: string) => {\r\n const d = new Date();\r\n d.setDate(1);\r\n d.setMonth(month);\r\n return d.toLocaleString(locale, { month: 'long' });\r\n};\r\n\r\nexport const getMonthsNames = (locale: string) => {\r\n const months = [];\r\n const d = new Date();\r\n d.setDate(1);\r\n\r\n for (let i = 0; i < 12; i++) {\r\n d.setMonth(i);\r\n months.push(d.toLocaleDateString(locale, { month: 'short' }));\r\n }\r\n\r\n return months;\r\n};\r\n\r\nexport const getYears = (year: number) => {\r\n const years = [];\r\n for (let _year = year - 6; _year < year + 6; _year++) {\r\n years.push(_year);\r\n }\r\n\r\n return years;\r\n};\r\n\r\nconst getLeadingDays = (year: number, month: number, firstDayOfWeek: number) => {\r\n // 0: sunday\r\n // 1: monday\r\n const dates = [];\r\n const d = new Date(year, month);\r\n const y = d.getFullYear();\r\n const m = d.getMonth();\r\n const firstWeekday = new Date(y, m, 1).getDay();\r\n let leadingDays = 6 - (6 - firstWeekday) - firstDayOfWeek;\r\n\r\n if (firstDayOfWeek) {\r\n leadingDays = leadingDays < 0 ? 7 + leadingDays : leadingDays;\r\n }\r\n\r\n for (let i = leadingDays * -1; i < 0; i++) {\r\n dates.push({\r\n date: new Date(y, m, i + 1), month: 'previous'\r\n });\r\n }\r\n\r\n return dates;\r\n};\r\n\r\nconst getMonthDays = (year: number, month: number) => {\r\n const dates = [];\r\n const lastDay = new Date(year, month + 1, 0).getDate();\r\n for (let i = 1; i <= lastDay; i++) {\r\n dates.push({\r\n date: new Date(year, month, i), month: 'current'\r\n });\r\n }\r\n return dates;\r\n};\r\n\r\nconst getTrailingDays = (year: number, month: number, leadingDays: { date: Date; month: string }[], monthDays: { date: Date; month: string }[]) => {\r\n const dates = [];\r\n const days = 42 - (leadingDays.length + monthDays.length);\r\n for (let i = 1; i <= days; i++) {\r\n dates.push({\r\n date: new Date(year, month + 1, i), month: 'next'\r\n });\r\n }\r\n return dates;\r\n};\r\n\r\nexport const getMonthDetails = (year: number, month: number, firstDayOfWeek: number) => {\r\n const daysPrevMonth = getLeadingDays(year, month, firstDayOfWeek);\r\n const daysThisMonth = getMonthDays(year, month);\r\n const daysNextMonth = getTrailingDays(year, month, daysPrevMonth, daysThisMonth);\r\n const days = [...daysPrevMonth, ...daysThisMonth, ...daysNextMonth];\r\n\r\n const weeks: { date: Date; month: string }[][] = [];\r\n\r\n days.forEach((day, index) => {\r\n if (index % 7 === 0 || weeks.length === 0) {\r\n weeks.push([]);\r\n }\r\n weeks[weeks.length - 1].push(day);\r\n });\r\n\r\n return weeks;\r\n};\r\n\r\nexport const isDateDisabled = (date: Date | null, min?: Date | null, max?: Date | null, dates?: Date[] | Date[][]) => {\r\n if (!date) return;\r\n let disabled;\r\n if (dates) {\r\n dates.forEach((_date: Date | Date[]) => {\r\n if (Array.isArray(_date)) {\r\n if (isDateInRange(date, _date[0], _date[1])) {\r\n disabled = true;\r\n }\r\n }\r\n if (_date instanceof Date) {\r\n if (isSameDateAs(date, _date)) {\r\n disabled = true;\r\n }\r\n }\r\n });\r\n }\r\n if (min && date < min) {\r\n disabled = true;\r\n }\r\n\r\n if (max && date > max) {\r\n disabled = true;\r\n }\r\n return disabled;\r\n};\r\n\r\nexport const isDateInRange = (date: Date | null, start: Date | null, end: Date | null) => {\r\n return date && start && end && start <= date && date <= end;\r\n};\r\n\r\nexport const isDateSelected = (date: Date | null, start: Date | null, end: Date | null) => {\r\n return date && ((start && isSameDateAs(start, date)) || (end && isSameDateAs(end, date)));\r\n};\r\n\r\nexport const isEndDate = (date: Date | null, start: Date | null, end: Date | null) => {\r\n return date && start && end && isSameDateAs(end, date) && start < end;\r\n};\r\n\r\nexport const isLastDayOfMonth = (date: Date) => {\r\n const test = new Date(date.getTime());\r\n const month = test.getMonth();\r\n\r\n test.setDate(test.getDate() + 1);\r\n return test.getMonth() !== month;\r\n};\r\n\r\nexport const isSameDateAs = (date: Date, date2: Date) => {\r\n return (date.getDate() == date2.getDate() && date.getMonth() == date2.getMonth() && date.getFullYear() == date2.getFullYear());\r\n};\r\n\r\nexport const isStartDate = (date: Date | null, start: Date | null, end: Date | null) => {\r\n return date && start && end && isSameDateAs(start, date) && start < end;\r\n};\r\n\r\nexport const isToday = (date: Date) => {\r\n const today = new Date();\r\n return (date.getDate() == today.getDate() && date.getMonth() == today.getMonth() && date.getFullYear() == today.getFullYear());\r\n};\r\n\r\nexport const isThisMonth = (date: Date, index: number) => {\r\n const today = new Date();\r\n return (index == today.getMonth() && date.getFullYear() == today.getFullYear());\r\n};\r\n\r\nexport const isThisYear = (year: number) => {\r\n const today = new Date();\r\n return (year == today.getFullYear());\r\n};\r\n\r\nexport const isValidDate = (date: Date | string | number) => {\r\n const d = new Date(date);\r\n return !!d.getTime();\r\n};\r\n\r\nexport const tryDate = (value: string | number | Date, propName: string = 'date') => {\r\n let _value;\r\n try {\r\n _value = isValidDate(value) ? new Date(value) : new Date();\r\n } catch (err) {\r\n console.warn(`Invalid ${propName}`, err);\r\n _value = new Date();\r\n }\r\n _value.setHours(0, 0, 0, 0);\r\n return _value;\r\n};\r\n\r\nexport const isDateInRangeDisabled = (startDate?: Date | null, endDate?: Date | null, dates?: Date[] | Date[][]) => {\r\n if (startDate && endDate) {\r\n const date = new Date(startDate);\r\n let disabled = false;\r\n\r\n while (date < endDate) {\r\n date.setDate(date.getDate() + 1);\r\n if (isDateDisabled(date, null, null, dates)) {\r\n disabled = true;\r\n break;\r\n }\r\n }\r\n return disabled;\r\n }\r\n return false;\r\n};\r\n\r\n// export const stringToDateConvert = (date: string, locales: string) => {\r\n// const formatter = new Intl.DateTimeFormat('fr-FR');\r\n// const parts = formatter.formatToParts();\r\n// console.log(date, parts, formatter.format(), formatter.resolvedOptions(), formatter.format());\r\n// };\r\n\r\n// declare namespace Intl {\r\n// type DateTimeFormatPartTypes = \"day\" | \"dayPeriod\" | \"era\" | \"fractionalSecond\" | \"hour\" | \"literal\" | \"minute\" | \"month\" | \"second\" | \"timeZoneName\" | \"weekday\" | \"year\";\r\n//\r\n// interface DateTimeFormatPart {\r\n// type: DateTimeFormatPartTypes;\r\n// value: string;\r\n// }\r\n//\r\n// interface DateTimeFormat {\r\n// formatToParts(date?: Date | number): DateTimeFormatPart[];\r\n// }\r\n// }\r\n\r\ntype DateTimeFormatPartTypes =\r\n 'day'\r\n | 'dayPeriod'\r\n | 'era'\r\n | 'fractionalSecond'\r\n | 'hour'\r\n | 'literal'\r\n | 'minute'\r\n | 'month'\r\n | 'second'\r\n | 'timeZoneName'\r\n | 'weekday'\r\n | 'year';\r\ntype DateFormatPartTypes = 'day' | 'month' | 'year' | 'literal';\r\n\r\n// type DateParts = {\r\n// [key in DateTimeFormatPartTypes]?: string;\r\n// };\r\n\r\n// type DateParts = {\r\n// year: number, month: number, day: number, literal: string\r\n// };\r\n//\r\n// export const cvtDate = (dateAsString: string, locale = 'pl-PL') => {\r\n// const dateString = dateAsString ?? new Date().toLocaleDateString(locale);\r\n// const dateSplit = dateString.split(/[.\\-\\/\\s\\D]/gi).filter(item => !!item.length);\r\n// const formatter = new Intl.DateTimeFormat(locale);\r\n// const parts = formatter.formatToParts().filter(part => ['year', 'month', 'day'].includes(part.type));\r\n// const dateShim = {\r\n// day: undefined, month: undefined, year: undefined\r\n// };\r\n// parts.forEach((part, index) => {\r\n// const { type, value } = { ...part };\r\n// // @ts-ignore\r\n// dateShim[type] = dateSplit[index];\r\n// });\r\n//\r\n// return dateShim;\r\n//\r\n// // const dateParts: DateParts = {\r\n// // year: 0,\r\n// // month: 0,\r\n// // day: 0,\r\n// // literal: '/'\r\n// // };\r\n// //\r\n// // const literal = parts.find(part => part.type === 'literal')?.value ?? '/';\r\n// // // const year = parseInt(parts.find(part => part.type === 'year')?.value ?? '0');\r\n// // // const month = parseInt(parts.find(part => part.type === 'year')?.value ?? '0');\r\n// // // const day = parseInt(parts.find(part => part.type === 'year')?.value ?? '0');\r\n// //\r\n// // const dateArray = dateString.split(literal);\r\n// //\r\n// // parts.forEach(part => {\r\n// // const {type, value} = {...part};\r\n// // if (type === 'day') {\r\n// //\r\n// // }\r\n// // })\r\n// //\r\n// // parts.filter(part => part.type in dateParts).map(part => {\r\n// // const {type, value} = {...part};\r\n// // // @ts-ignore\r\n// // dateParts[type] = parseInt(part.value);\r\n// // //\r\n// // // switch (type) {\r\n// // // case 'day':\r\n// // // day = parseInt(value);\r\n// // // break;\r\n// // // case 'month':\r\n// // // month = parseInt(value);\r\n// // // break;\r\n// // // case 'year':\r\n// // // year = parseInt(value);\r\n// // // break;\r\n// // // }\r\n// // })\r\n// // // const { year, month, day } = {...dateParts}\r\n// // return new Date(year, month - 1, day);\r\n// };\r\n//\r\n// // function getDateX(dateAsString) {\r\n// // const [day, month, year] = dateAsString.split('/');\r\n// // return new Date(year, month - 1, day);\r\n// // }\r\n//\r\n// // getDate('12/07/1997');\r\n","import { Injectable, KeyValueDiffer, KeyValueDiffers } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { isValidDate } from './calendar.utils';\r\n\r\nexport type DateFilterType = (date: Date) => boolean;\r\nexport type DayFormatType = 'numeric' | '2-digit' | ((date: Date) => string | number);\r\nexport type WeekdayFormatType = number | 'long' | 'narrow' | 'short' | ((date: Date) => string | number);\r\n\r\nexport interface ICalendarState {\r\n [key: string]: any;\r\n\r\n calendarDate?: Date | null;\r\n hoverDate?: Date | null;\r\n startDate?: Date | null;\r\n endDate?: Date | null;\r\n maxDate?: Date | null;\r\n minDate?: Date | null;\r\n disabledDates?: Date[] | Date[][];\r\n range?: boolean;\r\n view?: string;\r\n locale?: string;\r\n dateFilter?: DateFilterType,\r\n dayFormat?: DayFormatType,\r\n weekdayFormat?: WeekdayFormatType;\r\n navYearFirst?: boolean;\r\n}\r\n\r\n@Injectable()\r\nexport class CalendarService {\r\n\r\n constructor(\r\n private keyValueDiffers: KeyValueDiffers\r\n ) {\r\n this.differ = this.keyValueDiffers.find(this.calendarStateObject).create();\r\n }\r\n\r\n private differ!: KeyValueDiffer<any, any>;\r\n\r\n public calendarStateObject: ICalendarState = {\r\n calendarDate: new Date(),\r\n hoverDate: null,\r\n startDate: null,\r\n endDate: null,\r\n maxDate: null,\r\n minDate: null,\r\n disabledDates: [],\r\n range: false,\r\n view: 'days',\r\n locale: 'default',\r\n dateFilter: undefined,\r\n weekdayFormat: 'short',\r\n dayFormat: 'numeric',\r\n navYearFirst: false\r\n };\r\n\r\n private calendarState = new BehaviorSubject<ICalendarState>(this.calendarStateObject);\r\n calendarState$ = this.calendarState.asObservable();\r\n\r\n update(state: ICalendarState): void {\r\n const keys = Object.keys(state);\r\n for (const key of keys) {\r\n const entry = this.calendarStateObject[key];\r\n if (entry === state[key]) {\r\n continue;\r\n }\r\n if (isValidDate(state[key]) && entry ? entry.getTime() === state[key]?.getTime() : false) {\r\n continue;\r\n }\r\n this.calendarStateObject[key] = state[key];\r\n }\r\n\r\n if (this.differ) {\r\n const changes = this.differ.diff(this.calendarStateObject);\r\n if (changes) {\r\n const newState: ICalendarState = { ...this.calendarStateObject };\r\n changes.forEachChangedItem(item => {\r\n // console.log('changes', item.key, item, );\r\n newState[item.key] = item.currentValue;\r\n });\r\n this.calendarState.next(newState);\r\n }\r\n }\r\n }\r\n}\r\n","import { Component, EventEmitter, HostBinding, Input, OnDestroy, Output } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { CalendarService } from '../calendar.service';\r\n\r\ninterface INavigationClick {\r\n direction: ('prev' | 'next');\r\n years: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'c-calendar-navigation',\r\n templateUrl: './calendar-navigation.component.html',\r\n styleUrls: ['./calendar-navigation.component.scss']\r\n})\r\nexport class CalendarNavigationComponent implements OnDestroy {\r\n\r\n constructor(\r\n private calendarService: CalendarService\r\n ) {\r\n this.calendarStateSubscribe();\r\n }\r\n\r\n @Input() addMonths: number = 0;\r\n\r\n @Input()\r\n set calendarDate(value: Date) {\r\n this._calendarDate = value;\r\n };\r\n\r\n get calendarDate() {\r\n return this._calendarDate;\r\n }\r\n\r\n private _calendarDate = new Date();\r\n\r\n @Input() navigation: boolean = true;\r\n @Input() navYearFirst: boolean = false;\r\n\r\n locale: string = 'default';\r\n view: 'days' | 'months' | 'years' = 'days';\r\n\r\n @Output() navigationClick: EventEmitter<INavigationClick> = new EventEmitter<INavigationClick>();\r\n private calendarStateSubscription!: Subscription;\r\n\r\n get date() {\r\n return new Date(this.calendarDate.getFullYear(), this.calendarDate.getMonth() + this.addMonths);\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'calendar-nav': true\r\n };\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.calendarStateSubscribe(false);\r\n }\r\n\r\n calendarStateSubscribe(subscribe: boolean = true): void {\r\n if (subscribe) {\r\n this.calendarStateSubscription =\r\n this.calendarService.calendarState$.subscribe(state => {\r\n const keys = Object.keys(state);\r\n for (const key of keys) {\r\n if (key in this) {\r\n // @ts-ignore\r\n this[key] = state[key];\r\n }\r\n }\r\n });\r\n return;\r\n }\r\n this.calendarStateSubscription.unsubscribe();\r\n }\r\n\r\n setView(view: 'days' | 'months' | 'years') {\r\n this.view = view;\r\n this.calendarService.update({ view: view });\r\n }\r\n\r\n handleNavigationClick(direction: 'prev' | 'next', years = false) {\r\n this.navigationClick.emit({ direction, years: years });\r\n }\r\n}\r\n","<div *ngIf=\"navigation\" class=\"calendar-nav-prev\">\r\n <button\r\n (click)=\"handleNavigationClick('prev', true)\"\r\n cButton\r\n color=\"transparent\"\r\n size=\"sm\"\r\n tabindex=\"0\"\r\n >\r\n <span class=\"calendar-nav-icon calendar-nav-icon-double-prev\"></span>\r\n </button>\r\n <button\r\n (click)=\"handleNavigationClick('prev')\"\r\n *ngIf=\"view === 'days'\"\r\n cButton\r\n color=\"transparent\"\r\n size=\"sm\"\r\n tabindex=\"0\"\r\n >\r\n <span class=\"calendar-nav-icon calendar-nav-icon-prev\"></span>\r\n </button>\r\n</div>\r\n<div class=\"calendar-nav-date\" [ngStyle]=\"navYearFirst ? { display: 'flex', justifyContent: 'center' } : {}\">\r\n <button\r\n (click)=\"setView('months')\"\r\n *ngIf=\"view === 'days'\"\r\n cButton\r\n color=\"transparent\"\r\n size=\"sm\"\r\n tabindex=\"0\"\r\n >\r\n {{ date.toLocaleDateString(locale, { month: 'long' }) }}\r\n </button>\r\n <button (click)=\"setView('years')\" cButton color=\"transparent\" size=\"sm\" tabindex=\"0\" [ngStyle]=\"navYearFirst ? { order: '-1' } : {}\">\r\n {{ date.toLocaleDateString(locale, { year: 'numeric' }) }}\r\n </button>\r\n</div>\r\n<div *ngIf=\"navigation\" class=\"calendar-nav-next\">\r\n <button\r\n (click)=\"handleNavigationClick('next')\"\r\n *ngIf=\"view === 'days'\"\r\n cButton\r\n color=\"transparent\"\r\n size=\"sm\"\r\n tabindex=\"0\"\r\n >\r\n <span class=\"calendar-nav-icon calendar-nav-icon-next\"></span>\r\n </button>\r\n <button\r\n (click)=\"handleNavigationClick('next', true)\"\r\n cButton\r\n color=\"transparent\"\r\n size=\"sm\"\r\n tabindex=\"0\"\r\n >\r\n <span class=\"calendar-nav-icon calendar-nav-icon-double-next\"></span>\r\n </button>\r\n</div>\r\n","import { Directive, HostBinding, Input, OnDestroy } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport {\r\n isDateDisabled,\r\n isDateInRange,\r\n isDateInRangeDisabled,\r\n isDateSelected,\r\n isEndDate,\r\n isStartDate\r\n} from '../calendar.utils';\r\nimport { CalendarService, DateFilterType } from '../calendar.service';\r\n\r\n@Directive({\r\n selector: '[cCalendarDay]'\r\n})\r\nexport class CalendarDayDirective implements OnDestroy {\r\n\r\n constructor(\r\n private calendarService: CalendarService\r\n ) {\r\n this.calendarStateSubscribe();\r\n }\r\n\r\n private date: Date | null = null;\r\n private month?: string;\r\n private startDate: Date | null = null;\r\n private endDate: Date | null = null;\r\n private hoverDate: Date | null = null;\r\n private maxDate: Date | null = null;\r\n private minDate: Date | null = null;\r\n private range: boolean = false;\r\n private disabledDates!: Date[] | Date[][];\r\n private calendarStateSubscription!: Subscription;\r\n private dateFilter!: DateFilterType;\r\n\r\n private _dateObj?: { date: Date; month: string; };\r\n\r\n @Input('cCalendarDay')\r\n set dateObj(value: { date: Date; month: string }) {\r\n this._dateObj = value;\r\n this.date = value.date;\r\n this.month = value.month;\r\n }\r\n\r\n get selectEndDate(): boolean {\r\n return (this.range && !!this.startDate && !this.endDate);\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n\r\n if (!this.date) return;\r\n\r\n const rangeHover = this.month === 'current' && this.selectEndDate && isDateInRange(this.date, this.startDate, this.hoverDate);\r\n const inRange = this.month === 'current' && isDateInRange(this.date, this.startDate, this.endDate);\r\n const selected = isDateSelected(this.date, this.startDate, this.endDate);\r\n const start = isStartDate(this.date, this.startDate, this.endDate);\r\n const end = isEndDate(this.date, this.startDate, this.endDate);\r\n const disabledRange = isDateInRangeDisabled(this.startDate, this.date, this.disabledDates);\r\n const disabledDate = isDateDisabled(this.date, this.minDate, this.maxDate, this.disabledDates);\r\n const disabledByFilter = this.dateFilter ? !this.dateFilter(this.date) : false;\r\n\r\n return {\r\n 'range-hover': rangeHover && (!disabledRange || !disabledByFilter),\r\n selected: !!selected,\r\n range: !!inRange,\r\n start: !!start,\r\n end: !!end,\r\n disabled: disabledDate || disabledByFilter\r\n };\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.calendarStateSubscribe(false);\r\n }\r\n\r\n calendarStateSubscribe(subscribe: boolean = true): void {\r\n if (subscribe) {\r\n this.calendarStateSubscription =\r\n this.calendarService.calendarState$.subscribe(state => {\r\n const {\r\n startDate = this.startDate,\r\n endDate = this.endDate,\r\n hoverDate = this.hoverDate,\r\n range = this.range,\r\n maxDate = this.maxDate,\r\n minDate = this.minDate,\r\n disabledDates = this.disabledDates,\r\n dateFilter = this.dateFilter\r\n } = { ...state };\r\n this.startDate = startDate;\r\n this.endDate = endDate;\r\n this.range = range;\r\n this.hoverDate = hoverDate;\r\n this.maxDate = maxDate;\r\n this.minDate = minDate;\r\n this.disabledDates = disabledDates;\r\n this.dateFilter = dateFilter;\r\n });\r\n return;\r\n }\r\n this.calendarStateSubscription.unsubscribe();\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { WeekdayFormatType } from '../calendar.service';\r\n\r\n@Pipe({\r\n name: 'calendarWeekday'\r\n})\r\nexport class CalendarWeekdayPipe implements PipeTransform {\r\n\r\n transform(date: Date, weekdayFormat: WeekdayFormatType = 'short', locale: string = 'default'): (string | number) {\r\n return typeof weekdayFormat === 'function'\r\n ? weekdayFormat(date)\r\n : typeof weekdayFormat === 'string'\r\n ? date.toLocaleDateString(locale, { weekday: weekdayFormat })\r\n : date.toLocaleDateString(locale, { weekday: 'long' }).slice(0, weekdayFormat);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { isThisYear } from '../calendar.utils';\r\n\r\n@Pipe({\r\n name: 'calendarClassYear'\r\n})\r\nexport class CalendarClassYearPipe implements PipeTransform {\r\n\r\n transform(year: number, args?: any): any {\r\n return {\r\n 'calendar-cell': true,\r\n year: true,\r\n today: isThisYear(year)\r\n };\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { isThisMonth } from '../calendar.utils';\r\n\r\n@Pipe({\r\n name: 'calendarClassMonth'\r\n})\r\nexport class CalendarClassMonthPipe implements PipeTransform {\r\n\r\n transform(calendarDate: Date, monthIndex: number): any {\r\n\r\n return {\r\n 'calendar-cell': true,\r\n month: true,\r\n today: isThisMonth(calendarDate, monthIndex)\r\n };\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { isDateDisabled, isLastDayOfMonth, isToday } from '../calendar.utils';\r\n\r\n@Pipe({\r\n name: 'calendarClassDay'\r\n})\r\nexport class CalendarClassDayPipe implements PipeTransform {\r\n\r\n transform(dateObj: { date: Date; month: string; }, datesConfig?: { minDate: any; maxDate: any; disabledDates: any; dateFilter: any; }): any {\r\n const { date, month } = { ...dateObj };\r\n const { minDate, maxDate, disabledDates, dateFilter } = { ...datesConfig };\r\n // @ts-ignore\r\n const disabled = isDateDisabled(date, minDate, maxDate, disabledDates) || (dateFilter ? !dateFilter(date) : false);\r\n\r\n return {\r\n 'calendar-cell': true,\r\n today: isToday(date),\r\n disabled: disabled,\r\n next: month === 'next',\r\n previous: month === 'previous',\r\n last: isLastDayOfMonth(date)\r\n };\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DayFormatType } from '../calendar.service';\r\n\r\n@Pipe({\r\n name: 'calendarDay'\r\n})\r\nexport class CalendarDayPipe implements PipeTransform {\r\n\r\n transform(date: Date, dayFormat: DayFormatType = 'numeric', locale: string = 'default'): (string | number) {\r\n return typeof dayFormat === 'function' ?\r\n dayFormat(date) :\r\n date.toLocaleDateString(locale, { day: dayFormat });\r\n }\r\n}\r\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport {\r\n createGroupsInArray,\r\n getMonthDetails,\r\n getMonthsNames,\r\n getYears,\r\n isDateDisabled,\r\n isDateInRangeDisabled,\r\n tryDate\r\n} from '../calendar.utils';\r\n\r\nimport { CalendarService, DateFilterType, DayFormatType, WeekdayFormatType } from '../calendar.service';\r\n\r\n@Component({\r\n selector: 'c-calendar-month',\r\n templateUrl: './calendar-month.component.html',\r\n styleUrls: ['./calendar-month.component.scss'],\r\n exportAs: 'cCalendarMonth'\r\n})\r\nexport class CalendarMonthComponent implements OnInit, OnDestroy {\r\n\r\n constructor(\r\n private calendarService: CalendarService\r\n ) {\r\n this.calendarStateSubscribe();\r\n }\r\n\r\n @Input() addMonths: number = 0;\r\n\r\n /**\r\n * Initial selected date.\r\n * @type (Date | null)\r\n */\r\n @Input()\r\n set startDate(value: Date | number | string | null | undefined) {\r\n this._startDate = !!value ? tryDate(value, 'startDate') : null;\r\n this.calendarService.update({ startDate: this._startDate });\r\n }\r\n get startDate() {\r\n return this._startDate;\r\n }\r\n _startDate: Date | null = null;\r\n\r\n /**\r\n * Initial selected to date (range).\r\n * @type (Date | null)\r\n */\r\n @Input()\r\n set endDate(value: Date | number | string | null | undefined) {\r\n this._endDate = !!value ? tryDate(value, 'endDate') : null;\r\n this.calendarService.update({ endDate: this._endDate });\r\n }\r\n get endDate() {\r\n return this._endDate;\r\n }\r\n _endDate: (Date | null) = null;\r\n\r\n /**\r\n * Specify the list of dates that cannot be selected.\r\n * @type (Date[] | Date[][])\r\n */\r\n @Input()\r\n set disabledDates(value: Date[] | Date[][]) {\r\n this._disabledDates = value;\r\n }\r\n get disabledDates(): Date[] | Date[][] {\r\n return this._disabledDates;\r\n }\r\n private _disabledDates: (Date[] | Date[][]) = [];\r\n\r\n /**\r\n * Sets the day of start week.\r\n * - 0 - Sunday,\r\n * - 1 - Monday,\r\n * - 2 - Tuesday,\r\n * - 3 - Wednesday,\r\n * - 4 - Thursday,\r\n * - 5 - Friday,\r\n * - 6 - Saturday,\r\n */\r\n @Input()\r\n set firstDayOfWeek(value: number) {\r\n this._firstDayOfWeek = coerceNumberProperty(value);\r\n }\r\n get firstDayOfWeek(): number {\r\n return this._firstDayOfWeek;\r\n }\r\n private _firstDayOfWeek: number = 1;\r\n\r\n /**\r\n * Sets the default locale for components. If not set, it is inherited from the browser.\r\n * @default 'default'\r\n */\r\n @Input()\r\n set locale(value) {\r\n this._locale = value;\r\n this.listOfMonths = createGroupsInArray(getMonthsNames(value), 4);\r\n }\r\n get locale() {\r\n return this._locale;\r\n }\r\n private _locale: string = 'default';\r\n\r\n /**\r\n * Allow range selection.\r\n */\r\n @Input()\r\n set range(value: boolean) {\r\n this._range = coerceBooleanProperty(value);\r\n }\r\n get range(): boolean {\r\n return this._range;\r\n }\r\n private _range: boolean = false;\r\n\r\n /**\r\n * Set length or format of day name.\r\n * @type number | 'long' | 'narrow' | 'short'\r\n * @default 'short'\r\n */\r\n @Input() weekdayFormat: WeekdayFormatType = 'short';\r\n\r\n /**\r\n * Set calendar view.\r\n * @type 'days' | 'months' | 'years'\r\n * @default 'days'\r\n */\r\n @Input()\r\n set view(value) {\r\n this._view = value;\r\n this.listOfYears = createGroupsInArray(getYears(this.date.getFullYear()), 4);\r\n }\r\n get view() {\r\n return this._view;\r\n }\r\n private _view: 'days' | 'months' | 'years' = 'days';\r\n\r\n /**\r\n * Max selectable date.\r\n */\r\n @Input()\r\n set maxDate(value: Date | null) {\r\n this._maxDate = value ? tryDate(value, 'maxDate') : null;\r\n }\r\n get maxDate() {\r\n return this._maxDate;\r\n }\r\n private _maxDate: Date | null = null;\r\n\r\n /**\r\n * Min selectable date.\r\n */\r\n @Input()\r\n set minDate(value: Date | null) {\r\n this._minDate = value ? tryDate(value, 'minDate') : null;\r\n }\r\n get minDate() {\r\n return this._minDate;\r\n }\r\n private _minDate: Date | null = null;\r\n\r\n listOfMonths = createGroupsInArray(getMonthsNames(this.locale), 4);\r\n listOfYears = createGroupsInArray(getYears(this.date.getFullYear()), 4);\r\n private calendarStateSubscription!: Subscription;\r\n\r\n /**\r\n * Default date of the component\r\n * @type Date\r\n */\r\n @Input()\r\n set calendarDate(value: Date | string | number) {\r\n const _value = new Date(tryDate((value ?? this.startDate ?? new Date()), 'calendarDate'));\r\n if (this._calendarDate.getTime() !== _value.getTime()) {\r\n this.listOfYears = createGroupsInArray(getYears(_value.getFullYear()), 4);\r\n this._calendarDate = new Date(_value.setDate(1));\r\n this.setMonthDetails(this.date);\r\n this.calendarService.update({ calendarDate: this._calendarDate });\r\n }\r\n }\r\n get calendarDate(): Date {\r\n return this._calendarDate;\r\n }\r\n private _calendarDate: Date = new Date();\r\n\r\n dateFilter!: DateFilterType;\r\n\r\n get date() {\r\n return new Date(this.calendarDate?.getFullYear(), this.calendarDate?.getMonth() + this.addMonths);\r\n }\r\n dayFormat!: DayFormatType;\r\n\r\n private _monthDetails!: { date: Date; month: string; }[][];\r\n\r\n get monthDetails(): { date: Date; month: string; }[][] {\r\n return this._monthDetails;\r\n }\r\n\r\n get weekDays() {\r\n return this.monthDetails[0];\r\n }\r\n\r\n ngOnInit(): void {\r\n this.listOfMonths = createGroupsInArray(getMonthsNames(this.locale), 4);\r\n this.setMonthDetails(this.date);\r\n }\r\n\r\n setMonthDetails(date: Date = this.date) {\r\n this._monthDetails = getMonthDetails(\r\n date.getFullYear(),\r\n date.getMonth(),\r\n this.firstDayOfWeek\r\n );\r\n }\r\n\r\n yearNumber(year: any) {\r\n return new Date(year, 0).toLocaleDateString(this.locale, { year: 'numeric' });\r\n }\r\n\r\n isDateDisabled(date: Date) {\r\n // @ts-ignore\r\n return isDateDisabled(date, this.minDate, this.maxDate, this.disabledDates) || (this.dateFilter ? !this.dateFilter(date) : false);\r\n }\r\n\r\n calendarCellTitle(date: Date) {\r\n return date.toLocaleDateString(this.locale);\r\n }\r\n\r\n handleCellMouseEnter(hoverDate: Date) {\r\n const hoverValue = this.isDateDisabled(hoverDate) ? null : hoverDate;\r\n this.calendarService.update({ hoverDate: hoverValue });\r\n }\r\n\r\n handleYearCellClick(year: any) {\r\n const calendarDate = new Date(year, this.calendarDate.getMonth(), 1);\r\n this.view = 'months';\r\n this.calendarService.update({ view: this.view, calendarDate: calendarDate });\r\n }\r\n\r\n handleYearCellKeyUp($event: KeyboardEvent, year: any) {\r\n if ($event.key === 'Enter') {\r\n this.handleYearCellClick(year);\r\n return;\r\n }\r\n }\r\n\r\n handleMonthCellKeyUp($event: KeyboardEvent, i: number, idx: number) {\r\n if ($event.key === 'Enter') {\r\n this.handleMonthCellClick(i, idx);\r\n return;\r\n }\r\n }\r\n\r\n handleMonthCellClick(i: number, idx: number) {\r\n this.setCalendarPage(0, 0, i * 3 + idx - this.addMonths);\r\n this.view = 'days';\r\n this.calendarService.update({ view: this.view });\r\n }\r\n\r\n setCalendarPage(years: number, months = 0, setMonth?: number) {\r\n const year = this.date.getFullYear();\r\n const month = this.date.getMonth();\r\n const d = new Date(year, month);\r\n\r\n years && d.setFullYear(d.getFullYear() + years);\r\n months && d.setMonth(d.getMonth() + months);\r\n typeof setMonth === 'number' && d.setMonth(setMonth);\r\n\r\n this.calendarService.update({ calendarDate: d });\r\n }\r\n\r\n handleCellMouseLeave() {\r\n this.calendarService.update({ hoverDate: null });\r\n }\r\n\r\n handleDayCellKeyUp($event: KeyboardEvent, date: Date) {\r\n if ($event.key === 'Enter') {\r\n this.handleDayCellClick(date);\r\n return;\r\n }\r\n if ($event.key === 'Tab') {\r\n this.handleCellMouseEnter(date);\r\n return;\r\n }\r\n }\r\n\r\n handleDayCellClick(date: Date) {\r\n if (this.isDateDisabled(date)) {\r\n return;\r\n }\r\n\r\n if (!this.range) {\r\n this.endDate = null;\r\n this.startDate = date;\r\n return;\r\n }\r\n\r\n if (this.startDate && this.endDate) {\r\n this.startDate = null;\r\n this.endDate = null;\r\n return;\r\n }\r\n\r\n if (!!this.startDate && !this.endDate) {\r\n if (this.startDate && date < this.startDate) {\r\n this.endDate = null;\r\n this.startDate = date;\r\n } else {\r\n this.endDate = date;\r\n }\r\n } else {\r\n this.endDate = null;\r\n this.startDate = date;\r\n }\r\n\r\n if (this.startDate && this.endDate) {\r\n // @ts-ignore\r\n if (isDateInRangeDisabled(this.startDate, this.endDate, this.disabledDates)) {\r\n this.startDate = null;\r\n this.endDate = null;\r\n return;\r\n }\r\n\r\n // let date = new Date(this.startDate);\r\n // while (date < this.endDate) {\r\n // date.setDate(date.getDate() + 1);\r\n // if (this.isDateDisabled(date)) {\r\n // this.startDate = null;\r\n // this.endDate = null;\r\n // break;\r\n // }\r\n // }\r\n }\r\n }\r\n\r\n calendarStateSubscribe(subscribe: boolean = true): void {\r\n if (subscribe) {\r\n this.calendarStateSubscription =\r\n this.calendarService.calendarState$.subscribe(state => {\r\n const keys = Object.keys(state);\r\n for (const key of keys) {\r\n // if (key in this) {\r\n // @ts-ignore\r\n this[key] = state[key];\r\n // }\r\n }\r\n });\r\n return;\r\n }\r\n this.calendarStateSubscription?.unsubscribe();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.calendarStateSubscribe(false);\r\n }\r\n}\r\n","<table>\r\n <thead *ngIf=\"view === 'days'\">\r\n <tr>\r\n <th *ngFor=\"let weekDay of weekDays; index as i; count as cnt\" class=\"calendar-cell\">\r\n <div class=\"calendar-header-cell-inner\">\r\n {{ weekDay.date | calendarWeekday:weekdayFormat:locale }}\r\n </div>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody (mouseleave)=\"handleCellMouseLeave()\" [ngSwitch]=\"view\">\r\n <ng-container *ngSwitchCase=\"'years'\">\r\n <tr *ngFor=\"let yearsRow of listOfYears; index as rowIdx\">\r\n <td\r\n (click)=\"handleYearCellClick(year)\"\r\n (keyup)=\"handleYearCellKeyUp($event, year)\"\r\n *ngFor=\"let year of yearsRow; index as idx\"\r\n [ngClass]=\"year | calendarClassYear\"\r\n [tabindex]=\"0\"\r\n >\r\n <div class=\"calendar-cell-inner\">\r\n {{ yearNumber(year) }}\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'months'\">\r\n <tr *ngFor=\"let monthsRow of listOfMonths; index as rowIdx\">\r\n <td\r\n (click)=\"handleMonthCellClick(rowIdx, idx)\"\r\n (keyup)=\"handleMonthCellKeyUp($event, rowIdx, idx)\"\r\n *ngFor=\"let month of monthsRow; index as idx\"\r\n [ngClass]=\"calendarDate | calendarClassMonth:(rowIdx*3+idx)\"\r\n [tabindex]=\"0\"\r\n >\r\n <div class=\"calendar-cell-inner\">\r\n {{ month }}\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <tr *ngFor=\"let week of monthDetails; index as i\">\r\n <td\r\n (click)=\"dateObj.month === 'current' && handleDayCellClick(dateObj.date)\"\r\n (keyup)=\"dateObj.month === 'current' && handleDayCellKeyUp($event, dateObj.date)\"\r\n (mouseenter)=\"dateObj.month === 'current' && handleCellMouseEnter(dateObj.date)\"\r\n *ngFor=\"let dateObj of week; index as idx\"\r\n [cCalendarDay]=\"dateObj\"\r\n [ngClass]=\"dateObj | calendarClassDay:{minDate, maxDate, disabledDates, dateFilter}\"\r\n [tabindex]=\"isDateDisabled(dateObj.date) || dateObj.month !== 'current' ? -1 : 0\"\r\n [title]=\"calendarCellTitle(dateObj.date)\"\r\n >\r\n <div class=\"calendar-cell-inner\">\r\n {{ dateObj.date | calendarDay:dayFormat:locale }}\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n</table>\r\n\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'calendarClassView'\r\n})\r\nexport class CalendarClassViewPipe implements PipeTransform {\r\n\r\n transform(view: string): any {\r\n return {\r\n calendar: true,\r\n [`${view}`]: !!view\r\n };\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n QueryList,\r\n ViewChildren\r\n} from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\r\n\r\nimport { tryDate } from '../calendar.utils';\r\n\r\nimport { CalendarService, DateFilterType, DayFormatType, WeekdayFormatType } from '../calendar.service';\r\nimport { CalendarMonthComponent } from '../calendar-month/calendar-month.component';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'c-calendar',\r\n templateUrl: './calendar.component.html',\r\n styleUrls: ['./calendar.component.scss'],\r\n exportAs: 'cCalendar',\r\n providers: [CalendarService]\r\n})\r\nexport class CalendarComponent implements OnInit, OnDestroy {\r\n\r\n static ngAcceptInputType_navigation: BooleanInput;\r\n static ngAcceptInputType_navYearFirst: BooleanInput;\r\n static ngAcceptInputType_range: BooleanInput;\r\n\r\n constructor(\r\n private calendarService: CalendarService\r\n ) {\r\n this.calendarStateSubscribe();\r\n }\r\n\r\n /**\r\n * Default date of the component\r\n * @type (Date | string)\r\n */\r\n @Input()\r\n set calendarDate(value: Date | string | number | undefined) {\r\n const _value = new Date(tryDate((value ?? this.startDate ?? new Date()), 'calendarDate'));\r\n if (this._calendarDate.getTime() !== _value.getTime()) {\r\n this._calendarDate = new Date(_value.setDate(1));\r\n this.calendarDateChange.emit(_value);\r\n this.calendarService.update({ calendarDate: _value });\r\n }\r\n }\r\n get calendarDate(): Date {\r\n return this._calendarDate;\r\n }\r\n private _calendarDate: Date = tryDate(new Date());\r\n\r\n /**\r\n * The number of calendars that render on desktop devices.\r\n * @type number\r\n * default 1\r\n */\r\n @Input()\r\n set calendars(value: number) {\r\n this._calendars = coerceNumberProperty(value);\r\n }\r\n get calendars(): number {\r\n return this._calendars;\r\n }\r\n private _calendars: number = 1;\r\n\r\n get calendarsArray() {\r\n return Array.from({ length: this.calendars });\r\n }\r\n\r\n /**\r\n * Set the format of day name.\r\n * @default 'numeric'\r\n * @type DayFormatType\r\n */\r\n @Input()\r\n set dayFormat(value: DayFormatType) {\r\n this._dayFormat = value;\r\n this.calendarService.update({ dayFormat: this._dayFormat });\r\n }\r\n get dayFormat() {\r\n return this._dayFormat;\r\n }\r\n private _dayFormat: DayFormatType = 'numeric';\r\n\r\n /**\r\n * Specify the list of dates that cannot be selected.\r\n * @type (Date[] | Date[][])\r\n */\r\n @Input()\r\n set disabledDates(value: Date[] | Date[][]) {\r\n this._disabledDates = value;\r\n this.calendarService.update({ disabledDates: this._disabledDates });\r\n }\r\n get disabledDates(): Date[] | Date[][] {\r\n return this._disabledDates;\r\n }\r\n private _disabledDates: (Date[] | Date[][]) = [];\r\n\r\n /**\r\n * Initial selected date.\r\n * @type (Date | null)\r\n */\r\n @Input()\r\n set startDate(value: Date | number | string | null | undefined) {\r\n this._startDate = !!value ? tryDate(value, 'startDate') : null;\r\n this.calendarService.update({ startDate: this._startDate });\r\n }\r\n get startDate() {\r\n return this._startDate;\r\n }\r\n _startDate: Date | null = null;\r\n\r\n /**\r\n * Initial selected to date (range).\r\n * @type (Date | null)\r\n */\r\n @Input()\r\n set endDate(value: Date | number | string | null | undefined) {\r\n this._endDate = !!value ? tryDate(value, 'endDate') : null;\r\n this.calendarService.update({ endDate: this._endDate });\r\n }\r\n get endDate() {\r\n return this._endDate;\r\n }\r\n _endDate: (Date | null) = null;\r\n\r\n /**\r\n * Sets the day of start week.\r\n * - 0 - Sunday,\r\n * - 1 - Monday,\r\n * - 2 - Tuesday,\r\n * - 3 - Wednesday,\r\n * - 4 - Thursday,\r\n * - 5 - Friday,\r\n * - 6 - Saturday,\r\n *\r\n * @type number\r\n * @default 1\r\n */\r\n @Input()\r\n set firstDayOfWeek(value: number) {\r\n this._firstDayOfWeek = coerceNumberProperty(value);\r\n }\r\n get firstDayOfWeek(): number {\r\n return this._firstDayOfWeek;\r\n }\r\n private _firstDayOfWeek: number = 1;\r\n\r\n /**\r\n * Sets the default locale for components. If not set, it is inherited from the browser.\r\n * @default 'default'\r\n */\r\n @Input()\r\n set locale(value: string) {\r\n this._locale = value;\r\n this.calendarService.update({ locale: value });\r\n }\r\n get locale() {\r\n return this._locale;\r\n }\r\n private _locale: string = 'default';\r\n\r\n /**\r\n * Max selectable date.\r\n */\r\n @Input()\r\n set maxDate(value: Date | string | null | undefined) {\r\n this._maxDate = !!value ? tryDate(value, 'maxDate') : null;\r\n this.calendarService.update({ maxDate: this._maxDate });\r\n }\r\n get maxDate() {\r\n return this._maxDate;\r\n }\r\n private _maxDate: Date | null = null;\r\n\r\n /**\r\n * Min selectable date.\r\n */\r\n @Input()\r\n set minDate(value: Date | string | null | undefined) {\r\n this._minDate = value ? tryDate(value, 'minDate') : null;\r\n this.calendarService.update({ minDate: this._minDate });\r\n }\r\n get minDate() {\r\n return this._minDate;\r\n }\r\n private _minDate: Date | null = null;\r\n\r\n /**\r\n * Show navigation.\r\n * @type boolean\r\n */\r\n @Input()\r\n set navigation(value: boolean) {\r\n this._navigation = coerceBooleanProperty(value);\r\n }\r\n get navigation(): boolean {\r\n return this._navigation;\r\n }\r\n private _navigation: boolean = true;\r\n\r\n /**\r\n * Reorder year-month navigation, and render year first.\r\n * @type boolean\r\n * @default false\r\n */\r\n @Input()\r\n set navYearFirst(value: boolean) {\r\n this._navYearFirst = coerceBooleanProperty(value);\r\n this.calendarService.update({ navYearFirst: this._navYearFirst });\r\n }\r\n get navYearFirst() {\r\n return this._navYearFirst;\r\n }\r\n\r\n private _navYearFirst: boolean = false;\r\n\r\n /**\r\n * Allow range selection.\r\n * @type boolean\r\n * @default false\r\n */\r\n @Input()\r\n set range(value: boolean) {\r\n this._range = coerceBooleanProperty(value);\r\n this.calendarService.update({ range: this._range });\r\n }\r\n get range(): boolean {\r\n return this._range;\r\n }\r\n private _range: boolean = false;\r\n\r\n /**\r\n * Set calendar view.\r\n * @type 'days' | 'months' | 'years'\r\n * @default 'days'\r\n */\r\n @Input()\r\n set view(value) {\r\n this._view = value;\r\n this.calendarService.update({ view: value });\r\n }\r\n get view() {\r\n return this._view;\r\n }\r\n private _view: 'days' | 'months' | 'years' = 'days';\r\n\r\n /**\r\n * Set length or format of day name.\r\n * @type number | 'long' | 'narrow' | 'short'\r\n * @default 'short'\r\n */\r\n @Input()\r\n set weekdayFormat(value: WeekdayFormatType) {\r\n this._weekdayFormat = value;\r\n this.calendarService.update({ weekdayFormat: this._weekdayFormat });\r\n }\r\n get weekdayFormat() {\r\n return this._weekdayFormat;\r\n }\r\n private _weekdayFormat: WeekdayFormatType = 'short';\r\n\r\n @Input()\r\n set dateFilter(value: DateFilterType | undefined) {\r\n this.calendarService.update({ dateFilter: value });\r\n }\r\n\r\n @Output() calendarCellHover: EventEmitter<Date | null> = new EventEmitter<Date | null>();\r\n @Output() calendarDateChange: EventEmitter<Date> = new EventEmitter<Date>();\r\n @Output() endDateChange: EventEmitter<Date | null> = new EventEmitter<Date | null>();\r\n @Output() startDateChange: EventEmitter<Date | null> = new EventEmitter<Date | null>();\r\n @Output() viewChange: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n // used with calendarService\r\n set hoverDate(value: Date | null) {\r\n this._hoverDate = value;\r\n this.calendarCellHover.emit(value);\r\n }\r\n get hoverDate(): Date | null {\r\n return this._hoverDate;\r\n }\r\n private _hoverDate: Date | null = null;\r\n\r\n private calendarStateSubscription!: Subscription;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'calendars': true\r\n };\r\n }\r\n\r\n @ViewChildren(CalendarMonthComponent) calendarMonths!: QueryList<CalendarMonthComponent>;\r\n\r\n ngOnDestroy(): void {\r\n this.calendarStateSubscribe(false);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.calendarService.update({ locale: this.locale, view: this.view, range: this.range });\r\n }\r\n\r\n calendarStateSubscribe(subscribe: boolean = true): void {\r\n if (subscribe) {\r\n this.calendarStateSubscription =\r\n this.calendarService.calendarState$.subscribe(state => {\r\n const keys = Object.keys(state);\r\n for (const key of keys) {\r\n if (key in this) {\r\n // @ts-ignore\r\n this[key] = state[key];\r\n if (key === 'startDate') {\r\n setTimeout(() => {\r\n this.startDateChange.emit(this._startDate);\r\n });\r\n continue;\r\n }\r\n if (key === 'endDate') {\r\n setTimeout(() => {\r\n this.endDateChange.emit(this._endDate);\r\n });\r\n }\r\n }\r\n }\r\n });\r\n return;\r\n }\r\n this.calendarStateSubscription.unsubscribe();\r\n }\r\n\r\n setCalendarPage(years: number, months = 0, setMonth?: number) {\r\n const year = this.calendarDate.getFullYear();\r\n const month = this.calendarDate.getMonth();\r\n const d = new Date(year, month, 1);\r\n\r\n years && d.setFullYear(d.getFullYear() + years);\r\n months && d.setMonth(d.getMonth() + months);\r\n typeof setMonth === 'number' && d.setMonth(setMonth);\r\n\r\n this.calendarDate = d;\r\n }\r\n\r\n handleNavigationClick(direction: 'prev' | 'next', years = false) {\r\n if (direction === 'prev') {\r\n if (years) {\r\n this.setCalendarPage(this.view === 'years' ? -10 : -1);\r\n return;\r\n }\r\n\r\n if (this.view !== 'days') {\r\n this.setCalendarPage(-1);\r\n return;\r\n }\r\n\r\n this.setCalendarPage(0, -1);\r\n return;\r\n }\r\n if (direction === 'next') {\r\n if (years) {\r\n this.setCalendarPage(this.view === 'years' ? 10 : 1);\r\n return;\r\n }\r\n\r\n if (this.view !== 'days') {\r\n this.setCalendarPage(1);\r\n return;\r\n }\r\n\r\n this.setCalendarPage(0, 1);\r\n return;\r\n }\r\n }\r\n\r\n /**\r\n * Clear startDate and endDate\r\n * @type void\r\n */\r\n public clearDates() {\r\n this.calendarService.update({ startDate: null, endDate: null });\r\n }\r\n}\r\n","<ng-container *ngFor=\"let calendar of calendarsArray; let i=index;\">\r\n <div [ngClass]=\"view | calendarClassView\">\r\n <c-calendar-navigation\r\n [addMonths]=\"i\"\r\n [navigation]=\"navigation\"\r\n (navigationClick)=\"handleNavigationClick($event.direction, $event.years)\"\r\n ></c-calendar-navigation>\r\n\r\n <c-calendar-month\r\n [addMonths]=\"i\"\r\n [firstDayOfWeek]=\"firstDayOfWeek\"\r\n [weekdayFormat]=\"weekdayFormat\"\r\n ></c-calendar-month>\r\n </div>\r\n</ng-container>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ButtonModule } from '../button';\r\n\r\nimport { CalendarComponent } from './calendar/calendar.component';\r\nimport { CalendarClassViewPipe } from './calendar/calendar-class-view.pipe';\r\nimport { CalendarClassYearPipe } from './calendar-month/calendar-class-year.pipe';\r\nimport { CalendarDayDirective } from './calendar-month/calendar-day.directive';\r\nimport { CalendarClassDayPipe } from './calendar-month/calendar-class-day.pipe';\r\nimport { CalendarClassMonthPipe } from './calendar-month/calendar-class-month.pipe';\r\nimport { CalendarMonthComponent } from './calendar-month/calendar-month.component';\r\nimport { CalendarNavigationComponent } from './calendar-navigation/calendar-navigation.component';\r\nimport { CalendarDayPipe } from './calendar-month/calendar-day.pipe';\r\nimport { CalendarWeekdayPipe } from './calendar-month/calendar-weekday.pipe';\r\n\r\n@NgModule({\r\n declarations: [\r\n CalendarComponent,\r\n CalendarClassYearPipe,\r\n CalendarClassDayPipe,\r\n CalendarClassMonthPipe,\r\n CalendarDayDirective,\r\n CalendarClassViewPipe,\r\n CalendarNavigationComponent,\r\n CalendarMonthComponent,\r\n CalendarDayPipe,\r\n CalendarWeekdayPipe\r\n ],\r\n imports: [\r\n CommonModule,\r\n ButtonModule\r\n ],\r\n exports: [\r\n CalendarComponent,\r\n CalendarMonthComponent,\r\n CalendarNavigationComponent\r\n ]\r\n})\r\nexport class CalendarModule {\r\n}\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\nimport { Colors } from '../coreui.types';\r\n\r\n@Component({\r\n selector: 'c-callout, [cCallout]',\r\n template: `<ng-content></ng-content>`,\r\n styleUrls: ['./callout.component.scss']\r\n})\r\nexport class CalloutComponent {\r\n\r\n /**\r\n * Sets the color context of the component to one of CoreUI’s themed colors.\r\n * @type Colors\r\n */\r\n @Input() color?: Colors;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n\r\n return {\r\n callout: true,\r\n [`callout-${this.color}`]: !!this.color\r\n };\r\n }\r\n\r\n constructor() { }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { CalloutComponent } from './callout.component';\r\n\r\n@NgModule({\r\n declarations: [CalloutComponent],\r\n exports: [CalloutComponent],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class CalloutModule { }\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\nimport { Colors, TextColors } from '../coreui.types';\r\n\r\n@Component({\r\n selector: 'c-card, [c-card]',\r\n template: `<ng-content></ng-content>`\r\n})\r\nexport class CardComponent {\r\n\r\n /**\r\n * Sets the color context of the component to one of CoreUI’s themed colors.\r\n * @type Colors\r\n */\r\n @Input() color?: Colors;\r\n /**\r\n * Sets the text color context of the component to one of CoreUI’s themed colors.\r\n * @type TextColors\r\n */\r\n @Input() textColor?: TextColors;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n card: true,\r\n [`bg-${this.color}`]: !!this.color,\r\n [`text-${this.textColor}`]: !!this.textColor,\r\n };\r\n }\r\n\r\n constructor() { }\r\n\r\n}\r\n","import {Component, HostBinding, Input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-card-body, [c-card-body]',\r\n template: '<ng-content></ng-content>'\r\n})\r\nexport class CardBodyComponent {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'card-body': true,\r\n };\r\n }\r\n}\r\n","import {Component, HostBinding, Input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-card-footer, [c-card-footer]',\r\n template: '<ng-content></ng-content>'\r\n})\r\nexport class CardFooterComponent {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'card-footer': true,\r\n };\r\n }\r\n}\r\n","import {Component, HostBinding, Input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-card-group, [c-card-group]',\r\n template: '<ng-content></ng-content>'\r\n})\r\nexport class CardGroupComponent {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'card-group': true\r\n };\r\n }\r\n}\r\n","import {Component, HostBinding, Input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-card-header, [c-card-header]',\r\n template: '<ng-content></ng-content>',\r\n})\r\nexport class CardHeaderComponent {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'card-header': true,\r\n };\r\n }\r\n}\r\n","import {Component, HostBinding} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-card-header-actions, [c-card-header-actions]',\r\n template: '<ng-content></ng-content>',\r\n})\r\nexport class CardHeaderActionsComponent {\r\n\r\n @HostBinding('class.card-header-actions') cardHeaderActions = true;\r\n\r\n}\r\n","import { Directive, HostBinding, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cCardImg]'\r\n})\r\nexport class CardImgDirective {\r\n /**\r\n * Optionally orientate the image to the top, bottom, or make it overlaid across the card.\r\n * @type {'top | 'bottom'}\r\n */\r\n @Input('cCardImg') orientation?: 'top' | 'bottom';\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n const suffix = !!this.orientation ? `-${this.orientation}` : '';\r\n return {\r\n [`card-img${suffix}`]: true\r\n };\r\n }\r\n}\r\n","import { Component, HostBinding } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-card-img-overlay',\r\n templateUrl: './card-img-overlay.component.html',\r\n styleUrls: ['./card-img-overlay.component.scss']\r\n})\r\nexport class CardImgOverlayComponent {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'card-img-overlay': true\r\n };\r\n }\r\n}\r\n","<ng-content></ng-content>\r\n","import { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cCardLink]'\r\n})\r\nexport class CardLinkDirective {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'card-link': true\r\n };\r\n }\r\n}\r\n","import { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cCardSubtitle]'\r\n})\r\nexport class CardSubtitleDirective {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'card-subtitle': true\r\n };\r\n }\r\n}\r\n","import { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cCardText]'\r\n})\r\nexport class CardTextDirective {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'card-text': true\r\n };\r\n }\r\n}\r\n","import { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cCardTitle]'\r\n})\r\nexport class CardTitleDirective {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'card-title': true\r\n };\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { CardComponent } from './card.component';\r\nimport { CardBodyComponent } from './card-body.component';\r\nimport { CardFooterComponent } from './card-footer.component';\r\nimport { CardHeaderComponent } from './card-header.component';\r\nimport { CardHeaderActionsComponent } from './card-header-actions.component';\r\nimport { CardGroupComponent } from './card-group.component';\r\nimport { CardImgDirective } from './card-img.directive';\r\nimport { CardLinkDirective } from './card-link.directive';\r\nimport { CardSubtitleDirective } from './card-subtitle.directive';\r\nimport { CardTextDirective } from './card-text.directive';\r\nimport { CardTitleDirective } from './card-title.directive';\r\nimport { CardImgOverlayComponent } from './card-img-overlay/card-img-overlay.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n CardComponent,\r\n CardBodyComponent,\r\n CardFooterComponent,\r\n CardGroupComponent,\r\n CardHeaderComponent,\r\n CardHeaderActionsComponent,\r\n CardImgDirective,\r\n CardImgOverlayComponent,\r\n CardLinkDirective,\r\n CardSubtitleDirective,\r\n CardTextDirective,\r\n CardTitleDirective,\r\n ],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [\r\n CardComponent,\r\n CardBodyComponent,\r\n CardFooterComponent,\r\n CardGroupComponent,\r\n CardHeaderComponent,\r\n CardHeaderActionsComponent,\r\n CardImgDirective,\r\n CardImgOverlayComponent,\r\n CardLinkDirective,\r\n CardSubtitleDirective,\r\n CardTextDirective,\r\n CardTitleDirective,\r\n ]\r\n})\r\nexport class CardModule { }\r\n","import { Injectable, OnDestroy } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\ninterface IIntersectionObserverInit {\r\n root?: Element | null;\r\n rootMargin?: string;\r\n threshold?: number | number[];\r\n}\r\n\r\n@Injectable()\r\nexport class IntersectionService implements OnDestroy {\r\n\r\n constructor() { }\r\n\r\n private intersecting = new BehaviorSubject<boolean>(false);\r\n intersecting$ = this.intersecting.asObservable();\r\n\r\n private intersectionObserver!: IntersectionObserver;\r\n private hostElement!: { nativeElement: Element; };\r\n\r\n private defaultObserverOptions: IIntersectionObserverInit = {\r\n root: null,\r\n rootMargin: '0px',\r\n threshold: 0.2\r\n };\r\n\r\n createIntersectionObserver(hostElement: { nativeElement: Element; }, observerOptions = this.defaultObserverOptions) {\r\n\r\n const options = { ...this.defaultObserverOptions, ...observerOptions }\r\n\r\n this.hostElement = hostElement;\r\n\r\n const handleIntersect = (entries: any[], observer: any) => {\r\n entries.forEach((entry: any) => {\r\n this.intersecting.next(entry.isIntersecting);\r\n });\r\n };\r\n\r\n this.intersectionObserver = new IntersectionObserver(handleIntersect, options);\r\n this.intersectionObserver.observe(hostElement.nativeElement);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.intersectionObserver?.unobserve(this.hostElement?.nativeElement);\r\n }\r\n}\r\n","import { ElementRef, Injectable, Renderer2 } from '@angular/core';\r\nimport { Triggers } from '../coreui.types';\r\n\r\nexport interface IListenersConfig {\r\n hostElement: ElementRef,\r\n trigger?: Triggers | Triggers[],\r\n callbackOn?: () => void,\r\n callbackOff?: () => void,\r\n callbackToggle?: () => void,\r\n}\r\n\r\n@Injectable()\r\nexport class ListenersService {\r\n\r\n private listeners: Map<string, () => void> = new Map();\r\n\r\n constructor(\r\n private renderer: Renderer2\r\n ) {}\r\n\r\n setListeners({hostElement, trigger, callbackOn, callbackOff, callbackToggle}: IListenersConfig): void {\r\n const host = hostElement.nativeElement;\r\n const triggers = Array.isArray(trigger)\r\n ? trigger\r\n : trigger?.split(' ') ?? [];\r\n\r\n if (triggers?.includes('click')) {\r\n typeof callbackToggle === 'function' && this.listeners.set(\r\n 'click',\r\n this.renderer.listen(host, 'click', callbackToggle)\r\n );\r\n }\r\n if (triggers?.includes('focus')) {\r\n typeof callbackOn === 'function' && this.listeners.set(\r\n 'focus',\r\n this.renderer.listen(host, 'focus', callbackOn)\r\n );\r\n }\r\n if (triggers?.includes('click') || triggers?.includes('focus')) {\r\n typeof callbackOff === 'function' && this.listeners.set(\r\n 'blur',\r\n this.renderer.listen(host, 'blur', callbackOff)\r\n );\r\n }\r\n if (triggers?.includes('hover')) {\r\n typeof callbackOn === 'function' && this.listeners.set(\r\n 'mouseenter',\r\n this.renderer.listen(host, 'mouseenter', callbackOn),\r\n );\r\n typeof callbackOff === 'function' && this.listeners.set(\r\n 'mouseleave',\r\n this.renderer.listen(host, 'mouseleave', callbackOff)\r\n );\r\n }\r\n }\r\n\r\n clearListeners(): void {\r\n this.listeners.forEach((unListen, key) => {\r\n unListen();\r\n });\r\n this.listeners.forEach((unListen, key) => {\r\n // @ts-ignore\r\n this.listeners.set(key, null);\r\n });\r\n this.listeners.clear();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\nexport interface ICarouselIndex {\r\n active?: number;\r\n interval?: number;\r\n lastItemIndex?: number;\r\n}\r\n\r\n@Injectable()\r\nexport class CarouselService {\r\n private carouselIndex = new BehaviorSubject<ICarouselIndex>({});\r\n carouselIndex$ = this.carouselIndex.asObservable();\r\n\r\n constructor() {}\r\n\r\n setIndex(index: ICarouselIndex): void {\r\n this.carouselIndex.next(index);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ICarouselState } from './carousel-state.type';\r\nimport { CarouselService } from './carousel.service';\r\nimport { CarouselItemComponent } from './carousel-item/carousel-item.component';\r\n\r\n@Injectable()\r\nexport class CarouselState {\r\n private _state: ICarouselState = {\r\n activeItemIndex: -1,\r\n animate: true,\r\n items: [],\r\n direction: 'next',\r\n transition: 'slide'\r\n };\r\n\r\n constructor(private carouselService: CarouselService) {}\r\n\r\n get state(): ICarouselState {\r\n return this._state;\r\n }\r\n\r\n set state(state) {\r\n const prevState = { ...this._state };\r\n const nextState = { ...this._state, ...state };\r\n this._state = nextState;\r\n if (prevState.activeItemIndex !== nextState.activeItemIndex) {\r\n const activeItemIndex = this.state.activeItemIndex || 0;\r\n const itemInterval = this.state.items && this.state.items[activeItemIndex]?.interval || -1;\r\n this.carouselService.setIndex({\r\n active: nextState.activeItemIndex,\r\n interval: itemInterval,\r\n lastItemIndex: (nextState.items?.length ?? 0) - 1\r\n });\r\n }\r\n }\r\n\r\n setItems(newItems: any): void {\r\n if (newItems.length) {\r\n const itemsArray = newItems.toArray();\r\n itemsArray.forEach((item: CarouselItemComponent, i: number) => {\r\n item.index = i;\r\n });\r\n this.state = {\r\n items: itemsArray\r\n };\r\n } else {\r\n this.reset();\r\n }\r\n }\r\n\r\n setNextIndex(nextIndex: any): void {\r\n this.carouselService.setIndex(nextIndex);\r\n }\r\n\r\n direction(direction: 'next' | 'prev' = 'next'): number {\r\n this.state = { direction };\r\n const { activeItemIndex = -1, items } = this.state;\r\n const itemsCount = items?.length ?? 0;\r\n if (itemsCount > 0) {\r\n return direction === 'next' ?\r\n (activeItemIndex === itemsCount - 1 ? 0 : activeItemIndex + 1) :\r\n (activeItemIndex === 0 ? itemsCount - 1 : activeItemIndex - 1);\r\n } else {\r\n return 0;\r\n }\r\n }\r\n\r\n reset(): void {\r\n this.state = {\r\n activeItemIndex: -1,\r\n animate: true,\r\n items: [],\r\n direction: 'next',\r\n transition: 'slide'\r\n };\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class CarouselConfig {\r\n /* Animate transition of slides */\r\n activeIndex = 0;\r\n /* Animate transition of slides */\r\n animate = true;\r\n /* Darken controls, indicators, and captions */\r\n dark? = false;\r\n /* Default direction of auto changing of slides */\r\n direction: 'next' | 'prev' = 'next';\r\n /* Default interval of auto changing of slides */\r\n interval = 3000;\r\n}\r\n","import {\r\n AfterContentInit,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n Inject,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output\r\n} from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { IntersectionService } from '../../services/intersection.service';\r\nimport { IListenersConfig, ListenersService } from '../../services/listeners.service';\r\n\r\nimport { CarouselState } from '../carousel-state';\r\nimport { CarouselService } from '../carousel.service';\r\nimport { CarouselConfig } from '../carousel.config';\r\nimport { Triggers } from '../../coreui.types';\r\n\r\n@Component({\r\n selector: 'c-carousel',\r\n template: '<ng-content></ng-content>',\r\n styleUrls: ['./carousel.component.scss'],\r\n providers: [CarouselService, CarouselState, CarouselConfig, IntersectionService, ListenersService]\r\n})\r\nexport class CarouselComponent implements OnInit, OnDestroy, AfterContentInit {\r\n /**\r\n * Index of the active item.\r\n * @type number\r\n */\r\n @Input() activeIndex = 0;\r\n /**\r\n * Carousel automatically starts cycle items.\r\n * @type boolean\r\n */\r\n @Input() animate = true;\r\n /**\r\n * Add darker controls, indicators, and captions.\r\n * @type boolean\r\n */\r\n @Input() dark?: boolean;\r\n /**\r\n * Carousel direction. [docs]\r\n * @type {'next' | 'prev'}\r\n */\r\n @Input() direction: 'next' | 'prev' = 'next';\r\n /**\r\n * The amount of time to delay between automatically cycling an item. If false, carousel will not automatically cycle.\r\n * @type number\r\n * @default 0\r\n */\r\n @Input() interval = 0;\r\n /**\r\n * Sets which event handlers you’d like provided to your pause prop. You can specify one trigger or an array of them.\r\n * @type {'hover' | 'focus' | 'click'}\r\n */\r\n @Input() pause: Triggers | Triggers[] | false = 'hover';\r\n /**\r\n * Set type of the transition.\r\n * @type {'slide' | 'crossfade'}\r\n * @default 'slide'\r\n */\r\n @Input() transition: 'slide' | 'crossfade' = 'slide';\r\n /**\r\n * Set whether the carousel should cycle continuously or have hard stops.\r\n * @type boolean\r\n * @default true\r\n */\r\n @Input() wrap = true;\r\n /**\r\n * Event emitted on carousel item change. [docs]\r\n * @type number\r\n */\r\n @Output() itemChange = new EventEmitter<number>();\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n carousel: true,\r\n slide: true,\r\n 'carousel-dark': !!this.dark,\r\n 'carousel-fade': this.transition === 'crossfade'\r\n };\r\n }\r\n\r\n private carouselIndexSubscription?: Subscription;\r\n private timerId!: any;\r\n private intersectingSubscription?: Subscription;\r\n private activeItemInterval = 0;\r\n\r\n constructor(\r\n @Inject(CarouselConfig) private config: CarouselConfig,\r\n private hostElement: ElementRef,\r\n private carouselService: CarouselService,\r\n private carouselState: CarouselState,\r\n private intersectionService: IntersectionService,\r\n private listenersService: ListenersService\r\n ) {\r\n Object.assign(this, config);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.carouselStateSubscribe();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.clearListeners();\r\n this.carouselStateSubscribe(false);\r\n this.intersectionServiceSubscribe(false);\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.intersectionService.createIntersectionObserver(this.hostElement);\r\n this.intersectionServiceSubscribe();\r\n this.carouselState.state = { activeItemIndex: this.activeIndex, animate: this.animate };\r\n this.setListeners();\r\n }\r\n\r\n private setListeners(): void {\r\n const config: IListenersConfig = {\r\n hostElement: this.hostElement,\r\n trigger: this.pause || [],\r\n callbackOff: () => {\r\n this.setTimer();\r\n },\r\n callbackOn: () => {\r\n this.resetTimer();\r\n }\r\n };\r\n this.listenersService.setListeners(config);\r\n }\r\n\r\n private clearListeners(): void {\r\n this.listenersService.clearListeners();\r\n }\r\n\r\n set visible(value) {\r\n this._visible = value;\r\n }\r\n get visible() {\r\n return this._visible;\r\n }\r\n private _visible: boolean = true;\r\n\r\n setTimer(): void {\r\n const interval = this.activeItemInterval || 0;\r\n this.resetTimer();\r\n if (interval > 0) {\r\n this.timerId = setTimeout(() => {\r\n const nextIndex = this.carouselState.direction(this.direction);\r\n this.carouselState.state = { activeItemIndex: nextIndex };\r\n }, interval);\r\n }\r\n }\r\n\r\n resetTimer(): void {\r\n clearTimeout(this.timerId);\r\n }\r\n\r\n private carouselStateSubscribe(subscribe: boolean = true): void {\r\n if (subscribe) {\r\n this.carouselIndexSubscription = this.carouselService.carouselIndex$.subscribe((nextItem) => {\r\n if ('active' in nextItem) {\r\n this.itemChange.emit(nextItem.active);\r\n }\r\n this.activeItemInterval = typeof nextItem.interval === 'number' && nextItem.interval > -1 ? nextItem.interval : this.interval;\r\n const isLastItem = ((nextItem.active === nextItem.lastItemIndex) && this.direction === 'next') || ((nextItem.active === 0) && this.direction === 'prev');\r\n !this.wrap && isLastItem ? this.resetTimer() : this.setTimer();\r\n });\r\n } else {\r\n this.carouselIndexSubscription?.unsubscribe();\r\n }\r\n }\r\n\r\n private intersectionServiceSubscribe(subscribe: boolean = true): void {\r\n if (subscribe) {\r\n this.intersectingSubscription = this.intersectionService.intersecting$.subscribe(isIntersecting => {\r\n this.visible = isIntersecting;\r\n isIntersecting ? this.setTimer() : this.resetTimer();\r\n });\r\n } else {\r\n this.intersectingSubscription?.unsubscribe();\r\n }\r\n }\r\n}\r\n","import { Component, HostBinding } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-carousel-caption',\r\n template: `<ng-content></ng-content>`,\r\n styleUrls: ['./carousel-caption.component.scss']\r\n})\r\nexport class CarouselCaptionComponent {\r\n\r\n @HostBinding('class.carousel-caption') carouselCaptionClass = true;\r\n\r\n constructor() { }\r\n\r\n}\r\n","import {\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n HostBinding,\r\n HostListener,\r\n Input,\r\n ViewChild\r\n} from '@angular/core';\r\n\r\nimport { CarouselState } from '../carousel-state';\r\n\r\n@Component({\r\n selector: 'c-carousel-control',\r\n templateUrl: './carousel-control.component.html',\r\n styleUrls: ['./carousel-control.component.scss'],\r\n})\r\nexport class CarouselControlComponent implements AfterViewInit {\r\n\r\n constructor(\r\n private changeDetector: ChangeDetectorRef,\r\n private carouselState: CarouselState,\r\n ) {}\r\n\r\n private _caption?: string;\r\n /**\r\n * Carousel control caption. [docs]\r\n * @type string\r\n */\r\n @Input()\r\n set caption(value) {\r\n this._caption = value;\r\n }\r\n get caption(): string {\r\n return !!this._caption ? this._caption : this.direction === 'prev' ? 'Previous' : 'Next';\r\n }\r\n /**\r\n * Carousel control direction. [docs]\r\n * @type {'next' | 'prev'}\r\n */\r\n @Input() direction: 'prev' | 'next' = 'next';\r\n\r\n @HostBinding('attr.role')\r\n get hostRole(): string {\r\n return 'button';\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): string {\r\n return `carousel-control-${this.direction}`;\r\n }\r\n\r\n get carouselControlIconClass(): string {\r\n return `carousel-control-${this.direction}-icon`;\r\n }\r\n\r\n @ViewChild('content') content?: ElementRef;\r\n\r\n hasContent = true;\r\n\r\n @HostListener('keyup', ['$event'])\r\n onKeyUp($event: KeyboardEvent): void {\r\n if ($event.key === 'Enter') {\r\n this.play();\r\n }\r\n if ($event.key === 'ArrowLeft') {\r\n this.play('prev');\r\n }\r\n if ($event.key === 'ArrowRight') {\r\n this.play('next');\r\n }\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n public onClick($event: MouseEvent): void {\r\n this.play();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.hasContent = this.content?.nativeElement.childNodes.length ?? false;\r\n this.changeDetector.detectChanges();\r\n }\r\n\r\n private play(direction = this.direction): void {\r\n const nextIndex = this.carouselState.direction(direction);\r\n this.carouselState.state = { activeItemIndex: nextIndex };\r\n }\r\n}\r\n","<div #content *ngIf = \"hasContent; else default\"><ng-content></ng-content></div>\r\n<ng-template #default>\r\n <span [class]=\"carouselControlIconClass\" [attr.aria-label]=\"direction\" [attr.aria-hidden]=\"true\"></span>\r\n <span class=\"visually-hidden\">{{caption}}</span>\r\n</ng-template>\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { CarouselState } from '../carousel-state';\r\nimport { CarouselService } from '../carousel.service';\r\n\r\n@Component({\r\n selector: 'c-carousel-indicators',\r\n templateUrl: './carousel-indicators.component.html',\r\n styleUrls: ['./carousel-indicators.component.scss'],\r\n})\r\nexport class CarouselIndicatorsComponent implements OnInit, OnDestroy {\r\n items: (number | undefined)[] = [];\r\n active = 0;\r\n\r\n private carouselIndexSubscription?: Subscription;\r\n\r\n constructor(\r\n private carouselService: CarouselService,\r\n private carouselState: CarouselState\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.carouselStateSubscribe();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.carouselStateSubscribe(false);\r\n }\r\n\r\n onClick(index: number): void {\r\n if (index !== this.active) {\r\n const direction = index < this.active ? 'prev' : 'next';\r\n this.carouselState.state = { direction, activeItemIndex: index };\r\n }\r\n }\r\n\r\n private carouselStateSubscribe(subscribe: boolean = true): void {\r\n if (subscribe) {\r\n this.carouselIndexSubscription = this.carouselService.carouselIndex$.subscribe((nextIndex) => {\r\n this.items = this.carouselState?.state?.items?.map(item => item.index) ?? [];\r\n if ('active' in nextIndex) {\r\n this.active = nextIndex.active ?? 0;\r\n }\r\n });\r\n } else {\r\n this.carouselIndexSubscription?.unsubscribe();\r\n }\r\n }\r\n}\r\n","<div class=\"carousel-indicators\">\r\n <ng-container *ngFor=\"let item of items; let i=index\">\r\n <button [attr.data-coreui-target]=\"i\" type=\"button\" (click)=\"onClick(i)\" [class]=\"{active: active === i}\" [attr.aria-current]=\"active === i\"></button>\r\n </ng-container>\r\n</div>\r\n","import {\r\n animate,\r\n group,\r\n query,\r\n state,\r\n style,\r\n transition,\r\n trigger,\r\n} from '@angular/animations';\r\n\r\nexport function toLeft(fromState: any, toState: any): boolean {\r\n return toState.left === true;\r\n}\r\nexport function toRight(fromState: any, toState: any): boolean {\r\n return toState.left === false;\r\n}\r\n\r\nexport const slideAnimation = trigger('slideAnimation', [\r\n state(\r\n '*',\r\n style({ transform: 'translateX(0)', display: 'block', opacity: 1 })\r\n ),\r\n transition(\r\n toLeft,\r\n group([\r\n query(\r\n ':leave',\r\n [\r\n animate(\r\n '0.6s ease-in-out',\r\n style({\r\n transform: 'translateX(-100%)',\r\n })\r\n ),\r\n ],\r\n { optional: true }\r\n ),\r\n query(\r\n ':enter',\r\n [\r\n style({\r\n transform: 'translateX(100%)',\r\n }),\r\n animate('0.6s ease-in-out', style('*')),\r\n ],\r\n { optional: true }\r\n ),\r\n ])\r\n ),\r\n transition(\r\n toRight,\r\n group([\r\n query(\r\n ':enter',\r\n [\r\n style({\r\n transform: 'translateX(-100%)',\r\n }),\r\n animate('0.6s ease-in-out', style('*')),\r\n ],\r\n { optional: true }\r\n ),\r\n query(\r\n ':leave',\r\n [\r\n animate(\r\n '0.6s ease-in-out',\r\n style({\r\n transform: 'translateX(100%)',\r\n })\r\n ),\r\n ],\r\n { optional: true }\r\n ),\r\n ])\r\n ),\r\n]);\r\n\r\nexport const fadeAnimation = trigger('fadeAnimation', [\r\n state(\r\n '*',\r\n style({ zIndex: 1, opacity: 1 })\r\n ),\r\n transition(\r\n toLeft,\r\n group([\r\n query(\r\n ':leave',\r\n [\r\n animate(\r\n '0.6s ease-in-out',\r\n style({\r\n zIndex: 0,\r\n opacity: 0,\r\n })\r\n ),\r\n ],\r\n { optional: true }\r\n ),\r\n query(\r\n ':enter',\r\n [\r\n style({\r\n zIndex: 1,\r\n opacity: 1\r\n }),\r\n animate('0.6s ease-in-out', style('*')),\r\n ],\r\n { optional: true }\r\n ),\r\n ])\r\n ),\r\n transition(\r\n toRight,\r\n group([\r\n query(\r\n ':enter',\r\n [\r\n style({\r\n zIndex: 1,\r\n opacity: 1\r\n }),\r\n animate('0.6s ease-in-out', style('*')),\r\n ],\r\n { optional: true }\r\n ),\r\n query(\r\n ':leave',\r\n [\r\n animate(\r\n '0.6s ease-in-out',\r\n style({\r\n zIndex: 0,\r\n opacity: 0,\r\n })\r\n ),\r\n ],\r\n { optional: true }\r\n ),\r\n ])\r\n ),\r\n]);\r\n","import { AfterViewInit, ChangeDetectorRef, Component, HostBinding, Input, OnDestroy } from '@angular/core';\r\n\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { CarouselService } from '../carousel.service';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\n@Component({\r\n selector: 'c-carousel-item',\r\n templateUrl: './carousel-item.component.html',\r\n styleUrls: ['./carousel-item.component.scss']\r\n})\r\nexport class CarouselItemComponent implements OnDestroy, AfterViewInit {\r\n\r\n static ngAcceptInputType_active: BooleanInput;\r\n\r\n index?: number;\r\n private carouselIndexSubscription?: Subscription;\r\n\r\n /**\r\n * @ignore\r\n */\r\n @Input()\r\n set active(value) {\r\n this._active = coerceBooleanProperty(value);\r\n this.changeDetectorRef.markForCheck();\r\n }\r\n get active(): boolean {\r\n return this._active;\r\n }\r\n private _active = false;\r\n\r\n /**\r\n * Time delay before cycling to next item. If -1, uses carousel interval value.\r\n * @type number\r\n * @default -1\r\n */\r\n @Input() interval: number = -1;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'carousel-item': true,\r\n active: this.active\r\n };\r\n }\r\n\r\n constructor(\r\n private carouselService: CarouselService,\r\n private changeDetectorRef: ChangeDetectorRef\r\n ) {}\r\n\r\n ngOnDestroy(): void {\r\n this.carouselStateSubscribe(false);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.carouselStateSubscribe();\r\n });\r\n }\r\n\r\n private carouselStateSubscribe(subscribe: boolean = true): void {\r\n if (subscribe) {\r\n this.carouselIndexSubscription = this.carouselService.carouselIndex$.subscribe((nextIndex) => {\r\n if ('active' in nextIndex) {\r\n this.active = nextIndex.active === this.index;\r\n }\r\n });\r\n } else {\r\n this.carouselIndexSubscription?.unsubscribe();\r\n }\r\n }\r\n}\r\n","<ng-content *ngIf=\"active\"></ng-content>\r\n","import {\r\n AfterContentChecked,\r\n AfterContentInit,\r\n Component,\r\n ContentChildren,\r\n HostBinding,\r\n OnInit,\r\n QueryList,\r\n} from '@angular/core';\r\n\r\nimport { slideAnimation, fadeAnimation } from '../carousel.animation';\r\nimport { CarouselItemComponent } from '../carousel-item/carousel-item.component';\r\nimport { CarouselState } from '../carousel-state';\r\n\r\n@Component({\r\n selector: 'c-carousel-inner',\r\n templateUrl: './carousel-inner.component.html',\r\n styleUrls: ['./carousel-inner.component.scss'],\r\n animations: [ slideAnimation, fadeAnimation ]\r\n})\r\nexport class CarouselInnerComponent implements AfterContentInit, AfterContentChecked {\r\n @HostBinding('class.carousel-inner') carouselInnerClass = true;\r\n\r\n @ContentChildren(CarouselItemComponent) private contentItems!: QueryList<CarouselItemComponent>;\r\n private prevContentItems!: QueryList<CarouselItemComponent>;\r\n activeIndex?: number;\r\n animate?: boolean;\r\n slide = {left: true};\r\n transition = 'slide';\r\n\r\n constructor(private carouselState: CarouselState) {}\r\n\r\n ngAfterContentInit(): void {\r\n this.setItems();\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n this.setItems();\r\n const state = this.carouselState?.state;\r\n const nextIndex = state?.activeItemIndex;\r\n const nextDirection = state?.direction;\r\n if (this.activeIndex !== nextIndex) {\r\n this.animate = state?.animate;\r\n this.slide = {left: nextDirection === 'next'};\r\n this.activeIndex = state?.activeItemIndex;\r\n this.transition = state?.transition ?? 'slide';\r\n }\r\n }\r\n\r\n setItems(): void {\r\n if (this.prevContentItems !== this.contentItems) {\r\n this.prevContentItems = this.contentItems;\r\n this.carouselState.setItems(this.contentItems);\r\n }\r\n }\r\n}\r\n","<div [@slideAnimation]=\"slide\" [@.disabled]=\"!animate\">\r\n <ng-content></ng-content>\r\n</div>\r\n<!--todo-->\r\n<!--<div [@fadeAnimation]=\"slide\" [@.disabled]=\"!animate\" >-->\r\n<!-- <ng-content></ng-content>-->\r\n<!--</div>-->\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { CarouselComponent } from './carousel/carousel.component';\r\nimport { CarouselCaptionComponent } from './carousel-caption/carousel-caption.component';\r\nimport { CarouselControlComponent } from './carousel-control/carousel-control.component';\r\nimport { CarouselIndicatorsComponent } from './carousel-indicators/carousel-indicators.component';\r\nimport { CarouselInnerComponent } from './carousel-inner/carousel-inner.component';\r\nimport { CarouselItemComponent } from './carousel-item/carousel-item.component';\r\nimport { CarouselService } from './carousel.service';\r\nimport { CarouselState } from './carousel-state';\r\nimport { CarouselConfig } from './carousel.config';\r\n\r\n@NgModule({\r\n declarations: [\r\n CarouselComponent,\r\n CarouselCaptionComponent,\r\n CarouselControlComponent,\r\n CarouselIndicatorsComponent,\r\n CarouselInnerComponent,\r\n CarouselItemComponent,\r\n ],\r\n imports: [CommonModule],\r\n providers: [CarouselService, CarouselState, CarouselConfig],\r\n exports: [\r\n CarouselComponent,\r\n CarouselCaptionComponent,\r\n CarouselControlComponent,\r\n CarouselIndicatorsComponent,\r\n CarouselInnerComponent,\r\n CarouselItemComponent,\r\n ],\r\n})\r\nexport class CarouselModule {\r\n static forRoot(): ModuleWithProviders<CarouselModule> {\r\n return { ngModule: CarouselModule, providers: [] };\r\n }\r\n}\r\n","import { Directive, ElementRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cStartDate]',\r\n exportAs: 'cStartDate'\r\n})\r\nexport class StartDateDirective {\r\n\r\n constructor(\r\n public elementRef: ElementRef\r\n ) { }\r\n\r\n}\r\n","import { Directive, ElementRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cEndDate]',\r\n exportAs: 'cEndDate'\r\n})\r\nexport class EndDateDirective {\r\n\r\n constructor(\r\n public elementRef: ElementRef\r\n ) { }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\nexport interface IDropdownState {\r\n visible?: boolean | 'toggle';\r\n dropdown?: any;\r\n}\r\n\r\n@Injectable()\r\nexport class DropdownService {\r\n\r\n private dropdownState = new BehaviorSubject<any>({});\r\n dropdownState$ = this.dropdownState.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n toggle(state: IDropdownState): void {\r\n this.dropdownState.next(state);\r\n }\r\n}\r\n","import { Directive, ElementRef, HostBinding, Input, OnDestroy, OnInit, } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { DropdownService } from '../dropdown.service';\r\n\r\n@Directive({\r\n selector: '[cDropdownMenu]',\r\n exportAs: 'cDropdownMenu',\r\n})\r\nexport class DropdownMenuDirective implements OnInit, OnDestroy {\r\n static ngAcceptInputType_dark: BooleanInput;\r\n\r\n constructor(\r\n public elementRef: ElementRef,\r\n private dropdownService: DropdownService\r\n ) {}\r\n\r\n /**\r\n * Set alignment of dropdown menu.\r\n * @type {'start' | 'end' }\r\n */\r\n @Input() alignment?: 'start' | 'end' | string;\r\n\r\n /**\r\n * Toggle the visibility of dropdown menu component.\r\n */\r\n @Input() visible = false;\r\n\r\n /**\r\n * Sets a darker color scheme to match a dark navbar.\r\n */\r\n @Input()\r\n get dark(): boolean {\r\n return this._dark;\r\n }\r\n set dark(value: boolean) {\r\n this._dark = coerceBooleanProperty(value);\r\n }\r\n private _dark = false;\r\n\r\n private dropdownStateSubscription!: Subscription;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'dropdown-menu': true,\r\n 'dropdown-menu-dark': this.dark,\r\n [`dropdown-menu-${this.alignment}`]: !!this.alignment,\r\n show: this.visible,\r\n };\r\n }\r\n\r\n @HostBinding('style')\r\n get hostStyles() {\r\n // workaround for popper position calculate (see also: dropdown.component)\r\n return {\r\n visibility: this.visible ? null : '',\r\n display: this.visible ? null : '',\r\n };\r\n }\r\n\r\n ngOnInit(): void {\r\n this.dropdownStateSubscribe();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.dropdownStateSubscribe(false);\r\n }\r\n\r\n private dropdownStateSubscribe(subscribe: boolean = true): void {\r\n if (subscribe) {\r\n this.dropdownStateSubscription =\r\n this.dropdownService.dropdownState$.subscribe((state) => {\r\n if ('visible' in state) {\r\n this.visible =\r\n state.visible === 'toggle' ? !this.visible : state.visible;\r\n }\r\n });\r\n } else {\r\n this.dropdownStateSubscription.unsubscribe();\r\n }\r\n }\r\n}\r\n","import {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ContentChild,\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n Renderer2\n} from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Subscription } from 'rxjs';\n\nimport { createPopper, Instance, Options, Placement } from '@popperjs/core';\n\nimport { DropdownService } from '../dropdown.service';\nimport { DropdownMenuDirective } from '../dropdown-menu/dropdown-menu.directive';\n\n@Directive({\n selector: '[cDropdownToggle]',\n exportAs: 'cDropdownToggle'\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?: DropdownComponent\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 get split(): boolean {\n return this._split;\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})\nexport class DropdownComponent implements AfterContentInit, OnDestroy, OnInit {\n\n static ngAcceptInputType_dark: BooleanInput;\n static ngAcceptInputType_visible: BooleanInput;\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 get dark() {\n return this._dark;\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?: 'dropup' | '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 get popper(): boolean {\n return this._popper;\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 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 }\n if (this.alignment === 'end') {\n placement = 'bottom-end';\n }\n this._popperOptions = { ...this._popperOptions, placement: placement };\n return this._popperOptions;\n }\n private _popperOptions: Partial<Options> = {\n placement: this.placement,\n modifiers: [],\n strategy: 'absolute'\n };\n\n /**\n * Set the dropdown variant to an 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 this.activeTrap = _value;\n this._visible = _value;\n _value ? this.createPopperInstance() : this.destroyPopperInstance();\n this.visibleChange.emit(_value);\n }\n get visible(): boolean {\n return this._visible;\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\n public activeTrap = false;\n\n private dropdownStateSubscription!: Subscription;\n private popperInstance!: Instance | undefined;\n private listeners: (() => void)[] = [];\n\n constructor(\n @Inject(DOCUMENT) private document: any,\n private elementRef: ElementRef,\n private renderer: Renderer2,\n private ngZone: NgZone,\n private changeDetectorRef: ChangeDetectorRef,\n public dropdownService: DropdownService\n ) {}\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 'btn-group': this.variant === 'btn-group',\n 'nav-item': this.variant === 'nav-item',\n 'input-group': this.variant === 'input-group',\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$.subscribe((state) => {\n if (this === state.dropdown) {\n if ('visible' in state) {\n state?.visible === 'toggle'\n ? this.toggleDropdown()\n : (this.visible = state.visible);\n }\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.dropdownStateSubscribe();\n this.setVisibleState(this.visible);\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.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._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.document, 'keyup', (event) => {\n if (event.key === 'Escape' && this.autoClose !== false) {\n this.setVisibleState(false);\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 {\r\n Component,\r\n HostBinding,\r\n Input,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-input-group',\r\n template: `<ng-content></ng-content>`,\r\n})\r\nexport class InputGroupComponent {\r\n /**\r\n * Size the component small or large.\r\n */\r\n @Input() sizing: string | 'sm' | 'lg' | '' = '';\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'input-group': true,\r\n [`input-group-${this.sizing}`]: !!this.sizing,\r\n };\r\n }\r\n\r\n constructor() {}\r\n\r\n}\r\n","import { Directive, ElementRef, HostBinding, Input, OnInit } from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\nimport { InputType } from '../../coreui.types';\r\n\r\n@Directive({\r\n selector: 'input[cFormControl], textarea[cFormControl]'\r\n})\r\nexport class FormControlDirective implements OnInit {\r\n\r\n static ngAcceptInputType_plaintext: BooleanInput;\r\n /**\r\n * Size the component small or large.\r\n * @type {'sm' | 'lg'}\r\n */\r\n @Input() sizing?: '' | 'sm' | 'lg' | string = '';\r\n /**\r\n * Set component validation state to valid.\r\n * @type boolean\r\n */\r\n @Input() valid?: boolean;\r\n\r\n /**\r\n * Specifies the type of input element.\r\n */\r\n @HostBinding('attr.type')\r\n @Input() type: Omit<InputType, 'checkbox' | 'radio'> = 'text';\r\n\r\n /**\r\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]\r\n */\r\n @Input()\r\n set plaintext(value: boolean) {\r\n this._plaintext = coerceBooleanProperty(value);\r\n }\r\n get plaintext(): boolean {\r\n return this._plaintext;\r\n }\r\n private _plaintext = false;\r\n\r\n constructor(\r\n private hostElement: ElementRef\r\n ) {}\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n\r\n const isRangeType = this.type === 'range';\r\n\r\n return {\r\n 'form-control': !isRangeType && !this.plaintext,\r\n 'form-control-plaintext': !isRangeType && this.plaintext,\r\n 'form-control-color': this.type === 'color',\r\n 'form-range': isRangeType,\r\n [`form-control-${this.sizing}`]: !!this.sizing && !isRangeType,\r\n 'is-valid': this.valid === true,\r\n 'is-invalid': this.valid === false\r\n };\r\n }\r\n\r\n get hostTag(): string {\r\n return this.hostElement.nativeElement.tagName;\r\n }\r\n\r\n ngOnInit(): void {\r\n const hostTag = this.hostTag.toLowerCase();\r\n if (hostTag !== 'input' && hostTag !== 'textarea') {\r\n console.warn(`CoreUI [cFormControl] works with '<input>' and '<texarea>' - not with '<${hostTag}>'`);\r\n }\r\n }\r\n\r\n}\r\n","import { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cInputGroupText]'\r\n})\r\nexport class InputGroupTextDirective {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'input-group-text': true,\r\n };\r\n }\r\n\r\n constructor() { }\r\n\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, FormControl, FormGroup, NG_VALUE_ACCESSOR, Validators } from '@angular/forms';\r\nimport { BooleanInput, coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\r\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { Colors } from '../../coreui.types';\r\nimport { CalendarComponent } from '../../calendar';\r\nimport { getLocalDateFromString, isDateDisabled } from '../../calendar/calendar.utils';\r\nimport { DateFilterType, DayFormatType, WeekdayFormatType } from '../../calendar/calendar.service';\r\nimport { StartDateDirective } from '../start-date.directive';\r\nimport { EndDateDirective } from '../end-date.directive';\r\n\r\nexport interface ICalendarRange {\r\n [key: string]: Date[];\r\n}\r\n\r\nexport type TCustomRange = [string, Date[]]\r\n\r\n/** Must be a valid date string */\r\n// todo: validation\r\n// export function invalidDateStringValidator(locale: string): ValidatorFn {\r\n// return (control: AbstractControl): ValidationErrors | null => {\r\n// // const validDate = !isNaN(Date.parse(control.value));\r\n// stringToDateConvert(control.value, locale);\r\n// const dateShim = cvtDate(control.value, locale);\r\n// // @ts-ignore\r\n// // control.setValue(new Date(dateShim.year, dateShim.month, dateShim.day))\r\n// console.log('dateShim', dateShim, locale);\r\n// const validDate = isValidDate(control.value);\r\n// console.log('invalidDateStringValidator', control, control.value, validDate);\r\n// return validDate ? { invalidDateStringValidator: { value: control.value } } : null;\r\n// };\r\n// }\r\n\r\n@Component({\r\n selector: 'c-date-range-picker',\r\n templateUrl: './date-range-picker.component.html',\r\n styleUrls: ['./date-range-picker.component.scss'],\r\n exportAs: 'cDateRangePicker',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => DateRangePickerComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class DateRangePickerComponent implements OnInit, OnDestroy, ControlValueAccessor {\r\n\r\n static ngAcceptInputType_disabled: BooleanInput;\r\n static ngAcceptInputType_navYearFirst: BooleanInput;\r\n\r\n constructor(\r\n private breakpointObserver: BreakpointObserver\r\n ) { }\r\n\r\n /**\r\n * Set the format of day name.\r\n * @default 'numeric'\r\n * @type DayFormatType\r\n */\r\n @Input() dayFormat: DayFormatType = 'numeric';\r\n\r\n /**\r\n * The number of calendars that render on desktop devices.\r\n * @type number\r\n * @default 2\r\n */\r\n @Input()\r\n set calendars(value: number) {\r\n this._calendars = coerceNumberProperty(value);\r\n }\r\n get calendars() {\r\n return this._calendars;\r\n }\r\n private _calendars: number = 2;\r\n\r\n /**\r\n * Toggle visibility or set the content of the cleaner button.\r\n * @type boolean\r\n * @default true\r\n */\r\n @Input()\r\n set cleaner(value: boolean) {\r\n this._cleaner = coerceBooleanProperty(value);\r\n }\r\n get cleaner() {\r\n return this._cleaner;\r\n }\r\n private _cleaner: boolean = true;\r\n\r\n /**\r\n * Set date format.\r\n * We use date-fns to format dates. Visit https://date-fns.org/v2.28.0/docs/format to check accepted patterns.\r\n */\r\n @Input()\r\n format?: string;\r\n\r\n /**\r\n * Toggle visibility or set the content of the input indicator.\r\n * @type boolean\r\n * @default true\r\n */\r\n @Input()\r\n set indicator(value: boolean) {\r\n this._indicator = coerceBooleanProperty(value);\r\n }\r\n get indicator() {\r\n return this._indicator;\r\n }\r\n private _indicator: boolean = true;\r\n\r\n /**\r\n * Toggle the readonly state for the component.\r\n * @type boolean\r\n * @default false\r\n */\r\n @Input()\r\n set inputReadOnly(value: boolean) {\r\n this._inputReadOnly = coerceBooleanProperty(value);\r\n }\r\n get inputReadOnly(): boolean {\r\n return this._inputReadOnly;\r\n }\r\n private _inputReadOnly: boolean = false;\r\n\r\n /**\r\n * Reorder year-month navigation, and render year first.\r\n * @type boolean\r\n * @default false\r\n */\r\n @Input()\r\n set navYearFirst(value: boolean) {\r\n this._navYearFirst = coerceBooleanProperty(value);\r\n }\r\n get navYearFirst() {\r\n return this._navYearFirst;\r\n }\r\n private _navYearFirst: boolean = false;\r\n\r\n /**\r\n * Specifies short hints that are visible in start date and end date inputs.\r\n * type string\r\n */\r\n @Input() placeholder: string | string[] = ['Start date', 'End date'];\r\n\r\n /**\r\n * Predefined date ranges the user can select from.\r\n * @type ICalendarRange\r\n */\r\n @Input() ranges?: object;\r\n\r\n /**\r\n * Sets the color context of the cancel button to one of CoreUI’s themed colors.\r\n * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string\r\n * @default 'secondary'\r\n */\r\n @Input() rangesButtonsColor?: Colors = 'secondary';\r\n\r\n /**\r\n * Size the ranges button small or large.\r\n * @type 'sm' | 'lg' | undefined\r\n */\r\n @Input() rangesButtonsSize?: 'sm' | 'lg';\r\n\r\n /**\r\n * Set the ranges button variant to an outlined button or a ghost button.\r\n * @type 'outline' | 'ghost' | undefined\r\n */\r\n @Input() rangesButtonsVariant?: 'outline' | 'ghost' = 'ghost';\r\n\r\n /**\r\n * Default icon or character that separates two dates.\r\n * @type boolean\r\n * @default true\r\n */\r\n @Input()\r\n set separator(value: boolean) {\r\n this._separator = coerceBooleanProperty(value);\r\n }\r\n get separator(): boolean {\r\n return this._separator;\r\n }\r\n private _separator: boolean = true;\r\n\r\n /**\r\n * Size the component small or large.\r\n * @type 'sm' | 'lg' | undefined\r\n * @default undefined\r\n */\r\n @Input() size?: 'sm' | 'lg';\r\n\r\n /**\r\n * Provide an additional time selection by adding select boxes to choose time.\r\n * @type boolean\r\n * @default false\r\n */\r\n @Input()\r\n set timepicker(value: boolean) {\r\n this._timepicker = coerceBooleanProperty(value);\r\n }\r\n get timepicker(): boolean {\r\n return this._timepicker;\r\n }\r\n private _timepicker: boolean = false;\r\n\r\n /**\r\n * Toggle visibility or set the content of today button.\r\n * @type string\r\n * @default 'Today'\r\n */\r\n @Input() todayButton: string = 'Today';\r\n\r\n /**\r\n * Sets the color context of the today button to one of CoreUI’s themed colors.\r\n * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string\r\n * @default 'primary'\r\n */\r\n @Input() todayButtonColor: Colors = 'primary';\r\n\r\n /**\r\n * Size the today button small or large.\r\n * @type 'sm' | 'lg'\r\n * @default 'sm'\r\n */\r\n @Input() todayButtonSize: 'sm' | 'lg' = 'sm';\r\n\r\n /**\r\n * Set the today button variant to an outlined button or a ghost button.\r\n * @type 'outline' | 'ghost' | undefined\r\n */\r\n @Input() todayButtonVariant?: 'outline' | 'ghost';\r\n\r\n /**\r\n * Toggle the visibility of the component.\r\n * @type boolean\r\n * @default false\r\n */\r\n @Input()\r\n set visible(value: boolean) {\r\n this._visible = coerceBooleanProperty(value);\r\n }\r\n get visible(): boolean {\r\n return this._visible;\r\n }\r\n private _visible: boolean = false;\r\n\r\n @Input() startDate?: Date | null;\r\n @Input() endDate?: Date | null;\r\n @Input() calendarDate?: Date;\r\n @Input() disabledDates: Date[] | Date[][] = [];\r\n\r\n @Input()\r\n set firstDayOfWeek(value: number) {\r\n this._firstDayOfWeek = coerceNumberProperty(value);\r\n }\r\n get firstDayOfWeek() {\r\n return this._firstDayOfWeek;\r\n }\r\n private _firstDayOfWeek: number = 1;\r\n\r\n @Input() locale: string = 'default';\r\n @Input() maxDate: Date | null = null;\r\n @Input() minDate: Date | null = null;\r\n\r\n @Input()\r\n set navigation(value: boolean) {\r\n this._navigation = coerceBooleanProperty(value);\r\n }\r\n get navigation() {\r\n return this._navigation;\r\n }\r\n private _navigation: boolean = true;\r\n\r\n /**\r\n * Allow range selection.\r\n * @type boolean\r\n * @default false\r\n */\r\n @Input()\r\n set range(value: boolean) {\r\n this._range = coerceBooleanProperty(value);\r\n }\r\n get range(): boolean {\r\n return this._range;\r\n }\r\n private _range: boolean = true;\r\n\r\n @Input() dateFilter?: DateFilterType;\r\n\r\n @Input()\r\n set disabled(value: boolean) {\r\n this._disabled = coerceBooleanProperty(value);\r\n }\r\n get disabled(): boolean {\r\n return this._disabled;\r\n }\r\n private _disabled = false;\r\n\r\n @Input()\r\n set value(value: Date[]) {\r\n const newValue = Array.isArray(value) ? [...value] : [];\r\n if (this._value.toString() !== newValue.toString()) {\r\n this._value = newValue;\r\n this.onChange(newValue);\r\n this.valueChange.emit(this.value);\r\n }\r\n }\r\n get value() {\r\n return this._value;\r\n }\r\n private _value: Date[] = [];\r\n\r\n /**\r\n * Set length or format of day name.\r\n * @type WeekdayFormatType\r\n * @default 'short'\r\n */\r\n @Input() weekdayFormat: WeekdayFormatType = 'short';\r\n\r\n @Output() readonly valueChange = new EventEmitter<Date | Date[] | undefined>();\r\n\r\n @Output() calendarCellHover: EventEmitter<Date | null> = new EventEmitter<Date | null>();\r\n @Output() calendarDateChange: EventEmitter<Date> = new EventEmitter<Date>();\r\n @Output() endDateChange: EventEmitter<Date | null> = new EventEmitter<Date | null>();\r\n @Output() startDateChange: EventEmitter<Date | null> = new EventEmitter<Date | null>();\r\n\r\n @ViewChild(CalendarComponent) calendarComponent!: CalendarComponent;\r\n @ViewChild(StartDateDirective) startDateDirective!: StartDateDirective;\r\n @ViewChild(EndDateDirective) endDateDirective!: EndDateDirective;\r\n\r\n public isMobile = true;\r\n public customRanges!: TCustomRange[];\r\n\r\n set startDateValue(value: string) {\r\n this.startDateInput.setValue(value);\r\n this._startDateValue = value;\r\n }\r\n get startDateValue(): string {\r\n return this._startDateValue;\r\n }\r\n private _startDateValue: string = this.startDate?.toLocaleDateString(this.locale) ?? '';\r\n\r\n set endDateValue(value: string) {\r\n this.endDateInput.setValue(value);\r\n this._endDateValue = value;\r\n }\r\n get endDateValue(): string {\r\n return this._endDateValue;\r\n }\r\n public _endDateValue: string = this.endDate?.toLocaleDateString(this.locale) ?? '';\r\n\r\n public startDatePlaceholder: string = this.placeholder[0];\r\n public endDatePlaceholder: string = this.placeholder[1];\r\n\r\n private layoutChanges!: Subscription;\r\n\r\n // todo: validation\r\n startDateInput = new FormControl({ value: this.startDateValue, disabled: this.disabled }, [\r\n Validators.required\r\n // Validators.minLength(8),\r\n // Validators.maxLength(10),\r\n // invalidDateStringValidator(this.locale)\r\n ]);\r\n endDateInput = new FormControl({ value: this.endDateValue, disabled: this.disabled }, [\r\n Validators.required\r\n // Validators.minLength(8),\r\n // Validators.maxLength(10),\r\n // invalidDateStringValidator(this.locale)\r\n ]);\r\n dateRangeGroup!: FormGroup;\r\n\r\n set inputStartHoverValue(value) {\r\n this._inputStartHoverValue = value;\r\n }\r\n get inputStartHoverValue() {\r\n return this._inputStartHoverValue;\r\n }\r\n private _inputStartHoverValue!: Date | null;\r\n\r\n set inputEndHoverValue(value) {\r\n this._inputEndHoverValue = value;\r\n }\r\n get inputEndHoverValue() {\r\n return this._inputEndHoverValue;\r\n }\r\n private _inputEndHoverValue!: Date | null;\r\n\r\n ngOnInit(): void {\r\n this.layoutChanges = this.breakpointObserver.observe([\r\n Breakpoints.Handset,\r\n Breakpoints.Tablet\r\n ]).subscribe(result => {\r\n this.isMobile = result.matches;\r\n });\r\n this.customRanges = this.ranges ? Object.entries(this.ranges) : [];\r\n\r\n this.startDateValue = this.startDate?.toLocaleDateString(this.locale) ?? '';\r\n this.endDateValue = this.endDate?.toLocaleDateString(this.locale) ?? '';\r\n }\r\n\r\n ngOnDestroy() {\r\n this.layoutChanges.unsubscribe();\r\n }\r\n\r\n getCustomRangeKey(customRange: any) {\r\n return customRange[0];\r\n }\r\n\r\n setCustomRange(customRange: any) {\r\n const key = this.getCustomRangeKey(customRange);\r\n this.startDate = customRange[1][0];\r\n this.endDate = customRange[1][1];\r\n }\r\n\r\n handleCalendarCellHover($event: Date | null) {\r\n this.calendarCellHover.emit($event);\r\n if (!this.startDate) {\r\n this.setInputValue(this.startDateDirective?.elementRef, $event);\r\n this.inputStartHoverValue = $event;\r\n return;\r\n }\r\n if (!this.endDate) {\r\n this.setInputValue(this.endDateDirective?.elementRef, $event);\r\n this.inputEndHoverValue = $event;\r\n return;\r\n }\r\n }\r\n\r\n handleCalendarDateChange($event: Date) {\r\n this.calendarDateChange.emit($event);\r\n }\r\n\r\n handleStartDateChange(date: Date | null) {\r\n // if (date?.getTime() !== this.startDate?.getTime()) {\r\n this.startDateChange.emit(date);\r\n this.startDateValue = date ? date.toLocaleDateString(this.locale) : '';\r\n this.inputStartHoverValue = null;\r\n this.value = this.startDate && this.endDate ? [this.startDate, this.endDate] : [];\r\n // }\r\n }\r\n\r\n handleEndDateChange(date: Date | null) {\r\n // if (date?.getTime() !== this.endDate?.getTime()) {\r\n this.endDateChange.emit(date);\r\n this.endDateValue = date ? date.toLocaleDateString(this.locale) : '';\r\n this.inputEndHoverValue = null;\r\n this.value = this.startDate && this.endDate ? [this.startDate, this.endDate] : [];\r\n // }\r\n }\r\n\r\n handleClear($event: MouseEvent) {\r\n this.calendarComponent?.clearDates();\r\n }\r\n\r\n handleStartDateInputChange($event: any) {\r\n const date = getLocalDateFromString($event.target?.value, this.locale, this.timepicker);\r\n if (!date) {\r\n this.calendarComponent?.clearDates();\r\n }\r\n if (date instanceof Date && date.getTime()) {\r\n if (!(this.forbiddenDate(date) || (this.endDate && this.endDate < date))) {\r\n this.calendarDate = date;\r\n this.startDate = date;\r\n }\r\n }\r\n this.startDateValue = this.startDate?.toLocaleDateString(this.locale) ?? '';\r\n }\r\n\r\n handleEndDateInputChange($event: any) {\r\n const date = getLocalDateFromString($event.target?.value, this.locale, this.timepicker);\r\n if (!date) {\r\n this.endDate = null;\r\n }\r\n if (date instanceof Date && date.getTime()) {\r\n if (!(this.forbiddenDate(date) || (this.startDate && this.startDate > date))) {\r\n this.calendarDate = date;\r\n this.endDate = date;\r\n }\r\n }\r\n this.endDateValue = this.endDate?.toLocaleDateString(this.locale) ?? '';\r\n }\r\n\r\n forbiddenDate(date: Date) {\r\n return isDateDisabled(date, this.minDate, this.maxDate, this.disabledDates) && (this.dateFilter ? !this.dateFilter(date) : false);\r\n }\r\n\r\n setInputValue = (elementRef: ElementRef, date: Date | null) => {\r\n if (!elementRef) {\r\n return;\r\n }\r\n\r\n elementRef.nativeElement.value = date?.toLocaleDateString(this.locale) ?? '';\r\n return;\r\n };\r\n\r\n onChange: any = (value: any) => {\r\n // console.log('onChange', value);\r\n };\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n writeValue(value: (Date[])): void {\r\n if (value !== null) {\r\n this.value = value;\r\n }\r\n }\r\n}\r\n","<c-dropdown #dropdown=\"cDropdown\" [autoClose]=\"'outside'\" class=\"date-picker picker\">\r\n <c-input-group [caret]=\"false\"\r\n [disabled]=\"disabled ?? dropdown.visible\"\r\n [sizing]=\"size ?? ''\"\r\n cDropdownToggle\r\n class=\"picker-input-group\"\r\n >\r\n <input (change)=\"handleStartDateInputChange($event)\"\r\n [formControl]=\"startDateInput\"\r\n [ngClass]=\"{hover: !!inputStartHoverValue}\"\r\n [placeholder]=\"startDatePlaceholder ?? placeholder[0]\"\r\n cFormControl\r\n cStartDate\r\n [attr.tabindex]=\"disabled ? -1 : 0\"\r\n [attr.disabled]=\"disabled ? '' : null\"\r\n pattern=\"[1-9]*\"\r\n [readonly]=\"inputReadOnly ?? null\"\r\n >\r\n <span *ngIf=\"range && separator !== false\" cInputGroupText>\r\n <span class=\"picker-input-group-icon date-picker-arrow-icon\"></span>\r\n </span>\r\n <input (change)=\"handleEndDateInputChange($event)\"\r\n *ngIf=\"range\"\r\n [formControl]=\"endDateInput\"\r\n [ngClass]=\"{hover: !!inputEndHoverValue}\"\r\n [placeholder]=\"endDatePlaceholder ?? placeholder[1]\"\r\n cEndDate\r\n cFormControl\r\n [attr.tabindex]=\"disabled ? -1 : 0\"\r\n [attr.disabled]=\"disabled ? '' : null\"\r\n pattern=\"[1-9]*\"\r\n [readonly]=\"inputReadOnly ?? null\"\r\n >\r\n <span *ngIf=\"indicator || cleaner\" cInputGroupText>\r\n <span *ngIf=\"indicator\" class=\"picker-input-group-indicator\">\r\n <span class=\"picker-input-group-icon date-picker-input-icon\"></span>\r\n </span>\r\n <span (click)=\"!disabled && handleClear($event)\" *ngIf=\"cleaner && startDate &&!disabled\" class=\"picker-input-group-cleaner\"\r\n role=\"button\">\r\n <span class=\"picker-input-group-icon date-picker-cleaner-icon\"></span>\r\n </span>\r\n </span>\r\n\r\n </c-input-group>\r\n <div [visible]=\"true\" cDropdownMenu>\r\n <div class=\"date-picker-body\">\r\n <ng-template [ngIf]=\"!isMobile\">\r\n <div *ngIf=\"ranges\" class=\"date-picker-ranges\">\r\n <button (click)=\"setCustomRange(customRange)\"\r\n *ngFor=\"let customRange of customRanges\"\r\n [color]=\"rangesButtonsColor\"\r\n [size]=\"rangesButtonsSize\"\r\n [variant]=\"rangesButtonsVariant\"\r\n cButton>\r\n {{getCustomRangeKey(customRange)}}\r\n </button>\r\n </div>\r\n </ng-template>\r\n <c-calendar\r\n (calendarCellHover)=\"handleCalendarCellHover($event)\"\r\n (calendarDateChange)=\"handleCalendarDateChange($event)\"\r\n (endDateChange)=\"handleEndDateChange($event)\"\r\n (startDateChange)=\"handleStartDateChange($event)\"\r\n [calendarDate]=\"calendarDate\"\r\n [calendars]=\"isMobile ? 1 : calendars\"\r\n [dateFilter]=\"dateFilter\"\r\n [disabledDates]=\"disabledDates\"\r\n [endDate]=\"endDate\"\r\n [firstDayOfWeek]=\"firstDayOfWeek\"\r\n [locale]=\"locale\"\r\n [maxDate]=\"maxDate\"\r\n [minDate]=\"minDate\"\r\n [navigation]=\"navigation\"\r\n [range]=\"range\"\r\n [startDate]=\"startDate\"\r\n [navYearFirst]=\"navYearFirst\"\r\n [dayFormat]=\"dayFormat\"\r\n [weekdayFormat]=\"weekdayFormat\"\r\n class=\"date-picker-calendars\"\r\n ></c-calendar>\r\n </div>\r\n </div>\r\n <ng-content></ng-content>\r\n</c-dropdown>\r\n","import { Directive, HostBinding, Input } from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\n@Directive({\r\n selector: 'form[cForm]'\r\n})\r\nexport class FormDirective {\r\n\r\n static ngAcceptInputType_validated: BooleanInput;\r\n private _validated = false;\r\n\r\n /**\r\n * Mark a form as validated. If you set it `true`, all validation styles will be applied to the form. [docs]\r\n * @type boolean\r\n * @default false\r\n */\r\n @Input()\r\n set validated(value: boolean) {\r\n this._validated = coerceBooleanProperty(value);\r\n }\r\n get validated() {\r\n return this._validated;\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'was-validated': this.validated,\r\n };\r\n }\r\n\r\n constructor() { }\r\n}\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\n@Component({\r\n selector: 'c-form-feedback',\r\n template: '<ng-content></ng-content>'\r\n})\r\nexport class FormFeedbackComponent {\r\n static ngAcceptInputType_tooltip: BooleanInput;\r\n\r\n /**\r\n * If your form layout allows it, you can display validation feedback in a styled tooltip.\r\n */\r\n private _tooltip = false;\r\n @Input()\r\n set tooltip(value: boolean) {\r\n this._tooltip = coerceBooleanProperty(value);\r\n }\r\n get tooltip(): boolean {\r\n return this._tooltip;\r\n }\r\n /**\r\n * Set component validation state to valid.\r\n */\r\n @Input() valid?: boolean;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'valid-feedback': this.valid === true && !this.tooltip,\r\n 'valid-tooltip': this.valid === true && this.tooltip,\r\n 'invalid-feedback': this.valid !== true && !this.tooltip,\r\n 'invalid-tooltip': this.valid !== true && this.tooltip\r\n };\r\n }\r\n}\r\n","import { Directive, HostBinding, Input, OnChanges } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'select[cSelect]'\r\n})\r\nexport class FormSelectDirective {\r\n /**\r\n * Size the component small or large.\r\n */\r\n @Input() sizing?: '' | 'sm' | 'lg' | string = '';\r\n\r\n /**\r\n * Set component validation state to valid.\r\n * @type {boolean | undefined}\r\n */\r\n @Input() valid?: boolean;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'form-select': true,\r\n [`form-select-${this.sizing}`]: !!this.sizing,\r\n 'is-valid': this.valid === true,\r\n 'is-invalid': this.valid === false,\r\n };\r\n }\r\n\r\n constructor() {}\r\n\r\n}\r\n","import { Directive, HostBinding, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cLabel]'\r\n})\r\nexport class FormLabelDirective {\r\n\r\n /**\r\n * For horizontal forms set labels to 'col' and make them vertically centered with their associated form controls.\r\n * @type 'col'\r\n */\r\n @Input('cLabel') col: 'col' | '' = '';\r\n /**\r\n * Size the label small or large.\r\n */\r\n @Input() sizing: '' | 'sm' | 'lg' | string = '';\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n\r\n return {\r\n 'form-label': true,\r\n 'col-form-label': this.col === 'col',\r\n [`col-form-label-${this.sizing}`]: !!this.sizing && this.col === 'col',\r\n };\r\n }\r\n\r\n constructor() {}\r\n\r\n}\r\n","import { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'label[cFormCheckLabel]'\r\n})\r\nexport class FormCheckLabelDirective {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n\r\n return {\r\n 'form-check-label': true,\r\n };\r\n }\r\n\r\n}\r\n","import { AfterContentInit, Component, ContentChild, HostBinding, Input } from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\nimport { FormCheckLabelDirective } from './form-check-label.directive';\r\n\r\n@Component({\r\n selector: 'c-form-check',\r\n template: '<ng-content></ng-content>',\r\n exportAs: 'cFormCheck'\r\n})\r\nexport class FormCheckComponent implements AfterContentInit {\r\n\r\n static ngAcceptInputType_inline: BooleanInput;\r\n static ngAcceptInputType_switch: BooleanInput;\r\n\r\n private _inline = false;\r\n /**\r\n * Group checkboxes or radios on the same horizontal row.\r\n * @type boolean\r\n * @default false\r\n */\r\n @Input()\r\n set inline(value: boolean) {\r\n this._inline = coerceBooleanProperty(value);\r\n }\r\n get inline(): boolean {\r\n return this._inline;\r\n }\r\n\r\n /**\r\n * Size the component large or extra large. Works only with `[switch]=\"true\"` [docs]\r\n * @type {'lg' | 'xl' | ''}\r\n */\r\n @Input() sizing?: 'lg' | 'xl' | '' = '';\r\n\r\n /**\r\n * Render a toggle switch on for checkbox.\r\n * @type boolean\r\n * @default false\r\n */\r\n @Input()\r\n set switch(value: boolean) {\r\n this._switch = coerceBooleanProperty(value);\r\n }\r\n get switch(): boolean {\r\n return this._switch;\r\n }\r\n private _switch = false;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n\r\n return {\r\n 'form-check': this.formCheckClass,\r\n 'form-switch': this.switch,\r\n [`form-switch-${this.sizing}`]: this.switch && !!this.sizing,\r\n 'form-check-inline': this.inline\r\n };\r\n }\r\n\r\n @ContentChild(FormCheckLabelDirective) formCheckLabel!: FormCheckLabelDirective;\r\n private _formCheckClass = true;\r\n get formCheckClass() {\r\n return this._formCheckClass;\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this._formCheckClass = !!this.formCheckLabel;\r\n }\r\n}\r\n","import { Directive, ElementRef, HostBinding, Input, Renderer2 } from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\n@Directive({\r\n selector: 'input[cFormCheckInput]'\r\n})\r\nexport class FormCheckInputDirective {\r\n\r\n static ngAcceptInputType_indeterminate: BooleanInput;\r\n\r\n /**\r\n * Specifies the type of component.\r\n * @type {'checkbox' | 'radio'}\r\n * @default 'checkbox'\r\n */\r\n @HostBinding('attr.type')\r\n @Input() type: ('checkbox' | 'radio') = 'checkbox';\r\n\r\n /**\r\n * Set component indeterminate state.\r\n * @type boolean\r\n */\r\n @Input()\r\n set indeterminate(value: boolean) {\r\n const newValue = coerceBooleanProperty(value);\r\n if (this._indeterminate !== newValue) {\r\n this._indeterminate = newValue;\r\n this.renderer.setProperty(this.hostElement.nativeElement, 'indeterminate', newValue);\r\n }\r\n };\r\n get indeterminate() {\r\n return this._indeterminate;\r\n }\r\n private _indeterminate = false;\r\n\r\n /**\r\n * Set component validation state to valid.\r\n * @type boolean\r\n */\r\n @Input() valid?: boolean;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'form-check-input': true,\r\n 'is-valid': this.valid === true,\r\n 'is-invalid': this.valid === false\r\n };\r\n }\r\n\r\n get checked(): boolean {\r\n return this.hostElement?.nativeElement?.checked;\r\n }\r\n\r\n constructor(\r\n private renderer: Renderer2,\r\n private hostElement: ElementRef\r\n ) { }\r\n\r\n}\r\n","import { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cFormText]'\r\n})\r\nexport class FormTextDirective {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'form-text': true,\r\n };\r\n }\r\n\r\n constructor() { }\r\n}\r\n","import { Directive, HostBinding, Input } from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\n@Directive({\r\n selector: '[cFormFloating]'\r\n})\r\nexport class FormFloatingDirective {\r\n\r\n static ngAcceptInputType_floating: BooleanInput;\r\n\r\n /**\r\n * Enable floating labels\r\n * @type boolean\r\n */\r\n @Input('cFormFloating')\r\n get floating(): boolean {\r\n return this._floating;\r\n }\r\n set floating(value: boolean) {\r\n this._floating = coerceBooleanProperty(value);\r\n }\r\n private _floating = true;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'form-floating': this.floating,\r\n };\r\n }\r\n\r\n constructor() { }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormDirective } from './form/form.directive';\r\nimport { FormFeedbackComponent } from './form-feedback/form-feedback.component';\r\nimport { InputGroupComponent } from './input-group/input-group.component';\r\nimport { FormSelectDirective } from './form-select/form-select.directive';\r\nimport { FormLabelDirective } from './form-label/form-label.directive';\r\nimport { FormCheckComponent } from './form-check/form-check.component';\r\nimport { FormControlDirective } from './form-control/form-control.directive';\r\nimport { FormTextDirective } from './form-text/form-text.directive';\r\nimport { FormFloatingDirective } from './form-floating/form-floating.directive';\r\nimport { InputGroupTextDirective } from './input-group-text/input-group-text.directive';\r\nimport { FormCheckLabelDirective } from './form-check/form-check-label.directive';\r\nimport { FormCheckInputDirective } from './form-check/form-check-input.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n FormDirective,\r\n FormCheckComponent,\r\n FormControlDirective,\r\n FormFeedbackComponent,\r\n FormFloatingDirective,\r\n FormLabelDirective,\r\n FormSelectDirective,\r\n FormTextDirective,\r\n InputGroupComponent,\r\n InputGroupTextDirective,\r\n FormCheckLabelDirective,\r\n FormCheckInputDirective,\r\n ],\r\n imports: [CommonModule],\r\n exports: [\r\n FormDirective,\r\n FormCheckComponent,\r\n FormControlDirective,\r\n FormFeedbackComponent,\r\n FormFloatingDirective,\r\n FormLabelDirective,\r\n FormSelectDirective,\r\n FormTextDirective,\r\n InputGroupComponent,\r\n InputGroupTextDirective,\r\n FormCheckLabelDirective,\r\n FormCheckInputDirective\r\n ]\r\n})\r\nexport class FormModule {}\r\n","import { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cDropdownDivider]'\r\n})\r\nexport class DropdownDividerDirective {\r\n\r\n constructor() {\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n\r\n return {\r\n 'dropdown-divider': true,\r\n };\r\n }\r\n\r\n}\r\n","import { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cDropdownHeader]'\r\n})\r\nexport class DropdownHeaderDirective {\r\n\r\n constructor() {\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n\r\n return {\r\n 'dropdown-header': true,\r\n };\r\n }\r\n\r\n}\r\n","import { Directive, HostBinding, HostListener, Input, Optional } from '@angular/core';\r\nimport { DropdownService } from '../dropdown.service';\r\nimport { DropdownComponent } from '../dropdown/dropdown.component';\r\n\r\n@Directive({\r\n selector: '[cDropdownItem]',\r\n exportAs: 'cDropdownItem'\r\n})\r\nexport class DropdownItemDirective {\r\n /**\r\n * Set active state to a dropdown-item.\r\n * @type boolean\r\n * @default undefined\r\n */\r\n @Input() active?: boolean;\r\n /**\r\n * Configure dropdown-item close dropdown behavior.\r\n * @type boolean\r\n * @default true\r\n */\r\n @Input() autoClose: boolean = true;\r\n /**\r\n * Disables a dropdown-item.\r\n * @type boolean\r\n * @default undefined\r\n */\r\n @Input() disabled?: boolean;\r\n\r\n constructor(\r\n private dropdownService: DropdownService,\r\n @Optional() public dropdown?: DropdownComponent\r\n ) {\r\n }\r\n\r\n @HostBinding('attr.aria-current')\r\n get ariaCurrent(): string | null {\r\n return this.active ? 'true' : null;\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'dropdown-item': true,\r\n active: this.active,\r\n disabled: this.disabled\r\n };\r\n }\r\n\r\n @HostBinding('attr.tabindex')\r\n @Input()\r\n set tabIndex(value: string | number | null) {\r\n this._tabIndex = value;\r\n }\r\n get tabIndex() {\r\n return this.disabled ? '-1' : this._tabIndex;\r\n }\r\n private _tabIndex: string | number | null = null;\r\n\r\n @HostBinding('attr.aria-disabled')\r\n get isDisabled(): boolean | null {\r\n return this.disabled || null;\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n private onClick($event: MouseEvent): void {\r\n if (this.autoClose) {\r\n this.dropdownService.toggle({ visible: 'toggle', dropdown: this.dropdown });\r\n }\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n private onKeyUp($event: KeyboardEvent): void {\r\n if ($event.key === 'Enter') {\r\n if (this.autoClose) {\r\n this.dropdownService.toggle({ visible: false, dropdown: this.dropdown });\r\n }\r\n }\r\n }\r\n}\r\n","import { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cDropdownItemPlain]'\r\n})\r\nexport class DropdownItemPlainDirective {\r\n\r\n constructor() {\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n\r\n return {\r\n 'dropdown-item-text': true,\r\n };\r\n }\r\n\r\n}\r\n","import { AfterViewInit, Directive, HostBinding, HostListener, Input, Optional } from '@angular/core';\r\nimport { DropdownService } from '../dropdown.service';\r\nimport { DropdownComponent } from '../dropdown/dropdown.component';\r\n\r\n@Directive({\r\n selector: '[cDropdownClose]',\r\n exportAs: 'cDropdownClose'\r\n})\r\nexport class DropdownCloseDirective implements AfterViewInit {\r\n\r\n constructor(\r\n private dropdownService: DropdownService,\r\n @Optional() public dropdown?: DropdownComponent\r\n ) { }\r\n\r\n /**\r\n * Disables a dropdown-close directive.\r\n * @type boolean\r\n * @default undefined\r\n */\r\n @Input() disabled?: boolean;\r\n\r\n @Input() dropdownComponent?: DropdownComponent;\r\n\r\n ngAfterViewInit(): void {\r\n if (this.dropdownComponent) {\r\n this.dropdown = this.dropdownComponent;\r\n this.dropdownService = this.dropdownComponent?.dropdownService;\r\n }\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n disabled: this.disabled\r\n };\r\n }\r\n\r\n @HostBinding('attr.tabindex')\r\n @Input()\r\n set tabIndex(value: string | number | null) {\r\n this._tabIndex = value;\r\n }\r\n get tabIndex() {\r\n return this.disabled ? '-1' : this._tabIndex;\r\n }\r\n private _tabIndex: string | number | null = null;\r\n\r\n @HostBinding('attr.aria-disabled')\r\n get isDisabled(): boolean | null {\r\n return this.disabled || null;\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n private onClick($event: MouseEvent): void {\r\n !this.disabled && this.dropdownService.toggle({ visible: false, dropdown: this.dropdown });\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n private onKeyUp($event: KeyboardEvent): void {\r\n if ($event.key === 'Enter') {\r\n !this.disabled && this.dropdownService.toggle({ visible: false, dropdown: this.dropdown });\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DropdownComponent, DropdownToggleDirective } from './dropdown/dropdown.component';\r\nimport { DropdownDividerDirective } from './dropdown-divider/dropdown-divider.directive';\r\nimport { DropdownHeaderDirective } from './dropdown-header/dropdown-header.directive';\r\nimport { DropdownItemDirective } from './dropdown-item/dropdown-item.directive';\r\nimport { DropdownItemPlainDirective } from './dropdown-item/dropdown-item-plain.directive';\r\nimport { DropdownMenuDirective } from './dropdown-menu/dropdown-menu.directive';\r\nimport { DropdownService } from './dropdown.service';\r\nimport { DropdownCloseDirective } from './dropdown-close/dropdown-close.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n DropdownComponent,\r\n DropdownDividerDirective,\r\n DropdownHeaderDirective,\r\n DropdownItemDirective,\r\n DropdownItemPlainDirective,\r\n DropdownToggleDirective,\r\n DropdownMenuDirective,\r\n DropdownCloseDirective\r\n ],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [\r\n DropdownComponent,\r\n DropdownDividerDirective,\r\n DropdownHeaderDirective,\r\n DropdownItemDirective,\r\n DropdownItemPlainDirective,\r\n DropdownToggleDirective,\r\n DropdownMenuDirective,\r\n DropdownCloseDirective\r\n ],\r\n providers: [\r\n DropdownService,\r\n ]\r\n})\r\nexport class DropdownModule {\r\n}\r\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { DateRangePickerComponent } from './date-range-picker/date-range-picker.component';\nimport { ButtonModule } from '../button';\nimport { CalendarModule } from '../calendar';\nimport { SharedModule } from '../shared';\nimport { FormModule } from '../form';\nimport { DropdownModule } from '../dropdown';\nimport { StartDateDirective } from './start-date.directive';\nimport { EndDateDirective } from './end-date.directive';\n\n@NgModule({\n declarations: [\n DateRangePickerComponent,\n StartDateDirective,\n EndDateDirective\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n ButtonModule,\n CalendarModule,\n SharedModule,\n FormModule,\n DropdownModule\n ],\n exports: [\n DateRangePickerComponent\n ]\n})\nexport class DateRangePickerModule {\n}\n","import { Component, HostBinding, Input } from '@angular/core';\r\n\r\nimport { Colors } from '../coreui.types';\r\n\r\n@Component({\r\n selector: 'c-spinner',\r\n templateUrl: './spinner.component.html',\r\n})\r\nexport class SpinnerComponent {\r\n /**\r\n * Sets the color context of the component to one of CoreUI’s themed colors.\r\n * @type Colors\r\n */\r\n @Input() color?: Colors;\r\n\r\n /**\r\n * Label for accessibility.\r\n * @type string\r\n * @default 'Loading...'\r\n */\r\n @Input() label: string = \"Loading...\";\r\n\r\n /**\r\n * Size the component small.\r\n * @type string\r\n * @values 'sm'\r\n */\r\n @Input() size?: 'sm';\r\n\r\n /**\r\n * Set the button variant to an outlined button or a ghost button.\r\n * @values 'border' | 'grow'\r\n * @default 'border'\r\n */\r\n @Input() variant?: 'border' | 'grow' = 'border';\r\n\r\n @Input()\r\n @HostBinding('attr.role') role = 'status';\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n [`spinner-${this.variant}`]: true,\r\n [`text-${this.color}`]: !!this.color,\r\n [`spinner-${this.variant}-${this.size}`]: !!this.size\r\n };\r\n }\r\n}\r\n","<span class=\"visually-hidden\">{{label}}</span>\r\n","import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, HostBinding, Input, ViewChild } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-element-cover, [cElementCover]',\r\n templateUrl: './element-cover.component.html',\r\n styleUrls: ['./element-cover.component.scss']\r\n})\r\nexport class ElementCoverComponent implements AfterViewInit {\r\n\r\n constructor(private elementRef: ElementRef, private changeDetectorRef: ChangeDetectorRef) {}\r\n\r\n /**\r\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:\r\n * - sides (array) - select boundaries of element to define boundaries. Side names: 'top', 'bottom', 'right', 'left'.\r\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]\r\n * @type {sides: string[], query: string}[]\r\n */\r\n @Input() boundaries?: { sides: string[]; query: string }[];\r\n @Input() opacity: number = 0.4;\r\n\r\n @ViewChild('content') content?: ElementRef;\r\n hasContent = true;\r\n #parent!: any;\r\n\r\n private get customBoundaries() {\r\n if (!this.boundaries || this.elementRef === null) {\r\n return {};\r\n }\r\n if (!this.#parent) {\r\n return {};\r\n }\r\n const parentCoords = this.#parent?.getBoundingClientRect();\r\n const _customBoundaries = {};\r\n this.boundaries.forEach((value: any) => {\r\n const element = this.#parent?.querySelector(value.query);\r\n if (!element || !value.sides) {\r\n return;\r\n }\r\n const coords = element.getBoundingClientRect();\r\n value.sides.forEach((side: string) => {\r\n const sideMargin = Math.abs(coords[side] - parentCoords[side]);\r\n // @ts-ignore\r\n _customBoundaries[side] = `${sideMargin}px`;\r\n });\r\n });\r\n return _customBoundaries;\r\n }\r\n\r\n private get containerCoords() {\r\n return {\r\n top: 0, left: 0, right: 0, bottom: 0, ...this.customBoundaries\r\n };\r\n }\r\n\r\n @HostBinding('style')\r\n private get coverStyles() {\r\n return {\r\n ...this.containerCoords, position: 'absolute', backgroundColor: `rgb(255,255,255,${this.opacity})`\r\n };\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.#parent = this.elementRef.nativeElement.parentElement;\r\n this.hasContent = this.content?.nativeElement.childNodes.length ?? false;\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n}\r\n","<div [ngStyle]=\"{position: 'absolute', 'top.%': '50', 'left.%': '50', transform: 'translateX(-50%) translateY(-50%)'}\">\r\n <div #content *ngIf=\"hasContent; else defaultSpinner\">\r\n <ng-content></ng-content>\r\n </div>\r\n <ng-template #defaultSpinner>\r\n <c-spinner color=\"primary\" variant=\"grow\"></c-spinner>\r\n </ng-template>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { SpinnerComponent } from './spinner.component';\r\nimport {SharedModule} from '../shared';\r\n\r\n@NgModule({\r\n declarations: [\r\n SpinnerComponent\r\n ],\r\n exports: [\r\n SpinnerComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n SharedModule\r\n ]\r\n})\r\nexport class SpinnerModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { SpinnerModule } from '../spinner';\r\nimport { ElementCoverComponent } from './element-cover.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n ElementCoverComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n SpinnerModule\r\n ],\r\n exports: [\r\n ElementCoverComponent\r\n ]\r\n})\r\nexport class ElementCoverModule {\r\n}\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\n\r\nimport { Positions } from '../coreui.types';\r\n\r\n@Component({\r\n selector: 'c-footer, [cFooter]',\r\n template: `<ng-content></ng-content>`,\r\n})\r\nexport class FooterComponent {\r\n /**\r\n * Place footer in non-static positions. [docs]\r\n * @type Positions\r\n */\r\n @Input() position?: Positions;\r\n /**\r\n * Default role for footer. [docs]\r\n * @type string\r\n * @default 'footer'\r\n */\r\n @Input()\r\n @HostBinding('attr.role') role = 'footer';\r\n\r\n @HostBinding('class')\r\n get getClasses(): any {\r\n return {\r\n footer: true,\r\n [`footer-${this.position}`]: !!this.position,\r\n };\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { FooterComponent } from './footer.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n FooterComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n FooterComponent\r\n ]\r\n})\r\nexport class FooterModule { }\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\nimport { IContainer } from './container.type';\r\nimport { Breakpoints } from '../coreui.types';\r\n\r\n@Component({\r\n selector: 'c-container, [cContainer]',\r\n template: '<ng-content></ng-content>',\r\n styleUrls: ['./container.component.scss'],\r\n})\r\nexport class ContainerComponent implements IContainer{\r\n\r\n static ngAcceptInputType_fluid: BooleanInput;\r\n\r\n /**\r\n * Set container 100% wide until a breakpoint.\r\n */\r\n @Input() breakpoint: Exclude<Breakpoints, 'xs'> = '';\r\n /**\r\n * Set container 100% wide, spanning the entire width of the viewport.\r\n */\r\n @Input()\r\n set fluid(value: boolean) {\r\n this._fluid = coerceBooleanProperty(value);\r\n };\r\n get fluid(): boolean {\r\n return this._fluid;\r\n }\r\n private _fluid = false;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n container: !this.fluid && !this.breakpoint,\r\n 'container-fluid': this.fluid,\r\n [`container-${this.breakpoint}`]: !!this.breakpoint,\r\n };\r\n }\r\n}\r\n","import { Directive, HostBinding, Input } from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty, coerceNumberProperty, NumberInput } from '@angular/cdk/coercion';\r\n\r\nimport { ColOrder, ICol } from './col.type';\r\nimport { BreakpointInfix } from '../coreui.types';\r\n\r\n@Directive({\r\n selector: '[cCol]'\r\n})\r\nexport class ColDirective implements ICol {\r\n\r\n static ngAcceptInputType_cCol: (BooleanInput | NumberInput);\r\n static ngAcceptInputType_xs: (BooleanInput | NumberInput);\r\n static ngAcceptInputType_sm: (BooleanInput | NumberInput);\r\n static ngAcceptInputType_md: (BooleanInput | NumberInput);\r\n static ngAcceptInputType_lg: (BooleanInput | NumberInput);\r\n static ngAcceptInputType_xl: (BooleanInput | NumberInput);\r\n static ngAcceptInputType_xxl: (BooleanInput | NumberInput);\r\n\r\n /**\r\n * The number of columns/offset/order on extra small devices (<576px).\r\n * @type { 'auto' | number | boolean }\r\n */\r\n @Input()\r\n set cCol(value: (BooleanInput | NumberInput)) {\r\n this.xs = this.xs || this.coerceInput(value);\r\n }\r\n @Input()\r\n set xs(value) {\r\n this._xs = this.coerceInput(value);\r\n }\r\n get xs(): (BooleanInput | NumberInput) {\r\n return this._xs;\r\n }\r\n private _xs: (BooleanInput | NumberInput) = false;\r\n\r\n /**\r\n * The number of columns/offset/order on small devices (<768px).\r\n * @type { 'auto' | number | boolean }\r\n */\r\n @Input()\r\n set sm(value) {\r\n this._sm = this.coerceInput(value);\r\n }\r\n get sm(): (BooleanInput | NumberInput) {\r\n return this._sm;\r\n }\r\n private _sm: (BooleanInput | NumberInput) = false;\r\n\r\n /**\r\n * The number of columns/offset/order on medium devices (<992px).\r\n * @type { 'auto' | number | boolean }\r\n */\r\n @Input()\r\n set md(value) {\r\n this._md = this.coerceInput(value);\r\n }\r\n get md(): (BooleanInput | NumberInput) {\r\n return this._md;\r\n }\r\n private _md: (BooleanInput | NumberInput) = false;\r\n\r\n /**\r\n * The number of columns/offset/order on large devices (<1200px).\r\n * @type { 'auto' | number | boolean }\r\n */\r\n @Input()\r\n set lg(value) {\r\n this._lg = this.coerceInput(value);\r\n }\r\n get lg(): (BooleanInput | NumberInput) {\r\n return this._lg;\r\n }\r\n private _lg: (BooleanInput | NumberInput) = false;\r\n\r\n /**\r\n * The number of columns/offset/order on X-Large devices (<1400px).\r\n * @type { 'auto' | number | boolean }\r\n */\r\n @Input()\r\n set xl(value) {\r\n this._xl = this.coerceInput(value);\r\n }\r\n get xl(): (BooleanInput | NumberInput) {\r\n return this._xl;\r\n }\r\n private _xl: (BooleanInput | NumberInput) = false;\r\n\r\n /**\r\n * The number of columns/offset/order on XX-Large devices (≥1400px).\r\n * @type { 'auto' | number | boolean }\r\n */\r\n @Input()\r\n set xxl(value) {\r\n this._xxl = this.coerceInput(value);\r\n }\r\n get xxl(): (BooleanInput | NumberInput) {\r\n return this._xxl;\r\n }\r\n private _xxl: (BooleanInput | NumberInput) = false;\r\n\r\n @Input() offset?: (number | { 'xs'?: number, sm?: number, md?: number, lg?: number, xl?: number, xxl?: number });\r\n @Input() order?: (ColOrder | { xs?: ColOrder, sm?: ColOrder, md?: ColOrder, lg?: ColOrder, xl?: ColOrder, xxl?: ColOrder });\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n\r\n const classes: any = {\r\n col: true\r\n };\r\n\r\n Object.keys(BreakpointInfix).forEach((breakpoint) => {\r\n // @ts-ignore\r\n const value: number | string | boolean = this[breakpoint];\r\n const infix = breakpoint === 'xs' ? '' : `-${breakpoint}`;\r\n classes[`col${infix}`] = value === true;\r\n classes[`col${infix}-${value}`] = (typeof value === 'number') || (typeof value === 'string');\r\n });\r\n\r\n if (typeof this.offset === 'object') {\r\n const offset = { ...this.offset };\r\n Object.entries(offset).forEach((entry) => {\r\n const [breakpoint, value] = [...entry];\r\n const infix = breakpoint === 'xs' ? '' : `-${breakpoint}`;\r\n classes[`offset${infix}-${value}`] = value >= 0 && value <= 11;\r\n });\r\n } else {\r\n classes[`offset-${this.offset}`] = (typeof this.offset === 'number') && this.offset > 0 && this.offset <= 11;\r\n }\r\n\r\n if (typeof this.order === 'object') {\r\n const order = { ...this.order };\r\n Object.entries(order).forEach((entry) => {\r\n const [breakpoint, value] = [...entry];\r\n const infix = breakpoint === 'xs' ? '' : `-${breakpoint}`;\r\n classes[`order${infix}-${value}`] = value;\r\n });\r\n } else {\r\n classes[`order-${this.order}`] = !!this.order;\r\n }\r\n\r\n // if there is no 'col' class, add one\r\n classes.col = (!Object.entries(classes).filter(i => i[0].startsWith('col-') && i[1]).length) || this.xs === true;\r\n return classes;\r\n }\r\n\r\n coerceInput(value: (BooleanInput | NumberInput)) {\r\n if (value === 'auto') {\r\n return value;\r\n }\r\n if (value === '' || value === undefined || value === null) {\r\n return coerceBooleanProperty(value);\r\n }\r\n if (typeof value === 'boolean') {\r\n return value;\r\n }\r\n return coerceNumberProperty(value);\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\nimport { ColDirective } from './col.directive';\r\n\r\n@Component({\r\n selector: 'c-col',\r\n template: '<ng-content></ng-content>',\r\n styleUrls: ['./col.component.scss'],\r\n})\r\nexport class ColComponent extends ColDirective {}\r\n","import { Directive, HostBinding, Input } from '@angular/core';\r\n\r\nimport { BreakpointInfix } from '../coreui.types';\r\nimport { IRow, NumberOfColumns } from './row.type';\r\n\r\n@Directive({\r\n selector: '[cRow]'\r\n})\r\nexport class RowDirective implements IRow {\r\n /**\r\n * The number of columns/offset/order on extra small devices (<576px).\r\n * @type {{ cols: 'auto' | number }\r\n */\r\n @Input() xs?: NumberOfColumns;\r\n /**\r\n * The number of columns/offset/order on small devices (<768px).\r\n * @type {{ cols: 'auto' | number }\r\n */\r\n @Input() sm?: NumberOfColumns;\r\n /**\r\n * The number of columns/offset/order on medium devices (<992px).\r\n * @type {{ cols: 'auto' | number }\r\n */\r\n @Input() md?: NumberOfColumns;\r\n /**\r\n * The number of columns/offset/order on large devices (<1200px).\r\n * @type {{ cols: 'auto' | number }\r\n */\r\n @Input() lg?: NumberOfColumns;\r\n /**\r\n * The number of columns/offset/order on X-Large devices (<1400px).\r\n * @type {{ cols: 'auto' | number }\r\n */\r\n @Input() xl?: NumberOfColumns;\r\n /**\r\n * The number of columns/offset/order on XX-Large devices (≥1400px).\r\n * @type {{ cols: 'auto' | number }\r\n */\r\n @Input() xxl?: NumberOfColumns;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n\r\n const cols = this.xs;\r\n\r\n const classes: any = {\r\n row: true,\r\n [`row-cols-${cols}`]: !!cols,\r\n };\r\n\r\n Object.keys(BreakpointInfix).forEach(breakpoint => {\r\n // @ts-ignore\r\n const value: any = this[breakpoint];\r\n if ((typeof value === 'number') || (typeof value === 'string')) {\r\n const infix: string = breakpoint === 'xs' ? '' : breakpoint;\r\n classes[`row-cols-${infix}-${value}`] = !!value;\r\n }\r\n });\r\n\r\n return classes;\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\nimport { RowDirective } from './row.directive';\r\n\r\n@Component({\r\n selector: 'c-row',\r\n template: '<ng-content></ng-content>',\r\n styleUrls: ['./row.component.scss'],\r\n})\r\nexport class RowComponent extends RowDirective {}\r\n","import { Directive, HostBinding, Input } from '@angular/core';\r\n\r\nimport { BreakpointInfix } from '../coreui.types';\r\nimport { GutterBreakpoints, Gutters, IGutter, IGutterObject } from './gutter.type';\r\n\r\n@Directive({\r\n // eslint-disable-next-line @angular-eslint/directive-selector\r\n selector: '[gutter]'\r\n})\r\nexport class GutterDirective implements IGutter {\r\n /**\r\n * Define padding between columns to space and align content responsively in the Bootstrap grid system.\r\n */\r\n @Input() gutter: (IGutterObject | GutterBreakpoints | Gutters) = {};\r\n\r\n constructor() { }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n\r\n let gutterClass: any;\r\n\r\n if (typeof this.gutter === 'number') {\r\n gutterClass = GutterDirective.getGutterClasses({ g: this.gutter });\r\n return gutterClass;\r\n }\r\n\r\n {\r\n // @ts-ignore\r\n const { g, gx, gy } = { ...this.gutter };\r\n gutterClass = GutterDirective.getGutterClasses({ g, gx, gy });\r\n }\r\n\r\n Object.keys(BreakpointInfix).forEach(key => {\r\n // @ts-ignore\r\n const gutter = this.gutter[key] ? { ...this.gutter[key] } : undefined;\r\n if (gutter) {\r\n const classes = GutterDirective.getGutterClasses(gutter, key);\r\n gutterClass = { ...gutterClass, ...classes };\r\n }\r\n });\r\n return gutterClass;\r\n }\r\n\r\n private static getGutterClasses(gutter: IGutterObject, breakpoint?: string): any {\r\n const { g, gx, gy } = { ...gutter };\r\n const infix = breakpoint ? `-${breakpoint}` : '';\r\n return {\r\n [`g${infix}-${g}`]: typeof g === 'number',\r\n [`gx${infix}-${gx}`]: typeof gx === 'number',\r\n [`gy${infix}-${gy}`]: typeof gy === 'number'\r\n };\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { ContainerComponent } from './container.component';\r\nimport { RowComponent } from './row.component';\r\nimport { ColComponent } from './col.component';\r\nimport { RowDirective } from './row.directive';\r\nimport { ColDirective } from './col.directive';\r\nimport { GutterDirective } from './gutter.directive';\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n exports: [\r\n ContainerComponent,\r\n RowComponent,\r\n ColComponent,\r\n GutterDirective,\r\n RowDirective,\r\n ColDirective,\r\n ],\r\n declarations: [\r\n ContainerComponent,\r\n RowComponent,\r\n ColComponent,\r\n RowDirective,\r\n ColDirective,\r\n GutterDirective,\r\n ],\r\n providers: [],\r\n})\r\nexport class GridModule {}\r\n","import {Component, Input, HostBinding} from '@angular/core';\r\n\r\nimport { Positions } from '../../coreui.types';\r\ntype Container = boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'fluid';\r\n\r\n@Component({\r\n selector: 'c-header, [c-header]',\r\n templateUrl: './header.component.html'\r\n})\r\nexport class HeaderComponent {\r\n /**\r\n * Defines optional container wrapping children elements.\r\n */\r\n @Input() container?: Container;\r\n /**\r\n * Place header in non-static positions.\r\n */\r\n @Input() position?: Positions;\r\n /**\r\n * Default role for header. [docs]\r\n * @type string\r\n * @default 'header'\r\n */\r\n @HostBinding('attr.role')\r\n @Input() role = 'header';\r\n\r\n @HostBinding('class')\r\n get getClasses(): any {\r\n return !!this.container ? this.containerClasses : this.headerClasses;\r\n }\r\n\r\n get headerClasses(): any {\r\n return {\r\n header: true,\r\n [`header-${this.position}`]: !!this.position,\r\n };\r\n }\r\n\r\n get containerClasses(): any {\r\n return {\r\n container: this.container === true,\r\n [`container-${this.container}`]: typeof this.container === 'string'\r\n };\r\n }\r\n}\r\n","<div [class]=\"headerClasses\" *ngIf=\"!!container; else elseBlock\">\r\n <ng-content></ng-content>\r\n</div>\r\n<ng-template #elseBlock>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n\r\n\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-header-brand',\r\n template: `<ng-content></ng-content>`\r\n})\r\nexport class HeaderBrandComponent {\r\n /**\r\n * Default role for header-brand. [docs]\r\n * @type string\r\n * @default 'button'\r\n */\r\n @HostBinding('attr.role')\r\n @Input() role = 'button';\r\n\r\n @HostBinding('class.header-brand') headerBrandClass = true;\r\n}\r\n","import { Component, HostBinding } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-header-divider, [cHeaderDivider]',\r\n template: ``\r\n})\r\nexport class HeaderDividerComponent {\r\n\r\n @HostBinding('class.header-divider') headerDividerClass = true;\r\n\r\n}\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-header-nav',\r\n template: `<ng-content></ng-content>`,\r\n styleUrls: ['./header-nav.component.scss']\r\n})\r\nexport class HeaderNavComponent {\r\n /**\r\n * Default role for header-nav. [docs]\r\n * @type string\r\n * @default 'navigation'\r\n */\r\n @HostBinding('attr.role')\r\n @Input() role = 'navigation';\r\n\r\n @HostBinding('class.header-nav') headerNavClass = true;\r\n}\r\n","import { Component, HostBinding } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-header-text, [cHeaderText]',\r\n template: `<ng-content></ng-content>`,\r\n})\r\nexport class HeaderTextComponent {\r\n @HostBinding('class.header-text') headerTextClass = true;\r\n}\r\n","import { AfterContentInit, Directive, ElementRef, HostBinding, Input, Renderer2 } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cHeaderToggler]'\r\n})\r\nexport class HeaderTogglerDirective implements AfterContentInit {\r\n\r\n @HostBinding('class.header-toggler') headerToggler = true;\r\n /**\r\n * Default role for header-toggler. [docs]\r\n * @type string\r\n * @default 'button'\r\n */\r\n @HostBinding('attr.type')\r\n @Input() type = 'button';\r\n /**\r\n * Default aria-label attr for header-toggler. [docs]\r\n * @type string\r\n * @default 'Toggle navigation'\r\n */\r\n @HostBinding('attr.aria-label')\r\n @Input() ariaLabel = 'Toggle navigation';\r\n\r\n private hasContent!: boolean;\r\n\r\n constructor(\r\n private renderer: Renderer2,\r\n private hostElement: ElementRef\r\n ) { }\r\n\r\n addDefaultIcon(): void {\r\n const span = this.renderer.createElement('span');\r\n this.renderer.addClass(span, 'header-toggler-icon');\r\n this.renderer.appendChild(this.hostElement.nativeElement, span);\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.hasContent = this.hostElement.nativeElement.childNodes.length > 0;\r\n if (!this.hasContent) {\r\n this.addDefaultIcon();\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { HeaderComponent } from './header/header.component';\r\nimport { HeaderBrandComponent } from './header-brand/header-brand.component';\r\nimport { HeaderDividerComponent } from './header-divider/header-divider.component';\r\nimport { HeaderNavComponent } from './header-nav/header-nav.component';\r\nimport { HeaderTextComponent } from './header-text/header-text.component';\r\nimport { HeaderTogglerDirective } from './header-toggler/header-toggler.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n HeaderComponent,\r\n HeaderBrandComponent,\r\n HeaderDividerComponent,\r\n HeaderNavComponent,\r\n HeaderTextComponent,\r\n HeaderTogglerDirective\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n HeaderComponent,\r\n HeaderBrandComponent,\r\n HeaderDividerComponent,\r\n HeaderNavComponent,\r\n HeaderTextComponent,\r\n HeaderTogglerDirective\r\n ]\r\n})\r\nexport class HeaderModule { }\r\n","import { Directive, HostBinding, Input } from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\n@Directive({\r\n selector: '[cImg]'\r\n})\r\nexport class ImgDirective {\r\n static ngAcceptInputType_fluid: BooleanInput;\r\n static ngAcceptInputType_rounded: BooleanInput;\r\n static ngAcceptInputType_thumbnail: BooleanInput;\r\n\r\n /**\r\n * Set the horizontal aligment.\r\n * @type {'' | 'start' | 'end' | 'center'}\r\n */\r\n @Input() align: '' | 'start' | 'end' | 'center' = '';\r\n\r\n /**\r\n * Make image responsive.\r\n * @type boolean\r\n */\r\n @Input()\r\n set fluid(value: boolean) {\r\n this._fluid = coerceBooleanProperty(value);\r\n };\r\n get fluid() {\r\n return this._fluid;\r\n }\r\n private _fluid = false;\r\n\r\n /**\r\n * Make image rounded.\r\n * @type boolean\r\n */\r\n @Input()\r\n set rounded(value: boolean){\r\n this._rounded = coerceBooleanProperty(value);\r\n };\r\n get rounded() {\r\n return this._rounded;\r\n }\r\n private _rounded = false;\r\n\r\n /**\r\n * Give an image a rounded 1px border appearance.\r\n * @type boolean\r\n */\r\n @Input()\r\n set thumbnail(value: boolean) {\r\n this._thumbnail = coerceBooleanProperty(value);\r\n };\r\n get thumbnail() {\r\n return this._thumbnail;\r\n }\r\n private _thumbnail = false;\r\n\r\n /**\r\n * Color for image placeholder.\r\n */\r\n @Input() placeholderColor = 'transparent';\r\n\r\n @HostBinding('style')\r\n get getStyles(): any {\r\n return {backgroundColor: this.placeholderColor};\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n const align = this.align;\r\n return {\r\n [`float-${align}`]: align === 'start' || align === 'end',\r\n 'd-block': align === 'center',\r\n 'mx-auto': align === 'center',\r\n 'img-fluid': this.fluid,\r\n 'rounded': this.rounded,\r\n 'img-thumbnail': this.thumbnail,\r\n };\r\n }\r\n\r\n constructor() {}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ImgDirective } from './img.directive';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n ImgDirective\r\n ],\r\n declarations: [\r\n ImgDirective\r\n ],\r\n})\r\nexport class ImgModule { }\r\n","import {Directive, HostBinding, Input} from '@angular/core';\r\nimport { Sizes } from '../coreui.types';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\n@Directive({\r\n selector: '[cListGroup]'\r\n})\r\nexport class ListGroupDirective {\r\n static ngAcceptInputType_flush: BooleanInput;\r\n\r\n /**\r\n * Remove some borders and rounded corners to render list group items edge-to-edge in a parent component (e.g., `<CCard>`).\r\n * @type boolean\r\n */\r\n @Input()\r\n set flush(value: boolean) {\r\n this._flush = coerceBooleanProperty(value);\r\n };\r\n get flush() {\r\n return this._flush;\r\n }\r\n private _flush = false;\r\n /**\r\n * Specify horizontal layout type.\r\n */\r\n @Input() horizontal?: boolean | Sizes;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n const classes = {\r\n 'list-group': true,\r\n 'list-group-horizontal': this.horizontal === true || this.horizontal === '',\r\n [`list-group-horizontal-${this.horizontal}`]: !!this.horizontal && typeof this.horizontal !== 'boolean',\r\n 'list-group-flush': this.flush,\r\n };\r\n return classes;\r\n }\r\n\r\n constructor( ) { }\r\n\r\n}\r\n\r\n","import { Directive, ElementRef, HostBinding, Input } from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { Colors } from '../coreui.types';\r\n\r\n@Directive({\r\n selector: '[cListGroupItem], c-list-group-item',\r\n exportAs: 'cListGroupItem'\r\n})\r\nexport class ListGroupItemDirective {\r\n\r\n static ngAcceptInputType_disabled: BooleanInput;\r\n\r\n /**\r\n * Toggle the active state for the component.\r\n * @type boolean\r\n */\r\n @Input() active?: boolean;\r\n\r\n /**\r\n * Sets the color context of the component to one of CoreUI’s themed colors.\r\n * @type Colors\r\n */\r\n @Input() color?: Colors;\r\n\r\n /**\r\n * Set disabled attr for the host element. [docs]\r\n * @type boolean\r\n */\r\n @Input()\r\n get disabled(): boolean {\r\n return this._disabled;\r\n }\r\n set disabled(value: boolean) {\r\n this._disabled = coerceBooleanProperty(value);\r\n }\r\n private _disabled = false;\r\n\r\n @HostBinding('attr.aria-disabled')\r\n get isDisabled(): boolean | null {\r\n return this.disabled || null;\r\n }\r\n\r\n @HostBinding('attr.disabled')\r\n get attrDisabled() {\r\n return this.disabled ? '' : null;\r\n };\r\n\r\n @HostBinding('attr.tabindex')\r\n get getTabindex(): string | null {\r\n return this.disabled ? '-1' : null;\r\n }\r\n\r\n @HostBinding('attr.aria-current') get ariaCurrent(): boolean {\r\n return !!this.active;\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n const host: HTMLElement = this.hostElement.nativeElement;\r\n return {\r\n 'list-group-item': true,\r\n 'list-group-item-action': host.nodeName === 'A' || host.nodeName === 'BUTTON',\r\n active: !!this.active,\r\n disabled: this.isDisabled,\r\n [`list-group-item-${this.color}`]: !!this.color\r\n };\r\n }\r\n\r\n constructor(\r\n private hostElement: ElementRef\r\n ) { }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { ListGroupDirective } from './list-group.directive';\r\nimport { ListGroupItemDirective } from './list-group-item.directive';\r\n\r\n@NgModule({\r\n declarations: [ListGroupDirective, ListGroupItemDirective],\r\n exports: [\r\n ListGroupDirective,\r\n ListGroupItemDirective\r\n ],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class ListGroupModule { }\r\n","import { Component, EventEmitter, HostBinding, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\r\nimport { ButtonDirective } from '../button';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\n@Component({\r\n selector: 'button[cLoadingButton], a[cLoadingButton]',\r\n templateUrl: './loading-button.component.html',\r\n styleUrls: ['./loading-button.component.scss'],\r\n exportAs: 'cLoadingButton'\r\n})\r\nexport class LoadingButtonComponent extends ButtonDirective implements OnChanges {\r\n\r\n static ngAcceptInputType_disabledOnLoading: BooleanInput;\r\n\r\n /**\r\n * Makes button disabled when loading.\r\n * @type boolean\r\n */\r\n @Input()\r\n set disabledOnLoading(value: boolean) {\r\n this._disabledOnLoading = coerceBooleanProperty(value);\r\n };\r\n get disabledOnLoading() {\r\n return this._disabledOnLoading;\r\n }\r\n _disabledOnLoading = false;\r\n\r\n /**\r\n * Loading state (set to true to start animation).\r\n * @type boolean\r\n */\r\n @Input()\r\n set loading(value: boolean) {\r\n const newValue = coerceBooleanProperty(value);\r\n if (this._loading !== newValue) {\r\n this._loading = newValue;\r\n this.loadingChange.emit(newValue);\r\n }\r\n };\r\n get loading() {\r\n return this._loading;\r\n }\r\n _loading = false;\r\n\r\n /**\r\n * Sets type of spinner.\r\n * @type {'border' | 'grow'}\r\n */\r\n @Input() spinnerType: 'border' | 'grow' = 'border';\r\n\r\n /**\r\n * Event emitted on loading change\r\n * @type boolean\r\n */\r\n @Output() loadingChange: EventEmitter<boolean> = new EventEmitter();\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n @HostBinding('class')\r\n override get hostClasses() {\r\n return {\r\n 'btn-loading': true,\r\n 'is-loading': this.loading,\r\n disabled: this.disabledOnLoading && this.loading,\r\n btn: true,\r\n [`btn-${this.color}`]: !!this.color && !this.variant,\r\n [`btn-${this.variant}`]: !!this.variant && !this.color,\r\n [`btn-${this.variant}-${this.color}`]: !!this.variant && !!this.color,\r\n [`btn-${this.size}`]: !!this.size,\r\n active: this.active\r\n };\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['loading'] && !changes['loading']?.isFirstChange()) {\r\n this.disabled = this.disabledOnLoading && changes['loading'].currentValue;\r\n }\r\n }\r\n}\r\n","<c-spinner [variant]=\"spinnerType\" size=\"sm\" class=\"btn-loading-spinner\"></c-spinner>\r\n<ng-content></ng-content>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LoadingButtonComponent } from './loading-button.component';\r\nimport { SpinnerModule } from '../spinner';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n LoadingButtonComponent\r\n ],\r\n exports: [\r\n LoadingButtonComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n SpinnerModule\r\n ]\r\n})\r\nexport class LoadingButtonModule { }\r\n","import { Component, HostBinding } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-multi-select-optgroup-label',\r\n templateUrl: './multi-select-optgroup-label.component.html',\r\n styleUrls: ['./multi-select-optgroup-label.component.scss']\r\n})\r\nexport class MultiSelectOptgroupLabelComponent {\r\n\r\n constructor() { }\r\n\r\n @HostBinding('class') get hostClasses() {\r\n return {\r\n 'form-multi-select-optgroup-label': true\r\n };\r\n }\r\n}\r\n","<ng-content></ng-content>\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class MultiSelectService {\r\n constructor() {}\r\n\r\n private multiSelectState = new BehaviorSubject<any>({});\r\n multiSelectState$ = this.multiSelectState.asObservable();\r\n\r\n private multiSelectVisible = new BehaviorSubject<boolean>(false);\r\n multiSelectVisible$ = this.multiSelectVisible.asObservable();\r\n\r\n toggleOption(option: any): void {\r\n this.multiSelectState.next(option);\r\n }\r\n\r\n toggleVisible(visible: boolean): void {\r\n this.multiSelectVisible.next(visible);\r\n }\r\n}\r\n\r\n","import {\r\n AfterContentInit,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n Renderer2,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { FocusableOption, FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { MultiSelectService } from '../multi-select.service';\r\n\r\n@Component({\r\n selector: 'c-multi-select-option',\r\n templateUrl: './multi-select-option.component.html',\r\n styleUrls: ['./multi-select-option.component.scss']\r\n})\r\nexport class MultiSelectOptionComponent implements AfterContentInit, FocusableOption, OnInit, OnDestroy {\r\n\r\n constructor(\r\n private elementRef: ElementRef,\r\n private renderer: Renderer2,\r\n private changeDetectorRef: ChangeDetectorRef,\r\n private focusMonitor: FocusMonitor,\r\n private multiSelectService: MultiSelectService\r\n ) { }\r\n\r\n static ngAcceptInputType_disabled: BooleanInput;\r\n static ngAcceptInputType_selected: BooleanInput;\r\n\r\n @Input() optionsStyle: ('checkbox' | 'text') = 'checkbox';\r\n @Input() label?: string;\r\n @Input() value?: string;\r\n @Input() visible: boolean = true;\r\n @Output() selectedChange = new EventEmitter<boolean>();\r\n\r\n @ViewChild('contentDiv') content?: ElementRef;\r\n\r\n public hasContent = true;\r\n\r\n private multiselectVisibleSubscription!: Subscription;\r\n private dropdownVisible = false;\r\n\r\n @Input()\r\n set disabled(value: boolean) {\r\n this._disabled = coerceBooleanProperty(value);\r\n }\r\n get disabled() {\r\n return this._disabled;\r\n }\r\n private _disabled = false;\r\n\r\n @Input()\r\n set selected(value: (boolean | undefined)) {\r\n const newValue = coerceBooleanProperty(value);\r\n if (this._selected !== newValue) {\r\n this._selected = newValue;\r\n this.selectedChange.emit(newValue);\r\n this.multiSelectService.toggleOption(this);\r\n }\r\n }\r\n get selected() {\r\n return this._selected;\r\n }\r\n private _selected = false;\r\n\r\n @HostBinding('class')\r\n get hostClasses() {\r\n return {\r\n 'form-multi-select-option': true,\r\n 'form-multi-selected': this.selected,\r\n [`form-multi-select-option-with-${this.optionsStyle}`]: !!this.optionsStyle,\r\n disabled: this.disabled,\r\n 'd-none': !this.visible\r\n };\r\n }\r\n\r\n @HostBinding('attr.tabindex')\r\n private get tabIndex() {\r\n return this.disabled ? '-1' : '0';\r\n }\r\n\r\n @HostBinding('attr.disabled')\r\n @HostBinding('attr.aria-disabled')\r\n private get ariaDisabled() {\r\n return this.disabled || null;\r\n }\r\n\r\n @HostBinding('attr.aria-selected')\r\n private get ariaSelected() {\r\n return this.selected;\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown($event: KeyboardEvent): void {\r\n if (['Enter', ' '].includes($event.key)) {\r\n $event.preventDefault();\r\n this.selected = this.disabled ? this.selected : !this.selected;\r\n this.focus('keyboard');\r\n }\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n private onClick(): void {\r\n this.selected = this.disabled ? this.selected : !this.selected;\r\n this.focus('mouse');\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n setTimeout(() => {\r\n this.hasContent = !!this.content?.nativeElement.childNodes.length;\r\n });\r\n if (!this.label) {\r\n this.label = this.elementRef.nativeElement.innerText || this.value;\r\n }\r\n if (this.value === undefined) {\r\n this.value = this.elementRef.nativeElement.innerText || this.label;\r\n }\r\n }\r\n\r\n getLabel(): string {\r\n return <string>(this.label ?? this.value);\r\n }\r\n\r\n focus(origin?: FocusOrigin): void {\r\n if (this.dropdownVisible) {\r\n this.focusMonitor.focusVia(this.elementRef, origin ?? 'program', {preventScroll: false});\r\n this.changeDetectorRef.markForCheck();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.multiselectVisibleSubscription.unsubscribe();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.multiselectVisibleSubscription = this.multiSelectService.multiSelectVisible$.subscribe(visible => {\r\n this.dropdownVisible = visible;\r\n });\r\n }\r\n}\r\n","<div #contentDiv><ng-content></ng-content></div>\r\n<div *ngIf=\"!hasContent\">\r\n {{label ?? value}}\r\n</div>\r\n\r\n","import {\r\n AfterContentInit,\r\n Component,\r\n ContentChildren,\r\n HostBinding,\r\n Input,\r\n OnChanges,\r\n QueryList,\r\n SimpleChanges\r\n} from '@angular/core';\r\n\r\nimport { MultiSelectOptionComponent } from '../multi-select-option/multi-select-option.component';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\n@Component({\r\n selector: 'c-multi-select-optgroup',\r\n templateUrl: './multi-select-optgroup.component.html',\r\n styleUrls: ['./multi-select-optgroup.component.scss']\r\n})\r\nexport class MultiSelectOptgroupComponent implements AfterContentInit, OnChanges {\r\n\r\n static ngAcceptInputType_disabled: BooleanInput;\r\n\r\n @Input() label?: string;\r\n @Input()\r\n set disabled(value: boolean) {\r\n this._disabled = coerceBooleanProperty(value);\r\n }\r\n get disabled(): boolean {\r\n return this._disabled;\r\n }\r\n private _disabled: boolean = false;\r\n\r\n @ContentChildren(MultiSelectOptionComponent, { descendants: true }) multiSelectOptions!: QueryList<MultiSelectOptionComponent>;\r\n\r\n @HostBinding('class') get hostClasses() {\r\n return {\r\n 'form-multi-select-options': true\r\n };\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.updateMultiSelectOptions();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['disabled']) {\r\n this.updateMultiSelectOptions();\r\n }\r\n }\r\n\r\n private updateMultiSelectOptions() {\r\n this.multiSelectOptions?.forEach((option) => {\r\n option.disabled = this.disabled;\r\n });\r\n }\r\n}\r\n","<c-multi-select-optgroup-label *ngIf=\"label\">{{label}}</c-multi-select-optgroup-label>\r\n<ng-content></ng-content>\r\n","import { Component, EventEmitter, HostBinding, HostListener, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { IOption } from '../multi-select.type';\r\nimport { MultiSelectService } from '../multi-select.service';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'c-multi-select-tag',\r\n templateUrl: './multi-select-tag.component.html',\r\n styleUrls: ['./multi-select-tag.component.scss']\r\n})\r\nexport class MultiSelectTagComponent implements OnDestroy, OnInit {\r\n\r\n constructor(\r\n private multiSelectService: MultiSelectService\r\n ) { }\r\n\r\n private multiselectVisibleSubscription!: Subscription;\r\n public multiselectVisible: boolean = false;\r\n\r\n @Input() option?: IOption;\r\n\r\n @Output() remove = new EventEmitter<IOption>();\r\n\r\n @HostBinding('class')\r\n get hostClasses() {\r\n return {\r\n 'form-multi-select-tag': true\r\n };\r\n }\r\n\r\n ngOnInit(): void {\r\n this.multiselectSubscribe();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.multiselectSubscribe(false);\r\n }\r\n\r\n handleRemove($event: any): void {\r\n if (this.option) {\r\n this.option.selected = false;\r\n this.remove.emit(this.option as IOption);\r\n }\r\n }\r\n\r\n private multiselectSubscribe(subscribe: boolean = true) {\r\n if (subscribe) {\r\n this.multiselectVisibleSubscription =\r\n this.multiSelectService.multiSelectVisible$.subscribe((visible) => {\r\n setTimeout(() => {\r\n this.multiselectVisible = visible;\r\n })\r\n });\r\n } else {\r\n this.multiselectVisibleSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n}\r\n","<ng-template [ngIfElse]=\"elseContent\"\r\n [ngIf]=\"!!option\">{{option.label ?? option.value ?? 'undefined'}}</ng-template>\r\n<ng-template #elseContent>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n<button (click)=\"handleRemove($event)\" *ngIf=\"!option?.disabled\" [disabled]=\"!multiselectVisible\" aria-label=\"Clear\"\r\n cButtonClose class=\"form-multi-select-tag-delete close btn btn-xs\" type=\"button\">\r\n <span aria-hidden=\"true\" class=\"visually-hidden\">x</span>\r\n</button>\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-multi-select-native-select',\r\n templateUrl: './multi-select-native-select.component.html',\r\n styleUrls: ['./multi-select-native-select.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MultiSelectNativeSelectComponent {\r\n\r\n @Input() form?: string = '';\r\n @Input() id?: string = '';\r\n @Input() multiple?: boolean;\r\n @Input() name?: string;\r\n @Input() options?: any;\r\n @Input() disabled?: boolean;\r\n\r\n constructor(\r\n public changeDetectorRef: ChangeDetectorRef\r\n ) { }\r\n}\r\n","<select [multiple]=\"multiple\" [name]=\"name\" style=\"display: none\" tabindex=\"-1\" [id]=\"id\" [disabled]=\"disabled\">\r\n <option\r\n *ngFor=\"let option of options\"\r\n [label]=\"option.label\"\r\n [attr.selected]=\"option.selected ? '' : null\"\r\n [value]=\"option.value\"\r\n [disabled]=\"disabled\"\r\n tabindex=\"-1\"\r\n ></option>\r\n</select>\r\n\r\n","import {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n Renderer2,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\nimport { FocusKeyManager, FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\n// import { ListenersService } from '../../services/listeners.service';\nimport { IMultiSelect, IOption } 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';\n\n// const flattenArray = (options: IOption[]): IOption[] => {\n// return options.reduce((acc: IOption[], val: IOption) => {\n// return acc.concat(Array.isArray(val.options) ? flattenArray(val.options) : val);\n// }, []);\n// };\n//\n// const getSelectedOptions = (options: IOption[]) => {\n// return flattenArray(options).filter((option: IOption) => {\n// if (option.selected) {\n// return option;\n// }\n// return;\n// });\n// };\n\ninterface IPluralMap {\n [k: string]: string;\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 // ListenersService,\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MultiSelectComponent),\n multi: true\n }\n ]\n})\nexport class MultiSelectComponent\n implements IMultiSelect, ControlValueAccessor, AfterContentInit, AfterViewInit, 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 listenersService: ListenersService\n ) {}\n\n static ngAcceptInputType_multiple: BooleanInput;\n static ngAcceptInputType_disabled: BooleanInput;\n\n onChange: any = (value: any) => {};\n\n writeValue(value: (string | string[])): void {\n if (value !== null) {\n this.value = value;\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n @Input() cleaner = true;\n\n @Input()\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n get disabled(): boolean {\n return this._disabled;\n }\n private _disabled = false;\n\n @Input()\n set multiple(value: boolean) {\n this._multiple = coerceBooleanProperty(value);\n }\n get multiple(): boolean {\n return this._multiple;\n }\n private _multiple = false;\n\n @Input() nativeName = '';\n @Input() nativeId = '';\n // @Input() options = [];\n @Input() optionsMaxHeight = 'auto';\n @Input() optionsStyle: 'checkbox' | 'text' = 'checkbox';\n @Input() placeholder = 'Select...';\n @Input() search = true;\n @Input() searchNoResultsLabel = 'no items';\n @Input() selectAll = true;\n @Input() selectAllLabel = 'Select all options';\n @Input() selectionType: 'counter' | 'tags' | 'text' = 'tags';\n @Input() selectionTypeCounterText: string = 'item(s) selected';\n @Input() selectionTypeCounterTextPluralMap?: IPluralMap = { '=1': 'item selected', 'other': 'items selected' };\n\n @Input()\n set value(value: string | string[]) {\n const newValue = Array.isArray(value) ? [...value] : [value ?? ''];\n if (this._value.toString() !== newValue.toString()) {\n this._value = newValue;\n this.onChange(newValue);\n this.updateNativeSelect();\n this.valueChange.emit(this.value);\n }\n }\n get value() {\n return this.multiple ? [...this._value] : this._value[0]?.toString() ?? '';\n }\n private _value: string[] = [''];\n\n @Output() readonly valueChange = new EventEmitter<string | string[]>();\n\n @Input()\n set visible(value: boolean) {\n const newValue = coerceBooleanProperty(value);\n if (newValue !== this._visible) {\n this._visible = newValue;\n this.multiSelectService.toggleVisible(newValue);\n if (newValue) {\n this.listKeyManager.setFirstItemActive();\n }\n }\n }\n get visible() {\n return this._visible;\n }\n private _visible = false;\n\n @Output() readonly visibleChange = new EventEmitter<boolean>();\n\n isDropdownVisible = false;\n\n set selectedOptions(value) {\n this._selectedOptions = value;\n this.value = this.selectedOptions.map(item => item.value);\n this.inputElementSize();\n }\n get selectedOptions() {\n return this._selectedOptions;\n }\n private _selectedOptions: any[] = [];\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 multiselectStateSubscription!: Subscription;\n private multiselectVisibleSubscription!: Subscription;\n private multiSelectOptionsSubscription!: Subscription;\n private focusMonitorSubscription!: Subscription;\n\n @ContentChildren(MultiSelectOptionComponent, { descendants: true }) multiSelectOptions!: QueryList<MultiSelectOptionComponent>;\n\n private listKeyManager!: FocusKeyManager<MultiSelectOptionComponent>;\n\n @ViewChild('inputElement') inputElement!: ElementRef;\n @ViewChild('dropdownElement') dropdownElement!: ElementRef;\n\n @HostBinding('class') get hostClasses() {\n return {\n 'form-multi-select': true,\n 'form-multi-select-selection-tags': this.selectionType === 'tags',\n show: this.visible,\n disabled: this.disabled\n };\n }\n\n @HostBinding('attr.tabindex')\n private get tabIndex() {\n return this._tabIndex;\n }\n private set tabIndex(value) {\n setTimeout(() => {\n this._tabIndex = this.disabled || this.search ? '-1' : value === null ? null : '0';\n });\n }\n private _tabIndex: string | null = '-1';\n\n @HostListener('keyup', ['$event']) onKeyUp($event: KeyboardEvent): void {\n if (this.disabled) return;\n\n if ($event.key === 'Escape') {\n this.visible = false;\n this.searchValue = '';\n this.setFocus();\n return;\n }\n if (['Enter', ' ', 'ArrowDown'].includes($event.key) && [this.inputElement?.nativeElement ?? this.elementRef.nativeElement].includes($event.target)) {\n this.visible = true;\n if (!this.search) {\n this.setFocus();\n }\n return;\n }\n if ($event.key === 'Tab' && $event.target === this.elementRef.nativeElement) {\n this.visible = true;\n if (!this.search) {\n this.setFocus();\n }\n return;\n }\n }\n\n @HostListener('keydown', ['$event']) onKeyDown($event: KeyboardEvent) {\n if (this.disabled) return;\n // avoid setting focus to option while on input element\n if ($event.target===this.inputElement.nativeElement) return;\n this.listKeyManager.onKeydown($event);\n }\n\n @HostListener('click', ['$event']) onClick($event: MouseEvent): void {\n if (this.disabled) return;\n if (!this.visible) {\n this.visible = true;\n }\n }\n\n public visibleOptions = 0;\n\n set searchValue(value) {\n this._searchValue = value.trim();\n this.visible = !!this.searchValue.length || this.visible;\n this.filterOptions(this.searchValue);\n this.inputElementSize();\n }\n get searchValue() {\n return this._searchValue;\n }\n private _searchValue: string = '';\n\n get subtreeFocused() {\n return this._subtreeFocused;\n }\n set subtreeFocused(value: boolean) {\n this._subtreeFocused = this.disabled ? false : value;\n this.visible = value === false ? false : this.visible;\n }\n private _subtreeFocused = this.focusOrigin(null);\n\n private nativeSelectRef!: any;\n\n focusOrigin(origin: FocusOrigin): boolean {\n const focused = !!origin;\n this.searchValue = focused ? this.searchValue : '';\n return focused;\n }\n\n ngOnInit(): void {\n this.tabIndex = '0';\n }\n\n ngOnDestroy(): void {\n this.multiselectSubscribe(false);\n // this.clearListeners();\n this.focusMonitor.stopMonitoring(this.elementRef);\n this.focusMonitorSubscription?.unsubscribe();\n }\n\n ngAfterContentInit(): void {\n this.visibleOptions = this.multiSelectOptions.length;\n this.multiSelectOptions.forEach((option, index) => {\n option.optionsStyle = this.optionsStyle;\n option.selected = option.value !== undefined ? this.value.includes(option.value) || option.selected : option.selected;\n });\n this.selectedOptionsUpdate();\n this.inputElementSize();\n\n this.listKeyManager = new FocusKeyManager(this.multiSelectOptions).withHomeAndEnd().withTypeAhead();\n this.listKeyManager.skipPredicate(item => (!item.visible || item.disabled));\n this.listKeyManager.setFirstItemActive();\n this.multiselectSubscribe();\n this.createNativeSelect();\n }\n\n ngAfterViewInit(): void {\n // this.setListeners();\n this.focusMonitorSubscription = this.focusMonitor.monitor(this.elementRef, true).subscribe((origin) =>\n this.ngZone.run(() => {\n if (!this.disabled) {\n this.subtreeFocused = this.focusOrigin(origin);\n this.changeDetectorRef.markForCheck();\n }\n })\n );\n this.inputElementSize();\n }\n\n private multiselectSubscribe(subscribe: boolean = true) {\n if (subscribe) {\n this.multiselectVisibleSubscription = this.multiSelectService.multiSelectVisible$.subscribe(\n (visible) => {\n this.isDropdownVisible = visible;\n this.visibleChange.emit(visible);\n }\n );\n\n this.multiselectStateSubscription = this.multiSelectService.multiSelectState$.subscribe(\n (option) => {\n if (option.selected === true && !this.multiple) {\n const selectedOptions = this.multiSelectOptions.toArray().filter((item) => item.selected);\n selectedOptions.reverse().forEach((item) => {\n if (item !== option) {\n item.selected = false;\n }\n });\n }\n this.selectedOptionsUpdate();\n }\n );\n } else {\n this.multiselectVisibleSubscription?.unsubscribe();\n this.multiSelectOptionsSubscription?.unsubscribe();\n this.multiselectStateSubscription?.unsubscribe();\n }\n }\n\n clearAllOptions($event: MouseEvent) {\n this.selectedOptions.forEach((option) => {\n if (!option._disabled) option.selected = false;\n });\n this.setFocus();\n }\n\n selectAllOptions() {\n this.multiSelectOptions.forEach((option, index) => {\n if (!option.disabled) option.selected = true;\n });\n }\n\n // private setListeners() {\n // if (this.search) {\n // const configForInput: IListenersConfig = {\n // hostElement: this.inputElement ?? this.elementRef,\n // trigger: ['focus', 'click'],\n // callbackOn: () => {\n // console.log('focus input');\n // this.tabIndex = null;\n // // this.visible = true;\n // }\n // };\n // this.listenersService.setListeners(configForInput);\n // }\n //\n // const configForHost: IListenersConfig = {\n // hostElement: this.elementRef,\n // trigger: ['focus'],\n // callbackOn: () => {\n // console.log('focus');\n // if (this.inputElement) {\n // this.setFocus()\n // }\n // // this.inputElement?.nativeElement.focus();\n // },\n // callbackOff: () => {\n // console.log('blur');\n // }\n // };\n // this.listenersService.setListeners(configForHost);\n // }\n\n // private clearListeners() {\n // this.listenersService.clearListeners();\n // }\n\n handleTagRemove($event: IOption) {\n this.setFocus();\n }\n\n setFocus() {\n if (this.disabled) return;\n this.focusMonitor.focusVia(this.inputElement ?? this.elementRef, 'program');\n }\n\n // setFirstSelectedOptionActive() {\n // const firstSelectedOption = this.selectedOptions.find((item) => item.selected) ??\n // this.multiSelectOptions.find((item, index) => index === 0);\n // if (firstSelectedOption && this.isDropdownVisible) {\n // // this.listKeyManager.setFocusOrigin('keyboard');\n // this.listKeyManager.setActiveItem(firstSelectedOption);\n // this.changeDetectorRef.markForCheck();\n // } else {\n // // this.listKeyManager.setFocusOrigin('keyboard');\n // this.listKeyManager.setFirstItemActive();\n // this.changeDetectorRef.markForCheck();\n // }\n // }\n\n filterOptions(value: string) {\n const searchString = value.toLowerCase() ?? '';\n this.multiSelectOptions?.forEach((item, index) => {\n if (!!searchString) {\n item.visible = item.label?.toLowerCase().includes(searchString) ?? true;\n } else {\n item.visible = true;\n }\n });\n this.visibleOptions = this.multiSelectOptions?.filter((item) => item.visible).length;\n }\n\n createNativeSelect() {\n this.viewContainerRef.clear();\n this.nativeSelectRef = this.viewContainerRef.createComponent(MultiSelectNativeSelectComponent);\n this.updateNativeSelect();\n }\n\n updateNativeSelect() {\n if (!this.nativeSelectRef) return;\n\n const options = this.selectedOptions.map(item => {\n const { selected, value, label } = item;\n return { selected, value, label };\n });\n\n this.nativeSelectRef.instance.multiple = this.multiple;\n this.nativeSelectRef.instance.name = this.nativeName;\n this.nativeSelectRef.instance.form = this.nativeId;\n this.nativeSelectRef.instance.options = [...options];\n this.nativeSelectRef.instance.disabled = this.disabled;\n this.nativeSelectRef.instance.changeDetectorRef.detectChanges();\n }\n\n inputElementSize() {\n if (this.inputElement) {\n if (this.selectedOptions.length > 0 || this.selectionType === 'counter') {\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 handleSearchKeyDown($event: KeyboardEvent) {\n if (this.searchValue.length || this.selectedOptions.length === 0) return;\n\n if (['Backspace', 'Delete'].includes($event.key)) {\n $event.stopPropagation();\n const last = this.selectedOptions.filter(option => !option.disabled).pop();\n this.selectOption(last, false);\n }\n }\n\n private selectOption(option: MultiSelectOptionComponent, selected: boolean) {\n this.multiSelectOptions.forEach(item => {\n if (item === option) {\n option.selected = selected;\n }\n });\n this.selectedOptionsUpdate();\n }\n\n private selectedOptionsUpdate() {\n setTimeout(() => {\n this.selectedOptions = this.multiSelectOptions.filter((option) => !!option.selected);\n this.changeDetectorRef.markForCheck();\n })\n }\n}\n","<div class=\"form-multi-select-selection\">\r\n <ng-template [ngIf]=\"selectionType === 'tags'\">\r\n <c-multi-select-tag *ngFor=\"let option of selectedOptions; index as i\"\r\n (remove)=\"handleTagRemove($event)\"\r\n [option]=\"option\"\r\n tabindex=\"-1\">\r\n </c-multi-select-tag>\r\n </ng-template>\r\n <ng-template [ngIf]=\"selectionType === 'text' && !!selectedOptionsText\">\r\n <span>{{ selectedOptionsText }}</span>\r\n </ng-template>\r\n <ng-template [ngIf]=\"selectionType === 'counter'\">\r\n <span *ngIf=\"counterTextType === 'string'; else pluralMap\">{{ counterText }}</span>\r\n <ng-template #pluralMap>\r\n <span>{{selectedOptions.length}} {{ selectedOptions.length | i18nPlural: selectionTypeCounterTextPluralMap ?? { other: counterText } }}</span>\r\n </ng-template>\r\n </ng-template>\r\n <ng-template [ngIf]=\"!search && selectedOptions.length === 0 && selectionType !== 'counter'\">\r\n <span>{{ placeholder }}</span>\r\n </ng-template>\r\n</div>\r\n\r\n<input\r\n #inputElement\r\n (keydown)=\"handleSearchKeyDown($event)\"\r\n *ngIf=\"search && !disabled\"\r\n [(ngModel)]=\"searchValue\"\r\n [disabled]=\"disabled || !search\"\r\n [ngClass]=\"{ 'form-multi-select-search': true, disabled: disabled }\"\r\n [placeholder]=\"selectedOptions.length === 0 && selectionType !== 'counter' ? placeholder : ''\"\r\n autocomplete=\"off\"\r\n tabindex=\"{{ disabled ? '-1' : '0' }}\"\r\n type=\"text\"\r\n>\r\n\r\n<button\r\n (click)=\"clearAllOptions($event)\"\r\n *ngIf=\"cleaner && selectedOptions.length > 0 && !disabled\"\r\n [disabled]=\"disabled || !isDropdownVisible\"\r\n aria-label=\"Clear all\"\r\n cButtonClose\r\n class=\"form-multi-select-selection-cleaner\"\r\n size=\"sm\"\r\n></button>\r\n\r\n<div #dropdownElement *ngIf=\"!disabled\" class=\"form-multi-select-dropdown\">\r\n <ng-template [ngIfElse]=\"optionsEmpty\" [ngIf]=\"visibleOptions > 0\">\r\n <button (click)=\"selectAllOptions()\" *ngIf=\"selectAll && multiple\" class=\"form-multi-select-all\">\r\n {{ selectAllLabel }}\r\n </button>\r\n <div #multiselectOptionsDiv\r\n [ngStyle]=\"optionsMaxHeight !== 'auto' ? { 'maxHeight.px': optionsMaxHeight, overflow: 'scroll' } : {}\"\r\n class=\"form-multi-select-options\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n </ng-template>\r\n <ng-template #optionsEmpty>\r\n <div class=\"form-multi-select-options-empty\">{{ searchNoResultsLabel }}</div>\r\n </ng-template>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { A11yModule } from '@angular/cdk/a11y';\r\n\r\nimport { ButtonModule } from '../button';\r\n\r\nimport { MultiSelectService } from './multi-select.service';\r\nimport { MultiSelectComponent } from './multi-select/multi-select.component';\r\nimport { MultiSelectOptionComponent } from './multi-select-option/multi-select-option.component';\r\nimport { MultiSelectTagComponent } from './multi-select-tag/multi-select-tag.component';\r\nimport { MultiSelectOptgroupComponent } from './multi-select-optgroup/multi-select-optgroup.component';\r\nimport { MultiSelectOptgroupLabelComponent } from './multi-select-optgroup/multi-select-optgroup-label.component';\r\nimport { MultiSelectNativeSelectComponent } from './multi-select-native-select/multi-select-native-select.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n MultiSelectComponent,\r\n MultiSelectOptionComponent,\r\n MultiSelectOptgroupComponent,\r\n MultiSelectOptgroupLabelComponent,\r\n MultiSelectTagComponent,\r\n MultiSelectNativeSelectComponent\r\n ],\r\n imports: [CommonModule, A11yModule, ButtonModule, FormsModule],\r\n exports: [\r\n MultiSelectComponent,\r\n MultiSelectOptionComponent,\r\n MultiSelectOptgroupComponent,\r\n MultiSelectOptgroupLabelComponent,\r\n MultiSelectTagComponent\r\n ],\r\n providers: [MultiSelectService]\r\n})\r\nexport class MultiSelectModule {\r\n}\r\n","import { Directive, HostBinding, Input } from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\n@Directive({\r\n selector: '[cNavLink]'\r\n})\r\nexport class NavLinkDirective {\r\n\r\n static ngAcceptInputType_cNavLink: BooleanInput;\r\n static ngAcceptInputType_disabled: BooleanInput;\r\n\r\n /**\r\n * Sets .nav-link class to the host. [docs]\r\n * @type boolean\r\n * @default true\r\n */\r\n @Input()\r\n set cNavLink(value: boolean) {\r\n this._cNavLink = coerceBooleanProperty(value);\r\n };\r\n get cNavLink() {\r\n return this._cNavLink;\r\n }\r\n private _cNavLink = true\r\n\r\n /**\r\n * Toggle the active state for the component. [docs]\r\n * @type boolean\r\n */\r\n @Input() active?: boolean;\r\n /**\r\n * Set disabled attr for the host element. [docs]\r\n * @type boolean\r\n */\r\n @Input()\r\n get disabled(): boolean {\r\n return this._disabled;\r\n }\r\n set disabled(value: boolean) {\r\n this._disabled = coerceBooleanProperty(value);\r\n }\r\n private _disabled = false;\r\n\r\n @HostBinding('attr.aria-current')\r\n get ariaCurrent(): string | null {\r\n return this.active ? 'page' : null;\r\n }\r\n\r\n @HostBinding('attr.aria-disabled')\r\n get isDisabled(): boolean | null {\r\n return this.disabled || null;\r\n }\r\n\r\n @HostBinding('attr.disabled')\r\n get attrDisabled () {\r\n return this.disabled ? '' : null;\r\n };\r\n\r\n @HostBinding('attr.tabindex')\r\n get getTabindex(): string | null {\r\n return this.disabled ? '-1' : null;\r\n }\r\n\r\n @HostBinding('style.cursor')\r\n get getCursorStyle(): string | null {\r\n return this.disabled ? null : 'pointer';\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'nav-link': this.cNavLink,\r\n disabled: this.disabled,\r\n active: this.active\r\n };\r\n }\r\n}\r\n","import { Component, HostBinding } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-nav-item',\r\n templateUrl: './nav-item.component.html',\r\n styleUrls: ['./nav-item.component.scss']\r\n})\r\nexport class NavItemComponent {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'nav-item': true\r\n };\r\n }\r\n}\r\n","<ng-content></ng-content>\r\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'c-nav',\n template: `\n <ng-content></ng-content>`,\n styleUrls: ['./nav.component.scss']\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';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NavComponent } from './nav.component';\r\nimport { NavItemComponent } from './nav-item.component';\r\nimport { NavLinkDirective } from './nav-link.directive';\r\n\r\n@NgModule({\r\n declarations: [NavComponent, NavItemComponent, NavLinkDirective],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [NavComponent, NavItemComponent, NavLinkDirective]\r\n})\r\nexport class NavModule { }\r\n","import { AfterContentInit, Component, ContentChild, ElementRef, HostBinding, Input } from '@angular/core';\r\n\r\nimport { BreakpointObserver } from '@angular/cdk/layout';\r\n\r\nimport { CollapseDirective } from '../collapse';\r\nimport { Colors } from '../coreui.types';\r\n\r\n// todo: fix container prop issue not rendering children\r\n// todo: workaroud - use <c-container> component directly in template\r\n\r\n@Component({\r\n selector: 'c-navbar',\r\n templateUrl: './navbar.component.html',\r\n styleUrls: ['./navbar.component.scss']\r\n})\r\nexport class NavbarComponent implements AfterContentInit {\r\n /**\r\n * Sets the color context of the component to one of CoreUI’s themed colors.\r\n * @type Colors\r\n */\r\n @Input() color?: Colors;\r\n /**\r\n * Sets if the color of text should be colored for a light or dark dark background.\r\n */\r\n @Input() colorScheme?: 'dark' | 'light' = 'light';\r\n /**\r\n * Defines optional container wrapping children elements.\r\n */\r\n @Input() container?: boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'fluid';\r\n /**\r\n * Defines the responsive breakpoint to determine when content collapses.\r\n */\r\n @Input() expand?: boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';\r\n /**\r\n * Place component in non-static positions.\r\n */\r\n @Input() placement?: 'fixed-top' | 'fixed-bottom' | 'sticky-top';\r\n\r\n @ContentChild(CollapseDirective) collapse!: CollapseDirective;\r\n\r\n @HostBinding('attr.role')\r\n @Input() role = 'navigation';\r\n\r\n constructor(\r\n private hostElement: ElementRef,\r\n private breakpointObserver: BreakpointObserver\r\n ) {}\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n const expandClassSuffix: string = this.expand === true ? '' : `-${this.expand}`;\r\n return {\r\n navbar: true,\r\n 'navbar-light': this.colorScheme === 'light',\r\n 'navbar-dark': this.colorScheme === 'dark',\r\n [`navbar-expand${expandClassSuffix}`]: !!this.expand,\r\n [`bg-${this.color}`]: !!this.color,\r\n [`${this.placement}`]: !!this.placement\r\n };\r\n }\r\n\r\n get containerClass(): string {\r\n return `container${this.container !== true ? '-' + this.container : ''}`;\r\n }\r\n\r\n get breakpoint(): string | boolean {\r\n if (typeof this.expand === 'string') {\r\n return getComputedStyle(this.hostElement.nativeElement).getPropertyValue(`--cui-breakpoint-${this.expand}`);\r\n }\r\n return false;\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n if (this.breakpoint) {\r\n const onBreakpoint = `(min-width: ${this.breakpoint})`;\r\n this.breakpointObserver.observe([onBreakpoint]).subscribe(result => {\r\n if (this.collapse) {\r\n const animate = this.collapse.animate;\r\n this.collapse.toggle(false);\r\n this.collapse.animate = false;\r\n setTimeout(() => {\r\n this.collapse.toggle(result.matches);\r\n setTimeout(() => {\r\n this.collapse.animate = animate;\r\n });\r\n });\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","<ng-container *ngTemplateOutlet=\"container ? withContainerTemplate : noContainerTemplate\"></ng-container>\r\n\r\n<ng-template #withContainerTemplate>\r\n <div [ngClass]=\"containerClass\">\r\n <ng-content></ng-content>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #noContainerTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n","import { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cNavbarBrand]'\r\n})\r\nexport class NavbarBrandDirective {\r\n\r\n @HostBinding('class.navbar-brand') navbarBrand = true;\r\n @HostBinding('attr.role') role = 'button';\r\n\r\n}\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\n@Component({\r\n selector: 'c-navbar-nav',\r\n template: '<ng-content></ng-content>',\r\n})\r\nexport class NavbarNavComponent {\r\n\r\n static ngAcceptInputType_scroll: BooleanInput;\r\n\r\n /**\r\n * Enable vertical scrolling of a collapsed navbar toggleable contents.\r\n * @type boolean\r\n */\r\n @Input()\r\n set scroll(value: boolean) {\r\n this._scroll = coerceBooleanProperty(value);\r\n };\r\n get scroll() {\r\n return this._scroll;\r\n }\r\n private _scroll = false;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'navbar-nav': true,\r\n 'navbar-nav-scroll': this.scroll\r\n };\r\n }\r\n\r\n}\r\n","import { Component, HostBinding } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-navbar-text',\r\n template: '<ng-content></ng-content>',\r\n})\r\nexport class NavbarTextComponent {\r\n\r\n @HostBinding('class.navbar-text') navbarTextClass = true;\r\n\r\n}\r\n","import { AfterContentInit, Directive, ElementRef, HostBinding, HostListener, Input, Renderer2 } from '@angular/core';\r\nimport { CollapseDirective } from '../../collapse';\r\n\r\n@Directive({\r\n selector: '[cNavbarToggler]'\r\n})\r\nexport class NavbarTogglerDirective implements AfterContentInit {\r\n /**\r\n * Reference to navbar collapse element (via # template variable) . [docs]\r\n * @type string\r\n * @default 'button'\r\n */\r\n @Input('cNavbarToggler') collapseRef?: CollapseDirective;\r\n @HostBinding('class.navbar-toggler') navbarToggler = true;\r\n /**\r\n * Default type for navbar-toggler. [docs]\r\n * @type string\r\n * @default 'button'\r\n */\r\n @HostBinding('attr.type')\r\n @Input() type = 'button';\r\n /**\r\n * Default aria-label attr for navbar-toggler. [docs]\r\n * @type string\r\n * @default 'Toggle navigation'\r\n */\r\n @HostBinding('attr.aria-label')\r\n @Input() ariaLabel = 'Toggle navigation';\r\n\r\n private hasContent!: boolean;\r\n\r\n constructor(\r\n private renderer: Renderer2,\r\n private hostElement: ElementRef\r\n ) { }\r\n\r\n @HostListener('click', ['$event'])\r\n handleClick() {\r\n this.collapseRef?.toggle(!this.collapseRef?.visible);\r\n }\r\n\r\n addDefaultIcon(): void {\r\n const span = this.renderer.createElement('span');\r\n this.renderer.addClass(span, 'navbar-toggler-icon');\r\n this.renderer.appendChild(this.hostElement.nativeElement, span);\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.hasContent = this.hostElement.nativeElement.childNodes.length as boolean;\r\n if (!this.hasContent) {\r\n this.addDefaultIcon();\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { NavbarComponent } from './navbar.component';\r\nimport { NavbarBrandDirective } from './navbar-brand/navbar-brand.directive';\r\nimport { NavbarNavComponent } from './navbar-nav/navbar-nav.component';\r\nimport { NavbarTextComponent } from './navbar-text/navbar-text.component';\r\nimport { NavbarTogglerDirective } from './navbar-toggler/navbar-toggler.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n NavbarComponent,\r\n NavbarNavComponent,\r\n NavbarTextComponent,\r\n NavbarBrandDirective,\r\n NavbarTogglerDirective\r\n ],\r\n exports: [\r\n NavbarComponent,\r\n NavbarNavComponent,\r\n NavbarTextComponent,\r\n NavbarBrandDirective,\r\n NavbarTogglerDirective\r\n ],\r\n imports: [\r\n CommonModule,\r\n RouterModule\r\n ]\r\n})\r\nexport class NavbarModule { }\r\n","import { Component, HostBinding } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-modal-body',\r\n template: '<ng-content></ng-content>',\r\n styleUrls: ['./modal-body.component.scss']\r\n})\r\nexport class ModalBodyComponent {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'modal-body': true,\r\n };\r\n }\r\n}\r\n","import { Component, ElementRef, HostBinding, HostListener } from '@angular/core';\r\nimport { InteractivityChecker } from '@angular/cdk/a11y';\r\n\r\n@Component({\r\n selector: 'c-modal-content',\r\n template: '<ng-content></ng-content>'\r\n})\r\nexport class ModalContentComponent {\r\n\r\n constructor(\r\n private hostElement: ElementRef,\r\n private interactivityChecker: InteractivityChecker\r\n ) { }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'modal-content': true\r\n };\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n public onClickHandler($event: MouseEvent): boolean {\r\n $event.stopPropagation();\r\n const targetElement = $event.target;\r\n return this.hostElement?.nativeElement?.contains(targetElement) &&\r\n this.interactivityChecker.isFocusable((targetElement as HTMLElement));\r\n }\r\n}\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-modal-dialog',\r\n template: '<ng-content></ng-content>',\r\n styleUrls: ['./modal-dialog.component.scss'],\r\n})\r\nexport class ModalDialogComponent {\r\n /**\r\n * Align the modal in the center or top of the screen.\r\n * @type {'top' | 'center'}\r\n */\r\n @Input() alignment?: 'top' | 'center';\r\n /**\r\n * Set modal to covers the entire user viewport.\r\n * @type {boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'}\r\n */\r\n @Input() fullscreen?: boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';\r\n /**\r\n * Does the modal dialog itself scroll, or does the whole dialog scroll within the window.\r\n * @type boolean\r\n */\r\n @Input() scrollable?: boolean;\r\n /**\r\n * Size the component small, large, or extra large.\r\n */\r\n @Input() size?: 'sm' | 'lg' | 'xl';\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'modal-dialog': true,\r\n 'modal-dialog-centered': this.alignment === 'center',\r\n 'modal-fullscreen': this.fullscreen === true,\r\n [`modal-fullscreen-${this.fullscreen}-down`]: this.fullscreen,\r\n 'modal-dialog-scrollable': this.scrollable,\r\n [`modal-${this.size}`]: this.size\r\n };\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { ModalComponent } from './modal/modal.component';\r\n\r\nexport interface IModalAction {\r\n show?: boolean | 'toggle';\r\n modal?: ModalComponent;\r\n id?: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ModalService {\r\n\r\n private modalState = new Subject<any>();\r\n modalState$ = this.modalState.asObservable();\r\n\r\n constructor() {}\r\n\r\n toggle(action: IModalAction): void {\r\n this.modalState.next(action);\r\n }\r\n}\r\n","import { Directive, HostListener, Input } from '@angular/core';\r\n\r\nimport { ModalService } from '../modal.service';\r\n\r\n@Directive({\r\n selector: '[cModalToggle]'\r\n})\r\nexport class ModalToggleDirective {\r\n /**\r\n * Html id attr of modal to dismiss.\r\n */\r\n @Input('cModalToggle') id: string | undefined;\r\n\r\n constructor(\r\n private modalService: ModalService\r\n ) { }\r\n\r\n @HostListener('click', ['$event'])\r\n dismiss($event: any): void {\r\n $event.preventDefault();\r\n this.modalService.toggle({show: 'toggle', id: this.id});\r\n }\r\n}\r\n","import { Component, HostBinding } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-modal-footer',\r\n template: '<ng-content></ng-content>',\r\n})\r\nexport class ModalFooterComponent {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'modal-footer': true,\r\n };\r\n }\r\n\r\n}\r\n","import { Component, HostBinding } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-modal-header',\r\n template: `\r\n <ng-content></ng-content>`,\r\n})\r\nexport class ModalHeaderComponent {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'modal-header': true\r\n };\r\n }\r\n\r\n}\r\n","import { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cModalTitle]'\r\n})\r\nexport class ModalTitleDirective {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'modal-title': true,\r\n };\r\n }\r\n\r\n}\r\n","import { Inject, Injectable, Renderer2, RendererFactory2 } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BackdropService {\r\n\r\n private backdropClick = new Subject<boolean>();\r\n backdropClick$ = this.backdropClick.asObservable();\r\n\r\n private renderer: Renderer2;\r\n private unListen!: () => void;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: any,\r\n private rendererFactory: RendererFactory2\r\n ) {\r\n this.renderer = rendererFactory.createRenderer(null, null);\r\n }\r\n\r\n setBackdrop(type: string = 'modal'): any {\r\n const backdropElement = this.renderer.createElement('div');\r\n this.renderer.addClass(backdropElement, `${type}-backdrop`);\r\n this.renderer.addClass(backdropElement, 'fade');\r\n this.renderer.appendChild(this.document.body, backdropElement);\r\n this.unListen = this.renderer.listen(backdropElement, 'click', (e): void => {\r\n this.onClickHandler();\r\n });\r\n setTimeout(() => {\r\n this.renderer.addClass(backdropElement, 'show');\r\n });\r\n return backdropElement;\r\n }\r\n\r\n clearBackdrop(backdrop: any): any {\r\n if (backdrop) {\r\n this.unListen();\r\n this.renderer.removeClass(backdrop, 'show');\r\n setTimeout(() => {\r\n this.renderer.removeChild(this.document.body, backdrop);\r\n backdrop = undefined;\r\n }, 300);\r\n }\r\n return backdrop;\r\n }\r\n\r\n onClickHandler(): void {\r\n this.backdropClick.next(true);\r\n }\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener,\r\n Inject,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n Renderer2,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { animate, AnimationEvent, state, style, transition, trigger } from '@angular/animations';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { ModalService } from '../modal.service';\r\nimport { BackdropService } from '../../backdrop/backdrop.service';\r\nimport { ModalContentComponent } from '../modal-content/modal-content.component';\r\n\r\n@Component({\r\n selector: 'c-modal',\r\n animations: [\r\n trigger('showHide', [\r\n state(\r\n 'visible',\r\n style({\r\n display: 'block'\r\n })\r\n ),\r\n state(\r\n 'hidden',\r\n style({\r\n display: 'none'\r\n })\r\n ),\r\n transition('visible <=> *', [animate('300ms')],)\r\n ])\r\n ],\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.scss'],\r\n exportAs: 'cModal'\r\n})\r\nexport class ModalComponent implements OnInit, OnDestroy {\r\n\r\n static ngAcceptInputType_scrollable: BooleanInput;\r\n static ngAcceptInputType_visible: BooleanInput;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: any,\r\n private renderer: Renderer2,\r\n private hostElement: ElementRef,\r\n private modalService: ModalService,\r\n private backdropService: BackdropService\r\n ) { }\r\n\r\n /**\r\n * Align the modal in the center or top of the screen.\r\n * @type {'top' | 'center'}\r\n * @default 'top'\r\n */\r\n @Input() alignment?: 'top' | 'center' = 'top';\r\n /**\r\n * Apply a backdrop on body while modal is open.\r\n * @type boolean | 'static'\r\n * @default true\r\n */\r\n @Input() backdrop: boolean | 'static' = true;\r\n /**\r\n * Set modal to cover the entire user viewport.\r\n * @type {boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'}\r\n * @default undefined\r\n */\r\n @Input() fullscreen?: boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';\r\n /**\r\n * Closes the modal when escape key is pressed.\r\n * @type boolean\r\n * @default true\r\n */\r\n @Input() keyboard = true;\r\n @Input() id?: string;\r\n /**\r\n * Size the component small, large, or extra large.\r\n */\r\n @Input() size?: 'sm' | 'lg' | 'xl';\r\n /**\r\n * Remove animation to create modal that simply appear rather than fade in to view.\r\n */\r\n @Input() transition = true;\r\n /**\r\n * Default role for modal. [docs]\r\n * @type string\r\n * @default 'dialog'\r\n */\r\n @Input() @HostBinding('attr.role') role = 'dialog';\r\n /**\r\n * Set aria-modal html attr for modal. [docs]\r\n * @type boolean\r\n * @default true\r\n */\r\n @Input() @HostBinding('attr.aria-modal') ariaModal = true;\r\n\r\n /**\r\n * Create a scrollable modal that allows scrolling the modal body.\r\n * @type boolean\r\n */\r\n @Input()\r\n set scrollable(value: boolean) {\r\n this._scrollable = coerceBooleanProperty(value);\r\n }\r\n get scrollable(): boolean {\r\n return this._scrollable;\r\n }\r\n private _scrollable = false;\r\n\r\n /**\r\n * Toggle the visibility of modal component.\r\n * @type boolean\r\n */\r\n @Input()\r\n set visible(value: boolean) {\r\n const newValue = coerceBooleanProperty(value);\r\n if(this._visible !== newValue) {\r\n this._visible = newValue;\r\n this.setBackdrop(this.backdrop !== false && newValue);\r\n this.setBodyStyles(newValue);\r\n this.visibleChange.emit(newValue);\r\n }\r\n }\r\n get visible(): boolean {\r\n return this._visible;\r\n }\r\n private _visible!: boolean;\r\n\r\n /**\r\n * Event triggered on modal dismiss.\r\n */\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n\r\n @ViewChild(ModalContentComponent, {read: ElementRef}) modalContent!: ElementRef;\r\n private activeBackdrop!: any;\r\n private stateToggleSubscription!: Subscription;\r\n private inBoundingClientRect!: boolean;\r\n\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n modal: true,\r\n fade: this.transition,\r\n show: this.show,\r\n };\r\n }\r\n\r\n @HostBinding('attr.aria-hidden')\r\n get ariaHidden(): boolean | null {\r\n return this.visible ? null : true;\r\n };\r\n\r\n @HostBinding('attr.tabindex')\r\n get tabIndex(): string | null {\r\n return '-1';\r\n }\r\n\r\n @HostBinding('@showHide')\r\n get animateTrigger(): string {\r\n return this.visible ? 'visible' : 'hidden';\r\n }\r\n\r\n private _show = true;\r\n get show(): boolean {\r\n return this.visible && this._show;\r\n }\r\n set show(value: boolean) {\r\n this._show = value;\r\n }\r\n\r\n private get scrollbarWidth() {\r\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\r\n const documentWidth = this.document.documentElement.clientWidth;\r\n const scrollbarWidth = Math.abs((window?.innerWidth ?? documentWidth) - documentWidth);\r\n return `${scrollbarWidth}px`;\r\n }\r\n\r\n @HostListener('@showHide.start', ['$event'])\r\n animateStart(event: AnimationEvent) {\r\n this.renderer.setStyle(this.hostElement.nativeElement, 'overflow-y', 'hidden');\r\n this.show = this.visible;\r\n }\r\n\r\n @HostListener('@showHide.done', ['$event'])\r\n animateDone(event: AnimationEvent) {\r\n const scrollbarWidth = this.scrollbarWidth;\r\n setTimeout(() => {\r\n if (event.toState === 'visible') {\r\n this.inBoundingClientRect = this.modalContent?.nativeElement?.getBoundingClientRect().height <= this.document?.documentElement.clientHeight;\r\n if (!this.inBoundingClientRect) {\r\n this.renderer.setStyle(this.document.body, 'overflow-y', 'hidden');\r\n this.renderer.setStyle(this.document.body, 'padding-right', scrollbarWidth);\r\n } else {\r\n this.renderer.removeStyle(this.document.body, 'overflow-y');\r\n this.renderer.removeStyle(this.document.body, 'padding-right');\r\n }\r\n if (this.fullscreen === true) {\r\n this.renderer.setStyle(this.document.body, 'overflow-y', 'hidden');\r\n }\r\n this.renderer.removeStyle(this.hostElement.nativeElement, 'overflow-y');\r\n }\r\n });\r\n }\r\n\r\n @HostListener('document:keydown', ['$event'])\r\n onKeyDownHandler(event: KeyboardEvent): void {\r\n if (event.key === 'Escape' && this.keyboard && this.visible) {\r\n if (this.backdrop === 'static') {\r\n this.setStaticBackdrop();\r\n } else {\r\n this.modalService.toggle({show: false, modal: this});\r\n }\r\n }\r\n }\r\n\r\n private mouseDownTarget: EventTarget | null = null;\r\n\r\n @HostListener('mousedown', ['$event'])\r\n public onMouseDownHandler($event: MouseEvent): void {\r\n this.mouseDownTarget = $event.target;\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n public onClickHandler($event: MouseEvent): void {\r\n $event.stopPropagation();\r\n if (this.mouseDownTarget !== $event.target) {\r\n this.mouseDownTarget = null;\r\n return;\r\n }\r\n if (this.backdrop === 'static') {\r\n this.setStaticBackdrop();\r\n return;\r\n }\r\n this.modalService.toggle({show: false, modal: this});\r\n }\r\n\r\n ngOnInit(): void {\r\n this.stateToggleSubscribe();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.modalService.toggle({show: false, modal: this});\r\n this.stateToggleSubscribe(false);\r\n }\r\n\r\n private stateToggleSubscribe(subscribe: boolean = true): void {\r\n if (subscribe) {\r\n this.stateToggleSubscription = this.modalService.modalState$.subscribe(\r\n (action) => {\r\n if (this === action.modal || this.id === action.id) {\r\n if ('show' in action) {\r\n this.visible = action?.show === 'toggle' ? !this.visible : action.show;\r\n }\r\n } else {\r\n if (this.visible) {\r\n this.visible = false;\r\n }\r\n }\r\n }\r\n );\r\n } else {\r\n this.stateToggleSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n private setBackdrop(setBackdrop: boolean): void {\r\n if (setBackdrop) {\r\n this.activeBackdrop = this.backdropService.setBackdrop('modal');\r\n } else {\r\n this.activeBackdrop = this.backdropService.clearBackdrop(this.activeBackdrop);\r\n }\r\n }\r\n\r\n private setBodyStyles(open: boolean): void {\r\n if (open) {\r\n if (this.fullscreen === true) {\r\n this.renderer.setStyle(this.document.body, 'overflow-y', 'hidden');\r\n }\r\n if (this.backdrop === true) {\r\n this.renderer.addClass(this.document.body, 'modal-open');\r\n }\r\n } else {\r\n this.renderer.removeClass(this.document.body, 'modal-open');\r\n this.renderer.removeStyle(this.document.body, 'overflow-y');\r\n this.renderer.removeStyle(this.document.body, 'padding-right');\r\n }\r\n }\r\n\r\n private setStaticBackdrop(): void {\r\n if (this.transition) {\r\n this.renderer.addClass(this.hostElement.nativeElement, 'modal-static');\r\n this.renderer.setStyle(this.hostElement.nativeElement, 'overflow-y', 'hidden');\r\n setTimeout(() => {\r\n this.renderer.removeClass(this.hostElement.nativeElement, 'modal-static');\r\n this.renderer.removeStyle(this.hostElement.nativeElement, 'overflow-y');\r\n }, 400);\r\n }\r\n }\r\n}\r\n","<c-modal-dialog\r\n [alignment]=\"alignment\"\r\n [fullscreen]=\"fullscreen\"\r\n [scrollable]=\"scrollable\"\r\n [size]=\"size\">\r\n <c-modal-content>\r\n <div [cdkTrapFocus]=\"visible\" [cdkTrapFocusAutoCapture]=\"visible\" style=\"display: contents;\">\r\n <ng-content></ng-content>\r\n </div>\r\n </c-modal-content>\r\n</c-modal-dialog>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { A11yModule } from '@angular/cdk/a11y';\r\n\r\nimport { ModalBodyComponent } from './modal-body/modal-body.component';\r\nimport { ModalContentComponent } from './modal-content/modal-content.component';\r\nimport { ModalDialogComponent } from './modal-dialog/modal-dialog.component';\r\nimport { ModalToggleDirective } from './modal-dismiss/modal-toggle.directive';\r\nimport { ModalFooterComponent } from './modal-footer/modal-footer.component';\r\nimport { ModalHeaderComponent } from './modal-header/modal-header.component';\r\nimport { ModalTitleDirective } from './modal-title/modal-title.directive';\r\nimport { ModalComponent } from './modal/modal.component';\r\nimport { ModalService } from './modal.service';\r\n\r\n@NgModule({\r\n declarations: [\r\n ModalBodyComponent,\r\n ModalContentComponent,\r\n ModalDialogComponent,\r\n ModalToggleDirective,\r\n ModalFooterComponent,\r\n ModalHeaderComponent,\r\n ModalTitleDirective,\r\n ModalComponent,\r\n ],\r\n exports: [\r\n ModalBodyComponent,\r\n ModalContentComponent,\r\n ModalDialogComponent,\r\n ModalToggleDirective,\r\n ModalFooterComponent,\r\n ModalHeaderComponent,\r\n ModalTitleDirective,\r\n ModalComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n A11yModule\r\n ],\r\n providers: [\r\n ModalService\r\n ]\r\n})\r\nexport class ModalModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { OffcanvasComponent } from './offcanvas/offcanvas.component';\r\n\r\nexport interface IOffcanvasAction {\r\n show?: boolean | 'toggle';\r\n offcanvas?: OffcanvasComponent;\r\n id?: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OffcanvasService {\r\n\r\n private offcanvasState = new Subject<any>();\r\n offcanvasState$ = this.offcanvasState.asObservable();\r\n\r\n constructor() { }\r\n\r\n toggle(action: IOffcanvasAction): void {\r\n this.offcanvasState.next(action);\r\n }\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener,\r\n Inject,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n PLATFORM_ID,\r\n Renderer2,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport { animate, state, style, transition, trigger, } from '@angular/animations';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { OffcanvasService } from '../offcanvas.service';\r\nimport { BackdropService } from '../../backdrop/backdrop.service';\r\nimport { DOCUMENT, isPlatformBrowser } from '@angular/common';\r\n\r\nlet nextId = 0;\r\n\r\n@Component({\r\n selector: 'c-offcanvas',\r\n animations: [\r\n trigger('showHide', [\r\n state(\r\n 'true',\r\n style({\r\n visibility: 'visible',\r\n })\r\n ),\r\n state(\r\n 'false',\r\n style({\r\n visibility: 'hidden',\r\n })\r\n ),\r\n transition('true => false', [animate('300ms')]),\r\n ]),\r\n ],\r\n templateUrl: './offcanvas.component.html',\r\n styleUrls: ['./offcanvas.component.scss'],\r\n exportAs: 'cOffcanvas',\r\n})\r\nexport class OffcanvasComponent implements OnChanges, OnInit, OnDestroy {\r\n\r\n static ngAcceptInputType_scroll: BooleanInput;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: any,\r\n @Inject(PLATFORM_ID) private platformId: any,\r\n private renderer: Renderer2,\r\n private hostElement: ElementRef,\r\n private offcanvasService: OffcanvasService,\r\n private backdropService: BackdropService\r\n ) { }\r\n\r\n /**\r\n * Apply a backdrop on body while offcanvas is open.\r\n * @type boolean\r\n * @default true\r\n */\r\n @Input() backdrop = true;\r\n\r\n /**\r\n * Closes the offcanvas when escape key is pressed [docs]\r\n * @type boolean\r\n * @default true\r\n */\r\n @Input() keyboard = true;\r\n\r\n /**\r\n * Components placement, there’s no default placement.\r\n * @type {'start' | 'end' | 'top' | 'bottom'}\r\n * @default 'start'\r\n */\r\n @Input() placement: string | 'start' | 'end' | 'top' | 'bottom' = 'start';\r\n\r\n /**\r\n * Allow body scrolling while offcanvas is visible.\r\n * @type boolean\r\n */\r\n @Input()\r\n set scroll(value: boolean) {\r\n this._scroll = coerceBooleanProperty(value);\r\n };\r\n get scroll() {\r\n return this._scroll;\r\n }\r\n private _scroll = false;\r\n\r\n @Input() id = `offcanvas-${this.placement}-${nextId++}`;\r\n /**\r\n * Default role for offcanvas. [docs]\r\n * @type string\r\n * @default 'dialog'\r\n */\r\n @Input() @HostBinding('attr.role') role = 'dialog';\r\n\r\n /**\r\n * Set aria-modal html attr for offcanvas. [docs]\r\n * @type boolean\r\n * @default true\r\n */\r\n @Input() @HostBinding('attr.aria-modal') ariaModal = true;\r\n\r\n /**\r\n * Toggle the visibility of offcanvas component.\r\n * @type boolean\r\n */\r\n @Input()\r\n set visible(value: boolean) {\r\n this._visible = coerceBooleanProperty(value);\r\n if (value) {\r\n this.setBackdrop(this.backdrop);\r\n this.setFocus();\r\n } else {\r\n this.setBackdrop(false);\r\n }\r\n this.setScroll();\r\n this.visibleChange.emit(value);\r\n }\r\n get visible(): boolean {\r\n return this._visible;\r\n }\r\n private _visible!: boolean;\r\n\r\n /**\r\n * Event triggered on visible change.\r\n */\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n\r\n private activeBackdrop!: any;\r\n\r\n private stateToggleSubscription!: Subscription;\r\n private backdropClickSubscription!: Subscription;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n offcanvas: true,\r\n [`offcanvas-${this.placement}`]: !!this.placement,\r\n show: this.visible,\r\n };\r\n }\r\n\r\n @HostBinding('attr.aria-hidden')\r\n get ariaHidden(): boolean | null {\r\n return this.visible ? null : true;\r\n };\r\n\r\n @HostBinding('attr.tabindex')\r\n get tabIndex(): string | null {\r\n return '-1';\r\n }\r\n\r\n @HostBinding('@showHide')\r\n get animateType(): boolean {\r\n return this.visible;\r\n }\r\n\r\n @HostListener('document:keydown', ['$event'])\r\n onKeyDownHandler(event: KeyboardEvent): void {\r\n if (event.key === 'Escape' && this.keyboard && this.visible) {\r\n this.offcanvasService.toggle({ show: false, id: this.id });\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setScroll();\r\n this.stateToggleSubscribe();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.offcanvasService.toggle({ show: false, id: this.id });\r\n this.stateToggleSubscribe(false);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['scroll']) {\r\n this.setScroll();\r\n }\r\n }\r\n\r\n private stateToggleSubscribe(subscribe: boolean = true): void {\r\n if (subscribe) {\r\n this.stateToggleSubscription = this.offcanvasService.offcanvasState$.subscribe(\r\n (action) => {\r\n if (this === action.offcanvas || this.id === action.id) {\r\n if ('show' in action) {\r\n this.visible = action?.show === 'toggle' ? !this.visible : action.show;\r\n }\r\n }\r\n }\r\n );\r\n } else {\r\n this.stateToggleSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n private backdropClickSubscribe(subscribe: boolean = true): void {\r\n if (subscribe) {\r\n this.backdropClickSubscription = this.backdropService.backdropClick$.subscribe(\r\n (clicked) => {\r\n this.offcanvasService.toggle({ show: !clicked, id: this.id });\r\n }\r\n );\r\n } else {\r\n this.backdropClickSubscription?.unsubscribe();\r\n }\r\n }\r\n\r\n private setBackdrop(setBackdrop: boolean): void {\r\n if (setBackdrop) {\r\n this.activeBackdrop = this.backdropService.setBackdrop('offcanvas');\r\n this.backdropClickSubscribe();\r\n } else {\r\n this.activeBackdrop = this.backdropService.clearBackdrop(this.activeBackdrop);\r\n this.backdropClickSubscribe(false);\r\n }\r\n }\r\n\r\n setFocus(): void {\r\n if (isPlatformBrowser(this.platformId)) {\r\n setTimeout(() => this.hostElement.nativeElement.focus());\r\n }\r\n }\r\n\r\n setScroll() {\r\n if (this.visible) {\r\n if (!this.scroll) {\r\n this.renderer.setStyle(this.document.body, 'overflow', 'hidden');\r\n this.renderer.setStyle(this.document.body, 'paddingRight.px', '0');\r\n }\r\n return;\r\n }\r\n if (!this.scroll) {\r\n this.renderer.removeStyle(this.document.body, 'overflow');\r\n this.renderer.removeStyle(this.document.body, 'paddingRight');\r\n }\r\n }\r\n}\r\n","<div cdkTrapFocus cdkTrapFocusAutoCapture>\r\n <ng-content></ng-content>\r\n</div>\r\n\r\n","import { Component, HostBinding } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-offcanvas-body',\r\n template: `<ng-content></ng-content>`,\r\n styleUrls: ['./offcanvas-body.component.scss']\r\n})\r\nexport class OffcanvasBodyComponent {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'offcanvas-body': true,\r\n };\r\n }\r\n\r\n}\r\n","import { Component, HostBinding } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-offcanvas-header',\r\n template: `<ng-content></ng-content>`,\r\n styleUrls: ['./offcanvas-header.component.scss']\r\n})\r\nexport class OffcanvasHeaderComponent {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'offcanvas-header': true,\r\n };\r\n }\r\n\r\n}\r\n","import { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cOffcanvasTitle]'\r\n})\r\nexport class OffcanvasTitleDirective {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'offcanvas-title': true,\r\n };\r\n }\r\n\r\n}\r\n","import { Directive, HostListener, Input } from '@angular/core';\r\n\r\nimport { OffcanvasService } from '../offcanvas.service';\r\n\r\n@Directive({\r\n selector: '[cOffcanvasToggle]'\r\n})\r\nexport class OffcanvasToggleDirective {\r\n\r\n /**\r\n * Html id attr of offcanvas to toggle.\r\n * @type string\r\n */\r\n @Input('cOffcanvasToggle') id?: string;\r\n\r\n constructor(\r\n private offcanvasService: OffcanvasService\r\n ) {}\r\n\r\n @HostListener('click', ['$event'])\r\n toggleOpen($event: any): void {\r\n $event.preventDefault();\r\n this.offcanvasService.toggle({ show: 'toggle', id: this.id });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { A11yModule } from '@angular/cdk/a11y';\r\n\r\nimport { OffcanvasComponent } from './offcanvas/offcanvas.component';\r\nimport { OffcanvasBodyComponent } from './offcanvas-body/offcanvas-body.component';\r\nimport { OffcanvasHeaderComponent } from './offcanvas-header/offcanvas-header.component';\r\nimport { OffcanvasTitleDirective } from './offcanvas-title/offcanvas-title.directive';\r\nimport { OffcanvasToggleDirective } from './offcanvas-toggle/offcanvas-toggle.directive';\r\nimport { OffcanvasService } from './offcanvas.service';\r\nimport { BackdropService } from '../backdrop/backdrop.service';\r\n\r\n@NgModule({\r\n declarations: [\r\n OffcanvasComponent,\r\n OffcanvasBodyComponent,\r\n OffcanvasHeaderComponent,\r\n OffcanvasTitleDirective,\r\n OffcanvasToggleDirective\r\n ],\r\n exports: [\r\n OffcanvasComponent,\r\n OffcanvasBodyComponent,\r\n OffcanvasHeaderComponent,\r\n OffcanvasTitleDirective,\r\n OffcanvasToggleDirective\r\n ],\r\n imports: [\r\n CommonModule,\r\n A11yModule\r\n ],\r\n providers: [\r\n OffcanvasService,\r\n BackdropService\r\n ],\r\n})\r\nexport class OffcanvasModule { }\r\n","import { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cPageLink]'\r\n})\r\nexport class PageLinkDirective {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'page-link': true,\r\n };\r\n }\r\n}\r\n","import {\r\n AfterContentInit,\r\n ContentChild,\r\n Directive,\r\n ElementRef,\r\n HostBinding,\r\n Input,\r\n OnChanges,\r\n Renderer2, SimpleChanges\r\n} from '@angular/core';\r\n\r\nimport { PageLinkDirective } from '../page-link/page-link.directive';\r\n\r\n@Directive({\r\n selector: '[cPageItem]'\r\n})\r\nexport class PageItemDirective implements AfterContentInit, OnChanges {\r\n\r\n /**\r\n * Toggle the active state for the component.\r\n * @type boolean\r\n */\r\n @Input() active?: boolean;\r\n /**\r\n * Toggle the disabled state for the component.\r\n * @type boolean\r\n */\r\n @Input() disabled?: boolean;\r\n\r\n @HostBinding('attr.aria-current')\r\n get ariaCurrent(): string | null {\r\n return this.active ? 'page' : null;\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'page-item': true,\r\n disabled: this.disabled,\r\n active: this.active,\r\n };\r\n }\r\n\r\n @ContentChild(PageLinkDirective, { read: ElementRef }) pageLinkElementRef!: ElementRef;\r\n\r\n constructor(\r\n private renderer: Renderer2\r\n ) { }\r\n\r\n ngAfterContentInit(): void {\r\n this.setAttributes();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['disabled']) {\r\n this.setAttributes();\r\n }\r\n }\r\n\r\n setAttributes(): void {\r\n if (!this.pageLinkElementRef) {\r\n return\r\n }\r\n const pageLinkElement = this.pageLinkElementRef.nativeElement;\r\n\r\n if (this.disabled) {\r\n this.renderer.setAttribute(pageLinkElement, 'aria-disabled', 'true');\r\n this.renderer.setAttribute(pageLinkElement, 'tabindex', '-1');\r\n } else {\r\n this.renderer.removeAttribute(pageLinkElement, 'aria-disabled');\r\n this.renderer.removeAttribute(pageLinkElement, 'tabindex');\r\n }\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { PageItemDirective } from './page-item.directive';\r\n\r\n@Component({\r\n selector: 'c-page-item',\r\n template: `<ng-content></ng-content>`,\r\n styleUrls: ['./page-item.component.scss']\r\n})\r\nexport class PageItemComponent extends PageItemDirective { }\r\n\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-pagination',\r\n templateUrl: './pagination.component.html',\r\n styleUrls: ['./pagination.component.scss']\r\n})\r\nexport class PaginationComponent {\r\n\r\n /**\r\n * Set the alignment of pagination components.\r\n * @values 'start', 'center', 'end'\r\n */\r\n @Input() align: 'start' | 'center' | 'end' | '' = '';\r\n /**\r\n * Size the component small or large.\r\n * @values 'sm', 'lg'\r\n */\r\n @Input() size?: 'sm' | 'lg';\r\n /**\r\n * Default role for pagination. [docs]\r\n * @type string\r\n * @default 'navigation'\r\n */\r\n @HostBinding('attr.role')\r\n @Input() role = 'navigation';\r\n\r\n get paginationClass(): any {\r\n return {\r\n pagination: true,\r\n [`pagination-${this.size}`]: !!this.size,\r\n [`justify-content-${this.align}`]: !!this.align\r\n };\r\n }\r\n\r\n}\r\n","<ul [ngClass]=\"paginationClass\">\r\n <ng-content></ng-content>\r\n</ul>\r\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\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 declarations: [\n PaginationComponent,\n PageItemComponent,\n PageItemDirective,\n PageLinkDirective\n ],\n exports: [\n PaginationComponent,\n PageItemComponent,\n PageItemDirective,\n PageLinkDirective\n ],\n imports: [\n CommonModule\n ]\n})\nexport class PaginationModule {}\n","import { Directive, HostBinding, Input } from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\n@Directive({\r\n selector: '[cPlaceholder]',\r\n exportAs: 'cPlaceholder'\r\n})\r\nexport class PlaceholderDirective {\r\n\r\n static ngAcceptInputType_visible: BooleanInput;\r\n\r\n constructor() { }\r\n\r\n /**\r\n * placeholder toggler\r\n * @type boolean\r\n * @default true\r\n */\r\n @Input('cPlaceholder')\r\n set visible(value: boolean) {\r\n this._visible = coerceBooleanProperty(value);\r\n }\r\n get visible() {\r\n return this._visible;\r\n }\r\n private _visible: boolean = false;\r\n\r\n /**\r\n * Size the placeholder extra small, small, large.\r\n */\r\n @Input('cPlaceholderSize') size?: 'xs' | 'sm' | 'lg';\r\n\r\n @HostBinding('attr.aria-hidden')\r\n get ariaHidden(): boolean | null {\r\n return this.visible ? null : true;\r\n };\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'placeholder': this.visible,\r\n [`placeholder-${this.size}`]: !!this.size\r\n };\r\n }\r\n}\r\n","import { AfterContentInit, ContentChild, Directive, HostBinding, Input } from '@angular/core';\r\nimport { PlaceholderDirective } from './placeholder.directive';\r\n\r\n@Directive({\r\n selector: '[cPlaceholderAnimation]'\r\n})\r\nexport class PlaceholderAnimationDirective implements AfterContentInit {\r\n\r\n constructor() { }\r\n\r\n /**\r\n * Animation type for placeholder\r\n * @type 'glow' | 'wave'\r\n * @default undefined\r\n */\r\n @Input('cPlaceholderAnimation') animation?: 'glow' | 'wave';\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n [`placeholder-${this.animation}`]: this.animate && !!this.animation\r\n };\r\n }\r\n\r\n @ContentChild(PlaceholderDirective) placeholder!: PlaceholderDirective;\r\n private animate: boolean = false;\r\n\r\n ngAfterContentInit() {\r\n this.animate = this.placeholder?.visible;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PlaceholderDirective } from './placeholder.directive';\r\nimport { PlaceholderAnimationDirective } from './placeholder-animation.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n PlaceholderDirective,\r\n PlaceholderAnimationDirective\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n PlaceholderDirective,\r\n PlaceholderAnimationDirective\r\n ]\r\n})\r\nexport class PlaceholderModule {\r\n}\r\n","import {\r\n AfterViewInit,\r\n Component,\r\n HostBinding,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n Renderer2,\r\n SimpleChanges,\r\n TemplateRef,\r\n ViewChild,\r\n ViewContainerRef\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-popover',\r\n templateUrl: './popover.component.html',\r\n})\r\nexport class PopoverComponent implements AfterViewInit, OnChanges, OnDestroy {\r\n\r\n /**\r\n * Content of popover\r\n * @type {string | TemplateRef}\r\n */\r\n @Input() content: string | TemplateRef<any> = '';\r\n /**\r\n * Toggle the visibility of popover component.\r\n * @type boolean\r\n */\r\n @Input() visible = false;\r\n @Input() @HostBinding('attr.id') id?: string;\r\n @Input() @HostBinding('attr.role') role = 'tooltip';\r\n\r\n @ViewChild('popoverTemplate', { read: ViewContainerRef }) viewContainerRef!: ViewContainerRef;\r\n private textNode!: Text;\r\n\r\n constructor(\r\n private renderer: Renderer2\r\n ) { }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): { [klass: string]: any; } {\r\n return {\r\n popover: true,\r\n fade: true,\r\n show: this.visible,\r\n 'bs-popover-auto': true\r\n };\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.updateView(this.content);\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['content']) {\r\n setTimeout(() => {\r\n this.updateView(this.content);\r\n });\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.clear();\r\n }\r\n\r\n private clear(): void {\r\n this.viewContainerRef?.clear();\r\n if (!!this.textNode) {\r\n this.renderer.removeChild(this.textNode.parentNode, this.textNode);\r\n }\r\n }\r\n\r\n private updateView(content: string | TemplateRef<any>): void {\r\n this.clear();\r\n\r\n if (!content) {\r\n return;\r\n }\r\n\r\n if (content instanceof TemplateRef) {\r\n this.viewContainerRef.createEmbeddedView(content);\r\n } else {\r\n this.textNode = this.renderer.createText(content);\r\n const popoverBody = this.renderer.createElement('div');\r\n this.renderer.addClass(popoverBody, 'popover-body');\r\n this.renderer.appendChild(popoverBody, this.textNode);\r\n\r\n const element = this.viewContainerRef.element.nativeElement;\r\n this.renderer.appendChild(element.parentNode, popoverBody);\r\n }\r\n }\r\n}\r\n","<ng-container>\r\n <div [ngClass]=\"{'popover-arrow': !!content}\" data-popper-arrow ></div>\r\n <ng-container #popoverTemplate></ng-container>\r\n</ng-container>\r\n","import {\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n Directive,\r\n ElementRef,\r\n HostBinding,\r\n Inject,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Renderer2,\r\n SimpleChanges,\r\n TemplateRef,\r\n ViewContainerRef\r\n} from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { createPopper, Instance, Options } from '@popperjs/core';\r\n\r\nimport { Triggers } from '../coreui.types';\r\nimport { PopoverComponent } from './popover/popover.component';\r\nimport { IListenersConfig, ListenersService } from '../services/listeners.service';\r\n\r\n@Directive({\r\n selector: '[cPopover]',\r\n exportAs: 'cPopover',\r\n providers: [ListenersService]\r\n})\r\nexport class PopoverDirective implements OnChanges, OnDestroy, OnInit {\r\n\r\n /**\r\n * Content of popover\r\n * @type {string | TemplateRef}\r\n */\r\n @Input('cPopover') content: string | TemplateRef<any> = '';\r\n\r\n /**\r\n * Optional popper Options object, takes precedence over cPopoverPlacement prop\r\n * @type Partial<Options>\r\n */\r\n @Input('cPopoverOptions')\r\n set popperOptions(value: Partial<Options>) {\r\n this._popperOptions = {...this._popperOptions, placement: this.placement, ...value};\r\n };\r\n get popperOptions(): Partial<Options> {\r\n return {placement: this.placement, ...this._popperOptions};\r\n }\r\n\r\n /**\r\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.\r\n */\r\n @Input('cPopoverPlacement') placement: 'top' | 'bottom' | 'left' | 'right' = 'top';\r\n /**\r\n * Sets which event handlers you’d like provided to your toggle prop. You can specify one trigger or an array of them.\r\n * @type {'hover' | 'focus' | 'click'}\r\n */\r\n @Input('cPopoverTrigger') trigger?: Triggers | Triggers[] = 'hover';\r\n\r\n /**\r\n * Toggle the visibility of popover component.\r\n */\r\n @Input('cPopoverVisible')\r\n set visible(value: boolean) {\r\n this._visible = value;\r\n }\r\n get visible() {\r\n return this._visible;\r\n }\r\n private _visible = false;\r\n\r\n private popover!: HTMLDivElement;\r\n private popoverId!: string;\r\n private popoverRef!: ComponentRef<PopoverComponent>;\r\n private popperInstance!: Instance;\r\n\r\n private _popperOptions: Partial<Options> = {\r\n modifiers: [\r\n {\r\n name: 'offset',\r\n options: {\r\n offset: [0, 8],\r\n },\r\n },\r\n ],\r\n };\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: any,\r\n private renderer: Renderer2,\r\n private hostElement: ElementRef,\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private viewContainerRef: ViewContainerRef,\r\n private listenersService: ListenersService\r\n ) {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['visible']) {\r\n changes['visible'].currentValue ? this.addPopoverElement() : this.removePopoverElement();\r\n }\r\n }\r\n\r\n @HostBinding('attr.aria-describedby') get ariaDescribedBy(): string | null {\r\n return this.popoverId ? this.popoverId : null;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.clearListeners();\r\n this.destroyPopoverElement();\r\n }\r\n\r\n ngOnInit(): void {\r\n // this.createPopoverElement();\r\n this.setListeners();\r\n }\r\n\r\n private setListeners(): void {\r\n const config: IListenersConfig = {\r\n hostElement: this.hostElement,\r\n trigger: this.trigger,\r\n callbackToggle: () => {\r\n this.visible = !this.visible;\r\n this.visible ? this.addPopoverElement() : this.removePopoverElement();\r\n },\r\n callbackOff: () => {\r\n this.visible = false;\r\n this.removePopoverElement();\r\n },\r\n callbackOn: () => {\r\n this.visible = true;\r\n this.addPopoverElement();\r\n }\r\n }\r\n this.listenersService.setListeners(config);\r\n }\r\n\r\n private clearListeners(): void {\r\n this.listenersService.clearListeners();\r\n }\r\n\r\n private getUID(prefix: string): string {\r\n let uid = prefix ?? 'random-id';\r\n do {\r\n uid = `${prefix}-${Math.floor(Math.random() * 1000000).toString(10)}`;\r\n } while (this.document.getElementById(uid));\r\n\r\n return uid;\r\n }\r\n\r\n private createPopoverElement(): void {\r\n if (!this.popoverRef) {\r\n const popoverComponent =\r\n this.componentFactoryResolver.resolveComponentFactory(PopoverComponent);\r\n this.popoverRef = popoverComponent.create(this.viewContainerRef.injector);\r\n }\r\n }\r\n\r\n private destroyPopoverElement(): void {\r\n this.popover?.remove();\r\n this.popoverRef?.destroy();\r\n // @ts-ignore\r\n this.popoverRef = undefined;\r\n this.popperInstance?.destroy();\r\n this.viewContainerRef.detach();\r\n this.viewContainerRef.clear();\r\n }\r\n\r\n private addPopoverElement(): void {\r\n if (!this.popoverRef) {\r\n this.createPopoverElement();\r\n }\r\n this.popoverRef.instance.content = this.content;\r\n this.popover = this.popoverRef.location.nativeElement;\r\n this.renderer.addClass(this.popover, 'fade');\r\n // this.renderer.setStyle(this.popover, 'visibility', 'hidden')\r\n\r\n setTimeout(() => {\r\n this.popperInstance = createPopper(\r\n this.hostElement.nativeElement,\r\n this.popover,\r\n {...this.popperOptions}\r\n );\r\n this.viewContainerRef.insert(this.popoverRef.hostView);\r\n setTimeout(() => {\r\n this.popoverId = this.getUID('popover');\r\n this.popoverRef.instance.id = this.popoverId;\r\n this.popoverRef.instance.visible = this.visible;\r\n // this.renderer.removeStyle(this.popover, 'visibility');\r\n this.renderer.appendChild(this.document.body, this.popover);\r\n this.popperInstance.forceUpdate();\r\n // this.popoverRef.changeDetectorRef.detectChanges();\r\n }, 100);\r\n })\r\n }\r\n\r\n private removePopoverElement(): void {\r\n if (!this.popoverRef) {\r\n return;\r\n }\r\n this.popoverRef.instance.visible = this.visible;\r\n // this.popoverRef.changeDetectorRef?.detectChanges();\r\n this.popoverRef.instance.id = undefined;\r\n setTimeout(() => {\r\n this.viewContainerRef.detach();\r\n // this.viewContainerRef.remove();\r\n // this.renderer.removeChild(this.document.body, this.popover);\r\n this.popperInstance?.destroy();\r\n this.popoverId = '';\r\n }, 300);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PopoverDirective } from './popover.directive';\r\nimport { PopoverComponent } from './popover/popover.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n PopoverDirective,\r\n PopoverComponent\r\n ],\r\n exports: [\r\n PopoverDirective,\r\n PopoverComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class PopoverModule { }\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty, coerceNumberProperty, NumberInput } from '@angular/cdk/coercion';\r\n\r\n@Component({\r\n selector: 'c-progress',\r\n template: '<ng-content></ng-content>'\r\n})\r\nexport class ProgressComponent {\r\n\r\n static ngAcceptInputType_height: NumberInput;\r\n static ngAcceptInputType_thin: BooleanInput;\r\n static ngAcceptInputType_white: BooleanInput;\r\n\r\n /**\r\n * Sets the height of the component. If you set that value the inner `<CProgressBar>` will automatically resize accordingly.\r\n * @type number\r\n */\r\n @Input()\r\n set height(value: number) {\r\n this._height = coerceNumberProperty(value);\r\n }\r\n get height() {\r\n return this._height;\r\n }\r\n private _height: number = 0;\r\n\r\n /**\r\n * Displays thin progress.\r\n * @type boolean\r\n */\r\n @Input()\r\n set thin(value: boolean) {\r\n this._thin = coerceBooleanProperty(value);\r\n }\r\n get thin(): boolean {\r\n return this._thin;\r\n }\r\n private _thin = false;\r\n\r\n /**\r\n * Change the default color to white.\r\n * @type boolean\r\n */\r\n @Input()\r\n get white(): boolean {\r\n return this._white;\r\n }\r\n set white(value: boolean) {\r\n this._white = coerceBooleanProperty(value);\r\n }\r\n private _white = false;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n progress: true,\r\n 'progress-thin': this.thin,\r\n 'progress-white': this.white\r\n };\r\n }\r\n\r\n @HostBinding('style.height')\r\n get hostStyle(): any {\r\n return !!this.height ? `${this.height}px` : '';\r\n }\r\n}\r\n","import { Component, ElementRef, HostBinding, Input, OnChanges, OnInit, Renderer2, SimpleChanges } from '@angular/core';\r\nimport { Colors } from '../coreui.types';\r\nimport { BooleanInput, coerceBooleanProperty, coerceNumberProperty, NumberInput } from '@angular/cdk/coercion';\r\n\r\n@Component({\r\n selector: 'c-progress-bar',\r\n template: '<ng-content></ng-content>'\r\n})\r\nexport class ProgressBarComponent implements OnInit, OnChanges {\r\n\r\n static ngAcceptInputType_animated: BooleanInput;\r\n static ngAcceptInputType_value: NumberInput;\r\n\r\n /**\r\n * Use to animate the stripes right to left via CSS3 animations.\r\n * @type boolean\r\n */\r\n @Input()\r\n set animated(value: boolean) {\r\n this._animated = coerceBooleanProperty(value);\r\n }\r\n get animated() {\r\n return this._animated;\r\n }\r\n private _animated = false;\r\n\r\n /**\r\n * Sets the color context of the component to one of CoreUI’s themed colors.\r\n * @values 'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light'\r\n */\r\n @Input() color?: Colors;\r\n // TODO: check if this is necessary.\r\n @Input() precision = 0;\r\n /**\r\n * The percent to progress the ProgressBar.\r\n */\r\n @Input()\r\n set value(value: number) {\r\n this._value = coerceNumberProperty(value);\r\n };\r\n get value() {\r\n return this._value;\r\n }\r\n private _value = 0;\r\n /**\r\n * Set the progress bar variant to optional striped.\r\n * @values 'striped'\r\n */\r\n @Input() variant?: 'striped';\r\n\r\n /**\r\n * Set default html role attribute.\r\n * @type string\r\n */\r\n @Input()\r\n @HostBinding('attr.role') role = 'progressbar';\r\n private state = {\r\n percent: 0,\r\n min: 0,\r\n max: 100\r\n };\r\n\r\n constructor(\r\n private renderer: Renderer2,\r\n private hostElement: ElementRef\r\n ) { }\r\n\r\n get min(): number {\r\n return this.state.min;\r\n }\r\n\r\n @Input()\r\n set min(value: number) {\r\n this.state.min = isNaN(value) ? 0 : value;\r\n }\r\n\r\n get max(): number {\r\n return this.state.max;\r\n }\r\n\r\n @Input()\r\n set max(value: number) {\r\n this.state.max = isNaN(value) || value <= 0 || value === this.min ? 100 : value;\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'progress-bar': true,\r\n 'progress-bar-animated': this.animated,\r\n [`progress-bar-${this.variant}`]: !!this.variant,\r\n [`bg-${this.color}`]: !!this.color\r\n };\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setValues();\r\n }\r\n\r\n setPercent(): void {\r\n this.state.percent = +((this.value / (this.max - this.min)) * 100).toFixed(this.precision);\r\n }\r\n\r\n setValues(): void {\r\n this.setPercent();\r\n const host: HTMLElement = this.hostElement.nativeElement;\r\n this.renderer.setStyle(host, 'width', `${this.state.percent}%`);\r\n this.renderer.setAttribute(host, 'aria-valuenow', String(this.value));\r\n this.renderer.setAttribute(host, 'aria-valuemin', String(this.min));\r\n this.renderer.setAttribute(host, 'aria-valuemax', String(this.max));\r\n }\r\n\r\n public ngOnChanges(changes: SimpleChanges): void {\r\n this.setValues();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ProgressComponent } from './progress.component';\r\nimport { ProgressBarComponent } from './progress-bar.component';\r\n\r\n@NgModule({\r\n declarations: [ProgressComponent, ProgressBarComponent],\r\n exports: [\r\n ProgressComponent,\r\n ProgressBarComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class ProgressModule { }\r\n","import { Inject, Injectable, Renderer2, RendererFactory2 } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ClassToggleService {\r\n\r\n private renderer: Renderer2;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: any,\r\n private rendererFactory: RendererFactory2\r\n ) {\r\n this.renderer = rendererFactory.createRenderer(null, null);\r\n }\r\n\r\n toggle(selector: any, className: string) {\r\n const element = document.querySelector(selector);\r\n if (element) {\r\n element.classList.contains(className) ?\r\n this.renderer.removeClass(element, className) :\r\n this.renderer.addClass(element, className);\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\nimport {SidebarComponent} from './sidebar/sidebar.component';\r\n\r\nexport interface ISidebarAction {\r\n unfoldable?: boolean | 'toggle';\r\n visible?: boolean | 'toggle';\r\n toggle?: 'visible' | 'unfoldable';\r\n narrow?: boolean;\r\n mobile?: boolean;\r\n sidebar?: SidebarComponent;\r\n id?: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SidebarService {\r\n\r\n private sidebarState = new BehaviorSubject<ISidebarAction>({});\r\n sidebarState$ = this.sidebarState.asObservable();\r\n\r\n constructor() {}\r\n\r\n toggle(action: ISidebarAction): void {\r\n this.sidebarState.next(action);\r\n }\r\n}\r\n","import { Host, Inject, Injectable, Renderer2 } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { SidebarService } from '../sidebar.service';\r\nimport { SidebarComponent } from '../sidebar/sidebar.component';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SidebarBackdropService {\r\n\r\n private backdrop!: HTMLElement;\r\n renderer!: Renderer2;\r\n private clickListener = (): void => {};\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: any,\r\n // private rendererFactory: RendererFactory2,\r\n private sidebarService: SidebarService,\r\n ) {\r\n // this.renderer = rendererFactory.createRenderer(null, null);\r\n }\r\n\r\n setBackdrop(sidebar: SidebarComponent): void {\r\n const backdrop = this.document.getElementsByClassName('sidebar-backdrop');\r\n // console.log(`sidebar-${this.id}`, ' setBackdrop', backdrop);\r\n if (backdrop.length === 0) {\r\n this.backdrop = this.renderer.createElement('div');\r\n this.renderer.addClass(this.backdrop, 'sidebar-backdrop');\r\n this.renderer.appendChild(this.document.body, this.backdrop);\r\n this.clickListener = this.renderer.listen(this.backdrop, 'click', (e) => {\r\n // console.log(`sidebar-${this.id}`, ' backdrop click', e);\r\n this.sidebarService.toggle({toggle: 'visible', sidebar});\r\n });\r\n }\r\n // console.log(this.backdrop, sidebar.sidebarState.mobile, sidebar.sidebarState.show);\r\n if (this.backdrop && sidebar.sidebarState.mobile && sidebar.sidebarState.visible) {\r\n this.renderer.addClass(this.backdrop, 'fade');\r\n this.renderer.addClass(this.backdrop, 'show');\r\n // this.renderer.removeClass(this.backdrop, 'd-none');\r\n } else {\r\n this.renderer.removeClass(this.backdrop, 'show');\r\n this.renderer.removeClass(this.backdrop, 'fade');\r\n // this.renderer.addClass(this.backdrop, 'd-none');\r\n }\r\n }\r\n\r\n clearBackdrop(): void {\r\n if (this.backdrop) {\r\n // clear backdrop click Listener\r\n this.clickListener();\r\n // this.renderer.listen(this.backdrop, 'click', (e): void => {} );\r\n this.renderer.removeChild(this.document.body, this.backdrop);\r\n // @ts-ignore\r\n this.backdrop = undefined;\r\n }\r\n }\r\n\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n HostBinding,\r\n Inject,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n Renderer2,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { ISidebarAction, SidebarService } from '../sidebar.service';\r\nimport { SidebarBackdropService } from '../sidebar-backdrop/sidebar-backdrop.service';\r\n\r\n@Component({\r\n selector: 'c-sidebar',\r\n exportAs: 'cSidebar',\r\n template: '<ng-content></ng-content>',\r\n})\r\nexport class SidebarComponent implements OnChanges, OnDestroy, OnInit {\r\n\r\n static ngAcceptInputType_narrow: BooleanInput;\r\n static ngAcceptInputType_overlaid: BooleanInput;\r\n static ngAcceptInputType_unfoldable: BooleanInput;\r\n static ngAcceptInputType_visible: BooleanInput;\r\n\r\n private _narrow = false;\r\n private _overlaid = false;\r\n private _unfoldable = false;\r\n private _visible = false;\r\n private onMobile = false;\r\n private layoutChangeSubscription!: Subscription;\r\n private stateToggleSubscription!: Subscription;\r\n\r\n state: ISidebarAction = {\r\n sidebar: this\r\n };\r\n\r\n /**\r\n * Sets if the color of text should be colored for a light or dark dark background. [docs]\r\n *\r\n * @type 'dark' | 'light'\r\n */\r\n @Input() colorScheme?: 'dark' | 'light';\r\n\r\n /**\r\n * Sets html attribute id. [docs]\r\n *\r\n * @type string\r\n */\r\n @Input() id?: string;\r\n\r\n /**\r\n * Make sidebar narrow. [docs]\r\n * @type boolean\r\n */\r\n @Input()\r\n set narrow(value: boolean) {\r\n this._narrow = coerceBooleanProperty(value);\r\n }\r\n get narrow() {\r\n return this._narrow;\r\n }\r\n\r\n /**\r\n * Set sidebar to overlaid variant.\r\n * @type boolean\r\n */\r\n @Input()\r\n set overlaid(value: boolean) {\r\n this._overlaid = coerceBooleanProperty(value);\r\n }\r\n get overlaid() {\r\n return this._overlaid;\r\n }\r\n\r\n /**\r\n * Components placement, there’s no default placement. [docs]\r\n * @type 'start' | 'end'\r\n */\r\n @Input() placement?: 'start' | 'end';\r\n\r\n /**\r\n * Place sidebar in non-static positions. [docs]\r\n * @default 'fixed'\r\n */\r\n @Input() position: 'fixed' | 'sticky' = 'fixed';\r\n\r\n /**\r\n * Size the component small, large, or extra large. [docs]\r\n */\r\n @Input() size?: 'sm' | 'lg' | 'xl';\r\n\r\n /**\r\n * Expand narrowed sidebar on hover. [docs]\r\n */\r\n @Input()\r\n set unfoldable(value: boolean) {\r\n this._unfoldable = coerceBooleanProperty(value);\r\n }\r\n get unfoldable() {\r\n return this._unfoldable;\r\n }\r\n\r\n /**\r\n * Toggle the visibility of sidebar component. [docs]\r\n */\r\n @Input()\r\n set visible(value: boolean) {\r\n this._visible = coerceBooleanProperty(value);\r\n this.visibleChange.emit(this._visible);\r\n }\r\n get visible() {\r\n return this._visible;\r\n }\r\n\r\n /**\r\n * Event emitted on visibility change. [docs]\r\n * @type boolean\r\n */\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n\r\n set sidebarState(value: ISidebarAction) {\r\n const newState = value;\r\n if ('toggle' in newState) {\r\n if (newState.toggle === 'visible') {\r\n newState.visible = !this.state.visible;\r\n this.visible = newState.visible && !this.overlaid;\r\n } else if (newState.toggle === 'unfoldable') {\r\n newState.unfoldable = !this.state.unfoldable;\r\n this.unfoldable = newState.unfoldable;\r\n }\r\n }\r\n this.state = {\r\n ...this.state,\r\n ...newState\r\n };\r\n this.state.mobile && this.state.visible ? this.backdropService.setBackdrop(this) : this.backdropService.clearBackdrop();\r\n }\r\n\r\n get sidebarState(): ISidebarAction {\r\n return this.state;\r\n }\r\n\r\n get getMobileBreakpoint(): string {\r\n const element = this.document.firstElementChild;\r\n const mobileBreakpoint = getComputedStyle(element).getPropertyValue('--cui-mobile-breakpoint') || 'md';\r\n const breakpointValue = getComputedStyle(element).getPropertyValue(`--cui-breakpoint-${mobileBreakpoint.trim()}`) || '768px';\r\n return `${parseFloat(breakpointValue.trim()) - .02}px` || '767.98px';\r\n }\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: any,\r\n private renderer: Renderer2,\r\n private breakpointObserver: BreakpointObserver,\r\n private sidebarService: SidebarService,\r\n private backdropService: SidebarBackdropService\r\n ) {\r\n this.backdropService.renderer = renderer;\r\n }\r\n\r\n @HostBinding('class')\r\n get getClasses(): any {\r\n const {mobile, unfoldable, visible} = this.sidebarState;\r\n return {\r\n sidebar: true,\r\n 'sidebar-fixed': this.position === 'fixed' && !mobile,\r\n 'sidebar-narrow': this.narrow && !this.unfoldable,\r\n 'sidebar-narrow-unfoldable': unfoldable,\r\n 'sidebar-overlaid': this.overlaid,\r\n [`sidebar-${this.placement}`]: !!this.placement,\r\n [`sidebar-${this.colorScheme}`]: !!this.colorScheme,\r\n [`sidebar-${this.size}`]: !!this.size,\r\n show: visible && this.onMobile,\r\n hide: !visible && !this.onMobile\r\n };\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setInitialState();\r\n this.layoutChangeSubscribe();\r\n this.stateToggleSubscribe();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.stateToggleSubscribe(false);\r\n this.layoutChangeSubscribe(false);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const oldStateMap = new Map(Object.entries(this.state));\r\n const newStateMap = new Map();\r\n newStateMap.set('sidebar', this);\r\n\r\n const propList = ['visible', 'unfoldable', 'narrow'];\r\n\r\n for (const propName in changes) {\r\n if (propList.includes(propName)) {\r\n if (changes[propName] && !changes[propName].firstChange) {\r\n const value = coerceBooleanProperty(changes[propName].currentValue);\r\n if (oldStateMap.get(propName) !== value) {\r\n newStateMap.set(propName, value);\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (newStateMap.size > 1) {\r\n const state = Object.fromEntries(newStateMap.entries());\r\n this.sidebarService.toggle(state);\r\n }\r\n }\r\n\r\n setInitialState(): void {\r\n this.sidebarService.toggle({\r\n narrow: this.narrow,\r\n visible: this.visible,\r\n unfoldable: this.unfoldable,\r\n sidebar: this\r\n });\r\n }\r\n\r\n private stateToggleSubscribe(subscribe: boolean = true): void {\r\n if (subscribe) {\r\n this.stateToggleSubscription = this.sidebarService.sidebarState$.subscribe((state) => {\r\n if (this === state.sidebar || this.id === state.id) {\r\n this.sidebarState = state;\r\n }\r\n });\r\n } else {\r\n this.stateToggleSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n layoutChangeSubscribe(subscribe: boolean = true): void {\r\n const onMobile = `(max-width: ${this.getMobileBreakpoint})`;\r\n\r\n if (subscribe) {\r\n const layoutChanges = this.breakpointObserver.observe([onMobile]);\r\n\r\n this.layoutChangeSubscription = layoutChanges.subscribe((result: BreakpointState) => {\r\n const isOnMobile = result.breakpoints[onMobile];\r\n if (this.onMobile !== isOnMobile) {\r\n this.onMobile = isOnMobile;\r\n this.sidebarService.toggle({\r\n mobile: isOnMobile,\r\n unfoldable: isOnMobile ? false : this.unfoldable,\r\n visible: isOnMobile ? false : this.visible,\r\n sidebar: this\r\n });\r\n }\r\n });\r\n } else {\r\n this.layoutChangeSubscription.unsubscribe();\r\n }\r\n }\r\n}\r\n","import { Component, HostBinding, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-sidebar-brand',\r\n templateUrl: './sidebar-brand.component.html'\r\n})\r\nexport class SidebarBrandComponent implements OnInit {\r\n\r\n @Input() brandFull?: any;\r\n @Input() brandNarrow?: any;\r\n @Input() routerLink?: any[] | string;\r\n\r\n @HostBinding('class.sidebar-brand') sidebarBrandClass = true;\r\n\r\n brandImg = false;\r\n\r\n ngOnInit(): void {\r\n this.brandImg = Boolean(this.brandFull || this.brandNarrow);\r\n }\r\n}\r\n","<ng-template [ngIf]=\"brandImg\">\r\n <a [routerLink]=\"routerLink\">\r\n <img *ngIf=\"brandFull\"\r\n [cHtmlAttr]=\"brandFull\"\r\n [ngClass]=\"'sidebar-brand-full'\">\r\n <img *ngIf=\"brandNarrow\"\r\n [cHtmlAttr]=\"brandNarrow\"\r\n [ngClass]=\"'sidebar-brand-narrow'\">\r\n </a>\r\n</ng-template>\r\n<ng-template [ngIf]=\"!brandImg\">\r\n <ng-content></ng-content>\r\n</ng-template>\r\n","import {Directive, HostListener, Input} from '@angular/core';\r\n\r\nimport {SidebarService} from '../sidebar.service';\r\n\r\n/**\r\n * Allows the sidebar to be toggled/folded via click on host element.\r\n */\r\n@Directive({\r\n selector: '[cSidebarToggle]',\r\n exportAs: 'cSidebarToggle'\r\n})\r\nexport class SidebarToggleDirective {\r\n /**\r\n * Id of sidebar for toggle action. [docs]\r\n *\r\n * @type string\r\n */\r\n @Input('cSidebarToggle') id?: string;\r\n /**\r\n * Sidebar property name for toggle action. [docs]\r\n *\r\n * @type 'visible' | 'unfoldable'\r\n * @default 'visible'\r\n */\r\n @Input() toggle: 'visible' | 'unfoldable' = 'visible'\r\n\r\n constructor(\r\n private sidebarService: SidebarService\r\n ) {}\r\n\r\n @HostListener('click', ['$event'])\r\n toggleOpen($event: any): void {\r\n $event.preventDefault();\r\n this.sidebarService.toggle({ toggle: this.toggle, id: this.id });\r\n }\r\n}\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-sidebar-toggler',\r\n template: ``,\r\n})\r\nexport class SidebarTogglerComponent {\r\n\r\n @HostBinding('attr.role')\r\n @Input() role = 'button';\r\n\r\n @HostBinding('class.sidebar-toggler') sidebarTogglerClass = true;\r\n}\r\n","import { Component, HostBinding } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-sidebar-header',\r\n templateUrl: './sidebar-header.component.html',\r\n styleUrls: ['./sidebar-header.component.scss']\r\n})\r\nexport class SidebarHeaderComponent {\r\n constructor() {}\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'sidebar-header': true\r\n };\r\n }\r\n}\r\n","<ng-content></ng-content>\r\n","import { Component, HostBinding } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-sidebar-footer',\r\n templateUrl: './sidebar-footer.component.html',\r\n styleUrls: ['./sidebar-footer.component.scss']\r\n})\r\nexport class SidebarFooterComponent {\r\n\r\n constructor() { }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'sidebar-footer': true\r\n };\r\n }\r\n}\r\n","<ng-content></ng-content>\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { INavData } from './sidebar-nav';\r\n\r\n@Injectable()\r\nexport abstract class SidebarNavService {\r\n /**\r\n * Returns a sidebar-nav items config NavData\r\n */\r\n abstract getSidebarNavItemsConfig(): INavData[];\r\n}\r\n\r\n@Injectable()\r\nexport class SidebarNavHelper {\r\n\r\n itemType(item: INavData): string {\r\n if (item.divider) {\r\n return 'divider';\r\n } else if (item.title) {\r\n return 'title';\r\n } else if (item.children && item.children.length > 0 ) {\r\n return 'group';\r\n } else if (item.label) {\r\n return 'label';\r\n } else if (!Object.keys(item).length) {\r\n return 'empty';\r\n } else {\r\n return 'link';\r\n }\r\n }\r\n\r\n public isActive(router: any, item: INavData): boolean {\r\n return router.isActive(item.url, false);\r\n }\r\n\r\n public hasBadge = (item: INavData) => Boolean(item.badge);\r\n public hasIcon = (item: INavData) => Boolean(item.icon) || item.icon === '';\r\n public hasIconComponent = (item: INavData) => Boolean(item.iconComponent);\r\n\r\n public getIconClass(item: INavData): any {\r\n const classes = {\r\n 'nav-icon': true\r\n };\r\n const icon = item.icon;\r\n // @ts-ignore\r\n classes[icon] = this.hasIcon(item);\r\n return classes;\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-sidebar-nav-divider',\r\n template: ``\r\n})\r\nexport class SidebarNavDividerComponent {\r\n @Input() item: any;\r\n\r\n constructor() {\r\n }\r\n\r\n}\r\n","import {Component, ElementRef, Input, OnInit, Renderer2} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-sidebar-nav-title',\r\n template: '',\r\n})\r\nexport class SidebarNavTitleComponent implements OnInit {\r\n @Input() item: any;\r\n\r\n constructor(\r\n private el: ElementRef,\r\n private renderer: Renderer2,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n const nativeElement: HTMLElement = this.el.nativeElement;\r\n const name = this.renderer.createText(this.item.name);\r\n\r\n if ( this.item.class ) {\r\n const classes = this.item.class;\r\n this.renderer.addClass(nativeElement, classes);\r\n }\r\n\r\n if ( this.item.wrapper ) {\r\n const wrapper = this.renderer.createElement(this.item.wrapper.element);\r\n this.addAttribs(this.item.wrapper.attributes, wrapper);\r\n this.renderer.appendChild(wrapper, name);\r\n this.renderer.appendChild(nativeElement, wrapper);\r\n } else {\r\n this.renderer.appendChild(nativeElement, name);\r\n }\r\n }\r\n\r\n private addAttribs(attribs: { [x: string]: any; }, element: any): void {\r\n if (attribs) {\r\n for (const attr in attribs) {\r\n if (attr === 'style' && typeof(attribs[attr]) === 'object' ) {\r\n this.setStyle(attribs[attr], element);\r\n } else if (attr === 'class') {\r\n this.addClass(attribs[attr], element);\r\n } else {\r\n this.setAttrib(attr, attribs[attr], element);\r\n }\r\n }\r\n }\r\n }\r\n\r\n private setStyle(styles: { [x: string]: any; }, el: any): void {\r\n for (const style in styles) {\r\n if (style) {\r\n this.renderer.setStyle(el, style, styles[style]);\r\n }\r\n }\r\n }\r\n\r\n private addClass(classes: string | Array<string>, el: any): void {\r\n const classArray = (Array.isArray(classes) ? classes : classes.split(' '));\r\n classArray.filter((element) => element.length > 0).forEach(element => {\r\n this.renderer.addClass(el, element );\r\n });\r\n }\r\n\r\n private setAttrib(key: string, value: string, el: any): void {\r\n this.renderer.setAttribute(el, key, value );\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'cSidebarNavBadge'\r\n})\r\nexport class SidebarNavBadgePipe implements PipeTransform {\r\n\r\n transform(item: any, args?: any): any {\r\n const badge = item.badge;\r\n return {\r\n badge: true,\r\n 'ms-auto': true,\r\n 'badge-sm': !badge.size,\r\n [`badge-${badge.size}`]: !!badge.size,\r\n [`bg-${badge.color}`]: !!badge.color,\r\n [`${badge.class}`]: !!badge.class\r\n };\r\n }\r\n\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {SidebarNavHelper} from './sidebar-nav.service';\r\n\r\n@Component({\r\n selector: 'c-sidebar-nav-label',\r\n templateUrl: './sidebar-nav-label.component.html'\r\n})\r\nexport class SidebarNavLabelComponent implements OnInit {\r\n @Input() item: any;\r\n\r\n private classes = {\r\n 'c-nav-label': true,\r\n 'c-active': true\r\n };\r\n private iconClasses = {};\r\n\r\n constructor(\r\n public helper: SidebarNavHelper\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.iconClasses = this.helper.getIconClass(this.item);\r\n }\r\n\r\n getItemClass() {\r\n const itemClass = this.item.class;\r\n // @ts-ignore\r\n this.classes[itemClass] = !!itemClass;\r\n return this.classes;\r\n }\r\n getLabelIconClass() {\r\n const variant = `text-${this.item.label.variant}`;\r\n // @ts-ignore\r\n this.iconClasses[variant] = !!this.item.label.variant;\r\n const labelClass = this.item.label.class;\r\n // @ts-ignore\r\n this.iconClasses[labelClass] = !!labelClass;\r\n return this.iconClasses;\r\n }\r\n}\r\n","<a [ngClass]=\"getItemClass()\"\r\n href=\"{{item.url}}\"\r\n [cHtmlAttr]=\"item.attributes\">\r\n <i *ngIf=\"helper.hasIcon(item)\" [ngClass]=\"getLabelIconClass()\"></i>\r\n <ng-container>{{ item.name }}</ng-container>\r\n <span *ngIf=\"helper.hasBadge(item)\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge.text }}</span>\r\n</a>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'cSidebarNavLink'\r\n})\r\nexport class SidebarNavLinkPipe implements PipeTransform {\r\n\r\n transform(item: any): any {\r\n\r\n const disabled = item?.attributes?.disabled;\r\n\r\n const classes = {\r\n 'nav-link': true,\r\n disabled,\r\n 'btn-link': disabled,\r\n [`nav-link-${item.variant}`]: !!item.variant\r\n };\r\n return classes;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'cSidebarNavIcon'\r\n})\r\nexport class SidebarNavIconPipe implements PipeTransform {\r\n\r\n transform(item: any, args?: any): any {\r\n const icon = item.icon;\r\n const classes = {\r\n 'nav-icon': true,\r\n [`${icon}`]: !!icon\r\n };\r\n return classes;\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\r\nimport {NavigationEnd, Router} from '@angular/router';\r\nimport {Observable, Subscription} from 'rxjs';\r\nimport {filter} from 'rxjs/operators';\r\n\r\nimport {SidebarNavHelper} from './sidebar-nav.service';\r\n// import {SidebarService} from '../sidebar.service';\r\nimport { INavData } from './sidebar-nav';\r\n\r\n@Component({\r\n selector: 'c-sidebar-nav-link-content',\r\n template: `\r\n <ng-container *ngIf=\"true\">\r\n <ng-container>{{item?.name ?? ''}}</ng-container>\r\n </ng-container>\r\n `,\r\n providers: [ SidebarNavHelper ]\r\n})\r\nexport class SidebarNavLinkContentComponent {\r\n @Input() item?: INavData;\r\n\r\n constructor(\r\n public helper: SidebarNavHelper\r\n ) { }\r\n}\r\n\r\n@Component({\r\n selector: 'c-sidebar-nav-link',\r\n templateUrl: './sidebar-nav-link.component.html',\r\n providers: [ SidebarNavHelper ]\r\n})\r\nexport class SidebarNavLinkComponent implements OnInit, OnDestroy {\r\n\r\n // tslint:disable-next-line:variable-name\r\n protected _item: INavData = {};\r\n\r\n @Input()\r\n set item(item: INavData) {\r\n this._item = JSON.parse(JSON.stringify(item));\r\n }\r\n get item(): INavData {\r\n return this._item;\r\n }\r\n\r\n @Output() linkClick = new EventEmitter();\r\n\r\n // @ts-ignore\r\n public linkType: string;\r\n // @ts-ignore\r\n public href: string;\r\n // @ts-ignore\r\n public linkActive: boolean;\r\n // @ts-ignore\r\n private url: string;\r\n\r\n private navigationEndObservable: Observable<NavigationEnd>;\r\n // @ts-ignore\r\n private navSubscription: Subscription;\r\n\r\n constructor(\r\n public router: Router,\r\n // private renderer: Renderer2,\r\n // private hostElement: ElementRef,\r\n // private sidebarService: SidebarService\r\n ) {\r\n this.navigationEndObservable = router.events.pipe(\r\n filter(event => {\r\n return event instanceof NavigationEnd;\r\n })\r\n ) as Observable<NavigationEnd>;\r\n }\r\n\r\n ngOnInit(): void {\r\n // @ts-ignore\r\n this.url = typeof this.item.url === 'string' ? this.item.url : this.router.serializeUrl(this.router.createUrlTree(this.item.url)) ;\r\n this.linkType = this.getLinkType();\r\n this.href = this.isDisabled() ? '' : (this.item.href || this.url);\r\n this.linkActive = this.router.url.split(/[?#(;]/)[0] === this.href.split(/[?#(;]/)[0];\r\n this.navSubscription = this.navigationEndObservable.subscribe(event => {\r\n const itemUrlArray = this.href.split(/[?#(;]/)[0].split('/');\r\n const urlArray = event.urlAfterRedirects.split(/[?#(;]/)[0].split('/');\r\n this.linkActive = itemUrlArray.every((value, index) => value === urlArray[index]);\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.navSubscription.unsubscribe();\r\n }\r\n\r\n public getLinkType(): string {\r\n return this.isDisabled() ? 'disabled' : this.isExternalLink() ? 'external' : 'link';\r\n }\r\n\r\n public isDisabled(): boolean {\r\n return this.item?.attributes?.['disabled'];\r\n }\r\n\r\n public isExternalLink(): boolean {\r\n const linkPath = Array.isArray(this.item.url) ? this.item.url[0] : this.item.url;\r\n return !!this.item.href || linkPath.substring(0, 4) === 'http';\r\n }\r\n\r\n linkClicked(): void {\r\n this.linkClick.emit();\r\n }\r\n\r\n // public hideMobile() {\r\n // // todo: proper scrollIntoView() after NavigationEnd\r\n // setTimeout(() => {\r\n // console.log('scroll')\r\n // this.hostElement.nativeElement.scrollIntoView();\r\n // }, 1000)\r\n // this.sidebarService.toggle({open: false, breakpoint: ''});\r\n // }\r\n}\r\n","<ng-container [ngSwitch]=\"linkType\">\r\n <a *ngSwitchCase=\"'disabled'\"\r\n [ngClass]=\"item | cSidebarNavLink\"\r\n [cHtmlAttr]=\"item.attributes ?? {}\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: {$implicit: item}\"></ng-container>\r\n <c-sidebar-nav-link-content [item]=\"item\"></c-sidebar-nav-link-content>\r\n <span *ngIf=\"item.badge\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge?.text }}</span>\r\n </a>\r\n <a *ngSwitchCase=\"'external'\"\r\n [ngClass]=\"item | cSidebarNavLink\"\r\n [href]=\"href\"\r\n [cHtmlAttr]=\"item.attributes ?? {}\"\r\n (click)=\"linkClicked()\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: {$implicit: item}\"></ng-container>\r\n <c-sidebar-nav-link-content [item]=\"item\"></c-sidebar-nav-link-content>\r\n <span *ngIf=\"item.badge\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge?.text }}</span>\r\n </a>\r\n <a *ngSwitchDefault\r\n [ngClass]=\"item | cSidebarNavLink\"\r\n [cHtmlAttr]=\"item.attributes ?? {}\"\r\n [target]=\"item.attributes?.['target']\"\r\n [queryParams]=\"item.linkProps?.queryParams ?? null\"\r\n [fragment]=\"item.linkProps?.fragment\"\r\n [queryParamsHandling]=\"item.linkProps?.queryParamsHandling\"\r\n [preserveFragment]=\"item.linkProps?.preserveFragment ?? false\"\r\n [skipLocationChange]=\"item.linkProps?.skipLocationChange ?? false\"\r\n [replaceUrl]=\"item.linkProps?.replaceUrl ?? false\"\r\n [state]=\"item.linkProps?.state ?? {}\"\r\n [routerLink]=\"item.url\"\r\n routerLinkActive=\"active\"\r\n [routerLinkActiveOptions]=\"item.linkProps?.routerLinkActiveOptions ?? { exact: false }\"\r\n (click)=\"linkClicked()\"\r\n >\r\n<!-- [class.active]=\"linkActive\"-->\r\n <ng-container *ngTemplateOutlet=\"iconTemplate ; context: {$implicit: item}\"></ng-container>\r\n <c-sidebar-nav-link-content [item]=\"item\"></c-sidebar-nav-link-content>\r\n <span *ngIf=\"item.badge\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge?.text }}</span>\r\n </a>\r\n</ng-container>\r\n\r\n<ng-template #iconTemplate let-item>\r\n <i *ngIf=\"item?.icon\" [ngClass]=\"item | cSidebarNavIcon\"></i>\r\n <ng-template [ngIf]=\"item?.iconComponent\">\r\n <svg\r\n [cIcon]=\"item.iconComponent?.content\"\r\n [name]=\"item.iconComponent?.name\"\r\n [customClasses]=\"item | cSidebarNavIcon\"\r\n ></svg>\r\n </ng-template>\r\n <span *ngIf=\"!item?.icon && !item?.iconComponent\" [ngClass]=\"item | cSidebarNavIcon\"></span>\r\n</ng-template>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\nimport {SidebarNavHelper} from './sidebar-nav.service';\r\n\r\n@Pipe({\r\n name: 'cSidebarNavItemClass'\r\n})\r\nexport class SidebarNavItemClassPipe implements PipeTransform {\r\n\r\n constructor(\r\n public helper: SidebarNavHelper\r\n ) {}\r\n\r\n // transform(item: any, ...args: any[]): any {\r\n transform(item: any, args?: any[]): any {\r\n const itemType = this.helper.itemType(item);\r\n let itemClass;\r\n if (['divider', 'title'].includes(itemType)) {\r\n itemClass = `nav-${itemType}`;\r\n } else if (itemType === 'group') {\r\n // itemClass = 'c-sidebar-nav-group' ;\r\n itemClass = '' ;\r\n } else {\r\n itemClass = 'nav-item';\r\n }\r\n return item.class ? `${itemClass} ${item.class}` : itemClass;\r\n }\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n HostBinding,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Optional,\r\n Renderer2,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\n\r\nimport { INavData } from './sidebar-nav';\r\nimport { SidebarNavHelper } from './sidebar-nav.service';\r\nimport { SidebarService } from '../sidebar.service';\r\nimport { SidebarComponent } from '../sidebar/sidebar.component';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'c-sidebar-nav',\r\n templateUrl: './sidebar-nav.component.html',\r\n styleUrls: ['./sidebar-nav.component.scss']\r\n })\r\nexport class SidebarNavComponent implements OnChanges {\r\n @Input() navItems?: INavData[] = [];\r\n @Input() dropdownMode?: 'closeInactive' | 'noAction' | 'openActive' = 'closeInactive';\r\n @Input() groupItems?: boolean;\r\n @Input() compact?: boolean;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'sidebar-nav': !this.groupItems,\r\n compact: !this.groupItems && !!this.compact\r\n };\r\n }\r\n\r\n @HostBinding('class.nav-group-items')\r\n get sidebarNavGroupItemsClass(): boolean {\r\n return !!this.groupItems;\r\n }\r\n\r\n @HostBinding('attr.role') role = 'nav';\r\n\r\n public navItemsArray: INavData[] = [];\r\n\r\n constructor(\r\n @Optional() public sidebar: SidebarComponent,\r\n public helper: SidebarNavHelper,\r\n public router: Router,\r\n private renderer: Renderer2,\r\n private hostElement: ElementRef,\r\n private sidebarService: SidebarService\r\n ) { }\r\n\r\n public ngOnChanges(changes: SimpleChanges): void {\r\n this.navItemsArray = Array.isArray(this.navItems) ? this.navItems.slice() : [];\r\n }\r\n\r\n public hideMobile(): void {\r\n // todo: proper scrollIntoView() after NavigationEnd\r\n if (this.sidebar && this.sidebar.sidebarState.mobile) {\r\n this.sidebarService.toggle({toggle: 'visible', sidebar: this.sidebar});\r\n }\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'c-sidebar-nav-group',\r\n templateUrl: './sidebar-nav-group.component.html',\r\n styleUrls: ['./sidebar-nav-group.component.scss'],\r\n providers: [ SidebarNavHelper ]\r\n})\r\nexport class SidebarNavGroupComponent implements OnInit, OnDestroy {\r\n @Input() item: any;\r\n @Input() dropdownMode: 'closeInactive' | 'noAction' | 'openActive' = 'closeInactive';\r\n // @ts-ignore\r\n @Input() show: boolean;\r\n\r\n @HostBinding('class')\r\n // tslint:disable-next-line:typedef\r\n get hostClasses(): any {\r\n return {\r\n 'nav-group': true,\r\n show: this.open,\r\n };\r\n }\r\n\r\n // todo: dropdownMode\r\n\r\n navigationEndObservable: Observable<NavigationEnd>;\r\n // @ts-ignore\r\n navSubscription: Subscription;\r\n\r\n // @ts-ignore\r\n private open: boolean;\r\n public navItems: INavData[] = [];\r\n\r\n constructor(\r\n private router: Router,\r\n public helper: SidebarNavHelper,\r\n private hostElement: ElementRef\r\n ) {\r\n this.navigationEndObservable = router.events.pipe(\r\n filter((event: any) => event instanceof NavigationEnd)\r\n ) as Observable<NavigationEnd>;\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.navItems = [...this.item.children];\r\n\r\n this.navSubscription = this.navigationEndObservable.subscribe((event: NavigationEnd) => {\r\n const samePath = this.samePath(event.url);\r\n this.openGroup(samePath);\r\n });\r\n\r\n if (this.samePath(this.router.routerState.snapshot.url)) {\r\n this.openGroup(true);\r\n }\r\n }\r\n\r\n samePath(url: string): boolean {\r\n // console.log('item:', this.item.name, this.item.url, 'url:', url);\r\n const itemArray = this.item.url?.split('/');\r\n const urlArray = url.split('/');\r\n return itemArray?.every((value: string, index: number) => {\r\n // console.log(value === urlArray[index], 'value:', value, 'index:', index, urlArray[index], url);\r\n return value === urlArray[index];\r\n });\r\n }\r\n\r\n openGroup(open: boolean): void {\r\n this.open = open;\r\n }\r\n\r\n toggleGroup($event: any): void {\r\n $event.preventDefault();\r\n this.open = !this.open;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.navSubscription.unsubscribe();\r\n }\r\n}\r\n","<ng-container *ngFor=\"let item of navItemsArray\">\r\n <ng-container [ngSwitch]=\"helper.itemType(item)\">\r\n <c-sidebar-nav-group\r\n *ngSwitchCase=\"'group'\"\r\n [item]=\"item\"\r\n [ngClass]=\"item | cSidebarNavItemClass\"\r\n routerLinkActive=\"show\"\r\n #rla=\"routerLinkActive\"\r\n [routerLinkActiveOptions]=\"{exact: true}\"\r\n >\r\n </c-sidebar-nav-group>\r\n <c-sidebar-nav-divider\r\n *ngSwitchCase=\"'divider'\"\r\n [item]=\"item\"\r\n [ngClass]=\"item | cSidebarNavItemClass\"\r\n [cHtmlAttr]=\"item.attributes ?? {}\">\r\n </c-sidebar-nav-divider>\r\n <c-sidebar-nav-title\r\n *ngSwitchCase=\"'title'\"\r\n [item]=\"item\"\r\n [ngClass]=\"item | cSidebarNavItemClass\"\r\n [cHtmlAttr]=\"item.attributes ?? {}\">\r\n </c-sidebar-nav-title>\r\n <c-sidebar-nav-label\r\n *ngSwitchCase=\"'label'\"\r\n [item]=\"item\"\r\n [ngClass]=\"item | cSidebarNavItemClass\">\r\n </c-sidebar-nav-label>\r\n <ng-container\r\n *ngSwitchCase=\"'empty'\">\r\n </ng-container>\r\n <c-sidebar-nav-link\r\n *ngSwitchDefault\r\n [item]=\"item\"\r\n [ngClass]=\"item | cSidebarNavItemClass\"\r\n (linkClick)=\"hideMobile()\"\r\n >\r\n </c-sidebar-nav-link>\r\n </ng-container>\r\n</ng-container>\r\n<ng-content></ng-content>\r\n","<a class=\"nav-link nav-group-toggle\"\r\n (click)=\"toggleGroup($event)\"\r\n [cHtmlAttr]=\"item.attributes\">\r\n <ng-container *ngTemplateOutlet=\"iconTemplate ; context: {$implicit: item}\"></ng-container>\r\n <ng-container>{{ item.name }}</ng-container>\r\n <span *ngIf=\"helper.hasBadge(item)\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge.text }}</span>\r\n</a>\r\n<c-sidebar-nav\r\n [groupItems]=\"true\"\r\n [navItems]=\"navItems\">\r\n</c-sidebar-nav>\r\n\r\n<ng-template #iconTemplate let-item>\r\n <i *ngIf=\"item?.icon\" [ngClass]=\"item | cSidebarNavIcon\"></i>\r\n <ng-template [ngIf]=\"item?.iconComponent\">\r\n <svg\r\n [cIcon]=\"item.iconComponent?.content\"\r\n [name]=\"item.iconComponent?.name\"\r\n [customClasses]=\"item | cSidebarNavIcon\"\r\n ></svg>\r\n </ng-template>\r\n <span *ngIf=\"!item?.icon && !item?.iconComponent\" [ngClass]=\"item | cSidebarNavIcon\"></span>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { IconModule } from '@coreui/icons-angular';\r\n\r\nimport { SidebarComponent } from './sidebar/sidebar.component';\r\nimport { SidebarService } from './sidebar.service';\r\nimport { SidebarBrandComponent } from './sidebar-brand/sidebar-brand.component';\r\nimport { SidebarToggleDirective } from './sidebar-toggle/sidebar-toggle.directive';\r\nimport { SidebarTogglerComponent } from './sidebar-toggler/sidebar-toggler.component';\r\nimport { SidebarHeaderComponent } from './sidebar-header/sidebar-header.component';\r\nimport { SidebarFooterComponent } from './sidebar-footer/sidebar-footer.component';\r\n\r\nimport { SharedModule } from '../shared';\r\n\r\nimport {\r\n SidebarNavBadgePipe,\r\n SidebarNavComponent,\r\n SidebarNavDividerComponent,\r\n SidebarNavGroupComponent,\r\n SidebarNavHelper,\r\n SidebarNavIconPipe,\r\n SidebarNavItemClassPipe,\r\n SidebarNavLabelComponent,\r\n SidebarNavLinkComponent,\r\n SidebarNavLinkContentComponent,\r\n SidebarNavLinkPipe,\r\n SidebarNavTitleComponent\r\n} from './sidebar-nav';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n SidebarComponent,\r\n SidebarTogglerComponent,\r\n SidebarToggleDirective,\r\n SidebarBrandComponent,\r\n SidebarNavBadgePipe,\r\n SidebarNavComponent,\r\n SidebarNavDividerComponent,\r\n SidebarNavGroupComponent,\r\n // SidebarNavGroupToggleDirective,\r\n SidebarNavIconPipe,\r\n SidebarNavItemClassPipe,\r\n SidebarNavLabelComponent,\r\n SidebarNavLinkComponent,\r\n SidebarNavLinkContentComponent,\r\n SidebarNavLinkPipe,\r\n SidebarNavTitleComponent,\r\n SidebarHeaderComponent,\r\n SidebarFooterComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n SharedModule,\r\n IconModule\r\n ],\r\n exports: [\r\n SidebarComponent,\r\n SidebarToggleDirective,\r\n SidebarTogglerComponent,\r\n SidebarBrandComponent,\r\n SidebarNavComponent,\r\n SidebarHeaderComponent,\r\n SidebarFooterComponent,\r\n ],\r\n providers: [\r\n SidebarService,\r\n SidebarNavHelper\r\n ],\r\n})\r\nexport class SidebarModule { }\r\n","import { Component, EventEmitter, HostBinding, Input, Output, TemplateRef } from '@angular/core';\r\nimport { ISmartPagination } from './smart-pagination.type';\r\nimport { coerceNumberProperty, NumberInput } from '@angular/cdk/coercion';\r\n\r\n@Component({\r\n selector: 'c-smart-pagination',\r\n templateUrl: './smart-pagination.component.html',\r\n exportAs: 'cSmartPagination'\r\n})\r\nexport class SmartPaginationComponent implements ISmartPagination {\r\n\r\n static ngAcceptInputType_activePage: NumberInput;\r\n static ngAcceptInputType_pages: NumberInput;\r\n static ngAcceptInputType_limit: NumberInput;\r\n\r\n constructor() { }\r\n\r\n /**\r\n * Current page number. [docs]\r\n * @default 1\r\n * @type number\r\n */\r\n @Input()\r\n set activePage(value: number) {\r\n this._activePage = coerceNumberProperty(value);\r\n }\r\n get activePage(): number {\r\n return this._activePage;\r\n }\r\n private _activePage: number = 1;\r\n\r\n /**\r\n * Event triggered on activePage change.\r\n * @type EventEmitter<number>\r\n */\r\n @Output() activePageChange: EventEmitter<number> = new EventEmitter<number>();\r\n\r\n /**\r\n * Show/hide arrows\r\n * @default true\r\n * @type boolean\r\n */\r\n @Input() arrows: boolean = true;\r\n\r\n /**\r\n * Show double arrows buttons\r\n * @default true\r\n * @type boolean\r\n */\r\n @Input() doubleArrows: boolean = true;\r\n\r\n /**\r\n * Show/hide dots. [docs]\r\n * @default true\r\n */\r\n @Input() dots: boolean = true;\r\n\r\n /**\r\n * Maximum items number. [docs]\r\n * @default 5\r\n * @type number\r\n */\r\n @Input()\r\n set limit(value: number) {\r\n this._limit = coerceNumberProperty(value);\r\n }\r\n get limit(): number {\r\n return this._limit;\r\n }\r\n private _limit: number = 5;\r\n\r\n /**\r\n * Number of pages. [docs]\r\n * @type number\r\n */\r\n @Input()\r\n set pages(value: number) {\r\n this._pages = coerceNumberProperty(value);\r\n }\r\n get pages(): number {\r\n return this._pages;\r\n }\r\n private _pages: number = 1;\r\n\r\n /**\r\n * The content of 'firstButton' button. [docs]\r\n * @default '«'\r\n * todo TemplateRef\r\n */\r\n @Input() firstButton?: string | TemplateRef<any> = '«';\r\n // firstButton?: string | TemplateRef<any> = '«'\r\n\r\n /**\r\n * The content of 'lastButton' button. [docs]\r\n * @default '»'\r\n * todo TemplateRef\r\n */\r\n @Input() lastButton?: string | TemplateRef<any> = '»';\r\n // lastButton?: string | TemplateRef<any> = '»'\r\n\r\n /**\r\n * The content of 'nextButton' button. [docs]\r\n * @default '&lsaquo'\r\n * todo TemplateRef\r\n */\r\n @Input() nextButton?: string | TemplateRef<any> = '›';\r\n\r\n /**\r\n * The content of 'previousButton' button. [docs]\r\n * @default '&rsaquo'\r\n * todo TemplateRef\r\n */\r\n @Input() previousButton?: string | TemplateRef<any> = '‹';\r\n\r\n /**\r\n * Set the alignment of pagination components.\r\n * @values 'start', 'center', 'end'\r\n */\r\n @Input() align?: 'start' | 'center' | 'end' | '' = 'start';\r\n\r\n /**\r\n * Size the component small or large.\r\n * @values 'sm', 'lg'\r\n */\r\n @Input() size?: 'sm' | 'lg';\r\n\r\n /**\r\n * Default role for pagination. [docs]\r\n * @type string\r\n * @default 'navigation'\r\n */\r\n @HostBinding('attr.role')\r\n @Input() role = 'navigation';\r\n\r\n get paginationClass(): any {\r\n return {\r\n pagination: true,\r\n [`pagination-${this.size}`]: !!this.size,\r\n [`justify-content-${this.align}`]: !!this.align\r\n };\r\n }\r\n\r\n get maxPrevItems() {\r\n return Math.floor((this._limit - 1) / 2);\r\n }\r\n\r\n get maxNextItems() {\r\n return Math.ceil((this._limit - 1) / 2);\r\n }\r\n\r\n get range(): number {\r\n return this.activePage + this.maxNextItems;\r\n }\r\n\r\n get lastItem(): number {\r\n return this.range >= this._pages ? this._pages : this.range - (this.afterDots ? 1 : 0);\r\n }\r\n\r\n get computedLimit(): number {\r\n return this._limit - (this.afterDots ? 1 : 0) - (this.beforeDots ? 1 : 0);\r\n }\r\n\r\n get itemsLimit(): number {\r\n return this._pages < this.computedLimit ? this._pages : this.computedLimit;\r\n }\r\n\r\n get showDots(): boolean {\r\n return this.dots && this._limit > 4 && this._limit < this._pages;\r\n }\r\n\r\n get beforeDots(): boolean {\r\n return this.showDots && this.activePage > this.maxPrevItems + 1;\r\n }\r\n\r\n get afterDots(): boolean {\r\n return this.showDots && this.activePage < this._pages - this.maxNextItems;\r\n }\r\n\r\n get items() {\r\n if (this.activePage - this.maxPrevItems <= 1) {\r\n return Array.from(\r\n {\r\n length: this.itemsLimit\r\n },\r\n (_item, i) => i + 1\r\n );\r\n } else {\r\n return Array.from(\r\n {\r\n length: this.itemsLimit\r\n },\r\n (_item, i) => {\r\n return this.lastItem - i;\r\n }\r\n ).reverse();\r\n }\r\n }\r\n\r\n setPage(page: number) {\r\n if (page !== this.activePage) {\r\n this.activePage = page;\r\n this.activePageChange.emit(page);\r\n }\r\n }\r\n}\r\n","<ul [ngClass]=\"paginationClass\">\r\n <li *ngIf=\"doubleArrows\" cPageItem>\r\n <button\r\n (click)=\"setPage(1)\"\r\n [disabled]=\"activePage === 1\"\r\n aria-label=\"First page\"\r\n cPageLink\r\n >\r\n <span aria-hidden=\"true\">{{firstButton}}</span>\r\n </button>\r\n </li>\r\n <li *ngIf=\"arrows\" cPageItem>\r\n <button\r\n (click)=\"setPage(activePage - 1)\"\r\n [disabled]=\"activePage === 1\"\r\n aria-label=\"Previous page\"\r\n cPageLink\r\n >\r\n <span aria-hidden=\"true\">{{previousButton}}</span>\r\n </button>\r\n </li>\r\n <li *ngIf=\"beforeDots\" cPageItem>\r\n <a cPageLink disabled role=\"separator\">\r\n ...\r\n </a>\r\n </li>\r\n <li *ngFor=\"let item of items; index as i\" [active]=\"activePage === item\" cPageItem>\r\n <button\r\n (click)=\"setPage(item)\"\r\n [title]=\"(activePage === item ? 'Current page ' : 'Go to page ') + (item).toString()\"\r\n cPageLink\r\n >\r\n {{item}}\r\n </button>\r\n </li>\r\n <li *ngIf=\"afterDots\" cPageItem>\r\n <a cPageLink disabled role=\"separator\">\r\n ...\r\n </a>\r\n </li>\r\n <li *ngIf=\"arrows\" cPageItem>\r\n <button\r\n (click)=\"setPage(activePage + 1)\"\r\n [disabled]=\"activePage === pages\"\r\n aria-label=\"Next page\"\r\n cPageLink\r\n >\r\n <span aria-hidden=\"true\">{{nextButton}}</span>\r\n </button>\r\n </li>\r\n <li *ngIf=\"doubleArrows\" cPageItem>\r\n <button\r\n (click)=\"setPage(pages)\"\r\n [disabled]=\"activePage === pages\"\r\n aria-label=\"Last page\"\r\n cPageLink\r\n >\r\n <span aria-hidden=\"true\">{{lastButton}}</span>\r\n </button>\r\n </li>\r\n</ul>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PaginationModule } from '../pagination';\r\nimport { SmartPaginationComponent } from './smart-pagination.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n SmartPaginationComponent\r\n ],\r\n exports: [\r\n SmartPaginationComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n PaginationModule\r\n ]\r\n})\r\nexport class SmartPaginationModule {\r\n}\r\n","import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'c-smart-table-filter',\n templateUrl: './smart-table-filter.component.html',\n styleUrls: ['./smart-table-filter.component.scss']\n})\nexport class SmartTableFilterComponent {\n\n constructor() { }\n\n @Input() filterLabel: string = 'Filter:';\n @Input() filterPlaceholder: string = 'Filter';\n\n @Input()\n set value(value: string) {\n if (this._value != value) {\n this._value = value;\n }\n if (this.eventType)\n this.valueChange.emit({ value, type: this.eventType });\n }\n get value() {\n return this._value;\n }\n\n @Output() valueChange: EventEmitter<any> = new EventEmitter<any>();\n\n private _value = '';\n private eventType = '';\n\n @HostBinding('class')\n get hostClasses(): any {\n return {\n row: true,\n 'mb-2': true\n };\n }\n\n handleTableFilterChange($event: Event) {\n this.eventType = $event.type;\n this.value = ($event.target as HTMLInputElement).value;\n }\n}\n","<label cLabel=\"col\" class=\"col-sm-auto\">{{filterLabel}}</label>\n<div class=\"col-sm-auto\">\n <input (change)=\"handleTableFilterChange($event)\"\n (input)=\"handleTableFilterChange($event)\"\n [placeholder]=\"filterPlaceholder\"\n [value]=\"value\"\n cFormControl />\n</div>\n","import { Directive, HostBinding, Input } from '@angular/core';\r\nimport { Colors } from '../coreui.types';\r\n\r\n@Directive({\r\n selector: '[cTableColor]'\r\n})\r\nexport class TableColorDirective {\r\n\r\n /**\r\n * Use contextual color for tables, table rows or individual cells.\r\n * @type Colors\r\n */\r\n @Input('cTableColor') color?: Colors;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n [`table-${this.color}`]: !!this.color,\r\n };\r\n }\r\n}\r\n","import { Component, EventEmitter, HostBinding, Input, OnInit, Output } from '@angular/core';\nimport { IColumn, IColumnFilter, IColumnFilterValue, ISorter, ISorterValue } from '../smart-table.type';\n\n@Component({\n selector: 'c-smart-table-head',\n templateUrl: './smart-table-head.component.html',\n styleUrls: ['./smart-table-head.component.scss']\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 // 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 return typeof column !== 'object' ? true : typeof column.sorter === 'undefined' ? true : column.sorter;\n }\n\n handleColumnFilterValueChange($event: Event, column: IColumn | string) {\n const columnKey = this.columnKey(column);\n const columnFilterValue = ($event.target as HTMLInputElement).value;\n const eventType = $event.type;\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","<tr>\r\n <th *ngIf=\"selectable\">\r\n <input (change)=\"handleSelectAllChecked($event)\"\r\n [checked]=\"selectAll === true\"\r\n [indeterminate]=\"selectAll === 'indeterminate'\"\r\n cFormCheckInput>\r\n </th>\r\n <th\r\n (click)=\"handleSortClick(column, i)\"\r\n *ngFor=\"let column of columns; let i = index\"\r\n [cHtmlAttr]=\"tableHeaderCellProps(column)\"\r\n [cTableColor]=\"tableHeaderCellColor(column)\"\r\n [ngStyle]=\"tableHeaderCellStyles(column)\"\r\n >\r\n <div class=\"d-inline\">{{ columnLabel(column) }}</div>\r\n <ng-template [ngIf]=\"columnSorter && columnSorterEnabled(column)\">\r\n <ng-container\r\n *ngTemplateOutlet=\"columnSorterIconTemplate; context: { $implicit: getColumnSorterState(column) }\"\r\n ></ng-container>\r\n </ng-template>\r\n </th>\r\n</tr>\r\n<tr *ngIf=\"columnFilter\">\r\n <th *ngIf=\"selectable\"></th>\r\n <th *ngFor=\"let column of columns; let i = index\"\r\n [cHtmlAttr]=\"tableHeaderCellProps(column)\"\r\n [cTableColor]=\"tableHeaderCellColor(column)\"\r\n [ngStyle]=\"tableHeaderCellStyles(column)\"\r\n >\r\n <input\r\n (change)=\"handleColumnFilterValueChange($event, column)\"\r\n (input)=\"handleColumnFilterValueChange($event, column)\"\r\n *ngIf=\"columnFilterEnabled(column)\"\r\n [value]=\"columnFilterState[columnKey(column)] ?? ''\"\r\n cFormControl\r\n sizing=\"sm\"\r\n />\r\n </th>\r\n</tr>\r\n\r\n<ng-template #columnSorterIconTemplate let-columnSorterState>\r\n <ng-container [ngSwitch]=\"columnSorterState\">\r\n <span *ngSwitchCase=\"'asc'\" class=\"float-end me-1\">\r\n <ng-container *ngTemplateOutlet=\"sortingIconAscendingTemplate\"></ng-container>\r\n </span>\r\n <span *ngSwitchCase=\"'desc'\" class=\"float-end me-1\">\r\n <ng-container *ngTemplateOutlet=\"sortingIconDescendingTemplate\"></ng-container>\r\n </span>\r\n <span *ngSwitchDefault class=\"opacity-25 float-end me-1\">\r\n <ng-container *ngTemplateOutlet=\"sortingIconTemplate\"></ng-container>\r\n </span>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<!--todo: sortingIconCustom Templates-->\r\n<ng-template #sortingIconTemplate>\r\n <svg\r\n class=\"icon icon-custom-size\"\r\n role=\"img\"\r\n viewBox=\"0 0 512 512\"\r\n width=\"18\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <polygon\r\n class=\"ci-primary\"\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\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\"\r\n ></polygon>\r\n <polygon\r\n class=\"ci-primary\"\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\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\"\r\n ></polygon>\r\n </svg>\r\n</ng-template>\r\n\r\n<ng-template #sortingIconAscendingTemplate>\r\n <svg\r\n class=\"icon icon-custom-size\"\r\n role=\"img\"\r\n viewBox=\"0 0 512 512\"\r\n width=\"18\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <polygon\r\n class=\"ci-primary\"\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\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\"\r\n ></polygon>\r\n </svg>\r\n</ng-template>\r\n\r\n<ng-template #sortingIconDescendingTemplate>\r\n <svg\r\n class=\"icon icon-custom-size\"\r\n role=\"img\"\r\n viewBox=\"0 0 512 512\"\r\n width=\"18\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <polygon\r\n class=\"ci-primary\"\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\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\"\r\n ></polygon>\r\n </svg>\r\n</ng-template>\r\n","import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-smart-table-items-per-page-selector',\r\n templateUrl: './smart-table-items-per-page-selector.component.html',\r\n styleUrls: ['./smart-table-items-per-page-selector.component.scss']\r\n})\r\nexport class SmartTableItemsPerPageSelectorComponent {\r\n\r\n constructor() { }\r\n\r\n @Input()\r\n set itemsPerPage(value: number) {\r\n if (this._itemsPerPage != value) {\r\n this._itemsPerPage = value;\r\n this.itemsPerPageChange.emit(value);\r\n }\r\n }\r\n get itemsPerPage() {\r\n return this._itemsPerPage;\r\n }\r\n private _itemsPerPage = 5;\r\n\r\n @Input() itemsPerPageLabel: string = 'Items per page:';\r\n @Input() itemsPerPageOptions: number[] = [5, 10, 20, 50];\r\n @Output() itemsPerPageChange: EventEmitter<number> = new EventEmitter<number>();\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n row: true\r\n };\r\n }\r\n}\r\n","<label cLabel=\"col\" class=\"col-sm-auto\">{{itemsPerPageLabel}}</label>\r\n<div class=\"col-auto\">\r\n <select [(ngModel)]=\"itemsPerPage\" cSelect name=\"itemsPerPageSelector\">\r\n <option *ngFor=\"let option of itemsPerPageOptions; let i = index\" [ngValue]=\"option\">{{option}}</option>\r\n </select>\r\n</div>\r\n","import { Directive, ElementRef, HostBinding, Input, OnInit, Renderer2 } from '@angular/core';\r\nimport { Breakpoints, Colors } from '../coreui.types';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { ITable } from './table.type';\r\n\r\n@Directive({\r\n selector: 'table[cTable]'\r\n})\r\nexport class TableDirective implements ITable, OnInit {\r\n static ngAcceptInputType_bordered: BooleanInput;\r\n static ngAcceptInputType_borderless: BooleanInput;\r\n static ngAcceptInputType_hover: BooleanInput;\r\n static ngAcceptInputType_small: BooleanInput;\r\n static ngAcceptInputType_striped: BooleanInput;\r\n\r\n /**\r\n * Set the vertical alignment.\r\n * @type string\r\n * @values 'bottom' | 'middle' | 'top'\r\n */\r\n @Input() align?: 'bottom' | 'middle' | 'top';\r\n /**\r\n * Sets the border color of the component to one of CoreUI’s themed colors.\r\n * @type Colors\r\n */\r\n @Input() borderColor?: Colors;\r\n /**\r\n * Add borders on all sides of the table and cells.\r\n * @type boolean\r\n */\r\n @Input()\r\n set bordered(value: boolean) {\r\n this._bordered = coerceBooleanProperty(value);\r\n };\r\n get bordered() {\r\n return this._bordered;\r\n }\r\n private _bordered = false;\r\n /**\r\n * Remove borders on all sides of the table and cells.\r\n * @type boolean\r\n */\r\n @Input()\r\n set borderless(value: boolean) {\r\n this._borderless = coerceBooleanProperty(value);\r\n };\r\n get borderless() {\r\n return this._borderless;\r\n }\r\n private _borderless = false;\r\n /**\r\n * Put the `<caption>` on the top of the table.\r\n * @values 'top'\r\n */\r\n @Input() caption?: 'top';\r\n /**\r\n * Sets the color context of the component to one of CoreUI’s themed colors.\r\n * @type Colors\r\n */\r\n @Input() color?: Colors;\r\n /**\r\n * Enable a hover state on table rows within table body.\r\n * @type boolean\r\n */\r\n @Input()\r\n set hover(value: boolean) {\r\n this._hover = coerceBooleanProperty(value);\r\n };\r\n get hover() {\r\n return this._hover;\r\n }\r\n private _hover = false;\r\n /**\r\n * Make table responsive across all viewports or pick a maximum breakpoint with which to have a responsive table up to.\r\n * @type: {boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'}\r\n */\r\n @Input() responsive?: boolean | Omit<Breakpoints, 'xs'>;\r\n /**\r\n * Make table more compact by cutting all cell `padding` in half.\r\n * @type boolean\r\n */\r\n @Input()\r\n set small(value: boolean) {\r\n this._small = coerceBooleanProperty(value);\r\n };\r\n get small() {\r\n return this._small;\r\n }\r\n private _small = false;\r\n /**\r\n * Add zebra-striping to any table row within the table body`.\r\n * @type boolean\r\n */\r\n @Input()\r\n set striped(value: boolean) {\r\n this._striped = coerceBooleanProperty(value);\r\n };\r\n get striped() {\r\n return this._striped;\r\n }\r\n private _striped = false;\r\n\r\n constructor(\r\n private renderer: Renderer2,\r\n private hostElement: ElementRef\r\n ) { }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n table: true,\r\n [`align-${this.align}`]: !!this.align,\r\n [`caption-${this.caption}`]: !!this.caption,\r\n [`border-${this.borderColor}`]: !!this.borderColor,\r\n 'table-bordered': this.bordered,\r\n 'table-borderless': this.borderless,\r\n [`table-${this.color}`]: !!this.color,\r\n 'table-hover': this.hover,\r\n 'table-sm': this.small,\r\n 'table-striped': this.striped\r\n };\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setResponsiveWrapper();\r\n }\r\n\r\n // todo\r\n setResponsiveWrapper(): void {\r\n if (!!this.responsive) {\r\n const nativeElement: HTMLElement = this.hostElement.nativeElement;\r\n const wrapper = this.renderer.createElement('div');\r\n const className = this.responsive === true ? 'table-responsive' : `table-responsive-${this.responsive}`;\r\n this.renderer.addClass(wrapper, className);\r\n const parentNode = this.renderer.parentNode(nativeElement);\r\n this.renderer.appendChild(parentNode, wrapper);\r\n this.renderer.insertBefore(parentNode, wrapper, nativeElement);\r\n this.renderer.appendChild(wrapper, nativeElement);\r\n }\r\n }\r\n}\r\n","import { Directive, HostBinding, Input } from '@angular/core';\r\nimport { Alignment } from '../coreui.types';\r\n\r\n@Directive({\r\n selector: '[cAlign]'\r\n})\r\nexport class AlignDirective {\r\n /**\r\n * Set vertical alignment of inline, inline-block, inline-table, and table cell elements\r\n * @type Alignment\r\n */\r\n @Input('cAlign') align?: Alignment;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n [`align-${this.align}`]: !!this.align,\r\n };\r\n }\r\n\r\n}\r\n","import { Directive, HostBinding, Input } from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\n@Directive({\r\n selector: '[cTableActive]'\r\n})\r\nexport class TableActiveDirective {\r\n\r\n static ngAcceptInputType_active: BooleanInput;\r\n\r\n /**\r\n * Highlight a table row or cell\r\n * @type boolean\r\n */\r\n @Input('cTableActive')\r\n set active(value: boolean) {\r\n this._active = coerceBooleanProperty(value);\r\n };\r\n get active() {\r\n return this._active;\r\n };\r\n\r\n private _active = false;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'table-active': this.active,\r\n };\r\n }\r\n\r\n constructor() { }\r\n\r\n}\r\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 { 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';\nimport { TemplateIdDirective } from '../../shared';\n\n@Component({\n selector: 'c-smart-table',\n templateUrl: './smart-table.component.html',\n styleUrls: ['./smart-table.component.scss'],\n exportAs: 'cSmartTable'\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.iterableDiffer = this.iterableDiffers.find(this.items).create();\n this.columFilterValueDiffer = this.keyValueDiffers.find(this.columnFilterValue).create();\n }\n\n private iterableDiffer: IterableDiffer<any> | null;\n private columFilterValueDiffer: 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 get activePage(): number {\n return this._activePage;\n }\n private _activePage = 1;\n\n @Input()\n set cleaner(value: boolean) {\n this._cleaner = coerceBooleanProperty(value);\n }\n get cleaner(): boolean {\n return this._cleaner;\n }\n private _cleaner: boolean = false;\n\n @Input()\n set clickableRows(value: boolean) {\n this._clickableRows = coerceBooleanProperty(value);\n }\n get clickableRows(): boolean {\n return this._clickableRows;\n }\n private _clickableRows: boolean = false;\n\n @Input()\n set columns(value) {\n this._columns = value;\n }\n get columns() {\n return this._columns || this.rawColumnNames;\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({ ...value });\n this.tableFiltered; // emits tableFiltered change\n }\n }\n }\n get columnFilterValue(): IColumnFilterValue {\n return this._columnFilterValue;\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 get footer(): boolean {\n return this._footer;\n }\n private _footer: boolean = false;\n\n @Input()\n set header(value: boolean) {\n this._header = coerceBooleanProperty(value);\n }\n get header(): boolean {\n return this._header;\n }\n private _header: boolean = false;\n\n @Input()\n set items(value: IItem[]) {\n this._items = this.setItems(value) as Array<Type<IItemInternal>>;\n }\n get items() {\n return this._items;\n }\n private _items: IItemInternal[] = [] as Array<Type<IItemInternal>>;\n\n @Input()\n set itemsPerPage(value: number) {\n this._itemsPerPage = coerceNumberProperty(value);\n }\n get itemsPerPage(): number {\n return this._itemsPerPage;\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 get pagination(): boolean {\n return this._pagination;\n }\n private _pagination: boolean = false;\n\n @Input()\n set selectable(value: boolean) {\n this._selectable = coerceBooleanProperty(value);\n }\n get selectable(): boolean {\n return this._selectable;\n }\n private _selectable: boolean = false;\n\n @Input()\n set sorterValue(value: ISorterValue) {\n this._sorterValue = value;\n this.sorterValueChange.emit({ ...value });\n }\n get sorterValue(): ISorterValue {\n return this._sorterValue;\n }\n private _sorterValue: ISorterValue = {};\n\n @Input() tableFilter?: boolean | ITableFilter;\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 get tableFilterValue(): string {\n return this._tableFilterValue;\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\n ngAfterContentInit(): void {\n this.columnTemplates.forEach((child: TemplateIdDirective) => {\n this.templates[child.id] = child.templateRef;\n });\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 set selectedAll(value) {\n const selected = this.items.filter((item) => item._selected === true);\n this.selectedItemsChange.emit(selected);\n this._selectedAll = selected.length === 0 ? false : selected.length === this.items.length ? true : 'indeterminate';\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\n ? this._columns.map((column: any) => {\n if (typeof column === 'object') return column.key;\n else return column;\n })\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 col = this.sorterValue.column;\n if (\n !col ||\n !this.itemsDataColumns.includes(col) ||\n (this.columnSorter &&\n typeof this.columnSorter === 'object' &&\n this.columnSorter.external)\n ) {\n return this.tableFiltered;\n }\n // if values in column are to be sorted by numeric value they all have to be type number\n // const flip = sorterState.asc ? 1 : -1\n const flip = this.sorterValue.state === 'asc' ? 1 : this.sorterValue.state === 'desc' ? -1 : 0;\n const tableFiltered = this.tableFiltered;\n // @ts-ignore\n const sorted = tableFiltered.slice().sort((item: { [x: string]: any; }, item2: { [x: string]: any; }) => {\n const value = item[col];\n const value2 = item2[col];\n const a = typeof value === 'number' ? value : String(value).toLowerCase();\n const b = typeof value2 === 'number' ? value2 : String(value2).toLowerCase();\n return a > b ? 1 * flip : b > a ? -1 * flip : 0;\n });\n return sorted;\n }\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 // @ts-ignore\n return _items;\n }\n Object.entries(this.columnFilterState).forEach(([key, value]) => {\n const columnFilter = String(value).toLowerCase();\n if (columnFilter && this.itemsDataColumns.includes(key)) {\n // @ts-ignore\n _items = _items.filter((item) => {\n return String(item[key]).toLowerCase().includes(columnFilter);\n });\n }\n });\n // @ts-ignore\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 this.filteredItemsChange.emit(items);\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 this.filteredItemsChange.emit(items);\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) column = this.columns[i];\n return (\n this.columnSorter &&\n (!this.columns ||\n typeof column !== 'object' ||\n (typeof column === 'object' &&\n (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: any) {\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: IColumn) => column['key'] === colName);\n return column[0]?._classes;\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 if (columnFilterValueChange.firstChange) {\n const currentValue = columnFilterValueChange.currentValue;\n if (typeof currentValue === 'object' && Object.keys(currentValue ?? {}).length) {\n this.setActivePage(1);\n }\n }\n }\n if (changes['tableFilterValue']) {\n const tableFilterValueChange = changes['tableFilterValue'];\n if (tableFilterValueChange.firstChange) {\n const currentValue = tableFilterValueChange.currentValue;\n if (currentValue.length) {\n this.setActivePage(1);\n }\n }\n }\n }\n}\n","<div *ngIf=\"itemsPerPageSelect || tableFilter || cleaner\" class=\"row my-2 mx-0\">\r\n <ng-template [ngIf]=\"tableFilter || cleaner\">\r\n <div class=\"col-auto p-0\">\r\n <c-smart-table-filter\r\n (valueChange)=\"handleTableFilterChange($event)\"\r\n *ngIf=\"tableFilter\"\r\n [filterLabel]=\"tableFilterLabel\"\r\n [filterPlaceholder]=\"tableFilterPlaceholder\"\r\n [value]=\"tableFilterState\"\r\n >\r\n </c-smart-table-filter>\r\n </div>\r\n <div class=\"col-auto p-0\">\r\n <button\r\n (click)=\"clean($event)\"\r\n *ngIf=\"cleaner\"\r\n [disabled]=\"!isFiltered\"\r\n [ngClass]=\"{'ms-1': tableFilter}\"\r\n [tabindex]=\"0\"\r\n cButton\r\n color=\"transparent\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"filterIconTemplate\"></ng-container>\r\n </button>\r\n </div>\r\n </ng-template>\r\n</div>\r\n<div class=\"position-relative\">\r\n <table [align]=\"tableProps?.align\"\r\n [borderColor]=\"tableProps?.borderColor\"\r\n [bordered]=\"tableProps?.bordered\"\r\n [borderless]=\"tableProps?.borderless\"\r\n [caption]=\"tableProps?.caption\"\r\n [color]=\"tableProps?.color\"\r\n [hover]=\"tableProps?.hover\"\r\n [responsive]=\"tableProps?.responsive\"\r\n [small]=\"tableProps?.small\"\r\n [striped]=\"tableProps?.striped\"\r\n [cHtmlAttr]=\"tableProps?.attributes ?? {}\"\r\n [cTableColor]=\"tableProps?.color\"\r\n cTable\r\n >\r\n <c-smart-table-head\r\n (columnFilterStateChange)=\"handleColumnFilterChange($event)\"\r\n (selectAllChange)=\"handleSelectAllChange($event)\"\r\n (sorterStateChange)=\"handleSortChange($event)\"\r\n *ngIf=\"header\"\r\n [columnFilterState]=\"columnFilterState\"\r\n [columnFilter]=\"columnFilter\"\r\n [columns]=\"columns\"\r\n [selectAll]=\"selectedAll\"\r\n [selectable]=\"selectable\"\r\n [sorterValue]=\"sorterValue\"\r\n [cHtmlAttr]=\"tableHeadProps?.attributes ?? {}\"\r\n [cTableColor]=\"tableHeadProps?.color\"\r\n [cAlign]=\"tableHeadProps?.align\"\r\n ></c-smart-table-head>\r\n\r\n <ng-container *ngTemplateOutlet=\"tbodyDefaultTemplate\"></ng-container>\r\n\r\n <c-smart-table-head\r\n (selectAllChange)=\"handleSelectAllChange($event)\"\r\n (sorterStateChange)=\"handleSortChange($event)\"\r\n *ngIf=\"footer\"\r\n [columns]=\"columns\"\r\n [selectAll]=\"selectedAll\"\r\n [selectable]=\"selectable\"\r\n [sorterValue]=\"sorterValue\"\r\n [cHtmlAttr]=\"tableFootProps?.attributes ?? {}\"\r\n [cTableColor]=\"tableFootProps?.color\"\r\n [cAlign]=\"tableFootProps?.align\"\r\n component=\"tfoot\"\r\n ></c-smart-table-head>\r\n\r\n </table>\r\n <c-element-cover\r\n *ngIf=\"loading\"\r\n [boundaries]=\"[\r\n { sides: ['top'], query: 'td' },\r\n { sides: ['bottom'], query: 'tbody' }\r\n ]\"\r\n ></c-element-cover>\r\n</div>\r\n<ng-template [ngIf]=\"pagination || itemsPerPageSelect\">\r\n <div class=\"row\">\r\n <div class=\"col\">\r\n <c-smart-pagination\r\n (activePageChange)=\"setActivePage($event)\"\r\n *ngIf=\"pagination && numberOfPages > 1\"\r\n [activePage]=\"activePage\"\r\n [pages]=\"numberOfPages\">\r\n </c-smart-pagination>\r\n </div>\r\n <div class=\"col-auto ms-auto\">\r\n <c-smart-table-items-per-page-selector\r\n (itemsPerPageChange)=\"handleItemsPerPageChange($event)\"\r\n *ngIf=\"itemsPerPageSelect\"\r\n [itemsPerPageLabel]=\"itemsPerPageLabel\"\r\n [itemsPerPageOptions]=\"itemsPerPageOptions\"\r\n [itemsPerPage]=\"itemsPerPage\"\r\n >\r\n </c-smart-table-items-per-page-selector>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #tbodyDefaultTemplate>\r\n <tbody [cHtmlAttr]=\"tableBodyProps?.attributes ?? {}\"\r\n [cTableColor]=\"tableBodyProps?.color\"\r\n [cAlign]=\"tableBodyProps?.align\"\r\n >\r\n <ng-template ngFor let-item [ngForOf]=\"currentItems\" let-cnt=\"count\" let-i=\"index\" let-isEven=\"even\" let-isOdd=\"odd\">\r\n <tr [tabindex]=\"clickableRows ? 0 : -1\"\r\n [ngStyle]=\"{cursor: clickableRows ? 'pointer' : 'auto'}\"\r\n (click)=\"handleRowClick({$event, item, i})\"\r\n [cTableActive]=\"item._props?.active\"\r\n [cTableColor]=\"item._props?.color\"\r\n [cAlign]=\"item._props?.align\"\r\n >\r\n <td *ngIf=\"selectable\"\r\n [cTableActive]=\"item?.['_cellProps']?._all?.active\"\r\n [cTableColor]=\"item?.['_cellProps']?._all?.color\"\r\n [cAlign]=\"item?.['_cellProps']?._all?.align\"\r\n >\r\n <input (change)=\"handleRowChecked($event, item)\" [checked]=\"item._selected ?? false\" cFormCheckInput>\r\n </td>\r\n <ng-template ngFor let-columnName [ngForOf]=\"rawColumnNames\" let-i=\"index\" >\r\n <ng-container *ngTemplateOutlet=\"templates['tableData'] || columnDefaultTemplate; context: {item, columnName, tdContent: item[columnName] }\"></ng-container>\r\n </ng-template>\r\n </tr>\r\n <ng-template [ngIf]=\"templates['tableDetails']\">\r\n <!-- <ng-container *ngTemplateOutlet=\"rowDetailsDefaultTemplate\"></ng-container>-->\r\n <tr><td [colSpan]=\"colspan\" class=\"p-0\" tabindex=\"-1\" [ngStyle]=\"{borderBottomWidth: 0}\"></td></tr>\r\n <tr class=\"p-0\">\r\n <td [colSpan]=\"colspan\" class=\"p-0\" [ngStyle]=\"{border: 0}\">\r\n <ng-container *ngTemplateOutlet=\"templates['tableDetails']; context: {item, index: i}\"></ng-container>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"noItemsDefaultTemplate\"></ng-container>\r\n </tbody>\r\n</ng-template>\r\n\r\n<ng-template #columnDefaultTemplate let-item=\"item\" let-columnName=\"columnName\" let-tdContent=\"tdContent\">\r\n <td\r\n [cTableActive]=\"tableDataCellProps(item, columnName)?.['active']\"\r\n [cTableColor]=\"tableDataCellProps(item, columnName)?.color\"\r\n [cAlign]=\"tableDataCellProps(item, columnName)?.align\"\r\n [ngClass]=\"tableDataCellClasses(item, columnName)\"\r\n >\r\n {{tdContent}}\r\n </td>\r\n</ng-template>\r\n\r\n<!--<ng-template #rowDetailsDefaultTemplate let-item let-index>-->\r\n<!-- <tr><td [colSpan]=\"colspan\" class=\"p-0\" tabindex=\"-1\" [ngStyle]=\"{borderBottomWidth: 0}\"></td></tr>-->\r\n<!-- <tr class=\"p-0\">-->\r\n<!-- <td [colSpan]=\"colspan\" class=\"p-0\" [ngStyle]=\"{border: 0}\">-->\r\n<!-- <ng-container *ngTemplateOutlet=\"templates?.tableDetails\"></ng-container>-->\r\n<!-- </td>-->\r\n<!-- </tr>-->\r\n<!--</ng-template>-->\r\n\r\n<ng-template #noItemsDefaultTemplate>\r\n <tr *ngIf=\"!currentItems.length\">\r\n <td [colSpan]=\"colspan\" class=\"justify-content-center\">{{noItemsLabel}}</td>\r\n </tr>\r\n</ng-template>\r\n\r\n<!--todo: filterIconCustomTemplate-->\r\n<ng-template #filterIconTemplate>\r\n <svg class=\"icon icon-custom-size\" role=\"img\" viewBox=\"0 0 512 512\" width=\"18\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <polygon class=\"ci-primary\"\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\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\"></polygon>\r\n <polygon class=\"ci-primary\"\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\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\"></polygon>\r\n </svg>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TableDirective } from './table.directive';\r\nimport { TableColorDirective } from './table-color.directive';\r\nimport { TableActiveDirective } from './table-active.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n TableDirective,\r\n TableColorDirective,\r\n TableActiveDirective\r\n ],\r\n exports: [\r\n TableDirective,\r\n TableColorDirective,\r\n TableActiveDirective\r\n ],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class TableModule { }\r\n","import { Directive, HostBinding, Input } from '@angular/core';\r\nimport { BackgroundColors } from '../coreui.types';\r\n\r\n@Directive({\r\n selector: '[cBgColor]'\r\n})\r\nexport class BgColorDirective {\r\n\r\n /**\r\n * Set the background of an element to any contextual class\r\n */\r\n @Input('cBgColor') color: BackgroundColors = '';\r\n /**\r\n * Add linear gradient as background image to the backgrounds.\r\n * @type boolean\r\n */\r\n @Input() gradient?: boolean;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n [`bg-${this.color}`]: !!this.color,\r\n 'bg-gradient': this.gradient,\r\n };\r\n }\r\n\r\n constructor() { }\r\n}\r\n","import { Directive, HostBinding, Input } from '@angular/core';\r\nimport { Border, BorderColor, IBorderElement, BorderWidth } from './border.type';\r\n\r\n@Directive({\r\n selector: '[cBorder]'\r\n})\r\nexport class BorderDirective {\r\n /**\r\n * Add or remove an element’s borders\r\n * @type Border\r\n */\r\n @Input('cBorder') border: Border = true;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n\r\n if ( typeof this.border === 'boolean' ) {\r\n return { border: true };\r\n }\r\n if ( typeof this.border === 'number' || typeof this.border === 'string' ) {\r\n return {\r\n border: true,\r\n [`border-${this.border}`]: true\r\n };\r\n }\r\n if ( typeof this.border === 'object' ) {\r\n const borderObj = { top: undefined, end: undefined, bottom: undefined, start: undefined, color: undefined, ...this.border };\r\n // @ts-ignore\r\n const keys = Object.keys(borderObj).filter(key => borderObj[key] !== undefined);\r\n const classes = {};\r\n keys.forEach(key => {\r\n // @ts-ignore\r\n const val = borderObj[key];\r\n if ( typeof val === 'boolean') {\r\n // @ts-ignore\r\n classes[`border-${key}`] = true;\r\n } else if ( typeof val === 'number' || typeof val === 'string' ) {\r\n // @ts-ignore\r\n classes[`border-${key}-${val}`] = true;\r\n } else if ( typeof val === 'object' ) {\r\n if ('color' in val) {\r\n // @ts-ignore\r\n classes[`border-${key}-${val.color}`] = true;\r\n }\r\n if ('width' in val) {\r\n // @ts-ignore\r\n classes[`border-${key}-${val.width}`] = true;\r\n }\r\n }\r\n });\r\n return Object.entries(classes).length === 0 ? {border: false} : classes;\r\n }\r\n }\r\n}\r\n","import { Directive, HostBinding, Input } from '@angular/core';\r\nimport { TextColors } from '../coreui.types';\r\n\r\n@Directive({\r\n selector: '[cTextColor]'\r\n})\r\nexport class TextColorDirective {\r\n\r\n /**\r\n * Set text-color of element\r\n * @type TextColors\r\n */\r\n @Input('cTextColor') color: TextColors = '';\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n const color = this.color;\r\n return {\r\n [`text-${color}`]: !!color\r\n };\r\n }\r\n\r\n constructor() {}\r\n}\r\n","import { Directive, HostBinding, Input } from '@angular/core';\r\nimport { Rounded, RoundedSize } from './rounded.type';\r\n\r\n@Directive({\r\n selector: '[cRounded]'\r\n})\r\nexport class RoundedDirective {\r\n\r\n /**\r\n * Set border radius variant and radius size\r\n * @type Rounded\r\n */\r\n @Input('cRounded') rounded: Rounded = true;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n\r\n if ( typeof this.rounded === 'boolean' ) {\r\n return { rounded: true };\r\n }\r\n if ( typeof this.rounded === 'number' || typeof this.rounded === 'string' ) {\r\n return {\r\n [`rounded-${this.rounded}`]: true\r\n };\r\n }\r\n if ( typeof this.rounded === 'object' ) {\r\n const roundedObj = {\r\n top: undefined,\r\n end: undefined,\r\n bottom: undefined,\r\n start: undefined,\r\n circle: undefined,\r\n pill: undefined,\r\n size: undefined,\r\n ...this.rounded,\r\n };\r\n // @ts-ignore\r\n const keys = Object.keys(roundedObj).filter(key => roundedObj[key] !== undefined );\r\n const classes = {};\r\n keys.forEach(key => {\r\n // @ts-ignore\r\n const val = roundedObj[key];\r\n if (typeof val === 'boolean') {\r\n // @ts-ignore\r\n classes[`rounded-${key}`] = val;\r\n } else {\r\n // @ts-ignore\r\n classes[`rounded-${val}`] = true;\r\n }\r\n });\r\n console.log('rounded keys', keys, classes);\r\n return Object.entries(classes).length === 0 ? {rounded: false} : classes;\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BgColorDirective } from './bg-color.directive';\r\nimport { BorderDirective } from './border.directive';\r\nimport { RoundedDirective } from './rounded.directive';\r\nimport { TextColorDirective } from './text-color.directive';\r\nimport { AlignDirective } from './align.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n BgColorDirective,\r\n BorderDirective,\r\n RoundedDirective,\r\n TextColorDirective,\r\n AlignDirective\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n BgColorDirective,\r\n BorderDirective,\r\n RoundedDirective,\r\n TextColorDirective,\r\n AlignDirective\r\n ]\r\n})\r\nexport class UtilitiesModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { SharedModule } from '../shared';\r\nimport { ElementCoverModule } from '../element-cover';\r\nimport { TableModule } from '../table';\r\nimport { PaginationModule } from '../pagination';\r\nimport { FormModule } from '../form';\r\nimport { ButtonModule } from '../button';\r\nimport { SmartPaginationModule } from '../smart-pagination';\r\nimport { SmartTableComponent } from './smart-table/smart-table.component';\r\nimport { SmartTableFilterComponent } from './smart-table-filter/smart-table-filter.component';\r\nimport { SmartTableItemsPerPageSelectorComponent } from './smart-table-items-per-page-selector/smart-table-items-per-page-selector.component';\r\nimport { SmartTableHeadComponent } from './smart-table-head/smart-table-head.component';\r\nimport { UtilitiesModule } from '../utilities';\r\n\r\n@NgModule({\r\n declarations: [\r\n SmartTableComponent,\r\n SmartTableFilterComponent,\r\n SmartTableItemsPerPageSelectorComponent,\r\n SmartTableHeadComponent,\r\n ],\r\n exports: [SmartTableComponent],\r\n imports: [\r\n CommonModule,\r\n ElementCoverModule,\r\n TableModule,\r\n PaginationModule,\r\n SmartPaginationModule,\r\n FormModule,\r\n FormsModule,\r\n ButtonModule,\r\n SharedModule,\r\n ReactiveFormsModule,\r\n UtilitiesModule\r\n ]\r\n})\r\nexport class SmartTableModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { TabContentComponent } from './tab-content/tab-content.component';\r\n\r\nexport interface ITabContentState {\r\n activeIdx: number,\r\n tabContent: TabContentComponent\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TabService {\r\n\r\n private activeTabPaneIdx = new Subject<ITabContentState>();\r\n activeTabPaneIdx$ = this.activeTabPaneIdx.asObservable();\r\n\r\n constructor() { }\r\n\r\n setActiveTabIdx(tabContentState: ITabContentState) {\r\n this.activeTabPaneIdx.next(tabContentState);\r\n }\r\n}\r\n","import { ChangeDetectorRef, Component, HostBinding, OnDestroy, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { TabContentComponent } from '../tab-content/tab-content.component';\r\nimport { ITabContentState, TabService } from '../tab.service';\r\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\n@Component({\r\n selector: 'c-tab-pane',\r\n templateUrl: './tab-pane.component.html',\r\n styleUrls: ['./tab-pane.component.scss'],\r\n exportAs: 'cTabPane'\r\n})\r\nexport class TabPaneComponent implements OnDestroy, OnInit {\r\n\r\n constructor(\r\n private changeDetectorRef: ChangeDetectorRef,\r\n private tabService: TabService\r\n ) { }\r\n\r\n public tabPaneIdx!: number;\r\n public tabContent!: TabContentComponent;\r\n private tabServiceSubscription!: Subscription;\r\n\r\n set active(value: boolean) {\r\n const newValue = coerceBooleanProperty(value);\r\n if (this._active !== newValue) {\r\n this._active = newValue;\r\n this.changeDetectorRef.markForCheck();\r\n }\r\n }\r\n get active(): boolean {\r\n return this._active;\r\n }\r\n private _active: boolean = false;\r\n\r\n @HostBinding('class')\r\n get hostClasses() {\r\n return {\r\n 'tab-pane': true,\r\n fade: true,\r\n show: this.active,\r\n active: this.active\r\n };\r\n }\r\n\r\n ngOnInit(): void {\r\n this.subscribeTabService();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscribeTabService(false);\r\n }\r\n\r\n subscribeTabService(subscribe: boolean = true) {\r\n if (subscribe) {\r\n this.tabServiceSubscription = this.tabService.activeTabPaneIdx$.subscribe((tabContentState: ITabContentState) => {\r\n if (tabContentState.tabContent === this.tabContent) {\r\n this.active = (tabContentState.activeIdx === this.tabPaneIdx);\r\n }\r\n });\r\n } else {\r\n this.tabServiceSubscription.unsubscribe();\r\n }\r\n }\r\n}\r\n","<ng-content></ng-content>\r\n","import {\r\n AfterContentChecked,\r\n AfterContentInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChildren,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n Output,\r\n QueryList,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport { coerceNumberProperty } from '@angular/cdk/coercion';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { TabPaneComponent } from '../tab-pane/tab-pane.component';\r\nimport { TabService } from '../tab.service';\r\n\r\n@Component({\r\n selector: 'c-tab-content',\r\n templateUrl: './tab-content.component.html',\r\n styleUrls: ['./tab-content.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n exportAs: 'cTabContent'\r\n})\r\nexport class TabContentComponent implements AfterContentChecked, AfterContentInit, OnChanges, OnDestroy {\r\n\r\n /**\r\n * Set active tabPane index\r\n * @type number\r\n */\r\n @Input()\r\n set activeTabPaneIdx(value: number) {\r\n const newValue = coerceNumberProperty(value);\r\n if (this._activeTabPaneIdx != newValue) {\r\n this._activeTabPaneIdx = newValue;\r\n this.activeTabPaneIdxChange.emit(newValue);\r\n this.changeDetectorRef.markForCheck();\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n };\r\n get activeTabPaneIdx() {\r\n return this._activeTabPaneIdx;\r\n }\r\n private _activeTabPaneIdx = -1;\r\n\r\n /**\r\n * Event emited on the active tab pane index change.\r\n */\r\n @Output() activeTabPaneIdxChange: EventEmitter<number> = new EventEmitter<number>();\r\n\r\n @ContentChildren(TabPaneComponent) public panes!: QueryList<TabPaneComponent>;\r\n private tabServiceSubscription!: Subscription;\r\n\r\n constructor(\r\n private changeDetectorRef: ChangeDetectorRef,\r\n private tabService: TabService\r\n ) { }\r\n\r\n @HostBinding('class')\r\n get hostClasses() {\r\n return {\r\n 'tab-content': true\r\n };\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.subscribeTabService();\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n this.panes?.forEach((tabPane, index) => {\r\n tabPane.tabContent = this;\r\n tabPane.tabPaneIdx = index;\r\n });\r\n this.refreshTabPaneActive(this.activeTabPaneIdx);\r\n this.tabService.setActiveTabIdx({ tabContent: this, activeIdx: this.activeTabPaneIdx });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['activeTabPaneIdx']?.currentValue) {\r\n this.tabService.setActiveTabIdx({ tabContent: this, activeIdx: changes['activeTabPaneIdx'].currentValue });\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscribeTabService(false);\r\n }\r\n\r\n subscribeTabService(subscribe: boolean = true) {\r\n if (subscribe) {\r\n this.tabServiceSubscription = this.tabService.activeTabPaneIdx$.subscribe((tabContentState) => {\r\n if (this === tabContentState.tabContent) {\r\n this.activeTabPaneIdx = tabContentState.activeIdx;\r\n }\r\n });\r\n } else {\r\n this.tabServiceSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n refreshTabPaneActive(idx: number) {\r\n // hack for active state pane refresh todo?\r\n this.panes?.forEach((tabPane, index) => {\r\n tabPane.active = idx === index;\r\n });\r\n }\r\n}\r\n","<ng-content></ng-content>\r\n","import {\r\n ChangeDetectorRef,\r\n Directive,\r\n HostBinding,\r\n HostListener,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\nimport { TabService } from './tab.service';\r\n\r\n@Directive({\r\n selector: '[cTabContent]',\r\n})\r\nexport class TabContentRefDirective implements OnChanges, OnDestroy, OnInit {\r\n\r\n constructor(\r\n private changeDetectorRef: ChangeDetectorRef,\r\n private tabService: TabService\r\n ) { }\r\n\r\n static ngAcceptInputType_disabled: BooleanInput;\r\n private tabServiceSubscription!: Subscription;\r\n\r\n /**\r\n * Template Ref\r\n * @type TemplateRef\r\n */\r\n @Input('cTabContent') tabContentRef!: any;\r\n\r\n /**\r\n * Set active state of tab content\r\n * @type boolean\r\n */\r\n @Input()\r\n set active(value: boolean) {\r\n const newValue = coerceBooleanProperty(value);\r\n if (this._active !== newValue) {\r\n this._active = newValue;\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n }\r\n get active() {\r\n return this._active;\r\n }\r\n private _active = false;\r\n\r\n /**\r\n * Set disabled state of tab content\r\n * @type boolean\r\n */\r\n @Input()\r\n set disabled(value: boolean) {\r\n this._disabled = coerceBooleanProperty(value);\r\n }\r\n get disabled(): boolean {\r\n return this._disabled || this.tabPaneIdx >= this.tabContentRef?.panes?.length;\r\n }\r\n private _disabled = false;\r\n\r\n /**\r\n * c-tab-pane index respectively\r\n * @type number\r\n */\r\n @Input() tabPaneIdx = -1;\r\n\r\n @HostBinding('class')\r\n get hostClasses() {\r\n return {\r\n active: this.active,\r\n disabled: this.disabled\r\n };\r\n }\r\n\r\n @HostBinding('attr.aria-disabled')\r\n get isDisabled(): boolean | null {\r\n return this.disabled || null;\r\n }\r\n\r\n @HostBinding('attr.disabled')\r\n get attrDisabled() {\r\n return this.disabled ? '' : null;\r\n };\r\n\r\n @HostBinding('attr.tabindex')\r\n get getTabindex(): string | null {\r\n return this.disabled ? '-1' : null;\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['active']?.currentValue) {\r\n this.setActiveTabPane();\r\n }\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n toggleOpen($event: any): void {\r\n $event.preventDefault();\r\n this.setActiveTabPane();\r\n }\r\n\r\n setActiveTabPane() {\r\n setTimeout(() => {\r\n if (this.tabPaneIdx < this.tabContentRef.panes.length) {\r\n this.active = true;\r\n this.tabService.setActiveTabIdx({ tabContent: this.tabContentRef, activeIdx: this.tabPaneIdx });\r\n } else {\r\n this.active = false;\r\n }\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.subscribeTabService();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscribeTabService(false);\r\n }\r\n\r\n subscribeTabService(subscribe: boolean = true) {\r\n if (subscribe) {\r\n this.tabServiceSubscription = this.tabService.activeTabPaneIdx$.subscribe((tabContentState) => {\r\n if (tabContentState.tabContent === this.tabContentRef) {\r\n this.active = (tabContentState.activeIdx === this.tabPaneIdx);\r\n }\r\n });\r\n } else {\r\n this.tabServiceSubscription.unsubscribe();\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TabContentComponent } from './tab-content/tab-content.component';\r\nimport { TabPaneComponent } from './tab-pane/tab-pane.component';\r\nimport { TabService } from './tab.service';\r\nimport { TabContentRefDirective } from './tab-content-ref.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n TabContentComponent,\r\n TabPaneComponent,\r\n TabContentRefDirective\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n TabContentComponent,\r\n TabPaneComponent,\r\n TabContentRefDirective\r\n ],\r\n providers: [\r\n TabService\r\n ]\r\n})\r\nexport class TabsModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\nimport { TToasterPlacement } from './toaster.component';\r\nimport { ToastComponent } from '../toast/toast.component';\r\n\r\nexport interface IToasterAction {\r\n placement?: TToasterPlacement;\r\n toast?: ToastComponent;\r\n show?: boolean;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ToasterService {\r\n\r\n private toasterState = new BehaviorSubject<IToasterAction>({});\r\n toasterState$ = this.toasterState.asObservable();\r\n\r\n constructor() {}\r\n\r\n setState(state: IToasterAction): void {\r\n this.toasterState.next({ ...state });\r\n }\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n Renderer2,\r\n} from '@angular/core';\r\n\r\nimport { animate, AnimationEvent, state, style, transition, trigger } from '@angular/animations';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\nimport { ToasterService } from '../toaster/toaster.service';\r\nimport { TToasterPlacement } from '../toaster/toaster.component';\r\nimport { Colors } from '../../coreui.types';\r\n\r\ntype AnimateType = ('hide' | 'show');\r\n\r\n@Component({\r\n selector: 'c-toast',\r\n templateUrl: './toast.component.html',\r\n styleUrls: ['./toast.component.scss'],\r\n exportAs: 'cToast',\r\n animations: [\r\n trigger('fadeInOut', [\r\n state('show', style({opacity: 1, height: '*', padding: '*', border: '*', margin: '*', overflow: 'hidden'})),\r\n state('hide', style({opacity: 0, height: 0, padding: 0, border: 0, margin: 0, overflow: 'hidden'})),\r\n state('void', style({opacity: 0, height: 0, padding: 0, border: 0, margin: 0, overflow: 'hidden'})),\r\n transition('show => hide', [\r\n animate('{{ time }} {{ easing }}'),\r\n ], {\r\n params: {time: '300ms', easing: 'ease-out'}\r\n }),\r\n transition('hide => show', [animate('{{ time }} {{ easing }}')], {\r\n params: {time: '300ms', easing: 'ease-in'},\r\n }),\r\n transition('show => void', [animate('{{ time }} {{ easing }}')], {\r\n params: {time: '300ms', easing: 'ease-out'},\r\n }),\r\n transition('void => show', [animate('{{ time }} {{ easing }}')], {\r\n params: {time: '300ms', easing: 'ease-in'},\r\n }),\r\n ]),\r\n ],\r\n})\r\nexport class ToastComponent implements OnInit, OnDestroy {\r\n\r\n static ngAcceptInputType_visible: BooleanInput;\r\n\r\n public dynamic!: boolean;\r\n public placement!: TToasterPlacement;\r\n public hide!: boolean;\r\n\r\n /**\r\n * Auto hide the toast.\r\n * @type boolean\r\n */\r\n @Input() autohide = true;\r\n\r\n /**\r\n * Sets the color context of the component to one of CoreUI’s themed colors.\r\n * @type Colors\r\n */\r\n @Input() color?: Colors = '';\r\n\r\n /**\r\n * Delay hiding the toast (ms).\r\n * @type number\r\n */\r\n @Input() delay = 5000;\r\n\r\n /**\r\n * Apply fade transition to the toast.\r\n * @type boolean\r\n */\r\n @Input() fade = true;\r\n\r\n /**\r\n * Toggle the visibility of component.\r\n * @type boolean\r\n */\r\n @Input()\r\n set visible(value: boolean) {\r\n const newValue = coerceBooleanProperty(value);\r\n if (this._visible !== newValue) {\r\n this._visible = newValue;\r\n newValue ? this.setTimer() : this.clearTimer();\r\n this.visibleChange.emit(newValue);\r\n this.changeDetectorRef.markForCheck();\r\n }\r\n }\r\n get visible() {\r\n return this._visible;\r\n }\r\n private _visible = false;\r\n\r\n /**\r\n * @ignore\r\n */\r\n @Input() index?: number;\r\n\r\n /**\r\n * Event emitted on visibility change. [docs]\r\n * @type boolean\r\n */\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n\r\n /**\r\n * Event emitted on timer tick. [docs]\r\n * @type number\r\n */\r\n @Output() timer: EventEmitter<number> = new EventEmitter();\r\n\r\n private timerId: any;\r\n private clockId: any;\r\n private clockTimerId: any;\r\n\r\n constructor(\r\n public hostElement: ElementRef,\r\n public renderer: Renderer2,\r\n public toasterService: ToasterService,\r\n public changeDetectorRef: ChangeDetectorRef\r\n ) {}\r\n\r\n private _clock!: number;\r\n\r\n get clock(): number {\r\n return this._clock;\r\n }\r\n\r\n set clock(value) {\r\n this._clock = value;\r\n this.timer.emit(this._clock);\r\n this.changeDetectorRef.markForCheck();\r\n }\r\n\r\n @HostBinding('@.disabled')\r\n get animationDisabled(): boolean {\r\n return !this.fade;\r\n }\r\n\r\n @HostBinding('@fadeInOut')\r\n get animateType(): AnimateType {\r\n return this.visible ? 'show' : 'hide';\r\n }\r\n\r\n @HostListener('@fadeInOut.start', ['$event'])\r\n onAnimationStart($event: AnimationEvent): void {\r\n this.onAnimationEvent($event);\r\n }\r\n\r\n @HostListener('@fadeInOut.done', ['$event'])\r\n onAnimationDone($event: AnimationEvent): void {\r\n this.onAnimationEvent($event);\r\n }\r\n\r\n @HostListener('mouseover') onMouseOver(): void {\r\n this.clearTimer();\r\n }\r\n\r\n @HostListener('mouseout') onMouseOut(): void {\r\n this.setTimer();\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n toast: true,\r\n fade: this.fade,\r\n show: !this.hide,\r\n [`bg-${this.color}`]: !!this.color,\r\n 'border-0': !!this.color\r\n };\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.visible) {\r\n this.toasterService.setState({\r\n toast: this,\r\n show: this.visible,\r\n placement: this.placement,\r\n });\r\n this.clearTimer();\r\n this.setTimer();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.clearTimer();\r\n }\r\n\r\n setTimer(): void {\r\n this.clearTimer();\r\n if (this.autohide && this.visible) {\r\n this.timerId = this.delay > 0 ? setTimeout(() => this.onClose(), this.delay) : null;\r\n this.setClock();\r\n }\r\n }\r\n\r\n clearTimer(): void {\r\n this.clearClock();\r\n clearTimeout(this.timerId);\r\n this.timerId = null;\r\n }\r\n\r\n onClose(): void {\r\n this.clearTimer();\r\n this.toasterService.setState({\r\n toast: this,\r\n show: false,\r\n placement: this.placement,\r\n });\r\n }\r\n\r\n setClock(): void {\r\n this.clearClock();\r\n this.clock = 0;\r\n this.clockId = setInterval(() => {\r\n this.clock += 1;\r\n this.changeDetectorRef.markForCheck();\r\n }, 1000);\r\n this.clockTimerId = setTimeout(() => {\r\n this.clearClock();\r\n }, this.delay);\r\n }\r\n\r\n clearClock(): void {\r\n clearTimeout(this.clockTimerId);\r\n clearInterval(this.clockId);\r\n this.clockId = null;\r\n }\r\n\r\n onAnimationEvent(event: AnimationEvent): void {\r\n this.hide = event.phaseName === 'start' && event.toState === 'show';\r\n if (event.phaseName === 'done') {\r\n this.hide = (event.toState === 'hide' || event.toState === 'void');\r\n if (event.toState === 'show') {\r\n this.hide = false;\r\n }\r\n }\r\n }\r\n}\r\n","<ng-content></ng-content>\r\n","import { Component, HostBinding, Optional } from '@angular/core';\r\nimport { ToastComponent } from '../toast/toast.component';\r\n\r\n@Component({\r\n selector: 'c-toast-body',\r\n template: '<ng-content></ng-content>',\r\n styleUrls: ['./toast-body.component.scss'],\r\n exportAs: 'cToastBody'\r\n})\r\nexport class ToastBodyComponent {\r\n\r\n @HostBinding('class.toast-body') toastBodyClass = true;\r\n\r\n constructor(\r\n @Optional() public toast?: ToastComponent\r\n ) { }\r\n\r\n}\r\n","import { Directive, HostListener, Input } from '@angular/core';\r\nimport { ToasterService } from './toaster/toaster.service';\r\n\r\n@Directive({\r\n selector: '[cToastClose]',\r\n exportAs: 'cToastClose'\r\n})\r\nexport class ToastCloseDirective {\r\n\r\n @Input('cToastClose') toast: any;\r\n\r\n constructor(private toasterService: ToasterService) { }\r\n\r\n @HostListener('click', ['$event'])\r\n toggleOpen($event: any): void {\r\n $event.preventDefault();\r\n this.toasterService.setState({ show: false, toast: this.toast });\r\n }\r\n\r\n}\r\n","import { Component, HostBinding, Input, Optional } from '@angular/core';\r\nimport { ToastComponent } from '../toast/toast.component';\r\n\r\n@Component({\r\n selector: 'c-toast-header',\r\n templateUrl: './toast-header.component.html',\r\n styleUrls: ['./toast-header.component.scss'],\r\n exportAs: 'cToastHeader'\r\n})\r\nexport class ToastHeaderComponent {\r\n\r\n /**\r\n * Add close button to a toast header\r\n * @type boolean\r\n */\r\n @Input() closeButton = true;\r\n\r\n @HostBinding('class.toast-header') toastHeaderClass = true;\r\n\r\n constructor(\r\n @Optional() public toast?: ToastComponent\r\n ) { }\r\n\r\n}\r\n","<ng-container>\r\n <ng-content></ng-content>\r\n <button *ngIf=\"closeButton\" [cToastClose]=\"toast\" [style]=\"{outline: 0}\" aria-label=\"close\" cButtonClose class=\"ms-auto\"></button>\r\n</ng-container>\r\n","import { Directive, ViewContainerRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cToasterHost]',\r\n exportAs: 'cToasterHost'\r\n})\r\nexport class ToasterHostDirective {\r\n\r\n constructor(\r\n public viewContainerRef: ViewContainerRef\r\n ) { }\r\n}\r\n","import {\r\n AfterContentChecked,\r\n Component,\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n ContentChildren,\r\n ElementRef,\r\n HostBinding,\r\n Injector,\r\n Input,\r\n NgModuleRef,\r\n OnDestroy,\r\n OnInit,\r\n QueryList,\r\n Renderer2,\r\n VERSION,\r\n ViewChild,\r\n ViewContainerRef\r\n} from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { IToasterAction, ToasterService } from './toaster.service';\r\nimport { ToasterHostDirective } from './toaster-host.directive';\r\nimport { ToastComponent } from '../toast/toast.component';\r\n\r\nexport enum ToasterPlacement {\r\n Static = 'static',\r\n TopStart = 'top-start',\r\n TopCenter = 'top-center',\r\n TopEnd = 'top-end',\r\n MiddleStart = 'middle-start',\r\n MiddleCenter = 'middle-center',\r\n MiddleEnd = 'middle-end',\r\n BottomStart = 'bottom-start',\r\n BottomCenter = 'bottom-center',\r\n BottomEnd = 'bottom-end',\r\n}\r\n\r\nexport type TToasterPlacement =\r\n | ToasterPlacement.Static\r\n | ToasterPlacement.TopStart\r\n | ToasterPlacement.TopCenter\r\n | ToasterPlacement.TopEnd\r\n | ToasterPlacement.MiddleStart\r\n | ToasterPlacement.MiddleCenter\r\n | ToasterPlacement.MiddleEnd\r\n | ToasterPlacement.BottomStart\r\n | ToasterPlacement.BottomCenter\r\n | ToasterPlacement.BottomEnd\r\n | string;\r\n\r\n@Component({\r\n selector: 'c-toaster',\r\n templateUrl: './toaster.component.html',\r\n exportAs: 'cToaster'\r\n})\r\nexport class ToasterComponent implements OnDestroy, OnInit, AfterContentChecked {\r\n\r\n stateToasterSubscription!: Subscription;\r\n placements = Object.values(ToasterPlacement);\r\n toasts!: QueryList<ViewContainerRef>;\r\n toastsDynamic: any[] = [];\r\n\r\n /**\r\n * Toaster placement\r\n * @type TToasterPlacement\r\n */\r\n @Input() placement: TToasterPlacement = ToasterPlacement.TopEnd;\r\n\r\n /**\r\n * Toaster position\r\n * @type (string | 'absolute' | 'fixed' | 'static')\r\n */\r\n @Input() position: (string | 'absolute' | 'fixed' | 'static') = 'absolute';\r\n\r\n @ViewChild(ToasterHostDirective, {static: true}) toasterHost!: ToasterHostDirective;\r\n @ContentChildren(ToastComponent, {read: ViewContainerRef}) contentToasts!: QueryList<ViewContainerRef>;\r\n\r\n constructor(\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private hostElement: ElementRef,\r\n private renderer: Renderer2,\r\n private toasterService: ToasterService\r\n ) { }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n toaster: true,\r\n 'toast-container': true,\r\n [`position-${this.position}`]: !!this.position,\r\n 'top-0': this.placement.includes('top'),\r\n 'top-50': this.placement.includes('middle'),\r\n 'bottom-0': this.placement.includes('bottom'),\r\n 'start-0': this.placement.includes('start'),\r\n 'start-50': this.placement.includes('center'),\r\n 'end-0': this.placement.includes('end'),\r\n 'translate-middle-x': this.placement.includes('center') && !this.placement.includes('middle'),\r\n 'translate-middle-y': this.placement.includes('middle') && !this.placement.includes('center'),\r\n 'translate-middle': this.placement.includes('middle') && this.placement.includes('center'),\r\n };\r\n }\r\n\r\n ngOnInit(): void {\r\n this.stateToasterSubscribe(true);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.stateToasterSubscribe(false);\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n this.toasts = this.contentToasts;\r\n }\r\n\r\n addToast(toast: any, props: any, options?: { index?: number; injector?: Injector; ngModuleRef?: NgModuleRef<unknown>; projectableNodes?: Node[][]; }): ComponentRef<any> {\r\n let componentRef: ComponentRef<any>;\r\n if (parseInt(VERSION.major) < 13) {\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(toast);\r\n componentRef = this.toasterHost.viewContainerRef.createComponent(factory, options?.index, options?.injector, options?.projectableNodes, options?.ngModuleRef);\r\n } else {\r\n // @ts-ignore\r\n componentRef = this.toasterHost.viewContainerRef.createComponent(toast, options);\r\n }\r\n this.toastsDynamic.push(componentRef);\r\n const index = this.toastsDynamic.indexOf(componentRef);\r\n for (const [key, value] of Object.entries(props)) {\r\n componentRef.instance[key] = value;\r\n }\r\n componentRef.instance['placement'] = this.placement;\r\n componentRef.instance['dynamic'] = true;\r\n componentRef.instance['index'] = index;\r\n componentRef.instance['visible'] = true;\r\n componentRef.instance['visibleChange'].emit(true);\r\n componentRef.changeDetectorRef?.detectChanges();\r\n return componentRef;\r\n }\r\n\r\n removeToast(state: IToasterAction): void {\r\n this.toastsDynamic?.forEach(item => {\r\n if (state.toast?.dynamic && (item.instance === state.toast)) {\r\n item.instance.visible = false;\r\n item.instance['visibleChange'].emit(false);\r\n setTimeout(() => {\r\n item.destroy();\r\n }, 300);\r\n }\r\n });\r\n\r\n this.toasts?.forEach(item => {\r\n if (item.element.nativeElement === state.toast?.hostElement.nativeElement) {\r\n if (!state.toast?.dynamic) {\r\n // @ts-ignore\r\n state.toast.visible = false;\r\n }\r\n }\r\n });\r\n }\r\n\r\n private stateToasterSubscribe(subscribe: boolean = true): void {\r\n if (subscribe) {\r\n this.stateToasterSubscription = this.toasterService.toasterState$.subscribe((state) => {\r\n if (state.show === false) {\r\n this.removeToast(state);\r\n }\r\n if (state.show === true && state.toast?.dynamic === undefined) {\r\n }\r\n });\r\n } else {\r\n this.stateToasterSubscription.unsubscribe();\r\n }\r\n }\r\n}\r\n","<ng-template cToasterHost></ng-template>\r\n<ng-content cToasterHost></ng-content>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { ButtonModule } from '../button';\r\nimport { ToastComponent } from './toast/toast.component';\r\nimport { ToastHeaderComponent } from './toast-header/toast-header.component';\r\nimport { ToastBodyComponent } from './toast-body/toast-body.component';\r\nimport { ToasterComponent } from './toaster/toaster.component';\r\nimport { ToasterService } from './toaster/toaster.service';\r\nimport { ToasterHostDirective } from './toaster/toaster-host.directive';\r\nimport { ToastCloseDirective } from './toast-close.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n ToastComponent,\r\n ToastHeaderComponent,\r\n ToastBodyComponent,\r\n ToasterComponent,\r\n ToasterHostDirective,\r\n ToastCloseDirective\r\n ],\r\n imports: [CommonModule, ButtonModule],\r\n providers: [ToasterService],\r\n exports: [\r\n ToastComponent,\r\n ToastHeaderComponent,\r\n ToastBodyComponent,\r\n ToasterComponent,\r\n ToasterHostDirective,\r\n ToastCloseDirective\r\n ]\r\n})\r\nexport class ToastModule {\r\n}\r\n","import {\r\n AfterViewInit,\r\n Component,\r\n HostBinding,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n Renderer2,\r\n SimpleChanges,\r\n TemplateRef,\r\n ViewChild,\r\n ViewContainerRef\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n})\r\nexport class TooltipComponent implements AfterViewInit, OnChanges, OnDestroy {\r\n\r\n /**\r\n * Content of tooltip\r\n * @type {string | TemplateRef}\r\n */\r\n @Input() content: string | TemplateRef<any> = '';\r\n /**\r\n * Toggle the visibility of popover component.\r\n * @type boolean\r\n */\r\n @Input() visible = false;\r\n @Input() @HostBinding('attr.id') id?: string;\r\n @Input() @HostBinding('attr.role') role = 'tooltip';\r\n\r\n @ViewChild('tooltipTemplate', {read: ViewContainerRef}) viewContainerRef!: ViewContainerRef;\r\n private textNode!: Text;\r\n\r\n constructor(\r\n private renderer: Renderer2,\r\n ) { }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): { [klass: string]: any; } {\r\n return {\r\n tooltip: true,\r\n fade: true,\r\n show: this.visible,\r\n 'bs-tooltip-auto': true\r\n };\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.updateView(this.content);\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['content']) {\r\n setTimeout(() => {\r\n this.updateView(this.content);\r\n });\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.clear();\r\n }\r\n\r\n private clear(): void {\r\n this.viewContainerRef?.clear();\r\n if (!!this.textNode) {\r\n this.renderer.removeChild(this.textNode.parentNode, this.textNode);\r\n }\r\n }\r\n\r\n private updateView(content: string | TemplateRef<any>): void {\r\n this.clear();\r\n\r\n if (!content) {\r\n return;\r\n }\r\n\r\n if (content instanceof TemplateRef) {\r\n this.viewContainerRef.createEmbeddedView(content);\r\n } else {\r\n this.textNode = this.renderer.createText(content);\r\n\r\n const element = this.viewContainerRef.element.nativeElement;\r\n this.renderer.appendChild(element.parentNode, this.textNode);\r\n }\r\n }\r\n}\r\n","<div class=\"tooltip-arrow\" data-popper-arrow></div>\r\n<div class=\"tooltip-inner\">\r\n <ng-container #tooltipTemplate></ng-container>\r\n</div>\r\n","import {\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n Directive,\r\n ElementRef,\r\n HostBinding,\r\n Inject,\r\n Input, OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Renderer2,\r\n SimpleChanges,\r\n TemplateRef,\r\n ViewContainerRef\r\n} from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { createPopper, Instance, Options } from '@popperjs/core';\r\n\r\nimport { Triggers } from '../coreui.types';\r\nimport { TooltipComponent } from './tooltip/tooltip.component';\r\nimport { IListenersConfig, ListenersService } from '../services/listeners.service';\r\n\r\n@Directive({\r\n selector: '[cTooltip]',\r\n exportAs: 'cTooltip',\r\n providers: [ListenersService]\r\n})\r\nexport class TooltipDirective implements OnChanges, OnDestroy, OnInit {\r\n\r\n /**\r\n * Content of tooltip\r\n * @type {string | TemplateRef}\r\n */\r\n @Input('cTooltip') content: string | TemplateRef<any> = '';\r\n\r\n /**\r\n * Optional popper Options object, takes precedence over cPopoverPlacement prop\r\n * @type Partial<Options>\r\n */\r\n @Input('cTooltipOptions')\r\n set popperOptions(value: Partial<Options>) {\r\n this._popperOptions = {...this._popperOptions, placement: this.placement, ...value};\r\n };\r\n get popperOptions(): Partial<Options> {\r\n return {placement: this.placement, ...this._popperOptions};\r\n }\r\n\r\n /**\r\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.\r\n */\r\n @Input('cTooltipPlacement') placement: 'top' | 'bottom' | 'left' | 'right' = 'top';\r\n /**\r\n * Sets which event handlers you’d like provided to your toggle prop. You can specify one trigger or an array of them.\r\n * @type {'hover' | 'focus' | 'click'}\r\n */\r\n @Input('cTooltipTrigger') trigger: Triggers | Triggers[] = 'hover';\r\n\r\n /**\r\n * Toggle the visibility of tooltip component.\r\n */\r\n @Input('cTooltipVisible')\r\n set visible(value: boolean) {\r\n this._visible = value;\r\n value ? this.addTooltipElement() : this.removeTooltipElement();\r\n this.tooltipRef?.changeDetectorRef.markForCheck();\r\n }\r\n get visible() {\r\n return this._visible;\r\n }\r\n private _visible = false;\r\n\r\n @HostBinding('attr.aria-describedby') get ariaDescribedBy(): string | null {\r\n return this.tooltipId ? this.tooltipId : null;\r\n }\r\n\r\n private tooltip!: HTMLDivElement;\r\n private tooltipId!: string;\r\n private tooltipRef!: ComponentRef<TooltipComponent>;\r\n private popperInstance!: Instance;\r\n\r\n private _popperOptions: Partial<Options> = {\r\n modifiers: [\r\n {\r\n name: 'offset',\r\n options: {\r\n offset: [0, 0],\r\n },\r\n },\r\n ],\r\n };\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: any,\r\n private renderer: Renderer2,\r\n private hostElement: ElementRef,\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private viewContainerRef: ViewContainerRef,\r\n private listenersService: ListenersService\r\n ) {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['visible']) {\r\n changes['visible'].currentValue ? this.addTooltipElement() : this.removeTooltipElement();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.clearListeners();\r\n this.destroyTooltipElement();\r\n }\r\n\r\n ngOnInit(): void {\r\n // this.createTooltipElement();\r\n this.setListeners();\r\n }\r\n\r\n private setListeners(): void {\r\n const config: IListenersConfig = {\r\n hostElement: this.hostElement,\r\n trigger: this.trigger,\r\n callbackToggle: () => {\r\n this.visible = !this.visible;\r\n },\r\n callbackOff: () => {\r\n this.visible = false;\r\n },\r\n callbackOn: () => {\r\n this.visible = true;\r\n }\r\n }\r\n this.listenersService.setListeners(config)\r\n }\r\n\r\n private clearListeners(): void {\r\n this.listenersService.clearListeners();\r\n }\r\n\r\n private getUID(prefix: string): string {\r\n let uid = prefix ?? 'random-id';\r\n do {\r\n uid = `${prefix}-${Math.floor(Math.random() * 1000000).toString(10)}`;\r\n } while (this.document.getElementById(uid));\r\n\r\n return uid;\r\n }\r\n\r\n private createTooltipElement(): void {\r\n if (!this.tooltipRef) {\r\n const tooltipComponent = this.componentFactoryResolver.resolveComponentFactory(TooltipComponent);\r\n this.tooltipRef = this.viewContainerRef.createComponent(tooltipComponent);\r\n }\r\n }\r\n\r\n private destroyTooltipElement(): void {\r\n this.tooltip?.remove();\r\n this.tooltipRef?.destroy();\r\n // @ts-ignore\r\n this.tooltipRef = undefined;\r\n this.popperInstance?.destroy();\r\n this.viewContainerRef.detach();\r\n this.viewContainerRef.clear();\r\n }\r\n\r\n private addTooltipElement(): void {\r\n if (!this.tooltipRef) {\r\n this.createTooltipElement();\r\n }\r\n this.tooltipRef.instance.content = this.content;\r\n this.tooltip = this.tooltipRef.location.nativeElement;\r\n\r\n setTimeout(() => {\r\n this.popperInstance = createPopper(\r\n this.hostElement.nativeElement,\r\n this.tooltip,\r\n { ...this.popperOptions }\r\n );\r\n setTimeout(() => {\r\n this.tooltipId = this.getUID('tooltip');\r\n this.tooltipRef.instance.id = this.tooltipId;\r\n this.tooltipRef.instance.visible = this.visible;\r\n this.renderer.appendChild(this.document.body, this.tooltip);\r\n this.popperInstance.forceUpdate();\r\n this.tooltipRef.changeDetectorRef.markForCheck();\r\n // this.tooltipRef.changeDetectorRef.detectChanges();\r\n }, 100);\r\n })\r\n }\r\n\r\n private removeTooltipElement(): void {\r\n if (!this.tooltipRef) {\r\n return\r\n }\r\n this.tooltipRef.instance.visible = this.visible;\r\n setTimeout(() => {\r\n // this.tooltipRef.changeDetectorRef.detectChanges();\r\n this.tooltipRef.instance.id = undefined;\r\n this.renderer.removeChild(this.document.body, this.tooltip);\r\n this.popperInstance?.destroy();\r\n this.tooltipId = '';\r\n }, 300);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TooltipComponent } from './tooltip/tooltip.component';\r\nimport { TooltipDirective } from './tooltip.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n TooltipComponent,\r\n TooltipDirective,\r\n ],\r\n exports: [\r\n TooltipComponent,\r\n TooltipDirective,\r\n ],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class TooltipModule { }\r\n","import { AfterContentInit, Component, ContentChildren, HostBinding, Input, QueryList } from '@angular/core';\r\n\r\nimport { Colors } from '../../coreui.types';\r\nimport { TemplateIdDirective } from '../../shared';\r\n\r\n@Component({\r\n selector: 'c-widget-stat-a',\r\n templateUrl: './widget-stat-a.component.html',\r\n styleUrls: ['./widget-stat-a.component.scss'],\r\n exportAs: 'cWidgetStatA'\r\n})\r\nexport class WidgetStatAComponent implements AfterContentInit {\r\n /**\r\n * Sets the color context of the component to one of CoreUI’s themed colors.\r\n * @type Colors\r\n */\r\n @Input() color?: Colors;\r\n /**\r\n * Title of the widget to display\r\n * @type string\r\n */\r\n @Input() title?: string;\r\n /**\r\n * Value for your widget to display\r\n * @type string\r\n */\r\n @Input() value?: string;\r\n\r\n templates: any = {};\r\n\r\n @ContentChildren(TemplateIdDirective, {descendants: true}) contentTemplates!: QueryList<TemplateIdDirective>;\r\n\r\n @HostBinding('class')\r\n get hostClasses() {\r\n return {\r\n 'card': true,\r\n [`bg-${this.color}`]: !!this.color,\r\n 'text-high-emphasis-inverse': !!this.color\r\n }\r\n }\r\n\r\n get bodyClasses() {\r\n return {\r\n 'pb-0': true,\r\n 'd-flex': true,\r\n 'justify-content-between': true,\r\n 'align-items-start': true,\r\n }\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.contentTemplates.forEach((child: TemplateIdDirective) => {\r\n this.templates[child.id] = child.templateRef;\r\n });\r\n }\r\n}\r\n","<ng-container>\r\n <c-card-body [ngClass]=\"bodyClasses\">\r\n <div>\r\n <div *ngIf=\"!!value || templates?.widgetValueTemplate\" class=\"fs-4 fw-semibold\">\r\n <ng-container *ngTemplateOutlet=\"templates?.widgetValueTemplate || defaultWidgetValueTemplate\"></ng-container>\r\n </div>\r\n <div *ngIf=\"!!title || templates?.widgetTitleTemplate\">\r\n <ng-container *ngTemplateOutlet=\"templates?.widgetTitleTemplate || defaultWidgetTitleTemplate\"></ng-container>\r\n </div>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"templates?.widgetActionTemplate || defaultWidgetActionTemplate\"></ng-container>\r\n </c-card-body>\r\n <ng-container *ngTemplateOutlet=\"templates?.widgetChartTemplate || defaultWidgetChartTemplate\"></ng-container>\r\n</ng-container>\r\n\r\n<ng-template #defaultWidgetTitleTemplate>\r\n {{title}}\r\n</ng-template>\r\n\r\n<ng-template #defaultWidgetValueTemplate>\r\n {{value}}\r\n</ng-template>\r\n\r\n<ng-template #defaultWidgetChartTemplate>\r\n <ng-content select=\".chart-wrapper\"></ng-content>\r\n</ng-template>\r\n\r\n<ng-template #defaultWidgetActionTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n","import { Component, HostBinding, Input, OnInit } from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\nimport { Colors } from '../../coreui.types';\r\nimport { CardComponent } from '../../card';\r\n\r\n@Component({\r\n selector: 'c-widget-stat-b',\r\n templateUrl: './widget-stat-b.component.html',\r\n styleUrls: ['./widget-stat-b.component.scss'],\r\n exportAs: 'cWidgetStatB'\r\n})\r\nexport class WidgetStatBComponent extends CardComponent {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n static ngAcceptInputType_inverse: BooleanInput;\r\n\r\n /**\r\n * Sets the color context of the component to one of CoreUI’s themed colors.\r\n * @type Colors\r\n */\r\n @Input() override color?: Colors;\r\n /**\r\n * Sets the text-color context of the component to one of CoreUI’s themed colors.\r\n * @type Colors\r\n */\r\n @Input() override textColor?: Colors | 'white' | 'muted';\r\n /**\r\n * Title of the widget to display\r\n * @type string\r\n */\r\n @Input() title?: string;\r\n /**\r\n * Helper text for your widget.\r\n * @type string\r\n */\r\n @Input() text?: string;\r\n /**\r\n * Value for your widget to display\r\n * @type string\r\n */\r\n @Input() value?: string;\r\n /**\r\n * Invert colors from their default dark shade.\r\n * @type boolean\r\n */\r\n @Input()\r\n get inverse(): boolean {\r\n return this._inverse;\r\n }\r\n set inverse(value: boolean) {\r\n this._inverse = coerceBooleanProperty(value);\r\n }\r\n private _inverse = false;\r\n\r\n @HostBinding('class')\r\n override get hostClasses() {\r\n return {\r\n 'card': true,\r\n [`bg-${this.color}`]: !!this.color,\r\n [`text-${this.textColor}`]: !!this.textColor,\r\n 'text-high-emphasis-inverse': !!this.color\r\n }\r\n }\r\n\r\n}\r\n","<c-card-body>\r\n <div *ngIf=\"!!value\" class=\"fs-4 fw-semibold\">{{value}}</div>\r\n <div *ngIf=\"!!title\">{{title}}</div>\r\n <ng-content></ng-content>\r\n <small *ngIf=\"text\" [ngClass]=\"inverse ? 'text-medium-emphasis-inverse' : 'text-medium-emphasis'\">\r\n {{text}}\r\n </small>\r\n</c-card-body>\r\n","import { AfterContentInit, Component, ContentChildren, HostBinding, Input, QueryList } from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\nimport { CardComponent } from '../../card';\r\nimport { TemplateIdDirective } from '../../shared';\r\n\r\n@Component({\r\n selector: 'c-widget-stat-c',\r\n templateUrl: './widget-stat-c.component.html',\r\n styleUrls: ['./widget-stat-c.component.scss'],\r\n exportAs: 'cWidgetStatC'\r\n})\r\nexport class WidgetStatCComponent extends CardComponent implements AfterContentInit {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n static ngAcceptInputType_inverse: BooleanInput;\r\n\r\n /**\r\n * Icon for your component.\r\n * @type string\r\n */\r\n @Input() icon?: string;\r\n /**\r\n * Title of the widget to display\r\n * @type string\r\n */\r\n @Input() title?: string;\r\n /**\r\n * Value for your widget to display\r\n * @type string\r\n */\r\n @Input() value?: string | number;\r\n /**\r\n * Invert colors from their default dark shade.\r\n * @type boolean\r\n */\r\n @Input()\r\n get inverse(): boolean {\r\n return this._inverse;\r\n }\r\n set inverse(value: boolean) {\r\n this._inverse = coerceBooleanProperty(value);\r\n }\r\n private _inverse = false;\r\n\r\n templates: any = {};\r\n @ContentChildren(TemplateIdDirective, {descendants: true}) contentTemplates!: QueryList<TemplateIdDirective>;\r\n\r\n @HostBinding('class')\r\n get hostExtendedClass() {\r\n return {\r\n 'high-emphasis-inverse': this.inverse\r\n }\r\n }\r\n\r\n get iconClasses() {\r\n return {\r\n 'mb-4': !this.textColor,\r\n 'text-end': true,\r\n 'text-medium-emphasis': !this.inverse,\r\n 'text-medium-emphasis-inverse': this.inverse,\r\n [`text-${this.textColor}`]: !!this.textColor,\r\n }\r\n }\r\n\r\n get titleClasses() {\r\n return {\r\n 'text-medium-emphasis': !this.inverse,\r\n 'text-medium-emphasis-inverse': this.inverse,\r\n [`text-${this.textColor}`]: !!this.textColor,\r\n }\r\n }\r\n\r\n get valueClasses() {\r\n return {\r\n 'fs-4': !this.textColor,\r\n 'fw-semibold': true,\r\n 'text-high-emphasis': !this.inverse,\r\n 'text-high-emphasis-inverse': this.inverse,\r\n [`text-${this.textColor}`]: !!this.textColor,\r\n }\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.contentTemplates.forEach((child: TemplateIdDirective) => {\r\n this.templates[child.id] = child.templateRef;\r\n });\r\n }\r\n}\r\n","<c-card-body>\r\n <div *ngIf=\"icon || templates?.widgetIconTemplate\" [ngClass]=\"iconClasses\">\r\n <ng-container *ngTemplateOutlet=\"templates?.widgetIconTemplate || defaultWidgetIconTemplate\"></ng-container>\r\n </div>\r\n <div *ngIf=\"!!value\" [ngClass]=\"valueClasses\">\r\n {{value}}\r\n </div>\r\n <div *ngIf=\"!!title\" [ngClass]=\"titleClasses\">\r\n {{title}}\r\n </div>\r\n <ng-container *ngIf=\"templates?.widgetProgressTemplate\">\r\n <ng-container *ngTemplateOutlet=\"templates?.widgetProgressTemplate || defaultWidgetProgressTemplate\"></ng-container>\r\n </ng-container>\r\n</c-card-body>\r\n\r\n<ng-template #defaultWidgetIconTemplate>\r\n {{icon}}\r\n</ng-template>\r\n\r\n<ng-template #defaultWidgetProgressTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n","import { Component, HostBinding, Input, OnInit } from '@angular/core';\r\nimport { Colors } from '../../coreui.types';\r\n\r\nexport type WidgetStatDValue = {\r\n title?: string,\r\n value?: number | string,\r\n}\r\n\r\n@Component({\r\n selector: 'c-widget-stat-d',\r\n templateUrl: './widget-stat-d.component.html',\r\n styleUrls: ['./widget-stat-d.component.scss'],\r\n exportAs: 'cWidgetStatD'\r\n})\r\nexport class WidgetStatDComponent {\r\n /**\r\n * Sets the color context of the component to one of CoreUI’s themed colors.\r\n * @type Colors\r\n */\r\n @Input() color?: Colors;\r\n /**\r\n * Values and subtitles for your component.\r\n * @type WidgetStatDValue\r\n */\r\n @Input() values?: WidgetStatDValue[];\r\n\r\n constructor() {\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses() {\r\n return {\r\n 'card': true\r\n }\r\n }\r\n\r\n get headerClasses() {\r\n return {\r\n 'position-relative': true,\r\n 'd-flex': true,\r\n 'justify-content-center': true,\r\n 'align-items-center': true,\r\n [`bg-${this.color}`]: this.color,\r\n }\r\n }\r\n\r\n}\r\n","<c-card-header [ngClass]=\"headerClasses\">\r\n <ng-content></ng-content>\r\n</c-card-header>\r\n<c-card-body cRow class=\"text-center\">\r\n <ng-template [ngForOf]=\"values\" let-i=\"index\" let-item ngFor>\r\n <div *ngIf=\"i % 2 !== 0\" class=\"vr\"></div>\r\n <c-col>\r\n <div class=\"fs-5 fw-semibold\">{{item.value}}</div>\r\n <div class=\"text-uppercase text-medium-emphasis small\">{{item.title}}</div>\r\n </c-col>\r\n </ng-template>\r\n</c-card-body>\r\n","import { Component, Input } from '@angular/core';\r\nimport { CardComponent } from '../../card';\r\n\r\n@Component({\r\n selector: 'c-widget-stat-e',\r\n templateUrl: './widget-stat-e.component.html',\r\n styleUrls: ['./widget-stat-e.component.scss'],\r\n exportAs: 'cWidgetStatE'\r\n})\r\nexport class WidgetStatEComponent extends CardComponent {\r\n\r\n constructor() {\r\n super();\r\n }\r\n /**\r\n * Title of the widget to display\r\n * @type string\r\n */\r\n @Input() title?: string;\r\n /**\r\n * Value for your widget to display\r\n * @type string | number\r\n */\r\n @Input() value?: string | number;\r\n\r\n get titleClasses() {\r\n return {\r\n 'text-medium-emphasis': !this.textColor,\r\n 'small': true,\r\n 'text-uppercase': true,\r\n 'fw-semibold': true,\r\n [`text-${this.textColor}`]: !!this.textColor,\r\n }\r\n }\r\n\r\n}\r\n","<c-card-body class=\"text-center\">\r\n <div *ngIf=\"!!title\" [ngClass]=\"titleClasses\">{{title}}</div>\r\n <div *ngIf=\"!!value\" class=\"fs-6 fw-semibold py-3\">{{value}}</div>\r\n <ng-content></ng-content>\r\n</c-card-body>\r\n","import { AfterContentInit, Component, ContentChildren, HostBinding, Input, QueryList } from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\nimport { TemplateIdDirective } from '../../shared';\r\nimport { Colors } from '../../coreui.types';\r\n\r\n@Component({\r\n selector: 'c-widget-stat-f',\r\n templateUrl: './widget-stat-f.component.html',\r\n styleUrls: ['./widget-stat-f.component.scss'],\r\n exportAs: 'cWidgetStatB'\r\n})\r\nexport class WidgetStatFComponent implements AfterContentInit {\r\n\r\n static ngAcceptInputType_padding: BooleanInput;\r\n /**\r\n * Sets the color context of the component to one of CoreUI’s themed colors.\r\n * @type Colors\r\n */\r\n @Input() color?: Colors;\r\n /**\r\n * Sets the text-color context of the component to one of CoreUI’s themed colors.\r\n * @type Colors\r\n */\r\n @Input() textColor?: Colors | 'white' | 'muted';\r\n /**\r\n * Footer for your widget\r\n * @type string\r\n */\r\n @Input() footer?: string;\r\n /**\r\n * Icon for your widget\r\n * @type string\r\n */\r\n @Input() icon?: string;\r\n /**\r\n * Title of the widget to display\r\n * @type string\r\n */\r\n /**\r\n * Set padding of your component.\r\n * @type boolean\r\n */\r\n @Input()\r\n get padding(): boolean {\r\n return this._padding;\r\n }\r\n set padding(value: boolean) {\r\n this._padding = coerceBooleanProperty(value);\r\n }\r\n private _padding = false;\r\n\r\n @Input() title?: string;\r\n /**\r\n * Value for your widget to display\r\n * @type string\r\n */\r\n @Input() value?: string | number;\r\n\r\n templates: any = {};\r\n @ContentChildren(TemplateIdDirective, {descendants: true}) contentTemplates!: QueryList<TemplateIdDirective>;\r\n\r\n @HostBinding('class')\r\n get hostClasses() {\r\n return {\r\n card: true\r\n }\r\n }\r\n\r\n get cardBodyClasses() {\r\n return {\r\n 'd-flex': true,\r\n 'align-items-center': true,\r\n 'p-0': !this.padding,\r\n }\r\n }\r\n\r\n get iconClasses() {\r\n return {\r\n 'me-3': !this.textColor,\r\n 'text-white': true,\r\n [`bg-${this.color}`]: !!this.color,\r\n 'p-3': this.padding,\r\n 'p-4': !this.padding,\r\n }\r\n }\r\n\r\n get titleClasses() {\r\n return {\r\n 'text-medium-emphasis': !this.textColor,\r\n 'small': true,\r\n 'text-uppercase': true,\r\n 'fw-semibold': true,\r\n [`text-${this.textColor}`]: !!this.textColor,\r\n }\r\n }\r\n\r\n get valueClasses() {\r\n return {\r\n 'fs-6': !this.textColor,\r\n 'fw-semibold': true,\r\n [`text-${this.textColor}`]: !!this.textColor,\r\n }\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.contentTemplates.forEach((child: TemplateIdDirective) => {\r\n this.templates[child.id] = child.templateRef;\r\n });\r\n }\r\n}\r\n","<ng-container>\r\n <c-card-body [ngClass]=\"cardBodyClasses\">\r\n <div [ngClass]=\"iconClasses\">\r\n <ng-container *ngTemplateOutlet=\"templates?.widgetIconTemplate || defaultWidgetIconTemplate\"></ng-container>\r\n </div>\r\n <div>\r\n <div [ngClass]=\"valueClasses\">{{value}}</div>\r\n <div [ngClass]=\"titleClasses\">{{title}}</div>\r\n </div>\r\n </c-card-body>\r\n <c-card-footer *ngIf=\"footer || templates?.widgetFooterTemplate\">\r\n <ng-container *ngTemplateOutlet=\"templates?.widgetFooterTemplate || defaultFooterIconTemplate\"></ng-container>\r\n </c-card-footer>\r\n</ng-container>\r\n\r\n<ng-template #defaultWidgetIconTemplate>\r\n <span>{{icon}}</span>\r\n</ng-template>\r\n\r\n<ng-template #defaultFooterIconTemplate>\r\n <span>{{footer}}</span>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { CardModule } from '../card';\r\nimport { GridModule } from '../grid';\r\n\r\nimport { WidgetStatAComponent } from './widget-stat-a/widget-stat-a.component';\r\nimport { WidgetStatBComponent } from './widget-stat-b/widget-stat-b.component';\r\nimport { WidgetStatCComponent } from './widget-stat-c/widget-stat-c.component';\r\nimport { WidgetStatDComponent } from './widget-stat-d/widget-stat-d.component';\r\nimport { WidgetStatEComponent } from './widget-stat-e/widget-stat-e.component';\r\nimport { WidgetStatFComponent } from './widget-stat-f/widget-stat-f.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n WidgetStatAComponent,\r\n WidgetStatBComponent,\r\n WidgetStatCComponent,\r\n WidgetStatDComponent,\r\n WidgetStatEComponent,\r\n WidgetStatFComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n CardModule,\r\n GridModule,\r\n ],\r\n exports: [\r\n WidgetStatAComponent,\r\n WidgetStatBComponent,\r\n WidgetStatCComponent,\r\n WidgetStatDComponent,\r\n WidgetStatEComponent,\r\n WidgetStatFComponent\r\n ]\r\n})\r\nexport class WidgetModule {\r\n}\r\n","/*\r\n * Public API Surface of coreui-angular\r\n */\r\n\r\nexport * from './lib/coreui.types';\r\nexport * from './lib/shared';\r\nexport * from './lib/accordion';\r\nexport * from './lib/alert';\r\nexport * from './lib/avatar';\r\nexport * from './lib/badge';\r\nexport * from './lib/breadcrumb';\r\nexport * from './lib/button';\r\nexport * from './lib/button-group';\r\nexport * from './lib/calendar';\r\nexport * from './lib/callout';\r\nexport * from './lib/card';\r\nexport * from './lib/carousel';\r\nexport * from './lib/collapse';\r\nexport * from './lib/date-range-picker';\r\nexport * from './lib/dropdown';\r\nexport * from './lib/element-cover';\r\nexport * from './lib/footer';\r\nexport * from './lib/form';\r\nexport * from './lib/grid';\r\nexport * from './lib/header';\r\nexport * from './lib/image';\r\nexport * from './lib/list-group';\r\nexport * from './lib/loading-button';\r\nexport * from './lib/multi-select';\r\nexport * from './lib/nav';\r\nexport * from './lib/navbar';\r\nexport * from './lib/modal';\r\nexport * from './lib/offcanvas';\r\nexport * from './lib/pagination';\r\nexport * from './lib/placeholder';\r\nexport * from './lib/popover';\r\nexport * from './lib/progress';\r\nexport * from './lib/services';\r\nexport * from './lib/sidebar';\r\nexport * from './lib/smart-pagination';\r\nexport * from './lib/smart-table';\r\nexport * from './lib/spinner';\r\nexport * from './lib/table';\r\nexport * from './lib/tabs';\r\nexport * from './lib/toast';\r\nexport * from './lib/tooltip';\r\nexport * from './lib/utilities';\r\nexport * from './lib/widget';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.AccordionService","nextId","i3.CollapseDirective","i4.AccordionButtonDirective","i1","i2.ButtonCloseDirective","i2","i3.HtmlAttributesDirective","i1.BreadcrumbRouterService","i2.BreadcrumbComponent","i3.BreadcrumbItemComponent","i4","i1.CalendarService","i3.ButtonDirective","i3.CalendarDayDirective","i4.CalendarWeekdayPipe","i5.CalendarClassYearPipe","i6.CalendarClassMonthPipe","i7.CalendarClassDayPipe","i8.CalendarDayPipe","i2.CalendarNavigationComponent","i3.CalendarMonthComponent","i5.CalendarClassViewPipe","i1.CarouselService","i2.CarouselState","i3.IntersectionService","i4.ListenersService","i1.CarouselState","i3","i1.DropdownService","i2.DropdownComponent","i3.InputGroupComponent","i4.CalendarComponent","i2.DropdownToggleDirective","i5.FormControlDirective","i6","i7.StartDateDirective","i8","i9.InputGroupTextDirective","i10.EndDateDirective","i11.DropdownMenuDirective","i12.ButtonDirective","i1.SpinnerComponent","i2.MultiSelectService","i1.MultiSelectOptgroupLabelComponent","i1.MultiSelectService","i3.ButtonCloseDirective","i3.MultiSelectTagComponent","i5","i6.ButtonCloseDirective","i1.ModalService","i2.BackdropService","i3.ModalDialogComponent","i4.ModalContentComponent","i1.OffcanvasService","i1.ListenersService","i1.SidebarService","i2.SidebarService","i3.SidebarBackdropService","i1.SidebarNavHelper","i4.SidebarNavBadgePipe","i4.HtmlAttributesDirective","i6.SidebarNavLinkPipe","i7.SidebarNavBadgePipe","i8.SidebarNavIconPipe","i1.SidebarComponent","i2.SidebarNavHelper","i4.SidebarService","i5.SidebarNavDividerComponent","i6.SidebarNavTitleComponent","i7.SidebarNavLabelComponent","i8.SidebarNavLinkComponent","i9","i10.HtmlAttributesDirective","i11.SidebarNavItemClassPipe","i12","i13.SidebarNavBadgePipe","i14.SidebarNavIconPipe","i2.PageItemDirective","i3.PageLinkDirective","i1.FormLabelDirective","i2.FormControlDirective","i2.FormCheckInputDirective","i4.TableColorDirective","i2.FormSelectDirective","i1.SmartTableFilterComponent","i2.SmartTableHeadComponent","i3.ElementCoverComponent","i4.SmartPaginationComponent","i5.SmartTableItemsPerPageSelectorComponent","i7.ButtonDirective","i8.TableDirective","i9.HtmlAttributesDirective","i10.TableColorDirective","i11.AlignDirective","i12.TableActiveDirective","i13.FormCheckInputDirective","i1.TabService","i1.ToasterService","i1.ToastComponent","i4.ToastCloseDirective","i2.ToasterHostDirective","i1.CardBodyComponent","i1.CardHeaderComponent","i2.CardBodyComponent","i3.ColComponent","i5.RowDirective","i2.CardFooterComponent"],"mappings":"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"}
|
|
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/accordion/accordion-item/accordion-item.component.ts","../../../projects/coreui-angular/src/lib/accordion/accordion-item/accordion-item.component.html","../../../projects/coreui-angular/src/lib/collapse/collapse.module.ts","../../../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/alert/alert.component.ts","../../../projects/coreui-angular/src/lib/alert/alert.component.html","../../../projects/coreui-angular/src/lib/button/button.module.ts","../../../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.component.html","../../../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/breadcrumb.component.html","../../../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/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-img-overlay/card-img-overlay.component.html","../../../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/spinner/spinner.component.ts","../../../projects/coreui-angular/src/lib/spinner/spinner.component.html","../../../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/spinner/spinner.module.ts","../../../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/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/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-optgroup/multi-select-optgroup-label.component.html","../../../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-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-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/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-item.component.html","../../../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/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/services/class-toggle.service.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-header/sidebar-header.component.html","../../../projects/coreui-angular/src/lib/sidebar/sidebar-footer/sidebar-footer.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-footer/sidebar-footer.component.html","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav.service.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-badge.pipe.ts","../../../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-icon.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-title.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.component.html","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-group.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/table/table.directive.ts","../../../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/utilities/align.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/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-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/smart-table.component.ts","../../../projects/coreui-angular/src/lib/smart-table/smart-table/smart-table.component.html","../../../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/utilities.module.ts","../../../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-pane/tab-pane.component.html","../../../projects/coreui-angular/src/lib/tabs/tab-content/tab-content.component.ts","../../../projects/coreui-angular/src/lib/tabs/tab-content/tab-content.component.html","../../../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/toast.component.html","../../../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';\r\n\r\nexport enum BreakpointInfix {\r\n xs = 'xs',\r\n sm = 'sm',\r\n md = 'md',\r\n lg = 'lg',\r\n xl = 'xl',\r\n xxl = 'xxl'\r\n}\r\n\r\nexport type BreakpointInfixStrings = keyof typeof BreakpointInfix;\r\n\r\nexport type Breakpoints = BreakpointInfixStrings | string;\r\n\r\nexport type Sizes = 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | string;\r\n\r\nexport type Colors =\r\n | 'primary'\r\n | 'secondary'\r\n | 'success'\r\n | 'danger'\r\n | 'warning'\r\n | 'info'\r\n | 'dark'\r\n | 'light'\r\n | 'primary-gradient'\r\n | 'secondary-gradient'\r\n | 'success-gradient'\r\n | 'danger-gradient'\r\n | 'warning-gradient'\r\n | 'info-gradient'\r\n | 'dark-gradient'\r\n | 'light-gradient'\r\n | string;\r\n\r\n// export type ColorsGradient =\r\n// | Colors\r\n// | `${Colors}-gradient`;\r\n\r\nexport type BackgroundColors = Colors | 'body' | 'white' | 'transparent';\r\n\r\nexport type Directions = 'down' | 'up' | 'start' | 'end' | '';\r\n\r\nexport type TextColors =\r\n | Colors\r\n | 'body'\r\n | 'white'\r\n | 'muted'\r\n | 'black-50'\r\n | 'white-50'\r\n | 'high-emphasis'\r\n | 'medium-emphasis'\r\n | 'disabled'\r\n | 'high-emphasis-inverse'\r\n | 'medium-emphasis-inverse'\r\n | 'disabled-inverse';\r\n\r\nexport type Alignment =\r\n | 'baseline'\r\n | 'top'\r\n | 'middle'\r\n | 'bottom'\r\n | 'text-top'\r\n | 'text-bottom';\r\n\r\nexport type BadgePositions =\r\n | 'top-start'\r\n | 'top-end'\r\n | 'bottom-end'\r\n | 'bottom-start'\r\n | string\r\n | undefined;\r\n\r\nexport type Placements =\r\n | 'auto'\r\n | 'auto-start'\r\n | 'auto-end'\r\n | 'top-end'\r\n | 'top'\r\n | 'top-start'\r\n | 'bottom-end'\r\n | 'bottom'\r\n | 'bottom-start'\r\n | 'right-start'\r\n | 'right'\r\n | 'right-end'\r\n | 'left-start'\r\n | 'left'\r\n | 'left-end'\r\n | undefined;\r\n\r\nexport type Shapes =\r\n | 'rounded'\r\n | 'rounded-top'\r\n | 'rounded-end'\r\n | 'rounded-bottom'\r\n | 'rounded-start'\r\n | 'rounded-circle'\r\n | 'rounded-pill'\r\n | 'rounded-0'\r\n | 'rounded-1'\r\n | 'rounded-2'\r\n | 'rounded-3'\r\n | string;\r\n\r\nexport type Triggers = 'hover' | 'focus' | 'click';\r\n\r\nexport type Positions = 'fixed' | 'sticky';\r\n\r\nexport type InputType =\r\n | 'button'\r\n | 'color'\r\n | 'date'\r\n | 'datetime'\r\n | 'datetime-local'\r\n | 'email'\r\n | 'file'\r\n | 'hidden'\r\n | 'image'\r\n | 'month'\r\n | 'number'\r\n | 'password'\r\n | 'range'\r\n | 'reset'\r\n | 'search'\r\n | 'submit'\r\n | 'tel'\r\n | 'text'\r\n | 'time'\r\n | 'url'\r\n | 'week'\r\n | 'checkbox'\r\n | 'radio';\r\n\r\nexport interface INavLinkProps {\r\n queryParams?: { [k: string]: any };\r\n fragment?: string;\r\n queryParamsHandling?: 'merge' | 'preserve' | '' | null;\r\n preserveFragment?: boolean;\r\n skipLocationChange?: boolean;\r\n replaceUrl?: boolean;\r\n state?: { [k: string]: any };\r\n routerLinkActiveOptions?: { exact: boolean } | IsActiveMatchOptions;\r\n routerLinkActive?: string | string[];\r\n ariaCurrentWhenActive?: 'page' | 'step' | 'location' | 'date' | 'time' | true | false;\r\n}\r\n\r\nexport interface INavAttributes {\r\n [propName: string]: any;\r\n}\r\n\r\nexport type ButtonType = 'button' | 'submit' | 'reset';\r\n","import {Directive, ElementRef, Input, OnInit, Renderer2} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cHtmlAttr]',\r\n exportAs: 'cHtmlAttr'\r\n})\r\nexport class HtmlAttributesDirective implements OnInit {\r\n\r\n // @ts-ignore\r\n @Input() cHtmlAttr: {[key: string]: any };\r\n\r\n constructor(\r\n private renderer: Renderer2,\r\n private el: ElementRef\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n const attribs = this.cHtmlAttr;\r\n for (const attr in attribs) {\r\n if (attr === 'style' && typeof(attribs[attr]) === 'object' ) {\r\n this.setStyle(attribs[attr]);\r\n } else if (attr === 'class') {\r\n this.addClass(attribs[attr]);\r\n } else {\r\n this.setAttrib(attr, attribs[attr]);\r\n }\r\n }\r\n }\r\n\r\n private setStyle(styles: { [x: string]: any; }): void {\r\n for (const style in styles) {\r\n if (style) {\r\n this.renderer.setStyle(this.el.nativeElement, style, styles[style]);\r\n }\r\n }\r\n }\r\n\r\n private addClass(classes: string): void {\r\n const classArray = (Array.isArray(classes) ? classes : classes.split(' '));\r\n classArray.filter((element) => element.length > 0).forEach(element => {\r\n this.renderer.addClass(this.el.nativeElement, element );\r\n });\r\n }\r\n\r\n private setAttrib(key: string, value: string | null): void {\r\n value !== null ?\r\n this.renderer.setAttribute(this.el.nativeElement, key, value ) :\r\n this.renderer.removeAttribute(this.el.nativeElement, key);\r\n }\r\n}\r\n","import { Directive, Input, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cTemplateId]'\r\n})\r\nexport class TemplateIdDirective {\r\n @Input('cTemplateId') id!: string;\r\n\r\n constructor(\r\n public templateRef: TemplateRef<any>\r\n ) { }\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n// import { OutClickService } from './out-click.service';\r\n// import { OutClickDirective } from './out-click.directive';\r\nimport { HtmlAttributesDirective } from './html-attr.directive';\r\nimport { TemplateIdDirective } from './template-id.directive';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n // OutClickDirective,\r\n HtmlAttributesDirective,\r\n TemplateIdDirective\r\n ],\r\n exports: [\r\n // OutClickDirective,\r\n HtmlAttributesDirective,\r\n TemplateIdDirective\r\n ],\r\n providers: []\r\n})\r\nexport class SharedModule {\r\n\r\n static forRoot(): ModuleWithProviders<SharedModule> {\r\n return {\r\n ngModule: SharedModule,\r\n // providers: [\r\n // {provide: OutClickService}\r\n // ]\r\n };\r\n }\r\n}\r\n","import { Directive, HostBinding, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cAccordionButton]'\r\n})\r\nexport class AccordionButtonDirective {\r\n\r\n /**\r\n * Toggles an accordion button collapsed state. Use in accordionHeaderTemplate. [docs]\r\n * @type boolean\r\n */\r\n @Input() collapsed!: boolean;\r\n\r\n /**\r\n * Default type for cAccordionButton. [docs]\r\n * @type string\r\n * @default 'button'\r\n */\r\n @HostBinding('attr.type')\r\n @Input() type = 'button';\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'accordion-button': true,\r\n collapsed: this.collapsed\r\n };\r\n }\r\n\r\n @HostBinding('attr.aria-expanded') get ariaExpanded(): boolean {\r\n return !this.collapsed;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AccordionItemComponent } from './accordion-item/accordion-item.component';\r\n\r\n@Injectable()\r\nexport class AccordionService {\r\n\r\n items: AccordionItemComponent[] = [];\r\n alwaysOpen = false;\r\n\r\n constructor() { }\r\n\r\n addItem(item: AccordionItemComponent): void {\r\n this.items.push(item);\r\n }\r\n\r\n removeItem(item: AccordionItemComponent): void {\r\n const index = this.items.indexOf(item);\r\n if (index !== -1) {\r\n this.items.splice(index, 1);\r\n }\r\n }\r\n\r\n toggleItem(item: AccordionItemComponent): void {\r\n item.visible = !item.visible;\r\n this.closeOtherItems(item);\r\n }\r\n\r\n closeOtherItems(openItem: AccordionItemComponent): void {\r\n if (!this.alwaysOpen) {\r\n this.items.forEach((item: AccordionItemComponent) => {\r\n if (item !== openItem) {\r\n item.visible = false;\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\n\r\nimport { AccordionService } from '../accordion.service';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\n@Component({\r\n selector: 'c-accordion',\r\n template: `<ng-content></ng-content>`,\r\n styleUrls: ['./accordion.component.scss'],\r\n exportAs: 'cAccordionItem',\r\n providers: [AccordionService]\r\n})\r\nexport class AccordionComponent {\r\n\r\n static ngAcceptInputType_alwaysOpen: BooleanInput;\r\n\r\n /**\r\n * Removes the default background-color, some borders, and some rounded corners to render accordions edge-to-edge with their parent container.\r\n * @type boolean\r\n */\r\n @Input() flush?: boolean;\r\n /**\r\n * Make accordion items stay open when another item is opened\r\n * @type boolean\r\n */\r\n @Input()\r\n set alwaysOpen(value: boolean) {\r\n this.accordionService.alwaysOpen = coerceBooleanProperty(value);\r\n }\r\n get alwaysOpen(): boolean {\r\n return this.accordionService.alwaysOpen;\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n accordion: true,\r\n 'accordion-flush': !!this.flush\r\n };\r\n }\r\n\r\n constructor(\r\n private accordionService: AccordionService\r\n ) {}\r\n\r\n}\r\n","import { animation, animate, style } from '@angular/animations';\r\n\r\nexport const expandAnimation = animation([\r\n style({ height: 0, visibility: 'hidden', paddingTop: 0, paddingBottom: 0 }),\r\n animate('{{ time }} {{ easing }}', style({ height: '*', visibility: 'visible', paddingTop: '*', paddingBottom: '*', minHeight: '*' })\r\n ),\r\n animate('{{ time }}', style({opacity: '*'})),\r\n]);\r\n\r\nexport const collapseAnimation = animation([\r\n style({ height: '*', visibility: 'visible', paddingTop: '*', paddingBottom: '*', minHeight: '*' }),\r\n animate(\r\n '{{ time }} {{ easing }}',\r\n style({ height: 0, visibility: 'hidden', opacity: 0, paddingTop: 0, paddingBottom: 0, minHeight: 0 })\r\n )\r\n]);\r\n\r\nexport const expandHorizontalAnimation = animation([\r\n style({ width: 0, visibility: 'hidden', paddingLeft: 0, paddingRight: 0 }),\r\n animate('{{ time }} {{ easing }}', style({ width: '*', visibility: 'visible', paddingLeft: '*', paddingRight: '*', minWidth: '*' })\r\n ),\r\n animate('{{ time }}', style({opacity: '*'})),\r\n]);\r\n\r\nexport const collapseHorizontalAnimation = animation([\r\n style({ width: '*', visibility: 'visible', paddingLeft: '*', paddingRight: '*', minWidth: '*' }),\r\n animate(\r\n '{{ time }} {{ easing }}',\r\n style({ width: 0, visibility: 'hidden', opacity: 0, paddingLeft: 0, paddingRight: 0, minWidth: 0 })\r\n )\r\n]);\r\n","import {\r\n AfterViewInit,\r\n Directive,\r\n DoCheck,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n Output,\r\n Renderer2,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport { AnimationBuilder, AnimationPlayer, useAnimation } from '@angular/animations';\r\n\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\nimport {\r\n collapseAnimation,\r\n collapseHorizontalAnimation,\r\n expandAnimation,\r\n expandHorizontalAnimation\r\n} from './collapse.animations';\r\n\r\n// todo\r\n// tslint:disable-next-line:no-conflicting-lifecycle\r\n@Directive({\r\n selector: '[cCollapse]',\r\n exportAs: 'cCollapse'\r\n})\r\nexport class CollapseDirective implements OnChanges, OnDestroy, DoCheck, AfterViewInit {\r\n\r\n static ngAcceptInputType_horizontal: BooleanInput;\r\n static ngAcceptInputType_navbar: BooleanInput;\r\n\r\n /**\r\n * @ignore\r\n */\r\n @Input()\r\n set animate(value: boolean) {\r\n this._animate = value;\r\n }\r\n get animate(): boolean {\r\n return this._animate;\r\n }\r\n private _animate = true;\r\n\r\n /**\r\n * Set horizontal collapsing to transition the width instead of height.\r\n */\r\n @Input()\r\n set horizontal(value: boolean) {\r\n this._horizontal = coerceBooleanProperty(value);\r\n }\r\n get horizontal(): boolean {\r\n return this._horizontal;\r\n }\r\n private _horizontal: boolean = false;\r\n\r\n /**\r\n * Toggle the visibility of collapsible element.\r\n */\r\n @Input()\r\n set visible(value) {\r\n this._visible = value;\r\n }\r\n get visible(): boolean {\r\n return this._visible;\r\n }\r\n private _visible = false;\r\n\r\n /**\r\n * Add `navbar` prop for grouping and hiding navbar contents by a parent breakpoint.\r\n */\r\n @Input()\r\n set navbar(value: boolean) {\r\n this._navbar = coerceBooleanProperty(value);\r\n };\r\n get navbar() {\r\n return this._navbar;\r\n }\r\n private _navbar = false;\r\n\r\n /**\r\n * @ignore\r\n */\r\n @Input() duration = '350ms';\r\n /**\r\n * @ignore\r\n */\r\n @Input() transition = 'ease';\r\n /**\r\n * Event emitted on visibility change. [docs]\r\n * @type string\r\n */\r\n @Output() collapseChange = new EventEmitter<string>();\r\n\r\n private player!: AnimationPlayer;\r\n private readonly host: HTMLElement;\r\n // private scrollHeight!: number;\r\n private scrollWidth!: number;\r\n private collapsing: boolean = false;\r\n\r\n constructor(\r\n private hostElement: ElementRef,\r\n private renderer: Renderer2,\r\n private animationBuilder: AnimationBuilder\r\n ) {\r\n this.host = this.hostElement.nativeElement;\r\n this.renderer.setStyle(this.host, 'display', 'none');\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'navbar-collapse': this.navbar,\r\n show: this.visible,\r\n 'collapse-horizontal': this.horizontal,\r\n collapsing: this.collapsing\r\n // collapse: !this.collapsing && !this.visible\r\n };\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.visible) {\r\n this.toggle();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroyPlayer();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['visible']) {\r\n if (!changes['visible'].firstChange || !changes['visible'].currentValue) {\r\n this.toggle(changes['visible'].currentValue);\r\n }\r\n }\r\n }\r\n\r\n ngDoCheck(): void {\r\n if (this._visible !== this.visible) {\r\n this.toggle();\r\n }\r\n }\r\n\r\n toggle(visible = this.visible): void {\r\n this.createPlayer(visible);\r\n this.player?.play();\r\n }\r\n\r\n destroyPlayer(): void {\r\n this.player?.destroy();\r\n }\r\n\r\n createPlayer(visible: boolean = this.visible): void {\r\n if (this.player?.hasStarted()) {\r\n this.destroyPlayer();\r\n }\r\n\r\n if (visible) {\r\n this.renderer.removeStyle(this.host, 'display');\r\n }\r\n\r\n const duration = this.animate ? this.duration : '0ms';\r\n\r\n const expand = this.horizontal ? expandHorizontalAnimation : expandAnimation;\r\n const collapse = this.horizontal ? collapseHorizontalAnimation : collapseAnimation;\r\n\r\n const animationFactory = this.animationBuilder.build(\r\n useAnimation(visible ? expand : collapse, { params: { time: duration, easing: this.transition } })\r\n );\r\n\r\n this.player = animationFactory.create(this.host);\r\n this.player.onStart(() => {\r\n this.setMaxSize();\r\n this.visible = visible;\r\n this.collapsing = true;\r\n this.collapseChange.emit(visible ? 'opening' : 'collapsing');\r\n });\r\n this.player.onDone(() => {\r\n this.collapsing = false;\r\n this.collapseChange.emit(visible ? 'open' : 'collapsed');\r\n });\r\n }\r\n\r\n setMaxSize() {\r\n setTimeout(() => {\r\n if (this.horizontal) {\r\n this.scrollWidth = this.host.scrollWidth;\r\n this.scrollWidth > 0 && this.renderer.setStyle(this.host, 'maxWidth', `${this.scrollWidth}px`);\r\n // } else {\r\n // this.scrollHeight = this.host.scrollHeight;\r\n // this.scrollHeight > 0 && this.renderer.setStyle(this.host, 'maxHeight', `${this.scrollHeight}px`);\r\n }\r\n });\r\n }\r\n}\r\n","import {\r\n AfterContentInit,\r\n Component,\r\n ContentChildren,\r\n HostBinding,\r\n Input,\r\n OnDestroy,\r\n OnInit, QueryList,\r\n} from '@angular/core';\r\n\r\nimport { AccordionService } from '../accordion.service';\r\nimport { TemplateIdDirective } from '../../shared';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\nlet nextId = 0;\r\n\r\n@Component({\r\n selector: 'c-accordion-item',\r\n templateUrl: './accordion-item.component.html',\r\n styleUrls: ['./accordion-item.component.scss'],\r\n exportAs: 'cAccordionItem',\r\n})\r\nexport class AccordionItemComponent implements OnInit, OnDestroy, AfterContentInit {\r\n\r\n static ngAcceptInputType_visible: BooleanInput;\r\n\r\n /**\r\n * Toggle an accordion item programmatically\r\n * @type boolean\r\n * @default false\r\n */\r\n @Input()\r\n set visible(value: boolean){\r\n this._visible = coerceBooleanProperty(value);\r\n }\r\n get visible() {\r\n return this._visible;\r\n }\r\n private _visible: boolean = false;\r\n\r\n @Input()\r\n set open(value: boolean) {\r\n console.warn('c-accordion-item \"open\" prop is deprecated, use \"visible\" prop instead.')\r\n this.visible = value || this.visible;\r\n }\r\n get open() {\r\n return this.visible;\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'accordion-item': true,\r\n };\r\n }\r\n contentId = `accordion-item-${nextId++}`;\r\n itemContext = { $implicit: this.visible };\r\n templates: any = {};\r\n\r\n @ContentChildren(TemplateIdDirective, {descendants: true}) contentTemplates!: QueryList<TemplateIdDirective>;\r\n\r\n constructor(\r\n private accordionService: AccordionService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.accordionService.addItem(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.accordionService.removeItem(this);\r\n }\r\n\r\n toggleItem(): void {\r\n this.accordionService.toggleItem(this);\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.contentTemplates.forEach((child: TemplateIdDirective) => {\r\n this.templates[child.id] = child.templateRef;\r\n });\r\n }\r\n}\r\n\r\n","<ng-container>\r\n <div class=\"accordion-header\">\r\n <ng-container *ngTemplateOutlet=\"templates['accordionHeaderTemplate'] || defaultAccordionHeaderTemplate; context: itemContext\"></ng-container>\r\n </div>\r\n <div class=\"accordion-collapse\" cCollapse [visible]=\"visible\" [attr.aria-expanded]=\"visible\" [id]=\"contentId\">\r\n <ng-container *ngTemplateOutlet=\"templates['accordionBodyTemplate'] || defaultAccordionBodyTemplate; context: itemContext\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-template #defaultAccordionHeaderTemplate>\r\n <button cAccordionButton [collapsed]=\"!visible\" [attr.aria-controls]=\"contentId\" (click)=\"toggleItem()\">\r\n <ng-container\r\n *ngTemplateOutlet=\"templates['accordionHeader'] || defaultAccordionHeaderContentTemplate; context: itemContext\">\r\n </ng-container>\r\n </button>\r\n</ng-template>\r\n\r\n<ng-template #defaultAccordionHeaderContentTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n\r\n<ng-template #defaultAccordionBodyTemplate>\r\n <div class=\"accordion-body\">\r\n <ng-container\r\n *ngTemplateOutlet=\"templates['accordionBody'] || defaultAccordionBodyContentTemplate; context: itemContext\">\r\n </ng-container>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #defaultAccordionBodyContentTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n","import { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CollapseDirective } from './collapse.directive';\r\n\r\n@NgModule({\r\n declarations: [CollapseDirective],\r\n exports: [CollapseDirective],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class CollapseModule {\r\n static forRoot(): ModuleWithProviders<CollapseModule> {\r\n return { ngModule: CollapseModule, providers: [] };\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AccordionComponent } from './accordion/accordion.component';\r\nimport { AccordionButtonDirective } from './accordion-button/accordion-button.directive';\r\nimport { AccordionItemComponent } from './accordion-item/accordion-item.component';\r\nimport { AccordionService } from './accordion.service';\r\nimport { CollapseModule } from '../collapse';\r\nimport { SharedModule } from '../shared';\r\n\r\n@NgModule({\r\n declarations: [\r\n AccordionComponent,\r\n AccordionButtonDirective,\r\n AccordionItemComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n CollapseModule,\r\n SharedModule\r\n ],\r\n exports: [\r\n AccordionComponent,\r\n AccordionButtonDirective,\r\n AccordionItemComponent,\r\n ],\r\n providers: [\r\n AccordionService\r\n ]\r\n})\r\nexport class AccordionModule {\r\n}\r\n","import { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cAlertHeading]'\r\n})\r\nexport class AlertHeadingDirective {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n\r\n return {\r\n 'alert-heading': true,\r\n };\r\n }\r\n\r\n constructor() { }\r\n\r\n}\r\n","import { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cAlertLink]'\r\n})\r\nexport class AlertLinkDirective {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n\r\n return {\r\n 'alert-link': true,\r\n };\r\n }\r\n\r\n constructor() { }\r\n\r\n}\r\n","import { Directive, HostBinding, Input } from '@angular/core';\r\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\r\n\r\nimport { ButtonType, Colors, Shapes } from '../coreui.types';\r\n\r\n@Directive({\r\n selector: '[cButton]',\r\n exportAs: 'cButton'\r\n})\r\nexport class ButtonDirective {\r\n\r\n constructor() {}\r\n\r\n static ngAcceptInputType_active: BooleanInput;\r\n private _active = false;\r\n static ngAcceptInputType_disabled: BooleanInput;\r\n private _disabled = false;\r\n\r\n /**\r\n * Toggle the active state for the component. [docs]\r\n * @type boolean\r\n */\r\n @Input()\r\n get active(): boolean {\r\n return this._active;\r\n }\r\n set active(value: boolean) {\r\n this._active = coerceBooleanProperty(value);\r\n }\r\n\r\n /**\r\n * Sets the color context of the component to one of CoreUI’s themed colors. [docs]\r\n * @type Colors\r\n */\r\n @Input() color?: Colors = 'primary';\r\n /**\r\n * Toggle the disabled state for the component.\r\n * @type boolean\r\n */\r\n @Input()\r\n get disabled(): boolean {\r\n return this._disabled;\r\n }\r\n set disabled(value: boolean) {\r\n this._disabled = coerceBooleanProperty(value);\r\n }\r\n /**\r\n * Select the shape of the component.\r\n * @type { 'rounded' | 'rounded-top' | 'rounded-end' | 'rounded-bottom' | 'rounded-start' | 'rounded-circle' | 'rounded-pill' | 'rounded-0' | 'rounded-1' | 'rounded-2' | 'rounded-3' | string }\r\n */\r\n @Input() shape?: Shapes;\r\n /**\r\n * Size the component small or large.\r\n * @type {'sm' | 'lg'}\r\n */\r\n @Input() size?: 'sm' | 'lg' | '' = '';\r\n /**\r\n * Specifies the type of button. Always specify the type attribute for the `<button>` element.\r\n * Different browsers may use different default types for the `<button>` element.\r\n */\r\n @HostBinding('attr.type')\r\n @Input() type: ButtonType = 'button';\r\n /**\r\n * Set the button variant to an outlined button or a ghost button.\r\n * @type {'ghost' | 'outline'}\r\n */\r\n @Input() variant?: 'ghost' | 'outline';\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n btn: true,\r\n [`btn-${this.color}`]: !!this.color && !this.variant,\r\n [`btn-${this.variant}`]: !!this.variant && !this.color,\r\n [`btn-${this.variant}-${this.color}`]: !!this.variant && !!this.color,\r\n [`btn-${this.size}`]: !!this.size,\r\n [`${this.shape}`]: !!this.shape,\r\n disabled: this.disabled,\r\n active: this.active\r\n };\r\n }\r\n\r\n @HostBinding('attr.aria-disabled')\r\n get ariaDisabled () {\r\n return this.disabled || null;\r\n };\r\n\r\n @HostBinding('attr.aria-pressed')\r\n get isActive(): boolean | null {\r\n return this.active || null;\r\n }\r\n\r\n @HostBinding('attr.disabled')\r\n get attrDisabled () {\r\n return this.disabled ? '' : null;\r\n };\r\n\r\n @HostBinding('attr.tabindex')\r\n get tabIndex(): string | null {\r\n return this.disabled ? '-1' : null;\r\n }\r\n}\r\n","import { Directive, HostBinding, Input } from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { ButtonDirective } from './button.directive';\r\n\r\n@Directive({\r\n selector: '[cButtonClose]'\r\n})\r\nexport class ButtonCloseDirective extends ButtonDirective {\r\n\r\n static ngAcceptInputType_white: BooleanInput;\r\n private _white = false;\r\n /**\r\n * Change the default color to white.\r\n * @type boolean\r\n */\r\n @Input()\r\n get white(): boolean {\r\n return this._white;\r\n }\r\n set white(value: boolean) {\r\n this._white = coerceBooleanProperty(value);\r\n }\r\n\r\n @HostBinding('class')\r\n override get hostClasses(): any {\r\n return {\r\n 'btn-close': true,\r\n 'btn-close-white': this.white,\r\n [`btn-${this.size}`]: !!this.size,\r\n disabled: this.disabled,\r\n active: this.active,\r\n };\r\n }\r\n}\r\n","import {\r\n AfterContentInit,\r\n Component,\r\n ContentChildren,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener,\r\n Input,\r\n Output,\r\n QueryList\r\n} from '@angular/core';\r\nimport { animate, AnimationEvent, state, style, transition, trigger } from '@angular/animations';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\nimport { Colors } from '../coreui.types';\r\nimport { TemplateIdDirective } from '../shared';\r\n\r\ntype AnimateType = ('hide' | 'show');\r\n\r\n@Component({\r\n selector: 'c-alert',\r\n templateUrl: './alert.component.html',\r\n styleUrls: ['./alert.component.scss'],\r\n exportAs: 'cAlert',\r\n animations: [\r\n trigger('fadeInOut', [\r\n state('show', style({opacity: 1, height: '*', padding: '*', border: '*', margin: '*'})),\r\n state('hide', style({opacity: 0, height: 0, padding: 0, border: 0, margin: 0})),\r\n state('void', style({opacity: 0, height: 0, padding: 0, border: 0, margin: 0})),\r\n transition('show => hide', [\r\n animate('.3s ease-out'),\r\n ]),\r\n transition('hide => show', [\r\n animate('.3s ease-in'),\r\n ]),\r\n transition('show => void', [\r\n animate('.3s ease-out'),\r\n ]),\r\n transition('void => show', [\r\n animate('.3s ease-in'),\r\n ]),\r\n ])\r\n ]\r\n})\r\nexport class AlertComponent implements AfterContentInit {\r\n\r\n static ngAcceptInputType_dismissible: BooleanInput;\r\n static ngAcceptInputType_fade: BooleanInput;\r\n static ngAcceptInputType_visible: BooleanInput;\r\n\r\n hide!: boolean;\r\n /**\r\n * Sets the color context of the component to one of CoreUI’s themed colors.\r\n *\r\n * @type Colors\r\n * @default 'primary'\r\n */\r\n @Input() color: Colors = 'primary';\r\n\r\n /**\r\n * Optionally adds a close button to alert and allow it to self dismiss.\r\n * @type boolean\r\n */\r\n @Input()\r\n get dismissible(): boolean {\r\n return this._dismissible;\r\n }\r\n set dismissible(value: boolean) {\r\n this._dismissible = coerceBooleanProperty(value);\r\n }\r\n private _dismissible = false;\r\n\r\n /**\r\n * Adds animation for dismissible alert.\r\n * @type boolean\r\n */\r\n @Input()\r\n get fade(): boolean {\r\n return this._fade;\r\n }\r\n set fade(value: boolean) {\r\n this._fade = coerceBooleanProperty(value);\r\n }\r\n private _fade = false;\r\n\r\n /**\r\n * Default role for alert. [docs]\r\n * @type string\r\n * @default 'alert'\r\n */\r\n @HostBinding('attr.role')\r\n @Input() role = 'alert';\r\n\r\n /**\r\n * Set the alert variant to a solid.\r\n * @type string\r\n */\r\n @Input() variant?: 'solid' | string;\r\n\r\n /**\r\n * Toggle the visibility of alert component.\r\n * @type boolean\r\n */\r\n @Input()\r\n set visible(value: boolean) {\r\n if (this._visible !== value) {\r\n this._visible = coerceBooleanProperty(value);\r\n this.visibleChange.emit(value);\r\n }\r\n };\r\n get visible() {\r\n return this._visible;\r\n }\r\n private _visible = true;\r\n\r\n /**\r\n * Event triggered on the alert dismiss.\r\n */\r\n @Output() visibleChange: EventEmitter<boolean> = new EventEmitter();\r\n\r\n templates: any = {};\r\n @ContentChildren(TemplateIdDirective, {descendants: true}) contentTemplates!: QueryList<TemplateIdDirective>;\r\n\r\n @HostBinding('@.disabled')\r\n get animationDisabled(): boolean {\r\n return !this.fade;\r\n }\r\n\r\n @HostBinding('@fadeInOut')\r\n get animateType(): AnimateType {\r\n return this.visible ? 'show' : 'hide';\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n alert: true,\r\n 'alert-dismissible': this.dismissible,\r\n fade: this.fade,\r\n show: !this.hide,\r\n [`alert-${this.color}`]: !!this.color && this.variant !== 'solid',\r\n [`bg-${this.color}`]: !!this.color && this.variant === 'solid',\r\n 'text-white': !!this.color && this.variant === 'solid'\r\n };\r\n }\r\n\r\n @HostListener('@fadeInOut.start', ['$event'])\r\n onAnimationStart($event: AnimationEvent): void {\r\n this.onAnimationEvent($event);\r\n }\r\n\r\n @HostListener('@fadeInOut.done', ['$event'])\r\n onAnimationDone($event: AnimationEvent): void {\r\n this.onAnimationEvent($event);\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.contentTemplates.forEach((child: TemplateIdDirective) => {\r\n this.templates[child.id] = child.templateRef;\r\n });\r\n }\r\n\r\n onAnimationEvent(event: AnimationEvent): void {\r\n this.hide = event.phaseName === 'start' && event.toState === 'show';\r\n if (event.phaseName === 'done') {\r\n this.hide = (event.toState === 'hide' || event.toState === 'void');\r\n if (event.toState === 'show') {\r\n this.hide = false;\r\n }\r\n }\r\n }\r\n}\r\n","<ng-container *ngIf=\"visible || !hide\">\r\n <ng-template [ngIf]=\"dismissible\">\r\n <ng-container *ngTemplateOutlet=\"templates?.alertButtonCloseTemplate || defaultAlertButtonCloseTemplate\">\r\n </ng-container>\r\n </ng-template>\r\n <ng-content></ng-content>\r\n</ng-container>\r\n\r\n<ng-template #defaultAlertButtonCloseTemplate>\r\n <button (click)=\"visible=false\" aria-label=\"Close\" cButtonClose></button>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { ButtonDirective } from './button.directive';\r\nimport { ButtonCloseDirective } from './button-close.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n ButtonDirective,\r\n ButtonCloseDirective,\r\n ],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [\r\n ButtonDirective,\r\n ButtonCloseDirective,\r\n ]\r\n})\r\nexport class ButtonModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { AlertComponent } from './alert.component';\r\nimport { AlertHeadingDirective } from './alert-heading.directive';\r\nimport { AlertLinkDirective } from './alert-link.directive';\r\nimport { ButtonModule } from '../button';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ButtonModule\r\n ],\r\n exports: [\r\n AlertComponent,\r\n AlertHeadingDirective,\r\n AlertLinkDirective\r\n ],\r\n declarations: [\r\n AlertComponent,\r\n AlertHeadingDirective,\r\n AlertLinkDirective\r\n ]\r\n})\r\nexport class AlertModule {}\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\nimport { Colors, Shapes, Sizes, TextColors } from '../coreui.types';\r\n\r\n@Component({\r\n selector: 'c-avatar',\r\n templateUrl: './avatar.component.html',\r\n styleUrls: ['./avatar.component.scss']\r\n})\r\nexport class AvatarComponent {\r\n /**\r\n * Sets the background color context of the component to one of CoreUI’s themed colors.\r\n * @type Colors\r\n */\r\n @Input() color?: Colors;\r\n /**\r\n * Select the shape of the component.\r\n * @type Shapes\r\n */\r\n @Input() shape?: Shapes;\r\n /**\r\n * Size the component small, large, or extra large.\r\n * @default 'md'\r\n */\r\n @Input() size?: Omit<Sizes, 'xxl'> = 'md';\r\n /**\r\n * The src attribute for the img element.\r\n * @type string\r\n */\r\n @Input() src?: string;\r\n /**\r\n * Sets the color context of the status indicator to one of CoreUI’s themed colors.\r\n * @type Colors\r\n */\r\n @Input() status?: Colors;\r\n /**\r\n * Sets the text color of the component to one of CoreUI’s themed colors.\r\n *\r\n * @values 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | 'white' | 'muted' | string\r\n */\r\n @Input() textColor?: TextColors;\r\n\r\n constructor() { }\r\n\r\n get statusClass(): any {\r\n return {\r\n 'avatar-status': true,\r\n [`bg-${this.status}`]: !!this.status\r\n };\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n avatar: true,\r\n [`avatar-${this.size}`]: !!this.size,\r\n [`bg-${this.color}`]: !!this.color,\r\n [`${this.shape}`]: !!this.shape,\r\n [`text-${this.textColor}`]: !!this.textColor\r\n };\r\n }\r\n}\r\n","<ng-container>\r\n <ng-container *ngTemplateOutlet=\"defaultImageTemplate\"></ng-container>\r\n <span *ngIf=\"!!status\" [ngClass]=\"statusClass\"></span>\r\n</ng-container>\r\n\r\n<ng-template #defaultImageTemplate>\r\n <img *ngIf=\"!!src; else imageContent\" [src]=\"src\" class=\"avatar-img\" />\r\n <ng-template #imageContent>\r\n <ng-content></ng-content>\r\n </ng-template>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AvatarComponent } from './avatar.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AvatarComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n AvatarComponent\r\n ]\r\n})\r\nexport class AvatarModule { }\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\nimport { BadgePositions, Colors, Shapes } from '../coreui.types';\r\n\r\n@Component({\r\n selector: 'c-badge',\r\n templateUrl: './badge.component.html',\r\n styleUrls: ['./badge.component.scss'],\r\n})\r\nexport class BadgeComponent {\r\n /**\r\n * Sets the color context of the component to one of CoreUI’s themed colors.\r\n * @type Colors\r\n */\r\n @Input() color?: Colors;\r\n /**\r\n * Position badge in one of the corners of a link or button.\r\n * @type BadgePositions\r\n */\r\n @Input() position?: BadgePositions;\r\n /**\r\n * Select the shape of the component.\r\n * @type Shapes\r\n */\r\n @Input() shape?: Shapes;\r\n /**\r\n * Size the component small.\r\n */\r\n @Input() size?: 'sm';\r\n /**\r\n * Sets the text color of the component to one of CoreUI’s themed colors.\r\n * @type TextColors\r\n */\r\n @Input() textColor?: string;\r\n\r\n constructor() {}\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n const positionClasses = {\r\n 'position-absolute': !!this.position,\r\n 'translate-middle': !!this.position,\r\n 'top-0': this.position?.includes('top'),\r\n 'top-100': this.position?.includes('bottom'),\r\n 'start-100': this.position?.includes('end'),\r\n 'start-0': this.position?.includes('start'),\r\n };\r\n\r\n return Object.assign({\r\n badge: true,\r\n [`bg-${this.color}`]: !!this.color,\r\n [`text-${this.textColor}`]: !!this.textColor,\r\n [`badge-${this.size}`]: !!this.size,\r\n [`${this.shape}`]: !!this.shape,\r\n }, !!this.position ? positionClasses : {}\r\n );\r\n }\r\n}\r\n","<ng-content></ng-content>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BadgeComponent } from './badge.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n BadgeComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n BadgeComponent\r\n ]\r\n})\r\nexport class BadgeModule { }\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\nimport { INavAttributes, INavLinkProps } from './breadcrumb-item';\r\n\r\n@Component({\r\n selector: 'c-breadcrumb-item',\r\n templateUrl: './breadcrumb-item.component.html',\r\n styleUrls: ['./breadcrumb-item.component.scss']\r\n})\r\nexport class BreadcrumbItemComponent {\r\n\r\n /**\r\n * Toggle the active state for the component. [docs]\r\n * @type boolean\r\n */\r\n @Input() active?: boolean;\r\n /**\r\n * The `url` prop for the inner `[routerLink]` directive. [docs]\r\n * @type string\r\n */\r\n @Input() url?: string | any[];\r\n /**\r\n * Additional html attributes for link. [docs]\r\n * @type INavAttributes\r\n */\r\n @Input() attributes?: INavAttributes;\r\n /**\r\n * Some `NavigationExtras` props for the inner `[routerLink]` directive and `routerLinkActiveOptions`. [docs]\r\n * @type INavLinkProps\r\n */\r\n @Input() linkProps?: INavLinkProps;\r\n\r\n @HostBinding('attr.aria-current') get ariaCurrent(): string | null {\r\n return this.active ? 'page' : null;\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'breadcrumb-item': true,\r\n active: this.active\r\n };\r\n }\r\n}\r\n","<a *ngIf=\"!active; else activeItem\"\r\n [routerLink]=\"url\"\r\n [cHtmlAttr]=\"attributes ?? {}\"\r\n [target]=\"attributes?.['target']\"\r\n [queryParams]=\"linkProps?.queryParams ?? null\"\r\n [fragment]=\"linkProps?.fragment\"\r\n [queryParamsHandling]=\"linkProps?.queryParamsHandling ?? null\"\r\n [preserveFragment]=\"linkProps?.preserveFragment ?? false\"\r\n [skipLocationChange]=\"linkProps?.skipLocationChange ?? false\"\r\n [replaceUrl]=\"linkProps?.replaceUrl ?? false\"\r\n [state]=\"linkProps?.state ?? {}\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"defaultBreadcrumbItemContentTemplate\"></ng-container>\r\n</a>\r\n\r\n<ng-template #activeItem>\r\n <span [cHtmlAttr]=\"attributes ?? {}\">\r\n <ng-container *ngTemplateOutlet=\"defaultBreadcrumbItemContentTemplate\"></ng-container>\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #defaultBreadcrumbItemContentTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-breadcrumb',\r\n templateUrl: './breadcrumb.component.html',\r\n styleUrls: ['./breadcrumb.component.scss']\r\n})\r\nexport class BreadcrumbComponent {\r\n /**\r\n * Default aria-label for breadcrumb. [docs]\r\n * @type string\r\n * @default 'breadcrumb'\r\n */\r\n @HostBinding('attr.aria-label')\r\n @Input() ariaLabel = 'breadcrumb';\r\n\r\n /**\r\n * Default role for breadcrumb. [docs]\r\n * @type string\r\n * @default 'navigation'\r\n */\r\n @HostBinding('attr.role')\r\n @Input() role = 'navigation';\r\n\r\n @HostBinding('class')\r\n get hostClasses() {\r\n return {\r\n breadcrumb: true\r\n }\r\n }\r\n\r\n constructor() { }\r\n\r\n}\r\n","<ng-content></ng-content>\r\n\r\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';\r\n\r\nimport {IBreadcrumbItem} from '../breadcrumb-item/breadcrumb-item';\r\nimport {Observable, Observer} from 'rxjs';\r\nimport { BreadcrumbRouterService } from './breadcrumb-router.service';\r\n\r\n@Component({\r\n selector: 'c-breadcrumb-router, [cBreadcrumbRouter]',\r\n templateUrl: './breadcrumb-router.component.html',\r\n styleUrls: ['./breadcrumb-router.component.scss']\r\n})\r\nexport class BreadcrumbRouterComponent implements OnChanges, OnDestroy, OnInit {\r\n /**\r\n * Optional array of IBreadcrumbItem to override default BreadcrumbRouter behavior. [docs]\r\n * @type IBreadcrumbItem[]\r\n */\r\n @Input() items?: IBreadcrumbItem[];\r\n\r\n public breadcrumbs: Observable<IBreadcrumbItem[]> | undefined;\r\n\r\n constructor(\r\n public service: BreadcrumbRouterService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.breadcrumbs = this.service.breadcrumbs$;\r\n }\r\n\r\n public ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['items']) {\r\n this.setup();\r\n }\r\n }\r\n\r\n setup(): void {\r\n if (this.items && this.items.length > 0) {\r\n this.breadcrumbs = new Observable<IBreadcrumbItem[]>((observer: Observer<IBreadcrumbItem[]>) => {\r\n if (this.items) {\r\n observer.next(this.items);\r\n }\r\n });\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.breadcrumbs = undefined;\r\n }\r\n}\r\n","<c-breadcrumb class=\"m-0\">\r\n <ng-template ngFor let-breadcrumb [ngForOf]=\"breadcrumbs | async\" let-last=\"last\">\r\n <ng-container *ngIf=\"breadcrumb?.label && (breadcrumb?.url?.slice(-1) === '/' || last)\">\r\n <c-breadcrumb-item\r\n [active]=\"last\"\r\n [url]=\"breadcrumb?.url\"\r\n [attributes]=\"breadcrumb?.attributes\"\r\n [linkProps]=\"breadcrumb?.linkProps\"\r\n >\r\n {{ breadcrumb?.label }}\r\n </c-breadcrumb-item>\r\n </ng-container>\r\n </ng-template>\r\n</c-breadcrumb>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n// CoreUI Breadcrumb Component\r\nimport { BreadcrumbComponent } from './breadcrumb/breadcrumb.component';\r\nimport { BreadcrumbItemComponent } from './breadcrumb-item/breadcrumb-item.component';\r\nimport { BreadcrumbRouterComponent } from './breadcrumb-router/breadcrumb-router.component';\r\nimport { BreadcrumbRouterService } from './breadcrumb-router/breadcrumb-router.service';\r\nimport { SharedModule } from '../shared';\r\n\r\n@NgModule({\r\n imports: [CommonModule, RouterModule, SharedModule],\r\n exports: [\r\n BreadcrumbComponent,\r\n BreadcrumbItemComponent,\r\n BreadcrumbRouterComponent,\r\n ],\r\n declarations: [\r\n BreadcrumbRouterComponent,\r\n BreadcrumbItemComponent,\r\n BreadcrumbComponent,\r\n ],\r\n providers: [BreadcrumbRouterService],\r\n})\r\nexport class BreadcrumbModule { }\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-button-group',\r\n template: `<ng-content></ng-content>`,\r\n})\r\nexport class ButtonGroupComponent {\r\n\r\n /**\r\n * Size the component small or large.\r\n * @type { 'sm' | 'lg' }\r\n */\r\n @Input() size?: 'sm' | 'lg';\r\n /**\r\n * Create a set of buttons that appear vertically stacked rather than horizontally. Split button dropdowns are not supported here.\r\n * @type boolean\r\n */\r\n @Input() vertical?: boolean;\r\n /**\r\n * Default role attr for ButtonGroup. [docs]\r\n * @type string\r\n * @default 'group'\r\n */\r\n @HostBinding('attr.role')\r\n @Input() role = 'group';\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'btn-group': !this.vertical,\r\n 'btn-group-vertical': this.vertical,\r\n [`btn-group-${this.size}`]: !!this.size,\r\n };\r\n }\r\n\r\n\r\n constructor() { }\r\n\r\n}\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-button-toolbar',\r\n template: `<ng-content></ng-content>`,\r\n})\r\nexport class ButtonToolbarComponent {\r\n /**\r\n * Default role attr for ButtonToolbar. [docs]\r\n * @type string\r\n * @default 'toolbar'\r\n */\r\n @HostBinding('attr.role')\r\n @Input() role = 'toolbar';\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'btn-toolbar': true,\r\n };\r\n }\r\n\r\n constructor() { }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ButtonGroupComponent } from './button-group/button-group.component';\r\nimport { ButtonToolbarComponent } from './button-toolbar/button-toolbar.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n ButtonGroupComponent,\r\n ButtonToolbarComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n ButtonGroupComponent,\r\n ButtonToolbarComponent\r\n ]\r\n})\r\nexport class ButtonGroupModule { }\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\nimport { Colors } from '../coreui.types';\r\n\r\n@Component({\r\n selector: 'c-callout, [cCallout]',\r\n template: `<ng-content></ng-content>`,\r\n styleUrls: ['./callout.component.scss']\r\n})\r\nexport class CalloutComponent {\r\n\r\n /**\r\n * Sets the color context of the component to one of CoreUI’s themed colors.\r\n * @type Colors\r\n */\r\n @Input() color?: Colors;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n\r\n return {\r\n callout: true,\r\n [`callout-${this.color}`]: !!this.color\r\n };\r\n }\r\n\r\n constructor() { }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { CalloutComponent } from './callout.component';\r\n\r\n@NgModule({\r\n declarations: [CalloutComponent],\r\n exports: [CalloutComponent],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class CalloutModule { }\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\nimport { Colors, TextColors } from '../coreui.types';\r\n\r\n@Component({\r\n selector: 'c-card, [c-card]',\r\n template: `<ng-content></ng-content>`\r\n})\r\nexport class CardComponent {\r\n\r\n /**\r\n * Sets the color context of the component to one of CoreUI’s themed colors.\r\n * @type Colors\r\n */\r\n @Input() color?: Colors;\r\n /**\r\n * Sets the text color context of the component to one of CoreUI’s themed colors.\r\n * @type TextColors\r\n */\r\n @Input() textColor?: TextColors;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n card: true,\r\n [`bg-${this.color}`]: !!this.color,\r\n [`text-${this.textColor}`]: !!this.textColor,\r\n };\r\n }\r\n\r\n constructor() { }\r\n\r\n}\r\n","import {Component, HostBinding, Input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-card-body, [c-card-body]',\r\n template: '<ng-content></ng-content>'\r\n})\r\nexport class CardBodyComponent {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'card-body': true,\r\n };\r\n }\r\n}\r\n","import {Component, HostBinding, Input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-card-footer, [c-card-footer]',\r\n template: '<ng-content></ng-content>'\r\n})\r\nexport class CardFooterComponent {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'card-footer': true,\r\n };\r\n }\r\n}\r\n","import {Component, HostBinding, Input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-card-group, [c-card-group]',\r\n template: '<ng-content></ng-content>'\r\n})\r\nexport class CardGroupComponent {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'card-group': true\r\n };\r\n }\r\n}\r\n","import {Component, HostBinding, Input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-card-header, [c-card-header]',\r\n template: '<ng-content></ng-content>',\r\n})\r\nexport class CardHeaderComponent {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'card-header': true,\r\n };\r\n }\r\n}\r\n","import {Component, HostBinding} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-card-header-actions, [c-card-header-actions]',\r\n template: '<ng-content></ng-content>',\r\n})\r\nexport class CardHeaderActionsComponent {\r\n\r\n @HostBinding('class.card-header-actions') cardHeaderActions = true;\r\n\r\n}\r\n","import { Directive, HostBinding, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cCardImg]'\r\n})\r\nexport class CardImgDirective {\r\n /**\r\n * Optionally orientate the image to the top, bottom, or make it overlaid across the card.\r\n * @type {'top | 'bottom'}\r\n */\r\n @Input('cCardImg') orientation?: 'top' | 'bottom';\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n const suffix = !!this.orientation ? `-${this.orientation}` : '';\r\n return {\r\n [`card-img${suffix}`]: true\r\n };\r\n }\r\n}\r\n","import { Component, HostBinding } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-card-img-overlay',\r\n templateUrl: './card-img-overlay.component.html',\r\n styleUrls: ['./card-img-overlay.component.scss']\r\n})\r\nexport class CardImgOverlayComponent {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'card-img-overlay': true\r\n };\r\n }\r\n}\r\n","<ng-content></ng-content>\r\n","import { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cCardLink]'\r\n})\r\nexport class CardLinkDirective {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'card-link': true\r\n };\r\n }\r\n}\r\n","import { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cCardSubtitle]'\r\n})\r\nexport class CardSubtitleDirective {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'card-subtitle': true\r\n };\r\n }\r\n}\r\n","import { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cCardText]'\r\n})\r\nexport class CardTextDirective {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'card-text': true\r\n };\r\n }\r\n}\r\n","import { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cCardTitle]'\r\n})\r\nexport class CardTitleDirective {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'card-title': true\r\n };\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { CardComponent } from './card.component';\r\nimport { CardBodyComponent } from './card-body.component';\r\nimport { CardFooterComponent } from './card-footer.component';\r\nimport { CardHeaderComponent } from './card-header.component';\r\nimport { CardHeaderActionsComponent } from './card-header-actions.component';\r\nimport { CardGroupComponent } from './card-group.component';\r\nimport { CardImgDirective } from './card-img.directive';\r\nimport { CardLinkDirective } from './card-link.directive';\r\nimport { CardSubtitleDirective } from './card-subtitle.directive';\r\nimport { CardTextDirective } from './card-text.directive';\r\nimport { CardTitleDirective } from './card-title.directive';\r\nimport { CardImgOverlayComponent } from './card-img-overlay/card-img-overlay.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n CardComponent,\r\n CardBodyComponent,\r\n CardFooterComponent,\r\n CardGroupComponent,\r\n CardHeaderComponent,\r\n CardHeaderActionsComponent,\r\n CardImgDirective,\r\n CardImgOverlayComponent,\r\n CardLinkDirective,\r\n CardSubtitleDirective,\r\n CardTextDirective,\r\n CardTitleDirective,\r\n ],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [\r\n CardComponent,\r\n CardBodyComponent,\r\n CardFooterComponent,\r\n CardGroupComponent,\r\n CardHeaderComponent,\r\n CardHeaderActionsComponent,\r\n CardImgDirective,\r\n CardImgOverlayComponent,\r\n CardLinkDirective,\r\n CardSubtitleDirective,\r\n CardTextDirective,\r\n CardTitleDirective,\r\n ]\r\n})\r\nexport class CardModule { }\r\n","import { Injectable, OnDestroy } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\ninterface IIntersectionObserverInit {\r\n root?: Element | null;\r\n rootMargin?: string;\r\n threshold?: number | number[];\r\n}\r\n\r\n@Injectable()\r\nexport class IntersectionService implements OnDestroy {\r\n\r\n constructor() { }\r\n\r\n private intersecting = new BehaviorSubject<boolean>(false);\r\n intersecting$ = this.intersecting.asObservable();\r\n\r\n private intersectionObserver!: IntersectionObserver;\r\n private hostElement!: { nativeElement: Element; };\r\n\r\n private defaultObserverOptions: IIntersectionObserverInit = {\r\n root: null,\r\n rootMargin: '0px',\r\n threshold: 0.2\r\n };\r\n\r\n createIntersectionObserver(hostElement: { nativeElement: Element; }, observerOptions = this.defaultObserverOptions) {\r\n\r\n const options = { ...this.defaultObserverOptions, ...observerOptions }\r\n\r\n this.hostElement = hostElement;\r\n\r\n const handleIntersect = (entries: any[], observer: any) => {\r\n entries.forEach((entry: any) => {\r\n this.intersecting.next(entry.isIntersecting);\r\n });\r\n };\r\n\r\n this.intersectionObserver = new IntersectionObserver(handleIntersect, options);\r\n this.intersectionObserver.observe(hostElement.nativeElement);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.intersectionObserver?.unobserve(this.hostElement?.nativeElement);\r\n }\r\n}\r\n","import { ElementRef, Injectable, Renderer2 } from '@angular/core';\r\nimport { Triggers } from '../coreui.types';\r\n\r\nexport interface IListenersConfig {\r\n hostElement: ElementRef,\r\n trigger?: Triggers | Triggers[],\r\n callbackOn?: () => void,\r\n callbackOff?: () => void,\r\n callbackToggle?: () => void,\r\n}\r\n\r\n@Injectable()\r\nexport class ListenersService {\r\n\r\n private listeners: Map<string, () => void> = new Map();\r\n\r\n constructor(\r\n private renderer: Renderer2\r\n ) {}\r\n\r\n setListeners({hostElement, trigger, callbackOn, callbackOff, callbackToggle}: IListenersConfig): void {\r\n const host = hostElement.nativeElement;\r\n const triggers = Array.isArray(trigger)\r\n ? trigger\r\n : trigger?.split(' ') ?? [];\r\n\r\n if (triggers?.includes('click')) {\r\n typeof callbackToggle === 'function' && this.listeners.set(\r\n 'click',\r\n this.renderer.listen(host, 'click', callbackToggle)\r\n );\r\n }\r\n if (triggers?.includes('focus')) {\r\n typeof callbackOn === 'function' && this.listeners.set(\r\n 'focus',\r\n this.renderer.listen(host, 'focus', callbackOn)\r\n );\r\n }\r\n if (triggers?.includes('click') || triggers?.includes('focus')) {\r\n typeof callbackOff === 'function' && this.listeners.set(\r\n 'blur',\r\n this.renderer.listen(host, 'blur', callbackOff)\r\n );\r\n }\r\n if (triggers?.includes('hover')) {\r\n typeof callbackOn === 'function' && this.listeners.set(\r\n 'mouseenter',\r\n this.renderer.listen(host, 'mouseenter', callbackOn),\r\n );\r\n typeof callbackOff === 'function' && this.listeners.set(\r\n 'mouseleave',\r\n this.renderer.listen(host, 'mouseleave', callbackOff)\r\n );\r\n }\r\n }\r\n\r\n clearListeners(): void {\r\n this.listeners.forEach((unListen, key) => {\r\n unListen();\r\n });\r\n this.listeners.forEach((unListen, key) => {\r\n // @ts-ignore\r\n this.listeners.set(key, null);\r\n });\r\n this.listeners.clear();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\nexport interface ICarouselIndex {\r\n active?: number;\r\n interval?: number;\r\n lastItemIndex?: number;\r\n}\r\n\r\n@Injectable()\r\nexport class CarouselService {\r\n private carouselIndex = new BehaviorSubject<ICarouselIndex>({});\r\n carouselIndex$ = this.carouselIndex.asObservable();\r\n\r\n constructor() {}\r\n\r\n setIndex(index: ICarouselIndex): void {\r\n this.carouselIndex.next(index);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ICarouselState } from './carousel-state.type';\r\nimport { CarouselService } from './carousel.service';\r\nimport { CarouselItemComponent } from './carousel-item/carousel-item.component';\r\n\r\n@Injectable()\r\nexport class CarouselState {\r\n private _state: ICarouselState = {\r\n activeItemIndex: -1,\r\n animate: true,\r\n items: [],\r\n direction: 'next',\r\n transition: 'slide'\r\n };\r\n\r\n constructor(private carouselService: CarouselService) {}\r\n\r\n get state(): ICarouselState {\r\n return this._state;\r\n }\r\n\r\n set state(state) {\r\n const prevState = { ...this._state };\r\n const nextState = { ...this._state, ...state };\r\n this._state = nextState;\r\n if (prevState.activeItemIndex !== nextState.activeItemIndex) {\r\n const activeItemIndex = this.state.activeItemIndex || 0;\r\n const itemInterval = this.state.items && this.state.items[activeItemIndex]?.interval || -1;\r\n this.carouselService.setIndex({\r\n active: nextState.activeItemIndex,\r\n interval: itemInterval,\r\n lastItemIndex: (nextState.items?.length ?? 0) - 1\r\n });\r\n }\r\n }\r\n\r\n setItems(newItems: any): void {\r\n if (newItems.length) {\r\n const itemsArray = newItems.toArray();\r\n itemsArray.forEach((item: CarouselItemComponent, i: number) => {\r\n item.index = i;\r\n });\r\n this.state = {\r\n items: itemsArray\r\n };\r\n } else {\r\n this.reset();\r\n }\r\n }\r\n\r\n setNextIndex(nextIndex: any): void {\r\n this.carouselService.setIndex(nextIndex);\r\n }\r\n\r\n direction(direction: 'next' | 'prev' = 'next'): number {\r\n this.state = { direction };\r\n const { activeItemIndex = -1, items } = this.state;\r\n const itemsCount = items?.length ?? 0;\r\n if (itemsCount > 0) {\r\n return direction === 'next' ?\r\n (activeItemIndex === itemsCount - 1 ? 0 : activeItemIndex + 1) :\r\n (activeItemIndex === 0 ? itemsCount - 1 : activeItemIndex - 1);\r\n } else {\r\n return 0;\r\n }\r\n }\r\n\r\n reset(): void {\r\n this.state = {\r\n activeItemIndex: -1,\r\n animate: true,\r\n items: [],\r\n direction: 'next',\r\n transition: 'slide'\r\n };\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class CarouselConfig {\r\n /* Animate transition of slides */\r\n activeIndex = 0;\r\n /* Animate transition of slides */\r\n animate = true;\r\n /* Darken controls, indicators, and captions */\r\n dark? = false;\r\n /* Default direction of auto changing of slides */\r\n direction: 'next' | 'prev' = 'next';\r\n /* Default interval of auto changing of slides */\r\n interval = 3000;\r\n}\r\n","import {\r\n AfterContentInit,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n Inject,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output\r\n} from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { IntersectionService } from '../../services/intersection.service';\r\nimport { IListenersConfig, ListenersService } from '../../services/listeners.service';\r\n\r\nimport { CarouselState } from '../carousel-state';\r\nimport { CarouselService } from '../carousel.service';\r\nimport { CarouselConfig } from '../carousel.config';\r\nimport { Triggers } from '../../coreui.types';\r\n\r\n@Component({\r\n selector: 'c-carousel',\r\n template: '<ng-content></ng-content>',\r\n styleUrls: ['./carousel.component.scss'],\r\n providers: [CarouselService, CarouselState, CarouselConfig, IntersectionService, ListenersService]\r\n})\r\nexport class CarouselComponent implements OnInit, OnDestroy, AfterContentInit {\r\n /**\r\n * Index of the active item.\r\n * @type number\r\n */\r\n @Input() activeIndex = 0;\r\n /**\r\n * Carousel automatically starts cycle items.\r\n * @type boolean\r\n */\r\n @Input() animate = true;\r\n /**\r\n * Add darker controls, indicators, and captions.\r\n * @type boolean\r\n */\r\n @Input() dark?: boolean;\r\n /**\r\n * Carousel direction. [docs]\r\n * @type {'next' | 'prev'}\r\n */\r\n @Input() direction: 'next' | 'prev' = 'next';\r\n /**\r\n * The amount of time to delay between automatically cycling an item. If false, carousel will not automatically cycle.\r\n * @type number\r\n * @default 0\r\n */\r\n @Input() interval = 0;\r\n /**\r\n * Sets which event handlers you’d like provided to your pause prop. You can specify one trigger or an array of them.\r\n * @type {'hover' | 'focus' | 'click'}\r\n */\r\n @Input() pause: Triggers | Triggers[] | false = 'hover';\r\n /**\r\n * Set type of the transition.\r\n * @type {'slide' | 'crossfade'}\r\n * @default 'slide'\r\n */\r\n @Input() transition: 'slide' | 'crossfade' = 'slide';\r\n /**\r\n * Set whether the carousel should cycle continuously or have hard stops.\r\n * @type boolean\r\n * @default true\r\n */\r\n @Input() wrap = true;\r\n /**\r\n * Event emitted on carousel item change. [docs]\r\n * @type number\r\n */\r\n @Output() itemChange = new EventEmitter<number>();\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n carousel: true,\r\n slide: true,\r\n 'carousel-dark': !!this.dark,\r\n 'carousel-fade': this.transition === 'crossfade'\r\n };\r\n }\r\n\r\n private carouselIndexSubscription?: Subscription;\r\n private timerId!: any;\r\n private intersectingSubscription?: Subscription;\r\n private activeItemInterval = 0;\r\n\r\n constructor(\r\n @Inject(CarouselConfig) private config: CarouselConfig,\r\n private hostElement: ElementRef,\r\n private carouselService: CarouselService,\r\n private carouselState: CarouselState,\r\n private intersectionService: IntersectionService,\r\n private listenersService: ListenersService\r\n ) {\r\n Object.assign(this, config);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.carouselStateSubscribe();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.clearListeners();\r\n this.carouselStateSubscribe(false);\r\n this.intersectionServiceSubscribe(false);\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.intersectionService.createIntersectionObserver(this.hostElement);\r\n this.intersectionServiceSubscribe();\r\n this.carouselState.state = { activeItemIndex: this.activeIndex, animate: this.animate };\r\n this.setListeners();\r\n }\r\n\r\n private setListeners(): void {\r\n const config: IListenersConfig = {\r\n hostElement: this.hostElement,\r\n trigger: this.pause || [],\r\n callbackOff: () => {\r\n this.setTimer();\r\n },\r\n callbackOn: () => {\r\n this.resetTimer();\r\n }\r\n };\r\n this.listenersService.setListeners(config);\r\n }\r\n\r\n private clearListeners(): void {\r\n this.listenersService.clearListeners();\r\n }\r\n\r\n set visible(value) {\r\n this._visible = value;\r\n }\r\n get visible() {\r\n return this._visible;\r\n }\r\n private _visible: boolean = true;\r\n\r\n setTimer(): void {\r\n const interval = this.activeItemInterval || 0;\r\n this.resetTimer();\r\n if (interval > 0) {\r\n this.timerId = setTimeout(() => {\r\n const nextIndex = this.carouselState.direction(this.direction);\r\n this.carouselState.state = { activeItemIndex: nextIndex };\r\n }, interval);\r\n }\r\n }\r\n\r\n resetTimer(): void {\r\n clearTimeout(this.timerId);\r\n }\r\n\r\n private carouselStateSubscribe(subscribe: boolean = true): void {\r\n if (subscribe) {\r\n this.carouselIndexSubscription = this.carouselService.carouselIndex$.subscribe((nextItem) => {\r\n if ('active' in nextItem) {\r\n this.itemChange.emit(nextItem.active);\r\n }\r\n this.activeItemInterval = typeof nextItem.interval === 'number' && nextItem.interval > -1 ? nextItem.interval : this.interval;\r\n const isLastItem = ((nextItem.active === nextItem.lastItemIndex) && this.direction === 'next') || ((nextItem.active === 0) && this.direction === 'prev');\r\n !this.wrap && isLastItem ? this.resetTimer() : this.setTimer();\r\n });\r\n } else {\r\n this.carouselIndexSubscription?.unsubscribe();\r\n }\r\n }\r\n\r\n private intersectionServiceSubscribe(subscribe: boolean = true): void {\r\n if (subscribe) {\r\n this.intersectingSubscription = this.intersectionService.intersecting$.subscribe(isIntersecting => {\r\n this.visible = isIntersecting;\r\n isIntersecting ? this.setTimer() : this.resetTimer();\r\n });\r\n } else {\r\n this.intersectingSubscription?.unsubscribe();\r\n }\r\n }\r\n}\r\n","import { Component, HostBinding } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-carousel-caption',\r\n template: `<ng-content></ng-content>`,\r\n styleUrls: ['./carousel-caption.component.scss']\r\n})\r\nexport class CarouselCaptionComponent {\r\n\r\n @HostBinding('class.carousel-caption') carouselCaptionClass = true;\r\n\r\n constructor() { }\r\n\r\n}\r\n","import {\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n HostBinding,\r\n HostListener,\r\n Input,\r\n ViewChild\r\n} from '@angular/core';\r\n\r\nimport { CarouselState } from '../carousel-state';\r\n\r\n@Component({\r\n selector: 'c-carousel-control',\r\n templateUrl: './carousel-control.component.html',\r\n styleUrls: ['./carousel-control.component.scss'],\r\n})\r\nexport class CarouselControlComponent implements AfterViewInit {\r\n\r\n constructor(\r\n private changeDetector: ChangeDetectorRef,\r\n private carouselState: CarouselState,\r\n ) {}\r\n\r\n private _caption?: string;\r\n /**\r\n * Carousel control caption. [docs]\r\n * @type string\r\n */\r\n @Input()\r\n set caption(value) {\r\n this._caption = value;\r\n }\r\n get caption(): string {\r\n return !!this._caption ? this._caption : this.direction === 'prev' ? 'Previous' : 'Next';\r\n }\r\n /**\r\n * Carousel control direction. [docs]\r\n * @type {'next' | 'prev'}\r\n */\r\n @Input() direction: 'prev' | 'next' = 'next';\r\n\r\n @HostBinding('attr.role')\r\n get hostRole(): string {\r\n return 'button';\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): string {\r\n return `carousel-control-${this.direction}`;\r\n }\r\n\r\n get carouselControlIconClass(): string {\r\n return `carousel-control-${this.direction}-icon`;\r\n }\r\n\r\n @ViewChild('content') content?: ElementRef;\r\n\r\n hasContent = true;\r\n\r\n @HostListener('keyup', ['$event'])\r\n onKeyUp($event: KeyboardEvent): void {\r\n if ($event.key === 'Enter') {\r\n this.play();\r\n }\r\n if ($event.key === 'ArrowLeft') {\r\n this.play('prev');\r\n }\r\n if ($event.key === 'ArrowRight') {\r\n this.play('next');\r\n }\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n public onClick($event: MouseEvent): void {\r\n this.play();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.hasContent = this.content?.nativeElement.childNodes.length ?? false;\r\n this.changeDetector.detectChanges();\r\n }\r\n\r\n private play(direction = this.direction): void {\r\n const nextIndex = this.carouselState.direction(direction);\r\n this.carouselState.state = { activeItemIndex: nextIndex };\r\n }\r\n}\r\n","<div #content *ngIf = \"hasContent; else default\"><ng-content></ng-content></div>\r\n<ng-template #default>\r\n <span [class]=\"carouselControlIconClass\" [attr.aria-label]=\"direction\" [attr.aria-hidden]=\"true\"></span>\r\n <span class=\"visually-hidden\">{{caption}}</span>\r\n</ng-template>\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { CarouselState } from '../carousel-state';\r\nimport { CarouselService } from '../carousel.service';\r\n\r\n@Component({\r\n selector: 'c-carousel-indicators',\r\n templateUrl: './carousel-indicators.component.html',\r\n styleUrls: ['./carousel-indicators.component.scss'],\r\n})\r\nexport class CarouselIndicatorsComponent implements OnInit, OnDestroy {\r\n items: (number | undefined)[] = [];\r\n active = 0;\r\n\r\n private carouselIndexSubscription?: Subscription;\r\n\r\n constructor(\r\n private carouselService: CarouselService,\r\n private carouselState: CarouselState\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.carouselStateSubscribe();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.carouselStateSubscribe(false);\r\n }\r\n\r\n onClick(index: number): void {\r\n if (index !== this.active) {\r\n const direction = index < this.active ? 'prev' : 'next';\r\n this.carouselState.state = { direction, activeItemIndex: index };\r\n }\r\n }\r\n\r\n private carouselStateSubscribe(subscribe: boolean = true): void {\r\n if (subscribe) {\r\n this.carouselIndexSubscription = this.carouselService.carouselIndex$.subscribe((nextIndex) => {\r\n this.items = this.carouselState?.state?.items?.map(item => item.index) ?? [];\r\n if ('active' in nextIndex) {\r\n this.active = nextIndex.active ?? 0;\r\n }\r\n });\r\n } else {\r\n this.carouselIndexSubscription?.unsubscribe();\r\n }\r\n }\r\n}\r\n","<div class=\"carousel-indicators\">\r\n <ng-container *ngFor=\"let item of items; let i=index\">\r\n <button [attr.data-coreui-target]=\"i\" type=\"button\" (click)=\"onClick(i)\" [class]=\"{active: active === i}\" [attr.aria-current]=\"active === i\"></button>\r\n </ng-container>\r\n</div>\r\n","import {\r\n animate,\r\n group,\r\n query,\r\n state,\r\n style,\r\n transition,\r\n trigger,\r\n} from '@angular/animations';\r\n\r\nexport function toLeft(fromState: any, toState: any): boolean {\r\n return toState.left === true;\r\n}\r\nexport function toRight(fromState: any, toState: any): boolean {\r\n return toState.left === false;\r\n}\r\n\r\nexport const slideAnimation = trigger('slideAnimation', [\r\n state(\r\n '*',\r\n style({ transform: 'translateX(0)', display: 'block', opacity: 1 })\r\n ),\r\n transition(\r\n toLeft,\r\n group([\r\n query(\r\n ':leave',\r\n [\r\n animate(\r\n '0.6s ease-in-out',\r\n style({\r\n transform: 'translateX(-100%)',\r\n })\r\n ),\r\n ],\r\n { optional: true }\r\n ),\r\n query(\r\n ':enter',\r\n [\r\n style({\r\n transform: 'translateX(100%)',\r\n }),\r\n animate('0.6s ease-in-out', style('*')),\r\n ],\r\n { optional: true }\r\n ),\r\n ])\r\n ),\r\n transition(\r\n toRight,\r\n group([\r\n query(\r\n ':enter',\r\n [\r\n style({\r\n transform: 'translateX(-100%)',\r\n }),\r\n animate('0.6s ease-in-out', style('*')),\r\n ],\r\n { optional: true }\r\n ),\r\n query(\r\n ':leave',\r\n [\r\n animate(\r\n '0.6s ease-in-out',\r\n style({\r\n transform: 'translateX(100%)',\r\n })\r\n ),\r\n ],\r\n { optional: true }\r\n ),\r\n ])\r\n ),\r\n]);\r\n\r\nexport const fadeAnimation = trigger('fadeAnimation', [\r\n state(\r\n '*',\r\n style({ zIndex: 1, opacity: 1 })\r\n ),\r\n transition(\r\n toLeft,\r\n group([\r\n query(\r\n ':leave',\r\n [\r\n animate(\r\n '0.6s ease-in-out',\r\n style({\r\n zIndex: 0,\r\n opacity: 0,\r\n })\r\n ),\r\n ],\r\n { optional: true }\r\n ),\r\n query(\r\n ':enter',\r\n [\r\n style({\r\n zIndex: 1,\r\n opacity: 1\r\n }),\r\n animate('0.6s ease-in-out', style('*')),\r\n ],\r\n { optional: true }\r\n ),\r\n ])\r\n ),\r\n transition(\r\n toRight,\r\n group([\r\n query(\r\n ':enter',\r\n [\r\n style({\r\n zIndex: 1,\r\n opacity: 1\r\n }),\r\n animate('0.6s ease-in-out', style('*')),\r\n ],\r\n { optional: true }\r\n ),\r\n query(\r\n ':leave',\r\n [\r\n animate(\r\n '0.6s ease-in-out',\r\n style({\r\n zIndex: 0,\r\n opacity: 0,\r\n })\r\n ),\r\n ],\r\n { optional: true }\r\n ),\r\n ])\r\n ),\r\n]);\r\n","import { AfterViewInit, ChangeDetectorRef, Component, HostBinding, Input, OnDestroy } from '@angular/core';\r\n\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { CarouselService } from '../carousel.service';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\n@Component({\r\n selector: 'c-carousel-item',\r\n templateUrl: './carousel-item.component.html',\r\n styleUrls: ['./carousel-item.component.scss']\r\n})\r\nexport class CarouselItemComponent implements OnDestroy, AfterViewInit {\r\n\r\n static ngAcceptInputType_active: BooleanInput;\r\n\r\n index?: number;\r\n private carouselIndexSubscription?: Subscription;\r\n\r\n /**\r\n * @ignore\r\n */\r\n @Input()\r\n set active(value) {\r\n this._active = coerceBooleanProperty(value);\r\n this.changeDetectorRef.markForCheck();\r\n }\r\n get active(): boolean {\r\n return this._active;\r\n }\r\n private _active = false;\r\n\r\n /**\r\n * Time delay before cycling to next item. If -1, uses carousel interval value.\r\n * @type number\r\n * @default -1\r\n */\r\n @Input() interval: number = -1;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'carousel-item': true,\r\n active: this.active\r\n };\r\n }\r\n\r\n constructor(\r\n private carouselService: CarouselService,\r\n private changeDetectorRef: ChangeDetectorRef\r\n ) {}\r\n\r\n ngOnDestroy(): void {\r\n this.carouselStateSubscribe(false);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.carouselStateSubscribe();\r\n });\r\n }\r\n\r\n private carouselStateSubscribe(subscribe: boolean = true): void {\r\n if (subscribe) {\r\n this.carouselIndexSubscription = this.carouselService.carouselIndex$.subscribe((nextIndex) => {\r\n if ('active' in nextIndex) {\r\n this.active = nextIndex.active === this.index;\r\n }\r\n });\r\n } else {\r\n this.carouselIndexSubscription?.unsubscribe();\r\n }\r\n }\r\n}\r\n","<ng-content *ngIf=\"active\"></ng-content>\r\n","import {\r\n AfterContentChecked,\r\n AfterContentInit,\r\n Component,\r\n ContentChildren,\r\n HostBinding,\r\n OnInit,\r\n QueryList,\r\n} from '@angular/core';\r\n\r\nimport { slideAnimation, fadeAnimation } from '../carousel.animation';\r\nimport { CarouselItemComponent } from '../carousel-item/carousel-item.component';\r\nimport { CarouselState } from '../carousel-state';\r\n\r\n@Component({\r\n selector: 'c-carousel-inner',\r\n templateUrl: './carousel-inner.component.html',\r\n styleUrls: ['./carousel-inner.component.scss'],\r\n animations: [ slideAnimation, fadeAnimation ]\r\n})\r\nexport class CarouselInnerComponent implements AfterContentInit, AfterContentChecked {\r\n @HostBinding('class.carousel-inner') carouselInnerClass = true;\r\n\r\n @ContentChildren(CarouselItemComponent) private contentItems!: QueryList<CarouselItemComponent>;\r\n private prevContentItems!: QueryList<CarouselItemComponent>;\r\n activeIndex?: number;\r\n animate?: boolean;\r\n slide = {left: true};\r\n transition = 'slide';\r\n\r\n constructor(private carouselState: CarouselState) {}\r\n\r\n ngAfterContentInit(): void {\r\n this.setItems();\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n this.setItems();\r\n const state = this.carouselState?.state;\r\n const nextIndex = state?.activeItemIndex;\r\n const nextDirection = state?.direction;\r\n if (this.activeIndex !== nextIndex) {\r\n this.animate = state?.animate;\r\n this.slide = {left: nextDirection === 'next'};\r\n this.activeIndex = state?.activeItemIndex;\r\n this.transition = state?.transition ?? 'slide';\r\n }\r\n }\r\n\r\n setItems(): void {\r\n if (this.prevContentItems !== this.contentItems) {\r\n this.prevContentItems = this.contentItems;\r\n this.carouselState.setItems(this.contentItems);\r\n }\r\n }\r\n}\r\n","<div [@slideAnimation]=\"slide\" [@.disabled]=\"!animate\">\r\n <ng-content></ng-content>\r\n</div>\r\n<!--todo-->\r\n<!--<div [@fadeAnimation]=\"slide\" [@.disabled]=\"!animate\" >-->\r\n<!-- <ng-content></ng-content>-->\r\n<!--</div>-->\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { CarouselComponent } from './carousel/carousel.component';\r\nimport { CarouselCaptionComponent } from './carousel-caption/carousel-caption.component';\r\nimport { CarouselControlComponent } from './carousel-control/carousel-control.component';\r\nimport { CarouselIndicatorsComponent } from './carousel-indicators/carousel-indicators.component';\r\nimport { CarouselInnerComponent } from './carousel-inner/carousel-inner.component';\r\nimport { CarouselItemComponent } from './carousel-item/carousel-item.component';\r\nimport { CarouselService } from './carousel.service';\r\nimport { CarouselState } from './carousel-state';\r\nimport { CarouselConfig } from './carousel.config';\r\n\r\n@NgModule({\r\n declarations: [\r\n CarouselComponent,\r\n CarouselCaptionComponent,\r\n CarouselControlComponent,\r\n CarouselIndicatorsComponent,\r\n CarouselInnerComponent,\r\n CarouselItemComponent,\r\n ],\r\n imports: [CommonModule],\r\n providers: [CarouselService, CarouselState, CarouselConfig],\r\n exports: [\r\n CarouselComponent,\r\n CarouselCaptionComponent,\r\n CarouselControlComponent,\r\n CarouselIndicatorsComponent,\r\n CarouselInnerComponent,\r\n CarouselItemComponent,\r\n ],\r\n})\r\nexport class CarouselModule {\r\n static forRoot(): ModuleWithProviders<CarouselModule> {\r\n return { ngModule: CarouselModule, providers: [] };\r\n }\r\n}\r\n","import { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cDropdownDivider]'\r\n})\r\nexport class DropdownDividerDirective {\r\n\r\n constructor() {\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n\r\n return {\r\n 'dropdown-divider': true,\r\n };\r\n }\r\n\r\n}\r\n","import { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cDropdownHeader]'\r\n})\r\nexport class DropdownHeaderDirective {\r\n\r\n constructor() {\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n\r\n return {\r\n 'dropdown-header': true,\r\n };\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\nexport interface IDropdownState {\r\n visible?: boolean | 'toggle';\r\n dropdown?: any;\r\n}\r\n\r\n@Injectable()\r\nexport class DropdownService {\r\n\r\n private dropdownState = new BehaviorSubject<any>({});\r\n dropdownState$ = this.dropdownState.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n toggle(state: IDropdownState): void {\r\n this.dropdownState.next(state);\r\n }\r\n}\r\n","import { Directive, ElementRef, HostBinding, Input, OnDestroy, OnInit, } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { DropdownService } from '../dropdown.service';\r\n\r\n@Directive({\r\n selector: '[cDropdownMenu]',\r\n exportAs: 'cDropdownMenu',\r\n})\r\nexport class DropdownMenuDirective implements OnInit, OnDestroy {\r\n static ngAcceptInputType_dark: BooleanInput;\r\n\r\n constructor(\r\n public elementRef: ElementRef,\r\n private dropdownService: DropdownService\r\n ) {}\r\n\r\n /**\r\n * Set alignment of dropdown menu.\r\n * @type {'start' | 'end' }\r\n */\r\n @Input() alignment?: 'start' | 'end' | string;\r\n\r\n /**\r\n * Toggle the visibility of dropdown menu component.\r\n */\r\n @Input() visible = false;\r\n\r\n /**\r\n * Sets a darker color scheme to match a dark navbar.\r\n */\r\n @Input()\r\n get dark(): boolean {\r\n return this._dark;\r\n }\r\n set dark(value: boolean) {\r\n this._dark = coerceBooleanProperty(value);\r\n }\r\n private _dark = false;\r\n\r\n private dropdownStateSubscription!: Subscription;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'dropdown-menu': true,\r\n 'dropdown-menu-dark': this.dark,\r\n [`dropdown-menu-${this.alignment}`]: !!this.alignment,\r\n show: this.visible,\r\n };\r\n }\r\n\r\n @HostBinding('style')\r\n get hostStyles() {\r\n // workaround for popper position calculate (see also: dropdown.component)\r\n return {\r\n visibility: this.visible ? null : '',\r\n display: this.visible ? null : '',\r\n };\r\n }\r\n\r\n ngOnInit(): void {\r\n this.dropdownStateSubscribe();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.dropdownStateSubscribe(false);\r\n }\r\n\r\n private dropdownStateSubscribe(subscribe: boolean = true): void {\r\n if (subscribe) {\r\n this.dropdownStateSubscription =\r\n this.dropdownService.dropdownState$.subscribe((state) => {\r\n if ('visible' in state) {\r\n this.visible =\r\n state.visible === 'toggle' ? !this.visible : state.visible;\r\n }\r\n });\r\n } else {\r\n this.dropdownStateSubscription.unsubscribe();\r\n }\r\n }\r\n}\r\n","import {\r\n AfterContentInit,\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChild,\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n HostBinding,\r\n HostListener,\r\n Inject,\r\n Input,\r\n NgZone,\r\n OnDestroy,\r\n OnInit,\r\n Optional,\r\n Output,\r\n Renderer2\r\n} from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { createPopper, Instance, Options, Placement } from '@popperjs/core';\r\n\r\nimport { DropdownService } from '../dropdown.service';\r\nimport { DropdownMenuDirective } from '../dropdown-menu/dropdown-menu.directive';\r\n\r\n// lightweight injection token\r\nexport abstract class DropdownToken {}\r\n\r\n@Directive({\r\n selector: '[cDropdownToggle]',\r\n providers: [{provide: DropdownToken, useExisting: forwardRef(() => DropdownComponent)}],\r\n exportAs: 'cDropdownToggle'\r\n})\r\nexport class DropdownToggleDirective implements AfterViewInit {\r\n\r\n static ngAcceptInputType_split: BooleanInput;\r\n static ngAcceptInputType_popper: BooleanInput;\r\n\r\n constructor(\r\n public elementRef: ElementRef,\r\n private dropdownService: DropdownService,\r\n @Optional() public dropdown?: DropdownToken\r\n ) {}\r\n\r\n /**\r\n * Toggle the disabled state for the toggler.\r\n * @type DropdownComponent | undefined\r\n * @default undefined\r\n */\r\n @Input() dropdownComponent?: DropdownComponent;\r\n\r\n /**\r\n * Disables the toggler.\r\n * @type boolean\r\n * @default false\r\n */\r\n @Input() disabled?: boolean = false;\r\n\r\n /**\r\n * Enables pseudo element caret on toggler.\r\n * @type boolean\r\n */\r\n @Input() caret = true;\r\n\r\n /**\r\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.\r\n * @type boolean\r\n */\r\n @Input()\r\n set split(value: boolean) {\r\n this._split = coerceBooleanProperty(value);\r\n }\r\n get split(): boolean {\r\n return this._split;\r\n }\r\n private _split = false;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'dropdown-toggle': this.caret,\r\n 'dropdown-toggle-split': this.split,\r\n disabled: this.disabled\r\n };\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n public onClick($event: MouseEvent): void {\r\n $event.preventDefault();\r\n !this.disabled && this.dropdownService.toggle({ visible: 'toggle', dropdown: this.dropdown });\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.dropdownComponent) {\r\n this.dropdown = this.dropdownComponent;\r\n this.dropdownService = this.dropdownComponent?.dropdownService;\r\n }\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'c-dropdown',\r\n template: '<ng-content></ng-content>',\r\n styleUrls: ['./dropdown.component.scss'],\r\n exportAs: 'cDropdown',\r\n providers: [DropdownService]\r\n})\r\nexport class DropdownComponent implements AfterContentInit, OnDestroy, OnInit {\r\n\r\n static ngAcceptInputType_dark: BooleanInput;\r\n static ngAcceptInputType_visible: BooleanInput;\r\n\r\n /**\r\n * Set alignment of dropdown menu.\r\n * @type {'start' | 'end' | { xs: 'start' | 'end' } | { sm: 'start' | 'end' } | { md: 'start' | 'end' } | { lg: 'start' | 'end' } | { xl: 'start' | 'end'} | { xxl: 'start' | 'end'}}\r\n */\r\n @Input() alignment?: string;\r\n\r\n @Input() autoClose: boolean | 'inside' | 'outside' = true;\r\n\r\n /**\r\n * Sets a darker color scheme to match a dark navbar.\r\n * @type boolean\r\n * @default false\r\n */\r\n @Input()\r\n set dark(value: boolean) {\r\n this._dark = coerceBooleanProperty(value);\r\n };\r\n get dark() {\r\n return this._dark;\r\n }\r\n private _dark = false;\r\n\r\n /**\r\n * Sets a specified direction and location of the dropdown menu.\r\n * @type 'dropup' | 'dropend' | 'dropstart'\r\n */\r\n @Input() direction?: 'dropup' | 'dropend' | 'dropstart';\r\n\r\n /**\r\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.\r\n * @type Placement\r\n */\r\n @Input() placement: Placement = 'bottom-start';\r\n\r\n /**\r\n * If you want to disable dynamic positioning set this property to `false`.\r\n * @type boolean\r\n * @default true\r\n */\r\n @Input()\r\n set popper(value: boolean) {\r\n this._popper = coerceBooleanProperty(value);\r\n }\r\n get popper(): boolean {\r\n return this._popper;\r\n }\r\n private _popper = true;\r\n\r\n /**\r\n * Optional popper Options object, placement prop takes precedence over\r\n * @type Partial<Options>\r\n */\r\n @Input()\r\n set popperOptions(value: Partial<Options>) {\r\n this._popperOptions = { ...this._popperOptions, ...value };\r\n };\r\n get popperOptions(): Partial<Options> {\r\n let placement = this.placement;\r\n switch (this.direction) {\r\n case 'dropup': {\r\n placement = 'top-start';\r\n break;\r\n }\r\n case 'dropend': {\r\n placement = 'right-start';\r\n break;\r\n }\r\n case 'dropstart': {\r\n placement = 'left-start';\r\n break;\r\n }\r\n }\r\n if (this.alignment === 'end') {\r\n placement = 'bottom-end';\r\n }\r\n this._popperOptions = { ...this._popperOptions, placement: placement };\r\n return this._popperOptions;\r\n }\r\n private _popperOptions: Partial<Options> = {\r\n placement: this.placement,\r\n modifiers: [],\r\n strategy: 'absolute'\r\n };\r\n\r\n /**\r\n * Set the dropdown variant to an btn-group, dropdown, input-group, and nav-item.\r\n */\r\n @Input() variant?: 'btn-group' | 'dropdown' | 'input-group' | 'nav-item' = 'dropdown';\r\n\r\n /**\r\n * Toggle the visibility of dropdown menu component.\r\n * @type boolean\r\n * @default false\r\n */\r\n @Input()\r\n set visible(value: boolean) {\r\n const _value = coerceBooleanProperty(value);\r\n this.activeTrap = _value;\r\n this._visible = _value;\r\n _value ? this.createPopperInstance() : this.destroyPopperInstance();\r\n this.visibleChange.emit(_value);\r\n }\r\n get visible(): boolean {\r\n return this._visible;\r\n }\r\n private _visible = false;\r\n\r\n @Output() visibleChange: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n dropdownContext = { $implicit: this.visible };\r\n @ContentChild(DropdownToggleDirective) _toggler!: DropdownToggleDirective;\r\n @ContentChild(DropdownMenuDirective) _menu!: DropdownMenuDirective;\r\n\r\n public activeTrap = false;\r\n\r\n private dropdownStateSubscription!: Subscription;\r\n private popperInstance!: Instance | undefined;\r\n private listeners: (() => void)[] = [];\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: any,\r\n private elementRef: ElementRef,\r\n private renderer: Renderer2,\r\n private ngZone: NgZone,\r\n private changeDetectorRef: ChangeDetectorRef,\r\n public dropdownService: DropdownService\r\n ) {}\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n dropdown:\r\n (this.variant === 'dropdown' || this.variant === 'nav-item') &&\r\n !this.direction,\r\n [`${this.direction}`]: !!this.direction,\r\n 'btn-group': this.variant === 'btn-group',\r\n 'nav-item': this.variant === 'nav-item',\r\n 'input-group': this.variant === 'input-group',\r\n show: this.visible\r\n };\r\n }\r\n\r\n // todo: find better solution\r\n @HostBinding('style')\r\n get hostStyle(): any {\r\n return this.variant === 'input-group' ? { display: 'contents' } : {};\r\n }\r\n\r\n private clickedTarget!: HTMLElement;\r\n\r\n @HostListener('click', ['$event'])\r\n private onHostClick($event: MouseEvent): void {\r\n this.clickedTarget = $event.target as HTMLElement;\r\n }\r\n\r\n dropdownStateSubscribe(subscribe: boolean = true): void {\r\n if (subscribe) {\r\n this.dropdownStateSubscription =\r\n this.dropdownService.dropdownState$.subscribe((state) => {\r\n if (this === state.dropdown) {\r\n if ('visible' in state) {\r\n state?.visible === 'toggle'\r\n ? this.toggleDropdown()\r\n : (this.visible = state.visible);\r\n }\r\n }\r\n });\r\n } else {\r\n this.dropdownStateSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n toggleDropdown(): void {\r\n this.visible = !this.visible;\r\n }\r\n\r\n onClick(event: any): void {\r\n if (!this._toggler?.elementRef.nativeElement.contains(event.target?.closest('[cDropdownToggle]'))) {\r\n this.toggleDropdown();\r\n }\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n if (this.variant === 'nav-item') {\r\n this.renderer.addClass(this._toggler.elementRef.nativeElement, 'nav-link');\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.dropdownStateSubscribe();\r\n this.setVisibleState(this.visible);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.clearListeners();\r\n this.dropdownStateSubscribe(false);\r\n this.destroyPopperInstance();\r\n }\r\n\r\n setVisibleState(value: boolean): void {\r\n this.dropdownService.toggle({ visible: value, dropdown: this });\r\n }\r\n\r\n // todo: turn off popper in navbar-nav\r\n createPopperInstance(): void {\r\n if (this._toggler && this._menu) {\r\n this.ngZone.runOutsideAngular(() => {\r\n // workaround for popper position calculate (see also: dropdown-menu.component)\r\n this._menu.elementRef.nativeElement.style.visibility = 'hidden';\r\n this._menu.elementRef.nativeElement.style.display = 'block';\r\n if (this.popper) {\r\n this.popperInstance = createPopper(\r\n this._toggler.elementRef.nativeElement,\r\n this._menu.elementRef.nativeElement,\r\n { ...this.popperOptions }\r\n );\r\n }\r\n this.ngZone.run(() => {\r\n this.setListeners();\r\n this.changeDetectorRef.detectChanges();\r\n });\r\n });\r\n }\r\n }\r\n\r\n destroyPopperInstance(): void {\r\n this.clearListeners();\r\n this.popperInstance?.destroy();\r\n this.popperInstance = undefined;\r\n this.changeDetectorRef.markForCheck();\r\n }\r\n\r\n private setListeners(): void {\r\n this.listeners.push(\r\n this.renderer.listen(this.document, 'click', (event) => {\r\n const target = event.target as HTMLElement;\r\n if (this._toggler?.elementRef.nativeElement.contains(event.target)) {\r\n return;\r\n }\r\n if (this.autoClose === true) {\r\n this.setVisibleState(false);\r\n return;\r\n }\r\n if (this.clickedTarget === target && this.autoClose === 'inside') {\r\n this.setVisibleState(false);\r\n return;\r\n }\r\n if (this.clickedTarget !== target && this.autoClose === 'outside') {\r\n this.setVisibleState(false);\r\n return;\r\n }\r\n })\r\n );\r\n this.listeners.push(\r\n this.renderer.listen(this.document, 'keyup', (event) => {\r\n if (event.key === 'Escape' && this.autoClose !== false) {\r\n this.setVisibleState(false);\r\n }\r\n })\r\n );\r\n }\r\n\r\n private clearListeners(): void {\r\n this.listeners.forEach((unListen) => {\r\n unListen();\r\n });\r\n // @ts-ignore\r\n this.listeners.fill(undefined);\r\n this.listeners = [];\r\n }\r\n}\r\n","import { Directive, HostBinding, HostListener, Input, Optional } from '@angular/core';\r\nimport { DropdownService } from '../dropdown.service';\r\nimport { DropdownComponent } from '../dropdown/dropdown.component';\r\n\r\n@Directive({\r\n selector: '[cDropdownItem]',\r\n exportAs: 'cDropdownItem'\r\n})\r\nexport class DropdownItemDirective {\r\n /**\r\n * Set active state to a dropdown-item.\r\n * @type boolean\r\n * @default undefined\r\n */\r\n @Input() active?: boolean;\r\n /**\r\n * Configure dropdown-item close dropdown behavior.\r\n * @type boolean\r\n * @default true\r\n */\r\n @Input() autoClose: boolean = true;\r\n /**\r\n * Disables a dropdown-item.\r\n * @type boolean\r\n * @default undefined\r\n */\r\n @Input() disabled?: boolean;\r\n\r\n constructor(\r\n private dropdownService: DropdownService,\r\n @Optional() public dropdown?: DropdownComponent\r\n ) {\r\n }\r\n\r\n @HostBinding('attr.aria-current')\r\n get ariaCurrent(): string | null {\r\n return this.active ? 'true' : null;\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'dropdown-item': true,\r\n active: this.active,\r\n disabled: this.disabled\r\n };\r\n }\r\n\r\n @HostBinding('attr.tabindex')\r\n @Input()\r\n set tabIndex(value: string | number | null) {\r\n this._tabIndex = value;\r\n }\r\n get tabIndex() {\r\n return this.disabled ? '-1' : this._tabIndex;\r\n }\r\n private _tabIndex: string | number | null = null;\r\n\r\n @HostBinding('attr.aria-disabled')\r\n get isDisabled(): boolean | null {\r\n return this.disabled || null;\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n private onClick($event: MouseEvent): void {\r\n if (this.autoClose) {\r\n this.dropdownService.toggle({ visible: 'toggle', dropdown: this.dropdown });\r\n }\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n private onKeyUp($event: KeyboardEvent): void {\r\n if ($event.key === 'Enter') {\r\n if (this.autoClose) {\r\n this.dropdownService.toggle({ visible: false, dropdown: this.dropdown });\r\n }\r\n }\r\n }\r\n}\r\n","import { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cDropdownItemPlain]'\r\n})\r\nexport class DropdownItemPlainDirective {\r\n\r\n constructor() {\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n\r\n return {\r\n 'dropdown-item-text': true,\r\n };\r\n }\r\n\r\n}\r\n","import { AfterViewInit, Directive, HostBinding, HostListener, Input, Optional } from '@angular/core';\r\nimport { DropdownService } from '../dropdown.service';\r\nimport { DropdownComponent } from '../dropdown/dropdown.component';\r\n\r\n@Directive({\r\n selector: '[cDropdownClose]',\r\n exportAs: 'cDropdownClose'\r\n})\r\nexport class DropdownCloseDirective implements AfterViewInit {\r\n\r\n constructor(\r\n private dropdownService: DropdownService,\r\n @Optional() public dropdown?: DropdownComponent\r\n ) { }\r\n\r\n /**\r\n * Disables a dropdown-close directive.\r\n * @type boolean\r\n * @default undefined\r\n */\r\n @Input() disabled?: boolean;\r\n\r\n @Input() dropdownComponent?: DropdownComponent;\r\n\r\n ngAfterViewInit(): void {\r\n if (this.dropdownComponent) {\r\n this.dropdown = this.dropdownComponent;\r\n this.dropdownService = this.dropdownComponent?.dropdownService;\r\n }\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n disabled: this.disabled\r\n };\r\n }\r\n\r\n @HostBinding('attr.tabindex')\r\n @Input()\r\n set tabIndex(value: string | number | null) {\r\n this._tabIndex = value;\r\n }\r\n get tabIndex() {\r\n return this.disabled ? '-1' : this._tabIndex;\r\n }\r\n private _tabIndex: string | number | null = null;\r\n\r\n @HostBinding('attr.aria-disabled')\r\n get isDisabled(): boolean | null {\r\n return this.disabled || null;\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n private onClick($event: MouseEvent): void {\r\n !this.disabled && this.dropdownService.toggle({ visible: false, dropdown: this.dropdown });\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n private onKeyUp($event: KeyboardEvent): void {\r\n if ($event.key === 'Enter') {\r\n !this.disabled && this.dropdownService.toggle({ visible: false, dropdown: this.dropdown });\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DropdownComponent, DropdownToggleDirective } from './dropdown/dropdown.component';\r\nimport { DropdownDividerDirective } from './dropdown-divider/dropdown-divider.directive';\r\nimport { DropdownHeaderDirective } from './dropdown-header/dropdown-header.directive';\r\nimport { DropdownItemDirective } from './dropdown-item/dropdown-item.directive';\r\nimport { DropdownItemPlainDirective } from './dropdown-item/dropdown-item-plain.directive';\r\nimport { DropdownMenuDirective } from './dropdown-menu/dropdown-menu.directive';\r\nimport { DropdownService } from './dropdown.service';\r\nimport { DropdownCloseDirective } from './dropdown-close/dropdown-close.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n DropdownComponent,\r\n DropdownDividerDirective,\r\n DropdownHeaderDirective,\r\n DropdownItemDirective,\r\n DropdownItemPlainDirective,\r\n DropdownToggleDirective,\r\n DropdownMenuDirective,\r\n DropdownCloseDirective\r\n ],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [\r\n DropdownComponent,\r\n DropdownDividerDirective,\r\n DropdownHeaderDirective,\r\n DropdownItemDirective,\r\n DropdownItemPlainDirective,\r\n DropdownToggleDirective,\r\n DropdownMenuDirective,\r\n DropdownCloseDirective\r\n ],\r\n providers: [\r\n DropdownService,\r\n ]\r\n})\r\nexport class DropdownModule {\r\n}\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\n\r\nimport { Colors } from '../coreui.types';\r\n\r\n@Component({\r\n selector: 'c-spinner',\r\n templateUrl: './spinner.component.html',\r\n})\r\nexport class SpinnerComponent {\r\n /**\r\n * Sets the color context of the component to one of CoreUI’s themed colors.\r\n * @type Colors\r\n */\r\n @Input() color?: Colors;\r\n\r\n /**\r\n * Label for accessibility.\r\n * @type string\r\n * @default 'Loading...'\r\n */\r\n @Input() label: string = \"Loading...\";\r\n\r\n /**\r\n * Size the component small.\r\n * @type string\r\n * @values 'sm'\r\n */\r\n @Input() size?: 'sm';\r\n\r\n /**\r\n * Set the button variant to an outlined button or a ghost button.\r\n * @values 'border' | 'grow'\r\n * @default 'border'\r\n */\r\n @Input() variant?: 'border' | 'grow' = 'border';\r\n\r\n @Input()\r\n @HostBinding('attr.role') role = 'status';\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n [`spinner-${this.variant}`]: true,\r\n [`text-${this.color}`]: !!this.color,\r\n [`spinner-${this.variant}-${this.size}`]: !!this.size\r\n };\r\n }\r\n}\r\n","<span class=\"visually-hidden\">{{label}}</span>\r\n","import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, HostBinding, Input, ViewChild } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-element-cover, [cElementCover]',\r\n templateUrl: './element-cover.component.html',\r\n styleUrls: ['./element-cover.component.scss']\r\n})\r\nexport class ElementCoverComponent implements AfterViewInit {\r\n\r\n constructor(private elementRef: ElementRef, private changeDetectorRef: ChangeDetectorRef) {}\r\n\r\n /**\r\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:\r\n * - sides (array) - select boundaries of element to define boundaries. Side names: 'top', 'bottom', 'right', 'left'.\r\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]\r\n * @type {sides: string[], query: string}[]\r\n */\r\n @Input() boundaries?: { sides: string[]; query: string }[];\r\n @Input() opacity: number = 0.4;\r\n\r\n @ViewChild('content') content?: ElementRef;\r\n hasContent = true;\r\n #parent!: any;\r\n\r\n private get customBoundaries() {\r\n if (!this.boundaries || this.elementRef === null) {\r\n return {};\r\n }\r\n if (!this.#parent) {\r\n return {};\r\n }\r\n const parentCoords = this.#parent?.getBoundingClientRect();\r\n const _customBoundaries = {};\r\n this.boundaries.forEach((value: any) => {\r\n const element = this.#parent?.querySelector(value.query);\r\n if (!element || !value.sides) {\r\n return;\r\n }\r\n const coords = element.getBoundingClientRect();\r\n value.sides.forEach((side: string) => {\r\n const sideMargin = Math.abs(coords[side] - parentCoords[side]);\r\n // @ts-ignore\r\n _customBoundaries[side] = `${sideMargin}px`;\r\n });\r\n });\r\n return _customBoundaries;\r\n }\r\n\r\n private get containerCoords() {\r\n return {\r\n top: 0, left: 0, right: 0, bottom: 0, ...this.customBoundaries\r\n };\r\n }\r\n\r\n @HostBinding('style')\r\n private get coverStyles() {\r\n return {\r\n ...this.containerCoords, position: 'absolute', backgroundColor: `rgb(255,255,255,${this.opacity})`\r\n };\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.#parent = this.elementRef.nativeElement.parentElement;\r\n this.hasContent = this.content?.nativeElement.childNodes.length ?? false;\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n}\r\n","<div [ngStyle]=\"{position: 'absolute', 'top.%': '50', 'left.%': '50', transform: 'translateX(-50%) translateY(-50%)'}\">\r\n <div #content *ngIf=\"hasContent; else defaultSpinner\">\r\n <ng-content></ng-content>\r\n </div>\r\n <ng-template #defaultSpinner>\r\n <c-spinner color=\"primary\" variant=\"grow\"></c-spinner>\r\n </ng-template>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { SpinnerComponent } from './spinner.component';\r\nimport {SharedModule} from '../shared';\r\n\r\n@NgModule({\r\n declarations: [\r\n SpinnerComponent\r\n ],\r\n exports: [\r\n SpinnerComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n SharedModule\r\n ]\r\n})\r\nexport class SpinnerModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { SpinnerModule } from '../spinner';\r\nimport { ElementCoverComponent } from './element-cover.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n ElementCoverComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n SpinnerModule\r\n ],\r\n exports: [\r\n ElementCoverComponent\r\n ]\r\n})\r\nexport class ElementCoverModule {\r\n}\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\n\r\nimport { Positions } from '../coreui.types';\r\n\r\n@Component({\r\n selector: 'c-footer, [cFooter]',\r\n template: `<ng-content></ng-content>`,\r\n})\r\nexport class FooterComponent {\r\n /**\r\n * Place footer in non-static positions. [docs]\r\n * @type Positions\r\n */\r\n @Input() position?: Positions;\r\n /**\r\n * Default role for footer. [docs]\r\n * @type string\r\n * @default 'footer'\r\n */\r\n @Input()\r\n @HostBinding('attr.role') role = 'footer';\r\n\r\n @HostBinding('class')\r\n get getClasses(): any {\r\n return {\r\n footer: true,\r\n [`footer-${this.position}`]: !!this.position,\r\n };\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { FooterComponent } from './footer.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n FooterComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n FooterComponent\r\n ]\r\n})\r\nexport class FooterModule { }\r\n","import { Directive, HostBinding, Input } from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\n@Directive({\r\n selector: 'form[cForm]'\r\n})\r\nexport class FormDirective {\r\n\r\n static ngAcceptInputType_validated: BooleanInput;\r\n private _validated = false;\r\n\r\n /**\r\n * Mark a form as validated. If you set it `true`, all validation styles will be applied to the form. [docs]\r\n * @type boolean\r\n * @default false\r\n */\r\n @Input()\r\n set validated(value: boolean) {\r\n this._validated = coerceBooleanProperty(value);\r\n }\r\n get validated() {\r\n return this._validated;\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'was-validated': this.validated,\r\n };\r\n }\r\n\r\n constructor() { }\r\n}\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\n@Component({\r\n selector: 'c-form-feedback',\r\n template: '<ng-content></ng-content>'\r\n})\r\nexport class FormFeedbackComponent {\r\n static ngAcceptInputType_tooltip: BooleanInput;\r\n\r\n /**\r\n * If your form layout allows it, you can display validation feedback in a styled tooltip.\r\n */\r\n private _tooltip = false;\r\n @Input()\r\n set tooltip(value: boolean) {\r\n this._tooltip = coerceBooleanProperty(value);\r\n }\r\n get tooltip(): boolean {\r\n return this._tooltip;\r\n }\r\n /**\r\n * Set component validation state to valid.\r\n */\r\n @Input() valid?: boolean;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'valid-feedback': this.valid === true && !this.tooltip,\r\n 'valid-tooltip': this.valid === true && this.tooltip,\r\n 'invalid-feedback': this.valid !== true && !this.tooltip,\r\n 'invalid-tooltip': this.valid !== true && this.tooltip\r\n };\r\n }\r\n}\r\n","import {\r\n Component,\r\n HostBinding,\r\n Input,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-input-group',\r\n template: `<ng-content></ng-content>`,\r\n})\r\nexport class InputGroupComponent {\r\n /**\r\n * Size the component small or large.\r\n */\r\n @Input() sizing: string | 'sm' | 'lg' | '' = '';\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'input-group': true,\r\n [`input-group-${this.sizing}`]: !!this.sizing,\r\n };\r\n }\r\n\r\n constructor() {}\r\n\r\n}\r\n","import { Directive, HostBinding, Input, OnChanges } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'select[cSelect]'\r\n})\r\nexport class FormSelectDirective {\r\n /**\r\n * Size the component small or large.\r\n */\r\n @Input() sizing?: '' | 'sm' | 'lg' | string = '';\r\n\r\n /**\r\n * Set component validation state to valid.\r\n * @type {boolean | undefined}\r\n */\r\n @Input() valid?: boolean;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'form-select': true,\r\n [`form-select-${this.sizing}`]: !!this.sizing,\r\n 'is-valid': this.valid === true,\r\n 'is-invalid': this.valid === false,\r\n };\r\n }\r\n\r\n constructor() {}\r\n\r\n}\r\n","import { Directive, HostBinding, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cLabel]'\r\n})\r\nexport class FormLabelDirective {\r\n\r\n /**\r\n * For horizontal forms set labels to 'col' and make them vertically centered with their associated form controls.\r\n * @type 'col'\r\n */\r\n @Input('cLabel') col: 'col' | '' = '';\r\n /**\r\n * Size the label small or large.\r\n */\r\n @Input() sizing: '' | 'sm' | 'lg' | string = '';\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n\r\n return {\r\n 'form-label': true,\r\n 'col-form-label': this.col === 'col',\r\n [`col-form-label-${this.sizing}`]: !!this.sizing && this.col === 'col',\r\n };\r\n }\r\n\r\n constructor() {}\r\n\r\n}\r\n","import { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'label[cFormCheckLabel]'\r\n})\r\nexport class FormCheckLabelDirective {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n\r\n return {\r\n 'form-check-label': true,\r\n };\r\n }\r\n\r\n}\r\n","import { AfterContentInit, Component, ContentChild, HostBinding, Input } from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\nimport { FormCheckLabelDirective } from './form-check-label.directive';\r\n\r\n@Component({\r\n selector: 'c-form-check',\r\n template: '<ng-content></ng-content>',\r\n exportAs: 'cFormCheck'\r\n})\r\nexport class FormCheckComponent implements AfterContentInit {\r\n\r\n static ngAcceptInputType_inline: BooleanInput;\r\n static ngAcceptInputType_switch: BooleanInput;\r\n\r\n private _inline = false;\r\n /**\r\n * Group checkboxes or radios on the same horizontal row.\r\n * @type boolean\r\n * @default false\r\n */\r\n @Input()\r\n set inline(value: boolean) {\r\n this._inline = coerceBooleanProperty(value);\r\n }\r\n get inline(): boolean {\r\n return this._inline;\r\n }\r\n\r\n /**\r\n * Size the component large or extra large. Works only with `[switch]=\"true\"` [docs]\r\n * @type {'lg' | 'xl' | ''}\r\n */\r\n @Input() sizing?: 'lg' | 'xl' | '' = '';\r\n\r\n /**\r\n * Render a toggle switch on for checkbox.\r\n * @type boolean\r\n * @default false\r\n */\r\n @Input()\r\n set switch(value: boolean) {\r\n this._switch = coerceBooleanProperty(value);\r\n }\r\n get switch(): boolean {\r\n return this._switch;\r\n }\r\n private _switch = false;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n\r\n return {\r\n 'form-check': this.formCheckClass,\r\n 'form-switch': this.switch,\r\n [`form-switch-${this.sizing}`]: this.switch && !!this.sizing,\r\n 'form-check-inline': this.inline\r\n };\r\n }\r\n\r\n @ContentChild(FormCheckLabelDirective) formCheckLabel!: FormCheckLabelDirective;\r\n private _formCheckClass = true;\r\n get formCheckClass() {\r\n return this._formCheckClass;\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this._formCheckClass = !!this.formCheckLabel;\r\n }\r\n}\r\n","import { Directive, ElementRef, HostBinding, Input, Renderer2 } from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\n@Directive({\r\n selector: 'input[cFormCheckInput]'\r\n})\r\nexport class FormCheckInputDirective {\r\n\r\n static ngAcceptInputType_indeterminate: BooleanInput;\r\n\r\n /**\r\n * Specifies the type of component.\r\n * @type {'checkbox' | 'radio'}\r\n * @default 'checkbox'\r\n */\r\n @HostBinding('attr.type')\r\n @Input() type: ('checkbox' | 'radio') = 'checkbox';\r\n\r\n /**\r\n * Set component indeterminate state.\r\n * @type boolean\r\n */\r\n @Input()\r\n set indeterminate(value: boolean) {\r\n const newValue = coerceBooleanProperty(value);\r\n if (this._indeterminate !== newValue) {\r\n this._indeterminate = newValue;\r\n this.renderer.setProperty(this.hostElement.nativeElement, 'indeterminate', newValue);\r\n }\r\n };\r\n get indeterminate() {\r\n return this._indeterminate;\r\n }\r\n private _indeterminate = false;\r\n\r\n /**\r\n * Set component validation state to valid.\r\n * @type boolean\r\n */\r\n @Input() valid?: boolean;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'form-check-input': true,\r\n 'is-valid': this.valid === true,\r\n 'is-invalid': this.valid === false\r\n };\r\n }\r\n\r\n get checked(): boolean {\r\n return this.hostElement?.nativeElement?.checked;\r\n }\r\n\r\n constructor(\r\n private renderer: Renderer2,\r\n private hostElement: ElementRef\r\n ) { }\r\n\r\n}\r\n","import { Directive, ElementRef, HostBinding, Input, OnInit } from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\nimport { InputType } from '../../coreui.types';\r\n\r\n@Directive({\r\n selector: 'input[cFormControl], textarea[cFormControl]'\r\n})\r\nexport class FormControlDirective implements OnInit {\r\n\r\n static ngAcceptInputType_plaintext: BooleanInput;\r\n /**\r\n * Size the component small or large.\r\n * @type {'sm' | 'lg'}\r\n */\r\n @Input() sizing?: '' | 'sm' | 'lg' | string = '';\r\n /**\r\n * Set component validation state to valid.\r\n * @type boolean\r\n */\r\n @Input() valid?: boolean;\r\n\r\n /**\r\n * Specifies the type of input element.\r\n */\r\n @HostBinding('attr.type')\r\n @Input() type: Omit<InputType, 'checkbox' | 'radio'> = 'text';\r\n\r\n /**\r\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]\r\n */\r\n @Input()\r\n set plaintext(value: boolean) {\r\n this._plaintext = coerceBooleanProperty(value);\r\n }\r\n get plaintext(): boolean {\r\n return this._plaintext;\r\n }\r\n private _plaintext = false;\r\n\r\n constructor(\r\n private hostElement: ElementRef\r\n ) {}\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n\r\n const isRangeType = this.type === 'range';\r\n\r\n return {\r\n 'form-control': !isRangeType && !this.plaintext,\r\n 'form-control-plaintext': !isRangeType && this.plaintext,\r\n 'form-control-color': this.type === 'color',\r\n 'form-range': isRangeType,\r\n [`form-control-${this.sizing}`]: !!this.sizing && !isRangeType,\r\n 'is-valid': this.valid === true,\r\n 'is-invalid': this.valid === false\r\n };\r\n }\r\n\r\n get hostTag(): string {\r\n return this.hostElement.nativeElement.tagName;\r\n }\r\n\r\n ngOnInit(): void {\r\n const hostTag = this.hostTag.toLowerCase();\r\n if (hostTag !== 'input' && hostTag !== 'textarea') {\r\n console.warn(`CoreUI [cFormControl] works with '<input>' and '<texarea>' - not with '<${hostTag}>'`);\r\n }\r\n }\r\n\r\n}\r\n","import { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cFormText]'\r\n})\r\nexport class FormTextDirective {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'form-text': true,\r\n };\r\n }\r\n\r\n constructor() { }\r\n}\r\n","import { Directive, HostBinding, Input } from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\n@Directive({\r\n selector: '[cFormFloating]'\r\n})\r\nexport class FormFloatingDirective {\r\n\r\n static ngAcceptInputType_floating: BooleanInput;\r\n\r\n /**\r\n * Enable floating labels\r\n * @type boolean\r\n */\r\n @Input('cFormFloating')\r\n get floating(): boolean {\r\n return this._floating;\r\n }\r\n set floating(value: boolean) {\r\n this._floating = coerceBooleanProperty(value);\r\n }\r\n private _floating = true;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'form-floating': this.floating,\r\n };\r\n }\r\n\r\n constructor() { }\r\n\r\n}\r\n","import { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cInputGroupText]'\r\n})\r\nexport class InputGroupTextDirective {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'input-group-text': true,\r\n };\r\n }\r\n\r\n constructor() { }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormDirective } from './form/form.directive';\r\nimport { FormFeedbackComponent } from './form-feedback/form-feedback.component';\r\nimport { InputGroupComponent } from './input-group/input-group.component';\r\nimport { FormSelectDirective } from './form-select/form-select.directive';\r\nimport { FormLabelDirective } from './form-label/form-label.directive';\r\nimport { FormCheckComponent } from './form-check/form-check.component';\r\nimport { FormControlDirective } from './form-control/form-control.directive';\r\nimport { FormTextDirective } from './form-text/form-text.directive';\r\nimport { FormFloatingDirective } from './form-floating/form-floating.directive';\r\nimport { InputGroupTextDirective } from './input-group-text/input-group-text.directive';\r\nimport { FormCheckLabelDirective } from './form-check/form-check-label.directive';\r\nimport { FormCheckInputDirective } from './form-check/form-check-input.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n FormDirective,\r\n FormCheckComponent,\r\n FormControlDirective,\r\n FormFeedbackComponent,\r\n FormFloatingDirective,\r\n FormLabelDirective,\r\n FormSelectDirective,\r\n FormTextDirective,\r\n InputGroupComponent,\r\n InputGroupTextDirective,\r\n FormCheckLabelDirective,\r\n FormCheckInputDirective,\r\n ],\r\n imports: [CommonModule],\r\n exports: [\r\n FormDirective,\r\n FormCheckComponent,\r\n FormControlDirective,\r\n FormFeedbackComponent,\r\n FormFloatingDirective,\r\n FormLabelDirective,\r\n FormSelectDirective,\r\n FormTextDirective,\r\n InputGroupComponent,\r\n InputGroupTextDirective,\r\n FormCheckLabelDirective,\r\n FormCheckInputDirective\r\n ]\r\n})\r\nexport class FormModule {}\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\nimport { IContainer } from './container.type';\r\nimport { Breakpoints } from '../coreui.types';\r\n\r\n@Component({\r\n selector: 'c-container, [cContainer]',\r\n template: '<ng-content></ng-content>',\r\n styleUrls: ['./container.component.scss'],\r\n})\r\nexport class ContainerComponent implements IContainer{\r\n\r\n static ngAcceptInputType_fluid: BooleanInput;\r\n\r\n /**\r\n * Set container 100% wide until a breakpoint.\r\n */\r\n @Input() breakpoint: Exclude<Breakpoints, 'xs'> = '';\r\n /**\r\n * Set container 100% wide, spanning the entire width of the viewport.\r\n */\r\n @Input()\r\n set fluid(value: boolean) {\r\n this._fluid = coerceBooleanProperty(value);\r\n };\r\n get fluid(): boolean {\r\n return this._fluid;\r\n }\r\n private _fluid = false;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n container: !this.fluid && !this.breakpoint,\r\n 'container-fluid': this.fluid,\r\n [`container-${this.breakpoint}`]: !!this.breakpoint,\r\n };\r\n }\r\n}\r\n","import { Directive, HostBinding, Input } from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty, coerceNumberProperty, NumberInput } from '@angular/cdk/coercion';\r\n\r\nimport { ColOrder, ICol } from './col.type';\r\nimport { BreakpointInfix } from '../coreui.types';\r\n\r\n@Directive({\r\n selector: '[cCol]'\r\n})\r\nexport class ColDirective implements ICol {\r\n\r\n static ngAcceptInputType_cCol: (BooleanInput | NumberInput);\r\n static ngAcceptInputType_xs: (BooleanInput | NumberInput);\r\n static ngAcceptInputType_sm: (BooleanInput | NumberInput);\r\n static ngAcceptInputType_md: (BooleanInput | NumberInput);\r\n static ngAcceptInputType_lg: (BooleanInput | NumberInput);\r\n static ngAcceptInputType_xl: (BooleanInput | NumberInput);\r\n static ngAcceptInputType_xxl: (BooleanInput | NumberInput);\r\n\r\n /**\r\n * The number of columns/offset/order on extra small devices (<576px).\r\n * @type { 'auto' | number | boolean }\r\n */\r\n @Input()\r\n set cCol(value: (BooleanInput | NumberInput)) {\r\n this.xs = this.xs || this.coerceInput(value);\r\n }\r\n @Input()\r\n set xs(value) {\r\n this._xs = this.coerceInput(value);\r\n }\r\n get xs(): (BooleanInput | NumberInput) {\r\n return this._xs;\r\n }\r\n private _xs: (BooleanInput | NumberInput) = false;\r\n\r\n /**\r\n * The number of columns/offset/order on small devices (<768px).\r\n * @type { 'auto' | number | boolean }\r\n */\r\n @Input()\r\n set sm(value) {\r\n this._sm = this.coerceInput(value);\r\n }\r\n get sm(): (BooleanInput | NumberInput) {\r\n return this._sm;\r\n }\r\n private _sm: (BooleanInput | NumberInput) = false;\r\n\r\n /**\r\n * The number of columns/offset/order on medium devices (<992px).\r\n * @type { 'auto' | number | boolean }\r\n */\r\n @Input()\r\n set md(value) {\r\n this._md = this.coerceInput(value);\r\n }\r\n get md(): (BooleanInput | NumberInput) {\r\n return this._md;\r\n }\r\n private _md: (BooleanInput | NumberInput) = false;\r\n\r\n /**\r\n * The number of columns/offset/order on large devices (<1200px).\r\n * @type { 'auto' | number | boolean }\r\n */\r\n @Input()\r\n set lg(value) {\r\n this._lg = this.coerceInput(value);\r\n }\r\n get lg(): (BooleanInput | NumberInput) {\r\n return this._lg;\r\n }\r\n private _lg: (BooleanInput | NumberInput) = false;\r\n\r\n /**\r\n * The number of columns/offset/order on X-Large devices (<1400px).\r\n * @type { 'auto' | number | boolean }\r\n */\r\n @Input()\r\n set xl(value) {\r\n this._xl = this.coerceInput(value);\r\n }\r\n get xl(): (BooleanInput | NumberInput) {\r\n return this._xl;\r\n }\r\n private _xl: (BooleanInput | NumberInput) = false;\r\n\r\n /**\r\n * The number of columns/offset/order on XX-Large devices (≥1400px).\r\n * @type { 'auto' | number | boolean }\r\n */\r\n @Input()\r\n set xxl(value) {\r\n this._xxl = this.coerceInput(value);\r\n }\r\n get xxl(): (BooleanInput | NumberInput) {\r\n return this._xxl;\r\n }\r\n private _xxl: (BooleanInput | NumberInput) = false;\r\n\r\n @Input() offset?: (number | { 'xs'?: number, sm?: number, md?: number, lg?: number, xl?: number, xxl?: number });\r\n @Input() order?: (ColOrder | { xs?: ColOrder, sm?: ColOrder, md?: ColOrder, lg?: ColOrder, xl?: ColOrder, xxl?: ColOrder });\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n\r\n const classes: any = {\r\n col: true\r\n };\r\n\r\n Object.keys(BreakpointInfix).forEach((breakpoint) => {\r\n // @ts-ignore\r\n const value: number | string | boolean = this[breakpoint];\r\n const infix = breakpoint === 'xs' ? '' : `-${breakpoint}`;\r\n classes[`col${infix}`] = value === true;\r\n classes[`col${infix}-${value}`] = (typeof value === 'number') || (typeof value === 'string');\r\n });\r\n\r\n if (typeof this.offset === 'object') {\r\n const offset = { ...this.offset };\r\n Object.entries(offset).forEach((entry) => {\r\n const [breakpoint, value] = [...entry];\r\n const infix = breakpoint === 'xs' ? '' : `-${breakpoint}`;\r\n classes[`offset${infix}-${value}`] = value >= 0 && value <= 11;\r\n });\r\n } else {\r\n classes[`offset-${this.offset}`] = (typeof this.offset === 'number') && this.offset > 0 && this.offset <= 11;\r\n }\r\n\r\n if (typeof this.order === 'object') {\r\n const order = { ...this.order };\r\n Object.entries(order).forEach((entry) => {\r\n const [breakpoint, value] = [...entry];\r\n const infix = breakpoint === 'xs' ? '' : `-${breakpoint}`;\r\n classes[`order${infix}-${value}`] = value;\r\n });\r\n } else {\r\n classes[`order-${this.order}`] = !!this.order;\r\n }\r\n\r\n // if there is no 'col' class, add one\r\n classes.col = (!Object.entries(classes).filter(i => i[0].startsWith('col-') && i[1]).length) || this.xs === true;\r\n return classes;\r\n }\r\n\r\n coerceInput(value: (BooleanInput | NumberInput)) {\r\n if (value === 'auto') {\r\n return value;\r\n }\r\n if (value === '' || value === undefined || value === null) {\r\n return coerceBooleanProperty(value);\r\n }\r\n if (typeof value === 'boolean') {\r\n return value;\r\n }\r\n return coerceNumberProperty(value);\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\nimport { ColDirective } from './col.directive';\r\n\r\n@Component({\r\n selector: 'c-col',\r\n template: '<ng-content></ng-content>',\r\n styleUrls: ['./col.component.scss'],\r\n})\r\nexport class ColComponent extends ColDirective {}\r\n","import { Directive, HostBinding, Input } from '@angular/core';\r\n\r\nimport { BreakpointInfix } from '../coreui.types';\r\nimport { IRow, NumberOfColumns } from './row.type';\r\n\r\n@Directive({\r\n selector: '[cRow]'\r\n})\r\nexport class RowDirective implements IRow {\r\n /**\r\n * The number of columns/offset/order on extra small devices (<576px).\r\n * @type {{ cols: 'auto' | number }\r\n */\r\n @Input() xs?: NumberOfColumns;\r\n /**\r\n * The number of columns/offset/order on small devices (<768px).\r\n * @type {{ cols: 'auto' | number }\r\n */\r\n @Input() sm?: NumberOfColumns;\r\n /**\r\n * The number of columns/offset/order on medium devices (<992px).\r\n * @type {{ cols: 'auto' | number }\r\n */\r\n @Input() md?: NumberOfColumns;\r\n /**\r\n * The number of columns/offset/order on large devices (<1200px).\r\n * @type {{ cols: 'auto' | number }\r\n */\r\n @Input() lg?: NumberOfColumns;\r\n /**\r\n * The number of columns/offset/order on X-Large devices (<1400px).\r\n * @type {{ cols: 'auto' | number }\r\n */\r\n @Input() xl?: NumberOfColumns;\r\n /**\r\n * The number of columns/offset/order on XX-Large devices (≥1400px).\r\n * @type {{ cols: 'auto' | number }\r\n */\r\n @Input() xxl?: NumberOfColumns;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n\r\n const cols = this.xs;\r\n\r\n const classes: any = {\r\n row: true,\r\n [`row-cols-${cols}`]: !!cols,\r\n };\r\n\r\n Object.keys(BreakpointInfix).forEach(breakpoint => {\r\n // @ts-ignore\r\n const value: any = this[breakpoint];\r\n if ((typeof value === 'number') || (typeof value === 'string')) {\r\n const infix: string = breakpoint === 'xs' ? '' : breakpoint;\r\n classes[`row-cols-${infix}-${value}`] = !!value;\r\n }\r\n });\r\n\r\n return classes;\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\nimport { RowDirective } from './row.directive';\r\n\r\n@Component({\r\n selector: 'c-row',\r\n template: '<ng-content></ng-content>',\r\n styleUrls: ['./row.component.scss'],\r\n})\r\nexport class RowComponent extends RowDirective {}\r\n","import { Directive, HostBinding, Input } from '@angular/core';\r\n\r\nimport { BreakpointInfix } from '../coreui.types';\r\nimport { GutterBreakpoints, Gutters, IGutter, IGutterObject } from './gutter.type';\r\n\r\n@Directive({\r\n // eslint-disable-next-line @angular-eslint/directive-selector\r\n selector: '[gutter]'\r\n})\r\nexport class GutterDirective implements IGutter {\r\n /**\r\n * Define padding between columns to space and align content responsively in the Bootstrap grid system.\r\n */\r\n @Input() gutter: (IGutterObject | GutterBreakpoints | Gutters) = {};\r\n\r\n constructor() { }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n\r\n let gutterClass: any;\r\n\r\n if (typeof this.gutter === 'number') {\r\n gutterClass = GutterDirective.getGutterClasses({ g: this.gutter });\r\n return gutterClass;\r\n }\r\n\r\n {\r\n // @ts-ignore\r\n const { g, gx, gy } = { ...this.gutter };\r\n gutterClass = GutterDirective.getGutterClasses({ g, gx, gy });\r\n }\r\n\r\n Object.keys(BreakpointInfix).forEach(key => {\r\n // @ts-ignore\r\n const gutter = this.gutter[key] ? { ...this.gutter[key] } : undefined;\r\n if (gutter) {\r\n const classes = GutterDirective.getGutterClasses(gutter, key);\r\n gutterClass = { ...gutterClass, ...classes };\r\n }\r\n });\r\n return gutterClass;\r\n }\r\n\r\n private static getGutterClasses(gutter: IGutterObject, breakpoint?: string): any {\r\n const { g, gx, gy } = { ...gutter };\r\n const infix = breakpoint ? `-${breakpoint}` : '';\r\n return {\r\n [`g${infix}-${g}`]: typeof g === 'number',\r\n [`gx${infix}-${gx}`]: typeof gx === 'number',\r\n [`gy${infix}-${gy}`]: typeof gy === 'number'\r\n };\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { ContainerComponent } from './container.component';\r\nimport { RowComponent } from './row.component';\r\nimport { ColComponent } from './col.component';\r\nimport { RowDirective } from './row.directive';\r\nimport { ColDirective } from './col.directive';\r\nimport { GutterDirective } from './gutter.directive';\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n exports: [\r\n ContainerComponent,\r\n RowComponent,\r\n ColComponent,\r\n GutterDirective,\r\n RowDirective,\r\n ColDirective,\r\n ],\r\n declarations: [\r\n ContainerComponent,\r\n RowComponent,\r\n ColComponent,\r\n RowDirective,\r\n ColDirective,\r\n GutterDirective,\r\n ],\r\n providers: [],\r\n})\r\nexport class GridModule {}\r\n","import {Component, Input, HostBinding} from '@angular/core';\r\n\r\nimport { Positions } from '../../coreui.types';\r\ntype Container = boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'fluid';\r\n\r\n@Component({\r\n selector: 'c-header, [c-header]',\r\n templateUrl: './header.component.html'\r\n})\r\nexport class HeaderComponent {\r\n /**\r\n * Defines optional container wrapping children elements.\r\n */\r\n @Input() container?: Container;\r\n /**\r\n * Place header in non-static positions.\r\n */\r\n @Input() position?: Positions;\r\n /**\r\n * Default role for header. [docs]\r\n * @type string\r\n * @default 'header'\r\n */\r\n @HostBinding('attr.role')\r\n @Input() role = 'header';\r\n\r\n @HostBinding('class')\r\n get getClasses(): any {\r\n return !!this.container ? this.containerClasses : this.headerClasses;\r\n }\r\n\r\n get headerClasses(): any {\r\n return {\r\n header: true,\r\n [`header-${this.position}`]: !!this.position,\r\n };\r\n }\r\n\r\n get containerClasses(): any {\r\n return {\r\n container: this.container === true,\r\n [`container-${this.container}`]: typeof this.container === 'string'\r\n };\r\n }\r\n}\r\n","<div [class]=\"headerClasses\" *ngIf=\"!!container; else elseBlock\">\r\n <ng-content></ng-content>\r\n</div>\r\n<ng-template #elseBlock>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n\r\n\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-header-brand',\r\n template: `<ng-content></ng-content>`\r\n})\r\nexport class HeaderBrandComponent {\r\n /**\r\n * Default role for header-brand. [docs]\r\n * @type string\r\n * @default 'button'\r\n */\r\n @HostBinding('attr.role')\r\n @Input() role = 'button';\r\n\r\n @HostBinding('class.header-brand') headerBrandClass = true;\r\n}\r\n","import { Component, HostBinding } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-header-divider, [cHeaderDivider]',\r\n template: ``\r\n})\r\nexport class HeaderDividerComponent {\r\n\r\n @HostBinding('class.header-divider') headerDividerClass = true;\r\n\r\n}\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-header-nav',\r\n template: `<ng-content></ng-content>`,\r\n styleUrls: ['./header-nav.component.scss']\r\n})\r\nexport class HeaderNavComponent {\r\n /**\r\n * Default role for header-nav. [docs]\r\n * @type string\r\n * @default 'navigation'\r\n */\r\n @HostBinding('attr.role')\r\n @Input() role = 'navigation';\r\n\r\n @HostBinding('class.header-nav') headerNavClass = true;\r\n}\r\n","import { Component, HostBinding } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-header-text, [cHeaderText]',\r\n template: `<ng-content></ng-content>`,\r\n})\r\nexport class HeaderTextComponent {\r\n @HostBinding('class.header-text') headerTextClass = true;\r\n}\r\n","import { AfterContentInit, Directive, ElementRef, HostBinding, Input, Renderer2 } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cHeaderToggler]'\r\n})\r\nexport class HeaderTogglerDirective implements AfterContentInit {\r\n\r\n @HostBinding('class.header-toggler') headerToggler = true;\r\n /**\r\n * Default role for header-toggler. [docs]\r\n * @type string\r\n * @default 'button'\r\n */\r\n @HostBinding('attr.type')\r\n @Input() type = 'button';\r\n /**\r\n * Default aria-label attr for header-toggler. [docs]\r\n * @type string\r\n * @default 'Toggle navigation'\r\n */\r\n @HostBinding('attr.aria-label')\r\n @Input() ariaLabel = 'Toggle navigation';\r\n\r\n private hasContent!: boolean;\r\n\r\n constructor(\r\n private renderer: Renderer2,\r\n private hostElement: ElementRef\r\n ) { }\r\n\r\n addDefaultIcon(): void {\r\n const span = this.renderer.createElement('span');\r\n this.renderer.addClass(span, 'header-toggler-icon');\r\n this.renderer.appendChild(this.hostElement.nativeElement, span);\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.hasContent = this.hostElement.nativeElement.childNodes.length > 0;\r\n if (!this.hasContent) {\r\n this.addDefaultIcon();\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { HeaderComponent } from './header/header.component';\r\nimport { HeaderBrandComponent } from './header-brand/header-brand.component';\r\nimport { HeaderDividerComponent } from './header-divider/header-divider.component';\r\nimport { HeaderNavComponent } from './header-nav/header-nav.component';\r\nimport { HeaderTextComponent } from './header-text/header-text.component';\r\nimport { HeaderTogglerDirective } from './header-toggler/header-toggler.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n HeaderComponent,\r\n HeaderBrandComponent,\r\n HeaderDividerComponent,\r\n HeaderNavComponent,\r\n HeaderTextComponent,\r\n HeaderTogglerDirective\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n HeaderComponent,\r\n HeaderBrandComponent,\r\n HeaderDividerComponent,\r\n HeaderNavComponent,\r\n HeaderTextComponent,\r\n HeaderTogglerDirective\r\n ]\r\n})\r\nexport class HeaderModule { }\r\n","import { Directive, HostBinding, Input } from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\n@Directive({\r\n selector: '[cImg]'\r\n})\r\nexport class ImgDirective {\r\n static ngAcceptInputType_fluid: BooleanInput;\r\n static ngAcceptInputType_rounded: BooleanInput;\r\n static ngAcceptInputType_thumbnail: BooleanInput;\r\n\r\n /**\r\n * Set the horizontal aligment.\r\n * @type {'' | 'start' | 'end' | 'center'}\r\n */\r\n @Input() align: '' | 'start' | 'end' | 'center' = '';\r\n\r\n /**\r\n * Make image responsive.\r\n * @type boolean\r\n */\r\n @Input()\r\n set fluid(value: boolean) {\r\n this._fluid = coerceBooleanProperty(value);\r\n };\r\n get fluid() {\r\n return this._fluid;\r\n }\r\n private _fluid = false;\r\n\r\n /**\r\n * Make image rounded.\r\n * @type boolean\r\n */\r\n @Input()\r\n set rounded(value: boolean){\r\n this._rounded = coerceBooleanProperty(value);\r\n };\r\n get rounded() {\r\n return this._rounded;\r\n }\r\n private _rounded = false;\r\n\r\n /**\r\n * Give an image a rounded 1px border appearance.\r\n * @type boolean\r\n */\r\n @Input()\r\n set thumbnail(value: boolean) {\r\n this._thumbnail = coerceBooleanProperty(value);\r\n };\r\n get thumbnail() {\r\n return this._thumbnail;\r\n }\r\n private _thumbnail = false;\r\n\r\n /**\r\n * Color for image placeholder.\r\n */\r\n @Input() placeholderColor = 'transparent';\r\n\r\n @HostBinding('style')\r\n get getStyles(): any {\r\n return {backgroundColor: this.placeholderColor};\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n const align = this.align;\r\n return {\r\n [`float-${align}`]: align === 'start' || align === 'end',\r\n 'd-block': align === 'center',\r\n 'mx-auto': align === 'center',\r\n 'img-fluid': this.fluid,\r\n 'rounded': this.rounded,\r\n 'img-thumbnail': this.thumbnail,\r\n };\r\n }\r\n\r\n constructor() {}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ImgDirective } from './img.directive';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n ImgDirective\r\n ],\r\n declarations: [\r\n ImgDirective\r\n ],\r\n})\r\nexport class ImgModule { }\r\n","import {Directive, HostBinding, Input} from '@angular/core';\r\nimport { Sizes } from '../coreui.types';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\n@Directive({\r\n selector: '[cListGroup]'\r\n})\r\nexport class ListGroupDirective {\r\n static ngAcceptInputType_flush: BooleanInput;\r\n\r\n /**\r\n * Remove some borders and rounded corners to render list group items edge-to-edge in a parent component (e.g., `<CCard>`).\r\n * @type boolean\r\n */\r\n @Input()\r\n set flush(value: boolean) {\r\n this._flush = coerceBooleanProperty(value);\r\n };\r\n get flush() {\r\n return this._flush;\r\n }\r\n private _flush = false;\r\n /**\r\n * Specify horizontal layout type.\r\n */\r\n @Input() horizontal?: boolean | Sizes;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n const classes = {\r\n 'list-group': true,\r\n 'list-group-horizontal': this.horizontal === true || this.horizontal === '',\r\n [`list-group-horizontal-${this.horizontal}`]: !!this.horizontal && typeof this.horizontal !== 'boolean',\r\n 'list-group-flush': this.flush,\r\n };\r\n return classes;\r\n }\r\n\r\n constructor( ) { }\r\n\r\n}\r\n\r\n","import { Directive, ElementRef, HostBinding, Input } from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { Colors } from '../coreui.types';\r\n\r\n@Directive({\r\n selector: '[cListGroupItem], c-list-group-item',\r\n exportAs: 'cListGroupItem'\r\n})\r\nexport class ListGroupItemDirective {\r\n\r\n static ngAcceptInputType_disabled: BooleanInput;\r\n\r\n /**\r\n * Toggle the active state for the component.\r\n * @type boolean\r\n */\r\n @Input() active?: boolean;\r\n\r\n /**\r\n * Sets the color context of the component to one of CoreUI’s themed colors.\r\n * @type Colors\r\n */\r\n @Input() color?: Colors;\r\n\r\n /**\r\n * Set disabled attr for the host element. [docs]\r\n * @type boolean\r\n */\r\n @Input()\r\n get disabled(): boolean {\r\n return this._disabled;\r\n }\r\n set disabled(value: boolean) {\r\n this._disabled = coerceBooleanProperty(value);\r\n }\r\n private _disabled = false;\r\n\r\n @HostBinding('attr.aria-disabled')\r\n get isDisabled(): boolean | null {\r\n return this.disabled || null;\r\n }\r\n\r\n @HostBinding('attr.disabled')\r\n get attrDisabled() {\r\n return this.disabled ? '' : null;\r\n };\r\n\r\n @HostBinding('attr.tabindex')\r\n get getTabindex(): string | null {\r\n return this.disabled ? '-1' : null;\r\n }\r\n\r\n @HostBinding('attr.aria-current') get ariaCurrent(): boolean {\r\n return !!this.active;\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n const host: HTMLElement = this.hostElement.nativeElement;\r\n return {\r\n 'list-group-item': true,\r\n 'list-group-item-action': host.nodeName === 'A' || host.nodeName === 'BUTTON',\r\n active: !!this.active,\r\n disabled: this.isDisabled,\r\n [`list-group-item-${this.color}`]: !!this.color\r\n };\r\n }\r\n\r\n constructor(\r\n private hostElement: ElementRef\r\n ) { }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { ListGroupDirective } from './list-group.directive';\r\nimport { ListGroupItemDirective } from './list-group-item.directive';\r\n\r\n@NgModule({\r\n declarations: [ListGroupDirective, ListGroupItemDirective],\r\n exports: [\r\n ListGroupDirective,\r\n ListGroupItemDirective\r\n ],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class ListGroupModule { }\r\n","import { Component, EventEmitter, HostBinding, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\r\nimport { ButtonDirective } from '../button';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\n@Component({\r\n selector: 'button[cLoadingButton], a[cLoadingButton]',\r\n templateUrl: './loading-button.component.html',\r\n styleUrls: ['./loading-button.component.scss'],\r\n exportAs: 'cLoadingButton'\r\n})\r\nexport class LoadingButtonComponent extends ButtonDirective implements OnChanges {\r\n\r\n static ngAcceptInputType_disabledOnLoading: BooleanInput;\r\n\r\n /**\r\n * Makes button disabled when loading.\r\n * @type boolean\r\n */\r\n @Input()\r\n set disabledOnLoading(value: boolean) {\r\n this._disabledOnLoading = coerceBooleanProperty(value);\r\n };\r\n get disabledOnLoading() {\r\n return this._disabledOnLoading;\r\n }\r\n _disabledOnLoading = false;\r\n\r\n /**\r\n * Loading state (set to true to start animation).\r\n * @type boolean\r\n */\r\n @Input()\r\n set loading(value: boolean) {\r\n const newValue = coerceBooleanProperty(value);\r\n if (this._loading !== newValue) {\r\n this._loading = newValue;\r\n this.loadingChange.emit(newValue);\r\n }\r\n };\r\n get loading() {\r\n return this._loading;\r\n }\r\n _loading = false;\r\n\r\n /**\r\n * Sets type of spinner.\r\n * @type {'border' | 'grow'}\r\n */\r\n @Input() spinnerType: 'border' | 'grow' = 'border';\r\n\r\n /**\r\n * Event emitted on loading change\r\n * @type boolean\r\n */\r\n @Output() loadingChange: EventEmitter<boolean> = new EventEmitter();\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n @HostBinding('class')\r\n override get hostClasses() {\r\n return {\r\n 'btn-loading': true,\r\n 'is-loading': this.loading,\r\n disabled: this.disabledOnLoading && this.loading,\r\n btn: true,\r\n [`btn-${this.color}`]: !!this.color && !this.variant,\r\n [`btn-${this.variant}`]: !!this.variant && !this.color,\r\n [`btn-${this.variant}-${this.color}`]: !!this.variant && !!this.color,\r\n [`btn-${this.size}`]: !!this.size,\r\n active: this.active\r\n };\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['loading'] && !changes['loading']?.isFirstChange()) {\r\n this.disabled = this.disabledOnLoading && changes['loading'].currentValue;\r\n }\r\n }\r\n}\r\n","<c-spinner [variant]=\"spinnerType\" size=\"sm\" class=\"btn-loading-spinner\"></c-spinner>\r\n<ng-content></ng-content>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LoadingButtonComponent } from './loading-button.component';\r\nimport { SpinnerModule } from '../spinner';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n LoadingButtonComponent\r\n ],\r\n exports: [\r\n LoadingButtonComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n SpinnerModule\r\n ]\r\n})\r\nexport class LoadingButtonModule { }\r\n","import { Component, HostBinding } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-multi-select-optgroup-label',\r\n templateUrl: './multi-select-optgroup-label.component.html',\r\n styleUrls: ['./multi-select-optgroup-label.component.scss']\r\n})\r\nexport class MultiSelectOptgroupLabelComponent {\r\n\r\n constructor() { }\r\n\r\n @HostBinding('class') get hostClasses() {\r\n return {\r\n 'form-multi-select-optgroup-label': true\r\n };\r\n }\r\n}\r\n","<ng-content></ng-content>\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class MultiSelectService {\r\n constructor() {}\r\n\r\n private multiSelectState = new BehaviorSubject<any>({});\r\n multiSelectState$ = this.multiSelectState.asObservable();\r\n\r\n private multiSelectVisible = new BehaviorSubject<boolean>(false);\r\n multiSelectVisible$ = this.multiSelectVisible.asObservable();\r\n\r\n toggleOption(option: any): void {\r\n this.multiSelectState.next(option);\r\n }\r\n\r\n toggleVisible(visible: boolean): void {\r\n this.multiSelectVisible.next(visible);\r\n }\r\n}\r\n\r\n","import {\r\n AfterContentInit,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n Renderer2,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { FocusableOption, FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { MultiSelectService } from '../multi-select.service';\r\n\r\n@Component({\r\n selector: 'c-multi-select-option',\r\n templateUrl: './multi-select-option.component.html',\r\n styleUrls: ['./multi-select-option.component.scss']\r\n})\r\nexport class MultiSelectOptionComponent implements AfterContentInit, FocusableOption, OnInit, OnDestroy {\r\n\r\n constructor(\r\n private elementRef: ElementRef,\r\n private renderer: Renderer2,\r\n private changeDetectorRef: ChangeDetectorRef,\r\n private focusMonitor: FocusMonitor,\r\n private multiSelectService: MultiSelectService\r\n ) { }\r\n\r\n static ngAcceptInputType_disabled: BooleanInput;\r\n static ngAcceptInputType_selected: BooleanInput;\r\n\r\n @Input() optionsStyle: ('checkbox' | 'text') = 'checkbox';\r\n @Input() label?: string;\r\n @Input() value?: string;\r\n @Input() visible: boolean = true;\r\n @Output() selectedChange = new EventEmitter<boolean>();\r\n\r\n @ViewChild('contentDiv') content?: ElementRef;\r\n\r\n public hasContent = true;\r\n\r\n private multiselectVisibleSubscription!: Subscription;\r\n private dropdownVisible = false;\r\n\r\n @Input()\r\n set disabled(value: boolean) {\r\n this._disabled = coerceBooleanProperty(value);\r\n }\r\n get disabled() {\r\n return this._disabled;\r\n }\r\n private _disabled = false;\r\n\r\n @Input()\r\n set selected(value: (boolean | undefined)) {\r\n const newValue = coerceBooleanProperty(value);\r\n if (this._selected !== newValue) {\r\n this._selected = newValue;\r\n this.selectedChange.emit(newValue);\r\n this.multiSelectService.toggleOption(this);\r\n }\r\n }\r\n get selected() {\r\n return this._selected;\r\n }\r\n private _selected = false;\r\n\r\n @HostBinding('class')\r\n get hostClasses() {\r\n return {\r\n 'form-multi-select-option': true,\r\n 'form-multi-selected': this.selected,\r\n [`form-multi-select-option-with-${this.optionsStyle}`]: !!this.optionsStyle,\r\n disabled: this.disabled,\r\n 'd-none': !this.visible\r\n };\r\n }\r\n\r\n @HostBinding('attr.tabindex')\r\n private get tabIndex() {\r\n return this.disabled ? '-1' : '0';\r\n }\r\n\r\n @HostBinding('attr.disabled')\r\n @HostBinding('attr.aria-disabled')\r\n private get ariaDisabled() {\r\n return this.disabled || null;\r\n }\r\n\r\n @HostBinding('attr.aria-selected')\r\n private get ariaSelected() {\r\n return this.selected;\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown($event: KeyboardEvent): void {\r\n if (['Enter', ' '].includes($event.key)) {\r\n $event.preventDefault();\r\n this.selected = this.disabled ? this.selected : !this.selected;\r\n this.focus('keyboard');\r\n }\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n private onClick(): void {\r\n this.selected = this.disabled ? this.selected : !this.selected;\r\n this.focus('mouse');\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n setTimeout(() => {\r\n this.hasContent = !!this.content?.nativeElement.childNodes.length;\r\n });\r\n if (!this.label) {\r\n this.label = this.elementRef.nativeElement.innerText || this.value;\r\n }\r\n if (this.value === undefined) {\r\n this.value = this.elementRef.nativeElement.innerText || this.label;\r\n }\r\n }\r\n\r\n getLabel(): string {\r\n return <string>(this.label ?? this.value);\r\n }\r\n\r\n focus(origin?: FocusOrigin): void {\r\n if (this.dropdownVisible) {\r\n this.focusMonitor.focusVia(this.elementRef, origin ?? 'program', {preventScroll: false});\r\n this.changeDetectorRef.markForCheck();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.multiselectVisibleSubscription.unsubscribe();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.multiselectVisibleSubscription = this.multiSelectService.multiSelectVisible$.subscribe(visible => {\r\n this.dropdownVisible = visible;\r\n });\r\n }\r\n}\r\n","<div #contentDiv><ng-content></ng-content></div>\r\n<div *ngIf=\"!hasContent\">\r\n {{label ?? value}}\r\n</div>\r\n\r\n","import {\r\n AfterContentInit,\r\n Component,\r\n ContentChildren,\r\n HostBinding,\r\n Input,\r\n OnChanges,\r\n QueryList,\r\n SimpleChanges\r\n} from '@angular/core';\r\n\r\nimport { MultiSelectOptionComponent } from '../multi-select-option/multi-select-option.component';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\n@Component({\r\n selector: 'c-multi-select-optgroup',\r\n templateUrl: './multi-select-optgroup.component.html',\r\n styleUrls: ['./multi-select-optgroup.component.scss']\r\n})\r\nexport class MultiSelectOptgroupComponent implements AfterContentInit, OnChanges {\r\n\r\n static ngAcceptInputType_disabled: BooleanInput;\r\n\r\n @Input() label?: string;\r\n @Input()\r\n set disabled(value: boolean) {\r\n this._disabled = coerceBooleanProperty(value);\r\n }\r\n get disabled(): boolean {\r\n return this._disabled;\r\n }\r\n private _disabled: boolean = false;\r\n\r\n @ContentChildren(MultiSelectOptionComponent, { descendants: true }) multiSelectOptions!: QueryList<MultiSelectOptionComponent>;\r\n\r\n @HostBinding('class') get hostClasses() {\r\n return {\r\n 'form-multi-select-options': true\r\n };\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.updateMultiSelectOptions();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['disabled']) {\r\n this.updateMultiSelectOptions();\r\n }\r\n }\r\n\r\n private updateMultiSelectOptions() {\r\n this.multiSelectOptions?.forEach((option) => {\r\n option.disabled = this.disabled;\r\n });\r\n }\r\n}\r\n","<c-multi-select-optgroup-label *ngIf=\"label\">{{label}}</c-multi-select-optgroup-label>\r\n<ng-content></ng-content>\r\n","import { Component, EventEmitter, HostBinding, HostListener, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { IOption } from '../multi-select.type';\r\nimport { MultiSelectService } from '../multi-select.service';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'c-multi-select-tag',\r\n templateUrl: './multi-select-tag.component.html',\r\n styleUrls: ['./multi-select-tag.component.scss']\r\n})\r\nexport class MultiSelectTagComponent implements OnDestroy, OnInit {\r\n\r\n constructor(\r\n private multiSelectService: MultiSelectService\r\n ) { }\r\n\r\n private multiselectVisibleSubscription!: Subscription;\r\n public multiselectVisible: boolean = false;\r\n\r\n @Input() option?: IOption;\r\n\r\n @Output() remove = new EventEmitter<IOption>();\r\n\r\n @HostBinding('class')\r\n get hostClasses() {\r\n return {\r\n 'form-multi-select-tag': true\r\n };\r\n }\r\n\r\n ngOnInit(): void {\r\n this.multiselectSubscribe();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.multiselectSubscribe(false);\r\n }\r\n\r\n handleRemove($event: any): void {\r\n if (this.option) {\r\n this.option.selected = false;\r\n this.remove.emit(this.option as IOption);\r\n }\r\n }\r\n\r\n private multiselectSubscribe(subscribe: boolean = true) {\r\n if (subscribe) {\r\n this.multiselectVisibleSubscription =\r\n this.multiSelectService.multiSelectVisible$.subscribe((visible) => {\r\n setTimeout(() => {\r\n this.multiselectVisible = visible;\r\n })\r\n });\r\n } else {\r\n this.multiselectVisibleSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n}\r\n","<ng-template [ngIfElse]=\"elseContent\"\r\n [ngIf]=\"!!option\">{{option.label ?? option.value ?? 'undefined'}}</ng-template>\r\n<ng-template #elseContent>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n<button (click)=\"handleRemove($event)\" *ngIf=\"!option?.disabled\" [disabled]=\"!multiselectVisible\" aria-label=\"Clear\"\r\n cButtonClose class=\"form-multi-select-tag-delete close btn btn-xs\" type=\"button\">\r\n <span aria-hidden=\"true\" class=\"visually-hidden\">x</span>\r\n</button>\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-multi-select-native-select',\r\n templateUrl: './multi-select-native-select.component.html',\r\n styleUrls: ['./multi-select-native-select.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MultiSelectNativeSelectComponent {\r\n\r\n @Input() form?: string = '';\r\n @Input() id?: string = '';\r\n @Input() multiple?: boolean;\r\n @Input() name?: string;\r\n @Input() options?: any;\r\n @Input() disabled?: boolean;\r\n\r\n constructor(\r\n public changeDetectorRef: ChangeDetectorRef\r\n ) { }\r\n}\r\n","<select [multiple]=\"multiple\" [name]=\"name\" style=\"display: none\" tabindex=\"-1\" [id]=\"id\" [disabled]=\"disabled\">\r\n <option\r\n *ngFor=\"let option of options\"\r\n [label]=\"option.label\"\r\n [attr.selected]=\"option.selected ? '' : null\"\r\n [value]=\"option.value\"\r\n [disabled]=\"disabled\"\r\n tabindex=\"-1\"\r\n ></option>\r\n</select>\r\n\r\n","import {\r\n AfterContentInit,\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChildren,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n HostBinding,\r\n HostListener,\r\n Input,\r\n NgZone,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n QueryList,\r\n Renderer2,\r\n ViewChild,\r\n ViewContainerRef\r\n} from '@angular/core';\r\nimport { FocusKeyManager, FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\n\r\n// import { ListenersService } from '../../services/listeners.service';\r\nimport { IMultiSelect, IOption } from '../multi-select.type';\r\nimport { MultiSelectService } from '../multi-select.service';\r\nimport { MultiSelectOptionComponent } from '../multi-select-option/multi-select-option.component';\r\nimport { MultiSelectNativeSelectComponent } from '../multi-select-native-select/multi-select-native-select.component';\r\n\r\n// const flattenArray = (options: IOption[]): IOption[] => {\r\n// return options.reduce((acc: IOption[], val: IOption) => {\r\n// return acc.concat(Array.isArray(val.options) ? flattenArray(val.options) : val);\r\n// }, []);\r\n// };\r\n//\r\n// const getSelectedOptions = (options: IOption[]) => {\r\n// return flattenArray(options).filter((option: IOption) => {\r\n// if (option.selected) {\r\n// return option;\r\n// }\r\n// return;\r\n// });\r\n// };\r\n\r\ninterface IPluralMap {\r\n [k: string]: string;\r\n}\r\n\r\n@Component({\r\n selector: 'c-multi-select',\r\n templateUrl: './multi-select.component.html',\r\n styleUrls: ['./multi-select.component.scss'],\r\n exportAs: 'cMultiSelect',\r\n providers: [\r\n MultiSelectService,\r\n // ListenersService,\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => MultiSelectComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class MultiSelectComponent\r\n implements IMultiSelect, ControlValueAccessor, AfterContentInit, AfterViewInit, OnDestroy, OnInit {\r\n\r\n constructor(\r\n private elementRef: ElementRef,\r\n private renderer: Renderer2,\r\n private ngZone: NgZone,\r\n private changeDetectorRef: ChangeDetectorRef,\r\n private viewContainerRef: ViewContainerRef,\r\n private focusMonitor: FocusMonitor,\r\n private multiSelectService: MultiSelectService\r\n // private listenersService: ListenersService\r\n ) {}\r\n\r\n static ngAcceptInputType_multiple: BooleanInput;\r\n static ngAcceptInputType_disabled: BooleanInput;\r\n\r\n onChange: any = (value: any) => {};\r\n\r\n writeValue(value: (string | string[])): void {\r\n if (value !== null) {\r\n this.value = value;\r\n }\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n @Input() cleaner = true;\r\n\r\n @Input()\r\n set disabled(value: boolean) {\r\n this._disabled = coerceBooleanProperty(value);\r\n }\r\n get disabled(): boolean {\r\n return this._disabled;\r\n }\r\n private _disabled = false;\r\n\r\n @Input()\r\n set multiple(value: boolean) {\r\n this._multiple = coerceBooleanProperty(value);\r\n }\r\n get multiple(): boolean {\r\n return this._multiple;\r\n }\r\n private _multiple = false;\r\n\r\n @Input() nativeName = '';\r\n @Input() nativeId = '';\r\n // @Input() options = [];\r\n @Input() optionsMaxHeight = 'auto';\r\n @Input() optionsStyle: 'checkbox' | 'text' = 'checkbox';\r\n @Input() placeholder = 'Select...';\r\n @Input() search = true;\r\n @Input() searchNoResultsLabel = 'no items';\r\n @Input() selectAll = true;\r\n @Input() selectAllLabel = 'Select all options';\r\n @Input() selectionType: 'counter' | 'tags' | 'text' = 'tags';\r\n @Input() selectionTypeCounterText: string = 'item(s) selected';\r\n @Input() selectionTypeCounterTextPluralMap?: IPluralMap = { '=1': 'item selected', 'other': 'items selected' };\r\n\r\n @Input()\r\n set value(value: string | string[]) {\r\n const newValue = Array.isArray(value) ? [...value] : [value ?? ''];\r\n if (this._value.toString() !== newValue.toString()) {\r\n this._value = newValue;\r\n this.onChange(newValue);\r\n this.updateNativeSelect();\r\n this.valueChange.emit(this.value);\r\n }\r\n }\r\n get value() {\r\n return this.multiple ? [...this._value] : this._value[0]?.toString() ?? '';\r\n }\r\n private _value: string[] = [''];\r\n\r\n @Output() readonly valueChange = new EventEmitter<string | string[]>();\r\n\r\n @Input()\r\n set visible(value: boolean) {\r\n const newValue = coerceBooleanProperty(value);\r\n if (newValue !== this._visible) {\r\n this._visible = newValue;\r\n this.multiSelectService.toggleVisible(newValue);\r\n if (newValue) {\r\n this.listKeyManager.setFirstItemActive();\r\n }\r\n }\r\n }\r\n get visible() {\r\n return this._visible;\r\n }\r\n private _visible = false;\r\n\r\n @Output() readonly visibleChange = new EventEmitter<boolean>();\r\n\r\n isDropdownVisible = false;\r\n\r\n set selectedOptions(value) {\r\n this._selectedOptions = value;\r\n this.value = this.selectedOptions.map(item => item.value);\r\n this.inputElementSize();\r\n }\r\n get selectedOptions() {\r\n return this._selectedOptions;\r\n }\r\n private _selectedOptions: any[] = [];\r\n\r\n get selectedOptionsText() {\r\n return this.selectedOptions.map((option) => option.label).join(', ');\r\n }\r\n\r\n get counterText() {\r\n return `${this.selectedOptions.length} ${this.selectionTypeCounterText}`;\r\n }\r\n\r\n get counterTextType(): string {\r\n return typeof this.selectionTypeCounterTextPluralMap ?? typeof this.selectionTypeCounterText;\r\n };\r\n\r\n private multiselectStateSubscription!: Subscription;\r\n private multiselectVisibleSubscription!: Subscription;\r\n private multiSelectOptionsSubscription!: Subscription;\r\n private focusMonitorSubscription!: Subscription;\r\n\r\n @ContentChildren(MultiSelectOptionComponent, { descendants: true }) multiSelectOptions!: QueryList<MultiSelectOptionComponent>;\r\n\r\n private listKeyManager!: FocusKeyManager<MultiSelectOptionComponent>;\r\n\r\n @ViewChild('inputElement') inputElement!: ElementRef;\r\n @ViewChild('dropdownElement') dropdownElement!: ElementRef;\r\n\r\n @HostBinding('class') get hostClasses() {\r\n return {\r\n 'form-multi-select': true,\r\n 'form-multi-select-selection-tags': this.selectionType === 'tags',\r\n show: this.visible,\r\n disabled: this.disabled\r\n };\r\n }\r\n\r\n @HostBinding('attr.tabindex')\r\n private get tabIndex() {\r\n return this._tabIndex;\r\n }\r\n private set tabIndex(value) {\r\n setTimeout(() => {\r\n this._tabIndex = this.disabled || this.search ? '-1' : value === null ? null : '0';\r\n });\r\n }\r\n private _tabIndex: string | null = '-1';\r\n\r\n @HostListener('keyup', ['$event']) onKeyUp($event: KeyboardEvent): void {\r\n if (this.disabled) return;\r\n\r\n if ($event.key === 'Escape') {\r\n this.visible = false;\r\n this.searchValue = '';\r\n this.setFocus();\r\n return;\r\n }\r\n if (['Enter', ' ', 'ArrowDown'].includes($event.key) && [this.inputElement?.nativeElement ?? this.elementRef.nativeElement].includes($event.target)) {\r\n this.visible = true;\r\n if (!this.search) {\r\n this.setFocus();\r\n }\r\n return;\r\n }\r\n if ($event.key === 'Tab' && $event.target === this.elementRef.nativeElement) {\r\n this.visible = true;\r\n if (!this.search) {\r\n this.setFocus();\r\n }\r\n return;\r\n }\r\n }\r\n\r\n @HostListener('keydown', ['$event']) onKeyDown($event: KeyboardEvent) {\r\n if (this.disabled) return;\r\n // avoid setting focus to option while on input element\r\n if ($event.target===this.inputElement.nativeElement) return;\r\n this.listKeyManager.onKeydown($event);\r\n }\r\n\r\n @HostListener('click', ['$event']) onClick($event: MouseEvent): void {\r\n if (this.disabled) return;\r\n if (!this.visible) {\r\n this.visible = true;\r\n }\r\n }\r\n\r\n public visibleOptions = 0;\r\n\r\n set searchValue(value) {\r\n this._searchValue = value.trim();\r\n this.visible = !!this.searchValue.length || this.visible;\r\n this.filterOptions(this.searchValue);\r\n this.inputElementSize();\r\n }\r\n get searchValue() {\r\n return this._searchValue;\r\n }\r\n private _searchValue: string = '';\r\n\r\n get subtreeFocused() {\r\n return this._subtreeFocused;\r\n }\r\n set subtreeFocused(value: boolean) {\r\n this._subtreeFocused = this.disabled ? false : value;\r\n this.visible = value === false ? false : this.visible;\r\n }\r\n private _subtreeFocused = this.focusOrigin(null);\r\n\r\n private nativeSelectRef!: any;\r\n\r\n focusOrigin(origin: FocusOrigin): boolean {\r\n const focused = !!origin;\r\n this.searchValue = focused ? this.searchValue : '';\r\n return focused;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.tabIndex = '0';\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.multiselectSubscribe(false);\r\n // this.clearListeners();\r\n this.focusMonitor.stopMonitoring(this.elementRef);\r\n this.focusMonitorSubscription?.unsubscribe();\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.visibleOptions = this.multiSelectOptions.length;\r\n this.multiSelectOptions.forEach((option, index) => {\r\n option.optionsStyle = this.optionsStyle;\r\n option.selected = option.value !== undefined ? this.value.includes(option.value) || option.selected : option.selected;\r\n });\r\n this.selectedOptionsUpdate();\r\n this.inputElementSize();\r\n\r\n this.listKeyManager = new FocusKeyManager(this.multiSelectOptions).withHomeAndEnd().withTypeAhead();\r\n this.listKeyManager.skipPredicate(item => (!item.visible || item.disabled));\r\n this.listKeyManager.setFirstItemActive();\r\n this.multiselectSubscribe();\r\n this.createNativeSelect();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n // this.setListeners();\r\n this.focusMonitorSubscription = this.focusMonitor.monitor(this.elementRef, true).subscribe((origin) =>\r\n this.ngZone.run(() => {\r\n if (!this.disabled) {\r\n this.subtreeFocused = this.focusOrigin(origin);\r\n this.changeDetectorRef.markForCheck();\r\n }\r\n })\r\n );\r\n this.inputElementSize();\r\n }\r\n\r\n private multiselectSubscribe(subscribe: boolean = true) {\r\n if (subscribe) {\r\n this.multiselectVisibleSubscription = this.multiSelectService.multiSelectVisible$.subscribe(\r\n (visible) => {\r\n this.isDropdownVisible = visible;\r\n this.visibleChange.emit(visible);\r\n }\r\n );\r\n\r\n this.multiselectStateSubscription = this.multiSelectService.multiSelectState$.subscribe(\r\n (option) => {\r\n if (option.selected === true && !this.multiple) {\r\n const selectedOptions = this.multiSelectOptions.toArray().filter((item) => item.selected);\r\n selectedOptions.reverse().forEach((item) => {\r\n if (item !== option) {\r\n item.selected = false;\r\n }\r\n });\r\n }\r\n this.selectedOptionsUpdate();\r\n }\r\n );\r\n } else {\r\n this.multiselectVisibleSubscription?.unsubscribe();\r\n this.multiSelectOptionsSubscription?.unsubscribe();\r\n this.multiselectStateSubscription?.unsubscribe();\r\n }\r\n }\r\n\r\n clearAllOptions($event: MouseEvent) {\r\n this.selectedOptions.forEach((option) => {\r\n if (!option._disabled) option.selected = false;\r\n });\r\n this.setFocus();\r\n }\r\n\r\n selectAllOptions() {\r\n this.multiSelectOptions.forEach((option, index) => {\r\n if (!option.disabled) option.selected = true;\r\n });\r\n }\r\n\r\n // private setListeners() {\r\n // if (this.search) {\r\n // const configForInput: IListenersConfig = {\r\n // hostElement: this.inputElement ?? this.elementRef,\r\n // trigger: ['focus', 'click'],\r\n // callbackOn: () => {\r\n // console.log('focus input');\r\n // this.tabIndex = null;\r\n // // this.visible = true;\r\n // }\r\n // };\r\n // this.listenersService.setListeners(configForInput);\r\n // }\r\n //\r\n // const configForHost: IListenersConfig = {\r\n // hostElement: this.elementRef,\r\n // trigger: ['focus'],\r\n // callbackOn: () => {\r\n // console.log('focus');\r\n // if (this.inputElement) {\r\n // this.setFocus()\r\n // }\r\n // // this.inputElement?.nativeElement.focus();\r\n // },\r\n // callbackOff: () => {\r\n // console.log('blur');\r\n // }\r\n // };\r\n // this.listenersService.setListeners(configForHost);\r\n // }\r\n\r\n // private clearListeners() {\r\n // this.listenersService.clearListeners();\r\n // }\r\n\r\n handleTagRemove($event: IOption) {\r\n this.setFocus();\r\n }\r\n\r\n setFocus() {\r\n if (this.disabled) return;\r\n this.focusMonitor.focusVia(this.inputElement ?? this.elementRef, 'program');\r\n }\r\n\r\n // setFirstSelectedOptionActive() {\r\n // const firstSelectedOption = this.selectedOptions.find((item) => item.selected) ??\r\n // this.multiSelectOptions.find((item, index) => index === 0);\r\n // if (firstSelectedOption && this.isDropdownVisible) {\r\n // // this.listKeyManager.setFocusOrigin('keyboard');\r\n // this.listKeyManager.setActiveItem(firstSelectedOption);\r\n // this.changeDetectorRef.markForCheck();\r\n // } else {\r\n // // this.listKeyManager.setFocusOrigin('keyboard');\r\n // this.listKeyManager.setFirstItemActive();\r\n // this.changeDetectorRef.markForCheck();\r\n // }\r\n // }\r\n\r\n filterOptions(value: string) {\r\n const searchString = value.toLowerCase() ?? '';\r\n this.multiSelectOptions?.forEach((item, index) => {\r\n if (!!searchString) {\r\n item.visible = item.label?.toLowerCase().includes(searchString) ?? true;\r\n } else {\r\n item.visible = true;\r\n }\r\n });\r\n this.visibleOptions = this.multiSelectOptions?.filter((item) => item.visible).length;\r\n }\r\n\r\n createNativeSelect() {\r\n this.viewContainerRef.clear();\r\n this.nativeSelectRef = this.viewContainerRef.createComponent(MultiSelectNativeSelectComponent);\r\n this.updateNativeSelect();\r\n }\r\n\r\n updateNativeSelect() {\r\n if (!this.nativeSelectRef) return;\r\n\r\n const options = this.selectedOptions.map(item => {\r\n const { selected, value, label } = item;\r\n return { selected, value, label };\r\n });\r\n\r\n this.nativeSelectRef.instance.multiple = this.multiple;\r\n this.nativeSelectRef.instance.name = this.nativeName;\r\n this.nativeSelectRef.instance.form = this.nativeId;\r\n this.nativeSelectRef.instance.options = [...options];\r\n this.nativeSelectRef.instance.disabled = this.disabled;\r\n this.nativeSelectRef.instance.changeDetectorRef.detectChanges();\r\n }\r\n\r\n inputElementSize() {\r\n if (this.inputElement) {\r\n if (this.selectedOptions.length > 0 || this.selectionType === 'counter') {\r\n this.renderer.setAttribute(this.inputElement.nativeElement, 'size', (this.searchValue.length + 2).toString());\r\n } else {\r\n this.renderer.removeAttribute(this.inputElement.nativeElement, 'size');\r\n }\r\n }\r\n }\r\n\r\n handleSearchKeyDown($event: KeyboardEvent) {\r\n if (this.searchValue.length || this.selectedOptions.length === 0) return;\r\n\r\n if (['Backspace', 'Delete'].includes($event.key)) {\r\n $event.stopPropagation();\r\n const last = this.selectedOptions.filter(option => !option.disabled).pop();\r\n this.selectOption(last, false);\r\n }\r\n }\r\n\r\n private selectOption(option: MultiSelectOptionComponent, selected: boolean) {\r\n this.multiSelectOptions.forEach(item => {\r\n if (item === option) {\r\n option.selected = selected;\r\n }\r\n });\r\n this.selectedOptionsUpdate();\r\n }\r\n\r\n private selectedOptionsUpdate() {\r\n setTimeout(() => {\r\n this.selectedOptions = this.multiSelectOptions.filter((option) => !!option.selected);\r\n this.changeDetectorRef.markForCheck();\r\n })\r\n }\r\n}\r\n","<div class=\"form-multi-select-selection\">\r\n <ng-template [ngIf]=\"selectionType === 'tags'\">\r\n <c-multi-select-tag *ngFor=\"let option of selectedOptions; index as i\"\r\n (remove)=\"handleTagRemove($event)\"\r\n [option]=\"option\"\r\n tabindex=\"-1\">\r\n </c-multi-select-tag>\r\n </ng-template>\r\n <ng-template [ngIf]=\"selectionType === 'text' && !!selectedOptionsText\">\r\n <span>{{ selectedOptionsText }}</span>\r\n </ng-template>\r\n <ng-template [ngIf]=\"selectionType === 'counter'\">\r\n <span *ngIf=\"counterTextType === 'string'; else pluralMap\">{{ counterText }}</span>\r\n <ng-template #pluralMap>\r\n <span>{{selectedOptions.length}} {{ selectedOptions.length | i18nPlural: selectionTypeCounterTextPluralMap ?? { other: counterText } }}</span>\r\n </ng-template>\r\n </ng-template>\r\n <ng-template [ngIf]=\"!search && selectedOptions.length === 0 && selectionType !== 'counter'\">\r\n <span>{{ placeholder }}</span>\r\n </ng-template>\r\n</div>\r\n\r\n<input\r\n #inputElement\r\n (keydown)=\"handleSearchKeyDown($event)\"\r\n *ngIf=\"search && !disabled\"\r\n [(ngModel)]=\"searchValue\"\r\n [disabled]=\"disabled || !search\"\r\n [ngClass]=\"{ 'form-multi-select-search': true, disabled: disabled }\"\r\n [placeholder]=\"selectedOptions.length === 0 && selectionType !== 'counter' ? placeholder : ''\"\r\n autocomplete=\"off\"\r\n tabindex=\"{{ disabled ? '-1' : '0' }}\"\r\n type=\"text\"\r\n>\r\n\r\n<button\r\n (click)=\"clearAllOptions($event)\"\r\n *ngIf=\"cleaner && selectedOptions.length > 0 && !disabled\"\r\n [disabled]=\"disabled || !isDropdownVisible\"\r\n aria-label=\"Clear all\"\r\n cButtonClose\r\n class=\"form-multi-select-selection-cleaner\"\r\n size=\"sm\"\r\n></button>\r\n\r\n<div #dropdownElement *ngIf=\"!disabled\" class=\"form-multi-select-dropdown\">\r\n <ng-template [ngIfElse]=\"optionsEmpty\" [ngIf]=\"visibleOptions > 0\">\r\n <button (click)=\"selectAllOptions()\" *ngIf=\"selectAll && multiple\" class=\"form-multi-select-all\">\r\n {{ selectAllLabel }}\r\n </button>\r\n <div #multiselectOptionsDiv\r\n [ngStyle]=\"optionsMaxHeight !== 'auto' ? { 'maxHeight.px': optionsMaxHeight, overflow: 'scroll' } : {}\"\r\n class=\"form-multi-select-options\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n </ng-template>\r\n <ng-template #optionsEmpty>\r\n <div class=\"form-multi-select-options-empty\">{{ searchNoResultsLabel }}</div>\r\n </ng-template>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { A11yModule } from '@angular/cdk/a11y';\r\n\r\nimport { ButtonModule } from '../button';\r\n\r\nimport { MultiSelectService } from './multi-select.service';\r\nimport { MultiSelectComponent } from './multi-select/multi-select.component';\r\nimport { MultiSelectOptionComponent } from './multi-select-option/multi-select-option.component';\r\nimport { MultiSelectTagComponent } from './multi-select-tag/multi-select-tag.component';\r\nimport { MultiSelectOptgroupComponent } from './multi-select-optgroup/multi-select-optgroup.component';\r\nimport { MultiSelectOptgroupLabelComponent } from './multi-select-optgroup/multi-select-optgroup-label.component';\r\nimport { MultiSelectNativeSelectComponent } from './multi-select-native-select/multi-select-native-select.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n MultiSelectComponent,\r\n MultiSelectOptionComponent,\r\n MultiSelectOptgroupComponent,\r\n MultiSelectOptgroupLabelComponent,\r\n MultiSelectTagComponent,\r\n MultiSelectNativeSelectComponent\r\n ],\r\n imports: [CommonModule, A11yModule, ButtonModule, FormsModule],\r\n exports: [\r\n MultiSelectComponent,\r\n MultiSelectOptionComponent,\r\n MultiSelectOptgroupComponent,\r\n MultiSelectOptgroupLabelComponent,\r\n MultiSelectTagComponent\r\n ],\r\n providers: [MultiSelectService]\r\n})\r\nexport class MultiSelectModule {\r\n}\r\n","import { Directive, HostBinding, Input } from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\n@Directive({\r\n selector: '[cNavLink]'\r\n})\r\nexport class NavLinkDirective {\r\n\r\n static ngAcceptInputType_cNavLink: BooleanInput;\r\n static ngAcceptInputType_disabled: BooleanInput;\r\n\r\n /**\r\n * Sets .nav-link class to the host. [docs]\r\n * @type boolean\r\n * @default true\r\n */\r\n @Input()\r\n set cNavLink(value: boolean) {\r\n this._cNavLink = coerceBooleanProperty(value);\r\n };\r\n get cNavLink() {\r\n return this._cNavLink;\r\n }\r\n private _cNavLink = true\r\n\r\n /**\r\n * Toggle the active state for the component. [docs]\r\n * @type boolean\r\n */\r\n @Input() active?: boolean;\r\n /**\r\n * Set disabled attr for the host element. [docs]\r\n * @type boolean\r\n */\r\n @Input()\r\n get disabled(): boolean {\r\n return this._disabled;\r\n }\r\n set disabled(value: boolean) {\r\n this._disabled = coerceBooleanProperty(value);\r\n }\r\n private _disabled = false;\r\n\r\n @HostBinding('attr.aria-current')\r\n get ariaCurrent(): string | null {\r\n return this.active ? 'page' : null;\r\n }\r\n\r\n @HostBinding('attr.aria-disabled')\r\n get isDisabled(): boolean | null {\r\n return this.disabled || null;\r\n }\r\n\r\n @HostBinding('attr.disabled')\r\n get attrDisabled () {\r\n return this.disabled ? '' : null;\r\n };\r\n\r\n @HostBinding('attr.tabindex')\r\n get getTabindex(): string | null {\r\n return this.disabled ? '-1' : null;\r\n }\r\n\r\n @HostBinding('style.cursor')\r\n get getCursorStyle(): string | null {\r\n return this.disabled ? null : 'pointer';\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'nav-link': this.cNavLink,\r\n disabled: this.disabled,\r\n active: this.active\r\n };\r\n }\r\n}\r\n","import { Component, HostBinding } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-nav-item',\r\n templateUrl: './nav-item.component.html',\r\n styleUrls: ['./nav-item.component.scss']\r\n})\r\nexport class NavItemComponent {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'nav-item': true\r\n };\r\n }\r\n}\r\n","<ng-content></ng-content>\r\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'c-nav',\n template: `\n <ng-content></ng-content>`,\n styleUrls: ['./nav.component.scss']\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';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NavComponent } from './nav.component';\r\nimport { NavItemComponent } from './nav-item.component';\r\nimport { NavLinkDirective } from './nav-link.directive';\r\n\r\n@NgModule({\r\n declarations: [NavComponent, NavItemComponent, NavLinkDirective],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [NavComponent, NavItemComponent, NavLinkDirective]\r\n})\r\nexport class NavModule { }\r\n","import { AfterContentInit, Component, ContentChild, ElementRef, HostBinding, Input } from '@angular/core';\r\n\r\nimport { BreakpointObserver } from '@angular/cdk/layout';\r\n\r\nimport { CollapseDirective } from '../collapse';\r\nimport { Colors } from '../coreui.types';\r\n\r\n// todo: fix container prop issue not rendering children\r\n// todo: workaroud - use <c-container> component directly in template\r\n\r\n@Component({\r\n selector: 'c-navbar',\r\n templateUrl: './navbar.component.html',\r\n styleUrls: ['./navbar.component.scss']\r\n})\r\nexport class NavbarComponent implements AfterContentInit {\r\n /**\r\n * Sets the color context of the component to one of CoreUI’s themed colors.\r\n * @type Colors\r\n */\r\n @Input() color?: Colors;\r\n /**\r\n * Sets if the color of text should be colored for a light or dark dark background.\r\n */\r\n @Input() colorScheme?: 'dark' | 'light' = 'light';\r\n /**\r\n * Defines optional container wrapping children elements.\r\n */\r\n @Input() container?: boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'fluid';\r\n /**\r\n * Defines the responsive breakpoint to determine when content collapses.\r\n */\r\n @Input() expand?: boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';\r\n /**\r\n * Place component in non-static positions.\r\n */\r\n @Input() placement?: 'fixed-top' | 'fixed-bottom' | 'sticky-top';\r\n\r\n @ContentChild(CollapseDirective) collapse!: CollapseDirective;\r\n\r\n @HostBinding('attr.role')\r\n @Input() role = 'navigation';\r\n\r\n constructor(\r\n private hostElement: ElementRef,\r\n private breakpointObserver: BreakpointObserver\r\n ) {}\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n const expandClassSuffix: string = this.expand === true ? '' : `-${this.expand}`;\r\n return {\r\n navbar: true,\r\n 'navbar-light': this.colorScheme === 'light',\r\n 'navbar-dark': this.colorScheme === 'dark',\r\n [`navbar-expand${expandClassSuffix}`]: !!this.expand,\r\n [`bg-${this.color}`]: !!this.color,\r\n [`${this.placement}`]: !!this.placement\r\n };\r\n }\r\n\r\n get containerClass(): string {\r\n return `container${this.container !== true ? '-' + this.container : ''}`;\r\n }\r\n\r\n get breakpoint(): string | boolean {\r\n if (typeof this.expand === 'string') {\r\n return getComputedStyle(this.hostElement.nativeElement).getPropertyValue(`--cui-breakpoint-${this.expand}`);\r\n }\r\n return false;\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n if (this.breakpoint) {\r\n const onBreakpoint = `(min-width: ${this.breakpoint})`;\r\n this.breakpointObserver.observe([onBreakpoint]).subscribe(result => {\r\n if (this.collapse) {\r\n const animate = this.collapse.animate;\r\n this.collapse.toggle(false);\r\n this.collapse.animate = false;\r\n setTimeout(() => {\r\n this.collapse.toggle(result.matches);\r\n setTimeout(() => {\r\n this.collapse.animate = animate;\r\n });\r\n });\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","<ng-container *ngTemplateOutlet=\"container ? withContainerTemplate : noContainerTemplate\"></ng-container>\r\n\r\n<ng-template #withContainerTemplate>\r\n <div [ngClass]=\"containerClass\">\r\n <ng-content></ng-content>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #noContainerTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n","import { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cNavbarBrand]'\r\n})\r\nexport class NavbarBrandDirective {\r\n\r\n @HostBinding('class.navbar-brand') navbarBrand = true;\r\n @HostBinding('attr.role') role = 'button';\r\n\r\n}\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\n@Component({\r\n selector: 'c-navbar-nav',\r\n template: '<ng-content></ng-content>',\r\n})\r\nexport class NavbarNavComponent {\r\n\r\n static ngAcceptInputType_scroll: BooleanInput;\r\n\r\n /**\r\n * Enable vertical scrolling of a collapsed navbar toggleable contents.\r\n * @type boolean\r\n */\r\n @Input()\r\n set scroll(value: boolean) {\r\n this._scroll = coerceBooleanProperty(value);\r\n };\r\n get scroll() {\r\n return this._scroll;\r\n }\r\n private _scroll = false;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'navbar-nav': true,\r\n 'navbar-nav-scroll': this.scroll\r\n };\r\n }\r\n\r\n}\r\n","import { Component, HostBinding } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-navbar-text',\r\n template: '<ng-content></ng-content>',\r\n})\r\nexport class NavbarTextComponent {\r\n\r\n @HostBinding('class.navbar-text') navbarTextClass = true;\r\n\r\n}\r\n","import { AfterContentInit, Directive, ElementRef, HostBinding, HostListener, Input, Renderer2 } from '@angular/core';\r\nimport { CollapseDirective } from '../../collapse';\r\n\r\n@Directive({\r\n selector: '[cNavbarToggler]'\r\n})\r\nexport class NavbarTogglerDirective implements AfterContentInit {\r\n /**\r\n * Reference to navbar collapse element (via # template variable) . [docs]\r\n * @type string\r\n * @default 'button'\r\n */\r\n @Input('cNavbarToggler') collapseRef?: CollapseDirective;\r\n @HostBinding('class.navbar-toggler') navbarToggler = true;\r\n /**\r\n * Default type for navbar-toggler. [docs]\r\n * @type string\r\n * @default 'button'\r\n */\r\n @HostBinding('attr.type')\r\n @Input() type = 'button';\r\n /**\r\n * Default aria-label attr for navbar-toggler. [docs]\r\n * @type string\r\n * @default 'Toggle navigation'\r\n */\r\n @HostBinding('attr.aria-label')\r\n @Input() ariaLabel = 'Toggle navigation';\r\n\r\n private hasContent!: boolean;\r\n\r\n constructor(\r\n private renderer: Renderer2,\r\n private hostElement: ElementRef\r\n ) { }\r\n\r\n @HostListener('click', ['$event'])\r\n handleClick() {\r\n this.collapseRef?.toggle(!this.collapseRef?.visible);\r\n }\r\n\r\n addDefaultIcon(): void {\r\n const span = this.renderer.createElement('span');\r\n this.renderer.addClass(span, 'navbar-toggler-icon');\r\n this.renderer.appendChild(this.hostElement.nativeElement, span);\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.hasContent = this.hostElement.nativeElement.childNodes.length as boolean;\r\n if (!this.hasContent) {\r\n this.addDefaultIcon();\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { NavbarComponent } from './navbar.component';\r\nimport { NavbarBrandDirective } from './navbar-brand/navbar-brand.directive';\r\nimport { NavbarNavComponent } from './navbar-nav/navbar-nav.component';\r\nimport { NavbarTextComponent } from './navbar-text/navbar-text.component';\r\nimport { NavbarTogglerDirective } from './navbar-toggler/navbar-toggler.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n NavbarComponent,\r\n NavbarNavComponent,\r\n NavbarTextComponent,\r\n NavbarBrandDirective,\r\n NavbarTogglerDirective\r\n ],\r\n exports: [\r\n NavbarComponent,\r\n NavbarNavComponent,\r\n NavbarTextComponent,\r\n NavbarBrandDirective,\r\n NavbarTogglerDirective\r\n ],\r\n imports: [\r\n CommonModule,\r\n RouterModule\r\n ]\r\n})\r\nexport class NavbarModule { }\r\n","import { Component, HostBinding } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-modal-body',\r\n template: '<ng-content></ng-content>',\r\n styleUrls: ['./modal-body.component.scss']\r\n})\r\nexport class ModalBodyComponent {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'modal-body': true,\r\n };\r\n }\r\n}\r\n","import { Component, ElementRef, HostBinding, HostListener } from '@angular/core';\r\nimport { InteractivityChecker } from '@angular/cdk/a11y';\r\n\r\n@Component({\r\n selector: 'c-modal-content',\r\n template: '<ng-content></ng-content>'\r\n})\r\nexport class ModalContentComponent {\r\n\r\n constructor(\r\n private hostElement: ElementRef,\r\n private interactivityChecker: InteractivityChecker\r\n ) { }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'modal-content': true\r\n };\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n public onClickHandler($event: MouseEvent): boolean {\r\n $event.stopPropagation();\r\n const targetElement = $event.target;\r\n return this.hostElement?.nativeElement?.contains(targetElement) &&\r\n this.interactivityChecker.isFocusable((targetElement as HTMLElement));\r\n }\r\n}\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-modal-dialog',\r\n template: '<ng-content></ng-content>',\r\n styleUrls: ['./modal-dialog.component.scss'],\r\n})\r\nexport class ModalDialogComponent {\r\n /**\r\n * Align the modal in the center or top of the screen.\r\n * @type {'top' | 'center'}\r\n */\r\n @Input() alignment?: 'top' | 'center';\r\n /**\r\n * Set modal to covers the entire user viewport.\r\n * @type {boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'}\r\n */\r\n @Input() fullscreen?: boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';\r\n /**\r\n * Does the modal dialog itself scroll, or does the whole dialog scroll within the window.\r\n * @type boolean\r\n */\r\n @Input() scrollable?: boolean;\r\n /**\r\n * Size the component small, large, or extra large.\r\n */\r\n @Input() size?: 'sm' | 'lg' | 'xl';\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'modal-dialog': true,\r\n 'modal-dialog-centered': this.alignment === 'center',\r\n 'modal-fullscreen': this.fullscreen === true,\r\n [`modal-fullscreen-${this.fullscreen}-down`]: this.fullscreen,\r\n 'modal-dialog-scrollable': this.scrollable,\r\n [`modal-${this.size}`]: this.size\r\n };\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { ModalComponent } from './modal/modal.component';\r\n\r\nexport interface IModalAction {\r\n show?: boolean | 'toggle';\r\n modal?: ModalComponent;\r\n id?: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ModalService {\r\n\r\n private modalState = new Subject<any>();\r\n modalState$ = this.modalState.asObservable();\r\n\r\n constructor() {}\r\n\r\n toggle(action: IModalAction): void {\r\n this.modalState.next(action);\r\n }\r\n}\r\n","import { Directive, HostListener, Input } from '@angular/core';\r\n\r\nimport { ModalService } from '../modal.service';\r\n\r\n@Directive({\r\n selector: '[cModalToggle]'\r\n})\r\nexport class ModalToggleDirective {\r\n /**\r\n * Html id attr of modal to dismiss.\r\n */\r\n @Input('cModalToggle') id: string | undefined;\r\n\r\n constructor(\r\n private modalService: ModalService\r\n ) { }\r\n\r\n @HostListener('click', ['$event'])\r\n dismiss($event: any): void {\r\n $event.preventDefault();\r\n this.modalService.toggle({show: 'toggle', id: this.id});\r\n }\r\n}\r\n","import { Component, HostBinding } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-modal-footer',\r\n template: '<ng-content></ng-content>',\r\n})\r\nexport class ModalFooterComponent {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'modal-footer': true,\r\n };\r\n }\r\n\r\n}\r\n","import { Component, HostBinding } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-modal-header',\r\n template: `\r\n <ng-content></ng-content>`,\r\n})\r\nexport class ModalHeaderComponent {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'modal-header': true\r\n };\r\n }\r\n\r\n}\r\n","import { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cModalTitle]'\r\n})\r\nexport class ModalTitleDirective {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'modal-title': true,\r\n };\r\n }\r\n\r\n}\r\n","import { Inject, Injectable, Renderer2, RendererFactory2 } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BackdropService {\r\n\r\n private backdropClick = new Subject<boolean>();\r\n backdropClick$ = this.backdropClick.asObservable();\r\n\r\n private renderer: Renderer2;\r\n private unListen!: () => void;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: any,\r\n private rendererFactory: RendererFactory2\r\n ) {\r\n this.renderer = rendererFactory.createRenderer(null, null);\r\n }\r\n\r\n setBackdrop(type: string = 'modal'): any {\r\n const backdropElement = this.renderer.createElement('div');\r\n this.renderer.addClass(backdropElement, `${type}-backdrop`);\r\n this.renderer.addClass(backdropElement, 'fade');\r\n this.renderer.appendChild(this.document.body, backdropElement);\r\n this.unListen = this.renderer.listen(backdropElement, 'click', (e): void => {\r\n this.onClickHandler();\r\n });\r\n setTimeout(() => {\r\n this.renderer.addClass(backdropElement, 'show');\r\n });\r\n return backdropElement;\r\n }\r\n\r\n clearBackdrop(backdrop: any): any {\r\n if (backdrop) {\r\n this.unListen();\r\n this.renderer.removeClass(backdrop, 'show');\r\n setTimeout(() => {\r\n this.renderer.removeChild(this.document.body, backdrop);\r\n backdrop = undefined;\r\n }, 300);\r\n }\r\n return backdrop;\r\n }\r\n\r\n onClickHandler(): void {\r\n this.backdropClick.next(true);\r\n }\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener,\r\n Inject,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n Renderer2,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { animate, AnimationEvent, state, style, transition, trigger } from '@angular/animations';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { ModalService } from '../modal.service';\r\nimport { BackdropService } from '../../backdrop/backdrop.service';\r\nimport { ModalContentComponent } from '../modal-content/modal-content.component';\r\n\r\n@Component({\r\n selector: 'c-modal',\r\n animations: [\r\n trigger('showHide', [\r\n state(\r\n 'visible',\r\n style({\r\n display: 'block'\r\n })\r\n ),\r\n state(\r\n 'hidden',\r\n style({\r\n display: 'none'\r\n })\r\n ),\r\n transition('visible <=> *', [animate('300ms')],)\r\n ])\r\n ],\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.scss'],\r\n exportAs: 'cModal'\r\n})\r\nexport class ModalComponent implements OnInit, OnDestroy {\r\n\r\n static ngAcceptInputType_scrollable: BooleanInput;\r\n static ngAcceptInputType_visible: BooleanInput;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: any,\r\n private renderer: Renderer2,\r\n private hostElement: ElementRef,\r\n private modalService: ModalService,\r\n private backdropService: BackdropService\r\n ) { }\r\n\r\n /**\r\n * Align the modal in the center or top of the screen.\r\n * @type {'top' | 'center'}\r\n * @default 'top'\r\n */\r\n @Input() alignment?: 'top' | 'center' = 'top';\r\n /**\r\n * Apply a backdrop on body while modal is open.\r\n * @type boolean | 'static'\r\n * @default true\r\n */\r\n @Input() backdrop: boolean | 'static' = true;\r\n /**\r\n * Set modal to cover the entire user viewport.\r\n * @type {boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'}\r\n * @default undefined\r\n */\r\n @Input() fullscreen?: boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';\r\n /**\r\n * Closes the modal when escape key is pressed.\r\n * @type boolean\r\n * @default true\r\n */\r\n @Input() keyboard = true;\r\n @Input() id?: string;\r\n /**\r\n * Size the component small, large, or extra large.\r\n */\r\n @Input() size?: 'sm' | 'lg' | 'xl';\r\n /**\r\n * Remove animation to create modal that simply appear rather than fade in to view.\r\n */\r\n @Input() transition = true;\r\n /**\r\n * Default role for modal. [docs]\r\n * @type string\r\n * @default 'dialog'\r\n */\r\n @Input() @HostBinding('attr.role') role = 'dialog';\r\n /**\r\n * Set aria-modal html attr for modal. [docs]\r\n * @type boolean\r\n * @default true\r\n */\r\n @Input() @HostBinding('attr.aria-modal') ariaModal = true;\r\n\r\n /**\r\n * Create a scrollable modal that allows scrolling the modal body.\r\n * @type boolean\r\n */\r\n @Input()\r\n set scrollable(value: boolean) {\r\n this._scrollable = coerceBooleanProperty(value);\r\n }\r\n get scrollable(): boolean {\r\n return this._scrollable;\r\n }\r\n private _scrollable = false;\r\n\r\n /**\r\n * Toggle the visibility of modal component.\r\n * @type boolean\r\n */\r\n @Input()\r\n set visible(value: boolean) {\r\n const newValue = coerceBooleanProperty(value);\r\n if(this._visible !== newValue) {\r\n this._visible = newValue;\r\n this.setBackdrop(this.backdrop !== false && newValue);\r\n this.setBodyStyles(newValue);\r\n this.visibleChange.emit(newValue);\r\n }\r\n }\r\n get visible(): boolean {\r\n return this._visible;\r\n }\r\n private _visible!: boolean;\r\n\r\n /**\r\n * Event triggered on modal dismiss.\r\n */\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n\r\n @ViewChild(ModalContentComponent, {read: ElementRef}) modalContent!: ElementRef;\r\n private activeBackdrop!: any;\r\n private stateToggleSubscription!: Subscription;\r\n private inBoundingClientRect!: boolean;\r\n\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n modal: true,\r\n fade: this.transition,\r\n show: this.show,\r\n };\r\n }\r\n\r\n @HostBinding('attr.aria-hidden')\r\n get ariaHidden(): boolean | null {\r\n return this.visible ? null : true;\r\n };\r\n\r\n @HostBinding('attr.tabindex')\r\n get tabIndex(): string | null {\r\n return '-1';\r\n }\r\n\r\n @HostBinding('@showHide')\r\n get animateTrigger(): string {\r\n return this.visible ? 'visible' : 'hidden';\r\n }\r\n\r\n private _show = true;\r\n get show(): boolean {\r\n return this.visible && this._show;\r\n }\r\n set show(value: boolean) {\r\n this._show = value;\r\n }\r\n\r\n private get scrollbarWidth() {\r\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\r\n const documentWidth = this.document.documentElement.clientWidth;\r\n const scrollbarWidth = Math.abs((window?.innerWidth ?? documentWidth) - documentWidth);\r\n return `${scrollbarWidth}px`;\r\n }\r\n\r\n @HostListener('@showHide.start', ['$event'])\r\n animateStart(event: AnimationEvent) {\r\n this.renderer.setStyle(this.hostElement.nativeElement, 'overflow-y', 'hidden');\r\n this.show = this.visible;\r\n }\r\n\r\n @HostListener('@showHide.done', ['$event'])\r\n animateDone(event: AnimationEvent) {\r\n const scrollbarWidth = this.scrollbarWidth;\r\n setTimeout(() => {\r\n if (event.toState === 'visible') {\r\n this.inBoundingClientRect = this.modalContent?.nativeElement?.getBoundingClientRect().height <= this.document?.documentElement.clientHeight;\r\n if (!this.inBoundingClientRect) {\r\n this.renderer.setStyle(this.document.body, 'overflow-y', 'hidden');\r\n this.renderer.setStyle(this.document.body, 'padding-right', scrollbarWidth);\r\n } else {\r\n this.renderer.removeStyle(this.document.body, 'overflow-y');\r\n this.renderer.removeStyle(this.document.body, 'padding-right');\r\n }\r\n if (this.fullscreen === true) {\r\n this.renderer.setStyle(this.document.body, 'overflow-y', 'hidden');\r\n }\r\n this.renderer.removeStyle(this.hostElement.nativeElement, 'overflow-y');\r\n }\r\n });\r\n }\r\n\r\n @HostListener('document:keydown', ['$event'])\r\n onKeyDownHandler(event: KeyboardEvent): void {\r\n if (event.key === 'Escape' && this.keyboard && this.visible) {\r\n if (this.backdrop === 'static') {\r\n this.setStaticBackdrop();\r\n } else {\r\n this.modalService.toggle({show: false, modal: this});\r\n }\r\n }\r\n }\r\n\r\n private mouseDownTarget: EventTarget | null = null;\r\n\r\n @HostListener('mousedown', ['$event'])\r\n public onMouseDownHandler($event: MouseEvent): void {\r\n this.mouseDownTarget = $event.target;\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n public onClickHandler($event: MouseEvent): void {\r\n $event.stopPropagation();\r\n if (this.mouseDownTarget !== $event.target) {\r\n this.mouseDownTarget = null;\r\n return;\r\n }\r\n if (this.backdrop === 'static') {\r\n this.setStaticBackdrop();\r\n return;\r\n }\r\n this.modalService.toggle({show: false, modal: this});\r\n }\r\n\r\n ngOnInit(): void {\r\n this.stateToggleSubscribe();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.modalService.toggle({show: false, modal: this});\r\n this.stateToggleSubscribe(false);\r\n }\r\n\r\n private stateToggleSubscribe(subscribe: boolean = true): void {\r\n if (subscribe) {\r\n this.stateToggleSubscription = this.modalService.modalState$.subscribe(\r\n (action) => {\r\n if (this === action.modal || this.id === action.id) {\r\n if ('show' in action) {\r\n this.visible = action?.show === 'toggle' ? !this.visible : action.show;\r\n }\r\n } else {\r\n if (this.visible) {\r\n this.visible = false;\r\n }\r\n }\r\n }\r\n );\r\n } else {\r\n this.stateToggleSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n private setBackdrop(setBackdrop: boolean): void {\r\n if (setBackdrop) {\r\n this.activeBackdrop = this.backdropService.setBackdrop('modal');\r\n } else {\r\n this.activeBackdrop = this.backdropService.clearBackdrop(this.activeBackdrop);\r\n }\r\n }\r\n\r\n private setBodyStyles(open: boolean): void {\r\n if (open) {\r\n if (this.fullscreen === true) {\r\n this.renderer.setStyle(this.document.body, 'overflow-y', 'hidden');\r\n }\r\n if (this.backdrop === true) {\r\n this.renderer.addClass(this.document.body, 'modal-open');\r\n }\r\n } else {\r\n this.renderer.removeClass(this.document.body, 'modal-open');\r\n this.renderer.removeStyle(this.document.body, 'overflow-y');\r\n this.renderer.removeStyle(this.document.body, 'padding-right');\r\n }\r\n }\r\n\r\n private setStaticBackdrop(): void {\r\n if (this.transition) {\r\n this.renderer.addClass(this.hostElement.nativeElement, 'modal-static');\r\n this.renderer.setStyle(this.hostElement.nativeElement, 'overflow-y', 'hidden');\r\n setTimeout(() => {\r\n this.renderer.removeClass(this.hostElement.nativeElement, 'modal-static');\r\n this.renderer.removeStyle(this.hostElement.nativeElement, 'overflow-y');\r\n }, 400);\r\n }\r\n }\r\n}\r\n","<c-modal-dialog\r\n [alignment]=\"alignment\"\r\n [fullscreen]=\"fullscreen\"\r\n [scrollable]=\"scrollable\"\r\n [size]=\"size\">\r\n <c-modal-content>\r\n <div [cdkTrapFocus]=\"visible\" [cdkTrapFocusAutoCapture]=\"visible\" style=\"display: contents;\">\r\n <ng-content></ng-content>\r\n </div>\r\n </c-modal-content>\r\n</c-modal-dialog>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { A11yModule } from '@angular/cdk/a11y';\r\n\r\nimport { ModalBodyComponent } from './modal-body/modal-body.component';\r\nimport { ModalContentComponent } from './modal-content/modal-content.component';\r\nimport { ModalDialogComponent } from './modal-dialog/modal-dialog.component';\r\nimport { ModalToggleDirective } from './modal-dismiss/modal-toggle.directive';\r\nimport { ModalFooterComponent } from './modal-footer/modal-footer.component';\r\nimport { ModalHeaderComponent } from './modal-header/modal-header.component';\r\nimport { ModalTitleDirective } from './modal-title/modal-title.directive';\r\nimport { ModalComponent } from './modal/modal.component';\r\nimport { ModalService } from './modal.service';\r\n\r\n@NgModule({\r\n declarations: [\r\n ModalBodyComponent,\r\n ModalContentComponent,\r\n ModalDialogComponent,\r\n ModalToggleDirective,\r\n ModalFooterComponent,\r\n ModalHeaderComponent,\r\n ModalTitleDirective,\r\n ModalComponent,\r\n ],\r\n exports: [\r\n ModalBodyComponent,\r\n ModalContentComponent,\r\n ModalDialogComponent,\r\n ModalToggleDirective,\r\n ModalFooterComponent,\r\n ModalHeaderComponent,\r\n ModalTitleDirective,\r\n ModalComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n A11yModule\r\n ],\r\n providers: [\r\n ModalService\r\n ]\r\n})\r\nexport class ModalModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { OffcanvasComponent } from './offcanvas/offcanvas.component';\r\n\r\nexport interface IOffcanvasAction {\r\n show?: boolean | 'toggle';\r\n offcanvas?: OffcanvasComponent;\r\n id?: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OffcanvasService {\r\n\r\n private offcanvasState = new Subject<any>();\r\n offcanvasState$ = this.offcanvasState.asObservable();\r\n\r\n constructor() { }\r\n\r\n toggle(action: IOffcanvasAction): void {\r\n this.offcanvasState.next(action);\r\n }\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener,\r\n Inject,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n PLATFORM_ID,\r\n Renderer2,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport { animate, state, style, transition, trigger, } from '@angular/animations';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { OffcanvasService } from '../offcanvas.service';\r\nimport { BackdropService } from '../../backdrop/backdrop.service';\r\nimport { DOCUMENT, isPlatformBrowser } from '@angular/common';\r\n\r\nlet nextId = 0;\r\n\r\n@Component({\r\n selector: 'c-offcanvas',\r\n animations: [\r\n trigger('showHide', [\r\n state(\r\n 'true',\r\n style({\r\n visibility: 'visible',\r\n })\r\n ),\r\n state(\r\n 'false',\r\n style({\r\n visibility: 'hidden',\r\n })\r\n ),\r\n transition('true => false', [animate('300ms')]),\r\n ]),\r\n ],\r\n templateUrl: './offcanvas.component.html',\r\n styleUrls: ['./offcanvas.component.scss'],\r\n exportAs: 'cOffcanvas',\r\n})\r\nexport class OffcanvasComponent implements OnChanges, OnInit, OnDestroy {\r\n\r\n static ngAcceptInputType_scroll: BooleanInput;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: any,\r\n @Inject(PLATFORM_ID) private platformId: any,\r\n private renderer: Renderer2,\r\n private hostElement: ElementRef,\r\n private offcanvasService: OffcanvasService,\r\n private backdropService: BackdropService\r\n ) { }\r\n\r\n /**\r\n * Apply a backdrop on body while offcanvas is open.\r\n * @type boolean\r\n * @default true\r\n */\r\n @Input() backdrop = true;\r\n\r\n /**\r\n * Closes the offcanvas when escape key is pressed [docs]\r\n * @type boolean\r\n * @default true\r\n */\r\n @Input() keyboard = true;\r\n\r\n /**\r\n * Components placement, there’s no default placement.\r\n * @type {'start' | 'end' | 'top' | 'bottom'}\r\n * @default 'start'\r\n */\r\n @Input() placement: string | 'start' | 'end' | 'top' | 'bottom' = 'start';\r\n\r\n /**\r\n * Allow body scrolling while offcanvas is visible.\r\n * @type boolean\r\n */\r\n @Input()\r\n set scroll(value: boolean) {\r\n this._scroll = coerceBooleanProperty(value);\r\n };\r\n get scroll() {\r\n return this._scroll;\r\n }\r\n private _scroll = false;\r\n\r\n @Input() id = `offcanvas-${this.placement}-${nextId++}`;\r\n /**\r\n * Default role for offcanvas. [docs]\r\n * @type string\r\n * @default 'dialog'\r\n */\r\n @Input() @HostBinding('attr.role') role = 'dialog';\r\n\r\n /**\r\n * Set aria-modal html attr for offcanvas. [docs]\r\n * @type boolean\r\n * @default true\r\n */\r\n @Input() @HostBinding('attr.aria-modal') ariaModal = true;\r\n\r\n /**\r\n * Toggle the visibility of offcanvas component.\r\n * @type boolean\r\n */\r\n @Input()\r\n set visible(value: boolean) {\r\n this._visible = coerceBooleanProperty(value);\r\n if (value) {\r\n this.setBackdrop(this.backdrop);\r\n this.setFocus();\r\n } else {\r\n this.setBackdrop(false);\r\n }\r\n this.setScroll();\r\n this.visibleChange.emit(value);\r\n }\r\n get visible(): boolean {\r\n return this._visible;\r\n }\r\n private _visible!: boolean;\r\n\r\n /**\r\n * Event triggered on visible change.\r\n */\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n\r\n private activeBackdrop!: any;\r\n\r\n private stateToggleSubscription!: Subscription;\r\n private backdropClickSubscription!: Subscription;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n offcanvas: true,\r\n [`offcanvas-${this.placement}`]: !!this.placement,\r\n show: this.visible,\r\n };\r\n }\r\n\r\n @HostBinding('attr.aria-hidden')\r\n get ariaHidden(): boolean | null {\r\n return this.visible ? null : true;\r\n };\r\n\r\n @HostBinding('attr.tabindex')\r\n get tabIndex(): string | null {\r\n return '-1';\r\n }\r\n\r\n @HostBinding('@showHide')\r\n get animateType(): boolean {\r\n return this.visible;\r\n }\r\n\r\n @HostListener('document:keydown', ['$event'])\r\n onKeyDownHandler(event: KeyboardEvent): void {\r\n if (event.key === 'Escape' && this.keyboard && this.visible) {\r\n this.offcanvasService.toggle({ show: false, id: this.id });\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setScroll();\r\n this.stateToggleSubscribe();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.offcanvasService.toggle({ show: false, id: this.id });\r\n this.stateToggleSubscribe(false);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['scroll']) {\r\n this.setScroll();\r\n }\r\n }\r\n\r\n private stateToggleSubscribe(subscribe: boolean = true): void {\r\n if (subscribe) {\r\n this.stateToggleSubscription = this.offcanvasService.offcanvasState$.subscribe(\r\n (action) => {\r\n if (this === action.offcanvas || this.id === action.id) {\r\n if ('show' in action) {\r\n this.visible = action?.show === 'toggle' ? !this.visible : action.show;\r\n }\r\n }\r\n }\r\n );\r\n } else {\r\n this.stateToggleSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n private backdropClickSubscribe(subscribe: boolean = true): void {\r\n if (subscribe) {\r\n this.backdropClickSubscription = this.backdropService.backdropClick$.subscribe(\r\n (clicked) => {\r\n this.offcanvasService.toggle({ show: !clicked, id: this.id });\r\n }\r\n );\r\n } else {\r\n this.backdropClickSubscription?.unsubscribe();\r\n }\r\n }\r\n\r\n private setBackdrop(setBackdrop: boolean): void {\r\n if (setBackdrop) {\r\n this.activeBackdrop = this.backdropService.setBackdrop('offcanvas');\r\n this.backdropClickSubscribe();\r\n } else {\r\n this.activeBackdrop = this.backdropService.clearBackdrop(this.activeBackdrop);\r\n this.backdropClickSubscribe(false);\r\n }\r\n }\r\n\r\n setFocus(): void {\r\n if (isPlatformBrowser(this.platformId)) {\r\n setTimeout(() => this.hostElement.nativeElement.focus());\r\n }\r\n }\r\n\r\n setScroll() {\r\n if (this.visible) {\r\n if (!this.scroll) {\r\n this.renderer.setStyle(this.document.body, 'overflow', 'hidden');\r\n this.renderer.setStyle(this.document.body, 'paddingRight.px', '0');\r\n }\r\n return;\r\n }\r\n if (!this.scroll) {\r\n this.renderer.removeStyle(this.document.body, 'overflow');\r\n this.renderer.removeStyle(this.document.body, 'paddingRight');\r\n }\r\n }\r\n}\r\n","<div cdkTrapFocus cdkTrapFocusAutoCapture>\r\n <ng-content></ng-content>\r\n</div>\r\n\r\n","import { Component, HostBinding } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-offcanvas-body',\r\n template: `<ng-content></ng-content>`,\r\n styleUrls: ['./offcanvas-body.component.scss']\r\n})\r\nexport class OffcanvasBodyComponent {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'offcanvas-body': true,\r\n };\r\n }\r\n\r\n}\r\n","import { Component, HostBinding } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-offcanvas-header',\r\n template: `<ng-content></ng-content>`,\r\n styleUrls: ['./offcanvas-header.component.scss']\r\n})\r\nexport class OffcanvasHeaderComponent {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'offcanvas-header': true,\r\n };\r\n }\r\n\r\n}\r\n","import { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cOffcanvasTitle]'\r\n})\r\nexport class OffcanvasTitleDirective {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'offcanvas-title': true,\r\n };\r\n }\r\n\r\n}\r\n","import { Directive, HostListener, Input } from '@angular/core';\r\n\r\nimport { OffcanvasService } from '../offcanvas.service';\r\n\r\n@Directive({\r\n selector: '[cOffcanvasToggle]'\r\n})\r\nexport class OffcanvasToggleDirective {\r\n\r\n /**\r\n * Html id attr of offcanvas to toggle.\r\n * @type string\r\n */\r\n @Input('cOffcanvasToggle') id?: string;\r\n\r\n constructor(\r\n private offcanvasService: OffcanvasService\r\n ) {}\r\n\r\n @HostListener('click', ['$event'])\r\n toggleOpen($event: any): void {\r\n $event.preventDefault();\r\n this.offcanvasService.toggle({ show: 'toggle', id: this.id });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { A11yModule } from '@angular/cdk/a11y';\r\n\r\nimport { OffcanvasComponent } from './offcanvas/offcanvas.component';\r\nimport { OffcanvasBodyComponent } from './offcanvas-body/offcanvas-body.component';\r\nimport { OffcanvasHeaderComponent } from './offcanvas-header/offcanvas-header.component';\r\nimport { OffcanvasTitleDirective } from './offcanvas-title/offcanvas-title.directive';\r\nimport { OffcanvasToggleDirective } from './offcanvas-toggle/offcanvas-toggle.directive';\r\nimport { OffcanvasService } from './offcanvas.service';\r\nimport { BackdropService } from '../backdrop/backdrop.service';\r\n\r\n@NgModule({\r\n declarations: [\r\n OffcanvasComponent,\r\n OffcanvasBodyComponent,\r\n OffcanvasHeaderComponent,\r\n OffcanvasTitleDirective,\r\n OffcanvasToggleDirective\r\n ],\r\n exports: [\r\n OffcanvasComponent,\r\n OffcanvasBodyComponent,\r\n OffcanvasHeaderComponent,\r\n OffcanvasTitleDirective,\r\n OffcanvasToggleDirective\r\n ],\r\n imports: [\r\n CommonModule,\r\n A11yModule\r\n ],\r\n providers: [\r\n OffcanvasService,\r\n BackdropService\r\n ],\r\n})\r\nexport class OffcanvasModule { }\r\n","import { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cPageLink]'\r\n})\r\nexport class PageLinkDirective {\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'page-link': true,\r\n };\r\n }\r\n}\r\n","import {\r\n AfterContentInit,\r\n ContentChild,\r\n Directive,\r\n ElementRef,\r\n HostBinding,\r\n Input,\r\n OnChanges,\r\n Renderer2, SimpleChanges\r\n} from '@angular/core';\r\n\r\nimport { PageLinkDirective } from '../page-link/page-link.directive';\r\n\r\n@Directive({\r\n selector: '[cPageItem]'\r\n})\r\nexport class PageItemDirective implements AfterContentInit, OnChanges {\r\n\r\n /**\r\n * Toggle the active state for the component.\r\n * @type boolean\r\n */\r\n @Input() active?: boolean;\r\n /**\r\n * Toggle the disabled state for the component.\r\n * @type boolean\r\n */\r\n @Input() disabled?: boolean;\r\n\r\n @HostBinding('attr.aria-current')\r\n get ariaCurrent(): string | null {\r\n return this.active ? 'page' : null;\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'page-item': true,\r\n disabled: this.disabled,\r\n active: this.active,\r\n };\r\n }\r\n\r\n @ContentChild(PageLinkDirective, { read: ElementRef }) pageLinkElementRef!: ElementRef;\r\n\r\n constructor(\r\n private renderer: Renderer2\r\n ) { }\r\n\r\n ngAfterContentInit(): void {\r\n this.setAttributes();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['disabled']) {\r\n this.setAttributes();\r\n }\r\n }\r\n\r\n setAttributes(): void {\r\n if (!this.pageLinkElementRef) {\r\n return\r\n }\r\n const pageLinkElement = this.pageLinkElementRef.nativeElement;\r\n\r\n if (this.disabled) {\r\n this.renderer.setAttribute(pageLinkElement, 'aria-disabled', 'true');\r\n this.renderer.setAttribute(pageLinkElement, 'tabindex', '-1');\r\n } else {\r\n this.renderer.removeAttribute(pageLinkElement, 'aria-disabled');\r\n this.renderer.removeAttribute(pageLinkElement, 'tabindex');\r\n }\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { PageItemDirective } from './page-item.directive';\r\n\r\n@Component({\r\n selector: 'c-page-item',\r\n template: `<ng-content></ng-content>`,\r\n styleUrls: ['./page-item.component.scss']\r\n})\r\nexport class PageItemComponent extends PageItemDirective { }\r\n\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-pagination',\r\n templateUrl: './pagination.component.html',\r\n styleUrls: ['./pagination.component.scss']\r\n})\r\nexport class PaginationComponent {\r\n\r\n /**\r\n * Set the alignment of pagination components.\r\n * @values 'start', 'center', 'end'\r\n */\r\n @Input() align: 'start' | 'center' | 'end' | '' = '';\r\n /**\r\n * Size the component small or large.\r\n * @values 'sm', 'lg'\r\n */\r\n @Input() size?: 'sm' | 'lg';\r\n /**\r\n * Default role for pagination. [docs]\r\n * @type string\r\n * @default 'navigation'\r\n */\r\n @HostBinding('attr.role')\r\n @Input() role = 'navigation';\r\n\r\n get paginationClass(): any {\r\n return {\r\n pagination: true,\r\n [`pagination-${this.size}`]: !!this.size,\r\n [`justify-content-${this.align}`]: !!this.align\r\n };\r\n }\r\n\r\n}\r\n","<ul [ngClass]=\"paginationClass\">\r\n <ng-content></ng-content>\r\n</ul>\r\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\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 declarations: [\n PaginationComponent,\n PageItemComponent,\n PageItemDirective,\n PageLinkDirective\n ],\n exports: [\n PaginationComponent,\n PageItemComponent,\n PageItemDirective,\n PageLinkDirective\n ],\n imports: [\n CommonModule\n ]\n})\nexport class PaginationModule {}\n","import { Directive, HostBinding, Input } from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\n@Directive({\r\n selector: '[cPlaceholder]',\r\n exportAs: 'cPlaceholder'\r\n})\r\nexport class PlaceholderDirective {\r\n\r\n static ngAcceptInputType_visible: BooleanInput;\r\n\r\n constructor() { }\r\n\r\n /**\r\n * placeholder toggler\r\n * @type boolean\r\n * @default true\r\n */\r\n @Input('cPlaceholder')\r\n set visible(value: boolean) {\r\n this._visible = coerceBooleanProperty(value);\r\n }\r\n get visible() {\r\n return this._visible;\r\n }\r\n private _visible: boolean = false;\r\n\r\n /**\r\n * Size the placeholder extra small, small, large.\r\n */\r\n @Input('cPlaceholderSize') size?: 'xs' | 'sm' | 'lg';\r\n\r\n @HostBinding('attr.aria-hidden')\r\n get ariaHidden(): boolean | null {\r\n return this.visible ? null : true;\r\n };\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'placeholder': this.visible,\r\n [`placeholder-${this.size}`]: !!this.size\r\n };\r\n }\r\n}\r\n","import { AfterContentInit, ContentChild, Directive, HostBinding, Input } from '@angular/core';\r\nimport { PlaceholderDirective } from './placeholder.directive';\r\n\r\n@Directive({\r\n selector: '[cPlaceholderAnimation]'\r\n})\r\nexport class PlaceholderAnimationDirective implements AfterContentInit {\r\n\r\n constructor() { }\r\n\r\n /**\r\n * Animation type for placeholder\r\n * @type 'glow' | 'wave'\r\n * @default undefined\r\n */\r\n @Input('cPlaceholderAnimation') animation?: 'glow' | 'wave';\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n [`placeholder-${this.animation}`]: this.animate && !!this.animation\r\n };\r\n }\r\n\r\n @ContentChild(PlaceholderDirective) placeholder!: PlaceholderDirective;\r\n private animate: boolean = false;\r\n\r\n ngAfterContentInit() {\r\n this.animate = this.placeholder?.visible;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PlaceholderDirective } from './placeholder.directive';\r\nimport { PlaceholderAnimationDirective } from './placeholder-animation.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n PlaceholderDirective,\r\n PlaceholderAnimationDirective\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n PlaceholderDirective,\r\n PlaceholderAnimationDirective\r\n ]\r\n})\r\nexport class PlaceholderModule {\r\n}\r\n","import {\r\n AfterViewInit,\r\n Component,\r\n HostBinding,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n Renderer2,\r\n SimpleChanges,\r\n TemplateRef,\r\n ViewChild,\r\n ViewContainerRef\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-popover',\r\n templateUrl: './popover.component.html',\r\n})\r\nexport class PopoverComponent implements AfterViewInit, OnChanges, OnDestroy {\r\n\r\n /**\r\n * Content of popover\r\n * @type {string | TemplateRef}\r\n */\r\n @Input() content: string | TemplateRef<any> = '';\r\n /**\r\n * Toggle the visibility of popover component.\r\n * @type boolean\r\n */\r\n @Input() visible = false;\r\n @Input() @HostBinding('attr.id') id?: string;\r\n @Input() @HostBinding('attr.role') role = 'tooltip';\r\n\r\n @ViewChild('popoverTemplate', { read: ViewContainerRef }) viewContainerRef!: ViewContainerRef;\r\n private textNode!: Text;\r\n\r\n constructor(\r\n private renderer: Renderer2\r\n ) { }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): { [klass: string]: any; } {\r\n return {\r\n popover: true,\r\n fade: true,\r\n show: this.visible,\r\n 'bs-popover-auto': true\r\n };\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.updateView(this.content);\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['content']) {\r\n setTimeout(() => {\r\n this.updateView(this.content);\r\n });\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.clear();\r\n }\r\n\r\n private clear(): void {\r\n this.viewContainerRef?.clear();\r\n if (!!this.textNode) {\r\n this.renderer.removeChild(this.textNode.parentNode, this.textNode);\r\n }\r\n }\r\n\r\n private updateView(content: string | TemplateRef<any>): void {\r\n this.clear();\r\n\r\n if (!content) {\r\n return;\r\n }\r\n\r\n if (content instanceof TemplateRef) {\r\n this.viewContainerRef.createEmbeddedView(content);\r\n } else {\r\n this.textNode = this.renderer.createText(content);\r\n const popoverBody = this.renderer.createElement('div');\r\n this.renderer.addClass(popoverBody, 'popover-body');\r\n this.renderer.appendChild(popoverBody, this.textNode);\r\n\r\n const element = this.viewContainerRef.element.nativeElement;\r\n this.renderer.appendChild(element.parentNode, popoverBody);\r\n }\r\n }\r\n}\r\n","<ng-container>\r\n <div [ngClass]=\"{'popover-arrow': !!content}\" data-popper-arrow ></div>\r\n <ng-container #popoverTemplate></ng-container>\r\n</ng-container>\r\n","import {\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n Directive,\r\n ElementRef,\r\n HostBinding,\r\n Inject,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Renderer2,\r\n SimpleChanges,\r\n TemplateRef,\r\n ViewContainerRef\r\n} from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { createPopper, Instance, Options } from '@popperjs/core';\r\n\r\nimport { Triggers } from '../coreui.types';\r\nimport { PopoverComponent } from './popover/popover.component';\r\nimport { IListenersConfig, ListenersService } from '../services/listeners.service';\r\n\r\n@Directive({\r\n selector: '[cPopover]',\r\n exportAs: 'cPopover',\r\n providers: [ListenersService]\r\n})\r\nexport class PopoverDirective implements OnChanges, OnDestroy, OnInit {\r\n\r\n /**\r\n * Content of popover\r\n * @type {string | TemplateRef}\r\n */\r\n @Input('cPopover') content: string | TemplateRef<any> = '';\r\n\r\n /**\r\n * Optional popper Options object, takes precedence over cPopoverPlacement prop\r\n * @type Partial<Options>\r\n */\r\n @Input('cPopoverOptions')\r\n set popperOptions(value: Partial<Options>) {\r\n this._popperOptions = {...this._popperOptions, placement: this.placement, ...value};\r\n };\r\n get popperOptions(): Partial<Options> {\r\n return {placement: this.placement, ...this._popperOptions};\r\n }\r\n\r\n /**\r\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.\r\n */\r\n @Input('cPopoverPlacement') placement: 'top' | 'bottom' | 'left' | 'right' = 'top';\r\n /**\r\n * Sets which event handlers you’d like provided to your toggle prop. You can specify one trigger or an array of them.\r\n * @type {'hover' | 'focus' | 'click'}\r\n */\r\n @Input('cPopoverTrigger') trigger?: Triggers | Triggers[] = 'hover';\r\n\r\n /**\r\n * Toggle the visibility of popover component.\r\n */\r\n @Input('cPopoverVisible')\r\n set visible(value: boolean) {\r\n this._visible = value;\r\n }\r\n get visible() {\r\n return this._visible;\r\n }\r\n private _visible = false;\r\n\r\n private popover!: HTMLDivElement;\r\n private popoverId!: string;\r\n private popoverRef!: ComponentRef<PopoverComponent>;\r\n private popperInstance!: Instance;\r\n\r\n private _popperOptions: Partial<Options> = {\r\n modifiers: [\r\n {\r\n name: 'offset',\r\n options: {\r\n offset: [0, 8],\r\n },\r\n },\r\n ],\r\n };\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: any,\r\n private renderer: Renderer2,\r\n private hostElement: ElementRef,\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private viewContainerRef: ViewContainerRef,\r\n private listenersService: ListenersService\r\n ) {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['visible']) {\r\n changes['visible'].currentValue ? this.addPopoverElement() : this.removePopoverElement();\r\n }\r\n }\r\n\r\n @HostBinding('attr.aria-describedby') get ariaDescribedBy(): string | null {\r\n return this.popoverId ? this.popoverId : null;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.clearListeners();\r\n this.destroyPopoverElement();\r\n }\r\n\r\n ngOnInit(): void {\r\n // this.createPopoverElement();\r\n this.setListeners();\r\n }\r\n\r\n private setListeners(): void {\r\n const config: IListenersConfig = {\r\n hostElement: this.hostElement,\r\n trigger: this.trigger,\r\n callbackToggle: () => {\r\n this.visible = !this.visible;\r\n this.visible ? this.addPopoverElement() : this.removePopoverElement();\r\n },\r\n callbackOff: () => {\r\n this.visible = false;\r\n this.removePopoverElement();\r\n },\r\n callbackOn: () => {\r\n this.visible = true;\r\n this.addPopoverElement();\r\n }\r\n }\r\n this.listenersService.setListeners(config);\r\n }\r\n\r\n private clearListeners(): void {\r\n this.listenersService.clearListeners();\r\n }\r\n\r\n private getUID(prefix: string): string {\r\n let uid = prefix ?? 'random-id';\r\n do {\r\n uid = `${prefix}-${Math.floor(Math.random() * 1000000).toString(10)}`;\r\n } while (this.document.getElementById(uid));\r\n\r\n return uid;\r\n }\r\n\r\n private createPopoverElement(): void {\r\n if (!this.popoverRef) {\r\n const popoverComponent =\r\n this.componentFactoryResolver.resolveComponentFactory(PopoverComponent);\r\n this.popoverRef = popoverComponent.create(this.viewContainerRef.injector);\r\n }\r\n }\r\n\r\n private destroyPopoverElement(): void {\r\n this.popover?.remove();\r\n this.popoverRef?.destroy();\r\n // @ts-ignore\r\n this.popoverRef = undefined;\r\n this.popperInstance?.destroy();\r\n this.viewContainerRef.detach();\r\n this.viewContainerRef.clear();\r\n }\r\n\r\n private addPopoverElement(): void {\r\n if (!this.popoverRef) {\r\n this.createPopoverElement();\r\n }\r\n this.popoverRef.instance.content = this.content;\r\n this.popover = this.popoverRef.location.nativeElement;\r\n this.renderer.addClass(this.popover, 'fade');\r\n // this.renderer.setStyle(this.popover, 'visibility', 'hidden')\r\n\r\n setTimeout(() => {\r\n this.popperInstance = createPopper(\r\n this.hostElement.nativeElement,\r\n this.popover,\r\n {...this.popperOptions}\r\n );\r\n this.viewContainerRef.insert(this.popoverRef.hostView);\r\n setTimeout(() => {\r\n this.popoverId = this.getUID('popover');\r\n this.popoverRef.instance.id = this.popoverId;\r\n this.popoverRef.instance.visible = this.visible;\r\n // this.renderer.removeStyle(this.popover, 'visibility');\r\n this.renderer.appendChild(this.document.body, this.popover);\r\n this.popperInstance.forceUpdate();\r\n // this.popoverRef.changeDetectorRef.detectChanges();\r\n }, 100);\r\n })\r\n }\r\n\r\n private removePopoverElement(): void {\r\n if (!this.popoverRef) {\r\n return;\r\n }\r\n this.popoverRef.instance.visible = this.visible;\r\n // this.popoverRef.changeDetectorRef?.detectChanges();\r\n this.popoverRef.instance.id = undefined;\r\n setTimeout(() => {\r\n this.viewContainerRef.detach();\r\n // this.viewContainerRef.remove();\r\n // this.renderer.removeChild(this.document.body, this.popover);\r\n this.popperInstance?.destroy();\r\n this.popoverId = '';\r\n }, 300);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PopoverDirective } from './popover.directive';\r\nimport { PopoverComponent } from './popover/popover.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n PopoverDirective,\r\n PopoverComponent\r\n ],\r\n exports: [\r\n PopoverDirective,\r\n PopoverComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class PopoverModule { }\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty, coerceNumberProperty, NumberInput } from '@angular/cdk/coercion';\r\n\r\n@Component({\r\n selector: 'c-progress',\r\n template: '<ng-content></ng-content>'\r\n})\r\nexport class ProgressComponent {\r\n\r\n static ngAcceptInputType_height: NumberInput;\r\n static ngAcceptInputType_thin: BooleanInput;\r\n static ngAcceptInputType_white: BooleanInput;\r\n\r\n /**\r\n * Sets the height of the component. If you set that value the inner `<CProgressBar>` will automatically resize accordingly.\r\n * @type number\r\n */\r\n @Input()\r\n set height(value: number) {\r\n this._height = coerceNumberProperty(value);\r\n }\r\n get height() {\r\n return this._height;\r\n }\r\n private _height: number = 0;\r\n\r\n /**\r\n * Displays thin progress.\r\n * @type boolean\r\n */\r\n @Input()\r\n set thin(value: boolean) {\r\n this._thin = coerceBooleanProperty(value);\r\n }\r\n get thin(): boolean {\r\n return this._thin;\r\n }\r\n private _thin = false;\r\n\r\n /**\r\n * Change the default color to white.\r\n * @type boolean\r\n */\r\n @Input()\r\n get white(): boolean {\r\n return this._white;\r\n }\r\n set white(value: boolean) {\r\n this._white = coerceBooleanProperty(value);\r\n }\r\n private _white = false;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n progress: true,\r\n 'progress-thin': this.thin,\r\n 'progress-white': this.white\r\n };\r\n }\r\n\r\n @HostBinding('style.height')\r\n get hostStyle(): any {\r\n return !!this.height ? `${this.height}px` : '';\r\n }\r\n}\r\n","import { Component, ElementRef, HostBinding, Input, OnChanges, OnInit, Renderer2, SimpleChanges } from '@angular/core';\r\nimport { Colors } from '../coreui.types';\r\nimport { BooleanInput, coerceBooleanProperty, coerceNumberProperty, NumberInput } from '@angular/cdk/coercion';\r\n\r\n@Component({\r\n selector: 'c-progress-bar',\r\n template: '<ng-content></ng-content>'\r\n})\r\nexport class ProgressBarComponent implements OnInit, OnChanges {\r\n\r\n static ngAcceptInputType_animated: BooleanInput;\r\n static ngAcceptInputType_value: NumberInput;\r\n\r\n /**\r\n * Use to animate the stripes right to left via CSS3 animations.\r\n * @type boolean\r\n */\r\n @Input()\r\n set animated(value: boolean) {\r\n this._animated = coerceBooleanProperty(value);\r\n }\r\n get animated() {\r\n return this._animated;\r\n }\r\n private _animated = false;\r\n\r\n /**\r\n * Sets the color context of the component to one of CoreUI’s themed colors.\r\n * @values 'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light'\r\n */\r\n @Input() color?: Colors;\r\n // TODO: check if this is necessary.\r\n @Input() precision = 0;\r\n /**\r\n * The percent to progress the ProgressBar.\r\n */\r\n @Input()\r\n set value(value: number) {\r\n this._value = coerceNumberProperty(value);\r\n };\r\n get value() {\r\n return this._value;\r\n }\r\n private _value = 0;\r\n /**\r\n * Set the progress bar variant to optional striped.\r\n * @values 'striped'\r\n */\r\n @Input() variant?: 'striped';\r\n\r\n /**\r\n * Set default html role attribute.\r\n * @type string\r\n */\r\n @Input()\r\n @HostBinding('attr.role') role = 'progressbar';\r\n private state = {\r\n percent: 0,\r\n min: 0,\r\n max: 100\r\n };\r\n\r\n constructor(\r\n private renderer: Renderer2,\r\n private hostElement: ElementRef\r\n ) { }\r\n\r\n get min(): number {\r\n return this.state.min;\r\n }\r\n\r\n @Input()\r\n set min(value: number) {\r\n this.state.min = isNaN(value) ? 0 : value;\r\n }\r\n\r\n get max(): number {\r\n return this.state.max;\r\n }\r\n\r\n @Input()\r\n set max(value: number) {\r\n this.state.max = isNaN(value) || value <= 0 || value === this.min ? 100 : value;\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'progress-bar': true,\r\n 'progress-bar-animated': this.animated,\r\n [`progress-bar-${this.variant}`]: !!this.variant,\r\n [`bg-${this.color}`]: !!this.color\r\n };\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setValues();\r\n }\r\n\r\n setPercent(): void {\r\n this.state.percent = +((this.value / (this.max - this.min)) * 100).toFixed(this.precision);\r\n }\r\n\r\n setValues(): void {\r\n this.setPercent();\r\n const host: HTMLElement = this.hostElement.nativeElement;\r\n this.renderer.setStyle(host, 'width', `${this.state.percent}%`);\r\n this.renderer.setAttribute(host, 'aria-valuenow', String(this.value));\r\n this.renderer.setAttribute(host, 'aria-valuemin', String(this.min));\r\n this.renderer.setAttribute(host, 'aria-valuemax', String(this.max));\r\n }\r\n\r\n public ngOnChanges(changes: SimpleChanges): void {\r\n this.setValues();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ProgressComponent } from './progress.component';\r\nimport { ProgressBarComponent } from './progress-bar.component';\r\n\r\n@NgModule({\r\n declarations: [ProgressComponent, ProgressBarComponent],\r\n exports: [\r\n ProgressComponent,\r\n ProgressBarComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class ProgressModule { }\r\n","import { Inject, Injectable, Renderer2, RendererFactory2 } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ClassToggleService {\r\n\r\n private renderer: Renderer2;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: any,\r\n private rendererFactory: RendererFactory2\r\n ) {\r\n this.renderer = rendererFactory.createRenderer(null, null);\r\n }\r\n\r\n toggle(selector: any, className: string) {\r\n const element = document.querySelector(selector);\r\n if (element) {\r\n element.classList.contains(className) ?\r\n this.renderer.removeClass(element, className) :\r\n this.renderer.addClass(element, className);\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\nimport {SidebarComponent} from './sidebar/sidebar.component';\r\n\r\nexport interface ISidebarAction {\r\n unfoldable?: boolean | 'toggle';\r\n visible?: boolean | 'toggle';\r\n toggle?: 'visible' | 'unfoldable';\r\n narrow?: boolean;\r\n mobile?: boolean;\r\n sidebar?: SidebarComponent;\r\n id?: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SidebarService {\r\n\r\n private sidebarState = new BehaviorSubject<ISidebarAction>({});\r\n sidebarState$ = this.sidebarState.asObservable();\r\n\r\n constructor() {}\r\n\r\n toggle(action: ISidebarAction): void {\r\n this.sidebarState.next(action);\r\n }\r\n}\r\n","import { Host, Inject, Injectable, Renderer2 } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { SidebarService } from '../sidebar.service';\r\nimport { SidebarComponent } from '../sidebar/sidebar.component';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SidebarBackdropService {\r\n\r\n private backdrop!: HTMLElement;\r\n renderer!: Renderer2;\r\n private clickListener = (): void => {};\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: any,\r\n // private rendererFactory: RendererFactory2,\r\n private sidebarService: SidebarService,\r\n ) {\r\n // this.renderer = rendererFactory.createRenderer(null, null);\r\n }\r\n\r\n setBackdrop(sidebar: SidebarComponent): void {\r\n const backdrop = this.document.getElementsByClassName('sidebar-backdrop');\r\n // console.log(`sidebar-${this.id}`, ' setBackdrop', backdrop);\r\n if (backdrop.length === 0) {\r\n this.backdrop = this.renderer.createElement('div');\r\n this.renderer.addClass(this.backdrop, 'sidebar-backdrop');\r\n this.renderer.appendChild(this.document.body, this.backdrop);\r\n this.clickListener = this.renderer.listen(this.backdrop, 'click', (e) => {\r\n // console.log(`sidebar-${this.id}`, ' backdrop click', e);\r\n this.sidebarService.toggle({toggle: 'visible', sidebar});\r\n });\r\n }\r\n // console.log(this.backdrop, sidebar.sidebarState.mobile, sidebar.sidebarState.show);\r\n if (this.backdrop && sidebar.sidebarState.mobile && sidebar.sidebarState.visible) {\r\n this.renderer.addClass(this.backdrop, 'fade');\r\n this.renderer.addClass(this.backdrop, 'show');\r\n // this.renderer.removeClass(this.backdrop, 'd-none');\r\n } else {\r\n this.renderer.removeClass(this.backdrop, 'show');\r\n this.renderer.removeClass(this.backdrop, 'fade');\r\n // this.renderer.addClass(this.backdrop, 'd-none');\r\n }\r\n }\r\n\r\n clearBackdrop(): void {\r\n if (this.backdrop) {\r\n // clear backdrop click Listener\r\n this.clickListener();\r\n // this.renderer.listen(this.backdrop, 'click', (e): void => {} );\r\n this.renderer.removeChild(this.document.body, this.backdrop);\r\n // @ts-ignore\r\n this.backdrop = undefined;\r\n }\r\n }\r\n\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n HostBinding,\r\n Inject,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n Renderer2,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { ISidebarAction, SidebarService } from '../sidebar.service';\r\nimport { SidebarBackdropService } from '../sidebar-backdrop/sidebar-backdrop.service';\r\n\r\n@Component({\r\n selector: 'c-sidebar',\r\n exportAs: 'cSidebar',\r\n template: '<ng-content></ng-content>',\r\n})\r\nexport class SidebarComponent implements OnChanges, OnDestroy, OnInit {\r\n\r\n static ngAcceptInputType_narrow: BooleanInput;\r\n static ngAcceptInputType_overlaid: BooleanInput;\r\n static ngAcceptInputType_unfoldable: BooleanInput;\r\n static ngAcceptInputType_visible: BooleanInput;\r\n\r\n private _narrow = false;\r\n private _overlaid = false;\r\n private _unfoldable = false;\r\n private _visible = false;\r\n private onMobile = false;\r\n private layoutChangeSubscription!: Subscription;\r\n private stateToggleSubscription!: Subscription;\r\n\r\n state: ISidebarAction = {\r\n sidebar: this\r\n };\r\n\r\n /**\r\n * Sets if the color of text should be colored for a light or dark dark background. [docs]\r\n *\r\n * @type 'dark' | 'light'\r\n */\r\n @Input() colorScheme?: 'dark' | 'light';\r\n\r\n /**\r\n * Sets html attribute id. [docs]\r\n *\r\n * @type string\r\n */\r\n @Input() id?: string;\r\n\r\n /**\r\n * Make sidebar narrow. [docs]\r\n * @type boolean\r\n */\r\n @Input()\r\n set narrow(value: boolean) {\r\n this._narrow = coerceBooleanProperty(value);\r\n }\r\n get narrow() {\r\n return this._narrow;\r\n }\r\n\r\n /**\r\n * Set sidebar to overlaid variant.\r\n * @type boolean\r\n */\r\n @Input()\r\n set overlaid(value: boolean) {\r\n this._overlaid = coerceBooleanProperty(value);\r\n }\r\n get overlaid() {\r\n return this._overlaid;\r\n }\r\n\r\n /**\r\n * Components placement, there’s no default placement. [docs]\r\n * @type 'start' | 'end'\r\n */\r\n @Input() placement?: 'start' | 'end';\r\n\r\n /**\r\n * Place sidebar in non-static positions. [docs]\r\n * @default 'fixed'\r\n */\r\n @Input() position: 'fixed' | 'sticky' = 'fixed';\r\n\r\n /**\r\n * Size the component small, large, or extra large. [docs]\r\n */\r\n @Input() size?: 'sm' | 'lg' | 'xl';\r\n\r\n /**\r\n * Expand narrowed sidebar on hover. [docs]\r\n */\r\n @Input()\r\n set unfoldable(value: boolean) {\r\n this._unfoldable = coerceBooleanProperty(value);\r\n }\r\n get unfoldable() {\r\n return this._unfoldable;\r\n }\r\n\r\n /**\r\n * Toggle the visibility of sidebar component. [docs]\r\n */\r\n @Input()\r\n set visible(value: boolean) {\r\n this._visible = coerceBooleanProperty(value);\r\n this.visibleChange.emit(this._visible);\r\n }\r\n get visible() {\r\n return this._visible;\r\n }\r\n\r\n /**\r\n * Event emitted on visibility change. [docs]\r\n * @type boolean\r\n */\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n\r\n set sidebarState(value: ISidebarAction) {\r\n const newState = value;\r\n if ('toggle' in newState) {\r\n if (newState.toggle === 'visible') {\r\n newState.visible = !this.state.visible;\r\n this.visible = newState.visible && !this.overlaid;\r\n } else if (newState.toggle === 'unfoldable') {\r\n newState.unfoldable = !this.state.unfoldable;\r\n this.unfoldable = newState.unfoldable;\r\n }\r\n }\r\n this.state = {\r\n ...this.state,\r\n ...newState\r\n };\r\n this.state.mobile && this.state.visible ? this.backdropService.setBackdrop(this) : this.backdropService.clearBackdrop();\r\n }\r\n\r\n get sidebarState(): ISidebarAction {\r\n return this.state;\r\n }\r\n\r\n get getMobileBreakpoint(): string {\r\n const element = this.document.firstElementChild;\r\n const mobileBreakpoint = getComputedStyle(element).getPropertyValue('--cui-mobile-breakpoint') || 'md';\r\n const breakpointValue = getComputedStyle(element).getPropertyValue(`--cui-breakpoint-${mobileBreakpoint.trim()}`) || '768px';\r\n return `${parseFloat(breakpointValue.trim()) - .02}px` || '767.98px';\r\n }\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: any,\r\n private renderer: Renderer2,\r\n private breakpointObserver: BreakpointObserver,\r\n private sidebarService: SidebarService,\r\n private backdropService: SidebarBackdropService\r\n ) {\r\n this.backdropService.renderer = renderer;\r\n }\r\n\r\n @HostBinding('class')\r\n get getClasses(): any {\r\n const {mobile, unfoldable, visible} = this.sidebarState;\r\n return {\r\n sidebar: true,\r\n 'sidebar-fixed': this.position === 'fixed' && !mobile,\r\n 'sidebar-narrow': this.narrow && !this.unfoldable,\r\n 'sidebar-narrow-unfoldable': unfoldable,\r\n 'sidebar-overlaid': this.overlaid,\r\n [`sidebar-${this.placement}`]: !!this.placement,\r\n [`sidebar-${this.colorScheme}`]: !!this.colorScheme,\r\n [`sidebar-${this.size}`]: !!this.size,\r\n show: visible && this.onMobile,\r\n hide: !visible && !this.onMobile\r\n };\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setInitialState();\r\n this.layoutChangeSubscribe();\r\n this.stateToggleSubscribe();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.stateToggleSubscribe(false);\r\n this.layoutChangeSubscribe(false);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const oldStateMap = new Map(Object.entries(this.state));\r\n const newStateMap = new Map();\r\n newStateMap.set('sidebar', this);\r\n\r\n const propList = ['visible', 'unfoldable', 'narrow'];\r\n\r\n for (const propName in changes) {\r\n if (propList.includes(propName)) {\r\n if (changes[propName] && !changes[propName].firstChange) {\r\n const value = coerceBooleanProperty(changes[propName].currentValue);\r\n if (oldStateMap.get(propName) !== value) {\r\n newStateMap.set(propName, value);\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (newStateMap.size > 1) {\r\n const state = Object.fromEntries(newStateMap.entries());\r\n this.sidebarService.toggle(state);\r\n }\r\n }\r\n\r\n setInitialState(): void {\r\n this.sidebarService.toggle({\r\n narrow: this.narrow,\r\n visible: this.visible,\r\n unfoldable: this.unfoldable,\r\n sidebar: this\r\n });\r\n }\r\n\r\n private stateToggleSubscribe(subscribe: boolean = true): void {\r\n if (subscribe) {\r\n this.stateToggleSubscription = this.sidebarService.sidebarState$.subscribe((state) => {\r\n if (this === state.sidebar || this.id === state.id) {\r\n this.sidebarState = state;\r\n }\r\n });\r\n } else {\r\n this.stateToggleSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n layoutChangeSubscribe(subscribe: boolean = true): void {\r\n const onMobile = `(max-width: ${this.getMobileBreakpoint})`;\r\n\r\n if (subscribe) {\r\n const layoutChanges = this.breakpointObserver.observe([onMobile]);\r\n\r\n this.layoutChangeSubscription = layoutChanges.subscribe((result: BreakpointState) => {\r\n const isOnMobile = result.breakpoints[onMobile];\r\n if (this.onMobile !== isOnMobile) {\r\n this.onMobile = isOnMobile;\r\n this.sidebarService.toggle({\r\n mobile: isOnMobile,\r\n unfoldable: isOnMobile ? false : this.unfoldable,\r\n visible: isOnMobile ? false : this.visible,\r\n sidebar: this\r\n });\r\n }\r\n });\r\n } else {\r\n this.layoutChangeSubscription.unsubscribe();\r\n }\r\n }\r\n}\r\n","import { Component, HostBinding, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-sidebar-brand',\r\n templateUrl: './sidebar-brand.component.html'\r\n})\r\nexport class SidebarBrandComponent implements OnInit {\r\n\r\n @Input() brandFull?: any;\r\n @Input() brandNarrow?: any;\r\n @Input() routerLink?: any[] | string;\r\n\r\n @HostBinding('class.sidebar-brand') sidebarBrandClass = true;\r\n\r\n brandImg = false;\r\n\r\n ngOnInit(): void {\r\n this.brandImg = Boolean(this.brandFull || this.brandNarrow);\r\n }\r\n}\r\n","<ng-template [ngIf]=\"brandImg\">\r\n <a [routerLink]=\"routerLink\">\r\n <img *ngIf=\"brandFull\"\r\n [cHtmlAttr]=\"brandFull\"\r\n [ngClass]=\"'sidebar-brand-full'\">\r\n <img *ngIf=\"brandNarrow\"\r\n [cHtmlAttr]=\"brandNarrow\"\r\n [ngClass]=\"'sidebar-brand-narrow'\">\r\n </a>\r\n</ng-template>\r\n<ng-template [ngIf]=\"!brandImg\">\r\n <ng-content></ng-content>\r\n</ng-template>\r\n","import {Directive, HostListener, Input} from '@angular/core';\r\n\r\nimport {SidebarService} from '../sidebar.service';\r\n\r\n/**\r\n * Allows the sidebar to be toggled/folded via click on host element.\r\n */\r\n@Directive({\r\n selector: '[cSidebarToggle]',\r\n exportAs: 'cSidebarToggle'\r\n})\r\nexport class SidebarToggleDirective {\r\n /**\r\n * Id of sidebar for toggle action. [docs]\r\n *\r\n * @type string\r\n */\r\n @Input('cSidebarToggle') id?: string;\r\n /**\r\n * Sidebar property name for toggle action. [docs]\r\n *\r\n * @type 'visible' | 'unfoldable'\r\n * @default 'visible'\r\n */\r\n @Input() toggle: 'visible' | 'unfoldable' = 'visible'\r\n\r\n constructor(\r\n private sidebarService: SidebarService\r\n ) {}\r\n\r\n @HostListener('click', ['$event'])\r\n toggleOpen($event: any): void {\r\n $event.preventDefault();\r\n this.sidebarService.toggle({ toggle: this.toggle, id: this.id });\r\n }\r\n}\r\n","import { Component, HostBinding, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-sidebar-toggler',\r\n template: ``,\r\n})\r\nexport class SidebarTogglerComponent {\r\n\r\n @HostBinding('attr.role')\r\n @Input() role = 'button';\r\n\r\n @HostBinding('class.sidebar-toggler') sidebarTogglerClass = true;\r\n}\r\n","import { Component, HostBinding } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-sidebar-header',\r\n templateUrl: './sidebar-header.component.html',\r\n styleUrls: ['./sidebar-header.component.scss']\r\n})\r\nexport class SidebarHeaderComponent {\r\n constructor() {}\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'sidebar-header': true\r\n };\r\n }\r\n}\r\n","<ng-content></ng-content>\r\n","import { Component, HostBinding } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-sidebar-footer',\r\n templateUrl: './sidebar-footer.component.html',\r\n styleUrls: ['./sidebar-footer.component.scss']\r\n})\r\nexport class SidebarFooterComponent {\r\n\r\n constructor() { }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'sidebar-footer': true\r\n };\r\n }\r\n}\r\n","<ng-content></ng-content>\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { INavData } from './sidebar-nav';\r\n\r\n@Injectable()\r\nexport abstract class SidebarNavService {\r\n /**\r\n * Returns a sidebar-nav items config NavData\r\n */\r\n abstract getSidebarNavItemsConfig(): INavData[];\r\n}\r\n\r\n@Injectable()\r\nexport class SidebarNavHelper {\r\n\r\n itemType(item: INavData): string {\r\n if (item.divider) {\r\n return 'divider';\r\n } else if (item.title) {\r\n return 'title';\r\n } else if (item.children && item.children.length > 0 ) {\r\n return 'group';\r\n } else if (item.label) {\r\n return 'label';\r\n } else if (!Object.keys(item).length) {\r\n return 'empty';\r\n } else {\r\n return 'link';\r\n }\r\n }\r\n\r\n public isActive(router: any, item: INavData): boolean {\r\n return router.isActive(item.url, false);\r\n }\r\n\r\n public hasBadge = (item: INavData) => Boolean(item.badge);\r\n public hasIcon = (item: INavData) => Boolean(item.icon) || item.icon === '';\r\n public hasIconComponent = (item: INavData) => Boolean(item.iconComponent);\r\n\r\n public getIconClass(item: INavData): any {\r\n const classes = {\r\n 'nav-icon': true\r\n };\r\n const icon = item.icon;\r\n // @ts-ignore\r\n classes[icon] = this.hasIcon(item);\r\n return classes;\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-sidebar-nav-divider',\r\n template: ``\r\n})\r\nexport class SidebarNavDividerComponent {\r\n @Input() item: any;\r\n\r\n constructor() {\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'cSidebarNavBadge'\r\n})\r\nexport class SidebarNavBadgePipe implements PipeTransform {\r\n\r\n transform(item: any, args?: any): any {\r\n const badge = item.badge;\r\n return {\r\n badge: true,\r\n 'ms-auto': true,\r\n 'badge-sm': !badge.size,\r\n [`badge-${badge.size}`]: !!badge.size,\r\n [`bg-${badge.color}`]: !!badge.color,\r\n [`${badge.class}`]: !!badge.class\r\n };\r\n }\r\n\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {SidebarNavHelper} from './sidebar-nav.service';\r\n\r\n@Component({\r\n selector: 'c-sidebar-nav-label',\r\n templateUrl: './sidebar-nav-label.component.html'\r\n})\r\nexport class SidebarNavLabelComponent implements OnInit {\r\n @Input() item: any;\r\n\r\n private classes = {\r\n 'c-nav-label': true,\r\n 'c-active': true\r\n };\r\n private iconClasses = {};\r\n\r\n constructor(\r\n public helper: SidebarNavHelper\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.iconClasses = this.helper.getIconClass(this.item);\r\n }\r\n\r\n getItemClass() {\r\n const itemClass = this.item.class;\r\n // @ts-ignore\r\n this.classes[itemClass] = !!itemClass;\r\n return this.classes;\r\n }\r\n getLabelIconClass() {\r\n const variant = `text-${this.item.label.variant}`;\r\n // @ts-ignore\r\n this.iconClasses[variant] = !!this.item.label.variant;\r\n const labelClass = this.item.label.class;\r\n // @ts-ignore\r\n this.iconClasses[labelClass] = !!labelClass;\r\n return this.iconClasses;\r\n }\r\n}\r\n","<a [ngClass]=\"getItemClass()\"\r\n href=\"{{item.url}}\"\r\n [cHtmlAttr]=\"item.attributes\">\r\n <i *ngIf=\"helper.hasIcon(item)\" [ngClass]=\"getLabelIconClass()\"></i>\r\n <ng-container>{{ item.name }}</ng-container>\r\n <span *ngIf=\"helper.hasBadge(item)\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge.text }}</span>\r\n</a>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'cSidebarNavIcon'\r\n})\r\nexport class SidebarNavIconPipe implements PipeTransform {\r\n\r\n transform(item: any, args?: any): any {\r\n const icon = item.icon;\r\n const classes = {\r\n 'nav-icon': true,\r\n [`${icon}`]: !!icon\r\n };\r\n return classes;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'cSidebarNavLink'\r\n})\r\nexport class SidebarNavLinkPipe implements PipeTransform {\r\n\r\n transform(item: any): any {\r\n\r\n const disabled = item?.attributes?.disabled;\r\n\r\n const classes = {\r\n 'nav-link': true,\r\n disabled,\r\n 'btn-link': disabled,\r\n [`nav-link-${item.variant}`]: !!item.variant\r\n };\r\n return classes;\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\r\nimport {NavigationEnd, Router} from '@angular/router';\r\nimport {Observable, Subscription} from 'rxjs';\r\nimport {filter} from 'rxjs/operators';\r\n\r\nimport {SidebarNavHelper} from './sidebar-nav.service';\r\n// import {SidebarService} from '../sidebar.service';\r\nimport { INavData } from './sidebar-nav';\r\n\r\n@Component({\r\n selector: 'c-sidebar-nav-link-content',\r\n template: `\r\n <ng-container *ngIf=\"true\">\r\n <ng-container>{{item?.name ?? ''}}</ng-container>\r\n </ng-container>\r\n `,\r\n providers: [ SidebarNavHelper ]\r\n})\r\nexport class SidebarNavLinkContentComponent {\r\n @Input() item?: INavData;\r\n\r\n constructor(\r\n public helper: SidebarNavHelper\r\n ) { }\r\n}\r\n\r\n@Component({\r\n selector: 'c-sidebar-nav-link',\r\n templateUrl: './sidebar-nav-link.component.html',\r\n providers: [ SidebarNavHelper ]\r\n})\r\nexport class SidebarNavLinkComponent implements OnInit, OnDestroy {\r\n\r\n // tslint:disable-next-line:variable-name\r\n protected _item: INavData = {};\r\n\r\n @Input()\r\n set item(item: INavData) {\r\n this._item = JSON.parse(JSON.stringify(item));\r\n }\r\n get item(): INavData {\r\n return this._item;\r\n }\r\n\r\n @Output() linkClick = new EventEmitter();\r\n\r\n // @ts-ignore\r\n public linkType: string;\r\n // @ts-ignore\r\n public href: string;\r\n // @ts-ignore\r\n public linkActive: boolean;\r\n // @ts-ignore\r\n private url: string;\r\n\r\n private navigationEndObservable: Observable<NavigationEnd>;\r\n // @ts-ignore\r\n private navSubscription: Subscription;\r\n\r\n constructor(\r\n public router: Router,\r\n // private renderer: Renderer2,\r\n // private hostElement: ElementRef,\r\n // private sidebarService: SidebarService\r\n ) {\r\n this.navigationEndObservable = router.events.pipe(\r\n filter(event => {\r\n return event instanceof NavigationEnd;\r\n })\r\n ) as Observable<NavigationEnd>;\r\n }\r\n\r\n ngOnInit(): void {\r\n // @ts-ignore\r\n this.url = typeof this.item.url === 'string' ? this.item.url : this.router.serializeUrl(this.router.createUrlTree(this.item.url)) ;\r\n this.linkType = this.getLinkType();\r\n this.href = this.isDisabled() ? '' : (this.item.href || this.url);\r\n this.linkActive = this.router.url.split(/[?#(;]/)[0] === this.href.split(/[?#(;]/)[0];\r\n this.navSubscription = this.navigationEndObservable.subscribe(event => {\r\n const itemUrlArray = this.href.split(/[?#(;]/)[0].split('/');\r\n const urlArray = event.urlAfterRedirects.split(/[?#(;]/)[0].split('/');\r\n this.linkActive = itemUrlArray.every((value, index) => value === urlArray[index]);\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.navSubscription.unsubscribe();\r\n }\r\n\r\n public getLinkType(): string {\r\n return this.isDisabled() ? 'disabled' : this.isExternalLink() ? 'external' : 'link';\r\n }\r\n\r\n public isDisabled(): boolean {\r\n return this.item?.attributes?.['disabled'];\r\n }\r\n\r\n public isExternalLink(): boolean {\r\n const linkPath = Array.isArray(this.item.url) ? this.item.url[0] : this.item.url;\r\n return !!this.item.href || linkPath.substring(0, 4) === 'http';\r\n }\r\n\r\n linkClicked(): void {\r\n this.linkClick.emit();\r\n }\r\n\r\n // public hideMobile() {\r\n // // todo: proper scrollIntoView() after NavigationEnd\r\n // setTimeout(() => {\r\n // console.log('scroll')\r\n // this.hostElement.nativeElement.scrollIntoView();\r\n // }, 1000)\r\n // this.sidebarService.toggle({open: false, breakpoint: ''});\r\n // }\r\n}\r\n","<ng-container [ngSwitch]=\"linkType\">\r\n <a *ngSwitchCase=\"'disabled'\"\r\n [ngClass]=\"item | cSidebarNavLink\"\r\n [cHtmlAttr]=\"item.attributes ?? {}\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: {$implicit: item}\"></ng-container>\r\n <c-sidebar-nav-link-content [item]=\"item\"></c-sidebar-nav-link-content>\r\n <span *ngIf=\"item.badge\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge?.text }}</span>\r\n </a>\r\n <a *ngSwitchCase=\"'external'\"\r\n [ngClass]=\"item | cSidebarNavLink\"\r\n [href]=\"href\"\r\n [cHtmlAttr]=\"item.attributes ?? {}\"\r\n (click)=\"linkClicked()\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: {$implicit: item}\"></ng-container>\r\n <c-sidebar-nav-link-content [item]=\"item\"></c-sidebar-nav-link-content>\r\n <span *ngIf=\"item.badge\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge?.text }}</span>\r\n </a>\r\n <a *ngSwitchDefault\r\n [ngClass]=\"item | cSidebarNavLink\"\r\n [cHtmlAttr]=\"item.attributes ?? {}\"\r\n [target]=\"item.attributes?.['target']\"\r\n [queryParams]=\"item.linkProps?.queryParams ?? null\"\r\n [fragment]=\"item.linkProps?.fragment\"\r\n [queryParamsHandling]=\"item.linkProps?.queryParamsHandling\"\r\n [preserveFragment]=\"item.linkProps?.preserveFragment ?? false\"\r\n [skipLocationChange]=\"item.linkProps?.skipLocationChange ?? false\"\r\n [replaceUrl]=\"item.linkProps?.replaceUrl ?? false\"\r\n [state]=\"item.linkProps?.state ?? {}\"\r\n [routerLink]=\"item.url\"\r\n routerLinkActive=\"active\"\r\n [routerLinkActiveOptions]=\"item.linkProps?.routerLinkActiveOptions ?? { exact: false }\"\r\n (click)=\"linkClicked()\"\r\n >\r\n<!-- [class.active]=\"linkActive\"-->\r\n <ng-container *ngTemplateOutlet=\"iconTemplate ; context: {$implicit: item}\"></ng-container>\r\n <c-sidebar-nav-link-content [item]=\"item\"></c-sidebar-nav-link-content>\r\n <span *ngIf=\"item.badge\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge?.text }}</span>\r\n </a>\r\n</ng-container>\r\n\r\n<ng-template #iconTemplate let-item>\r\n <i *ngIf=\"item?.icon\" [ngClass]=\"item | cSidebarNavIcon\"></i>\r\n <ng-template [ngIf]=\"item?.iconComponent\">\r\n <svg\r\n [cIcon]=\"item.iconComponent?.content\"\r\n [name]=\"item.iconComponent?.name\"\r\n [customClasses]=\"item | cSidebarNavIcon\"\r\n ></svg>\r\n </ng-template>\r\n <span *ngIf=\"!item?.icon && !item?.iconComponent\" [ngClass]=\"item | cSidebarNavIcon\"></span>\r\n</ng-template>\r\n","import {Component, ElementRef, Input, OnInit, Renderer2} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-sidebar-nav-title',\r\n template: '',\r\n})\r\nexport class SidebarNavTitleComponent implements OnInit {\r\n @Input() item: any;\r\n\r\n constructor(\r\n private el: ElementRef,\r\n private renderer: Renderer2,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n const nativeElement: HTMLElement = this.el.nativeElement;\r\n const name = this.renderer.createText(this.item.name);\r\n\r\n if ( this.item.class ) {\r\n const classes = this.item.class;\r\n this.renderer.addClass(nativeElement, classes);\r\n }\r\n\r\n if ( this.item.wrapper ) {\r\n const wrapper = this.renderer.createElement(this.item.wrapper.element);\r\n this.addAttribs(this.item.wrapper.attributes, wrapper);\r\n this.renderer.appendChild(wrapper, name);\r\n this.renderer.appendChild(nativeElement, wrapper);\r\n } else {\r\n this.renderer.appendChild(nativeElement, name);\r\n }\r\n }\r\n\r\n private addAttribs(attribs: { [x: string]: any; }, element: any): void {\r\n if (attribs) {\r\n for (const attr in attribs) {\r\n if (attr === 'style' && typeof(attribs[attr]) === 'object' ) {\r\n this.setStyle(attribs[attr], element);\r\n } else if (attr === 'class') {\r\n this.addClass(attribs[attr], element);\r\n } else {\r\n this.setAttrib(attr, attribs[attr], element);\r\n }\r\n }\r\n }\r\n }\r\n\r\n private setStyle(styles: { [x: string]: any; }, el: any): void {\r\n for (const style in styles) {\r\n if (style) {\r\n this.renderer.setStyle(el, style, styles[style]);\r\n }\r\n }\r\n }\r\n\r\n private addClass(classes: string | Array<string>, el: any): void {\r\n const classArray = (Array.isArray(classes) ? classes : classes.split(' '));\r\n classArray.filter((element) => element.length > 0).forEach(element => {\r\n this.renderer.addClass(el, element );\r\n });\r\n }\r\n\r\n private setAttrib(key: string, value: string, el: any): void {\r\n this.renderer.setAttribute(el, key, value );\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\nimport {SidebarNavHelper} from './sidebar-nav.service';\r\n\r\n@Pipe({\r\n name: 'cSidebarNavItemClass'\r\n})\r\nexport class SidebarNavItemClassPipe implements PipeTransform {\r\n\r\n constructor(\r\n public helper: SidebarNavHelper\r\n ) {}\r\n\r\n // transform(item: any, ...args: any[]): any {\r\n transform(item: any, args?: any[]): any {\r\n const itemType = this.helper.itemType(item);\r\n let itemClass;\r\n if (['divider', 'title'].includes(itemType)) {\r\n itemClass = `nav-${itemType}`;\r\n } else if (itemType === 'group') {\r\n // itemClass = 'c-sidebar-nav-group' ;\r\n itemClass = '' ;\r\n } else {\r\n itemClass = 'nav-item';\r\n }\r\n return item.class ? `${itemClass} ${item.class}` : itemClass;\r\n }\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n HostBinding,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Optional,\r\n Renderer2,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\n\r\nimport { INavData } from './sidebar-nav';\r\nimport { SidebarNavHelper } from './sidebar-nav.service';\r\nimport { SidebarService } from '../sidebar.service';\r\nimport { SidebarComponent } from '../sidebar/sidebar.component';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'c-sidebar-nav',\r\n templateUrl: './sidebar-nav.component.html',\r\n styleUrls: ['./sidebar-nav.component.scss']\r\n })\r\nexport class SidebarNavComponent implements OnChanges {\r\n @Input() navItems?: INavData[] = [];\r\n @Input() dropdownMode?: 'closeInactive' | 'noAction' | 'openActive' = 'closeInactive';\r\n @Input() groupItems?: boolean;\r\n @Input() compact?: boolean;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'sidebar-nav': !this.groupItems,\r\n compact: !this.groupItems && !!this.compact\r\n };\r\n }\r\n\r\n @HostBinding('class.nav-group-items')\r\n get sidebarNavGroupItemsClass(): boolean {\r\n return !!this.groupItems;\r\n }\r\n\r\n @HostBinding('attr.role') role = 'nav';\r\n\r\n public navItemsArray: INavData[] = [];\r\n\r\n constructor(\r\n @Optional() public sidebar: SidebarComponent,\r\n public helper: SidebarNavHelper,\r\n public router: Router,\r\n private renderer: Renderer2,\r\n private hostElement: ElementRef,\r\n private sidebarService: SidebarService\r\n ) { }\r\n\r\n public ngOnChanges(changes: SimpleChanges): void {\r\n this.navItemsArray = Array.isArray(this.navItems) ? this.navItems.slice() : [];\r\n }\r\n\r\n public hideMobile(): void {\r\n // todo: proper scrollIntoView() after NavigationEnd\r\n if (this.sidebar && this.sidebar.sidebarState.mobile) {\r\n this.sidebarService.toggle({toggle: 'visible', sidebar: this.sidebar});\r\n }\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'c-sidebar-nav-group',\r\n templateUrl: './sidebar-nav-group.component.html',\r\n styleUrls: ['./sidebar-nav-group.component.scss'],\r\n providers: [ SidebarNavHelper ]\r\n})\r\nexport class SidebarNavGroupComponent implements OnInit, OnDestroy {\r\n @Input() item: any;\r\n @Input() dropdownMode: 'closeInactive' | 'noAction' | 'openActive' = 'closeInactive';\r\n // @ts-ignore\r\n @Input() show: boolean;\r\n\r\n @HostBinding('class')\r\n // tslint:disable-next-line:typedef\r\n get hostClasses(): any {\r\n return {\r\n 'nav-group': true,\r\n show: this.open,\r\n };\r\n }\r\n\r\n // todo: dropdownMode\r\n\r\n navigationEndObservable: Observable<NavigationEnd>;\r\n // @ts-ignore\r\n navSubscription: Subscription;\r\n\r\n // @ts-ignore\r\n private open: boolean;\r\n public navItems: INavData[] = [];\r\n\r\n constructor(\r\n private router: Router,\r\n public helper: SidebarNavHelper,\r\n private hostElement: ElementRef\r\n ) {\r\n this.navigationEndObservable = router.events.pipe(\r\n filter((event: any) => event instanceof NavigationEnd)\r\n ) as Observable<NavigationEnd>;\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.navItems = [...this.item.children];\r\n\r\n this.navSubscription = this.navigationEndObservable.subscribe((event: NavigationEnd) => {\r\n const samePath = this.samePath(event.url);\r\n this.openGroup(samePath);\r\n });\r\n\r\n if (this.samePath(this.router.routerState.snapshot.url)) {\r\n this.openGroup(true);\r\n }\r\n }\r\n\r\n samePath(url: string): boolean {\r\n // console.log('item:', this.item.name, this.item.url, 'url:', url);\r\n const itemArray = this.item.url?.split('/');\r\n const urlArray = url.split('/');\r\n return itemArray?.every((value: string, index: number) => {\r\n // console.log(value === urlArray[index], 'value:', value, 'index:', index, urlArray[index], url);\r\n return value === urlArray[index];\r\n });\r\n }\r\n\r\n openGroup(open: boolean): void {\r\n this.open = open;\r\n }\r\n\r\n toggleGroup($event: any): void {\r\n $event.preventDefault();\r\n this.open = !this.open;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.navSubscription.unsubscribe();\r\n }\r\n}\r\n","<ng-container *ngFor=\"let item of navItemsArray\">\r\n <ng-container [ngSwitch]=\"helper.itemType(item)\">\r\n <c-sidebar-nav-group\r\n *ngSwitchCase=\"'group'\"\r\n [item]=\"item\"\r\n [ngClass]=\"item | cSidebarNavItemClass\"\r\n routerLinkActive=\"show\"\r\n #rla=\"routerLinkActive\"\r\n [routerLinkActiveOptions]=\"{exact: true}\"\r\n >\r\n </c-sidebar-nav-group>\r\n <c-sidebar-nav-divider\r\n *ngSwitchCase=\"'divider'\"\r\n [item]=\"item\"\r\n [ngClass]=\"item | cSidebarNavItemClass\"\r\n [cHtmlAttr]=\"item.attributes ?? {}\">\r\n </c-sidebar-nav-divider>\r\n <c-sidebar-nav-title\r\n *ngSwitchCase=\"'title'\"\r\n [item]=\"item\"\r\n [ngClass]=\"item | cSidebarNavItemClass\"\r\n [cHtmlAttr]=\"item.attributes ?? {}\">\r\n </c-sidebar-nav-title>\r\n <c-sidebar-nav-label\r\n *ngSwitchCase=\"'label'\"\r\n [item]=\"item\"\r\n [ngClass]=\"item | cSidebarNavItemClass\">\r\n </c-sidebar-nav-label>\r\n <ng-container\r\n *ngSwitchCase=\"'empty'\">\r\n </ng-container>\r\n <c-sidebar-nav-link\r\n *ngSwitchDefault\r\n [item]=\"item\"\r\n [ngClass]=\"item | cSidebarNavItemClass\"\r\n (linkClick)=\"hideMobile()\"\r\n >\r\n </c-sidebar-nav-link>\r\n </ng-container>\r\n</ng-container>\r\n<ng-content></ng-content>\r\n","<a class=\"nav-link nav-group-toggle\"\r\n (click)=\"toggleGroup($event)\"\r\n [cHtmlAttr]=\"item.attributes\">\r\n <ng-container *ngTemplateOutlet=\"iconTemplate ; context: {$implicit: item}\"></ng-container>\r\n <ng-container>{{ item.name }}</ng-container>\r\n <span *ngIf=\"helper.hasBadge(item)\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge.text }}</span>\r\n</a>\r\n<c-sidebar-nav\r\n [groupItems]=\"true\"\r\n [navItems]=\"navItems\">\r\n</c-sidebar-nav>\r\n\r\n<ng-template #iconTemplate let-item>\r\n <i *ngIf=\"item?.icon\" [ngClass]=\"item | cSidebarNavIcon\"></i>\r\n <ng-template [ngIf]=\"item?.iconComponent\">\r\n <svg\r\n [cIcon]=\"item.iconComponent?.content\"\r\n [name]=\"item.iconComponent?.name\"\r\n [customClasses]=\"item | cSidebarNavIcon\"\r\n ></svg>\r\n </ng-template>\r\n <span *ngIf=\"!item?.icon && !item?.iconComponent\" [ngClass]=\"item | cSidebarNavIcon\"></span>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { IconModule } from '@coreui/icons-angular';\r\n\r\nimport { SidebarComponent } from './sidebar/sidebar.component';\r\nimport { SidebarService } from './sidebar.service';\r\nimport { SidebarBrandComponent } from './sidebar-brand/sidebar-brand.component';\r\nimport { SidebarToggleDirective } from './sidebar-toggle/sidebar-toggle.directive';\r\nimport { SidebarTogglerComponent } from './sidebar-toggler/sidebar-toggler.component';\r\nimport { SidebarHeaderComponent } from './sidebar-header/sidebar-header.component';\r\nimport { SidebarFooterComponent } from './sidebar-footer/sidebar-footer.component';\r\n\r\nimport { SharedModule } from '../shared';\r\n\r\nimport {\r\n SidebarNavBadgePipe,\r\n SidebarNavComponent,\r\n SidebarNavDividerComponent,\r\n SidebarNavGroupComponent,\r\n SidebarNavHelper,\r\n SidebarNavIconPipe,\r\n SidebarNavItemClassPipe,\r\n SidebarNavLabelComponent,\r\n SidebarNavLinkComponent,\r\n SidebarNavLinkContentComponent,\r\n SidebarNavLinkPipe,\r\n SidebarNavTitleComponent\r\n} from './sidebar-nav';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n SidebarComponent,\r\n SidebarTogglerComponent,\r\n SidebarToggleDirective,\r\n SidebarBrandComponent,\r\n SidebarNavBadgePipe,\r\n SidebarNavComponent,\r\n SidebarNavDividerComponent,\r\n SidebarNavGroupComponent,\r\n // SidebarNavGroupToggleDirective,\r\n SidebarNavIconPipe,\r\n SidebarNavItemClassPipe,\r\n SidebarNavLabelComponent,\r\n SidebarNavLinkComponent,\r\n SidebarNavLinkContentComponent,\r\n SidebarNavLinkPipe,\r\n SidebarNavTitleComponent,\r\n SidebarHeaderComponent,\r\n SidebarFooterComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n SharedModule,\r\n IconModule\r\n ],\r\n exports: [\r\n SidebarComponent,\r\n SidebarToggleDirective,\r\n SidebarTogglerComponent,\r\n SidebarBrandComponent,\r\n SidebarNavComponent,\r\n SidebarHeaderComponent,\r\n SidebarFooterComponent,\r\n ],\r\n providers: [\r\n SidebarService,\r\n SidebarNavHelper\r\n ],\r\n})\r\nexport class SidebarModule { }\r\n","import { Component, EventEmitter, HostBinding, Input, Output, TemplateRef } from '@angular/core';\r\nimport { ISmartPagination } from './smart-pagination.type';\r\nimport { coerceNumberProperty, NumberInput } from '@angular/cdk/coercion';\r\n\r\n@Component({\r\n selector: 'c-smart-pagination',\r\n templateUrl: './smart-pagination.component.html',\r\n exportAs: 'cSmartPagination'\r\n})\r\nexport class SmartPaginationComponent implements ISmartPagination {\r\n\r\n static ngAcceptInputType_activePage: NumberInput;\r\n static ngAcceptInputType_pages: NumberInput;\r\n static ngAcceptInputType_limit: NumberInput;\r\n\r\n constructor() { }\r\n\r\n /**\r\n * Current page number. [docs]\r\n * @default 1\r\n * @type number\r\n */\r\n @Input()\r\n set activePage(value: number) {\r\n this._activePage = coerceNumberProperty(value);\r\n }\r\n get activePage(): number {\r\n return this._activePage;\r\n }\r\n private _activePage: number = 1;\r\n\r\n /**\r\n * Event triggered on activePage change.\r\n * @type EventEmitter<number>\r\n */\r\n @Output() activePageChange: EventEmitter<number> = new EventEmitter<number>();\r\n\r\n /**\r\n * Show/hide arrows\r\n * @default true\r\n * @type boolean\r\n */\r\n @Input() arrows: boolean = true;\r\n\r\n /**\r\n * Show double arrows buttons\r\n * @default true\r\n * @type boolean\r\n */\r\n @Input() doubleArrows: boolean = true;\r\n\r\n /**\r\n * Show/hide dots. [docs]\r\n * @default true\r\n */\r\n @Input() dots: boolean = true;\r\n\r\n /**\r\n * Maximum items number. [docs]\r\n * @default 5\r\n * @type number\r\n */\r\n @Input()\r\n set limit(value: number) {\r\n this._limit = coerceNumberProperty(value);\r\n }\r\n get limit(): number {\r\n return this._limit;\r\n }\r\n private _limit: number = 5;\r\n\r\n /**\r\n * Number of pages. [docs]\r\n * @type number\r\n */\r\n @Input()\r\n set pages(value: number) {\r\n this._pages = coerceNumberProperty(value);\r\n }\r\n get pages(): number {\r\n return this._pages;\r\n }\r\n private _pages: number = 1;\r\n\r\n /**\r\n * The content of 'firstButton' button. [docs]\r\n * @default '«'\r\n * todo TemplateRef\r\n */\r\n @Input() firstButton?: string | TemplateRef<any> = '«';\r\n // firstButton?: string | TemplateRef<any> = '«'\r\n\r\n /**\r\n * The content of 'lastButton' button. [docs]\r\n * @default '»'\r\n * todo TemplateRef\r\n */\r\n @Input() lastButton?: string | TemplateRef<any> = '»';\r\n // lastButton?: string | TemplateRef<any> = '»'\r\n\r\n /**\r\n * The content of 'nextButton' button. [docs]\r\n * @default '&lsaquo'\r\n * todo TemplateRef\r\n */\r\n @Input() nextButton?: string | TemplateRef<any> = '›';\r\n\r\n /**\r\n * The content of 'previousButton' button. [docs]\r\n * @default '&rsaquo'\r\n * todo TemplateRef\r\n */\r\n @Input() previousButton?: string | TemplateRef<any> = '‹';\r\n\r\n /**\r\n * Set the alignment of pagination components.\r\n * @values 'start', 'center', 'end'\r\n */\r\n @Input() align?: 'start' | 'center' | 'end' | '' = 'start';\r\n\r\n /**\r\n * Size the component small or large.\r\n * @values 'sm', 'lg'\r\n */\r\n @Input() size?: 'sm' | 'lg';\r\n\r\n /**\r\n * Default role for pagination. [docs]\r\n * @type string\r\n * @default 'navigation'\r\n */\r\n @HostBinding('attr.role')\r\n @Input() role = 'navigation';\r\n\r\n get paginationClass(): any {\r\n return {\r\n pagination: true,\r\n [`pagination-${this.size}`]: !!this.size,\r\n [`justify-content-${this.align}`]: !!this.align\r\n };\r\n }\r\n\r\n get maxPrevItems() {\r\n return Math.floor((this._limit - 1) / 2);\r\n }\r\n\r\n get maxNextItems() {\r\n return Math.ceil((this._limit - 1) / 2);\r\n }\r\n\r\n get range(): number {\r\n return this.activePage + this.maxNextItems;\r\n }\r\n\r\n get lastItem(): number {\r\n return this.range >= this._pages ? this._pages : this.range - (this.afterDots ? 1 : 0);\r\n }\r\n\r\n get computedLimit(): number {\r\n return this._limit - (this.afterDots ? 1 : 0) - (this.beforeDots ? 1 : 0);\r\n }\r\n\r\n get itemsLimit(): number {\r\n return this._pages < this.computedLimit ? this._pages : this.computedLimit;\r\n }\r\n\r\n get showDots(): boolean {\r\n return this.dots && this._limit > 4 && this._limit < this._pages;\r\n }\r\n\r\n get beforeDots(): boolean {\r\n return this.showDots && this.activePage > this.maxPrevItems + 1;\r\n }\r\n\r\n get afterDots(): boolean {\r\n return this.showDots && this.activePage < this._pages - this.maxNextItems;\r\n }\r\n\r\n get items() {\r\n if (this.activePage - this.maxPrevItems <= 1) {\r\n return Array.from(\r\n {\r\n length: this.itemsLimit\r\n },\r\n (_item, i) => i + 1\r\n );\r\n } else {\r\n return Array.from(\r\n {\r\n length: this.itemsLimit\r\n },\r\n (_item, i) => {\r\n return this.lastItem - i;\r\n }\r\n ).reverse();\r\n }\r\n }\r\n\r\n setPage(page: number) {\r\n if (page !== this.activePage) {\r\n this.activePage = page;\r\n this.activePageChange.emit(page);\r\n }\r\n }\r\n}\r\n","<ul [ngClass]=\"paginationClass\">\r\n <li *ngIf=\"doubleArrows\" cPageItem>\r\n <button\r\n (click)=\"setPage(1)\"\r\n [disabled]=\"activePage === 1\"\r\n aria-label=\"First page\"\r\n cPageLink\r\n >\r\n <span aria-hidden=\"true\">{{firstButton}}</span>\r\n </button>\r\n </li>\r\n <li *ngIf=\"arrows\" cPageItem>\r\n <button\r\n (click)=\"setPage(activePage - 1)\"\r\n [disabled]=\"activePage === 1\"\r\n aria-label=\"Previous page\"\r\n cPageLink\r\n >\r\n <span aria-hidden=\"true\">{{previousButton}}</span>\r\n </button>\r\n </li>\r\n <li *ngIf=\"beforeDots\" cPageItem>\r\n <a cPageLink disabled role=\"separator\">\r\n ...\r\n </a>\r\n </li>\r\n <li *ngFor=\"let item of items; index as i\" [active]=\"activePage === item\" cPageItem>\r\n <button\r\n (click)=\"setPage(item)\"\r\n [title]=\"(activePage === item ? 'Current page ' : 'Go to page ') + (item).toString()\"\r\n cPageLink\r\n >\r\n {{item}}\r\n </button>\r\n </li>\r\n <li *ngIf=\"afterDots\" cPageItem>\r\n <a cPageLink disabled role=\"separator\">\r\n ...\r\n </a>\r\n </li>\r\n <li *ngIf=\"arrows\" cPageItem>\r\n <button\r\n (click)=\"setPage(activePage + 1)\"\r\n [disabled]=\"activePage === pages\"\r\n aria-label=\"Next page\"\r\n cPageLink\r\n >\r\n <span aria-hidden=\"true\">{{nextButton}}</span>\r\n </button>\r\n </li>\r\n <li *ngIf=\"doubleArrows\" cPageItem>\r\n <button\r\n (click)=\"setPage(pages)\"\r\n [disabled]=\"activePage === pages\"\r\n aria-label=\"Last page\"\r\n cPageLink\r\n >\r\n <span aria-hidden=\"true\">{{lastButton}}</span>\r\n </button>\r\n </li>\r\n</ul>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PaginationModule } from '../pagination';\r\nimport { SmartPaginationComponent } from './smart-pagination.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n SmartPaginationComponent\r\n ],\r\n exports: [\r\n SmartPaginationComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n PaginationModule\r\n ]\r\n})\r\nexport class SmartPaginationModule {\r\n}\r\n","import { Directive, ElementRef, HostBinding, Input, OnInit, Renderer2 } from '@angular/core';\r\nimport { Breakpoints, Colors } from '../coreui.types';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { ITable } from './table.type';\r\n\r\n@Directive({\r\n selector: 'table[cTable]'\r\n})\r\nexport class TableDirective implements ITable, OnInit {\r\n static ngAcceptInputType_bordered: BooleanInput;\r\n static ngAcceptInputType_borderless: BooleanInput;\r\n static ngAcceptInputType_hover: BooleanInput;\r\n static ngAcceptInputType_small: BooleanInput;\r\n static ngAcceptInputType_striped: BooleanInput;\r\n\r\n /**\r\n * Set the vertical alignment.\r\n * @type string\r\n * @values 'bottom' | 'middle' | 'top'\r\n */\r\n @Input() align?: 'bottom' | 'middle' | 'top';\r\n /**\r\n * Sets the border color of the component to one of CoreUI’s themed colors.\r\n * @type Colors\r\n */\r\n @Input() borderColor?: Colors;\r\n /**\r\n * Add borders on all sides of the table and cells.\r\n * @type boolean\r\n */\r\n @Input()\r\n set bordered(value: boolean) {\r\n this._bordered = coerceBooleanProperty(value);\r\n };\r\n get bordered() {\r\n return this._bordered;\r\n }\r\n private _bordered = false;\r\n /**\r\n * Remove borders on all sides of the table and cells.\r\n * @type boolean\r\n */\r\n @Input()\r\n set borderless(value: boolean) {\r\n this._borderless = coerceBooleanProperty(value);\r\n };\r\n get borderless() {\r\n return this._borderless;\r\n }\r\n private _borderless = false;\r\n /**\r\n * Put the `<caption>` on the top of the table.\r\n * @values 'top'\r\n */\r\n @Input() caption?: 'top';\r\n /**\r\n * Sets the color context of the component to one of CoreUI’s themed colors.\r\n * @type Colors\r\n */\r\n @Input() color?: Colors;\r\n /**\r\n * Enable a hover state on table rows within table body.\r\n * @type boolean\r\n */\r\n @Input()\r\n set hover(value: boolean) {\r\n this._hover = coerceBooleanProperty(value);\r\n };\r\n get hover() {\r\n return this._hover;\r\n }\r\n private _hover = false;\r\n /**\r\n * Make table responsive across all viewports or pick a maximum breakpoint with which to have a responsive table up to.\r\n * @type: {boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'}\r\n */\r\n @Input() responsive?: boolean | Omit<Breakpoints, 'xs'>;\r\n /**\r\n * Make table more compact by cutting all cell `padding` in half.\r\n * @type boolean\r\n */\r\n @Input()\r\n set small(value: boolean) {\r\n this._small = coerceBooleanProperty(value);\r\n };\r\n get small() {\r\n return this._small;\r\n }\r\n private _small = false;\r\n /**\r\n * Add zebra-striping to any table row within the table body`.\r\n * @type boolean\r\n */\r\n @Input()\r\n set striped(value: boolean) {\r\n this._striped = coerceBooleanProperty(value);\r\n };\r\n get striped() {\r\n return this._striped;\r\n }\r\n private _striped = false;\r\n\r\n constructor(\r\n private renderer: Renderer2,\r\n private hostElement: ElementRef\r\n ) { }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n table: true,\r\n [`align-${this.align}`]: !!this.align,\r\n [`caption-${this.caption}`]: !!this.caption,\r\n [`border-${this.borderColor}`]: !!this.borderColor,\r\n 'table-bordered': this.bordered,\r\n 'table-borderless': this.borderless,\r\n [`table-${this.color}`]: !!this.color,\r\n 'table-hover': this.hover,\r\n 'table-sm': this.small,\r\n 'table-striped': this.striped\r\n };\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setResponsiveWrapper();\r\n }\r\n\r\n // todo\r\n setResponsiveWrapper(): void {\r\n if (!!this.responsive) {\r\n const nativeElement: HTMLElement = this.hostElement.nativeElement;\r\n const wrapper = this.renderer.createElement('div');\r\n const className = this.responsive === true ? 'table-responsive' : `table-responsive-${this.responsive}`;\r\n this.renderer.addClass(wrapper, className);\r\n const parentNode = this.renderer.parentNode(nativeElement);\r\n this.renderer.appendChild(parentNode, wrapper);\r\n this.renderer.insertBefore(parentNode, wrapper, nativeElement);\r\n this.renderer.appendChild(wrapper, nativeElement);\r\n }\r\n }\r\n}\r\n","import { Directive, HostBinding, Input } from '@angular/core';\r\nimport { Colors } from '../coreui.types';\r\n\r\n@Directive({\r\n selector: '[cTableColor]'\r\n})\r\nexport class TableColorDirective {\r\n\r\n /**\r\n * Use contextual color for tables, table rows or individual cells.\r\n * @type Colors\r\n */\r\n @Input('cTableColor') color?: Colors;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n [`table-${this.color}`]: !!this.color,\r\n };\r\n }\r\n}\r\n","import { Directive, HostBinding, Input } from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\n@Directive({\r\n selector: '[cTableActive]'\r\n})\r\nexport class TableActiveDirective {\r\n\r\n static ngAcceptInputType_active: BooleanInput;\r\n\r\n /**\r\n * Highlight a table row or cell\r\n * @type boolean\r\n */\r\n @Input('cTableActive')\r\n set active(value: boolean) {\r\n this._active = coerceBooleanProperty(value);\r\n };\r\n get active() {\r\n return this._active;\r\n };\r\n\r\n private _active = false;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n 'table-active': this.active,\r\n };\r\n }\r\n\r\n constructor() { }\r\n\r\n}\r\n","import { Directive, HostBinding, Input } from '@angular/core';\r\nimport { Alignment } from '../coreui.types';\r\n\r\n@Directive({\r\n selector: '[cAlign]'\r\n})\r\nexport class AlignDirective {\r\n /**\r\n * Set vertical alignment of inline, inline-block, inline-table, and table cell elements\r\n * @type Alignment\r\n */\r\n @Input('cAlign') align?: Alignment;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n [`align-${this.align}`]: !!this.align,\r\n };\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-smart-table-filter',\r\n templateUrl: './smart-table-filter.component.html',\r\n styleUrls: ['./smart-table-filter.component.scss']\r\n})\r\nexport class SmartTableFilterComponent {\r\n\r\n constructor() { }\r\n\r\n @Input() filterLabel: string = 'Filter:';\r\n @Input() filterPlaceholder: string = 'Filter';\r\n\r\n @Input()\r\n set value(value: string) {\r\n if (this._value != value) {\r\n this._value = value;\r\n }\r\n if (this.eventType)\r\n this.valueChange.emit({ value, type: this.eventType });\r\n }\r\n get value() {\r\n return this._value;\r\n }\r\n\r\n @Output() valueChange: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n private _value = '';\r\n private eventType = '';\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n row: true,\r\n 'mb-2': true\r\n };\r\n }\r\n\r\n handleTableFilterChange($event: Event) {\r\n this.eventType = $event.type;\r\n this.value = ($event.target as HTMLInputElement).value;\r\n }\r\n}\r\n","<label cLabel=\"col\" class=\"col-sm-auto\">{{filterLabel}}</label>\r\n<div class=\"col-sm-auto\">\r\n <input (change)=\"handleTableFilterChange($event)\"\r\n (input)=\"handleTableFilterChange($event)\"\r\n [placeholder]=\"filterPlaceholder\"\r\n [value]=\"value\"\r\n cFormControl />\r\n</div>\r\n","import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-smart-table-items-per-page-selector',\r\n templateUrl: './smart-table-items-per-page-selector.component.html',\r\n styleUrls: ['./smart-table-items-per-page-selector.component.scss']\r\n})\r\nexport class SmartTableItemsPerPageSelectorComponent {\r\n\r\n constructor() { }\r\n\r\n @Input()\r\n set itemsPerPage(value: number) {\r\n if (this._itemsPerPage != value) {\r\n this._itemsPerPage = value;\r\n this.itemsPerPageChange.emit(value);\r\n }\r\n }\r\n get itemsPerPage() {\r\n return this._itemsPerPage;\r\n }\r\n private _itemsPerPage = 5;\r\n\r\n @Input() itemsPerPageLabel: string = 'Items per page:';\r\n @Input() itemsPerPageOptions: number[] = [5, 10, 20, 50];\r\n @Output() itemsPerPageChange: EventEmitter<number> = new EventEmitter<number>();\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n row: true\r\n };\r\n }\r\n}\r\n","<label cLabel=\"col\" class=\"col-sm-auto\">{{itemsPerPageLabel}}</label>\r\n<div class=\"col-auto\">\r\n <select [(ngModel)]=\"itemsPerPage\" cSelect name=\"itemsPerPageSelector\">\r\n <option *ngFor=\"let option of itemsPerPageOptions; let i = index\" [ngValue]=\"option\">{{option}}</option>\r\n </select>\r\n</div>\r\n","import { Component, EventEmitter, HostBinding, Input, OnInit, Output } from '@angular/core';\r\nimport { IColumn, IColumnFilter, IColumnFilterValue, ISorter, ISorterValue } from '../smart-table.type';\r\n\r\n@Component({\r\n selector: 'c-smart-table-head',\r\n templateUrl: './smart-table-head.component.html',\r\n styleUrls: ['./smart-table-head.component.scss']\r\n})\r\nexport class SmartTableHeadComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n @Input() columnFilter?: boolean | IColumnFilter;\r\n @Input() columnFilterState: IColumnFilterValue = {};\r\n @Input() columnSorter?: boolean | ISorter = true;\r\n @Input() component?: string = 'thead';\r\n @Input() columns?: (IColumn | string)[];\r\n @Input() selectable?: boolean;\r\n @Input() selectAll?: boolean | string;\r\n @Input() sorterValue?: ISorterValue;\r\n\r\n // todo\r\n // @Input() sortingIcon?: string | TemplateRef<any>;\r\n // @Input() sortingIconAscending?: string | TemplateRef<any>;\r\n // @Input() sortingIconDescending?: string | TemplateRef<any>;\r\n\r\n @Output() columnFilterStateChange: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() sorterStateChange: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() selectAllChange: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @HostBinding('class')\r\n get hostClasses() {\r\n return {\r\n thead: this.component === 'thead',\r\n tfoot: this.component === 'tfoot'\r\n };\r\n }\r\n\r\n ngOnInit(): void {\r\n this.columns?.forEach((column, index) => {\r\n const columnKey = this.columnKey(column);\r\n this.columnFilterState[columnKey] = this.columnFilterState[columnKey] ?? '';\r\n });\r\n }\r\n\r\n tableHeaderCellProps (column: IColumn | string) {\r\n if (typeof column === 'object' && column._props) {\r\n const { color, ...props } = { ...column._props }\r\n return props\r\n }\r\n return {}\r\n }\r\n\r\n tableHeaderCellColor (column: IColumn | string) {\r\n if (typeof column === 'object' && column._props) {\r\n const { color } = { ...column._props }\r\n return color\r\n }\r\n return ''\r\n }\r\n\r\n tableHeaderCellStyles(column: IColumn | string) {\r\n const style = { verticalAlign: 'middle', overflow: 'hidden', cursor: '' };\r\n if (\r\n this.columnSorter &&\r\n (typeof column !== 'object' ||\r\n (typeof column === 'object' && (typeof column.sorter === 'undefined' || column.sorter)))\r\n ) {\r\n style.cursor = 'pointer';\r\n }\r\n\r\n if (typeof column === 'object' && column._style) {\r\n return { ...style, ...column._style };\r\n }\r\n return style;\r\n }\r\n\r\n columnLabel(column: IColumn | string) {\r\n return typeof column === 'object' ? column.label !== undefined ? column.label : this.prettifyName(column.key) : this.prettifyName(column);\r\n }\r\n\r\n columnKey(column: IColumn | string) {\r\n return typeof column === 'object' ? column.key : column;\r\n }\r\n\r\n getColumnSorterState(column: IColumn | string) {\r\n const columnKey = this.columnKey(column);\r\n if (this.sorterValue?.column === columnKey) {\r\n if (this.sorterValue.state) {\r\n return this.sorterValue.state;\r\n }\r\n return 0;\r\n }\r\n return 0;\r\n }\r\n\r\n prettifyName(name: string) {\r\n return name\r\n .replace(/[-_.]/g, ' ')\r\n .replace(/ +/g, ' ')\r\n .replace(/([a-z0-9])([A-Z])/g, '$1 $2')\r\n .split(' ')\r\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\r\n .join(' ');\r\n }\r\n\r\n handleSortClick(column: IColumn | string, i: number) {\r\n if (this.columnSorterEnabled(column)) {\r\n const columnKey = this.columnKey(column);\r\n this.sorterStateChange.emit({ columnKey, index: i });\r\n }\r\n }\r\n\r\n columnFilterEnabled(column: IColumn | string) {\r\n return typeof column !== 'object' ? true : typeof column.filter === 'undefined' ? true : column.filter;\r\n }\r\n\r\n columnSorterEnabled(column: IColumn | string) {\r\n return typeof column !== 'object' ? true : typeof column.sorter === 'undefined' ? true : column.sorter;\r\n }\r\n\r\n handleColumnFilterValueChange($event: Event, column: IColumn | string) {\r\n const columnKey = this.columnKey(column);\r\n const columnFilterValue = ($event.target as HTMLInputElement).value;\r\n const eventType = $event.type;\r\n const isLazy = typeof this.columnFilter === 'object' && this.columnFilter.lazy === true;\r\n if (((isLazy && eventType === 'input') || (!isLazy && eventType === 'change')) && columnFilterValue.length !== 0) {\r\n return;\r\n }\r\n this.columnFilterState[this.columnKey(column)] = columnFilterValue;\r\n this.columnFilterStateChange.emit({ column: columnKey, value: columnFilterValue, type: eventType });\r\n }\r\n\r\n handleSelectAllChecked($event: Event) {\r\n const selectAll = ($event.target as HTMLInputElement).checked;\r\n this.selectAllChange.emit(selectAll);\r\n }\r\n}\r\n","<tr>\r\n <th *ngIf=\"selectable\">\r\n <input (change)=\"handleSelectAllChecked($event)\"\r\n [checked]=\"selectAll === true\"\r\n [indeterminate]=\"selectAll === 'indeterminate'\"\r\n cFormCheckInput>\r\n </th>\r\n <th\r\n (click)=\"handleSortClick(column, i)\"\r\n *ngFor=\"let column of columns; let i = index\"\r\n [cHtmlAttr]=\"tableHeaderCellProps(column)\"\r\n [cTableColor]=\"tableHeaderCellColor(column)\"\r\n [ngStyle]=\"tableHeaderCellStyles(column)\"\r\n >\r\n <div class=\"d-inline\">{{ columnLabel(column) }}</div>\r\n <ng-template [ngIf]=\"columnSorter && columnSorterEnabled(column)\">\r\n <ng-container\r\n *ngTemplateOutlet=\"columnSorterIconTemplate; context: { $implicit: getColumnSorterState(column) }\"\r\n ></ng-container>\r\n </ng-template>\r\n </th>\r\n</tr>\r\n<tr *ngIf=\"columnFilter\">\r\n <th *ngIf=\"selectable\"></th>\r\n <th *ngFor=\"let column of columns; let i = index\"\r\n [cHtmlAttr]=\"tableHeaderCellProps(column)\"\r\n [cTableColor]=\"tableHeaderCellColor(column)\"\r\n [ngStyle]=\"tableHeaderCellStyles(column)\"\r\n >\r\n <input\r\n (change)=\"handleColumnFilterValueChange($event, column)\"\r\n (input)=\"handleColumnFilterValueChange($event, column)\"\r\n *ngIf=\"columnFilterEnabled(column)\"\r\n [value]=\"columnFilterState[columnKey(column)] ?? ''\"\r\n cFormControl\r\n sizing=\"sm\"\r\n />\r\n </th>\r\n</tr>\r\n\r\n<ng-template #columnSorterIconTemplate let-columnSorterState>\r\n <ng-container [ngSwitch]=\"columnSorterState\">\r\n <span *ngSwitchCase=\"'asc'\" class=\"float-end me-1\">\r\n <ng-container *ngTemplateOutlet=\"sortingIconAscendingTemplate\"></ng-container>\r\n </span>\r\n <span *ngSwitchCase=\"'desc'\" class=\"float-end me-1\">\r\n <ng-container *ngTemplateOutlet=\"sortingIconDescendingTemplate\"></ng-container>\r\n </span>\r\n <span *ngSwitchDefault class=\"opacity-25 float-end me-1\">\r\n <ng-container *ngTemplateOutlet=\"sortingIconTemplate\"></ng-container>\r\n </span>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<!--todo: sortingIconCustom Templates-->\r\n<ng-template #sortingIconTemplate>\r\n <svg\r\n class=\"icon icon-custom-size\"\r\n role=\"img\"\r\n viewBox=\"0 0 512 512\"\r\n width=\"18\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <polygon\r\n class=\"ci-primary\"\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\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\"\r\n ></polygon>\r\n <polygon\r\n class=\"ci-primary\"\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\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\"\r\n ></polygon>\r\n </svg>\r\n</ng-template>\r\n\r\n<ng-template #sortingIconAscendingTemplate>\r\n <svg\r\n class=\"icon icon-custom-size\"\r\n role=\"img\"\r\n viewBox=\"0 0 512 512\"\r\n width=\"18\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <polygon\r\n class=\"ci-primary\"\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\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\"\r\n ></polygon>\r\n </svg>\r\n</ng-template>\r\n\r\n<ng-template #sortingIconDescendingTemplate>\r\n <svg\r\n class=\"icon icon-custom-size\"\r\n role=\"img\"\r\n viewBox=\"0 0 512 512\"\r\n width=\"18\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <polygon\r\n class=\"ci-primary\"\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\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\"\r\n ></polygon>\r\n </svg>\r\n</ng-template>\r\n","import {\r\n AfterContentInit,\r\n Component,\r\n ContentChildren,\r\n EventEmitter,\r\n Input,\r\n IterableDiffer,\r\n IterableDiffers,\r\n KeyValueDiffer,\r\n KeyValueDiffers,\r\n OnChanges,\r\n Output,\r\n QueryList,\r\n SimpleChanges,\r\n TemplateRef,\r\n Type\r\n} from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty, coerceNumberProperty, NumberInput } from '@angular/cdk/coercion';\r\n\r\nimport { ITable } from '../../table/table.type';\r\nimport {\r\n IColumn,\r\n IColumnFilter,\r\n IColumnFilterValue,\r\n IItem,\r\n IItemInternal,\r\n ISmartTable,\r\n ISorter,\r\n ISorterValue,\r\n ITableFilter,\r\n ITableGroupProps,\r\n ItemsPerPageSelect\r\n} from '../smart-table.type';\r\nimport { TemplateIdDirective } from '../../shared';\r\n\r\n@Component({\r\n selector: 'c-smart-table',\r\n templateUrl: './smart-table.component.html',\r\n styleUrls: ['./smart-table.component.scss'],\r\n exportAs: 'cSmartTable'\r\n})\r\nexport class SmartTableComponent implements ISmartTable, AfterContentInit, OnChanges {\r\n\r\n static ngAcceptInputType_activePage: NumberInput;\r\n static ngAcceptInputType_cleaner: BooleanInput;\r\n static ngAcceptInputType_clickableRows: BooleanInput;\r\n static ngAcceptInputType_footer: BooleanInput;\r\n static ngAcceptInputType_header: BooleanInput;\r\n static ngAcceptInputType_itemsPerPage: NumberInput;\r\n static ngAcceptInputType_pagination: BooleanInput;\r\n static ngAcceptInputType_selectable: BooleanInput;\r\n\r\n constructor(\r\n private iterableDiffers: IterableDiffers,\r\n private keyValueDiffers: KeyValueDiffers\r\n ) {\r\n this.itemsDiffer = this.iterableDiffers.find(this.items).create();\r\n this.itemsFilteredDiffer = this.iterableDiffers.find(this._columnFiltered).create();\r\n this.columFilterValueDiffer = this.keyValueDiffers.find(this.columnFilterValue).create();\r\n }\r\n\r\n private itemsDiffer: IterableDiffer<any> | null;\r\n private itemsFilteredDiffer: IterableDiffer<any> | null;\r\n private columFilterValueDiffer: KeyValueDiffer<any, any> | null;\r\n\r\n @Input()\r\n set activePage(value: number) {\r\n this._activePage = coerceNumberProperty(value) || 1;\r\n this.activePageChange.emit(this._activePage);\r\n }\r\n get activePage(): number {\r\n return this._activePage;\r\n }\r\n private _activePage = 1;\r\n\r\n @Input()\r\n set cleaner(value: boolean) {\r\n this._cleaner = coerceBooleanProperty(value);\r\n }\r\n get cleaner(): boolean {\r\n return this._cleaner;\r\n }\r\n private _cleaner: boolean = false;\r\n\r\n @Input()\r\n set clickableRows(value: boolean) {\r\n this._clickableRows = coerceBooleanProperty(value);\r\n }\r\n get clickableRows(): boolean {\r\n return this._clickableRows;\r\n }\r\n private _clickableRows: boolean = false;\r\n\r\n @Input()\r\n set columns(value) {\r\n this._columns = value;\r\n }\r\n get columns() {\r\n return this._columns || this.rawColumnNames;\r\n }\r\n private _columns?: (string | IColumn)[];\r\n\r\n @Input() columnFilter?: boolean | IColumnFilter;\r\n\r\n @Input()\r\n set columnFilterValue(value: IColumnFilterValue) {\r\n if (this.columFilterValueDiffer) {\r\n const changes = this.columFilterValueDiffer.diff(value);\r\n if (changes) {\r\n this._columnFilterValue = { ...value };\r\n this.columnFilterValueChange.emit({ ...this._columnFilterValue });\r\n this.tableFiltered; // emits tableFiltered change\r\n }\r\n }\r\n }\r\n get columnFilterValue(): IColumnFilterValue {\r\n return this._columnFilterValue;\r\n }\r\n private _columnFilterValue: IColumnFilterValue = {};\r\n\r\n @Input() columnSorter?: boolean | ISorter;\r\n\r\n @Input()\r\n set footer(value: boolean) {\r\n this._footer = coerceBooleanProperty(value);\r\n }\r\n get footer(): boolean {\r\n return this._footer;\r\n }\r\n private _footer: boolean = false;\r\n\r\n @Input()\r\n set header(value: boolean) {\r\n this._header = coerceBooleanProperty(value);\r\n }\r\n get header(): boolean {\r\n return this._header;\r\n }\r\n private _header: boolean = false;\r\n\r\n @Input()\r\n set items(value: IItem[]) {\r\n if (this.itemsDiffer) {\r\n const changes = this.itemsDiffer.diff(value);\r\n if (changes) {\r\n this._items = this.setItems(value) as Array<Type<IItemInternal>>;\r\n }\r\n }\r\n }\r\n get items() {\r\n return this._items;\r\n }\r\n private _items: IItemInternal[] = [] as Array<Type<IItemInternal>>;\r\n\r\n @Input()\r\n set itemsPerPage(value: number) {\r\n this._itemsPerPage = coerceNumberProperty(value);\r\n }\r\n get itemsPerPage(): number {\r\n return this._itemsPerPage;\r\n }\r\n private _itemsPerPage: number = 10;\r\n\r\n @Input() itemsPerPageLabel: string = 'Items per page:';\r\n @Input() itemsPerPageOptions: number[] = [5, 10, 20, 50];\r\n @Input() itemsPerPageSelect?: boolean | ItemsPerPageSelect;\r\n @Input() loading?: boolean;\r\n @Input() noItemsLabel: string | TemplateRef<any> = 'No items found';\r\n\r\n @Input()\r\n set pagination(value: boolean) {\r\n this._pagination = coerceBooleanProperty(value);\r\n }\r\n get pagination(): boolean {\r\n return this._pagination;\r\n }\r\n private _pagination: boolean = false;\r\n\r\n @Input()\r\n set selectable(value: boolean) {\r\n this._selectable = coerceBooleanProperty(value);\r\n }\r\n get selectable(): boolean {\r\n return this._selectable;\r\n }\r\n private _selectable: boolean = false;\r\n\r\n @Input()\r\n set sorterValue(value: ISorterValue) {\r\n this._sorterValue = value;\r\n this.sorterValueChange.emit({ ...value });\r\n }\r\n get sorterValue(): ISorterValue {\r\n return this._sorterValue;\r\n }\r\n private _sorterValue: ISorterValue = {};\r\n\r\n @Input() tableFilter?: boolean | ITableFilter;\r\n @Input() tableFilterLabel = 'Filter:';\r\n @Input() tableFilterPlaceholder = 'type string...';\r\n\r\n @Input()\r\n set tableFilterValue(value: string) {\r\n if (this._tableFilterValue !== value) {\r\n this._tableFilterValue = value;\r\n this.tableFilterValueChange.emit(value);\r\n this.tableFiltered; // emits tableFiltered change\r\n }\r\n }\r\n get tableFilterValue(): string {\r\n return this._tableFilterValue;\r\n }\r\n private _tableFilterValue: string = '';\r\n\r\n @Input() tableBodyProps?: ITableGroupProps = {};\r\n @Input() tableFootProps?: ITableGroupProps = {};\r\n @Input() tableHeadProps?: ITableGroupProps = {};\r\n @Input() tableProps?: ITable = {};\r\n\r\n @Output() selectedItemsChange: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() sorterValueChange: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() activePageChange: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() itemsPerPageChange: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() rowClick: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() columnFilterValueChange: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() filteredItemsChange: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() tableFilterValueChange: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @ContentChildren(TemplateIdDirective) columnTemplates!: QueryList<TemplateIdDirective>;\r\n templates: { [key: string]: (TemplateRef<any> | null) } = { tableDetails: null, tableData: null };\r\n\r\n ngAfterContentInit(): void {\r\n this.columnTemplates.forEach((child: TemplateIdDirective) => {\r\n this.templates[child.id] = child.templateRef;\r\n });\r\n }\r\n\r\n get selectedAll() {\r\n const selected = this.items.filter((item) => item._selected === true);\r\n return selected.length === 0 ? false : selected.length === this.items.length ? true : 'indeterminate';\r\n // return this._selectedAll;\r\n }\r\n set selectedAll(value) {\r\n const selected = this.items.filter((item) => item._selected === true);\r\n this._selectedAll = selected.length === 0 ? false : selected.length === this.items.length ? true : 'indeterminate';\r\n this.selectedItemsChange.emit(selected);\r\n }\r\n private _selectedAll: (boolean | string) = false;\r\n\r\n get tableFilterState() {\r\n return this.tableFilterValue ? this.tableFilterValue : '';\r\n }\r\n\r\n get columnFilterState() {\r\n return this.columnFilterValue ? this.columnFilterValue : {};\r\n }\r\n\r\n get numberOfPages(): number {\r\n return this._itemsPerPage ? Math.ceil(this.sortedItems.length / this._itemsPerPage) : 1;\r\n }\r\n\r\n get colspan(): number {\r\n return this._selectable ? this.rawColumnNames.length + 1 : this.rawColumnNames.length;\r\n }\r\n\r\n get firstItemOnActivePageIndex(): number {\r\n return this._activePage ? (this._activePage - 1) * this._itemsPerPage : 0;\r\n }\r\n\r\n get itemsOnActivePage(): IItemInternal[] {\r\n return this.sortedItems.slice(\r\n this.firstItemOnActivePageIndex,\r\n this.firstItemOnActivePageIndex + this._itemsPerPage\r\n );\r\n }\r\n\r\n get currentItems(): IItemInternal[] {\r\n return this._activePage ? this.itemsOnActivePage : this.sortedItems ?? [];\r\n // return this.items ?? [];\r\n }\r\n\r\n get genCols() {\r\n return Object.keys(this._items ? this._items[0] ?? {} : {}).filter((el) => el.charAt(0) !== '_');\r\n }\r\n\r\n get rawColumnNames() {\r\n return this._columns\r\n ? this._columns.map((column: any) => {\r\n if (typeof column === 'object') return column.key;\r\n else return column;\r\n })\r\n : this.genCols;\r\n }\r\n\r\n get itemsDataColumns() {\r\n return this.rawColumnNames.filter((name) => this.genCols.includes(name));\r\n }\r\n\r\n get sortedItems(): IItemInternal[] {\r\n const col = this.sorterValue.column;\r\n if (\r\n !col ||\r\n !this.itemsDataColumns.includes(col) ||\r\n (this.columnSorter &&\r\n typeof this.columnSorter === 'object' &&\r\n this.columnSorter.external)\r\n ) {\r\n return this.tableFiltered;\r\n }\r\n // if values in column are to be sorted by numeric value they all have to be type number\r\n // const flip = sorterState.asc ? 1 : -1\r\n const flip = this.sorterValue.state === 'asc' ? 1 : this.sorterValue.state === 'desc' ? -1 : 0;\r\n const tableFiltered = this.tableFiltered;\r\n // @ts-ignore\r\n const sorted = tableFiltered.slice().sort((item: { [x: string]: any; }, item2: { [x: string]: any; }) => {\r\n const value = item[col];\r\n const value2 = item2[col];\r\n const a = typeof value === 'number' ? value : String(value).toLowerCase();\r\n const b = typeof value2 === 'number' ? value2 : String(value2).toLowerCase();\r\n return a > b ? 1 * flip : b > a ? -1 * flip : 0;\r\n });\r\n return sorted;\r\n }\r\n\r\n private _columnFiltered: IItemInternal[] = [];\r\n\r\n get columnFiltered(): IItemInternal[] {\r\n let _items = this._items;\r\n if (\r\n this.columnFilter &&\r\n typeof this.columnFilter === 'object' &&\r\n this.columnFilter.external\r\n ) {\r\n this._columnFiltered = _items;\r\n // @ts-ignore\r\n return _items;\r\n }\r\n Object.entries(this.columnFilterState).forEach(([key, value]) => {\r\n const columnFilter = String(value).toLowerCase();\r\n if (columnFilter && this.itemsDataColumns.includes(key)) {\r\n // @ts-ignore\r\n _items = _items.filter((item) => {\r\n return String(item[key]).toLowerCase().includes(columnFilter);\r\n });\r\n }\r\n });\r\n this._columnFiltered = _items;\r\n // @ts-ignore\r\n return _items;\r\n }\r\n\r\n get tableFiltered(): IItemInternal[] {\r\n let items = this.columnFiltered;\r\n if (\r\n !this.tableFilterState ||\r\n (this.tableFilter && typeof this.tableFilter === 'object' && this.tableFilter.external)\r\n ) {\r\n if (this.itemsFilteredDiffer) {\r\n const changes = this.itemsFilteredDiffer.diff(items);\r\n if (changes) {\r\n this.filteredItemsChange.emit(items);\r\n }\r\n }\r\n return items;\r\n }\r\n const filter = this.tableFilterState.toLowerCase();\r\n const valueContainFilter = (val: any) => String(val).toLowerCase().includes(filter);\r\n // @ts-ignore\r\n items = items.filter((item: { [x: string]: any; }) => {\r\n return !!this.itemsDataColumns.find((key) => valueContainFilter(item[key]));\r\n });\r\n if (this.itemsFilteredDiffer) {\r\n const changes = this.itemsFilteredDiffer.diff(items);\r\n if (changes) {\r\n this.filteredItemsChange.emit(items);\r\n }\r\n }\r\n return items;\r\n }\r\n\r\n get isFiltered() {\r\n return this.tableFilterState || this.sorterValue?.column || Object.values(this.columnFilterState).join('');\r\n }\r\n\r\n private setItems(items: IItem[]) {\r\n if (Array.isArray(items)) {\r\n return items.map((item: IItem, index: number) => {\r\n return { ...item, _id: index };\r\n });\r\n }\r\n return <IItemInternal>[];\r\n }\r\n\r\n handleSortChange($event: { columnKey: string; index: number; }) {\r\n this.handleSorterChange($event.columnKey, $event.index);\r\n }\r\n\r\n isSortable(i: number): boolean | undefined {\r\n const isDataColumn = this.itemsDataColumns.includes(this.rawColumnNames[i]);\r\n let column;\r\n if (this.columns) column = this.columns[i];\r\n return (\r\n this.columnSorter &&\r\n (!this.columns ||\r\n typeof column !== 'object' ||\r\n (typeof column === 'object' &&\r\n (typeof column.sorter === 'undefined' || column.sorter))) &&\r\n isDataColumn\r\n );\r\n }\r\n\r\n handleSorterChange(column: string, index: number): void {\r\n if (!this.isSortable(index)) {\r\n return;\r\n }\r\n //if column changed or sort was descending change asc to true\r\n const state = { ...this.sorterValue };\r\n\r\n if (state.column === column) {\r\n if (state.state === 0) {\r\n state.state = 'asc';\r\n } else if (state.state === 'asc') {\r\n state.state = 'desc';\r\n } else {\r\n if (typeof this.columnSorter === 'object' && !this.columnSorter.resetable) {\r\n state.state = 'asc';\r\n } else {\r\n state.state = 0;\r\n }\r\n }\r\n } else {\r\n state.column = column;\r\n state.state = 'asc';\r\n }\r\n this.sorterValue = { ...state };\r\n }\r\n\r\n setActivePage($event: number) {\r\n this.activePage = $event;\r\n }\r\n\r\n handleColumnFilterChange($event: any) {\r\n const { column, value, type } = $event;\r\n this.setActivePage(1);\r\n this.columnFilterValue = { ...this.columnFilterValue, [`${column}`]: value };\r\n }\r\n\r\n handleTableFilterChange($event: any) {\r\n const { value, type } = $event;\r\n const isLazy = typeof this.tableFilter === 'object' && this.tableFilter?.lazy === true;\r\n if (((isLazy && type === 'input') || (!isLazy && type === 'change')) && value.length !== 0) {\r\n return;\r\n }\r\n this.setActivePage(1);\r\n this.tableFilterValue = value;\r\n }\r\n\r\n clean($event: MouseEvent) {\r\n this.columnFilterValue = {};\r\n this.tableFilterValue = '';\r\n this.sorterValue = {};\r\n this.tableFiltered; //emits tableFiltered change\r\n }\r\n\r\n handleItemsPerPageChange(value: number) {\r\n if (value !== this._itemsPerPage) {\r\n this.setActivePage(1);\r\n this._itemsPerPage = value;\r\n this.itemsPerPageChange.emit(value);\r\n }\r\n }\r\n\r\n handleRowChecked($event: Event, item: IItemInternal) {\r\n item._selected = ($event.target as HTMLInputElement).checked;\r\n const selected = this.items.filter((item) => item._selected === true);\r\n this.selectedItemsChange.emit(selected);\r\n }\r\n\r\n handleSelectAllChange($event: any) {\r\n this._items = this.items.map((item: IItemInternal) => {\r\n return { ...item, _selected: $event };\r\n });\r\n this.selectedAll = $event;\r\n }\r\n\r\n tableDataCellProps(item: IItem, colName: string) {\r\n const props = item['_cellProps'] && {\r\n ...(item['_cellProps']['_all'] && { ...item['_cellProps']['_all'] }),\r\n ...(item['_cellProps'][colName] && { ...item['_cellProps'][colName] })\r\n };\r\n return props;\r\n }\r\n\r\n tableDataCellClasses(item: IItem, colName: string) {\r\n const column = this.columns.filter((column: IColumn) => column['key'] === colName);\r\n return column[0]?._classes;\r\n }\r\n\r\n getColumnName($event: MouseEvent): string {\r\n const target = $event.target as HTMLTextAreaElement;\r\n const closest = target.closest('tr');\r\n const children = closest ? Array.from(closest.children) : [];\r\n const clickedCell = children.filter((child) => child.contains(target))[0];\r\n return this.rawColumnNames[children.indexOf(clickedCell) - (this._selectable ? 1 : 0)];\r\n }\r\n\r\n handleRowClick(param: { $event: MouseEvent; item: IItemInternal; i: number }) {\r\n const { $event, item, i } = { ...param };\r\n const columnName = this.getColumnName(param.$event);\r\n this.rowClick.emit({ item: item, index: i + this.firstItemOnActivePageIndex, columnName, event: $event });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['columnFilterValue']) {\r\n const columnFilterValueChange = changes['columnFilterValue'];\r\n if (columnFilterValueChange.firstChange) {\r\n const currentValue = columnFilterValueChange.currentValue;\r\n if (typeof currentValue === 'object' && Object.keys(currentValue ?? {}).length) {\r\n this.setActivePage(1);\r\n }\r\n }\r\n }\r\n if (changes['tableFilterValue']) {\r\n const tableFilterValueChange = changes['tableFilterValue'];\r\n if (tableFilterValueChange.firstChange) {\r\n const currentValue = tableFilterValueChange.currentValue;\r\n if (currentValue.length) {\r\n this.setActivePage(1);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","<div *ngIf=\"itemsPerPageSelect || tableFilter || cleaner\" class=\"row my-2 mx-0\">\r\n <ng-template [ngIf]=\"tableFilter || cleaner\">\r\n <div class=\"col-auto p-0\">\r\n <c-smart-table-filter\r\n (valueChange)=\"handleTableFilterChange($event)\"\r\n *ngIf=\"tableFilter\"\r\n [filterLabel]=\"tableFilterLabel\"\r\n [filterPlaceholder]=\"tableFilterPlaceholder\"\r\n [value]=\"tableFilterState\"\r\n >\r\n </c-smart-table-filter>\r\n </div>\r\n <div class=\"col-auto p-0\">\r\n <button\r\n (click)=\"clean($event)\"\r\n *ngIf=\"cleaner\"\r\n [disabled]=\"!isFiltered\"\r\n [ngClass]=\"{'ms-1': tableFilter}\"\r\n [tabindex]=\"0\"\r\n cButton\r\n color=\"transparent\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"filterIconTemplate\"></ng-container>\r\n </button>\r\n </div>\r\n </ng-template>\r\n</div>\r\n<div class=\"position-relative\">\r\n <table [align]=\"tableProps?.align\"\r\n [borderColor]=\"tableProps?.borderColor\"\r\n [bordered]=\"tableProps?.bordered\"\r\n [borderless]=\"tableProps?.borderless\"\r\n [caption]=\"tableProps?.caption\"\r\n [color]=\"tableProps?.color\"\r\n [hover]=\"tableProps?.hover\"\r\n [responsive]=\"tableProps?.responsive\"\r\n [small]=\"tableProps?.small\"\r\n [striped]=\"tableProps?.striped\"\r\n [cHtmlAttr]=\"tableProps?.attributes ?? {}\"\r\n [cTableColor]=\"tableProps?.color\"\r\n cTable\r\n >\r\n <c-smart-table-head\r\n (columnFilterStateChange)=\"handleColumnFilterChange($event)\"\r\n (selectAllChange)=\"handleSelectAllChange($event)\"\r\n (sorterStateChange)=\"handleSortChange($event)\"\r\n *ngIf=\"header\"\r\n [columnFilterState]=\"columnFilterState\"\r\n [columnFilter]=\"columnFilter\"\r\n [columns]=\"columns\"\r\n [selectAll]=\"selectedAll\"\r\n [selectable]=\"selectable\"\r\n [sorterValue]=\"sorterValue\"\r\n [cHtmlAttr]=\"tableHeadProps?.attributes ?? {}\"\r\n [cTableColor]=\"tableHeadProps?.color\"\r\n [cAlign]=\"tableHeadProps?.align\"\r\n ></c-smart-table-head>\r\n\r\n <ng-container *ngTemplateOutlet=\"tbodyDefaultTemplate\"></ng-container>\r\n\r\n <c-smart-table-head\r\n (selectAllChange)=\"handleSelectAllChange($event)\"\r\n (sorterStateChange)=\"handleSortChange($event)\"\r\n *ngIf=\"footer\"\r\n [columns]=\"columns\"\r\n [selectAll]=\"selectedAll\"\r\n [selectable]=\"selectable\"\r\n [sorterValue]=\"sorterValue\"\r\n [cHtmlAttr]=\"tableFootProps?.attributes ?? {}\"\r\n [cTableColor]=\"tableFootProps?.color\"\r\n [cAlign]=\"tableFootProps?.align\"\r\n component=\"tfoot\"\r\n ></c-smart-table-head>\r\n\r\n </table>\r\n <c-element-cover\r\n *ngIf=\"loading\"\r\n [boundaries]=\"[\r\n { sides: ['top'], query: 'td' },\r\n { sides: ['bottom'], query: 'tbody' }\r\n ]\"\r\n ></c-element-cover>\r\n</div>\r\n<ng-template [ngIf]=\"pagination || itemsPerPageSelect\">\r\n <div class=\"row\">\r\n <div class=\"col\">\r\n <c-smart-pagination\r\n (activePageChange)=\"setActivePage($event)\"\r\n *ngIf=\"pagination && numberOfPages > 1\"\r\n [activePage]=\"activePage\"\r\n [pages]=\"numberOfPages\">\r\n </c-smart-pagination>\r\n </div>\r\n <div class=\"col-auto ms-auto\">\r\n <c-smart-table-items-per-page-selector\r\n (itemsPerPageChange)=\"handleItemsPerPageChange($event)\"\r\n *ngIf=\"itemsPerPageSelect\"\r\n [itemsPerPageLabel]=\"itemsPerPageLabel\"\r\n [itemsPerPageOptions]=\"itemsPerPageOptions\"\r\n [itemsPerPage]=\"itemsPerPage\"\r\n >\r\n </c-smart-table-items-per-page-selector>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #tbodyDefaultTemplate>\r\n <tbody [cHtmlAttr]=\"tableBodyProps?.attributes ?? {}\"\r\n [cTableColor]=\"tableBodyProps?.color\"\r\n [cAlign]=\"tableBodyProps?.align\"\r\n >\r\n <ng-template ngFor let-item [ngForOf]=\"currentItems\" let-cnt=\"count\" let-i=\"index\" let-isEven=\"even\" let-isOdd=\"odd\">\r\n <tr [tabindex]=\"clickableRows ? 0 : -1\"\r\n [ngStyle]=\"{cursor: clickableRows ? 'pointer' : 'auto'}\"\r\n (click)=\"handleRowClick({$event, item, i})\"\r\n [cTableActive]=\"item._props?.active\"\r\n [cTableColor]=\"item._props?.color\"\r\n [cAlign]=\"item._props?.align\"\r\n >\r\n <td *ngIf=\"selectable\"\r\n [cTableActive]=\"item?.['_cellProps']?._all?.active\"\r\n [cTableColor]=\"item?.['_cellProps']?._all?.color\"\r\n [cAlign]=\"item?.['_cellProps']?._all?.align\"\r\n >\r\n <input (change)=\"handleRowChecked($event, item)\" [checked]=\"item._selected ?? false\" cFormCheckInput>\r\n </td>\r\n <ng-template ngFor let-columnName [ngForOf]=\"rawColumnNames\" let-i=\"index\" >\r\n <ng-container *ngTemplateOutlet=\"templates['tableData'] || columnDefaultTemplate; context: {item, columnName, tdContent: item[columnName] }\"></ng-container>\r\n </ng-template>\r\n </tr>\r\n <ng-template [ngIf]=\"templates['tableDetails']\">\r\n <!-- <ng-container *ngTemplateOutlet=\"rowDetailsDefaultTemplate\"></ng-container>-->\r\n <tr><td [colSpan]=\"colspan\" class=\"p-0\" tabindex=\"-1\" [ngStyle]=\"{borderBottomWidth: 0}\"></td></tr>\r\n <tr class=\"p-0\">\r\n <td [colSpan]=\"colspan\" class=\"p-0\" [ngStyle]=\"{border: 0}\">\r\n <ng-container *ngTemplateOutlet=\"templates['tableDetails']; context: {item, index: i}\"></ng-container>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"noItemsDefaultTemplate\"></ng-container>\r\n </tbody>\r\n</ng-template>\r\n\r\n<ng-template #columnDefaultTemplate let-item=\"item\" let-columnName=\"columnName\" let-tdContent=\"tdContent\">\r\n <td\r\n [cTableActive]=\"tableDataCellProps(item, columnName)?.['active']\"\r\n [cTableColor]=\"tableDataCellProps(item, columnName)?.color\"\r\n [cAlign]=\"tableDataCellProps(item, columnName)?.align\"\r\n [ngClass]=\"tableDataCellClasses(item, columnName)\"\r\n >\r\n {{tdContent}}\r\n </td>\r\n</ng-template>\r\n\r\n<!--<ng-template #rowDetailsDefaultTemplate let-item let-index>-->\r\n<!-- <tr><td [colSpan]=\"colspan\" class=\"p-0\" tabindex=\"-1\" [ngStyle]=\"{borderBottomWidth: 0}\"></td></tr>-->\r\n<!-- <tr class=\"p-0\">-->\r\n<!-- <td [colSpan]=\"colspan\" class=\"p-0\" [ngStyle]=\"{border: 0}\">-->\r\n<!-- <ng-container *ngTemplateOutlet=\"templates?.tableDetails\"></ng-container>-->\r\n<!-- </td>-->\r\n<!-- </tr>-->\r\n<!--</ng-template>-->\r\n\r\n<ng-template #noItemsDefaultTemplate>\r\n <tr *ngIf=\"!currentItems.length\">\r\n <td [colSpan]=\"colspan\" class=\"justify-content-center\">{{noItemsLabel}}</td>\r\n </tr>\r\n</ng-template>\r\n\r\n<!--todo: filterIconCustomTemplate-->\r\n<ng-template #filterIconTemplate>\r\n <svg class=\"icon icon-custom-size\" role=\"img\" viewBox=\"0 0 512 512\" width=\"18\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <polygon class=\"ci-primary\"\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\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\"></polygon>\r\n <polygon class=\"ci-primary\"\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\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\"></polygon>\r\n </svg>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TableDirective } from './table.directive';\r\nimport { TableColorDirective } from './table-color.directive';\r\nimport { TableActiveDirective } from './table-active.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n TableDirective,\r\n TableColorDirective,\r\n TableActiveDirective\r\n ],\r\n exports: [\r\n TableDirective,\r\n TableColorDirective,\r\n TableActiveDirective\r\n ],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class TableModule { }\r\n","import { Directive, HostBinding, Input } from '@angular/core';\r\nimport { BackgroundColors } from '../coreui.types';\r\n\r\n@Directive({\r\n selector: '[cBgColor]'\r\n})\r\nexport class BgColorDirective {\r\n\r\n /**\r\n * Set the background of an element to any contextual class\r\n */\r\n @Input('cBgColor') color: BackgroundColors = '';\r\n /**\r\n * Add linear gradient as background image to the backgrounds.\r\n * @type boolean\r\n */\r\n @Input() gradient?: boolean;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n [`bg-${this.color}`]: !!this.color,\r\n 'bg-gradient': this.gradient,\r\n };\r\n }\r\n\r\n constructor() { }\r\n}\r\n","import { Directive, HostBinding, Input } from '@angular/core';\r\nimport { Border, BorderColor, IBorderElement, BorderWidth } from './border.type';\r\n\r\n@Directive({\r\n selector: '[cBorder]'\r\n})\r\nexport class BorderDirective {\r\n /**\r\n * Add or remove an element’s borders\r\n * @type Border\r\n */\r\n @Input('cBorder') border: Border = true;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n\r\n if ( typeof this.border === 'boolean' ) {\r\n return { border: true };\r\n }\r\n if ( typeof this.border === 'number' || typeof this.border === 'string' ) {\r\n return {\r\n border: true,\r\n [`border-${this.border}`]: true\r\n };\r\n }\r\n if ( typeof this.border === 'object' ) {\r\n const borderObj = { top: undefined, end: undefined, bottom: undefined, start: undefined, color: undefined, ...this.border };\r\n // @ts-ignore\r\n const keys = Object.keys(borderObj).filter(key => borderObj[key] !== undefined);\r\n const classes = {};\r\n keys.forEach(key => {\r\n // @ts-ignore\r\n const val = borderObj[key];\r\n if ( typeof val === 'boolean') {\r\n // @ts-ignore\r\n classes[`border-${key}`] = true;\r\n } else if ( typeof val === 'number' || typeof val === 'string' ) {\r\n // @ts-ignore\r\n classes[`border-${key}-${val}`] = true;\r\n } else if ( typeof val === 'object' ) {\r\n if ('color' in val) {\r\n // @ts-ignore\r\n classes[`border-${key}-${val.color}`] = true;\r\n }\r\n if ('width' in val) {\r\n // @ts-ignore\r\n classes[`border-${key}-${val.width}`] = true;\r\n }\r\n }\r\n });\r\n return Object.entries(classes).length === 0 ? {border: false} : classes;\r\n }\r\n }\r\n}\r\n","import { Directive, HostBinding, Input } from '@angular/core';\r\nimport { TextColors } from '../coreui.types';\r\n\r\n@Directive({\r\n selector: '[cTextColor]'\r\n})\r\nexport class TextColorDirective {\r\n\r\n /**\r\n * Set text-color of element\r\n * @type TextColors\r\n */\r\n @Input('cTextColor') color: TextColors = '';\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n const color = this.color;\r\n return {\r\n [`text-${color}`]: !!color\r\n };\r\n }\r\n\r\n constructor() {}\r\n}\r\n","import { Directive, HostBinding, Input } from '@angular/core';\r\nimport { Rounded, RoundedSize } from './rounded.type';\r\n\r\n@Directive({\r\n selector: '[cRounded]'\r\n})\r\nexport class RoundedDirective {\r\n\r\n /**\r\n * Set border radius variant and radius size\r\n * @type Rounded\r\n */\r\n @Input('cRounded') rounded: Rounded = true;\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n\r\n if ( typeof this.rounded === 'boolean' ) {\r\n return { rounded: true };\r\n }\r\n if ( typeof this.rounded === 'number' || typeof this.rounded === 'string' ) {\r\n return {\r\n [`rounded-${this.rounded}`]: true\r\n };\r\n }\r\n if ( typeof this.rounded === 'object' ) {\r\n const roundedObj = {\r\n top: undefined,\r\n end: undefined,\r\n bottom: undefined,\r\n start: undefined,\r\n circle: undefined,\r\n pill: undefined,\r\n size: undefined,\r\n ...this.rounded,\r\n };\r\n // @ts-ignore\r\n const keys = Object.keys(roundedObj).filter(key => roundedObj[key] !== undefined );\r\n const classes = {};\r\n keys.forEach(key => {\r\n // @ts-ignore\r\n const val = roundedObj[key];\r\n if (typeof val === 'boolean') {\r\n // @ts-ignore\r\n classes[`rounded-${key}`] = val;\r\n } else {\r\n // @ts-ignore\r\n classes[`rounded-${val}`] = true;\r\n }\r\n });\r\n console.log('rounded keys', keys, classes);\r\n return Object.entries(classes).length === 0 ? {rounded: false} : classes;\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BgColorDirective } from './bg-color.directive';\r\nimport { BorderDirective } from './border.directive';\r\nimport { RoundedDirective } from './rounded.directive';\r\nimport { TextColorDirective } from './text-color.directive';\r\nimport { AlignDirective } from './align.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n BgColorDirective,\r\n BorderDirective,\r\n RoundedDirective,\r\n TextColorDirective,\r\n AlignDirective\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n BgColorDirective,\r\n BorderDirective,\r\n RoundedDirective,\r\n TextColorDirective,\r\n AlignDirective\r\n ]\r\n})\r\nexport class UtilitiesModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { SharedModule } from '../shared';\r\nimport { ElementCoverModule } from '../element-cover';\r\nimport { TableModule } from '../table';\r\nimport { PaginationModule } from '../pagination';\r\nimport { FormModule } from '../form';\r\nimport { ButtonModule } from '../button';\r\nimport { SmartPaginationModule } from '../smart-pagination';\r\nimport { SmartTableComponent } from './smart-table/smart-table.component';\r\nimport { SmartTableFilterComponent } from './smart-table-filter/smart-table-filter.component';\r\nimport { SmartTableItemsPerPageSelectorComponent } from './smart-table-items-per-page-selector/smart-table-items-per-page-selector.component';\r\nimport { SmartTableHeadComponent } from './smart-table-head/smart-table-head.component';\r\nimport { UtilitiesModule } from '../utilities';\r\n\r\n@NgModule({\r\n declarations: [\r\n SmartTableComponent,\r\n SmartTableFilterComponent,\r\n SmartTableItemsPerPageSelectorComponent,\r\n SmartTableHeadComponent,\r\n ],\r\n exports: [SmartTableComponent],\r\n imports: [\r\n CommonModule,\r\n ElementCoverModule,\r\n TableModule,\r\n PaginationModule,\r\n SmartPaginationModule,\r\n FormModule,\r\n FormsModule,\r\n ButtonModule,\r\n SharedModule,\r\n ReactiveFormsModule,\r\n UtilitiesModule\r\n ]\r\n})\r\nexport class SmartTableModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { TabContentComponent } from './tab-content/tab-content.component';\r\n\r\nexport interface ITabContentState {\r\n activeIdx: number,\r\n tabContent: TabContentComponent\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TabService {\r\n\r\n private activeTabPaneIdx = new Subject<ITabContentState>();\r\n activeTabPaneIdx$ = this.activeTabPaneIdx.asObservable();\r\n\r\n constructor() { }\r\n\r\n setActiveTabIdx(tabContentState: ITabContentState) {\r\n this.activeTabPaneIdx.next(tabContentState);\r\n }\r\n}\r\n","import { ChangeDetectorRef, Component, HostBinding, OnDestroy, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { TabContentComponent } from '../tab-content/tab-content.component';\r\nimport { ITabContentState, TabService } from '../tab.service';\r\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\n@Component({\r\n selector: 'c-tab-pane',\r\n templateUrl: './tab-pane.component.html',\r\n styleUrls: ['./tab-pane.component.scss'],\r\n exportAs: 'cTabPane'\r\n})\r\nexport class TabPaneComponent implements OnDestroy, OnInit {\r\n\r\n constructor(\r\n private changeDetectorRef: ChangeDetectorRef,\r\n private tabService: TabService\r\n ) { }\r\n\r\n public tabPaneIdx!: number;\r\n public tabContent!: TabContentComponent;\r\n private tabServiceSubscription!: Subscription;\r\n\r\n set active(value: boolean) {\r\n const newValue = coerceBooleanProperty(value);\r\n if (this._active !== newValue) {\r\n this._active = newValue;\r\n this.changeDetectorRef.markForCheck();\r\n }\r\n }\r\n get active(): boolean {\r\n return this._active;\r\n }\r\n private _active: boolean = false;\r\n\r\n @HostBinding('class')\r\n get hostClasses() {\r\n return {\r\n 'tab-pane': true,\r\n fade: true,\r\n show: this.active,\r\n active: this.active\r\n };\r\n }\r\n\r\n ngOnInit(): void {\r\n this.subscribeTabService();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscribeTabService(false);\r\n }\r\n\r\n subscribeTabService(subscribe: boolean = true) {\r\n if (subscribe) {\r\n this.tabServiceSubscription = this.tabService.activeTabPaneIdx$.subscribe((tabContentState: ITabContentState) => {\r\n if (tabContentState.tabContent === this.tabContent) {\r\n this.active = (tabContentState.activeIdx === this.tabPaneIdx);\r\n }\r\n });\r\n } else {\r\n this.tabServiceSubscription.unsubscribe();\r\n }\r\n }\r\n}\r\n","<ng-content></ng-content>\r\n","import {\r\n AfterContentChecked,\r\n AfterContentInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChildren,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n Output,\r\n QueryList,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport { coerceNumberProperty } from '@angular/cdk/coercion';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { TabPaneComponent } from '../tab-pane/tab-pane.component';\r\nimport { TabService } from '../tab.service';\r\n\r\n@Component({\r\n selector: 'c-tab-content',\r\n templateUrl: './tab-content.component.html',\r\n styleUrls: ['./tab-content.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n exportAs: 'cTabContent'\r\n})\r\nexport class TabContentComponent implements AfterContentChecked, AfterContentInit, OnChanges, OnDestroy {\r\n\r\n /**\r\n * Set active tabPane index\r\n * @type number\r\n */\r\n @Input()\r\n set activeTabPaneIdx(value: number) {\r\n const newValue = coerceNumberProperty(value);\r\n if (this._activeTabPaneIdx != newValue) {\r\n this._activeTabPaneIdx = newValue;\r\n this.activeTabPaneIdxChange.emit(newValue);\r\n this.changeDetectorRef.markForCheck();\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n };\r\n get activeTabPaneIdx() {\r\n return this._activeTabPaneIdx;\r\n }\r\n private _activeTabPaneIdx = -1;\r\n\r\n /**\r\n * Event emited on the active tab pane index change.\r\n */\r\n @Output() activeTabPaneIdxChange: EventEmitter<number> = new EventEmitter<number>();\r\n\r\n @ContentChildren(TabPaneComponent) public panes!: QueryList<TabPaneComponent>;\r\n private tabServiceSubscription!: Subscription;\r\n\r\n constructor(\r\n private changeDetectorRef: ChangeDetectorRef,\r\n private tabService: TabService\r\n ) { }\r\n\r\n @HostBinding('class')\r\n get hostClasses() {\r\n return {\r\n 'tab-content': true\r\n };\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.subscribeTabService();\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n this.panes?.forEach((tabPane, index) => {\r\n tabPane.tabContent = this;\r\n tabPane.tabPaneIdx = index;\r\n });\r\n this.refreshTabPaneActive(this.activeTabPaneIdx);\r\n this.tabService.setActiveTabIdx({ tabContent: this, activeIdx: this.activeTabPaneIdx });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['activeTabPaneIdx']?.currentValue) {\r\n this.tabService.setActiveTabIdx({ tabContent: this, activeIdx: changes['activeTabPaneIdx'].currentValue });\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscribeTabService(false);\r\n }\r\n\r\n subscribeTabService(subscribe: boolean = true) {\r\n if (subscribe) {\r\n this.tabServiceSubscription = this.tabService.activeTabPaneIdx$.subscribe((tabContentState) => {\r\n if (this === tabContentState.tabContent) {\r\n this.activeTabPaneIdx = tabContentState.activeIdx;\r\n }\r\n });\r\n } else {\r\n this.tabServiceSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n refreshTabPaneActive(idx: number) {\r\n // hack for active state pane refresh todo?\r\n this.panes?.forEach((tabPane, index) => {\r\n tabPane.active = idx === index;\r\n });\r\n }\r\n}\r\n","<ng-content></ng-content>\r\n","import {\r\n ChangeDetectorRef,\r\n Directive,\r\n HostBinding,\r\n HostListener,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\nimport { TabService } from './tab.service';\r\n\r\n@Directive({\r\n selector: '[cTabContent]',\r\n})\r\nexport class TabContentRefDirective implements OnChanges, OnDestroy, OnInit {\r\n\r\n constructor(\r\n private changeDetectorRef: ChangeDetectorRef,\r\n private tabService: TabService\r\n ) { }\r\n\r\n static ngAcceptInputType_disabled: BooleanInput;\r\n private tabServiceSubscription!: Subscription;\r\n\r\n /**\r\n * Template Ref\r\n * @type TemplateRef\r\n */\r\n @Input('cTabContent') tabContentRef!: any;\r\n\r\n /**\r\n * Set active state of tab content\r\n * @type boolean\r\n */\r\n @Input()\r\n set active(value: boolean) {\r\n const newValue = coerceBooleanProperty(value);\r\n if (this._active !== newValue) {\r\n this._active = newValue;\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n }\r\n get active() {\r\n return this._active;\r\n }\r\n private _active = false;\r\n\r\n /**\r\n * Set disabled state of tab content\r\n * @type boolean\r\n */\r\n @Input()\r\n set disabled(value: boolean) {\r\n this._disabled = coerceBooleanProperty(value);\r\n }\r\n get disabled(): boolean {\r\n return this._disabled || this.tabPaneIdx >= this.tabContentRef?.panes?.length;\r\n }\r\n private _disabled = false;\r\n\r\n /**\r\n * c-tab-pane index respectively\r\n * @type number\r\n */\r\n @Input() tabPaneIdx = -1;\r\n\r\n @HostBinding('class')\r\n get hostClasses() {\r\n return {\r\n active: this.active,\r\n disabled: this.disabled\r\n };\r\n }\r\n\r\n @HostBinding('attr.aria-disabled')\r\n get isDisabled(): boolean | null {\r\n return this.disabled || null;\r\n }\r\n\r\n @HostBinding('attr.disabled')\r\n get attrDisabled() {\r\n return this.disabled ? '' : null;\r\n };\r\n\r\n @HostBinding('attr.tabindex')\r\n get getTabindex(): string | null {\r\n return this.disabled ? '-1' : null;\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['active']?.currentValue) {\r\n this.setActiveTabPane();\r\n }\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n toggleOpen($event: any): void {\r\n $event.preventDefault();\r\n this.setActiveTabPane();\r\n }\r\n\r\n setActiveTabPane() {\r\n setTimeout(() => {\r\n if (this.tabPaneIdx < this.tabContentRef.panes.length) {\r\n this.active = true;\r\n this.tabService.setActiveTabIdx({ tabContent: this.tabContentRef, activeIdx: this.tabPaneIdx });\r\n } else {\r\n this.active = false;\r\n }\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.subscribeTabService();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscribeTabService(false);\r\n }\r\n\r\n subscribeTabService(subscribe: boolean = true) {\r\n if (subscribe) {\r\n this.tabServiceSubscription = this.tabService.activeTabPaneIdx$.subscribe((tabContentState) => {\r\n if (tabContentState.tabContent === this.tabContentRef) {\r\n this.active = (tabContentState.activeIdx === this.tabPaneIdx);\r\n }\r\n });\r\n } else {\r\n this.tabServiceSubscription.unsubscribe();\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TabContentComponent } from './tab-content/tab-content.component';\r\nimport { TabPaneComponent } from './tab-pane/tab-pane.component';\r\nimport { TabService } from './tab.service';\r\nimport { TabContentRefDirective } from './tab-content-ref.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n TabContentComponent,\r\n TabPaneComponent,\r\n TabContentRefDirective\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n TabContentComponent,\r\n TabPaneComponent,\r\n TabContentRefDirective\r\n ],\r\n providers: [\r\n TabService\r\n ]\r\n})\r\nexport class TabsModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\nimport { TToasterPlacement } from './toaster.component';\r\nimport { ToastComponent } from '../toast/toast.component';\r\n\r\nexport interface IToasterAction {\r\n placement?: TToasterPlacement;\r\n toast?: ToastComponent;\r\n show?: boolean;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ToasterService {\r\n\r\n private toasterState = new BehaviorSubject<IToasterAction>({});\r\n toasterState$ = this.toasterState.asObservable();\r\n\r\n constructor() {}\r\n\r\n setState(state: IToasterAction): void {\r\n this.toasterState.next({ ...state });\r\n }\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n Renderer2,\r\n} from '@angular/core';\r\n\r\nimport { animate, AnimationEvent, state, style, transition, trigger } from '@angular/animations';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\nimport { ToasterService } from '../toaster/toaster.service';\r\nimport { TToasterPlacement } from '../toaster/toaster.component';\r\nimport { Colors } from '../../coreui.types';\r\n\r\ntype AnimateType = ('hide' | 'show');\r\n\r\n@Component({\r\n selector: 'c-toast',\r\n templateUrl: './toast.component.html',\r\n styleUrls: ['./toast.component.scss'],\r\n exportAs: 'cToast',\r\n animations: [\r\n trigger('fadeInOut', [\r\n state('show', style({opacity: 1, height: '*', padding: '*', border: '*', margin: '*'})),\r\n state('hide', style({opacity: 0, height: 0, padding: 0, border: 0, margin: 0})),\r\n state('void', style({opacity: 0, height: 0, padding: 0, border: 0, margin: 0})),\r\n transition('show => hide', [\r\n animate('{{ time }} {{ easing }}'),\r\n ], {\r\n params: {time: '300ms', easing: 'ease-out'}\r\n }),\r\n transition('hide => show', [animate('{{ time }} {{ easing }}')], {\r\n params: {time: '300ms', easing: 'ease-in'},\r\n }),\r\n transition('show => void', [animate('{{ time }} {{ easing }}')], {\r\n params: {time: '300ms', easing: 'ease-out'},\r\n }),\r\n transition('void => show', [animate('{{ time }} {{ easing }}')], {\r\n params: {time: '300ms', easing: 'ease-in'},\r\n }),\r\n ]),\r\n ],\r\n})\r\nexport class ToastComponent implements OnInit, OnDestroy {\r\n\r\n static ngAcceptInputType_visible: BooleanInput;\r\n\r\n public dynamic!: boolean;\r\n public placement!: TToasterPlacement;\r\n public hide!: boolean;\r\n\r\n /**\r\n * Auto hide the toast.\r\n * @type boolean\r\n */\r\n @Input() autohide = true;\r\n\r\n /**\r\n * Sets the color context of the component to one of CoreUI’s themed colors.\r\n * @type Colors\r\n */\r\n @Input() color?: Colors = '';\r\n\r\n /**\r\n * Delay hiding the toast (ms).\r\n * @type number\r\n */\r\n @Input() delay = 5000;\r\n\r\n /**\r\n * Apply fade transition to the toast.\r\n * @type boolean\r\n */\r\n @Input() fade = true;\r\n\r\n /**\r\n * Toggle the visibility of component.\r\n * @type boolean\r\n */\r\n @Input()\r\n set visible(value: boolean) {\r\n const newValue = coerceBooleanProperty(value);\r\n if (this._visible !== newValue) {\r\n this._visible = newValue;\r\n newValue ? this.setTimer() : this.clearTimer();\r\n this.visibleChange.emit(newValue);\r\n this.changeDetectorRef.markForCheck();\r\n }\r\n }\r\n get visible() {\r\n return this._visible;\r\n }\r\n private _visible = false;\r\n\r\n /**\r\n * @ignore\r\n */\r\n @Input() index?: number;\r\n\r\n /**\r\n * Event emitted on visibility change. [docs]\r\n * @type boolean\r\n */\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n\r\n /**\r\n * Event emitted on timer tick. [docs]\r\n * @type number\r\n */\r\n @Output() timer: EventEmitter<number> = new EventEmitter();\r\n\r\n private timerId: any;\r\n private clockId: any;\r\n private clockTimerId: any;\r\n\r\n constructor(\r\n public hostElement: ElementRef,\r\n public renderer: Renderer2,\r\n public toasterService: ToasterService,\r\n public changeDetectorRef: ChangeDetectorRef\r\n ) {}\r\n\r\n private _clock!: number;\r\n\r\n get clock(): number {\r\n return this._clock;\r\n }\r\n\r\n set clock(value) {\r\n this._clock = value;\r\n this.timer.emit(this._clock);\r\n this.changeDetectorRef.markForCheck();\r\n }\r\n\r\n @HostBinding('@.disabled')\r\n get animationDisabled(): boolean {\r\n return !this.fade;\r\n }\r\n\r\n @HostBinding('@fadeInOut')\r\n get animateType(): AnimateType {\r\n return this.visible ? 'show' : 'hide';\r\n }\r\n\r\n @HostListener('@fadeInOut.start', ['$event'])\r\n onAnimationStart($event: AnimationEvent): void {\r\n this.onAnimationEvent($event);\r\n }\r\n\r\n @HostListener('@fadeInOut.done', ['$event'])\r\n onAnimationDone($event: AnimationEvent): void {\r\n this.onAnimationEvent($event);\r\n }\r\n\r\n @HostListener('mouseover') onMouseOver(): void {\r\n this.clearTimer();\r\n }\r\n\r\n @HostListener('mouseout') onMouseOut(): void {\r\n this.setTimer();\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n toast: true,\r\n fade: this.fade,\r\n show: !this.hide,\r\n [`bg-${this.color}`]: !!this.color,\r\n 'border-0': !!this.color\r\n };\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.visible) {\r\n this.toasterService.setState({\r\n toast: this,\r\n show: this.visible,\r\n placement: this.placement,\r\n });\r\n this.clearTimer();\r\n this.setTimer();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.clearTimer();\r\n }\r\n\r\n setTimer(): void {\r\n this.clearTimer();\r\n if (this.autohide && this.visible) {\r\n this.timerId = this.delay > 0 ? setTimeout(() => this.onClose(), this.delay) : null;\r\n this.setClock();\r\n }\r\n }\r\n\r\n clearTimer(): void {\r\n this.clearClock();\r\n clearTimeout(this.timerId);\r\n this.timerId = null;\r\n }\r\n\r\n onClose(): void {\r\n this.clearTimer();\r\n this.toasterService.setState({\r\n toast: this,\r\n show: false,\r\n placement: this.placement,\r\n });\r\n }\r\n\r\n setClock(): void {\r\n this.clearClock();\r\n this.clock = 0;\r\n this.clockId = setInterval(() => {\r\n this.clock += 1;\r\n this.changeDetectorRef.markForCheck();\r\n }, 1000);\r\n this.clockTimerId = setTimeout(() => {\r\n this.clearClock();\r\n }, this.delay);\r\n }\r\n\r\n clearClock(): void {\r\n clearTimeout(this.clockTimerId);\r\n clearInterval(this.clockId);\r\n this.clockId = null;\r\n }\r\n\r\n onAnimationEvent(event: AnimationEvent): void {\r\n this.hide = event.phaseName === 'start' && event.toState === 'show';\r\n if (event.phaseName === 'done') {\r\n this.hide = (event.toState === 'hide' || event.toState === 'void');\r\n if (event.toState === 'show') {\r\n this.hide = false;\r\n }\r\n }\r\n }\r\n}\r\n","<ng-content></ng-content>\r\n","import { Component, HostBinding, Optional } from '@angular/core';\r\nimport { ToastComponent } from '../toast/toast.component';\r\n\r\n@Component({\r\n selector: 'c-toast-body',\r\n template: '<ng-content></ng-content>',\r\n styleUrls: ['./toast-body.component.scss'],\r\n exportAs: 'cToastBody'\r\n})\r\nexport class ToastBodyComponent {\r\n\r\n @HostBinding('class.toast-body') toastBodyClass = true;\r\n\r\n constructor(\r\n @Optional() public toast?: ToastComponent\r\n ) { }\r\n\r\n}\r\n","import { Directive, HostListener, Input } from '@angular/core';\r\nimport { ToasterService } from './toaster/toaster.service';\r\n\r\n@Directive({\r\n selector: '[cToastClose]',\r\n exportAs: 'cToastClose'\r\n})\r\nexport class ToastCloseDirective {\r\n\r\n @Input('cToastClose') toast: any;\r\n\r\n constructor(private toasterService: ToasterService) { }\r\n\r\n @HostListener('click', ['$event'])\r\n toggleOpen($event: any): void {\r\n $event.preventDefault();\r\n this.toasterService.setState({ show: false, toast: this.toast });\r\n }\r\n\r\n}\r\n","import { Component, HostBinding, Input, Optional } from '@angular/core';\r\nimport { ToastComponent } from '../toast/toast.component';\r\n\r\n@Component({\r\n selector: 'c-toast-header',\r\n templateUrl: './toast-header.component.html',\r\n styleUrls: ['./toast-header.component.scss'],\r\n exportAs: 'cToastHeader'\r\n})\r\nexport class ToastHeaderComponent {\r\n\r\n /**\r\n * Add close button to a toast header\r\n * @type boolean\r\n */\r\n @Input() closeButton = true;\r\n\r\n @HostBinding('class.toast-header') toastHeaderClass = true;\r\n\r\n constructor(\r\n @Optional() public toast?: ToastComponent\r\n ) { }\r\n\r\n}\r\n","<ng-container>\r\n <ng-content></ng-content>\r\n <button *ngIf=\"closeButton\" [cToastClose]=\"toast\" [style]=\"{outline: 0}\" aria-label=\"close\" cButtonClose class=\"ms-auto\"></button>\r\n</ng-container>\r\n","import { Directive, ViewContainerRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cToasterHost]',\r\n exportAs: 'cToasterHost'\r\n})\r\nexport class ToasterHostDirective {\r\n\r\n constructor(\r\n public viewContainerRef: ViewContainerRef\r\n ) { }\r\n}\r\n","import {\r\n AfterContentChecked,\r\n Component,\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n ContentChildren,\r\n ElementRef,\r\n HostBinding,\r\n Injector,\r\n Input,\r\n NgModuleRef,\r\n OnDestroy,\r\n OnInit,\r\n QueryList,\r\n Renderer2,\r\n VERSION,\r\n ViewChild,\r\n ViewContainerRef\r\n} from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { IToasterAction, ToasterService } from './toaster.service';\r\nimport { ToasterHostDirective } from './toaster-host.directive';\r\nimport { ToastComponent } from '../toast/toast.component';\r\n\r\nexport enum ToasterPlacement {\r\n Static = 'static',\r\n TopStart = 'top-start',\r\n TopCenter = 'top-center',\r\n TopEnd = 'top-end',\r\n MiddleStart = 'middle-start',\r\n MiddleCenter = 'middle-center',\r\n MiddleEnd = 'middle-end',\r\n BottomStart = 'bottom-start',\r\n BottomCenter = 'bottom-center',\r\n BottomEnd = 'bottom-end',\r\n}\r\n\r\nexport type TToasterPlacement =\r\n | ToasterPlacement.Static\r\n | ToasterPlacement.TopStart\r\n | ToasterPlacement.TopCenter\r\n | ToasterPlacement.TopEnd\r\n | ToasterPlacement.MiddleStart\r\n | ToasterPlacement.MiddleCenter\r\n | ToasterPlacement.MiddleEnd\r\n | ToasterPlacement.BottomStart\r\n | ToasterPlacement.BottomCenter\r\n | ToasterPlacement.BottomEnd\r\n | string;\r\n\r\n@Component({\r\n selector: 'c-toaster',\r\n templateUrl: './toaster.component.html',\r\n exportAs: 'cToaster'\r\n})\r\nexport class ToasterComponent implements OnDestroy, OnInit, AfterContentChecked {\r\n\r\n stateToasterSubscription!: Subscription;\r\n placements = Object.values(ToasterPlacement);\r\n toasts!: QueryList<ViewContainerRef>;\r\n toastsDynamic: any[] = [];\r\n\r\n /**\r\n * Toaster placement\r\n * @type TToasterPlacement\r\n */\r\n @Input() placement: TToasterPlacement = ToasterPlacement.TopEnd;\r\n\r\n /**\r\n * Toaster position\r\n * @type (string | 'absolute' | 'fixed' | 'static')\r\n */\r\n @Input() position: (string | 'absolute' | 'fixed' | 'static') = 'absolute';\r\n\r\n @ViewChild(ToasterHostDirective, {static: true}) toasterHost!: ToasterHostDirective;\r\n @ContentChildren(ToastComponent, {read: ViewContainerRef}) contentToasts!: QueryList<ViewContainerRef>;\r\n\r\n constructor(\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private hostElement: ElementRef,\r\n private renderer: Renderer2,\r\n private toasterService: ToasterService\r\n ) { }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): any {\r\n return {\r\n toaster: true,\r\n 'toast-container': true,\r\n [`position-${this.position}`]: !!this.position,\r\n 'top-0': this.placement.includes('top'),\r\n 'top-50': this.placement.includes('middle'),\r\n 'bottom-0': this.placement.includes('bottom'),\r\n 'start-0': this.placement.includes('start'),\r\n 'start-50': this.placement.includes('center'),\r\n 'end-0': this.placement.includes('end'),\r\n 'translate-middle-x': this.placement.includes('center') && !this.placement.includes('middle'),\r\n 'translate-middle-y': this.placement.includes('middle') && !this.placement.includes('center'),\r\n 'translate-middle': this.placement.includes('middle') && this.placement.includes('center'),\r\n };\r\n }\r\n\r\n ngOnInit(): void {\r\n this.stateToasterSubscribe(true);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.stateToasterSubscribe(false);\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n this.toasts = this.contentToasts;\r\n }\r\n\r\n addToast(toast: any, props: any, options?: { index?: number; injector?: Injector; ngModuleRef?: NgModuleRef<unknown>; projectableNodes?: Node[][]; }): ComponentRef<any> {\r\n let componentRef: ComponentRef<any>;\r\n if (parseInt(VERSION.major) < 13) {\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(toast);\r\n componentRef = this.toasterHost.viewContainerRef.createComponent(factory, options?.index, options?.injector, options?.projectableNodes, options?.ngModuleRef);\r\n } else {\r\n // @ts-ignore\r\n componentRef = this.toasterHost.viewContainerRef.createComponent(toast, options);\r\n }\r\n this.toastsDynamic.push(componentRef);\r\n const index = this.toastsDynamic.indexOf(componentRef);\r\n for (const [key, value] of Object.entries(props)) {\r\n componentRef.instance[key] = value;\r\n }\r\n componentRef.instance['placement'] = this.placement;\r\n componentRef.instance['dynamic'] = true;\r\n componentRef.instance['index'] = index;\r\n componentRef.instance['visible'] = true;\r\n componentRef.instance['visibleChange'].emit(true);\r\n componentRef.changeDetectorRef?.detectChanges();\r\n return componentRef;\r\n }\r\n\r\n removeToast(state: IToasterAction): void {\r\n this.toastsDynamic?.forEach(item => {\r\n if (state.toast?.dynamic && (item.instance === state.toast)) {\r\n item.instance.visible = false;\r\n item.instance['visibleChange'].emit(false);\r\n setTimeout(() => {\r\n item.destroy();\r\n }, 300);\r\n }\r\n });\r\n\r\n this.toasts?.forEach(item => {\r\n if (item.element.nativeElement === state.toast?.hostElement.nativeElement) {\r\n if (!state.toast?.dynamic) {\r\n // @ts-ignore\r\n state.toast.visible = false;\r\n }\r\n }\r\n });\r\n }\r\n\r\n private stateToasterSubscribe(subscribe: boolean = true): void {\r\n if (subscribe) {\r\n this.stateToasterSubscription = this.toasterService.toasterState$.subscribe((state) => {\r\n if (state.show === false) {\r\n this.removeToast(state);\r\n }\r\n if (state.show === true && state.toast?.dynamic === undefined) {\r\n }\r\n });\r\n } else {\r\n this.stateToasterSubscription.unsubscribe();\r\n }\r\n }\r\n}\r\n","<ng-template cToasterHost></ng-template>\r\n<ng-content cToasterHost></ng-content>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { ButtonModule } from '../button';\r\nimport { ToastComponent } from './toast/toast.component';\r\nimport { ToastHeaderComponent } from './toast-header/toast-header.component';\r\nimport { ToastBodyComponent } from './toast-body/toast-body.component';\r\nimport { ToasterComponent } from './toaster/toaster.component';\r\nimport { ToasterService } from './toaster/toaster.service';\r\nimport { ToasterHostDirective } from './toaster/toaster-host.directive';\r\nimport { ToastCloseDirective } from './toast-close.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n ToastComponent,\r\n ToastHeaderComponent,\r\n ToastBodyComponent,\r\n ToasterComponent,\r\n ToasterHostDirective,\r\n ToastCloseDirective\r\n ],\r\n imports: [CommonModule, ButtonModule],\r\n providers: [ToasterService],\r\n exports: [\r\n ToastComponent,\r\n ToastHeaderComponent,\r\n ToastBodyComponent,\r\n ToasterComponent,\r\n ToasterHostDirective,\r\n ToastCloseDirective\r\n ]\r\n})\r\nexport class ToastModule {\r\n}\r\n","import {\r\n AfterViewInit,\r\n Component,\r\n HostBinding,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n Renderer2,\r\n SimpleChanges,\r\n TemplateRef,\r\n ViewChild,\r\n ViewContainerRef\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'c-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n})\r\nexport class TooltipComponent implements AfterViewInit, OnChanges, OnDestroy {\r\n\r\n /**\r\n * Content of tooltip\r\n * @type {string | TemplateRef}\r\n */\r\n @Input() content: string | TemplateRef<any> = '';\r\n /**\r\n * Toggle the visibility of popover component.\r\n * @type boolean\r\n */\r\n @Input() visible = false;\r\n @Input() @HostBinding('attr.id') id?: string;\r\n @Input() @HostBinding('attr.role') role = 'tooltip';\r\n\r\n @ViewChild('tooltipTemplate', {read: ViewContainerRef}) viewContainerRef!: ViewContainerRef;\r\n private textNode!: Text;\r\n\r\n constructor(\r\n private renderer: Renderer2,\r\n ) { }\r\n\r\n @HostBinding('class')\r\n get hostClasses(): { [klass: string]: any; } {\r\n return {\r\n tooltip: true,\r\n fade: true,\r\n show: this.visible,\r\n 'bs-tooltip-auto': true\r\n };\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.updateView(this.content);\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['content']) {\r\n setTimeout(() => {\r\n this.updateView(this.content);\r\n });\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.clear();\r\n }\r\n\r\n private clear(): void {\r\n this.viewContainerRef?.clear();\r\n if (!!this.textNode) {\r\n this.renderer.removeChild(this.textNode.parentNode, this.textNode);\r\n }\r\n }\r\n\r\n private updateView(content: string | TemplateRef<any>): void {\r\n this.clear();\r\n\r\n if (!content) {\r\n return;\r\n }\r\n\r\n if (content instanceof TemplateRef) {\r\n this.viewContainerRef.createEmbeddedView(content);\r\n } else {\r\n this.textNode = this.renderer.createText(content);\r\n\r\n const element = this.viewContainerRef.element.nativeElement;\r\n this.renderer.appendChild(element.parentNode, this.textNode);\r\n }\r\n }\r\n}\r\n","<div class=\"tooltip-arrow\" data-popper-arrow></div>\r\n<div class=\"tooltip-inner\">\r\n <ng-container #tooltipTemplate></ng-container>\r\n</div>\r\n","import {\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n Directive,\r\n ElementRef,\r\n HostBinding,\r\n Inject,\r\n Input, OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Renderer2,\r\n SimpleChanges,\r\n TemplateRef,\r\n ViewContainerRef\r\n} from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { createPopper, Instance, Options } from '@popperjs/core';\r\n\r\nimport { Triggers } from '../coreui.types';\r\nimport { TooltipComponent } from './tooltip/tooltip.component';\r\nimport { IListenersConfig, ListenersService } from '../services/listeners.service';\r\n\r\n@Directive({\r\n selector: '[cTooltip]',\r\n exportAs: 'cTooltip',\r\n providers: [ListenersService]\r\n})\r\nexport class TooltipDirective implements OnChanges, OnDestroy, OnInit {\r\n\r\n /**\r\n * Content of tooltip\r\n * @type {string | TemplateRef}\r\n */\r\n @Input('cTooltip') content: string | TemplateRef<any> = '';\r\n\r\n /**\r\n * Optional popper Options object, takes precedence over cPopoverPlacement prop\r\n * @type Partial<Options>\r\n */\r\n @Input('cTooltipOptions')\r\n set popperOptions(value: Partial<Options>) {\r\n this._popperOptions = {...this._popperOptions, placement: this.placement, ...value};\r\n };\r\n get popperOptions(): Partial<Options> {\r\n return {placement: this.placement, ...this._popperOptions};\r\n }\r\n\r\n /**\r\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.\r\n */\r\n @Input('cTooltipPlacement') placement: 'top' | 'bottom' | 'left' | 'right' = 'top';\r\n /**\r\n * Sets which event handlers you’d like provided to your toggle prop. You can specify one trigger or an array of them.\r\n * @type {'hover' | 'focus' | 'click'}\r\n */\r\n @Input('cTooltipTrigger') trigger: Triggers | Triggers[] = 'hover';\r\n\r\n /**\r\n * Toggle the visibility of tooltip component.\r\n */\r\n @Input('cTooltipVisible')\r\n set visible(value: boolean) {\r\n this._visible = value;\r\n value ? this.addTooltipElement() : this.removeTooltipElement();\r\n this.tooltipRef?.changeDetectorRef.markForCheck();\r\n }\r\n get visible() {\r\n return this._visible;\r\n }\r\n private _visible = false;\r\n\r\n @HostBinding('attr.aria-describedby') get ariaDescribedBy(): string | null {\r\n return this.tooltipId ? this.tooltipId : null;\r\n }\r\n\r\n private tooltip!: HTMLDivElement;\r\n private tooltipId!: string;\r\n private tooltipRef!: ComponentRef<TooltipComponent>;\r\n private popperInstance!: Instance;\r\n\r\n private _popperOptions: Partial<Options> = {\r\n modifiers: [\r\n {\r\n name: 'offset',\r\n options: {\r\n offset: [0, 0],\r\n },\r\n },\r\n ],\r\n };\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: any,\r\n private renderer: Renderer2,\r\n private hostElement: ElementRef,\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private viewContainerRef: ViewContainerRef,\r\n private listenersService: ListenersService\r\n ) {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['visible']) {\r\n changes['visible'].currentValue ? this.addTooltipElement() : this.removeTooltipElement();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.clearListeners();\r\n this.destroyTooltipElement();\r\n }\r\n\r\n ngOnInit(): void {\r\n // this.createTooltipElement();\r\n this.setListeners();\r\n }\r\n\r\n private setListeners(): void {\r\n const config: IListenersConfig = {\r\n hostElement: this.hostElement,\r\n trigger: this.trigger,\r\n callbackToggle: () => {\r\n this.visible = !this.visible;\r\n },\r\n callbackOff: () => {\r\n this.visible = false;\r\n },\r\n callbackOn: () => {\r\n this.visible = true;\r\n }\r\n }\r\n this.listenersService.setListeners(config)\r\n }\r\n\r\n private clearListeners(): void {\r\n this.listenersService.clearListeners();\r\n }\r\n\r\n private getUID(prefix: string): string {\r\n let uid = prefix ?? 'random-id';\r\n do {\r\n uid = `${prefix}-${Math.floor(Math.random() * 1000000).toString(10)}`;\r\n } while (this.document.getElementById(uid));\r\n\r\n return uid;\r\n }\r\n\r\n private createTooltipElement(): void {\r\n if (!this.tooltipRef) {\r\n const tooltipComponent = this.componentFactoryResolver.resolveComponentFactory(TooltipComponent);\r\n this.tooltipRef = this.viewContainerRef.createComponent(tooltipComponent);\r\n }\r\n }\r\n\r\n private destroyTooltipElement(): void {\r\n this.tooltip?.remove();\r\n this.tooltipRef?.destroy();\r\n // @ts-ignore\r\n this.tooltipRef = undefined;\r\n this.popperInstance?.destroy();\r\n this.viewContainerRef.detach();\r\n this.viewContainerRef.clear();\r\n }\r\n\r\n private addTooltipElement(): void {\r\n if (!this.tooltipRef) {\r\n this.createTooltipElement();\r\n }\r\n this.tooltipRef.instance.content = this.content;\r\n this.tooltip = this.tooltipRef.location.nativeElement;\r\n\r\n setTimeout(() => {\r\n this.popperInstance = createPopper(\r\n this.hostElement.nativeElement,\r\n this.tooltip,\r\n { ...this.popperOptions }\r\n );\r\n setTimeout(() => {\r\n this.tooltipId = this.getUID('tooltip');\r\n this.tooltipRef.instance.id = this.tooltipId;\r\n this.tooltipRef.instance.visible = this.visible;\r\n this.renderer.appendChild(this.document.body, this.tooltip);\r\n this.popperInstance.forceUpdate();\r\n this.tooltipRef.changeDetectorRef.markForCheck();\r\n // this.tooltipRef.changeDetectorRef.detectChanges();\r\n }, 100);\r\n })\r\n }\r\n\r\n private removeTooltipElement(): void {\r\n if (!this.tooltipRef) {\r\n return\r\n }\r\n this.tooltipRef.instance.visible = this.visible;\r\n setTimeout(() => {\r\n // this.tooltipRef.changeDetectorRef.detectChanges();\r\n this.tooltipRef.instance.id = undefined;\r\n this.renderer.removeChild(this.document.body, this.tooltip);\r\n this.popperInstance?.destroy();\r\n this.tooltipId = '';\r\n }, 300);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TooltipComponent } from './tooltip/tooltip.component';\r\nimport { TooltipDirective } from './tooltip.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n TooltipComponent,\r\n TooltipDirective,\r\n ],\r\n exports: [\r\n TooltipComponent,\r\n TooltipDirective,\r\n ],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class TooltipModule { }\r\n","import { AfterContentInit, Component, ContentChildren, HostBinding, Input, QueryList } from '@angular/core';\r\n\r\nimport { Colors } from '../../coreui.types';\r\nimport { TemplateIdDirective } from '../../shared';\r\n\r\n@Component({\r\n selector: 'c-widget-stat-a',\r\n templateUrl: './widget-stat-a.component.html',\r\n styleUrls: ['./widget-stat-a.component.scss'],\r\n exportAs: 'cWidgetStatA'\r\n})\r\nexport class WidgetStatAComponent implements AfterContentInit {\r\n /**\r\n * Sets the color context of the component to one of CoreUI’s themed colors.\r\n * @type Colors\r\n */\r\n @Input() color?: Colors;\r\n /**\r\n * Title of the widget to display\r\n * @type string\r\n */\r\n @Input() title?: string;\r\n /**\r\n * Value for your widget to display\r\n * @type string\r\n */\r\n @Input() value?: string;\r\n\r\n templates: any = {};\r\n\r\n @ContentChildren(TemplateIdDirective, {descendants: true}) contentTemplates!: QueryList<TemplateIdDirective>;\r\n\r\n @HostBinding('class')\r\n get hostClasses() {\r\n return {\r\n 'card': true,\r\n [`bg-${this.color}`]: !!this.color,\r\n 'text-high-emphasis-inverse': !!this.color\r\n }\r\n }\r\n\r\n get bodyClasses() {\r\n return {\r\n 'pb-0': true,\r\n 'd-flex': true,\r\n 'justify-content-between': true,\r\n 'align-items-start': true,\r\n }\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.contentTemplates.forEach((child: TemplateIdDirective) => {\r\n this.templates[child.id] = child.templateRef;\r\n });\r\n }\r\n}\r\n","<ng-container>\r\n <c-card-body [ngClass]=\"bodyClasses\">\r\n <div>\r\n <div *ngIf=\"!!value || templates?.widgetValueTemplate\" class=\"fs-4 fw-semibold\">\r\n <ng-container *ngTemplateOutlet=\"templates?.widgetValueTemplate || defaultWidgetValueTemplate\"></ng-container>\r\n </div>\r\n <div *ngIf=\"!!title || templates?.widgetTitleTemplate\">\r\n <ng-container *ngTemplateOutlet=\"templates?.widgetTitleTemplate || defaultWidgetTitleTemplate\"></ng-container>\r\n </div>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"templates?.widgetActionTemplate || defaultWidgetActionTemplate\"></ng-container>\r\n </c-card-body>\r\n <ng-container *ngTemplateOutlet=\"templates?.widgetChartTemplate || defaultWidgetChartTemplate\"></ng-container>\r\n</ng-container>\r\n\r\n<ng-template #defaultWidgetTitleTemplate>\r\n {{title}}\r\n</ng-template>\r\n\r\n<ng-template #defaultWidgetValueTemplate>\r\n {{value}}\r\n</ng-template>\r\n\r\n<ng-template #defaultWidgetChartTemplate>\r\n <ng-content select=\".chart-wrapper\"></ng-content>\r\n</ng-template>\r\n\r\n<ng-template #defaultWidgetActionTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n","import { Component, HostBinding, Input, OnInit } from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\nimport { Colors } from '../../coreui.types';\r\nimport { CardComponent } from '../../card';\r\n\r\n@Component({\r\n selector: 'c-widget-stat-b',\r\n templateUrl: './widget-stat-b.component.html',\r\n styleUrls: ['./widget-stat-b.component.scss'],\r\n exportAs: 'cWidgetStatB'\r\n})\r\nexport class WidgetStatBComponent extends CardComponent {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n static ngAcceptInputType_inverse: BooleanInput;\r\n\r\n /**\r\n * Sets the color context of the component to one of CoreUI’s themed colors.\r\n * @type Colors\r\n */\r\n @Input() override color?: Colors;\r\n /**\r\n * Sets the text-color context of the component to one of CoreUI’s themed colors.\r\n * @type Colors\r\n */\r\n @Input() override textColor?: Colors | 'white' | 'muted';\r\n /**\r\n * Title of the widget to display\r\n * @type string\r\n */\r\n @Input() title?: string;\r\n /**\r\n * Helper text for your widget.\r\n * @type string\r\n */\r\n @Input() text?: string;\r\n /**\r\n * Value for your widget to display\r\n * @type string\r\n */\r\n @Input() value?: string;\r\n /**\r\n * Invert colors from their default dark shade.\r\n * @type boolean\r\n */\r\n @Input()\r\n get inverse(): boolean {\r\n return this._inverse;\r\n }\r\n set inverse(value: boolean) {\r\n this._inverse = coerceBooleanProperty(value);\r\n }\r\n private _inverse = false;\r\n\r\n @HostBinding('class')\r\n override get hostClasses() {\r\n return {\r\n 'card': true,\r\n [`bg-${this.color}`]: !!this.color,\r\n [`text-${this.textColor}`]: !!this.textColor,\r\n 'text-high-emphasis-inverse': !!this.color\r\n }\r\n }\r\n\r\n}\r\n","<c-card-body>\r\n <div *ngIf=\"!!value\" class=\"fs-4 fw-semibold\">{{value}}</div>\r\n <div *ngIf=\"!!title\">{{title}}</div>\r\n <ng-content></ng-content>\r\n <small *ngIf=\"text\" [ngClass]=\"inverse ? 'text-medium-emphasis-inverse' : 'text-medium-emphasis'\">\r\n {{text}}\r\n </small>\r\n</c-card-body>\r\n","import { AfterContentInit, Component, ContentChildren, HostBinding, Input, QueryList } from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\nimport { CardComponent } from '../../card';\r\nimport { TemplateIdDirective } from '../../shared';\r\n\r\n@Component({\r\n selector: 'c-widget-stat-c',\r\n templateUrl: './widget-stat-c.component.html',\r\n styleUrls: ['./widget-stat-c.component.scss'],\r\n exportAs: 'cWidgetStatC'\r\n})\r\nexport class WidgetStatCComponent extends CardComponent implements AfterContentInit {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n static ngAcceptInputType_inverse: BooleanInput;\r\n\r\n /**\r\n * Icon for your component.\r\n * @type string\r\n */\r\n @Input() icon?: string;\r\n /**\r\n * Title of the widget to display\r\n * @type string\r\n */\r\n @Input() title?: string;\r\n /**\r\n * Value for your widget to display\r\n * @type string\r\n */\r\n @Input() value?: string | number;\r\n /**\r\n * Invert colors from their default dark shade.\r\n * @type boolean\r\n */\r\n @Input()\r\n get inverse(): boolean {\r\n return this._inverse;\r\n }\r\n set inverse(value: boolean) {\r\n this._inverse = coerceBooleanProperty(value);\r\n }\r\n private _inverse = false;\r\n\r\n templates: any = {};\r\n @ContentChildren(TemplateIdDirective, {descendants: true}) contentTemplates!: QueryList<TemplateIdDirective>;\r\n\r\n @HostBinding('class')\r\n get hostExtendedClass() {\r\n return {\r\n 'high-emphasis-inverse': this.inverse\r\n }\r\n }\r\n\r\n get iconClasses() {\r\n return {\r\n 'mb-4': !this.textColor,\r\n 'text-end': true,\r\n 'text-medium-emphasis': !this.inverse,\r\n 'text-medium-emphasis-inverse': this.inverse,\r\n [`text-${this.textColor}`]: !!this.textColor,\r\n }\r\n }\r\n\r\n get titleClasses() {\r\n return {\r\n 'text-medium-emphasis': !this.inverse,\r\n 'text-medium-emphasis-inverse': this.inverse,\r\n [`text-${this.textColor}`]: !!this.textColor,\r\n }\r\n }\r\n\r\n get valueClasses() {\r\n return {\r\n 'fs-4': !this.textColor,\r\n 'fw-semibold': true,\r\n 'text-high-emphasis': !this.inverse,\r\n 'text-high-emphasis-inverse': this.inverse,\r\n [`text-${this.textColor}`]: !!this.textColor,\r\n }\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.contentTemplates.forEach((child: TemplateIdDirective) => {\r\n this.templates[child.id] = child.templateRef;\r\n });\r\n }\r\n}\r\n","<c-card-body>\r\n <div *ngIf=\"icon || templates?.widgetIconTemplate\" [ngClass]=\"iconClasses\">\r\n <ng-container *ngTemplateOutlet=\"templates?.widgetIconTemplate || defaultWidgetIconTemplate\"></ng-container>\r\n </div>\r\n <div *ngIf=\"!!value\" [ngClass]=\"valueClasses\">\r\n {{value}}\r\n </div>\r\n <div *ngIf=\"!!title\" [ngClass]=\"titleClasses\">\r\n {{title}}\r\n </div>\r\n <ng-container *ngIf=\"templates?.widgetProgressTemplate\">\r\n <ng-container *ngTemplateOutlet=\"templates?.widgetProgressTemplate || defaultWidgetProgressTemplate\"></ng-container>\r\n </ng-container>\r\n</c-card-body>\r\n\r\n<ng-template #defaultWidgetIconTemplate>\r\n {{icon}}\r\n</ng-template>\r\n\r\n<ng-template #defaultWidgetProgressTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n","import { Component, HostBinding, Input, OnInit } from '@angular/core';\r\nimport { Colors } from '../../coreui.types';\r\n\r\nexport type WidgetStatDValue = {\r\n title?: string,\r\n value?: number | string,\r\n}\r\n\r\n@Component({\r\n selector: 'c-widget-stat-d',\r\n templateUrl: './widget-stat-d.component.html',\r\n styleUrls: ['./widget-stat-d.component.scss'],\r\n exportAs: 'cWidgetStatD'\r\n})\r\nexport class WidgetStatDComponent {\r\n /**\r\n * Sets the color context of the component to one of CoreUI’s themed colors.\r\n * @type Colors\r\n */\r\n @Input() color?: Colors;\r\n /**\r\n * Values and subtitles for your component.\r\n * @type WidgetStatDValue\r\n */\r\n @Input() values?: WidgetStatDValue[];\r\n\r\n constructor() {\r\n }\r\n\r\n @HostBinding('class')\r\n get hostClasses() {\r\n return {\r\n 'card': true\r\n }\r\n }\r\n\r\n get headerClasses() {\r\n return {\r\n 'position-relative': true,\r\n 'd-flex': true,\r\n 'justify-content-center': true,\r\n 'align-items-center': true,\r\n [`bg-${this.color}`]: this.color,\r\n }\r\n }\r\n\r\n}\r\n","<c-card-header [ngClass]=\"headerClasses\">\r\n <ng-content></ng-content>\r\n</c-card-header>\r\n<c-card-body cRow class=\"text-center\">\r\n <ng-template [ngForOf]=\"values\" let-i=\"index\" let-item ngFor>\r\n <div *ngIf=\"i % 2 !== 0\" class=\"vr\"></div>\r\n <c-col>\r\n <div class=\"fs-5 fw-semibold\">{{item.value}}</div>\r\n <div class=\"text-uppercase text-medium-emphasis small\">{{item.title}}</div>\r\n </c-col>\r\n </ng-template>\r\n</c-card-body>\r\n","import { Component, Input } from '@angular/core';\r\nimport { CardComponent } from '../../card';\r\n\r\n@Component({\r\n selector: 'c-widget-stat-e',\r\n templateUrl: './widget-stat-e.component.html',\r\n styleUrls: ['./widget-stat-e.component.scss'],\r\n exportAs: 'cWidgetStatE'\r\n})\r\nexport class WidgetStatEComponent extends CardComponent {\r\n\r\n constructor() {\r\n super();\r\n }\r\n /**\r\n * Title of the widget to display\r\n * @type string\r\n */\r\n @Input() title?: string;\r\n /**\r\n * Value for your widget to display\r\n * @type string | number\r\n */\r\n @Input() value?: string | number;\r\n\r\n get titleClasses() {\r\n return {\r\n 'text-medium-emphasis': !this.textColor,\r\n 'small': true,\r\n 'text-uppercase': true,\r\n 'fw-semibold': true,\r\n [`text-${this.textColor}`]: !!this.textColor,\r\n }\r\n }\r\n\r\n}\r\n","<c-card-body class=\"text-center\">\r\n <div *ngIf=\"!!title\" [ngClass]=\"titleClasses\">{{title}}</div>\r\n <div *ngIf=\"!!value\" class=\"fs-6 fw-semibold py-3\">{{value}}</div>\r\n <ng-content></ng-content>\r\n</c-card-body>\r\n","import { AfterContentInit, Component, ContentChildren, HostBinding, Input, QueryList } from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\nimport { TemplateIdDirective } from '../../shared';\r\nimport { Colors } from '../../coreui.types';\r\n\r\n@Component({\r\n selector: 'c-widget-stat-f',\r\n templateUrl: './widget-stat-f.component.html',\r\n styleUrls: ['./widget-stat-f.component.scss'],\r\n exportAs: 'cWidgetStatB'\r\n})\r\nexport class WidgetStatFComponent implements AfterContentInit {\r\n\r\n static ngAcceptInputType_padding: BooleanInput;\r\n /**\r\n * Sets the color context of the component to one of CoreUI’s themed colors.\r\n * @type Colors\r\n */\r\n @Input() color?: Colors;\r\n /**\r\n * Sets the text-color context of the component to one of CoreUI’s themed colors.\r\n * @type Colors\r\n */\r\n @Input() textColor?: Colors | 'white' | 'muted';\r\n /**\r\n * Footer for your widget\r\n * @type string\r\n */\r\n @Input() footer?: string;\r\n /**\r\n * Icon for your widget\r\n * @type string\r\n */\r\n @Input() icon?: string;\r\n /**\r\n * Title of the widget to display\r\n * @type string\r\n */\r\n /**\r\n * Set padding of your component.\r\n * @type boolean\r\n */\r\n @Input()\r\n get padding(): boolean {\r\n return this._padding;\r\n }\r\n set padding(value: boolean) {\r\n this._padding = coerceBooleanProperty(value);\r\n }\r\n private _padding = false;\r\n\r\n @Input() title?: string;\r\n /**\r\n * Value for your widget to display\r\n * @type string\r\n */\r\n @Input() value?: string | number;\r\n\r\n templates: any = {};\r\n @ContentChildren(TemplateIdDirective, {descendants: true}) contentTemplates!: QueryList<TemplateIdDirective>;\r\n\r\n @HostBinding('class')\r\n get hostClasses() {\r\n return {\r\n card: true\r\n }\r\n }\r\n\r\n get cardBodyClasses() {\r\n return {\r\n 'd-flex': true,\r\n 'align-items-center': true,\r\n 'p-0': !this.padding,\r\n }\r\n }\r\n\r\n get iconClasses() {\r\n return {\r\n 'me-3': !this.textColor,\r\n 'text-white': true,\r\n [`bg-${this.color}`]: !!this.color,\r\n 'p-3': this.padding,\r\n 'p-4': !this.padding,\r\n }\r\n }\r\n\r\n get titleClasses() {\r\n return {\r\n 'text-medium-emphasis': !this.textColor,\r\n 'small': true,\r\n 'text-uppercase': true,\r\n 'fw-semibold': true,\r\n [`text-${this.textColor}`]: !!this.textColor,\r\n }\r\n }\r\n\r\n get valueClasses() {\r\n return {\r\n 'fs-6': !this.textColor,\r\n 'fw-semibold': true,\r\n [`text-${this.textColor}`]: !!this.textColor,\r\n }\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.contentTemplates.forEach((child: TemplateIdDirective) => {\r\n this.templates[child.id] = child.templateRef;\r\n });\r\n }\r\n}\r\n","<ng-container>\r\n <c-card-body [ngClass]=\"cardBodyClasses\">\r\n <div [ngClass]=\"iconClasses\">\r\n <ng-container *ngTemplateOutlet=\"templates?.widgetIconTemplate || defaultWidgetIconTemplate\"></ng-container>\r\n </div>\r\n <div>\r\n <div [ngClass]=\"valueClasses\">{{value}}</div>\r\n <div [ngClass]=\"titleClasses\">{{title}}</div>\r\n </div>\r\n </c-card-body>\r\n <c-card-footer *ngIf=\"footer || templates?.widgetFooterTemplate\">\r\n <ng-container *ngTemplateOutlet=\"templates?.widgetFooterTemplate || defaultFooterIconTemplate\"></ng-container>\r\n </c-card-footer>\r\n</ng-container>\r\n\r\n<ng-template #defaultWidgetIconTemplate>\r\n <span>{{icon}}</span>\r\n</ng-template>\r\n\r\n<ng-template #defaultFooterIconTemplate>\r\n <span>{{footer}}</span>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { CardModule } from '../card';\r\nimport { GridModule } from '../grid';\r\n\r\nimport { WidgetStatAComponent } from './widget-stat-a/widget-stat-a.component';\r\nimport { WidgetStatBComponent } from './widget-stat-b/widget-stat-b.component';\r\nimport { WidgetStatCComponent } from './widget-stat-c/widget-stat-c.component';\r\nimport { WidgetStatDComponent } from './widget-stat-d/widget-stat-d.component';\r\nimport { WidgetStatEComponent } from './widget-stat-e/widget-stat-e.component';\r\nimport { WidgetStatFComponent } from './widget-stat-f/widget-stat-f.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n WidgetStatAComponent,\r\n WidgetStatBComponent,\r\n WidgetStatCComponent,\r\n WidgetStatDComponent,\r\n WidgetStatEComponent,\r\n WidgetStatFComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n CardModule,\r\n GridModule,\r\n ],\r\n exports: [\r\n WidgetStatAComponent,\r\n WidgetStatBComponent,\r\n WidgetStatCComponent,\r\n WidgetStatDComponent,\r\n WidgetStatEComponent,\r\n WidgetStatFComponent\r\n ]\r\n})\r\nexport class WidgetModule {\r\n}\r\n","/*\r\n * Public API Surface of coreui-angular\r\n */\r\n\r\nexport * from './lib/coreui.types';\r\nexport * from './lib/shared';\r\nexport * from './lib/accordion';\r\nexport * from './lib/alert';\r\nexport * from './lib/avatar';\r\nexport * from './lib/badge';\r\nexport * from './lib/breadcrumb';\r\nexport * from './lib/button';\r\nexport * from './lib/button-group';\r\nexport * from './lib/callout';\r\nexport * from './lib/card';\r\nexport * from './lib/carousel';\r\nexport * from './lib/collapse';\r\nexport * from './lib/dropdown';\r\nexport * from './lib/element-cover';\r\nexport * from './lib/footer';\r\nexport * from './lib/form';\r\nexport * from './lib/grid';\r\nexport * from './lib/header';\r\nexport * from './lib/image';\r\nexport * from './lib/list-group';\r\nexport * from './lib/loading-button';\r\nexport * from './lib/multi-select';\r\nexport * from './lib/nav';\r\nexport * from './lib/navbar';\r\nexport * from './lib/modal';\r\nexport * from './lib/offcanvas';\r\nexport * from './lib/pagination';\r\nexport * from './lib/placeholder';\r\nexport * from './lib/popover';\r\nexport * from './lib/progress';\r\nexport * from './lib/services';\r\nexport * from './lib/sidebar';\r\nexport * from './lib/smart-pagination';\r\nexport * from './lib/smart-table';\r\nexport * from './lib/spinner';\r\nexport * from './lib/table';\r\nexport * from './lib/tabs';\r\nexport * from './lib/toast';\r\nexport * from './lib/tooltip';\r\nexport * from './lib/utilities';\r\nexport * from './lib/widget';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.AccordionService","nextId","i2","i3.CollapseDirective","i4.AccordionButtonDirective","i1","i2.ButtonCloseDirective","i3.HtmlAttributesDirective","i1.BreadcrumbRouterService","i3.BreadcrumbItemComponent","i4.BreadcrumbComponent","i1.CarouselService","i2.CarouselState","i3.IntersectionService","i4.ListenersService","i1.CarouselState","i3","i1.DropdownService","i2.DropdownComponent","i2.SpinnerComponent","i1.SpinnerComponent","i2.MultiSelectService","i2.MultiSelectOptgroupLabelComponent","i1.MultiSelectService","i3.ButtonCloseDirective","i4.ButtonCloseDirective","i5","i6.MultiSelectTagComponent","i1.ModalService","i2.BackdropService","i4.ModalContentComponent","i5.ModalDialogComponent","i1.OffcanvasService","i1.ListenersService","i1.SidebarService","i2.SidebarService","i3.SidebarBackdropService","i1.SidebarNavHelper","i4.SidebarNavBadgePipe","i6.SidebarNavBadgePipe","i7.SidebarNavIconPipe","i8.SidebarNavLinkPipe","i1.SidebarComponent","i2.SidebarNavHelper","i4.SidebarService","i6.HtmlAttributesDirective","i7.SidebarNavDividerComponent","i8.SidebarNavLabelComponent","i9.SidebarNavLinkComponent","i10.SidebarNavTitleComponent","i11.SidebarNavItemClassPipe","i13.SidebarNavBadgePipe","i14.SidebarNavIconPipe","i2.PageItemDirective","i3.PageLinkDirective","i1.FormControlDirective","i2.FormLabelDirective","i3.FormSelectDirective","i2.TableColorDirective","i3.FormControlDirective","i4.FormCheckInputDirective","i5.HtmlAttributesDirective","i2.ElementCoverComponent","i3.TableDirective","i4.TableColorDirective","i5.TableActiveDirective","i6.SmartPaginationComponent","i7.FormCheckInputDirective","i8.ButtonDirective","i9.HtmlAttributesDirective","i10.AlignDirective","i11.SmartTableFilterComponent","i12.SmartTableItemsPerPageSelectorComponent","i13.SmartTableHeadComponent","i1.TabService","i1.ToasterService","i1.ToastComponent","i4.ToastCloseDirective","i2.ToasterHostDirective","i2.CardBodyComponent","i3.CardHeaderComponent","i4.ColComponent","i5.RowDirective","i3.CardFooterComponent"],"mappings":"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"}
|