@coreui/angular 5.7.28 → 5.7.31

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.mjs","sources":["../../../projects/coreui-angular/src/lib/coreui.types.ts","../../../projects/coreui-angular/src/lib/shared/element-ref.directive.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/theme.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.directive.ts","../../../projects/coreui-angular/src/lib/collapse/collapse.module.ts","../../../projects/coreui-angular/src/lib/accordion/accordion-item/accordion-item.component.ts","../../../projects/coreui-angular/src/lib/accordion/accordion-item/accordion-item.component.html","../../../projects/coreui-angular/src/lib/accordion/accordion.module.ts","../../../projects/coreui-angular/src/lib/alert/alert-heading.directive.ts","../../../projects/coreui-angular/src/lib/alert/alert-link.directive.ts","../../../projects/coreui-angular/src/lib/button/button.directive.ts","../../../projects/coreui-angular/src/lib/button/button-close.directive.ts","../../../projects/coreui-angular/src/lib/button/button.module.ts","../../../projects/coreui-angular/src/lib/alert/alert.component.ts","../../../projects/coreui-angular/src/lib/alert/alert.component.html","../../../projects/coreui-angular/src/lib/alert/alert.module.ts","../../../projects/coreui-angular/src/lib/utilities/align.directive.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/rounded.directive.ts","../../../projects/coreui-angular/src/lib/utilities/shadow-on-scroll.directive.ts","../../../projects/coreui-angular/src/lib/utilities/text-color.directive.ts","../../../projects/coreui-angular/src/lib/utilities/text-bg-color.directive.ts","../../../projects/coreui-angular/src/lib/utilities/utilities.module.ts","../../../projects/coreui-angular/src/lib/avatar/avatar.component.ts","../../../projects/coreui-angular/src/lib/avatar/avatar.component.html","../../../projects/coreui-angular/src/lib/avatar/avatar.module.ts","../../../projects/coreui-angular/src/lib/badge/badge.component.ts","../../../projects/coreui-angular/src/lib/badge/badge.module.ts","../../../projects/coreui-angular/src/lib/backdrop/backdrop.service.ts","../../../projects/coreui-angular/src/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.ts","../../../projects/coreui-angular/src/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.html","../../../projects/coreui-angular/src/lib/breadcrumb/breadcrumb/breadcrumb.component.ts","../../../projects/coreui-angular/src/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.ts","../../../projects/coreui-angular/src/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.ts","../../../projects/coreui-angular/src/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.html","../../../projects/coreui-angular/src/lib/breadcrumb/breadcrumb.module.ts","../../../projects/coreui-angular/src/lib/button-group/button-group/button-group.component.ts","../../../projects/coreui-angular/src/lib/button-group/button-toolbar/button-toolbar.component.ts","../../../projects/coreui-angular/src/lib/button-group/button-group.module.ts","../../../projects/coreui-angular/src/lib/callout/callout.component.ts","../../../projects/coreui-angular/src/lib/callout/callout.module.ts","../../../projects/coreui-angular/src/lib/card/card.component.ts","../../../projects/coreui-angular/src/lib/card/card-body.component.ts","../../../projects/coreui-angular/src/lib/card/card-footer.component.ts","../../../projects/coreui-angular/src/lib/card/card-group.component.ts","../../../projects/coreui-angular/src/lib/card/card-header.component.ts","../../../projects/coreui-angular/src/lib/card/card-header-actions.component.ts","../../../projects/coreui-angular/src/lib/card/card-img.directive.ts","../../../projects/coreui-angular/src/lib/card/card-img-overlay/card-img-overlay.component.ts","../../../projects/coreui-angular/src/lib/card/card-link.directive.ts","../../../projects/coreui-angular/src/lib/card/card-subtitle.directive.ts","../../../projects/coreui-angular/src/lib/card/card-text.directive.ts","../../../projects/coreui-angular/src/lib/card/card-title.directive.ts","../../../projects/coreui-angular/src/lib/card/card.module.ts","../../../projects/coreui-angular/src/lib/services/intersection.service.ts","../../../projects/coreui-angular/src/lib/services/listeners.service.ts","../../../projects/coreui-angular/src/lib/services/class-toggle.service.ts","../../../projects/coreui-angular/src/lib/services/in-memory-storage.service.ts","../../../projects/coreui-angular/src/lib/services/local-storage.service.ts","../../../projects/coreui-angular/src/lib/services/color-mode.service.ts","../../../projects/coreui-angular/src/lib/services/uid.service.ts","../../../projects/coreui-angular/src/lib/services/rtl.service.ts","../../../projects/coreui-angular/src/lib/carousel/carousel.service.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-item/carousel-item.component.ts","../../../projects/coreui-angular/src/lib/carousel/carousel-inner/carousel-inner.component.ts","../../../projects/coreui-angular/src/lib/carousel/carousel.module.ts","../../../projects/coreui-angular/src/lib/dropdown/dropdown-divider/dropdown-divider.directive.ts","../../../projects/coreui-angular/src/lib/dropdown/dropdown-header/dropdown-header.directive.ts","../../../projects/coreui-angular/src/lib/dropdown/dropdown.service.ts","../../../projects/coreui-angular/src/lib/dropdown/dropdown-menu/dropdown-menu.directive.ts","../../../projects/coreui-angular/src/lib/dropdown/dropdown/dropdown.component.ts","../../../projects/coreui-angular/src/lib/dropdown/dropdown-item/dropdown-item.directive.ts","../../../projects/coreui-angular/src/lib/dropdown/dropdown-item/dropdown-item-plain.directive.ts","../../../projects/coreui-angular/src/lib/dropdown/dropdown-close/dropdown-close.directive.ts","../../../projects/coreui-angular/src/lib/dropdown/dropdown.module.ts","../../../projects/coreui-angular/src/lib/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-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-control/form-control.directive.ts","../../../projects/coreui-angular/src/lib/form/form-check/form-check-input.directive.ts","../../../projects/coreui-angular/src/lib/form/form-feedback/form-feedback.component.ts","../../../projects/coreui-angular/src/lib/form/form-floating/form-floating.directive.ts","../../../projects/coreui-angular/src/lib/form/form-label/form-label.directive.ts","../../../projects/coreui-angular/src/lib/form/form-select/form-select.directive.ts","../../../projects/coreui-angular/src/lib/form/form-text/form-text.directive.ts","../../../projects/coreui-angular/src/lib/form/input-group/input-group.component.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/nav/nav-group.service.ts","../../../projects/coreui-angular/src/lib/nav/nav-link.directive.ts","../../../projects/coreui-angular/src/lib/nav/nav-group-items.component.ts","../../../projects/coreui-angular/src/lib/nav/nav-group.component.ts","../../../projects/coreui-angular/src/lib/nav/nav-group.component.html","../../../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-title.component.ts","../../../projects/coreui-angular/src/lib/nav/nav.component.ts","../../../projects/coreui-angular/src/lib/nav/nav.module.ts","../../../projects/coreui-angular/src/lib/navbar/navbar.component.ts","../../../projects/coreui-angular/src/lib/navbar/navbar.component.html","../../../projects/coreui-angular/src/lib/navbar/navbar-brand/navbar-brand.directive.ts","../../../projects/coreui-angular/src/lib/navbar/navbar-nav/navbar-nav.component.ts","../../../projects/coreui-angular/src/lib/navbar/navbar-text/navbar-text.component.ts","../../../projects/coreui-angular/src/lib/navbar/navbar-toggler/navbar-toggler.directive.ts","../../../projects/coreui-angular/src/lib/navbar/navbar.module.ts","../../../projects/coreui-angular/src/lib/modal/modal-body/modal-body.component.ts","../../../projects/coreui-angular/src/lib/modal/modal-content/modal-content.component.ts","../../../projects/coreui-angular/src/lib/modal/modal-dialog/modal-dialog.component.ts","../../../projects/coreui-angular/src/lib/modal/modal.service.ts","../../../projects/coreui-angular/src/lib/modal/modal-dismiss/modal-toggle.directive.ts","../../../projects/coreui-angular/src/lib/modal/modal-footer/modal-footer.component.ts","../../../projects/coreui-angular/src/lib/modal/modal-header/modal-header.component.ts","../../../projects/coreui-angular/src/lib/modal/modal-title/modal-title.directive.ts","../../../projects/coreui-angular/src/lib/modal/modal/modal.component.ts","../../../projects/coreui-angular/src/lib/modal/modal/modal.component.html","../../../projects/coreui-angular/src/lib/modal/modal.module.ts","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas.service.ts","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas/offcanvas.component.ts","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas/offcanvas.component.html","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas-body/offcanvas-body.component.ts","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas-header/offcanvas-header.component.ts","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas-title/offcanvas-title.directive.ts","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.ts","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas.module.ts","../../../projects/coreui-angular/src/lib/pagination/page-link/page-link.directive.ts","../../../projects/coreui-angular/src/lib/pagination/page-item/page-item.directive.ts","../../../projects/coreui-angular/src/lib/pagination/page-item/page-item.component.ts","../../../projects/coreui-angular/src/lib/pagination/pagination/pagination.component.ts","../../../projects/coreui-angular/src/lib/pagination/pagination/pagination.component.html","../../../projects/coreui-angular/src/lib/pagination/pagination.module.ts","../../../projects/coreui-angular/src/lib/placeholder/placeholder.directive.ts","../../../projects/coreui-angular/src/lib/placeholder/placeholder-animation.directive.ts","../../../projects/coreui-angular/src/lib/placeholder/placeholder.module.ts","../../../projects/coreui-angular/src/lib/popover/popover/popover.component.ts","../../../projects/coreui-angular/src/lib/popover/popover/popover.component.html","../../../projects/coreui-angular/src/lib/popover/popover.directive.ts","../../../projects/coreui-angular/src/lib/popover/popover.module.ts","../../../projects/coreui-angular/src/lib/progress/progress.service.ts","../../../projects/coreui-angular/src/lib/progress/progress-bar.directive.ts","../../../projects/coreui-angular/src/lib/progress/progress-bar.component.ts","../../../projects/coreui-angular/src/lib/progress/progress-stacked.component.ts","../../../projects/coreui-angular/src/lib/progress/progress.component.ts","../../../projects/coreui-angular/src/lib/progress/progress.component.html","../../../projects/coreui-angular/src/lib/progress/progress.module.ts","../../../projects/coreui-angular/src/lib/search-button/search-button.utils.ts","../../../projects/coreui-angular/src/lib/search-button/search-button.component.ts","../../../projects/coreui-angular/src/lib/search-button/search-button.component.html","../../../projects/coreui-angular/src/lib/search-button/search-button.module.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar.service.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-backdrop/sidebar-backdrop.service.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar/sidebar.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-brand/sidebar-brand.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-brand/sidebar-brand.component.html","../../../projects/coreui-angular/src/lib/sidebar/sidebar-toggle/sidebar-toggle.directive.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-toggler/sidebar-toggler.directive.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-header/sidebar-header.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-footer/sidebar-footer.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav.service.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-group.service.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-icon.pipe.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-badge.pipe.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-link.pipe.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-link.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-link.component.html","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-label.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-label.component.html","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-title.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-item-class.pipe.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-group.component.html","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav.component.html","../../../projects/coreui-angular/src/lib/sidebar/sidebar.module.ts","../../../projects/coreui-angular/src/lib/spinner/spinner.component.ts","../../../projects/coreui-angular/src/lib/spinner/spinner.component.html","../../../projects/coreui-angular/src/lib/spinner/spinner.module.ts","../../../projects/coreui-angular/src/lib/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-content/tab-content.component.ts","../../../projects/coreui-angular/src/lib/tabs/tab-content-ref.directive.ts","../../../projects/coreui-angular/src/lib/tabs/tabs.module.ts","../../../projects/coreui-angular/src/lib/tabs-2/tabs.service.ts","../../../projects/coreui-angular/src/lib/tabs-2/tabs.component.ts","../../../projects/coreui-angular/src/lib/tabs-2/tab/tab.directive.ts","../../../projects/coreui-angular/src/lib/tabs-2/tabs-list/tabs-list.component.ts","../../../projects/coreui-angular/src/lib/tabs-2/tabs-content/tabs-content.component.ts","../../../projects/coreui-angular/src/lib/utilities/getTransitionDurationFromElement.ts","../../../projects/coreui-angular/src/lib/tabs-2/tab-panel/tab-panel.component.ts","../../../projects/coreui-angular/src/lib/tabs-2/tabs2.module.ts","../../../projects/coreui-angular/src/lib/toast/toaster/toaster.service.ts","../../../projects/coreui-angular/src/lib/toast/toast/toast-content.component.ts","../../../projects/coreui-angular/src/lib/toast/toast/toast.component.ts","../../../projects/coreui-angular/src/lib/toast/toast-body/toast-body.component.ts","../../../projects/coreui-angular/src/lib/toast/toast-close.directive.ts","../../../projects/coreui-angular/src/lib/toast/toast-header/toast-header.component.ts","../../../projects/coreui-angular/src/lib/toast/toast-header/toast-header.component.html","../../../projects/coreui-angular/src/lib/toast/toaster/toaster-host.directive.ts","../../../projects/coreui-angular/src/lib/toast/toaster/toaster.component.ts","../../../projects/coreui-angular/src/lib/toast/toaster/toaster.component.html","../../../projects/coreui-angular/src/lib/toast/toast.module.ts","../../../projects/coreui-angular/src/lib/tooltip/tooltip/tooltip.component.ts","../../../projects/coreui-angular/src/lib/tooltip/tooltip/tooltip.component.html","../../../projects/coreui-angular/src/lib/tooltip/tooltip.directive.ts","../../../projects/coreui-angular/src/lib/tooltip/tooltip.module.ts","../../../projects/coreui-angular/src/lib/widget/widget-stat-a/widget-stat-a.component.ts","../../../projects/coreui-angular/src/lib/widget/widget-stat-a/widget-stat-a.component.html","../../../projects/coreui-angular/src/lib/widget/widget-stat-b/widget-stat-b.component.ts","../../../projects/coreui-angular/src/lib/widget/widget-stat-b/widget-stat-b.component.html","../../../projects/coreui-angular/src/lib/widget/widget-stat-c/widget-stat-c.component.ts","../../../projects/coreui-angular/src/lib/widget/widget-stat-c/widget-stat-c.component.html","../../../projects/coreui-angular/src/lib/widget/widget-stat-d/widget-stat-d.component.ts","../../../projects/coreui-angular/src/lib/widget/widget-stat-d/widget-stat-d.component.html","../../../projects/coreui-angular/src/lib/widget/widget-stat-e/widget-stat-e.component.ts","../../../projects/coreui-angular/src/lib/widget/widget-stat-e/widget-stat-e.component.html","../../../projects/coreui-angular/src/lib/widget/widget-stat-f/widget-stat-f.component.ts","../../../projects/coreui-angular/src/lib/widget/widget-stat-f/widget-stat-f.component.html","../../../projects/coreui-angular/src/lib/widget/widget.module.ts","../../../projects/coreui-angular/src/public-api.ts","../../../projects/coreui-angular/src/coreui-angular.ts"],"sourcesContent":["import { IsActiveMatchOptions } from '@angular/router';\n\nexport declare type BooleanInput = string | boolean | null | undefined;\nexport declare type NumberInput = string | number | null | undefined;\n\nexport type NgCssClass = string | string[] | Set<string> | { [klass: string]: any };\n\nexport enum BreakpointInfix {\n xs = 'xs',\n sm = 'sm',\n md = 'md',\n lg = 'lg',\n xl = 'xl',\n xxl = 'xxl'\n}\n\nexport type BreakpointInfixStrings = keyof typeof BreakpointInfix;\n\nexport type Breakpoints = BreakpointInfixStrings | string;\n\nexport type Sizes = 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | string;\n\nexport type Colors =\n | 'primary'\n | 'secondary'\n | 'success'\n | 'danger'\n | 'warning'\n | 'info'\n | 'dark'\n | 'light'\n | 'primary-gradient'\n | 'secondary-gradient'\n | 'success-gradient'\n | 'danger-gradient'\n | 'warning-gradient'\n | 'info-gradient'\n | 'dark-gradient'\n | 'light-gradient'\n | string;\n\n// export type ColorsGradient =\n// | Colors\n// | `${Colors}-gradient`;\n\nexport type BackgroundColors = Colors | 'body' | 'white' | 'transparent';\n\nexport type Directions = 'down' | 'up' | 'start' | 'end' | '';\n\nexport type TextColors =\n | Colors\n | 'primary-emphasis'\n | 'secondary-emphasis'\n | 'success-emphasis'\n | 'danger-emphasis'\n | 'warning-emphasis'\n | 'info-emphasis'\n | 'light-emphasis'\n | 'body'\n | 'body-emphasis'\n | 'body-secondary'\n | 'body-tertiary'\n | 'black'\n | 'black-50'\n | 'white'\n | 'white-50'\n | string;\n\nexport type Alignment = 'baseline' | 'top' | 'middle' | 'bottom' | 'text-top' | 'text-bottom';\n\nexport type DropdownDirection = 'start' | 'end';\n\nexport type DropdownAlignment = DropdownDirection | Partial<Record<BreakpointInfixStrings, DropdownDirection>>;\n\nexport type BadgePositions = 'top-start' | 'top-end' | 'bottom-end' | 'bottom-start' | string | undefined;\n\nexport type Placements =\n | 'auto'\n | 'auto-start'\n | 'auto-end'\n | 'top-end'\n | 'top'\n | 'top-start'\n | 'bottom-end'\n | 'bottom'\n | 'bottom-start'\n | 'right-start'\n | 'right'\n | 'right-end'\n | 'left-start'\n | 'left'\n | 'left-end'\n | undefined;\n\nexport type Shapes =\n | 'rounded'\n | 'rounded-top'\n | 'rounded-end'\n | 'rounded-bottom'\n | 'rounded-start'\n | 'rounded-circle'\n | 'rounded-pill'\n | 'rounded-0'\n | 'rounded-1'\n | 'rounded-2'\n | 'rounded-3'\n | string;\n\nexport type Triggers = 'hover' | 'focus' | 'click' | 'focusin';\n\nexport type Positions = 'fixed' | 'sticky';\n\nexport type InputType =\n | 'button'\n | 'color'\n | 'date'\n | 'datetime'\n | 'datetime-local'\n | 'email'\n | 'file'\n | 'hidden'\n | 'image'\n | 'month'\n | 'number'\n | 'password'\n | 'range'\n | 'reset'\n | 'search'\n | 'submit'\n | 'tel'\n | 'text'\n | 'time'\n | 'url'\n | 'week'\n | 'checkbox'\n | 'radio';\n\nexport interface INavLinkProps {\n queryParams?: { [k: string]: any };\n fragment?: string;\n queryParamsHandling?: 'merge' | 'preserve' | '' | null;\n preserveFragment?: boolean;\n skipLocationChange?: boolean;\n replaceUrl?: boolean;\n state?: { [k: string]: any };\n routerLinkActiveOptions?: { exact: boolean } | IsActiveMatchOptions;\n routerLinkActive?: string | string[];\n ariaCurrentWhenActive?: 'page' | 'step' | 'location' | 'date' | 'time' | true | false;\n}\n\nexport interface INavAttributes {\n [propName: string]: any;\n}\n\nexport type ButtonType = 'button' | 'submit' | 'reset';\n","import { Directive, ElementRef, inject } from '@angular/core';\n\n@Directive({\n selector: '[cElementRef]',\n exportAs: 'cElementRef'\n})\nexport class ElementRefDirective {\n public readonly elementRef = inject(ElementRef);\n}\n","import { Directive, effect, ElementRef, inject, input, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[cHtmlAttr]',\n exportAs: 'cHtmlAttr'\n})\nexport class HtmlAttributesDirective {\n /**\n * A map of HTML attributes (including `class` and `style`) to set on the host element.\n * @returns Record<string, any>\n */\n readonly cHtmlAttr = input<Record<string, any>>();\n\n readonly #renderer = inject(Renderer2);\n readonly #elementRef = inject(ElementRef);\n\n constructor() {\n effect(() => {\n const attribs = this.cHtmlAttr();\n for (const attr in attribs) {\n if (attr === 'style' && typeof attribs[attr] === 'object') {\n this.setStyle(attribs[attr]);\n } else if (attr === 'class') {\n this.addClass(attribs[attr]);\n } else {\n this.setAttrib(attr, attribs[attr]);\n }\n }\n });\n }\n\n private setStyle(styles: Record<string, any>): void {\n for (const style in styles) {\n if (style) {\n this.#renderer.setStyle(this.#elementRef.nativeElement, style, styles[style]);\n }\n }\n }\n\n private addClass(classes: string | string[]): void {\n const classArray = Array.isArray(classes) ? classes : classes.split(' ');\n classArray\n .filter((element) => element.length > 0)\n .forEach((element) => {\n this.#renderer.addClass(this.#elementRef.nativeElement, element);\n });\n }\n\n private setAttrib(key: string, value: string | null): void {\n value !== null\n ? this.#renderer.setAttribute(this.#elementRef.nativeElement, key, value)\n : this.#renderer.removeAttribute(this.#elementRef.nativeElement, key);\n }\n}\n","import { Directive, inject, input, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[cTemplateId]'\n})\nexport class TemplateIdDirective {\n readonly templateRef = inject(TemplateRef);\n\n /**\n * Predefined template name (id) for optional slots\n * @returns string\n */\n readonly cTemplateId = input.required<string>();\n\n get id() {\n return this.cTemplateId();\n }\n}\n","import { booleanAttribute, Directive, effect, ElementRef, inject, input, Renderer2, untracked } from '@angular/core';\n\n@Directive({\n selector: '[cTheme]',\n exportAs: 'cTheme'\n})\nexport class ThemeDirective {\n readonly #hostElement = inject(ElementRef);\n readonly #renderer = inject(Renderer2);\n\n /**\n * Sets the dark theme attribute on the host element. \n * @returns 'dark' | 'light'\n */\n readonly colorScheme = input<'dark' | 'light'>();\n\n readonly #colorSchemeChange = effect(() => {\n const colorScheme = this.colorScheme();\n colorScheme ? this.setTheme(colorScheme) : this.unsetTheme();\n });\n\n /**\n * Sets a darker color scheme. If the colorScheme is set to 'dark', the dark theme will be applied.\n * @returns boolean\n * @default false\n */\n readonly dark = input(false, { transform: booleanAttribute });\n\n readonly #darkChange = effect(() => {\n const darkTheme = this.dark() || untracked(this.colorScheme) === 'dark';\n darkTheme ? this.setTheme('dark') : this.unsetTheme();\n });\n\n setTheme(theme?: string): void {\n if (theme) {\n this.#renderer.setAttribute(this.#hostElement.nativeElement, 'data-coreui-theme', theme);\n }\n }\n\n unsetTheme(): void {\n this.#renderer.removeAttribute(this.#hostElement.nativeElement, 'data-coreui-theme');\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { ElementRefDirective } from './element-ref.directive';\nimport { HtmlAttributesDirective } from './html-attr.directive';\nimport { TemplateIdDirective } from './template-id.directive';\nimport { ThemeDirective } from './theme.directive';\n\n@NgModule({\n imports: [ElementRefDirective, HtmlAttributesDirective, TemplateIdDirective, ThemeDirective],\n exports: [ElementRefDirective, HtmlAttributesDirective, TemplateIdDirective, ThemeDirective],\n})\nexport class SharedModule {\n static forRoot(): ModuleWithProviders<SharedModule> {\n return {\n ngModule: SharedModule,\n };\n }\n}\n","import { computed, Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[cAccordionButton]',\n host: { '[class]': 'hostClasses()', '[attr.type]': 'type()', '[aria-expanded]': 'ariaExpanded()' }\n})\nexport class AccordionButtonDirective {\n /**\n * Toggles an accordion button collapsed state. Use in accordionHeaderTemplate.\n * @returns boolean | undefined\n */\n readonly collapsed = input<boolean | undefined>(undefined);\n\n /**\n * Default type for cAccordionButton\n * @returns string\n * @default 'button'\n */\n readonly type = input('button');\n\n readonly hostClasses = computed(() => {\n return {\n 'accordion-button': true,\n collapsed: this.collapsed()\n } as Record<string, boolean>;\n });\n\n readonly ariaExpanded = computed(() => !this.collapsed());\n}\n","import { Injectable } from '@angular/core';\nimport type { AccordionItemComponent } from './accordion-item/accordion-item.component';\n\n@Injectable()\nexport class AccordionService {\n items: AccordionItemComponent[] = [];\n alwaysOpen = false;\n\n addItem(item: AccordionItemComponent): void {\n this.items.push(item);\n }\n\n removeItem(item: AccordionItemComponent): void {\n const index = this.items.indexOf(item);\n if (index !== -1) {\n this.items.splice(index, 1);\n }\n }\n\n toggleItem(item: AccordionItemComponent): void {\n item.itemVisible.update((value) => !value);\n this.closeOtherItems(item);\n }\n\n closeOtherItems(openItem: AccordionItemComponent): void {\n if (!this.alwaysOpen) {\n this.items.forEach((item: AccordionItemComponent) => {\n if (item !== openItem) {\n item.itemVisible.set(false);\n }\n });\n }\n }\n}\n","import { booleanAttribute, Component, computed, effect, inject, input } from '@angular/core';\n\nimport { AccordionService } from '../accordion.service';\n\n@Component({\n selector: 'c-accordion',\n template: '<ng-content />',\n styleUrls: ['./accordion.component.scss'],\n exportAs: 'cAccordionItem',\n providers: [AccordionService],\n host: { '[class]': 'hostClasses()' }\n})\nexport class AccordionComponent {\n readonly #accordionService = inject(AccordionService);\n\n /**\n * Removes the default background-color, some borders, and some rounded corners to render accordions edge-to-edge with their parent container.\n * @returns boolean\n */\n readonly flush = input(false, { transform: booleanAttribute });\n\n /**\n * Make accordion items stay open when another item is opened\n * @returns boolean\n */\n readonly alwaysOpen = input(false, { transform: booleanAttribute });\n\n readonly #alwaysOpenEffect = effect(() => {\n this.#accordionService.alwaysOpen = this.alwaysOpen();\n });\n\n readonly hostClasses = computed(\n () =>\n ({\n accordion: true,\n 'accordion-flush': this.flush()\n }) as Record<string, boolean>\n );\n}\n","import {\n booleanAttribute,\n computed,\n Directive,\n effect,\n ElementRef,\n inject,\n input,\n linkedSignal,\n OnDestroy,\n output,\n Renderer2,\n untracked\n} from '@angular/core';\nimport { BooleanInput } from '@angular/cdk/coercion';\n\n@Directive({\n selector: '[cCollapse]',\n exportAs: 'cCollapse',\n host: { '[class]': 'hostClasses()' }\n})\nexport class CollapseDirective implements OnDestroy {\n static ngAcceptInputType_animate: BooleanInput;\n static ngAcceptInputType_horizontal: BooleanInput;\n static ngAcceptInputType_navbar: BooleanInput;\n static ngAcceptInputType_visible: BooleanInput;\n\n readonly #hostElement = inject(ElementRef);\n readonly #renderer = inject(Renderer2);\n #unlistenTransitionEnd?: () => void;\n #isFirstChange = true;\n\n /**\n * @ignore internal\n */\n readonly animateInput = input(true, { transform: booleanAttribute, alias: 'animate' });\n\n readonly animate = linkedSignal(this.animateInput);\n\n /**\n * Set horizontal collapsing to transition the width instead of height.\n * @returns boolean\n * @default false\n */\n readonly horizontal = input(false, { transform: booleanAttribute });\n\n /**\n * Toggle the visibility of a collapsible element.\n * @returns boolean\n * @default false\n */\n readonly visibleInput = input(false, { transform: booleanAttribute, alias: 'visible' });\n\n /**\n * Event emitted on visibility change\n * @returns boolean\n */\n readonly visibleChange = output<boolean>();\n\n readonly visible = linkedSignal(this.visibleInput);\n\n readonly #visibleEffect = effect(() => {\n const visible = this.visible();\n if (this.#isFirstChange || !untracked(() => this.animate())) {\n // no transition\n this.#isFirstChange = false;\n this.setInitialState(visible);\n return;\n }\n untracked(() => {\n this.runTransition(visible);\n });\n });\n\n /**\n * Add a `navbar` prop for grouping and hiding navbar contents by a parent breakpoint.\n * @returns boolean\n * @default false\n */\n readonly navbar = input(false, { transform: booleanAttribute });\n\n /**\n * Event emitted on visibility change\n * @returns string\n */\n readonly collapseChange = output<string>();\n\n protected readonly hostClasses = computed(() => {\n return {\n 'navbar-collapse': this.navbar(),\n 'collapse-horizontal': this.horizontal()\n } as Record<string, boolean>;\n });\n\n ngOnDestroy(): void {\n this.clearPendingCallbacks();\n }\n\n toggle(visible = !this.visible()): void {\n this.visible.set(visible);\n }\n\n protected clearPendingCallbacks(): void {\n this.#unlistenTransitionEnd?.();\n this.#unlistenTransitionEnd = undefined;\n }\n\n protected setInitialState(visible: boolean): void {\n const host: HTMLElement = this.#hostElement.nativeElement;\n\n this.#renderer.addClass(host, 'collapse');\n this.#renderer.removeClass(host, 'collapsing');\n\n if (visible) {\n this.#renderer.addClass(host, 'show');\n } else {\n this.#renderer.removeClass(host, 'show');\n }\n }\n\n protected runTransition(visible: boolean): void {\n this.clearPendingCallbacks();\n\n const host: HTMLElement = this.#hostElement.nativeElement;\n const dimension = this.horizontal() ? 'width' : 'height';\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);\n const scrollSize = `scroll${capitalizedDimension}` as 'scrollHeight' | 'scrollWidth';\n\n const animate = this.animate();\n\n if (visible) {\n this.setMaxSize();\n\n // Switch off `collapse`/`show` before we measure its scroll size below.\n this.#renderer.removeClass(host, 'collapse');\n this.#renderer.removeClass(host, 'show');\n this.#renderer.addClass(host, 'collapsing');\n\n this.collapseChange?.emit('opening');\n\n // Reading scrollHeight/scrollWidth forces a synchronous reflow, committing the 0-size\n // starting point before we set the target size below, so the browser animates the change.\n const targetSize = host[scrollSize];\n this.#renderer.setStyle(host, dimension, `${targetSize}px`);\n } else {\n // Lock in the current pixel size first so the browser has a committed starting point,\n // then switch to the collapsing state and clear it so the size can animate down to 0.\n const startSize = host.getBoundingClientRect()[dimension];\n this.#renderer.setStyle(host, dimension, `${startSize}px`);\n // Force a reflow so the browser registers the starting size before the next style change.\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n host.offsetHeight;\n\n this.#renderer.removeClass(host, 'collapse');\n this.#renderer.removeClass(host, 'show');\n this.#renderer.addClass(host, 'collapsing');\n\n this.collapseChange?.emit('collapsing');\n\n // Now that the starting size is committed, set the target size (0) so the browser\n // animates the transition down.\n this.#renderer.setStyle(host, dimension, '0px');\n }\n\n const finish = () => this.finishTransition(visible, host, dimension);\n\n if (animate) {\n this.#unlistenTransitionEnd = this.#renderer.listen(host, 'transitionend', (event: TransitionEvent) => {\n // Ignore bubbled transitionend events from descendant elements.\n if (event.target === host && event.propertyName === dimension) {\n finish();\n }\n });\n } else {\n finish();\n }\n }\n\n protected finishTransition(visible: boolean, host: HTMLElement, dimension: string): void {\n this.clearPendingCallbacks();\n\n this.#renderer.removeClass(host, 'collapsing');\n this.#renderer.addClass(host, 'collapse');\n if (visible) {\n this.#renderer.addClass(host, 'show');\n } else {\n this.#renderer.removeClass(host, 'show');\n }\n this.#renderer.removeStyle(host, 'transition');\n this.#renderer.removeStyle(host, dimension);\n\n this.collapseChange?.emit(visible ? 'open' : 'collapsed');\n this.visibleChange?.emit(visible);\n }\n\n protected setMaxSize() {\n const host = this.#hostElement.nativeElement;\n if (this.horizontal()) {\n host.scrollWidth > 0 && this.#renderer.setStyle(host, 'maxWidth', `${host.scrollWidth}px`);\n // } else {\n // host.scrollHeight > 0 && this.#renderer.setStyle(host, 'maxHeight', `${host.scrollHeight}px`);\n }\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CollapseDirective } from './collapse.directive';\n\n@NgModule({\n exports: [CollapseDirective],\n imports: [CollapseDirective]\n})\nexport class CollapseModule {\n static forRoot(): ModuleWithProviders<CollapseModule> {\n return { ngModule: CollapseModule, providers: [] };\n }\n}\n","import {\n booleanAttribute,\n Component,\n computed,\n contentChildren,\n effect,\n inject,\n input,\n OnDestroy,\n OnInit,\n signal,\n TemplateRef\n} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\n\nimport { CollapseDirective } from '../../collapse';\nimport { TemplateIdDirective } from '../../shared';\nimport { AccordionButtonDirective } from '../accordion-button/accordion-button.directive';\nimport { AccordionService } from '../accordion.service';\n\nlet nextId = 0;\n\n@Component({\n selector: 'c-accordion-item',\n templateUrl: './accordion-item.component.html',\n styleUrls: ['./accordion-item.component.scss'],\n exportAs: 'cAccordionItem',\n imports: [AccordionButtonDirective, NgTemplateOutlet, CollapseDirective],\n host: { class: 'accordion-item' }\n})\nexport class AccordionItemComponent implements OnInit, OnDestroy {\n readonly #accordionService = inject(AccordionService);\n\n /**\n * Toggle an accordion item programmatically\n * @returns boolean\n * @default false\n */\n readonly visibleInput = input(false, { transform: booleanAttribute, alias: 'visible' });\n\n readonly itemVisible = signal(false);\n\n readonly #visibleInputChange = effect(() => {\n this.visible = this.visibleInput();\n });\n\n set visible(value: boolean) {\n this.itemVisible.set(value);\n }\n\n get visible() {\n return <boolean>this.itemVisible();\n }\n\n contentId = `accordion-item-${nextId++}`;\n\n get itemContext() {\n return { $implicit: <boolean>this.itemVisible() };\n }\n\n readonly contentTemplates = contentChildren(TemplateIdDirective, { descendants: true });\n\n readonly templates = computed(() => {\n return this.contentTemplates().reduce(\n (acc, child) => {\n acc[child.id] = child.templateRef;\n return acc;\n },\n {} as Record<string, TemplateRef<any>>\n );\n });\n\n ngOnInit(): void {\n this.#accordionService.addItem(this);\n }\n\n ngOnDestroy(): void {\n this.#accordionService.removeItem(this);\n }\n\n toggleItem(): void {\n this.#accordionService.toggleItem(this);\n }\n}\n","@let tmpl = templates();\n<ng-container>\n <div class=\"accordion-header\">\n <ng-container *ngTemplateOutlet=\"tmpl['accordionHeaderTemplate'] || defaultAccordionHeaderTemplate; context: itemContext\" />\n </div>\n <div class=\"accordion-collapse\" cCollapse [visible]=\"itemVisible()\" [aria-expanded]=\"itemVisible()\" [id]=\"contentId\">\n <ng-container *ngTemplateOutlet=\"tmpl['accordionBodyTemplate'] || defaultAccordionBodyTemplate; context: itemContext\" />\n </div>\n</ng-container>\n\n<ng-template #defaultAccordionHeaderTemplate>\n <button cAccordionButton [collapsed]=\"!itemVisible()\" [aria-controls]=\"contentId\" (click)=\"toggleItem()\">\n <ng-container *ngTemplateOutlet=\"tmpl['accordionHeader'] || defaultAccordionHeaderContentTemplate; context: itemContext\" />\n </button>\n</ng-template>\n\n<ng-template #defaultAccordionHeaderContentTemplate>\n <ng-content />\n</ng-template>\n\n<ng-template #defaultAccordionBodyTemplate>\n <div class=\"accordion-body\">\n <ng-container *ngTemplateOutlet=\"tmpl['accordionBody'] || defaultAccordionBodyContentTemplate; context: itemContext\" />\n </div>\n</ng-template>\n\n<ng-template #defaultAccordionBodyContentTemplate>\n <ng-content />\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { AccordionComponent } from './accordion/accordion.component';\nimport { AccordionButtonDirective } from './accordion-button/accordion-button.directive';\nimport { AccordionItemComponent } from './accordion-item/accordion-item.component';\nimport { AccordionService } from './accordion.service';\n\n@NgModule({\n imports: [\n AccordionButtonDirective,\n AccordionComponent,\n AccordionItemComponent\n ],\n exports: [\n AccordionComponent,\n AccordionButtonDirective,\n AccordionItemComponent\n ],\n providers: [\n AccordionService\n ]\n})\nexport class AccordionModule {\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cAlertHeading]',\n host: { class: 'alert-heading' }\n})\nexport class AlertHeadingDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cAlertLink]',\n host: { class: 'alert-link' }\n})\nexport class AlertLinkDirective {}\n","import {\n booleanAttribute,\n computed,\n Directive,\n input,\n numberAttribute\n} from '@angular/core';\n\nimport { BooleanInput, ButtonType, Colors, Shapes } from '../coreui.types';\n\n@Directive({\n selector: '[cButton]',\n exportAs: 'cButton',\n host: {\n class: 'btn',\n '[class]': 'hostClasses()',\n '[aria-disabled]': 'ariaDisabled()',\n '[aria-pressed]': 'isActive()',\n '[attr.disabled]': 'attrDisabled()',\n '[attr.tabindex]': 'tabIndex()',\n '[attr.type]': 'type()'\n }\n})\nexport class ButtonDirective {\n static ngAcceptInputType_active: BooleanInput;\n static ngAcceptInputType_disabled: BooleanInput;\n\n /**\n * Toggle the active state for the component\n * @returns boolean\n */\n readonly active = input(false, { transform: booleanAttribute });\n\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors\n * @returns Colors\n */\n readonly color = input<Colors>('primary');\n\n /**\n * Toggle the disabled state for the component.\n * @returns boolean\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n /**\n * Select the shape of the component.\n * @returns Shapes\n */\n readonly shape = input<Shapes>();\n\n /**\n * Size the component small or large.\n * @returns '' | 'sm' | 'lg'\n */\n readonly size = input<'' | 'sm' | 'lg'>('');\n\n /**\n * The tabindex attribute specifies the tab order of an element (when the \"tab\" button is used for navigating).\n */\n readonly tabindex = input(undefined, { transform: numberAttribute });\n\n /**\n * Specifies the type of button. Always specify the type attribute for the `<button>` element.\n * Different browsers may use different default types for the `<button>` element.\n * @returns ButtonType\n * @default 'button'\n */\n readonly type = input<ButtonType>('button');\n\n /**\n * Set the button variant to an outlined button or a ghost button.\n * @returns 'ghost' | 'outline' | undefined\n */\n readonly variant = input<'ghost' | 'outline' | undefined>();\n\n readonly hostClasses = computed(() => {\n const color = this.color();\n const variant = this.variant();\n const size = this.size();\n const shape = this.shape();\n\n return {\n btn: true,\n [`btn-${color}`]: !!color && !variant,\n [`btn-${variant}`]: !!variant && !color,\n [`btn-${variant}-${color}`]: !!variant && !!color,\n [`btn-${size}`]: !!size,\n [`${shape}`]: !!shape,\n active: this.active(),\n disabled: this._disabled()\n } as Record<string, boolean>;\n });\n\n readonly _disabled = computed(() => this.disabled());\n\n readonly ariaDisabled = computed(() => {\n return this._disabled() ? true : null;\n });\n\n readonly attrDisabled = computed(() => {\n return this._disabled() ? '' : null;\n });\n\n readonly tabIndex = computed(() => {\n const tabindex = this.tabindex();\n return this._disabled() ? -1 : Number.isNaN(tabindex) ? null : (tabindex ?? null);\n });\n\n readonly isActive = computed(() => {\n return <boolean>this.active() || null;\n });\n}\n","import { booleanAttribute, computed, Directive, input } from '@angular/core';\nimport { ThemeDirective } from '../shared/theme.directive';\nimport { ButtonDirective } from './button.directive';\n\n@Directive({\n selector: '[cButtonClose]',\n hostDirectives: [{ directive: ThemeDirective, inputs: ['dark'] }],\n host: {\n class: 'btn btn-close',\n '[class]': 'hostClasses()',\n '[aria-disabled]': 'ariaDisabled()',\n '[aria-pressed]': 'isActive()',\n '[attr.disabled]': 'attrDisabled()',\n '[attr.tabindex]': 'tabIndex()',\n '[attr.type]': 'type()'\n }\n})\nexport class ButtonCloseDirective extends ButtonDirective {\n /**\n * Change the default color to white.\n * @returns boolean\n * @deprecated 5.0.0. Use `cButtonClose dark` instead.\n */\n readonly white = input(false, { transform: booleanAttribute });\n\n override readonly hostClasses = computed(() => {\n const size = this.size();\n\n return {\n btn: true,\n 'btn-close': true,\n 'btn-close-white': this.white(),\n [`btn-${size}`]: !!size,\n active: this.active(),\n disabled: this._disabled()\n } as Record<string, boolean>;\n });\n}\n","import { NgModule } from '@angular/core';\n\nimport { ButtonDirective } from './button.directive';\nimport { ButtonCloseDirective } from './button-close.directive';\n\n@NgModule({\n imports: [\n ButtonDirective,\n ButtonCloseDirective\n ],\n exports: [\n ButtonDirective,\n ButtonCloseDirective\n ]\n})\nexport class ButtonModule {}\n","import {\n AnimationCallbackEvent,\n booleanAttribute,\n Component,\n computed,\n contentChildren,\n effect,\n ElementRef,\n inject,\n input,\n linkedSignal,\n MAX_ANIMATION_TIMEOUT,\n output,\n signal,\n TemplateRef\n} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\n\nimport { Colors } from '../coreui.types';\nimport { TemplateIdDirective } from '../shared';\nimport { ButtonCloseDirective } from '../button';\n\n@Component({\n selector: 'c-alert',\n templateUrl: './alert.component.html',\n styleUrls: ['./alert.component.scss'],\n exportAs: 'cAlert',\n imports: [NgTemplateOutlet, ButtonCloseDirective],\n host: {\n '[attr.role]': 'role()',\n '[class]': 'hostClasses()',\n '(animate.leave)': 'handleLeaving($event)',\n '(transitionend)': 'onTransitionEnd($event)',\n '(transitionstart)': 'onTransitionStart($event)',\n '[hidden]': 'hide()',\n '[inert]': 'hide()'\n },\n providers: [{ provide: MAX_ANIMATION_TIMEOUT, useValue: 300 }]\n})\nexport class AlertComponent {\n readonly #hostElement = inject(ElementRef);\n readonly #maxAnimationTimeout = inject(MAX_ANIMATION_TIMEOUT);\n\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n * @default 'primary'\n */\n readonly color = input<Colors>('primary');\n\n /**\n * Default role for alert\n * @returns string\n * @default 'alert'\n */\n readonly role = input('alert');\n\n /**\n * Set the alert variant to a solid.\n * @returns 'solid'\n * @default undefined\n */\n readonly variant = input<'solid'>();\n\n /**\n * Optionally adds a close button to the alert and allow it to self-dismiss.\n * @returns boolean\n * @default false\n */\n readonly dismissible = input(false, { transform: booleanAttribute });\n\n /**\n * Adds animation for dismissible alert.\n * @returns boolean\n * @default false\n */\n readonly fade = input(false, { transform: booleanAttribute });\n\n /**\n * Toggle the visibility of the alert component.\n * @returns boolean\n * @default true\n */\n readonly visibleInput = input(true, { transform: booleanAttribute, alias: 'visible' });\n\n readonly visible = linkedSignal(this.visibleInput);\n\n /**\n * Event triggered on the alert visibility change.\n * @returns boolean\n */\n readonly visibleChange = output<boolean>();\n\n protected readonly hide = signal<boolean>(false);\n\n readonly #visibleEffect = effect(() => {\n const visible = this.visible();\n if (visible) {\n this.hide.set(false);\n }\n });\n\n readonly #hideEffect = effect(() => {\n const hide = this.hide();\n this.visibleChange.emit(!hide);\n });\n\n protected readonly contentTemplates = contentChildren(TemplateIdDirective, { descendants: true });\n\n protected readonly templates = computed(() => {\n return this.contentTemplates().reduce(\n (acc, child) => {\n acc[child.id] = child.templateRef;\n return acc;\n },\n {} as Record<string, TemplateRef<any>>\n );\n });\n\n protected readonly hostClasses = computed(() => {\n const color = this.color();\n const variant = this.variant();\n const visible = this.visible();\n\n return {\n alert: true,\n 'alert-dismissible': this.dismissible(),\n fade: this.fade(),\n show: visible,\n [`alert-${color}`]: !!color && variant !== 'solid',\n [`bg-${color}`]: !!color && variant === 'solid',\n 'text-white': !!color && variant === 'solid'\n } as Record<string, boolean>;\n });\n\n protected onTransitionStart($event: TransitionEvent): void {\n if ($event.propertyName === 'opacity') {\n if (this.visible()) {\n this.hide.set(false);\n }\n }\n }\n\n protected onTransitionEnd($event: TransitionEvent): void {\n if ($event.propertyName === 'opacity') {\n this.hide.set(!this.visible());\n }\n }\n\n #leavingInProgress = false;\n\n protected handleLeaving($event: AnimationCallbackEvent) {\n if (this.#leavingInProgress) return;\n this.#leavingInProgress = true;\n\n this.#hostElement.nativeElement.classList.remove('show');\n setTimeout(() => {\n $event.animationComplete();\n }, this.#maxAnimationTimeout);\n }\n}\n","@if (visible() || !hide()) {\n @if (dismissible()) {\n <ng-container *ngTemplateOutlet=\"templates()?.['alertButtonCloseTemplate'] || defaultAlertButtonCloseTemplate\" />\n }\n <ng-content />\n}\n<ng-template #defaultAlertButtonCloseTemplate>\n <button (click)=\"visible.set(false)\" aria-label=\"Close\" cButtonClose></button>\n</ng-template>\n","import { NgModule } from '@angular/core';\n\nimport { AlertComponent } from './alert.component';\nimport { AlertHeadingDirective } from './alert-heading.directive';\nimport { AlertLinkDirective } from './alert-link.directive';\n\n@NgModule({\n imports: [\n AlertComponent,\n AlertHeadingDirective,\n AlertLinkDirective\n ],\n exports: [\n AlertComponent,\n AlertHeadingDirective,\n AlertLinkDirective\n ]\n})\nexport class AlertModule {}\n","import { computed, Directive, input } from '@angular/core';\nimport { Alignment } from '../coreui.types';\n\n@Directive({\n selector: '[cAlign]',\n exportAs: 'cAlign',\n host: { '[class]': 'hostClasses()' }\n})\nexport class AlignDirective {\n /**\n * Set vertical alignment of inline, inline-block, inline-table, and table cell elements\n * @returns Alignment | undefined\n */\n readonly align = input<Alignment | undefined>(undefined, { alias: 'cAlign' });\n\n readonly hostClasses = computed(() => {\n const align = this.align();\n return {\n [`align-${align}`]: !!align\n } as Record<string, boolean>;\n });\n}\n","import { computed, Directive, input } from '@angular/core';\nimport { BackgroundColors } from '../coreui.types';\n\n@Directive({\n selector: '[cBgColor]',\n exportAs: 'cBgColor',\n host: { '[class]': 'hostClasses()' }\n})\nexport class BgColorDirective {\n /**\n * Set the background of an element to any contextual class\n */\n readonly cBgColor = input<BackgroundColors>('');\n\n /**\n * Add linear gradient as background image to the backgrounds.\n * @returns boolean\n */\n readonly gradient = input<boolean>();\n\n readonly hostClasses = computed(() => {\n const color = this.cBgColor();\n return {\n [`bg-${color}`]: !!color,\n 'bg-gradient': this.gradient()\n } as Record<string, boolean>;\n });\n}\n","import { computed, Directive, input } from '@angular/core';\nimport { Border } from './border.type';\n\n@Directive({\n selector: '[cBorder]',\n exportAs: 'cBorder',\n host: { '[class]': 'hostClasses()' }\n})\nexport class BorderDirective {\n /**\n * Add or remove an element’s borders\n * @returns Border\n */\n readonly cBorder = input<Border>(true);\n\n readonly hostClasses = computed<Record<string, boolean>>(() => {\n const border = this.cBorder();\n if (typeof border === 'boolean') {\n return { border: border };\n }\n if (typeof border === 'number' || typeof border === 'string') {\n return {\n border: true,\n [`border-${border}`]: true\n };\n }\n if (typeof border === 'object') {\n const borderObj = {\n top: undefined,\n end: undefined,\n bottom: undefined,\n start: undefined,\n color: undefined,\n ...border\n };\n // @ts-ignore\n const keys = Object.keys(borderObj).filter((key) => borderObj[key] !== undefined);\n const classes = {};\n keys.forEach((key) => {\n // @ts-ignore\n const val = borderObj[key];\n if (typeof val === 'boolean') {\n // @ts-ignore\n classes[`border-${key}`] = true;\n } else if (typeof val === 'number' || typeof val === 'string') {\n // @ts-ignore\n classes[`border-${key}-${val}`] = true;\n } else if (typeof val === 'object') {\n if ('color' in val) {\n // @ts-ignore\n classes[`border-${key}-${val.color}`] = true;\n }\n if ('width' in val) {\n // @ts-ignore\n classes[`border-${key}-${val.width}`] = true;\n }\n }\n });\n return Object.entries(classes).length === 0 ? { border: false } : classes;\n }\n return { border: false };\n });\n}\n","import { computed, Directive, input } from '@angular/core';\nimport { Rounded } from './rounded.type';\n\n@Directive({\n selector: '[cRounded]',\n exportAs: 'cRounded',\n host: { '[class]': 'hostClasses()' }\n})\nexport class RoundedDirective {\n /**\n * Set border radius variant and radius size\n * @returns Rounded\n */\n readonly cRounded = input<Rounded>(true);\n\n readonly hostClasses = computed<Record<string, boolean>>(() => {\n const rounded = this.cRounded();\n if (typeof rounded === 'boolean') {\n return { rounded: rounded };\n }\n if (typeof rounded === 'number' || typeof rounded === 'string') {\n return {\n [`rounded-${rounded}`]: true\n };\n }\n if (typeof rounded === 'object') {\n const roundedObj = {\n top: undefined,\n end: undefined,\n bottom: undefined,\n start: undefined,\n circle: undefined,\n pill: undefined,\n size: undefined,\n ...rounded\n };\n // @ts-ignore\n const keys = Object.keys(roundedObj).filter((key) => roundedObj[key] !== undefined);\n const classes = {};\n keys.forEach((key) => {\n // @ts-ignore\n const val = roundedObj[key];\n if (typeof val === 'boolean') {\n // @ts-ignore\n classes[`rounded-${key}`] = val;\n } else {\n // @ts-ignore\n classes[`rounded-${val}`] = true;\n }\n });\n // console.log('rounded keys', keys, classes);\n return Object.entries(classes).length === 0 ? { rounded: false } : classes;\n }\n return { rounded: false };\n });\n}\n","import {\n DestroyRef,\n Directive,\n DOCUMENT,\n effect,\n ElementRef,\n inject,\n input,\n signal,\n untracked,\n WritableSignal\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { fromEvent, Subscription } from 'rxjs';\n\n@Directive({\n selector: '[cShadowOnScroll]',\n exportAs: 'cShadowOnScroll'\n})\nexport class ShadowOnScrollDirective {\n readonly #destroyRef: DestroyRef = inject(DestroyRef);\n readonly #document: Document = inject(DOCUMENT);\n readonly #elementRef: ElementRef = inject(ElementRef);\n readonly #scrolled: WritableSignal<boolean> = signal(false);\n\n readonly #scrollEffect = effect(() => {\n this.#elementRef.nativeElement.classList.toggle(this.#shadowClass, this.#scrolled());\n });\n\n #observable!: Subscription;\n #shadowClass = 'shadow-sm';\n\n constructor() {\n this.#destroyRef.onDestroy(() => {\n this.#scrollEffect?.destroy();\n });\n }\n\n /**\n * Shadow size applied to the host element once the document has been scrolled; `false`/`'none'` disables it.\n * @returns 'sm' | 'lg' | 'none' | boolean\n * @default true\n */\n readonly cShadowOnScroll = input<'sm' | 'lg' | 'none' | boolean>(true);\n\n readonly #shadowOnScrollEffect = effect(() => {\n const value = this.cShadowOnScroll();\n untracked(() => {\n this.#scrolled.set(false);\n if (value) {\n this.#shadowClass = value === true ? 'shadow' : `shadow-${value}`;\n this.#observable = fromEvent(this.#document, 'scroll')\n .pipe(takeUntilDestroyed(this.#destroyRef))\n .subscribe((scrolled) => {\n this.#scrolled.set(this.#document.documentElement.scrollTop > 0);\n });\n } else {\n this.#observable?.unsubscribe();\n }\n });\n });\n}\n","import { computed, Directive, input, InputSignal } from '@angular/core';\nimport { TextColors } from '../coreui.types';\n\n@Directive({\n selector: '[cTextColor]',\n host: {\n '[class]': 'hostClasses()'\n }\n})\nexport class TextColorDirective {\n /**\n * Set text-color of element\n * @returns TextColors\n */\n readonly color: InputSignal<TextColors> = input('', { alias: 'cTextColor' });\n\n readonly hostClasses = computed(() => {\n const color = this.color();\n return {\n [`text-${color}`]: !!color\n };\n });\n}\n","import { computed, Directive, input, InputSignal } from '@angular/core';\nimport { Colors } from '../coreui.types';\n\n@Directive({\n selector: '[cTextBgColor]',\n host: {\n '[class]': 'hostClasses()'\n }\n})\nexport class TextBgColorDirective {\n /**\n * Set text-bg-color of element\n * @returns Colors\n */\n readonly textBgColor: InputSignal<Colors> = input('', { alias: 'cTextBgColor' });\n\n readonly hostClasses = computed(() => {\n const color = this.textBgColor();\n return {\n [`text-bg-${color}`]: !!color\n } as Record<string, boolean>;\n });\n}\n","import { NgModule } from '@angular/core';\n\nimport {\n AlignDirective,\n BgColorDirective,\n BorderDirective,\n RoundedDirective,\n ShadowOnScrollDirective,\n TextBgColorDirective,\n TextColorDirective\n} from './public_api';\n\nconst UTILITY_DIRECTIVES = [\n AlignDirective,\n BgColorDirective,\n BorderDirective,\n RoundedDirective,\n ShadowOnScrollDirective,\n TextColorDirective,\n TextBgColorDirective\n];\n\n@NgModule({\n imports: [...UTILITY_DIRECTIVES],\n exports: [...UTILITY_DIRECTIVES]\n})\nexport class UtilitiesModule {}\n","import { Component, computed, input } from '@angular/core';\n\nimport { Colors, Shapes, Sizes, TextColors } from '../coreui.types';\nimport { TextColorDirective } from '../utilities';\n\n@Component({\n selector: 'c-avatar',\n templateUrl: './avatar.component.html',\n styleUrls: ['./avatar.component.scss'],\n hostDirectives: [\n {\n directive: TextColorDirective,\n inputs: ['cTextColor: textColor']\n }\n ],\n host: { class: 'avatar', '[class]': 'hostClasses()' }\n})\nexport class AvatarComponent {\n /**\n * Sets the background color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly color = input<Colors>();\n\n /**\n * Select the shape of the component.\n * @returns Shapes\n */\n readonly shape = input<Shapes>();\n\n /**\n * Size the component small, large, or extra large.\n * @returns Omit<Sizes, 'xxl'>\n * @default ''\n */\n readonly size = input<Omit<Sizes, 'xxl'>>('');\n\n /**\n * The alt attribute for the img element alternate text.\n * @returns string\n */\n readonly alt = input<string>('');\n\n /**\n * The src attribute for the img element.\n * @returns string\n */\n readonly src = input<string>();\n\n /**\n * Sets the color context of the status indicator to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly status = input<Colors>();\n\n /**\n * Sets the text color of the component to one of CoreUI’s themed colors\n * via TextColorDirective\n * @returns TextColors\n */\n readonly textColor = input<TextColors>();\n\n readonly statusClass = computed(() => {\n const status = this.status();\n return {\n 'avatar-status': true,\n [`bg-${status}`]: !!status\n } as Record<string, boolean>;\n });\n\n readonly hostClasses = computed(() => {\n const size = this.size();\n const color = this.color();\n const shape = this.shape();\n\n return {\n avatar: true,\n [`avatar-${size}`]: !!size,\n [`bg-${color}`]: !!color,\n [`${shape}`]: !!shape\n } as Record<string, boolean>;\n });\n}\n","<ng-content>\n @if (src()) {\n @defer (on immediate) {\n <img src=\"{{src() ?? ''}}\" class=\"avatar-img\" alt=\"{{alt()}}\" />\n } @placeholder () {\n <svg aria-label=\"Avatar placeholder\"\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid slice\"\n role=\"img\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"avatar-img\"\n style=\"position: absolute; width: 100%; height: 100%; inset: 0;\">\n <rect fill=\"#868e96\" height=\"100%\" width=\"100%\"></rect>\n </svg>\n }\n }\n</ng-content>\n@if (!!status()) {\n <span [class]=\"statusClass()\"></span>\n}\n\n","import { NgModule } from '@angular/core';\nimport { AvatarComponent } from './avatar.component';\n\n@NgModule({\n imports: [\n AvatarComponent\n ],\n exports: [\n AvatarComponent\n ]\n})\nexport class AvatarModule {}\n","import { Component, computed, input, InputSignal } from '@angular/core';\nimport { BadgePositions, Colors, Shapes, TextColors } from '../coreui.types';\nimport { TextBgColorDirective, TextColorDirective } from '../utilities';\n\n@Component({\n selector: 'c-badge',\n template: '<ng-content />',\n hostDirectives: [\n { directive: TextColorDirective, inputs: ['cTextColor: textColor'] },\n { directive: TextBgColorDirective, inputs: ['cTextBgColor: textBgColor'] }\n ],\n host: {\n class: 'badge',\n '[class]': 'hostClasses()'\n }\n})\nexport class BadgeComponent {\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly color: InputSignal<Colors | undefined> = input();\n /**\n * Position badge in one of the corners of a link or button.\n * @returns BadgePositions\n */\n readonly position: InputSignal<BadgePositions | undefined> = input();\n\n /**\n * Select the shape of the component.\n * @returns Shapes\n */\n readonly shape: InputSignal<Shapes | undefined> = input();\n\n /**\n * Size the component small.\n */\n readonly size = input<'sm'>();\n\n /**\n * Sets the text color of the component to one of CoreUI’s themed colors.\n * via TextColorDirective\n * @returns TextColors\n */\n readonly textColor: InputSignal<TextColors | undefined> = input();\n\n /**\n * Sets the component's color scheme to one of CoreUI's themed colors, ensuring the text color contrast adheres to the WCAG 4.5:1 contrast ratio standard for accessibility.\n * via TextBgColorDirective\n * @returns Colors\n * @since 5.0.0\n */\n readonly textBgColor: InputSignal<Colors | undefined> = input();\n\n readonly hostClasses = computed(() => {\n const position = this.position();\n const positionClasses = {\n 'position-absolute': !!position,\n 'translate-middle': !!position,\n 'top-0': position?.includes('top'),\n 'top-100': position?.includes('bottom'),\n 'start-100': position?.includes('end'),\n 'start-0': position?.includes('start')\n };\n\n const color = this.color();\n const size = this.size();\n const shape = this.shape();\n\n return Object.assign(\n {\n badge: true,\n [`bg-${color}`]: !!color,\n [`badge-${size}`]: !!size,\n [`${shape}`]: !!shape\n },\n !!position ? positionClasses : {}\n ) as Record<string, boolean>;\n });\n}\n","import { NgModule } from '@angular/core';\nimport { BadgeComponent } from './badge.component';\n\n@NgModule({\n imports: [\n BadgeComponent\n ],\n exports: [\n BadgeComponent\n ]\n})\nexport class BadgeModule {}\n","import { DOCUMENT, inject, Injectable } from '@angular/core';\n\nimport { Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BackdropService {\n readonly #backdropClick = new Subject<boolean>();\n readonly backdropClick$ = this.#backdropClick.asObservable();\n\n readonly #document = inject(DOCUMENT);\n\n activeBackdrop: any;\n\n #clearBackdropId?: ReturnType<typeof setTimeout>;\n #pendingBackdrop?: HTMLElement;\n\n get #scrollbarWidth() {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = this.#document.documentElement.clientWidth;\n const scrollbarWidth = Math.abs((this.#document.defaultView?.innerWidth ?? documentWidth) - documentWidth);\n return `${scrollbarWidth}px`;\n }\n\n scrollbarWidth = this.#scrollbarWidth;\n\n setBackdrop(type: string = 'modal'): HTMLDivElement {\n this.#flushClearBackdrop();\n\n const backdropElement = this.#document.createElement('div');\n backdropElement.classList.add(`${type}-backdrop`);\n backdropElement.classList.add('fade');\n this.#document.body.appendChild(backdropElement);\n\n const clickHandler = () => {\n this.onClickHandler();\n };\n (backdropElement as any).__backdropClickHandler = clickHandler;\n backdropElement.addEventListener('click', clickHandler);\n\n this.scrollbarWidth = this.#scrollbarWidth;\n setTimeout(() => {\n backdropElement.classList.add('show');\n // this.hideScrollbar();\n });\n this.activeBackdrop = backdropElement;\n return backdropElement;\n }\n\n clearBackdrop(backdropElement: HTMLElement): any {\n if (backdropElement) {\n const storedHandler = (backdropElement as any).__backdropClickHandler;\n if (storedHandler) {\n backdropElement.removeEventListener('click', storedHandler);\n delete (backdropElement as any).__backdropClickHandler;\n }\n backdropElement.classList.remove('show');\n this.#flushClearBackdrop();\n this.#pendingBackdrop = backdropElement;\n this.#clearBackdropId = setTimeout(() => {\n this.#clearBackdropId = undefined;\n this.#pendingBackdrop = undefined;\n if (this.activeBackdrop === backdropElement) {\n this.resetScrollbar();\n this.activeBackdrop = undefined;\n }\n this.#removeBackdrop(backdropElement);\n }, 300);\n }\n return undefined;\n }\n\n #flushClearBackdrop(): void {\n if (this.#clearBackdropId === undefined) {\n return;\n }\n clearTimeout(this.#clearBackdropId);\n this.#clearBackdropId = undefined;\n const pending = this.#pendingBackdrop;\n this.#pendingBackdrop = undefined;\n if (pending) {\n this.#removeBackdrop(pending);\n }\n }\n\n #removeBackdrop(backdropElement: HTMLElement): void {\n if (backdropElement.parentElement === this.#document.body) {\n this.#document.body.removeChild(backdropElement);\n }\n }\n\n get #isRTL() {\n return [this.#document.documentElement.dir, this.#document.body.dir].includes('rtl');\n }\n\n get #padding() {\n return `padding-${this.#isRTL ? 'left' : 'right'}`;\n }\n\n #scrollBarVisible = true;\n\n hideScrollbar(): void {\n if (this.#scrollBarVisible) {\n this.#document.body.style.setProperty('overflow', 'hidden');\n this.#document.body.style.setProperty(this.#padding, this.scrollbarWidth);\n this.#scrollBarVisible = false;\n }\n }\n\n resetScrollbar(): void {\n this.#document.body.style.removeProperty('overflow');\n this.#document.body.style.removeProperty(this.#padding);\n this.#scrollBarVisible = true;\n }\n\n onClickHandler(): void {\n this.#backdropClick.next(true);\n }\n}\n","import { booleanAttribute, Component, computed, effect, input } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { RouterModule } from '@angular/router';\n\nimport { HtmlAttributesDirective } from '../../shared';\nimport { INavAttributes, INavLinkProps } from './breadcrumb-item';\n\n@Component({\n selector: 'c-breadcrumb-item',\n templateUrl: './breadcrumb-item.component.html',\n styleUrls: ['./breadcrumb-item.component.scss'],\n imports: [RouterModule, NgTemplateOutlet, HtmlAttributesDirective],\n exportAs: 'breadcrumbItem',\n host: {\n '[aria-current]': 'ariaCurrent()',\n '[class]': 'hostClasses()'\n }\n})\nexport class BreadcrumbItemComponent {\n /**\n * Toggle the active state for the component\n * @returns boolean\n */\n readonly active = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n\n /**\n * The `url` prop for the inner `[routerLink]` directive\n * @returns string | any[]\n */\n readonly url = input<string | any[]>();\n\n /**\n * Additional html attributes for link\n * @returns INavAttributes\n */\n readonly attribs = input<INavAttributes>();\n\n /**\n * @deprecated The `attributes` prop is deprecated, use `attribs` instead\n */\n protected readonly _attributes = input<INavAttributes>(undefined, { alias: 'attributes' });\n\n readonly #attributesEffect = effect(() => {\n if (this._attributes()) {\n console.error('c-breadcrumb-item: [attributes] prop is removed, use [attribs] instead:', this._attributes());\n }\n });\n\n /**\n * Some `NavigationExtras` props for the inner `[routerLink]` directive and `routerLinkActiveOptions`\n * @returns INavLinkProps\n */\n readonly linkProps = input<INavLinkProps>();\n\n readonly ariaCurrent = computed((): string | null => {\n return this.active() ? 'page' : null;\n });\n\n readonly hostClasses = computed(() => {\n return {\n 'breadcrumb-item': true,\n active: this.active()\n } as Record<string, boolean>;\n });\n}\n","@if (!active()) {\n <a\n [routerLink]=\"url()\"\n [cHtmlAttr]=\"attribs() ?? {}\"\n [target]=\"$safeNavigationMigration(attribs()?.['target'])\"\n [queryParams]=\"linkProps()?.queryParams ?? null\"\n [fragment]=\"$safeNavigationMigration(linkProps()?.fragment)\"\n [queryParamsHandling]=\"linkProps()?.queryParamsHandling ?? null\"\n [preserveFragment]=\"linkProps()?.preserveFragment ?? false\"\n [skipLocationChange]=\"linkProps()?.skipLocationChange ?? false\"\n [replaceUrl]=\"linkProps()?.replaceUrl ?? false\"\n [state]=\"linkProps()?.state ?? {}\"\n >\n <ng-container *ngTemplateOutlet=\"defaultBreadcrumbItemContentTemplate\" />\n </a>\n} @else {\n <span [cHtmlAttr]=\"attribs() ?? {}\">\n <ng-container *ngTemplateOutlet=\"defaultBreadcrumbItemContentTemplate\" />\n </span>\n}\n\n<ng-template #defaultBreadcrumbItemContentTemplate>\n <ng-content />\n</ng-template>\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'c-breadcrumb',\n template: '<ng-content />',\n host: {\n class: 'breadcrumb',\n '[aria-label]': 'ariaLabel()',\n '[attr.role]': 'role()'\n }\n})\nexport class BreadcrumbComponent {\n /**\n * Default aria-label for breadcrumb\n * @returns string\n * @default 'breadcrumb'\n */\n readonly ariaLabel = input('breadcrumb');\n\n /**\n * Default role for breadcrumb\n * @returns string\n * @default 'navigation'\n */\n readonly role = input('navigation');\n}\n","import { inject, Injectable } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ActivatedRoute, NavigationEnd, Router } 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 readonly #router = inject(Router);\n readonly #activatedRoute = inject(ActivatedRoute);\n\n public outlet = 'primary';\n\n readonly #breadcrumbsBehaviorSubject: BehaviorSubject<IBreadcrumbItem[]> = new BehaviorSubject<IBreadcrumbItem[]>(\n new Array<IBreadcrumbItem>()\n );\n readonly breadcrumbs$: Observable<IBreadcrumbItem[]> = this.#breadcrumbsBehaviorSubject.asObservable();\n\n constructor() {\n this.#router.events\n .pipe(\n takeUntilDestroyed(),\n filter((event) => event instanceof NavigationEnd)\n )\n .subscribe((event) => {\n const breadcrumbs: any[] = [];\n let currentRoute: ActivatedRoute | null = this.#activatedRoute.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 += '/' + routeSnapshot.url.map((segment) => segment.path).join('/');\n breadcrumbs.push({\n label: routeSnapshot.data['title'] ?? routeSnapshot.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 return breadcrumbs;\n });\n }\n}\n","import { Component, computed, inject, input } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\n\nimport { IBreadcrumbItem } from '../breadcrumb-item/breadcrumb-item';\nimport { BreadcrumbComponent } from '../breadcrumb/breadcrumb.component';\nimport { BreadcrumbRouterService } from './breadcrumb-router.service';\nimport { BreadcrumbItemComponent } from '../breadcrumb-item/breadcrumb-item.component';\n\n@Component({\n selector: 'c-breadcrumb-router, [cBreadcrumbRouter]',\n templateUrl: './breadcrumb-router.component.html',\n imports: [BreadcrumbComponent, BreadcrumbItemComponent]\n})\nexport class BreadcrumbRouterComponent {\n readonly #breadcrumbRouterService = inject(BreadcrumbRouterService);\n\n /**\n * Optional array of IBreadcrumbItem to override default BreadcrumbRouter behavior\n * @returns IBreadcrumbItem[]\n */\n readonly items = input<IBreadcrumbItem[]>();\n\n readonly #breadcrumbs = toSignal(this.#breadcrumbRouterService.breadcrumbs$);\n\n readonly breadcrumbs = computed(() => {\n return this.items() ?? this.#breadcrumbs() ?? [];\n });\n}\n","<c-breadcrumb class=\"m-0\">\n @for (breadcrumb of breadcrumbs(); track breadcrumb; let last = $last) {\n @if (breadcrumb?.label && (breadcrumb?.url?.slice(-1) === '/' || last)) {\n <c-breadcrumb-item\n [active]=\"last\"\n [url]=\"$safeNavigationMigration(breadcrumb?.url)\"\n [attribs]=\"$safeNavigationMigration(breadcrumb?.attributes)\"\n [linkProps]=\"$safeNavigationMigration(breadcrumb?.linkProps)\"\n >\n {{ breadcrumb?.label }}\n </c-breadcrumb-item>\n }\n }\n</c-breadcrumb>\n","import { NgModule } from '@angular/core';\n\n// CoreUI Breadcrumb Component\nimport { BreadcrumbComponent } from './breadcrumb/breadcrumb.component';\nimport { BreadcrumbItemComponent } from './breadcrumb-item/breadcrumb-item.component';\nimport { BreadcrumbRouterComponent } from './breadcrumb-router/breadcrumb-router.component';\nimport { BreadcrumbRouterService } from './breadcrumb-router/breadcrumb-router.service';\n\n@NgModule({\n imports: [\n BreadcrumbComponent,\n BreadcrumbItemComponent,\n BreadcrumbRouterComponent\n ],\n exports: [\n BreadcrumbComponent,\n BreadcrumbItemComponent,\n BreadcrumbRouterComponent\n ],\n providers: [BreadcrumbRouterService]\n})\nexport class BreadcrumbModule {}\n","import { booleanAttribute, Component, computed, input, InputSignalWithTransform } from '@angular/core';\n\n@Component({\n selector: 'c-button-group',\n template: '<ng-content />',\n host: { '[attr.role]': 'role()', '[class]': 'hostClasses()' }\n})\nexport class ButtonGroupComponent {\n /**\n * Size the component small or large.\n * @returns '' | 'sm' | 'lg'\n */\n readonly size = input<'' | 'sm' | 'lg'>();\n\n /**\n * Create a set of buttons that appear vertically stacked rather than horizontally. Split button dropdowns are not supported here.\n * @returns boolean\n */\n readonly vertical = input(false, { transform: booleanAttribute });\n\n /**\n * Default role attr for ButtonGroup\n * @returns string\n * @default 'group'\n */\n readonly role = input<string>('group');\n\n readonly hostClasses = computed(() => {\n const size = this.size();\n const vertical = this.vertical();\n return {\n 'btn-group': !vertical,\n 'btn-group-vertical': vertical,\n [`btn-group-${size}`]: !!size\n } as Record<string, boolean>;\n });\n}\n","import { Component, input, InputSignal } from '@angular/core';\n\n@Component({\n selector: 'c-button-toolbar',\n template: '<ng-content />',\n host: { class: 'btn-toolbar', '[attr.role]': 'role()' }\n})\nexport class ButtonToolbarComponent {\n /**\n * Default role attr for ButtonToolbar\n * @returns string\n * @default 'toolbar'\n */\n readonly role = input('toolbar');\n}\n","import { NgModule } from '@angular/core';\nimport { ButtonGroupComponent } from './button-group/button-group.component';\nimport { ButtonToolbarComponent } from './button-toolbar/button-toolbar.component';\n\n@NgModule({\n imports: [ButtonGroupComponent, ButtonToolbarComponent],\n exports: [ButtonGroupComponent, ButtonToolbarComponent]\n})\nexport class ButtonGroupModule {}\n","import { Component, computed, input } from '@angular/core';\nimport { Colors } from '../coreui.types';\n\n@Component({\n selector: 'c-callout, [cCallout]',\n template: '<ng-content />',\n styleUrls: ['./callout.component.scss'],\n host: { class: 'callout', '[class]': 'hostClasses()' }\n})\nexport class CalloutComponent {\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly color = input<Colors>();\n\n readonly hostClasses = computed(() => {\n const color = this.color();\n\n return {\n callout: true,\n [`callout-${color}`]: !!color\n } as Record<string, boolean>;\n });\n}\n","import { NgModule } from '@angular/core';\n\nimport { CalloutComponent } from './callout.component';\n\n@NgModule({\n exports: [CalloutComponent],\n imports: [CalloutComponent]\n})\nexport class CalloutModule {}\n","import { Component, computed, input, InputSignal } from '@angular/core';\nimport { Colors, TextColors } from '../coreui.types';\nimport { TextBgColorDirective, TextColorDirective } from '../utilities';\n\n@Component({\n selector: 'c-card, [c-card]',\n template: '<ng-content />',\n hostDirectives: [\n { directive: TextColorDirective, inputs: ['cTextColor: textColor'] },\n { directive: TextBgColorDirective, inputs: ['cTextBgColor: textBgColor'] }\n ],\n host: { class: 'card', '[class]': 'hostClasses()' }\n})\nexport class CardComponent {\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly color: InputSignal<Colors | undefined> = input();\n\n /**\n * Sets the text color context of the component to one of CoreUI’s themed colors.\n * via TextColorDirective\n * @returns TextColors\n */\n readonly textColor: InputSignal<TextColors | undefined> = input();\n\n /**\n * Sets the component's color scheme to one of CoreUI themed colors, ensuring the text color contrast adheres to the WCAG 4.5:1 contrast ratio standard for accessibility.\n * via TextBgColorDirective\n * @returns Colors\n * @since 5.0.0\n */\n readonly textBgColor: InputSignal<Colors | undefined> = input();\n\n readonly hostClasses = computed(() => {\n const color = this.color();\n\n return {\n card: true,\n [`bg-${color}`]: !!color\n } as Record<string, boolean>;\n });\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-card-body, [c-card-body]',\n template: '<ng-content />',\n host: { class: 'card-body' }\n})\nexport class CardBodyComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-card-footer, [c-card-footer]',\n template: '<ng-content />',\n host: { class: 'card-footer' }\n})\nexport class CardFooterComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-card-group, [c-card-group]',\n template: '<ng-content />',\n host: { class: 'card-group' }\n})\nexport class CardGroupComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-card-header, [c-card-header]',\n template: '<ng-content />',\n host: { class: 'card-header' }\n})\nexport class CardHeaderComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-card-header-actions, [c-card-header-actions]',\n template: '<ng-content />',\n host: { class: 'card-header-actions' }\n})\nexport class CardHeaderActionsComponent {}\n","import { computed, Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[cCardImg]',\n host: { '[class]': 'hostClasses()' }\n})\nexport class CardImgDirective {\n /**\n * Optionally orientate the image to the top, bottom, or make it overlaid across the card.\n * @returns 'top' | 'bottom' | 'start' | 'end' | undefined\n */\n readonly orientation = input<'top' | 'bottom' | 'start' | 'end' | undefined>(undefined, { alias: 'cCardImg' });\n\n readonly hostClasses = computed(() => {\n const orientation = this.orientation();\n const suffix = !!orientation ? `-${orientation}` : '';\n const horizontal = ['start', 'end'].includes(orientation ?? '-') ? orientation : undefined;\n return {\n [`card-img${suffix}`]: !horizontal,\n 'img-fluid': !!horizontal,\n [`rounded-${horizontal}`]: !!horizontal\n } as Record<string, boolean>;\n });\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-card-img-overlay',\n template: '<ng-content />',\n styleUrls: ['./card-img-overlay.component.scss'],\n host: { class: 'card-img-overlay' }\n})\nexport class CardImgOverlayComponent {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cCardLink]',\n host: { class: 'card-link' }\n})\nexport class CardLinkDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cCardSubtitle]',\n host: { class: 'card-subtitle' }\n})\nexport class CardSubtitleDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cCardText]',\n host: { class: 'card-text' }\n})\nexport class CardTextDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cCardTitle]',\n host: { class: 'card-title' }\n})\nexport class CardTitleDirective {}\n","import { NgModule } from '@angular/core';\n\nimport { CardComponent } from './card.component';\nimport { CardBodyComponent } from './card-body.component';\nimport { CardFooterComponent } from './card-footer.component';\nimport { CardHeaderComponent } from './card-header.component';\nimport { CardHeaderActionsComponent } from './card-header-actions.component';\nimport { CardGroupComponent } from './card-group.component';\nimport { CardImgDirective } from './card-img.directive';\nimport { CardLinkDirective } from './card-link.directive';\nimport { CardSubtitleDirective } from './card-subtitle.directive';\nimport { CardTextDirective } from './card-text.directive';\nimport { CardTitleDirective } from './card-title.directive';\nimport { CardImgOverlayComponent } from './card-img-overlay/card-img-overlay.component';\n\n@NgModule({\n imports: [\n CardComponent,\n CardBodyComponent,\n CardFooterComponent,\n CardGroupComponent,\n CardHeaderComponent,\n CardHeaderActionsComponent,\n CardImgDirective,\n CardImgOverlayComponent,\n CardLinkDirective,\n CardSubtitleDirective,\n CardTextDirective,\n CardTitleDirective\n ],\n exports: [\n CardComponent,\n CardBodyComponent,\n CardFooterComponent,\n CardGroupComponent,\n CardHeaderComponent,\n CardHeaderActionsComponent,\n CardImgDirective,\n CardImgOverlayComponent,\n CardLinkDirective,\n CardSubtitleDirective,\n CardTextDirective,\n CardTitleDirective\n ]\n})\nexport class CardModule {}\n","import { isPlatformServer } from '@angular/common';\nimport { ElementRef, inject, Injectable, OnDestroy, PLATFORM_ID } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nexport interface IIntersectionObserverInit {\n root?: Element | null;\n rootMargin?: string;\n threshold?: number | number[];\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class IntersectionService implements OnDestroy {\n\n platformId = inject(PLATFORM_ID);\n\n readonly #intersecting: BehaviorSubject<any> = new BehaviorSubject({ isIntersecting: false });\n readonly intersecting$ = this.#intersecting.asObservable();\n\n private defaultObserverOptions: IIntersectionObserverInit = {\n root: null,\n rootMargin: '0px',\n threshold: 0.2\n };\n\n hostElementRefs: Map<ElementRef, IntersectionObserver | null> = new Map();\n\n createIntersectionObserver(hostElement: ElementRef, observerOptions = this.defaultObserverOptions) {\n\n if (isPlatformServer(this.platformId)) {\n this.#intersecting.next({ isIntersecting: true, hostElement });\n return;\n }\n\n const options: IIntersectionObserverInit = { ...this.defaultObserverOptions, ...observerOptions };\n\n const handleIntersect = (entries: IntersectionObserverEntry[], observer: IntersectionObserver) => {\n entries.forEach((entry: any) => {\n this.#intersecting.next({ isIntersecting: entry.isIntersecting, hostElement });\n });\n };\n\n this.hostElementRefs.set(hostElement, new IntersectionObserver(handleIntersect, options));\n this.hostElementRefs.get(hostElement)?.observe(hostElement.nativeElement);\n }\n\n unobserve(elementRef: ElementRef) {\n this.hostElementRefs.get(elementRef)?.unobserve(elementRef.nativeElement);\n this.hostElementRefs.set(elementRef, null);\n this.hostElementRefs.delete(elementRef);\n }\n\n ngOnDestroy(): void {\n this.hostElementRefs.forEach((observer, elementRef) => {\n observer?.unobserve(elementRef.nativeElement);\n });\n }\n}\n","import { ElementRef, inject, Injectable, Renderer2 } from '@angular/core';\nimport { Triggers } from '../coreui.types';\n\nexport interface IListenersConfig {\n hostElement: ElementRef;\n trigger?: Triggers | Triggers[];\n callbackOn?: () => void;\n callbackOff?: () => void;\n callbackToggle?: () => void;\n}\n\n@Injectable()\nexport class ListenersService {\n readonly renderer = inject(Renderer2);\n\n private listeners: Map<string, () => void> = new Map();\n\n setListeners({\n hostElement,\n trigger,\n callbackOn,\n callbackOff,\n callbackToggle,\n }: IListenersConfig): void {\n const host = hostElement.nativeElement;\n const triggers = Array.isArray(trigger) ? trigger : trigger?.split(' ') ?? [];\n\n if (triggers?.includes('click')) {\n typeof callbackToggle === 'function' &&\n this.listeners.set('click', this.renderer.listen(host, 'click', callbackToggle));\n }\n if (triggers?.includes('focus')) {\n typeof callbackOn === 'function' &&\n this.listeners.set('focus', this.renderer.listen(host, 'focus', callbackOn));\n }\n if (triggers?.includes('focusin')) {\n typeof callbackOff === 'function' &&\n this.listeners.set('focusout', this.renderer.listen(host, 'focusout', callbackOff));\n typeof callbackOn === 'function' &&\n this.listeners.set('focusin', this.renderer.listen(host, 'focusin', callbackOn));\n }\n if (triggers?.includes('click') || triggers?.includes('focus')) {\n typeof callbackOff === 'function' &&\n this.listeners.set('blur', this.renderer.listen(host, 'blur', callbackOff));\n }\n if (triggers?.includes('hover')) {\n typeof callbackOn === 'function' &&\n this.listeners.set('mouseenter', this.renderer.listen(host, 'mouseenter', callbackOn));\n typeof callbackOff === 'function' &&\n this.listeners.set('mouseleave', this.renderer.listen(host, 'mouseleave', callbackOff));\n }\n }\n\n clearListeners(): void {\n this.listeners.forEach((unListen, key) => {\n unListen();\n });\n this.listeners.forEach((unListen, key) => {\n // @ts-ignore\n this.listeners.set(key, null);\n });\n this.listeners.clear();\n }\n}\n","import { DOCUMENT, inject, Injectable, Renderer2, RendererFactory2 } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ClassToggleService {\n readonly #document = inject<Document>(DOCUMENT);\n readonly #rendererFactory = inject(RendererFactory2);\n\n #renderer: Renderer2;\n\n constructor() {\n this.#renderer = this.#rendererFactory.createRenderer(null, null);\n }\n\n toggle(selector: any, className: string) {\n const element = this.#document.querySelector(selector);\n if (element) {\n element.classList.contains(className)\n ? this.#renderer.removeClass(element, className)\n : this.#renderer.addClass(element, className);\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InMemoryStorageService implements Storage {\n #storage = new Map<string, string>();\n\n public setItem(key: string, data: any): void {\n this.#storage.set(key, JSON.stringify(data));\n }\n\n public getItem(key: string): any {\n return this.#storage.has(key) ? JSON.parse(this.#storage.get(key) ?? 'null') : undefined;\n }\n\n public removeItem(key: string): void {\n this.#storage.delete(key);\n }\n\n public clear() {\n this.#storage.clear();\n }\n\n public get length() {\n return this.#storage.size;\n }\n\n public key(index: number) {\n return Array.from(this.#storage.keys())[index];\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { DOCUMENT, inject, Injectable, PLATFORM_ID } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { InMemoryStorageService } from './in-memory-storage.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LocalStorageService {\n private platformId = inject(PLATFORM_ID);\n private document = inject(DOCUMENT);\n\n constructor() {\n this.#localStorage =\n isPlatformBrowser(this.platformId) && this.document.defaultView\n ? this.document.defaultView?.localStorage\n : new InMemoryStorageService();\n }\n\n #localStorage: Storage;\n readonly #data$ = new BehaviorSubject<{ key: string; data: any } | null>(null);\n public readonly data$ = this.#data$.asObservable();\n\n public setItem(key: string, data: any): void {\n this.#localStorage.setItem(key, JSON.stringify(data));\n this.#data$.next({ key, data });\n }\n\n public getItem(key: string): any {\n const data = JSON.parse(this.#localStorage.getItem(key) || 'null');\n this.#data$.next({ key, data });\n return data;\n }\n\n public removeItem(key: string): void {\n this.#localStorage.removeItem(key);\n this.#data$.next({ key, data: null });\n }\n\n public clear() {\n this.#localStorage.clear();\n this.#data$.next(null);\n }\n}\n","import {\n afterNextRender,\n DestroyRef,\n DOCUMENT,\n effect,\n inject,\n Injectable,\n signal,\n WritableSignal\n} from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { tap } from 'rxjs/operators';\nimport { LocalStorageService } from './local-storage.service';\n\nexport type ColorMode = 'light' | 'dark' | 'auto' | string | undefined;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ColorModeService {\n readonly #destroyRef: DestroyRef = inject(DestroyRef);\n readonly #document: Document = inject(DOCUMENT);\n readonly #localStorage: LocalStorageService = inject(LocalStorageService);\n\n readonly eventName = signal('ColorSchemeChange');\n readonly localStorageItemName: WritableSignal<string | undefined> = signal(undefined);\n readonly localStorageItemName$ = toObservable(this.localStorageItemName);\n readonly colorMode: WritableSignal<ColorMode> = signal(undefined);\n\n readonly #colorModeEffect = effect(() => {\n const colorMode = this.colorMode();\n if (colorMode) {\n const localStorageItemName = this.localStorageItemName();\n localStorageItemName && this.setStoredTheme(localStorageItemName, colorMode);\n this.#setTheme(colorMode);\n }\n });\n\n constructor() {\n afterNextRender({\n read: () => {\n this.localStorageItemName$\n .pipe(\n tap((params) => {\n this.colorMode.set(this.getDefaultScheme(params));\n }),\n takeUntilDestroyed(this.#destroyRef)\n )\n .subscribe();\n }\n });\n }\n\n getStoredTheme(localStorageItemName: string) {\n return this.#localStorage.getItem(localStorageItemName);\n }\n\n setStoredTheme(localStorageItemName: string, colorMode: string) {\n return this.#localStorage.setItem(localStorageItemName, colorMode);\n }\n\n removeStoredTheme(localStorageItemName: string) {\n this.#localStorage.removeItem(localStorageItemName);\n }\n\n getDefaultScheme(localStorageItemName: string | undefined) {\n if (this.#document.defaultView === undefined) {\n return this.getDatasetTheme();\n }\n\n const storedTheme = localStorageItemName && this.getStoredTheme(localStorageItemName);\n\n return storedTheme ?? this.getDatasetTheme();\n }\n\n getPrefersColorScheme() {\n return this.#document.defaultView?.matchMedia('(prefers-color-scheme: dark)').matches\n ? 'dark'\n : this.#document.defaultView?.matchMedia('(prefers-color-scheme: light)').matches\n ? 'light'\n : undefined;\n }\n\n getDatasetTheme(): ColorMode {\n return <ColorMode>this.#document.documentElement.dataset['coreuiTheme'];\n }\n\n #setTheme(colorMode: ColorMode) {\n this.#document.documentElement.dataset['coreuiTheme'] =\n colorMode === 'auto' ? this.getPrefersColorScheme() : colorMode;\n\n const event = new Event(this.eventName());\n this.#document.documentElement.dispatchEvent(event);\n }\n}\n","import { DOCUMENT, inject, Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UIDService {\n readonly #document = inject(DOCUMENT);\n\n getUID(prefix: string = 'random-id'): string {\n let uid = prefix;\n do {\n uid = `${prefix}-${Math.floor(Math.random() * 1000000).toString(10)}`;\n } while (this.#document.getElementById(uid));\n\n return uid;\n }\n}\n","import { DOCUMENT, inject, Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RtlService {\n readonly #document = inject(DOCUMENT);\n\n isRTL(element?: HTMLElement | null): boolean {\n if (element) {\n return (\n element.closest('[dir=\"rtl\"]') !== null ||\n this.#document.defaultView?.getComputedStyle(element).direction === 'rtl'\n );\n }\n\n return [this.#document?.documentElement?.dir, this.#document?.body?.dir].includes('rtl');\n }\n}\n","import { Injectable, signal } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { ICarouselState } from './carousel-state.type';\nimport { CarouselItemComponent } from './carousel-item/carousel-item.component';\n\nexport interface ICarouselIndex {\n active?: number;\n interval?: number;\n lastItemIndex?: number;\n}\n\n@Injectable()\nexport class CarouselService {\n readonly #carouselIndex = new BehaviorSubject<ICarouselIndex>({});\n readonly carouselIndex$ = this.#carouselIndex.asObservable();\n\n setIndex(index: ICarouselIndex): void {\n this.#carouselIndex.next(index);\n }\n\n readonly animating = signal(false);\n\n #state = <ICarouselState>{\n activeItemIndex: -1,\n animate: true,\n items: [],\n direction: 'next',\n transition: 'slide',\n interval: 0\n };\n\n get state(): ICarouselState {\n return this.#state;\n }\n\n set state(state) {\n const prevState = { ...this.#state };\n const nextState = { ...this.#state, ...state };\n this.#state = nextState;\n if (prevState.activeItemIndex !== nextState.activeItemIndex) {\n const activeItemIndex = this.state.activeItemIndex || 0;\n const itemInterval = (this.state.items && this.state.items[activeItemIndex]?.interval()) || -1;\n this.setIndex({\n active: nextState.activeItemIndex,\n interval: itemInterval,\n lastItemIndex: (nextState.items?.length ?? 0) - 1\n });\n }\n }\n\n setItems(newItems: any): void {\n if (newItems.length) {\n const itemsArray = newItems;\n itemsArray.forEach((item: CarouselItemComponent, i: number) => {\n item.index = i;\n });\n this.state = {\n items: [...itemsArray]\n };\n } else {\n this.reset();\n }\n }\n\n setNextIndex(nextIndex: any): void {\n this.setIndex(nextIndex);\n }\n\n direction(direction: 'next' | 'prev' = 'next'): number {\n this.state = { direction };\n const { activeItemIndex = -1, items } = this.state;\n const itemsCount = items?.length ?? 0;\n if (itemsCount > 0) {\n return direction === 'next'\n ? activeItemIndex === itemsCount - 1\n ? 0\n : activeItemIndex + 1\n : activeItemIndex === 0\n ? itemsCount - 1\n : activeItemIndex - 1;\n } else {\n return 0;\n }\n }\n\n reset(): void {\n this.state = {\n activeItemIndex: -1,\n animate: true,\n items: [],\n direction: 'next',\n transition: 'slide',\n interval: 0\n };\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class CarouselConfig {\n /* Animate transition of slides */\n activeIndex = 0;\n /* Animate transition of slides */\n animate = true;\n /* Default direction of auto-changing of slides */\n direction: 'next' | 'prev' = 'next';\n /* Default interval of auto-changing of slides */\n interval?: number;\n}\n","import {\n AfterContentInit,\n Component,\n DestroyRef,\n effect,\n ElementRef,\n inject,\n input,\n linkedSignal,\n numberAttribute,\n OnDestroy,\n OnInit,\n output\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { fromEvent, Subscription } from 'rxjs';\nimport { filter, finalize, withLatestFrom, zipWith } from 'rxjs/operators';\n\nimport { IListenersConfig, IntersectionService, ListenersService } from '../../services';\n\nimport { Triggers } from '../../coreui.types';\nimport { ThemeDirective } from '../../shared/theme.directive';\nimport { CarouselService } from '../carousel.service';\nimport { CarouselConfig } from '../carousel.config';\n\n@Component({\n selector: 'c-carousel',\n template: '<ng-content />',\n styleUrls: ['./carousel.component.scss'],\n providers: [CarouselService, ListenersService],\n hostDirectives: [{ directive: ThemeDirective, inputs: ['dark'] }],\n exportAs: 'cCarousel',\n host: {\n class: 'carousel slide',\n '[class.carousel-fade]': 'transition() === \"crossfade\" && animate()'\n }\n})\nexport class CarouselComponent implements OnInit, OnDestroy, AfterContentInit {\n private config = inject<CarouselConfig>(CarouselConfig);\n\n readonly #hostElement = inject(ElementRef);\n readonly #carouselService = inject(CarouselService);\n readonly #intersectionService = inject(IntersectionService);\n readonly #listenersService = inject(ListenersService);\n\n constructor() {\n this.loadConfig();\n }\n\n loadConfig() {\n this.activeIndex.update((activeIndex) => this.config?.activeIndex ?? activeIndex);\n this.animate.update((animate) => (animate === false ? animate : (this.config?.animate ?? animate)));\n this.direction.update((direction) => this.config?.direction ?? direction);\n this.interval.update((interval) => this.config?.interval ?? interval);\n }\n\n /**\n * Index of the active item.\n * @returns number\n */\n readonly activeIndexInput = input(0, { alias: 'activeIndex', transform: numberAttribute });\n\n readonly activeIndex = linkedSignal({\n source: this.activeIndexInput,\n computation: (value: number) => value\n });\n\n /**\n * Carousel automatically starts cycle items.\n * @returns boolean\n */\n readonly animateInput = input<boolean>(true, { alias: 'animate' });\n\n readonly animate = linkedSignal(this.animateInput);\n\n /**\n * Carousel direction\n * @returns 'next' | 'prev'\n */\n readonly directionInput = input<'next' | 'prev'>('next', { alias: 'direction' });\n\n readonly direction = linkedSignal({\n source: this.directionInput,\n computation: (value: 'next' | 'prev') => value\n });\n\n /**\n * The amount of time to delay between automatically cycling an item. If -1, carousel will not automatically cycle.\n * @returns number\n * @default -1\n */\n readonly intervalInput = input(-1, { alias: 'interval', transform: numberAttribute });\n\n readonly interval = linkedSignal(this.intervalInput);\n\n readonly #intervalEffect = effect(() => {\n const interval = this.interval();\n this.#carouselService.state = { interval: interval };\n interval ? this.setTimer() : this.resetTimer();\n });\n\n /**\n * Sets which event handlers you’d like provided to your pause prop. You can specify one trigger or an array of them.\n * @returns Triggers | Triggers[] | false\n */\n readonly pause = input<Triggers | Triggers[] | false>('hover');\n\n /**\n * Support left/right swipe interactions on touchscreen devices.\n * @returns boolean\n * @default true\n */\n readonly touch = input<boolean>(true);\n\n /**\n * Set the type of the transition.\n * @returns 'slide' | 'crossfade'\n * @default 'slide'\n */\n readonly transition = input<'slide' | 'crossfade'>('slide');\n\n /**\n * Set whether the carousel should cycle continuously or have hard stops.\n * @returns boolean\n * @default true\n */\n readonly wrap = input<boolean>(true);\n\n /**\n * Event emitted on carousel item change\n * @returns number\n */\n readonly itemChange = output<number>();\n\n private timerId: ReturnType<typeof setTimeout> | undefined;\n private activeItemInterval = 0;\n private swipeSubscription?: Subscription;\n readonly #destroyRef = inject(DestroyRef);\n\n ngOnInit(): void {\n this.carouselServiceSubscribe();\n }\n\n ngOnDestroy(): void {\n this.resetTimer();\n this.clearListeners();\n this.swipeSubscribe(false);\n // Ensure IntersectionObserver is cleaned up\n this.#intersectionService?.unobserve(this.#hostElement);\n }\n\n ngAfterContentInit(): void {\n this.intersectionServiceSubscribe();\n this.#carouselService.state = {\n activeItemIndex: this.activeIndex(),\n animate: this.animate(),\n interval: this.interval(),\n transition: this.transition()\n };\n this.setListeners();\n this.swipeSubscribe();\n }\n\n private setListeners(): void {\n const config: IListenersConfig = {\n hostElement: this.#hostElement,\n trigger: this.pause() || [],\n callbackOff: () => {\n this.setTimer();\n },\n callbackOn: () => {\n this.resetTimer();\n }\n };\n this.#listenersService.setListeners(config);\n }\n\n private clearListeners(): void {\n this.#listenersService.clearListeners();\n }\n\n set visible(value) {\n this.#visible = value;\n }\n\n get visible() {\n return this.#visible;\n }\n\n #visible: boolean = true;\n\n setTimer(): void {\n const interval = this.activeItemInterval || this.interval();\n const direction = this.direction();\n this.resetTimer();\n if (interval > 0) {\n this.timerId = setTimeout(() => {\n const nextIndex = this.#carouselService.direction(direction);\n this.#carouselService.state = { activeItemIndex: nextIndex };\n }, interval);\n }\n }\n\n resetTimer(): void {\n clearTimeout(this.timerId);\n this.timerId = undefined;\n }\n\n private carouselServiceSubscribe(): void {\n this.#carouselService.carouselIndex$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe((nextItem) => {\n if ('active' in nextItem && typeof nextItem.active === 'number') {\n this.itemChange?.emit(nextItem.active);\n }\n this.activeItemInterval =\n typeof nextItem.interval === 'number' && nextItem.interval > -1 ? nextItem.interval : this.interval();\n const direction = this.direction();\n const isLastItem =\n (nextItem.active === nextItem.lastItemIndex && direction === 'next') ||\n (nextItem.active === 0 && direction === 'prev');\n !this.wrap() && isLastItem ? this.resetTimer() : this.setTimer();\n });\n }\n\n private intersectionServiceSubscribe(): void {\n this.#intersectionService.createIntersectionObserver(this.#hostElement);\n this.#intersectionService.intersecting$\n .pipe(\n filter((next) => next.hostElement === this.#hostElement),\n finalize(() => {\n this.#intersectionService?.unobserve(this.#hostElement);\n }),\n takeUntilDestroyed(this.#destroyRef)\n )\n .subscribe((next) => {\n this.visible = next.isIntersecting;\n next.isIntersecting ? this.setTimer() : this.resetTimer();\n });\n }\n\n private swipeSubscribe(subscribe: boolean = true): void {\n if (this.touch() && subscribe) {\n const carouselElement = this.#hostElement.nativeElement;\n const touchStart$ = fromEvent<TouchEvent>(carouselElement, 'touchstart');\n const touchEnd$ = fromEvent<TouchEvent>(carouselElement, 'touchend');\n const touchMove$ = fromEvent<TouchEvent>(carouselElement, 'touchmove');\n this.swipeSubscription = touchStart$\n .pipe(zipWith(touchEnd$.pipe(withLatestFrom(touchMove$))), takeUntilDestroyed(this.#destroyRef))\n .subscribe(([touchstart, [touchend, touchmove]]) => {\n touchstart.stopPropagation();\n touchmove.stopPropagation();\n if (this.#carouselService.animating()) {\n return;\n }\n const distanceX = touchstart.touches[0]?.clientX - touchmove.touches[0]?.clientX || 0;\n if (Math.abs(distanceX) > 0.3 * carouselElement.clientWidth && touchstart.timeStamp <= touchmove.timeStamp) {\n const nextIndex = this.#carouselService.direction(distanceX > 0 ? 'next' : 'prev');\n this.#carouselService.state = { activeItemIndex: nextIndex };\n }\n });\n } else {\n this.swipeSubscription?.unsubscribe();\n }\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-carousel-caption',\n template: '<ng-content />',\n styles: `\n :host {\n display: block;\n }\n `,\n host: {\n '[class.carousel-caption]': 'true'\n }\n})\nexport class CarouselCaptionComponent {}\n","import { Component, computed, inject, input, linkedSignal } from '@angular/core';\nimport { CarouselService } from '../carousel.service';\n\n@Component({\n selector: 'c-carousel-control',\n templateUrl: './carousel-control.component.html',\n exportAs: 'cCarouselControl',\n host: {\n '[attr.role]': 'role()',\n '[class]': 'hostClasses()',\n '(keyup)': 'onKeyUp($event)',\n '(click)': 'onClick($event)'\n }\n})\nexport class CarouselControlComponent {\n readonly #carouselService = inject(CarouselService);\n\n /**\n * Carousel control caption\n * @returns string | undefined\n */\n readonly captionInput = input<string | undefined>(undefined, { alias: 'caption' });\n\n readonly caption = linkedSignal({\n source: this.captionInput,\n computation: (value) => {\n return !!value ? value : this.direction() === 'prev' ? 'Previous' : 'Next';\n }\n });\n\n /**\n * Carousel control direction.\n * @returns 'prev' | 'next'\n */\n readonly direction = input<'prev' | 'next'>('next');\n\n /**\n * Carousel control role.\n * @returns string\n */\n readonly role = input('button');\n\n readonly hostClasses = computed(() => {\n return `carousel-control-${this.direction()}`;\n });\n\n readonly carouselControlIconClass = computed(() => {\n return `carousel-control-${this.direction()}-icon`;\n });\n\n onKeyUp($event: KeyboardEvent): void {\n if ($event.key === 'Enter') {\n this.#play();\n }\n if ($event.key === 'ArrowLeft') {\n this.#play('prev');\n }\n if ($event.key === 'ArrowRight') {\n this.#play('next');\n }\n }\n\n onClick($event: MouseEvent): void {\n if (this.#carouselService.animating()) {\n return;\n }\n this.#play();\n }\n\n #play(direction = this.direction()): void {\n const nextIndex = this.#carouselService.direction(direction);\n this.#carouselService.state = { activeItemIndex: nextIndex };\n }\n}\n","<ng-content>\n <span [aria-hidden]=\"true\" [class]=\"carouselControlIconClass()\"></span>\n <span class=\"visually-hidden\">{{ caption() }}</span>\n</ng-content>\n","import { Component, computed, contentChildren, DestroyRef, inject, OnInit, signal, TemplateRef } from '@angular/core';\nimport { CarouselService } from '../carousel.service';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { TemplateIdDirective } from '../../shared';\n\n@Component({\n selector: 'c-carousel-indicators',\n exportAs: 'cCarouselIndicators',\n imports: [NgTemplateOutlet],\n templateUrl: './carousel-indicators.component.html',\n host: { class: 'carousel-indicators' }\n})\nexport class CarouselIndicatorsComponent implements OnInit {\n readonly #destroyRef = inject(DestroyRef);\n readonly #carouselService = inject(CarouselService);\n\n items: (number | undefined)[] = [];\n readonly active = signal(0);\n\n readonly contentTemplates = contentChildren(TemplateIdDirective, { descendants: true });\n\n readonly templates = computed(() => {\n return this.contentTemplates().reduce(\n (acc, child) => {\n acc[child.id] = child.templateRef;\n return acc;\n },\n {} as Record<string, TemplateRef<any>>\n );\n });\n\n ngOnInit(): void {\n this.#carouselService.carouselIndex$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe((nextIndex) => {\n this.items = this.#carouselService?.state?.items?.map((item) => item.index) ?? [];\n if ('active' in nextIndex) {\n this.active.set(nextIndex.active ?? 0);\n }\n });\n }\n\n onClick(index: number): void {\n if (this.#carouselService.animating()) {\n return;\n }\n if (index !== this.active()) {\n const direction = index < this.active() ? 'prev' : 'next';\n this.#carouselService.state = { direction, activeItemIndex: index };\n }\n }\n}\n","@let tmpl = templates();\n@let activeItem = active();\n<ng-container *ngTemplateOutlet=\"tmpl['carouselIndicatorsTemplate'] || defaultCarouselIndicatorsTemplate; context: {$implicit: items, active: activeItem}\" />\n\n<ng-template #defaultCarouselIndicatorsTemplate>\n @for (item of items; track item; let i = $index) {\n <button\n [attr.data-coreui-target]=\"i\"\n type=\"button\"\n (click)=\"onClick(i)\"\n [class]=\"{ active: activeItem === i }\"\n [aria-current]=\"activeItem === i ? 'true' : null\">\n </button>\n }\n</ng-template>\n","import {\n booleanAttribute,\n Component,\n computed,\n DestroyRef,\n effect,\n ElementRef,\n inject,\n input,\n linkedSignal,\n OnInit,\n signal,\n untracked\n} from '@angular/core';\n\nimport { CarouselService } from '../carousel.service';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n@Component({\n selector: 'c-carousel-item',\n template: `\n <!-- @if (this.activeClass() || (this.orderClassName() && this.directionClassName())) {-->\n <ng-content />\n <!-- }-->\n `,\n exportAs: 'cCarouselItem',\n host: {\n class: 'carousel-item',\n '[class]': 'hostClasses()',\n '[attr.role]': 'role()'\n }\n})\nexport class CarouselItemComponent implements OnInit {\n readonly #elementRef = inject(ElementRef<HTMLElement>);\n readonly #destroyRef = inject(DestroyRef);\n readonly #carouselService = inject(CarouselService);\n\n #timeoutId?: ReturnType<typeof setTimeout> | undefined;\n #rafId?: ReturnType<typeof requestAnimationFrame> | undefined;\n\n index?: number;\n\n /**\n * @ignore\n */\n readonly activeInput = input(false, { transform: booleanAttribute, alias: 'active' });\n\n readonly active = linkedSignal(this.activeInput);\n\n /**\n * Time delay before cycling to the next item. If -1, uses carousel interval value.\n * @returns number\n * @default -1\n */\n readonly interval = input<number>(-1);\n\n /**\n * Carousel item role.\n * @returns string\n * @default 'group'\n */\n readonly role = input('group');\n\n constructor() {\n this.#elementRef.nativeElement.style.transition = '1ms';\n }\n\n ngOnInit(): void {\n this.#carouselService.carouselIndex$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe((nextIndex) => {\n if ('active' in nextIndex) {\n if (this.#carouselService.state.animate && this.#elementRef.nativeElement.style.transition !== '') {\n this.#timeoutId = setTimeout(() => {\n this.#elementRef.nativeElement.style.transition = '';\n this.#timeoutId = undefined;\n }, 500);\n }\n this.prevActive.set(this.active());\n this.active.set(nextIndex.active === this.index);\n }\n });\n\n // Clean up timeout on destroy\n this.#destroyRef.onDestroy(() => {\n if (this.#timeoutId !== undefined) {\n clearTimeout(this.#timeoutId);\n }\n if (this.#rafId !== undefined) {\n cancelAnimationFrame(this.#rafId);\n }\n });\n }\n\n protected readonly hostClasses = computed(() => {\n const order = this.orderClassName();\n const direction = this.directionClassName();\n return {\n active: this.activeClass(),\n [`${order}`]: !!order,\n [`${direction}`]: !!direction,\n 'd-none': !this.activeClass() && !order && !direction\n };\n });\n\n readonly prevActive = signal(false);\n readonly activeClass = signal(false);\n readonly orderClassName = signal<string>('');\n readonly directionClassName = signal<string>('');\n\n readonly #activeEffect = effect((OnCleanup) => {\n const active = this.active();\n const prevActive = untracked(this.prevActive);\n const direction = this.#carouselService.state?.direction;\n\n this.activeClass.set(prevActive);\n\n if (active) {\n this.orderClassName.set(`carousel-item-${direction}`);\n }\n\n if (prevActive || active) {\n if (this.#rafId) {\n cancelAnimationFrame(this.#rafId);\n }\n\n this.#rafId = requestAnimationFrame(() => {\n // reflow is necessary to proper transition\n void this.#elementRef.nativeElement.offsetHeight;\n this.directionClassName.set(`carousel-item-${direction === 'next' ? 'start' : 'end'}`);\n this.#rafId = undefined;\n });\n }\n\n const handleTransitionStart = () => {\n if (active) {\n this.#carouselService.animating.set(true);\n }\n };\n\n const handleTransitionEnd = () => {\n if (active) {\n this.#carouselService.animating.set(false);\n }\n this.directionClassName.set('');\n this.orderClassName.set('');\n this.activeClass.set(active);\n };\n\n this.#elementRef.nativeElement.addEventListener('transitionstart', handleTransitionStart);\n this.#elementRef.nativeElement.addEventListener('transitionend', handleTransitionEnd);\n\n OnCleanup(() => {\n this.#elementRef.nativeElement.removeEventListener('transitionstart', handleTransitionStart);\n this.#elementRef.nativeElement.removeEventListener('transitionend', handleTransitionEnd);\n });\n });\n}\n","import {\n AfterContentChecked,\n AfterContentInit,\n Component,\n computed,\n contentChildren,\n inject,\n signal\n} from '@angular/core';\nimport { CarouselItemComponent } from '../carousel-item/carousel-item.component';\nimport { CarouselService } from '../carousel.service';\n\n@Component({\n selector: 'c-carousel-inner',\n styles: `\n :host {\n display: block;\n }\n `,\n template: '<ng-content />',\n host: {\n class: 'carousel-inner',\n '[aria-live]': 'ariaLive()'\n }\n})\nexport class CarouselInnerComponent implements AfterContentInit, AfterContentChecked {\n readonly #carouselService = inject(CarouselService);\n\n readonly activeIndex = signal<number | undefined>(undefined);\n readonly animate = signal<boolean>(true);\n readonly interval = signal<number>(0);\n readonly slide = signal({ left: true });\n readonly transition = signal('crossfade');\n\n readonly slideType = computed(() => {\n return { left: this.slide().left, type: this.transition() };\n });\n\n readonly ariaLive = computed(() => {\n return this.interval() ? 'off' : 'polite';\n });\n\n readonly contentItems = contentChildren(CarouselItemComponent);\n readonly #prevContentItems = signal<CarouselItemComponent[]>([]);\n\n ngAfterContentInit(): void {\n this.setItems();\n }\n\n ngAfterContentChecked(): void {\n this.setItems();\n const state = this.#carouselService?.state;\n const nextIndex = state?.activeItemIndex;\n const nextDirection = state?.direction;\n if (this.activeIndex() !== nextIndex) {\n this.animate.set(state?.animate ?? false);\n this.activeIndex.set(state?.activeItemIndex);\n this.interval.set(state?.interval ?? 0);\n this.slide.set({ left: nextDirection === 'next' });\n this.transition.set(state?.transition ?? 'slide');\n }\n }\n\n setItems(): void {\n const contentItems = this.contentItems();\n if (this.#prevContentItems() !== contentItems) {\n this.#prevContentItems.set([...contentItems]);\n this.#carouselService.setItems(contentItems);\n }\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { CarouselComponent } from './carousel/carousel.component';\nimport { CarouselCaptionComponent } from './carousel-caption/carousel-caption.component';\nimport { CarouselControlComponent } from './carousel-control/carousel-control.component';\nimport { CarouselIndicatorsComponent } from './carousel-indicators/carousel-indicators.component';\nimport { CarouselInnerComponent } from './carousel-inner/carousel-inner.component';\nimport { CarouselItemComponent } from './carousel-item/carousel-item.component';\nimport { CarouselService } from './carousel.service';\nimport { CarouselConfig } from './carousel.config';\n\n@NgModule({\n imports: [\n CarouselComponent,\n CarouselCaptionComponent,\n CarouselControlComponent,\n CarouselIndicatorsComponent,\n CarouselInnerComponent,\n CarouselItemComponent\n ],\n providers: [CarouselService, CarouselConfig],\n exports: [\n CarouselComponent,\n CarouselCaptionComponent,\n CarouselControlComponent,\n CarouselIndicatorsComponent,\n CarouselInnerComponent,\n CarouselItemComponent\n ]\n})\nexport class CarouselModule {\n static forRoot(): ModuleWithProviders<CarouselModule> {\n return { ngModule: CarouselModule, providers: [] };\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cDropdownDivider]',\n host: { class: 'dropdown-divider' }\n})\nexport class DropdownDividerDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cDropdownHeader]',\n host: { class: 'dropdown-header' }\n})\nexport class DropdownHeaderDirective {}\n","import { Injectable, signal } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { DropdownAlignment } from '../coreui.types';\n\nexport interface IDropdownState {\n visible?: boolean | 'toggle';\n dropdown?: any;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DropdownService {\n readonly #dropdownState = new BehaviorSubject<any>({});\n readonly dropdownState$ = this.#dropdownState.asObservable();\n\n readonly alignment = signal<DropdownAlignment | undefined>(undefined);\n readonly popper = signal(true);\n\n toggle(state: IDropdownState): void {\n this.#dropdownState.next(state);\n }\n}\n","import { FocusKeyManager } from '@angular/cdk/a11y';\nimport {\n AfterContentInit,\n booleanAttribute,\n computed,\n contentChildren,\n DestroyRef,\n Directive,\n ElementRef,\n forwardRef,\n inject,\n input,\n linkedSignal,\n OnInit\n} from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { tap } from 'rxjs/operators';\n\nimport { ThemeDirective } from '../../shared/theme.directive';\nimport { DropdownItemDirective } from '../dropdown-item/dropdown-item.directive';\nimport { BreakpointInfix, DropdownAlignment } from '../../coreui.types';\nimport { DropdownService } from '../dropdown.service';\n\n@Directive({\n selector: '[cDropdownMenu]',\n exportAs: 'cDropdownMenu',\n hostDirectives: [{ directive: ThemeDirective, inputs: ['dark'] }],\n host: {\n class: 'dropdown-menu',\n '[class]': 'hostClasses()',\n '[style]': 'hostStyles()',\n '[attr.data-coreui-popper]': 'dataPopper()',\n '(keydown)': 'onKeyDown($event)',\n '(keyup)': 'onKeyUp($event)'\n }\n})\nexport class DropdownMenuDirective implements OnInit, AfterContentInit {\n readonly #destroyRef: DestroyRef = inject(DestroyRef);\n public readonly elementRef: ElementRef = inject(ElementRef);\n readonly #dropdownService: DropdownService = inject(DropdownService);\n #focusKeyManager!: FocusKeyManager<DropdownItemDirective>;\n\n /**\n * Set alignment of dropdown menu.\n * @returns DropdownAlignment\n */\n readonly alignment = input<DropdownAlignment>();\n\n /**\n * Toggle the visibility of dropdown menu component.\n * @returns boolean\n */\n readonly visibleInput = input(false, { transform: booleanAttribute, alias: 'visible' });\n\n readonly visible = linkedSignal({\n source: this.visibleInput,\n computation: (value) => value\n });\n\n readonly hostClasses = computed(() => {\n const visible = this.visible();\n\n return {\n 'dropdown-menu': true,\n ...alignmentClasses(this.alignment() ?? this.#dropdownService.alignment()),\n show: visible\n } as Record<string, boolean>;\n });\n\n readonly hostStyles = computed(() => {\n // workaround for popper position calculate (see also: dropdown.component)\n const visible = this.visible();\n return {\n visibility: visible ? null : '',\n display: visible ? null : ''\n } as Record<string, any>;\n });\n\n readonly dataPopper = computed(() => (this.#dropdownService.popper() ? null : 'static'));\n\n onKeyDown($event: KeyboardEvent): void {\n if (!this.visible()) {\n return;\n }\n if (['Space', 'ArrowDown'].includes($event.code)) {\n $event.preventDefault();\n }\n this.#focusKeyManager.onKeydown($event);\n }\n\n onKeyUp($event: KeyboardEvent): void {\n if (!this.visible()) {\n return;\n }\n if (['Tab'].includes($event.key)) {\n if (this.#focusKeyManager.activeItem) {\n $event.shiftKey ? this.#focusKeyManager.setPreviousItemActive() : this.#focusKeyManager.setNextItemActive();\n } else {\n this.#focusKeyManager.setFirstItemActive();\n }\n }\n }\n\n readonly dropdownItemsContent = contentChildren<DropdownItemDirective>(\n forwardRef(() => DropdownItemDirective),\n { descendants: true }\n );\n\n readonly items$ = toObservable(this.dropdownItemsContent);\n\n ngAfterContentInit(): void {\n this.focusKeyManagerInit();\n\n this.items$\n .pipe(\n tap((change) => {\n this.focusKeyManagerInit();\n }),\n takeUntilDestroyed(this.#destroyRef)\n )\n .subscribe();\n }\n\n ngOnInit(): void {\n this.#dropdownService.dropdownState$\n .pipe(\n tap((state) => {\n if ('visible' in state) {\n this.visible.update((visible) => (state.visible === 'toggle' ? !visible : state.visible));\n if (!this.visible()) {\n this.#focusKeyManager?.setActiveItem(-1);\n }\n }\n }),\n takeUntilDestroyed(this.#destroyRef)\n )\n .subscribe();\n }\n\n private focusKeyManagerInit(): void {\n this.#focusKeyManager = new FocusKeyManager(this.dropdownItemsContent())\n .withHomeAndEnd()\n .withPageUpDown()\n .withWrap()\n .skipPredicate((dropdownItem) => dropdownItem.disabled === true);\n }\n}\n\nconst alignmentClasses = (alignment?: DropdownAlignment): Record<string, boolean> => {\n if (!alignment) {\n return {};\n }\n if (typeof alignment === 'string') {\n return { [`dropdown-menu-${alignment}`]: true };\n }\n return Object.fromEntries(\n Object.entries(alignment).map(([breakpoint, direction]) => [\n `dropdown-menu${breakpoint === BreakpointInfix.xs ? '' : `-${breakpoint}`}-${direction}`,\n true\n ])\n );\n};\n","import {\n AfterViewInit,\n booleanAttribute,\n ChangeDetectorRef,\n Component,\n computed,\n contentChild,\n DestroyRef,\n Directive,\n DOCUMENT,\n effect,\n ElementRef,\n forwardRef,\n inject,\n input,\n linkedSignal,\n NgZone,\n OnDestroy,\n OnInit,\n output,\n Renderer2,\n signal,\n untracked\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { filter } from 'rxjs/operators';\n\nimport { createPopper, Instance, Options, Placement } from '@popperjs/core';\n\nimport { DropdownAlignment } from '../../coreui.types';\nimport { ThemeDirective } from '../../shared';\nimport { DropdownMenuDirective } from '../dropdown-menu/dropdown-menu.directive';\nimport { DropdownService } from '../dropdown.service';\n\n// lightweight injection token\nexport abstract class DropdownToken {}\n\n@Directive({\n selector: '[cDropdownToggle]',\n providers: [{ provide: DropdownToken, useExisting: forwardRef(() => DropdownComponent) }],\n exportAs: 'cDropdownToggle',\n host: {\n '[class]': 'hostClasses()',\n '[aria-expanded]': 'ariaExpanded',\n '(click)': 'onClick($event)'\n }\n})\nexport class DropdownToggleDirective implements AfterViewInit {\n readonly #destroyRef = inject(DestroyRef);\n public readonly elementRef = inject(ElementRef);\n #dropdownService = inject(DropdownService);\n public dropdown = inject(DropdownToken, { optional: true });\n\n /**\n * Reference to dropdown component.\n * @returns DropdownComponent\n * @default undefined\n */\n readonly dropdownComponent = input<DropdownComponent>();\n\n /**\n * Disables the toggler.\n * @returns boolean\n * @default false\n */\n readonly disabled = input<boolean, unknown>(false, { transform: booleanAttribute });\n\n /**\n * Enables pseudo-element caret on toggler.\n * @returns boolean\n * @default true\n */\n readonly caret = input(true);\n\n /**\n * Create split button dropdowns with virtually the same markup as single button dropdowns,\n * but with the addition of `.dropdown-toggle-split` class for proper spacing around the dropdown caret.\n * @returns boolean\n * @default false\n */\n readonly split = input<boolean, unknown>(false, { transform: booleanAttribute });\n\n readonly hostClasses = computed(() => {\n return {\n 'dropdown-toggle': this.caret(),\n 'dropdown-toggle-split': this.split(),\n disabled: this.disabled()\n } as Record<string, boolean>;\n });\n\n readonly #ariaExpanded = signal(false);\n\n get ariaExpanded() {\n return this.#ariaExpanded();\n }\n\n public onClick($event: MouseEvent): void {\n $event.preventDefault();\n !this.disabled() && this.#dropdownService.toggle({ visible: 'toggle', dropdown: this.dropdown });\n }\n\n ngAfterViewInit(): void {\n const dropdownComponent = this.dropdownComponent();\n if (dropdownComponent) {\n this.dropdown = dropdownComponent;\n this.#dropdownService = dropdownComponent?.dropdownService;\n }\n if (this.dropdown) {\n const dropdown = <DropdownComponent>this.dropdown;\n const subscription = dropdown?.visibleChange?.subscribe((visible) => {\n this.#ariaExpanded.set(visible);\n });\n if (subscription) {\n this.#destroyRef.onDestroy(() => {\n subscription.unsubscribe();\n });\n }\n }\n }\n}\n\n@Component({\n selector: 'c-dropdown',\n template: '<ng-content />',\n styleUrls: ['./dropdown.component.scss'],\n exportAs: 'cDropdown',\n providers: [DropdownService],\n hostDirectives: [{ directive: ThemeDirective, inputs: ['dark'] }],\n host: {\n '[class]': 'hostClasses()',\n '[style]': 'hostStyle()',\n '(click)': 'onHostClick($event)'\n }\n})\nexport class DropdownComponent implements OnDestroy, OnInit {\n readonly #destroyRef = inject(DestroyRef);\n readonly #document = inject(DOCUMENT);\n readonly #elementRef = inject(ElementRef);\n readonly #renderer = inject(Renderer2);\n readonly #ngZone = inject(NgZone);\n readonly #changeDetectorRef = inject(ChangeDetectorRef);\n readonly dropdownService = inject(DropdownService);\n\n constructor() {\n this.dropdownStateSubscribe();\n }\n\n /**\n * Set alignment of dropdown menu.\n * @returns DropdownAlignment\n */\n readonly alignment = input<DropdownAlignment>();\n\n /**\n * Configure the auto close behavior:\n * - `true` closes the dropdown on a click inside or outside the menu,\n * - `false` only on the toggle button or an explicit hide/toggle call and not on the `Esc` key,\n * - `inside` only on a click inside the menu,\n * - `outside` only on a click outside it.\n * @returns boolean | 'inside' | 'outside'\n * @default true\n */\n readonly autoClose = input<boolean | 'inside' | 'outside'>(true);\n\n /**\n * Sets a specified direction and location of the dropdown menu.\n * @returns 'center' | 'dropup' | 'dropup-center' | 'dropend' | 'dropstart'\n */\n readonly direction = input<'center' | 'dropup' | 'dropup-center' | 'dropend' | 'dropstart'>();\n\n /**\n * Describes the placement of your component after Popper.js has applied all the modifiers\n * that may have flipped or altered the originally provided placement property.\n * @returns Placement\n * @default 'bottom-start'\n */\n readonly placement = input<Placement>('bottom-start');\n\n /**\n * If you want to disable dynamic positioning set this property to `false`.\n * @returns boolean\n * @default true\n */\n readonly popper = input<boolean, unknown>(true, { transform: booleanAttribute });\n\n readonly #popperEnabled = computed(\n () => this.popper() && typeof (this._menu()?.alignment() ?? this.alignment()) !== 'object'\n );\n\n readonly #alignmentEffect = effect(() => {\n this.dropdownService.alignment.set(this.alignment());\n });\n\n readonly #popperEnabledEffect = effect(() => {\n this.dropdownService.popper.set(this.#popperEnabled());\n });\n\n /**\n * Optional Popper.js options object; the `placement` prop takes precedence over the\n * placement set here. See https://popper.js.org/docs/v2/constructors/#options\n * @returns Partial<Options>\n * @default {}\n */\n readonly popperOptionsInput = input<Partial<Options>>({}, { alias: 'popperOptions' });\n\n readonly #popperOptionsEffect = effect(() => {\n this.popperOptions = { ...untracked(this.#popperOptions), ...this.popperOptionsInput() };\n });\n\n set popperOptions(value: Partial<Options>) {\n this.#popperOptions.update((popperOptions) => ({ ...popperOptions, ...value }));\n }\n\n get popperOptions(): Partial<Options> {\n let placement = this.placement();\n switch (this.direction()) {\n case 'dropup': {\n placement = 'top-start';\n break;\n }\n case 'dropend': {\n placement = 'right-start';\n break;\n }\n case 'dropstart': {\n placement = 'left-start';\n break;\n }\n case 'center': {\n placement = 'bottom';\n break;\n }\n case 'dropup-center': {\n placement = 'top';\n break;\n }\n }\n if (this.alignment() === 'end') {\n placement = 'bottom-end';\n }\n this.#popperOptions.update((value) => ({ ...value, placement: placement }));\n return this.#popperOptions();\n }\n\n readonly #popperOptions = signal<Partial<Options>>({\n placement: this.placement(),\n modifiers: [],\n strategy: 'absolute'\n });\n\n /**\n * Set the dropdown variant to a btn-group, dropdown, input-group, and nav-item.\n */\n readonly variant = input<('btn-group' | 'dropdown' | 'input-group' | 'nav-item') | undefined>('dropdown');\n\n /**\n * Toggle the visibility of dropdown menu component.\n * @returns boolean\n * @default false\n */\n readonly visibleInput = input(false, { transform: booleanAttribute, alias: 'visible' });\n\n readonly visible = linkedSignal({\n source: this.visibleInput,\n computation: (value) => value\n });\n\n readonly #visibleEffect = effect(() => {\n const visible = this.visible();\n untracked(() => {\n this.activeTrap = visible;\n visible ? this.createPopperInstance() : this.destroyPopperInstance();\n this.setVisibleState(visible);\n this.visibleChange?.emit(visible);\n });\n });\n\n /**\n * Event emitted on `visible` change.\n * @returns boolean\n */\n readonly visibleChange = output<boolean>();\n\n dropdownContext = { $implicit: this.visible() };\n readonly _toggler = contentChild(DropdownToggleDirective);\n readonly _menu = contentChild(DropdownMenuDirective);\n readonly _menuElementRef = contentChild(DropdownMenuDirective, { read: ElementRef });\n\n public activeTrap = false;\n\n private popperInstance!: Instance | undefined;\n private listeners: (() => void)[] = [];\n\n readonly hostClasses = computed(() => {\n const direction = this.direction();\n const variant = this.variant();\n return {\n dropdown: (variant === 'dropdown' || variant === 'nav-item') && !direction,\n [`${direction}`]: !!direction,\n [`${variant}`]: !!variant,\n dropup: direction === 'dropup' || direction === 'dropup-center',\n show: this.visible()\n } as Record<string, boolean>;\n });\n\n // todo: find better solution\n readonly hostStyle = computed(() => {\n return this.variant() === 'input-group' ? { display: 'contents' } : {};\n });\n\n private clickedTarget!: HTMLElement;\n\n onHostClick($event: MouseEvent): void {\n this.clickedTarget = $event.target as HTMLElement;\n }\n\n dropdownStateSubscribe(): void {\n this.dropdownService.dropdownState$\n .pipe(\n filter((state) => {\n return this === state.dropdown;\n }),\n takeUntilDestroyed(this.#destroyRef)\n )\n .subscribe((state) => {\n if ('visible' in state) {\n state?.visible === 'toggle' ? this.toggleDropdown() : this.visible.set(state.visible);\n }\n });\n }\n\n toggleDropdown(): void {\n this.visible.update((visible) => !visible);\n }\n\n onClick(event: any): void {\n if (!this._toggler()?.elementRef.nativeElement.contains(event.target?.closest('[cDropdownToggle]'))) {\n this.toggleDropdown();\n }\n }\n\n readonly #togglerEffect = effect(() => {\n const variant = this.variant();\n const _toggler = this._toggler();\n if (variant === 'nav-item' && _toggler) {\n this.#renderer.addClass(_toggler.elementRef.nativeElement, 'nav-link');\n }\n });\n\n ngOnInit(): void {\n this.setVisibleState(this.visible());\n }\n\n ngOnDestroy(): void {\n this.clearListeners();\n this.destroyPopperInstance();\n }\n\n setVisibleState(value: boolean): void {\n this.dropdownService.toggle({ visible: value, dropdown: this });\n }\n\n // todo: turn off popper in navbar-nav\n createPopperInstance(): void {\n const _toggler = this._toggler();\n const _menu = this._menu();\n if (_toggler && _menu) {\n this.#ngZone.runOutsideAngular(() => {\n // workaround for popper position calculate (see also: dropdown-menu.component)\n _menu.elementRef.nativeElement.style.visibility = 'hidden';\n _menu.elementRef.nativeElement.style.display = 'block';\n if (this.#popperEnabled()) {\n this.popperInstance = createPopper(_toggler.elementRef.nativeElement, _menu.elementRef.nativeElement, {\n ...this.popperOptions\n });\n }\n this.#ngZone.run(() => {\n this.setListeners();\n this.#changeDetectorRef.markForCheck();\n this.#changeDetectorRef.detectChanges();\n });\n });\n }\n }\n\n destroyPopperInstance(): void {\n this.clearListeners();\n this.popperInstance?.destroy();\n this.popperInstance = undefined;\n this.#changeDetectorRef.markForCheck();\n }\n\n private setListeners(): void {\n this.listeners.push(\n this.#renderer.listen(this.#document, 'click', (event) => {\n const target = event.target as HTMLElement;\n if (this._menuElementRef()?.nativeElement.contains(event.target)) {\n this.clickedTarget = target;\n }\n if (this._toggler()?.elementRef.nativeElement.contains(event.target)) {\n return;\n }\n const autoClose = this.autoClose();\n if (autoClose === true) {\n this.setVisibleState(false);\n return;\n }\n if (this.clickedTarget === target && autoClose === 'inside') {\n this.setVisibleState(false);\n return;\n }\n if (this.clickedTarget !== target && autoClose === 'outside') {\n this.setVisibleState(false);\n return;\n }\n })\n );\n this.listeners.push(\n this.#renderer.listen(this.#elementRef.nativeElement, 'keyup', (event) => {\n if (event.key === 'Escape' && this.autoClose() !== false) {\n event.stopPropagation();\n this.setVisibleState(false);\n return;\n }\n })\n );\n this.listeners.push(\n this.#renderer.listen(this.#document, 'keyup', (event) => {\n if (\n event.key === 'Tab' &&\n this.autoClose() !== false &&\n !this.#elementRef.nativeElement.contains(event.target)\n ) {\n this.setVisibleState(false);\n return;\n }\n })\n );\n }\n\n private clearListeners(): void {\n this.listeners.forEach((unListen) => {\n unListen();\n });\n // @ts-ignore\n this.listeners.fill(undefined);\n this.listeners = [];\n }\n}\n","import { FocusableOption, FocusOrigin } from '@angular/cdk/a11y';\nimport { booleanAttribute, computed, Directive, ElementRef, inject, input, linkedSignal } from '@angular/core';\nimport { DropdownService } from '../dropdown.service';\nimport { DropdownComponent } from '../dropdown/dropdown.component';\n\n@Directive({\n selector: '[cDropdownItem]',\n exportAs: 'cDropdownItem',\n host: {\n class: 'dropdown-item',\n '[class]': 'hostClasses()',\n '[attr.tabindex]': 'tabIndex()',\n '[aria-current]': 'ariaCurrent()',\n '[aria-disabled]': 'disabled || null',\n '[attr.role]': 'role()',\n '(click)': 'onClick($event)',\n '(keyup)': 'onKeyUp($event)'\n }\n})\nexport class DropdownItemDirective implements FocusableOption {\n readonly #elementRef: ElementRef = inject(ElementRef);\n readonly #dropdownService = inject(DropdownService);\n dropdown? = inject(DropdownComponent, { optional: true });\n\n /**\n * Set active state to a dropdown-item.\n * @returns boolean\n * @default undefined\n */\n readonly active = input<boolean>();\n\n /**\n * Configure dropdown-item close dropdown behavior.\n * @returns boolean\n * @default true\n */\n readonly autoClose = input<boolean>(true);\n\n /**\n * Disables a dropdown-item.\n * @returns boolean\n * @default false\n */\n readonly disabledInput = input(false, { transform: booleanAttribute, alias: 'disabled' });\n\n readonly #disabled = linkedSignal(this.disabledInput);\n\n set disabled(value) {\n this.#disabled.set(value);\n }\n\n get disabled() {\n return this.#disabled();\n }\n\n /**\n * Default role for dropdown-item.\n * @returns string\n * @default 'list-item'\n */\n readonly role = input<string>('list-item');\n\n /**\n * Tab index of the dropdown-item.\n * @returns string | number | null\n * @default '0'\n */\n readonly tabIndexInput = input<string | number | null>('0', { alias: 'tabIndex' });\n\n readonly tabIndex = linkedSignal({\n source: this.tabIndexInput,\n computation: (value) => (this.disabled ? '-1' : value)\n });\n\n focus(origin?: FocusOrigin | undefined): void {\n this.#elementRef?.nativeElement?.focus();\n }\n\n getLabel?(): string {\n return this.#elementRef?.nativeElement?.textContent.trim();\n }\n\n readonly ariaCurrent = computed(() => {\n return this.active() ? 'true' : null;\n });\n\n readonly hostClasses = computed(() => {\n return {\n 'dropdown-item': true,\n active: this.active(),\n disabled: this.disabled\n } as Record<string, boolean>;\n });\n\n onClick($event: MouseEvent): void {\n this.handleInteraction();\n }\n\n onKeyUp($event: KeyboardEvent): void {\n if ($event.key === 'Enter') {\n this.handleInteraction();\n }\n }\n\n private handleInteraction(): void {\n if (this.autoClose()) {\n this.#dropdownService.toggle({ visible: 'toggle', dropdown: this.dropdown });\n }\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cDropdownItemPlain]',\n host: { class: 'dropdown-item-text' }\n})\nexport class DropdownItemPlainDirective {}\n","import { AfterViewInit, booleanAttribute, Directive, inject, input, linkedSignal } from '@angular/core';\nimport { DropdownService } from '../dropdown.service';\nimport { DropdownComponent } from '../dropdown/dropdown.component';\n\n@Directive({\n selector: '[cDropdownClose]',\n exportAs: 'cDropdownClose',\n host: {\n '[class.disabled]': 'disabled()',\n '[aria-disabled]': 'disabled() || null',\n '[attr.tabindex]': 'tabIndex()',\n '(click)': 'onClick($event)',\n '(keyup)': 'onKeyUp($event)'\n }\n})\nexport class DropdownCloseDirective implements AfterViewInit {\n #dropdownService = inject(DropdownService);\n dropdown? = inject(DropdownComponent, { optional: true });\n\n /**\n * Disables a dropdown-close directive.\n * @returns boolean\n * @default false\n */\n readonly disabledInput = input(false, { transform: booleanAttribute, alias: 'disabled' });\n\n readonly disabled = linkedSignal({\n source: this.disabledInput,\n computation: (value) => value || null\n });\n\n /**\n * The dropdown component instance this cDropdownClose belongs to.\n * @returns DropdownComponent\n */\n readonly dropdownComponent = input<DropdownComponent>();\n\n ngAfterViewInit(): void {\n const dropdownComponent = this.dropdownComponent();\n if (dropdownComponent) {\n this.dropdown = dropdownComponent;\n this.#dropdownService = dropdownComponent?.dropdownService;\n }\n }\n\n /**\n * Tab index of the dropdown-close element.\n * @returns string | number | null\n * @default null\n */\n readonly tabIndexInput = input<string | number | null>(null, { alias: 'tabIndex' });\n\n readonly tabIndex = linkedSignal({\n source: this.tabIndexInput,\n computation: (value) => (this.disabled() ? '-1' : value)\n });\n\n onClick($event: MouseEvent): void {\n this.handleToggle();\n }\n\n onKeyUp($event: KeyboardEvent): void {\n if ($event.key === 'Enter') {\n this.handleToggle();\n }\n }\n\n private handleToggle(): void {\n if (!this.disabled()) {\n this.#dropdownService.toggle({ visible: false, dropdown: this.dropdown });\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { DropdownComponent, DropdownToggleDirective } from './dropdown/dropdown.component';\nimport { DropdownDividerDirective } from './dropdown-divider/dropdown-divider.directive';\nimport { DropdownHeaderDirective } from './dropdown-header/dropdown-header.directive';\nimport { DropdownItemDirective } from './dropdown-item/dropdown-item.directive';\nimport { DropdownItemPlainDirective } from './dropdown-item/dropdown-item-plain.directive';\nimport { DropdownMenuDirective } from './dropdown-menu/dropdown-menu.directive';\nimport { DropdownService } from './dropdown.service';\nimport { DropdownCloseDirective } from './dropdown-close/dropdown-close.directive';\n\n@NgModule({\n imports: [\n DropdownComponent,\n DropdownCloseDirective,\n DropdownDividerDirective,\n DropdownHeaderDirective,\n DropdownItemDirective,\n DropdownItemPlainDirective,\n DropdownMenuDirective,\n DropdownToggleDirective\n ],\n exports: [\n DropdownComponent,\n DropdownCloseDirective,\n DropdownDividerDirective,\n DropdownHeaderDirective,\n DropdownItemDirective,\n DropdownItemPlainDirective,\n DropdownMenuDirective,\n DropdownToggleDirective\n ],\n providers: [DropdownService]\n})\nexport class DropdownModule {}\n","import { Component, computed, input, InputSignal } from '@angular/core';\n\nimport { Positions } from '../coreui.types';\n\n@Component({\n selector: 'c-footer, [cFooter]',\n template: '<ng-content />',\n host: {\n class: 'footer',\n '[class]': 'hostClasses()',\n '[attr.role]': 'role()'\n }\n})\nexport class FooterComponent {\n /**\n * Place footer in non-static positions\n * @returns Positions | undefined\n */\n readonly position = input<Positions | undefined>();\n\n /**\n * Default role for footer\n * @returns string\n * @default 'contentinfo'\n */\n readonly role = input<string>('contentinfo');\n\n readonly hostClasses = computed(() => {\n const position = this.position();\n return {\n footer: true,\n [`footer-${position}`]: !!position\n } as Record<string, boolean>;\n });\n}\n","import { NgModule } from '@angular/core';\n\nimport { FooterComponent } from './footer.component';\n\n@NgModule({\n imports: [FooterComponent],\n exports: [FooterComponent]\n})\nexport class FooterModule {}\n","import { booleanAttribute, Directive, input } from '@angular/core';\n\n@Directive({\n selector: 'form[cForm]',\n host: { '[class.was-validated]': 'validated()' }\n})\nexport class FormDirective {\n /**\n * Mark a form as validated. If you set it `true`, all validation styles will be applied to the form\n * @returns boolean\n * @default false\n */\n readonly validated = input(false, { transform: booleanAttribute });\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: 'label[cFormCheckLabel]',\n host: { class: 'form-check-label' }\n})\nexport class FormCheckLabelDirective {}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, Component, computed, contentChild, input } from '@angular/core';\nimport { FormCheckLabelDirective } from './form-check-label.directive';\n\n@Component({\n selector: 'c-form-check',\n template: '<ng-content />',\n exportAs: 'cFormCheck',\n host: { '[class]': 'hostClasses()' }\n})\nexport class FormCheckComponent {\n static ngAcceptInputType_inline: BooleanInput;\n static ngAcceptInputType_reverse: BooleanInput;\n static ngAcceptInputType_switch: BooleanInput;\n\n /**\n * Group checkboxes or radios on the same horizontal row.\n * @default false\n */\n readonly inline = input(false, { transform: booleanAttribute });\n\n /**\n * Put checkboxes or radios on the opposite side.\n * @default false\n * @since 4.4.7\n */\n readonly reverse = input(false, { transform: booleanAttribute });\n\n /**\n * Size the component large or extra large. Works only with `[switch]=\"true\"`\n * @default undefined\n */\n readonly sizing = input<'' | 'lg' | 'xl'>();\n\n /**\n * Render a toggle switch on for checkbox.\n * @returns boolean\n * @default false\n */\n readonly switch = input(false, { transform: booleanAttribute });\n\n readonly formCheckLabel = contentChild(FormCheckLabelDirective);\n\n readonly hostClasses = computed(() => {\n const sizing = this.sizing();\n const isSwitch = this.switch();\n\n return {\n 'form-check': !!this.formCheckLabel(),\n 'form-switch': isSwitch,\n [`form-switch-${sizing}`]: isSwitch && !!sizing,\n 'form-check-inline': this.inline(),\n 'form-check-reverse': this.reverse()\n } as Record<string, boolean>;\n });\n}\n","import { booleanAttribute, computed, Directive, ElementRef, inject, input, OnInit } from '@angular/core';\n\nimport { InputType } from '../../coreui.types';\n\n@Directive({\n selector: 'input[cFormControl], textarea[cFormControl]',\n host: {\n '[class]': 'hostClasses()',\n '[attr.type]': 'type()'\n }\n})\nexport class FormControlDirective implements OnInit {\n readonly #hostElement = inject(ElementRef);\n\n /**\n * Size the component small or large.\n * @default undefined\n */\n readonly sizing = input<'' | 'sm' | 'lg'>();\n\n /**\n * Set component validation state to valid.\n * @default undefined\n */\n readonly valid = input<boolean>();\n\n /**\n * Specifies the type of input element.\n */\n readonly type = input<Omit<InputType, 'checkbox' | 'radio'>>('text');\n\n /**\n * Render the component styled as plain text. Removes the default form field styling and preserve the correct margin and padding. Recommend to use alongside `readonly`\n * @default false\n */\n readonly plaintext = input(false, { transform: booleanAttribute });\n\n readonly hostClasses = computed(() => {\n const type = this.type();\n const isRange = type === 'range';\n const plaintext = this.plaintext();\n const sizing = this.sizing();\n const valid = this.valid();\n\n return {\n 'form-control': !isRange && !plaintext,\n 'form-control-plaintext': !isRange && plaintext,\n 'form-control-color': type === 'color',\n 'form-range': isRange,\n [`form-control-${sizing}`]: !!sizing && !isRange,\n 'is-valid': valid === true,\n 'is-invalid': valid === false\n } as Record<string, boolean>;\n });\n\n get hostTag(): string {\n return this.#hostElement.nativeElement.tagName;\n }\n\n ngOnInit(): void {\n const hostTag = this.hostTag.toLowerCase();\n if (hostTag !== 'input' && hostTag !== 'textarea') {\n console.warn(`CoreUI [cFormControl] works with '<input>' and '<textarea>' - not with '<${hostTag}>'`);\n }\n }\n}\n","import {\n booleanAttribute,\n computed,\n Directive,\n effect,\n ElementRef,\n inject,\n input,\n linkedSignal,\n Renderer2\n} from '@angular/core';\nimport { BooleanInput } from '@angular/cdk/coercion';\n\n@Directive({\n selector: 'input[cFormCheckInput]',\n host: {\n class: 'form-check-input',\n '[class]': 'hostClasses()',\n '[attr.type]': 'type()'\n }\n})\nexport class FormCheckInputDirective {\n static ngAcceptInputType_indeterminate: BooleanInput;\n\n readonly #renderer = inject(Renderer2);\n readonly #hostElement = inject(ElementRef);\n\n /**\n * Specifies the type of component.\n * @default 'checkbox'\n */\n readonly type = input<'checkbox' | 'radio'>('checkbox');\n\n /**\n * Set component indeterminate state.\n * @default false\n */\n readonly indeterminateInput = input(false, { transform: booleanAttribute, alias: 'indeterminate' });\n\n readonly #indeterminate = linkedSignal(this.indeterminateInput);\n\n readonly #indeterminateEffect = effect(() => {\n if (this.type() === 'checkbox') {\n const indeterminate = this.#indeterminate();\n const htmlInputElement = this.#hostElement.nativeElement as HTMLInputElement;\n if (indeterminate) {\n this.#renderer.setProperty(htmlInputElement, 'checked', false);\n }\n this.#renderer.setProperty(htmlInputElement, 'indeterminate', indeterminate);\n }\n });\n\n get indeterminate() {\n return this.#indeterminate();\n }\n\n /**\n * Set component validation state to valid.\n * @default undefined\n */\n readonly valid = input<boolean>();\n\n readonly hostClasses = computed(() => {\n const valid = this.valid();\n return {\n 'form-check-input': true,\n 'is-valid': valid === true,\n 'is-invalid': valid === false\n } as Record<string, boolean>;\n });\n\n get checked(): boolean {\n return this.#hostElement?.nativeElement?.checked;\n }\n}\n","import { booleanAttribute, Component, computed, input } from '@angular/core';\n\n@Component({\n selector: 'c-form-feedback',\n template: '<ng-content />',\n host: { '[class]': 'hostClasses()' }\n})\nexport class FormFeedbackComponent {\n /**\n * If your form layout allows it, you can display validation feedback in a styled tooltip.\n * @default false\n */\n readonly tooltip = input(false, { transform: booleanAttribute });\n\n /**\n * Set component validation state to valid.\n * @default undefined\n */\n readonly valid = input<boolean>();\n\n readonly hostClasses = computed(() => {\n const status = this.valid() === true ? 'valid' : 'invalid';\n const type = this.tooltip() ? 'tooltip' : 'feedback';\n return {\n [`${status}-${type}`]: true\n // 'valid-feedback': valid === true && !tooltip,\n // 'valid-tooltip': valid === true && tooltip,\n // 'invalid-feedback': valid !== true && !tooltip,\n // 'invalid-tooltip': valid !== true && tooltip\n } as Record<string, boolean>;\n });\n}\n","import { booleanAttribute, Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[cFormFloating]',\n host: { '[class.form-floating]': 'floating()' }\n})\nexport class FormFloatingDirective {\n /**\n * Enable floating labels\n * @returns boolean\n * @default true\n */\n readonly floating = input(true, { transform: booleanAttribute, alias: 'cFormFloating' });\n}\n","import { computed, Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[cLabel]',\n host: { class: 'form-label', '[class]': 'hostClasses()' }\n})\nexport class FormLabelDirective {\n /**\n * For horizontal forms set labels to 'col' and make them vertically centered with their associated form controls.\n * @default ''\n */\n readonly col = input<'col' | ''>('', { alias: 'cLabel' });\n /**\n * Size the label small or large.\n * @returns '' | 'sm' | 'lg'\n * @default undefined\n */\n readonly sizing = input<'' | 'sm' | 'lg'>();\n\n readonly hostClasses = computed(() => {\n const col = this.col();\n const sizing = this.sizing();\n return {\n 'form-label': true,\n 'col-form-label': col === 'col',\n [`col-form-label-${sizing}`]: !!sizing && col === 'col'\n } as Record<string, boolean>;\n });\n}\n","import { computed, Directive, input } from '@angular/core';\n\n@Directive({\n selector: 'select[cSelect]',\n host: { class: 'form-select', '[class]': 'hostClasses()' }\n})\nexport class FormSelectDirective {\n /**\n * Size the component small or large.\n * @default undefined\n */\n readonly sizing = input<'' | 'sm' | 'lg'>();\n\n /**\n * Set component validation state to valid.\n * @default undefined\n */\n readonly valid = input<boolean>();\n\n readonly hostClasses = computed(() => {\n const sizing = this.sizing();\n const valid = this.valid();\n return {\n 'form-select': true,\n [`form-select-${sizing}`]: !!sizing,\n 'is-valid': valid === true,\n 'is-invalid': valid === false\n } as Record<string, boolean>;\n });\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cFormText]',\n host: { class: 'form-text' }\n})\nexport class FormTextDirective {}\n","import { Component, computed, input } from '@angular/core';\n\n@Component({\n selector: 'c-input-group',\n template: '<ng-content />',\n host: { class: 'input-group', '[class]': 'hostClasses()' }\n})\nexport class InputGroupComponent {\n /**\n * Size the component small or large.\n */\n readonly sizing = input<'' | 'sm' | 'lg'>();\n\n readonly hostClasses = computed(() => {\n const sizing = this.sizing();\n return {\n 'input-group': true,\n [`input-group-${sizing}`]: !!sizing\n } as Record<string, boolean>;\n });\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cInputGroupText]',\n host: { class: 'input-group-text' }\n})\nexport class InputGroupTextDirective {}\n","import { NgModule } from '@angular/core';\nimport { FormDirective } from './form/form.directive';\nimport { FormControlDirective } from './form-control/form-control.directive';\nimport { FormCheckComponent } from './form-check/form-check.component';\nimport { FormCheckLabelDirective } from './form-check/form-check-label.directive';\nimport { FormCheckInputDirective } from './form-check/form-check-input.directive';\nimport { FormFeedbackComponent } from './form-feedback/form-feedback.component';\nimport { FormFloatingDirective } from './form-floating/form-floating.directive';\nimport { FormLabelDirective } from './form-label/form-label.directive';\nimport { FormSelectDirective } from './form-select/form-select.directive';\nimport { FormTextDirective } from './form-text/form-text.directive';\nimport { InputGroupComponent } from './input-group/input-group.component';\nimport { InputGroupTextDirective } from './input-group-text/input-group-text.directive';\n\n@NgModule({\n imports: [\n FormDirective,\n FormCheckComponent,\n FormCheckLabelDirective,\n FormCheckInputDirective,\n FormControlDirective,\n FormFeedbackComponent,\n FormFloatingDirective,\n FormLabelDirective,\n FormSelectDirective,\n FormTextDirective,\n InputGroupComponent,\n InputGroupTextDirective\n ],\n exports: [\n FormDirective,\n FormCheckComponent,\n FormCheckLabelDirective,\n FormCheckInputDirective,\n FormControlDirective,\n FormFeedbackComponent,\n FormFloatingDirective,\n FormLabelDirective,\n FormSelectDirective,\n FormTextDirective,\n InputGroupComponent,\n InputGroupTextDirective\n ]\n})\nexport class FormModule {}\n","import { booleanAttribute, Component, computed, input } from '@angular/core';\nimport { Breakpoints } from '../coreui.types';\n\n@Component({\n selector: 'c-container, [cContainer]',\n template: '<ng-content />',\n styleUrls: ['./container.component.scss'],\n host: { '[class]': 'hostClasses()' }\n})\nexport class ContainerComponent {\n /**\n * Set container 100% wide until a breakpoint.\n * @returns Exclude<Breakpoints, 'xs'>\n * @values 'sm' | 'md' | 'lg' | 'xl' | 'xxl'\n * @default ''\n */\n readonly breakpoint = input<Exclude<Breakpoints, 'xs'>>('');\n\n /**\n * Set container 100% wide, spanning the entire width of the viewport.\n * @returns boolean\n * @default false\n */\n readonly fluid = input(false, { transform: booleanAttribute });\n\n readonly hostClasses = computed(() => {\n const breakpoint = this.breakpoint();\n const fluid = this.fluid();\n return {\n container: !fluid && !breakpoint,\n 'container-fluid': !!fluid,\n [`container-${breakpoint}`]: !!breakpoint\n } as Record<string, boolean>;\n });\n}\n","import { booleanAttribute, computed, Directive, input, numberAttribute } from '@angular/core';\nimport { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport { BreakpointInfix } from '../coreui.types';\nimport { ColOrder } from './col.type';\n\nexport type ColOffsetType = number | { xs?: number; sm?: number; md?: number; lg?: number; xl?: number; xxl?: number };\nexport type ColOrderType =\n | ColOrder\n | { xs?: ColOrder; sm?: ColOrder; md?: ColOrder; lg?: ColOrder; xl?: ColOrder; xxl?: ColOrder };\n\n@Directive({\n selector: '[cCol]',\n host: {\n '[class]': 'hostClasses()'\n }\n})\nexport class ColDirective {\n static ngAcceptInputType_cCol: BooleanInput | NumberInput;\n static ngAcceptInputType_xs: BooleanInput | NumberInput;\n static ngAcceptInputType_sm: BooleanInput | NumberInput;\n static ngAcceptInputType_md: BooleanInput | NumberInput;\n static ngAcceptInputType_lg: BooleanInput | NumberInput;\n static ngAcceptInputType_xl: BooleanInput | NumberInput;\n static ngAcceptInputType_xxl: BooleanInput | NumberInput;\n\n /**\n * The number of columns/offset/order on extra small devices (<576px).\n * @returns 'auto' | number | boolean\n * @default false\n */\n readonly cCol = input(false, { transform: this.coerceInput });\n\n /**\n * The number of columns on extra small devices (<576px).\n * @returns { 'auto' | number | boolean }\n * @default false\n */\n readonly xs = input(false, { transform: this.coerceInput });\n\n /**\n * The number of columns/offset/order on small devices (<768px).\n * @returns 'auto' | number | boolean\n * @default false\n */\n readonly sm = input(false, { transform: this.coerceInput });\n\n /**\n * The number of columns/offset/order on medium devices (<992px).\n * @returns 'auto' | number | boolean\n * @default false\n */\n readonly md = input(false, { transform: this.coerceInput });\n\n /**\n * The number of columns/offset/order on large devices (<1200px).\n * @returns 'auto' | number | boolean\n * @default false\n */\n readonly lg = input(false, { transform: this.coerceInput });\n\n /**\n * The number of columns/offset/order on X-Large devices (<1400px).\n * @returns 'auto' | number | boolean\n * @default false\n */\n readonly xl = input(false, { transform: this.coerceInput });\n\n /**\n * The number of columns/offset/order on XX-Large devices (≥1400px).\n * @returns 'auto' | number | boolean\n * @default false\n */\n readonly xxl = input(false, { transform: this.coerceInput });\n\n readonly breakpoints = computed(() => {\n return {\n xs: this.xs() || this.cCol(),\n sm: this.sm(),\n md: this.md(),\n lg: this.lg(),\n xl: this.xl(),\n xxl: this.xxl()\n } as Record<string, any>;\n });\n\n /**\n * Offset grid columns.\n * @returns ColOffsetType\n */\n readonly offset = input<ColOffsetType>();\n\n /**\n * Controls the visual order of your columns. Includes support for `1` through `5` across all breakpoints.\n * @returns ColOrderType\n */\n readonly order = input<ColOrderType>();\n\n readonly hostClasses = computed(() => {\n const classes: Record<string, boolean> = {\n col: true\n };\n\n const breakpoints = this.breakpoints();\n const offsetInput = this.offset();\n const orderInput = this.order();\n\n Object.keys(BreakpointInfix).forEach((breakpoint) => {\n const value = breakpoints[breakpoint];\n const infix = breakpoint === 'xs' ? '' : `-${breakpoint}`;\n classes[`col${infix}`] = value === true;\n classes[`col${infix}-${value}`] = typeof value === 'number' || typeof value === 'string';\n });\n\n if (typeof offsetInput === 'object') {\n const offset = { ...offsetInput };\n Object.entries(offset).forEach((entry) => {\n const [breakpoint, value] = [...entry];\n const infix = breakpoint === 'xs' ? '' : `-${breakpoint}`;\n classes[`offset${infix}-${value}`] = value >= 0 && value <= 11;\n });\n } else {\n const offset = numberAttribute(offsetInput);\n classes[`offset-${offset}`] = typeof offset === 'number' && offset > 0 && offset <= 11;\n }\n\n if (typeof orderInput === 'object') {\n const order = { ...orderInput };\n Object.entries(order).forEach((entry) => {\n const [breakpoint, value] = [...entry];\n const infix = breakpoint === 'xs' ? '' : `-${breakpoint}`;\n classes[`order${infix}-${value}`] = !!value;\n });\n } else {\n const order = orderInput;\n classes[`order-${order}`] = !!order;\n }\n\n // if there is no 'col' class, add one\n classes['col'] =\n !Object.entries(classes).filter((i) => i[0].startsWith('col-') && i[1]).length || breakpoints['xs'] === true;\n return classes as Record<string, boolean>;\n });\n\n coerceInput(value: BooleanInput | NumberInput) {\n if (value === 'auto') {\n return value;\n }\n if (value === '' || value === undefined || value === null) {\n return booleanAttribute(value);\n }\n if (typeof value === 'boolean') {\n return value;\n }\n return numberAttribute(value);\n }\n}\n","import { Component } from '@angular/core';\n\nimport { ColDirective } from './col.directive';\n\n@Component({\n selector: 'c-col',\n template: '<ng-content />',\n styleUrls: ['./col.component.scss']\n})\nexport class ColComponent extends ColDirective {}\n","import { computed, Directive, input } from '@angular/core';\n\nimport { BreakpointInfix } from '../coreui.types';\nimport { NumberOfColumns } from './row.type';\n\n@Directive({\n selector: '[cRow]',\n host: {\n class: 'row',\n '[class]': 'hostClasses()'\n }\n})\nexport class RowDirective {\n /**\n * The number of columns/offset/order on extra small devices (<576px).\n * @returns NumberOfColumns\n */\n readonly xs = input<NumberOfColumns>();\n\n /**\n * The number of columns/offset/order on small devices (<768px).\n * @returns NumberOfColumns\n */\n readonly sm = input<NumberOfColumns>();\n\n /**\n * The number of columns/offset/order on medium devices (<992px).\n * @returns NumberOfColumns\n */\n readonly md = input<NumberOfColumns>();\n\n /**\n * The number of columns/offset/order on large devices (<1200px).\n * @returns NumberOfColumns\n */\n readonly lg = input<NumberOfColumns>();\n\n /**\n * The number of columns/offset/order on X-Large devices (<1400px).\n * @returns NumberOfColumns\n */\n readonly xl = input<NumberOfColumns>();\n\n /**\n * The number of columns/offset/order on XX-Large devices (≥1400px).\n * @returns NumberOfColumns\n */\n readonly xxl = input<NumberOfColumns>();\n\n readonly hostClasses = computed(() => {\n const cols = this.xs();\n\n const classes: Record<string, boolean> = {\n row: true,\n [`row-cols-${cols}`]: !!cols\n };\n\n Object.keys(BreakpointInfix).forEach((breakpoint) => {\n // @ts-ignore\n const value: any = this[breakpoint]();\n if (typeof value === 'number' || typeof value === 'string') {\n const infix: string = breakpoint === 'xs' ? '' : `-${breakpoint}`;\n classes[`row-cols${infix}-${value}`] = !!value;\n }\n });\n\n return classes;\n });\n}\n","import { Component } from '@angular/core';\n\nimport { RowDirective } from './row.directive';\n\n@Component({\n selector: 'c-row',\n template: '<ng-content />'\n})\nexport class RowComponent extends RowDirective {}\n","import { computed, Directive, input } from '@angular/core';\n\nimport { BreakpointInfix } from '../coreui.types';\nimport { GutterBreakpoints, Gutters, IGutter, IGutterObject } from './gutter.type';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[gutter]',\n exportAs: 'gutter',\n host: {\n '[class]': 'hostClasses()'\n }\n})\nexport class GutterDirective implements IGutter {\n /**\n * Define padding between columns to space and align content responsively in the Bootstrap grid system.\n */\n readonly gutter = input<IGutterObject | GutterBreakpoints | Gutters>({});\n\n readonly hostClasses = computed(() => {\n let gutterClass: Record<string, boolean>;\n const gutterInput = this.gutter();\n\n if (typeof gutterInput === 'number') {\n gutterClass = GutterDirective.getGutterClasses({ g: gutterInput });\n return gutterClass;\n }\n\n {\n const { g, gx, gy } = { ...(gutterInput as IGutterObject) };\n gutterClass = GutterDirective.getGutterClasses({ g, gx, gy });\n }\n\n Object.keys(BreakpointInfix).forEach((key) => {\n // @ts-ignore\n const gutter: IGutterObject = gutterInput[key] ? { ...gutterInput[key] } : undefined;\n if (gutter) {\n const classes = GutterDirective.getGutterClasses(gutter, key);\n gutterClass = { ...gutterClass, ...classes };\n }\n });\n return gutterClass;\n });\n\n private static getGutterClasses(gutter: IGutterObject, breakpoint?: string): any {\n const { g, gx, gy } = { ...gutter };\n const infix = breakpoint ? `-${breakpoint}` : '';\n return {\n [`g${infix}-${g}`]: typeof g === 'number',\n [`gx${infix}-${gx}`]: typeof gx === 'number',\n [`gy${infix}-${gy}`]: typeof gy === 'number'\n };\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { ContainerComponent } from './container.component';\nimport { RowComponent } from './row.component';\nimport { ColComponent } from './col.component';\nimport { RowDirective } from './row.directive';\nimport { ColDirective } from './col.directive';\nimport { GutterDirective } from './gutter.directive';\n\n@NgModule({\n imports: [\n ColComponent,\n ColDirective,\n ContainerComponent,\n GutterDirective,\n RowComponent,\n RowDirective\n ],\n exports: [\n ColComponent,\n ColDirective,\n ContainerComponent,\n GutterDirective,\n RowComponent,\n RowDirective\n ]\n})\nexport class GridModule {}\n","import { Component, computed, input, InputSignal } from '@angular/core';\n\nimport { Positions } from '../../coreui.types';\n\ntype Container = boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'fluid';\n\n@Component({\n selector: 'c-header, [c-header]',\n templateUrl: './header.component.html',\n exportAs: 'cHeader',\n host: { '[attr.role]': 'role()', '[class]': 'hostClasses()' }\n})\nexport class HeaderComponent {\n /**\n * Defines optional container wrapping children elements\n * @returns Container\n */\n readonly container = input<Container>();\n /**\n * Place header in non-static positions\n * @returns Positions\n */\n readonly position = input<Positions>();\n /**\n * Default role for header\n * @returns string\n * @default 'banner'\n */\n readonly role = input('banner');\n\n readonly hostClasses = computed(() => {\n return !!this.container() ? this.containerClasses() : this.headerClasses();\n });\n\n readonly headerClasses = computed(() => {\n const position = this.position();\n return {\n header: true,\n [`header-${position}`]: !!position\n } as Record<string, boolean>;\n });\n\n readonly containerClasses = computed(() => {\n const container = this.container();\n return {\n container: container === true,\n [`container-${container}`]: typeof container === 'string'\n } as Record<string, boolean>;\n });\n}\n","@if (!!container()) {\n <div [class]=\"headerClasses()\">\n <ng-content />\n </div>\n} @else {\n <ng-content />\n}\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'c-header-brand',\n template: '<ng-content />',\n exportAs: 'cHeaderBrand',\n host: {\n '[attr.role]': 'role()',\n class: 'header-brand'\n }\n})\nexport class HeaderBrandComponent {\n /**\n * Default role for header-brand\n * @returns string\n * @default 'button'\n */\n readonly role = input('button');\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-header-divider, [cHeaderDivider]',\n template: ``,\n host: {\n class: 'header-divider'\n }\n})\nexport class HeaderDividerComponent {}\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'c-header-nav',\n template: '<ng-content />',\n styleUrls: ['./header-nav.component.scss'],\n exportAs: 'cHeaderNav',\n host: {\n '[attr.role]': 'role()',\n class: 'header-nav'\n }\n})\nexport class HeaderNavComponent {\n /**\n * Default role for header-nav\n * @returns string\n * @default 'navigation'\n */\n readonly role = input('navigation');\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-header-text, [cHeaderText]',\n template: '<ng-content />',\n host: {\n class: 'header-text'\n }\n})\nexport class HeaderTextComponent {}\n","import { AfterContentInit, Directive, ElementRef, inject, input, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[cHeaderToggler]',\n exportAs: 'cHeaderToggler',\n host: {\n '[attr.type]': 'type()',\n '[aria-label]': 'ariaLabel()',\n class: 'header-toggler'\n }\n})\nexport class HeaderTogglerDirective implements AfterContentInit {\n readonly #renderer = inject(Renderer2);\n readonly #hostElement = inject(ElementRef);\n\n /**\n * Default type for header-toggler button\n * @returns string\n * @default 'button'\n */\n readonly type = input('button');\n\n /**\n * Default aria-label attr for header-toggler\n * @returns string\n * @default 'Toggle navigation'\n */\n readonly ariaLabel = input('Toggle navigation');\n\n addDefaultIcon(): void {\n const span = this.#renderer.createElement('span');\n this.#renderer.addClass(span, 'header-toggler-icon');\n this.#renderer.appendChild(this.#hostElement.nativeElement, span);\n }\n\n ngAfterContentInit(): void {\n const hasContent = this.#hostElement.nativeElement.childNodes.length > 0;\n if (!hasContent) {\n this.addDefaultIcon();\n }\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { HeaderComponent } from './header/header.component';\nimport { HeaderBrandComponent } from './header-brand/header-brand.component';\nimport { HeaderDividerComponent } from './header-divider/header-divider.component';\nimport { HeaderNavComponent } from './header-nav/header-nav.component';\nimport { HeaderTextComponent } from './header-text/header-text.component';\nimport { HeaderTogglerDirective } from './header-toggler/header-toggler.directive';\n\n@NgModule({\n imports: [\n HeaderComponent,\n HeaderBrandComponent,\n HeaderDividerComponent,\n HeaderNavComponent,\n HeaderTextComponent,\n HeaderTogglerDirective\n ],\n exports: [\n HeaderComponent,\n HeaderBrandComponent,\n HeaderDividerComponent,\n HeaderNavComponent,\n HeaderTextComponent,\n HeaderTogglerDirective\n ]\n})\nexport class HeaderModule {}\n","import { booleanAttribute, computed, Directive, input, InputSignal, InputSignalWithTransform } from '@angular/core';\n\n@Directive({\n selector: '[cImg]',\n host: {\n '[class]': 'hostClasses()',\n '[style]': 'hostStyles()'\n }\n})\nexport class ImgDirective {\n /**\n * Set the horizontal aligment.\n * @returns {'' | 'start' | 'end' | 'center'}\n */\n readonly align: InputSignal<'' | 'start' | 'end' | 'center'> = input<'' | 'start' | 'end' | 'center'>('');\n\n /**\n * Make image responsive.\n * @returns boolean\n */\n readonly fluid: InputSignalWithTransform<boolean, unknown> = input(false, { transform: booleanAttribute });\n\n /**\n * Make image rounded.\n * @returns boolean\n */\n readonly rounded: InputSignalWithTransform<boolean, unknown> = input(false, { transform: booleanAttribute });\n\n /**\n * Give an image a rounded 1px border appearance.\n * @returns boolean\n */\n readonly thumbnail: InputSignalWithTransform<boolean, unknown> = input(false, { transform: booleanAttribute });\n\n /**\n * Color for image placeholder.\n */\n readonly placeholderColor = input('transparent');\n\n readonly hostStyles = computed(() => {\n return { backgroundColor: this.placeholderColor() };\n });\n\n readonly hostClasses = computed(() => {\n const align = this.align();\n return {\n [`float-${align}`]: align === 'start' || align === 'end',\n 'd-block': align === 'center',\n 'mx-auto': align === 'center',\n 'img-fluid': this.fluid(),\n rounded: this.rounded(),\n 'img-thumbnail': this.thumbnail()\n } as Record<string, boolean>;\n });\n}\n","import { NgModule } from '@angular/core';\nimport { ImgDirective } from './img.directive';\n\n@NgModule({\n imports: [ImgDirective],\n exports: [ImgDirective]\n})\nexport class ImgModule {}\n","import { booleanAttribute, computed, Directive, input, InputSignalWithTransform } from '@angular/core';\nimport { BooleanInput, Sizes } from '../coreui.types';\n\n@Directive({\n selector: '[cListGroup]',\n host: {\n class: 'list-group',\n '[class]': 'hostClasses()'\n }\n})\nexport class ListGroupDirective {\n static ngAcceptInputType_flush: BooleanInput;\n\n /**\n * Remove some borders and rounded corners to render list group items edge-to-edge in a parent component (e.g., `<CCard>`).\n * @returns boolean\n */\n readonly flush: InputSignalWithTransform<boolean, unknown> = input(false, { transform: booleanAttribute });\n\n /**\n * Specify horizontal layout type.\n */\n readonly horizontal = input<boolean | Sizes>();\n\n readonly hostClasses = computed(() => {\n const horizontal = this.horizontal();\n return {\n 'list-group': true,\n 'list-group-horizontal': horizontal === true || horizontal === '',\n [`list-group-horizontal-${horizontal}`]: !!horizontal && typeof horizontal !== 'boolean',\n 'list-group-flush': this.flush()\n } as Record<string, boolean>;\n });\n}\n","import {\n booleanAttribute,\n computed,\n Directive,\n ElementRef,\n inject,\n input,\n InputSignal,\n InputSignalWithTransform,\n numberAttribute\n} from '@angular/core';\nimport { BooleanInput, Colors } from '../coreui.types';\n\n@Directive({\n selector: '[cListGroupItem], c-list-group-item',\n exportAs: 'cListGroupItem',\n host: {\n '[class]': 'hostClasses()',\n '[aria-disabled]': 'ariaDisabled()',\n '[aria-current]': 'ariaCurrent()',\n '[attr.disabled]': 'attrDisabled()',\n '[attr.tabindex]': 'tabIndex()'\n }\n})\nexport class ListGroupItemDirective {\n static ngAcceptInputType_active: BooleanInput;\n static ngAcceptInputType_disabled: BooleanInput;\n\n readonly hostElement = inject(ElementRef);\n\n /**\n * Toggle the active state for the component.\n * @returns boolean\n */\n readonly active = input(false, { transform: booleanAttribute });\n\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors | undefined\n */\n readonly color = input<Colors | undefined>();\n\n /**\n * Set disabled attr for the host element\n * @returns boolean\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n /**\n * The tabindex attribute specifies the tab order of an element (when the \"tab\" button is used for navigating).\n * @returns number | undefined\n */\n readonly tabindex = input(undefined, { transform: numberAttribute });\n\n readonly hostClasses = computed(() => {\n const host: HTMLElement = this.hostElement.nativeElement;\n const color = this.color();\n\n return {\n 'list-group-item': true,\n 'list-group-item-action': host.nodeName === 'A' || host.nodeName === 'BUTTON',\n active: this.active(),\n disabled: this._disabled(),\n [`list-group-item-${color}`]: !!color\n } as Record<string, boolean>;\n });\n\n readonly _disabled = computed(() => this.disabled());\n\n readonly ariaDisabled = computed(() => {\n return this._disabled() ? true : null;\n });\n\n readonly attrDisabled = computed(() => {\n return this._disabled() ? '' : null;\n });\n\n readonly tabIndex = computed(() => {\n const tabindex = this.tabindex();\n return this._disabled() ? '-1' : Number.isNaN(tabindex) ? null : (tabindex ?? null);\n });\n\n readonly ariaCurrent = computed(() => {\n return this.active() || null;\n });\n}\n","import { NgModule } from '@angular/core';\n\nimport { ListGroupDirective } from './list-group.directive';\nimport { ListGroupItemDirective } from './list-group-item.directive';\n\n@NgModule({\n exports: [ListGroupDirective, ListGroupItemDirective],\n imports: [ListGroupDirective, ListGroupItemDirective]\n})\nexport class ListGroupModule {}\n","import { Injectable, signal } from '@angular/core';\n\n@Injectable()\nexport class NavGroupService {\n /**\n * Id of the open group at this level, `undefined` when none is open.\n */\n readonly activeId = signal<string | undefined>(undefined);\n\n /**\n * Whether an active nav link opens the branch it sits in. Inherited by nested levels.\n */\n readonly openOnActive = signal(true);\n\n /**\n * Opens the level owner within its own parent and cascades up to the root.\n * Replaced by the owning `c-nav-group`; stays a no-op for the root level.\n */\n openBranch: () => void = () => undefined;\n\n setActiveId(id: string | undefined): void {\n this.activeId.set(id);\n }\n}\n","import {\n afterNextRender,\n booleanAttribute,\n computed,\n Directive,\n effect,\n ElementRef,\n inject,\n input,\n numberAttribute,\n OnDestroy,\n signal,\n untracked\n} from '@angular/core';\nimport { BooleanInput } from '../coreui.types';\nimport { NavGroupService } from './nav-group.service';\n\nconst DISABLED_ATTR_ELEMENTS = new Set(['button', 'fieldset', 'input', 'optgroup', 'option', 'select', 'textarea']);\n\n@Directive({\n selector: '[cNavLink]',\n host: {\n '[class]': 'hostClasses()',\n '[aria-current]': 'ariaCurrent()',\n '[aria-disabled]': 'ariaDisabled()',\n '[attr.disabled]': 'attrDisabled()',\n '[attr.tabindex]': 'attrTabindex()'\n }\n})\nexport class NavLinkDirective implements OnDestroy {\n static ngAcceptInputType_disabled: BooleanInput;\n\n readonly #hostElement = inject(ElementRef);\n readonly #navGroupService = inject(NavGroupService, { optional: true });\n\n #classObserver?: MutationObserver;\n\n constructor() {\n afterNextRender({\n read: () => {\n this.#observeActiveClass();\n }\n });\n }\n\n /**\n * Sets .nav-link class to the host\n * @returns boolean\n * @default true\n */\n readonly cNavLink = input(true, { transform: booleanAttribute });\n\n /**\n * Toggle the active state for the component\n * @returns boolean\n * @default undefined\n */\n readonly active = input<boolean>();\n\n /**\n * Set disabled attr for the host element\n * @returns boolean\n * @default false\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n /**\n * The tabindex attribute specifies the tab order of an element (when the \"tab\" button is used for navigating).\n * @returns number | undefined\n */\n readonly tabindex = input(undefined, { transform: numberAttribute });\n\n readonly ariaCurrent = computed(() => {\n return this.active() ? 'page' : null;\n });\n\n protected ariaDisabled = signal<boolean | null>(null);\n protected attrDisabled = signal<boolean | string | null>(null);\n protected attrTabindex = signal<number | null>(null);\n\n readonly #disabledEffect = effect(() => {\n const disabled = this.disabled();\n const tabindex = this.tabindex();\n const disabledAttrElement = DISABLED_ATTR_ELEMENTS.has(this.#tagName);\n this.ariaDisabled.set((disabled && !disabledAttrElement) || null);\n this.attrDisabled.set(disabled && disabledAttrElement ? '' : null);\n this.attrTabindex.set(disabled && !disabledAttrElement ? -1 : Number.isNaN(tabindex) ? null : (tabindex ?? null));\n });\n\n readonly #activeEffect = effect(() => {\n if (this.active()) {\n untracked(() => {\n this.#openBranch();\n });\n }\n });\n\n readonly hostClasses = computed(() => {\n return {\n 'nav-link': this.cNavLink(),\n disabled: this.disabled(),\n active: this.active()\n } as Record<string, boolean>;\n });\n\n get #tagName(): string {\n return (this.#hostElement.nativeElement as HTMLElement).tagName.toLowerCase();\n }\n\n ngOnDestroy(): void {\n this.#classObserver?.disconnect();\n }\n\n #openBranch(): void {\n if (this.#navGroupService?.openOnActive()) {\n this.#navGroupService.openBranch();\n }\n }\n\n #observeActiveClass(): void {\n const host: HTMLElement = this.#hostElement.nativeElement;\n\n if (!this.#navGroupService) {\n return;\n }\n\n let wasActive = host.classList.contains('active');\n if (wasActive) {\n this.#openBranch();\n }\n\n this.#classObserver = new MutationObserver(() => {\n const active = host.classList.contains('active');\n if (active && !wasActive) {\n this.#openBranch();\n }\n wasActive = active;\n });\n this.#classObserver.observe(host, { attributes: true, attributeFilter: ['class'] });\n }\n}\n","import { booleanAttribute, Component, computed, input } from '@angular/core';\nimport { BooleanInput } from '../coreui.types';\n\n@Component({\n selector: 'c-nav-group-items',\n template: '<ng-content />',\n styleUrls: ['./nav-group-items.component.scss'],\n host: { '[class]': 'hostClasses()' }\n})\nexport class NavGroupItemsComponent {\n static ngAcceptInputType_compact: BooleanInput;\n\n /**\n * Make nav group items more compact by cutting all `padding` in half.\n * @returns boolean\n * @default false\n */\n readonly compact = input(false, { transform: booleanAttribute });\n\n readonly hostClasses = computed(() => {\n return {\n 'nav-group-items': true,\n compact: this.compact()\n } as Record<string, boolean>;\n });\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n Component,\n computed,\n effect,\n inject,\n input,\n linkedSignal,\n output,\n signal,\n TemplateRef,\n untracked\n} from '@angular/core';\n\nimport { CollapseDirective } from '../collapse';\nimport { BooleanInput } from '../coreui.types';\nimport { NavGroupItemsComponent } from './nav-group-items.component';\nimport { NavGroupService } from './nav-group.service';\n\nlet nextId = 0;\n\n@Component({\n selector: 'c-nav-group',\n templateUrl: './nav-group.component.html',\n styleUrls: ['./nav-group.component.scss'],\n imports: [CollapseDirective, NavGroupItemsComponent, NgTemplateOutlet],\n providers: [NavGroupService],\n host: { '[class]': 'hostClasses()' }\n})\nexport class NavGroupComponent {\n static ngAcceptInputType_compact: BooleanInput;\n static ngAcceptInputType_visible: BooleanInput;\n\n readonly #navGroupService = inject(NavGroupService);\n readonly #parentNavGroupService = inject(NavGroupService, { optional: true, skipSelf: true });\n\n readonly #id = `nav-group-${nextId++}`;\n\n constructor() {\n this.#navGroupService.openBranch = () => {\n this.openBranch();\n };\n }\n\n /**\n * Make nav group items more compact by cutting all `padding` in half.\n * @returns boolean\n * @default false\n */\n readonly compact = input(false, { transform: booleanAttribute });\n\n /**\n * Set group toggler label.\n * @returns string\n */\n readonly toggler = input<string>();\n\n /**\n * Template for the group toggler content, receives the visible state as `$implicit`.\n * @returns TemplateRef<{ $implicit: boolean; visible: boolean }>\n */\n readonly togglerTemplate = input<TemplateRef<{ $implicit: boolean; visible: boolean }>>();\n\n /**\n * Show nav group items. Sets the initial state, and follows every later change.\n * @returns boolean | undefined\n */\n readonly visible = input<boolean | undefined, unknown>(undefined, { transform: booleanAttribute });\n\n /**\n * Event emitted on visibility change.\n * @returns boolean\n */\n readonly visibleChange = output<boolean>();\n\n readonly #uncontrolledVisible = signal(false);\n\n readonly visibleState = computed(() => {\n const parent = this.#parentNavGroupService;\n return parent ? parent.activeId() === this.#id : this.#uncontrolledVisible();\n });\n\n // the group drops `show` in the same pass, hiding the items before cCollapse can measure them\n readonly display = linkedSignal<boolean, string | null>({\n source: this.visibleState,\n computation: (visible, previous) => (previous?.source && !visible ? 'block' : null)\n });\n\n readonly hostClasses = computed(() => {\n return {\n 'nav-group': true,\n show: this.visibleState()\n } as Record<string, boolean>;\n });\n\n readonly #visibleEffect = effect(() => {\n const visible = this.visible();\n if (visible === undefined) {\n return;\n }\n untracked(() => {\n this.#setVisible(visible);\n });\n });\n\n readonly #openOnActiveEffect = effect(() => {\n const openOnActive = this.#parentNavGroupService?.openOnActive() ?? true;\n untracked(() => {\n this.#navGroupService.openOnActive.set(openOnActive);\n });\n });\n\n toggleGroup(event: Event): void {\n event.preventDefault();\n const next = !this.visibleState();\n this.#setVisible(next);\n this.visibleChange.emit(next);\n }\n\n openBranch(): void {\n const parent = this.#parentNavGroupService;\n if (!parent) {\n this.#uncontrolledVisible.set(true);\n return;\n }\n parent.setActiveId(this.#id);\n parent.openBranch();\n }\n\n onCollapseChange(state: string): void {\n this.display.set(state === 'collapsed' || state === 'open' ? null : 'block');\n }\n\n #setVisible(visible: boolean): void {\n const parent = this.#parentNavGroupService;\n if (!parent) {\n this.#uncontrolledVisible.set(visible);\n return;\n }\n if (visible) {\n parent.setActiveId(this.#id);\n return;\n }\n if (parent.activeId() === this.#id) {\n parent.setActiveId(undefined);\n }\n }\n}\n","@if (toggler() || togglerTemplate()) {\n <a\n (click)=\"toggleGroup($event)\"\n [aria-expanded]=\"visibleState()\"\n class=\"nav-link nav-group-toggle\"\n href\n >\n @if (togglerTemplate(); as template) {\n <ng-container\n *ngTemplateOutlet=\"template; context: { $implicit: visibleState(), visible: visibleState() }\"\n />\n } @else {\n {{ toggler() }}\n }\n </a>\n}\n<c-nav-group-items\n (collapseChange)=\"onCollapseChange($event)\"\n [compact]=\"compact()\"\n [style.display]=\"display()\"\n [visible]=\"visibleState()\"\n cCollapse\n>\n <ng-content />\n</c-nav-group-items>\n","import { booleanAttribute, Component, input, numberAttribute } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\n\nimport { BooleanInput, NumberInput } from '../coreui.types';\nimport { NavLinkDirective } from './nav-link.directive';\n\n@Component({\n selector: 'c-nav-item',\n templateUrl: './nav-item.component.html',\n styleUrls: ['./nav-item.component.scss'],\n imports: [NavLinkDirective, NgTemplateOutlet],\n host: { class: 'nav-item' }\n})\nexport class NavItemComponent {\n static ngAcceptInputType_active: BooleanInput;\n static ngAcceptInputType_disabled: BooleanInput;\n static ngAcceptInputType_tabindex: NumberInput;\n\n /**\n * Toggle the active state for the nav link rendered for `href`.\n * @returns boolean | undefined\n * @default undefined\n */\n readonly active = input<boolean | undefined, unknown>(undefined, { transform: booleanAttribute });\n\n /**\n * Set disabled attr for the nav link rendered for `href`.\n * @returns boolean\n * @default false\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n /**\n * The href attribute of the nav link. Set it to render the nav link, otherwise the item projects its content as is.\n * @returns string\n */\n readonly href = input<string>();\n\n /**\n * The tabindex attribute of the nav link rendered for `href`.\n * @returns number | undefined\n */\n readonly tabindex = input(undefined, { transform: numberAttribute });\n}\n","@if (href()) {\n <a\n [active]=\"active()\"\n [attr.href]=\"href()\"\n [disabled]=\"disabled()\"\n [tabindex]=\"tabindex()\"\n cNavLink\n >\n <ng-container *ngTemplateOutlet=\"content\" />\n </a>\n} @else {\n <ng-container *ngTemplateOutlet=\"content\" />\n}\n\n<ng-template #content>\n <ng-content />\n</ng-template>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-nav-title',\n template: '<ng-content />',\n styleUrls: ['./nav-title.component.scss'],\n host: { class: 'nav-title' }\n})\nexport class NavTitleComponent {}\n","import { Component, computed, input } from '@angular/core';\n\n@Component({\n selector: 'c-nav',\n template: '<ng-content />',\n styleUrls: ['./nav.component.scss'],\n host: { class: 'nav', '[class]': 'hostClasses()', '[attr.role]': 'role()' }\n})\nexport class NavComponent {\n /**\n * Specify a layout type for component.\n * @default undefined\n */\n readonly layout = input<'fill' | 'justified'>();\n\n /**\n * Default role for nav.\n * @returns string\n * @default 'navigation'\n */\n readonly role = input('navigation');\n\n /**\n * Set the nav variant to tabs or pills.\n * @default undefined\n */\n readonly variant = input<'enclosed' | 'enclosed-pills' | 'pills' | 'tabs' | 'underline' | 'underline-border'>();\n\n readonly hostClasses = computed(() => {\n const layout = this.layout();\n const variant = this.variant();\n return {\n nav: true,\n [`nav-${layout}`]: !!layout,\n 'nav-enclosed': variant === 'enclosed' || variant === 'enclosed-pills',\n [`nav-${variant}`]: !!variant\n } as Record<string, boolean>;\n });\n}\n","import { NgModule } from '@angular/core';\nimport { NavComponent } from './nav.component';\nimport { NavGroupComponent } from './nav-group.component';\nimport { NavGroupItemsComponent } from './nav-group-items.component';\nimport { NavItemComponent } from './nav-item.component';\nimport { NavLinkDirective } from './nav-link.directive';\nimport { NavTitleComponent } from './nav-title.component';\n\n@NgModule({\n imports: [\n NavComponent,\n NavGroupComponent,\n NavGroupItemsComponent,\n NavItemComponent,\n NavLinkDirective,\n NavTitleComponent\n ],\n exports: [\n NavComponent,\n NavGroupComponent,\n NavGroupItemsComponent,\n NavItemComponent,\n NavLinkDirective,\n NavTitleComponent\n ]\n})\nexport class NavModule {}\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n afterEveryRender,\n Component,\n computed,\n contentChild,\n DOCUMENT,\n effect,\n ElementRef,\n inject,\n input,\n signal\n} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\n\nimport { CollapseDirective } from '../collapse';\nimport { Colors } from '../coreui.types';\nimport { ThemeDirective } from '../shared';\n\n// todo: fix container prop issue not rendering children\n// todo: workaround - use <c-container> component directly in template\n\n@Component({\n selector: 'c-navbar',\n templateUrl: './navbar.component.html',\n imports: [NgTemplateOutlet],\n hostDirectives: [{ directive: ThemeDirective, inputs: ['colorScheme'] }],\n host: { '[class]': 'hostClasses()', '[attr.role]': 'role()' }\n})\nexport class NavbarComponent {\n readonly #breakpointObserver = inject(BreakpointObserver);\n readonly #document = inject(DOCUMENT);\n readonly #hostElement = inject(ElementRef);\n\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly color = input<Colors>();\n\n /**\n * Defines optional container wrapping children elements.\n */\n readonly container = input<boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'fluid'>();\n\n /**\n * Defines the responsive breakpoint to determine when content collapses.\n */\n readonly expand = input<boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'>();\n\n /**\n * Place component in non-static positions.\n */\n readonly placement = input<'fixed-top' | 'fixed-bottom' | 'sticky-top'>();\n\n /**\n * HTML element role.\n * @returns string\n */\n readonly role = input('navigation');\n\n readonly collapse = contentChild(CollapseDirective);\n\n readonly hostClasses = computed(() => {\n const color = this.color();\n const expand = this.expand();\n const expandClassSuffix: string = expand === true ? '' : `-${expand}`;\n const placement = this.placement();\n return {\n navbar: true,\n [`navbar-expand${expandClassSuffix}`]: !!expand,\n [`bg-${color}`]: !!color,\n [`${placement}`]: !!placement\n } as Record<string, boolean>;\n });\n\n readonly containerClass = computed(() => {\n const container = this.container();\n return `container${container !== true ? '-' + container : ''}`;\n });\n\n readonly computedStyle = signal<string>('');\n\n readonly #afterEveryRenderFn = afterEveryRender({\n read: () => {\n const expand = this.expand();\n if (typeof expand === 'string') {\n const computedStyle =\n this.#document.defaultView\n ?.getComputedStyle(this.#hostElement.nativeElement)\n ?.getPropertyValue(`--cui-breakpoint-${expand}`) ?? false;\n computedStyle && this.computedStyle.set(computedStyle);\n }\n }\n });\n\n readonly breakpoint = computed(() => {\n const expand = this.expand();\n if (typeof expand === 'string') {\n return this.computedStyle();\n }\n return false;\n });\n\n readonly #breakpointEffect = effect((onCleanup) => {\n const breakpoint = this.breakpoint();\n if (!breakpoint) {\n return;\n }\n\n const subscription = this.#breakpointObserver.observe([`(min-width: ${breakpoint})`]).subscribe((result) => {\n const collapse = this.collapse();\n if (!collapse) {\n return;\n }\n collapse.animate.set(false);\n collapse.toggle(false);\n setTimeout(() => {\n collapse.toggle(result.matches);\n setTimeout(() => collapse.animate.set(collapse.animateInput()));\n });\n });\n\n onCleanup(() => subscription.unsubscribe());\n });\n}\n","<ng-container *ngTemplateOutlet=\"container() ? withContainerTemplate : noContainerTemplate\" />\n\n<ng-template #withContainerTemplate>\n <div [class]=\"containerClass()\">\n <ng-content />\n </div>\n</ng-template>\n\n<ng-template #noContainerTemplate>\n <ng-content />\n</ng-template>\n","import { Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[cNavbarBrand]',\n host: { class: 'navbar-brand', '[attr.role]': 'role()' }\n})\nexport class NavbarBrandDirective {\n /**\n * Default role for navbar-brand.\n * @returns string\n * @default 'button'\n */\n readonly role = input('button');\n}\n","import { booleanAttribute, Component, computed, input } from '@angular/core';\n\n@Component({\n selector: 'c-navbar-nav',\n template: '<ng-content />',\n host: { '[class]': 'hostClasses()' }\n})\nexport class NavbarNavComponent {\n /**\n * Enable vertical scrolling of a collapsed navbar toggleable contents.\n * @returns boolean\n */\n readonly scroll = input(false, { transform: booleanAttribute });\n\n readonly hostClasses = computed(() => {\n return {\n 'navbar-nav': true,\n 'navbar-nav-scroll': this.scroll()\n } as Record<string, boolean>;\n });\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-navbar-text',\n template: '<ng-content />',\n host: { class: 'navbar-text' }\n})\nexport class NavbarTextComponent {}\n","import { afterNextRender, Directive, ElementRef, inject, input, Renderer2 } from '@angular/core';\nimport { CollapseDirective } from '../../collapse';\n\n@Directive({\n selector: '[cNavbarToggler]',\n host: {\n '[aria-label]': 'ariaLabel()',\n '[attr.type]': 'type()',\n class: 'navbar-toggler',\n '(click)': 'handleClick($event)'\n }\n})\nexport class NavbarTogglerDirective {\n readonly #renderer = inject(Renderer2);\n readonly #hostElement = inject(ElementRef);\n\n constructor() {\n afterNextRender({\n read: () => {\n const hasContent = this.#hostElement.nativeElement.childNodes.length as boolean;\n if (!hasContent) {\n this.addDefaultIcon();\n }\n }\n });\n }\n\n /**\n * Reference to navbar collapse element (via # template variable)\n * @returns CollapseDirective | undefined\n */\n readonly collapseRef = input<CollapseDirective | undefined>(undefined, { alias: 'cNavbarToggler' });\n\n /**\n * Default type for navbar-toggler\n * @returns string\n * @default 'button'\n */\n readonly type = input('button');\n\n /**\n * Default aria-label attr for navbar-toggler\n * @returns string\n * @default 'Toggle navigation'\n */\n readonly ariaLabel = input('Toggle navigation');\n\n protected handleClick($event: MouseEvent): void {\n const collapseRef = this.collapseRef();\n if (collapseRef) {\n collapseRef?.toggle(!collapseRef?.visible());\n }\n }\n\n addDefaultIcon(): void {\n const span = this.#renderer.createElement('span');\n this.#renderer.addClass(span, 'navbar-toggler-icon');\n this.#renderer.appendChild(this.#hostElement.nativeElement, span);\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { NavbarComponent } from './navbar.component';\nimport { NavbarBrandDirective } from './navbar-brand/navbar-brand.directive';\nimport { NavbarNavComponent } from './navbar-nav/navbar-nav.component';\nimport { NavbarTextComponent } from './navbar-text/navbar-text.component';\nimport { NavbarTogglerDirective } from './navbar-toggler/navbar-toggler.directive';\n\n@NgModule({\n exports: [\n NavbarBrandDirective,\n NavbarComponent,\n NavbarNavComponent,\n NavbarTextComponent,\n NavbarTogglerDirective\n ],\n imports: [\n NavbarBrandDirective,\n NavbarComponent,\n NavbarNavComponent,\n NavbarTextComponent,\n NavbarTogglerDirective\n ]\n})\nexport class NavbarModule {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-modal-body',\n template: '<ng-content />',\n styleUrls: ['./modal-body.component.scss'],\n host: { class: 'modal-body' }\n})\nexport class ModalBodyComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-modal-content',\n template: '<ng-content />',\n host: { class: 'modal-content' }\n})\nexport class ModalContentComponent {}\n","import { booleanAttribute, Component, computed, input } from '@angular/core';\n\n@Component({\n selector: 'c-modal-dialog',\n template: '<ng-content />',\n styleUrls: ['./modal-dialog.component.scss'],\n host: { class: 'modal-dialog', '[class]': 'hostClasses()' }\n})\nexport class ModalDialogComponent {\n /**\n * Align the modal in the center or top of the screen.\n * @default undefined\n */\n readonly alignment = input<'top' | 'center'>();\n\n /**\n * Set modal to covers the entire user viewport.\n * @returns {boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'}\n */\n readonly fullscreen = input<boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'>();\n\n /**\n * Does the modal dialog itself scroll, or does the whole dialog scroll within the window.\n * @default false\n * @returns {boolean}\n */\n readonly scrollable = input(false, { transform: booleanAttribute });\n\n /**\n * Size the component small, large, or extra large.\n * @default undefined\n * @returns {'sm' | 'lg' | 'xl'}\n */\n readonly size = input<'sm' | 'lg' | 'xl'>();\n\n readonly hostClasses = computed(() => {\n const fullscreen = this.fullscreen();\n const size = this.size();\n return {\n 'modal-dialog': true,\n 'modal-dialog-centered': this.alignment() === 'center',\n 'modal-fullscreen': fullscreen === true,\n [`modal-fullscreen-${fullscreen}-down`]: typeof fullscreen === 'string',\n 'modal-dialog-scrollable': this.scrollable(),\n [`modal-${size}`]: !!size\n } as Record<string, boolean>;\n });\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { ModalComponent } from './modal/modal.component';\n\nexport interface IModalAction {\n show?: boolean | 'toggle';\n modal?: ModalComponent;\n id?: string;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ModalService {\n readonly #modalState = new Subject<any>();\n readonly modalState$ = this.#modalState.asObservable();\n\n toggle(action: IModalAction): void {\n this.#modalState.next(action);\n }\n}\n","import { Directive, inject, input } from '@angular/core';\n\nimport { ModalService } from '../modal.service';\n\n@Directive({\n selector: '[cModalToggle]',\n host: {\n '(click)': 'dismiss($event)'\n }\n})\nexport class ModalToggleDirective {\n readonly #modalService = inject(ModalService);\n\n /**\n * Html id attr of modal to dismiss.\n * @default undefined\n */\n readonly toggle = input<string>(undefined, { alias: 'cModalToggle' });\n\n dismiss($event: Event): void {\n $event.preventDefault();\n this.#modalService.toggle({ show: 'toggle', id: this.toggle() });\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-modal-footer',\n template: '<ng-content />',\n host: { class: 'modal-footer' }\n})\nexport class ModalFooterComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-modal-header',\n template: '<ng-content />',\n host: { class: 'modal-header' }\n})\nexport class ModalHeaderComponent {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cModalTitle]',\n host: { class: 'modal-title' }\n})\nexport class ModalTitleDirective {}\n","import { A11yModule, FocusMonitor } from '@angular/cdk/a11y';\nimport { BooleanInput } from '@angular/cdk/coercion';\nimport { DomPortal, DomPortalOutlet } from '@angular/cdk/portal';\nimport {\n AfterViewInit,\n booleanAttribute,\n Component,\n computed,\n DestroyRef,\n DOCUMENT,\n effect,\n ElementRef,\n inject,\n input,\n linkedSignal,\n OnDestroy,\n OnInit,\n output,\n Renderer2,\n signal,\n untracked,\n viewChild\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { ModalService } from '../modal.service';\nimport { BackdropService } from '../../backdrop/backdrop.service';\nimport { ModalContentComponent } from '../modal-content/modal-content.component';\nimport { ModalDialogComponent } from '../modal-dialog/modal-dialog.component';\n\n@Component({\n selector: 'c-modal',\n templateUrl: './modal.component.html',\n exportAs: 'cModal',\n imports: [ModalDialogComponent, ModalContentComponent, A11yModule],\n host: {\n class: 'modal',\n '[class]': 'hostClasses()',\n '[attr.role]': 'visible() ? role() : null',\n '[inert]': 'ariaHidden()',\n '[attr.id]': 'id',\n '[aria-modal]': 'ariaModal()',\n '[aria-hidden]': 'ariaHidden()',\n '[attr.tabindex]': '-1',\n '(mousedown)': 'onMouseDownHandler($event)',\n '(click)': 'onClickHandler($event)',\n '(document:keydown)': 'onKeyDownHandler($event)'\n }\n})\nexport class ModalComponent implements OnInit, OnDestroy, AfterViewInit {\n static ngAcceptInputType_ariaModalInput: BooleanInput;\n static ngAcceptInputType_scrollable: BooleanInput;\n static ngAcceptInputType_visibleInput: BooleanInput;\n\n readonly #document = inject<Document>(DOCUMENT);\n readonly #renderer = inject(Renderer2);\n readonly #hostElement = inject(ElementRef);\n readonly #modalService = inject(ModalService);\n readonly #backdropService = inject(BackdropService);\n\n readonly #destroyRef = inject(DestroyRef);\n readonly #focusMonitor = inject(FocusMonitor);\n\n /**\n * Align the modal in the center or top of the screen.\n * @returns {'top' | 'center'}\n * @default 'top'\n */\n readonly alignment = input<'top' | 'center'>('top');\n\n /**\n * Apply a backdrop on the body while the modal is open.\n * @returns boolean | 'static'\n * @default true\n */\n readonly backdrop = input<boolean | 'static'>(true);\n\n /**\n * Appends the angular modal to a specific element. You can pass an HTML element or function that returns a single element. By default, `document.body`.\n * @since 5.7.20\n * @returns Element | (() => Element | null) | null\n * @default document.body\n */\n readonly container = input<Element | (() => Element | null) | null>(this.#document.body);\n\n /**\n * Set modal to cover the entire user viewport.\n * @returns {boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'}\n * @default undefined\n */\n readonly fullscreen = input<boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'>();\n\n /**\n * Closes the modal when the escape key is pressed.\n * @returns boolean\n * @default true\n */\n readonly keyboard = input(true, { transform: booleanAttribute });\n\n /**\n * HTML id attribute, required for programmatic visibility change.\n * @returns string\n */\n readonly attrId = input<string>(undefined, { alias: 'id' });\n\n get id() {\n return this.attrId();\n }\n\n /**\n * Generates modal using a portal\n * @since 5.7.20\n * @returns boolean\n * @default false\n */\n readonly portal = input(false, { transform: booleanAttribute });\n\n /**\n * Size the component small, large, or extra large.\n * @returns {'sm' | 'lg' | 'xl'}\n * @default undefined\n */\n readonly size = input<'sm' | 'lg' | 'xl'>();\n\n /**\n * Remove animation to create a modal that simply appears rather than fades in to view.\n */\n readonly transition = input(true, { transform: booleanAttribute });\n\n /**\n * Default role for modal\n * @returns string\n * @default 'dialog'\n */\n readonly role = input('dialog');\n\n /**\n * Set aria-modal html attr for modal\n * @returns boolean\n * @default false\n */\n readonly ariaModalInput = input(false, { transform: booleanAttribute, alias: 'ariaModal' });\n\n readonly ariaModal = computed(() => {\n return this.visible() || this.ariaModalInput() ? true : null;\n });\n\n /**\n * Create a scrollable modal that allows scrolling the modal body.\n * @returns boolean\n * @default false\n */\n readonly scrollable = input(false, { transform: booleanAttribute });\n\n /**\n * Toggle the visibility of modal component.\n * @returns boolean\n * @default false\n */\n readonly visibleInput = input(false, { transform: booleanAttribute, alias: 'visible' });\n\n readonly visible = linkedSignal(this.visibleInput);\n\n protected readonly domPortal = new DomPortal(this.#hostElement.nativeElement);\n protected domPortalOutlet!: DomPortalOutlet;\n\n protected domPortalCleanup = () => {\n if (this.domPortalOutlet?.hasAttached()) {\n this.domPortalOutlet.detach();\n }\n };\n\n readonly #portalEffect = effect(() => {\n const visible = this.visible();\n const containerInput = this.container();\n const portalEnabled = this.portal();\n untracked(() => {\n if (!visible) {\n return;\n }\n const container = typeof containerInput === 'function' ? containerInput() : containerInput;\n this.domPortalCleanup();\n if (container && portalEnabled) {\n this.domPortalOutlet = new DomPortalOutlet(container);\n this.domPortalOutlet.attach(this.domPortal);\n }\n });\n });\n\n readonly #visibleInputEffect = effect(() => {\n const visible = this.visible();\n untracked(() => {\n this.animateStart();\n this.setBodyStyles(visible);\n this.setBackdrop(this.backdrop() !== false && visible);\n this.visibleChange?.emit(visible);\n });\n });\n\n readonly #activeElement = signal<HTMLElement | null>(null);\n\n readonly #visibleEffect = effect(() => {\n const visible = this.visible();\n const afterViewInit = this.#afterViewInit();\n untracked(() => {\n if (visible && afterViewInit) {\n this.#activeElement.set(this.#document.activeElement as HTMLElement);\n // this.#activeElement()?.blur();\n setTimeout(() => {\n const focusable = this.modalContentRef()?.nativeElement.querySelectorAll(\n '[tabindex]:not([tabindex=\"-1\"]), button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled])'\n );\n if (focusable?.length) {\n this.#focusMonitor.focusVia(focusable[0], 'keyboard');\n }\n });\n } else {\n const activeElement = this.#activeElement();\n if (activeElement && this.#document.contains(activeElement)) {\n this.#focusMonitor.focusVia(activeElement, 'keyboard');\n setTimeout(() => {\n // this.#activeElement()?.focus();\n this.#activeElement.set(null);\n });\n }\n }\n });\n });\n\n /**\n * Event triggered on visible change\n * @returns boolean\n */\n readonly visibleChange = output<boolean>();\n\n readonly modalContentRef = viewChild('modalContentRef', { read: ElementRef });\n readonly modalDialogRef = viewChild.required(ModalDialogComponent, { read: ElementRef });\n\n readonly #modalDialogEffect = effect((OnCleanup) => {\n const modalDialogElement = this.modalDialogRef().nativeElement;\n\n const removeEventListeners = () => {\n modalDialogElement?.removeEventListener('transitionend', this.#handleTransitionEnd);\n };\n\n OnCleanup(removeEventListeners);\n\n modalDialogElement?.addEventListener('transitionend', this.#handleTransitionEnd);\n });\n\n readonly #handleTransitionEnd = (event: TransitionEvent) => {\n const modalDialogElement = this.modalDialogRef().nativeElement;\n if (event.target === modalDialogElement && event.propertyName === 'transform') {\n if (!this.visible()) {\n this.domPortalCleanup();\n this.#renderer.setStyle(this.#hostElement.nativeElement, 'display', 'none');\n }\n }\n };\n\n #activeBackdrop!: any;\n\n // private inBoundingClientRect!: boolean;\n\n readonly hostClasses = computed(() => {\n return {\n modal: true,\n fade: this.transition(),\n show: this.show\n } as Record<string, boolean>;\n });\n\n readonly ariaHidden = computed(() => {\n return this.visible() ? null : true;\n });\n\n get show(): boolean {\n return this.visible() && this.#show();\n }\n\n set show(value: boolean) {\n this.#show.set(value);\n }\n\n readonly #show = signal(false);\n\n animateStart() {\n if (this.visible()) {\n this.#backdropService.hideScrollbar();\n this.#renderer.setStyle(this.#hostElement.nativeElement, 'display', 'block');\n } else {\n if (!this.transition()) {\n this.domPortalCleanup();\n this.#renderer.setStyle(this.#hostElement.nativeElement, 'display', 'none');\n }\n }\n setTimeout(() => {\n this.show = this.visible();\n });\n }\n\n onKeyDownHandler(event: KeyboardEvent): void {\n if (event.key === 'Escape' && this.keyboard() && this.visible()) {\n if (this.backdrop() === 'static') {\n this.setStaticBackdrop();\n } else {\n this.#modalService.toggle({ show: false, modal: this });\n }\n }\n }\n\n private mouseDownTarget: EventTarget | null = null;\n\n public onMouseDownHandler($event: MouseEvent): void {\n this.mouseDownTarget = $event.target;\n }\n\n public onClickHandler($event: MouseEvent): void {\n if (this.mouseDownTarget !== $event.target) {\n this.mouseDownTarget = null;\n return;\n }\n\n const targetElement = $event.target;\n if (targetElement === this.#hostElement.nativeElement) {\n if (this.backdrop() === 'static') {\n this.setStaticBackdrop();\n return;\n }\n\n this.#modalService.toggle({ show: false, modal: this });\n }\n }\n\n ngOnInit(): void {\n this.stateToggleSubscribe();\n }\n\n readonly #afterViewInit = signal(false);\n\n ngAfterViewInit(): void {\n this.#afterViewInit.set(true);\n }\n\n ngOnDestroy(): void {\n this.#modalService.toggle({ show: false, modal: this });\n this.#afterViewInit.set(false);\n this.setBackdrop(false);\n this.domPortalCleanup();\n }\n\n private stateToggleSubscribe(): void {\n this.#modalService.modalState$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe((action) => {\n if (this === action.modal || this.id === action.id) {\n if ('show' in action) {\n this.visible.update((visible) => (action?.show === 'toggle' ? !visible : action.show));\n }\n } else {\n if (this.visible()) {\n this.visible.set(false);\n }\n }\n });\n }\n\n private setBackdrop(setBackdrop: boolean): void {\n this.#activeBackdrop = setBackdrop\n ? this.#backdropService.setBackdrop('modal')\n : this.#backdropService.clearBackdrop(this.#activeBackdrop);\n }\n\n private setBodyStyles(open: boolean): void {\n if (open) {\n if (!!this.backdrop()) {\n this.#renderer.addClass(this.#document.body, 'modal-open');\n }\n } else {\n this.#renderer.removeClass(this.#document.body, 'modal-open');\n }\n }\n\n private setStaticBackdrop(): void {\n if (this.transition()) {\n this.#renderer.addClass(this.#hostElement.nativeElement, 'modal-static');\n this.#renderer.setStyle(this.#hostElement.nativeElement, 'overflow-y', 'hidden');\n setTimeout(() => {\n this.#renderer.removeClass(this.#hostElement.nativeElement, 'modal-static');\n this.#renderer.removeStyle(this.#hostElement.nativeElement, 'overflow-y');\n }, 300);\n }\n }\n}\n","@let isVisible = visible();\n<c-modal-dialog\n [alignment]=\"alignment()\"\n [fullscreen]=\"fullscreen()\"\n [scrollable]=\"scrollable()\"\n [size]=\"size()\">\n <c-modal-content>\n <div #modalContentRef [cdkTrapFocusAutoCapture]=\"isVisible\" [cdkTrapFocus]=\"isVisible\" style=\"display: contents;\">\n <ng-content />\n </div>\n </c-modal-content>\n</c-modal-dialog>\n","import { NgModule } from '@angular/core';\n\nimport { ModalBodyComponent } from './modal-body/modal-body.component';\nimport { ModalContentComponent } from './modal-content/modal-content.component';\nimport { ModalDialogComponent } from './modal-dialog/modal-dialog.component';\nimport { ModalToggleDirective } from './modal-dismiss/modal-toggle.directive';\nimport { ModalFooterComponent } from './modal-footer/modal-footer.component';\nimport { ModalHeaderComponent } from './modal-header/modal-header.component';\nimport { ModalTitleDirective } from './modal-title/modal-title.directive';\nimport { ModalComponent } from './modal/modal.component';\nimport { ModalService } from './modal.service';\n\n@NgModule({\n exports: [\n ModalBodyComponent,\n ModalComponent,\n ModalContentComponent,\n ModalDialogComponent,\n ModalFooterComponent,\n ModalHeaderComponent,\n ModalTitleDirective,\n ModalToggleDirective\n ],\n imports: [\n ModalBodyComponent,\n ModalComponent,\n ModalContentComponent,\n ModalDialogComponent,\n ModalFooterComponent,\n ModalHeaderComponent,\n ModalTitleDirective,\n ModalToggleDirective\n ],\n providers: [ModalService]\n})\nexport class ModalModule {}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { OffcanvasComponent } from './offcanvas/offcanvas.component';\n\nexport interface IOffcanvasAction {\n show?: boolean | 'toggle';\n offcanvas?: OffcanvasComponent;\n id?: string;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OffcanvasService {\n private offcanvasState = new Subject<any>();\n offcanvasState$ = this.offcanvasState.asObservable();\n\n toggle(action: IOffcanvasAction): void {\n this.offcanvasState.next(action);\n }\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { BooleanInput } from '@angular/cdk/coercion';\nimport { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\nimport { DomPortal, DomPortalOutlet } from '@angular/cdk/portal';\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n booleanAttribute,\n Component,\n computed,\n DestroyRef,\n DOCUMENT,\n effect,\n ElementRef,\n inject,\n input,\n linkedSignal,\n OnDestroy,\n OnInit,\n output,\n PLATFORM_ID,\n Renderer2,\n untracked\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { BackdropService } from '../../backdrop/backdrop.service';\nimport { ThemeDirective } from '../../shared';\nimport { OffcanvasService } from '../offcanvas.service';\n\nlet nextId = 0;\n\n@Component({\n selector: 'c-offcanvas',\n templateUrl: './offcanvas.component.html',\n styleUrls: ['./offcanvas.component.scss'],\n exportAs: 'cOffcanvas',\n imports: [A11yModule],\n hostDirectives: [{ directive: ThemeDirective, inputs: ['dark'] }],\n host: {\n '[attr.id]': 'id()',\n '[inert]': 'ariaHidden()',\n '[attr.role]': 'role()',\n '[aria-modal]': 'ariaModal()',\n '[attr.tabindex]': 'tabIndex',\n '[class]': 'hostClasses()',\n '(document:keydown)': 'onKeyDownHandler($event)'\n }\n})\nexport class OffcanvasComponent implements OnInit, OnDestroy {\n // Treats input as boolean value, even if provided as string or other types. Uses angular coercion mechanism\n static ngAcceptInputType_ariaModal: BooleanInput;\n static ngAcceptInputType_keyboard: BooleanInput;\n static ngAcceptInputType_scroll: BooleanInput;\n static ngAcceptInputType_visible: BooleanInput;\n\n readonly #document = inject<Document>(DOCUMENT);\n readonly #platformId = inject(PLATFORM_ID);\n readonly #renderer = inject(Renderer2);\n readonly #hostElement = inject(ElementRef);\n readonly #offcanvasService = inject(OffcanvasService);\n readonly #backdropService = inject(BackdropService);\n readonly #breakpointObserver = inject(BreakpointObserver);\n readonly #destroyRef = inject(DestroyRef);\n\n /**\n * Apply a backdrop on the body while offcanvas is open.\n * @returns boolean | 'static'\n * @default true\n */\n readonly backdrop = input<boolean | 'static'>(true);\n\n /**\n * Appends the offcanvas to a specific element. You can pass an HTML element or function that returns a single element. By default, `document.body`.\n * @since 5.7.21\n * @returns Element | (() => Element | null) | null\n * @default document.body\n */\n readonly container = input<Element | (() => Element | null) | null>(this.#document.body);\n\n /**\n * Closes the offcanvas when the escape key is pressed\n * @returns boolean\n * @default true\n */\n readonly keyboard = input(true, { transform: booleanAttribute });\n\n /**\n * Offcanvas placement\n * @returns string | 'start' | 'end' | 'top' | 'bottom'\n * @default 'start'\n */\n readonly placement = input<string | 'start' | 'end' | 'top' | 'bottom'>('start');\n\n /**\n * Generates offcanvas using a portal\n * @since 5.7.21\n * @returns boolean\n * @default false\n */\n readonly portal = input(false, { transform: booleanAttribute });\n\n /**\n * Responsive offcanvas property hides content outside the viewport from a specified breakpoint and down.\n * @returns (boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl') | undefined\n * @default true\n * @since 4.3.10\n */\n readonly responsive = input<(boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl') | undefined>(true);\n\n /**\n * Html id attribute, required for programmatic visibility change.\n * @returns string\n */\n readonly id = input(`offcanvas-${this.placement()}-${nextId++}`);\n\n /**\n * Default role for offcanvas\n * @returns string\n * @default 'dialog'\n */\n readonly role = input<string>('dialog');\n\n /**\n * Set aria-modal html attr for offcanvas\n * @returns boolean\n * @default true\n */\n readonly ariaModal = input(true, { transform: booleanAttribute });\n\n #activeBackdrop!: HTMLDivElement;\n #backdropClickSubscription!: Subscription;\n #layoutChangeSubscription!: Subscription;\n #hideFallbackId?: ReturnType<typeof setTimeout>;\n #isShown = false;\n\n /**\n * Allow body scrolling while offcanvas is visible.\n * @returns boolean\n * @default false\n */\n readonly scroll = input(false, { transform: booleanAttribute });\n\n /**\n * Toggle the visibility of offcanvas component.\n * @returns boolean\n * @default false\n */\n readonly visibleInput = input(false, { transform: booleanAttribute, alias: 'visible' });\n\n readonly visible = linkedSignal(this.visibleInput);\n\n protected readonly domPortal = new DomPortal(this.#hostElement.nativeElement);\n protected domPortalOutlet!: DomPortalOutlet;\n\n protected domPortalCleanup = () => {\n if (this.domPortalOutlet?.hasAttached()) {\n this.domPortalOutlet.detach();\n }\n };\n\n readonly #portalEffect = effect(() => {\n const visible = this.visible();\n const containerInput = this.container();\n const portalEnabled = this.portal();\n untracked(() => {\n if (!visible) {\n return;\n }\n const container = typeof containerInput === 'function' ? containerInput() : containerInput;\n this.domPortalCleanup();\n if (container && portalEnabled) {\n this.domPortalOutlet = new DomPortalOutlet(container);\n this.domPortalOutlet.attach(this.domPortal);\n // Re-inserting the host drops its computed style, so the show classes applied later in\n // this same cycle would have no starting point to animate from. Force a reflow to commit it.\n void this.#hostElement.nativeElement.offsetHeight;\n }\n });\n });\n\n readonly visibleEffect = effect(() => {\n const visible = this.visible();\n this.animateStart(visible);\n if (visible) {\n this.setBackdrop(this.backdrop());\n this.setFocus();\n } else {\n this.setBackdrop(false);\n }\n this.layoutChangeSubscribe(visible);\n this.visibleChange?.emit(visible);\n });\n\n /**\n * Event triggered on visible change.\n * @returns boolean\n */\n readonly visibleChange = output<boolean>();\n\n readonly hostClasses = computed(() => {\n const responsive = this.responsive();\n const placement = this.placement();\n const visible = this.visible();\n return {\n offcanvas: typeof responsive === 'boolean',\n [`offcanvas-${responsive}`]: typeof responsive !== 'boolean',\n [`offcanvas-${placement}`]: !!placement,\n show: visible\n } as Record<string, boolean>;\n });\n\n readonly ariaHidden = computed(() => {\n return this.visible() ? null : true;\n });\n\n get tabIndex(): string | null {\n return '-1';\n }\n\n get show(): boolean {\n return this.visible();\n }\n\n set show(value: boolean) {\n this.visible.set(value);\n }\n\n get responsiveBreakpoint(): string | false {\n const responsive = this.responsive();\n if (typeof responsive !== 'string') {\n return false;\n }\n const element: Element = this.#document.documentElement;\n const breakpointValue =\n this.#document.defaultView\n ?.getComputedStyle(element)\n ?.getPropertyValue(`--cui-breakpoint-${responsive.trim()}`) ?? false;\n return breakpointValue ? `${parseFloat(breakpointValue.trim()) - 0.02}px` : false;\n }\n\n animateStart(visible: boolean = this.visible()): void {\n const wasShown = this.#isShown;\n this.#isShown = visible;\n this.#clearHideFallback();\n if (visible) {\n if (!this.scroll()) {\n this.#backdropService.hideScrollbar();\n }\n this.#renderer.removeClass(this.#hostElement.nativeElement, 'hiding');\n this.#renderer.addClass(this.#hostElement.nativeElement, 'showing');\n } else {\n this.#renderer.removeClass(this.#hostElement.nativeElement, 'showing');\n this.#renderer.addClass(this.#hostElement.nativeElement, 'hiding');\n if (wasShown) {\n this.#scheduleHideFallback();\n }\n }\n }\n\n onKeyDownHandler(event: KeyboardEvent): void {\n if (event.key === 'Escape' && this.keyboard() && this.visible() && this.backdrop() !== 'static') {\n this.#offcanvasService.toggle({ show: false, id: this.id() });\n }\n }\n\n ngOnInit(): void {\n this.stateToggleSubscribe();\n setTimeout(() => {\n // hotfix to avoid offcanvas flicker on the first render\n this.#renderer.setStyle(this.#hostElement.nativeElement, 'display', 'flex');\n });\n\n this.#hostElement.nativeElement.addEventListener('transitionend', this.#handleTransitionEnd);\n }\n\n ngOnDestroy(): void {\n this.#offcanvasService.toggle({ show: false, id: this.id() });\n this.#removeEventListeners();\n this.#clearHideFallback();\n this.setBackdrop(false);\n this.domPortalCleanup();\n }\n\n readonly #removeEventListeners = () => {\n this.#hostElement.nativeElement.removeEventListener('transitionend', this.#handleTransitionEnd);\n };\n\n readonly #handleTransitionEnd = (event: TransitionEvent) => {\n const offcanvasElement = this.#hostElement.nativeElement;\n if (event.target === offcanvasElement && event.propertyName === 'transform') {\n if (this.visible()) {\n this.#renderer.removeClass(offcanvasElement, 'showing');\n } else {\n this.#completeHide();\n }\n }\n };\n\n #completeHide(): void {\n this.#clearHideFallback();\n this.#renderer.removeClass(this.#hostElement.nativeElement, 'hiding');\n this.#renderer.removeStyle(this.#document.body, 'overflow');\n this.#renderer.removeStyle(this.#document.body, 'paddingRight');\n this.domPortalCleanup();\n }\n\n // `transitionend` never fires when there is nothing to animate — reduced motion, or a responsive\n // offcanvas above its breakpoint — which would leave the body scroll-locked and the host parked\n // in the portal container.\n #scheduleHideFallback(): void {\n const style = this.#document.defaultView?.getComputedStyle(this.#hostElement.nativeElement);\n const duration = Number.parseFloat(style?.transitionDuration ?? '') || 0;\n const delay = Number.parseFloat(style?.transitionDelay ?? '') || 0;\n this.#hideFallbackId = setTimeout(() => this.#completeHide(), (duration + delay) * 1000 + 5);\n }\n\n #clearHideFallback(): void {\n clearTimeout(this.#hideFallbackId);\n this.#hideFallbackId = undefined;\n }\n\n setFocus(): void {\n if (isPlatformBrowser(this.#platformId)) {\n setTimeout(() => this.#hostElement.nativeElement.focus());\n }\n }\n\n private stateToggleSubscribe(): void {\n this.#offcanvasService.offcanvasState$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe((action) => {\n if (this === action.offcanvas || this.id() === action.id) {\n if ('show' in action) {\n this.visible.update((value) => (action?.show === 'toggle' ? !value : action.show));\n }\n }\n });\n }\n\n private backdropClickSubscribe(subscribe: boolean = true): void {\n if (subscribe) {\n this.#backdropClickSubscription = this.#backdropService.backdropClick$\n .pipe(takeUntilDestroyed(this.#destroyRef))\n .subscribe((clicked) => {\n this.#offcanvasService.toggle({ show: !clicked, id: this.id() });\n });\n } else {\n this.#backdropClickSubscription?.unsubscribe();\n }\n }\n\n protected setBackdrop(setBackdrop: boolean | 'static'): void {\n this.#activeBackdrop = !!setBackdrop\n ? this.#backdropService.setBackdrop('offcanvas')\n : this.#backdropService.clearBackdrop(this.#activeBackdrop);\n setBackdrop === true ? this.backdropClickSubscribe() : this.backdropClickSubscribe(false);\n }\n\n private layoutChangeSubscribe(subscribe: boolean = true): void {\n if (subscribe) {\n if (!this.responsiveBreakpoint) {\n return;\n }\n\n const responsiveBreakpoint = `(max-width: ${this.responsiveBreakpoint})`;\n\n const layoutChanges = this.#breakpointObserver.observe([responsiveBreakpoint]);\n\n this.#layoutChangeSubscription = layoutChanges\n .pipe(\n filter((breakpointState) => !breakpointState.matches),\n takeUntilDestroyed(this.#destroyRef)\n )\n .subscribe((breakpointState: BreakpointState) => {\n this.visible.set(breakpointState.matches);\n });\n } else {\n this.#layoutChangeSubscription?.unsubscribe();\n }\n }\n}\n","<div cdkTrapFocus cdkTrapFocusAutoCapture>\n <ng-content />\n</div>\n\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-offcanvas-body',\n template: '<ng-content />',\n styleUrls: ['./offcanvas-body.component.scss'],\n host: { class: 'offcanvas-body' }\n})\nexport class OffcanvasBodyComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-offcanvas-header',\n template: '<ng-content />',\n host: { class: 'offcanvas-header' }\n})\nexport class OffcanvasHeaderComponent {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cOffcanvasTitle]',\n host: { class: 'offcanvas-title' }\n})\nexport class OffcanvasTitleDirective {}\n","import { Directive, inject, input } from '@angular/core';\n\nimport { OffcanvasService } from '../offcanvas.service';\n\n@Directive({\n selector: '[cOffcanvasToggle]',\n host: {\n '(click)': 'toggleOpen($event)'\n }\n})\nexport class OffcanvasToggleDirective {\n readonly #offcanvasService = inject(OffcanvasService);\n\n /**\n * Html id attr of offcanvas to toggle.\n * @returns string\n */\n readonly id = input<string>(undefined, { alias: 'cOffcanvasToggle' });\n\n protected toggleOpen($event: MouseEvent): void {\n $event.preventDefault();\n this.#offcanvasService.toggle({ show: 'toggle', id: this.id() });\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { OffcanvasComponent } from './offcanvas/offcanvas.component';\nimport { OffcanvasBodyComponent } from './offcanvas-body/offcanvas-body.component';\nimport { OffcanvasHeaderComponent } from './offcanvas-header/offcanvas-header.component';\nimport { OffcanvasTitleDirective } from './offcanvas-title/offcanvas-title.directive';\nimport { OffcanvasToggleDirective } from './offcanvas-toggle/offcanvas-toggle.directive';\nimport { OffcanvasService } from './offcanvas.service';\nimport { BackdropService } from '../backdrop/backdrop.service';\n\n@NgModule({\n exports: [\n OffcanvasBodyComponent,\n OffcanvasComponent,\n OffcanvasHeaderComponent,\n OffcanvasTitleDirective,\n OffcanvasToggleDirective\n ],\n imports: [\n OffcanvasBodyComponent,\n OffcanvasComponent,\n OffcanvasHeaderComponent,\n OffcanvasTitleDirective,\n OffcanvasToggleDirective\n ],\n providers: [\n OffcanvasService,\n BackdropService\n ]\n})\nexport class OffcanvasModule {}\n","import { booleanAttribute, computed, Directive, input } from '@angular/core';\nimport { BooleanInput } from '@angular/cdk/coercion';\n\n@Directive({\n selector: '[cPageLink]',\n host: { class: 'page-link', '[class]': 'hostClasses()' }\n})\nexport class PageLinkDirective {\n static ngAcceptInputType_disabled: BooleanInput;\n\n /**\n * Toggle the disabled state for the component.\n * @returns boolean\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n readonly hostClasses = computed(() => {\n return {\n 'page-link': true,\n disabled: this.disabled()\n } as Record<string, boolean>;\n });\n}\n","import {\n booleanAttribute,\n computed,\n contentChild,\n Directive,\n effect,\n ElementRef,\n inject,\n input,\n Renderer2\n} from '@angular/core';\nimport { BooleanInput } from '@angular/cdk/coercion';\n\nimport { PageLinkDirective } from '../page-link/page-link.directive';\n\n@Directive({\n selector: '[cPageItem]',\n host: {\n class: 'page-item',\n '[class]': 'hostClasses()',\n '[aria-current]': 'ariaCurrent()'\n }\n})\nexport class PageItemDirective {\n static ngAcceptInputType_disabled: BooleanInput;\n\n readonly #renderer = inject(Renderer2);\n\n /**\n * Toggle the active state for the component.\n * @returns boolean\n */\n readonly active = input<boolean>();\n\n /**\n * Toggle the disabled state for the component.\n * @returns boolean\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n readonly ariaCurrent = computed(() => {\n return this.active() ? 'page' : null;\n });\n\n readonly hostClasses = computed(() => {\n return {\n 'page-item': true,\n disabled: this.disabled(),\n active: this.active()\n } as Record<string, boolean>;\n });\n\n readonly pageLinkElementRef = contentChild(PageLinkDirective, { read: ElementRef });\n\n readonly pageLinkElementRefEffect = effect(() => {\n const pageLinkElementRef = this.pageLinkElementRef();\n const disabled = this.disabled();\n if (!pageLinkElementRef) {\n return;\n }\n const pageLinkElement = pageLinkElementRef.nativeElement;\n\n if (disabled) {\n this.#renderer.setAttribute(pageLinkElement, 'aria-disabled', 'true');\n this.#renderer.setAttribute(pageLinkElement, 'tabindex', '-1');\n } else {\n this.#renderer.removeAttribute(pageLinkElement, 'aria-disabled');\n this.#renderer.removeAttribute(pageLinkElement, 'tabindex');\n }\n });\n}\n","import { Component } from '@angular/core';\nimport { PageItemDirective } from './page-item.directive';\n\n@Component({\n selector: 'c-page-item',\n template: '<ng-content />',\n styleUrls: ['./page-item.component.scss']\n})\nexport class PageItemComponent extends PageItemDirective {}\n","import { Component, computed, input } from '@angular/core';\n\n@Component({\n selector: 'c-pagination',\n templateUrl: './pagination.component.html',\n host: {\n '[attr.role]': 'role()'\n }\n})\nexport class PaginationComponent {\n /**\n * Set the alignment of pagination components.\n * @returns 'start' | 'center' | 'end' | ''\n */\n readonly align = input<'start' | 'center' | 'end' | ''>('');\n /**\n * Size the component small or large.\n * @returns '' | 'sm' | 'lg'\n */\n readonly size = input<'' | 'sm' | 'lg'>();\n /**\n * Default role for pagination\n * @returns string\n * @default 'navigation'\n */\n readonly role = input<string>('navigation');\n\n readonly paginationClass = computed(() => {\n const size = this.size();\n const align = this.align();\n return {\n pagination: true,\n [`pagination-${size}`]: !!size,\n [`justify-content-${align}`]: !!align\n } as Record<string, boolean>;\n });\n}\n","<ul [class]=\"paginationClass()\">\n <ng-content />\n</ul>\n","import { NgModule } from '@angular/core';\nimport { PaginationComponent } from './pagination/pagination.component';\nimport { PageItemComponent } from './page-item/page-item.component';\nimport { PageItemDirective } from './page-item/page-item.directive';\nimport { PageLinkDirective } from './page-link/page-link.directive';\n\n@NgModule({\n exports: [\n PageItemComponent,\n PageItemDirective,\n PageLinkDirective,\n PaginationComponent\n ],\n imports: [\n PageItemComponent,\n PageItemDirective,\n PageLinkDirective,\n PaginationComponent\n ]\n})\nexport class PaginationModule {}\n","import { booleanAttribute, computed, Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[cPlaceholder]',\n exportAs: 'cPlaceholder',\n host: {\n '[class]': 'hostClasses()',\n '[aria-hidden]': 'ariaHidden()'\n }\n})\nexport class PlaceholderDirective {\n /**\n * Toggle placeholder visibility\n * @returns boolean\n * @default false\n */\n readonly visible = input(false, { transform: booleanAttribute, alias: 'cPlaceholder' });\n\n /**\n * Size the placeholder xs, small, large.\n */\n readonly size = input<'xs' | 'sm' | 'lg'>(undefined, { alias: 'cPlaceholderSize' });\n\n readonly ariaHidden = computed(() => {\n return this.visible() ? null : true;\n });\n\n readonly hostClasses = computed(() => {\n const size = this.size();\n return {\n placeholder: this.visible(),\n [`placeholder-${size}`]: !!size\n } as Record<string, boolean>;\n });\n}\n","import { computed, contentChild, Directive, input, InputSignal } from '@angular/core';\nimport { PlaceholderDirective } from './placeholder.directive';\n\n@Directive({\n selector: '[cPlaceholderAnimation]',\n host: {\n '[class]': 'hostClasses()'\n }\n})\nexport class PlaceholderAnimationDirective {\n /**\n * Animation type for placeholder\n * @returns 'glow' | 'wave'\n * @default undefined\n */\n readonly animation: InputSignal<'glow' | 'wave' | undefined> = input<'glow' | 'wave' | undefined>(undefined, {\n alias: 'cPlaceholderAnimation'\n });\n\n readonly placeholder = contentChild(PlaceholderDirective);\n\n readonly hostClasses = computed(() => {\n const animation = this.animation();\n return {\n [`placeholder-${animation}`]: this.placeholder()?.visible() && !!animation\n } as Record<string, boolean>;\n });\n}\n","import { NgModule } from '@angular/core';\nimport { PlaceholderDirective } from './placeholder.directive';\nimport { PlaceholderAnimationDirective } from './placeholder-animation.directive';\n\n@NgModule({\n imports: [\n PlaceholderDirective,\n PlaceholderAnimationDirective\n ],\n exports: [\n PlaceholderDirective,\n PlaceholderAnimationDirective\n ]\n})\nexport class PlaceholderModule {\n}\n","import {\n booleanAttribute,\n Component,\n computed,\n effect,\n inject,\n input,\n OnDestroy,\n Renderer2,\n TemplateRef,\n viewChild,\n ViewContainerRef\n} from '@angular/core';\n\n@Component({\n selector: 'c-popover',\n templateUrl: './popover.component.html',\n host: {\n class: 'popover fade bs-popover-auto',\n '[class]': 'hostClasses()',\n '[attr.role]': 'role()',\n '[attr.id]': 'id()'\n }\n})\nexport class PopoverComponent implements OnDestroy {\n readonly renderer = inject(Renderer2);\n\n /**\n * Content of popover\n * @returns string | TemplateRef<any>\n */\n readonly content = input<string | TemplateRef<any>>('');\n\n readonly #contentEffect = effect(() => {\n this.updateView(this.content());\n });\n\n /**\n * Toggle the visibility of popover component.\n * @returns boolean\n */\n readonly visible = input(false, { transform: booleanAttribute });\n\n /**\n * The `id` HTML attribute of the popover.\n * @returns string\n */\n readonly id = input<string>();\n\n /**\n * Default role for popover.\n * @returns string\n * @default 'tooltip'\n */\n readonly role = input('tooltip');\n\n readonly viewContainerRef = viewChild('popoverTemplate', { read: ViewContainerRef });\n private textNode!: Text;\n\n readonly hostClasses = computed(() => {\n return {\n popover: true,\n fade: true,\n show: this.visible(),\n 'bs-popover-auto': true\n } as Record<string, boolean>;\n });\n\n ngOnDestroy(): void {\n this.clear();\n }\n\n private clear(): void {\n this.viewContainerRef()?.clear();\n if (!!this.textNode) {\n this.renderer.removeChild(this.textNode.parentNode, this.textNode);\n }\n }\n\n private updateView(content: string | TemplateRef<any>): void {\n this.clear();\n\n if (!content) {\n return;\n }\n\n if (content instanceof TemplateRef) {\n this.viewContainerRef()?.createEmbeddedView(content);\n } else {\n const textNodeContent = this.renderer.createText(content);\n this.textNode = this.renderer.createElement('div');\n this.renderer.addClass(this.textNode, 'popover-body');\n this.renderer.appendChild(this.textNode, textNodeContent);\n\n const element = this.viewContainerRef()?.element.nativeElement;\n this.renderer.appendChild(element.parentNode, this.textNode);\n }\n }\n}\n","<ng-container>\n <div [class.popover-arrow]=\"!!content()\" data-popper-arrow></div>\n <ng-container #popoverTemplate />\n</ng-container>\n","import {\n afterRenderEffect,\n AfterViewInit,\n ChangeDetectorRef,\n ComponentRef,\n computed,\n DestroyRef,\n Directive,\n DOCUMENT,\n effect,\n ElementRef,\n inject,\n input,\n model,\n OnDestroy,\n OnInit,\n Renderer2,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { debounceTime, filter, finalize } from 'rxjs/operators';\nimport { createPopper, Instance, Options } from '@popperjs/core';\n\nimport { Triggers } from '../coreui.types';\nimport { IListenersConfig, IntersectionService, ListenersService } from '../services';\nimport { ElementRefDirective } from '../shared';\nimport { PopoverComponent } from './popover/popover.component';\n\n@Directive({\n selector: '[cPopover]',\n exportAs: 'cPopover',\n providers: [ListenersService, IntersectionService],\n host: { '[aria-describedby]': 'ariaDescribedBy' }\n})\nexport class PopoverDirective implements OnDestroy, OnInit, AfterViewInit {\n readonly #renderer = inject(Renderer2);\n readonly #hostElement = inject(ElementRef);\n readonly #viewContainerRef = inject(ViewContainerRef);\n readonly #listenersService = inject(ListenersService);\n readonly #changeDetectorRef = inject(ChangeDetectorRef);\n readonly #intersectionService = inject(IntersectionService);\n readonly #destroyRef = inject(DestroyRef);\n readonly #document = inject(DOCUMENT);\n #timerId1: ReturnType<typeof setTimeout> | undefined;\n #timerId2: ReturnType<typeof setTimeout> | undefined;\n\n /**\n * Content of popover\n * @returns string | TemplateRef<any> | undefined\n */\n readonly content = input<string | TemplateRef<any> | undefined>(undefined, { alias: 'cPopover' });\n\n readonly #contentEffect = effect(() => {\n if (this.content()) {\n this.destroyTooltipElement();\n }\n });\n\n /**\n * Optional popper Options object, takes precedence over cPopoverPlacement prop\n * @returns Partial<Options>\n */\n readonly popperOptions = input<Partial<Options>>({}, { alias: 'cPopoverOptions' });\n\n readonly #popperOptionsEffect = effect(() => {\n this._popperOptions = {\n ...this._popperOptions,\n placement: this.placement(),\n ...this.popperOptions()\n };\n });\n\n readonly popperOptionsComputed = computed(() => {\n return { placement: this.placement(), ...this._popperOptions };\n });\n\n /**\n * Describes the placement of your component after Popper.js has applied all the modifiers that may have flipped or altered the originally provided placement property.\n * @returns 'top' | 'bottom' | 'left' | 'right'\n * @default 'top'\n */\n readonly placement = input<'top' | 'bottom' | 'left' | 'right'>('top', { alias: 'cPopoverPlacement' });\n\n /**\n * ElementRefDirective for positioning the tooltip on reference element\n * @returns ElementRefDirective | undefined\n * @default undefined\n * @since 5.7.27\n */\n readonly reference = input<ElementRefDirective | undefined>(undefined, { alias: 'cPopoverRef' });\n\n readonly referenceRef = computed(() => this.reference()?.elementRef ?? this.#hostElement);\n\n /**\n * Sets which event handlers you’d like provided to your toggle prop. You can specify one trigger or an array of them.\n * @returns Triggers | Triggers[]\n */\n readonly trigger = input<Triggers | Triggers[]>('hover', { alias: 'cPopoverTrigger' });\n\n /**\n * Toggle the visibility of popover component.\n * @returns boolean\n */\n readonly visible = model(false, { alias: 'cPopoverVisible' });\n\n readonly #visibleEffect = afterRenderEffect({\n // this fixes RuntimeError: NG0500: During hydration Angular expected <abc> but found <xyz>.\n // Find more at https://angular.dev/errors/NG0500\n write: () => {\n this.visible() ? this.addTooltipElement() : this.removeTooltipElement();\n }\n });\n\n readonly #handleEscapeKey = (event: KeyboardEvent) => {\n if (event.key !== 'Escape') {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n this.visible.set(false);\n };\n\n readonly #escapeEffect = effect((onCleanup) => {\n if (!this.visible()) {\n return;\n }\n\n const useCapture = true;\n\n this.#document.addEventListener('keydown', this.#handleEscapeKey, useCapture);\n onCleanup(() => {\n this.#document.removeEventListener('keydown', this.#handleEscapeKey, useCapture);\n });\n });\n\n get ariaDescribedBy(): string | null {\n return this.tooltipId ? this.tooltipId : null;\n }\n\n private tooltip!: HTMLDivElement;\n private tooltipId!: string;\n private tooltipRef!: ComponentRef<PopoverComponent>;\n private popperInstance!: Instance;\n\n private _popperOptions: Partial<Options> = {\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 9]\n }\n }\n ]\n };\n\n ngAfterViewInit(): void {\n this.intersectionServiceSubscribe();\n }\n\n ngOnDestroy(): void {\n this.clearListeners();\n this.destroyTooltipElement();\n }\n\n ngOnInit(): void {\n this.setListeners();\n }\n\n private setListeners(): void {\n const config: IListenersConfig = {\n hostElement: this.#hostElement,\n trigger: this.trigger(),\n callbackToggle: () => {\n this.visible.update((visible) => !visible);\n },\n callbackOff: () => {\n this.visible.set(false);\n },\n callbackOn: () => {\n this.visible.set(true);\n }\n };\n this.#listenersService.setListeners(config);\n }\n\n private clearListeners(): void {\n this.#listenersService.clearListeners();\n }\n\n private intersectionServiceSubscribe(): void {\n this.#intersectionService.createIntersectionObserver(this.referenceRef());\n this.#intersectionService.intersecting$\n .pipe(\n filter((next) => next.hostElement === this.referenceRef()),\n debounceTime(100),\n finalize(() => {\n this.#intersectionService.unobserve(this.referenceRef());\n }),\n takeUntilDestroyed(this.#destroyRef)\n )\n .subscribe((next) => {\n this.visible.set(next.isIntersecting ? this.visible() : false);\n });\n }\n\n private getUID(prefix: string): string {\n let uid = prefix ?? 'random-id';\n do {\n uid = `${prefix}-${Math.floor(Math.random() * 1000000).toString(10)}`;\n } while (this.#document.getElementById(uid));\n\n return uid;\n }\n\n private createTooltipElement(): void {\n if (!this.tooltipRef) {\n this.tooltipRef = this.#viewContainerRef.createComponent<PopoverComponent>(PopoverComponent);\n // this.viewContainerRef.detach();\n }\n }\n\n private destroyTooltipElement(): void {\n this.tooltip?.remove();\n this.tooltipRef?.destroy();\n // @ts-ignore\n this.tooltipRef = undefined;\n this.popperInstance?.destroy();\n this.#viewContainerRef?.detach();\n this.#viewContainerRef?.clear();\n }\n\n private addTooltipElement(): void {\n if (!this.content()) {\n this.destroyTooltipElement();\n return;\n }\n\n if (!this.tooltipRef) {\n this.createTooltipElement();\n }\n\n this.tooltipRef?.setInput('content', this.content() ?? '');\n\n this.tooltip = this.tooltipRef?.location.nativeElement;\n this.#renderer.addClass(this.tooltip, 'd-none');\n this.#renderer.addClass(this.tooltip, 'fade');\n\n this.popperInstance?.destroy();\n\n this.#viewContainerRef.insert(this.tooltipRef.hostView);\n this.#renderer.appendChild(this.#document.body, this.tooltip);\n\n this.popperInstance = createPopper(this.referenceRef().nativeElement, this.tooltip, {\n ...this.popperOptionsComputed()\n });\n\n if (!this.visible()) {\n this.removeTooltipElement();\n return;\n }\n\n clearTimeout(this.#timerId2);\n clearTimeout(this.#timerId1);\n this.#timerId1 = setTimeout(() => {\n this.tooltipId = this.getUID('popover');\n this.tooltipRef?.setInput('id', this.tooltipId);\n this.#renderer.removeClass(this.tooltip, 'd-none');\n this.tooltipRef?.setInput('visible', this.visible());\n this.popperInstance?.forceUpdate();\n this.#changeDetectorRef?.markForCheck();\n this.#timerId1 = undefined;\n }, 150);\n }\n\n private removeTooltipElement(): void {\n this.tooltipId = '';\n if (!this.tooltipRef) {\n return;\n }\n\n clearTimeout(this.#timerId2);\n this.#timerId2 = setTimeout(() => {\n this.#viewContainerRef?.detach();\n this.#timerId2 = undefined;\n }, 300);\n\n this.tooltipRef.setInput('visible', false);\n this.tooltipRef.setInput('id', undefined);\n this.#changeDetectorRef.markForCheck();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { PopoverDirective } from './popover.directive';\nimport { PopoverComponent } from './popover/popover.component';\n\n@NgModule({\n exports: [\n PopoverDirective,\n PopoverComponent\n ],\n imports: [\n PopoverDirective,\n PopoverComponent\n ]\n})\nexport class PopoverModule {}\n","import { computed, Injectable, signal } from '@angular/core';\n\n@Injectable()\nexport class ProgressService {\n readonly stacked = signal(false);\n readonly value = signal<number | undefined>(undefined);\n readonly precision = signal(0);\n readonly min = signal(0);\n readonly max = signal(100);\n\n readonly percent = computed(() => {\n return +((((this.value() ?? 0) - this.min()) / (this.max() - this.min())) * 100).toFixed(this.precision());\n });\n}\n","import {\n booleanAttribute,\n Directive,\n effect,\n EffectRef,\n ElementRef,\n inject,\n input,\n numberAttribute,\n Renderer2\n} from '@angular/core';\nimport { Colors } from '../coreui.types';\nimport { ProgressService } from './progress.service';\n\n@Directive({\n selector: '[cProgressBar]',\n exportAs: 'cProgressBar'\n})\nexport class ProgressBarDirective {\n readonly #renderer = inject(Renderer2);\n readonly #hostElement = inject(ElementRef);\n readonly #progressService = inject(ProgressService);\n\n readonly #valuesEffect: EffectRef = effect(() => {\n const host: HTMLElement = this.#hostElement.nativeElement;\n const value = this.#progressService.value();\n const percent = this.#progressService.percent();\n const stacked = this.#progressService.stacked();\n if (value === undefined) {\n for (const name of ['aria-valuenow', 'aria-valuemax', 'aria-valuemin', 'role']) {\n this.#renderer.removeAttribute(host, name);\n }\n } else {\n const { min, max } = this.#progressService;\n this.#renderer.setAttribute(host, 'aria-valuenow', String(value));\n this.#renderer.setAttribute(host, 'aria-valuemin', String(min()));\n this.#renderer.setAttribute(host, 'aria-valuemax', String(max()));\n this.#renderer.setAttribute(host, 'role', this.role());\n }\n const tagName = host.tagName;\n if (percent >= 0 && ((stacked && tagName === 'C-PROGRESS') || (!stacked && tagName !== 'C-PROGRESS'))) {\n this.#renderer.setStyle(host, 'width', `${percent}%`);\n } else {\n this.#renderer.removeStyle(host, 'width');\n }\n });\n\n /**\n * Use to animate the stripes right to left via CSS3 animations.\n * @returns boolean\n */\n readonly animated = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly color = input<Colors>();\n\n /**\n * Number of decimal places to round the computed percent value to.\n * @returns number\n * @default 0\n */\n readonly precision = input(0, { transform: numberAttribute });\n\n /**\n * The percent value the ProgressBar.\n * @returns number\n * @default 0\n */\n readonly value = input(0, { transform: numberAttribute });\n\n /**\n * Set the progress bar variant to optional striped.\n * @values 'striped'\n * @default undefined\n */\n readonly variant = input<'striped'>();\n\n /**\n * The max value of the ProgressBar.\n * @returns number\n * @default 100\n */\n readonly max = input(100, { transform: numberAttribute });\n\n /**\n * Set default html role attribute.\n * @returns string\n */\n readonly role = input<string>('progressbar');\n\n readonly #serviceEffect = effect(() => {\n this.#progressService.precision.set(this.precision());\n const max = this.max();\n this.#progressService.max.set(isNaN(max) || max <= 0 ? 100 : max);\n const value = this.value();\n this.#progressService.value.set(value && !isNaN(value) ? value : undefined);\n });\n}\n","import { Component, computed, inject } from '@angular/core';\nimport { ProgressBarDirective } from './progress-bar.directive';\n\n@Component({\n selector: 'c-progress-bar',\n template: '<ng-content />',\n hostDirectives: [\n {\n directive: ProgressBarDirective,\n inputs: ['animated', 'color', 'max', 'role', 'value', 'variant']\n }\n ],\n host: { class: 'progress-bar', '[class]': 'hostClasses()' }\n})\nexport class ProgressBarComponent {\n readonly #progressBarDirective: ProgressBarDirective | null = inject(ProgressBarDirective, { optional: true });\n\n readonly hostClasses = computed(() => {\n const animated = this.#progressBarDirective?.animated();\n const color = this.#progressBarDirective?.color();\n const variant = this.#progressBarDirective?.variant();\n return {\n 'progress-bar': true,\n 'progress-bar-animated': !!animated,\n [`progress-bar-${variant}`]: !!variant,\n [`bg-${color}`]: !!color\n } as Record<string, boolean>;\n });\n}\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'c-progress-stacked',\n exportAs: 'cProgressStacked',\n template: '<ng-content />',\n styles: `\n :host {\n display: flex;\n }\n `,\n host: { '[class.progress-stacked]': 'stacked()' }\n})\nexport class ProgressStackedComponent {\n /**\n * Toggle the `progress-stacked` class on the host element.\n * @returns boolean\n * @default true\n */\n readonly stacked = input(true);\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n Component,\n computed,\n contentChildren,\n ElementRef,\n inject,\n input,\n numberAttribute\n} from '@angular/core';\nimport { ProgressBarComponent } from './progress-bar.component';\nimport { ProgressBarDirective } from './progress-bar.directive';\nimport { ProgressStackedComponent } from './progress-stacked.component';\nimport { ProgressService } from './progress.service';\n\n@Component({\n selector: 'c-progress',\n exportAs: 'cProgress',\n templateUrl: './progress.component.html',\n imports: [ProgressBarComponent, NgTemplateOutlet],\n styleUrl: './progress.component.scss',\n hostDirectives: [\n {\n directive: ProgressBarDirective,\n inputs: ['animated', 'color', 'max', 'role', 'value', 'variant']\n }\n ],\n host: {\n class: 'progress',\n '[class]': 'hostClasses()',\n '[style.height]': 'hostStyle()'\n },\n providers: [ProgressService]\n})\nexport class ProgressComponent {\n readonly #hostElement = inject(ElementRef);\n protected readonly progressBarDirective: ProgressBarDirective | null = inject(ProgressBarDirective, {\n optional: true\n });\n readonly #stacked: boolean = inject(ProgressStackedComponent, { optional: true })?.stacked() ?? false;\n readonly #progressService = inject(ProgressService);\n\n constructor() {\n this.#progressService.stacked.set(this.#stacked);\n }\n\n readonly stacked = this.#progressService.stacked;\n readonly percent = this.#progressService.percent;\n readonly barValue = this.#progressService.value;\n\n readonly contentProgressBars = contentChildren(ProgressBarComponent);\n\n /**\n * Sets the height of the component. If you set that value the inner `<c-progress-bar>` will automatically resize accordingly.\n * @returns number\n */\n readonly height = input(0, { transform: numberAttribute });\n\n /**\n * Displays thin progress.\n * @returns boolean\n */\n readonly thin = input(false, { transform: booleanAttribute });\n\n /**\n * Change the default color to white.\n * @returns boolean\n */\n readonly white = input(false, { transform: booleanAttribute });\n\n readonly hostClasses = computed(() => {\n return {\n progress: true,\n 'progress-thin': this.thin(),\n 'progress-white': this.white()\n } as Record<string, boolean>;\n });\n\n readonly hostStyle = computed(() => {\n const height = this.height();\n return !!height ? `${height}px` : (this.#hostElement?.nativeElement?.style?.height ?? undefined);\n });\n}\n","@if (contentProgressBars()?.length) {\n <ng-container *ngTemplateOutlet=\"defaultContent\" />\n} @else {\n @let pbd = progressBarDirective;\n <c-progress-bar\n [animated]=\"$safeNavigationMigration(pbd?.animated())\"\n [variant]=\"$safeNavigationMigration(pbd?.variant())\"\n [color]=\"$safeNavigationMigration(pbd?.color())\"\n [value]=\"barValue()\"\n >\n <ng-container *ngTemplateOutlet=\"defaultContent\" />\n </c-progress-bar>\n}\n\n<ng-template #defaultContent>\n <ng-content />\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { ProgressComponent } from './progress.component';\nimport { ProgressBarComponent } from './progress-bar.component';\nimport { ProgressBarDirective } from './progress-bar.directive';\nimport { ProgressStackedComponent } from './progress-stacked.component';\n\n@NgModule({\n exports: [\n ProgressComponent,\n ProgressBarComponent,\n ProgressBarDirective,\n ProgressStackedComponent\n ],\n imports: [\n ProgressComponent,\n ProgressBarComponent,\n ProgressBarDirective,\n ProgressStackedComponent\n ]\n})\nexport class ProgressModule {}\n","export type SearchButtonShortcut = {\n key: string;\n modifiers: {\n alt: boolean;\n ctrl: boolean;\n meta: boolean;\n shift: boolean;\n };\n shortcut: string;\n};\n\nconst MODIFIER_KEYS = new Set(['alt', 'ctrl', 'meta', 'shift']);\nconst KEY_ALIASES: Record<string, string> = {\n ' ': 'space',\n cmd: 'meta',\n command: 'meta',\n control: 'ctrl',\n esc: 'escape',\n option: 'alt',\n return: 'enter',\n spacebar: 'space'\n};\nconst KEY_LABELS: Record<string, string> = {\n alt: 'Alt',\n ctrl: 'Ctrl',\n meta: '⌘',\n shift: 'Shift',\n space: 'Space'\n};\nconst EDITABLE_TARGET_SELECTOR =\n 'input, textarea, select, [contenteditable=\"\"], [contenteditable=\"true\"], [contenteditable=\"plaintext-only\"]';\n\nexport const normalizeKey = (key: string) => KEY_ALIASES[key.toLowerCase()] || key.toLowerCase();\n\nexport const parseShortcut = (shortcut: string): SearchButtonShortcut[] =>\n shortcut\n .split(',')\n .map((value) => value.trim())\n .filter(Boolean)\n .map((value) => {\n const keys = value.split('+').map((part) => normalizeKey(part.trim()));\n const modifiers = {\n alt: false,\n ctrl: false,\n meta: false,\n shift: false\n };\n\n let key = '';\n\n for (const part of keys) {\n if (MODIFIER_KEYS.has(part)) {\n modifiers[part as keyof typeof modifiers] = true;\n continue;\n }\n\n key = part;\n }\n\n return {\n key,\n modifiers,\n shortcut: value\n };\n });\n\nconst getPlatform = () => {\n if (typeof window === 'undefined') {\n return '';\n }\n\n const navigator = window.navigator as Navigator & {\n userAgentData?: {\n platform?: string;\n };\n };\n\n return navigator.userAgentData?.platform || navigator.platform || navigator.userAgent || '';\n};\n\nexport const isMacOS = () => /Mac|iPhone|iPad|iPod|macOS|Macintosh/.test(getPlatform());\n\nexport const getPreferredShortcut = (shortcuts: SearchButtonShortcut[]) =>\n shortcuts.find((shortcut) => (isMacOS() ? shortcut.modifiers.meta : shortcut.modifiers.ctrl)) ||\n shortcuts[0] ||\n null;\n\nexport const getKeyLabel = (key: string) =>\n KEY_LABELS[key] || (key.length === 1 ? key.toUpperCase() : `${key.charAt(0).toUpperCase()}${key.slice(1)}`);\n\nexport const formatShortcutTokens = (shortcut: string) =>\n shortcut\n .split('+')\n .map((part) => normalizeKey(part.trim()))\n .map((part) => getKeyLabel(part))\n .filter(Boolean);\n\nexport const getPressedKeys = (event: KeyboardEvent) => {\n const pressedKeys = new Set<string>();\n\n if (event.altKey) {\n pressedKeys.add(KEY_LABELS['alt']);\n }\n\n if (event.ctrlKey) {\n pressedKeys.add(KEY_LABELS['ctrl']);\n }\n\n if (event.metaKey) {\n pressedKeys.add(KEY_LABELS['meta']);\n }\n\n if (event.shiftKey) {\n pressedKeys.add(KEY_LABELS['shift']);\n }\n\n const normalizedKey = normalizeKey(event.key);\n\n if (!MODIFIER_KEYS.has(normalizedKey) && event.type === 'keydown') {\n pressedKeys.add(getKeyLabel(normalizedKey));\n }\n\n return pressedKeys;\n};\n\nexport const isEditableTarget = (target: EventTarget | null) => {\n if (!(target instanceof Element)) {\n return false;\n }\n\n return target.matches(EDITABLE_TARGET_SELECTOR) || !!target.closest(EDITABLE_TARGET_SELECTOR);\n};\n\nexport const shouldIgnoreShortcut = (event: KeyboardEvent) =>\n isEditableTarget(event.target) && !event.ctrlKey && !event.metaKey;\n\nexport const matchesShortcut = (shortcut: SearchButtonShortcut, event: KeyboardEvent) => {\n if (!shortcut.key || normalizeKey(event.key) !== shortcut.key) {\n return false;\n }\n\n return (\n shortcut.modifiers.alt === event.altKey &&\n shortcut.modifiers.ctrl === event.ctrlKey &&\n shortcut.modifiers.meta === event.metaKey &&\n shortcut.modifiers.shift === event.shiftKey\n );\n};\n","import {\n booleanAttribute,\n Component,\n computed,\n contentChildren,\n effect,\n input,\n output,\n signal,\n TemplateRef\n} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\n\nimport { TemplateIdDirective } from '../shared';\nimport {\n formatShortcutTokens,\n getPreferredShortcut,\n getPressedKeys,\n matchesShortcut,\n parseShortcut,\n shouldIgnoreShortcut\n} from './search-button.utils';\n\n@Component({\n selector: 'c-search-button',\n exportAs: 'cSearchButton',\n templateUrl: './search-button.component.html',\n imports: [NgTemplateOutlet],\n host: {\n style: 'display: contents',\n '(document:keydown)': 'onDocumentKeydown($event)',\n '(document:keyup)': 'onDocumentKeyup($event)',\n '(window:blur)': 'onWindowBlur()'\n }\n})\nexport class SearchButtonComponent {\n /**\n * Toggle the disabled state for the component.\n * @returns boolean\n * @default false\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n /**\n * Placeholder content rendered inside `.search-button-placeholder`.\n * @returns string\n * @default 'Search'\n */\n readonly placeholder = input('Search');\n\n /**\n * Prevent the browser's default behavior when the configured shortcut matches.\n * @returns boolean\n * @default true\n */\n readonly preventDefault = input(true, { transform: booleanAttribute });\n\n /**\n * Comma-separated shortcut list. The component matches all configured shortcuts and renders the platform-preferred one.\n * @returns string\n * @default 'meta+/,ctrl+/'\n */\n readonly shortcut = input('meta+/,ctrl+/');\n\n /**\n * Event emitted when the component is activated by click or keyboard shortcut.\n */\n readonly trigger = output<void>();\n\n protected readonly contentTemplates = contentChildren(TemplateIdDirective, { descendants: true });\n\n protected readonly templates = computed(() => {\n return this.contentTemplates().reduce(\n (acc, child) => {\n acc[child.id] = child.templateRef;\n return acc;\n },\n {} as Record<string, TemplateRef<any>>\n );\n });\n\n protected readonly activeKeys = signal<string[]>([]);\n\n protected readonly shortcuts = computed(() => parseShortcut(this.shortcut()));\n\n protected readonly preferredShortcut = computed(() => getPreferredShortcut(this.shortcuts()));\n\n protected readonly shortcutTokens = computed(() => formatShortcutTokens(this.preferredShortcut()?.shortcut || ''));\n\n readonly #disabledActiveKeysEffect = effect(() => {\n if (this.disabled()) {\n this.activeKeys.set([]);\n }\n });\n\n protected onClick(): void {\n this.trigger.emit();\n }\n\n protected onDocumentKeydown(event: KeyboardEvent): void {\n if (this.disabled()) {\n return;\n }\n\n this.activeKeys.set(Array.from(getPressedKeys(event)));\n this.handleShortcut(event);\n }\n\n protected onDocumentKeyup(event: KeyboardEvent): void {\n if (this.disabled()) {\n return;\n }\n\n this.activeKeys.set(Array.from(getPressedKeys(event)));\n }\n\n protected onWindowBlur(): void {\n this.activeKeys.set([]);\n }\n\n private handleShortcut(event: KeyboardEvent): void {\n if (event.defaultPrevented || event.repeat || shouldIgnoreShortcut(event)) {\n return;\n }\n\n const matchedShortcut = this.shortcuts().find((shortcut) => matchesShortcut(shortcut, event));\n\n if (!matchedShortcut) {\n return;\n }\n\n if (this.preventDefault()) {\n event.preventDefault();\n }\n\n this.trigger.emit();\n }\n}\n","<button class=\"search-button\" type=\"button\" [disabled]=\"disabled()\" (click)=\"onClick()\">\n <ng-content select=\"ng-template\" />\n <ng-content>\n <ng-container *ngTemplateOutlet=\"templates()['icon'] || defaultIconTemplate\" />\n <span class=\"search-button-placeholder\">{{ placeholder() }}</span>\n </ng-content>\n <span class=\"search-button-keys\" aria-hidden=\"true\">\n @for (key of shortcutTokens(); track key) {\n <span\n class=\"search-button-key\"\n [class.active]=\"activeKeys().includes(key)\"\n [attr.data-coreui-search-button-key]=\"key\"\n >{{ key }}</span>\n }\n </span>\n</button>\n\n<ng-template #defaultIconTemplate>\n <svg\n class=\"search-button-icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 512 512\"\n aria-hidden=\"true\"\n >\n <path\n fill=\"currentColor\"\n d=\"m479.6 399.716-81.084-81.084-62.368-25.767A175 175 0 0 0 368 192c0-97.047-78.953-176-176-176S16 94.953 16 192s78.953 176 176 176a175.03 175.03 0 0 0 101.619-32.377l25.7 62.2 81.081 81.088a56 56 0 1 0 79.2-79.195M48 192c0-79.4 64.6-144 144-144s144 64.6 144 144-64.6 144-144 144S48 271.4 48 192m408.971 264.284a24.03 24.03 0 0 1-33.942 0l-76.572-76.572-23.894-57.835 57.837 23.894 76.573 76.572a24.03 24.03 0 0 1-.002 33.941\"\n />\n </svg>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { SearchButtonComponent } from './search-button.component';\n\n@NgModule({\n imports: [\n SearchButtonComponent\n ],\n exports: [\n SearchButtonComponent\n ]\n})\nexport class SearchButtonModule {}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { SidebarComponent } from './sidebar/sidebar.component';\n\nexport interface ISidebarAction {\n unfoldable?: boolean | 'toggle';\n visible?: boolean | 'toggle';\n toggle?: 'visible' | 'unfoldable';\n narrow?: boolean;\n mobile?: boolean;\n sidebar?: SidebarComponent;\n id?: string;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SidebarService {\n readonly #sidebarState = new BehaviorSubject<ISidebarAction>({});\n readonly sidebarState$ = this.#sidebarState.asObservable();\n\n toggle(action: ISidebarAction): void {\n this.#sidebarState.next(action);\n }\n}\n","import { DOCUMENT, inject, Injectable, Renderer2 } from '@angular/core';\nimport { SidebarService } from '../sidebar.service';\nimport { SidebarComponent } from '../sidebar/sidebar.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SidebarBackdropService {\n readonly #document = inject<Document>(DOCUMENT);\n readonly #sidebarService = inject(SidebarService);\n\n #backdrop!: HTMLElement;\n renderer!: Renderer2;\n #clickListener = (): void => {\n /* empty */\n };\n\n setBackdrop(sidebar: SidebarComponent): void {\n const backdrop = this.#document.getElementsByClassName('sidebar-backdrop');\n // console.log(`sidebar-${this.id}`, ' setBackdrop', backdrop);\n if (backdrop.length === 0) {\n this.#backdrop = this.renderer.createElement('div');\n this.renderer.addClass(this.#backdrop, 'sidebar-backdrop');\n this.renderer.appendChild(this.#document.body, this.#backdrop);\n this.#clickListener = this.renderer.listen(this.#backdrop, 'click', (e) => {\n // console.log(`sidebar-${this.id}`, ' backdrop click', e);\n this.#sidebarService.toggle({ toggle: 'visible', sidebar });\n });\n }\n // console.log(this.backdrop, sidebar.sidebarState.mobile, sidebar.sidebarState.show);\n if (this.#backdrop && sidebar.sidebarState.mobile && sidebar.sidebarState.visible) {\n this.renderer.addClass(this.#backdrop, 'fade');\n this.renderer.addClass(this.#backdrop, 'show');\n // this.renderer.removeClass(this.backdrop, 'd-none');\n } else {\n this.renderer.removeClass(this.#backdrop, 'show');\n this.renderer.removeClass(this.#backdrop, 'fade');\n // this.renderer.addClass(this.backdrop, 'd-none');\n }\n }\n\n clearBackdrop(): void {\n if (this.#backdrop) {\n // clear backdrop click Listener\n this.#clickListener();\n // this.renderer.listen(this.backdrop, 'click', (e): void => {} );\n this.renderer.removeChild(this.#document.body, this.#backdrop);\n // @ts-ignore\n this.#backdrop = undefined;\n }\n }\n}\n","import {\n booleanAttribute,\n Component,\n computed,\n DOCUMENT,\n effect,\n inject,\n input,\n linkedSignal,\n OnChanges,\n OnDestroy,\n OnInit,\n output,\n Renderer2,\n signal,\n SimpleChanges\n} from '@angular/core';\nimport { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\nimport { Subscription } from 'rxjs';\n\nimport { ISidebarAction, SidebarService } from '../sidebar.service';\nimport { SidebarBackdropService } from '../sidebar-backdrop/sidebar-backdrop.service';\n\n@Component({\n selector: 'c-sidebar',\n exportAs: 'cSidebar',\n template: '<ng-content />',\n host: {\n class: 'sidebar',\n '[class]': 'hostClasses()',\n '[inert]': '!this.sidebarState.visible || null'\n }\n})\nexport class SidebarComponent implements OnChanges, OnDestroy, OnInit {\n readonly #document = inject<Document>(DOCUMENT);\n readonly #renderer = inject(Renderer2);\n readonly #breakpointObserver = inject(BreakpointObserver);\n readonly #sidebarService = inject(SidebarService);\n readonly #backdropService = inject(SidebarBackdropService);\n\n #onMobile = false;\n #layoutChangeSubscription!: Subscription;\n #stateToggleSubscription!: Subscription;\n\n readonly state = signal<ISidebarAction>({\n sidebar: this\n });\n\n #stateInitial = {\n narrow: false,\n visible: false,\n unfoldable: false\n };\n\n /**\n * Sets if the color of text should be colored for a light or dark background.\n * @returns 'dark' | 'light'\n */\n readonly colorScheme = input<'dark' | 'light'>();\n\n /**\n * Sets html attribute id.\n * @returns string\n */\n readonly id = input<string>();\n\n /**\n * Make sidebar narrow.\n * @returns boolean\n * @default false\n */\n readonly narrowInput = input(false, { transform: booleanAttribute, alias: 'narrow' });\n\n readonly #narrow = linkedSignal(this.narrowInput);\n\n set narrow(value) {\n this.#narrow.set(value);\n }\n\n get narrow() {\n return this.#narrow();\n }\n\n /**\n * Set sidebar to overlaid variant.\n * @returns boolean\n * @default false\n */\n readonly overlaid = input(false, { transform: booleanAttribute });\n\n /**\n * Components placement, there’s no default placement.\n * @returns 'start' | 'end'\n */\n readonly placement = input<'start' | 'end'>();\n\n /**\n * Place sidebar in non-static positions.\n * @returns 'fixed' | 'sticky'\n * @default 'fixed'\n */\n readonly position = input<'fixed' | 'sticky'>('fixed');\n\n /**\n * Size the component small, large, or extra large.\n * @returns 'sm' | 'lg' | 'xl'\n */\n readonly size = input<'sm' | 'lg' | 'xl'>();\n\n /**\n * Expand narrowed sidebar on hover.\n * @returns boolean\n * @default false\n */\n readonly unfoldableInput = input(false, { transform: booleanAttribute, alias: 'unfoldable' });\n\n readonly unfoldable = linkedSignal({\n source: this.unfoldableInput,\n computation: (value) => value\n });\n\n /**\n * Toggle the visibility of sidebar component.\n * @returns boolean\n * @default false\n */\n readonly visibleInput = input(false, { transform: booleanAttribute, alias: 'visible' });\n\n readonly #visible = linkedSignal(this.visibleInput);\n\n readonly #visibleEffect = effect(() => {\n this.visibleChange?.emit(this.#visible());\n });\n\n set visible(value: boolean) {\n this.#visible.set(value);\n }\n\n get visible() {\n return this.#visible();\n }\n\n /**\n * Event emitted on visibility change.\n * @returns boolean\n */\n readonly visibleChange = output<boolean>();\n\n set sidebarState(value: ISidebarAction) {\n const newState = value;\n if ('toggle' in newState) {\n if (newState.toggle === 'visible') {\n newState.visible = !this.state().visible;\n this.#visible.set(newState.visible);\n } else if (newState.toggle === 'unfoldable') {\n newState.unfoldable = !this.state().unfoldable;\n this.unfoldable.set(newState.unfoldable);\n }\n } else {\n this.#visible.update((visible) => (newState.visible ?? visible) && !this.overlaid());\n }\n this.state.update((state) => ({ ...state, ...newState }));\n this.state().mobile && this.state().visible\n ? this.#backdropService.setBackdrop(this)\n : this.#backdropService.clearBackdrop();\n }\n\n get sidebarState(): ISidebarAction {\n return { ...this.state() };\n }\n\n get getMobileBreakpoint(): string {\n const element: Element = this.#document.documentElement;\n const mobileBreakpoint =\n this.#document.defaultView?.getComputedStyle(element)?.getPropertyValue('--cui-mobile-breakpoint') ?? 'md';\n const breakpointValue =\n this.#document.defaultView\n ?.getComputedStyle(element)\n ?.getPropertyValue(`--cui-breakpoint-${mobileBreakpoint.trim()}`) ?? '768px';\n return `${parseFloat(breakpointValue.trim()) - 0.02}px`;\n }\n\n constructor() {\n this.#backdropService.renderer = this.#renderer;\n }\n\n readonly hostClasses = computed(() => {\n const { mobile, visible } = { ...this.sidebarState };\n const unfoldable = this.unfoldable();\n const placement = this.placement();\n const colorScheme = this.colorScheme();\n const size = this.size();\n return {\n sidebar: true,\n 'sidebar-fixed': this.position() === 'fixed' && !mobile,\n 'sidebar-narrow': this.#narrow() && !unfoldable,\n 'sidebar-narrow-unfoldable': unfoldable,\n 'sidebar-overlaid': this.overlaid(),\n [`sidebar-${placement}`]: !!placement,\n [`sidebar-${colorScheme}`]: !!colorScheme,\n [`sidebar-${size}`]: !!size,\n show: visible,\n // show: visible && this.#onMobile, //todo: check\n hide: !visible\n };\n });\n\n ngOnInit(): void {\n this.setInitialState();\n this.layoutChangeSubscribe();\n this.stateToggleSubscribe();\n }\n\n ngOnDestroy(): void {\n this.stateToggleSubscribe(false);\n this.layoutChangeSubscribe(false);\n if (this.state().mobile && this.state().visible) {\n this.#backdropService.clearBackdrop();\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const oldStateMap = new Map(Object.entries(this.state()));\n const newStateMap = new Map();\n newStateMap.set('sidebar', this);\n\n const propList = ['visible', 'unfoldable', 'narrow'];\n\n for (const propName in changes) {\n if (propList.includes(propName)) {\n if (changes[propName] && !changes[propName].firstChange) {\n const value = booleanAttribute(changes[propName].currentValue);\n if (oldStateMap.get(propName) !== value) {\n newStateMap.set(propName, value);\n }\n }\n }\n }\n\n if (newStateMap.size > 1) {\n const state = Object.fromEntries(newStateMap.entries());\n this.#sidebarService.toggle(state);\n }\n }\n\n setInitialState(): void {\n this.#stateInitial = {\n narrow: this.#narrow(),\n visible: this.#visible(),\n unfoldable: this.unfoldable()\n };\n this.#sidebarService.toggle({\n ...this.#stateInitial,\n sidebar: this\n });\n }\n\n private stateToggleSubscribe(subscribe: boolean = true): void {\n if (subscribe) {\n this.#stateToggleSubscription = this.#sidebarService.sidebarState$.subscribe((state) => {\n if (this === state.sidebar || this.id() === state.id) {\n this.sidebarState = { ...state };\n }\n });\n } else {\n this.#stateToggleSubscription?.unsubscribe();\n }\n }\n\n layoutChangeSubscribe(subscribe: boolean = true): void {\n const onMobile = `(max-width: ${this.getMobileBreakpoint})`;\n\n if (subscribe) {\n const layoutChanges = this.#breakpointObserver.observe([onMobile]);\n\n this.#layoutChangeSubscription = layoutChanges.subscribe((result: BreakpointState) => {\n const isOnMobile = result.breakpoints[onMobile];\n const isUnfoldable = isOnMobile ? false : this.unfoldable();\n if (this.#onMobile !== isOnMobile) {\n this.#onMobile = isOnMobile;\n this.#sidebarService.toggle({\n mobile: isOnMobile,\n unfoldable: isUnfoldable,\n visible: isOnMobile ? !isOnMobile : this.#stateInitial.visible,\n sidebar: this\n });\n }\n });\n } else {\n this.#layoutChangeSubscription?.unsubscribe();\n }\n }\n}\n","import { Component, computed, input } from '@angular/core';\nimport { RouterLink, type UrlTree } from '@angular/router';\n\nimport { HtmlAttributesDirective } from '../../shared';\n\n@Component({\n selector: 'c-sidebar-brand',\n templateUrl: './sidebar-brand.component.html',\n imports: [RouterLink, HtmlAttributesDirective],\n host: { class: 'sidebar-brand' }\n})\nexport class SidebarBrandComponent {\n /**\n * Image for the wide sidebar.\n */\n readonly brandFull = input<any>();\n\n /**\n * Image for the narrow sidebar.\n */\n readonly brandNarrow = input<any>();\n\n /**\n * Router link for the sidebar brand.\n */\n readonly routerLink = input<string | any[] | UrlTree | null | undefined>();\n\n readonly brandImg = computed(() => Boolean(this.brandFull() || this.brandNarrow()));\n}\n","@if (brandImg()) {\n <a [routerLink]=\"routerLink()\">\n @if (brandFull()) {\n <img [cHtmlAttr]=\"brandFull()\" [class]=\"'sidebar-brand-full'\">\n }\n @if (brandNarrow()) {\n <img [cHtmlAttr]=\"brandNarrow()\" [class]=\"'sidebar-brand-narrow'\">\n }\n </a>\n} @else {\n <ng-content />\n}\n","import { Directive, inject, input } from '@angular/core';\n\nimport { SidebarService } from '../sidebar.service';\n\n/**\n * Allows the sidebar to be toggled/folded via click on host element.\n */\n@Directive({\n selector: '[cSidebarToggle]',\n exportAs: 'cSidebarToggle',\n host: {\n '(click)': 'toggleOpen($event)'\n }\n})\nexport class SidebarToggleDirective {\n readonly #sidebarService = inject(SidebarService);\n\n /**\n * Id of sidebar for toggle action.\n * @returns string\n */\n readonly id = input<string>(undefined, { alias: 'cSidebarToggle' });\n /**\n * Sidebar property name for toggle action.\n *\n * @returns 'visible' | 'unfoldable'\n * @default 'visible'\n */\n readonly toggle = input<'visible' | 'unfoldable'>('visible');\n\n toggleOpen($event: any): void {\n $event.preventDefault();\n this.#sidebarService.toggle({ toggle: this.toggle(), id: this.id() });\n }\n}\n","import { Directive, input } from '@angular/core';\nimport { SidebarToggleDirective } from '../sidebar-toggle/sidebar-toggle.directive';\n\n@Directive({\n selector: '[cSidebarToggler]',\n hostDirectives: [{ directive: SidebarToggleDirective, inputs: ['cSidebarToggle: cSidebarToggler', 'toggle'] }],\n host: {\n '[attr.role]': 'role()',\n class: 'sidebar-toggler',\n '[style]': 'getStyles'\n }\n})\nexport class SidebarTogglerDirective {\n /**\n * Default role for sidebar toggler.\n * @returns string\n * @default 'button'\n */\n readonly role = input('button');\n\n get getStyles(): any {\n return {\n appearance: 'button',\n 'align-items': 'flex-start',\n cursor: 'pointer'\n };\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-sidebar-header',\n template: '<ng-content />',\n host: { class: 'sidebar-header' }\n})\nexport class SidebarHeaderComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-sidebar-footer',\n template: '<ng-content />',\n host: { class: 'sidebar-footer' }\n})\nexport class SidebarFooterComponent {}\n","import { Injectable } from '@angular/core';\n\nimport { INavData } from './sidebar-nav';\n\n@Injectable()\nexport abstract class SidebarNavService {\n /**\n * Returns a sidebar-nav items config NavData\n */\n abstract getSidebarNavItemsConfig(): INavData[];\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SidebarNavHelper {\n itemType(item: INavData): string {\n if (item.divider) {\n return 'divider';\n } else if (item.title) {\n return 'title';\n } else if (item.children && item.children.length > 0) {\n return 'group';\n } else if (item.label) {\n return 'label';\n } else if (!Object.keys(item).length) {\n return 'empty';\n } else {\n return 'link';\n }\n }\n\n public isActive(router: any, item: INavData): boolean {\n return router.isActive(item.url, false);\n }\n\n public hasBadge = (item: INavData) => Boolean(item?.badge);\n public hasIcon = (item: INavData) => Boolean(item?.icon) || item?.icon === '';\n public hasIconComponent = (item: INavData) => Boolean(item?.iconComponent);\n\n public getIconClass(item: INavData): any {\n const classes = {\n 'nav-icon': true\n };\n const icon = item.icon;\n // @ts-ignore\n classes[icon] = this.hasIcon(item);\n return classes;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { SidebarNavGroupComponent } from './sidebar-nav.component';\n\nexport interface ISidebarAction {\n open?: boolean;\n sidebarNavGroup?: SidebarNavGroupComponent;\n}\n\n@Injectable()\nexport class SidebarNavGroupService {\n private sidebarNavGroupState = new BehaviorSubject<ISidebarAction>({});\n sidebarNavGroupState$ = this.sidebarNavGroupState.asObservable();\n\n toggle(action: ISidebarAction): void {\n this.sidebarNavGroupState.next(action);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'cSidebarNavIcon'\n})\nexport class SidebarNavIconPipe implements PipeTransform {\n transform(item: any, args?: any): any {\n const icon = item.icon;\n return {\n 'nav-icon': true,\n [`${icon}`]: !!icon\n };\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'cSidebarNavBadge'\n})\nexport class SidebarNavBadgePipe implements PipeTransform {\n transform(item: any, args?: any): any {\n const badge = item.badge;\n return {\n badge: true,\n 'ms-auto': true,\n 'badge-sm': !badge.size,\n [`badge-${badge.size}`]: !!badge.size,\n [`bg-${badge.color}`]: !!badge.color,\n [`${badge.class}`]: !!badge.class\n };\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'cSidebarNavLink'\n})\nexport class SidebarNavLinkPipe implements PipeTransform {\n transform(item: any): any {\n const disabled = item?.attributes?.disabled;\n\n return {\n 'nav-link': true,\n disabled,\n 'btn-link': disabled,\n [`nav-link-${item.variant}`]: !!item.variant\n };\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { Component, inject, input, OnDestroy, OnInit, output } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NavigationEnd, Router, RouterModule } from '@angular/router';\nimport { Observable, Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { IconDirective } from '@coreui/icons-angular';\n// import {SidebarService} from '../sidebar.service';\nimport { HtmlAttributesDirective } from '../../shared';\nimport { SidebarNavHelper } from './sidebar-nav.service';\nimport { INavData } from './sidebar-nav';\nimport { SidebarNavLinkPipe } from './sidebar-nav-link.pipe';\nimport { SidebarNavBadgePipe } from './sidebar-nav-badge.pipe';\nimport { SidebarNavIconPipe } from './sidebar-nav-icon.pipe';\n\n@Component({\n selector: 'c-sidebar-nav-link-content',\n template: `\n @let itemLinkContent = item();\n @if (itemLinkContent) {\n <ng-container>{{ itemLinkContent?.name ?? '' }}</ng-container>\n }\n `,\n providers: [SidebarNavHelper]\n})\nexport class SidebarNavLinkContentComponent {\n readonly helper = inject(SidebarNavHelper);\n\n /**\n * The nav data item rendered as the link content.\n * @returns INavData\n * @default {}\n */\n readonly item = input<INavData>({});\n}\n\n@Component({\n selector: 'c-sidebar-nav-link',\n templateUrl: './sidebar-nav-link.component.html',\n providers: [SidebarNavHelper],\n imports: [\n RouterModule,\n HtmlAttributesDirective,\n IconDirective,\n SidebarNavLinkContentComponent,\n SidebarNavLinkPipe,\n SidebarNavBadgePipe,\n SidebarNavIconPipe,\n NgTemplateOutlet\n ]\n})\nexport class SidebarNavLinkComponent implements OnInit, OnDestroy {\n readonly router = inject(Router);\n\n /**\n * The nav data item rendered as a sidebar nav link.\n * @returns INavData\n */\n readonly item = input<INavData>();\n\n /**\n * Event emitted when the sidebar nav link is clicked.\n * @returns void\n */\n readonly linkClick = output();\n\n public linkType!: string;\n public href!: string;\n public linkActive!: boolean;\n private url!: string;\n\n private navigationEndObservable: Observable<NavigationEnd>;\n private navSubscription!: Subscription;\n\n constructor() {\n const router = this.router;\n\n this.navigationEndObservable = router.events.pipe(\n filter((event) => {\n return event instanceof NavigationEnd;\n }),\n takeUntilDestroyed()\n ) as Observable<NavigationEnd>;\n }\n\n ngOnInit(): void {\n const item = this.item() ?? {};\n this.url =\n typeof item.url === 'string'\n ? item.url\n : this.router.serializeUrl(this.router.createUrlTree((item.url as any[]) ?? ['']));\n this.linkType = this.getLinkType();\n this.href = this.isDisabled() ? '' : item.href || this.url;\n this.linkActive = this.router.url.split(/[?#(;]/)[0] === this.href.split(/[?#(;]/)[0];\n this.navSubscription = this.navigationEndObservable.subscribe((event) => {\n const itemUrlArray = this.href.split(/[?#(;]/)[0].split('/');\n const urlArray = event.urlAfterRedirects.split(/[?#(;]/)[0].split('/');\n this.linkActive = itemUrlArray.every((value, index) => value === urlArray[index]);\n });\n }\n\n ngOnDestroy(): void {\n this.navSubscription?.unsubscribe();\n }\n\n public getLinkType(): string {\n return this.isDisabled() ? 'disabled' : this.isExternalLink() ? 'external' : 'link';\n }\n\n public isDisabled(): boolean {\n return this.item()?.attributes?.['disabled'];\n }\n\n public isExternalLink(): boolean {\n const item = this.item() ?? {};\n const linkPath = Array.isArray(item.url) ? item.url[0] : item.url;\n return !!item.href || linkPath?.substring(0, 4) === 'http';\n }\n\n linkClicked(): void {\n this.linkClick?.emit();\n }\n\n // public hideMobile() {\n // // todo: proper scrollIntoView() after NavigationEnd\n // setTimeout(() => {\n // console.log('scroll')\n // this.hostElement.nativeElement.scrollIntoView();\n // }, 1000)\n // this.sidebarService.toggle({open: false, breakpoint: ''});\n // }\n}\n","@let linkItem = item() ?? {};\n\n@switch (linkType) {\n @case ('disabled') {\n <a [cHtmlAttr]=\"linkItem.attributes ?? {}\" [class]=\"linkItem | cSidebarNavLink\">\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: { $implicit: linkItem }\" />\n <c-sidebar-nav-link-content [item]=\"linkItem\" />\n @if (linkItem.badge) {\n <span [class]=\"linkItem | cSidebarNavBadge\">{{ linkItem.badge?.text }}</span>\n }\n </a>\n }\n @case ('external') {\n <a\n (click)=\"linkClicked()\"\n [cHtmlAttr]=\"linkItem.attributes ?? {}\"\n [href]=\"href\"\n [class]=\"linkItem | cSidebarNavLink\"\n >\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: { $implicit: linkItem }\" />\n <c-sidebar-nav-link-content [item]=\"linkItem\" />\n @if (linkItem.badge) {\n <span [class]=\"linkItem | cSidebarNavBadge\">{{ linkItem.badge?.text }}</span>\n }\n </a>\n }\n @default {\n <a\n (click)=\"linkClicked()\"\n [cHtmlAttr]=\"linkItem.attributes ?? {}\"\n [fragment]=\"$safeNavigationMigration(linkItem.linkProps?.fragment)\"\n [class]=\"linkItem | cSidebarNavLink\"\n [preserveFragment]=\"linkItem.linkProps?.preserveFragment ?? false\"\n [queryParamsHandling]=\"$safeNavigationMigration(linkItem.linkProps?.queryParamsHandling)\"\n [queryParams]=\"linkItem.linkProps?.queryParams ?? null\"\n [replaceUrl]=\"linkItem.linkProps?.replaceUrl ?? false\"\n [routerLinkActiveOptions]=\"linkItem.linkProps?.routerLinkActiveOptions ?? { exact: false }\"\n [routerLink]=\"linkItem.url\"\n [skipLocationChange]=\"linkItem.linkProps?.skipLocationChange ?? false\"\n [state]=\"linkItem.linkProps?.state ?? {}\"\n [target]=\"$safeNavigationMigration(linkItem.attributes?.['target'])\"\n routerLinkActive=\"active\"\n >\n <!-- [class.active]=\"linkActive\"-->\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: { $implicit: linkItem }\" />\n <c-sidebar-nav-link-content [item]=\"linkItem\" />\n @if (linkItem.badge) {\n <span [class]=\"linkItem | cSidebarNavBadge\">{{ linkItem.badge?.text }}</span>\n }\n </a>\n }\n}\n<ng-template #iconTemplate let-item>\n <!-- <i *ngIf=\"item?.icon\" [class]=\"item | cSidebarNavIcon\"></i>-->\n @if (item?.icon) {\n <span class=\"nav-icon\">\n <span [class]=\"item.icon ?? ''\"></span>\n </span>\n }\n @if (item?.iconComponent) {\n <svg\n [cIcon]=\"$safeNavigationMigration(item.iconComponent?.content)\"\n [customClasses]=\"item | cSidebarNavIcon\"\n [name]=\"$safeNavigationMigration(item.iconComponent?.name)\"\n ></svg>\n }\n @if (!item?.icon && !item?.iconComponent) {\n <span [class]=\"item | cSidebarNavIcon\"></span>\n }\n</ng-template>\n","import { Component, computed, inject, input } from '@angular/core';\n\nimport { HtmlAttributesDirective } from '../../shared';\nimport { SidebarNavHelper } from './sidebar-nav.service';\nimport { SidebarNavBadgePipe } from './sidebar-nav-badge.pipe';\nimport { INavData } from './sidebar-nav';\n\n@Component({\n selector: 'c-sidebar-nav-label',\n templateUrl: './sidebar-nav-label.component.html',\n imports: [HtmlAttributesDirective, SidebarNavBadgePipe]\n})\nexport class SidebarNavLabelComponent {\n readonly helper = inject(SidebarNavHelper);\n\n /**\n * The nav data item rendered as a sidebar nav label.\n * @returns INavData\n * @default {}\n */\n readonly item = input<INavData>({});\n\n readonly itemClass = computed(() => {\n const classes: Record<string, boolean> = {\n 'c-nav-label': true,\n 'c-active': true\n };\n const itemClass = this.item().class;\n if (itemClass) {\n classes[itemClass] = !!itemClass;\n }\n return classes;\n });\n\n readonly labelIconClass = computed(() => {\n const item = this.item();\n const iconClasses: Record<string, boolean> = this.helper.getIconClass(item);\n const variant = `text-${item.label?.variant}`;\n iconClasses[variant] = !!item.label?.variant;\n const labelClass = item.label?.class ?? '';\n iconClasses[labelClass] = !!labelClass;\n return iconClasses;\n });\n}\n","@let labelItem = item();\n<a [cHtmlAttr]=\"labelItem.attributes\"\n [class]=\"itemClass()\"\n href=\"{{labelItem.url}}\">\n @if (helper.hasIcon(labelItem)) {\n <i [class]=\"labelIconClass()\"></i>\n }\n <ng-container>{{ labelItem.name }}</ng-container>\n @if (helper.hasBadge(labelItem)) {\n <span [class]=\"labelItem | cSidebarNavBadge\">{{ labelItem.badge?.text ?? '' }}</span>\n }\n</a>\n","import { Component, effect, ElementRef, inject, input, Renderer2 } from '@angular/core';\nimport { INavData } from './sidebar-nav';\n\n@Component({\n selector: 'c-sidebar-nav-title',\n template: ''\n})\nexport class SidebarNavTitleComponent {\n readonly #elementRef = inject(ElementRef);\n readonly #renderer = inject(Renderer2);\n\n /**\n * The nav data item rendered as a sidebar nav title.\n * @returns INavData\n */\n readonly item = input<INavData>();\n\n readonly #itemEffect = effect(() => {\n const item = this.item();\n if (item?.name) {\n const nativeElement: HTMLElement = this.#elementRef.nativeElement;\n const name = this.#renderer.createText(item.name);\n\n if (item?.class) {\n const classes = item.class;\n this.#renderer.addClass(nativeElement, classes);\n }\n\n if (item?.wrapper) {\n const wrapper = this.#renderer.createElement(item.wrapper.element);\n this.addAttribs(item.wrapper.attributes, wrapper);\n this.#renderer.appendChild(wrapper, name);\n this.#renderer.appendChild(nativeElement, wrapper);\n } else {\n this.#renderer.appendChild(nativeElement, name);\n }\n }\n });\n\n private addAttribs(attribs: { [x: string]: any }, element: HTMLElement): void {\n if (attribs) {\n for (const attr in attribs) {\n if (attr === 'style' && typeof attribs[attr] === 'object') {\n this.setStyle(attribs[attr], element);\n } else if (attr === 'class') {\n this.addClass(attribs[attr], element);\n } else {\n this.setAttrib(attr, attribs[attr], element);\n }\n }\n }\n }\n\n private setStyle(styles: { [x: string]: any }, el: any): void {\n for (const style in styles) {\n if (style) {\n this.#renderer.setStyle(el, style, styles[style]);\n }\n }\n }\n\n private addClass(classes: string | string[], el: any): void {\n const classArray = Array.isArray(classes) ? classes : classes.split(' ');\n classArray\n .filter((element) => element.length > 0)\n .forEach((element) => {\n this.#renderer.addClass(el, element);\n });\n }\n\n private setAttrib(key: string, value: string, el: any): void {\n this.#renderer.setAttribute(el, key, value);\n }\n}\n","import { Component, input } from '@angular/core';\nimport { INavData } from './sidebar-nav';\n\n@Component({\n selector: 'c-sidebar-nav-divider',\n template: ``\n})\nexport class SidebarNavDividerComponent {\n /**\n * The nav data item rendered as a sidebar nav divider.\n * @returns INavData\n */\n readonly item = input<INavData>();\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\n\nimport { SidebarNavHelper } from './sidebar-nav.service';\n\n@Pipe({\n name: 'cSidebarNavItemClass'\n})\nexport class SidebarNavItemClassPipe implements PipeTransform {\n readonly helper = inject(SidebarNavHelper);\n\n // transform(item: any, ...args: any[]): any {\n transform(item: any, args?: any[]): any {\n const itemType = this.helper.itemType(item);\n let itemClass;\n if (['divider', 'title'].includes(itemType)) {\n itemClass = `nav-${itemType}`;\n } else if (itemType === 'group') {\n // itemClass = 'c-sidebar-nav-group' ;\n itemClass = '';\n } else {\n itemClass = 'nav-item';\n }\n return item.class ? `${itemClass} ${item.class}` : itemClass;\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n Component,\n computed,\n effect,\n ElementRef,\n forwardRef,\n inject,\n input,\n OnChanges,\n OnDestroy,\n OnInit,\n Renderer2,\n signal,\n SimpleChanges,\n untracked\n} from '@angular/core';\nimport { NavigationEnd, Router, RouterModule } from '@angular/router';\nimport { Observable, Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { SidebarService } from '../sidebar.service';\nimport { SidebarComponent } from '../sidebar/sidebar.component';\nimport { INavData } from './sidebar-nav';\nimport { SidebarNavHelper } from './sidebar-nav.service';\nimport { SidebarNavGroupService } from './sidebar-nav-group.service';\nimport { NavGroupService } from '../../nav';\nimport { CollapseDirective } from '../../collapse';\nimport { HtmlAttributesDirective } from '../../shared';\nimport { SidebarNavIconPipe } from './sidebar-nav-icon.pipe';\nimport { SidebarNavBadgePipe } from './sidebar-nav-badge.pipe';\nimport { SidebarNavLinkComponent } from './sidebar-nav-link.component';\nimport { SidebarNavLabelComponent } from './sidebar-nav-label.component';\nimport { SidebarNavTitleComponent } from './sidebar-nav-title.component';\nimport { SidebarNavDividerComponent } from './sidebar-nav-divider.component';\nimport { SidebarNavItemClassPipe } from './sidebar-nav-item-class.pipe';\nimport { IconDirective } from '@coreui/icons-angular';\n\n@Component({\n selector: 'c-sidebar-nav-group',\n templateUrl: './sidebar-nav-group.component.html',\n styleUrls: ['./sidebar-nav-group.component.scss'],\n providers: [SidebarNavHelper],\n imports: [\n CollapseDirective,\n HtmlAttributesDirective,\n IconDirective,\n NgTemplateOutlet,\n SidebarNavIconPipe,\n SidebarNavBadgePipe,\n forwardRef(() => SidebarNavComponent)\n ],\n host: {\n '[class]': 'hostClasses()'\n }\n})\nexport class SidebarNavGroupComponent implements OnInit, OnDestroy {\n readonly #router = inject(Router);\n readonly #hostElement = inject(ElementRef);\n readonly #sidebarNavGroupService = inject(SidebarNavGroupService);\n public readonly helper = inject(SidebarNavHelper);\n\n constructor() {\n const router = this.#router;\n\n this.navigationEndObservable = router.events.pipe(\n filter((event: any) => event instanceof NavigationEnd)\n ) as Observable<NavigationEnd>;\n }\n\n /**\n * The nav data item rendered as a sidebar nav group.\n * @returns INavData\n */\n readonly item = input<INavData>();\n\n /**\n * Determines when an inactive `c-sidebar-nav-group` closes.\n * - `path`: on an active route change only\n * - `close`: when another group is clicked\n * - `none`: never, the group stays open — it stops reacting to the route altogether,\n * so a matching route neither opens it on init nor on a later navigation\n */\n readonly dropdownMode = input<'path' | 'none' | 'close'>('path');\n\n /**\n * Sets the group's initial expanded state.\n * @returns boolean\n */\n readonly show = input<boolean>();\n\n /**\n * Renders the group's nested nav in compact mode.\n * @returns boolean\n */\n readonly compact = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n\n readonly hostClasses = computed(() => {\n return {\n 'nav-group': true,\n show: this.open()\n };\n });\n\n navigationEndObservable: Observable<NavigationEnd>;\n navSubscription!: Subscription;\n navGroupSubscription!: Subscription;\n\n readonly open = signal<boolean | undefined>(undefined);\n readonly navItems = signal<INavData[]>([]);\n readonly display = signal<string | null>(null);\n\n ngOnInit(): void {\n this.navItems.set([...(this.item()?.children ?? [])]);\n\n this.navSubscription = this.navigationEndObservable.subscribe((event: NavigationEnd) => {\n if (this.dropdownMode() !== 'none') {\n const samePath = this.samePath(event.url);\n this.openGroup(samePath);\n }\n });\n\n if (this.dropdownMode() !== 'none' && this.samePath(this.#router.routerState.snapshot.url)) {\n this.openGroup(true);\n }\n\n this.navGroupSubscription = this.#sidebarNavGroupService.sidebarNavGroupState$.subscribe((next) => {\n if (this.dropdownMode() === 'close' && next.sidebarNavGroup && next.sidebarNavGroup !== this) {\n if (this.samePath(this.#router.routerState.snapshot.url)) {\n if (this.open()) {\n return;\n }\n }\n this.openGroup(false);\n }\n });\n }\n\n samePath(url: string): boolean {\n // console.log('item:', this.item.name, this.item.url, 'url:', url);\n const itemUrl = this.item()?.url ?? [];\n const itemArray = Array.isArray(itemUrl) ? itemUrl : itemUrl.split('/');\n const urlArray = url.split('/');\n return itemArray?.every((value: string, index: number) => {\n // console.log(value === urlArray[index], 'value:', value, 'index:', index, urlArray[index], url);\n return value === urlArray[index];\n });\n }\n\n openGroup(open: boolean): void {\n if (this.open() !== undefined && this.open() !== open) {\n // the group drops `show` in the same pass, hiding the nav before cCollapse can measure it\n this.display.set('block');\n }\n this.open.set(open);\n }\n\n toggleGroup($event: any): void {\n $event.preventDefault();\n this.openGroup(!this.open());\n if (this.open()) {\n this.#sidebarNavGroupService.toggle({ open: this.open(), sidebarNavGroup: this });\n }\n }\n\n ngOnDestroy(): void {\n this.navSubscription?.unsubscribe();\n }\n\n onCollapseChange(state: string): void {\n this.display.set(state === 'collapsed' || state === 'open' ? null : 'block');\n }\n}\n\n@Component({\n selector: 'c-sidebar-nav',\n templateUrl: './sidebar-nav.component.html',\n styleUrls: ['./sidebar-nav.component.scss'],\n imports: [\n HtmlAttributesDirective,\n SidebarNavLinkComponent,\n SidebarNavLabelComponent,\n SidebarNavTitleComponent,\n SidebarNavDividerComponent,\n forwardRef(() => SidebarNavGroupComponent),\n SidebarNavItemClassPipe,\n RouterModule\n ],\n host: {\n '[class]': 'hostClasses()',\n '[attr.role]': 'role()'\n },\n providers: [NavGroupService, SidebarNavGroupService]\n})\nexport class SidebarNavComponent implements OnChanges {\n readonly sidebar = inject(SidebarComponent, { optional: true });\n readonly helper = inject(SidebarNavHelper);\n readonly router = inject(Router);\n readonly #renderer = inject(Renderer2);\n readonly #hostElement = inject(ElementRef);\n readonly #sidebarService = inject(SidebarService);\n readonly #navGroupService = inject(NavGroupService);\n\n /**\n * Configuration object for sidebar-nav.\n * @returns INavData[] | undefined\n * @default []\n */\n readonly navItems = input<INavData[] | undefined>([]);\n\n /**\n * Determines when an inactive `c-sidebar-nav-group` closes.\n * - `path`: on an active route change only\n * - `close`: when another group is clicked\n * - `none`: never, the group stays open — it stops reacting to the route altogether,\n * so a matching route neither opens it on init nor on a later navigation\n */\n readonly dropdownMode = input<'path' | 'none' | 'close'>('path');\n /**\n * Renders `c-sidebar-nav` as a nested group's item list rather than the top-level sidebar nav.\n * @returns boolean\n */\n readonly groupItems = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Renders the nav in compact mode.\n * @returns boolean\n */\n readonly compact = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Default role for sidebar nav.\n * @returns string\n * @default 'navigation'\n */\n readonly role = input('navigation');\n /**\n * Set the sidebar nav variant to tree.\n * @default undefined\n * @since 5.7.28\n */\n readonly variant = input<'tree'>();\n\n readonly hostClasses = computed(() => {\n const groupItems = this.groupItems();\n const variant = this.variant();\n return {\n 'sidebar-nav': !groupItems,\n 'nav-group-items': groupItems,\n [`sidebar-nav-${variant}`]: !groupItems && !!variant,\n compact: this.compact()\n };\n });\n\n readonly #dropdownModeEffect = effect(() => {\n const openOnActive = this.dropdownMode() !== 'none';\n untracked(() => {\n this.#navGroupService.openOnActive.set(openOnActive);\n });\n });\n\n // @HostBinding('class.nav-group-items')\n // get sidebarNavGroupItemsClass(): boolean {\n // return !!this.groupItems;\n // }\n\n readonly navItemsArray = signal<INavData[]>([]);\n\n public ngOnChanges(changes: SimpleChanges): void {\n const navItems = this.navItems();\n this.navItemsArray.set(Array.isArray(navItems) ? navItems.slice() : []);\n }\n\n public hideMobile(): void {\n // todo: proper scrollIntoView() after NavigationEnd\n if (this.sidebar && this.sidebar.sidebarState.mobile) {\n this.#sidebarService.toggle({ toggle: 'visible', sidebar: this.sidebar });\n }\n }\n}\n","@let grpItem = item();\n<a\n (click)=\"toggleGroup($event)\"\n [cHtmlAttr]=\"$safeNavigationMigration(grpItem?.attributes)\"\n class=\"nav-link nav-group-toggle\"\n href\n>\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: { $implicit: grpItem }\" />\n <ng-container>{{ grpItem?.name }}</ng-container>\n @if (grpItem?.badge) {\n <span [class]=\"grpItem | cSidebarNavBadge\">{{ grpItem?.badge?.text }}</span>\n }\n</a>\n<c-sidebar-nav\n (collapseChange)=\"onCollapseChange($event)\"\n [compact]=\"compact()\"\n [dropdownMode]=\"dropdownMode()\"\n [groupItems]=\"true\"\n [navItems]=\"navItems()\"\n [style.display]=\"display()\"\n [visible]=\"!!open()\"\n cCollapse\n/>\n\n<ng-template #iconTemplate let-item>\n <!-- <i *ngIf=\"item?.icon\" [class]=\"item | cSidebarNavIcon\"></i>-->\n @if (item?.icon) {\n <span class=\"nav-icon\">\n <span [class]=\"item.icon ?? ''\"></span>\n </span>\n }\n @if (item?.iconComponent) {\n <svg\n [cIcon]=\"$safeNavigationMigration(item.iconComponent?.content)\"\n [customClasses]=\"item | cSidebarNavIcon\"\n [name]=\"$safeNavigationMigration(item.iconComponent?.name)\"\n />\n }\n @if (!item?.icon && !item?.iconComponent) {\n <span [class]=\"item | cSidebarNavIcon\"></span>\n }\n</ng-template>\n","@for (nItem of navItemsArray(); track nItem) {\n @switch (helper.itemType(nItem)) {\n @case ('group') {\n <c-sidebar-nav-group\n [dropdownMode]=\"dropdownMode()\"\n [item]=\"nItem\"\n [class]=\"nItem | cSidebarNavItemClass\"\n [compact]=\"compact()\"\n />\n }\n @case ('divider') {\n <c-sidebar-nav-divider\n [cHtmlAttr]=\"nItem.attributes ?? {}\"\n [item]=\"nItem\"\n [class]=\"nItem | cSidebarNavItemClass\"\n />\n }\n @case ('title') {\n <c-sidebar-nav-title\n [cHtmlAttr]=\"nItem.attributes ?? {}\"\n [item]=\"nItem\"\n [class]=\"nItem | cSidebarNavItemClass\"\n />\n }\n @case ('label') {\n <c-sidebar-nav-label\n [item]=\"nItem\"\n [class]=\"nItem | cSidebarNavItemClass\"\n />\n }\n @case ('empty') {\n <ng-container />\n }\n @default {\n <c-sidebar-nav-link\n (linkClick)=\"hideMobile()\"\n [item]=\"nItem\"\n [class]=\"nItem | cSidebarNavItemClass\"\n />\n }\n }\n}\n<ng-content />\n","import { NgModule } from '@angular/core';\n\nimport { SidebarComponent } from './sidebar/sidebar.component';\nimport { SidebarService } from './sidebar.service';\nimport { SidebarBrandComponent } from './sidebar-brand/sidebar-brand.component';\nimport { SidebarToggleDirective } from './sidebar-toggle/sidebar-toggle.directive';\nimport { SidebarTogglerDirective } from './sidebar-toggler/sidebar-toggler.directive';\nimport { SidebarHeaderComponent } from './sidebar-header/sidebar-header.component';\nimport { SidebarFooterComponent } from './sidebar-footer/sidebar-footer.component';\nimport { SidebarNavGroupService } from './sidebar-nav/sidebar-nav-group.service';\n\nimport {\n SidebarNavBadgePipe,\n SidebarNavComponent,\n SidebarNavDividerComponent,\n SidebarNavGroupComponent,\n SidebarNavHelper,\n SidebarNavIconPipe,\n SidebarNavItemClassPipe,\n SidebarNavLabelComponent,\n SidebarNavLinkComponent,\n SidebarNavLinkContentComponent,\n SidebarNavLinkPipe,\n SidebarNavTitleComponent\n} from './sidebar-nav';\n\n@NgModule({\n imports: [\n SidebarComponent,\n SidebarBrandComponent,\n SidebarFooterComponent,\n SidebarHeaderComponent,\n SidebarNavComponent,\n SidebarNavBadgePipe,\n SidebarNavDividerComponent,\n SidebarNavGroupComponent,\n SidebarNavIconPipe,\n SidebarNavItemClassPipe,\n SidebarNavLabelComponent,\n SidebarNavLinkComponent,\n SidebarNavLinkContentComponent,\n SidebarNavLinkPipe,\n SidebarNavTitleComponent,\n SidebarToggleDirective,\n SidebarTogglerDirective\n ],\n exports: [\n SidebarComponent,\n SidebarToggleDirective,\n SidebarTogglerDirective,\n SidebarBrandComponent,\n SidebarNavComponent,\n SidebarHeaderComponent,\n SidebarFooterComponent\n ],\n providers: [\n SidebarService,\n SidebarNavHelper,\n SidebarNavGroupService\n ]\n})\nexport class SidebarModule {}\n","import { Component, computed, input } from '@angular/core';\n\nimport { Colors } from '../coreui.types';\n\n@Component({\n selector: 'c-spinner',\n templateUrl: './spinner.component.html',\n host: {\n '[attr.role]': 'role()',\n '[class]': 'hostClasses()'\n }\n})\nexport class SpinnerComponent {\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly color = input<Colors>();\n\n /**\n * Label for accessibility.\n * @returns string\n * @default 'Loading...'\n */\n readonly label = input('Loading...');\n\n /**\n * Size the component small.\n * @returns 'sm'\n */\n readonly size = input<'sm'>();\n\n /**\n * Set the button variant to an outlined button or a ghost button.\n * @returns 'border' | 'grow'\n * @default 'border'\n */\n readonly variant = input<'border' | 'grow'>('border');\n /**\n * Default role attr for spinner\n * @returns string\n * @default 'status'\n */\n readonly role = input('status');\n\n readonly hostClasses = computed(() => {\n const color = this.color();\n const size = this.size();\n const variant = this.variant();\n\n return {\n [`spinner-${variant}`]: true,\n [`text-${color}`]: !!color,\n [`spinner-${variant}-${size}`]: !!size\n } as Record<string, boolean>;\n });\n}\n","<ng-content>\n <span class=\"visually-hidden\">{{ label() }}</span>\n</ng-content>\n","import { NgModule } from '@angular/core';\n\nimport { SpinnerComponent } from './spinner.component';\n\n@NgModule({\n exports: [\n SpinnerComponent\n ],\n imports: [\n SpinnerComponent\n ]\n})\nexport class SpinnerModule {}\n","import { computed, Directive, input } from '@angular/core';\nimport { Colors } from '../coreui.types';\n\n@Directive({\n selector: '[cTableColor]',\n exportAs: 'cTableColor',\n host: {\n '[class]': 'hostClasses()'\n }\n})\nexport class TableColorDirective {\n /**\n * Use contextual color for tables, table rows or individual cells.\n * @returns Colors | undefined\n */\n readonly color = input<Colors | undefined>(undefined, { alias: 'cTableColor' });\n\n readonly hostClasses = computed(() => {\n const color = this.color();\n return {\n [`table-${color}`]: !!color\n } as Record<string, boolean>;\n });\n}\n","import { booleanAttribute, Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[cTableActive]',\n exportAs: 'cTableActive',\n host: {\n '[class.table-active]': 'active()'\n }\n})\nexport class TableActiveDirective {\n /**\n * Highlight a table row or cell\n * @returns boolean\n */\n readonly active = input(false, { alias: \"cTableActive\", transform: booleanAttribute });\n}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport {\n afterRenderEffect,\n booleanAttribute,\n computed,\n Directive,\n ElementRef,\n inject,\n input,\n Renderer2\n} from '@angular/core';\nimport { Breakpoints, Colors } from '../coreui.types';\n\n@Directive({\n selector: 'table[cTable]',\n exportAs: 'cTable',\n host: {\n class: 'table',\n '[class]': 'hostClasses()'\n }\n})\nexport class TableDirective {\n static ngAcceptInputType_bordered: BooleanInput;\n static ngAcceptInputType_borderless: BooleanInput;\n static ngAcceptInputType_hover: BooleanInput;\n static ngAcceptInputType_small: BooleanInput;\n static ngAcceptInputType_striped: BooleanInput;\n static ngAcceptInputType_stripedColumns: BooleanInput;\n\n readonly #renderer = inject(Renderer2);\n readonly #hostElement = inject(ElementRef);\n\n /**\n * Set the vertical alignment.\n * @returns 'bottom' | 'middle' | 'top'\n */\n readonly align = input<'bottom' | 'middle' | 'top'>();\n\n /**\n * Sets the border color of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly borderColor = input<Colors>();\n\n /**\n * Add borders on all sides of the table and cells.\n * @returns boolean\n */\n readonly bordered = input(false, { transform: booleanAttribute });\n\n /**\n * Remove borders on all sides of the table and cells.\n * @returns boolean\n */\n readonly borderless = input(false, { transform: booleanAttribute });\n\n /**\n * Put the `<caption>` on the top of the table.\n * @returns 'top'\n * @values 'top'\n */\n readonly caption = input<'top'>();\n\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly color = input<Colors>();\n\n /**\n * Enable a hover state on table rows within table body.\n * @returns boolean\n */\n readonly hover = input(false, { transform: booleanAttribute });\n\n /**\n * Make table responsive across all viewports or pick a maximum breakpoint with which to have a responsive table up to.\n * @returns boolean | Omit<Breakpoints, 'xs'>\n * @values true | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'\n */\n readonly responsive = input<boolean | Omit<Breakpoints, 'xs'>>();\n\n /**\n * Make table more compact by cutting all cell `padding` in half.\n * @returns boolean\n */\n readonly small = input(false, { transform: booleanAttribute });\n\n /**\n * Add zebra-striping to any table row within the table body.\n * @returns boolean\n */\n readonly striped = input(false, { transform: booleanAttribute });\n\n /**\n * Add zebra-striping to any table column.\n * @returns boolean\n * @since 4.2.4\n */\n readonly stripedColumns = input(false, { transform: booleanAttribute });\n\n readonly hostClasses = computed(() => {\n const align = this.align();\n const caption = this.caption();\n const borderColor = this.borderColor();\n const bordered = this.bordered();\n const borderless = this.borderless();\n const color = this.color();\n const hover = this.hover();\n const small = this.small();\n const striped = this.striped();\n const stripedColumns = this.stripedColumns();\n\n return {\n table: true,\n [`align-${align}`]: !!align,\n [`caption-${caption}`]: !!caption,\n [`border-${borderColor}`]: !!borderColor,\n 'table-bordered': bordered,\n 'table-borderless': borderless,\n [`table-${color}`]: !!color,\n 'table-hover': hover,\n 'table-sm': small,\n 'table-striped': striped,\n 'table-striped-columns': stripedColumns\n } as Record<string, boolean>;\n });\n\n readonly #responsiveWrapperEffect = afterRenderEffect({\n // this fixes RuntimeError: NG0500: During hydration Angular expected <abc> but found <xyz>.\n // Find more at https://angular.dev/errors/NG0500\n write: () => {\n const responsive = this.responsive();\n if (!!responsive) {\n const nativeElement: HTMLElement = this.#hostElement.nativeElement;\n const wrapper = this.#renderer.createElement('div');\n const className = responsive === true ? 'table-responsive' : `table-responsive-${responsive}`;\n this.#renderer.addClass(wrapper, className);\n const parentNode = this.#renderer.parentNode(nativeElement);\n this.#renderer.appendChild(parentNode, wrapper);\n this.#renderer.insertBefore(parentNode, wrapper, nativeElement);\n this.#renderer.appendChild(wrapper, nativeElement);\n }\n }\n });\n}\n","import { NgModule } from '@angular/core';\nimport { TableDirective } from './table.directive';\nimport { TableColorDirective } from './table-color.directive';\nimport { TableActiveDirective } from './table-active.directive';\n\n@NgModule({\n exports: [\n TableDirective,\n TableColorDirective,\n TableActiveDirective\n ],\n imports: [\n TableDirective,\n TableColorDirective,\n TableActiveDirective\n ]\n})\nexport class TableModule {}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { TabContentComponent } from './tab-content/tab-content.component';\n\nexport interface ITabContentState {\n activeIdx: number;\n tabContent: TabContentComponent;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TabService {\n private activeTabPaneIdx = new Subject<ITabContentState>();\n activeTabPaneIdx$ = this.activeTabPaneIdx.asObservable();\n\n setActiveTabIdx(tabContentState: ITabContentState) {\n this.activeTabPaneIdx.next(tabContentState);\n }\n}\n","import {\n booleanAttribute,\n ChangeDetectorRef,\n Component,\n HostBinding,\n inject,\n Input,\n OnDestroy,\n ChangeDetectionStrategy\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { TabContentComponent } from '../tab-content/tab-content.component';\nimport { ITabContentState, TabService } from '../tab.service';\n\n@Component({\n selector: 'c-tab-pane',\n template: '<ng-content />',\n styleUrls: ['./tab-pane.component.scss'],\n exportAs: 'cTabPane',\n changeDetection: ChangeDetectionStrategy.Eager,\n host: { class: 'tab-pane' }\n})\nexport class TabPaneComponent implements OnDestroy {\n readonly #changeDetectorRef = inject(ChangeDetectorRef);\n readonly #tabService = inject(TabService);\n\n constructor() {\n this.subscribeTabService();\n }\n\n public tabPaneIdx!: number;\n public tabContent!: TabContentComponent;\n #tabServiceSubscription!: Subscription;\n\n set active(value: boolean) {\n const newValue = booleanAttribute(value);\n if (this.#active !== newValue) {\n this.#active = newValue;\n this.#changeDetectorRef.markForCheck();\n }\n }\n\n get active(): boolean {\n return this.#active;\n }\n\n #active: boolean = false;\n\n @HostBinding('class')\n get hostClasses() {\n return {\n 'tab-pane': true,\n fade: true,\n show: this.active,\n active: this.active\n };\n }\n\n /**\n * Element role.\n * @returns string\n * @default 'tabpanel'\n */\n @Input()\n @HostBinding('attr.role')\n role = 'tabpanel';\n\n ngOnDestroy(): void {\n this.subscribeTabService(false);\n }\n\n subscribeTabService(subscribe: boolean = true) {\n if (subscribe) {\n this.#tabServiceSubscription = this.#tabService.activeTabPaneIdx$.subscribe(\n (tabContentState: ITabContentState) => {\n if (tabContentState.tabContent === this.tabContent) {\n this.active = tabContentState.activeIdx === this.tabPaneIdx;\n }\n }\n );\n } else {\n this.#tabServiceSubscription?.unsubscribe();\n }\n }\n}\n","import {\n AfterContentChecked,\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n inject,\n Input,\n numberAttribute,\n OnChanges,\n OnDestroy,\n output,\n QueryList,\n SimpleChanges\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { TabPaneComponent } from '../tab-pane/tab-pane.component';\nimport { TabService } from '../tab.service';\n\n@Component({\n selector: 'c-tab-content',\n template: '<ng-content />',\n styleUrls: ['./tab-content.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'cTabContent',\n host: { class: 'tab-content' }\n})\nexport class TabContentComponent implements AfterContentChecked, AfterContentInit, OnChanges, OnDestroy {\n readonly #changeDetectorRef = inject(ChangeDetectorRef);\n readonly #tabService = inject(TabService);\n\n /**\n * Set active tabPane index\n * @returns number\n */\n @Input({ transform: numberAttribute })\n set activeTabPaneIdx(value: number) {\n const newValue = value;\n if (this.#activeTabPaneIdx != newValue) {\n this.#activeTabPaneIdx = newValue;\n this.activeTabPaneIdxChange?.emit(newValue);\n this.#changeDetectorRef.markForCheck();\n this.#changeDetectorRef.detectChanges();\n }\n }\n\n get activeTabPaneIdx() {\n return this.#activeTabPaneIdx;\n }\n\n #activeTabPaneIdx = -1;\n\n /**\n * Event emitted on the active tab pane index change.\n * @returns number\n */\n readonly activeTabPaneIdxChange = output<number>();\n\n @ContentChildren(TabPaneComponent) public panes!: QueryList<TabPaneComponent>;\n #tabServiceSubscription!: Subscription;\n\n ngAfterContentInit(): void {\n this.subscribeTabService();\n }\n\n ngAfterContentChecked(): void {\n this.panes?.forEach((tabPane, index) => {\n tabPane.tabContent = this;\n tabPane.tabPaneIdx = index;\n });\n this.refreshTabPaneActive(this.activeTabPaneIdx);\n this.#tabService.setActiveTabIdx({ tabContent: this, activeIdx: this.activeTabPaneIdx });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['activeTabPaneIdx']?.currentValue) {\n this.#tabService.setActiveTabIdx({ tabContent: this, activeIdx: changes['activeTabPaneIdx'].currentValue });\n }\n }\n\n ngOnDestroy(): void {\n this.subscribeTabService(false);\n }\n\n subscribeTabService(subscribe: boolean = true) {\n if (subscribe) {\n this.#tabServiceSubscription = this.#tabService.activeTabPaneIdx$.subscribe((tabContentState) => {\n if (this === tabContentState.tabContent) {\n this.activeTabPaneIdx = tabContentState.activeIdx;\n }\n });\n } else {\n this.#tabServiceSubscription?.unsubscribe();\n }\n }\n\n refreshTabPaneActive(idx: number) {\n // hack for active state pane refresh todo?\n this.panes?.forEach((tabPane, index) => {\n tabPane.active = idx === index;\n });\n }\n}\n","import {\n booleanAttribute,\n ChangeDetectorRef,\n Directive,\n HostBinding,\n HostListener,\n inject,\n Input,\n numberAttribute,\n OnChanges,\n OnDestroy,\n SimpleChanges\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { TabService } from './tab.service';\n\n@Directive({\n selector: '[cTabContent]'\n})\nexport class TabContentRefDirective implements OnChanges, OnDestroy {\n readonly #changeDetectorRef = inject(ChangeDetectorRef);\n readonly #tabService = inject(TabService);\n\n constructor() {\n this.subscribeTabService();\n }\n\n #tabServiceSubscription!: Subscription;\n\n /**\n * Template Ref\n * @returns TemplateRef\n */\n @Input('cTabContent') tabContentRef!: any;\n\n /**\n * Set active state of tab content\n * @returns boolean\n * @default false\n */\n @Input({ transform: booleanAttribute })\n set active(value: boolean) {\n const newValue = value;\n if (this.#active !== newValue) {\n this.#active = newValue;\n this.#changeDetectorRef.detectChanges();\n }\n }\n\n get active() {\n return this.#active;\n }\n\n #active = false;\n\n /**\n * Set disabled state of tab content\n * @returns boolean\n */\n @Input({ transform: booleanAttribute })\n set disabled(value: boolean) {\n this.#disabled = value;\n }\n\n get disabled(): boolean {\n return this.#disabled || this.tabPaneIdx >= this.tabContentRef?.panes?.length;\n }\n\n #disabled = false;\n\n /**\n * c-tab-pane index respectively\n * @returns number\n */\n @Input({ transform: numberAttribute }) tabPaneIdx = -1;\n\n @HostBinding('class')\n get hostClasses() {\n return {\n active: this.active,\n disabled: this.disabled\n };\n }\n\n @HostBinding('attr.aria-disabled')\n get isDisabled(): boolean | null {\n return this.disabled || null;\n }\n\n @HostBinding('attr.disabled')\n get attrDisabled() {\n return this.disabled ? '' : null;\n }\n\n @HostBinding('attr.aria-selected')\n private get ariaSelected() {\n return this.active;\n }\n\n @Input()\n @HostBinding('attr.role')\n role = 'tab';\n\n @HostBinding('attr.tabindex')\n get getTabindex(): string | null {\n return this.disabled ? '-1' : null;\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['active']?.currentValue) {\n this.setActiveTabPane();\n }\n }\n\n @HostListener('click', ['$event'])\n toggleOpen($event: any): void {\n $event.preventDefault();\n this.setActiveTabPane();\n }\n\n setActiveTabPane() {\n setTimeout(() => {\n if (this.tabPaneIdx < this.tabContentRef.panes.length) {\n this.active = true;\n this.#tabService.setActiveTabIdx({ tabContent: this.tabContentRef, activeIdx: this.tabPaneIdx });\n } else {\n this.active = false;\n }\n });\n }\n\n ngOnDestroy(): void {\n this.subscribeTabService(false);\n }\n\n subscribeTabService(subscribe: boolean = true) {\n if (subscribe) {\n this.#tabServiceSubscription = this.#tabService.activeTabPaneIdx$.subscribe((tabContentState) => {\n if (tabContentState.tabContent === this.tabContentRef) {\n this.active = tabContentState.activeIdx === this.tabPaneIdx;\n }\n });\n } else {\n this.#tabServiceSubscription?.unsubscribe();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { TabContentComponent } from './tab-content/tab-content.component';\nimport { TabPaneComponent } from './tab-pane/tab-pane.component';\nimport { TabService } from './tab.service';\nimport { TabContentRefDirective } from './tab-content-ref.directive';\n\n@NgModule({\n imports: [\n TabContentComponent,\n TabContentRefDirective,\n TabPaneComponent\n ],\n exports: [\n TabContentComponent,\n TabPaneComponent,\n TabContentRefDirective\n ],\n providers: [\n TabService\n ]\n})\nexport class TabsModule {}\n","import { Injectable, signal } from '@angular/core';\n\n@Injectable()\nexport class TabsService {\n readonly activeItem = signal<any>(undefined);\n readonly activeItemKey = signal<string | number | undefined>(undefined);\n readonly id = signal<string | number | undefined>(undefined);\n}\n","import { Component, effect, inject, input, model } from '@angular/core';\nimport { TabsService } from './tabs.service';\n\nlet nextId = 0;\n\n@Component({\n exportAs: 'cTabs',\n selector: 'c-tabs',\n imports: [],\n template: '<ng-content />',\n styleUrl: './tabs.component.scss',\n providers: [TabsService],\n host: {\n '[id]': 'id()',\n class: 'tabs'\n }\n})\nexport class TabsComponent {\n readonly tabsService = inject(TabsService);\n\n /**\n * The active item key.\n * @returns number | string\n */\n readonly activeItemKey = model<number | string>();\n\n /**\n * The id attribute\n * @returns string\n */\n tabsId = `tabs-${nextId++}`;\n\n /**\n * HTML id attribute.\n * @returns string\n * @default `tabs-{n}`\n */\n readonly id = input<string>(this.tabsId);\n\n readonly #activeItemEffect = effect(() => {\n this.tabsService.id.set(this.id());\n this.tabsService.activeItemKey.set(this.activeItemKey());\n });\n\n readonly #tabsServiceEffect = effect(() => {\n this.activeItemKey.set(this.tabsService.activeItemKey());\n });\n}\n","import { FocusableOption, FocusOrigin } from '@angular/cdk/a11y';\nimport {\n booleanAttribute,\n computed,\n DestroyRef,\n Directive,\n effect,\n ElementRef,\n inject,\n Injector,\n input,\n InputSignal,\n linkedSignal,\n OnInit,\n runInInjectionContext,\n signal,\n untracked\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { fromEvent, merge, takeWhile } from 'rxjs';\nimport { filter, tap } from 'rxjs/operators';\nimport { TabsService } from '../tabs.service';\n\n@Directive({\n exportAs: 'cTab',\n selector: 'button[cTab]',\n host: {\n '[class]': 'hostClasses()',\n type: 'button',\n role: 'tab',\n '[aria-selected]': 'isActive()',\n '[aria-controls]': 'attrAriaControls()',\n '[attr.disabled]': 'attrDisabled() || null',\n '[id]': 'propId()',\n '[attr.tabindex]': 'isActive() ? 0 : -1'\n }\n})\nexport class TabDirective implements FocusableOption, OnInit {\n readonly #injector = inject(Injector);\n readonly #destroyRef = inject(DestroyRef);\n readonly #elementRef = inject(ElementRef);\n readonly #tabsService = inject(TabsService);\n\n /**\n * Disabled attribute\n * @returns boolean\n * @default false\n */\n readonly disabledInput = input(false, { transform: booleanAttribute, alias: 'disabled' });\n\n readonly #disabled = linkedSignal(this.disabledInput);\n readonly attrDisabled = computed(() => this.#disabled() || null);\n\n set disabled(value: boolean) {\n this.#disabled.set(value);\n }\n\n get disabled() {\n return this.#disabled();\n }\n\n /**\n * Item key.\n * @returns string | number\n * @required\n */\n readonly itemKey: InputSignal<string | number> = input.required<string | number>();\n\n /**\n * Element id attribute\n * @returns string\n * @default undefined\n */\n readonly id: InputSignal<string | undefined> = input<string>();\n\n /**\n * aria-controls attribute\n * @returns string\n * @default undefined\n */\n readonly ariaControls: InputSignal<string | undefined> = input<string | undefined>(undefined, {\n alias: 'aria-controls'\n });\n\n readonly isActive = signal(false);\n\n readonly hostClasses = computed(() => {\n return {\n 'nav-link': true,\n active: this.isActive(),\n disabled: this.#disabled()\n } as Record<string, boolean>;\n });\n\n readonly propId = computed(() => this.id() ?? `${this.#tabsService.id()}-tab-${this.itemKey()}`);\n\n readonly attrAriaControls = computed(\n () => this.ariaControls() ?? `${this.#tabsService.id()}-panel-${this.itemKey()}`\n );\n\n readonly #disabledSignalEffect = effect(() => {\n const disabled = this.#disabled();\n if (!disabled) {\n const click$ = fromEvent<MouseEvent>(this.#elementRef.nativeElement, 'click');\n const focusIn$ = fromEvent<FocusEvent>(this.#elementRef.nativeElement, 'focusin');\n\n merge(focusIn$, click$)\n .pipe(\n filter(($event) => !disabled),\n tap(($event) => {\n this.#tabsService.activeItemKey.set(untracked(this.itemKey));\n }),\n takeWhile(() => !disabled),\n takeUntilDestroyed(this.#destroyRef)\n )\n .subscribe();\n }\n });\n\n focus(origin?: FocusOrigin): void {\n this.#elementRef.nativeElement.focus();\n }\n\n ngOnInit(): void {\n runInInjectionContext(this.#injector, () => {\n effect(() => {\n const isActive = !this.#disabled() && this.#tabsService.activeItemKey() === this.itemKey();\n this.isActive.set(isActive);\n });\n });\n }\n}\n","import { FocusKeyManager } from '@angular/cdk/a11y';\nimport {\n afterEveryRender,\n Component,\n computed,\n contentChildren,\n DestroyRef,\n effect,\n ElementRef,\n inject,\n input,\n InputSignal,\n signal,\n untracked\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { tap } from 'rxjs/operators';\nimport { TabDirective } from '../tab/tab.directive';\nimport { TabsService } from '../tabs.service';\nimport { RtlService } from '../../services';\n\n@Component({\n exportAs: 'cTabsList',\n selector: 'c-tabs-list',\n template: '<ng-content />',\n host: {\n '[attr.role]': 'role()',\n '[class]': 'hostClasses()',\n '(keydown)': 'onKeyDown($event)'\n }\n})\nexport class TabsListComponent {\n readonly #destroyRef = inject(DestroyRef);\n readonly #elementRef = inject(ElementRef);\n readonly tabsService = inject(TabsService);\n readonly #rtlService = inject(RtlService);\n readonly #isRtl = signal(false);\n\n constructor() {\n afterEveryRender({\n read: () => {\n this.#isRtl.set(this.#rtlService.isRTL(this.#elementRef.nativeElement));\n }\n });\n }\n\n /**\n * Specify a layout type for component.\n * @returns 'fill' | 'justified' | undefined\n * @default undefined\n */\n readonly layout: InputSignal<'fill' | 'justified' | undefined> = input();\n\n /**\n * Set the variant to tabs, pills, underline or enclosed.\n * @returns 'enclosed' | 'enclosed-pills' | 'pills' | 'tabs' | 'underline' | 'underline-border' | undefined\n * @default undefined\n */\n readonly variant: InputSignal<\n 'enclosed' | 'enclosed-pills' | 'pills' | 'tabs' | 'underline' | 'underline-border' | undefined\n > = input();\n\n /**\n * Set the role to tab list.\n * @default 'tablist'\n */\n readonly role = input('tablist');\n\n readonly hostClasses = computed(() => {\n const layout = this.layout();\n const variant = this.variant();\n\n return {\n nav: true,\n [`nav-${layout}`]: layout,\n 'nav-enclosed': variant === 'enclosed' || variant === 'enclosed-pills',\n [`nav-${variant}`]: variant\n } as Record<string, boolean>;\n });\n\n readonly tabs = contentChildren(TabDirective);\n #focusKeyManager!: FocusKeyManager<TabDirective>;\n\n readonly #tabsEffect = effect(() => {\n const tabs = this.tabs();\n if (tabs.length === 0) {\n return;\n }\n\n const isRtl = this.#isRtl();\n\n this.#focusKeyManager = new FocusKeyManager(tabs)\n .skipPredicate((tab) => tab.disabled === true)\n .withHorizontalOrientation(isRtl ? 'rtl' : 'ltr')\n .withHomeAndEnd()\n .withWrap();\n\n this.#focusKeyManager.change\n .pipe(\n tap((value) => {\n this.tabsService.activeItemKey.set(this.#focusKeyManager.activeItem?.itemKey());\n this.tabsService.activeItem.set(this.#focusKeyManager.activeItem);\n }),\n takeUntilDestroyed(this.#destroyRef)\n )\n .subscribe();\n\n untracked(() => {\n setTimeout(() => {\n const activeItem = tabs.find((tab) => tab.isActive()) ?? tabs.find((tab) => !tab.disabled);\n const activeItemIndex = tabs.findIndex((tab) => tab === activeItem);\n this.#focusKeyManager?.updateActiveItem(activeItemIndex < 0 ? 0 : activeItemIndex);\n this.tabsService.activeItemKey.set(this.#focusKeyManager.activeItem?.itemKey());\n this.tabsService.activeItem.set(this.#focusKeyManager.activeItem);\n });\n });\n });\n\n readonly #tabsServiceEffect = effect(() => {\n const activeItemIndex = this.tabs().findIndex(\n (tab) => untracked(tab.isActive) && untracked(tab.itemKey) === this.tabsService.activeItemKey()\n );\n this.#focusKeyManager?.updateActiveItem(activeItemIndex < 0 ? 0 : activeItemIndex);\n });\n\n onKeyDown($event: any) {\n if (['ArrowLeft', 'ArrowRight'].includes($event.key)) {\n this.#focusKeyManager.onKeydown($event);\n return;\n }\n if (['Tab'].includes($event.key)) {\n this.#focusKeyManager?.tabOut.next();\n }\n return;\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n exportAs: 'cTabsContent',\n selector: 'c-tabs-content',\n template: '<ng-content />',\n host: {\n class: 'tab-content'\n }\n})\nexport class TabsContentComponent {}\n","const getTransitionDurationFromElement = (element: HTMLElement) => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * 1000\n}\n\nexport default getTransitionDurationFromElement\n","import { Component, computed, effect, ElementRef, inject, input, numberAttribute, output, signal } from '@angular/core';\nimport getTransitionDurationFromElement from '../../utilities/getTransitionDurationFromElement';\nimport { TabsService } from '../tabs.service';\n\nexport type VisibleChangeEvent = { itemKey: string | number; visible: boolean };\n\n@Component({\n exportAs: 'cTabPanel',\n selector: 'c-tab-panel',\n template: '<ng-content />',\n host: {\n '[class]': 'hostClasses()',\n '[attr.tabindex]': 'visible() ? tabindex() : -1',\n '[aria-labelledby]': 'attrAriaLabelledBy()',\n '[id]': 'propId()',\n '[attr.role]': 'role()',\n '(transitionend)': 'onTransitionEnd($event)'\n }\n})\nexport class TabPanelComponent {\n readonly #tabsService = inject(TabsService);\n readonly #elementRef = inject(ElementRef);\n\n /**\n * aria-labelledby attribute\n * @returns string | undefined\n * @default undefined\n */\n readonly ariaLabelledBy = input<string | undefined>(undefined, {\n alias: 'aria-labelledby'\n });\n\n /**\n * Element id attribute\n * @returns string\n * @default undefined\n */\n readonly id = input<string>();\n\n /**\n * Item key.\n * @returns string | number\n * @required\n */\n readonly itemKey = input.required<string | number>();\n\n /**\n * Element role.\n * @returns string\n * @default 'tabpanel'\n */\n readonly role = input('tabpanel');\n\n /**\n * tabindex attribute.\n * @returns number\n * @default 0\n */\n readonly tabindex = input(0, { transform: numberAttribute });\n\n /**\n * Enable fade in transition.\n * @returns boolean\n * @default true\n */\n readonly transition = input(true);\n\n /**\n * visible change output\n * @returns VisibleChangeEvent\n */\n readonly visibleChange = output<VisibleChangeEvent>();\n\n protected readonly show = signal(false);\n\n readonly visible = computed(() => {\n const visible = this.#tabsService.activeItemKey() === this.itemKey() && !this.#tabsService.activeItem()?.disabled;\n this.visibleChange?.emit({ itemKey: this.itemKey(), visible });\n return visible;\n });\n\n #transitionDuration = 0;\n\n readonly #visibleEffect = effect(() => {\n const isVisible = this.visible();\n const hasTransition = this.transition();\n\n if (!hasTransition) {\n this.show.set(isVisible);\n } else {\n requestAnimationFrame(() => {\n if (this.#transitionDuration === 0) {\n this.#transitionDuration = getTransitionDurationFromElement(this.#elementRef.nativeElement);\n }\n setTimeout(() => this.show.set(isVisible), this.#transitionDuration || 0);\n });\n }\n });\n\n protected readonly propId = computed(() => this.id() ?? `${this.#tabsService.id()}-panel-${this.itemKey()}`);\n\n protected readonly attrAriaLabelledBy = computed(\n () => this.ariaLabelledBy() ?? `${this.#tabsService.id()}-tab-${this.itemKey()}`\n );\n\n protected readonly hostClasses = computed(\n () =>\n ({\n 'tab-pane': true,\n active: this.visible(),\n fade: this.transition(),\n show: this.show(),\n invisible: this.#tabsService.activeItem()?.disabled\n }) as Record<string, boolean>\n );\n\n protected onTransitionEnd($event: TransitionEvent): void {\n if ($event.propertyName === 'opacity' && $event.target === this.#elementRef.nativeElement) {\n this.show.set(this.visible());\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { TabsService } from './tabs.service';\nimport { TabsComponent } from './tabs.component';\nimport { TabDirective } from './tab/tab.directive';\nimport { TabsListComponent } from './tabs-list/tabs-list.component';\nimport { TabsContentComponent } from './tabs-content/tabs-content.component';\nimport { TabPanelComponent } from './tab-panel/tab-panel.component';\n\n@NgModule({\n imports: [TabsComponent, TabsListComponent, TabDirective, TabsContentComponent, TabPanelComponent],\n exports: [TabsComponent, TabsListComponent, TabDirective, TabsContentComponent, TabPanelComponent],\n providers: [TabsService]\n})\nexport class Tabs2Module {}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { TToasterPlacement } from './toaster.component';\nimport { type ToastComponent } from '../toast/toast.component';\n\nexport interface IToasterAction {\n placement?: TToasterPlacement;\n toast?: ToastComponent;\n show?: boolean;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ToasterService {\n readonly #toasterState = new BehaviorSubject<IToasterAction>({});\n readonly toasterState$ = this.#toasterState.asObservable();\n\n setState(state: IToasterAction): void {\n this.#toasterState.next({ ...state });\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-toast-content',\n template: `<ng-content />`,\n host: {\n class: 'toast-content'\n },\n styles: `\n .toast-content {\n min-height: 0;\n }\n `\n})\nexport class ToastContentComponent {}\n","import {\n AnimationCallbackEvent,\n booleanAttribute,\n ChangeDetectorRef,\n Component,\n computed,\n DestroyRef,\n effect,\n ElementRef,\n inject,\n input,\n linkedSignal,\n numberAttribute,\n OnDestroy,\n OnInit,\n output,\n Renderer2,\n signal,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { skipWhile } from 'rxjs';\n\nimport { Colors } from '../../coreui.types';\nimport { ToasterService } from '../toaster/toaster.service';\nimport { TToasterPlacement } from '../toaster/toaster.component';\nimport { ToastContentComponent } from './toast-content.component';\n\n@Component({\n selector: 'c-toast',\n template: `\n <c-toast-content>\n <ng-content />\n </c-toast-content>\n `,\n styleUrls: ['./toast.component.scss'],\n exportAs: 'cToast',\n host: {\n class: 'toast',\n '[attr.role]': 'role() || null',\n '[aria-atomic]': 'visible || null',\n '[class]': 'hostClasses()',\n '[inert]': '!visible || null',\n '(animate.enter)': 'handleEnter($event)',\n '(animate.leave)': 'handleLeave($event)',\n '(mouseover)': 'clearTimer()',\n '(mouseout)': 'setTimer()'\n },\n encapsulation: ViewEncapsulation.None,\n imports: [ToastContentComponent]\n})\nexport class ToastComponent implements OnInit, OnDestroy {\n readonly destroyRef = inject(DestroyRef);\n readonly changeDetectorRef = inject(ChangeDetectorRef);\n readonly hostElement = inject(ElementRef);\n readonly renderer = inject(Renderer2);\n readonly toasterService = inject(ToasterService);\n\n /**\n * Marks the toast as dynamically created by `ToasterService`, rather than declared in the template.\n * @returns boolean\n */\n readonly dynamic = input<boolean>();\n\n /**\n * Placement of the toast within its toaster, set by `ToasterComponent`.\n * @returns TToasterPlacement\n */\n readonly placementInput = input<TToasterPlacement>(undefined, { alias: 'placement' });\n\n get placement() {\n return this.placementInput();\n }\n\n /**\n * Auto hide the toast.\n * @returns boolean\n */\n readonly autohide = input(true);\n\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly color = input<Colors>('');\n\n /**\n * Delay hiding the toast (ms).\n * @returns number\n */\n readonly delay = input(5000, { transform: numberAttribute });\n\n /**\n * Apply fade transition to the toast.\n * @returns boolean\n */\n readonly fade = input(true);\n\n /**\n * ARIA role attribute.\n * @returns string\n */\n readonly role = input('alert');\n\n /**\n * Toggle the visibility of component.\n * @returns boolean\n */\n readonly visibleInput = input(false, { transform: booleanAttribute, alias: 'visible' });\n\n readonly #visible = linkedSignal(this.visibleInput);\n\n readonly #visible$ = toObservable(this.#visible);\n\n readonly #visibleEffect = effect(() => {\n const visible = this.#visible();\n visible ? this.setTimer() : this.clearTimer();\n this.changeDetectorRef.markForCheck();\n });\n\n set visible(value: boolean) {\n this.#visible.set(value);\n }\n\n get visible(): boolean {\n return this.#visible();\n }\n\n /**\n * @ignore\n */\n readonly index = input(0, { transform: numberAttribute });\n\n /**\n * Event emitted on visibility change\n * @returns boolean\n */\n readonly visibleChange = output<boolean>();\n\n /**\n * Event emitted on timer tick\n * @returns number\n */\n readonly timer = output<number>();\n\n private timerId: ReturnType<typeof setTimeout> | undefined;\n private clockId: ReturnType<typeof setInterval> | undefined;\n private clockTimerId: ReturnType<typeof setTimeout> | undefined;\n\n private _clock!: number;\n\n get clock(): number {\n return this._clock;\n }\n\n set clock(value) {\n this._clock = value;\n this.timer?.emit(this._clock);\n this.changeDetectorRef.markForCheck();\n }\n\n readonly hostClasses = computed(() => {\n const color = this.color();\n return {\n toast: true,\n show: this.#visible() && this.#rendered(),\n [`text-bg-${color}`]: !!color,\n // [`bg-${color}`]: !!color,\n 'border-0': !!color,\n fade: this.fade()\n } as Record<string, boolean>;\n });\n\n ngOnInit(): void {\n if (this.visible) {\n this.toasterService.setState({\n toast: this,\n show: this.visible,\n placement: this.placement\n });\n this.clearTimer();\n this.setTimer();\n }\n\n // skip the first emission if the initial value is false to prevent emitting visibleChange on init\n this.#visible$\n .pipe(\n skipWhile((value, index) => !value && index === 0),\n takeUntilDestroyed(this.destroyRef)\n )\n .subscribe((visible) => {\n this.visibleChange.emit(visible);\n });\n }\n\n ngOnDestroy(): void {\n this.clearTimer();\n }\n\n setTimer(): void {\n this.clearTimer();\n if (this.autohide() && this.visible) {\n this.timerId = this.delay() > 0 ? setTimeout(() => this.onClose(), this.delay()) : undefined;\n this.setClock();\n }\n }\n\n clearTimer(): void {\n this.clearClock();\n clearTimeout(this.timerId);\n this.timerId = undefined;\n }\n\n onClose(): void {\n this.clearTimer();\n this.toasterService.setState({\n toast: this,\n show: false,\n placement: this.placement\n });\n }\n\n setClock(): void {\n this.clearClock();\n this.clock = 0;\n this.clockId = setInterval(() => {\n this.clock += 1;\n this.changeDetectorRef.markForCheck();\n }, 1000);\n this.clockTimerId = setTimeout(() => {\n this.clearClock();\n }, this.delay());\n }\n\n clearClock(): void {\n clearTimeout(this.clockTimerId);\n clearInterval(this.clockId);\n this.clockId = undefined;\n }\n\n readonly #rendered = signal(false);\n\n protected handleEnter($event: AnimationCallbackEvent) {\n // Check if the component is inserted dynamically / conditionally - the class '.ng-star-inserted' is added to the host element.\n // If the class is present, set the visible state true to trigger the animation.\n const inserted = this.hostElement.nativeElement.classList.contains('ng-star-inserted');\n if (inserted) {\n this.#visible.set(true);\n }\n setTimeout(() => {\n this.#rendered.set(true);\n });\n }\n\n protected handleLeave($event: AnimationCallbackEvent) {\n this.#visible.set(false);\n // component is destroyed already, remove the class\n this.renderer.removeClass(this.hostElement.nativeElement, 'show');\n }\n}\n","import { Component, inject } from '@angular/core';\nimport { ToastComponent } from '../toast/toast.component';\n\n@Component({\n selector: 'c-toast-body',\n template: '<ng-content />',\n styleUrls: ['./toast-body.component.scss'],\n exportAs: 'cToastBody',\n host: {\n class: 'toast-body'\n }\n})\nexport class ToastBodyComponent {\n readonly toast? = inject(ToastComponent, { optional: true });\n}\n","import { Directive, inject, input } from '@angular/core';\nimport { ToasterService } from './toaster/toaster.service';\nimport type { ToastComponent } from './toast/toast.component';\n\n@Directive({\n selector: '[cToastClose]',\n exportAs: 'cToastClose',\n host: {\n '(click)': 'toggleOpen($event)'\n }\n})\nexport class ToastCloseDirective {\n readonly #toasterService = inject(ToasterService);\n\n /**\n * Toast to close.\n * @returns ToastComponent\n */\n readonly cToastClose = input<ToastComponent>();\n\n toggleOpen($event: MouseEvent): void {\n $event.preventDefault();\n this.#toasterService.setState({ show: false, toast: this.cToastClose() });\n }\n}\n","import { Component, inject, input, signal } from '@angular/core';\n\nimport { ButtonCloseDirective } from '../../button';\nimport { ToastComponent } from '../toast/toast.component';\nimport { ToastCloseDirective } from '../toast-close.directive';\n\n@Component({\n selector: 'c-toast-header',\n templateUrl: './toast-header.component.html',\n exportAs: 'cToastHeader',\n imports: [ToastCloseDirective, ButtonCloseDirective],\n host: {\n class: 'toast-header'\n }\n})\nexport class ToastHeaderComponent {\n readonly #toast = inject(ToastComponent, { optional: true });\n\n readonly toast = signal(this.#toast ?? undefined);\n\n /**\n * Add close button to a toast header\n * @returns boolean\n */\n readonly closeButton = input(true);\n}\n","<ng-container>\n <ng-content />\n @if (closeButton()) {\n <button [cToastClose]=\"toast()\" [style]=\"{outline: 0}\" aria-label=\"close\" cButtonClose class=\"ms-auto\"></button>\n }\n</ng-container>\n","import { Directive, inject, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[cToasterHost]',\n exportAs: 'cToasterHost'\n})\nexport class ToasterHostDirective {\n readonly viewContainerRef = inject(ViewContainerRef);\n}\n","import {\n Component,\n ComponentRef,\n computed,\n contentChildren,\n DestroyRef,\n effect,\n inject,\n Injector,\n input,\n MAX_ANIMATION_TIMEOUT,\n NgModuleRef,\n OnInit,\n viewChild,\n ViewContainerRef\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { IToasterAction, ToasterService } from './toaster.service';\nimport { ToasterHostDirective } from './toaster-host.directive';\nimport { ToastComponent } from '../toast/toast.component';\n\nexport enum ToasterPlacement {\n Static = 'static',\n TopStart = 'top-start',\n TopCenter = 'top-center',\n TopEnd = 'top-end',\n MiddleStart = 'middle-start',\n MiddleCenter = 'middle-center',\n MiddleEnd = 'middle-end',\n BottomStart = 'bottom-start',\n BottomCenter = 'bottom-center',\n BottomEnd = 'bottom-end'\n}\n\nexport type TToasterPlacement =\n | ToasterPlacement.Static\n | ToasterPlacement.TopStart\n | ToasterPlacement.TopCenter\n | ToasterPlacement.TopEnd\n | ToasterPlacement.MiddleStart\n | ToasterPlacement.MiddleCenter\n | ToasterPlacement.MiddleEnd\n | ToasterPlacement.BottomStart\n | ToasterPlacement.BottomCenter\n | ToasterPlacement.BottomEnd\n | string;\n\n@Component({\n selector: 'c-toaster',\n templateUrl: './toaster.component.html',\n exportAs: 'cToaster',\n imports: [ToasterHostDirective],\n host: {\n class: 'toaster toast-container',\n '[class]': 'hostClasses()'\n },\n providers: [ToasterService]\n})\nexport class ToasterComponent implements OnInit {\n readonly #toasterService = inject(ToasterService);\n readonly #destroyRef = inject(DestroyRef);\n readonly #maxAnimationTimeout = inject(MAX_ANIMATION_TIMEOUT);\n\n placements = Object.values(ToasterPlacement);\n toastsDynamic: ComponentRef<any>[] = [];\n\n /**\n * Toaster placement\n * @returns TToasterPlacement\n */\n readonly placementInput = input<TToasterPlacement>(ToasterPlacement.TopEnd, { alias: 'placement' });\n\n get placement() {\n return this.placementInput();\n }\n\n /**\n * Toaster position\n * @returns string | 'absolute' | 'fixed' | 'static'\n */\n readonly position = input<string | 'absolute' | 'fixed' | 'static'>('absolute');\n\n readonly toasterHost = viewChild.required(ToasterHostDirective);\n readonly contentToasts = contentChildren(ToastComponent, { read: ViewContainerRef });\n\n readonly #contentToastsEffect = effect(() => {\n // Ensure that the contentToasts is available before accessing it\n // temp fix for: ASSERTION ERROR: Unexpected state: no hydration info available for a given TNode, which represents a view container. [Expected=> null != undefined <=Actual]\n this.contentToasts();\n });\n\n readonly hostClasses = computed(() => {\n const placement = this.placement;\n const position = this.position();\n return {\n toaster: true,\n 'toast-container': true,\n [`position-${position}`]: !!position,\n 'top-0': placement.includes('top'),\n 'top-50': placement.includes('middle'),\n 'bottom-0': placement.includes('bottom'),\n 'start-0': placement.includes('start'),\n 'start-50': placement.includes('center'),\n 'end-0': placement.includes('end'),\n 'translate-middle-x': placement.includes('center') && !placement.includes('middle'),\n 'translate-middle-y': placement.includes('middle') && !placement.includes('center'),\n 'translate-middle': placement.includes('middle') && placement.includes('center')\n } as Record<string, boolean>;\n });\n\n ngOnInit(): void {\n this.stateToasterSubscribe();\n }\n\n public addToast(\n toast: any,\n props: any,\n options?: {\n index?: number;\n injector?: Injector;\n ngModuleRef?: NgModuleRef<unknown>;\n projectableNodes?: Node[][];\n }\n ): ComponentRef<any> {\n const componentRef: ComponentRef<any> = this.toasterHost().viewContainerRef.createComponent(toast, options);\n this.toastsDynamic.push(componentRef);\n const index = this.toastsDynamic.indexOf(componentRef);\n for (const [key, value] of Object.entries(props)) {\n try {\n componentRef.setInput(key, value);\n } catch (error) {\n console.error('Toast input error:', error);\n }\n }\n componentRef.setInput('placement', this.placement);\n componentRef.setInput('dynamic', true);\n componentRef.setInput('index', index);\n componentRef.setInput('visible', true);\n componentRef.instance['visibleChange']?.emit(true);\n componentRef.changeDetectorRef?.markForCheck();\n return componentRef;\n }\n\n public removeToast(state: IToasterAction): void {\n this.toastsDynamic?.forEach((item) => {\n if (state.toast?.dynamic() && item.instance === state.toast) {\n item.setInput('visible', false);\n item.instance['visibleChange'].emit(false);\n setTimeout(() => {\n item?.destroy();\n }, this.#maxAnimationTimeout);\n }\n });\n this.contentToasts()?.forEach((item) => {\n if (state.toast && item.element.nativeElement === state.toast.hostElement.nativeElement) {\n if (!state.toast.dynamic()) {\n state.toast.visible = false;\n }\n }\n });\n }\n\n private stateToasterSubscribe(): void {\n this.#toasterService.toasterState$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe((state) => {\n if (state.show === false) {\n this.removeToast(state);\n }\n // if (state.show === true && state.toast?.dynamic() === undefined) {\n // /* empty */\n // }\n });\n }\n}\n","<ng-template cToasterHost />\n<ng-content />\n","import { NgModule } from '@angular/core';\nimport { ToastComponent } from './toast/toast.component';\nimport { ToastContentComponent } from './toast/toast-content.component';\nimport { ToastHeaderComponent } from './toast-header/toast-header.component';\nimport { ToastBodyComponent } from './toast-body/toast-body.component';\nimport { ToasterComponent } from './toaster/toaster.component';\nimport { ToasterService } from './toaster/toaster.service';\nimport { ToasterHostDirective } from './toaster/toaster-host.directive';\nimport { ToastCloseDirective } from './toast-close.directive';\n\n@NgModule({\n imports: [\n ToastBodyComponent,\n ToastComponent,\n ToastContentComponent,\n ToastCloseDirective,\n ToastHeaderComponent,\n ToasterComponent,\n ToasterHostDirective\n ],\n providers: [ToasterService],\n exports: [\n ToastBodyComponent,\n ToastComponent,\n ToastContentComponent,\n ToastCloseDirective,\n ToastHeaderComponent,\n ToasterComponent,\n ToasterHostDirective\n ]\n})\nexport class ToastModule {}\n","import {\n booleanAttribute,\n Component,\n computed,\n effect,\n inject,\n input,\n OnDestroy,\n Renderer2,\n TemplateRef,\n viewChild,\n ViewContainerRef\n} from '@angular/core';\n\n@Component({\n selector: 'c-tooltip',\n templateUrl: './tooltip.component.html',\n host: {\n class: 'tooltip fade bs-tooltip-auto',\n '[class]': 'hostClasses()',\n '[attr.role]': 'role()',\n '[attr.id]': 'id()'\n }\n})\nexport class TooltipComponent implements OnDestroy {\n readonly renderer = inject(Renderer2);\n\n /**\n * Content of tooltip\n * @returns string | TemplateRef<any>\n */\n readonly content = input<string | TemplateRef<any>>('');\n\n readonly #contentEffect = effect(() => {\n this.updateView(this.content());\n });\n\n /**\n * Toggle the visibility of popover component.\n * @returns boolean\n */\n readonly visible = input(false, { transform: booleanAttribute });\n\n /**\n * The `id` HTML attribute of the tooltip.\n * @returns string\n */\n readonly id = input<string>();\n\n /**\n * Default role for tooltip.\n * @returns string\n * @default 'tooltip'\n */\n readonly role = input('tooltip');\n\n readonly viewContainerRef = viewChild('tooltipTemplate', { read: ViewContainerRef });\n private textNode!: Text;\n\n readonly hostClasses = computed(() => {\n return {\n tooltip: true,\n fade: true,\n show: this.visible(),\n 'bs-tooltip-auto': true\n } as Record<string, boolean>;\n });\n\n ngOnDestroy(): void {\n this.clear();\n }\n\n private clear(): void {\n this.viewContainerRef()?.clear();\n if (!!this.textNode) {\n this.renderer.removeChild(this.textNode.parentNode, this.textNode);\n }\n }\n\n private updateView(content: string | TemplateRef<any>): void {\n this.clear();\n\n if (!content) {\n return;\n }\n\n if (content instanceof TemplateRef) {\n this.viewContainerRef()?.createEmbeddedView(content);\n } else {\n this.textNode = this.renderer.createText(content);\n\n const element = this.viewContainerRef()?.element.nativeElement;\n this.renderer.appendChild(element.parentNode, this.textNode);\n }\n }\n}\n","<ng-container>\n <div class=\"tooltip-arrow\" data-popper-arrow></div>\n <div class=\"tooltip-inner\">\n <ng-container #tooltipTemplate />\n </div>\n</ng-container>\n","import {\n afterRenderEffect,\n AfterViewInit,\n ChangeDetectorRef,\n ComponentRef,\n computed,\n DestroyRef,\n Directive,\n DOCUMENT,\n effect,\n ElementRef,\n inject,\n input,\n model,\n OnDestroy,\n OnInit,\n Renderer2,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { debounceTime, filter, finalize } from 'rxjs/operators';\nimport { createPopper, Instance, Options } from '@popperjs/core';\n\nimport { Triggers } from '../coreui.types';\nimport { IListenersConfig, IntersectionService, ListenersService } from '../services';\nimport { ElementRefDirective } from '../shared';\nimport { TooltipComponent } from './tooltip/tooltip.component';\n\n@Directive({\n selector: '[cTooltip]',\n exportAs: 'cTooltip',\n providers: [ListenersService, IntersectionService],\n host: { '[aria-describedby]': 'ariaDescribedBy' }\n})\nexport class TooltipDirective implements OnDestroy, OnInit, AfterViewInit {\n readonly #renderer = inject(Renderer2);\n readonly #hostElement = inject(ElementRef);\n readonly #viewContainerRef = inject(ViewContainerRef);\n readonly #listenersService = inject(ListenersService);\n readonly #changeDetectorRef = inject(ChangeDetectorRef);\n readonly #intersectionService = inject(IntersectionService);\n readonly #destroyRef = inject(DestroyRef);\n readonly #document = inject(DOCUMENT);\n #timerId1: ReturnType<typeof setTimeout> | undefined;\n #timerId2: ReturnType<typeof setTimeout> | undefined;\n\n /**\n * Content of tooltip\n * @returns string | TemplateRef<any> | undefined\n */\n readonly content = input<string | TemplateRef<any> | undefined>(undefined, { alias: 'cTooltip' });\n\n readonly #contentEffect = effect(() => {\n if (this.content()) {\n this.destroyTooltipElement();\n }\n });\n\n /**\n * Optional popper Options object, takes precedence over cPopoverPlacement prop\n * @returns Partial<Options>\n */\n readonly popperOptions = input<Partial<Options>>({}, { alias: 'cTooltipOptions' });\n\n readonly #popperOptionsEffect = effect(() => {\n this._popperOptions = {\n ...this._popperOptions,\n placement: this.placement(),\n ...this.popperOptions()\n };\n });\n\n readonly popperOptionsComputed = computed(() => {\n return { placement: this.placement(), ...this._popperOptions };\n });\n\n /**\n * Describes the placement of your component after Popper.js has applied all the modifiers that may have flipped or altered the originally provided placement property.\n * @returns 'top' | 'bottom' | 'left' | 'right'\n * @default 'top'\n */\n readonly placement = input<'top' | 'bottom' | 'left' | 'right'>('top', { alias: 'cTooltipPlacement' });\n\n /**\n * ElementRefDirective for positioning the tooltip on reference element\n * @returns ElementRefDirective | undefined\n * @default undefined\n * @since 5.1.0\n */\n readonly reference = input<ElementRefDirective | undefined>(undefined, { alias: 'cTooltipRef' });\n\n readonly referenceRef = computed(() => this.reference()?.elementRef ?? this.#hostElement);\n\n /**\n * Sets which event handlers you’d like provided to your toggle prop. You can specify one trigger or an array of them.\n * @returns Triggers | Triggers[]\n */\n readonly trigger = input<Triggers | Triggers[]>('hover', { alias: 'cTooltipTrigger' });\n\n /**\n * Toggle the visibility of tooltip component.\n * @returns boolean\n */\n readonly visible = model(false, { alias: 'cTooltipVisible' });\n\n readonly #visibleEffect = afterRenderEffect({\n // this fixes RuntimeError: NG0500: During hydration Angular expected <abc> but found <xyz>.\n // Find more at https://angular.dev/errors/NG0500\n write: () => {\n this.visible() ? this.addTooltipElement() : this.removeTooltipElement();\n }\n });\n\n readonly #handleEscapeKey = (event: KeyboardEvent) => {\n if (event.key !== 'Escape') {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n this.visible.set(false);\n };\n\n readonly #escapeEffect = effect((onCleanup) => {\n if (!this.visible()) {\n return;\n }\n\n const useCapture = true;\n\n this.#document.addEventListener('keydown', this.#handleEscapeKey, useCapture);\n onCleanup(() => this.#document.removeEventListener('keydown', this.#handleEscapeKey, useCapture));\n });\n\n get ariaDescribedBy(): string | null {\n return this.tooltipId ? this.tooltipId : null;\n }\n\n private tooltip!: HTMLDivElement;\n private tooltipId!: string;\n private tooltipRef!: ComponentRef<TooltipComponent>;\n private popperInstance!: Instance;\n\n private _popperOptions: Partial<Options> = {\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 5]\n }\n }\n ]\n };\n\n ngAfterViewInit(): void {\n this.intersectionServiceSubscribe();\n }\n\n ngOnDestroy(): void {\n this.clearListeners();\n this.destroyTooltipElement();\n }\n\n ngOnInit(): void {\n this.setListeners();\n }\n\n private setListeners(): void {\n const config: IListenersConfig = {\n hostElement: this.#hostElement,\n trigger: this.trigger(),\n callbackToggle: () => {\n this.visible.update((value) => !value);\n },\n callbackOff: () => {\n this.visible.set(false);\n },\n callbackOn: () => {\n this.visible.set(true);\n }\n };\n this.#listenersService.setListeners(config);\n }\n\n private clearListeners(): void {\n this.#listenersService.clearListeners();\n }\n\n private intersectionServiceSubscribe(): void {\n this.#intersectionService.createIntersectionObserver(this.referenceRef());\n this.#intersectionService.intersecting$\n .pipe(\n filter((next) => next.hostElement === this.referenceRef()),\n debounceTime(100),\n finalize(() => {\n this.#intersectionService.unobserve(this.referenceRef());\n }),\n takeUntilDestroyed(this.#destroyRef)\n )\n .subscribe((next) => {\n this.visible.set(next.isIntersecting ? this.visible() : false);\n });\n }\n\n private getUID(prefix: string): string {\n let uid = prefix ?? 'random-id';\n do {\n uid = `${prefix}-${Math.floor(Math.random() * 1000000).toString(10)}`;\n } while (this.#document.getElementById(uid));\n\n return uid;\n }\n\n private createTooltipElement(): void {\n if (!this.tooltipRef) {\n this.tooltipRef = this.#viewContainerRef.createComponent<TooltipComponent>(TooltipComponent);\n // this.viewContainerRef.detach();\n }\n }\n\n private destroyTooltipElement(): void {\n this.tooltip?.remove();\n this.tooltipRef?.destroy();\n // @ts-ignore\n this.tooltipRef = undefined;\n this.popperInstance?.destroy();\n this.#viewContainerRef?.detach();\n this.#viewContainerRef?.clear();\n }\n\n private addTooltipElement(): void {\n if (!this.content()) {\n this.destroyTooltipElement();\n return;\n }\n\n if (!this.tooltipRef) {\n this.createTooltipElement();\n }\n\n this.tooltipRef?.setInput('content', this.content() ?? '');\n\n this.tooltip = this.tooltipRef?.location.nativeElement;\n this.#renderer.addClass(this.tooltip, 'd-none');\n this.#renderer.addClass(this.tooltip, 'fade');\n\n this.popperInstance?.destroy();\n\n this.#viewContainerRef.insert(this.tooltipRef.hostView);\n this.#renderer.appendChild(this.#document.body, this.tooltip);\n\n this.popperInstance = createPopper(this.referenceRef().nativeElement, this.tooltip, {\n ...this.popperOptionsComputed()\n });\n\n if (!this.visible()) {\n this.removeTooltipElement();\n return;\n }\n\n clearTimeout(this.#timerId2);\n clearTimeout(this.#timerId1);\n this.#timerId1 = setTimeout(() => {\n this.tooltipId = this.getUID('tooltip');\n this.tooltipRef?.setInput('id', this.tooltipId);\n this.#renderer.removeClass(this.tooltip, 'd-none');\n this.tooltipRef?.setInput('visible', this.visible());\n this.popperInstance?.forceUpdate();\n this.#changeDetectorRef?.markForCheck();\n this.#timerId1 = undefined;\n }, 150);\n }\n\n private removeTooltipElement(): void {\n this.tooltipId = '';\n if (!this.tooltipRef) {\n return;\n }\n\n clearTimeout(this.#timerId2);\n this.#timerId2 = setTimeout(() => {\n this.#viewContainerRef?.detach();\n this.#timerId2 = undefined;\n }, 300);\n\n this.tooltipRef.setInput('visible', false);\n this.tooltipRef.setInput('id', undefined);\n this.#changeDetectorRef.markForCheck();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { TooltipComponent } from './tooltip/tooltip.component';\nimport { TooltipDirective } from './tooltip.directive';\n\n@NgModule({\n exports: [\n TooltipComponent,\n TooltipDirective\n ],\n imports: [\n TooltipComponent,\n TooltipDirective\n ]\n})\nexport class TooltipModule {}\n","import { Component, computed, contentChildren, effect, input, InputSignal, TemplateRef } from '@angular/core';\n\nimport { Colors } from '../../coreui.types';\nimport { TemplateIdDirective } from '../../shared';\nimport { CardBodyComponent, CardComponent } from '../../card';\nimport { NgTemplateOutlet } from '@angular/common';\n\n@Component({\n selector: 'c-widget-stat-a',\n templateUrl: './widget-stat-a.component.html',\n exportAs: 'cWidgetStatA',\n imports: [CardBodyComponent, NgTemplateOutlet],\n host: { class: 'card', '[class]': 'hostClasses()' }\n})\nexport class WidgetStatAComponent extends CardComponent {\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n // override readonly color = input<Colors>();\n\n /**\n * Title of the widget to display\n * @returns string\n */\n readonly title: InputSignal<string | undefined> = input();\n\n /**\n * Value for your widget to display\n * @returns string\n */\n readonly value: InputSignal<string | undefined> = input<string>();\n\n readonly contentTemplates = contentChildren(TemplateIdDirective, { descendants: true });\n\n readonly templates = computed(() => {\n return this.contentTemplates().reduce(\n (acc, child) => {\n acc[child.id] = child.templateRef;\n return acc;\n },\n {} as Record<string, TemplateRef<any>>\n );\n });\n\n override readonly hostClasses = computed(() => {\n const color = this.color();\n return {\n card: true,\n [`bg-${color}`]: !!color,\n 'text-white': !!color\n } as Record<string, boolean>;\n });\n\n get bodyClasses() {\n return {\n 'pb-0': true,\n 'd-flex': true,\n 'justify-content-between': true,\n 'align-items-start': true\n };\n }\n}\n","@let _templates = templates();\n<ng-container>\n <c-card-body [class]=\"bodyClasses\">\n <div>\n @if (!!value() || _templates?.['widgetValueTemplate']) {\n <div class=\"fs-4 fw-semibold\">\n <ng-container *ngTemplateOutlet=\"_templates?.['widgetValueTemplate'] || defaultWidgetValueTemplate\" />\n </div>\n }\n @if (!!title() || _templates?.['widgetTitleTemplate']) {\n <div>\n <ng-container *ngTemplateOutlet=\"_templates?.['widgetTitleTemplate'] || defaultWidgetTitleTemplate\" />\n </div>\n }\n </div>\n <ng-container *ngTemplateOutlet=\"_templates?.['widgetActionTemplate'] || defaultWidgetActionTemplate\" />\n </c-card-body>\n <ng-container *ngTemplateOutlet=\"_templates?.['widgetChartTemplate'] || defaultWidgetChartTemplate\" />\n</ng-container>\n\n<ng-template #defaultWidgetTitleTemplate>\n {{ title() }}\n</ng-template>\n\n<ng-template #defaultWidgetValueTemplate>\n {{ value() }}\n</ng-template>\n\n<ng-template #defaultWidgetChartTemplate>\n <ng-content select=\".chart-wrapper\" />\n</ng-template>\n\n<ng-template #defaultWidgetActionTemplate>\n <ng-content />\n</ng-template>\n","import { booleanAttribute, Component, computed, input, InputSignal, InputSignalWithTransform } from '@angular/core';\n\nimport { CardBodyComponent, CardComponent } from '../../card';\n\n@Component({\n selector: 'c-widget-stat-b',\n templateUrl: './widget-stat-b.component.html',\n exportAs: 'cWidgetStatB',\n imports: [CardBodyComponent],\n host: { class: 'card', '[class]': 'hostClasses()' }\n})\nexport class WidgetStatBComponent extends CardComponent {\n constructor() {\n super();\n }\n\n /**\n * Sets the color context of the component to one of CoreUI themed colors.\n * @returns Colors\n */\n // override readonly color: InputSignal<Colors | undefined> = input();\n\n /**\n * Sets the text-color context of the component to one of CoreUI themed colors.\n * via TextColorDirective\n * @returns TextColors\n */\n // override readonly textColor: InputSignal<TextColors | undefined> = input();\n\n /**\n * Title of the widget to display\n * @returns string\n */\n readonly title: InputSignal<string | undefined> = input<string>();\n\n /**\n * Helper text for your widget.\n * @returns string\n */\n readonly text: InputSignal<string | undefined> = input<string>();\n\n /**\n * Value for your widget to display\n * @returns string\n */\n readonly value: InputSignal<string | undefined> = input<string>();\n\n /**\n * Invert colors from their default dark shade.\n * @returns boolean\n */\n readonly inverse: InputSignalWithTransform<boolean, unknown> = input(false, { transform: booleanAttribute });\n\n override readonly hostClasses = computed(() => {\n const color = this.color();\n const textColor = this.textColor();\n return {\n card: true,\n [`bg-${color}`]: !!color,\n [`text-${textColor}`]: !!textColor,\n 'text-white': this.inverse()\n } as Record<string, boolean>;\n });\n}\n","<c-card-body>\n @if (!!value()) {\n <div class=\"fs-4 fw-semibold\">{{ value() }}</div>\n }\n @if (!!title()) {\n <div>{{ title() }}</div>\n }\n <ng-content />\n @if (text()) {\n <small [class]=\"inverse() ? 'text-white text-opacity-75' : 'text-body-secondary'\">\n {{ text() }}\n </small>\n }\n</c-card-body>\n","import { booleanAttribute, Component, computed, contentChildren, effect, input, TemplateRef } from '@angular/core';\n\nimport { CardBodyComponent, CardComponent } from '../../card';\nimport { TemplateIdDirective } from '../../shared';\nimport { NgTemplateOutlet } from '@angular/common';\n\n@Component({\n selector: 'c-widget-stat-c',\n templateUrl: './widget-stat-c.component.html',\n exportAs: 'cWidgetStatC',\n imports: [CardBodyComponent, NgTemplateOutlet],\n host: { '[class]': 'hostExtendedClass()' }\n})\nexport class WidgetStatCComponent extends CardComponent {\n constructor() {\n super();\n }\n\n /**\n * Icon for your component.\n * @returns string\n */\n readonly icon = input<string>();\n\n /**\n * Title of the widget to display\n * @returns string\n */\n readonly title = input<string>();\n\n /**\n * Value for your widget to display\n * @returns string|number\n */\n readonly value = input<string | number>();\n\n /**\n * Invert colors from their default dark shade.\n * @returns boolean\n */\n readonly inverse = input(false, { transform: booleanAttribute });\n\n readonly contentTemplates = contentChildren(TemplateIdDirective, { descendants: true });\n\n readonly templates = computed(() => {\n return this.contentTemplates().reduce(\n (acc, child) => {\n acc[child.id] = child.templateRef;\n return acc;\n },\n {} as Record<string, TemplateRef<any>>\n );\n });\n\n readonly hostExtendedClass = computed(() => {\n return { ...this.hostClasses(), 'text-white': this.inverse() } as Record<string, boolean>;\n });\n\n readonly titleClasses = computed(() => {\n const inverse = this.inverse();\n return {\n 'text-body-secondary': !inverse,\n 'text-white': inverse,\n 'text-opacity-75': inverse,\n [`text-${this.textColor()}`]: !!this.textColor()\n } as Record<string, boolean>;\n });\n\n readonly valueClasses = computed(() => {\n return {\n 'fs-4': !this.textColor(),\n 'fw-semibold': true,\n ...this.titleClasses(),\n 'text-opacity-75': false\n } as Record<string, boolean>;\n });\n\n readonly iconClasses = computed(() => {\n return {\n 'mb-4': !this.textColor(),\n 'text-end': true,\n ...this.titleClasses()\n } as Record<string, boolean>;\n });\n}\n","@let _templates = templates();\n<c-card-body>\n @if (icon() || _templates?.['widgetIconTemplate']) {\n <div [class]=\"iconClasses()\">\n <ng-container *ngTemplateOutlet=\"_templates?.['widgetIconTemplate'] || defaultWidgetIconTemplate\" />\n </div>\n }\n @if (!!value()) {\n <div [class]=\"valueClasses()\">\n {{ value() }}\n </div>\n }\n @if (!!title()) {\n <div [class]=\"titleClasses()\">\n {{ title() }}\n </div>\n }\n @if (_templates?.['widgetProgressTemplate']) {\n <ng-container *ngTemplateOutlet=\"_templates?.['widgetProgressTemplate'] || defaultWidgetProgressTemplate\" />\n }\n</c-card-body>\n\n<ng-template #defaultWidgetIconTemplate>\n {{ icon() }}\n</ng-template>\n\n<ng-template #defaultWidgetProgressTemplate>\n <ng-content />\n</ng-template>\n","import { Component, computed, input } from '@angular/core';\nimport { Colors } from '../../coreui.types';\nimport { CardBodyComponent, CardComponent, CardHeaderComponent } from '../../card';\nimport { ColComponent, RowDirective } from '../../grid';\n\nexport type WidgetStatDValue = {\n title?: string;\n value?: number | string;\n};\n\n@Component({\n selector: 'c-widget-stat-d',\n templateUrl: './widget-stat-d.component.html',\n exportAs: 'cWidgetStatD',\n imports: [CardHeaderComponent, CardBodyComponent, ColComponent, RowDirective],\n host: { class: 'card' }\n})\nexport class WidgetStatDComponent extends CardComponent {\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n // override readonly color = input<Colors>();\n\n /**\n * Values and subtitles for your component.\n * @returns WidgetStatDValue[]\n */\n readonly values = input<WidgetStatDValue[]>();\n\n readonly headerClasses = computed(() => {\n return {\n 'position-relative': true,\n 'd-flex': true,\n 'justify-content-center': true,\n 'align-items-center': true,\n [`bg-${this.color()}`]: this.color()\n } as Record<string, boolean>;\n });\n}\n","<c-card-header [class]=\"headerClasses()\">\n <ng-content />\n</c-card-header>\n<c-card-body cRow class=\"text-center\">\n @for (item of values(); track item; let i = $index) {\n @if (i % 2 !== 0) {\n <div class=\"vr\"></div>\n }\n <c-col>\n <div class=\"fs-5 fw-semibold\">{{ item.value }}</div>\n <div class=\"text-uppercase text-body-secondary small\">{{ item.title }}</div>\n </c-col>\n }\n</c-card-body>\n","import { Component, computed, input } from '@angular/core';\nimport { CardBodyComponent, CardComponent } from '../../card';\n\n@Component({\n selector: 'c-widget-stat-e',\n templateUrl: './widget-stat-e.component.html',\n exportAs: 'cWidgetStatE',\n imports: [CardBodyComponent]\n})\nexport class WidgetStatEComponent extends CardComponent {\n constructor() {\n super();\n }\n\n /**\n * Title of the widget to display\n * @returns string\n */\n readonly title = input<string>();\n\n /**\n * Value for your widget to display\n * @returns string | number\n */\n readonly value = input<string | number>();\n\n readonly titleClasses = computed(() => {\n const textColor = this.textColor();\n return {\n 'text-body-secondary': !textColor,\n small: true,\n 'text-uppercase': true,\n 'fw-semibold': true,\n [`text-${textColor}`]: !!textColor\n } as Record<string, boolean>;\n });\n}\n","<c-card-body class=\"text-center\">\n @if (!!title()) {\n <div [class]=\"titleClasses()\">{{ title() }}</div>\n }\n @if (!!value()) {\n <div class=\"fs-6 fw-semibold py-3\">{{ value() }}</div>\n }\n <ng-content />\n</c-card-body>\n","import { booleanAttribute, Component, computed, contentChildren, effect, input, TemplateRef } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\n\nimport { Colors } from '../../coreui.types';\nimport { TemplateIdDirective } from '../../shared';\nimport { CardBodyComponent, CardComponent, CardFooterComponent } from '../../card';\n\n@Component({\n selector: 'c-widget-stat-f',\n templateUrl: './widget-stat-f.component.html',\n exportAs: 'cWidgetStatB',\n imports: [CardBodyComponent, CardFooterComponent, NgTemplateOutlet],\n host: { class: 'card', '[class]': 'hostClasses()' }\n})\nexport class WidgetStatFComponent extends CardComponent {\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n // override readonly color = input<Colors>();\n\n /**\n * Sets the text-color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n // override readonly textColor = input<TextColors | 'white' | 'muted'>();\n\n /**\n * Footer for your widget\n * @returns string\n */\n readonly footer = input<string>();\n\n /**\n * Icon for your widget\n * @returns string\n */\n readonly icon = input<string>();\n\n /**\n * Set padding of your component.\n * @returns boolean\n */\n readonly padding = input(false, { transform: booleanAttribute });\n\n /**\n * Title of the widget to display\n * @returns string\n */\n readonly title = input<string>();\n\n /**\n * Value for your widget to display\n * @returns string | number\n */\n readonly value = input<string | number>();\n\n readonly contentTemplates = contentChildren(TemplateIdDirective, { descendants: true });\n\n readonly templates = computed(() => {\n return this.contentTemplates().reduce(\n (acc, child) => {\n acc[child.id] = child.templateRef;\n return acc;\n },\n {} as Record<string, TemplateRef<any>>\n );\n });\n\n readonly cardBodyClasses = computed(() => {\n return {\n 'd-flex': true,\n 'align-items-center': true,\n 'p-0': !this.padding()\n } as Record<string, boolean>;\n });\n\n readonly iconClasses = computed(() => {\n const color = this.color();\n const padding = this.padding();\n\n return {\n 'me-3': !this.textColor(),\n 'text-white': true,\n [`bg-${color}`]: !!color,\n 'p-3': padding,\n 'p-4': !padding,\n 'rounded-start-1': !padding\n } as Record<string, boolean>;\n });\n\n readonly titleClasses = computed(() => {\n const textColor = this.textColor();\n return {\n 'text-body-secondary': !textColor,\n small: true,\n 'text-uppercase': true,\n 'fw-semibold': true,\n [`text-${textColor}`]: !!textColor\n } as Record<string, boolean>;\n });\n\n readonly valueClasses = computed(() => {\n const textColor = this.textColor();\n return {\n 'fs-6': !textColor,\n 'fw-semibold': true,\n [`text-${textColor}`]: !!textColor\n } as Record<string, boolean>;\n });\n}\n","@let _templates = templates();\n<ng-container>\n <c-card-body [class]=\"cardBodyClasses()\">\n <div [class]=\"iconClasses()\">\n <ng-container *ngTemplateOutlet=\"_templates?.['widgetIconTemplate'] || defaultWidgetIconTemplate\" />\n </div>\n <div>\n <div [class]=\"valueClasses()\">{{ value() }}</div>\n <div [class]=\"titleClasses()\">{{ title() }}</div>\n </div>\n </c-card-body>\n @if (footer() || _templates?.['widgetFooterTemplate']) {\n <c-card-footer>\n <ng-container *ngTemplateOutlet=\"_templates?.['widgetFooterTemplate'] || defaultFooterIconTemplate\" />\n </c-card-footer>\n }\n</ng-container>\n\n<ng-template #defaultWidgetIconTemplate>\n <span>{{ icon() }}</span>\n</ng-template>\n\n<ng-template #defaultFooterIconTemplate>\n <span>{{ footer() }}</span>\n</ng-template>\n","import { NgModule } from '@angular/core';\n\nimport { WidgetStatAComponent } from './widget-stat-a/widget-stat-a.component';\nimport { WidgetStatBComponent } from './widget-stat-b/widget-stat-b.component';\nimport { WidgetStatCComponent } from './widget-stat-c/widget-stat-c.component';\nimport { WidgetStatDComponent } from './widget-stat-d/widget-stat-d.component';\nimport { WidgetStatEComponent } from './widget-stat-e/widget-stat-e.component';\nimport { WidgetStatFComponent } from './widget-stat-f/widget-stat-f.component';\n\n@NgModule({\n imports: [\n WidgetStatAComponent,\n WidgetStatBComponent,\n WidgetStatCComponent,\n WidgetStatDComponent,\n WidgetStatEComponent,\n WidgetStatFComponent\n ],\n exports: [\n WidgetStatAComponent,\n WidgetStatBComponent,\n WidgetStatCComponent,\n WidgetStatDComponent,\n WidgetStatEComponent,\n WidgetStatFComponent\n ]\n})\nexport class WidgetModule {}\n","/*\n * Public API Surface of coreui-angular\n */\n\nexport * from './lib/coreui.types';\nexport * from './lib/shared';\nexport * from './lib/accordion';\nexport * from './lib/alert';\nexport * from './lib/avatar';\nexport * from './lib/badge';\nexport * from './lib/backdrop';\nexport * from './lib/breadcrumb';\nexport * from './lib/button';\nexport * from './lib/button-group';\nexport * from './lib/callout';\nexport * from './lib/card';\nexport * from './lib/carousel';\nexport * from './lib/collapse';\nexport * from './lib/dropdown';\nexport * from './lib/footer';\nexport * from './lib/form';\nexport * from './lib/grid';\nexport * from './lib/header';\nexport * from './lib/image';\nexport * from './lib/list-group';\nexport * from './lib/nav';\nexport * from './lib/navbar';\nexport * from './lib/modal';\nexport * from './lib/offcanvas';\nexport * from './lib/pagination';\nexport * from './lib/placeholder';\nexport * from './lib/popover';\nexport * from './lib/progress';\nexport * from './lib/search-button';\nexport * from './lib/services';\nexport * from './lib/sidebar';\nexport * from './lib/spinner';\nexport * from './lib/table';\nexport * from './lib/tabs';\nexport * from './lib/tabs-2';\nexport * from './lib/toast';\nexport * from './lib/tooltip';\nexport * from './lib/utilities';\nexport * from './lib/widget';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["nextId","i1.ThemeDirective","i1","i2","i1.ProgressBarDirective","i1.SidebarToggleDirective"],"mappings":"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"}
1
+ {"version":3,"file":"coreui-angular.mjs","names":[],"sources":["../../../projects/coreui-angular/src/lib/coreui.types.ts","../../../projects/coreui-angular/src/lib/shared/element-ref.directive.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/theme.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.directive.ts","../../../projects/coreui-angular/src/lib/collapse/collapse.module.ts","../../../projects/coreui-angular/src/lib/accordion/accordion-item/accordion-item.component.ts","../../../projects/coreui-angular/src/lib/accordion/accordion-item/accordion-item.component.html","../../../projects/coreui-angular/src/lib/accordion/accordion.module.ts","../../../projects/coreui-angular/src/lib/alert/alert-heading.directive.ts","../../../projects/coreui-angular/src/lib/alert/alert-link.directive.ts","../../../projects/coreui-angular/src/lib/button/button.directive.ts","../../../projects/coreui-angular/src/lib/button/button-close.directive.ts","../../../projects/coreui-angular/src/lib/button/button.module.ts","../../../projects/coreui-angular/src/lib/alert/alert.component.ts","../../../projects/coreui-angular/src/lib/alert/alert.component.html","../../../projects/coreui-angular/src/lib/alert/alert.module.ts","../../../projects/coreui-angular/src/lib/utilities/align.directive.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/rounded.directive.ts","../../../projects/coreui-angular/src/lib/utilities/shadow-on-scroll.directive.ts","../../../projects/coreui-angular/src/lib/utilities/text-color.directive.ts","../../../projects/coreui-angular/src/lib/utilities/text-bg-color.directive.ts","../../../projects/coreui-angular/src/lib/utilities/utilities.module.ts","../../../projects/coreui-angular/src/lib/avatar/avatar.component.ts","../../../projects/coreui-angular/src/lib/avatar/avatar.component.html","../../../projects/coreui-angular/src/lib/avatar/avatar.module.ts","../../../projects/coreui-angular/src/lib/badge/badge.component.ts","../../../projects/coreui-angular/src/lib/badge/badge.module.ts","../../../projects/coreui-angular/src/lib/backdrop/backdrop.service.ts","../../../projects/coreui-angular/src/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.ts","../../../projects/coreui-angular/src/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.html","../../../projects/coreui-angular/src/lib/breadcrumb/breadcrumb/breadcrumb.component.ts","../../../projects/coreui-angular/src/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.ts","../../../projects/coreui-angular/src/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.ts","../../../projects/coreui-angular/src/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.html","../../../projects/coreui-angular/src/lib/breadcrumb/breadcrumb.module.ts","../../../projects/coreui-angular/src/lib/button-group/button-group/button-group.component.ts","../../../projects/coreui-angular/src/lib/button-group/button-toolbar/button-toolbar.component.ts","../../../projects/coreui-angular/src/lib/button-group/button-group.module.ts","../../../projects/coreui-angular/src/lib/callout/callout.component.ts","../../../projects/coreui-angular/src/lib/callout/callout.module.ts","../../../projects/coreui-angular/src/lib/card/card.component.ts","../../../projects/coreui-angular/src/lib/card/card-body.component.ts","../../../projects/coreui-angular/src/lib/card/card-footer.component.ts","../../../projects/coreui-angular/src/lib/card/card-group.component.ts","../../../projects/coreui-angular/src/lib/card/card-header.component.ts","../../../projects/coreui-angular/src/lib/card/card-header-actions.component.ts","../../../projects/coreui-angular/src/lib/card/card-img.directive.ts","../../../projects/coreui-angular/src/lib/card/card-img-overlay/card-img-overlay.component.ts","../../../projects/coreui-angular/src/lib/card/card-link.directive.ts","../../../projects/coreui-angular/src/lib/card/card-subtitle.directive.ts","../../../projects/coreui-angular/src/lib/card/card-text.directive.ts","../../../projects/coreui-angular/src/lib/card/card-title.directive.ts","../../../projects/coreui-angular/src/lib/card/card.module.ts","../../../projects/coreui-angular/src/lib/services/intersection.service.ts","../../../projects/coreui-angular/src/lib/services/listeners.service.ts","../../../projects/coreui-angular/src/lib/services/class-toggle.service.ts","../../../projects/coreui-angular/src/lib/services/in-memory-storage.service.ts","../../../projects/coreui-angular/src/lib/services/local-storage.service.ts","../../../projects/coreui-angular/src/lib/services/color-mode.service.ts","../../../projects/coreui-angular/src/lib/services/uid.service.ts","../../../projects/coreui-angular/src/lib/services/rtl.service.ts","../../../projects/coreui-angular/src/lib/carousel/carousel.service.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-item/carousel-item.component.ts","../../../projects/coreui-angular/src/lib/carousel/carousel-inner/carousel-inner.component.ts","../../../projects/coreui-angular/src/lib/carousel/carousel.module.ts","../../../projects/coreui-angular/src/lib/dropdown/dropdown-divider/dropdown-divider.directive.ts","../../../projects/coreui-angular/src/lib/dropdown/dropdown-header/dropdown-header.directive.ts","../../../projects/coreui-angular/src/lib/dropdown/dropdown.service.ts","../../../projects/coreui-angular/src/lib/dropdown/dropdown-menu/dropdown-menu.directive.ts","../../../projects/coreui-angular/src/lib/dropdown/dropdown/dropdown.component.ts","../../../projects/coreui-angular/src/lib/dropdown/dropdown-item/dropdown-item.directive.ts","../../../projects/coreui-angular/src/lib/dropdown/dropdown-item/dropdown-item-plain.directive.ts","../../../projects/coreui-angular/src/lib/dropdown/dropdown-close/dropdown-close.directive.ts","../../../projects/coreui-angular/src/lib/dropdown/dropdown.module.ts","../../../projects/coreui-angular/src/lib/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-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-control/form-control.directive.ts","../../../projects/coreui-angular/src/lib/form/form-check/form-check-input.directive.ts","../../../projects/coreui-angular/src/lib/form/form-feedback/form-feedback.component.ts","../../../projects/coreui-angular/src/lib/form/form-floating/form-floating.directive.ts","../../../projects/coreui-angular/src/lib/form/form-label/form-label.directive.ts","../../../projects/coreui-angular/src/lib/form/form-select/form-select.directive.ts","../../../projects/coreui-angular/src/lib/form/form-text/form-text.directive.ts","../../../projects/coreui-angular/src/lib/form/input-group/input-group.component.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/nav/nav-group.service.ts","../../../projects/coreui-angular/src/lib/nav/nav-link.directive.ts","../../../projects/coreui-angular/src/lib/nav/nav-group-items.component.ts","../../../projects/coreui-angular/src/lib/nav/nav-group.component.ts","../../../projects/coreui-angular/src/lib/nav/nav-group.component.html","../../../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-title.component.ts","../../../projects/coreui-angular/src/lib/nav/nav.component.ts","../../../projects/coreui-angular/src/lib/nav/nav.module.ts","../../../projects/coreui-angular/src/lib/navbar/navbar.component.ts","../../../projects/coreui-angular/src/lib/navbar/navbar.component.html","../../../projects/coreui-angular/src/lib/navbar/navbar-brand/navbar-brand.directive.ts","../../../projects/coreui-angular/src/lib/navbar/navbar-nav/navbar-nav.component.ts","../../../projects/coreui-angular/src/lib/navbar/navbar-text/navbar-text.component.ts","../../../projects/coreui-angular/src/lib/navbar/navbar-toggler/navbar-toggler.directive.ts","../../../projects/coreui-angular/src/lib/navbar/navbar.module.ts","../../../projects/coreui-angular/src/lib/modal/modal-body/modal-body.component.ts","../../../projects/coreui-angular/src/lib/modal/modal-content/modal-content.component.ts","../../../projects/coreui-angular/src/lib/modal/modal-dialog/modal-dialog.component.ts","../../../projects/coreui-angular/src/lib/modal/modal.service.ts","../../../projects/coreui-angular/src/lib/modal/modal-dismiss/modal-toggle.directive.ts","../../../projects/coreui-angular/src/lib/modal/modal-footer/modal-footer.component.ts","../../../projects/coreui-angular/src/lib/modal/modal-header/modal-header.component.ts","../../../projects/coreui-angular/src/lib/modal/modal-title/modal-title.directive.ts","../../../projects/coreui-angular/src/lib/modal/modal/modal.component.ts","../../../projects/coreui-angular/src/lib/modal/modal/modal.component.html","../../../projects/coreui-angular/src/lib/modal/modal.module.ts","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas.service.ts","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas/offcanvas.component.ts","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas/offcanvas.component.html","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas-body/offcanvas-body.component.ts","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas-header/offcanvas-header.component.ts","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas-title/offcanvas-title.directive.ts","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.ts","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas.module.ts","../../../projects/coreui-angular/src/lib/pagination/page-link/page-link.directive.ts","../../../projects/coreui-angular/src/lib/pagination/page-item/page-item.directive.ts","../../../projects/coreui-angular/src/lib/pagination/page-item/page-item.component.ts","../../../projects/coreui-angular/src/lib/pagination/pagination/pagination.component.ts","../../../projects/coreui-angular/src/lib/pagination/pagination/pagination.component.html","../../../projects/coreui-angular/src/lib/pagination/pagination.module.ts","../../../projects/coreui-angular/src/lib/placeholder/placeholder.directive.ts","../../../projects/coreui-angular/src/lib/placeholder/placeholder-animation.directive.ts","../../../projects/coreui-angular/src/lib/placeholder/placeholder.module.ts","../../../projects/coreui-angular/src/lib/popover/popover/popover.component.ts","../../../projects/coreui-angular/src/lib/popover/popover/popover.component.html","../../../projects/coreui-angular/src/lib/popover/popover.directive.ts","../../../projects/coreui-angular/src/lib/popover/popover.module.ts","../../../projects/coreui-angular/src/lib/progress/progress.service.ts","../../../projects/coreui-angular/src/lib/progress/progress-bar.directive.ts","../../../projects/coreui-angular/src/lib/progress/progress-bar.component.ts","../../../projects/coreui-angular/src/lib/progress/progress-stacked.component.ts","../../../projects/coreui-angular/src/lib/progress/progress.component.ts","../../../projects/coreui-angular/src/lib/progress/progress.component.html","../../../projects/coreui-angular/src/lib/progress/progress.module.ts","../../../projects/coreui-angular/src/lib/search-button/search-button.utils.ts","../../../projects/coreui-angular/src/lib/search-button/search-button.component.ts","../../../projects/coreui-angular/src/lib/search-button/search-button.component.html","../../../projects/coreui-angular/src/lib/search-button/search-button.module.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar.service.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-backdrop/sidebar-backdrop.service.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar/sidebar.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-brand/sidebar-brand.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-brand/sidebar-brand.component.html","../../../projects/coreui-angular/src/lib/sidebar/sidebar-toggle/sidebar-toggle.directive.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-toggler/sidebar-toggler.directive.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-header/sidebar-header.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-footer/sidebar-footer.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav.service.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-group.service.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-icon.pipe.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-badge.pipe.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-link.pipe.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-link.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-link.component.html","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-label.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-label.component.html","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-title.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-item-class.pipe.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-group.component.html","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav.component.html","../../../projects/coreui-angular/src/lib/sidebar/sidebar.module.ts","../../../projects/coreui-angular/src/lib/spinner/spinner.component.ts","../../../projects/coreui-angular/src/lib/spinner/spinner.component.html","../../../projects/coreui-angular/src/lib/spinner/spinner.module.ts","../../../projects/coreui-angular/src/lib/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-content/tab-content.component.ts","../../../projects/coreui-angular/src/lib/tabs/tab-content-ref.directive.ts","../../../projects/coreui-angular/src/lib/tabs/tabs.module.ts","../../../projects/coreui-angular/src/lib/tabs-2/tabs.service.ts","../../../projects/coreui-angular/src/lib/tabs-2/tabs.component.ts","../../../projects/coreui-angular/src/lib/tabs-2/tab/tab.directive.ts","../../../projects/coreui-angular/src/lib/tabs-2/tabs-list/tabs-list.component.ts","../../../projects/coreui-angular/src/lib/tabs-2/tabs-content/tabs-content.component.ts","../../../projects/coreui-angular/src/lib/utilities/getTransitionDurationFromElement.ts","../../../projects/coreui-angular/src/lib/tabs-2/tab-panel/tab-panel.component.ts","../../../projects/coreui-angular/src/lib/tabs-2/tabs2.module.ts","../../../projects/coreui-angular/src/lib/toast/toaster/toaster.service.ts","../../../projects/coreui-angular/src/lib/toast/toast/toast-content.component.ts","../../../projects/coreui-angular/src/lib/toast/toast/toast.component.ts","../../../projects/coreui-angular/src/lib/toast/toast-body/toast-body.component.ts","../../../projects/coreui-angular/src/lib/toast/toast-close.directive.ts","../../../projects/coreui-angular/src/lib/toast/toast-header/toast-header.component.ts","../../../projects/coreui-angular/src/lib/toast/toast-header/toast-header.component.html","../../../projects/coreui-angular/src/lib/toast/toaster/toaster-host.directive.ts","../../../projects/coreui-angular/src/lib/toast/toaster/toaster.component.ts","../../../projects/coreui-angular/src/lib/toast/toaster/toaster.component.html","../../../projects/coreui-angular/src/lib/toast/toast.module.ts","../../../projects/coreui-angular/src/lib/tooltip/tooltip/tooltip.component.ts","../../../projects/coreui-angular/src/lib/tooltip/tooltip/tooltip.component.html","../../../projects/coreui-angular/src/lib/tooltip/tooltip.directive.ts","../../../projects/coreui-angular/src/lib/tooltip/tooltip.module.ts","../../../projects/coreui-angular/src/lib/widget/widget-stat-a/widget-stat-a.component.ts","../../../projects/coreui-angular/src/lib/widget/widget-stat-a/widget-stat-a.component.html","../../../projects/coreui-angular/src/lib/widget/widget-stat-b/widget-stat-b.component.ts","../../../projects/coreui-angular/src/lib/widget/widget-stat-b/widget-stat-b.component.html","../../../projects/coreui-angular/src/lib/widget/widget-stat-c/widget-stat-c.component.ts","../../../projects/coreui-angular/src/lib/widget/widget-stat-c/widget-stat-c.component.html","../../../projects/coreui-angular/src/lib/widget/widget-stat-d/widget-stat-d.component.ts","../../../projects/coreui-angular/src/lib/widget/widget-stat-d/widget-stat-d.component.html","../../../projects/coreui-angular/src/lib/widget/widget-stat-e/widget-stat-e.component.ts","../../../projects/coreui-angular/src/lib/widget/widget-stat-e/widget-stat-e.component.html","../../../projects/coreui-angular/src/lib/widget/widget-stat-f/widget-stat-f.component.ts","../../../projects/coreui-angular/src/lib/widget/widget-stat-f/widget-stat-f.component.html","../../../projects/coreui-angular/src/lib/widget/widget.module.ts"],"sourcesContent":["import { IsActiveMatchOptions } from '@angular/router';\n\nexport declare type BooleanInput = string | boolean | null | undefined;\nexport declare type NumberInput = string | number | null | undefined;\n\nexport type NgCssClass = string | string[] | Set<string> | { [klass: string]: any };\n\nexport enum BreakpointInfix {\n xs = 'xs',\n sm = 'sm',\n md = 'md',\n lg = 'lg',\n xl = 'xl',\n xxl = 'xxl'\n}\n\nexport type BreakpointInfixStrings = keyof typeof BreakpointInfix;\n\nexport type Breakpoints = BreakpointInfixStrings | string;\n\nexport type Sizes = 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | string;\n\nexport type Colors =\n | 'primary'\n | 'secondary'\n | 'success'\n | 'danger'\n | 'warning'\n | 'info'\n | 'dark'\n | 'light'\n | 'primary-gradient'\n | 'secondary-gradient'\n | 'success-gradient'\n | 'danger-gradient'\n | 'warning-gradient'\n | 'info-gradient'\n | 'dark-gradient'\n | 'light-gradient'\n | string;\n\n// export type ColorsGradient =\n// | Colors\n// | `${Colors}-gradient`;\n\nexport type BackgroundColors = Colors | 'body' | 'white' | 'transparent';\n\nexport type Directions = 'down' | 'up' | 'start' | 'end' | '';\n\nexport type TextColors =\n | Colors\n | 'primary-emphasis'\n | 'secondary-emphasis'\n | 'success-emphasis'\n | 'danger-emphasis'\n | 'warning-emphasis'\n | 'info-emphasis'\n | 'light-emphasis'\n | 'body'\n | 'body-emphasis'\n | 'body-secondary'\n | 'body-tertiary'\n | 'black'\n | 'black-50'\n | 'white'\n | 'white-50'\n | string;\n\nexport type Alignment = 'baseline' | 'top' | 'middle' | 'bottom' | 'text-top' | 'text-bottom';\n\nexport type DropdownDirection = 'start' | 'end';\n\nexport type DropdownAlignment = DropdownDirection | Partial<Record<BreakpointInfixStrings, DropdownDirection>>;\n\nexport type BadgePositions = 'top-start' | 'top-end' | 'bottom-end' | 'bottom-start' | string | undefined;\n\nexport type Placements =\n | 'auto'\n | 'auto-start'\n | 'auto-end'\n | 'top-end'\n | 'top'\n | 'top-start'\n | 'bottom-end'\n | 'bottom'\n | 'bottom-start'\n | 'right-start'\n | 'right'\n | 'right-end'\n | 'left-start'\n | 'left'\n | 'left-end'\n | undefined;\n\nexport type Shapes =\n | 'rounded'\n | 'rounded-top'\n | 'rounded-end'\n | 'rounded-bottom'\n | 'rounded-start'\n | 'rounded-circle'\n | 'rounded-pill'\n | 'rounded-0'\n | 'rounded-1'\n | 'rounded-2'\n | 'rounded-3'\n | string;\n\nexport type Triggers = 'hover' | 'focus' | 'click' | 'focusin';\n\nexport type Positions = 'fixed' | 'sticky';\n\nexport type InputType =\n | 'button'\n | 'color'\n | 'date'\n | 'datetime'\n | 'datetime-local'\n | 'email'\n | 'file'\n | 'hidden'\n | 'image'\n | 'month'\n | 'number'\n | 'password'\n | 'range'\n | 'reset'\n | 'search'\n | 'submit'\n | 'tel'\n | 'text'\n | 'time'\n | 'url'\n | 'week'\n | 'checkbox'\n | 'radio';\n\nexport interface INavLinkProps {\n queryParams?: { [k: string]: any };\n fragment?: string;\n queryParamsHandling?: 'merge' | 'preserve' | '' | null;\n preserveFragment?: boolean;\n skipLocationChange?: boolean;\n replaceUrl?: boolean;\n state?: { [k: string]: any };\n routerLinkActiveOptions?: { exact: boolean } | IsActiveMatchOptions;\n routerLinkActive?: string | string[];\n ariaCurrentWhenActive?: 'page' | 'step' | 'location' | 'date' | 'time' | true | false;\n}\n\nexport interface INavAttributes {\n [propName: string]: any;\n}\n\nexport type ButtonType = 'button' | 'submit' | 'reset';\n","import { Directive, ElementRef, inject } from '@angular/core';\n\n@Directive({\n selector: '[cElementRef]',\n exportAs: 'cElementRef'\n})\nexport class ElementRefDirective {\n public readonly elementRef = inject(ElementRef);\n}\n","import { Directive, effect, ElementRef, inject, input, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[cHtmlAttr]',\n exportAs: 'cHtmlAttr'\n})\nexport class HtmlAttributesDirective {\n /**\n * A map of HTML attributes (including `class` and `style`) to set on the host element.\n * @returns Record<string, any>\n */\n readonly cHtmlAttr = input<Record<string, any>>();\n\n readonly #renderer = inject(Renderer2);\n readonly #elementRef = inject(ElementRef);\n\n constructor() {\n effect(() => {\n const attribs = this.cHtmlAttr();\n for (const attr in attribs) {\n if (attr === 'style' && typeof attribs[attr] === 'object') {\n this.setStyle(attribs[attr]);\n } else if (attr === 'class') {\n this.addClass(attribs[attr]);\n } else {\n this.setAttrib(attr, attribs[attr]);\n }\n }\n });\n }\n\n private setStyle(styles: Record<string, any>): void {\n for (const style in styles) {\n if (style) {\n this.#renderer.setStyle(this.#elementRef.nativeElement, style, styles[style]);\n }\n }\n }\n\n private addClass(classes: string | string[]): void {\n const classArray = Array.isArray(classes) ? classes : classes.split(' ');\n classArray\n .filter((element) => element.length > 0)\n .forEach((element) => {\n this.#renderer.addClass(this.#elementRef.nativeElement, element);\n });\n }\n\n private setAttrib(key: string, value: string | null): void {\n value !== null\n ? this.#renderer.setAttribute(this.#elementRef.nativeElement, key, value)\n : this.#renderer.removeAttribute(this.#elementRef.nativeElement, key);\n }\n}\n","import { Directive, inject, input, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[cTemplateId]'\n})\nexport class TemplateIdDirective {\n readonly templateRef = inject(TemplateRef);\n\n /**\n * Predefined template name (id) for optional slots\n * @returns string\n */\n readonly cTemplateId = input.required<string>();\n\n get id() {\n return this.cTemplateId();\n }\n}\n","import { booleanAttribute, Directive, effect, ElementRef, inject, input, Renderer2, untracked } from '@angular/core';\n\n@Directive({\n selector: '[cTheme]',\n exportAs: 'cTheme'\n})\nexport class ThemeDirective {\n readonly #hostElement = inject(ElementRef);\n readonly #renderer = inject(Renderer2);\n\n /**\n * Sets the dark theme attribute on the host element. \n * @returns 'dark' | 'light'\n */\n readonly colorScheme = input<'dark' | 'light'>();\n\n readonly #colorSchemeChange = effect(() => {\n const colorScheme = this.colorScheme();\n colorScheme ? this.setTheme(colorScheme) : this.unsetTheme();\n });\n\n /**\n * Sets a darker color scheme. If the colorScheme is set to 'dark', the dark theme will be applied.\n * @returns boolean\n * @default false\n */\n readonly dark = input(false, { transform: booleanAttribute });\n\n readonly #darkChange = effect(() => {\n const darkTheme = this.dark() || untracked(this.colorScheme) === 'dark';\n darkTheme ? this.setTheme('dark') : this.unsetTheme();\n });\n\n setTheme(theme?: string): void {\n if (theme) {\n this.#renderer.setAttribute(this.#hostElement.nativeElement, 'data-coreui-theme', theme);\n }\n }\n\n unsetTheme(): void {\n this.#renderer.removeAttribute(this.#hostElement.nativeElement, 'data-coreui-theme');\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { ElementRefDirective } from './element-ref.directive';\nimport { HtmlAttributesDirective } from './html-attr.directive';\nimport { TemplateIdDirective } from './template-id.directive';\nimport { ThemeDirective } from './theme.directive';\n\n@NgModule({\n imports: [ElementRefDirective, HtmlAttributesDirective, TemplateIdDirective, ThemeDirective],\n exports: [ElementRefDirective, HtmlAttributesDirective, TemplateIdDirective, ThemeDirective],\n})\nexport class SharedModule {\n static forRoot(): ModuleWithProviders<SharedModule> {\n return {\n ngModule: SharedModule,\n };\n }\n}\n","import { computed, Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[cAccordionButton]',\n host: { '[class]': 'hostClasses()', '[attr.type]': 'type()', '[aria-expanded]': 'ariaExpanded()' }\n})\nexport class AccordionButtonDirective {\n /**\n * Toggles an accordion button collapsed state. Use in accordionHeaderTemplate.\n * @returns boolean | undefined\n */\n readonly collapsed = input<boolean | undefined>(undefined);\n\n /**\n * Default type for cAccordionButton\n * @returns string\n * @default 'button'\n */\n readonly type = input('button');\n\n readonly hostClasses = computed(() => {\n return {\n 'accordion-button': true,\n collapsed: this.collapsed()\n } as Record<string, boolean>;\n });\n\n readonly ariaExpanded = computed(() => !this.collapsed());\n}\n","import { Injectable } from '@angular/core';\nimport type { AccordionItemComponent } from './accordion-item/accordion-item.component';\n\n@Injectable()\nexport class AccordionService {\n items: AccordionItemComponent[] = [];\n alwaysOpen = false;\n\n addItem(item: AccordionItemComponent): void {\n this.items.push(item);\n }\n\n removeItem(item: AccordionItemComponent): void {\n const index = this.items.indexOf(item);\n if (index !== -1) {\n this.items.splice(index, 1);\n }\n }\n\n toggleItem(item: AccordionItemComponent): void {\n item.itemVisible.update((value) => !value);\n this.closeOtherItems(item);\n }\n\n closeOtherItems(openItem: AccordionItemComponent): void {\n if (!this.alwaysOpen) {\n this.items.forEach((item: AccordionItemComponent) => {\n if (item !== openItem) {\n item.itemVisible.set(false);\n }\n });\n }\n }\n}\n","import { booleanAttribute, Component, computed, effect, inject, input } from '@angular/core';\n\nimport { AccordionService } from '../accordion.service';\n\n@Component({\n selector: 'c-accordion',\n template: '<ng-content />',\n styleUrls: ['./accordion.component.scss'],\n exportAs: 'cAccordionItem',\n providers: [AccordionService],\n host: { '[class]': 'hostClasses()' }\n})\nexport class AccordionComponent {\n readonly #accordionService = inject(AccordionService);\n\n /**\n * Removes the default background-color, some borders, and some rounded corners to render accordions edge-to-edge with their parent container.\n * @returns boolean\n */\n readonly flush = input(false, { transform: booleanAttribute });\n\n /**\n * Make accordion items stay open when another item is opened\n * @returns boolean\n */\n readonly alwaysOpen = input(false, { transform: booleanAttribute });\n\n readonly #alwaysOpenEffect = effect(() => {\n this.#accordionService.alwaysOpen = this.alwaysOpen();\n });\n\n readonly hostClasses = computed(\n () =>\n ({\n accordion: true,\n 'accordion-flush': this.flush()\n }) as Record<string, boolean>\n );\n}\n","import {\n booleanAttribute,\n computed,\n Directive,\n effect,\n ElementRef,\n inject,\n input,\n linkedSignal,\n OnDestroy,\n output,\n Renderer2,\n untracked\n} from '@angular/core';\nimport { BooleanInput } from '@angular/cdk/coercion';\n\n@Directive({\n selector: '[cCollapse]',\n exportAs: 'cCollapse',\n host: { '[class]': 'hostClasses()' }\n})\nexport class CollapseDirective implements OnDestroy {\n static ngAcceptInputType_animate: BooleanInput;\n static ngAcceptInputType_horizontal: BooleanInput;\n static ngAcceptInputType_navbar: BooleanInput;\n static ngAcceptInputType_visible: BooleanInput;\n\n readonly #hostElement = inject(ElementRef);\n readonly #renderer = inject(Renderer2);\n #unlistenTransitionEnd?: () => void;\n #isFirstChange = true;\n\n /**\n * @ignore internal\n */\n readonly animateInput = input(true, { transform: booleanAttribute, alias: 'animate' });\n\n readonly animate = linkedSignal(this.animateInput);\n\n /**\n * Set horizontal collapsing to transition the width instead of height.\n * @returns boolean\n * @default false\n */\n readonly horizontal = input(false, { transform: booleanAttribute });\n\n /**\n * Toggle the visibility of a collapsible element.\n * @returns boolean\n * @default false\n */\n readonly visibleInput = input(false, { transform: booleanAttribute, alias: 'visible' });\n\n /**\n * Event emitted on visibility change\n * @returns boolean\n */\n readonly visibleChange = output<boolean>();\n\n readonly visible = linkedSignal(this.visibleInput);\n\n readonly #visibleEffect = effect(() => {\n const visible = this.visible();\n if (this.#isFirstChange || !untracked(() => this.animate())) {\n // no transition\n this.#isFirstChange = false;\n this.setInitialState(visible);\n return;\n }\n untracked(() => {\n this.runTransition(visible);\n });\n });\n\n /**\n * Add a `navbar` prop for grouping and hiding navbar contents by a parent breakpoint.\n * @returns boolean\n * @default false\n */\n readonly navbar = input(false, { transform: booleanAttribute });\n\n /**\n * Event emitted on visibility change\n * @returns string\n */\n readonly collapseChange = output<string>();\n\n protected readonly hostClasses = computed(() => {\n return {\n 'navbar-collapse': this.navbar(),\n 'collapse-horizontal': this.horizontal()\n } as Record<string, boolean>;\n });\n\n ngOnDestroy(): void {\n this.clearPendingCallbacks();\n }\n\n toggle(visible = !this.visible()): void {\n this.visible.set(visible);\n }\n\n protected clearPendingCallbacks(): void {\n this.#unlistenTransitionEnd?.();\n this.#unlistenTransitionEnd = undefined;\n }\n\n protected setInitialState(visible: boolean): void {\n const host: HTMLElement = this.#hostElement.nativeElement;\n\n this.#renderer.addClass(host, 'collapse');\n this.#renderer.removeClass(host, 'collapsing');\n\n if (visible) {\n this.#renderer.addClass(host, 'show');\n } else {\n this.#renderer.removeClass(host, 'show');\n }\n }\n\n protected runTransition(visible: boolean): void {\n this.clearPendingCallbacks();\n\n const host: HTMLElement = this.#hostElement.nativeElement;\n const dimension = this.horizontal() ? 'width' : 'height';\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);\n const scrollSize = `scroll${capitalizedDimension}` as 'scrollHeight' | 'scrollWidth';\n\n const animate = this.animate();\n\n if (visible) {\n this.setMaxSize();\n\n // Switch off `collapse`/`show` before we measure its scroll size below.\n this.#renderer.removeClass(host, 'collapse');\n this.#renderer.removeClass(host, 'show');\n this.#renderer.addClass(host, 'collapsing');\n\n this.collapseChange?.emit('opening');\n\n // Reading scrollHeight/scrollWidth forces a synchronous reflow, committing the 0-size\n // starting point before we set the target size below, so the browser animates the change.\n const targetSize = host[scrollSize];\n this.#renderer.setStyle(host, dimension, `${targetSize}px`);\n } else {\n // Lock in the current pixel size first so the browser has a committed starting point,\n // then switch to the collapsing state and clear it so the size can animate down to 0.\n const startSize = host.getBoundingClientRect()[dimension];\n this.#renderer.setStyle(host, dimension, `${startSize}px`);\n // Force a reflow so the browser registers the starting size before the next style change.\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n host.offsetHeight;\n\n this.#renderer.removeClass(host, 'collapse');\n this.#renderer.removeClass(host, 'show');\n this.#renderer.addClass(host, 'collapsing');\n\n this.collapseChange?.emit('collapsing');\n\n // Now that the starting size is committed, set the target size (0) so the browser\n // animates the transition down.\n this.#renderer.setStyle(host, dimension, '0px');\n }\n\n const finish = () => this.finishTransition(visible, host, dimension);\n\n if (animate) {\n this.#unlistenTransitionEnd = this.#renderer.listen(host, 'transitionend', (event: TransitionEvent) => {\n // Ignore bubbled transitionend events from descendant elements.\n if (event.target === host && event.propertyName === dimension) {\n finish();\n }\n });\n } else {\n finish();\n }\n }\n\n protected finishTransition(visible: boolean, host: HTMLElement, dimension: string): void {\n this.clearPendingCallbacks();\n\n this.#renderer.removeClass(host, 'collapsing');\n this.#renderer.addClass(host, 'collapse');\n if (visible) {\n this.#renderer.addClass(host, 'show');\n } else {\n this.#renderer.removeClass(host, 'show');\n }\n this.#renderer.removeStyle(host, 'transition');\n this.#renderer.removeStyle(host, dimension);\n\n this.collapseChange?.emit(visible ? 'open' : 'collapsed');\n this.visibleChange?.emit(visible);\n }\n\n protected setMaxSize() {\n const host = this.#hostElement.nativeElement;\n if (this.horizontal()) {\n host.scrollWidth > 0 && this.#renderer.setStyle(host, 'maxWidth', `${host.scrollWidth}px`);\n // } else {\n // host.scrollHeight > 0 && this.#renderer.setStyle(host, 'maxHeight', `${host.scrollHeight}px`);\n }\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CollapseDirective } from './collapse.directive';\n\n@NgModule({\n exports: [CollapseDirective],\n imports: [CollapseDirective]\n})\nexport class CollapseModule {\n static forRoot(): ModuleWithProviders<CollapseModule> {\n return { ngModule: CollapseModule, providers: [] };\n }\n}\n","import {\n booleanAttribute,\n Component,\n computed,\n contentChildren,\n effect,\n inject,\n input,\n OnDestroy,\n OnInit,\n signal,\n TemplateRef\n} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\n\nimport { CollapseDirective } from '../../collapse';\nimport { TemplateIdDirective } from '../../shared';\nimport { AccordionButtonDirective } from '../accordion-button/accordion-button.directive';\nimport { AccordionService } from '../accordion.service';\n\nlet nextId = 0;\n\n@Component({\n selector: 'c-accordion-item',\n templateUrl: './accordion-item.component.html',\n styleUrls: ['./accordion-item.component.scss'],\n exportAs: 'cAccordionItem',\n imports: [AccordionButtonDirective, NgTemplateOutlet, CollapseDirective],\n host: { class: 'accordion-item' }\n})\nexport class AccordionItemComponent implements OnInit, OnDestroy {\n readonly #accordionService = inject(AccordionService);\n\n /**\n * Toggle an accordion item programmatically\n * @returns boolean\n * @default false\n */\n readonly visibleInput = input(false, { transform: booleanAttribute, alias: 'visible' });\n\n readonly itemVisible = signal(false);\n\n readonly #visibleInputChange = effect(() => {\n this.visible = this.visibleInput();\n });\n\n set visible(value: boolean) {\n this.itemVisible.set(value);\n }\n\n get visible() {\n return <boolean>this.itemVisible();\n }\n\n contentId = `accordion-item-${nextId++}`;\n\n get itemContext() {\n return { $implicit: <boolean>this.itemVisible() };\n }\n\n readonly contentTemplates = contentChildren(TemplateIdDirective, { descendants: true });\n\n readonly templates = computed(() => {\n return this.contentTemplates().reduce(\n (acc, child) => {\n acc[child.id] = child.templateRef;\n return acc;\n },\n {} as Record<string, TemplateRef<any>>\n );\n });\n\n ngOnInit(): void {\n this.#accordionService.addItem(this);\n }\n\n ngOnDestroy(): void {\n this.#accordionService.removeItem(this);\n }\n\n toggleItem(): void {\n this.#accordionService.toggleItem(this);\n }\n}\n","@let tmpl = templates();\n<ng-container>\n <div class=\"accordion-header\">\n <ng-container *ngTemplateOutlet=\"tmpl['accordionHeaderTemplate'] || defaultAccordionHeaderTemplate; context: itemContext\" />\n </div>\n <div class=\"accordion-collapse\" cCollapse [visible]=\"itemVisible()\" [aria-expanded]=\"itemVisible()\" [id]=\"contentId\">\n <ng-container *ngTemplateOutlet=\"tmpl['accordionBodyTemplate'] || defaultAccordionBodyTemplate; context: itemContext\" />\n </div>\n</ng-container>\n\n<ng-template #defaultAccordionHeaderTemplate>\n <button cAccordionButton [collapsed]=\"!itemVisible()\" [aria-controls]=\"contentId\" (click)=\"toggleItem()\">\n <ng-container *ngTemplateOutlet=\"tmpl['accordionHeader'] || defaultAccordionHeaderContentTemplate; context: itemContext\" />\n </button>\n</ng-template>\n\n<ng-template #defaultAccordionHeaderContentTemplate>\n <ng-content />\n</ng-template>\n\n<ng-template #defaultAccordionBodyTemplate>\n <div class=\"accordion-body\">\n <ng-container *ngTemplateOutlet=\"tmpl['accordionBody'] || defaultAccordionBodyContentTemplate; context: itemContext\" />\n </div>\n</ng-template>\n\n<ng-template #defaultAccordionBodyContentTemplate>\n <ng-content />\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { AccordionComponent } from './accordion/accordion.component';\nimport { AccordionButtonDirective } from './accordion-button/accordion-button.directive';\nimport { AccordionItemComponent } from './accordion-item/accordion-item.component';\nimport { AccordionService } from './accordion.service';\n\n@NgModule({\n imports: [\n AccordionButtonDirective,\n AccordionComponent,\n AccordionItemComponent\n ],\n exports: [\n AccordionComponent,\n AccordionButtonDirective,\n AccordionItemComponent\n ],\n providers: [\n AccordionService\n ]\n})\nexport class AccordionModule {\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cAlertHeading]',\n host: { class: 'alert-heading' }\n})\nexport class AlertHeadingDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cAlertLink]',\n host: { class: 'alert-link' }\n})\nexport class AlertLinkDirective {}\n","import {\n booleanAttribute,\n computed,\n Directive,\n input,\n numberAttribute\n} from '@angular/core';\n\nimport { BooleanInput, ButtonType, Colors, Shapes } from '../coreui.types';\n\n@Directive({\n selector: '[cButton]',\n exportAs: 'cButton',\n host: {\n class: 'btn',\n '[class]': 'hostClasses()',\n '[aria-disabled]': 'ariaDisabled()',\n '[aria-pressed]': 'isActive()',\n '[attr.disabled]': 'attrDisabled()',\n '[attr.tabindex]': 'tabIndex()',\n '[attr.type]': 'type()'\n }\n})\nexport class ButtonDirective {\n static ngAcceptInputType_active: BooleanInput;\n static ngAcceptInputType_disabled: BooleanInput;\n\n /**\n * Toggle the active state for the component\n * @returns boolean\n */\n readonly active = input(false, { transform: booleanAttribute });\n\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors\n * @returns Colors\n */\n readonly color = input<Colors>('primary');\n\n /**\n * Toggle the disabled state for the component.\n * @returns boolean\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n /**\n * Select the shape of the component.\n * @returns Shapes\n */\n readonly shape = input<Shapes>();\n\n /**\n * Size the component small or large.\n * @returns '' | 'sm' | 'lg'\n */\n readonly size = input<'' | 'sm' | 'lg'>('');\n\n /**\n * The tabindex attribute specifies the tab order of an element (when the \"tab\" button is used for navigating).\n */\n readonly tabindex = input(undefined, { transform: numberAttribute });\n\n /**\n * Specifies the type of button. Always specify the type attribute for the `<button>` element.\n * Different browsers may use different default types for the `<button>` element.\n * @returns ButtonType\n * @default 'button'\n */\n readonly type = input<ButtonType>('button');\n\n /**\n * Set the button variant to an outlined button or a ghost button.\n * @returns 'ghost' | 'outline' | undefined\n */\n readonly variant = input<'ghost' | 'outline' | undefined>();\n\n readonly hostClasses = computed(() => {\n const color = this.color();\n const variant = this.variant();\n const size = this.size();\n const shape = this.shape();\n\n return {\n btn: true,\n [`btn-${color}`]: !!color && !variant,\n [`btn-${variant}`]: !!variant && !color,\n [`btn-${variant}-${color}`]: !!variant && !!color,\n [`btn-${size}`]: !!size,\n [`${shape}`]: !!shape,\n active: this.active(),\n disabled: this._disabled()\n } as Record<string, boolean>;\n });\n\n readonly _disabled = computed(() => this.disabled());\n\n readonly ariaDisabled = computed(() => {\n return this._disabled() ? true : null;\n });\n\n readonly attrDisabled = computed(() => {\n return this._disabled() ? '' : null;\n });\n\n readonly tabIndex = computed(() => {\n const tabindex = this.tabindex();\n return this._disabled() ? -1 : Number.isNaN(tabindex) ? null : (tabindex ?? null);\n });\n\n readonly isActive = computed(() => {\n return <boolean>this.active() || null;\n });\n}\n","import { booleanAttribute, computed, Directive, input } from '@angular/core';\nimport { ThemeDirective } from '../shared/theme.directive';\nimport { ButtonDirective } from './button.directive';\n\n@Directive({\n selector: '[cButtonClose]',\n hostDirectives: [{ directive: ThemeDirective, inputs: ['dark'] }],\n host: {\n class: 'btn btn-close',\n '[class]': 'hostClasses()',\n '[aria-disabled]': 'ariaDisabled()',\n '[aria-pressed]': 'isActive()',\n '[attr.disabled]': 'attrDisabled()',\n '[attr.tabindex]': 'tabIndex()',\n '[attr.type]': 'type()'\n }\n})\nexport class ButtonCloseDirective extends ButtonDirective {\n /**\n * Change the default color to white.\n * @returns boolean\n * @deprecated 5.0.0. Use `cButtonClose dark` instead.\n */\n readonly white = input(false, { transform: booleanAttribute });\n\n override readonly hostClasses = computed(() => {\n const size = this.size();\n\n return {\n btn: true,\n 'btn-close': true,\n 'btn-close-white': this.white(),\n [`btn-${size}`]: !!size,\n active: this.active(),\n disabled: this._disabled()\n } as Record<string, boolean>;\n });\n}\n","import { NgModule } from '@angular/core';\n\nimport { ButtonDirective } from './button.directive';\nimport { ButtonCloseDirective } from './button-close.directive';\n\n@NgModule({\n imports: [\n ButtonDirective,\n ButtonCloseDirective\n ],\n exports: [\n ButtonDirective,\n ButtonCloseDirective\n ]\n})\nexport class ButtonModule {}\n","import {\n AnimationCallbackEvent,\n booleanAttribute,\n Component,\n computed,\n contentChildren,\n effect,\n ElementRef,\n inject,\n input,\n linkedSignal,\n MAX_ANIMATION_TIMEOUT,\n output,\n signal,\n TemplateRef\n} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\n\nimport { Colors } from '../coreui.types';\nimport { TemplateIdDirective } from '../shared';\nimport { ButtonCloseDirective } from '../button';\n\n@Component({\n selector: 'c-alert',\n templateUrl: './alert.component.html',\n styleUrls: ['./alert.component.scss'],\n exportAs: 'cAlert',\n imports: [NgTemplateOutlet, ButtonCloseDirective],\n host: {\n '[attr.role]': 'role()',\n '[class]': 'hostClasses()',\n '(animate.leave)': 'handleLeaving($event)',\n '(transitionend)': 'onTransitionEnd($event)',\n '(transitionstart)': 'onTransitionStart($event)',\n '[hidden]': 'hide()',\n '[inert]': 'hide()'\n },\n providers: [{ provide: MAX_ANIMATION_TIMEOUT, useValue: 300 }]\n})\nexport class AlertComponent {\n readonly #hostElement = inject(ElementRef);\n readonly #maxAnimationTimeout = inject(MAX_ANIMATION_TIMEOUT);\n\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n * @default 'primary'\n */\n readonly color = input<Colors>('primary');\n\n /**\n * Default role for alert\n * @returns string\n * @default 'alert'\n */\n readonly role = input('alert');\n\n /**\n * Set the alert variant to a solid.\n * @returns 'solid'\n * @default undefined\n */\n readonly variant = input<'solid'>();\n\n /**\n * Optionally adds a close button to the alert and allow it to self-dismiss.\n * @returns boolean\n * @default false\n */\n readonly dismissible = input(false, { transform: booleanAttribute });\n\n /**\n * Adds animation for dismissible alert.\n * @returns boolean\n * @default false\n */\n readonly fade = input(false, { transform: booleanAttribute });\n\n /**\n * Toggle the visibility of the alert component.\n * @returns boolean\n * @default true\n */\n readonly visibleInput = input(true, { transform: booleanAttribute, alias: 'visible' });\n\n readonly visible = linkedSignal(this.visibleInput);\n\n /**\n * Event triggered on the alert visibility change.\n * @returns boolean\n */\n readonly visibleChange = output<boolean>();\n\n protected readonly hide = signal<boolean>(false);\n\n readonly #visibleEffect = effect(() => {\n const visible = this.visible();\n if (visible) {\n this.hide.set(false);\n }\n });\n\n readonly #hideEffect = effect(() => {\n const hide = this.hide();\n this.visibleChange.emit(!hide);\n });\n\n protected readonly contentTemplates = contentChildren(TemplateIdDirective, { descendants: true });\n\n protected readonly templates = computed(() => {\n return this.contentTemplates().reduce(\n (acc, child) => {\n acc[child.id] = child.templateRef;\n return acc;\n },\n {} as Record<string, TemplateRef<any>>\n );\n });\n\n protected readonly hostClasses = computed(() => {\n const color = this.color();\n const variant = this.variant();\n const visible = this.visible();\n\n return {\n alert: true,\n 'alert-dismissible': this.dismissible(),\n fade: this.fade(),\n show: visible,\n [`alert-${color}`]: !!color && variant !== 'solid',\n [`bg-${color}`]: !!color && variant === 'solid',\n 'text-white': !!color && variant === 'solid'\n } as Record<string, boolean>;\n });\n\n protected onTransitionStart($event: TransitionEvent): void {\n if ($event.propertyName === 'opacity') {\n if (this.visible()) {\n this.hide.set(false);\n }\n }\n }\n\n protected onTransitionEnd($event: TransitionEvent): void {\n if ($event.propertyName === 'opacity') {\n this.hide.set(!this.visible());\n }\n }\n\n #leavingInProgress = false;\n\n protected handleLeaving($event: AnimationCallbackEvent) {\n if (this.#leavingInProgress) return;\n this.#leavingInProgress = true;\n\n this.#hostElement.nativeElement.classList.remove('show');\n setTimeout(() => {\n $event.animationComplete();\n }, this.#maxAnimationTimeout);\n }\n}\n","@if (visible() || !hide()) {\n @if (dismissible()) {\n <ng-container *ngTemplateOutlet=\"templates()?.['alertButtonCloseTemplate'] || defaultAlertButtonCloseTemplate\" />\n }\n <ng-content />\n}\n<ng-template #defaultAlertButtonCloseTemplate>\n <button (click)=\"visible.set(false)\" aria-label=\"Close\" cButtonClose></button>\n</ng-template>\n","import { NgModule } from '@angular/core';\n\nimport { AlertComponent } from './alert.component';\nimport { AlertHeadingDirective } from './alert-heading.directive';\nimport { AlertLinkDirective } from './alert-link.directive';\n\n@NgModule({\n imports: [\n AlertComponent,\n AlertHeadingDirective,\n AlertLinkDirective\n ],\n exports: [\n AlertComponent,\n AlertHeadingDirective,\n AlertLinkDirective\n ]\n})\nexport class AlertModule {}\n","import { computed, Directive, input } from '@angular/core';\nimport { Alignment } from '../coreui.types';\n\n@Directive({\n selector: '[cAlign]',\n exportAs: 'cAlign',\n host: { '[class]': 'hostClasses()' }\n})\nexport class AlignDirective {\n /**\n * Set vertical alignment of inline, inline-block, inline-table, and table cell elements\n * @returns Alignment | undefined\n */\n readonly align = input<Alignment | undefined>(undefined, { alias: 'cAlign' });\n\n readonly hostClasses = computed(() => {\n const align = this.align();\n return {\n [`align-${align}`]: !!align\n } as Record<string, boolean>;\n });\n}\n","import { computed, Directive, input } from '@angular/core';\nimport { BackgroundColors } from '../coreui.types';\n\n@Directive({\n selector: '[cBgColor]',\n exportAs: 'cBgColor',\n host: { '[class]': 'hostClasses()' }\n})\nexport class BgColorDirective {\n /**\n * Set the background of an element to any contextual class\n */\n readonly cBgColor = input<BackgroundColors>('');\n\n /**\n * Add linear gradient as background image to the backgrounds.\n * @returns boolean\n */\n readonly gradient = input<boolean>();\n\n readonly hostClasses = computed(() => {\n const color = this.cBgColor();\n return {\n [`bg-${color}`]: !!color,\n 'bg-gradient': this.gradient()\n } as Record<string, boolean>;\n });\n}\n","import { computed, Directive, input } from '@angular/core';\nimport { Border } from './border.type';\n\n@Directive({\n selector: '[cBorder]',\n exportAs: 'cBorder',\n host: { '[class]': 'hostClasses()' }\n})\nexport class BorderDirective {\n /**\n * Add or remove an element’s borders\n * @returns Border\n */\n readonly cBorder = input<Border>(true);\n\n readonly hostClasses = computed<Record<string, boolean>>(() => {\n const border = this.cBorder();\n if (typeof border === 'boolean') {\n return { border: border };\n }\n if (typeof border === 'number' || typeof border === 'string') {\n return {\n border: true,\n [`border-${border}`]: true\n };\n }\n if (typeof border === 'object') {\n const borderObj = {\n top: undefined,\n end: undefined,\n bottom: undefined,\n start: undefined,\n color: undefined,\n ...border\n };\n // @ts-ignore\n const keys = Object.keys(borderObj).filter((key) => borderObj[key] !== undefined);\n const classes = {};\n keys.forEach((key) => {\n // @ts-ignore\n const val = borderObj[key];\n if (typeof val === 'boolean') {\n // @ts-ignore\n classes[`border-${key}`] = true;\n } else if (typeof val === 'number' || typeof val === 'string') {\n // @ts-ignore\n classes[`border-${key}-${val}`] = true;\n } else if (typeof val === 'object') {\n if ('color' in val) {\n // @ts-ignore\n classes[`border-${key}-${val.color}`] = true;\n }\n if ('width' in val) {\n // @ts-ignore\n classes[`border-${key}-${val.width}`] = true;\n }\n }\n });\n return Object.entries(classes).length === 0 ? { border: false } : classes;\n }\n return { border: false };\n });\n}\n","import { computed, Directive, input } from '@angular/core';\nimport { Rounded } from './rounded.type';\n\n@Directive({\n selector: '[cRounded]',\n exportAs: 'cRounded',\n host: { '[class]': 'hostClasses()' }\n})\nexport class RoundedDirective {\n /**\n * Set border radius variant and radius size\n * @returns Rounded\n */\n readonly cRounded = input<Rounded>(true);\n\n readonly hostClasses = computed<Record<string, boolean>>(() => {\n const rounded = this.cRounded();\n if (typeof rounded === 'boolean') {\n return { rounded: rounded };\n }\n if (typeof rounded === 'number' || typeof rounded === 'string') {\n return {\n [`rounded-${rounded}`]: true\n };\n }\n if (typeof rounded === 'object') {\n const roundedObj = {\n top: undefined,\n end: undefined,\n bottom: undefined,\n start: undefined,\n circle: undefined,\n pill: undefined,\n size: undefined,\n ...rounded\n };\n // @ts-ignore\n const keys = Object.keys(roundedObj).filter((key) => roundedObj[key] !== undefined);\n const classes = {};\n keys.forEach((key) => {\n // @ts-ignore\n const val = roundedObj[key];\n if (typeof val === 'boolean') {\n // @ts-ignore\n classes[`rounded-${key}`] = val;\n } else {\n // @ts-ignore\n classes[`rounded-${val}`] = true;\n }\n });\n // console.log('rounded keys', keys, classes);\n return Object.entries(classes).length === 0 ? { rounded: false } : classes;\n }\n return { rounded: false };\n });\n}\n","import {\n DestroyRef,\n Directive,\n DOCUMENT,\n effect,\n ElementRef,\n inject,\n input,\n signal,\n untracked,\n WritableSignal\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { fromEvent, Subscription } from 'rxjs';\n\n@Directive({\n selector: '[cShadowOnScroll]',\n exportAs: 'cShadowOnScroll'\n})\nexport class ShadowOnScrollDirective {\n readonly #destroyRef: DestroyRef = inject(DestroyRef);\n readonly #document: Document = inject(DOCUMENT);\n readonly #elementRef: ElementRef = inject(ElementRef);\n readonly #scrolled: WritableSignal<boolean> = signal(false);\n\n readonly #scrollEffect = effect(() => {\n this.#elementRef.nativeElement.classList.toggle(this.#shadowClass, this.#scrolled());\n });\n\n #observable!: Subscription;\n #shadowClass = 'shadow-sm';\n\n constructor() {\n this.#destroyRef.onDestroy(() => {\n this.#scrollEffect?.destroy();\n });\n }\n\n /**\n * Shadow size applied to the host element once the document has been scrolled; `false`/`'none'` disables it.\n * @returns 'sm' | 'lg' | 'none' | boolean\n * @default true\n */\n readonly cShadowOnScroll = input<'sm' | 'lg' | 'none' | boolean>(true);\n\n readonly #shadowOnScrollEffect = effect(() => {\n const value = this.cShadowOnScroll();\n untracked(() => {\n this.#scrolled.set(false);\n if (value) {\n this.#shadowClass = value === true ? 'shadow' : `shadow-${value}`;\n this.#observable = fromEvent(this.#document, 'scroll')\n .pipe(takeUntilDestroyed(this.#destroyRef))\n .subscribe((scrolled) => {\n this.#scrolled.set(this.#document.documentElement.scrollTop > 0);\n });\n } else {\n this.#observable?.unsubscribe();\n }\n });\n });\n}\n","import { computed, Directive, input, InputSignal } from '@angular/core';\nimport { TextColors } from '../coreui.types';\n\n@Directive({\n selector: '[cTextColor]',\n host: {\n '[class]': 'hostClasses()'\n }\n})\nexport class TextColorDirective {\n /**\n * Set text-color of element\n * @returns TextColors\n */\n readonly color: InputSignal<TextColors> = input('', { alias: 'cTextColor' });\n\n readonly hostClasses = computed(() => {\n const color = this.color();\n return {\n [`text-${color}`]: !!color\n };\n });\n}\n","import { computed, Directive, input, InputSignal } from '@angular/core';\nimport { Colors } from '../coreui.types';\n\n@Directive({\n selector: '[cTextBgColor]',\n host: {\n '[class]': 'hostClasses()'\n }\n})\nexport class TextBgColorDirective {\n /**\n * Set text-bg-color of element\n * @returns Colors\n */\n readonly textBgColor: InputSignal<Colors> = input('', { alias: 'cTextBgColor' });\n\n readonly hostClasses = computed(() => {\n const color = this.textBgColor();\n return {\n [`text-bg-${color}`]: !!color\n } as Record<string, boolean>;\n });\n}\n","import { NgModule } from '@angular/core';\n\nimport {\n AlignDirective,\n BgColorDirective,\n BorderDirective,\n RoundedDirective,\n ShadowOnScrollDirective,\n TextBgColorDirective,\n TextColorDirective\n} from './public_api';\n\nconst UTILITY_DIRECTIVES = [\n AlignDirective,\n BgColorDirective,\n BorderDirective,\n RoundedDirective,\n ShadowOnScrollDirective,\n TextColorDirective,\n TextBgColorDirective\n];\n\n@NgModule({\n imports: [...UTILITY_DIRECTIVES],\n exports: [...UTILITY_DIRECTIVES]\n})\nexport class UtilitiesModule {}\n","import { Component, computed, input } from '@angular/core';\n\nimport { Colors, Shapes, Sizes, TextColors } from '../coreui.types';\nimport { TextColorDirective } from '../utilities';\n\n@Component({\n selector: 'c-avatar',\n templateUrl: './avatar.component.html',\n styleUrls: ['./avatar.component.scss'],\n hostDirectives: [\n {\n directive: TextColorDirective,\n inputs: ['cTextColor: textColor']\n }\n ],\n host: { class: 'avatar', '[class]': 'hostClasses()' }\n})\nexport class AvatarComponent {\n /**\n * Sets the background color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly color = input<Colors>();\n\n /**\n * Select the shape of the component.\n * @returns Shapes\n */\n readonly shape = input<Shapes>();\n\n /**\n * Size the component small, large, or extra large.\n * @returns Omit<Sizes, 'xxl'>\n * @default ''\n */\n readonly size = input<Omit<Sizes, 'xxl'>>('');\n\n /**\n * The alt attribute for the img element alternate text.\n * @returns string\n */\n readonly alt = input<string>('');\n\n /**\n * The src attribute for the img element.\n * @returns string\n */\n readonly src = input<string>();\n\n /**\n * Sets the color context of the status indicator to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly status = input<Colors>();\n\n /**\n * Sets the text color of the component to one of CoreUI’s themed colors\n * via TextColorDirective\n * @returns TextColors\n */\n readonly textColor = input<TextColors>();\n\n readonly statusClass = computed(() => {\n const status = this.status();\n return {\n 'avatar-status': true,\n [`bg-${status}`]: !!status\n } as Record<string, boolean>;\n });\n\n readonly hostClasses = computed(() => {\n const size = this.size();\n const color = this.color();\n const shape = this.shape();\n\n return {\n avatar: true,\n [`avatar-${size}`]: !!size,\n [`bg-${color}`]: !!color,\n [`${shape}`]: !!shape\n } as Record<string, boolean>;\n });\n}\n","<ng-content>\n @if (src()) {\n @defer (on immediate) {\n <img src=\"{{src() ?? ''}}\" class=\"avatar-img\" alt=\"{{alt()}}\" />\n } @placeholder () {\n <svg aria-label=\"Avatar placeholder\"\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid slice\"\n role=\"img\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"avatar-img\"\n style=\"position: absolute; width: 100%; height: 100%; inset: 0;\">\n <rect fill=\"#868e96\" height=\"100%\" width=\"100%\"></rect>\n </svg>\n }\n }\n</ng-content>\n@if (!!status()) {\n <span [class]=\"statusClass()\"></span>\n}\n\n","import { NgModule } from '@angular/core';\nimport { AvatarComponent } from './avatar.component';\n\n@NgModule({\n imports: [\n AvatarComponent\n ],\n exports: [\n AvatarComponent\n ]\n})\nexport class AvatarModule {}\n","import { Component, computed, input, InputSignal } from '@angular/core';\nimport { BadgePositions, Colors, Shapes, TextColors } from '../coreui.types';\nimport { TextBgColorDirective, TextColorDirective } from '../utilities';\n\n@Component({\n selector: 'c-badge',\n template: '<ng-content />',\n hostDirectives: [\n { directive: TextColorDirective, inputs: ['cTextColor: textColor'] },\n { directive: TextBgColorDirective, inputs: ['cTextBgColor: textBgColor'] }\n ],\n host: {\n class: 'badge',\n '[class]': 'hostClasses()'\n }\n})\nexport class BadgeComponent {\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly color: InputSignal<Colors | undefined> = input();\n /**\n * Position badge in one of the corners of a link or button.\n * @returns BadgePositions\n */\n readonly position: InputSignal<BadgePositions | undefined> = input();\n\n /**\n * Select the shape of the component.\n * @returns Shapes\n */\n readonly shape: InputSignal<Shapes | undefined> = input();\n\n /**\n * Size the component small.\n */\n readonly size = input<'sm'>();\n\n /**\n * Sets the text color of the component to one of CoreUI’s themed colors.\n * via TextColorDirective\n * @returns TextColors\n */\n readonly textColor: InputSignal<TextColors | undefined> = input();\n\n /**\n * Sets the component's color scheme to one of CoreUI's themed colors, ensuring the text color contrast adheres to the WCAG 4.5:1 contrast ratio standard for accessibility.\n * via TextBgColorDirective\n * @returns Colors\n * @since 5.0.0\n */\n readonly textBgColor: InputSignal<Colors | undefined> = input();\n\n readonly hostClasses = computed(() => {\n const position = this.position();\n const positionClasses = {\n 'position-absolute': !!position,\n 'translate-middle': !!position,\n 'top-0': position?.includes('top'),\n 'top-100': position?.includes('bottom'),\n 'start-100': position?.includes('end'),\n 'start-0': position?.includes('start')\n };\n\n const color = this.color();\n const size = this.size();\n const shape = this.shape();\n\n return Object.assign(\n {\n badge: true,\n [`bg-${color}`]: !!color,\n [`badge-${size}`]: !!size,\n [`${shape}`]: !!shape\n },\n !!position ? positionClasses : {}\n ) as Record<string, boolean>;\n });\n}\n","import { NgModule } from '@angular/core';\nimport { BadgeComponent } from './badge.component';\n\n@NgModule({\n imports: [\n BadgeComponent\n ],\n exports: [\n BadgeComponent\n ]\n})\nexport class BadgeModule {}\n","import { DOCUMENT, inject, Injectable } from '@angular/core';\n\nimport { Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BackdropService {\n readonly #backdropClick = new Subject<boolean>();\n readonly backdropClick$ = this.#backdropClick.asObservable();\n\n readonly #document = inject(DOCUMENT);\n\n activeBackdrop: any;\n\n #clearBackdropId?: ReturnType<typeof setTimeout>;\n #pendingBackdrop?: HTMLElement;\n\n get #scrollbarWidth() {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = this.#document.documentElement.clientWidth;\n const scrollbarWidth = Math.abs((this.#document.defaultView?.innerWidth ?? documentWidth) - documentWidth);\n return `${scrollbarWidth}px`;\n }\n\n scrollbarWidth = this.#scrollbarWidth;\n\n setBackdrop(type: string = 'modal'): HTMLDivElement {\n this.#flushClearBackdrop();\n\n const backdropElement = this.#document.createElement('div');\n backdropElement.classList.add(`${type}-backdrop`);\n backdropElement.classList.add('fade');\n this.#document.body.appendChild(backdropElement);\n\n const clickHandler = () => {\n this.onClickHandler();\n };\n (backdropElement as any).__backdropClickHandler = clickHandler;\n backdropElement.addEventListener('click', clickHandler);\n\n this.scrollbarWidth = this.#scrollbarWidth;\n setTimeout(() => {\n backdropElement.classList.add('show');\n // this.hideScrollbar();\n });\n this.activeBackdrop = backdropElement;\n return backdropElement;\n }\n\n clearBackdrop(backdropElement: HTMLElement): any {\n if (backdropElement) {\n const storedHandler = (backdropElement as any).__backdropClickHandler;\n if (storedHandler) {\n backdropElement.removeEventListener('click', storedHandler);\n delete (backdropElement as any).__backdropClickHandler;\n }\n backdropElement.classList.remove('show');\n this.#flushClearBackdrop();\n this.#pendingBackdrop = backdropElement;\n this.#clearBackdropId = setTimeout(() => {\n this.#clearBackdropId = undefined;\n this.#pendingBackdrop = undefined;\n if (this.activeBackdrop === backdropElement) {\n this.resetScrollbar();\n this.activeBackdrop = undefined;\n }\n this.#removeBackdrop(backdropElement);\n }, 300);\n }\n return undefined;\n }\n\n #flushClearBackdrop(): void {\n if (this.#clearBackdropId === undefined) {\n return;\n }\n clearTimeout(this.#clearBackdropId);\n this.#clearBackdropId = undefined;\n const pending = this.#pendingBackdrop;\n this.#pendingBackdrop = undefined;\n if (pending) {\n this.#removeBackdrop(pending);\n }\n }\n\n #removeBackdrop(backdropElement: HTMLElement): void {\n if (backdropElement.parentElement === this.#document.body) {\n this.#document.body.removeChild(backdropElement);\n }\n }\n\n get #isRTL() {\n return [this.#document.documentElement.dir, this.#document.body.dir].includes('rtl');\n }\n\n get #padding() {\n return `padding-${this.#isRTL ? 'left' : 'right'}`;\n }\n\n #scrollBarVisible = true;\n\n hideScrollbar(): void {\n if (this.#scrollBarVisible) {\n this.#document.body.style.setProperty('overflow', 'hidden');\n this.#document.body.style.setProperty(this.#padding, this.scrollbarWidth);\n this.#scrollBarVisible = false;\n }\n }\n\n resetScrollbar(): void {\n this.#document.body.style.removeProperty('overflow');\n this.#document.body.style.removeProperty(this.#padding);\n this.#scrollBarVisible = true;\n }\n\n onClickHandler(): void {\n this.#backdropClick.next(true);\n }\n}\n","import { booleanAttribute, Component, computed, effect, input } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { RouterModule } from '@angular/router';\n\nimport { HtmlAttributesDirective } from '../../shared';\nimport { INavAttributes, INavLinkProps } from './breadcrumb-item';\n\n@Component({\n selector: 'c-breadcrumb-item',\n templateUrl: './breadcrumb-item.component.html',\n styleUrls: ['./breadcrumb-item.component.scss'],\n imports: [RouterModule, NgTemplateOutlet, HtmlAttributesDirective],\n exportAs: 'breadcrumbItem',\n host: {\n '[aria-current]': 'ariaCurrent()',\n '[class]': 'hostClasses()'\n }\n})\nexport class BreadcrumbItemComponent {\n /**\n * Toggle the active state for the component\n * @returns boolean\n */\n readonly active = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n\n /**\n * The `url` prop for the inner `[routerLink]` directive\n * @returns string | any[]\n */\n readonly url = input<string | any[]>();\n\n /**\n * Additional html attributes for link\n * @returns INavAttributes\n */\n readonly attribs = input<INavAttributes>();\n\n /**\n * @deprecated The `attributes` prop is deprecated, use `attribs` instead\n */\n protected readonly _attributes = input<INavAttributes>(undefined, { alias: 'attributes' });\n\n readonly #attributesEffect = effect(() => {\n if (this._attributes()) {\n console.error('c-breadcrumb-item: [attributes] prop is removed, use [attribs] instead:', this._attributes());\n }\n });\n\n /**\n * Some `NavigationExtras` props for the inner `[routerLink]` directive and `routerLinkActiveOptions`\n * @returns INavLinkProps\n */\n readonly linkProps = input<INavLinkProps>();\n\n readonly ariaCurrent = computed((): string | null => {\n return this.active() ? 'page' : null;\n });\n\n readonly hostClasses = computed(() => {\n return {\n 'breadcrumb-item': true,\n active: this.active()\n } as Record<string, boolean>;\n });\n}\n","@if (!active()) {\n <a\n [routerLink]=\"url()\"\n [cHtmlAttr]=\"attribs() ?? {}\"\n [target]=\"$safeNavigationMigration(attribs()?.['target'])\"\n [queryParams]=\"linkProps()?.queryParams ?? null\"\n [fragment]=\"$safeNavigationMigration(linkProps()?.fragment)\"\n [queryParamsHandling]=\"linkProps()?.queryParamsHandling ?? null\"\n [preserveFragment]=\"linkProps()?.preserveFragment ?? false\"\n [skipLocationChange]=\"linkProps()?.skipLocationChange ?? false\"\n [replaceUrl]=\"linkProps()?.replaceUrl ?? false\"\n [state]=\"linkProps()?.state ?? {}\"\n >\n <ng-container *ngTemplateOutlet=\"defaultBreadcrumbItemContentTemplate\" />\n </a>\n} @else {\n <span [cHtmlAttr]=\"attribs() ?? {}\">\n <ng-container *ngTemplateOutlet=\"defaultBreadcrumbItemContentTemplate\" />\n </span>\n}\n\n<ng-template #defaultBreadcrumbItemContentTemplate>\n <ng-content />\n</ng-template>\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'c-breadcrumb',\n template: '<ng-content />',\n host: {\n class: 'breadcrumb',\n '[aria-label]': 'ariaLabel()',\n '[attr.role]': 'role()'\n }\n})\nexport class BreadcrumbComponent {\n /**\n * Default aria-label for breadcrumb\n * @returns string\n * @default 'breadcrumb'\n */\n readonly ariaLabel = input('breadcrumb');\n\n /**\n * Default role for breadcrumb\n * @returns string\n * @default 'navigation'\n */\n readonly role = input('navigation');\n}\n","import { inject, Injectable } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ActivatedRoute, NavigationEnd, Router } 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 readonly #router = inject(Router);\n readonly #activatedRoute = inject(ActivatedRoute);\n\n public outlet = 'primary';\n\n readonly #breadcrumbsBehaviorSubject: BehaviorSubject<IBreadcrumbItem[]> = new BehaviorSubject<IBreadcrumbItem[]>(\n new Array<IBreadcrumbItem>()\n );\n readonly breadcrumbs$: Observable<IBreadcrumbItem[]> = this.#breadcrumbsBehaviorSubject.asObservable();\n\n constructor() {\n this.#router.events\n .pipe(\n takeUntilDestroyed(),\n filter((event) => event instanceof NavigationEnd)\n )\n .subscribe((event) => {\n const breadcrumbs: any[] = [];\n let currentRoute: ActivatedRoute | null = this.#activatedRoute.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 += '/' + routeSnapshot.url.map((segment) => segment.path).join('/');\n breadcrumbs.push({\n label: routeSnapshot.data['title'] ?? routeSnapshot.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 return breadcrumbs;\n });\n }\n}\n","import { Component, computed, inject, input } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\n\nimport { IBreadcrumbItem } from '../breadcrumb-item/breadcrumb-item';\nimport { BreadcrumbComponent } from '../breadcrumb/breadcrumb.component';\nimport { BreadcrumbRouterService } from './breadcrumb-router.service';\nimport { BreadcrumbItemComponent } from '../breadcrumb-item/breadcrumb-item.component';\n\n@Component({\n selector: 'c-breadcrumb-router, [cBreadcrumbRouter]',\n templateUrl: './breadcrumb-router.component.html',\n imports: [BreadcrumbComponent, BreadcrumbItemComponent]\n})\nexport class BreadcrumbRouterComponent {\n readonly #breadcrumbRouterService = inject(BreadcrumbRouterService);\n\n /**\n * Optional array of IBreadcrumbItem to override default BreadcrumbRouter behavior\n * @returns IBreadcrumbItem[]\n */\n readonly items = input<IBreadcrumbItem[]>();\n\n readonly #breadcrumbs = toSignal(this.#breadcrumbRouterService.breadcrumbs$);\n\n readonly breadcrumbs = computed(() => {\n return this.items() ?? this.#breadcrumbs() ?? [];\n });\n}\n","<c-breadcrumb class=\"m-0\">\n @for (breadcrumb of breadcrumbs(); track breadcrumb; let last = $last) {\n @if (breadcrumb?.label && (breadcrumb?.url?.slice(-1) === '/' || last)) {\n <c-breadcrumb-item\n [active]=\"last\"\n [url]=\"$safeNavigationMigration(breadcrumb?.url)\"\n [attribs]=\"$safeNavigationMigration(breadcrumb?.attributes)\"\n [linkProps]=\"$safeNavigationMigration(breadcrumb?.linkProps)\"\n >\n {{ breadcrumb?.label }}\n </c-breadcrumb-item>\n }\n }\n</c-breadcrumb>\n","import { NgModule } from '@angular/core';\n\n// CoreUI Breadcrumb Component\nimport { BreadcrumbComponent } from './breadcrumb/breadcrumb.component';\nimport { BreadcrumbItemComponent } from './breadcrumb-item/breadcrumb-item.component';\nimport { BreadcrumbRouterComponent } from './breadcrumb-router/breadcrumb-router.component';\nimport { BreadcrumbRouterService } from './breadcrumb-router/breadcrumb-router.service';\n\n@NgModule({\n imports: [\n BreadcrumbComponent,\n BreadcrumbItemComponent,\n BreadcrumbRouterComponent\n ],\n exports: [\n BreadcrumbComponent,\n BreadcrumbItemComponent,\n BreadcrumbRouterComponent\n ],\n providers: [BreadcrumbRouterService]\n})\nexport class BreadcrumbModule {}\n","import { booleanAttribute, Component, computed, input, InputSignalWithTransform } from '@angular/core';\n\n@Component({\n selector: 'c-button-group',\n template: '<ng-content />',\n host: { '[attr.role]': 'role()', '[class]': 'hostClasses()' }\n})\nexport class ButtonGroupComponent {\n /**\n * Size the component small or large.\n * @returns '' | 'sm' | 'lg'\n */\n readonly size = input<'' | 'sm' | 'lg'>();\n\n /**\n * Create a set of buttons that appear vertically stacked rather than horizontally. Split button dropdowns are not supported here.\n * @returns boolean\n */\n readonly vertical = input(false, { transform: booleanAttribute });\n\n /**\n * Default role attr for ButtonGroup\n * @returns string\n * @default 'group'\n */\n readonly role = input<string>('group');\n\n readonly hostClasses = computed(() => {\n const size = this.size();\n const vertical = this.vertical();\n return {\n 'btn-group': !vertical,\n 'btn-group-vertical': vertical,\n [`btn-group-${size}`]: !!size\n } as Record<string, boolean>;\n });\n}\n","import { Component, input, InputSignal } from '@angular/core';\n\n@Component({\n selector: 'c-button-toolbar',\n template: '<ng-content />',\n host: { class: 'btn-toolbar', '[attr.role]': 'role()' }\n})\nexport class ButtonToolbarComponent {\n /**\n * Default role attr for ButtonToolbar\n * @returns string\n * @default 'toolbar'\n */\n readonly role = input('toolbar');\n}\n","import { NgModule } from '@angular/core';\nimport { ButtonGroupComponent } from './button-group/button-group.component';\nimport { ButtonToolbarComponent } from './button-toolbar/button-toolbar.component';\n\n@NgModule({\n imports: [ButtonGroupComponent, ButtonToolbarComponent],\n exports: [ButtonGroupComponent, ButtonToolbarComponent]\n})\nexport class ButtonGroupModule {}\n","import { Component, computed, input } from '@angular/core';\nimport { Colors } from '../coreui.types';\n\n@Component({\n selector: 'c-callout, [cCallout]',\n template: '<ng-content />',\n styleUrls: ['./callout.component.scss'],\n host: { class: 'callout', '[class]': 'hostClasses()' }\n})\nexport class CalloutComponent {\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly color = input<Colors>();\n\n readonly hostClasses = computed(() => {\n const color = this.color();\n\n return {\n callout: true,\n [`callout-${color}`]: !!color\n } as Record<string, boolean>;\n });\n}\n","import { NgModule } from '@angular/core';\n\nimport { CalloutComponent } from './callout.component';\n\n@NgModule({\n exports: [CalloutComponent],\n imports: [CalloutComponent]\n})\nexport class CalloutModule {}\n","import { Component, computed, input, InputSignal } from '@angular/core';\nimport { Colors, TextColors } from '../coreui.types';\nimport { TextBgColorDirective, TextColorDirective } from '../utilities';\n\n@Component({\n selector: 'c-card, [c-card]',\n template: '<ng-content />',\n hostDirectives: [\n { directive: TextColorDirective, inputs: ['cTextColor: textColor'] },\n { directive: TextBgColorDirective, inputs: ['cTextBgColor: textBgColor'] }\n ],\n host: { class: 'card', '[class]': 'hostClasses()' }\n})\nexport class CardComponent {\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly color: InputSignal<Colors | undefined> = input();\n\n /**\n * Sets the text color context of the component to one of CoreUI’s themed colors.\n * via TextColorDirective\n * @returns TextColors\n */\n readonly textColor: InputSignal<TextColors | undefined> = input();\n\n /**\n * Sets the component's color scheme to one of CoreUI themed colors, ensuring the text color contrast adheres to the WCAG 4.5:1 contrast ratio standard for accessibility.\n * via TextBgColorDirective\n * @returns Colors\n * @since 5.0.0\n */\n readonly textBgColor: InputSignal<Colors | undefined> = input();\n\n readonly hostClasses = computed(() => {\n const color = this.color();\n\n return {\n card: true,\n [`bg-${color}`]: !!color\n } as Record<string, boolean>;\n });\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-card-body, [c-card-body]',\n template: '<ng-content />',\n host: { class: 'card-body' }\n})\nexport class CardBodyComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-card-footer, [c-card-footer]',\n template: '<ng-content />',\n host: { class: 'card-footer' }\n})\nexport class CardFooterComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-card-group, [c-card-group]',\n template: '<ng-content />',\n host: { class: 'card-group' }\n})\nexport class CardGroupComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-card-header, [c-card-header]',\n template: '<ng-content />',\n host: { class: 'card-header' }\n})\nexport class CardHeaderComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-card-header-actions, [c-card-header-actions]',\n template: '<ng-content />',\n host: { class: 'card-header-actions' }\n})\nexport class CardHeaderActionsComponent {}\n","import { computed, Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[cCardImg]',\n host: { '[class]': 'hostClasses()' }\n})\nexport class CardImgDirective {\n /**\n * Optionally orientate the image to the top, bottom, or make it overlaid across the card.\n * @returns 'top' | 'bottom' | 'start' | 'end' | undefined\n */\n readonly orientation = input<'top' | 'bottom' | 'start' | 'end' | undefined>(undefined, { alias: 'cCardImg' });\n\n readonly hostClasses = computed(() => {\n const orientation = this.orientation();\n const suffix = !!orientation ? `-${orientation}` : '';\n const horizontal = ['start', 'end'].includes(orientation ?? '-') ? orientation : undefined;\n return {\n [`card-img${suffix}`]: !horizontal,\n 'img-fluid': !!horizontal,\n [`rounded-${horizontal}`]: !!horizontal\n } as Record<string, boolean>;\n });\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-card-img-overlay',\n template: '<ng-content />',\n styleUrls: ['./card-img-overlay.component.scss'],\n host: { class: 'card-img-overlay' }\n})\nexport class CardImgOverlayComponent {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cCardLink]',\n host: { class: 'card-link' }\n})\nexport class CardLinkDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cCardSubtitle]',\n host: { class: 'card-subtitle' }\n})\nexport class CardSubtitleDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cCardText]',\n host: { class: 'card-text' }\n})\nexport class CardTextDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cCardTitle]',\n host: { class: 'card-title' }\n})\nexport class CardTitleDirective {}\n","import { NgModule } from '@angular/core';\n\nimport { CardComponent } from './card.component';\nimport { CardBodyComponent } from './card-body.component';\nimport { CardFooterComponent } from './card-footer.component';\nimport { CardHeaderComponent } from './card-header.component';\nimport { CardHeaderActionsComponent } from './card-header-actions.component';\nimport { CardGroupComponent } from './card-group.component';\nimport { CardImgDirective } from './card-img.directive';\nimport { CardLinkDirective } from './card-link.directive';\nimport { CardSubtitleDirective } from './card-subtitle.directive';\nimport { CardTextDirective } from './card-text.directive';\nimport { CardTitleDirective } from './card-title.directive';\nimport { CardImgOverlayComponent } from './card-img-overlay/card-img-overlay.component';\n\n@NgModule({\n imports: [\n CardComponent,\n CardBodyComponent,\n CardFooterComponent,\n CardGroupComponent,\n CardHeaderComponent,\n CardHeaderActionsComponent,\n CardImgDirective,\n CardImgOverlayComponent,\n CardLinkDirective,\n CardSubtitleDirective,\n CardTextDirective,\n CardTitleDirective\n ],\n exports: [\n CardComponent,\n CardBodyComponent,\n CardFooterComponent,\n CardGroupComponent,\n CardHeaderComponent,\n CardHeaderActionsComponent,\n CardImgDirective,\n CardImgOverlayComponent,\n CardLinkDirective,\n CardSubtitleDirective,\n CardTextDirective,\n CardTitleDirective\n ]\n})\nexport class CardModule {}\n","import { isPlatformServer } from '@angular/common';\nimport { ElementRef, inject, Injectable, OnDestroy, PLATFORM_ID } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nexport interface IIntersectionObserverInit {\n root?: Element | null;\n rootMargin?: string;\n threshold?: number | number[];\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class IntersectionService implements OnDestroy {\n\n platformId = inject(PLATFORM_ID);\n\n readonly #intersecting: BehaviorSubject<any> = new BehaviorSubject({ isIntersecting: false });\n readonly intersecting$ = this.#intersecting.asObservable();\n\n private defaultObserverOptions: IIntersectionObserverInit = {\n root: null,\n rootMargin: '0px',\n threshold: 0.2\n };\n\n hostElementRefs: Map<ElementRef, IntersectionObserver | null> = new Map();\n\n createIntersectionObserver(hostElement: ElementRef, observerOptions = this.defaultObserverOptions) {\n\n if (isPlatformServer(this.platformId)) {\n this.#intersecting.next({ isIntersecting: true, hostElement });\n return;\n }\n\n const options: IIntersectionObserverInit = { ...this.defaultObserverOptions, ...observerOptions };\n\n const handleIntersect = (entries: IntersectionObserverEntry[], observer: IntersectionObserver) => {\n entries.forEach((entry: any) => {\n this.#intersecting.next({ isIntersecting: entry.isIntersecting, hostElement });\n });\n };\n\n this.hostElementRefs.set(hostElement, new IntersectionObserver(handleIntersect, options));\n this.hostElementRefs.get(hostElement)?.observe(hostElement.nativeElement);\n }\n\n unobserve(elementRef: ElementRef) {\n this.hostElementRefs.get(elementRef)?.unobserve(elementRef.nativeElement);\n this.hostElementRefs.set(elementRef, null);\n this.hostElementRefs.delete(elementRef);\n }\n\n ngOnDestroy(): void {\n this.hostElementRefs.forEach((observer, elementRef) => {\n observer?.unobserve(elementRef.nativeElement);\n });\n }\n}\n","import { ElementRef, inject, Injectable, Renderer2 } from '@angular/core';\nimport { Triggers } from '../coreui.types';\n\nexport interface IListenersConfig {\n hostElement: ElementRef;\n trigger?: Triggers | Triggers[];\n callbackOn?: () => void;\n callbackOff?: () => void;\n callbackToggle?: () => void;\n}\n\n@Injectable()\nexport class ListenersService {\n readonly renderer = inject(Renderer2);\n\n private listeners: Map<string, () => void> = new Map();\n\n setListeners({\n hostElement,\n trigger,\n callbackOn,\n callbackOff,\n callbackToggle,\n }: IListenersConfig): void {\n const host = hostElement.nativeElement;\n const triggers = Array.isArray(trigger) ? trigger : trigger?.split(' ') ?? [];\n\n if (triggers?.includes('click')) {\n typeof callbackToggle === 'function' &&\n this.listeners.set('click', this.renderer.listen(host, 'click', callbackToggle));\n }\n if (triggers?.includes('focus')) {\n typeof callbackOn === 'function' &&\n this.listeners.set('focus', this.renderer.listen(host, 'focus', callbackOn));\n }\n if (triggers?.includes('focusin')) {\n typeof callbackOff === 'function' &&\n this.listeners.set('focusout', this.renderer.listen(host, 'focusout', callbackOff));\n typeof callbackOn === 'function' &&\n this.listeners.set('focusin', this.renderer.listen(host, 'focusin', callbackOn));\n }\n if (triggers?.includes('click') || triggers?.includes('focus')) {\n typeof callbackOff === 'function' &&\n this.listeners.set('blur', this.renderer.listen(host, 'blur', callbackOff));\n }\n if (triggers?.includes('hover')) {\n typeof callbackOn === 'function' &&\n this.listeners.set('mouseenter', this.renderer.listen(host, 'mouseenter', callbackOn));\n typeof callbackOff === 'function' &&\n this.listeners.set('mouseleave', this.renderer.listen(host, 'mouseleave', callbackOff));\n }\n }\n\n clearListeners(): void {\n this.listeners.forEach((unListen, key) => {\n unListen();\n });\n this.listeners.forEach((unListen, key) => {\n // @ts-ignore\n this.listeners.set(key, null);\n });\n this.listeners.clear();\n }\n}\n","import { DOCUMENT, inject, Injectable, Renderer2, RendererFactory2 } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ClassToggleService {\n readonly #document = inject<Document>(DOCUMENT);\n readonly #rendererFactory = inject(RendererFactory2);\n\n #renderer: Renderer2;\n\n constructor() {\n this.#renderer = this.#rendererFactory.createRenderer(null, null);\n }\n\n toggle(selector: any, className: string) {\n const element = this.#document.querySelector(selector);\n if (element) {\n element.classList.contains(className)\n ? this.#renderer.removeClass(element, className)\n : this.#renderer.addClass(element, className);\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InMemoryStorageService implements Storage {\n #storage = new Map<string, string>();\n\n public setItem(key: string, data: any): void {\n this.#storage.set(key, JSON.stringify(data));\n }\n\n public getItem(key: string): any {\n return this.#storage.has(key) ? JSON.parse(this.#storage.get(key) ?? 'null') : undefined;\n }\n\n public removeItem(key: string): void {\n this.#storage.delete(key);\n }\n\n public clear() {\n this.#storage.clear();\n }\n\n public get length() {\n return this.#storage.size;\n }\n\n public key(index: number) {\n return Array.from(this.#storage.keys())[index];\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { DOCUMENT, inject, Injectable, PLATFORM_ID } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { InMemoryStorageService } from './in-memory-storage.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LocalStorageService {\n private platformId = inject(PLATFORM_ID);\n private document = inject(DOCUMENT);\n\n constructor() {\n this.#localStorage =\n isPlatformBrowser(this.platformId) && this.document.defaultView\n ? this.document.defaultView?.localStorage\n : new InMemoryStorageService();\n }\n\n #localStorage: Storage;\n readonly #data$ = new BehaviorSubject<{ key: string; data: any } | null>(null);\n public readonly data$ = this.#data$.asObservable();\n\n public setItem(key: string, data: any): void {\n this.#localStorage.setItem(key, JSON.stringify(data));\n this.#data$.next({ key, data });\n }\n\n public getItem(key: string): any {\n const data = JSON.parse(this.#localStorage.getItem(key) || 'null');\n this.#data$.next({ key, data });\n return data;\n }\n\n public removeItem(key: string): void {\n this.#localStorage.removeItem(key);\n this.#data$.next({ key, data: null });\n }\n\n public clear() {\n this.#localStorage.clear();\n this.#data$.next(null);\n }\n}\n","import {\n afterNextRender,\n DestroyRef,\n DOCUMENT,\n effect,\n inject,\n Injectable,\n signal,\n WritableSignal\n} from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { tap } from 'rxjs/operators';\nimport { LocalStorageService } from './local-storage.service';\n\nexport type ColorMode = 'light' | 'dark' | 'auto' | string | undefined;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ColorModeService {\n readonly #destroyRef: DestroyRef = inject(DestroyRef);\n readonly #document: Document = inject(DOCUMENT);\n readonly #localStorage: LocalStorageService = inject(LocalStorageService);\n\n readonly eventName = signal('ColorSchemeChange');\n readonly localStorageItemName: WritableSignal<string | undefined> = signal(undefined);\n readonly localStorageItemName$ = toObservable(this.localStorageItemName);\n readonly colorMode: WritableSignal<ColorMode> = signal(undefined);\n\n readonly #colorModeEffect = effect(() => {\n const colorMode = this.colorMode();\n if (colorMode) {\n const localStorageItemName = this.localStorageItemName();\n localStorageItemName && this.setStoredTheme(localStorageItemName, colorMode);\n this.#setTheme(colorMode);\n }\n });\n\n constructor() {\n afterNextRender({\n read: () => {\n this.localStorageItemName$\n .pipe(\n tap((params) => {\n this.colorMode.set(this.getDefaultScheme(params));\n }),\n takeUntilDestroyed(this.#destroyRef)\n )\n .subscribe();\n }\n });\n }\n\n getStoredTheme(localStorageItemName: string) {\n return this.#localStorage.getItem(localStorageItemName);\n }\n\n setStoredTheme(localStorageItemName: string, colorMode: string) {\n return this.#localStorage.setItem(localStorageItemName, colorMode);\n }\n\n removeStoredTheme(localStorageItemName: string) {\n this.#localStorage.removeItem(localStorageItemName);\n }\n\n getDefaultScheme(localStorageItemName: string | undefined) {\n if (this.#document.defaultView === undefined) {\n return this.getDatasetTheme();\n }\n\n const storedTheme = localStorageItemName && this.getStoredTheme(localStorageItemName);\n\n return storedTheme ?? this.getDatasetTheme();\n }\n\n getPrefersColorScheme() {\n return this.#document.defaultView?.matchMedia('(prefers-color-scheme: dark)').matches\n ? 'dark'\n : this.#document.defaultView?.matchMedia('(prefers-color-scheme: light)').matches\n ? 'light'\n : undefined;\n }\n\n getDatasetTheme(): ColorMode {\n return <ColorMode>this.#document.documentElement.dataset['coreuiTheme'];\n }\n\n #setTheme(colorMode: ColorMode) {\n this.#document.documentElement.dataset['coreuiTheme'] =\n colorMode === 'auto' ? this.getPrefersColorScheme() : colorMode;\n\n const event = new Event(this.eventName());\n this.#document.documentElement.dispatchEvent(event);\n }\n}\n","import { DOCUMENT, inject, Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UIDService {\n readonly #document = inject(DOCUMENT);\n\n getUID(prefix: string = 'random-id'): string {\n let uid = prefix;\n do {\n uid = `${prefix}-${Math.floor(Math.random() * 1000000).toString(10)}`;\n } while (this.#document.getElementById(uid));\n\n return uid;\n }\n}\n","import { DOCUMENT, inject, Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RtlService {\n readonly #document = inject(DOCUMENT);\n\n isRTL(element?: HTMLElement | null): boolean {\n if (element) {\n return (\n element.closest('[dir=\"rtl\"]') !== null ||\n this.#document.defaultView?.getComputedStyle(element).direction === 'rtl'\n );\n }\n\n return [this.#document?.documentElement?.dir, this.#document?.body?.dir].includes('rtl');\n }\n}\n","import { Injectable, signal } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { ICarouselState } from './carousel-state.type';\nimport { CarouselItemComponent } from './carousel-item/carousel-item.component';\n\nexport interface ICarouselIndex {\n active?: number;\n interval?: number;\n lastItemIndex?: number;\n}\n\n@Injectable()\nexport class CarouselService {\n readonly #carouselIndex = new BehaviorSubject<ICarouselIndex>({});\n readonly carouselIndex$ = this.#carouselIndex.asObservable();\n\n setIndex(index: ICarouselIndex): void {\n this.#carouselIndex.next(index);\n }\n\n readonly animating = signal(false);\n\n #state = <ICarouselState>{\n activeItemIndex: -1,\n animate: true,\n items: [],\n direction: 'next',\n transition: 'slide',\n interval: 0\n };\n\n get state(): ICarouselState {\n return this.#state;\n }\n\n set state(state) {\n const prevState = { ...this.#state };\n const nextState = { ...this.#state, ...state };\n this.#state = nextState;\n if (prevState.activeItemIndex !== nextState.activeItemIndex) {\n const activeItemIndex = this.state.activeItemIndex || 0;\n const itemInterval = (this.state.items && this.state.items[activeItemIndex]?.interval()) || -1;\n this.setIndex({\n active: nextState.activeItemIndex,\n interval: itemInterval,\n lastItemIndex: (nextState.items?.length ?? 0) - 1\n });\n }\n }\n\n setItems(newItems: any): void {\n if (newItems.length) {\n const itemsArray = newItems;\n itemsArray.forEach((item: CarouselItemComponent, i: number) => {\n item.index = i;\n });\n this.state = {\n items: [...itemsArray]\n };\n } else {\n this.reset();\n }\n }\n\n setNextIndex(nextIndex: any): void {\n this.setIndex(nextIndex);\n }\n\n direction(direction: 'next' | 'prev' = 'next'): number {\n this.state = { direction };\n const { activeItemIndex = -1, items } = this.state;\n const itemsCount = items?.length ?? 0;\n if (itemsCount > 0) {\n return direction === 'next'\n ? activeItemIndex === itemsCount - 1\n ? 0\n : activeItemIndex + 1\n : activeItemIndex === 0\n ? itemsCount - 1\n : activeItemIndex - 1;\n } else {\n return 0;\n }\n }\n\n reset(): void {\n this.state = {\n activeItemIndex: -1,\n animate: true,\n items: [],\n direction: 'next',\n transition: 'slide',\n interval: 0\n };\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class CarouselConfig {\n /* Animate transition of slides */\n activeIndex = 0;\n /* Animate transition of slides */\n animate = true;\n /* Default direction of auto-changing of slides */\n direction: 'next' | 'prev' = 'next';\n /* Default interval of auto-changing of slides */\n interval?: number;\n}\n","import {\n AfterContentInit,\n Component,\n DestroyRef,\n effect,\n ElementRef,\n inject,\n input,\n linkedSignal,\n numberAttribute,\n OnDestroy,\n OnInit,\n output\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { fromEvent, Subscription } from 'rxjs';\nimport { filter, finalize, withLatestFrom, zipWith } from 'rxjs/operators';\n\nimport { IListenersConfig, IntersectionService, ListenersService } from '../../services';\n\nimport { Triggers } from '../../coreui.types';\nimport { ThemeDirective } from '../../shared/theme.directive';\nimport { CarouselService } from '../carousel.service';\nimport { CarouselConfig } from '../carousel.config';\n\n@Component({\n selector: 'c-carousel',\n template: '<ng-content />',\n styleUrls: ['./carousel.component.scss'],\n providers: [CarouselService, ListenersService],\n hostDirectives: [{ directive: ThemeDirective, inputs: ['dark'] }],\n exportAs: 'cCarousel',\n host: {\n class: 'carousel slide',\n '[class.carousel-fade]': 'transition() === \"crossfade\" && animate()'\n }\n})\nexport class CarouselComponent implements OnInit, OnDestroy, AfterContentInit {\n private config = inject<CarouselConfig>(CarouselConfig);\n\n readonly #hostElement = inject(ElementRef);\n readonly #carouselService = inject(CarouselService);\n readonly #intersectionService = inject(IntersectionService);\n readonly #listenersService = inject(ListenersService);\n\n constructor() {\n this.loadConfig();\n }\n\n loadConfig() {\n this.activeIndex.update((activeIndex) => this.config?.activeIndex ?? activeIndex);\n this.animate.update((animate) => (animate === false ? animate : (this.config?.animate ?? animate)));\n this.direction.update((direction) => this.config?.direction ?? direction);\n this.interval.update((interval) => this.config?.interval ?? interval);\n }\n\n /**\n * Index of the active item.\n * @returns number\n */\n readonly activeIndexInput = input(0, { alias: 'activeIndex', transform: numberAttribute });\n\n readonly activeIndex = linkedSignal({\n source: this.activeIndexInput,\n computation: (value: number) => value\n });\n\n /**\n * Carousel automatically starts cycle items.\n * @returns boolean\n */\n readonly animateInput = input<boolean>(true, { alias: 'animate' });\n\n readonly animate = linkedSignal(this.animateInput);\n\n /**\n * Carousel direction\n * @returns 'next' | 'prev'\n */\n readonly directionInput = input<'next' | 'prev'>('next', { alias: 'direction' });\n\n readonly direction = linkedSignal({\n source: this.directionInput,\n computation: (value: 'next' | 'prev') => value\n });\n\n /**\n * The amount of time to delay between automatically cycling an item. If -1, carousel will not automatically cycle.\n * @returns number\n * @default -1\n */\n readonly intervalInput = input(-1, { alias: 'interval', transform: numberAttribute });\n\n readonly interval = linkedSignal(this.intervalInput);\n\n readonly #intervalEffect = effect(() => {\n const interval = this.interval();\n this.#carouselService.state = { interval: interval };\n interval ? this.setTimer() : this.resetTimer();\n });\n\n /**\n * Sets which event handlers you’d like provided to your pause prop. You can specify one trigger or an array of them.\n * @returns Triggers | Triggers[] | false\n */\n readonly pause = input<Triggers | Triggers[] | false>('hover');\n\n /**\n * Support left/right swipe interactions on touchscreen devices.\n * @returns boolean\n * @default true\n */\n readonly touch = input<boolean>(true);\n\n /**\n * Set the type of the transition.\n * @returns 'slide' | 'crossfade'\n * @default 'slide'\n */\n readonly transition = input<'slide' | 'crossfade'>('slide');\n\n /**\n * Set whether the carousel should cycle continuously or have hard stops.\n * @returns boolean\n * @default true\n */\n readonly wrap = input<boolean>(true);\n\n /**\n * Event emitted on carousel item change\n * @returns number\n */\n readonly itemChange = output<number>();\n\n private timerId: ReturnType<typeof setTimeout> | undefined;\n private activeItemInterval = 0;\n private swipeSubscription?: Subscription;\n readonly #destroyRef = inject(DestroyRef);\n\n ngOnInit(): void {\n this.carouselServiceSubscribe();\n }\n\n ngOnDestroy(): void {\n this.resetTimer();\n this.clearListeners();\n this.swipeSubscribe(false);\n // Ensure IntersectionObserver is cleaned up\n this.#intersectionService?.unobserve(this.#hostElement);\n }\n\n ngAfterContentInit(): void {\n this.intersectionServiceSubscribe();\n this.#carouselService.state = {\n activeItemIndex: this.activeIndex(),\n animate: this.animate(),\n interval: this.interval(),\n transition: this.transition()\n };\n this.setListeners();\n this.swipeSubscribe();\n }\n\n private setListeners(): void {\n const config: IListenersConfig = {\n hostElement: this.#hostElement,\n trigger: this.pause() || [],\n callbackOff: () => {\n this.setTimer();\n },\n callbackOn: () => {\n this.resetTimer();\n }\n };\n this.#listenersService.setListeners(config);\n }\n\n private clearListeners(): void {\n this.#listenersService.clearListeners();\n }\n\n set visible(value) {\n this.#visible = value;\n }\n\n get visible() {\n return this.#visible;\n }\n\n #visible: boolean = true;\n\n setTimer(): void {\n const interval = this.activeItemInterval || this.interval();\n const direction = this.direction();\n this.resetTimer();\n if (interval > 0) {\n this.timerId = setTimeout(() => {\n const nextIndex = this.#carouselService.direction(direction);\n this.#carouselService.state = { activeItemIndex: nextIndex };\n }, interval);\n }\n }\n\n resetTimer(): void {\n clearTimeout(this.timerId);\n this.timerId = undefined;\n }\n\n private carouselServiceSubscribe(): void {\n this.#carouselService.carouselIndex$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe((nextItem) => {\n if ('active' in nextItem && typeof nextItem.active === 'number') {\n this.itemChange?.emit(nextItem.active);\n }\n this.activeItemInterval =\n typeof nextItem.interval === 'number' && nextItem.interval > -1 ? nextItem.interval : this.interval();\n const direction = this.direction();\n const isLastItem =\n (nextItem.active === nextItem.lastItemIndex && direction === 'next') ||\n (nextItem.active === 0 && direction === 'prev');\n !this.wrap() && isLastItem ? this.resetTimer() : this.setTimer();\n });\n }\n\n private intersectionServiceSubscribe(): void {\n this.#intersectionService.createIntersectionObserver(this.#hostElement);\n this.#intersectionService.intersecting$\n .pipe(\n filter((next) => next.hostElement === this.#hostElement),\n finalize(() => {\n this.#intersectionService?.unobserve(this.#hostElement);\n }),\n takeUntilDestroyed(this.#destroyRef)\n )\n .subscribe((next) => {\n this.visible = next.isIntersecting;\n next.isIntersecting ? this.setTimer() : this.resetTimer();\n });\n }\n\n private swipeSubscribe(subscribe: boolean = true): void {\n if (this.touch() && subscribe) {\n const carouselElement = this.#hostElement.nativeElement;\n const touchStart$ = fromEvent<TouchEvent>(carouselElement, 'touchstart');\n const touchEnd$ = fromEvent<TouchEvent>(carouselElement, 'touchend');\n const touchMove$ = fromEvent<TouchEvent>(carouselElement, 'touchmove');\n this.swipeSubscription = touchStart$\n .pipe(zipWith(touchEnd$.pipe(withLatestFrom(touchMove$))), takeUntilDestroyed(this.#destroyRef))\n .subscribe(([touchstart, [touchend, touchmove]]) => {\n touchstart.stopPropagation();\n touchmove.stopPropagation();\n if (this.#carouselService.animating()) {\n return;\n }\n const distanceX = touchstart.touches[0]?.clientX - touchmove.touches[0]?.clientX || 0;\n if (Math.abs(distanceX) > 0.3 * carouselElement.clientWidth && touchstart.timeStamp <= touchmove.timeStamp) {\n const nextIndex = this.#carouselService.direction(distanceX > 0 ? 'next' : 'prev');\n this.#carouselService.state = { activeItemIndex: nextIndex };\n }\n });\n } else {\n this.swipeSubscription?.unsubscribe();\n }\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-carousel-caption',\n template: '<ng-content />',\n styles: `\n :host {\n display: block;\n }\n `,\n host: {\n '[class.carousel-caption]': 'true'\n }\n})\nexport class CarouselCaptionComponent {}\n","import { Component, computed, inject, input, linkedSignal } from '@angular/core';\nimport { CarouselService } from '../carousel.service';\n\n@Component({\n selector: 'c-carousel-control',\n templateUrl: './carousel-control.component.html',\n exportAs: 'cCarouselControl',\n host: {\n '[attr.role]': 'role()',\n '[class]': 'hostClasses()',\n '(keyup)': 'onKeyUp($event)',\n '(click)': 'onClick($event)'\n }\n})\nexport class CarouselControlComponent {\n readonly #carouselService = inject(CarouselService);\n\n /**\n * Carousel control caption\n * @returns string | undefined\n */\n readonly captionInput = input<string | undefined>(undefined, { alias: 'caption' });\n\n readonly caption = linkedSignal({\n source: this.captionInput,\n computation: (value) => {\n return !!value ? value : this.direction() === 'prev' ? 'Previous' : 'Next';\n }\n });\n\n /**\n * Carousel control direction.\n * @returns 'prev' | 'next'\n */\n readonly direction = input<'prev' | 'next'>('next');\n\n /**\n * Carousel control role.\n * @returns string\n */\n readonly role = input('button');\n\n readonly hostClasses = computed(() => {\n return `carousel-control-${this.direction()}`;\n });\n\n readonly carouselControlIconClass = computed(() => {\n return `carousel-control-${this.direction()}-icon`;\n });\n\n onKeyUp($event: KeyboardEvent): void {\n if ($event.key === 'Enter') {\n this.#play();\n }\n if ($event.key === 'ArrowLeft') {\n this.#play('prev');\n }\n if ($event.key === 'ArrowRight') {\n this.#play('next');\n }\n }\n\n onClick($event: MouseEvent): void {\n if (this.#carouselService.animating()) {\n return;\n }\n this.#play();\n }\n\n #play(direction = this.direction()): void {\n const nextIndex = this.#carouselService.direction(direction);\n this.#carouselService.state = { activeItemIndex: nextIndex };\n }\n}\n","<ng-content>\n <span [aria-hidden]=\"true\" [class]=\"carouselControlIconClass()\"></span>\n <span class=\"visually-hidden\">{{ caption() }}</span>\n</ng-content>\n","import { Component, computed, contentChildren, DestroyRef, inject, OnInit, signal, TemplateRef } from '@angular/core';\nimport { CarouselService } from '../carousel.service';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { TemplateIdDirective } from '../../shared';\n\n@Component({\n selector: 'c-carousel-indicators',\n exportAs: 'cCarouselIndicators',\n imports: [NgTemplateOutlet],\n templateUrl: './carousel-indicators.component.html',\n host: { class: 'carousel-indicators' }\n})\nexport class CarouselIndicatorsComponent implements OnInit {\n readonly #destroyRef = inject(DestroyRef);\n readonly #carouselService = inject(CarouselService);\n\n items: (number | undefined)[] = [];\n readonly active = signal(0);\n\n readonly contentTemplates = contentChildren(TemplateIdDirective, { descendants: true });\n\n readonly templates = computed(() => {\n return this.contentTemplates().reduce(\n (acc, child) => {\n acc[child.id] = child.templateRef;\n return acc;\n },\n {} as Record<string, TemplateRef<any>>\n );\n });\n\n ngOnInit(): void {\n this.#carouselService.carouselIndex$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe((nextIndex) => {\n this.items = this.#carouselService?.state?.items?.map((item) => item.index) ?? [];\n if ('active' in nextIndex) {\n this.active.set(nextIndex.active ?? 0);\n }\n });\n }\n\n onClick(index: number): void {\n if (this.#carouselService.animating()) {\n return;\n }\n if (index !== this.active()) {\n const direction = index < this.active() ? 'prev' : 'next';\n this.#carouselService.state = { direction, activeItemIndex: index };\n }\n }\n}\n","@let tmpl = templates();\n@let activeItem = active();\n<ng-container *ngTemplateOutlet=\"tmpl['carouselIndicatorsTemplate'] || defaultCarouselIndicatorsTemplate; context: {$implicit: items, active: activeItem}\" />\n\n<ng-template #defaultCarouselIndicatorsTemplate>\n @for (item of items; track item; let i = $index) {\n <button\n [attr.data-coreui-target]=\"i\"\n type=\"button\"\n (click)=\"onClick(i)\"\n [class]=\"{ active: activeItem === i }\"\n [aria-current]=\"activeItem === i ? 'true' : null\">\n </button>\n }\n</ng-template>\n","import {\n booleanAttribute,\n Component,\n computed,\n DestroyRef,\n effect,\n ElementRef,\n inject,\n input,\n linkedSignal,\n OnInit,\n signal,\n untracked\n} from '@angular/core';\n\nimport { CarouselService } from '../carousel.service';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n@Component({\n selector: 'c-carousel-item',\n template: `\n <!-- @if (this.activeClass() || (this.orderClassName() && this.directionClassName())) {-->\n <ng-content />\n <!-- }-->\n `,\n exportAs: 'cCarouselItem',\n host: {\n class: 'carousel-item',\n '[class]': 'hostClasses()',\n '[attr.role]': 'role()'\n }\n})\nexport class CarouselItemComponent implements OnInit {\n readonly #elementRef = inject(ElementRef<HTMLElement>);\n readonly #destroyRef = inject(DestroyRef);\n readonly #carouselService = inject(CarouselService);\n\n #timeoutId?: ReturnType<typeof setTimeout> | undefined;\n #rafId?: ReturnType<typeof requestAnimationFrame> | undefined;\n\n index?: number;\n\n /**\n * @ignore\n */\n readonly activeInput = input(false, { transform: booleanAttribute, alias: 'active' });\n\n readonly active = linkedSignal(this.activeInput);\n\n /**\n * Time delay before cycling to the next item. If -1, uses carousel interval value.\n * @returns number\n * @default -1\n */\n readonly interval = input<number>(-1);\n\n /**\n * Carousel item role.\n * @returns string\n * @default 'group'\n */\n readonly role = input('group');\n\n constructor() {\n this.#elementRef.nativeElement.style.transition = '1ms';\n }\n\n ngOnInit(): void {\n this.#carouselService.carouselIndex$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe((nextIndex) => {\n if ('active' in nextIndex) {\n if (this.#carouselService.state.animate && this.#elementRef.nativeElement.style.transition !== '') {\n this.#timeoutId = setTimeout(() => {\n this.#elementRef.nativeElement.style.transition = '';\n this.#timeoutId = undefined;\n }, 500);\n }\n this.prevActive.set(this.active());\n this.active.set(nextIndex.active === this.index);\n }\n });\n\n // Clean up timeout on destroy\n this.#destroyRef.onDestroy(() => {\n if (this.#timeoutId !== undefined) {\n clearTimeout(this.#timeoutId);\n }\n if (this.#rafId !== undefined) {\n cancelAnimationFrame(this.#rafId);\n }\n });\n }\n\n protected readonly hostClasses = computed(() => {\n const order = this.orderClassName();\n const direction = this.directionClassName();\n return {\n active: this.activeClass(),\n [`${order}`]: !!order,\n [`${direction}`]: !!direction,\n 'd-none': !this.activeClass() && !order && !direction\n };\n });\n\n readonly prevActive = signal(false);\n readonly activeClass = signal(false);\n readonly orderClassName = signal<string>('');\n readonly directionClassName = signal<string>('');\n\n readonly #activeEffect = effect((OnCleanup) => {\n const active = this.active();\n const prevActive = untracked(this.prevActive);\n const direction = this.#carouselService.state?.direction;\n\n this.activeClass.set(prevActive);\n\n if (active) {\n this.orderClassName.set(`carousel-item-${direction}`);\n }\n\n if (prevActive || active) {\n if (this.#rafId) {\n cancelAnimationFrame(this.#rafId);\n }\n\n this.#rafId = requestAnimationFrame(() => {\n // reflow is necessary to proper transition\n void this.#elementRef.nativeElement.offsetHeight;\n this.directionClassName.set(`carousel-item-${direction === 'next' ? 'start' : 'end'}`);\n this.#rafId = undefined;\n });\n }\n\n const handleTransitionStart = () => {\n if (active) {\n this.#carouselService.animating.set(true);\n }\n };\n\n const handleTransitionEnd = () => {\n if (active) {\n this.#carouselService.animating.set(false);\n }\n this.directionClassName.set('');\n this.orderClassName.set('');\n this.activeClass.set(active);\n };\n\n this.#elementRef.nativeElement.addEventListener('transitionstart', handleTransitionStart);\n this.#elementRef.nativeElement.addEventListener('transitionend', handleTransitionEnd);\n\n OnCleanup(() => {\n this.#elementRef.nativeElement.removeEventListener('transitionstart', handleTransitionStart);\n this.#elementRef.nativeElement.removeEventListener('transitionend', handleTransitionEnd);\n });\n });\n}\n","import {\n AfterContentChecked,\n AfterContentInit,\n Component,\n computed,\n contentChildren,\n inject,\n signal\n} from '@angular/core';\nimport { CarouselItemComponent } from '../carousel-item/carousel-item.component';\nimport { CarouselService } from '../carousel.service';\n\n@Component({\n selector: 'c-carousel-inner',\n styles: `\n :host {\n display: block;\n }\n `,\n template: '<ng-content />',\n host: {\n class: 'carousel-inner',\n '[aria-live]': 'ariaLive()'\n }\n})\nexport class CarouselInnerComponent implements AfterContentInit, AfterContentChecked {\n readonly #carouselService = inject(CarouselService);\n\n readonly activeIndex = signal<number | undefined>(undefined);\n readonly animate = signal<boolean>(true);\n readonly interval = signal<number>(0);\n readonly slide = signal({ left: true });\n readonly transition = signal('crossfade');\n\n readonly slideType = computed(() => {\n return { left: this.slide().left, type: this.transition() };\n });\n\n readonly ariaLive = computed(() => {\n return this.interval() ? 'off' : 'polite';\n });\n\n readonly contentItems = contentChildren(CarouselItemComponent);\n readonly #prevContentItems = signal<CarouselItemComponent[]>([]);\n\n ngAfterContentInit(): void {\n this.setItems();\n }\n\n ngAfterContentChecked(): void {\n this.setItems();\n const state = this.#carouselService?.state;\n const nextIndex = state?.activeItemIndex;\n const nextDirection = state?.direction;\n if (this.activeIndex() !== nextIndex) {\n this.animate.set(state?.animate ?? false);\n this.activeIndex.set(state?.activeItemIndex);\n this.interval.set(state?.interval ?? 0);\n this.slide.set({ left: nextDirection === 'next' });\n this.transition.set(state?.transition ?? 'slide');\n }\n }\n\n setItems(): void {\n const contentItems = this.contentItems();\n if (this.#prevContentItems() !== contentItems) {\n this.#prevContentItems.set([...contentItems]);\n this.#carouselService.setItems(contentItems);\n }\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { CarouselComponent } from './carousel/carousel.component';\nimport { CarouselCaptionComponent } from './carousel-caption/carousel-caption.component';\nimport { CarouselControlComponent } from './carousel-control/carousel-control.component';\nimport { CarouselIndicatorsComponent } from './carousel-indicators/carousel-indicators.component';\nimport { CarouselInnerComponent } from './carousel-inner/carousel-inner.component';\nimport { CarouselItemComponent } from './carousel-item/carousel-item.component';\nimport { CarouselService } from './carousel.service';\nimport { CarouselConfig } from './carousel.config';\n\n@NgModule({\n imports: [\n CarouselComponent,\n CarouselCaptionComponent,\n CarouselControlComponent,\n CarouselIndicatorsComponent,\n CarouselInnerComponent,\n CarouselItemComponent\n ],\n providers: [CarouselService, CarouselConfig],\n exports: [\n CarouselComponent,\n CarouselCaptionComponent,\n CarouselControlComponent,\n CarouselIndicatorsComponent,\n CarouselInnerComponent,\n CarouselItemComponent\n ]\n})\nexport class CarouselModule {\n static forRoot(): ModuleWithProviders<CarouselModule> {\n return { ngModule: CarouselModule, providers: [] };\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cDropdownDivider]',\n host: { class: 'dropdown-divider' }\n})\nexport class DropdownDividerDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cDropdownHeader]',\n host: { class: 'dropdown-header' }\n})\nexport class DropdownHeaderDirective {}\n","import { Injectable, signal } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { DropdownAlignment } from '../coreui.types';\n\nexport interface IDropdownState {\n visible?: boolean | 'toggle';\n dropdown?: any;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DropdownService {\n readonly #dropdownState = new BehaviorSubject<any>({});\n readonly dropdownState$ = this.#dropdownState.asObservable();\n\n readonly alignment = signal<DropdownAlignment | undefined>(undefined);\n readonly popper = signal(true);\n\n toggle(state: IDropdownState): void {\n this.#dropdownState.next(state);\n }\n}\n","import { FocusKeyManager } from '@angular/cdk/a11y';\nimport {\n AfterContentInit,\n booleanAttribute,\n computed,\n contentChildren,\n DestroyRef,\n Directive,\n ElementRef,\n forwardRef,\n inject,\n input,\n linkedSignal,\n OnInit\n} from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { tap } from 'rxjs/operators';\n\nimport { ThemeDirective } from '../../shared/theme.directive';\nimport { DropdownItemDirective } from '../dropdown-item/dropdown-item.directive';\nimport { BreakpointInfix, DropdownAlignment } from '../../coreui.types';\nimport { DropdownService } from '../dropdown.service';\n\n@Directive({\n selector: '[cDropdownMenu]',\n exportAs: 'cDropdownMenu',\n hostDirectives: [{ directive: ThemeDirective, inputs: ['dark'] }],\n host: {\n class: 'dropdown-menu',\n '[class]': 'hostClasses()',\n '[style]': 'hostStyles()',\n '[attr.data-coreui-popper]': 'dataPopper()',\n '(keydown)': 'onKeyDown($event)',\n '(keyup)': 'onKeyUp($event)'\n }\n})\nexport class DropdownMenuDirective implements OnInit, AfterContentInit {\n readonly #destroyRef: DestroyRef = inject(DestroyRef);\n public readonly elementRef: ElementRef = inject(ElementRef);\n readonly #dropdownService: DropdownService = inject(DropdownService);\n #focusKeyManager!: FocusKeyManager<DropdownItemDirective>;\n\n /**\n * Set alignment of dropdown menu.\n * @returns DropdownAlignment\n */\n readonly alignment = input<DropdownAlignment>();\n\n /**\n * Toggle the visibility of dropdown menu component.\n * @returns boolean\n */\n readonly visibleInput = input(false, { transform: booleanAttribute, alias: 'visible' });\n\n readonly visible = linkedSignal({\n source: this.visibleInput,\n computation: (value) => value\n });\n\n readonly hostClasses = computed(() => {\n const visible = this.visible();\n\n return {\n 'dropdown-menu': true,\n ...alignmentClasses(this.alignment() ?? this.#dropdownService.alignment()),\n show: visible\n } as Record<string, boolean>;\n });\n\n readonly hostStyles = computed(() => {\n // workaround for popper position calculate (see also: dropdown.component)\n const visible = this.visible();\n return {\n visibility: visible ? null : '',\n display: visible ? null : ''\n } as Record<string, any>;\n });\n\n readonly dataPopper = computed(() => (this.#dropdownService.popper() ? null : 'static'));\n\n onKeyDown($event: KeyboardEvent): void {\n if (!this.visible()) {\n return;\n }\n if (['Space', 'ArrowDown'].includes($event.code)) {\n $event.preventDefault();\n }\n this.#focusKeyManager.onKeydown($event);\n }\n\n onKeyUp($event: KeyboardEvent): void {\n if (!this.visible()) {\n return;\n }\n if (['Tab'].includes($event.key)) {\n if (this.#focusKeyManager.activeItem) {\n $event.shiftKey ? this.#focusKeyManager.setPreviousItemActive() : this.#focusKeyManager.setNextItemActive();\n } else {\n this.#focusKeyManager.setFirstItemActive();\n }\n }\n }\n\n readonly dropdownItemsContent = contentChildren<DropdownItemDirective>(\n forwardRef(() => DropdownItemDirective),\n { descendants: true }\n );\n\n readonly items$ = toObservable(this.dropdownItemsContent);\n\n ngAfterContentInit(): void {\n this.focusKeyManagerInit();\n\n this.items$\n .pipe(\n tap((change) => {\n this.focusKeyManagerInit();\n }),\n takeUntilDestroyed(this.#destroyRef)\n )\n .subscribe();\n }\n\n ngOnInit(): void {\n this.#dropdownService.dropdownState$\n .pipe(\n tap((state) => {\n if ('visible' in state) {\n this.visible.update((visible) => (state.visible === 'toggle' ? !visible : state.visible));\n if (!this.visible()) {\n this.#focusKeyManager?.setActiveItem(-1);\n }\n }\n }),\n takeUntilDestroyed(this.#destroyRef)\n )\n .subscribe();\n }\n\n private focusKeyManagerInit(): void {\n this.#focusKeyManager = new FocusKeyManager(this.dropdownItemsContent())\n .withHomeAndEnd()\n .withPageUpDown()\n .withWrap()\n .skipPredicate((dropdownItem) => dropdownItem.disabled === true);\n }\n}\n\nconst alignmentClasses = (alignment?: DropdownAlignment): Record<string, boolean> => {\n if (!alignment) {\n return {};\n }\n if (typeof alignment === 'string') {\n return { [`dropdown-menu-${alignment}`]: true };\n }\n return Object.fromEntries(\n Object.entries(alignment).map(([breakpoint, direction]) => [\n `dropdown-menu${breakpoint === BreakpointInfix.xs ? '' : `-${breakpoint}`}-${direction}`,\n true\n ])\n );\n};\n","import {\n AfterViewInit,\n booleanAttribute,\n ChangeDetectorRef,\n Component,\n computed,\n contentChild,\n DestroyRef,\n Directive,\n DOCUMENT,\n effect,\n ElementRef,\n forwardRef,\n inject,\n input,\n linkedSignal,\n NgZone,\n OnDestroy,\n OnInit,\n output,\n Renderer2,\n signal,\n untracked\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { filter } from 'rxjs/operators';\n\nimport { createPopper, Instance, Options, Placement } from '@popperjs/core';\n\nimport { DropdownAlignment } from '../../coreui.types';\nimport { ThemeDirective } from '../../shared';\nimport { DropdownMenuDirective } from '../dropdown-menu/dropdown-menu.directive';\nimport { DropdownService } from '../dropdown.service';\n\n// lightweight injection token\nexport abstract class DropdownToken {}\n\n@Directive({\n selector: '[cDropdownToggle]',\n providers: [{ provide: DropdownToken, useExisting: forwardRef(() => DropdownComponent) }],\n exportAs: 'cDropdownToggle',\n host: {\n '[class]': 'hostClasses()',\n '[aria-expanded]': 'ariaExpanded',\n '(click)': 'onClick($event)'\n }\n})\nexport class DropdownToggleDirective implements AfterViewInit {\n readonly #destroyRef = inject(DestroyRef);\n public readonly elementRef = inject(ElementRef);\n #dropdownService = inject(DropdownService);\n public dropdown = inject(DropdownToken, { optional: true });\n\n /**\n * Reference to dropdown component.\n * @returns DropdownComponent\n * @default undefined\n */\n readonly dropdownComponent = input<DropdownComponent>();\n\n /**\n * Disables the toggler.\n * @returns boolean\n * @default false\n */\n readonly disabled = input<boolean, unknown>(false, { transform: booleanAttribute });\n\n /**\n * Enables pseudo-element caret on toggler.\n * @returns boolean\n * @default true\n */\n readonly caret = input(true);\n\n /**\n * Create split button dropdowns with virtually the same markup as single button dropdowns,\n * but with the addition of `.dropdown-toggle-split` class for proper spacing around the dropdown caret.\n * @returns boolean\n * @default false\n */\n readonly split = input<boolean, unknown>(false, { transform: booleanAttribute });\n\n readonly hostClasses = computed(() => {\n return {\n 'dropdown-toggle': this.caret(),\n 'dropdown-toggle-split': this.split(),\n disabled: this.disabled()\n } as Record<string, boolean>;\n });\n\n readonly #ariaExpanded = signal(false);\n\n get ariaExpanded() {\n return this.#ariaExpanded();\n }\n\n public onClick($event: MouseEvent): void {\n $event.preventDefault();\n !this.disabled() && this.#dropdownService.toggle({ visible: 'toggle', dropdown: this.dropdown });\n }\n\n ngAfterViewInit(): void {\n const dropdownComponent = this.dropdownComponent();\n if (dropdownComponent) {\n this.dropdown = dropdownComponent;\n this.#dropdownService = dropdownComponent?.dropdownService;\n }\n if (this.dropdown) {\n const dropdown = <DropdownComponent>this.dropdown;\n const subscription = dropdown?.visibleChange?.subscribe((visible) => {\n this.#ariaExpanded.set(visible);\n });\n if (subscription) {\n this.#destroyRef.onDestroy(() => {\n subscription.unsubscribe();\n });\n }\n }\n }\n}\n\n@Component({\n selector: 'c-dropdown',\n template: '<ng-content />',\n styleUrls: ['./dropdown.component.scss'],\n exportAs: 'cDropdown',\n providers: [DropdownService],\n hostDirectives: [{ directive: ThemeDirective, inputs: ['dark'] }],\n host: {\n '[class]': 'hostClasses()',\n '[style]': 'hostStyle()',\n '(click)': 'onHostClick($event)'\n }\n})\nexport class DropdownComponent implements OnDestroy, OnInit {\n readonly #destroyRef = inject(DestroyRef);\n readonly #document = inject(DOCUMENT);\n readonly #elementRef = inject(ElementRef);\n readonly #renderer = inject(Renderer2);\n readonly #ngZone = inject(NgZone);\n readonly #changeDetectorRef = inject(ChangeDetectorRef);\n readonly dropdownService = inject(DropdownService);\n\n constructor() {\n this.dropdownStateSubscribe();\n }\n\n /**\n * Set alignment of dropdown menu.\n * @returns DropdownAlignment\n */\n readonly alignment = input<DropdownAlignment>();\n\n /**\n * Configure the auto close behavior:\n * - `true` closes the dropdown on a click inside or outside the menu,\n * - `false` only on the toggle button or an explicit hide/toggle call and not on the `Esc` key,\n * - `inside` only on a click inside the menu,\n * - `outside` only on a click outside it.\n * @returns boolean | 'inside' | 'outside'\n * @default true\n */\n readonly autoClose = input<boolean | 'inside' | 'outside'>(true);\n\n /**\n * Sets a specified direction and location of the dropdown menu.\n * @returns 'center' | 'dropup' | 'dropup-center' | 'dropend' | 'dropstart'\n */\n readonly direction = input<'center' | 'dropup' | 'dropup-center' | 'dropend' | 'dropstart'>();\n\n /**\n * Describes the placement of your component after Popper.js has applied all the modifiers\n * that may have flipped or altered the originally provided placement property.\n * @returns Placement\n * @default 'bottom-start'\n */\n readonly placement = input<Placement>('bottom-start');\n\n /**\n * If you want to disable dynamic positioning set this property to `false`.\n * @returns boolean\n * @default true\n */\n readonly popper = input<boolean, unknown>(true, { transform: booleanAttribute });\n\n readonly #popperEnabled = computed(\n () => this.popper() && typeof (this._menu()?.alignment() ?? this.alignment()) !== 'object'\n );\n\n readonly #alignmentEffect = effect(() => {\n this.dropdownService.alignment.set(this.alignment());\n });\n\n readonly #popperEnabledEffect = effect(() => {\n this.dropdownService.popper.set(this.#popperEnabled());\n });\n\n /**\n * Optional Popper.js options object; the `placement` prop takes precedence over the\n * placement set here. See https://popper.js.org/docs/v2/constructors/#options\n * @returns Partial<Options>\n * @default {}\n */\n readonly popperOptionsInput = input<Partial<Options>>({}, { alias: 'popperOptions' });\n\n readonly #popperOptionsEffect = effect(() => {\n this.popperOptions = { ...untracked(this.#popperOptions), ...this.popperOptionsInput() };\n });\n\n set popperOptions(value: Partial<Options>) {\n this.#popperOptions.update((popperOptions) => ({ ...popperOptions, ...value }));\n }\n\n get popperOptions(): Partial<Options> {\n let placement = this.placement();\n switch (this.direction()) {\n case 'dropup': {\n placement = 'top-start';\n break;\n }\n case 'dropend': {\n placement = 'right-start';\n break;\n }\n case 'dropstart': {\n placement = 'left-start';\n break;\n }\n case 'center': {\n placement = 'bottom';\n break;\n }\n case 'dropup-center': {\n placement = 'top';\n break;\n }\n }\n if (this.alignment() === 'end') {\n placement = 'bottom-end';\n }\n this.#popperOptions.update((value) => ({ ...value, placement: placement }));\n return this.#popperOptions();\n }\n\n readonly #popperOptions = signal<Partial<Options>>({\n placement: this.placement(),\n modifiers: [],\n strategy: 'absolute'\n });\n\n /**\n * Set the dropdown variant to a btn-group, dropdown, input-group, and nav-item.\n */\n readonly variant = input<('btn-group' | 'dropdown' | 'input-group' | 'nav-item') | undefined>('dropdown');\n\n /**\n * Toggle the visibility of dropdown menu component.\n * @returns boolean\n * @default false\n */\n readonly visibleInput = input(false, { transform: booleanAttribute, alias: 'visible' });\n\n readonly visible = linkedSignal({\n source: this.visibleInput,\n computation: (value) => value\n });\n\n readonly #visibleEffect = effect(() => {\n const visible = this.visible();\n untracked(() => {\n this.activeTrap = visible;\n visible ? this.createPopperInstance() : this.destroyPopperInstance();\n this.setVisibleState(visible);\n this.visibleChange?.emit(visible);\n });\n });\n\n /**\n * Event emitted on `visible` change.\n * @returns boolean\n */\n readonly visibleChange = output<boolean>();\n\n dropdownContext = { $implicit: this.visible() };\n readonly _toggler = contentChild(DropdownToggleDirective);\n readonly _menu = contentChild(DropdownMenuDirective);\n readonly _menuElementRef = contentChild(DropdownMenuDirective, { read: ElementRef });\n\n public activeTrap = false;\n\n private popperInstance!: Instance | undefined;\n private listeners: (() => void)[] = [];\n\n readonly hostClasses = computed(() => {\n const direction = this.direction();\n const variant = this.variant();\n return {\n dropdown: (variant === 'dropdown' || variant === 'nav-item') && !direction,\n [`${direction}`]: !!direction,\n [`${variant}`]: !!variant,\n dropup: direction === 'dropup' || direction === 'dropup-center',\n show: this.visible()\n } as Record<string, boolean>;\n });\n\n // todo: find better solution\n readonly hostStyle = computed(() => {\n return this.variant() === 'input-group' ? { display: 'contents' } : {};\n });\n\n private clickedTarget!: HTMLElement;\n\n onHostClick($event: MouseEvent): void {\n this.clickedTarget = $event.target as HTMLElement;\n }\n\n dropdownStateSubscribe(): void {\n this.dropdownService.dropdownState$\n .pipe(\n filter((state) => {\n return this === state.dropdown;\n }),\n takeUntilDestroyed(this.#destroyRef)\n )\n .subscribe((state) => {\n if ('visible' in state) {\n state?.visible === 'toggle' ? this.toggleDropdown() : this.visible.set(state.visible);\n }\n });\n }\n\n toggleDropdown(): void {\n this.visible.update((visible) => !visible);\n }\n\n onClick(event: any): void {\n if (!this._toggler()?.elementRef.nativeElement.contains(event.target?.closest('[cDropdownToggle]'))) {\n this.toggleDropdown();\n }\n }\n\n readonly #togglerEffect = effect(() => {\n const variant = this.variant();\n const _toggler = this._toggler();\n if (variant === 'nav-item' && _toggler) {\n this.#renderer.addClass(_toggler.elementRef.nativeElement, 'nav-link');\n }\n });\n\n ngOnInit(): void {\n this.setVisibleState(this.visible());\n }\n\n ngOnDestroy(): void {\n this.clearListeners();\n this.destroyPopperInstance();\n }\n\n setVisibleState(value: boolean): void {\n this.dropdownService.toggle({ visible: value, dropdown: this });\n }\n\n // todo: turn off popper in navbar-nav\n createPopperInstance(): void {\n const _toggler = this._toggler();\n const _menu = this._menu();\n if (_toggler && _menu) {\n this.#ngZone.runOutsideAngular(() => {\n // workaround for popper position calculate (see also: dropdown-menu.component)\n _menu.elementRef.nativeElement.style.visibility = 'hidden';\n _menu.elementRef.nativeElement.style.display = 'block';\n if (this.#popperEnabled()) {\n this.popperInstance = createPopper(_toggler.elementRef.nativeElement, _menu.elementRef.nativeElement, {\n ...this.popperOptions\n });\n }\n this.#ngZone.run(() => {\n this.setListeners();\n this.#changeDetectorRef.markForCheck();\n this.#changeDetectorRef.detectChanges();\n });\n });\n }\n }\n\n destroyPopperInstance(): void {\n this.clearListeners();\n this.popperInstance?.destroy();\n this.popperInstance = undefined;\n this.#changeDetectorRef.markForCheck();\n }\n\n private setListeners(): void {\n this.listeners.push(\n this.#renderer.listen(this.#document, 'click', (event) => {\n const target = event.target as HTMLElement;\n if (this._menuElementRef()?.nativeElement.contains(event.target)) {\n this.clickedTarget = target;\n }\n if (this._toggler()?.elementRef.nativeElement.contains(event.target)) {\n return;\n }\n const autoClose = this.autoClose();\n if (autoClose === true) {\n this.setVisibleState(false);\n return;\n }\n if (this.clickedTarget === target && autoClose === 'inside') {\n this.setVisibleState(false);\n return;\n }\n if (this.clickedTarget !== target && autoClose === 'outside') {\n this.setVisibleState(false);\n return;\n }\n })\n );\n this.listeners.push(\n this.#renderer.listen(this.#elementRef.nativeElement, 'keyup', (event) => {\n if (event.key === 'Escape' && this.autoClose() !== false) {\n event.stopPropagation();\n this.setVisibleState(false);\n return;\n }\n })\n );\n this.listeners.push(\n this.#renderer.listen(this.#document, 'keyup', (event) => {\n if (\n event.key === 'Tab' &&\n this.autoClose() !== false &&\n !this.#elementRef.nativeElement.contains(event.target)\n ) {\n this.setVisibleState(false);\n return;\n }\n })\n );\n }\n\n private clearListeners(): void {\n this.listeners.forEach((unListen) => {\n unListen();\n });\n // @ts-ignore\n this.listeners.fill(undefined);\n this.listeners = [];\n }\n}\n","import { FocusableOption, FocusOrigin } from '@angular/cdk/a11y';\nimport { booleanAttribute, computed, Directive, ElementRef, inject, input, linkedSignal } from '@angular/core';\nimport { DropdownService } from '../dropdown.service';\nimport { DropdownComponent } from '../dropdown/dropdown.component';\n\n@Directive({\n selector: '[cDropdownItem]',\n exportAs: 'cDropdownItem',\n host: {\n class: 'dropdown-item',\n '[class]': 'hostClasses()',\n '[attr.tabindex]': 'tabIndex()',\n '[aria-current]': 'ariaCurrent()',\n '[aria-disabled]': 'disabled || null',\n '[attr.role]': 'role()',\n '(click)': 'onClick($event)',\n '(keyup)': 'onKeyUp($event)'\n }\n})\nexport class DropdownItemDirective implements FocusableOption {\n readonly #elementRef: ElementRef = inject(ElementRef);\n readonly #dropdownService = inject(DropdownService);\n dropdown? = inject(DropdownComponent, { optional: true });\n\n /**\n * Set active state to a dropdown-item.\n * @returns boolean\n * @default undefined\n */\n readonly active = input<boolean>();\n\n /**\n * Configure dropdown-item close dropdown behavior.\n * @returns boolean\n * @default true\n */\n readonly autoClose = input<boolean>(true);\n\n /**\n * Disables a dropdown-item.\n * @returns boolean\n * @default false\n */\n readonly disabledInput = input(false, { transform: booleanAttribute, alias: 'disabled' });\n\n readonly #disabled = linkedSignal(this.disabledInput);\n\n set disabled(value) {\n this.#disabled.set(value);\n }\n\n get disabled() {\n return this.#disabled();\n }\n\n /**\n * Default role for dropdown-item.\n * @returns string\n * @default 'list-item'\n */\n readonly role = input<string>('list-item');\n\n /**\n * Tab index of the dropdown-item.\n * @returns string | number | null\n * @default '0'\n */\n readonly tabIndexInput = input<string | number | null>('0', { alias: 'tabIndex' });\n\n readonly tabIndex = linkedSignal({\n source: this.tabIndexInput,\n computation: (value) => (this.disabled ? '-1' : value)\n });\n\n focus(origin?: FocusOrigin | undefined): void {\n this.#elementRef?.nativeElement?.focus();\n }\n\n getLabel?(): string {\n return this.#elementRef?.nativeElement?.textContent.trim();\n }\n\n readonly ariaCurrent = computed(() => {\n return this.active() ? 'true' : null;\n });\n\n readonly hostClasses = computed(() => {\n return {\n 'dropdown-item': true,\n active: this.active(),\n disabled: this.disabled\n } as Record<string, boolean>;\n });\n\n onClick($event: MouseEvent): void {\n this.handleInteraction();\n }\n\n onKeyUp($event: KeyboardEvent): void {\n if ($event.key === 'Enter') {\n this.handleInteraction();\n }\n }\n\n private handleInteraction(): void {\n if (this.autoClose()) {\n this.#dropdownService.toggle({ visible: 'toggle', dropdown: this.dropdown });\n }\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cDropdownItemPlain]',\n host: { class: 'dropdown-item-text' }\n})\nexport class DropdownItemPlainDirective {}\n","import { AfterViewInit, booleanAttribute, Directive, inject, input, linkedSignal } from '@angular/core';\nimport { DropdownService } from '../dropdown.service';\nimport { DropdownComponent } from '../dropdown/dropdown.component';\n\n@Directive({\n selector: '[cDropdownClose]',\n exportAs: 'cDropdownClose',\n host: {\n '[class.disabled]': 'disabled()',\n '[aria-disabled]': 'disabled() || null',\n '[attr.tabindex]': 'tabIndex()',\n '(click)': 'onClick($event)',\n '(keyup)': 'onKeyUp($event)'\n }\n})\nexport class DropdownCloseDirective implements AfterViewInit {\n #dropdownService = inject(DropdownService);\n dropdown? = inject(DropdownComponent, { optional: true });\n\n /**\n * Disables a dropdown-close directive.\n * @returns boolean\n * @default false\n */\n readonly disabledInput = input(false, { transform: booleanAttribute, alias: 'disabled' });\n\n readonly disabled = linkedSignal({\n source: this.disabledInput,\n computation: (value) => value || null\n });\n\n /**\n * The dropdown component instance this cDropdownClose belongs to.\n * @returns DropdownComponent\n */\n readonly dropdownComponent = input<DropdownComponent>();\n\n ngAfterViewInit(): void {\n const dropdownComponent = this.dropdownComponent();\n if (dropdownComponent) {\n this.dropdown = dropdownComponent;\n this.#dropdownService = dropdownComponent?.dropdownService;\n }\n }\n\n /**\n * Tab index of the dropdown-close element.\n * @returns string | number | null\n * @default null\n */\n readonly tabIndexInput = input<string | number | null>(null, { alias: 'tabIndex' });\n\n readonly tabIndex = linkedSignal({\n source: this.tabIndexInput,\n computation: (value) => (this.disabled() ? '-1' : value)\n });\n\n onClick($event: MouseEvent): void {\n this.handleToggle();\n }\n\n onKeyUp($event: KeyboardEvent): void {\n if ($event.key === 'Enter') {\n this.handleToggle();\n }\n }\n\n private handleToggle(): void {\n if (!this.disabled()) {\n this.#dropdownService.toggle({ visible: false, dropdown: this.dropdown });\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { DropdownComponent, DropdownToggleDirective } from './dropdown/dropdown.component';\nimport { DropdownDividerDirective } from './dropdown-divider/dropdown-divider.directive';\nimport { DropdownHeaderDirective } from './dropdown-header/dropdown-header.directive';\nimport { DropdownItemDirective } from './dropdown-item/dropdown-item.directive';\nimport { DropdownItemPlainDirective } from './dropdown-item/dropdown-item-plain.directive';\nimport { DropdownMenuDirective } from './dropdown-menu/dropdown-menu.directive';\nimport { DropdownService } from './dropdown.service';\nimport { DropdownCloseDirective } from './dropdown-close/dropdown-close.directive';\n\n@NgModule({\n imports: [\n DropdownComponent,\n DropdownCloseDirective,\n DropdownDividerDirective,\n DropdownHeaderDirective,\n DropdownItemDirective,\n DropdownItemPlainDirective,\n DropdownMenuDirective,\n DropdownToggleDirective\n ],\n exports: [\n DropdownComponent,\n DropdownCloseDirective,\n DropdownDividerDirective,\n DropdownHeaderDirective,\n DropdownItemDirective,\n DropdownItemPlainDirective,\n DropdownMenuDirective,\n DropdownToggleDirective\n ],\n providers: [DropdownService]\n})\nexport class DropdownModule {}\n","import { Component, computed, input, InputSignal } from '@angular/core';\n\nimport { Positions } from '../coreui.types';\n\n@Component({\n selector: 'c-footer, [cFooter]',\n template: '<ng-content />',\n host: {\n class: 'footer',\n '[class]': 'hostClasses()',\n '[attr.role]': 'role()'\n }\n})\nexport class FooterComponent {\n /**\n * Place footer in non-static positions\n * @returns Positions | undefined\n */\n readonly position = input<Positions | undefined>();\n\n /**\n * Default role for footer\n * @returns string\n * @default 'contentinfo'\n */\n readonly role = input<string>('contentinfo');\n\n readonly hostClasses = computed(() => {\n const position = this.position();\n return {\n footer: true,\n [`footer-${position}`]: !!position\n } as Record<string, boolean>;\n });\n}\n","import { NgModule } from '@angular/core';\n\nimport { FooterComponent } from './footer.component';\n\n@NgModule({\n imports: [FooterComponent],\n exports: [FooterComponent]\n})\nexport class FooterModule {}\n","import { booleanAttribute, Directive, input } from '@angular/core';\n\n@Directive({\n selector: 'form[cForm]',\n host: { '[class.was-validated]': 'validated()' }\n})\nexport class FormDirective {\n /**\n * Mark a form as validated. If you set it `true`, all validation styles will be applied to the form\n * @returns boolean\n * @default false\n */\n readonly validated = input(false, { transform: booleanAttribute });\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: 'label[cFormCheckLabel]',\n host: { class: 'form-check-label' }\n})\nexport class FormCheckLabelDirective {}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, Component, computed, contentChild, input } from '@angular/core';\nimport { FormCheckLabelDirective } from './form-check-label.directive';\n\n@Component({\n selector: 'c-form-check',\n template: '<ng-content />',\n exportAs: 'cFormCheck',\n host: { '[class]': 'hostClasses()' }\n})\nexport class FormCheckComponent {\n static ngAcceptInputType_inline: BooleanInput;\n static ngAcceptInputType_reverse: BooleanInput;\n static ngAcceptInputType_switch: BooleanInput;\n\n /**\n * Group checkboxes or radios on the same horizontal row.\n * @default false\n */\n readonly inline = input(false, { transform: booleanAttribute });\n\n /**\n * Put checkboxes or radios on the opposite side.\n * @default false\n * @since 4.4.7\n */\n readonly reverse = input(false, { transform: booleanAttribute });\n\n /**\n * Size the component large or extra large. Works only with `[switch]=\"true\"`\n * @default undefined\n */\n readonly sizing = input<'' | 'lg' | 'xl'>();\n\n /**\n * Render a toggle switch on for checkbox.\n * @returns boolean\n * @default false\n */\n readonly switch = input(false, { transform: booleanAttribute });\n\n readonly formCheckLabel = contentChild(FormCheckLabelDirective);\n\n readonly hostClasses = computed(() => {\n const sizing = this.sizing();\n const isSwitch = this.switch();\n\n return {\n 'form-check': !!this.formCheckLabel(),\n 'form-switch': isSwitch,\n [`form-switch-${sizing}`]: isSwitch && !!sizing,\n 'form-check-inline': this.inline(),\n 'form-check-reverse': this.reverse()\n } as Record<string, boolean>;\n });\n}\n","import { booleanAttribute, computed, Directive, ElementRef, inject, input, OnInit } from '@angular/core';\n\nimport { InputType } from '../../coreui.types';\n\n@Directive({\n selector: 'input[cFormControl], textarea[cFormControl]',\n host: {\n '[class]': 'hostClasses()',\n '[attr.type]': 'type()'\n }\n})\nexport class FormControlDirective implements OnInit {\n readonly #hostElement = inject(ElementRef);\n\n /**\n * Size the component small or large.\n * @default undefined\n */\n readonly sizing = input<'' | 'sm' | 'lg'>();\n\n /**\n * Set component validation state to valid.\n * @default undefined\n */\n readonly valid = input<boolean>();\n\n /**\n * Specifies the type of input element.\n */\n readonly type = input<Omit<InputType, 'checkbox' | 'radio'>>('text');\n\n /**\n * Render the component styled as plain text. Removes the default form field styling and preserve the correct margin and padding. Recommend to use alongside `readonly`\n * @default false\n */\n readonly plaintext = input(false, { transform: booleanAttribute });\n\n readonly hostClasses = computed(() => {\n const type = this.type();\n const isRange = type === 'range';\n const plaintext = this.plaintext();\n const sizing = this.sizing();\n const valid = this.valid();\n\n return {\n 'form-control': !isRange && !plaintext,\n 'form-control-plaintext': !isRange && plaintext,\n 'form-control-color': type === 'color',\n 'form-range': isRange,\n [`form-control-${sizing}`]: !!sizing && !isRange,\n 'is-valid': valid === true,\n 'is-invalid': valid === false\n } as Record<string, boolean>;\n });\n\n get hostTag(): string {\n return this.#hostElement.nativeElement.tagName;\n }\n\n ngOnInit(): void {\n const hostTag = this.hostTag.toLowerCase();\n if (hostTag !== 'input' && hostTag !== 'textarea') {\n console.warn(`CoreUI [cFormControl] works with '<input>' and '<textarea>' - not with '<${hostTag}>'`);\n }\n }\n}\n","import {\n booleanAttribute,\n computed,\n Directive,\n effect,\n ElementRef,\n inject,\n input,\n linkedSignal,\n Renderer2\n} from '@angular/core';\nimport { BooleanInput } from '@angular/cdk/coercion';\n\n@Directive({\n selector: 'input[cFormCheckInput]',\n host: {\n class: 'form-check-input',\n '[class]': 'hostClasses()',\n '[attr.type]': 'type()'\n }\n})\nexport class FormCheckInputDirective {\n static ngAcceptInputType_indeterminate: BooleanInput;\n\n readonly #renderer = inject(Renderer2);\n readonly #hostElement = inject(ElementRef);\n\n /**\n * Specifies the type of component.\n * @default 'checkbox'\n */\n readonly type = input<'checkbox' | 'radio'>('checkbox');\n\n /**\n * Set component indeterminate state.\n * @default false\n */\n readonly indeterminateInput = input(false, { transform: booleanAttribute, alias: 'indeterminate' });\n\n readonly #indeterminate = linkedSignal(this.indeterminateInput);\n\n readonly #indeterminateEffect = effect(() => {\n if (this.type() === 'checkbox') {\n const indeterminate = this.#indeterminate();\n const htmlInputElement = this.#hostElement.nativeElement as HTMLInputElement;\n if (indeterminate) {\n this.#renderer.setProperty(htmlInputElement, 'checked', false);\n }\n this.#renderer.setProperty(htmlInputElement, 'indeterminate', indeterminate);\n }\n });\n\n get indeterminate() {\n return this.#indeterminate();\n }\n\n /**\n * Set component validation state to valid.\n * @default undefined\n */\n readonly valid = input<boolean>();\n\n readonly hostClasses = computed(() => {\n const valid = this.valid();\n return {\n 'form-check-input': true,\n 'is-valid': valid === true,\n 'is-invalid': valid === false\n } as Record<string, boolean>;\n });\n\n get checked(): boolean {\n return this.#hostElement?.nativeElement?.checked;\n }\n}\n","import { booleanAttribute, Component, computed, input } from '@angular/core';\n\n@Component({\n selector: 'c-form-feedback',\n template: '<ng-content />',\n host: { '[class]': 'hostClasses()' }\n})\nexport class FormFeedbackComponent {\n /**\n * If your form layout allows it, you can display validation feedback in a styled tooltip.\n * @default false\n */\n readonly tooltip = input(false, { transform: booleanAttribute });\n\n /**\n * Set component validation state to valid.\n * @default undefined\n */\n readonly valid = input<boolean>();\n\n readonly hostClasses = computed(() => {\n const status = this.valid() === true ? 'valid' : 'invalid';\n const type = this.tooltip() ? 'tooltip' : 'feedback';\n return {\n [`${status}-${type}`]: true\n // 'valid-feedback': valid === true && !tooltip,\n // 'valid-tooltip': valid === true && tooltip,\n // 'invalid-feedback': valid !== true && !tooltip,\n // 'invalid-tooltip': valid !== true && tooltip\n } as Record<string, boolean>;\n });\n}\n","import { booleanAttribute, Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[cFormFloating]',\n host: { '[class.form-floating]': 'floating()' }\n})\nexport class FormFloatingDirective {\n /**\n * Enable floating labels\n * @returns boolean\n * @default true\n */\n readonly floating = input(true, { transform: booleanAttribute, alias: 'cFormFloating' });\n}\n","import { computed, Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[cLabel]',\n host: { class: 'form-label', '[class]': 'hostClasses()' }\n})\nexport class FormLabelDirective {\n /**\n * For horizontal forms set labels to 'col' and make them vertically centered with their associated form controls.\n * @default ''\n */\n readonly col = input<'col' | ''>('', { alias: 'cLabel' });\n /**\n * Size the label small or large.\n * @returns '' | 'sm' | 'lg'\n * @default undefined\n */\n readonly sizing = input<'' | 'sm' | 'lg'>();\n\n readonly hostClasses = computed(() => {\n const col = this.col();\n const sizing = this.sizing();\n return {\n 'form-label': true,\n 'col-form-label': col === 'col',\n [`col-form-label-${sizing}`]: !!sizing && col === 'col'\n } as Record<string, boolean>;\n });\n}\n","import { computed, Directive, input } from '@angular/core';\n\n@Directive({\n selector: 'select[cSelect]',\n host: { class: 'form-select', '[class]': 'hostClasses()' }\n})\nexport class FormSelectDirective {\n /**\n * Size the component small or large.\n * @default undefined\n */\n readonly sizing = input<'' | 'sm' | 'lg'>();\n\n /**\n * Set component validation state to valid.\n * @default undefined\n */\n readonly valid = input<boolean>();\n\n readonly hostClasses = computed(() => {\n const sizing = this.sizing();\n const valid = this.valid();\n return {\n 'form-select': true,\n [`form-select-${sizing}`]: !!sizing,\n 'is-valid': valid === true,\n 'is-invalid': valid === false\n } as Record<string, boolean>;\n });\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cFormText]',\n host: { class: 'form-text' }\n})\nexport class FormTextDirective {}\n","import { Component, computed, input } from '@angular/core';\n\n@Component({\n selector: 'c-input-group',\n template: '<ng-content />',\n host: { class: 'input-group', '[class]': 'hostClasses()' }\n})\nexport class InputGroupComponent {\n /**\n * Size the component small or large.\n */\n readonly sizing = input<'' | 'sm' | 'lg'>();\n\n readonly hostClasses = computed(() => {\n const sizing = this.sizing();\n return {\n 'input-group': true,\n [`input-group-${sizing}`]: !!sizing\n } as Record<string, boolean>;\n });\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cInputGroupText]',\n host: { class: 'input-group-text' }\n})\nexport class InputGroupTextDirective {}\n","import { NgModule } from '@angular/core';\nimport { FormDirective } from './form/form.directive';\nimport { FormControlDirective } from './form-control/form-control.directive';\nimport { FormCheckComponent } from './form-check/form-check.component';\nimport { FormCheckLabelDirective } from './form-check/form-check-label.directive';\nimport { FormCheckInputDirective } from './form-check/form-check-input.directive';\nimport { FormFeedbackComponent } from './form-feedback/form-feedback.component';\nimport { FormFloatingDirective } from './form-floating/form-floating.directive';\nimport { FormLabelDirective } from './form-label/form-label.directive';\nimport { FormSelectDirective } from './form-select/form-select.directive';\nimport { FormTextDirective } from './form-text/form-text.directive';\nimport { InputGroupComponent } from './input-group/input-group.component';\nimport { InputGroupTextDirective } from './input-group-text/input-group-text.directive';\n\n@NgModule({\n imports: [\n FormDirective,\n FormCheckComponent,\n FormCheckLabelDirective,\n FormCheckInputDirective,\n FormControlDirective,\n FormFeedbackComponent,\n FormFloatingDirective,\n FormLabelDirective,\n FormSelectDirective,\n FormTextDirective,\n InputGroupComponent,\n InputGroupTextDirective\n ],\n exports: [\n FormDirective,\n FormCheckComponent,\n FormCheckLabelDirective,\n FormCheckInputDirective,\n FormControlDirective,\n FormFeedbackComponent,\n FormFloatingDirective,\n FormLabelDirective,\n FormSelectDirective,\n FormTextDirective,\n InputGroupComponent,\n InputGroupTextDirective\n ]\n})\nexport class FormModule {}\n","import { booleanAttribute, Component, computed, input } from '@angular/core';\nimport { Breakpoints } from '../coreui.types';\n\n@Component({\n selector: 'c-container, [cContainer]',\n template: '<ng-content />',\n styleUrls: ['./container.component.scss'],\n host: { '[class]': 'hostClasses()' }\n})\nexport class ContainerComponent {\n /**\n * Set container 100% wide until a breakpoint.\n * @returns Exclude<Breakpoints, 'xs'>\n * @values 'sm' | 'md' | 'lg' | 'xl' | 'xxl'\n * @default ''\n */\n readonly breakpoint = input<Exclude<Breakpoints, 'xs'>>('');\n\n /**\n * Set container 100% wide, spanning the entire width of the viewport.\n * @returns boolean\n * @default false\n */\n readonly fluid = input(false, { transform: booleanAttribute });\n\n readonly hostClasses = computed(() => {\n const breakpoint = this.breakpoint();\n const fluid = this.fluid();\n return {\n container: !fluid && !breakpoint,\n 'container-fluid': !!fluid,\n [`container-${breakpoint}`]: !!breakpoint\n } as Record<string, boolean>;\n });\n}\n","import { booleanAttribute, computed, Directive, input, numberAttribute } from '@angular/core';\nimport { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport { BreakpointInfix } from '../coreui.types';\nimport { ColOrder } from './col.type';\n\nexport type ColOffsetType = number | { xs?: number; sm?: number; md?: number; lg?: number; xl?: number; xxl?: number };\nexport type ColOrderType =\n | ColOrder\n | { xs?: ColOrder; sm?: ColOrder; md?: ColOrder; lg?: ColOrder; xl?: ColOrder; xxl?: ColOrder };\n\n@Directive({\n selector: '[cCol]',\n host: {\n '[class]': 'hostClasses()'\n }\n})\nexport class ColDirective {\n static ngAcceptInputType_cCol: BooleanInput | NumberInput;\n static ngAcceptInputType_xs: BooleanInput | NumberInput;\n static ngAcceptInputType_sm: BooleanInput | NumberInput;\n static ngAcceptInputType_md: BooleanInput | NumberInput;\n static ngAcceptInputType_lg: BooleanInput | NumberInput;\n static ngAcceptInputType_xl: BooleanInput | NumberInput;\n static ngAcceptInputType_xxl: BooleanInput | NumberInput;\n\n /**\n * The number of columns/offset/order on extra small devices (<576px).\n * @returns 'auto' | number | boolean\n * @default false\n */\n readonly cCol = input(false, { transform: this.coerceInput });\n\n /**\n * The number of columns on extra small devices (<576px).\n * @returns { 'auto' | number | boolean }\n * @default false\n */\n readonly xs = input(false, { transform: this.coerceInput });\n\n /**\n * The number of columns/offset/order on small devices (<768px).\n * @returns 'auto' | number | boolean\n * @default false\n */\n readonly sm = input(false, { transform: this.coerceInput });\n\n /**\n * The number of columns/offset/order on medium devices (<992px).\n * @returns 'auto' | number | boolean\n * @default false\n */\n readonly md = input(false, { transform: this.coerceInput });\n\n /**\n * The number of columns/offset/order on large devices (<1200px).\n * @returns 'auto' | number | boolean\n * @default false\n */\n readonly lg = input(false, { transform: this.coerceInput });\n\n /**\n * The number of columns/offset/order on X-Large devices (<1400px).\n * @returns 'auto' | number | boolean\n * @default false\n */\n readonly xl = input(false, { transform: this.coerceInput });\n\n /**\n * The number of columns/offset/order on XX-Large devices (≥1400px).\n * @returns 'auto' | number | boolean\n * @default false\n */\n readonly xxl = input(false, { transform: this.coerceInput });\n\n readonly breakpoints = computed(() => {\n return {\n xs: this.xs() || this.cCol(),\n sm: this.sm(),\n md: this.md(),\n lg: this.lg(),\n xl: this.xl(),\n xxl: this.xxl()\n } as Record<string, any>;\n });\n\n /**\n * Offset grid columns.\n * @returns ColOffsetType\n */\n readonly offset = input<ColOffsetType>();\n\n /**\n * Controls the visual order of your columns. Includes support for `1` through `5` across all breakpoints.\n * @returns ColOrderType\n */\n readonly order = input<ColOrderType>();\n\n readonly hostClasses = computed(() => {\n const classes: Record<string, boolean> = {\n col: true\n };\n\n const breakpoints = this.breakpoints();\n const offsetInput = this.offset();\n const orderInput = this.order();\n\n Object.keys(BreakpointInfix).forEach((breakpoint) => {\n const value = breakpoints[breakpoint];\n const infix = breakpoint === 'xs' ? '' : `-${breakpoint}`;\n classes[`col${infix}`] = value === true;\n classes[`col${infix}-${value}`] = typeof value === 'number' || typeof value === 'string';\n });\n\n if (typeof offsetInput === 'object') {\n const offset = { ...offsetInput };\n Object.entries(offset).forEach((entry) => {\n const [breakpoint, value] = [...entry];\n const infix = breakpoint === 'xs' ? '' : `-${breakpoint}`;\n classes[`offset${infix}-${value}`] = value >= 0 && value <= 11;\n });\n } else {\n const offset = numberAttribute(offsetInput);\n classes[`offset-${offset}`] = typeof offset === 'number' && offset > 0 && offset <= 11;\n }\n\n if (typeof orderInput === 'object') {\n const order = { ...orderInput };\n Object.entries(order).forEach((entry) => {\n const [breakpoint, value] = [...entry];\n const infix = breakpoint === 'xs' ? '' : `-${breakpoint}`;\n classes[`order${infix}-${value}`] = !!value;\n });\n } else {\n const order = orderInput;\n classes[`order-${order}`] = !!order;\n }\n\n // if there is no 'col' class, add one\n classes['col'] =\n !Object.entries(classes).filter((i) => i[0].startsWith('col-') && i[1]).length || breakpoints['xs'] === true;\n return classes as Record<string, boolean>;\n });\n\n coerceInput(value: BooleanInput | NumberInput) {\n if (value === 'auto') {\n return value;\n }\n if (value === '' || value === undefined || value === null) {\n return booleanAttribute(value);\n }\n if (typeof value === 'boolean') {\n return value;\n }\n return numberAttribute(value);\n }\n}\n","import { Component } from '@angular/core';\n\nimport { ColDirective } from './col.directive';\n\n@Component({\n selector: 'c-col',\n template: '<ng-content />',\n styleUrls: ['./col.component.scss']\n})\nexport class ColComponent extends ColDirective {}\n","import { computed, Directive, input } from '@angular/core';\n\nimport { BreakpointInfix } from '../coreui.types';\nimport { NumberOfColumns } from './row.type';\n\n@Directive({\n selector: '[cRow]',\n host: {\n class: 'row',\n '[class]': 'hostClasses()'\n }\n})\nexport class RowDirective {\n /**\n * The number of columns/offset/order on extra small devices (<576px).\n * @returns NumberOfColumns\n */\n readonly xs = input<NumberOfColumns>();\n\n /**\n * The number of columns/offset/order on small devices (<768px).\n * @returns NumberOfColumns\n */\n readonly sm = input<NumberOfColumns>();\n\n /**\n * The number of columns/offset/order on medium devices (<992px).\n * @returns NumberOfColumns\n */\n readonly md = input<NumberOfColumns>();\n\n /**\n * The number of columns/offset/order on large devices (<1200px).\n * @returns NumberOfColumns\n */\n readonly lg = input<NumberOfColumns>();\n\n /**\n * The number of columns/offset/order on X-Large devices (<1400px).\n * @returns NumberOfColumns\n */\n readonly xl = input<NumberOfColumns>();\n\n /**\n * The number of columns/offset/order on XX-Large devices (≥1400px).\n * @returns NumberOfColumns\n */\n readonly xxl = input<NumberOfColumns>();\n\n readonly hostClasses = computed(() => {\n const cols = this.xs();\n\n const classes: Record<string, boolean> = {\n row: true,\n [`row-cols-${cols}`]: !!cols\n };\n\n Object.keys(BreakpointInfix).forEach((breakpoint) => {\n // @ts-ignore\n const value: any = this[breakpoint]();\n if (typeof value === 'number' || typeof value === 'string') {\n const infix: string = breakpoint === 'xs' ? '' : `-${breakpoint}`;\n classes[`row-cols${infix}-${value}`] = !!value;\n }\n });\n\n return classes;\n });\n}\n","import { Component } from '@angular/core';\n\nimport { RowDirective } from './row.directive';\n\n@Component({\n selector: 'c-row',\n template: '<ng-content />'\n})\nexport class RowComponent extends RowDirective {}\n","import { computed, Directive, input } from '@angular/core';\n\nimport { BreakpointInfix } from '../coreui.types';\nimport { GutterBreakpoints, Gutters, IGutter, IGutterObject } from './gutter.type';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[gutter]',\n exportAs: 'gutter',\n host: {\n '[class]': 'hostClasses()'\n }\n})\nexport class GutterDirective implements IGutter {\n /**\n * Define padding between columns to space and align content responsively in the Bootstrap grid system.\n */\n readonly gutter = input<IGutterObject | GutterBreakpoints | Gutters>({});\n\n readonly hostClasses = computed(() => {\n let gutterClass: Record<string, boolean>;\n const gutterInput = this.gutter();\n\n if (typeof gutterInput === 'number') {\n gutterClass = GutterDirective.getGutterClasses({ g: gutterInput });\n return gutterClass;\n }\n\n {\n const { g, gx, gy } = { ...(gutterInput as IGutterObject) };\n gutterClass = GutterDirective.getGutterClasses({ g, gx, gy });\n }\n\n Object.keys(BreakpointInfix).forEach((key) => {\n // @ts-ignore\n const gutter: IGutterObject = gutterInput[key] ? { ...gutterInput[key] } : undefined;\n if (gutter) {\n const classes = GutterDirective.getGutterClasses(gutter, key);\n gutterClass = { ...gutterClass, ...classes };\n }\n });\n return gutterClass;\n });\n\n private static getGutterClasses(gutter: IGutterObject, breakpoint?: string): any {\n const { g, gx, gy } = { ...gutter };\n const infix = breakpoint ? `-${breakpoint}` : '';\n return {\n [`g${infix}-${g}`]: typeof g === 'number',\n [`gx${infix}-${gx}`]: typeof gx === 'number',\n [`gy${infix}-${gy}`]: typeof gy === 'number'\n };\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { ContainerComponent } from './container.component';\nimport { RowComponent } from './row.component';\nimport { ColComponent } from './col.component';\nimport { RowDirective } from './row.directive';\nimport { ColDirective } from './col.directive';\nimport { GutterDirective } from './gutter.directive';\n\n@NgModule({\n imports: [\n ColComponent,\n ColDirective,\n ContainerComponent,\n GutterDirective,\n RowComponent,\n RowDirective\n ],\n exports: [\n ColComponent,\n ColDirective,\n ContainerComponent,\n GutterDirective,\n RowComponent,\n RowDirective\n ]\n})\nexport class GridModule {}\n","import { Component, computed, input, InputSignal } from '@angular/core';\n\nimport { Positions } from '../../coreui.types';\n\ntype Container = boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'fluid';\n\n@Component({\n selector: 'c-header, [c-header]',\n templateUrl: './header.component.html',\n exportAs: 'cHeader',\n host: { '[attr.role]': 'role()', '[class]': 'hostClasses()' }\n})\nexport class HeaderComponent {\n /**\n * Defines optional container wrapping children elements\n * @returns Container\n */\n readonly container = input<Container>();\n /**\n * Place header in non-static positions\n * @returns Positions\n */\n readonly position = input<Positions>();\n /**\n * Default role for header\n * @returns string\n * @default 'banner'\n */\n readonly role = input('banner');\n\n readonly hostClasses = computed(() => {\n return !!this.container() ? this.containerClasses() : this.headerClasses();\n });\n\n readonly headerClasses = computed(() => {\n const position = this.position();\n return {\n header: true,\n [`header-${position}`]: !!position\n } as Record<string, boolean>;\n });\n\n readonly containerClasses = computed(() => {\n const container = this.container();\n return {\n container: container === true,\n [`container-${container}`]: typeof container === 'string'\n } as Record<string, boolean>;\n });\n}\n","@if (!!container()) {\n <div [class]=\"headerClasses()\">\n <ng-content />\n </div>\n} @else {\n <ng-content />\n}\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'c-header-brand',\n template: '<ng-content />',\n exportAs: 'cHeaderBrand',\n host: {\n '[attr.role]': 'role()',\n class: 'header-brand'\n }\n})\nexport class HeaderBrandComponent {\n /**\n * Default role for header-brand\n * @returns string\n * @default 'button'\n */\n readonly role = input('button');\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-header-divider, [cHeaderDivider]',\n template: ``,\n host: {\n class: 'header-divider'\n }\n})\nexport class HeaderDividerComponent {}\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'c-header-nav',\n template: '<ng-content />',\n styleUrls: ['./header-nav.component.scss'],\n exportAs: 'cHeaderNav',\n host: {\n '[attr.role]': 'role()',\n class: 'header-nav'\n }\n})\nexport class HeaderNavComponent {\n /**\n * Default role for header-nav\n * @returns string\n * @default 'navigation'\n */\n readonly role = input('navigation');\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-header-text, [cHeaderText]',\n template: '<ng-content />',\n host: {\n class: 'header-text'\n }\n})\nexport class HeaderTextComponent {}\n","import { AfterContentInit, Directive, ElementRef, inject, input, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[cHeaderToggler]',\n exportAs: 'cHeaderToggler',\n host: {\n '[attr.type]': 'type()',\n '[aria-label]': 'ariaLabel()',\n class: 'header-toggler'\n }\n})\nexport class HeaderTogglerDirective implements AfterContentInit {\n readonly #renderer = inject(Renderer2);\n readonly #hostElement = inject(ElementRef);\n\n /**\n * Default type for header-toggler button\n * @returns string\n * @default 'button'\n */\n readonly type = input('button');\n\n /**\n * Default aria-label attr for header-toggler\n * @returns string\n * @default 'Toggle navigation'\n */\n readonly ariaLabel = input('Toggle navigation');\n\n addDefaultIcon(): void {\n const span = this.#renderer.createElement('span');\n this.#renderer.addClass(span, 'header-toggler-icon');\n this.#renderer.appendChild(this.#hostElement.nativeElement, span);\n }\n\n ngAfterContentInit(): void {\n const hasContent = this.#hostElement.nativeElement.childNodes.length > 0;\n if (!hasContent) {\n this.addDefaultIcon();\n }\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { HeaderComponent } from './header/header.component';\nimport { HeaderBrandComponent } from './header-brand/header-brand.component';\nimport { HeaderDividerComponent } from './header-divider/header-divider.component';\nimport { HeaderNavComponent } from './header-nav/header-nav.component';\nimport { HeaderTextComponent } from './header-text/header-text.component';\nimport { HeaderTogglerDirective } from './header-toggler/header-toggler.directive';\n\n@NgModule({\n imports: [\n HeaderComponent,\n HeaderBrandComponent,\n HeaderDividerComponent,\n HeaderNavComponent,\n HeaderTextComponent,\n HeaderTogglerDirective\n ],\n exports: [\n HeaderComponent,\n HeaderBrandComponent,\n HeaderDividerComponent,\n HeaderNavComponent,\n HeaderTextComponent,\n HeaderTogglerDirective\n ]\n})\nexport class HeaderModule {}\n","import { booleanAttribute, computed, Directive, input, InputSignal, InputSignalWithTransform } from '@angular/core';\n\n@Directive({\n selector: '[cImg]',\n host: {\n '[class]': 'hostClasses()',\n '[style]': 'hostStyles()'\n }\n})\nexport class ImgDirective {\n /**\n * Set the horizontal aligment.\n * @returns {'' | 'start' | 'end' | 'center'}\n */\n readonly align: InputSignal<'' | 'start' | 'end' | 'center'> = input<'' | 'start' | 'end' | 'center'>('');\n\n /**\n * Make image responsive.\n * @returns boolean\n */\n readonly fluid: InputSignalWithTransform<boolean, unknown> = input(false, { transform: booleanAttribute });\n\n /**\n * Make image rounded.\n * @returns boolean\n */\n readonly rounded: InputSignalWithTransform<boolean, unknown> = input(false, { transform: booleanAttribute });\n\n /**\n * Give an image a rounded 1px border appearance.\n * @returns boolean\n */\n readonly thumbnail: InputSignalWithTransform<boolean, unknown> = input(false, { transform: booleanAttribute });\n\n /**\n * Color for image placeholder.\n */\n readonly placeholderColor = input('transparent');\n\n readonly hostStyles = computed(() => {\n return { backgroundColor: this.placeholderColor() };\n });\n\n readonly hostClasses = computed(() => {\n const align = this.align();\n return {\n [`float-${align}`]: align === 'start' || align === 'end',\n 'd-block': align === 'center',\n 'mx-auto': align === 'center',\n 'img-fluid': this.fluid(),\n rounded: this.rounded(),\n 'img-thumbnail': this.thumbnail()\n } as Record<string, boolean>;\n });\n}\n","import { NgModule } from '@angular/core';\nimport { ImgDirective } from './img.directive';\n\n@NgModule({\n imports: [ImgDirective],\n exports: [ImgDirective]\n})\nexport class ImgModule {}\n","import { booleanAttribute, computed, Directive, input, InputSignalWithTransform } from '@angular/core';\nimport { BooleanInput, Sizes } from '../coreui.types';\n\n@Directive({\n selector: '[cListGroup]',\n host: {\n class: 'list-group',\n '[class]': 'hostClasses()'\n }\n})\nexport class ListGroupDirective {\n static ngAcceptInputType_flush: BooleanInput;\n\n /**\n * Remove some borders and rounded corners to render list group items edge-to-edge in a parent component (e.g., `<CCard>`).\n * @returns boolean\n */\n readonly flush: InputSignalWithTransform<boolean, unknown> = input(false, { transform: booleanAttribute });\n\n /**\n * Specify horizontal layout type.\n */\n readonly horizontal = input<boolean | Sizes>();\n\n readonly hostClasses = computed(() => {\n const horizontal = this.horizontal();\n return {\n 'list-group': true,\n 'list-group-horizontal': horizontal === true || horizontal === '',\n [`list-group-horizontal-${horizontal}`]: !!horizontal && typeof horizontal !== 'boolean',\n 'list-group-flush': this.flush()\n } as Record<string, boolean>;\n });\n}\n","import {\n booleanAttribute,\n computed,\n Directive,\n ElementRef,\n inject,\n input,\n InputSignal,\n InputSignalWithTransform,\n numberAttribute\n} from '@angular/core';\nimport { BooleanInput, Colors } from '../coreui.types';\n\n@Directive({\n selector: '[cListGroupItem], c-list-group-item',\n exportAs: 'cListGroupItem',\n host: {\n '[class]': 'hostClasses()',\n '[aria-disabled]': 'ariaDisabled()',\n '[aria-current]': 'ariaCurrent()',\n '[attr.disabled]': 'attrDisabled()',\n '[attr.tabindex]': 'tabIndex()'\n }\n})\nexport class ListGroupItemDirective {\n static ngAcceptInputType_active: BooleanInput;\n static ngAcceptInputType_disabled: BooleanInput;\n\n readonly hostElement = inject(ElementRef);\n\n /**\n * Toggle the active state for the component.\n * @returns boolean\n */\n readonly active = input(false, { transform: booleanAttribute });\n\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors | undefined\n */\n readonly color = input<Colors | undefined>();\n\n /**\n * Set disabled attr for the host element\n * @returns boolean\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n /**\n * The tabindex attribute specifies the tab order of an element (when the \"tab\" button is used for navigating).\n * @returns number | undefined\n */\n readonly tabindex = input(undefined, { transform: numberAttribute });\n\n readonly hostClasses = computed(() => {\n const host: HTMLElement = this.hostElement.nativeElement;\n const color = this.color();\n\n return {\n 'list-group-item': true,\n 'list-group-item-action': host.nodeName === 'A' || host.nodeName === 'BUTTON',\n active: this.active(),\n disabled: this._disabled(),\n [`list-group-item-${color}`]: !!color\n } as Record<string, boolean>;\n });\n\n readonly _disabled = computed(() => this.disabled());\n\n readonly ariaDisabled = computed(() => {\n return this._disabled() ? true : null;\n });\n\n readonly attrDisabled = computed(() => {\n return this._disabled() ? '' : null;\n });\n\n readonly tabIndex = computed(() => {\n const tabindex = this.tabindex();\n return this._disabled() ? '-1' : Number.isNaN(tabindex) ? null : (tabindex ?? null);\n });\n\n readonly ariaCurrent = computed(() => {\n return this.active() || null;\n });\n}\n","import { NgModule } from '@angular/core';\n\nimport { ListGroupDirective } from './list-group.directive';\nimport { ListGroupItemDirective } from './list-group-item.directive';\n\n@NgModule({\n exports: [ListGroupDirective, ListGroupItemDirective],\n imports: [ListGroupDirective, ListGroupItemDirective]\n})\nexport class ListGroupModule {}\n","import { Injectable, signal } from '@angular/core';\n\n@Injectable()\nexport class NavGroupService {\n /**\n * Id of the open group at this level, `undefined` when none is open.\n */\n readonly activeId = signal<string | undefined>(undefined);\n\n /**\n * Whether an active nav link opens the branch it sits in. Inherited by nested levels.\n */\n readonly openOnActive = signal(true);\n\n /**\n * Opens the level owner within its own parent and cascades up to the root.\n * Replaced by the owning `c-nav-group`; stays a no-op for the root level.\n */\n openBranch: () => void = () => undefined;\n\n setActiveId(id: string | undefined): void {\n this.activeId.set(id);\n }\n}\n","import {\n afterNextRender,\n booleanAttribute,\n computed,\n Directive,\n effect,\n ElementRef,\n inject,\n input,\n numberAttribute,\n OnDestroy,\n signal,\n untracked\n} from '@angular/core';\nimport { BooleanInput } from '../coreui.types';\nimport { NavGroupService } from './nav-group.service';\n\nconst DISABLED_ATTR_ELEMENTS = new Set(['button', 'fieldset', 'input', 'optgroup', 'option', 'select', 'textarea']);\n\n@Directive({\n selector: '[cNavLink]',\n host: {\n '[class]': 'hostClasses()',\n '[aria-current]': 'ariaCurrent()',\n '[aria-disabled]': 'ariaDisabled()',\n '[attr.disabled]': 'attrDisabled()',\n '[attr.tabindex]': 'attrTabindex()'\n }\n})\nexport class NavLinkDirective implements OnDestroy {\n static ngAcceptInputType_disabled: BooleanInput;\n\n readonly #hostElement = inject(ElementRef);\n readonly #navGroupService = inject(NavGroupService, { optional: true });\n\n #classObserver?: MutationObserver;\n\n constructor() {\n afterNextRender({\n read: () => {\n this.#observeActiveClass();\n }\n });\n }\n\n /**\n * Sets .nav-link class to the host\n * @returns boolean\n * @default true\n */\n readonly cNavLink = input(true, { transform: booleanAttribute });\n\n /**\n * Toggle the active state for the component\n * @returns boolean\n * @default undefined\n */\n readonly active = input<boolean>();\n\n /**\n * Set disabled attr for the host element\n * @returns boolean\n * @default false\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n /**\n * The tabindex attribute specifies the tab order of an element (when the \"tab\" button is used for navigating).\n * @returns number | undefined\n */\n readonly tabindex = input(undefined, { transform: numberAttribute });\n\n readonly ariaCurrent = computed(() => {\n return this.active() ? 'page' : null;\n });\n\n protected ariaDisabled = signal<boolean | null>(null);\n protected attrDisabled = signal<boolean | string | null>(null);\n protected attrTabindex = signal<number | null>(null);\n\n readonly #disabledEffect = effect(() => {\n const disabled = this.disabled();\n const tabindex = this.tabindex();\n const disabledAttrElement = DISABLED_ATTR_ELEMENTS.has(this.#tagName);\n this.ariaDisabled.set((disabled && !disabledAttrElement) || null);\n this.attrDisabled.set(disabled && disabledAttrElement ? '' : null);\n this.attrTabindex.set(disabled && !disabledAttrElement ? -1 : Number.isNaN(tabindex) ? null : (tabindex ?? null));\n });\n\n readonly #activeEffect = effect(() => {\n if (this.active()) {\n untracked(() => {\n this.#openBranch();\n });\n }\n });\n\n readonly hostClasses = computed(() => {\n return {\n 'nav-link': this.cNavLink(),\n disabled: this.disabled(),\n active: this.active()\n } as Record<string, boolean>;\n });\n\n get #tagName(): string {\n return (this.#hostElement.nativeElement as HTMLElement).tagName.toLowerCase();\n }\n\n ngOnDestroy(): void {\n this.#classObserver?.disconnect();\n }\n\n #openBranch(): void {\n if (this.#navGroupService?.openOnActive()) {\n this.#navGroupService.openBranch();\n }\n }\n\n #observeActiveClass(): void {\n const host: HTMLElement = this.#hostElement.nativeElement;\n\n if (!this.#navGroupService) {\n return;\n }\n\n let wasActive = host.classList.contains('active');\n if (wasActive) {\n this.#openBranch();\n }\n\n this.#classObserver = new MutationObserver(() => {\n const active = host.classList.contains('active');\n if (active && !wasActive) {\n this.#openBranch();\n }\n wasActive = active;\n });\n this.#classObserver.observe(host, { attributes: true, attributeFilter: ['class'] });\n }\n}\n","import { booleanAttribute, Component, computed, input } from '@angular/core';\nimport { BooleanInput } from '../coreui.types';\n\n@Component({\n selector: 'c-nav-group-items',\n template: '<ng-content />',\n styleUrls: ['./nav-group-items.component.scss'],\n host: { '[class]': 'hostClasses()' }\n})\nexport class NavGroupItemsComponent {\n static ngAcceptInputType_compact: BooleanInput;\n\n /**\n * Make nav group items more compact by cutting all `padding` in half.\n * @returns boolean\n * @default false\n */\n readonly compact = input(false, { transform: booleanAttribute });\n\n readonly hostClasses = computed(() => {\n return {\n 'nav-group-items': true,\n compact: this.compact()\n } as Record<string, boolean>;\n });\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n Component,\n computed,\n effect,\n inject,\n input,\n linkedSignal,\n output,\n signal,\n TemplateRef,\n untracked\n} from '@angular/core';\n\nimport { CollapseDirective } from '../collapse';\nimport { BooleanInput } from '../coreui.types';\nimport { NavGroupItemsComponent } from './nav-group-items.component';\nimport { NavGroupService } from './nav-group.service';\n\nlet nextId = 0;\n\n@Component({\n selector: 'c-nav-group',\n templateUrl: './nav-group.component.html',\n styleUrls: ['./nav-group.component.scss'],\n imports: [CollapseDirective, NavGroupItemsComponent, NgTemplateOutlet],\n providers: [NavGroupService],\n host: { '[class]': 'hostClasses()' }\n})\nexport class NavGroupComponent {\n static ngAcceptInputType_compact: BooleanInput;\n static ngAcceptInputType_visible: BooleanInput;\n\n readonly #navGroupService = inject(NavGroupService);\n readonly #parentNavGroupService = inject(NavGroupService, { optional: true, skipSelf: true });\n\n readonly #id = `nav-group-${nextId++}`;\n\n constructor() {\n this.#navGroupService.openBranch = () => {\n this.openBranch();\n };\n }\n\n /**\n * Make nav group items more compact by cutting all `padding` in half.\n * @returns boolean\n * @default false\n */\n readonly compact = input(false, { transform: booleanAttribute });\n\n /**\n * Set group toggler label.\n * @returns string\n */\n readonly toggler = input<string>();\n\n /**\n * Template for the group toggler content, receives the visible state as `$implicit`.\n * @returns TemplateRef<{ $implicit: boolean; visible: boolean }>\n */\n readonly togglerTemplate = input<TemplateRef<{ $implicit: boolean; visible: boolean }>>();\n\n /**\n * Show nav group items. Sets the initial state, and follows every later change.\n * @returns boolean | undefined\n */\n readonly visible = input<boolean | undefined, unknown>(undefined, { transform: booleanAttribute });\n\n /**\n * Event emitted on visibility change.\n * @returns boolean\n */\n readonly visibleChange = output<boolean>();\n\n readonly #uncontrolledVisible = signal(false);\n\n readonly visibleState = computed(() => {\n const parent = this.#parentNavGroupService;\n return parent ? parent.activeId() === this.#id : this.#uncontrolledVisible();\n });\n\n // the group drops `show` in the same pass, hiding the items before cCollapse can measure them\n readonly display = linkedSignal<boolean, string | null>({\n source: this.visibleState,\n computation: (visible, previous) => (previous?.source && !visible ? 'block' : null)\n });\n\n readonly hostClasses = computed(() => {\n return {\n 'nav-group': true,\n show: this.visibleState()\n } as Record<string, boolean>;\n });\n\n readonly #visibleEffect = effect(() => {\n const visible = this.visible();\n if (visible === undefined) {\n return;\n }\n untracked(() => {\n this.#setVisible(visible);\n });\n });\n\n readonly #openOnActiveEffect = effect(() => {\n const openOnActive = this.#parentNavGroupService?.openOnActive() ?? true;\n untracked(() => {\n this.#navGroupService.openOnActive.set(openOnActive);\n });\n });\n\n toggleGroup(event: Event): void {\n event.preventDefault();\n const next = !this.visibleState();\n this.#setVisible(next);\n this.visibleChange.emit(next);\n }\n\n openBranch(): void {\n const parent = this.#parentNavGroupService;\n if (!parent) {\n this.#uncontrolledVisible.set(true);\n return;\n }\n parent.setActiveId(this.#id);\n parent.openBranch();\n }\n\n onCollapseChange(state: string): void {\n this.display.set(state === 'collapsed' || state === 'open' ? null : 'block');\n }\n\n #setVisible(visible: boolean): void {\n const parent = this.#parentNavGroupService;\n if (!parent) {\n this.#uncontrolledVisible.set(visible);\n return;\n }\n if (visible) {\n parent.setActiveId(this.#id);\n return;\n }\n if (parent.activeId() === this.#id) {\n parent.setActiveId(undefined);\n }\n }\n}\n","@if (toggler() || togglerTemplate()) {\n <a\n (click)=\"toggleGroup($event)\"\n [aria-expanded]=\"visibleState()\"\n class=\"nav-link nav-group-toggle\"\n href\n >\n @if (togglerTemplate(); as template) {\n <ng-container\n *ngTemplateOutlet=\"template; context: { $implicit: visibleState(), visible: visibleState() }\"\n />\n } @else {\n {{ toggler() }}\n }\n </a>\n}\n<c-nav-group-items\n (collapseChange)=\"onCollapseChange($event)\"\n [compact]=\"compact()\"\n [style.display]=\"display()\"\n [visible]=\"visibleState()\"\n cCollapse\n>\n <ng-content />\n</c-nav-group-items>\n","import { booleanAttribute, Component, input, numberAttribute } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\n\nimport { BooleanInput, NumberInput } from '../coreui.types';\nimport { NavLinkDirective } from './nav-link.directive';\n\n@Component({\n selector: 'c-nav-item',\n templateUrl: './nav-item.component.html',\n styleUrls: ['./nav-item.component.scss'],\n imports: [NavLinkDirective, NgTemplateOutlet],\n host: { class: 'nav-item' }\n})\nexport class NavItemComponent {\n static ngAcceptInputType_active: BooleanInput;\n static ngAcceptInputType_disabled: BooleanInput;\n static ngAcceptInputType_tabindex: NumberInput;\n\n /**\n * Toggle the active state for the nav link rendered for `href`.\n * @returns boolean | undefined\n * @default undefined\n */\n readonly active = input<boolean | undefined, unknown>(undefined, { transform: booleanAttribute });\n\n /**\n * Set disabled attr for the nav link rendered for `href`.\n * @returns boolean\n * @default false\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n /**\n * The href attribute of the nav link. Set it to render the nav link, otherwise the item projects its content as is.\n * @returns string\n */\n readonly href = input<string>();\n\n /**\n * The tabindex attribute of the nav link rendered for `href`.\n * @returns number | undefined\n */\n readonly tabindex = input(undefined, { transform: numberAttribute });\n}\n","@if (href()) {\n <a\n [active]=\"active()\"\n [attr.href]=\"href()\"\n [disabled]=\"disabled()\"\n [tabindex]=\"tabindex()\"\n cNavLink\n >\n <ng-container *ngTemplateOutlet=\"content\" />\n </a>\n} @else {\n <ng-container *ngTemplateOutlet=\"content\" />\n}\n\n<ng-template #content>\n <ng-content />\n</ng-template>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-nav-title',\n template: '<ng-content />',\n styleUrls: ['./nav-title.component.scss'],\n host: { class: 'nav-title' }\n})\nexport class NavTitleComponent {}\n","import { Component, computed, input } from '@angular/core';\n\n@Component({\n selector: 'c-nav',\n template: '<ng-content />',\n styleUrls: ['./nav.component.scss'],\n host: { class: 'nav', '[class]': 'hostClasses()', '[attr.role]': 'role()' }\n})\nexport class NavComponent {\n /**\n * Specify a layout type for component.\n * @default undefined\n */\n readonly layout = input<'fill' | 'justified'>();\n\n /**\n * Default role for nav.\n * @returns string\n * @default 'navigation'\n */\n readonly role = input('navigation');\n\n /**\n * Set the nav variant to tabs or pills.\n * @default undefined\n */\n readonly variant = input<'enclosed' | 'enclosed-pills' | 'pills' | 'tabs' | 'underline' | 'underline-border'>();\n\n readonly hostClasses = computed(() => {\n const layout = this.layout();\n const variant = this.variant();\n return {\n nav: true,\n [`nav-${layout}`]: !!layout,\n 'nav-enclosed': variant === 'enclosed' || variant === 'enclosed-pills',\n [`nav-${variant}`]: !!variant\n } as Record<string, boolean>;\n });\n}\n","import { NgModule } from '@angular/core';\nimport { NavComponent } from './nav.component';\nimport { NavGroupComponent } from './nav-group.component';\nimport { NavGroupItemsComponent } from './nav-group-items.component';\nimport { NavItemComponent } from './nav-item.component';\nimport { NavLinkDirective } from './nav-link.directive';\nimport { NavTitleComponent } from './nav-title.component';\n\n@NgModule({\n imports: [\n NavComponent,\n NavGroupComponent,\n NavGroupItemsComponent,\n NavItemComponent,\n NavLinkDirective,\n NavTitleComponent\n ],\n exports: [\n NavComponent,\n NavGroupComponent,\n NavGroupItemsComponent,\n NavItemComponent,\n NavLinkDirective,\n NavTitleComponent\n ]\n})\nexport class NavModule {}\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n afterEveryRender,\n Component,\n computed,\n contentChild,\n DOCUMENT,\n effect,\n ElementRef,\n inject,\n input,\n signal\n} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\n\nimport { CollapseDirective } from '../collapse';\nimport { Colors } from '../coreui.types';\nimport { ThemeDirective } from '../shared';\n\n// todo: fix container prop issue not rendering children\n// todo: workaround - use <c-container> component directly in template\n\n@Component({\n selector: 'c-navbar',\n templateUrl: './navbar.component.html',\n imports: [NgTemplateOutlet],\n hostDirectives: [{ directive: ThemeDirective, inputs: ['colorScheme'] }],\n host: { '[class]': 'hostClasses()', '[attr.role]': 'role()' }\n})\nexport class NavbarComponent {\n readonly #breakpointObserver = inject(BreakpointObserver);\n readonly #document = inject(DOCUMENT);\n readonly #hostElement = inject(ElementRef);\n\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly color = input<Colors>();\n\n /**\n * Defines optional container wrapping children elements.\n */\n readonly container = input<boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'fluid'>();\n\n /**\n * Defines the responsive breakpoint to determine when content collapses.\n */\n readonly expand = input<boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'>();\n\n /**\n * Place component in non-static positions.\n */\n readonly placement = input<'fixed-top' | 'fixed-bottom' | 'sticky-top'>();\n\n /**\n * HTML element role.\n * @returns string\n */\n readonly role = input('navigation');\n\n readonly collapse = contentChild(CollapseDirective);\n\n readonly hostClasses = computed(() => {\n const color = this.color();\n const expand = this.expand();\n const expandClassSuffix: string = expand === true ? '' : `-${expand}`;\n const placement = this.placement();\n return {\n navbar: true,\n [`navbar-expand${expandClassSuffix}`]: !!expand,\n [`bg-${color}`]: !!color,\n [`${placement}`]: !!placement\n } as Record<string, boolean>;\n });\n\n readonly containerClass = computed(() => {\n const container = this.container();\n return `container${container !== true ? '-' + container : ''}`;\n });\n\n readonly computedStyle = signal<string>('');\n\n readonly #afterEveryRenderFn = afterEveryRender({\n read: () => {\n const expand = this.expand();\n if (typeof expand === 'string') {\n const computedStyle =\n this.#document.defaultView\n ?.getComputedStyle(this.#hostElement.nativeElement)\n ?.getPropertyValue(`--cui-breakpoint-${expand}`) ?? false;\n computedStyle && this.computedStyle.set(computedStyle);\n }\n }\n });\n\n readonly breakpoint = computed(() => {\n const expand = this.expand();\n if (typeof expand === 'string') {\n return this.computedStyle();\n }\n return false;\n });\n\n readonly #breakpointEffect = effect((onCleanup) => {\n const breakpoint = this.breakpoint();\n if (!breakpoint) {\n return;\n }\n\n const subscription = this.#breakpointObserver.observe([`(min-width: ${breakpoint})`]).subscribe((result) => {\n const collapse = this.collapse();\n if (!collapse) {\n return;\n }\n collapse.animate.set(false);\n collapse.toggle(false);\n setTimeout(() => {\n collapse.toggle(result.matches);\n setTimeout(() => collapse.animate.set(collapse.animateInput()));\n });\n });\n\n onCleanup(() => subscription.unsubscribe());\n });\n}\n","<ng-container *ngTemplateOutlet=\"container() ? withContainerTemplate : noContainerTemplate\" />\n\n<ng-template #withContainerTemplate>\n <div [class]=\"containerClass()\">\n <ng-content />\n </div>\n</ng-template>\n\n<ng-template #noContainerTemplate>\n <ng-content />\n</ng-template>\n","import { Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[cNavbarBrand]',\n host: { class: 'navbar-brand', '[attr.role]': 'role()' }\n})\nexport class NavbarBrandDirective {\n /**\n * Default role for navbar-brand.\n * @returns string\n * @default 'button'\n */\n readonly role = input('button');\n}\n","import { booleanAttribute, Component, computed, input } from '@angular/core';\n\n@Component({\n selector: 'c-navbar-nav',\n template: '<ng-content />',\n host: { '[class]': 'hostClasses()' }\n})\nexport class NavbarNavComponent {\n /**\n * Enable vertical scrolling of a collapsed navbar toggleable contents.\n * @returns boolean\n */\n readonly scroll = input(false, { transform: booleanAttribute });\n\n readonly hostClasses = computed(() => {\n return {\n 'navbar-nav': true,\n 'navbar-nav-scroll': this.scroll()\n } as Record<string, boolean>;\n });\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-navbar-text',\n template: '<ng-content />',\n host: { class: 'navbar-text' }\n})\nexport class NavbarTextComponent {}\n","import { afterNextRender, Directive, ElementRef, inject, input, Renderer2 } from '@angular/core';\nimport { CollapseDirective } from '../../collapse';\n\n@Directive({\n selector: '[cNavbarToggler]',\n host: {\n '[aria-label]': 'ariaLabel()',\n '[attr.type]': 'type()',\n class: 'navbar-toggler',\n '(click)': 'handleClick($event)'\n }\n})\nexport class NavbarTogglerDirective {\n readonly #renderer = inject(Renderer2);\n readonly #hostElement = inject(ElementRef);\n\n constructor() {\n afterNextRender({\n read: () => {\n const hasContent = this.#hostElement.nativeElement.childNodes.length as boolean;\n if (!hasContent) {\n this.addDefaultIcon();\n }\n }\n });\n }\n\n /**\n * Reference to navbar collapse element (via # template variable)\n * @returns CollapseDirective | undefined\n */\n readonly collapseRef = input<CollapseDirective | undefined>(undefined, { alias: 'cNavbarToggler' });\n\n /**\n * Default type for navbar-toggler\n * @returns string\n * @default 'button'\n */\n readonly type = input('button');\n\n /**\n * Default aria-label attr for navbar-toggler\n * @returns string\n * @default 'Toggle navigation'\n */\n readonly ariaLabel = input('Toggle navigation');\n\n protected handleClick($event: MouseEvent): void {\n const collapseRef = this.collapseRef();\n if (collapseRef) {\n collapseRef?.toggle(!collapseRef?.visible());\n }\n }\n\n addDefaultIcon(): void {\n const span = this.#renderer.createElement('span');\n this.#renderer.addClass(span, 'navbar-toggler-icon');\n this.#renderer.appendChild(this.#hostElement.nativeElement, span);\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { NavbarComponent } from './navbar.component';\nimport { NavbarBrandDirective } from './navbar-brand/navbar-brand.directive';\nimport { NavbarNavComponent } from './navbar-nav/navbar-nav.component';\nimport { NavbarTextComponent } from './navbar-text/navbar-text.component';\nimport { NavbarTogglerDirective } from './navbar-toggler/navbar-toggler.directive';\n\n@NgModule({\n exports: [\n NavbarBrandDirective,\n NavbarComponent,\n NavbarNavComponent,\n NavbarTextComponent,\n NavbarTogglerDirective\n ],\n imports: [\n NavbarBrandDirective,\n NavbarComponent,\n NavbarNavComponent,\n NavbarTextComponent,\n NavbarTogglerDirective\n ]\n})\nexport class NavbarModule {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-modal-body',\n template: '<ng-content />',\n styleUrls: ['./modal-body.component.scss'],\n host: { class: 'modal-body' }\n})\nexport class ModalBodyComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-modal-content',\n template: '<ng-content />',\n host: { class: 'modal-content' }\n})\nexport class ModalContentComponent {}\n","import { booleanAttribute, Component, computed, input } from '@angular/core';\n\n@Component({\n selector: 'c-modal-dialog',\n template: '<ng-content />',\n styleUrls: ['./modal-dialog.component.scss'],\n host: { class: 'modal-dialog', '[class]': 'hostClasses()' }\n})\nexport class ModalDialogComponent {\n /**\n * Align the modal in the center or top of the screen.\n * @default undefined\n */\n readonly alignment = input<'top' | 'center'>();\n\n /**\n * Set modal to covers the entire user viewport.\n * @returns {boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'}\n */\n readonly fullscreen = input<boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'>();\n\n /**\n * Does the modal dialog itself scroll, or does the whole dialog scroll within the window.\n * @default false\n * @returns {boolean}\n */\n readonly scrollable = input(false, { transform: booleanAttribute });\n\n /**\n * Size the component small, large, or extra large.\n * @default undefined\n * @returns {'sm' | 'lg' | 'xl'}\n */\n readonly size = input<'sm' | 'lg' | 'xl'>();\n\n readonly hostClasses = computed(() => {\n const fullscreen = this.fullscreen();\n const size = this.size();\n return {\n 'modal-dialog': true,\n 'modal-dialog-centered': this.alignment() === 'center',\n 'modal-fullscreen': fullscreen === true,\n [`modal-fullscreen-${fullscreen}-down`]: typeof fullscreen === 'string',\n 'modal-dialog-scrollable': this.scrollable(),\n [`modal-${size}`]: !!size\n } as Record<string, boolean>;\n });\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { ModalComponent } from './modal/modal.component';\n\nexport interface IModalAction {\n show?: boolean | 'toggle';\n modal?: ModalComponent;\n id?: string;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ModalService {\n readonly #modalState = new Subject<any>();\n readonly modalState$ = this.#modalState.asObservable();\n\n toggle(action: IModalAction): void {\n this.#modalState.next(action);\n }\n}\n","import { Directive, inject, input } from '@angular/core';\n\nimport { ModalService } from '../modal.service';\n\n@Directive({\n selector: '[cModalToggle]',\n host: {\n '(click)': 'dismiss($event)'\n }\n})\nexport class ModalToggleDirective {\n readonly #modalService = inject(ModalService);\n\n /**\n * Html id attr of modal to dismiss.\n * @default undefined\n */\n readonly toggle = input<string>(undefined, { alias: 'cModalToggle' });\n\n dismiss($event: Event): void {\n $event.preventDefault();\n this.#modalService.toggle({ show: 'toggle', id: this.toggle() });\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-modal-footer',\n template: '<ng-content />',\n host: { class: 'modal-footer' }\n})\nexport class ModalFooterComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-modal-header',\n template: '<ng-content />',\n host: { class: 'modal-header' }\n})\nexport class ModalHeaderComponent {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cModalTitle]',\n host: { class: 'modal-title' }\n})\nexport class ModalTitleDirective {}\n","import { A11yModule, FocusMonitor } from '@angular/cdk/a11y';\nimport { BooleanInput } from '@angular/cdk/coercion';\nimport { DomPortal, DomPortalOutlet } from '@angular/cdk/portal';\nimport {\n AfterViewInit,\n booleanAttribute,\n Component,\n computed,\n DestroyRef,\n DOCUMENT,\n effect,\n ElementRef,\n inject,\n input,\n linkedSignal,\n OnDestroy,\n OnInit,\n output,\n Renderer2,\n signal,\n untracked,\n viewChild\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { ModalService } from '../modal.service';\nimport { BackdropService } from '../../backdrop/backdrop.service';\nimport { ModalContentComponent } from '../modal-content/modal-content.component';\nimport { ModalDialogComponent } from '../modal-dialog/modal-dialog.component';\n\n@Component({\n selector: 'c-modal',\n templateUrl: './modal.component.html',\n exportAs: 'cModal',\n imports: [ModalDialogComponent, ModalContentComponent, A11yModule],\n host: {\n class: 'modal',\n '[class]': 'hostClasses()',\n '[attr.role]': 'visible() ? role() : null',\n '[inert]': 'ariaHidden()',\n '[attr.id]': 'id',\n '[aria-modal]': 'ariaModal()',\n '[aria-hidden]': 'ariaHidden()',\n '[attr.tabindex]': '-1',\n '(mousedown)': 'onMouseDownHandler($event)',\n '(click)': 'onClickHandler($event)',\n '(document:keydown)': 'onKeyDownHandler($event)'\n }\n})\nexport class ModalComponent implements OnInit, OnDestroy, AfterViewInit {\n static ngAcceptInputType_ariaModalInput: BooleanInput;\n static ngAcceptInputType_scrollable: BooleanInput;\n static ngAcceptInputType_visibleInput: BooleanInput;\n\n readonly #document = inject<Document>(DOCUMENT);\n readonly #renderer = inject(Renderer2);\n readonly #hostElement = inject(ElementRef);\n readonly #modalService = inject(ModalService);\n readonly #backdropService = inject(BackdropService);\n\n readonly #destroyRef = inject(DestroyRef);\n readonly #focusMonitor = inject(FocusMonitor);\n\n /**\n * Align the modal in the center or top of the screen.\n * @returns {'top' | 'center'}\n * @default 'top'\n */\n readonly alignment = input<'top' | 'center'>('top');\n\n /**\n * Apply a backdrop on the body while the modal is open.\n * @returns boolean | 'static'\n * @default true\n */\n readonly backdrop = input<boolean | 'static'>(true);\n\n /**\n * Appends the angular modal to a specific element. You can pass an HTML element or function that returns a single element. By default, `document.body`.\n * @since 5.7.20\n * @returns Element | (() => Element | null) | null\n * @default document.body\n */\n readonly container = input<Element | (() => Element | null) | null>(this.#document.body);\n\n /**\n * Set modal to cover the entire user viewport.\n * @returns {boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'}\n * @default undefined\n */\n readonly fullscreen = input<boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'>();\n\n /**\n * Closes the modal when the escape key is pressed.\n * @returns boolean\n * @default true\n */\n readonly keyboard = input(true, { transform: booleanAttribute });\n\n /**\n * HTML id attribute, required for programmatic visibility change.\n * @returns string\n */\n readonly attrId = input<string>(undefined, { alias: 'id' });\n\n get id() {\n return this.attrId();\n }\n\n /**\n * Generates modal using a portal\n * @since 5.7.20\n * @returns boolean\n * @default false\n */\n readonly portal = input(false, { transform: booleanAttribute });\n\n /**\n * Size the component small, large, or extra large.\n * @returns {'sm' | 'lg' | 'xl'}\n * @default undefined\n */\n readonly size = input<'sm' | 'lg' | 'xl'>();\n\n /**\n * Remove animation to create a modal that simply appears rather than fades in to view.\n */\n readonly transition = input(true, { transform: booleanAttribute });\n\n /**\n * Default role for modal\n * @returns string\n * @default 'dialog'\n */\n readonly role = input('dialog');\n\n /**\n * Set aria-modal html attr for modal\n * @returns boolean\n * @default false\n */\n readonly ariaModalInput = input(false, { transform: booleanAttribute, alias: 'ariaModal' });\n\n readonly ariaModal = computed(() => {\n return this.visible() || this.ariaModalInput() ? true : null;\n });\n\n /**\n * Create a scrollable modal that allows scrolling the modal body.\n * @returns boolean\n * @default false\n */\n readonly scrollable = input(false, { transform: booleanAttribute });\n\n /**\n * Toggle the visibility of modal component.\n * @returns boolean\n * @default false\n */\n readonly visibleInput = input(false, { transform: booleanAttribute, alias: 'visible' });\n\n readonly visible = linkedSignal(this.visibleInput);\n\n protected readonly domPortal = new DomPortal(this.#hostElement.nativeElement);\n protected domPortalOutlet!: DomPortalOutlet;\n\n protected domPortalCleanup = () => {\n if (this.domPortalOutlet?.hasAttached()) {\n this.domPortalOutlet.detach();\n }\n };\n\n readonly #portalEffect = effect(() => {\n const visible = this.visible();\n const containerInput = this.container();\n const portalEnabled = this.portal();\n untracked(() => {\n if (!visible) {\n return;\n }\n const container = typeof containerInput === 'function' ? containerInput() : containerInput;\n this.domPortalCleanup();\n if (container && portalEnabled) {\n this.domPortalOutlet = new DomPortalOutlet(container);\n this.domPortalOutlet.attach(this.domPortal);\n }\n });\n });\n\n readonly #visibleInputEffect = effect(() => {\n const visible = this.visible();\n untracked(() => {\n this.animateStart();\n this.setBodyStyles(visible);\n this.setBackdrop(this.backdrop() !== false && visible);\n this.visibleChange?.emit(visible);\n });\n });\n\n readonly #activeElement = signal<HTMLElement | null>(null);\n\n readonly #visibleEffect = effect(() => {\n const visible = this.visible();\n const afterViewInit = this.#afterViewInit();\n untracked(() => {\n if (visible && afterViewInit) {\n this.#activeElement.set(this.#document.activeElement as HTMLElement);\n // this.#activeElement()?.blur();\n setTimeout(() => {\n const focusable = this.modalContentRef()?.nativeElement.querySelectorAll(\n '[tabindex]:not([tabindex=\"-1\"]), button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled])'\n );\n if (focusable?.length) {\n this.#focusMonitor.focusVia(focusable[0], 'keyboard');\n }\n });\n } else {\n const activeElement = this.#activeElement();\n if (activeElement && this.#document.contains(activeElement)) {\n this.#focusMonitor.focusVia(activeElement, 'keyboard');\n setTimeout(() => {\n // this.#activeElement()?.focus();\n this.#activeElement.set(null);\n });\n }\n }\n });\n });\n\n /**\n * Event triggered on visible change\n * @returns boolean\n */\n readonly visibleChange = output<boolean>();\n\n readonly modalContentRef = viewChild('modalContentRef', { read: ElementRef });\n readonly modalDialogRef = viewChild.required(ModalDialogComponent, { read: ElementRef });\n\n readonly #modalDialogEffect = effect((OnCleanup) => {\n const modalDialogElement = this.modalDialogRef().nativeElement;\n\n const removeEventListeners = () => {\n modalDialogElement?.removeEventListener('transitionend', this.#handleTransitionEnd);\n };\n\n OnCleanup(removeEventListeners);\n\n modalDialogElement?.addEventListener('transitionend', this.#handleTransitionEnd);\n });\n\n readonly #handleTransitionEnd = (event: TransitionEvent) => {\n const modalDialogElement = this.modalDialogRef().nativeElement;\n if (event.target === modalDialogElement && event.propertyName === 'transform') {\n if (!this.visible()) {\n this.domPortalCleanup();\n this.#renderer.setStyle(this.#hostElement.nativeElement, 'display', 'none');\n }\n }\n };\n\n #activeBackdrop!: any;\n\n // private inBoundingClientRect!: boolean;\n\n readonly hostClasses = computed(() => {\n return {\n modal: true,\n fade: this.transition(),\n show: this.show\n } as Record<string, boolean>;\n });\n\n readonly ariaHidden = computed(() => {\n return this.visible() ? null : true;\n });\n\n get show(): boolean {\n return this.visible() && this.#show();\n }\n\n set show(value: boolean) {\n this.#show.set(value);\n }\n\n readonly #show = signal(false);\n\n animateStart() {\n if (this.visible()) {\n this.#backdropService.hideScrollbar();\n this.#renderer.setStyle(this.#hostElement.nativeElement, 'display', 'block');\n } else {\n if (!this.transition()) {\n this.domPortalCleanup();\n this.#renderer.setStyle(this.#hostElement.nativeElement, 'display', 'none');\n }\n }\n setTimeout(() => {\n this.show = this.visible();\n });\n }\n\n onKeyDownHandler(event: KeyboardEvent): void {\n if (event.key === 'Escape' && this.keyboard() && this.visible()) {\n if (this.backdrop() === 'static') {\n this.setStaticBackdrop();\n } else {\n this.#modalService.toggle({ show: false, modal: this });\n }\n }\n }\n\n private mouseDownTarget: EventTarget | null = null;\n\n public onMouseDownHandler($event: MouseEvent): void {\n this.mouseDownTarget = $event.target;\n }\n\n public onClickHandler($event: MouseEvent): void {\n if (this.mouseDownTarget !== $event.target) {\n this.mouseDownTarget = null;\n return;\n }\n\n const targetElement = $event.target;\n if (targetElement === this.#hostElement.nativeElement) {\n if (this.backdrop() === 'static') {\n this.setStaticBackdrop();\n return;\n }\n\n this.#modalService.toggle({ show: false, modal: this });\n }\n }\n\n ngOnInit(): void {\n this.stateToggleSubscribe();\n }\n\n readonly #afterViewInit = signal(false);\n\n ngAfterViewInit(): void {\n this.#afterViewInit.set(true);\n }\n\n ngOnDestroy(): void {\n this.#modalService.toggle({ show: false, modal: this });\n this.#afterViewInit.set(false);\n this.setBackdrop(false);\n this.domPortalCleanup();\n }\n\n private stateToggleSubscribe(): void {\n this.#modalService.modalState$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe((action) => {\n if (this === action.modal || this.id === action.id) {\n if ('show' in action) {\n this.visible.update((visible) => (action?.show === 'toggle' ? !visible : action.show));\n }\n } else {\n if (this.visible()) {\n this.visible.set(false);\n }\n }\n });\n }\n\n private setBackdrop(setBackdrop: boolean): void {\n this.#activeBackdrop = setBackdrop\n ? this.#backdropService.setBackdrop('modal')\n : this.#backdropService.clearBackdrop(this.#activeBackdrop);\n }\n\n private setBodyStyles(open: boolean): void {\n if (open) {\n if (!!this.backdrop()) {\n this.#renderer.addClass(this.#document.body, 'modal-open');\n }\n } else {\n this.#renderer.removeClass(this.#document.body, 'modal-open');\n }\n }\n\n private setStaticBackdrop(): void {\n if (this.transition()) {\n this.#renderer.addClass(this.#hostElement.nativeElement, 'modal-static');\n this.#renderer.setStyle(this.#hostElement.nativeElement, 'overflow-y', 'hidden');\n setTimeout(() => {\n this.#renderer.removeClass(this.#hostElement.nativeElement, 'modal-static');\n this.#renderer.removeStyle(this.#hostElement.nativeElement, 'overflow-y');\n }, 300);\n }\n }\n}\n","@let isVisible = visible();\n<c-modal-dialog\n [alignment]=\"alignment()\"\n [fullscreen]=\"fullscreen()\"\n [scrollable]=\"scrollable()\"\n [size]=\"size()\">\n <c-modal-content>\n <div #modalContentRef [cdkTrapFocusAutoCapture]=\"isVisible\" [cdkTrapFocus]=\"isVisible\" style=\"display: contents;\">\n <ng-content />\n </div>\n </c-modal-content>\n</c-modal-dialog>\n","import { NgModule } from '@angular/core';\n\nimport { ModalBodyComponent } from './modal-body/modal-body.component';\nimport { ModalContentComponent } from './modal-content/modal-content.component';\nimport { ModalDialogComponent } from './modal-dialog/modal-dialog.component';\nimport { ModalToggleDirective } from './modal-dismiss/modal-toggle.directive';\nimport { ModalFooterComponent } from './modal-footer/modal-footer.component';\nimport { ModalHeaderComponent } from './modal-header/modal-header.component';\nimport { ModalTitleDirective } from './modal-title/modal-title.directive';\nimport { ModalComponent } from './modal/modal.component';\nimport { ModalService } from './modal.service';\n\n@NgModule({\n exports: [\n ModalBodyComponent,\n ModalComponent,\n ModalContentComponent,\n ModalDialogComponent,\n ModalFooterComponent,\n ModalHeaderComponent,\n ModalTitleDirective,\n ModalToggleDirective\n ],\n imports: [\n ModalBodyComponent,\n ModalComponent,\n ModalContentComponent,\n ModalDialogComponent,\n ModalFooterComponent,\n ModalHeaderComponent,\n ModalTitleDirective,\n ModalToggleDirective\n ],\n providers: [ModalService]\n})\nexport class ModalModule {}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { OffcanvasComponent } from './offcanvas/offcanvas.component';\n\nexport interface IOffcanvasAction {\n show?: boolean | 'toggle';\n offcanvas?: OffcanvasComponent;\n id?: string;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OffcanvasService {\n private offcanvasState = new Subject<any>();\n offcanvasState$ = this.offcanvasState.asObservable();\n\n toggle(action: IOffcanvasAction): void {\n this.offcanvasState.next(action);\n }\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { BooleanInput } from '@angular/cdk/coercion';\nimport { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\nimport { DomPortal, DomPortalOutlet } from '@angular/cdk/portal';\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n booleanAttribute,\n Component,\n computed,\n DestroyRef,\n DOCUMENT,\n effect,\n ElementRef,\n inject,\n input,\n linkedSignal,\n OnDestroy,\n OnInit,\n output,\n PLATFORM_ID,\n Renderer2,\n untracked\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { BackdropService } from '../../backdrop/backdrop.service';\nimport { ThemeDirective } from '../../shared';\nimport { OffcanvasService } from '../offcanvas.service';\n\nlet nextId = 0;\n\n@Component({\n selector: 'c-offcanvas',\n templateUrl: './offcanvas.component.html',\n styleUrls: ['./offcanvas.component.scss'],\n exportAs: 'cOffcanvas',\n imports: [A11yModule],\n hostDirectives: [{ directive: ThemeDirective, inputs: ['dark'] }],\n host: {\n '[attr.id]': 'id()',\n '[inert]': 'ariaHidden()',\n '[attr.role]': 'role()',\n '[aria-modal]': 'ariaModal()',\n '[attr.tabindex]': 'tabIndex',\n '[class]': 'hostClasses()',\n '(document:keydown)': 'onKeyDownHandler($event)'\n }\n})\nexport class OffcanvasComponent implements OnInit, OnDestroy {\n // Treats input as boolean value, even if provided as string or other types. Uses angular coercion mechanism\n static ngAcceptInputType_ariaModal: BooleanInput;\n static ngAcceptInputType_keyboard: BooleanInput;\n static ngAcceptInputType_scroll: BooleanInput;\n static ngAcceptInputType_visible: BooleanInput;\n\n readonly #document = inject<Document>(DOCUMENT);\n readonly #platformId = inject(PLATFORM_ID);\n readonly #renderer = inject(Renderer2);\n readonly #hostElement = inject(ElementRef);\n readonly #offcanvasService = inject(OffcanvasService);\n readonly #backdropService = inject(BackdropService);\n readonly #breakpointObserver = inject(BreakpointObserver);\n readonly #destroyRef = inject(DestroyRef);\n\n /**\n * Apply a backdrop on the body while offcanvas is open.\n * @returns boolean | 'static'\n * @default true\n */\n readonly backdrop = input<boolean | 'static'>(true);\n\n /**\n * Appends the offcanvas to a specific element. You can pass an HTML element or function that returns a single element. By default, `document.body`.\n * @since 5.7.21\n * @returns Element | (() => Element | null) | null\n * @default document.body\n */\n readonly container = input<Element | (() => Element | null) | null>(this.#document.body);\n\n /**\n * Closes the offcanvas when the escape key is pressed\n * @returns boolean\n * @default true\n */\n readonly keyboard = input(true, { transform: booleanAttribute });\n\n /**\n * Offcanvas placement\n * @returns string | 'start' | 'end' | 'top' | 'bottom'\n * @default 'start'\n */\n readonly placement = input<string | 'start' | 'end' | 'top' | 'bottom'>('start');\n\n /**\n * Generates offcanvas using a portal\n * @since 5.7.21\n * @returns boolean\n * @default false\n */\n readonly portal = input(false, { transform: booleanAttribute });\n\n /**\n * Responsive offcanvas property hides content outside the viewport from a specified breakpoint and down.\n * @returns (boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl') | undefined\n * @default true\n * @since 4.3.10\n */\n readonly responsive = input<(boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl') | undefined>(true);\n\n /**\n * Html id attribute, required for programmatic visibility change.\n * @returns string\n */\n readonly id = input(`offcanvas-${this.placement()}-${nextId++}`);\n\n /**\n * Default role for offcanvas\n * @returns string\n * @default 'dialog'\n */\n readonly role = input<string>('dialog');\n\n /**\n * Set aria-modal html attr for offcanvas\n * @returns boolean\n * @default true\n */\n readonly ariaModal = input(true, { transform: booleanAttribute });\n\n #activeBackdrop!: HTMLDivElement;\n #backdropClickSubscription!: Subscription;\n #layoutChangeSubscription!: Subscription;\n #hideFallbackId?: ReturnType<typeof setTimeout>;\n #isShown = false;\n\n /**\n * Allow body scrolling while offcanvas is visible.\n * @returns boolean\n * @default false\n */\n readonly scroll = input(false, { transform: booleanAttribute });\n\n /**\n * Toggle the visibility of offcanvas component.\n * @returns boolean\n * @default false\n */\n readonly visibleInput = input(false, { transform: booleanAttribute, alias: 'visible' });\n\n readonly visible = linkedSignal(this.visibleInput);\n\n protected readonly domPortal = new DomPortal(this.#hostElement.nativeElement);\n protected domPortalOutlet!: DomPortalOutlet;\n\n protected domPortalCleanup = () => {\n if (this.domPortalOutlet?.hasAttached()) {\n this.domPortalOutlet.detach();\n }\n };\n\n readonly #portalEffect = effect(() => {\n const visible = this.visible();\n const containerInput = this.container();\n const portalEnabled = this.portal();\n untracked(() => {\n if (!visible) {\n return;\n }\n const container = typeof containerInput === 'function' ? containerInput() : containerInput;\n this.domPortalCleanup();\n if (container && portalEnabled) {\n this.domPortalOutlet = new DomPortalOutlet(container);\n this.domPortalOutlet.attach(this.domPortal);\n // Re-inserting the host drops its computed style, so the show classes applied later in\n // this same cycle would have no starting point to animate from. Force a reflow to commit it.\n void this.#hostElement.nativeElement.offsetHeight;\n }\n });\n });\n\n readonly visibleEffect = effect(() => {\n const visible = this.visible();\n this.animateStart(visible);\n if (visible) {\n this.setBackdrop(this.backdrop());\n this.setFocus();\n } else {\n this.setBackdrop(false);\n }\n this.layoutChangeSubscribe(visible);\n this.visibleChange?.emit(visible);\n });\n\n /**\n * Event triggered on visible change.\n * @returns boolean\n */\n readonly visibleChange = output<boolean>();\n\n readonly hostClasses = computed(() => {\n const responsive = this.responsive();\n const placement = this.placement();\n const visible = this.visible();\n return {\n offcanvas: typeof responsive === 'boolean',\n [`offcanvas-${responsive}`]: typeof responsive !== 'boolean',\n [`offcanvas-${placement}`]: !!placement,\n show: visible\n } as Record<string, boolean>;\n });\n\n readonly ariaHidden = computed(() => {\n return this.visible() ? null : true;\n });\n\n get tabIndex(): string | null {\n return '-1';\n }\n\n get show(): boolean {\n return this.visible();\n }\n\n set show(value: boolean) {\n this.visible.set(value);\n }\n\n get responsiveBreakpoint(): string | false {\n const responsive = this.responsive();\n if (typeof responsive !== 'string') {\n return false;\n }\n const element: Element = this.#document.documentElement;\n const breakpointValue =\n this.#document.defaultView\n ?.getComputedStyle(element)\n ?.getPropertyValue(`--cui-breakpoint-${responsive.trim()}`) ?? false;\n return breakpointValue ? `${parseFloat(breakpointValue.trim()) - 0.02}px` : false;\n }\n\n animateStart(visible: boolean = this.visible()): void {\n const wasShown = this.#isShown;\n this.#isShown = visible;\n this.#clearHideFallback();\n if (visible) {\n if (!this.scroll()) {\n this.#backdropService.hideScrollbar();\n }\n this.#renderer.removeClass(this.#hostElement.nativeElement, 'hiding');\n this.#renderer.addClass(this.#hostElement.nativeElement, 'showing');\n } else {\n this.#renderer.removeClass(this.#hostElement.nativeElement, 'showing');\n this.#renderer.addClass(this.#hostElement.nativeElement, 'hiding');\n if (wasShown) {\n this.#scheduleHideFallback();\n }\n }\n }\n\n onKeyDownHandler(event: KeyboardEvent): void {\n if (event.key === 'Escape' && this.keyboard() && this.visible() && this.backdrop() !== 'static') {\n this.#offcanvasService.toggle({ show: false, id: this.id() });\n }\n }\n\n ngOnInit(): void {\n this.stateToggleSubscribe();\n setTimeout(() => {\n // hotfix to avoid offcanvas flicker on the first render\n this.#renderer.setStyle(this.#hostElement.nativeElement, 'display', 'flex');\n });\n\n this.#hostElement.nativeElement.addEventListener('transitionend', this.#handleTransitionEnd);\n }\n\n ngOnDestroy(): void {\n this.#offcanvasService.toggle({ show: false, id: this.id() });\n this.#removeEventListeners();\n this.#clearHideFallback();\n this.setBackdrop(false);\n this.domPortalCleanup();\n }\n\n readonly #removeEventListeners = () => {\n this.#hostElement.nativeElement.removeEventListener('transitionend', this.#handleTransitionEnd);\n };\n\n readonly #handleTransitionEnd = (event: TransitionEvent) => {\n const offcanvasElement = this.#hostElement.nativeElement;\n if (event.target === offcanvasElement && event.propertyName === 'transform') {\n if (this.visible()) {\n this.#renderer.removeClass(offcanvasElement, 'showing');\n } else {\n this.#completeHide();\n }\n }\n };\n\n #completeHide(): void {\n this.#clearHideFallback();\n this.#renderer.removeClass(this.#hostElement.nativeElement, 'hiding');\n this.#renderer.removeStyle(this.#document.body, 'overflow');\n this.#renderer.removeStyle(this.#document.body, 'paddingRight');\n this.domPortalCleanup();\n }\n\n // `transitionend` never fires when there is nothing to animate — reduced motion, or a responsive\n // offcanvas above its breakpoint — which would leave the body scroll-locked and the host parked\n // in the portal container.\n #scheduleHideFallback(): void {\n const style = this.#document.defaultView?.getComputedStyle(this.#hostElement.nativeElement);\n const duration = Number.parseFloat(style?.transitionDuration ?? '') || 0;\n const delay = Number.parseFloat(style?.transitionDelay ?? '') || 0;\n this.#hideFallbackId = setTimeout(() => this.#completeHide(), (duration + delay) * 1000 + 5);\n }\n\n #clearHideFallback(): void {\n clearTimeout(this.#hideFallbackId);\n this.#hideFallbackId = undefined;\n }\n\n setFocus(): void {\n if (isPlatformBrowser(this.#platformId)) {\n setTimeout(() => this.#hostElement.nativeElement.focus());\n }\n }\n\n private stateToggleSubscribe(): void {\n this.#offcanvasService.offcanvasState$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe((action) => {\n if (this === action.offcanvas || this.id() === action.id) {\n if ('show' in action) {\n this.visible.update((value) => (action?.show === 'toggle' ? !value : action.show));\n }\n }\n });\n }\n\n private backdropClickSubscribe(subscribe: boolean = true): void {\n if (subscribe) {\n this.#backdropClickSubscription = this.#backdropService.backdropClick$\n .pipe(takeUntilDestroyed(this.#destroyRef))\n .subscribe((clicked) => {\n this.#offcanvasService.toggle({ show: !clicked, id: this.id() });\n });\n } else {\n this.#backdropClickSubscription?.unsubscribe();\n }\n }\n\n protected setBackdrop(setBackdrop: boolean | 'static'): void {\n this.#activeBackdrop = !!setBackdrop\n ? this.#backdropService.setBackdrop('offcanvas')\n : this.#backdropService.clearBackdrop(this.#activeBackdrop);\n setBackdrop === true ? this.backdropClickSubscribe() : this.backdropClickSubscribe(false);\n }\n\n private layoutChangeSubscribe(subscribe: boolean = true): void {\n if (subscribe) {\n if (!this.responsiveBreakpoint) {\n return;\n }\n\n const responsiveBreakpoint = `(max-width: ${this.responsiveBreakpoint})`;\n\n const layoutChanges = this.#breakpointObserver.observe([responsiveBreakpoint]);\n\n this.#layoutChangeSubscription = layoutChanges\n .pipe(\n filter((breakpointState) => !breakpointState.matches),\n takeUntilDestroyed(this.#destroyRef)\n )\n .subscribe((breakpointState: BreakpointState) => {\n this.visible.set(breakpointState.matches);\n });\n } else {\n this.#layoutChangeSubscription?.unsubscribe();\n }\n }\n}\n","<div cdkTrapFocus cdkTrapFocusAutoCapture>\n <ng-content />\n</div>\n\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-offcanvas-body',\n template: '<ng-content />',\n styleUrls: ['./offcanvas-body.component.scss'],\n host: { class: 'offcanvas-body' }\n})\nexport class OffcanvasBodyComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-offcanvas-header',\n template: '<ng-content />',\n host: { class: 'offcanvas-header' }\n})\nexport class OffcanvasHeaderComponent {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cOffcanvasTitle]',\n host: { class: 'offcanvas-title' }\n})\nexport class OffcanvasTitleDirective {}\n","import { Directive, inject, input } from '@angular/core';\n\nimport { OffcanvasService } from '../offcanvas.service';\n\n@Directive({\n selector: '[cOffcanvasToggle]',\n host: {\n '(click)': 'toggleOpen($event)'\n }\n})\nexport class OffcanvasToggleDirective {\n readonly #offcanvasService = inject(OffcanvasService);\n\n /**\n * Html id attr of offcanvas to toggle.\n * @returns string\n */\n readonly id = input<string>(undefined, { alias: 'cOffcanvasToggle' });\n\n protected toggleOpen($event: MouseEvent): void {\n $event.preventDefault();\n this.#offcanvasService.toggle({ show: 'toggle', id: this.id() });\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { OffcanvasComponent } from './offcanvas/offcanvas.component';\nimport { OffcanvasBodyComponent } from './offcanvas-body/offcanvas-body.component';\nimport { OffcanvasHeaderComponent } from './offcanvas-header/offcanvas-header.component';\nimport { OffcanvasTitleDirective } from './offcanvas-title/offcanvas-title.directive';\nimport { OffcanvasToggleDirective } from './offcanvas-toggle/offcanvas-toggle.directive';\nimport { OffcanvasService } from './offcanvas.service';\nimport { BackdropService } from '../backdrop/backdrop.service';\n\n@NgModule({\n exports: [\n OffcanvasBodyComponent,\n OffcanvasComponent,\n OffcanvasHeaderComponent,\n OffcanvasTitleDirective,\n OffcanvasToggleDirective\n ],\n imports: [\n OffcanvasBodyComponent,\n OffcanvasComponent,\n OffcanvasHeaderComponent,\n OffcanvasTitleDirective,\n OffcanvasToggleDirective\n ],\n providers: [\n OffcanvasService,\n BackdropService\n ]\n})\nexport class OffcanvasModule {}\n","import { booleanAttribute, computed, Directive, input } from '@angular/core';\nimport { BooleanInput } from '@angular/cdk/coercion';\n\n@Directive({\n selector: '[cPageLink]',\n host: { class: 'page-link', '[class]': 'hostClasses()' }\n})\nexport class PageLinkDirective {\n static ngAcceptInputType_disabled: BooleanInput;\n\n /**\n * Toggle the disabled state for the component.\n * @returns boolean\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n readonly hostClasses = computed(() => {\n return {\n 'page-link': true,\n disabled: this.disabled()\n } as Record<string, boolean>;\n });\n}\n","import {\n booleanAttribute,\n computed,\n contentChild,\n Directive,\n effect,\n ElementRef,\n inject,\n input,\n Renderer2\n} from '@angular/core';\nimport { BooleanInput } from '@angular/cdk/coercion';\n\nimport { PageLinkDirective } from '../page-link/page-link.directive';\n\n@Directive({\n selector: '[cPageItem]',\n host: {\n class: 'page-item',\n '[class]': 'hostClasses()',\n '[aria-current]': 'ariaCurrent()'\n }\n})\nexport class PageItemDirective {\n static ngAcceptInputType_disabled: BooleanInput;\n\n readonly #renderer = inject(Renderer2);\n\n /**\n * Toggle the active state for the component.\n * @returns boolean\n */\n readonly active = input<boolean>();\n\n /**\n * Toggle the disabled state for the component.\n * @returns boolean\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n readonly ariaCurrent = computed(() => {\n return this.active() ? 'page' : null;\n });\n\n readonly hostClasses = computed(() => {\n return {\n 'page-item': true,\n disabled: this.disabled(),\n active: this.active()\n } as Record<string, boolean>;\n });\n\n readonly pageLinkElementRef = contentChild(PageLinkDirective, { read: ElementRef });\n\n readonly pageLinkElementRefEffect = effect(() => {\n const pageLinkElementRef = this.pageLinkElementRef();\n const disabled = this.disabled();\n if (!pageLinkElementRef) {\n return;\n }\n const pageLinkElement = pageLinkElementRef.nativeElement;\n\n if (disabled) {\n this.#renderer.setAttribute(pageLinkElement, 'aria-disabled', 'true');\n this.#renderer.setAttribute(pageLinkElement, 'tabindex', '-1');\n } else {\n this.#renderer.removeAttribute(pageLinkElement, 'aria-disabled');\n this.#renderer.removeAttribute(pageLinkElement, 'tabindex');\n }\n });\n}\n","import { Component } from '@angular/core';\nimport { PageItemDirective } from './page-item.directive';\n\n@Component({\n selector: 'c-page-item',\n template: '<ng-content />',\n styleUrls: ['./page-item.component.scss']\n})\nexport class PageItemComponent extends PageItemDirective {}\n","import { Component, computed, input } from '@angular/core';\n\n@Component({\n selector: 'c-pagination',\n templateUrl: './pagination.component.html',\n host: {\n '[attr.role]': 'role()'\n }\n})\nexport class PaginationComponent {\n /**\n * Set the alignment of pagination components.\n * @returns 'start' | 'center' | 'end' | ''\n */\n readonly align = input<'start' | 'center' | 'end' | ''>('');\n /**\n * Size the component small or large.\n * @returns '' | 'sm' | 'lg'\n */\n readonly size = input<'' | 'sm' | 'lg'>();\n /**\n * Default role for pagination\n * @returns string\n * @default 'navigation'\n */\n readonly role = input<string>('navigation');\n\n readonly paginationClass = computed(() => {\n const size = this.size();\n const align = this.align();\n return {\n pagination: true,\n [`pagination-${size}`]: !!size,\n [`justify-content-${align}`]: !!align\n } as Record<string, boolean>;\n });\n}\n","<ul [class]=\"paginationClass()\">\n <ng-content />\n</ul>\n","import { NgModule } from '@angular/core';\nimport { PaginationComponent } from './pagination/pagination.component';\nimport { PageItemComponent } from './page-item/page-item.component';\nimport { PageItemDirective } from './page-item/page-item.directive';\nimport { PageLinkDirective } from './page-link/page-link.directive';\n\n@NgModule({\n exports: [\n PageItemComponent,\n PageItemDirective,\n PageLinkDirective,\n PaginationComponent\n ],\n imports: [\n PageItemComponent,\n PageItemDirective,\n PageLinkDirective,\n PaginationComponent\n ]\n})\nexport class PaginationModule {}\n","import { booleanAttribute, computed, Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[cPlaceholder]',\n exportAs: 'cPlaceholder',\n host: {\n '[class]': 'hostClasses()',\n '[aria-hidden]': 'ariaHidden()'\n }\n})\nexport class PlaceholderDirective {\n /**\n * Toggle placeholder visibility\n * @returns boolean\n * @default false\n */\n readonly visible = input(false, { transform: booleanAttribute, alias: 'cPlaceholder' });\n\n /**\n * Size the placeholder xs, small, large.\n */\n readonly size = input<'xs' | 'sm' | 'lg'>(undefined, { alias: 'cPlaceholderSize' });\n\n readonly ariaHidden = computed(() => {\n return this.visible() ? null : true;\n });\n\n readonly hostClasses = computed(() => {\n const size = this.size();\n return {\n placeholder: this.visible(),\n [`placeholder-${size}`]: !!size\n } as Record<string, boolean>;\n });\n}\n","import { computed, contentChild, Directive, input, InputSignal } from '@angular/core';\nimport { PlaceholderDirective } from './placeholder.directive';\n\n@Directive({\n selector: '[cPlaceholderAnimation]',\n host: {\n '[class]': 'hostClasses()'\n }\n})\nexport class PlaceholderAnimationDirective {\n /**\n * Animation type for placeholder\n * @returns 'glow' | 'wave'\n * @default undefined\n */\n readonly animation: InputSignal<'glow' | 'wave' | undefined> = input<'glow' | 'wave' | undefined>(undefined, {\n alias: 'cPlaceholderAnimation'\n });\n\n readonly placeholder = contentChild(PlaceholderDirective);\n\n readonly hostClasses = computed(() => {\n const animation = this.animation();\n return {\n [`placeholder-${animation}`]: this.placeholder()?.visible() && !!animation\n } as Record<string, boolean>;\n });\n}\n","import { NgModule } from '@angular/core';\nimport { PlaceholderDirective } from './placeholder.directive';\nimport { PlaceholderAnimationDirective } from './placeholder-animation.directive';\n\n@NgModule({\n imports: [\n PlaceholderDirective,\n PlaceholderAnimationDirective\n ],\n exports: [\n PlaceholderDirective,\n PlaceholderAnimationDirective\n ]\n})\nexport class PlaceholderModule {\n}\n","import {\n booleanAttribute,\n Component,\n computed,\n effect,\n inject,\n input,\n OnDestroy,\n Renderer2,\n TemplateRef,\n viewChild,\n ViewContainerRef\n} from '@angular/core';\n\n@Component({\n selector: 'c-popover',\n templateUrl: './popover.component.html',\n host: {\n class: 'popover fade bs-popover-auto',\n '[class]': 'hostClasses()',\n '[attr.role]': 'role()',\n '[attr.id]': 'id()'\n }\n})\nexport class PopoverComponent implements OnDestroy {\n readonly renderer = inject(Renderer2);\n\n /**\n * Content of popover\n * @returns string | TemplateRef<any>\n */\n readonly content = input<string | TemplateRef<any>>('');\n\n readonly #contentEffect = effect(() => {\n this.updateView(this.content());\n });\n\n /**\n * Toggle the visibility of popover component.\n * @returns boolean\n */\n readonly visible = input(false, { transform: booleanAttribute });\n\n /**\n * The `id` HTML attribute of the popover.\n * @returns string\n */\n readonly id = input<string>();\n\n /**\n * Default role for popover.\n * @returns string\n * @default 'tooltip'\n */\n readonly role = input('tooltip');\n\n readonly viewContainerRef = viewChild('popoverTemplate', { read: ViewContainerRef });\n private textNode!: Text;\n\n readonly hostClasses = computed(() => {\n return {\n popover: true,\n fade: true,\n show: this.visible(),\n 'bs-popover-auto': true\n } as Record<string, boolean>;\n });\n\n ngOnDestroy(): void {\n this.clear();\n }\n\n private clear(): void {\n this.viewContainerRef()?.clear();\n if (!!this.textNode) {\n this.renderer.removeChild(this.textNode.parentNode, this.textNode);\n }\n }\n\n private updateView(content: string | TemplateRef<any>): void {\n this.clear();\n\n if (!content) {\n return;\n }\n\n if (content instanceof TemplateRef) {\n this.viewContainerRef()?.createEmbeddedView(content);\n } else {\n const textNodeContent = this.renderer.createText(content);\n this.textNode = this.renderer.createElement('div');\n this.renderer.addClass(this.textNode, 'popover-body');\n this.renderer.appendChild(this.textNode, textNodeContent);\n\n const element = this.viewContainerRef()?.element.nativeElement;\n this.renderer.appendChild(element.parentNode, this.textNode);\n }\n }\n}\n","<ng-container>\n <div [class.popover-arrow]=\"!!content()\" data-popper-arrow></div>\n <ng-container #popoverTemplate />\n</ng-container>\n","import {\n afterRenderEffect,\n AfterViewInit,\n ChangeDetectorRef,\n ComponentRef,\n computed,\n DestroyRef,\n Directive,\n DOCUMENT,\n effect,\n ElementRef,\n inject,\n input,\n model,\n OnDestroy,\n OnInit,\n Renderer2,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { debounceTime, filter, finalize } from 'rxjs/operators';\nimport { createPopper, Instance, Options } from '@popperjs/core';\n\nimport { Triggers } from '../coreui.types';\nimport { IListenersConfig, IntersectionService, ListenersService } from '../services';\nimport { ElementRefDirective } from '../shared';\nimport { PopoverComponent } from './popover/popover.component';\n\n@Directive({\n selector: '[cPopover]',\n exportAs: 'cPopover',\n providers: [ListenersService, IntersectionService],\n host: { '[aria-describedby]': 'ariaDescribedBy' }\n})\nexport class PopoverDirective implements OnDestroy, OnInit, AfterViewInit {\n readonly #renderer = inject(Renderer2);\n readonly #hostElement = inject(ElementRef);\n readonly #viewContainerRef = inject(ViewContainerRef);\n readonly #listenersService = inject(ListenersService);\n readonly #changeDetectorRef = inject(ChangeDetectorRef);\n readonly #intersectionService = inject(IntersectionService);\n readonly #destroyRef = inject(DestroyRef);\n readonly #document = inject(DOCUMENT);\n #timerId1: ReturnType<typeof setTimeout> | undefined;\n #timerId2: ReturnType<typeof setTimeout> | undefined;\n\n /**\n * Content of popover\n * @returns string | TemplateRef<any> | undefined\n */\n readonly content = input<string | TemplateRef<any> | undefined>(undefined, { alias: 'cPopover' });\n\n readonly #contentEffect = effect(() => {\n if (this.content()) {\n this.destroyTooltipElement();\n }\n });\n\n /**\n * Optional popper Options object, takes precedence over cPopoverPlacement prop\n * @returns Partial<Options>\n */\n readonly popperOptions = input<Partial<Options>>({}, { alias: 'cPopoverOptions' });\n\n readonly #popperOptionsEffect = effect(() => {\n this._popperOptions = {\n ...this._popperOptions,\n placement: this.placement(),\n ...this.popperOptions()\n };\n });\n\n readonly popperOptionsComputed = computed(() => {\n return { placement: this.placement(), ...this._popperOptions };\n });\n\n /**\n * Describes the placement of your component after Popper.js has applied all the modifiers that may have flipped or altered the originally provided placement property.\n * @returns 'top' | 'bottom' | 'left' | 'right'\n * @default 'top'\n */\n readonly placement = input<'top' | 'bottom' | 'left' | 'right'>('top', { alias: 'cPopoverPlacement' });\n\n /**\n * ElementRefDirective for positioning the tooltip on reference element\n * @returns ElementRefDirective | undefined\n * @default undefined\n * @since 5.7.27\n */\n readonly reference = input<ElementRefDirective | undefined>(undefined, { alias: 'cPopoverRef' });\n\n readonly referenceRef = computed(() => this.reference()?.elementRef ?? this.#hostElement);\n\n /**\n * Sets which event handlers you’d like provided to your toggle prop. You can specify one trigger or an array of them.\n * @returns Triggers | Triggers[]\n */\n readonly trigger = input<Triggers | Triggers[]>('hover', { alias: 'cPopoverTrigger' });\n\n /**\n * Toggle the visibility of popover component.\n * @returns boolean\n */\n readonly visible = model(false, { alias: 'cPopoverVisible' });\n\n readonly #visibleEffect = afterRenderEffect({\n // this fixes RuntimeError: NG0500: During hydration Angular expected <abc> but found <xyz>.\n // Find more at https://angular.dev/errors/NG0500\n write: () => {\n this.visible() ? this.addTooltipElement() : this.removeTooltipElement();\n }\n });\n\n readonly #handleEscapeKey = (event: KeyboardEvent) => {\n if (event.key !== 'Escape') {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n this.visible.set(false);\n };\n\n readonly #escapeEffect = effect((onCleanup) => {\n if (!this.visible()) {\n return;\n }\n\n const useCapture = true;\n\n this.#document.addEventListener('keydown', this.#handleEscapeKey, useCapture);\n onCleanup(() => {\n this.#document.removeEventListener('keydown', this.#handleEscapeKey, useCapture);\n });\n });\n\n get ariaDescribedBy(): string | null {\n return this.tooltipId ? this.tooltipId : null;\n }\n\n private tooltip!: HTMLDivElement;\n private tooltipId!: string;\n private tooltipRef!: ComponentRef<PopoverComponent>;\n private popperInstance!: Instance;\n\n private _popperOptions: Partial<Options> = {\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 9]\n }\n }\n ]\n };\n\n ngAfterViewInit(): void {\n this.intersectionServiceSubscribe();\n }\n\n ngOnDestroy(): void {\n this.clearListeners();\n this.destroyTooltipElement();\n }\n\n ngOnInit(): void {\n this.setListeners();\n }\n\n private setListeners(): void {\n const config: IListenersConfig = {\n hostElement: this.#hostElement,\n trigger: this.trigger(),\n callbackToggle: () => {\n this.visible.update((visible) => !visible);\n },\n callbackOff: () => {\n this.visible.set(false);\n },\n callbackOn: () => {\n this.visible.set(true);\n }\n };\n this.#listenersService.setListeners(config);\n }\n\n private clearListeners(): void {\n this.#listenersService.clearListeners();\n }\n\n private intersectionServiceSubscribe(): void {\n this.#intersectionService.createIntersectionObserver(this.referenceRef());\n this.#intersectionService.intersecting$\n .pipe(\n filter((next) => next.hostElement === this.referenceRef()),\n debounceTime(100),\n finalize(() => {\n this.#intersectionService.unobserve(this.referenceRef());\n }),\n takeUntilDestroyed(this.#destroyRef)\n )\n .subscribe((next) => {\n this.visible.set(next.isIntersecting ? this.visible() : false);\n });\n }\n\n private getUID(prefix: string): string {\n let uid = prefix ?? 'random-id';\n do {\n uid = `${prefix}-${Math.floor(Math.random() * 1000000).toString(10)}`;\n } while (this.#document.getElementById(uid));\n\n return uid;\n }\n\n private createTooltipElement(): void {\n if (!this.tooltipRef) {\n this.tooltipRef = this.#viewContainerRef.createComponent<PopoverComponent>(PopoverComponent);\n // this.viewContainerRef.detach();\n }\n }\n\n private destroyTooltipElement(): void {\n this.tooltip?.remove();\n this.tooltipRef?.destroy();\n // @ts-ignore\n this.tooltipRef = undefined;\n this.popperInstance?.destroy();\n this.#viewContainerRef?.detach();\n this.#viewContainerRef?.clear();\n }\n\n private addTooltipElement(): void {\n if (!this.content()) {\n this.destroyTooltipElement();\n return;\n }\n\n if (!this.tooltipRef) {\n this.createTooltipElement();\n }\n\n this.tooltipRef?.setInput('content', this.content() ?? '');\n\n this.tooltip = this.tooltipRef?.location.nativeElement;\n this.#renderer.addClass(this.tooltip, 'd-none');\n this.#renderer.addClass(this.tooltip, 'fade');\n\n this.popperInstance?.destroy();\n\n this.#viewContainerRef.insert(this.tooltipRef.hostView);\n this.#renderer.appendChild(this.#document.body, this.tooltip);\n\n this.popperInstance = createPopper(this.referenceRef().nativeElement, this.tooltip, {\n ...this.popperOptionsComputed()\n });\n\n if (!this.visible()) {\n this.removeTooltipElement();\n return;\n }\n\n clearTimeout(this.#timerId2);\n clearTimeout(this.#timerId1);\n this.#timerId1 = setTimeout(() => {\n this.tooltipId = this.getUID('popover');\n this.tooltipRef?.setInput('id', this.tooltipId);\n this.#renderer.removeClass(this.tooltip, 'd-none');\n this.tooltipRef?.setInput('visible', this.visible());\n this.popperInstance?.forceUpdate();\n this.#changeDetectorRef?.markForCheck();\n this.#timerId1 = undefined;\n }, 150);\n }\n\n private removeTooltipElement(): void {\n this.tooltipId = '';\n if (!this.tooltipRef) {\n return;\n }\n\n clearTimeout(this.#timerId2);\n this.#timerId2 = setTimeout(() => {\n this.#viewContainerRef?.detach();\n this.#timerId2 = undefined;\n }, 300);\n\n this.tooltipRef.setInput('visible', false);\n this.tooltipRef.setInput('id', undefined);\n this.#changeDetectorRef.markForCheck();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { PopoverDirective } from './popover.directive';\nimport { PopoverComponent } from './popover/popover.component';\n\n@NgModule({\n exports: [\n PopoverDirective,\n PopoverComponent\n ],\n imports: [\n PopoverDirective,\n PopoverComponent\n ]\n})\nexport class PopoverModule {}\n","import { computed, Injectable, signal } from '@angular/core';\n\n@Injectable()\nexport class ProgressService {\n readonly stacked = signal(false);\n readonly value = signal<number | undefined>(undefined);\n readonly precision = signal(0);\n readonly min = signal(0);\n readonly max = signal(100);\n\n readonly percent = computed(() => {\n return +((((this.value() ?? 0) - this.min()) / (this.max() - this.min())) * 100).toFixed(this.precision());\n });\n}\n","import {\n booleanAttribute,\n Directive,\n effect,\n EffectRef,\n ElementRef,\n inject,\n input,\n numberAttribute,\n Renderer2\n} from '@angular/core';\nimport { Colors } from '../coreui.types';\nimport { ProgressService } from './progress.service';\n\n@Directive({\n selector: '[cProgressBar]',\n exportAs: 'cProgressBar'\n})\nexport class ProgressBarDirective {\n readonly #renderer = inject(Renderer2);\n readonly #hostElement = inject(ElementRef);\n readonly #progressService = inject(ProgressService);\n\n readonly #valuesEffect: EffectRef = effect(() => {\n const host: HTMLElement = this.#hostElement.nativeElement;\n const value = this.#progressService.value();\n const percent = this.#progressService.percent();\n const stacked = this.#progressService.stacked();\n if (value === undefined) {\n for (const name of ['aria-valuenow', 'aria-valuemax', 'aria-valuemin', 'role']) {\n this.#renderer.removeAttribute(host, name);\n }\n } else {\n const { min, max } = this.#progressService;\n this.#renderer.setAttribute(host, 'aria-valuenow', String(value));\n this.#renderer.setAttribute(host, 'aria-valuemin', String(min()));\n this.#renderer.setAttribute(host, 'aria-valuemax', String(max()));\n this.#renderer.setAttribute(host, 'role', this.role());\n }\n const tagName = host.tagName;\n if (percent >= 0 && ((stacked && tagName === 'C-PROGRESS') || (!stacked && tagName !== 'C-PROGRESS'))) {\n this.#renderer.setStyle(host, 'width', `${percent}%`);\n } else {\n this.#renderer.removeStyle(host, 'width');\n }\n });\n\n /**\n * Use to animate the stripes right to left via CSS3 animations.\n * @returns boolean\n */\n readonly animated = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly color = input<Colors>();\n\n /**\n * Number of decimal places to round the computed percent value to.\n * @returns number\n * @default 0\n */\n readonly precision = input(0, { transform: numberAttribute });\n\n /**\n * The percent value the ProgressBar.\n * @returns number\n * @default 0\n */\n readonly value = input(0, { transform: numberAttribute });\n\n /**\n * Set the progress bar variant to optional striped.\n * @values 'striped'\n * @default undefined\n */\n readonly variant = input<'striped'>();\n\n /**\n * The max value of the ProgressBar.\n * @returns number\n * @default 100\n */\n readonly max = input(100, { transform: numberAttribute });\n\n /**\n * Set default html role attribute.\n * @returns string\n */\n readonly role = input<string>('progressbar');\n\n readonly #serviceEffect = effect(() => {\n this.#progressService.precision.set(this.precision());\n const max = this.max();\n this.#progressService.max.set(isNaN(max) || max <= 0 ? 100 : max);\n const value = this.value();\n this.#progressService.value.set(value && !isNaN(value) ? value : undefined);\n });\n}\n","import { Component, computed, inject } from '@angular/core';\nimport { ProgressBarDirective } from './progress-bar.directive';\n\n@Component({\n selector: 'c-progress-bar',\n template: '<ng-content />',\n hostDirectives: [\n {\n directive: ProgressBarDirective,\n inputs: ['animated', 'color', 'max', 'role', 'value', 'variant']\n }\n ],\n host: { class: 'progress-bar', '[class]': 'hostClasses()' }\n})\nexport class ProgressBarComponent {\n readonly #progressBarDirective: ProgressBarDirective | null = inject(ProgressBarDirective, { optional: true });\n\n readonly hostClasses = computed(() => {\n const animated = this.#progressBarDirective?.animated();\n const color = this.#progressBarDirective?.color();\n const variant = this.#progressBarDirective?.variant();\n return {\n 'progress-bar': true,\n 'progress-bar-animated': !!animated,\n [`progress-bar-${variant}`]: !!variant,\n [`bg-${color}`]: !!color\n } as Record<string, boolean>;\n });\n}\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'c-progress-stacked',\n exportAs: 'cProgressStacked',\n template: '<ng-content />',\n styles: `\n :host {\n display: flex;\n }\n `,\n host: { '[class.progress-stacked]': 'stacked()' }\n})\nexport class ProgressStackedComponent {\n /**\n * Toggle the `progress-stacked` class on the host element.\n * @returns boolean\n * @default true\n */\n readonly stacked = input(true);\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n Component,\n computed,\n contentChildren,\n ElementRef,\n inject,\n input,\n numberAttribute\n} from '@angular/core';\nimport { ProgressBarComponent } from './progress-bar.component';\nimport { ProgressBarDirective } from './progress-bar.directive';\nimport { ProgressStackedComponent } from './progress-stacked.component';\nimport { ProgressService } from './progress.service';\n\n@Component({\n selector: 'c-progress',\n exportAs: 'cProgress',\n templateUrl: './progress.component.html',\n imports: [ProgressBarComponent, NgTemplateOutlet],\n styleUrl: './progress.component.scss',\n hostDirectives: [\n {\n directive: ProgressBarDirective,\n inputs: ['animated', 'color', 'max', 'role', 'value', 'variant']\n }\n ],\n host: {\n class: 'progress',\n '[class]': 'hostClasses()',\n '[style.height]': 'hostStyle()'\n },\n providers: [ProgressService]\n})\nexport class ProgressComponent {\n readonly #hostElement = inject(ElementRef);\n protected readonly progressBarDirective: ProgressBarDirective | null = inject(ProgressBarDirective, {\n optional: true\n });\n readonly #stacked: boolean = inject(ProgressStackedComponent, { optional: true })?.stacked() ?? false;\n readonly #progressService = inject(ProgressService);\n\n constructor() {\n this.#progressService.stacked.set(this.#stacked);\n }\n\n readonly stacked = this.#progressService.stacked;\n readonly percent = this.#progressService.percent;\n readonly barValue = this.#progressService.value;\n\n readonly contentProgressBars = contentChildren(ProgressBarComponent);\n\n /**\n * Sets the height of the component. If you set that value the inner `<c-progress-bar>` will automatically resize accordingly.\n * @returns number\n */\n readonly height = input(0, { transform: numberAttribute });\n\n /**\n * Displays thin progress.\n * @returns boolean\n */\n readonly thin = input(false, { transform: booleanAttribute });\n\n /**\n * Change the default color to white.\n * @returns boolean\n */\n readonly white = input(false, { transform: booleanAttribute });\n\n readonly hostClasses = computed(() => {\n return {\n progress: true,\n 'progress-thin': this.thin(),\n 'progress-white': this.white()\n } as Record<string, boolean>;\n });\n\n readonly hostStyle = computed(() => {\n const height = this.height();\n return !!height ? `${height}px` : (this.#hostElement?.nativeElement?.style?.height ?? undefined);\n });\n}\n","@if (contentProgressBars()?.length) {\n <ng-container *ngTemplateOutlet=\"defaultContent\" />\n} @else {\n @let pbd = progressBarDirective;\n <c-progress-bar\n [animated]=\"$safeNavigationMigration(pbd?.animated())\"\n [variant]=\"$safeNavigationMigration(pbd?.variant())\"\n [color]=\"$safeNavigationMigration(pbd?.color())\"\n [value]=\"barValue()\"\n >\n <ng-container *ngTemplateOutlet=\"defaultContent\" />\n </c-progress-bar>\n}\n\n<ng-template #defaultContent>\n <ng-content />\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { ProgressComponent } from './progress.component';\nimport { ProgressBarComponent } from './progress-bar.component';\nimport { ProgressBarDirective } from './progress-bar.directive';\nimport { ProgressStackedComponent } from './progress-stacked.component';\n\n@NgModule({\n exports: [\n ProgressComponent,\n ProgressBarComponent,\n ProgressBarDirective,\n ProgressStackedComponent\n ],\n imports: [\n ProgressComponent,\n ProgressBarComponent,\n ProgressBarDirective,\n ProgressStackedComponent\n ]\n})\nexport class ProgressModule {}\n","export type SearchButtonShortcut = {\n key: string;\n modifiers: {\n alt: boolean;\n ctrl: boolean;\n meta: boolean;\n shift: boolean;\n };\n shortcut: string;\n};\n\nconst MODIFIER_KEYS = new Set(['alt', 'ctrl', 'meta', 'shift']);\nconst KEY_ALIASES: Record<string, string> = {\n ' ': 'space',\n cmd: 'meta',\n command: 'meta',\n control: 'ctrl',\n esc: 'escape',\n option: 'alt',\n return: 'enter',\n spacebar: 'space'\n};\nconst KEY_LABELS: Record<string, string> = {\n alt: 'Alt',\n ctrl: 'Ctrl',\n meta: '⌘',\n shift: 'Shift',\n space: 'Space'\n};\nconst EDITABLE_TARGET_SELECTOR =\n 'input, textarea, select, [contenteditable=\"\"], [contenteditable=\"true\"], [contenteditable=\"plaintext-only\"]';\n\nexport const normalizeKey = (key: string) => KEY_ALIASES[key.toLowerCase()] || key.toLowerCase();\n\nexport const parseShortcut = (shortcut: string): SearchButtonShortcut[] =>\n shortcut\n .split(',')\n .map((value) => value.trim())\n .filter(Boolean)\n .map((value) => {\n const keys = value.split('+').map((part) => normalizeKey(part.trim()));\n const modifiers = {\n alt: false,\n ctrl: false,\n meta: false,\n shift: false\n };\n\n let key = '';\n\n for (const part of keys) {\n if (MODIFIER_KEYS.has(part)) {\n modifiers[part as keyof typeof modifiers] = true;\n continue;\n }\n\n key = part;\n }\n\n return {\n key,\n modifiers,\n shortcut: value\n };\n });\n\nconst getPlatform = () => {\n if (typeof window === 'undefined') {\n return '';\n }\n\n const navigator = window.navigator as Navigator & {\n userAgentData?: {\n platform?: string;\n };\n };\n\n return navigator.userAgentData?.platform || navigator.platform || navigator.userAgent || '';\n};\n\nexport const isMacOS = () => /Mac|iPhone|iPad|iPod|macOS|Macintosh/.test(getPlatform());\n\nexport const getPreferredShortcut = (shortcuts: SearchButtonShortcut[]) =>\n shortcuts.find((shortcut) => (isMacOS() ? shortcut.modifiers.meta : shortcut.modifiers.ctrl)) ||\n shortcuts[0] ||\n null;\n\nexport const getKeyLabel = (key: string) =>\n KEY_LABELS[key] || (key.length === 1 ? key.toUpperCase() : `${key.charAt(0).toUpperCase()}${key.slice(1)}`);\n\nexport const formatShortcutTokens = (shortcut: string) =>\n shortcut\n .split('+')\n .map((part) => normalizeKey(part.trim()))\n .map((part) => getKeyLabel(part))\n .filter(Boolean);\n\nexport const getPressedKeys = (event: KeyboardEvent) => {\n const pressedKeys = new Set<string>();\n\n if (event.altKey) {\n pressedKeys.add(KEY_LABELS['alt']);\n }\n\n if (event.ctrlKey) {\n pressedKeys.add(KEY_LABELS['ctrl']);\n }\n\n if (event.metaKey) {\n pressedKeys.add(KEY_LABELS['meta']);\n }\n\n if (event.shiftKey) {\n pressedKeys.add(KEY_LABELS['shift']);\n }\n\n const normalizedKey = normalizeKey(event.key);\n\n if (!MODIFIER_KEYS.has(normalizedKey) && event.type === 'keydown') {\n pressedKeys.add(getKeyLabel(normalizedKey));\n }\n\n return pressedKeys;\n};\n\nexport const isEditableTarget = (target: EventTarget | null) => {\n if (!(target instanceof Element)) {\n return false;\n }\n\n return target.matches(EDITABLE_TARGET_SELECTOR) || !!target.closest(EDITABLE_TARGET_SELECTOR);\n};\n\nexport const shouldIgnoreShortcut = (event: KeyboardEvent) =>\n isEditableTarget(event.target) && !event.ctrlKey && !event.metaKey;\n\nexport const matchesShortcut = (shortcut: SearchButtonShortcut, event: KeyboardEvent) => {\n if (!shortcut.key || normalizeKey(event.key) !== shortcut.key) {\n return false;\n }\n\n return (\n shortcut.modifiers.alt === event.altKey &&\n shortcut.modifiers.ctrl === event.ctrlKey &&\n shortcut.modifiers.meta === event.metaKey &&\n shortcut.modifiers.shift === event.shiftKey\n );\n};\n","import {\n booleanAttribute,\n Component,\n computed,\n contentChildren,\n effect,\n input,\n output,\n signal,\n TemplateRef\n} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\n\nimport { TemplateIdDirective } from '../shared';\nimport {\n formatShortcutTokens,\n getPreferredShortcut,\n getPressedKeys,\n matchesShortcut,\n parseShortcut,\n shouldIgnoreShortcut\n} from './search-button.utils';\n\n@Component({\n selector: 'c-search-button',\n exportAs: 'cSearchButton',\n templateUrl: './search-button.component.html',\n imports: [NgTemplateOutlet],\n host: {\n style: 'display: contents',\n '(document:keydown)': 'onDocumentKeydown($event)',\n '(document:keyup)': 'onDocumentKeyup($event)',\n '(window:blur)': 'onWindowBlur()'\n }\n})\nexport class SearchButtonComponent {\n /**\n * Toggle the disabled state for the component.\n * @returns boolean\n * @default false\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n /**\n * Placeholder content rendered inside `.search-button-placeholder`.\n * @returns string\n * @default 'Search'\n */\n readonly placeholder = input('Search');\n\n /**\n * Prevent the browser's default behavior when the configured shortcut matches.\n * @returns boolean\n * @default true\n */\n readonly preventDefault = input(true, { transform: booleanAttribute });\n\n /**\n * Comma-separated shortcut list. The component matches all configured shortcuts and renders the platform-preferred one.\n * @returns string\n * @default 'meta+/,ctrl+/'\n */\n readonly shortcut = input('meta+/,ctrl+/');\n\n /**\n * Event emitted when the component is activated by click or keyboard shortcut.\n */\n readonly trigger = output<void>();\n\n protected readonly contentTemplates = contentChildren(TemplateIdDirective, { descendants: true });\n\n protected readonly templates = computed(() => {\n return this.contentTemplates().reduce(\n (acc, child) => {\n acc[child.id] = child.templateRef;\n return acc;\n },\n {} as Record<string, TemplateRef<any>>\n );\n });\n\n protected readonly activeKeys = signal<string[]>([]);\n\n protected readonly shortcuts = computed(() => parseShortcut(this.shortcut()));\n\n protected readonly preferredShortcut = computed(() => getPreferredShortcut(this.shortcuts()));\n\n protected readonly shortcutTokens = computed(() => formatShortcutTokens(this.preferredShortcut()?.shortcut || ''));\n\n readonly #disabledActiveKeysEffect = effect(() => {\n if (this.disabled()) {\n this.activeKeys.set([]);\n }\n });\n\n protected onClick(): void {\n this.trigger.emit();\n }\n\n protected onDocumentKeydown(event: KeyboardEvent): void {\n if (this.disabled()) {\n return;\n }\n\n this.activeKeys.set(Array.from(getPressedKeys(event)));\n this.handleShortcut(event);\n }\n\n protected onDocumentKeyup(event: KeyboardEvent): void {\n if (this.disabled()) {\n return;\n }\n\n this.activeKeys.set(Array.from(getPressedKeys(event)));\n }\n\n protected onWindowBlur(): void {\n this.activeKeys.set([]);\n }\n\n private handleShortcut(event: KeyboardEvent): void {\n if (event.defaultPrevented || event.repeat || shouldIgnoreShortcut(event)) {\n return;\n }\n\n const matchedShortcut = this.shortcuts().find((shortcut) => matchesShortcut(shortcut, event));\n\n if (!matchedShortcut) {\n return;\n }\n\n if (this.preventDefault()) {\n event.preventDefault();\n }\n\n this.trigger.emit();\n }\n}\n","<button class=\"search-button\" type=\"button\" [disabled]=\"disabled()\" (click)=\"onClick()\">\n <ng-content select=\"ng-template\" />\n <ng-content>\n <ng-container *ngTemplateOutlet=\"templates()['icon'] || defaultIconTemplate\" />\n <span class=\"search-button-placeholder\">{{ placeholder() }}</span>\n </ng-content>\n <span class=\"search-button-keys\" aria-hidden=\"true\">\n @for (key of shortcutTokens(); track key) {\n <span\n class=\"search-button-key\"\n [class.active]=\"activeKeys().includes(key)\"\n [attr.data-coreui-search-button-key]=\"key\"\n >{{ key }}</span>\n }\n </span>\n</button>\n\n<ng-template #defaultIconTemplate>\n <svg\n class=\"search-button-icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 512 512\"\n aria-hidden=\"true\"\n >\n <path\n fill=\"currentColor\"\n d=\"m479.6 399.716-81.084-81.084-62.368-25.767A175 175 0 0 0 368 192c0-97.047-78.953-176-176-176S16 94.953 16 192s78.953 176 176 176a175.03 175.03 0 0 0 101.619-32.377l25.7 62.2 81.081 81.088a56 56 0 1 0 79.2-79.195M48 192c0-79.4 64.6-144 144-144s144 64.6 144 144-64.6 144-144 144S48 271.4 48 192m408.971 264.284a24.03 24.03 0 0 1-33.942 0l-76.572-76.572-23.894-57.835 57.837 23.894 76.573 76.572a24.03 24.03 0 0 1-.002 33.941\"\n />\n </svg>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { SearchButtonComponent } from './search-button.component';\n\n@NgModule({\n imports: [\n SearchButtonComponent\n ],\n exports: [\n SearchButtonComponent\n ]\n})\nexport class SearchButtonModule {}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { SidebarComponent } from './sidebar/sidebar.component';\n\nexport interface ISidebarAction {\n unfoldable?: boolean | 'toggle';\n visible?: boolean | 'toggle';\n toggle?: 'visible' | 'unfoldable';\n narrow?: boolean;\n mobile?: boolean;\n sidebar?: SidebarComponent;\n id?: string;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SidebarService {\n readonly #sidebarState = new BehaviorSubject<ISidebarAction>({});\n readonly sidebarState$ = this.#sidebarState.asObservable();\n\n toggle(action: ISidebarAction): void {\n this.#sidebarState.next(action);\n }\n}\n","import { DOCUMENT, inject, Injectable, Renderer2 } from '@angular/core';\nimport { SidebarService } from '../sidebar.service';\nimport { SidebarComponent } from '../sidebar/sidebar.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SidebarBackdropService {\n readonly #document = inject<Document>(DOCUMENT);\n readonly #sidebarService = inject(SidebarService);\n\n #backdrop!: HTMLElement;\n renderer!: Renderer2;\n #clickListener = (): void => {\n /* empty */\n };\n\n setBackdrop(sidebar: SidebarComponent): void {\n const backdrop = this.#document.getElementsByClassName('sidebar-backdrop');\n // console.log(`sidebar-${this.id}`, ' setBackdrop', backdrop);\n if (backdrop.length === 0) {\n this.#backdrop = this.renderer.createElement('div');\n this.renderer.addClass(this.#backdrop, 'sidebar-backdrop');\n this.renderer.appendChild(this.#document.body, this.#backdrop);\n this.#clickListener = this.renderer.listen(this.#backdrop, 'click', (e) => {\n // console.log(`sidebar-${this.id}`, ' backdrop click', e);\n this.#sidebarService.toggle({ toggle: 'visible', sidebar });\n });\n }\n // console.log(this.backdrop, sidebar.sidebarState.mobile, sidebar.sidebarState.show);\n if (this.#backdrop && sidebar.sidebarState.mobile && sidebar.sidebarState.visible) {\n this.renderer.addClass(this.#backdrop, 'fade');\n this.renderer.addClass(this.#backdrop, 'show');\n // this.renderer.removeClass(this.backdrop, 'd-none');\n } else {\n this.renderer.removeClass(this.#backdrop, 'show');\n this.renderer.removeClass(this.#backdrop, 'fade');\n // this.renderer.addClass(this.backdrop, 'd-none');\n }\n }\n\n clearBackdrop(): void {\n if (this.#backdrop) {\n // clear backdrop click Listener\n this.#clickListener();\n // this.renderer.listen(this.backdrop, 'click', (e): void => {} );\n this.renderer.removeChild(this.#document.body, this.#backdrop);\n // @ts-ignore\n this.#backdrop = undefined;\n }\n }\n}\n","import {\n booleanAttribute,\n Component,\n computed,\n DOCUMENT,\n effect,\n inject,\n input,\n linkedSignal,\n OnChanges,\n OnDestroy,\n OnInit,\n output,\n Renderer2,\n signal,\n SimpleChanges\n} from '@angular/core';\nimport { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\nimport { Subscription } from 'rxjs';\n\nimport { ISidebarAction, SidebarService } from '../sidebar.service';\nimport { SidebarBackdropService } from '../sidebar-backdrop/sidebar-backdrop.service';\n\n@Component({\n selector: 'c-sidebar',\n exportAs: 'cSidebar',\n template: '<ng-content />',\n host: {\n class: 'sidebar',\n '[class]': 'hostClasses()',\n '[inert]': '!this.sidebarState.visible || null'\n }\n})\nexport class SidebarComponent implements OnChanges, OnDestroy, OnInit {\n readonly #document = inject<Document>(DOCUMENT);\n readonly #renderer = inject(Renderer2);\n readonly #breakpointObserver = inject(BreakpointObserver);\n readonly #sidebarService = inject(SidebarService);\n readonly #backdropService = inject(SidebarBackdropService);\n\n #onMobile = false;\n #layoutChangeSubscription!: Subscription;\n #stateToggleSubscription!: Subscription;\n\n readonly state = signal<ISidebarAction>({\n sidebar: this\n });\n\n #stateInitial = {\n narrow: false,\n visible: false,\n unfoldable: false\n };\n\n /**\n * Sets if the color of text should be colored for a light or dark background.\n * @returns 'dark' | 'light'\n */\n readonly colorScheme = input<'dark' | 'light'>();\n\n /**\n * Sets html attribute id.\n * @returns string\n */\n readonly id = input<string>();\n\n /**\n * Make sidebar narrow.\n * @returns boolean\n * @default false\n */\n readonly narrowInput = input(false, { transform: booleanAttribute, alias: 'narrow' });\n\n readonly #narrow = linkedSignal(this.narrowInput);\n\n set narrow(value) {\n this.#narrow.set(value);\n }\n\n get narrow() {\n return this.#narrow();\n }\n\n /**\n * Set sidebar to overlaid variant.\n * @returns boolean\n * @default false\n */\n readonly overlaid = input(false, { transform: booleanAttribute });\n\n /**\n * Components placement, there’s no default placement.\n * @returns 'start' | 'end'\n */\n readonly placement = input<'start' | 'end'>();\n\n /**\n * Place sidebar in non-static positions.\n * @returns 'fixed' | 'sticky'\n * @default 'fixed'\n */\n readonly position = input<'fixed' | 'sticky'>('fixed');\n\n /**\n * Size the component small, large, or extra large.\n * @returns 'sm' | 'lg' | 'xl'\n */\n readonly size = input<'sm' | 'lg' | 'xl'>();\n\n /**\n * Expand narrowed sidebar on hover.\n * @returns boolean\n * @default false\n */\n readonly unfoldableInput = input(false, { transform: booleanAttribute, alias: 'unfoldable' });\n\n readonly unfoldable = linkedSignal({\n source: this.unfoldableInput,\n computation: (value) => value\n });\n\n /**\n * Toggle the visibility of sidebar component.\n * @returns boolean\n * @default false\n */\n readonly visibleInput = input(false, { transform: booleanAttribute, alias: 'visible' });\n\n readonly #visible = linkedSignal(this.visibleInput);\n\n readonly #visibleEffect = effect(() => {\n this.visibleChange?.emit(this.#visible());\n });\n\n set visible(value: boolean) {\n this.#visible.set(value);\n }\n\n get visible() {\n return this.#visible();\n }\n\n /**\n * Event emitted on visibility change.\n * @returns boolean\n */\n readonly visibleChange = output<boolean>();\n\n set sidebarState(value: ISidebarAction) {\n const newState = value;\n if ('toggle' in newState) {\n if (newState.toggle === 'visible') {\n newState.visible = !this.state().visible;\n this.#visible.set(newState.visible);\n } else if (newState.toggle === 'unfoldable') {\n newState.unfoldable = !this.state().unfoldable;\n this.unfoldable.set(newState.unfoldable);\n }\n } else {\n this.#visible.update((visible) => (newState.visible ?? visible) && !this.overlaid());\n }\n this.state.update((state) => ({ ...state, ...newState }));\n this.state().mobile && this.state().visible\n ? this.#backdropService.setBackdrop(this)\n : this.#backdropService.clearBackdrop();\n }\n\n get sidebarState(): ISidebarAction {\n return { ...this.state() };\n }\n\n get getMobileBreakpoint(): string {\n const element: Element = this.#document.documentElement;\n const mobileBreakpoint =\n this.#document.defaultView?.getComputedStyle(element)?.getPropertyValue('--cui-mobile-breakpoint') ?? 'md';\n const breakpointValue =\n this.#document.defaultView\n ?.getComputedStyle(element)\n ?.getPropertyValue(`--cui-breakpoint-${mobileBreakpoint.trim()}`) ?? '768px';\n return `${parseFloat(breakpointValue.trim()) - 0.02}px`;\n }\n\n constructor() {\n this.#backdropService.renderer = this.#renderer;\n }\n\n readonly hostClasses = computed(() => {\n const { mobile, visible } = { ...this.sidebarState };\n const unfoldable = this.unfoldable();\n const placement = this.placement();\n const colorScheme = this.colorScheme();\n const size = this.size();\n return {\n sidebar: true,\n 'sidebar-fixed': this.position() === 'fixed' && !mobile,\n 'sidebar-narrow': this.#narrow() && !unfoldable,\n 'sidebar-narrow-unfoldable': unfoldable,\n 'sidebar-overlaid': this.overlaid(),\n [`sidebar-${placement}`]: !!placement,\n [`sidebar-${colorScheme}`]: !!colorScheme,\n [`sidebar-${size}`]: !!size,\n show: visible,\n // show: visible && this.#onMobile, //todo: check\n hide: !visible\n };\n });\n\n ngOnInit(): void {\n this.setInitialState();\n this.layoutChangeSubscribe();\n this.stateToggleSubscribe();\n }\n\n ngOnDestroy(): void {\n this.stateToggleSubscribe(false);\n this.layoutChangeSubscribe(false);\n if (this.state().mobile && this.state().visible) {\n this.#backdropService.clearBackdrop();\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const oldStateMap = new Map(Object.entries(this.state()));\n const newStateMap = new Map();\n newStateMap.set('sidebar', this);\n\n const propList = ['visible', 'unfoldable', 'narrow'];\n\n for (const propName in changes) {\n if (propList.includes(propName)) {\n if (changes[propName] && !changes[propName].firstChange) {\n const value = booleanAttribute(changes[propName].currentValue);\n if (oldStateMap.get(propName) !== value) {\n newStateMap.set(propName, value);\n }\n }\n }\n }\n\n if (newStateMap.size > 1) {\n const state = Object.fromEntries(newStateMap.entries());\n this.#sidebarService.toggle(state);\n }\n }\n\n setInitialState(): void {\n this.#stateInitial = {\n narrow: this.#narrow(),\n visible: this.#visible(),\n unfoldable: this.unfoldable()\n };\n this.#sidebarService.toggle({\n ...this.#stateInitial,\n sidebar: this\n });\n }\n\n private stateToggleSubscribe(subscribe: boolean = true): void {\n if (subscribe) {\n this.#stateToggleSubscription = this.#sidebarService.sidebarState$.subscribe((state) => {\n if (this === state.sidebar || this.id() === state.id) {\n this.sidebarState = { ...state };\n }\n });\n } else {\n this.#stateToggleSubscription?.unsubscribe();\n }\n }\n\n layoutChangeSubscribe(subscribe: boolean = true): void {\n const onMobile = `(max-width: ${this.getMobileBreakpoint})`;\n\n if (subscribe) {\n const layoutChanges = this.#breakpointObserver.observe([onMobile]);\n\n this.#layoutChangeSubscription = layoutChanges.subscribe((result: BreakpointState) => {\n const isOnMobile = result.breakpoints[onMobile];\n const isUnfoldable = isOnMobile ? false : this.unfoldable();\n if (this.#onMobile !== isOnMobile) {\n this.#onMobile = isOnMobile;\n this.#sidebarService.toggle({\n mobile: isOnMobile,\n unfoldable: isUnfoldable,\n visible: isOnMobile ? !isOnMobile : this.#stateInitial.visible,\n sidebar: this\n });\n }\n });\n } else {\n this.#layoutChangeSubscription?.unsubscribe();\n }\n }\n}\n","import { Component, computed, input } from '@angular/core';\nimport { RouterLink, type UrlTree } from '@angular/router';\n\nimport { HtmlAttributesDirective } from '../../shared';\n\n@Component({\n selector: 'c-sidebar-brand',\n templateUrl: './sidebar-brand.component.html',\n imports: [RouterLink, HtmlAttributesDirective],\n host: { class: 'sidebar-brand' }\n})\nexport class SidebarBrandComponent {\n /**\n * Image for the wide sidebar.\n */\n readonly brandFull = input<any>();\n\n /**\n * Image for the narrow sidebar.\n */\n readonly brandNarrow = input<any>();\n\n /**\n * Router link for the sidebar brand.\n */\n readonly routerLink = input<string | any[] | UrlTree | null | undefined>();\n\n readonly brandImg = computed(() => Boolean(this.brandFull() || this.brandNarrow()));\n}\n","@if (brandImg()) {\n <a [routerLink]=\"routerLink()\">\n @if (brandFull()) {\n <img [cHtmlAttr]=\"brandFull()\" [class]=\"'sidebar-brand-full'\">\n }\n @if (brandNarrow()) {\n <img [cHtmlAttr]=\"brandNarrow()\" [class]=\"'sidebar-brand-narrow'\">\n }\n </a>\n} @else {\n <ng-content />\n}\n","import { Directive, inject, input } from '@angular/core';\n\nimport { SidebarService } from '../sidebar.service';\n\n/**\n * Allows the sidebar to be toggled/folded via click on host element.\n */\n@Directive({\n selector: '[cSidebarToggle]',\n exportAs: 'cSidebarToggle',\n host: {\n '(click)': 'toggleOpen($event)'\n }\n})\nexport class SidebarToggleDirective {\n readonly #sidebarService = inject(SidebarService);\n\n /**\n * Id of sidebar for toggle action.\n * @returns string\n */\n readonly id = input<string>(undefined, { alias: 'cSidebarToggle' });\n /**\n * Sidebar property name for toggle action.\n *\n * @returns 'visible' | 'unfoldable'\n * @default 'visible'\n */\n readonly toggle = input<'visible' | 'unfoldable'>('visible');\n\n toggleOpen($event: any): void {\n $event.preventDefault();\n this.#sidebarService.toggle({ toggle: this.toggle(), id: this.id() });\n }\n}\n","import { Directive, input } from '@angular/core';\nimport { SidebarToggleDirective } from '../sidebar-toggle/sidebar-toggle.directive';\n\n@Directive({\n selector: '[cSidebarToggler]',\n hostDirectives: [{ directive: SidebarToggleDirective, inputs: ['cSidebarToggle: cSidebarToggler', 'toggle'] }],\n host: {\n '[attr.role]': 'role()',\n class: 'sidebar-toggler',\n '[style]': 'getStyles'\n }\n})\nexport class SidebarTogglerDirective {\n /**\n * Default role for sidebar toggler.\n * @returns string\n * @default 'button'\n */\n readonly role = input('button');\n\n get getStyles(): any {\n return {\n appearance: 'button',\n 'align-items': 'flex-start',\n cursor: 'pointer'\n };\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-sidebar-header',\n template: '<ng-content />',\n host: { class: 'sidebar-header' }\n})\nexport class SidebarHeaderComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-sidebar-footer',\n template: '<ng-content />',\n host: { class: 'sidebar-footer' }\n})\nexport class SidebarFooterComponent {}\n","import { Injectable } from '@angular/core';\n\nimport { INavData } from './sidebar-nav';\n\n@Injectable()\nexport abstract class SidebarNavService {\n /**\n * Returns a sidebar-nav items config NavData\n */\n abstract getSidebarNavItemsConfig(): INavData[];\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SidebarNavHelper {\n itemType(item: INavData): string {\n if (item.divider) {\n return 'divider';\n } else if (item.title) {\n return 'title';\n } else if (item.children && item.children.length > 0) {\n return 'group';\n } else if (item.label) {\n return 'label';\n } else if (!Object.keys(item).length) {\n return 'empty';\n } else {\n return 'link';\n }\n }\n\n public isActive(router: any, item: INavData): boolean {\n return router.isActive(item.url, false);\n }\n\n public hasBadge = (item: INavData) => Boolean(item?.badge);\n public hasIcon = (item: INavData) => Boolean(item?.icon) || item?.icon === '';\n public hasIconComponent = (item: INavData) => Boolean(item?.iconComponent);\n\n public getIconClass(item: INavData): any {\n const classes = {\n 'nav-icon': true\n };\n const icon = item.icon;\n // @ts-ignore\n classes[icon] = this.hasIcon(item);\n return classes;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { SidebarNavGroupComponent } from './sidebar-nav.component';\n\nexport interface ISidebarAction {\n open?: boolean;\n sidebarNavGroup?: SidebarNavGroupComponent;\n}\n\n@Injectable()\nexport class SidebarNavGroupService {\n private sidebarNavGroupState = new BehaviorSubject<ISidebarAction>({});\n sidebarNavGroupState$ = this.sidebarNavGroupState.asObservable();\n\n toggle(action: ISidebarAction): void {\n this.sidebarNavGroupState.next(action);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'cSidebarNavIcon'\n})\nexport class SidebarNavIconPipe implements PipeTransform {\n transform(item: any, args?: any): any {\n const icon = item.icon;\n return {\n 'nav-icon': true,\n [`${icon}`]: !!icon\n };\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'cSidebarNavBadge'\n})\nexport class SidebarNavBadgePipe implements PipeTransform {\n transform(item: any, args?: any): any {\n const badge = item.badge;\n return {\n badge: true,\n 'ms-auto': true,\n 'badge-sm': !badge.size,\n [`badge-${badge.size}`]: !!badge.size,\n [`bg-${badge.color}`]: !!badge.color,\n [`${badge.class}`]: !!badge.class\n };\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'cSidebarNavLink'\n})\nexport class SidebarNavLinkPipe implements PipeTransform {\n transform(item: any): any {\n const disabled = item?.attributes?.disabled;\n\n return {\n 'nav-link': true,\n disabled,\n 'btn-link': disabled,\n [`nav-link-${item.variant}`]: !!item.variant\n };\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { Component, inject, input, OnDestroy, OnInit, output } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NavigationEnd, Router, RouterModule } from '@angular/router';\nimport { Observable, Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { IconDirective } from '@coreui/icons-angular';\n// import {SidebarService} from '../sidebar.service';\nimport { HtmlAttributesDirective } from '../../shared';\nimport { SidebarNavHelper } from './sidebar-nav.service';\nimport { INavData } from './sidebar-nav';\nimport { SidebarNavLinkPipe } from './sidebar-nav-link.pipe';\nimport { SidebarNavBadgePipe } from './sidebar-nav-badge.pipe';\nimport { SidebarNavIconPipe } from './sidebar-nav-icon.pipe';\n\n@Component({\n selector: 'c-sidebar-nav-link-content',\n template: `\n @let itemLinkContent = item();\n @if (itemLinkContent) {\n <ng-container>{{ itemLinkContent?.name ?? '' }}</ng-container>\n }\n `,\n providers: [SidebarNavHelper]\n})\nexport class SidebarNavLinkContentComponent {\n readonly helper = inject(SidebarNavHelper);\n\n /**\n * The nav data item rendered as the link content.\n * @returns INavData\n * @default {}\n */\n readonly item = input<INavData>({});\n}\n\n@Component({\n selector: 'c-sidebar-nav-link',\n templateUrl: './sidebar-nav-link.component.html',\n providers: [SidebarNavHelper],\n imports: [\n RouterModule,\n HtmlAttributesDirective,\n IconDirective,\n SidebarNavLinkContentComponent,\n SidebarNavLinkPipe,\n SidebarNavBadgePipe,\n SidebarNavIconPipe,\n NgTemplateOutlet\n ]\n})\nexport class SidebarNavLinkComponent implements OnInit, OnDestroy {\n readonly router = inject(Router);\n\n /**\n * The nav data item rendered as a sidebar nav link.\n * @returns INavData\n */\n readonly item = input<INavData>();\n\n /**\n * Event emitted when the sidebar nav link is clicked.\n * @returns void\n */\n readonly linkClick = output();\n\n public linkType!: string;\n public href!: string;\n public linkActive!: boolean;\n private url!: string;\n\n private navigationEndObservable: Observable<NavigationEnd>;\n private navSubscription!: Subscription;\n\n constructor() {\n const router = this.router;\n\n this.navigationEndObservable = router.events.pipe(\n filter((event) => {\n return event instanceof NavigationEnd;\n }),\n takeUntilDestroyed()\n ) as Observable<NavigationEnd>;\n }\n\n ngOnInit(): void {\n const item = this.item() ?? {};\n this.url =\n typeof item.url === 'string'\n ? item.url\n : this.router.serializeUrl(this.router.createUrlTree((item.url as any[]) ?? ['']));\n this.linkType = this.getLinkType();\n this.href = this.isDisabled() ? '' : item.href || this.url;\n this.linkActive = this.router.url.split(/[?#(;]/)[0] === this.href.split(/[?#(;]/)[0];\n this.navSubscription = this.navigationEndObservable.subscribe((event) => {\n const itemUrlArray = this.href.split(/[?#(;]/)[0].split('/');\n const urlArray = event.urlAfterRedirects.split(/[?#(;]/)[0].split('/');\n this.linkActive = itemUrlArray.every((value, index) => value === urlArray[index]);\n });\n }\n\n ngOnDestroy(): void {\n this.navSubscription?.unsubscribe();\n }\n\n public getLinkType(): string {\n return this.isDisabled() ? 'disabled' : this.isExternalLink() ? 'external' : 'link';\n }\n\n public isDisabled(): boolean {\n return this.item()?.attributes?.['disabled'];\n }\n\n public isExternalLink(): boolean {\n const item = this.item() ?? {};\n const linkPath = Array.isArray(item.url) ? item.url[0] : item.url;\n return !!item.href || linkPath?.substring(0, 4) === 'http';\n }\n\n linkClicked(): void {\n this.linkClick?.emit();\n }\n\n // public hideMobile() {\n // // todo: proper scrollIntoView() after NavigationEnd\n // setTimeout(() => {\n // console.log('scroll')\n // this.hostElement.nativeElement.scrollIntoView();\n // }, 1000)\n // this.sidebarService.toggle({open: false, breakpoint: ''});\n // }\n}\n","@let linkItem = item() ?? {};\n\n@switch (linkType) {\n @case ('disabled') {\n <a [cHtmlAttr]=\"linkItem.attributes ?? {}\" [class]=\"linkItem | cSidebarNavLink\">\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: { $implicit: linkItem }\" />\n <c-sidebar-nav-link-content [item]=\"linkItem\" />\n @if (linkItem.badge) {\n <span [class]=\"linkItem | cSidebarNavBadge\">{{ linkItem.badge?.text }}</span>\n }\n </a>\n }\n @case ('external') {\n <a\n (click)=\"linkClicked()\"\n [cHtmlAttr]=\"linkItem.attributes ?? {}\"\n [href]=\"href\"\n [class]=\"linkItem | cSidebarNavLink\"\n >\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: { $implicit: linkItem }\" />\n <c-sidebar-nav-link-content [item]=\"linkItem\" />\n @if (linkItem.badge) {\n <span [class]=\"linkItem | cSidebarNavBadge\">{{ linkItem.badge?.text }}</span>\n }\n </a>\n }\n @default {\n <a\n (click)=\"linkClicked()\"\n [cHtmlAttr]=\"linkItem.attributes ?? {}\"\n [fragment]=\"$safeNavigationMigration(linkItem.linkProps?.fragment)\"\n [class]=\"linkItem | cSidebarNavLink\"\n [preserveFragment]=\"linkItem.linkProps?.preserveFragment ?? false\"\n [queryParamsHandling]=\"$safeNavigationMigration(linkItem.linkProps?.queryParamsHandling)\"\n [queryParams]=\"linkItem.linkProps?.queryParams ?? null\"\n [replaceUrl]=\"linkItem.linkProps?.replaceUrl ?? false\"\n [routerLinkActiveOptions]=\"linkItem.linkProps?.routerLinkActiveOptions ?? { exact: false }\"\n [routerLink]=\"linkItem.url\"\n [skipLocationChange]=\"linkItem.linkProps?.skipLocationChange ?? false\"\n [state]=\"linkItem.linkProps?.state ?? {}\"\n [target]=\"$safeNavigationMigration(linkItem.attributes?.['target'])\"\n routerLinkActive=\"active\"\n >\n <!-- [class.active]=\"linkActive\"-->\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: { $implicit: linkItem }\" />\n <c-sidebar-nav-link-content [item]=\"linkItem\" />\n @if (linkItem.badge) {\n <span [class]=\"linkItem | cSidebarNavBadge\">{{ linkItem.badge?.text }}</span>\n }\n </a>\n }\n}\n<ng-template #iconTemplate let-item>\n <!-- <i *ngIf=\"item?.icon\" [class]=\"item | cSidebarNavIcon\"></i>-->\n @if (item?.icon) {\n <span class=\"nav-icon\">\n <span [class]=\"item.icon ?? ''\"></span>\n </span>\n }\n @if (item?.iconComponent) {\n <svg\n [cIcon]=\"$safeNavigationMigration(item.iconComponent?.content)\"\n [customClasses]=\"item | cSidebarNavIcon\"\n [name]=\"$safeNavigationMigration(item.iconComponent?.name)\"\n ></svg>\n }\n @if (!item?.icon && !item?.iconComponent) {\n <span [class]=\"item | cSidebarNavIcon\"></span>\n }\n</ng-template>\n","import { Component, computed, inject, input } from '@angular/core';\n\nimport { HtmlAttributesDirective } from '../../shared';\nimport { SidebarNavHelper } from './sidebar-nav.service';\nimport { SidebarNavBadgePipe } from './sidebar-nav-badge.pipe';\nimport { INavData } from './sidebar-nav';\n\n@Component({\n selector: 'c-sidebar-nav-label',\n templateUrl: './sidebar-nav-label.component.html',\n imports: [HtmlAttributesDirective, SidebarNavBadgePipe]\n})\nexport class SidebarNavLabelComponent {\n readonly helper = inject(SidebarNavHelper);\n\n /**\n * The nav data item rendered as a sidebar nav label.\n * @returns INavData\n * @default {}\n */\n readonly item = input<INavData>({});\n\n readonly itemClass = computed(() => {\n const classes: Record<string, boolean> = {\n 'c-nav-label': true,\n 'c-active': true\n };\n const itemClass = this.item().class;\n if (itemClass) {\n classes[itemClass] = !!itemClass;\n }\n return classes;\n });\n\n readonly labelIconClass = computed(() => {\n const item = this.item();\n const iconClasses: Record<string, boolean> = this.helper.getIconClass(item);\n const variant = `text-${item.label?.variant}`;\n iconClasses[variant] = !!item.label?.variant;\n const labelClass = item.label?.class ?? '';\n iconClasses[labelClass] = !!labelClass;\n return iconClasses;\n });\n}\n","@let labelItem = item();\n<a [cHtmlAttr]=\"labelItem.attributes\"\n [class]=\"itemClass()\"\n href=\"{{labelItem.url}}\">\n @if (helper.hasIcon(labelItem)) {\n <i [class]=\"labelIconClass()\"></i>\n }\n <ng-container>{{ labelItem.name }}</ng-container>\n @if (helper.hasBadge(labelItem)) {\n <span [class]=\"labelItem | cSidebarNavBadge\">{{ labelItem.badge?.text ?? '' }}</span>\n }\n</a>\n","import { Component, effect, ElementRef, inject, input, Renderer2 } from '@angular/core';\nimport { INavData } from './sidebar-nav';\n\n@Component({\n selector: 'c-sidebar-nav-title',\n template: ''\n})\nexport class SidebarNavTitleComponent {\n readonly #elementRef = inject(ElementRef);\n readonly #renderer = inject(Renderer2);\n\n /**\n * The nav data item rendered as a sidebar nav title.\n * @returns INavData\n */\n readonly item = input<INavData>();\n\n readonly #itemEffect = effect(() => {\n const item = this.item();\n if (item?.name) {\n const nativeElement: HTMLElement = this.#elementRef.nativeElement;\n const name = this.#renderer.createText(item.name);\n\n if (item?.class) {\n const classes = item.class;\n this.#renderer.addClass(nativeElement, classes);\n }\n\n if (item?.wrapper) {\n const wrapper = this.#renderer.createElement(item.wrapper.element);\n this.addAttribs(item.wrapper.attributes, wrapper);\n this.#renderer.appendChild(wrapper, name);\n this.#renderer.appendChild(nativeElement, wrapper);\n } else {\n this.#renderer.appendChild(nativeElement, name);\n }\n }\n });\n\n private addAttribs(attribs: { [x: string]: any }, element: HTMLElement): void {\n if (attribs) {\n for (const attr in attribs) {\n if (attr === 'style' && typeof attribs[attr] === 'object') {\n this.setStyle(attribs[attr], element);\n } else if (attr === 'class') {\n this.addClass(attribs[attr], element);\n } else {\n this.setAttrib(attr, attribs[attr], element);\n }\n }\n }\n }\n\n private setStyle(styles: { [x: string]: any }, el: any): void {\n for (const style in styles) {\n if (style) {\n this.#renderer.setStyle(el, style, styles[style]);\n }\n }\n }\n\n private addClass(classes: string | string[], el: any): void {\n const classArray = Array.isArray(classes) ? classes : classes.split(' ');\n classArray\n .filter((element) => element.length > 0)\n .forEach((element) => {\n this.#renderer.addClass(el, element);\n });\n }\n\n private setAttrib(key: string, value: string, el: any): void {\n this.#renderer.setAttribute(el, key, value);\n }\n}\n","import { Component, input } from '@angular/core';\nimport { INavData } from './sidebar-nav';\n\n@Component({\n selector: 'c-sidebar-nav-divider',\n template: ``\n})\nexport class SidebarNavDividerComponent {\n /**\n * The nav data item rendered as a sidebar nav divider.\n * @returns INavData\n */\n readonly item = input<INavData>();\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\n\nimport { SidebarNavHelper } from './sidebar-nav.service';\n\n@Pipe({\n name: 'cSidebarNavItemClass'\n})\nexport class SidebarNavItemClassPipe implements PipeTransform {\n readonly helper = inject(SidebarNavHelper);\n\n // transform(item: any, ...args: any[]): any {\n transform(item: any, args?: any[]): any {\n const itemType = this.helper.itemType(item);\n let itemClass;\n if (['divider', 'title'].includes(itemType)) {\n itemClass = `nav-${itemType}`;\n } else if (itemType === 'group') {\n // itemClass = 'c-sidebar-nav-group' ;\n itemClass = '';\n } else {\n itemClass = 'nav-item';\n }\n return item.class ? `${itemClass} ${item.class}` : itemClass;\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n Component,\n computed,\n effect,\n ElementRef,\n forwardRef,\n inject,\n input,\n OnChanges,\n OnDestroy,\n OnInit,\n Renderer2,\n signal,\n SimpleChanges,\n untracked\n} from '@angular/core';\nimport { NavigationEnd, Router, RouterModule } from '@angular/router';\nimport { Observable, Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { SidebarService } from '../sidebar.service';\nimport { SidebarComponent } from '../sidebar/sidebar.component';\nimport { INavData } from './sidebar-nav';\nimport { SidebarNavHelper } from './sidebar-nav.service';\nimport { SidebarNavGroupService } from './sidebar-nav-group.service';\nimport { NavGroupService } from '../../nav';\nimport { CollapseDirective } from '../../collapse';\nimport { HtmlAttributesDirective } from '../../shared';\nimport { SidebarNavIconPipe } from './sidebar-nav-icon.pipe';\nimport { SidebarNavBadgePipe } from './sidebar-nav-badge.pipe';\nimport { SidebarNavLinkComponent } from './sidebar-nav-link.component';\nimport { SidebarNavLabelComponent } from './sidebar-nav-label.component';\nimport { SidebarNavTitleComponent } from './sidebar-nav-title.component';\nimport { SidebarNavDividerComponent } from './sidebar-nav-divider.component';\nimport { SidebarNavItemClassPipe } from './sidebar-nav-item-class.pipe';\nimport { IconDirective } from '@coreui/icons-angular';\n\n@Component({\n selector: 'c-sidebar-nav-group',\n templateUrl: './sidebar-nav-group.component.html',\n styleUrls: ['./sidebar-nav-group.component.scss'],\n providers: [SidebarNavHelper],\n imports: [\n CollapseDirective,\n HtmlAttributesDirective,\n IconDirective,\n NgTemplateOutlet,\n SidebarNavIconPipe,\n SidebarNavBadgePipe,\n forwardRef(() => SidebarNavComponent)\n ],\n host: {\n '[class]': 'hostClasses()'\n }\n})\nexport class SidebarNavGroupComponent implements OnInit, OnDestroy {\n readonly #router = inject(Router);\n readonly #hostElement = inject(ElementRef);\n readonly #sidebarNavGroupService = inject(SidebarNavGroupService);\n public readonly helper = inject(SidebarNavHelper);\n\n constructor() {\n const router = this.#router;\n\n this.navigationEndObservable = router.events.pipe(\n filter((event: any) => event instanceof NavigationEnd)\n ) as Observable<NavigationEnd>;\n }\n\n /**\n * The nav data item rendered as a sidebar nav group.\n * @returns INavData\n */\n readonly item = input<INavData>();\n\n /**\n * Determines when an inactive `c-sidebar-nav-group` closes.\n * - `path`: on an active route change only\n * - `close`: when another group is clicked\n * - `none`: never, the group stays open — it stops reacting to the route altogether,\n * so a matching route neither opens it on init nor on a later navigation\n */\n readonly dropdownMode = input<'path' | 'none' | 'close'>('path');\n\n /**\n * Sets the group's initial expanded state.\n * @returns boolean\n */\n readonly show = input<boolean>();\n\n /**\n * Renders the group's nested nav in compact mode.\n * @returns boolean\n */\n readonly compact = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n\n readonly hostClasses = computed(() => {\n return {\n 'nav-group': true,\n show: this.open()\n };\n });\n\n navigationEndObservable: Observable<NavigationEnd>;\n navSubscription!: Subscription;\n navGroupSubscription!: Subscription;\n\n readonly open = signal<boolean | undefined>(undefined);\n readonly navItems = signal<INavData[]>([]);\n readonly display = signal<string | null>(null);\n\n ngOnInit(): void {\n this.navItems.set([...(this.item()?.children ?? [])]);\n\n this.navSubscription = this.navigationEndObservable.subscribe((event: NavigationEnd) => {\n if (this.dropdownMode() !== 'none') {\n const samePath = this.samePath(event.url);\n this.openGroup(samePath);\n }\n });\n\n if (this.dropdownMode() !== 'none' && this.samePath(this.#router.routerState.snapshot.url)) {\n this.openGroup(true);\n }\n\n this.navGroupSubscription = this.#sidebarNavGroupService.sidebarNavGroupState$.subscribe((next) => {\n if (this.dropdownMode() === 'close' && next.sidebarNavGroup && next.sidebarNavGroup !== this) {\n if (this.samePath(this.#router.routerState.snapshot.url)) {\n if (this.open()) {\n return;\n }\n }\n this.openGroup(false);\n }\n });\n }\n\n samePath(url: string): boolean {\n // console.log('item:', this.item.name, this.item.url, 'url:', url);\n const itemUrl = this.item()?.url ?? [];\n const itemArray = Array.isArray(itemUrl) ? itemUrl : itemUrl.split('/');\n const urlArray = url.split('/');\n return itemArray?.every((value: string, index: number) => {\n // console.log(value === urlArray[index], 'value:', value, 'index:', index, urlArray[index], url);\n return value === urlArray[index];\n });\n }\n\n openGroup(open: boolean): void {\n if (this.open() !== undefined && this.open() !== open) {\n // the group drops `show` in the same pass, hiding the nav before cCollapse can measure it\n this.display.set('block');\n }\n this.open.set(open);\n }\n\n toggleGroup($event: any): void {\n $event.preventDefault();\n this.openGroup(!this.open());\n if (this.open()) {\n this.#sidebarNavGroupService.toggle({ open: this.open(), sidebarNavGroup: this });\n }\n }\n\n ngOnDestroy(): void {\n this.navSubscription?.unsubscribe();\n }\n\n onCollapseChange(state: string): void {\n this.display.set(state === 'collapsed' || state === 'open' ? null : 'block');\n }\n}\n\n@Component({\n selector: 'c-sidebar-nav',\n templateUrl: './sidebar-nav.component.html',\n styleUrls: ['./sidebar-nav.component.scss'],\n imports: [\n HtmlAttributesDirective,\n SidebarNavLinkComponent,\n SidebarNavLabelComponent,\n SidebarNavTitleComponent,\n SidebarNavDividerComponent,\n forwardRef(() => SidebarNavGroupComponent),\n SidebarNavItemClassPipe,\n RouterModule\n ],\n host: {\n '[class]': 'hostClasses()',\n '[attr.role]': 'role()'\n },\n providers: [NavGroupService, SidebarNavGroupService]\n})\nexport class SidebarNavComponent implements OnChanges {\n readonly sidebar = inject(SidebarComponent, { optional: true });\n readonly helper = inject(SidebarNavHelper);\n readonly router = inject(Router);\n readonly #renderer = inject(Renderer2);\n readonly #hostElement = inject(ElementRef);\n readonly #sidebarService = inject(SidebarService);\n readonly #navGroupService = inject(NavGroupService);\n\n /**\n * Configuration object for sidebar-nav.\n * @returns INavData[] | undefined\n * @default []\n */\n readonly navItems = input<INavData[] | undefined>([]);\n\n /**\n * Determines when an inactive `c-sidebar-nav-group` closes.\n * - `path`: on an active route change only\n * - `close`: when another group is clicked\n * - `none`: never, the group stays open — it stops reacting to the route altogether,\n * so a matching route neither opens it on init nor on a later navigation\n */\n readonly dropdownMode = input<'path' | 'none' | 'close'>('path');\n /**\n * Renders `c-sidebar-nav` as a nested group's item list rather than the top-level sidebar nav.\n * @returns boolean\n */\n readonly groupItems = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Renders the nav in compact mode.\n * @returns boolean\n */\n readonly compact = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Default role for sidebar nav.\n * @returns string\n * @default 'navigation'\n */\n readonly role = input('navigation');\n /**\n * Set the sidebar nav variant to tree.\n * @default undefined\n * @since 5.7.28\n */\n readonly variant = input<'tree'>();\n\n readonly hostClasses = computed(() => {\n const groupItems = this.groupItems();\n const variant = this.variant();\n return {\n 'sidebar-nav': !groupItems,\n 'nav-group-items': groupItems,\n [`sidebar-nav-${variant}`]: !groupItems && !!variant,\n compact: this.compact()\n };\n });\n\n readonly #dropdownModeEffect = effect(() => {\n const openOnActive = this.dropdownMode() !== 'none';\n untracked(() => {\n this.#navGroupService.openOnActive.set(openOnActive);\n });\n });\n\n // @HostBinding('class.nav-group-items')\n // get sidebarNavGroupItemsClass(): boolean {\n // return !!this.groupItems;\n // }\n\n readonly navItemsArray = signal<INavData[]>([]);\n\n public ngOnChanges(changes: SimpleChanges): void {\n const navItems = this.navItems();\n this.navItemsArray.set(Array.isArray(navItems) ? navItems.slice() : []);\n }\n\n public hideMobile(): void {\n // todo: proper scrollIntoView() after NavigationEnd\n if (this.sidebar && this.sidebar.sidebarState.mobile) {\n this.#sidebarService.toggle({ toggle: 'visible', sidebar: this.sidebar });\n }\n }\n}\n","@let grpItem = item();\n<a\n (click)=\"toggleGroup($event)\"\n [cHtmlAttr]=\"$safeNavigationMigration(grpItem?.attributes)\"\n class=\"nav-link nav-group-toggle\"\n href\n>\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: { $implicit: grpItem }\" />\n <ng-container>{{ grpItem?.name }}</ng-container>\n @if (grpItem?.badge) {\n <span [class]=\"grpItem | cSidebarNavBadge\">{{ grpItem?.badge?.text }}</span>\n }\n</a>\n<c-sidebar-nav\n (collapseChange)=\"onCollapseChange($event)\"\n [compact]=\"compact()\"\n [dropdownMode]=\"dropdownMode()\"\n [groupItems]=\"true\"\n [navItems]=\"navItems()\"\n [style.display]=\"display()\"\n [visible]=\"!!open()\"\n cCollapse\n/>\n\n<ng-template #iconTemplate let-item>\n <!-- <i *ngIf=\"item?.icon\" [class]=\"item | cSidebarNavIcon\"></i>-->\n @if (item?.icon) {\n <span class=\"nav-icon\">\n <span [class]=\"item.icon ?? ''\"></span>\n </span>\n }\n @if (item?.iconComponent) {\n <svg\n [cIcon]=\"$safeNavigationMigration(item.iconComponent?.content)\"\n [customClasses]=\"item | cSidebarNavIcon\"\n [name]=\"$safeNavigationMigration(item.iconComponent?.name)\"\n />\n }\n @if (!item?.icon && !item?.iconComponent) {\n <span [class]=\"item | cSidebarNavIcon\"></span>\n }\n</ng-template>\n","@for (nItem of navItemsArray(); track nItem) {\n @switch (helper.itemType(nItem)) {\n @case ('group') {\n <c-sidebar-nav-group\n [dropdownMode]=\"dropdownMode()\"\n [item]=\"nItem\"\n [class]=\"nItem | cSidebarNavItemClass\"\n [compact]=\"compact()\"\n />\n }\n @case ('divider') {\n <c-sidebar-nav-divider\n [cHtmlAttr]=\"nItem.attributes ?? {}\"\n [item]=\"nItem\"\n [class]=\"nItem | cSidebarNavItemClass\"\n />\n }\n @case ('title') {\n <c-sidebar-nav-title\n [cHtmlAttr]=\"nItem.attributes ?? {}\"\n [item]=\"nItem\"\n [class]=\"nItem | cSidebarNavItemClass\"\n />\n }\n @case ('label') {\n <c-sidebar-nav-label\n [item]=\"nItem\"\n [class]=\"nItem | cSidebarNavItemClass\"\n />\n }\n @case ('empty') {\n <ng-container />\n }\n @default {\n <c-sidebar-nav-link\n (linkClick)=\"hideMobile()\"\n [item]=\"nItem\"\n [class]=\"nItem | cSidebarNavItemClass\"\n />\n }\n }\n}\n<ng-content />\n","import { NgModule } from '@angular/core';\n\nimport { SidebarComponent } from './sidebar/sidebar.component';\nimport { SidebarService } from './sidebar.service';\nimport { SidebarBrandComponent } from './sidebar-brand/sidebar-brand.component';\nimport { SidebarToggleDirective } from './sidebar-toggle/sidebar-toggle.directive';\nimport { SidebarTogglerDirective } from './sidebar-toggler/sidebar-toggler.directive';\nimport { SidebarHeaderComponent } from './sidebar-header/sidebar-header.component';\nimport { SidebarFooterComponent } from './sidebar-footer/sidebar-footer.component';\nimport { SidebarNavGroupService } from './sidebar-nav/sidebar-nav-group.service';\n\nimport {\n SidebarNavBadgePipe,\n SidebarNavComponent,\n SidebarNavDividerComponent,\n SidebarNavGroupComponent,\n SidebarNavHelper,\n SidebarNavIconPipe,\n SidebarNavItemClassPipe,\n SidebarNavLabelComponent,\n SidebarNavLinkComponent,\n SidebarNavLinkContentComponent,\n SidebarNavLinkPipe,\n SidebarNavTitleComponent\n} from './sidebar-nav';\n\n@NgModule({\n imports: [\n SidebarComponent,\n SidebarBrandComponent,\n SidebarFooterComponent,\n SidebarHeaderComponent,\n SidebarNavComponent,\n SidebarNavBadgePipe,\n SidebarNavDividerComponent,\n SidebarNavGroupComponent,\n SidebarNavIconPipe,\n SidebarNavItemClassPipe,\n SidebarNavLabelComponent,\n SidebarNavLinkComponent,\n SidebarNavLinkContentComponent,\n SidebarNavLinkPipe,\n SidebarNavTitleComponent,\n SidebarToggleDirective,\n SidebarTogglerDirective\n ],\n exports: [\n SidebarComponent,\n SidebarToggleDirective,\n SidebarTogglerDirective,\n SidebarBrandComponent,\n SidebarNavComponent,\n SidebarHeaderComponent,\n SidebarFooterComponent\n ],\n providers: [\n SidebarService,\n SidebarNavHelper,\n SidebarNavGroupService\n ]\n})\nexport class SidebarModule {}\n","import { Component, computed, input } from '@angular/core';\n\nimport { Colors } from '../coreui.types';\n\n@Component({\n selector: 'c-spinner',\n templateUrl: './spinner.component.html',\n host: {\n '[attr.role]': 'role()',\n '[class]': 'hostClasses()'\n }\n})\nexport class SpinnerComponent {\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly color = input<Colors>();\n\n /**\n * Label for accessibility.\n * @returns string\n * @default 'Loading...'\n */\n readonly label = input('Loading...');\n\n /**\n * Size the component small.\n * @returns 'sm'\n */\n readonly size = input<'sm'>();\n\n /**\n * Set the button variant to an outlined button or a ghost button.\n * @returns 'border' | 'grow'\n * @default 'border'\n */\n readonly variant = input<'border' | 'grow'>('border');\n /**\n * Default role attr for spinner\n * @returns string\n * @default 'status'\n */\n readonly role = input('status');\n\n readonly hostClasses = computed(() => {\n const color = this.color();\n const size = this.size();\n const variant = this.variant();\n\n return {\n [`spinner-${variant}`]: true,\n [`text-${color}`]: !!color,\n [`spinner-${variant}-${size}`]: !!size\n } as Record<string, boolean>;\n });\n}\n","<ng-content>\n <span class=\"visually-hidden\">{{ label() }}</span>\n</ng-content>\n","import { NgModule } from '@angular/core';\n\nimport { SpinnerComponent } from './spinner.component';\n\n@NgModule({\n exports: [\n SpinnerComponent\n ],\n imports: [\n SpinnerComponent\n ]\n})\nexport class SpinnerModule {}\n","import { computed, Directive, input } from '@angular/core';\nimport { Colors } from '../coreui.types';\n\n@Directive({\n selector: '[cTableColor]',\n exportAs: 'cTableColor',\n host: {\n '[class]': 'hostClasses()'\n }\n})\nexport class TableColorDirective {\n /**\n * Use contextual color for tables, table rows or individual cells.\n * @returns Colors | undefined\n */\n readonly color = input<Colors | undefined>(undefined, { alias: 'cTableColor' });\n\n readonly hostClasses = computed(() => {\n const color = this.color();\n return {\n [`table-${color}`]: !!color\n } as Record<string, boolean>;\n });\n}\n","import { booleanAttribute, Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[cTableActive]',\n exportAs: 'cTableActive',\n host: {\n '[class.table-active]': 'active()'\n }\n})\nexport class TableActiveDirective {\n /**\n * Highlight a table row or cell\n * @returns boolean\n */\n readonly active = input(false, { alias: \"cTableActive\", transform: booleanAttribute });\n}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport {\n afterRenderEffect,\n booleanAttribute,\n computed,\n Directive,\n ElementRef,\n inject,\n input,\n Renderer2\n} from '@angular/core';\nimport { Breakpoints, Colors } from '../coreui.types';\n\n@Directive({\n selector: 'table[cTable]',\n exportAs: 'cTable',\n host: {\n class: 'table',\n '[class]': 'hostClasses()'\n }\n})\nexport class TableDirective {\n static ngAcceptInputType_bordered: BooleanInput;\n static ngAcceptInputType_borderless: BooleanInput;\n static ngAcceptInputType_hover: BooleanInput;\n static ngAcceptInputType_small: BooleanInput;\n static ngAcceptInputType_striped: BooleanInput;\n static ngAcceptInputType_stripedColumns: BooleanInput;\n\n readonly #renderer = inject(Renderer2);\n readonly #hostElement = inject(ElementRef);\n\n /**\n * Set the vertical alignment.\n * @returns 'bottom' | 'middle' | 'top'\n */\n readonly align = input<'bottom' | 'middle' | 'top'>();\n\n /**\n * Sets the border color of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly borderColor = input<Colors>();\n\n /**\n * Add borders on all sides of the table and cells.\n * @returns boolean\n */\n readonly bordered = input(false, { transform: booleanAttribute });\n\n /**\n * Remove borders on all sides of the table and cells.\n * @returns boolean\n */\n readonly borderless = input(false, { transform: booleanAttribute });\n\n /**\n * Put the `<caption>` on the top of the table.\n * @returns 'top'\n * @values 'top'\n */\n readonly caption = input<'top'>();\n\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly color = input<Colors>();\n\n /**\n * Enable a hover state on table rows within table body.\n * @returns boolean\n */\n readonly hover = input(false, { transform: booleanAttribute });\n\n /**\n * Make table responsive across all viewports or pick a maximum breakpoint with which to have a responsive table up to.\n * @returns boolean | Omit<Breakpoints, 'xs'>\n * @values true | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'\n */\n readonly responsive = input<boolean | Omit<Breakpoints, 'xs'>>();\n\n /**\n * Make table more compact by cutting all cell `padding` in half.\n * @returns boolean\n */\n readonly small = input(false, { transform: booleanAttribute });\n\n /**\n * Add zebra-striping to any table row within the table body.\n * @returns boolean\n */\n readonly striped = input(false, { transform: booleanAttribute });\n\n /**\n * Add zebra-striping to any table column.\n * @returns boolean\n * @since 4.2.4\n */\n readonly stripedColumns = input(false, { transform: booleanAttribute });\n\n readonly hostClasses = computed(() => {\n const align = this.align();\n const caption = this.caption();\n const borderColor = this.borderColor();\n const bordered = this.bordered();\n const borderless = this.borderless();\n const color = this.color();\n const hover = this.hover();\n const small = this.small();\n const striped = this.striped();\n const stripedColumns = this.stripedColumns();\n\n return {\n table: true,\n [`align-${align}`]: !!align,\n [`caption-${caption}`]: !!caption,\n [`border-${borderColor}`]: !!borderColor,\n 'table-bordered': bordered,\n 'table-borderless': borderless,\n [`table-${color}`]: !!color,\n 'table-hover': hover,\n 'table-sm': small,\n 'table-striped': striped,\n 'table-striped-columns': stripedColumns\n } as Record<string, boolean>;\n });\n\n readonly #responsiveWrapperEffect = afterRenderEffect({\n // this fixes RuntimeError: NG0500: During hydration Angular expected <abc> but found <xyz>.\n // Find more at https://angular.dev/errors/NG0500\n write: () => {\n const responsive = this.responsive();\n if (!!responsive) {\n const nativeElement: HTMLElement = this.#hostElement.nativeElement;\n const wrapper = this.#renderer.createElement('div');\n const className = responsive === true ? 'table-responsive' : `table-responsive-${responsive}`;\n this.#renderer.addClass(wrapper, className);\n const parentNode = this.#renderer.parentNode(nativeElement);\n this.#renderer.appendChild(parentNode, wrapper);\n this.#renderer.insertBefore(parentNode, wrapper, nativeElement);\n this.#renderer.appendChild(wrapper, nativeElement);\n }\n }\n });\n}\n","import { NgModule } from '@angular/core';\nimport { TableDirective } from './table.directive';\nimport { TableColorDirective } from './table-color.directive';\nimport { TableActiveDirective } from './table-active.directive';\n\n@NgModule({\n exports: [\n TableDirective,\n TableColorDirective,\n TableActiveDirective\n ],\n imports: [\n TableDirective,\n TableColorDirective,\n TableActiveDirective\n ]\n})\nexport class TableModule {}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { TabContentComponent } from './tab-content/tab-content.component';\n\nexport interface ITabContentState {\n activeIdx: number;\n tabContent: TabContentComponent;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TabService {\n private activeTabPaneIdx = new Subject<ITabContentState>();\n activeTabPaneIdx$ = this.activeTabPaneIdx.asObservable();\n\n setActiveTabIdx(tabContentState: ITabContentState) {\n this.activeTabPaneIdx.next(tabContentState);\n }\n}\n","import {\n booleanAttribute,\n ChangeDetectorRef,\n Component,\n HostBinding,\n inject,\n Input,\n OnDestroy,\n ChangeDetectionStrategy\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { TabContentComponent } from '../tab-content/tab-content.component';\nimport { ITabContentState, TabService } from '../tab.service';\n\n@Component({\n selector: 'c-tab-pane',\n template: '<ng-content />',\n styleUrls: ['./tab-pane.component.scss'],\n exportAs: 'cTabPane',\n changeDetection: ChangeDetectionStrategy.Eager,\n host: { class: 'tab-pane' }\n})\nexport class TabPaneComponent implements OnDestroy {\n readonly #changeDetectorRef = inject(ChangeDetectorRef);\n readonly #tabService = inject(TabService);\n\n constructor() {\n this.subscribeTabService();\n }\n\n public tabPaneIdx!: number;\n public tabContent!: TabContentComponent;\n #tabServiceSubscription!: Subscription;\n\n set active(value: boolean) {\n const newValue = booleanAttribute(value);\n if (this.#active !== newValue) {\n this.#active = newValue;\n this.#changeDetectorRef.markForCheck();\n }\n }\n\n get active(): boolean {\n return this.#active;\n }\n\n #active: boolean = false;\n\n @HostBinding('class')\n get hostClasses() {\n return {\n 'tab-pane': true,\n fade: true,\n show: this.active,\n active: this.active\n };\n }\n\n /**\n * Element role.\n * @returns string\n * @default 'tabpanel'\n */\n @Input()\n @HostBinding('attr.role')\n role = 'tabpanel';\n\n ngOnDestroy(): void {\n this.subscribeTabService(false);\n }\n\n subscribeTabService(subscribe: boolean = true) {\n if (subscribe) {\n this.#tabServiceSubscription = this.#tabService.activeTabPaneIdx$.subscribe(\n (tabContentState: ITabContentState) => {\n if (tabContentState.tabContent === this.tabContent) {\n this.active = tabContentState.activeIdx === this.tabPaneIdx;\n }\n }\n );\n } else {\n this.#tabServiceSubscription?.unsubscribe();\n }\n }\n}\n","import {\n AfterContentChecked,\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n inject,\n Input,\n numberAttribute,\n OnChanges,\n OnDestroy,\n output,\n QueryList,\n SimpleChanges\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { TabPaneComponent } from '../tab-pane/tab-pane.component';\nimport { TabService } from '../tab.service';\n\n@Component({\n selector: 'c-tab-content',\n template: '<ng-content />',\n styleUrls: ['./tab-content.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'cTabContent',\n host: { class: 'tab-content' }\n})\nexport class TabContentComponent implements AfterContentChecked, AfterContentInit, OnChanges, OnDestroy {\n readonly #changeDetectorRef = inject(ChangeDetectorRef);\n readonly #tabService = inject(TabService);\n\n /**\n * Set active tabPane index\n * @returns number\n */\n @Input({ transform: numberAttribute })\n set activeTabPaneIdx(value: number) {\n const newValue = value;\n if (this.#activeTabPaneIdx != newValue) {\n this.#activeTabPaneIdx = newValue;\n this.activeTabPaneIdxChange?.emit(newValue);\n this.#changeDetectorRef.markForCheck();\n this.#changeDetectorRef.detectChanges();\n }\n }\n\n get activeTabPaneIdx() {\n return this.#activeTabPaneIdx;\n }\n\n #activeTabPaneIdx = -1;\n\n /**\n * Event emitted on the active tab pane index change.\n * @returns number\n */\n readonly activeTabPaneIdxChange = output<number>();\n\n @ContentChildren(TabPaneComponent) public panes!: QueryList<TabPaneComponent>;\n #tabServiceSubscription!: Subscription;\n\n ngAfterContentInit(): void {\n this.subscribeTabService();\n }\n\n ngAfterContentChecked(): void {\n this.panes?.forEach((tabPane, index) => {\n tabPane.tabContent = this;\n tabPane.tabPaneIdx = index;\n });\n this.refreshTabPaneActive(this.activeTabPaneIdx);\n this.#tabService.setActiveTabIdx({ tabContent: this, activeIdx: this.activeTabPaneIdx });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['activeTabPaneIdx']?.currentValue) {\n this.#tabService.setActiveTabIdx({ tabContent: this, activeIdx: changes['activeTabPaneIdx'].currentValue });\n }\n }\n\n ngOnDestroy(): void {\n this.subscribeTabService(false);\n }\n\n subscribeTabService(subscribe: boolean = true) {\n if (subscribe) {\n this.#tabServiceSubscription = this.#tabService.activeTabPaneIdx$.subscribe((tabContentState) => {\n if (this === tabContentState.tabContent) {\n this.activeTabPaneIdx = tabContentState.activeIdx;\n }\n });\n } else {\n this.#tabServiceSubscription?.unsubscribe();\n }\n }\n\n refreshTabPaneActive(idx: number) {\n // hack for active state pane refresh todo?\n this.panes?.forEach((tabPane, index) => {\n tabPane.active = idx === index;\n });\n }\n}\n","import {\n booleanAttribute,\n ChangeDetectorRef,\n Directive,\n HostBinding,\n HostListener,\n inject,\n Input,\n numberAttribute,\n OnChanges,\n OnDestroy,\n SimpleChanges\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { TabService } from './tab.service';\n\n@Directive({\n selector: '[cTabContent]'\n})\nexport class TabContentRefDirective implements OnChanges, OnDestroy {\n readonly #changeDetectorRef = inject(ChangeDetectorRef);\n readonly #tabService = inject(TabService);\n\n constructor() {\n this.subscribeTabService();\n }\n\n #tabServiceSubscription!: Subscription;\n\n /**\n * Template Ref\n * @returns TemplateRef\n */\n @Input('cTabContent') tabContentRef!: any;\n\n /**\n * Set active state of tab content\n * @returns boolean\n * @default false\n */\n @Input({ transform: booleanAttribute })\n set active(value: boolean) {\n const newValue = value;\n if (this.#active !== newValue) {\n this.#active = newValue;\n this.#changeDetectorRef.detectChanges();\n }\n }\n\n get active() {\n return this.#active;\n }\n\n #active = false;\n\n /**\n * Set disabled state of tab content\n * @returns boolean\n */\n @Input({ transform: booleanAttribute })\n set disabled(value: boolean) {\n this.#disabled = value;\n }\n\n get disabled(): boolean {\n return this.#disabled || this.tabPaneIdx >= this.tabContentRef?.panes?.length;\n }\n\n #disabled = false;\n\n /**\n * c-tab-pane index respectively\n * @returns number\n */\n @Input({ transform: numberAttribute }) tabPaneIdx = -1;\n\n @HostBinding('class')\n get hostClasses() {\n return {\n active: this.active,\n disabled: this.disabled\n };\n }\n\n @HostBinding('attr.aria-disabled')\n get isDisabled(): boolean | null {\n return this.disabled || null;\n }\n\n @HostBinding('attr.disabled')\n get attrDisabled() {\n return this.disabled ? '' : null;\n }\n\n @HostBinding('attr.aria-selected')\n private get ariaSelected() {\n return this.active;\n }\n\n @Input()\n @HostBinding('attr.role')\n role = 'tab';\n\n @HostBinding('attr.tabindex')\n get getTabindex(): string | null {\n return this.disabled ? '-1' : null;\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['active']?.currentValue) {\n this.setActiveTabPane();\n }\n }\n\n @HostListener('click', ['$event'])\n toggleOpen($event: any): void {\n $event.preventDefault();\n this.setActiveTabPane();\n }\n\n setActiveTabPane() {\n setTimeout(() => {\n if (this.tabPaneIdx < this.tabContentRef.panes.length) {\n this.active = true;\n this.#tabService.setActiveTabIdx({ tabContent: this.tabContentRef, activeIdx: this.tabPaneIdx });\n } else {\n this.active = false;\n }\n });\n }\n\n ngOnDestroy(): void {\n this.subscribeTabService(false);\n }\n\n subscribeTabService(subscribe: boolean = true) {\n if (subscribe) {\n this.#tabServiceSubscription = this.#tabService.activeTabPaneIdx$.subscribe((tabContentState) => {\n if (tabContentState.tabContent === this.tabContentRef) {\n this.active = tabContentState.activeIdx === this.tabPaneIdx;\n }\n });\n } else {\n this.#tabServiceSubscription?.unsubscribe();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { TabContentComponent } from './tab-content/tab-content.component';\nimport { TabPaneComponent } from './tab-pane/tab-pane.component';\nimport { TabService } from './tab.service';\nimport { TabContentRefDirective } from './tab-content-ref.directive';\n\n@NgModule({\n imports: [\n TabContentComponent,\n TabContentRefDirective,\n TabPaneComponent\n ],\n exports: [\n TabContentComponent,\n TabPaneComponent,\n TabContentRefDirective\n ],\n providers: [\n TabService\n ]\n})\nexport class TabsModule {}\n","import { Injectable, signal } from '@angular/core';\n\n@Injectable()\nexport class TabsService {\n readonly activeItem = signal<any>(undefined);\n readonly activeItemKey = signal<string | number | undefined>(undefined);\n readonly id = signal<string | number | undefined>(undefined);\n}\n","import { Component, effect, inject, input, model } from '@angular/core';\nimport { TabsService } from './tabs.service';\n\nlet nextId = 0;\n\n@Component({\n exportAs: 'cTabs',\n selector: 'c-tabs',\n imports: [],\n template: '<ng-content />',\n styleUrl: './tabs.component.scss',\n providers: [TabsService],\n host: {\n '[id]': 'id()',\n class: 'tabs'\n }\n})\nexport class TabsComponent {\n readonly tabsService = inject(TabsService);\n\n /**\n * The active item key.\n * @returns number | string\n */\n readonly activeItemKey = model<number | string>();\n\n /**\n * The id attribute\n * @returns string\n */\n tabsId = `tabs-${nextId++}`;\n\n /**\n * HTML id attribute.\n * @returns string\n * @default `tabs-{n}`\n */\n readonly id = input<string>(this.tabsId);\n\n readonly #activeItemEffect = effect(() => {\n this.tabsService.id.set(this.id());\n this.tabsService.activeItemKey.set(this.activeItemKey());\n });\n\n readonly #tabsServiceEffect = effect(() => {\n this.activeItemKey.set(this.tabsService.activeItemKey());\n });\n}\n","import { FocusableOption, FocusOrigin } from '@angular/cdk/a11y';\nimport {\n booleanAttribute,\n computed,\n DestroyRef,\n Directive,\n effect,\n ElementRef,\n inject,\n Injector,\n input,\n InputSignal,\n linkedSignal,\n OnInit,\n runInInjectionContext,\n signal,\n untracked\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { fromEvent, merge, takeWhile } from 'rxjs';\nimport { filter, tap } from 'rxjs/operators';\nimport { TabsService } from '../tabs.service';\n\n@Directive({\n exportAs: 'cTab',\n selector: 'button[cTab]',\n host: {\n '[class]': 'hostClasses()',\n type: 'button',\n role: 'tab',\n '[aria-selected]': 'isActive()',\n '[aria-controls]': 'attrAriaControls()',\n '[attr.disabled]': 'attrDisabled() || null',\n '[id]': 'propId()',\n '[attr.tabindex]': 'isActive() ? 0 : -1'\n }\n})\nexport class TabDirective implements FocusableOption, OnInit {\n readonly #injector = inject(Injector);\n readonly #destroyRef = inject(DestroyRef);\n readonly #elementRef = inject(ElementRef);\n readonly #tabsService = inject(TabsService);\n\n /**\n * Disabled attribute\n * @returns boolean\n * @default false\n */\n readonly disabledInput = input(false, { transform: booleanAttribute, alias: 'disabled' });\n\n readonly #disabled = linkedSignal(this.disabledInput);\n readonly attrDisabled = computed(() => this.#disabled() || null);\n\n set disabled(value: boolean) {\n this.#disabled.set(value);\n }\n\n get disabled() {\n return this.#disabled();\n }\n\n /**\n * Item key.\n * @returns string | number\n * @required\n */\n readonly itemKey: InputSignal<string | number> = input.required<string | number>();\n\n /**\n * Element id attribute\n * @returns string\n * @default undefined\n */\n readonly id: InputSignal<string | undefined> = input<string>();\n\n /**\n * aria-controls attribute\n * @returns string\n * @default undefined\n */\n readonly ariaControls: InputSignal<string | undefined> = input<string | undefined>(undefined, {\n alias: 'aria-controls'\n });\n\n readonly isActive = signal(false);\n\n readonly hostClasses = computed(() => {\n return {\n 'nav-link': true,\n active: this.isActive(),\n disabled: this.#disabled()\n } as Record<string, boolean>;\n });\n\n readonly propId = computed(() => this.id() ?? `${this.#tabsService.id()}-tab-${this.itemKey()}`);\n\n readonly attrAriaControls = computed(\n () => this.ariaControls() ?? `${this.#tabsService.id()}-panel-${this.itemKey()}`\n );\n\n readonly #disabledSignalEffect = effect(() => {\n const disabled = this.#disabled();\n if (!disabled) {\n const click$ = fromEvent<MouseEvent>(this.#elementRef.nativeElement, 'click');\n const focusIn$ = fromEvent<FocusEvent>(this.#elementRef.nativeElement, 'focusin');\n\n merge(focusIn$, click$)\n .pipe(\n filter(($event) => !disabled),\n tap(($event) => {\n this.#tabsService.activeItemKey.set(untracked(this.itemKey));\n }),\n takeWhile(() => !disabled),\n takeUntilDestroyed(this.#destroyRef)\n )\n .subscribe();\n }\n });\n\n focus(origin?: FocusOrigin): void {\n this.#elementRef.nativeElement.focus();\n }\n\n ngOnInit(): void {\n runInInjectionContext(this.#injector, () => {\n effect(() => {\n const isActive = !this.#disabled() && this.#tabsService.activeItemKey() === this.itemKey();\n this.isActive.set(isActive);\n });\n });\n }\n}\n","import { FocusKeyManager } from '@angular/cdk/a11y';\nimport {\n afterEveryRender,\n Component,\n computed,\n contentChildren,\n DestroyRef,\n effect,\n ElementRef,\n inject,\n input,\n InputSignal,\n signal,\n untracked\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { tap } from 'rxjs/operators';\nimport { TabDirective } from '../tab/tab.directive';\nimport { TabsService } from '../tabs.service';\nimport { RtlService } from '../../services';\n\n@Component({\n exportAs: 'cTabsList',\n selector: 'c-tabs-list',\n template: '<ng-content />',\n host: {\n '[attr.role]': 'role()',\n '[class]': 'hostClasses()',\n '(keydown)': 'onKeyDown($event)'\n }\n})\nexport class TabsListComponent {\n readonly #destroyRef = inject(DestroyRef);\n readonly #elementRef = inject(ElementRef);\n readonly tabsService = inject(TabsService);\n readonly #rtlService = inject(RtlService);\n readonly #isRtl = signal(false);\n\n constructor() {\n afterEveryRender({\n read: () => {\n this.#isRtl.set(this.#rtlService.isRTL(this.#elementRef.nativeElement));\n }\n });\n }\n\n /**\n * Specify a layout type for component.\n * @returns 'fill' | 'justified' | undefined\n * @default undefined\n */\n readonly layout: InputSignal<'fill' | 'justified' | undefined> = input();\n\n /**\n * Set the variant to tabs, pills, underline or enclosed.\n * @returns 'enclosed' | 'enclosed-pills' | 'pills' | 'tabs' | 'underline' | 'underline-border' | undefined\n * @default undefined\n */\n readonly variant: InputSignal<\n 'enclosed' | 'enclosed-pills' | 'pills' | 'tabs' | 'underline' | 'underline-border' | undefined\n > = input();\n\n /**\n * Set the role to tab list.\n * @default 'tablist'\n */\n readonly role = input('tablist');\n\n readonly hostClasses = computed(() => {\n const layout = this.layout();\n const variant = this.variant();\n\n return {\n nav: true,\n [`nav-${layout}`]: layout,\n 'nav-enclosed': variant === 'enclosed' || variant === 'enclosed-pills',\n [`nav-${variant}`]: variant\n } as Record<string, boolean>;\n });\n\n readonly tabs = contentChildren(TabDirective);\n #focusKeyManager!: FocusKeyManager<TabDirective>;\n\n readonly #tabsEffect = effect(() => {\n const tabs = this.tabs();\n if (tabs.length === 0) {\n return;\n }\n\n const isRtl = this.#isRtl();\n\n this.#focusKeyManager = new FocusKeyManager(tabs)\n .skipPredicate((tab) => tab.disabled === true)\n .withHorizontalOrientation(isRtl ? 'rtl' : 'ltr')\n .withHomeAndEnd()\n .withWrap();\n\n this.#focusKeyManager.change\n .pipe(\n tap((value) => {\n this.tabsService.activeItemKey.set(this.#focusKeyManager.activeItem?.itemKey());\n this.tabsService.activeItem.set(this.#focusKeyManager.activeItem);\n }),\n takeUntilDestroyed(this.#destroyRef)\n )\n .subscribe();\n\n untracked(() => {\n setTimeout(() => {\n const activeItem = tabs.find((tab) => tab.isActive()) ?? tabs.find((tab) => !tab.disabled);\n const activeItemIndex = tabs.findIndex((tab) => tab === activeItem);\n this.#focusKeyManager?.updateActiveItem(activeItemIndex < 0 ? 0 : activeItemIndex);\n this.tabsService.activeItemKey.set(this.#focusKeyManager.activeItem?.itemKey());\n this.tabsService.activeItem.set(this.#focusKeyManager.activeItem);\n });\n });\n });\n\n readonly #tabsServiceEffect = effect(() => {\n const activeItemIndex = this.tabs().findIndex(\n (tab) => untracked(tab.isActive) && untracked(tab.itemKey) === this.tabsService.activeItemKey()\n );\n this.#focusKeyManager?.updateActiveItem(activeItemIndex < 0 ? 0 : activeItemIndex);\n });\n\n onKeyDown($event: any) {\n if (['ArrowLeft', 'ArrowRight'].includes($event.key)) {\n this.#focusKeyManager.onKeydown($event);\n return;\n }\n if (['Tab'].includes($event.key)) {\n this.#focusKeyManager?.tabOut.next();\n }\n return;\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n exportAs: 'cTabsContent',\n selector: 'c-tabs-content',\n template: '<ng-content />',\n host: {\n class: 'tab-content'\n }\n})\nexport class TabsContentComponent {}\n","const getTransitionDurationFromElement = (element: HTMLElement) => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * 1000\n}\n\nexport default getTransitionDurationFromElement\n","import { Component, computed, effect, ElementRef, inject, input, numberAttribute, output, signal } from '@angular/core';\nimport getTransitionDurationFromElement from '../../utilities/getTransitionDurationFromElement';\nimport { TabsService } from '../tabs.service';\n\nexport type VisibleChangeEvent = { itemKey: string | number; visible: boolean };\n\n@Component({\n exportAs: 'cTabPanel',\n selector: 'c-tab-panel',\n template: '<ng-content />',\n host: {\n '[class]': 'hostClasses()',\n '[attr.tabindex]': 'visible() ? tabindex() : -1',\n '[aria-labelledby]': 'attrAriaLabelledBy()',\n '[id]': 'propId()',\n '[attr.role]': 'role()',\n '(transitionend)': 'onTransitionEnd($event)'\n }\n})\nexport class TabPanelComponent {\n readonly #tabsService = inject(TabsService);\n readonly #elementRef = inject(ElementRef);\n\n /**\n * aria-labelledby attribute\n * @returns string | undefined\n * @default undefined\n */\n readonly ariaLabelledBy = input<string | undefined>(undefined, {\n alias: 'aria-labelledby'\n });\n\n /**\n * Element id attribute\n * @returns string\n * @default undefined\n */\n readonly id = input<string>();\n\n /**\n * Item key.\n * @returns string | number\n * @required\n */\n readonly itemKey = input.required<string | number>();\n\n /**\n * Element role.\n * @returns string\n * @default 'tabpanel'\n */\n readonly role = input('tabpanel');\n\n /**\n * tabindex attribute.\n * @returns number\n * @default 0\n */\n readonly tabindex = input(0, { transform: numberAttribute });\n\n /**\n * Enable fade in transition.\n * @returns boolean\n * @default true\n */\n readonly transition = input(true);\n\n /**\n * visible change output\n * @returns VisibleChangeEvent\n */\n readonly visibleChange = output<VisibleChangeEvent>();\n\n protected readonly show = signal(false);\n\n readonly visible = computed(() => {\n const visible = this.#tabsService.activeItemKey() === this.itemKey() && !this.#tabsService.activeItem()?.disabled;\n this.visibleChange?.emit({ itemKey: this.itemKey(), visible });\n return visible;\n });\n\n #transitionDuration = 0;\n\n readonly #visibleEffect = effect(() => {\n const isVisible = this.visible();\n const hasTransition = this.transition();\n\n if (!hasTransition) {\n this.show.set(isVisible);\n } else {\n requestAnimationFrame(() => {\n if (this.#transitionDuration === 0) {\n this.#transitionDuration = getTransitionDurationFromElement(this.#elementRef.nativeElement);\n }\n setTimeout(() => this.show.set(isVisible), this.#transitionDuration || 0);\n });\n }\n });\n\n protected readonly propId = computed(() => this.id() ?? `${this.#tabsService.id()}-panel-${this.itemKey()}`);\n\n protected readonly attrAriaLabelledBy = computed(\n () => this.ariaLabelledBy() ?? `${this.#tabsService.id()}-tab-${this.itemKey()}`\n );\n\n protected readonly hostClasses = computed(\n () =>\n ({\n 'tab-pane': true,\n active: this.visible(),\n fade: this.transition(),\n show: this.show(),\n invisible: this.#tabsService.activeItem()?.disabled\n }) as Record<string, boolean>\n );\n\n protected onTransitionEnd($event: TransitionEvent): void {\n if ($event.propertyName === 'opacity' && $event.target === this.#elementRef.nativeElement) {\n this.show.set(this.visible());\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { TabsService } from './tabs.service';\nimport { TabsComponent } from './tabs.component';\nimport { TabDirective } from './tab/tab.directive';\nimport { TabsListComponent } from './tabs-list/tabs-list.component';\nimport { TabsContentComponent } from './tabs-content/tabs-content.component';\nimport { TabPanelComponent } from './tab-panel/tab-panel.component';\n\n@NgModule({\n imports: [TabsComponent, TabsListComponent, TabDirective, TabsContentComponent, TabPanelComponent],\n exports: [TabsComponent, TabsListComponent, TabDirective, TabsContentComponent, TabPanelComponent],\n providers: [TabsService]\n})\nexport class Tabs2Module {}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { TToasterPlacement } from './toaster.component';\nimport { type ToastComponent } from '../toast/toast.component';\n\nexport interface IToasterAction {\n placement?: TToasterPlacement;\n toast?: ToastComponent;\n show?: boolean;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ToasterService {\n readonly #toasterState = new BehaviorSubject<IToasterAction>({});\n readonly toasterState$ = this.#toasterState.asObservable();\n\n setState(state: IToasterAction): void {\n this.#toasterState.next({ ...state });\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-toast-content',\n template: `<ng-content />`,\n host: {\n class: 'toast-content'\n },\n styles: `\n .toast-content {\n min-height: 0;\n }\n `\n})\nexport class ToastContentComponent {}\n","import {\n AnimationCallbackEvent,\n booleanAttribute,\n ChangeDetectorRef,\n Component,\n computed,\n DestroyRef,\n effect,\n ElementRef,\n inject,\n input,\n linkedSignal,\n numberAttribute,\n OnDestroy,\n OnInit,\n output,\n Renderer2,\n signal,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { skipWhile } from 'rxjs';\n\nimport { Colors } from '../../coreui.types';\nimport { ToasterService } from '../toaster/toaster.service';\nimport { TToasterPlacement } from '../toaster/toaster.component';\nimport { ToastContentComponent } from './toast-content.component';\n\n@Component({\n selector: 'c-toast',\n template: `\n <c-toast-content>\n <ng-content />\n </c-toast-content>\n `,\n styleUrls: ['./toast.component.scss'],\n exportAs: 'cToast',\n host: {\n class: 'toast',\n '[attr.role]': 'role() || null',\n '[aria-atomic]': 'visible || null',\n '[class]': 'hostClasses()',\n '[inert]': '!visible || null',\n '(animate.enter)': 'handleEnter($event)',\n '(animate.leave)': 'handleLeave($event)',\n '(mouseover)': 'clearTimer()',\n '(mouseout)': 'setTimer()'\n },\n encapsulation: ViewEncapsulation.None,\n imports: [ToastContentComponent]\n})\nexport class ToastComponent implements OnInit, OnDestroy {\n readonly destroyRef = inject(DestroyRef);\n readonly changeDetectorRef = inject(ChangeDetectorRef);\n readonly hostElement = inject(ElementRef);\n readonly renderer = inject(Renderer2);\n readonly toasterService = inject(ToasterService);\n\n /**\n * Marks the toast as dynamically created by `ToasterService`, rather than declared in the template.\n * @returns boolean\n */\n readonly dynamic = input<boolean>();\n\n /**\n * Placement of the toast within its toaster, set by `ToasterComponent`.\n * @returns TToasterPlacement\n */\n readonly placementInput = input<TToasterPlacement>(undefined, { alias: 'placement' });\n\n get placement() {\n return this.placementInput();\n }\n\n /**\n * Auto hide the toast.\n * @returns boolean\n */\n readonly autohide = input(true);\n\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly color = input<Colors>('');\n\n /**\n * Delay hiding the toast (ms).\n * @returns number\n */\n readonly delay = input(5000, { transform: numberAttribute });\n\n /**\n * Apply fade transition to the toast.\n * @returns boolean\n */\n readonly fade = input(true);\n\n /**\n * ARIA role attribute.\n * @returns string\n */\n readonly role = input('alert');\n\n /**\n * Toggle the visibility of component.\n * @returns boolean\n */\n readonly visibleInput = input(false, { transform: booleanAttribute, alias: 'visible' });\n\n readonly #visible = linkedSignal(this.visibleInput);\n\n readonly #visible$ = toObservable(this.#visible);\n\n readonly #visibleEffect = effect(() => {\n const visible = this.#visible();\n visible ? this.setTimer() : this.clearTimer();\n this.changeDetectorRef.markForCheck();\n });\n\n set visible(value: boolean) {\n this.#visible.set(value);\n }\n\n get visible(): boolean {\n return this.#visible();\n }\n\n /**\n * @ignore\n */\n readonly index = input(0, { transform: numberAttribute });\n\n /**\n * Event emitted on visibility change\n * @returns boolean\n */\n readonly visibleChange = output<boolean>();\n\n /**\n * Event emitted on timer tick\n * @returns number\n */\n readonly timer = output<number>();\n\n private timerId: ReturnType<typeof setTimeout> | undefined;\n private clockId: ReturnType<typeof setInterval> | undefined;\n private clockTimerId: ReturnType<typeof setTimeout> | undefined;\n\n private _clock!: number;\n\n get clock(): number {\n return this._clock;\n }\n\n set clock(value) {\n this._clock = value;\n this.timer?.emit(this._clock);\n this.changeDetectorRef.markForCheck();\n }\n\n readonly hostClasses = computed(() => {\n const color = this.color();\n return {\n toast: true,\n show: this.#visible() && this.#rendered(),\n [`text-bg-${color}`]: !!color,\n // [`bg-${color}`]: !!color,\n 'border-0': !!color,\n fade: this.fade()\n } as Record<string, boolean>;\n });\n\n ngOnInit(): void {\n if (this.visible) {\n this.toasterService.setState({\n toast: this,\n show: this.visible,\n placement: this.placement\n });\n this.clearTimer();\n this.setTimer();\n }\n\n // skip the first emission if the initial value is false to prevent emitting visibleChange on init\n this.#visible$\n .pipe(\n skipWhile((value, index) => !value && index === 0),\n takeUntilDestroyed(this.destroyRef)\n )\n .subscribe((visible) => {\n this.visibleChange.emit(visible);\n });\n }\n\n ngOnDestroy(): void {\n this.clearTimer();\n }\n\n setTimer(): void {\n this.clearTimer();\n if (this.autohide() && this.visible) {\n this.timerId = this.delay() > 0 ? setTimeout(() => this.onClose(), this.delay()) : undefined;\n this.setClock();\n }\n }\n\n clearTimer(): void {\n this.clearClock();\n clearTimeout(this.timerId);\n this.timerId = undefined;\n }\n\n onClose(): void {\n this.clearTimer();\n this.toasterService.setState({\n toast: this,\n show: false,\n placement: this.placement\n });\n }\n\n setClock(): void {\n this.clearClock();\n this.clock = 0;\n this.clockId = setInterval(() => {\n this.clock += 1;\n this.changeDetectorRef.markForCheck();\n }, 1000);\n this.clockTimerId = setTimeout(() => {\n this.clearClock();\n }, this.delay());\n }\n\n clearClock(): void {\n clearTimeout(this.clockTimerId);\n clearInterval(this.clockId);\n this.clockId = undefined;\n }\n\n readonly #rendered = signal(false);\n\n protected handleEnter($event: AnimationCallbackEvent) {\n // Check if the component is inserted dynamically / conditionally - the class '.ng-star-inserted' is added to the host element.\n // If the class is present, set the visible state true to trigger the animation.\n const inserted = this.hostElement.nativeElement.classList.contains('ng-star-inserted');\n if (inserted) {\n this.#visible.set(true);\n }\n setTimeout(() => {\n this.#rendered.set(true);\n });\n }\n\n protected handleLeave($event: AnimationCallbackEvent) {\n this.#visible.set(false);\n // component is destroyed already, remove the class\n this.renderer.removeClass(this.hostElement.nativeElement, 'show');\n }\n}\n","import { Component, inject } from '@angular/core';\nimport { ToastComponent } from '../toast/toast.component';\n\n@Component({\n selector: 'c-toast-body',\n template: '<ng-content />',\n styleUrls: ['./toast-body.component.scss'],\n exportAs: 'cToastBody',\n host: {\n class: 'toast-body'\n }\n})\nexport class ToastBodyComponent {\n readonly toast? = inject(ToastComponent, { optional: true });\n}\n","import { Directive, inject, input } from '@angular/core';\nimport { ToasterService } from './toaster/toaster.service';\nimport type { ToastComponent } from './toast/toast.component';\n\n@Directive({\n selector: '[cToastClose]',\n exportAs: 'cToastClose',\n host: {\n '(click)': 'toggleOpen($event)'\n }\n})\nexport class ToastCloseDirective {\n readonly #toasterService = inject(ToasterService);\n\n /**\n * Toast to close.\n * @returns ToastComponent\n */\n readonly cToastClose = input<ToastComponent>();\n\n toggleOpen($event: MouseEvent): void {\n $event.preventDefault();\n this.#toasterService.setState({ show: false, toast: this.cToastClose() });\n }\n}\n","import { Component, inject, input, signal } from '@angular/core';\n\nimport { ButtonCloseDirective } from '../../button';\nimport { ToastComponent } from '../toast/toast.component';\nimport { ToastCloseDirective } from '../toast-close.directive';\n\n@Component({\n selector: 'c-toast-header',\n templateUrl: './toast-header.component.html',\n exportAs: 'cToastHeader',\n imports: [ToastCloseDirective, ButtonCloseDirective],\n host: {\n class: 'toast-header'\n }\n})\nexport class ToastHeaderComponent {\n readonly #toast = inject(ToastComponent, { optional: true });\n\n readonly toast = signal(this.#toast ?? undefined);\n\n /**\n * Add close button to a toast header\n * @returns boolean\n */\n readonly closeButton = input(true);\n}\n","<ng-container>\n <ng-content />\n @if (closeButton()) {\n <button [cToastClose]=\"toast()\" [style]=\"{outline: 0}\" aria-label=\"close\" cButtonClose class=\"ms-auto\"></button>\n }\n</ng-container>\n","import { Directive, inject, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[cToasterHost]',\n exportAs: 'cToasterHost'\n})\nexport class ToasterHostDirective {\n readonly viewContainerRef = inject(ViewContainerRef);\n}\n","import {\n Component,\n ComponentRef,\n computed,\n contentChildren,\n DestroyRef,\n effect,\n inject,\n Injector,\n input,\n MAX_ANIMATION_TIMEOUT,\n NgModuleRef,\n OnInit,\n viewChild,\n ViewContainerRef\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { IToasterAction, ToasterService } from './toaster.service';\nimport { ToasterHostDirective } from './toaster-host.directive';\nimport { ToastComponent } from '../toast/toast.component';\n\nexport enum ToasterPlacement {\n Static = 'static',\n TopStart = 'top-start',\n TopCenter = 'top-center',\n TopEnd = 'top-end',\n MiddleStart = 'middle-start',\n MiddleCenter = 'middle-center',\n MiddleEnd = 'middle-end',\n BottomStart = 'bottom-start',\n BottomCenter = 'bottom-center',\n BottomEnd = 'bottom-end'\n}\n\nexport type TToasterPlacement =\n | ToasterPlacement.Static\n | ToasterPlacement.TopStart\n | ToasterPlacement.TopCenter\n | ToasterPlacement.TopEnd\n | ToasterPlacement.MiddleStart\n | ToasterPlacement.MiddleCenter\n | ToasterPlacement.MiddleEnd\n | ToasterPlacement.BottomStart\n | ToasterPlacement.BottomCenter\n | ToasterPlacement.BottomEnd\n | string;\n\n@Component({\n selector: 'c-toaster',\n templateUrl: './toaster.component.html',\n exportAs: 'cToaster',\n imports: [ToasterHostDirective],\n host: {\n class: 'toaster toast-container',\n '[class]': 'hostClasses()'\n },\n providers: [ToasterService]\n})\nexport class ToasterComponent implements OnInit {\n readonly #toasterService = inject(ToasterService);\n readonly #destroyRef = inject(DestroyRef);\n readonly #maxAnimationTimeout = inject(MAX_ANIMATION_TIMEOUT);\n\n placements = Object.values(ToasterPlacement);\n toastsDynamic: ComponentRef<any>[] = [];\n\n /**\n * Toaster placement\n * @returns TToasterPlacement\n */\n readonly placementInput = input<TToasterPlacement>(ToasterPlacement.TopEnd, { alias: 'placement' });\n\n get placement() {\n return this.placementInput();\n }\n\n /**\n * Toaster position\n * @returns string | 'absolute' | 'fixed' | 'static'\n */\n readonly position = input<string | 'absolute' | 'fixed' | 'static'>('absolute');\n\n readonly toasterHost = viewChild.required(ToasterHostDirective);\n readonly contentToasts = contentChildren(ToastComponent, { read: ViewContainerRef });\n\n readonly #contentToastsEffect = effect(() => {\n // Ensure that the contentToasts is available before accessing it\n // temp fix for: ASSERTION ERROR: Unexpected state: no hydration info available for a given TNode, which represents a view container. [Expected=> null != undefined <=Actual]\n this.contentToasts();\n });\n\n readonly hostClasses = computed(() => {\n const placement = this.placement;\n const position = this.position();\n return {\n toaster: true,\n 'toast-container': true,\n [`position-${position}`]: !!position,\n 'top-0': placement.includes('top'),\n 'top-50': placement.includes('middle'),\n 'bottom-0': placement.includes('bottom'),\n 'start-0': placement.includes('start'),\n 'start-50': placement.includes('center'),\n 'end-0': placement.includes('end'),\n 'translate-middle-x': placement.includes('center') && !placement.includes('middle'),\n 'translate-middle-y': placement.includes('middle') && !placement.includes('center'),\n 'translate-middle': placement.includes('middle') && placement.includes('center')\n } as Record<string, boolean>;\n });\n\n ngOnInit(): void {\n this.stateToasterSubscribe();\n }\n\n public addToast(\n toast: any,\n props: any,\n options?: {\n index?: number;\n injector?: Injector;\n ngModuleRef?: NgModuleRef<unknown>;\n projectableNodes?: Node[][];\n }\n ): ComponentRef<any> {\n const componentRef: ComponentRef<any> = this.toasterHost().viewContainerRef.createComponent(toast, options);\n this.toastsDynamic.push(componentRef);\n const index = this.toastsDynamic.indexOf(componentRef);\n for (const [key, value] of Object.entries(props)) {\n try {\n componentRef.setInput(key, value);\n } catch (error) {\n console.error('Toast input error:', error);\n }\n }\n componentRef.setInput('placement', this.placement);\n componentRef.setInput('dynamic', true);\n componentRef.setInput('index', index);\n componentRef.setInput('visible', true);\n componentRef.instance['visibleChange']?.emit(true);\n componentRef.changeDetectorRef?.markForCheck();\n return componentRef;\n }\n\n public removeToast(state: IToasterAction): void {\n this.toastsDynamic?.forEach((item) => {\n if (state.toast?.dynamic() && item.instance === state.toast) {\n item.setInput('visible', false);\n item.instance['visibleChange'].emit(false);\n setTimeout(() => {\n item?.destroy();\n }, this.#maxAnimationTimeout);\n }\n });\n this.contentToasts()?.forEach((item) => {\n if (state.toast && item.element.nativeElement === state.toast.hostElement.nativeElement) {\n if (!state.toast.dynamic()) {\n state.toast.visible = false;\n }\n }\n });\n }\n\n private stateToasterSubscribe(): void {\n this.#toasterService.toasterState$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe((state) => {\n if (state.show === false) {\n this.removeToast(state);\n }\n // if (state.show === true && state.toast?.dynamic() === undefined) {\n // /* empty */\n // }\n });\n }\n}\n","<ng-template cToasterHost />\n<ng-content />\n","import { NgModule } from '@angular/core';\nimport { ToastComponent } from './toast/toast.component';\nimport { ToastContentComponent } from './toast/toast-content.component';\nimport { ToastHeaderComponent } from './toast-header/toast-header.component';\nimport { ToastBodyComponent } from './toast-body/toast-body.component';\nimport { ToasterComponent } from './toaster/toaster.component';\nimport { ToasterService } from './toaster/toaster.service';\nimport { ToasterHostDirective } from './toaster/toaster-host.directive';\nimport { ToastCloseDirective } from './toast-close.directive';\n\n@NgModule({\n imports: [\n ToastBodyComponent,\n ToastComponent,\n ToastContentComponent,\n ToastCloseDirective,\n ToastHeaderComponent,\n ToasterComponent,\n ToasterHostDirective\n ],\n providers: [ToasterService],\n exports: [\n ToastBodyComponent,\n ToastComponent,\n ToastContentComponent,\n ToastCloseDirective,\n ToastHeaderComponent,\n ToasterComponent,\n ToasterHostDirective\n ]\n})\nexport class ToastModule {}\n","import {\n booleanAttribute,\n Component,\n computed,\n effect,\n inject,\n input,\n OnDestroy,\n Renderer2,\n TemplateRef,\n viewChild,\n ViewContainerRef\n} from '@angular/core';\n\n@Component({\n selector: 'c-tooltip',\n templateUrl: './tooltip.component.html',\n host: {\n class: 'tooltip fade bs-tooltip-auto',\n '[class]': 'hostClasses()',\n '[attr.role]': 'role()',\n '[attr.id]': 'id()'\n }\n})\nexport class TooltipComponent implements OnDestroy {\n readonly renderer = inject(Renderer2);\n\n /**\n * Content of tooltip\n * @returns string | TemplateRef<any>\n */\n readonly content = input<string | TemplateRef<any>>('');\n\n readonly #contentEffect = effect(() => {\n this.updateView(this.content());\n });\n\n /**\n * Toggle the visibility of popover component.\n * @returns boolean\n */\n readonly visible = input(false, { transform: booleanAttribute });\n\n /**\n * The `id` HTML attribute of the tooltip.\n * @returns string\n */\n readonly id = input<string>();\n\n /**\n * Default role for tooltip.\n * @returns string\n * @default 'tooltip'\n */\n readonly role = input('tooltip');\n\n readonly viewContainerRef = viewChild('tooltipTemplate', { read: ViewContainerRef });\n private textNode!: Text;\n\n readonly hostClasses = computed(() => {\n return {\n tooltip: true,\n fade: true,\n show: this.visible(),\n 'bs-tooltip-auto': true\n } as Record<string, boolean>;\n });\n\n ngOnDestroy(): void {\n this.clear();\n }\n\n private clear(): void {\n this.viewContainerRef()?.clear();\n if (!!this.textNode) {\n this.renderer.removeChild(this.textNode.parentNode, this.textNode);\n }\n }\n\n private updateView(content: string | TemplateRef<any>): void {\n this.clear();\n\n if (!content) {\n return;\n }\n\n if (content instanceof TemplateRef) {\n this.viewContainerRef()?.createEmbeddedView(content);\n } else {\n this.textNode = this.renderer.createText(content);\n\n const element = this.viewContainerRef()?.element.nativeElement;\n this.renderer.appendChild(element.parentNode, this.textNode);\n }\n }\n}\n","<ng-container>\n <div class=\"tooltip-arrow\" data-popper-arrow></div>\n <div class=\"tooltip-inner\">\n <ng-container #tooltipTemplate />\n </div>\n</ng-container>\n","import {\n afterRenderEffect,\n AfterViewInit,\n ChangeDetectorRef,\n ComponentRef,\n computed,\n DestroyRef,\n Directive,\n DOCUMENT,\n effect,\n ElementRef,\n inject,\n input,\n model,\n OnDestroy,\n OnInit,\n Renderer2,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { debounceTime, filter, finalize } from 'rxjs/operators';\nimport { createPopper, Instance, Options } from '@popperjs/core';\n\nimport { Triggers } from '../coreui.types';\nimport { IListenersConfig, IntersectionService, ListenersService } from '../services';\nimport { ElementRefDirective } from '../shared';\nimport { TooltipComponent } from './tooltip/tooltip.component';\n\n@Directive({\n selector: '[cTooltip]',\n exportAs: 'cTooltip',\n providers: [ListenersService, IntersectionService],\n host: { '[aria-describedby]': 'ariaDescribedBy' }\n})\nexport class TooltipDirective implements OnDestroy, OnInit, AfterViewInit {\n readonly #renderer = inject(Renderer2);\n readonly #hostElement = inject(ElementRef);\n readonly #viewContainerRef = inject(ViewContainerRef);\n readonly #listenersService = inject(ListenersService);\n readonly #changeDetectorRef = inject(ChangeDetectorRef);\n readonly #intersectionService = inject(IntersectionService);\n readonly #destroyRef = inject(DestroyRef);\n readonly #document = inject(DOCUMENT);\n #timerId1: ReturnType<typeof setTimeout> | undefined;\n #timerId2: ReturnType<typeof setTimeout> | undefined;\n\n /**\n * Content of tooltip\n * @returns string | TemplateRef<any> | undefined\n */\n readonly content = input<string | TemplateRef<any> | undefined>(undefined, { alias: 'cTooltip' });\n\n readonly #contentEffect = effect(() => {\n if (this.content()) {\n this.destroyTooltipElement();\n }\n });\n\n /**\n * Optional popper Options object, takes precedence over cPopoverPlacement prop\n * @returns Partial<Options>\n */\n readonly popperOptions = input<Partial<Options>>({}, { alias: 'cTooltipOptions' });\n\n readonly #popperOptionsEffect = effect(() => {\n this._popperOptions = {\n ...this._popperOptions,\n placement: this.placement(),\n ...this.popperOptions()\n };\n });\n\n readonly popperOptionsComputed = computed(() => {\n return { placement: this.placement(), ...this._popperOptions };\n });\n\n /**\n * Describes the placement of your component after Popper.js has applied all the modifiers that may have flipped or altered the originally provided placement property.\n * @returns 'top' | 'bottom' | 'left' | 'right'\n * @default 'top'\n */\n readonly placement = input<'top' | 'bottom' | 'left' | 'right'>('top', { alias: 'cTooltipPlacement' });\n\n /**\n * ElementRefDirective for positioning the tooltip on reference element\n * @returns ElementRefDirective | undefined\n * @default undefined\n * @since 5.1.0\n */\n readonly reference = input<ElementRefDirective | undefined>(undefined, { alias: 'cTooltipRef' });\n\n readonly referenceRef = computed(() => this.reference()?.elementRef ?? this.#hostElement);\n\n /**\n * Sets which event handlers you’d like provided to your toggle prop. You can specify one trigger or an array of them.\n * @returns Triggers | Triggers[]\n */\n readonly trigger = input<Triggers | Triggers[]>('hover', { alias: 'cTooltipTrigger' });\n\n /**\n * Toggle the visibility of tooltip component.\n * @returns boolean\n */\n readonly visible = model(false, { alias: 'cTooltipVisible' });\n\n readonly #visibleEffect = afterRenderEffect({\n // this fixes RuntimeError: NG0500: During hydration Angular expected <abc> but found <xyz>.\n // Find more at https://angular.dev/errors/NG0500\n write: () => {\n this.visible() ? this.addTooltipElement() : this.removeTooltipElement();\n }\n });\n\n readonly #handleEscapeKey = (event: KeyboardEvent) => {\n if (event.key !== 'Escape') {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n this.visible.set(false);\n };\n\n readonly #escapeEffect = effect((onCleanup) => {\n if (!this.visible()) {\n return;\n }\n\n const useCapture = true;\n\n this.#document.addEventListener('keydown', this.#handleEscapeKey, useCapture);\n onCleanup(() => this.#document.removeEventListener('keydown', this.#handleEscapeKey, useCapture));\n });\n\n get ariaDescribedBy(): string | null {\n return this.tooltipId ? this.tooltipId : null;\n }\n\n private tooltip!: HTMLDivElement;\n private tooltipId!: string;\n private tooltipRef!: ComponentRef<TooltipComponent>;\n private popperInstance!: Instance;\n\n private _popperOptions: Partial<Options> = {\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 5]\n }\n }\n ]\n };\n\n ngAfterViewInit(): void {\n this.intersectionServiceSubscribe();\n }\n\n ngOnDestroy(): void {\n this.clearListeners();\n this.destroyTooltipElement();\n }\n\n ngOnInit(): void {\n this.setListeners();\n }\n\n private setListeners(): void {\n const config: IListenersConfig = {\n hostElement: this.#hostElement,\n trigger: this.trigger(),\n callbackToggle: () => {\n this.visible.update((value) => !value);\n },\n callbackOff: () => {\n this.visible.set(false);\n },\n callbackOn: () => {\n this.visible.set(true);\n }\n };\n this.#listenersService.setListeners(config);\n }\n\n private clearListeners(): void {\n this.#listenersService.clearListeners();\n }\n\n private intersectionServiceSubscribe(): void {\n this.#intersectionService.createIntersectionObserver(this.referenceRef());\n this.#intersectionService.intersecting$\n .pipe(\n filter((next) => next.hostElement === this.referenceRef()),\n debounceTime(100),\n finalize(() => {\n this.#intersectionService.unobserve(this.referenceRef());\n }),\n takeUntilDestroyed(this.#destroyRef)\n )\n .subscribe((next) => {\n this.visible.set(next.isIntersecting ? this.visible() : false);\n });\n }\n\n private getUID(prefix: string): string {\n let uid = prefix ?? 'random-id';\n do {\n uid = `${prefix}-${Math.floor(Math.random() * 1000000).toString(10)}`;\n } while (this.#document.getElementById(uid));\n\n return uid;\n }\n\n private createTooltipElement(): void {\n if (!this.tooltipRef) {\n this.tooltipRef = this.#viewContainerRef.createComponent<TooltipComponent>(TooltipComponent);\n // this.viewContainerRef.detach();\n }\n }\n\n private destroyTooltipElement(): void {\n this.tooltip?.remove();\n this.tooltipRef?.destroy();\n // @ts-ignore\n this.tooltipRef = undefined;\n this.popperInstance?.destroy();\n this.#viewContainerRef?.detach();\n this.#viewContainerRef?.clear();\n }\n\n private addTooltipElement(): void {\n if (!this.content()) {\n this.destroyTooltipElement();\n return;\n }\n\n if (!this.tooltipRef) {\n this.createTooltipElement();\n }\n\n this.tooltipRef?.setInput('content', this.content() ?? '');\n\n this.tooltip = this.tooltipRef?.location.nativeElement;\n this.#renderer.addClass(this.tooltip, 'd-none');\n this.#renderer.addClass(this.tooltip, 'fade');\n\n this.popperInstance?.destroy();\n\n this.#viewContainerRef.insert(this.tooltipRef.hostView);\n this.#renderer.appendChild(this.#document.body, this.tooltip);\n\n this.popperInstance = createPopper(this.referenceRef().nativeElement, this.tooltip, {\n ...this.popperOptionsComputed()\n });\n\n if (!this.visible()) {\n this.removeTooltipElement();\n return;\n }\n\n clearTimeout(this.#timerId2);\n clearTimeout(this.#timerId1);\n this.#timerId1 = setTimeout(() => {\n this.tooltipId = this.getUID('tooltip');\n this.tooltipRef?.setInput('id', this.tooltipId);\n this.#renderer.removeClass(this.tooltip, 'd-none');\n this.tooltipRef?.setInput('visible', this.visible());\n this.popperInstance?.forceUpdate();\n this.#changeDetectorRef?.markForCheck();\n this.#timerId1 = undefined;\n }, 150);\n }\n\n private removeTooltipElement(): void {\n this.tooltipId = '';\n if (!this.tooltipRef) {\n return;\n }\n\n clearTimeout(this.#timerId2);\n this.#timerId2 = setTimeout(() => {\n this.#viewContainerRef?.detach();\n this.#timerId2 = undefined;\n }, 300);\n\n this.tooltipRef.setInput('visible', false);\n this.tooltipRef.setInput('id', undefined);\n this.#changeDetectorRef.markForCheck();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { TooltipComponent } from './tooltip/tooltip.component';\nimport { TooltipDirective } from './tooltip.directive';\n\n@NgModule({\n exports: [\n TooltipComponent,\n TooltipDirective\n ],\n imports: [\n TooltipComponent,\n TooltipDirective\n ]\n})\nexport class TooltipModule {}\n","import { Component, computed, contentChildren, effect, input, InputSignal, TemplateRef } from '@angular/core';\n\nimport { Colors } from '../../coreui.types';\nimport { TemplateIdDirective } from '../../shared';\nimport { CardBodyComponent, CardComponent } from '../../card';\nimport { NgTemplateOutlet } from '@angular/common';\n\n@Component({\n selector: 'c-widget-stat-a',\n templateUrl: './widget-stat-a.component.html',\n exportAs: 'cWidgetStatA',\n imports: [CardBodyComponent, NgTemplateOutlet],\n host: { class: 'card', '[class]': 'hostClasses()' }\n})\nexport class WidgetStatAComponent extends CardComponent {\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n // override readonly color = input<Colors>();\n\n /**\n * Title of the widget to display\n * @returns string\n */\n readonly title: InputSignal<string | undefined> = input();\n\n /**\n * Value for your widget to display\n * @returns string\n */\n readonly value: InputSignal<string | undefined> = input<string>();\n\n readonly contentTemplates = contentChildren(TemplateIdDirective, { descendants: true });\n\n readonly templates = computed(() => {\n return this.contentTemplates().reduce(\n (acc, child) => {\n acc[child.id] = child.templateRef;\n return acc;\n },\n {} as Record<string, TemplateRef<any>>\n );\n });\n\n override readonly hostClasses = computed(() => {\n const color = this.color();\n return {\n card: true,\n [`bg-${color}`]: !!color,\n 'text-white': !!color\n } as Record<string, boolean>;\n });\n\n get bodyClasses() {\n return {\n 'pb-0': true,\n 'd-flex': true,\n 'justify-content-between': true,\n 'align-items-start': true\n };\n }\n}\n","@let _templates = templates();\n<ng-container>\n <c-card-body [class]=\"bodyClasses\">\n <div>\n @if (!!value() || _templates?.['widgetValueTemplate']) {\n <div class=\"fs-4 fw-semibold\">\n <ng-container *ngTemplateOutlet=\"_templates?.['widgetValueTemplate'] || defaultWidgetValueTemplate\" />\n </div>\n }\n @if (!!title() || _templates?.['widgetTitleTemplate']) {\n <div>\n <ng-container *ngTemplateOutlet=\"_templates?.['widgetTitleTemplate'] || defaultWidgetTitleTemplate\" />\n </div>\n }\n </div>\n <ng-container *ngTemplateOutlet=\"_templates?.['widgetActionTemplate'] || defaultWidgetActionTemplate\" />\n </c-card-body>\n <ng-container *ngTemplateOutlet=\"_templates?.['widgetChartTemplate'] || defaultWidgetChartTemplate\" />\n</ng-container>\n\n<ng-template #defaultWidgetTitleTemplate>\n {{ title() }}\n</ng-template>\n\n<ng-template #defaultWidgetValueTemplate>\n {{ value() }}\n</ng-template>\n\n<ng-template #defaultWidgetChartTemplate>\n <ng-content select=\".chart-wrapper\" />\n</ng-template>\n\n<ng-template #defaultWidgetActionTemplate>\n <ng-content />\n</ng-template>\n","import { booleanAttribute, Component, computed, input, InputSignal, InputSignalWithTransform } from '@angular/core';\n\nimport { CardBodyComponent, CardComponent } from '../../card';\n\n@Component({\n selector: 'c-widget-stat-b',\n templateUrl: './widget-stat-b.component.html',\n exportAs: 'cWidgetStatB',\n imports: [CardBodyComponent],\n host: { class: 'card', '[class]': 'hostClasses()' }\n})\nexport class WidgetStatBComponent extends CardComponent {\n constructor() {\n super();\n }\n\n /**\n * Sets the color context of the component to one of CoreUI themed colors.\n * @returns Colors\n */\n // override readonly color: InputSignal<Colors | undefined> = input();\n\n /**\n * Sets the text-color context of the component to one of CoreUI themed colors.\n * via TextColorDirective\n * @returns TextColors\n */\n // override readonly textColor: InputSignal<TextColors | undefined> = input();\n\n /**\n * Title of the widget to display\n * @returns string\n */\n readonly title: InputSignal<string | undefined> = input<string>();\n\n /**\n * Helper text for your widget.\n * @returns string\n */\n readonly text: InputSignal<string | undefined> = input<string>();\n\n /**\n * Value for your widget to display\n * @returns string\n */\n readonly value: InputSignal<string | undefined> = input<string>();\n\n /**\n * Invert colors from their default dark shade.\n * @returns boolean\n */\n readonly inverse: InputSignalWithTransform<boolean, unknown> = input(false, { transform: booleanAttribute });\n\n override readonly hostClasses = computed(() => {\n const color = this.color();\n const textColor = this.textColor();\n return {\n card: true,\n [`bg-${color}`]: !!color,\n [`text-${textColor}`]: !!textColor,\n 'text-white': this.inverse()\n } as Record<string, boolean>;\n });\n}\n","<c-card-body>\n @if (!!value()) {\n <div class=\"fs-4 fw-semibold\">{{ value() }}</div>\n }\n @if (!!title()) {\n <div>{{ title() }}</div>\n }\n <ng-content />\n @if (text()) {\n <small [class]=\"inverse() ? 'text-white text-opacity-75' : 'text-body-secondary'\">\n {{ text() }}\n </small>\n }\n</c-card-body>\n","import { booleanAttribute, Component, computed, contentChildren, effect, input, TemplateRef } from '@angular/core';\n\nimport { CardBodyComponent, CardComponent } from '../../card';\nimport { TemplateIdDirective } from '../../shared';\nimport { NgTemplateOutlet } from '@angular/common';\n\n@Component({\n selector: 'c-widget-stat-c',\n templateUrl: './widget-stat-c.component.html',\n exportAs: 'cWidgetStatC',\n imports: [CardBodyComponent, NgTemplateOutlet],\n host: { '[class]': 'hostExtendedClass()' }\n})\nexport class WidgetStatCComponent extends CardComponent {\n constructor() {\n super();\n }\n\n /**\n * Icon for your component.\n * @returns string\n */\n readonly icon = input<string>();\n\n /**\n * Title of the widget to display\n * @returns string\n */\n readonly title = input<string>();\n\n /**\n * Value for your widget to display\n * @returns string|number\n */\n readonly value = input<string | number>();\n\n /**\n * Invert colors from their default dark shade.\n * @returns boolean\n */\n readonly inverse = input(false, { transform: booleanAttribute });\n\n readonly contentTemplates = contentChildren(TemplateIdDirective, { descendants: true });\n\n readonly templates = computed(() => {\n return this.contentTemplates().reduce(\n (acc, child) => {\n acc[child.id] = child.templateRef;\n return acc;\n },\n {} as Record<string, TemplateRef<any>>\n );\n });\n\n readonly hostExtendedClass = computed(() => {\n return { ...this.hostClasses(), 'text-white': this.inverse() } as Record<string, boolean>;\n });\n\n readonly titleClasses = computed(() => {\n const inverse = this.inverse();\n return {\n 'text-body-secondary': !inverse,\n 'text-white': inverse,\n 'text-opacity-75': inverse,\n [`text-${this.textColor()}`]: !!this.textColor()\n } as Record<string, boolean>;\n });\n\n readonly valueClasses = computed(() => {\n return {\n 'fs-4': !this.textColor(),\n 'fw-semibold': true,\n ...this.titleClasses(),\n 'text-opacity-75': false\n } as Record<string, boolean>;\n });\n\n readonly iconClasses = computed(() => {\n return {\n 'mb-4': !this.textColor(),\n 'text-end': true,\n ...this.titleClasses()\n } as Record<string, boolean>;\n });\n}\n","@let _templates = templates();\n<c-card-body>\n @if (icon() || _templates?.['widgetIconTemplate']) {\n <div [class]=\"iconClasses()\">\n <ng-container *ngTemplateOutlet=\"_templates?.['widgetIconTemplate'] || defaultWidgetIconTemplate\" />\n </div>\n }\n @if (!!value()) {\n <div [class]=\"valueClasses()\">\n {{ value() }}\n </div>\n }\n @if (!!title()) {\n <div [class]=\"titleClasses()\">\n {{ title() }}\n </div>\n }\n @if (_templates?.['widgetProgressTemplate']) {\n <ng-container *ngTemplateOutlet=\"_templates?.['widgetProgressTemplate'] || defaultWidgetProgressTemplate\" />\n }\n</c-card-body>\n\n<ng-template #defaultWidgetIconTemplate>\n {{ icon() }}\n</ng-template>\n\n<ng-template #defaultWidgetProgressTemplate>\n <ng-content />\n</ng-template>\n","import { Component, computed, input } from '@angular/core';\nimport { Colors } from '../../coreui.types';\nimport { CardBodyComponent, CardComponent, CardHeaderComponent } from '../../card';\nimport { ColComponent, RowDirective } from '../../grid';\n\nexport type WidgetStatDValue = {\n title?: string;\n value?: number | string;\n};\n\n@Component({\n selector: 'c-widget-stat-d',\n templateUrl: './widget-stat-d.component.html',\n exportAs: 'cWidgetStatD',\n imports: [CardHeaderComponent, CardBodyComponent, ColComponent, RowDirective],\n host: { class: 'card' }\n})\nexport class WidgetStatDComponent extends CardComponent {\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n // override readonly color = input<Colors>();\n\n /**\n * Values and subtitles for your component.\n * @returns WidgetStatDValue[]\n */\n readonly values = input<WidgetStatDValue[]>();\n\n readonly headerClasses = computed(() => {\n return {\n 'position-relative': true,\n 'd-flex': true,\n 'justify-content-center': true,\n 'align-items-center': true,\n [`bg-${this.color()}`]: this.color()\n } as Record<string, boolean>;\n });\n}\n","<c-card-header [class]=\"headerClasses()\">\n <ng-content />\n</c-card-header>\n<c-card-body cRow class=\"text-center\">\n @for (item of values(); track item; let i = $index) {\n @if (i % 2 !== 0) {\n <div class=\"vr\"></div>\n }\n <c-col>\n <div class=\"fs-5 fw-semibold\">{{ item.value }}</div>\n <div class=\"text-uppercase text-body-secondary small\">{{ item.title }}</div>\n </c-col>\n }\n</c-card-body>\n","import { Component, computed, input } from '@angular/core';\nimport { CardBodyComponent, CardComponent } from '../../card';\n\n@Component({\n selector: 'c-widget-stat-e',\n templateUrl: './widget-stat-e.component.html',\n exportAs: 'cWidgetStatE',\n imports: [CardBodyComponent]\n})\nexport class WidgetStatEComponent extends CardComponent {\n constructor() {\n super();\n }\n\n /**\n * Title of the widget to display\n * @returns string\n */\n readonly title = input<string>();\n\n /**\n * Value for your widget to display\n * @returns string | number\n */\n readonly value = input<string | number>();\n\n readonly titleClasses = computed(() => {\n const textColor = this.textColor();\n return {\n 'text-body-secondary': !textColor,\n small: true,\n 'text-uppercase': true,\n 'fw-semibold': true,\n [`text-${textColor}`]: !!textColor\n } as Record<string, boolean>;\n });\n}\n","<c-card-body class=\"text-center\">\n @if (!!title()) {\n <div [class]=\"titleClasses()\">{{ title() }}</div>\n }\n @if (!!value()) {\n <div class=\"fs-6 fw-semibold py-3\">{{ value() }}</div>\n }\n <ng-content />\n</c-card-body>\n","import { booleanAttribute, Component, computed, contentChildren, effect, input, TemplateRef } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\n\nimport { Colors } from '../../coreui.types';\nimport { TemplateIdDirective } from '../../shared';\nimport { CardBodyComponent, CardComponent, CardFooterComponent } from '../../card';\n\n@Component({\n selector: 'c-widget-stat-f',\n templateUrl: './widget-stat-f.component.html',\n exportAs: 'cWidgetStatB',\n imports: [CardBodyComponent, CardFooterComponent, NgTemplateOutlet],\n host: { class: 'card', '[class]': 'hostClasses()' }\n})\nexport class WidgetStatFComponent extends CardComponent {\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n // override readonly color = input<Colors>();\n\n /**\n * Sets the text-color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n // override readonly textColor = input<TextColors | 'white' | 'muted'>();\n\n /**\n * Footer for your widget\n * @returns string\n */\n readonly footer = input<string>();\n\n /**\n * Icon for your widget\n * @returns string\n */\n readonly icon = input<string>();\n\n /**\n * Set padding of your component.\n * @returns boolean\n */\n readonly padding = input(false, { transform: booleanAttribute });\n\n /**\n * Title of the widget to display\n * @returns string\n */\n readonly title = input<string>();\n\n /**\n * Value for your widget to display\n * @returns string | number\n */\n readonly value = input<string | number>();\n\n readonly contentTemplates = contentChildren(TemplateIdDirective, { descendants: true });\n\n readonly templates = computed(() => {\n return this.contentTemplates().reduce(\n (acc, child) => {\n acc[child.id] = child.templateRef;\n return acc;\n },\n {} as Record<string, TemplateRef<any>>\n );\n });\n\n readonly cardBodyClasses = computed(() => {\n return {\n 'd-flex': true,\n 'align-items-center': true,\n 'p-0': !this.padding()\n } as Record<string, boolean>;\n });\n\n readonly iconClasses = computed(() => {\n const color = this.color();\n const padding = this.padding();\n\n return {\n 'me-3': !this.textColor(),\n 'text-white': true,\n [`bg-${color}`]: !!color,\n 'p-3': padding,\n 'p-4': !padding,\n 'rounded-start-1': !padding\n } as Record<string, boolean>;\n });\n\n readonly titleClasses = computed(() => {\n const textColor = this.textColor();\n return {\n 'text-body-secondary': !textColor,\n small: true,\n 'text-uppercase': true,\n 'fw-semibold': true,\n [`text-${textColor}`]: !!textColor\n } as Record<string, boolean>;\n });\n\n readonly valueClasses = computed(() => {\n const textColor = this.textColor();\n return {\n 'fs-6': !textColor,\n 'fw-semibold': true,\n [`text-${textColor}`]: !!textColor\n } as Record<string, boolean>;\n });\n}\n","@let _templates = templates();\n<ng-container>\n <c-card-body [class]=\"cardBodyClasses()\">\n <div [class]=\"iconClasses()\">\n <ng-container *ngTemplateOutlet=\"_templates?.['widgetIconTemplate'] || defaultWidgetIconTemplate\" />\n </div>\n <div>\n <div [class]=\"valueClasses()\">{{ value() }}</div>\n <div [class]=\"titleClasses()\">{{ title() }}</div>\n </div>\n </c-card-body>\n @if (footer() || _templates?.['widgetFooterTemplate']) {\n <c-card-footer>\n <ng-container *ngTemplateOutlet=\"_templates?.['widgetFooterTemplate'] || defaultFooterIconTemplate\" />\n </c-card-footer>\n }\n</ng-container>\n\n<ng-template #defaultWidgetIconTemplate>\n <span>{{ icon() }}</span>\n</ng-template>\n\n<ng-template #defaultFooterIconTemplate>\n <span>{{ footer() }}</span>\n</ng-template>\n","import { NgModule } from '@angular/core';\n\nimport { WidgetStatAComponent } from './widget-stat-a/widget-stat-a.component';\nimport { WidgetStatBComponent } from './widget-stat-b/widget-stat-b.component';\nimport { WidgetStatCComponent } from './widget-stat-c/widget-stat-c.component';\nimport { WidgetStatDComponent } from './widget-stat-d/widget-stat-d.component';\nimport { WidgetStatEComponent } from './widget-stat-e/widget-stat-e.component';\nimport { WidgetStatFComponent } from './widget-stat-f/widget-stat-f.component';\n\n@NgModule({\n imports: [\n WidgetStatAComponent,\n WidgetStatBComponent,\n WidgetStatCComponent,\n WidgetStatDComponent,\n WidgetStatEComponent,\n WidgetStatFComponent\n ],\n exports: [\n WidgetStatAComponent,\n WidgetStatBComponent,\n WidgetStatCComponent,\n WidgetStatDComponent,\n WidgetStatEComponent,\n WidgetStatFComponent\n ]\n})\nexport class WidgetModule {}\n"],"mappings":"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"}