@coreui/angular 5.7.21 → 5.7.23

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-link.directive.ts","../../../projects/coreui-angular/src/lib/nav/nav-item.component.ts","../../../projects/coreui-angular/src/lib/nav/nav.component.ts","../../../projects/coreui-angular/src/lib/nav/nav.module.ts","../../../projects/coreui-angular/src/lib/navbar/navbar.component.ts","../../../projects/coreui-angular/src/lib/navbar/navbar.component.html","../../../projects/coreui-angular/src/lib/navbar/navbar-brand/navbar-brand.directive.ts","../../../projects/coreui-angular/src/lib/navbar/navbar-nav/navbar-nav.component.ts","../../../projects/coreui-angular/src/lib/navbar/navbar-text/navbar-text.component.ts","../../../projects/coreui-angular/src/lib/navbar/navbar-toggler/navbar-toggler.directive.ts","../../../projects/coreui-angular/src/lib/navbar/navbar.module.ts","../../../projects/coreui-angular/src/lib/modal/modal-body/modal-body.component.ts","../../../projects/coreui-angular/src/lib/modal/modal-content/modal-content.component.ts","../../../projects/coreui-angular/src/lib/modal/modal-dialog/modal-dialog.component.ts","../../../projects/coreui-angular/src/lib/modal/modal.service.ts","../../../projects/coreui-angular/src/lib/modal/modal-dismiss/modal-toggle.directive.ts","../../../projects/coreui-angular/src/lib/modal/modal-footer/modal-footer.component.ts","../../../projects/coreui-angular/src/lib/modal/modal-header/modal-header.component.ts","../../../projects/coreui-angular/src/lib/modal/modal-title/modal-title.directive.ts","../../../projects/coreui-angular/src/lib/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 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 readonly #attrEffect = 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 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 * Add dark theme attribute.\n * @returns 'dark' | 'light' | undefined\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 * Add darker controls, indicators, and captions.\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()', '[attr.aria-expanded]': 'ariaExpanded()' }\n})\nexport class AccordionButtonDirective {\n /**\n * Toggles an accordion button collapsed state. Use in accordionHeaderTemplate.\n * @returns boolean\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()\" [attr.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()\" [attr.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 InputSignal,\n InputSignalWithTransform,\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 '[attr.aria-disabled]': 'ariaDisabled()',\n '[attr.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' | string>('');\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 return this._disabled() ? '-1' : (this.tabindex() ?? null);\n });\n\n readonly isActive = computed(() => {\n return <boolean>this.active() || null;\n });\n}\n","import { booleanAttribute, computed, Directive, input, InputSignalWithTransform } 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 '[attr.aria-disabled]': 'ariaDisabled()',\n '[attr.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: InputSignalWithTransform<boolean, unknown> = 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 '[attr.hidden]': 'hide() ? \"\" : null'\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 string\n * @default 'solid'\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 'd-none': this.hide() && !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\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 'md'\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 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 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 setTimeout(() => {\n if (this.activeBackdrop === backdropElement) {\n this.resetScrollbar();\n }\n if (backdropElement.parentElement === this.#document.body) {\n this.#document.body.removeChild(backdropElement);\n }\n }, 300);\n }\n return undefined;\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 '[attr.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\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 '[attr.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' | string\n */\n readonly size = input<'' | 'sm' | 'lg' | string>();\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'}\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 false, carousel will not automatically cycle.\n * @returns number\n * @default 0\n */\n readonly intervalInput = input(-1, { alias: 'interval', transform: numberAttribute });\n\n readonly interval = linkedSignal({\n source: this.intervalInput,\n computation: (value: number) => value\n });\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 'hover' | 'focus' | 'click'\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\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 'next' | 'prev'\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 [attr.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 [attr.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 '[attr.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 } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\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 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 { 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 '(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 'start' | 'end'\n */\n readonly alignment = input<'start' | 'end' | string>();\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 alignment = this.alignment();\n const visible = this.visible();\n\n return {\n 'dropdown-menu': true,\n [`dropdown-menu-${alignment}`]: !!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 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","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 { 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 '[attr.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 | undefined\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 {'start' | 'end' | { xs: 'start' | 'end' } | { sm: 'start' | 'end' } | { md: 'start' | 'end' } | { lg: 'start' | 'end' } | { xl: 'start' | 'end'} | { xxl: 'start' | 'end'}}\n */\n readonly alignment = input<string>();\n\n /**\n * Automatically close dropdown when clicking outside the dropdown menu.\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 'dropup' | '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 /**\n * Optional popper Options object, `placement` prop takes precedence over\n * @returns Partial<Options>\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.popper()) {\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 '[attr.aria-current]': 'ariaCurrent()',\n '[attr.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 undefined\n */\n readonly disabledInput = input(false, { transform: booleanAttribute, alias: 'disabled' });\n\n readonly #disabled = linkedSignal({\n source: this.disabledInput,\n computation: (value) => value\n });\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 '[attr.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\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' | string>();\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' | string>();\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 * @dafault boolean\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 * @default ''\n */\n readonly sizing = input<'' | 'sm' | 'lg' | string>();\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' | string>();\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' | string>();\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 '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 '[attr.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 '[attr.aria-disabled]': 'ariaDisabled()',\n '[attr.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 InputSignal<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 return this._disabled() ? '-1' : (this.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 { booleanAttribute, computed, Directive, effect, input, numberAttribute } from '@angular/core';\nimport { BooleanInput } from '../coreui.types';\n\n@Directive({\n selector: '[cNavLink]',\n host: {\n '[class]': 'hostClasses()',\n '[attr.aria-current]': 'ariaCurrent()',\n '[attr.aria-disabled]': 'ariaDisabled',\n '[attr.disabled]': 'attrDisabled',\n '[attr.tabindex]': 'attrTabindex',\n '[style.cursor]': 'styleCursor'\n }\n})\nexport class NavLinkDirective {\n static ngAcceptInputType_disabled: BooleanInput;\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 ariaDisabled: boolean | null = null;\n attrDisabled: boolean | string | null = null;\n attrTabindex: number | null = null;\n styleCursor: 'pointer' | null = null;\n\n readonly #disabledEffect = effect(() => {\n const disabled = this.disabled();\n this.ariaDisabled = disabled || null;\n this.attrDisabled = disabled ? '' : null;\n this.attrTabindex = disabled ? -1 : (this.tabindex() ?? null);\n this.styleCursor = disabled ? null : 'pointer';\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","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-nav-item',\n template: '<ng-content />',\n styleUrls: ['./nav-item.component.scss'],\n host: { class: 'nav-item' }\n})\nexport class NavItemComponent {}\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()' }\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 * Set the nav variant to tabs or pills.\n * @default undefined\n */\n readonly variant = input<'tabs' | 'pills' | '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-${variant}`]: !!variant\n } as Record<string, boolean>;\n });\n}\n","import { NgModule } from '@angular/core';\nimport { NavComponent } from './nav.component';\nimport { NavItemComponent } from './nav-item.component';\nimport { NavLinkDirective } from './nav-link.directive';\n\n@NgModule({\n imports: [\n NavComponent,\n NavItemComponent,\n NavLinkDirective\n ],\n exports: [\n NavComponent,\n NavItemComponent,\n NavLinkDirective\n ]\n})\nexport class NavModule {}\n","import { 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 '[attr.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 string\n * @default 'button'\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 '[attr.inert]': 'ariaHidden()',\n '[attr.id]': 'id',\n '[attr.aria-modal]': 'ariaModal()',\n '[attr.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 null\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 modal dismiss.\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 '[attr.inert]': 'ariaHidden() || null',\n '[attr.role]': 'role()',\n '[attr.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 * Component 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';\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({\n source: this.visibleInput,\n computation: (value) => value\n });\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.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 '[attr.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' | string\n */\n readonly size = input<'' | 'sm' | 'lg' | string>();\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, InputSignalWithTransform } from '@angular/core';\n\n@Directive({\n selector: '[cPlaceholder]',\n exportAs: 'cPlaceholder',\n host: {\n '[class]': 'hostClasses()',\n '[attr.aria-hidden]': 'ariaHidden()'\n }\n})\nexport class PlaceholderDirective {\n /**\n * placeholder toggler\n * @returns boolean\n * @default false\n */\n readonly visible: InputSignalWithTransform<boolean, unknown> = input<boolean, unknown>(false, {\n transform: booleanAttribute,\n alias: 'cPlaceholder'\n });\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}\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: { '[attr.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}\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 * @return: '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 * @return: ElementRefDirective\n * @default: undefined\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 * @return: 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 * @values 'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light'\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 `<CProgressBar>` 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 ChangeDetectionStrategy\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 changeDetection: ChangeDetectionStrategy.Eager,\n host: {\n class: 'sidebar',\n '[class]': 'hostClasses()',\n '[attr.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 }\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 { ChangeDetectionStrategy, 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 changeDetection: ChangeDetectionStrategy.Eager,\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 { animate, AnimationEvent, state, style, transition, trigger } from '@angular/animations';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n Component,\n computed,\n ElementRef,\n forwardRef,\n inject,\n input,\n OnChanges,\n OnDestroy,\n OnInit,\n Renderer2,\n signal,\n SimpleChanges,\n viewChild,\n ChangeDetectionStrategy\n} from '@angular/core';\nimport { NavigationEnd, Router, RouterModule } from '@angular/router';\nimport { Observable, Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { SidebarService } from '../sidebar.service';\nimport { SidebarComponent } from '../sidebar/sidebar.component';\nimport { INavData } from './sidebar-nav';\nimport { SidebarNavHelper } from './sidebar-nav.service';\nimport { SidebarNavGroupService } from './sidebar-nav-group.service';\nimport { HtmlAttributesDirective } from '../../shared';\nimport { 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 HtmlAttributesDirective,\n IconDirective,\n NgTemplateOutlet,\n SidebarNavIconPipe,\n SidebarNavBadgePipe,\n forwardRef(() => SidebarNavComponent)\n ],\n animations: [\n trigger('openClose', [\n state(\n 'open',\n style({\n height: '*'\n })\n ),\n state(\n 'closed',\n style({\n height: '0px'\n })\n ),\n transition('open <=> closed', [animate('.15s ease')])\n ])\n ],\n changeDetection: ChangeDetectionStrategy.Eager,\n host: {\n '[class]': 'hostClasses()'\n }\n})\nexport class SidebarNavGroupComponent implements OnInit, OnDestroy {\n readonly #router = inject(Router);\n readonly #renderer = inject(Renderer2);\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\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 readonly sidebarNav = viewChild.required(\n forwardRef(() => SidebarNavComponent),\n { read: ElementRef }\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<any>({ display: 'block' });\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.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 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 onAnimationStart($event: AnimationEvent) {\n this.display.set({ display: 'block' });\n setTimeout(() => {\n const host = this.sidebarNav()?.nativeElement;\n if ($event.toState === 'open' && host) {\n this.#renderer.setStyle(host, 'height', `${host['scrollHeight']}px`);\n }\n });\n }\n\n onAnimationDone($event: AnimationEvent) {\n setTimeout(() => {\n const host = this.sidebarNav()?.nativeElement;\n if ($event.toState === 'open' && host) {\n this.#renderer.setStyle(host, 'height', 'auto');\n }\n if ($event.toState === 'closed') {\n setTimeout(() => {\n this.display.set(null);\n });\n }\n });\n }\n}\n\n@Component({\n selector: 'c-sidebar-nav',\n templateUrl: './sidebar-nav.component.html',\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 changeDetection: ChangeDetectionStrategy.Eager,\n providers: [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\n /**\n * Configuration object for sidebar-nav.\n * @returns INavData[]\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\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 readonly hostClasses = computed(() => {\n const groupItems = this.groupItems();\n return {\n 'sidebar-nav': !groupItems,\n 'nav-group-items': groupItems,\n compact: groupItems && this.compact()\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 (@openClose.done)=\"onAnimationDone($event)\"\n (@openClose.start)=\"onAnimationStart($event)\"\n [@openClose]=\"open() ? 'open' : 'closed'\"\n [compact]=\"compact()\"\n [dropdownMode]=\"dropdownMode()\"\n [groupItems]=\"true\"\n [navItems]=\"navItems()\"\n [style]=\"display()\"\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 string\n * @values '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\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 string\n * @values '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 * @values: {boolean | '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 @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 <string | number | undefined>\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 '[attr.aria-selected]': 'isActive()',\n '[attr.aria-controls]': 'attrAriaControls()',\n '[attr.disabled]': 'attrDisabled() || null',\n '[id]': 'propId()',\n '[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 or underline.\n * @returns 'pills' | 'tabs' | 'underline' | 'underline-border' | undefined\n * @default undefined\n */\n readonly variant: InputSignal<'pills' | 'tabs' | 'underline' | 'underline-border' | undefined> = 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-${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 '[tabindex]': 'visible() ? tabindex() : -1',\n '[attr.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\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}\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: { '[attr.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}\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 * @return: '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 * @return: ElementRefDirective\n * @default: undefined\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 * @return: '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\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","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-link.directive.ts","../../../projects/coreui-angular/src/lib/nav/nav-item.component.ts","../../../projects/coreui-angular/src/lib/nav/nav.component.ts","../../../projects/coreui-angular/src/lib/nav/nav.module.ts","../../../projects/coreui-angular/src/lib/navbar/navbar.component.ts","../../../projects/coreui-angular/src/lib/navbar/navbar.component.html","../../../projects/coreui-angular/src/lib/navbar/navbar-brand/navbar-brand.directive.ts","../../../projects/coreui-angular/src/lib/navbar/navbar-nav/navbar-nav.component.ts","../../../projects/coreui-angular/src/lib/navbar/navbar-text/navbar-text.component.ts","../../../projects/coreui-angular/src/lib/navbar/navbar-toggler/navbar-toggler.directive.ts","../../../projects/coreui-angular/src/lib/navbar/navbar.module.ts","../../../projects/coreui-angular/src/lib/modal/modal-body/modal-body.component.ts","../../../projects/coreui-angular/src/lib/modal/modal-content/modal-content.component.ts","../../../projects/coreui-angular/src/lib/modal/modal-dialog/modal-dialog.component.ts","../../../projects/coreui-angular/src/lib/modal/modal.service.ts","../../../projects/coreui-angular/src/lib/modal/modal-dismiss/modal-toggle.directive.ts","../../../projects/coreui-angular/src/lib/modal/modal-footer/modal-footer.component.ts","../../../projects/coreui-angular/src/lib/modal/modal-header/modal-header.component.ts","../../../projects/coreui-angular/src/lib/modal/modal-title/modal-title.directive.ts","../../../projects/coreui-angular/src/lib/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 * Add dark theme attribute.\n * @returns 'dark' | 'light' | undefined\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 * Add darker controls, indicators, and captions.\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()', '[attr.aria-expanded]': 'ariaExpanded()' }\n})\nexport class AccordionButtonDirective {\n /**\n * Toggles an accordion button collapsed state. Use in accordionHeaderTemplate.\n * @returns boolean\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()\" [attr.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()\" [attr.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 InputSignal,\n InputSignalWithTransform,\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 '[attr.aria-disabled]': 'ariaDisabled()',\n '[attr.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 return this._disabled() ? '-1' : (this.tabindex() ?? null);\n });\n\n readonly isActive = computed(() => {\n return <boolean>this.active() || null;\n });\n}\n","import { booleanAttribute, computed, Directive, input, InputSignalWithTransform } 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 '[attr.aria-disabled]': 'ariaDisabled()',\n '[attr.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: InputSignalWithTransform<boolean, unknown> = 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 '[attr.hidden]': 'hide() ? \"\" : null'\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 string\n * @default 'solid'\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 'd-none': this.hide() && !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\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 'md'\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 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 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 setTimeout(() => {\n if (this.activeBackdrop === backdropElement) {\n this.resetScrollbar();\n }\n if (backdropElement.parentElement === this.#document.body) {\n this.#document.body.removeChild(backdropElement);\n }\n }, 300);\n }\n return undefined;\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 '[attr.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 '[attr.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'\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 false, carousel will not automatically cycle.\n * @returns number\n * @default 0\n */\n readonly intervalInput = input(-1, { alias: 'interval', transform: numberAttribute });\n\n readonly interval = linkedSignal({\n source: this.intervalInput,\n computation: (value: number) => value\n });\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\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 'next' | 'prev'\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 [attr.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 [attr.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 '[attr.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 '[attr.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 | undefined\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: `true` closes the dropdown on a click inside or\n * outside the menu, `false` only on the toggle button or an explicit hide/toggle call\n * and not on the Esc key, `inside` only on a click inside the menu, `outside` only on\n * 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 '[attr.aria-current]': 'ariaCurrent()',\n '[attr.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 undefined\n */\n readonly disabledInput = input(false, { transform: booleanAttribute, alias: 'disabled' });\n\n readonly #disabled = linkedSignal({\n source: this.disabledInput,\n computation: (value) => value\n });\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 '[attr.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\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 * @dafault boolean\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 * @default ''\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 '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 '[attr.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 '[attr.aria-disabled]': 'ariaDisabled()',\n '[attr.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\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 return this._disabled() ? '-1' : (this.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 { booleanAttribute, computed, Directive, effect, input, numberAttribute } from '@angular/core';\nimport { BooleanInput } from '../coreui.types';\n\n@Directive({\n selector: '[cNavLink]',\n host: {\n '[class]': 'hostClasses()',\n '[attr.aria-current]': 'ariaCurrent()',\n '[attr.aria-disabled]': 'ariaDisabled',\n '[attr.disabled]': 'attrDisabled',\n '[attr.tabindex]': 'attrTabindex',\n '[style.cursor]': 'styleCursor'\n }\n})\nexport class NavLinkDirective {\n static ngAcceptInputType_disabled: BooleanInput;\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 ariaDisabled: boolean | null = null;\n attrDisabled: boolean | string | null = null;\n attrTabindex: number | null = null;\n styleCursor: 'pointer' | null = null;\n\n readonly #disabledEffect = effect(() => {\n const disabled = this.disabled();\n this.ariaDisabled = disabled || null;\n this.attrDisabled = disabled ? '' : null;\n this.attrTabindex = disabled ? -1 : (this.tabindex() ?? null);\n this.styleCursor = disabled ? null : 'pointer';\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","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-nav-item',\n template: '<ng-content />',\n styleUrls: ['./nav-item.component.scss'],\n host: { class: 'nav-item' }\n})\nexport class NavItemComponent {}\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()' }\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 * Set the nav variant to tabs or pills.\n * @default undefined\n */\n readonly variant = input<'tabs' | 'pills' | '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-${variant}`]: !!variant\n } as Record<string, boolean>;\n });\n}\n","import { NgModule } from '@angular/core';\nimport { NavComponent } from './nav.component';\nimport { NavItemComponent } from './nav-item.component';\nimport { NavLinkDirective } from './nav-link.directive';\n\n@NgModule({\n imports: [\n NavComponent,\n NavItemComponent,\n NavLinkDirective\n ],\n exports: [\n NavComponent,\n NavItemComponent,\n NavLinkDirective\n ]\n})\nexport class NavModule {}\n","import { 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 '[attr.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\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 '[attr.inert]': 'ariaHidden()',\n '[attr.id]': 'id',\n '[attr.aria-modal]': 'ariaModal()',\n '[attr.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 null\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 modal dismiss.\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 '[attr.inert]': 'ariaHidden() || null',\n '[attr.role]': 'role()',\n '[attr.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 * Component 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';\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({\n source: this.visibleInput,\n computation: (value) => value\n });\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.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 '[attr.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, InputSignalWithTransform } from '@angular/core';\n\n@Directive({\n selector: '[cPlaceholder]',\n exportAs: 'cPlaceholder',\n host: {\n '[class]': 'hostClasses()',\n '[attr.aria-hidden]': 'ariaHidden()'\n }\n})\nexport class PlaceholderDirective {\n /**\n * placeholder toggler\n * @returns boolean\n * @default false\n */\n readonly visible: InputSignalWithTransform<boolean, unknown> = input<boolean, unknown>(false, {\n transform: booleanAttribute,\n alias: 'cPlaceholder'\n });\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}\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: { '[attr.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}\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 * @return: '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 * @return: ElementRefDirective\n * @default: undefined\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 * @return: 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 * @values 'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light'\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 `<CProgressBar>` 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 ChangeDetectionStrategy\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 changeDetection: ChangeDetectionStrategy.Eager,\n host: {\n class: 'sidebar',\n '[class]': 'hostClasses()',\n '[attr.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 }\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 { ChangeDetectionStrategy, 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 changeDetection: ChangeDetectionStrategy.Eager,\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 { animate, AnimationEvent, state, style, transition, trigger } from '@angular/animations';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n Component,\n computed,\n ElementRef,\n forwardRef,\n inject,\n input,\n OnChanges,\n OnDestroy,\n OnInit,\n Renderer2,\n signal,\n SimpleChanges,\n viewChild,\n ChangeDetectionStrategy\n} from '@angular/core';\nimport { NavigationEnd, Router, RouterModule } from '@angular/router';\nimport { Observable, Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { SidebarService } from '../sidebar.service';\nimport { SidebarComponent } from '../sidebar/sidebar.component';\nimport { INavData } from './sidebar-nav';\nimport { SidebarNavHelper } from './sidebar-nav.service';\nimport { SidebarNavGroupService } from './sidebar-nav-group.service';\nimport { HtmlAttributesDirective } from '../../shared';\nimport { 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 HtmlAttributesDirective,\n IconDirective,\n NgTemplateOutlet,\n SidebarNavIconPipe,\n SidebarNavBadgePipe,\n forwardRef(() => SidebarNavComponent)\n ],\n animations: [\n trigger('openClose', [\n state(\n 'open',\n style({\n height: '*'\n })\n ),\n state(\n 'closed',\n style({\n height: '0px'\n })\n ),\n transition('open <=> closed', [animate('.15s ease')])\n ])\n ],\n changeDetection: ChangeDetectionStrategy.Eager,\n host: {\n '[class]': 'hostClasses()'\n }\n})\nexport class SidebarNavGroupComponent implements OnInit, OnDestroy {\n readonly #router = inject(Router);\n readonly #renderer = inject(Renderer2);\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\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 readonly sidebarNav = viewChild.required(\n forwardRef(() => SidebarNavComponent),\n { read: ElementRef }\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<any>({ display: 'block' });\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.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 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 onAnimationStart($event: AnimationEvent) {\n this.display.set({ display: 'block' });\n setTimeout(() => {\n const host = this.sidebarNav()?.nativeElement;\n if ($event.toState === 'open' && host) {\n this.#renderer.setStyle(host, 'height', `${host['scrollHeight']}px`);\n }\n });\n }\n\n onAnimationDone($event: AnimationEvent) {\n setTimeout(() => {\n const host = this.sidebarNav()?.nativeElement;\n if ($event.toState === 'open' && host) {\n this.#renderer.setStyle(host, 'height', 'auto');\n }\n if ($event.toState === 'closed') {\n setTimeout(() => {\n this.display.set(null);\n });\n }\n });\n }\n}\n\n@Component({\n selector: 'c-sidebar-nav',\n templateUrl: './sidebar-nav.component.html',\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 changeDetection: ChangeDetectionStrategy.Eager,\n providers: [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\n /**\n * Configuration object for sidebar-nav.\n * @returns INavData[]\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\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 readonly hostClasses = computed(() => {\n const groupItems = this.groupItems();\n return {\n 'sidebar-nav': !groupItems,\n 'nav-group-items': groupItems,\n compact: groupItems && this.compact()\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 (@openClose.done)=\"onAnimationDone($event)\"\n (@openClose.start)=\"onAnimationStart($event)\"\n [@openClose]=\"open() ? 'open' : 'closed'\"\n [compact]=\"compact()\"\n [dropdownMode]=\"dropdownMode()\"\n [groupItems]=\"true\"\n [navItems]=\"navItems()\"\n [style]=\"display()\"\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 string\n * @values '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\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 string\n * @values '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 * @values: {boolean | '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 '[attr.aria-selected]': 'isActive()',\n '[attr.aria-controls]': 'attrAriaControls()',\n '[attr.disabled]': 'attrDisabled() || null',\n '[id]': 'propId()',\n '[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 or underline.\n * @returns 'pills' | 'tabs' | 'underline' | 'underline-border' | undefined\n * @default undefined\n */\n readonly variant: InputSignal<'pills' | 'tabs' | 'underline' | 'underline-border' | undefined> = 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-${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 '[tabindex]': 'visible() ? tabindex() : -1',\n '[attr.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\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}\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: { '[attr.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}\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 * @return: '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 * @return: ElementRefDirective\n * @default: undefined\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 * @return: '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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"}