@coreui/angular-pro 4.0.0-alpha.5 → 4.0.0-alpha.6

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.
@@ -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/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/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.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/spinner/spinner.component.ts","../../../projects/coreui-angular/src/lib/spinner/spinner.component.html","../../../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/spinner/spinner.module.ts","../../../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-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.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-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/popover/popover/popover.component.ts","../../../projects/coreui-angular/src/lib/popover/popover/popover.component.html","../../../projects/coreui-angular/src/lib/services/listeners.service.ts","../../../projects/coreui-angular/src/lib/popover/popover.directive.ts","../../../projects/coreui-angular/src/lib/popover/popover.module.ts","../../../projects/coreui-angular/src/lib/progress/progress.component.ts","../../../projects/coreui-angular/src/lib/progress/progress-bar.component.ts","../../../projects/coreui-angular/src/lib/progress/progress.module.ts","../../../projects/coreui-angular/src/lib/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/table/table-color.directive.ts","../../../projects/coreui-angular/src/lib/table/table-active.directive.ts","../../../projects/coreui-angular/src/lib/table/table.directive.ts","../../../projects/coreui-angular/src/lib/table/table.module.ts","../../../projects/coreui-angular/src/lib/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/utilities/bg-color.directive.ts","../../../projects/coreui-angular/src/lib/utilities/border.directive.ts","../../../projects/coreui-angular/src/lib/utilities/text-color.directive.ts","../../../projects/coreui-angular/src/lib/utilities/rounded.directive.ts","../../../projects/coreui-angular/src/lib/utilities/align.directive.ts","../../../projects/coreui-angular/src/lib/utilities/utilities.module.ts","../../../projects/coreui-angular/src/lib/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":["export 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 };\r\n routerLinkActive?: string | string[];\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 @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 toggelItem(item: AccordionItemComponent): void {\r\n item.open = !item.open;\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.open = 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","import {\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 SimpleChanges\r\n} from '@angular/core';\r\nimport { AnimationBuilder, AnimationPlayer, useAnimation } from '@angular/animations';\r\n\r\nimport { collapseAnimation, expandAnimation } from './collapse.animations';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\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 {\r\n\r\n static ngAcceptInputType_navbar: BooleanInput;\r\n\r\n private _animate = true;\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\r\n private _visible = false;\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\r\n private _navbar = false;\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 /**\r\n * @ignore\r\n */\r\n @Input() duration = '400ms';\r\n /**\r\n * @ignore\r\n */\r\n @Input() transition = 'ease-in-out';\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\r\n constructor(\r\n private hostElement: ElementRef,\r\n private animationBuilder: AnimationBuilder\r\n ) {\r\n this.host = this.hostElement.nativeElement;\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 };\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 // tslint:disable-next-line:no-unused-expression\r\n (!changes['visible'].firstChange || !changes['visible'].currentValue) && this.toggle(changes['visible'].currentValue);\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.visible = visible;\r\n this.createPlayer(visible);\r\n this.player.play();\r\n }\r\n\r\n destroyPlayer(): void {\r\n if (this.player) {\r\n this.player.destroy();\r\n }\r\n }\r\n\r\n createPlayer(visible: boolean = this.visible): void {\r\n if (this.player) {\r\n this.destroyPlayer();\r\n }\r\n\r\n let animationFactory;\r\n\r\n const duration = this.animate ? this.duration : '0ms';\r\n\r\n animationFactory = this.animationBuilder.build(\r\n useAnimation(visible ? expandAnimation : collapseAnimation, { params: { time: duration, easing: this.transition } })\r\n );\r\n\r\n this.player = animationFactory.create(this.host);\r\n this.player.onStart(() => {this.collapseChange.emit(visible ? 'opening' : 'collapsing'); });\r\n this.player.onDone(() => {this.collapseChange.emit(visible ? 'open' : 'collapsed'); });\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\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 * Toggle an accordion item programmatically\r\n * @type boolean\r\n */\r\n @Input() open = false;\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.open };\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.toggelItem(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]=\"open\" [attr.aria-expanded]=\"open\" [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]=\"!open\" [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 @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 * 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 } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\nexport interface ICarouselIndex {\r\n active?: 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 this.carouselService.setIndex({active: nextState.activeItemIndex});\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 EventEmitter,\r\n HostBinding,\r\n HostListener,\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 { CarouselState } from '../carousel-state';\r\nimport { CarouselService } from '../carousel.service';\r\nimport { CarouselConfig } from '../carousel.config';\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]\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 */\r\n @Input() interval = 0;\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 * 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\r\n @HostListener('mouseenter', ['$event'])\r\n @HostListener('mousedown', ['$event'])\r\n public onMouseenter($event: MouseEvent): void {\r\n this.resetTimer();\r\n }\r\n\r\n @HostListener('mouseleave', ['$event'])\r\n @HostListener('mouseup', ['$event'])\r\n public onMouseleave($event: MouseEvent): void {\r\n this.setTimer();\r\n }\r\n\r\n constructor(\r\n @Inject(CarouselConfig) private config: CarouselConfig,\r\n private carouselService: CarouselService,\r\n private carouselState: CarouselState\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.carouselStateSubscribe(false);\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.carouselState.state = { activeItemIndex: this.activeIndex, animate: this.animate };\r\n this.setTimer();\r\n }\r\n\r\n setTimer(): void {\r\n this.resetTimer();\r\n if (this.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 }, this.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((nextIndex) => {\r\n if ('active' in nextIndex) {\r\n this.setTimer();\r\n }\r\n });\r\n } else {\r\n this.carouselIndexSubscription?.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 private _active = false;\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\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\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 ChangeDetectorRef,\r\n Component,\r\n ContentChild,\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\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\n\r\nimport { Subscription } from 'rxjs';\r\nimport { DropdownService } from '../dropdown.service';\r\nimport { DropdownMenuDirective } from '../dropdown-menu/dropdown-menu.directive';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { createPopper, Instance, Options, Placement } from '@popperjs/core';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n@Directive({\r\n selector: '[cDropdownToggle]',\r\n exportAs: 'cDropdownToggle',\r\n})\r\nexport class DropdownToggleDirective {\r\n\r\n static ngAcceptInputType_split: BooleanInput;\r\n static ngAcceptInputType_popper: BooleanInput;\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 private _split = false;\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\r\n get split(): boolean {\r\n return this._split;\r\n }\r\n\r\n constructor(\r\n public elementRef: ElementRef,\r\n private dropdownService: DropdownService,\r\n @Optional() public dropdown?: DropdownComponent\r\n ) {}\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 };\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n public onClick($event: MouseEvent): void {\r\n $event.preventDefault();\r\n this.dropdownService.toggle({visible: 'toggle', dropdown: this.dropdown});\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\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 * 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 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 private 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 _popperOptions: Options = {\r\n placement: this.placement,\r\n modifiers: [],\r\n strategy: 'absolute',\r\n };\r\n\r\n private get popperOptions(): 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\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.autoClose === true || this.autoClose === 'outside') {\r\n if (\r\n !this._toggler?.elementRef.nativeElement.contains(\r\n event.target?.closest('[cDropdownToggle]')\r\n )\r\n ) {\r\n this.toggleDropdown();\r\n }\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 const host = this.elementRef.nativeElement;\r\n this.listeners.push(\r\n this.renderer.listen(this.document, 'click', (event) => {\r\n if (!host.contains(event.target)) {\r\n this.setVisibleState(false);\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') {\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 {\r\n AfterContentInit,\r\n Directive,\r\n ElementRef,\r\n HostBinding,\r\n HostListener,\r\n Input,\r\n OnChanges,\r\n Optional,\r\n Renderer2,\r\n SimpleChanges\r\n} 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 implements AfterContentInit, OnChanges {\r\n /**\r\n * Set active state to a dropdown-item.\r\n */\r\n @Input() active?: boolean;\r\n /**\r\n * Disables a dropdown-item.\r\n */\r\n @Input() disabled?: boolean;\r\n\r\n constructor(\r\n private renderer: Renderer2,\r\n private hostElement: ElementRef,\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 @HostListener('click', ['$event'])\r\n public onClick($event: MouseEvent): void {\r\n this.dropdownService.toggle({visible: 'toggle', dropdown: this.dropdown});\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.setAttributes(this.hostElement);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['disabled']) {\r\n this.setAttributes(this.hostElement);\r\n }\r\n }\r\n\r\n setAttributes(element: any): void {\r\n if (this.disabled) {\r\n this.renderer.setAttribute(element.nativeElement, 'aria-disabled', 'true');\r\n this.renderer.setAttribute(element.nativeElement, 'tabindex', '-1');\r\n } else {\r\n this.renderer.removeAttribute(element.nativeElement, 'aria-disabled');\r\n this.renderer.removeAttribute(element.nativeElement, 'tabindex');\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 { 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\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 ],\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 ],\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 { 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 @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\r\n get indeterminate() {\r\n return this._indeterminate;\r\n }\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\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_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 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, 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 { 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\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\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 { Component, HostBinding, Input } from '@angular/core';\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 {\r\n\r\n @Input() label?: string;\r\n @Input() disabled?: boolean; //todo\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","<c-multi-select-optgroup-label *ngIf=\"label\">{{label}}</c-multi-select-optgroup-label>\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 Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener,\r\n Input,\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, Highlightable } from '@angular/cdk/a11y';\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, Highlightable {\r\n\r\n constructor(\r\n private elementRef: ElementRef,\r\n private renderer: Renderer2,\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()\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 if (newValue) {\r\n this.focus();\r\n }\r\n }\r\n }\r\n get selected() {\r\n return this._selected;\r\n }\r\n private _selected = false;\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\r\n @Output() selectedChange = new EventEmitter<boolean>();\r\n\r\n @ViewChild('contentDiv') content?: ElementRef;\r\n\r\n hasContent = true;\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 onKeyUp($event: KeyboardEvent): void {\r\n if ($event.key === 'Enter' || $event.code === 'Space') {\r\n $event.preventDefault();\r\n this.selected = this.disabled ? this.selected : !this.selected;\r\n }\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n public onClick(): void {\r\n this.selected = this.disabled ? this.selected : !this.selected;\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 setActiveStyles(): void {\r\n }\r\n\r\n setInactiveStyles(): void {\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 this.focusMonitor.focusVia(this.elementRef, 'program');\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 { 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 [selected]=\"option.selected\"\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\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 onChange: any = (value: any) => {};\r\n\r\n writeValue(value: (string | string[])): void {\r\n // console.log('writeValue', value)\r\n if (value !== null) {\r\n this.value = value;\r\n // this.onChange(this.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 static ngAcceptInputType_multiple: BooleanInput;\r\n static ngAcceptInputType_disabled: BooleanInput;\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\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 // console.log('set value', value)\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 }\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 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 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 })\r\n 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 // console.log('keyup', $event.key);\r\n if (!this.disabled) {\r\n if ($event.key === 'Escape') {\r\n this.visible = false;\r\n this.inputValue = '';\r\n this.setFocus();\r\n // this.focusMonitor.focusVia(this.inputElement ?? this.elementRef, 'keyboard');\r\n } else if ($event.key === 'Enter') {\r\n // } else {\r\n this.visible = true;\r\n if (!this.search) {\r\n this.setFocus();\r\n }\r\n }\r\n }\r\n }\r\n\r\n @HostListener('keydown', ['$event']) manage($event: KeyboardEvent) {\r\n // console.log('keydown', $event.key);\r\n if (!this.disabled) {\r\n if ($event.key === 'Enter' && $event.target === this.inputElement.nativeElement) {\r\n $event.preventDefault();\r\n }\r\n this.listKeyManager.onKeydown($event);\r\n }\r\n }\r\n\r\n @HostListener('click', ['$event']) onClick($event: MouseEvent): void {\r\n if (!this.disabled) {\r\n if (!this.visible) {\r\n this.visible = !this.visible;\r\n }\r\n this.setFocus();\r\n }\r\n }\r\n\r\n public visibleOptions = 0;\r\n\r\n set inputValue(value) {\r\n // console.log('inputValue', value);\r\n this._inputValue = value;\r\n // this.visible = !!value ?? this.visible;\r\n this.filterOptions(value);\r\n }\r\n get inputValue() {\r\n return this._inputValue;\r\n }\r\n private _inputValue: string = '';\r\n\r\n get subtreeFocused() {\r\n return this._subtreeFocused;\r\n }\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.inputValue = focused ? this.inputValue : '';\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._selectedOptions = this.multiSelectOptions.filter((option) => !!option.selected);\r\n setTimeout(() => {\r\n this.value = this._selectedOptions.map(item => item.value);\r\n });\r\n // this.value = this._selectedOptions.map(item => item.value);\r\n\r\n this.listKeyManager = new FocusKeyManager(this.multiSelectOptions).withHomeAndEnd();\r\n this.listKeyManager.skipPredicate(item => !item.visible);\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 }\r\n\r\n // handleInputClick($event: MouseEvent) {\r\n // console.log('handleInputClick', $event);\r\n // // this.visible = !this.visible;\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\r\n .toArray()\r\n .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._selectedOptions = this.multiSelectOptions.filter((option) => !!option.selected);\r\n this.value = this._selectedOptions.map(item => item.value);\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 const firstSelectedOption =\r\n 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.setActiveItem(firstSelectedOption);\r\n this.changeDetectorRef.markForCheck();\r\n if (!this.search) {\r\n return;\r\n }\r\n }\r\n if (!this.disabled) {\r\n this.focusMonitor.focusVia(this.inputElement ?? this.elementRef, 'program');\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 const nativeSelectRef = this.viewContainerRef.createComponent(MultiSelectNativeSelectComponent);\r\n this.nativeSelectRef = nativeSelectRef;\r\n this.updateNativeSelect();\r\n }\r\n\r\n updateNativeSelect() {\r\n\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 // const nativeSelectRef = this.nativeSelectRef;\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\r\n","<div class=\"form-multi-select-selection\">\r\n <ng-template [ngIf]=\"selectionType==='tags'\">\r\n <c-multi-select-tag (remove)=\"handleTagRemove($event)\" *ngFor=\"let option of selectedOptions; index as i\"\r\n [option]=\"option\" tabindex=\"-1\"></c-multi-select-tag>\r\n </ng-template>\r\n <ng-template [ngIf]=\"selectionType==='text'\">\r\n <span class=\"bg-light\">{{selectedOptionsText}}</span>\r\n </ng-template>\r\n <ng-template [ngIf]=\"selectionType==='counter'\">\r\n <span>{{counterText}}</span>\r\n </ng-template>\r\n</div>\r\n\r\n<input #inputElement\r\n [(ngModel)]=\"inputValue\"\r\n [disabled]=\"disabled || !search\"\r\n [placeholder]=\"(selectedOptions.length === 0 && selectionType!=='counter') ? placeholder : ''\"\r\n autocomplete=\"off\"\r\n [ngClass]=\"{'form-multi-select-search ms-1': true, disabled: disabled}\" tabindex=\"{{disabled ? '-1' : '0'}}\"\r\n type=\"text\">\r\n\r\n<button (click)=\"clearAllOptions($event)\"\r\n *ngIf=\"cleaner && selectedOptions.length > 0\"\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 class=\"form-multi-select-dropdown\">\r\n <ng-template [ngIf]=\"visibleOptions>0\" [ngIfElse]=\"optionsEmpty\">\r\n <button (click)=\"selectAllOptions()\"\r\n *ngIf=\"selectAll && multiple\"\r\n 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 <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\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';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PaginationComponent } from './pagination/pagination.component';\r\nimport { PageItemComponent } from './page-item/page-item.component';\r\nimport { PageItemDirective } from './page-item/page-item.directive';\r\nimport { PageLinkDirective } from './page-link/page-link.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n PaginationComponent,\r\n PageItemComponent,\r\n PageItemDirective,\r\n PageLinkDirective\r\n ],\r\n exports: [\r\n PaginationComponent,\r\n PageItemComponent,\r\n PageItemDirective,\r\n PageLinkDirective\r\n ],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class PaginationModule {}\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 { 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 {\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 (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 { 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, ElementRef, HostBinding, Input, OnInit, Renderer2 } from '@angular/core';\r\nimport { Breakpoints, Colors } from '../coreui.types';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\n@Directive({\r\n selector: '[cTable]'\r\n})\r\nexport class TableDirective implements 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 { 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 { 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 { 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 { 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 { 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 { 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/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/popover';\r\nexport * from './lib/progress';\r\nexport * from './lib/services';\r\nexport * from './lib/spinner';\r\nexport * from './lib/sidebar';\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":["nextId"],"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/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.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/spinner/spinner.component.ts","../../../projects/coreui-angular/src/lib/spinner/spinner.component.html","../../../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/spinner/spinner.module.ts","../../../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/popover/popover/popover.component.ts","../../../projects/coreui-angular/src/lib/popover/popover/popover.component.html","../../../projects/coreui-angular/src/lib/services/listeners.service.ts","../../../projects/coreui-angular/src/lib/popover/popover.directive.ts","../../../projects/coreui-angular/src/lib/popover/popover.module.ts","../../../projects/coreui-angular/src/lib/progress/progress.component.ts","../../../projects/coreui-angular/src/lib/progress/progress-bar.component.ts","../../../projects/coreui-angular/src/lib/progress/progress.module.ts","../../../projects/coreui-angular/src/lib/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/table/table-color.directive.ts","../../../projects/coreui-angular/src/lib/table/table-active.directive.ts","../../../projects/coreui-angular/src/lib/table/table.directive.ts","../../../projects/coreui-angular/src/lib/table/table.module.ts","../../../projects/coreui-angular/src/lib/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/utilities/bg-color.directive.ts","../../../projects/coreui-angular/src/lib/utilities/border.directive.ts","../../../projects/coreui-angular/src/lib/utilities/text-color.directive.ts","../../../projects/coreui-angular/src/lib/utilities/rounded.directive.ts","../../../projects/coreui-angular/src/lib/utilities/align.directive.ts","../../../projects/coreui-angular/src/lib/utilities/utilities.module.ts","../../../projects/coreui-angular/src/lib/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":["export 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 };\r\n routerLinkActive?: string | string[];\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 @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 toggelItem(item: AccordionItemComponent): void {\r\n item.open = !item.open;\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.open = 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","import {\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 SimpleChanges\r\n} from '@angular/core';\r\nimport { AnimationBuilder, AnimationPlayer, useAnimation } from '@angular/animations';\r\n\r\nimport { collapseAnimation, expandAnimation } from './collapse.animations';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\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 {\r\n\r\n static ngAcceptInputType_navbar: BooleanInput;\r\n\r\n private _animate = true;\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\r\n private _visible = false;\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\r\n private _navbar = false;\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 /**\r\n * @ignore\r\n */\r\n @Input() duration = '400ms';\r\n /**\r\n * @ignore\r\n */\r\n @Input() transition = 'ease-in-out';\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\r\n constructor(\r\n private hostElement: ElementRef,\r\n private animationBuilder: AnimationBuilder\r\n ) {\r\n this.host = this.hostElement.nativeElement;\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 };\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 // tslint:disable-next-line:no-unused-expression\r\n (!changes['visible'].firstChange || !changes['visible'].currentValue) && this.toggle(changes['visible'].currentValue);\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.visible = visible;\r\n this.createPlayer(visible);\r\n this.player.play();\r\n }\r\n\r\n destroyPlayer(): void {\r\n if (this.player) {\r\n this.player.destroy();\r\n }\r\n }\r\n\r\n createPlayer(visible: boolean = this.visible): void {\r\n if (this.player) {\r\n this.destroyPlayer();\r\n }\r\n\r\n let animationFactory;\r\n\r\n const duration = this.animate ? this.duration : '0ms';\r\n\r\n animationFactory = this.animationBuilder.build(\r\n useAnimation(visible ? expandAnimation : collapseAnimation, { params: { time: duration, easing: this.transition } })\r\n );\r\n\r\n this.player = animationFactory.create(this.host);\r\n this.player.onStart(() => {this.collapseChange.emit(visible ? 'opening' : 'collapsing'); });\r\n this.player.onDone(() => {this.collapseChange.emit(visible ? 'open' : 'collapsed'); });\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\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 * Toggle an accordion item programmatically\r\n * @type boolean\r\n */\r\n @Input() open = false;\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.open };\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.toggelItem(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]=\"open\" [attr.aria-expanded]=\"open\" [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]=\"!open\" [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 @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 * 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 } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\nexport interface ICarouselIndex {\r\n active?: 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 this.carouselService.setIndex({active: nextState.activeItemIndex});\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 EventEmitter,\r\n HostBinding,\r\n HostListener,\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 { CarouselState } from '../carousel-state';\r\nimport { CarouselService } from '../carousel.service';\r\nimport { CarouselConfig } from '../carousel.config';\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]\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 */\r\n @Input() interval = 0;\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 * 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\r\n @HostListener('mouseenter', ['$event'])\r\n @HostListener('mousedown', ['$event'])\r\n public onMouseenter($event: MouseEvent): void {\r\n this.resetTimer();\r\n }\r\n\r\n @HostListener('mouseleave', ['$event'])\r\n @HostListener('mouseup', ['$event'])\r\n public onMouseleave($event: MouseEvent): void {\r\n this.setTimer();\r\n }\r\n\r\n constructor(\r\n @Inject(CarouselConfig) private config: CarouselConfig,\r\n private carouselService: CarouselService,\r\n private carouselState: CarouselState\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.carouselStateSubscribe(false);\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.carouselState.state = { activeItemIndex: this.activeIndex, animate: this.animate };\r\n this.setTimer();\r\n }\r\n\r\n setTimer(): void {\r\n this.resetTimer();\r\n if (this.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 }, this.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((nextIndex) => {\r\n if ('active' in nextIndex) {\r\n this.setTimer();\r\n }\r\n });\r\n } else {\r\n this.carouselIndexSubscription?.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 private _active = false;\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\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\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 ChangeDetectorRef,\r\n Component,\r\n ContentChild,\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\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\n\r\nimport { Subscription } from 'rxjs';\r\nimport { DropdownService } from '../dropdown.service';\r\nimport { DropdownMenuDirective } from '../dropdown-menu/dropdown-menu.directive';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { createPopper, Instance, Options, Placement } from '@popperjs/core';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n@Directive({\r\n selector: '[cDropdownToggle]',\r\n exportAs: 'cDropdownToggle',\r\n})\r\nexport class DropdownToggleDirective {\r\n\r\n static ngAcceptInputType_split: BooleanInput;\r\n static ngAcceptInputType_popper: BooleanInput;\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 private _split = false;\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\r\n get split(): boolean {\r\n return this._split;\r\n }\r\n\r\n constructor(\r\n public elementRef: ElementRef,\r\n private dropdownService: DropdownService,\r\n @Optional() public dropdown?: DropdownComponent\r\n ) {}\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 };\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n public onClick($event: MouseEvent): void {\r\n $event.preventDefault();\r\n this.dropdownService.toggle({visible: 'toggle', dropdown: this.dropdown});\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\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 * 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 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 private 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 _popperOptions: Options = {\r\n placement: this.placement,\r\n modifiers: [],\r\n strategy: 'absolute',\r\n };\r\n\r\n private get popperOptions(): 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\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.autoClose === true || this.autoClose === 'outside') {\r\n if (\r\n !this._toggler?.elementRef.nativeElement.contains(\r\n event.target?.closest('[cDropdownToggle]')\r\n )\r\n ) {\r\n this.toggleDropdown();\r\n }\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 const host = this.elementRef.nativeElement;\r\n this.listeners.push(\r\n this.renderer.listen(this.document, 'click', (event) => {\r\n if (!host.contains(event.target)) {\r\n this.setVisibleState(false);\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') {\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 {\r\n AfterContentInit,\r\n Directive,\r\n ElementRef,\r\n HostBinding,\r\n HostListener,\r\n Input,\r\n OnChanges,\r\n Optional,\r\n Renderer2,\r\n SimpleChanges\r\n} 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 implements AfterContentInit, OnChanges {\r\n /**\r\n * Set active state to a dropdown-item.\r\n */\r\n @Input() active?: boolean;\r\n /**\r\n * Disables a dropdown-item.\r\n */\r\n @Input() disabled?: boolean;\r\n\r\n constructor(\r\n private renderer: Renderer2,\r\n private hostElement: ElementRef,\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 @HostListener('click', ['$event'])\r\n public onClick($event: MouseEvent): void {\r\n this.dropdownService.toggle({visible: 'toggle', dropdown: this.dropdown});\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.setAttributes(this.hostElement);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['disabled']) {\r\n this.setAttributes(this.hostElement);\r\n }\r\n }\r\n\r\n setAttributes(element: any): void {\r\n if (this.disabled) {\r\n this.renderer.setAttribute(element.nativeElement, 'aria-disabled', 'true');\r\n this.renderer.setAttribute(element.nativeElement, 'tabindex', '-1');\r\n } else {\r\n this.renderer.removeAttribute(element.nativeElement, 'aria-disabled');\r\n this.renderer.removeAttribute(element.nativeElement, 'tabindex');\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 { 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\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 ],\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 ],\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 { 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 @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\r\n get indeterminate() {\r\n return this._indeterminate;\r\n }\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\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_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 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, 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 { 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\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\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 {\n AfterContentInit,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n ViewChild\n} from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { FocusableOption, FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';\nimport { Subscription } from 'rxjs';\n\nimport { MultiSelectService } from '../multi-select.service';\n\n@Component({\n selector: 'c-multi-select-option',\n templateUrl: './multi-select-option.component.html',\n styleUrls: ['./multi-select-option.component.scss']\n})\nexport class MultiSelectOptionComponent implements AfterContentInit, FocusableOption, OnInit, OnDestroy {\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n private changeDetectorRef: ChangeDetectorRef,\n private focusMonitor: FocusMonitor,\n private multiSelectService: MultiSelectService\n ) { }\n\n static ngAcceptInputType_disabled: BooleanInput;\n static ngAcceptInputType_selected: BooleanInput;\n\n @Input() optionsStyle: ('checkbox' | 'text') = 'checkbox';\n @Input() label?: string;\n @Input() value?: string;\n @Input() visible: boolean = true;\n @Output() selectedChange = new EventEmitter<boolean>();\n\n @ViewChild('contentDiv') content?: ElementRef;\n\n public hasContent = true;\n\n private multiselectVisibleSubscription!: Subscription;\n private dropdownVisible = false;\n\n @Input()\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n get disabled() {\n return this._disabled;\n }\n private _disabled = false;\n\n @Input()\n set selected(value: (boolean | undefined)) {\n const newValue = coerceBooleanProperty(value);\n if (this._selected !== newValue) {\n this._selected = newValue;\n this.selectedChange.emit(newValue);\n this.multiSelectService.toggleOption(this);\n }\n }\n get selected() {\n return this._selected;\n }\n private _selected = false;\n\n @HostBinding('class')\n get hostClasses() {\n return {\n 'form-multi-select-option': true,\n 'form-multi-selected': this.selected,\n [`form-multi-select-option-with-${this.optionsStyle}`]: !!this.optionsStyle,\n disabled: this.disabled,\n 'd-none': !this.visible\n };\n }\n\n @HostBinding('attr.tabindex')\n private get tabIndex() {\n return this.disabled ? '-1' : '0';\n }\n\n @HostBinding('attr.disabled')\n @HostBinding('attr.aria-disabled')\n private get ariaDisabled() {\n return this.disabled || null;\n }\n\n @HostBinding('attr.aria-selected')\n private get ariaSelected() {\n return this.selected;\n }\n\n @HostListener('keydown', ['$event'])\n onKeyDown($event: KeyboardEvent): void {\n if (['Enter', ' '].includes($event.key)) {\n $event.preventDefault();\n this.selected = this.disabled ? this.selected : !this.selected;\n this.focus('keyboard');\n }\n }\n\n @HostListener('click', ['$event'])\n private onClick(): void {\n this.selected = this.disabled ? this.selected : !this.selected;\n this.focus('mouse');\n }\n\n ngAfterContentInit(): void {\n setTimeout(() => {\n this.hasContent = !!this.content?.nativeElement.childNodes.length;\n });\n if (!this.label) {\n this.label = this.elementRef.nativeElement.innerText || this.value;\n }\n if (this.value === undefined) {\n this.value = this.elementRef.nativeElement.innerText || this.label;\n }\n }\n\n getLabel(): string {\n return <string>(this.label ?? this.value);\n }\n\n focus(origin?: FocusOrigin): void {\n if (this.dropdownVisible) {\n this.focusMonitor.focusVia(this.elementRef, origin ?? 'program', {preventScroll: false});\n this.changeDetectorRef.markForCheck();\n }\n }\n\n ngOnDestroy(): void {\n this.multiselectVisibleSubscription.unsubscribe();\n }\n\n ngOnInit(): void {\n this.multiselectVisibleSubscription = this.multiSelectService.multiSelectVisible$.subscribe(visible => {\n this.dropdownVisible = visible;\n });\n }\n}\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 {\n AfterContentInit,\n Component,\n ContentChildren,\n HostBinding,\n Input,\n OnChanges,\n QueryList,\n SimpleChanges\n} from '@angular/core';\n\nimport { MultiSelectOptionComponent } from '../multi-select-option/multi-select-option.component';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\n@Component({\n selector: 'c-multi-select-optgroup',\n templateUrl: './multi-select-optgroup.component.html',\n styleUrls: ['./multi-select-optgroup.component.scss']\n})\nexport class MultiSelectOptgroupComponent implements AfterContentInit, OnChanges {\n\n static ngAcceptInputType_disabled: BooleanInput;\n\n @Input() label?: string;\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: boolean = false;\n\n @ContentChildren(MultiSelectOptionComponent, { descendants: true }) multiSelectOptions!: QueryList<MultiSelectOptionComponent>;\n\n @HostBinding('class') get hostClasses() {\n return {\n 'form-multi-select-options': true\n };\n }\n\n ngAfterContentInit(): void {\n this.updateMultiSelectOptions();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['disabled']) {\n this.updateMultiSelectOptions();\n }\n }\n\n private updateMultiSelectOptions() {\n this.multiSelectOptions?.forEach((option) => {\n option.disabled = this.disabled;\n });\n }\n}\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\">\n <option\n *ngFor=\"let option of options\"\n [label]=\"option.label\"\n [attr.selected]=\"option.selected ? '' : null\"\n [value]=\"option.value\"\n [disabled]=\"disabled\"\n tabindex=\"-1\"\n ></option>\n</select>\n\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 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 this.selectedOptions = this.multiSelectOptions.filter((option) => !!option.selected);\n }\n}\n","<div class=\"form-multi-select-selection\">\n <ng-template [ngIf]=\"selectionType === 'tags'\">\n <c-multi-select-tag *ngFor=\"let option of selectedOptions; index as i\"\n (remove)=\"handleTagRemove($event)\"\n [option]=\"option\"\n tabindex=\"-1\">\n </c-multi-select-tag>\n </ng-template>\n <ng-template [ngIf]=\"selectionType === 'text' && !!selectedOptionsText\">\n <span>{{ selectedOptionsText }}</span>\n </ng-template>\n <ng-template [ngIf]=\"selectionType === 'counter'\">\n <span *ngIf=\"counterTextType === 'string'; else pluralMap\">{{ counterText }}</span>\n <ng-template #pluralMap>\n <span>{{selectedOptions.length}} {{ selectedOptions.length | i18nPlural: selectionTypeCounterTextPluralMap ?? { other: counterText } }}</span>\n </ng-template>\n </ng-template>\n <ng-template [ngIf]=\"!search && selectedOptions.length === 0 && selectionType !== 'counter'\">\n <span>{{ placeholder }}</span>\n </ng-template>\n</div>\n\n<input\n #inputElement\n (keydown)=\"handleSearchKeyDown($event)\"\n *ngIf=\"search && !disabled\"\n [(ngModel)]=\"searchValue\"\n [disabled]=\"disabled || !search\"\n [ngClass]=\"{ 'form-multi-select-search': true, disabled: disabled }\"\n [placeholder]=\"selectedOptions.length === 0 && selectionType !== 'counter' ? placeholder : ''\"\n autocomplete=\"off\"\n tabindex=\"{{ disabled ? '-1' : '0' }}\"\n type=\"text\"\n>\n\n<button\n (click)=\"clearAllOptions($event)\"\n *ngIf=\"cleaner && selectedOptions.length > 0 && !disabled\"\n [disabled]=\"disabled || !isDropdownVisible\"\n aria-label=\"Clear all\"\n cButtonClose\n class=\"form-multi-select-selection-cleaner\"\n size=\"sm\"\n></button>\n\n<div #dropdownElement *ngIf=\"!disabled\" class=\"form-multi-select-dropdown\">\n <ng-template [ngIfElse]=\"optionsEmpty\" [ngIf]=\"visibleOptions > 0\">\n <button (click)=\"selectAllOptions()\" *ngIf=\"selectAll && multiple\" class=\"form-multi-select-all\">\n {{ selectAllLabel }}\n </button>\n <div #multiselectOptionsDiv\n [ngStyle]=\"optionsMaxHeight !== 'auto' ? { 'maxHeight.px': optionsMaxHeight, overflow: 'scroll' } : {}\"\n class=\"form-multi-select-options\"\n >\n <ng-content></ng-content>\n </div>\n </ng-template>\n <ng-template #optionsEmpty>\n <div class=\"form-multi-select-options-empty\">{{ searchNoResultsLabel }}</div>\n </ng-template>\n</div>\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';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PaginationComponent } from './pagination/pagination.component';\r\nimport { PageItemComponent } from './page-item/page-item.component';\r\nimport { PageItemDirective } from './page-item/page-item.directive';\r\nimport { PageLinkDirective } from './page-link/page-link.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n PaginationComponent,\r\n PageItemComponent,\r\n PageItemDirective,\r\n PageLinkDirective\r\n ],\r\n exports: [\r\n PaginationComponent,\r\n PageItemComponent,\r\n PageItemDirective,\r\n PageLinkDirective\r\n ],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class PaginationModule {}\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 { 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 {\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 (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 { 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, ElementRef, HostBinding, Input, OnInit, Renderer2 } from '@angular/core';\r\nimport { Breakpoints, Colors } from '../coreui.types';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\n@Directive({\r\n selector: '[cTable]'\r\n})\r\nexport class TableDirective implements 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 { 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 { 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 { 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 { 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 { 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 { 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/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/popover';\r\nexport * from './lib/progress';\r\nexport * from './lib/services';\r\nexport * from './lib/spinner';\r\nexport * from './lib/sidebar';\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":["nextId"],"mappings":"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"}