{"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.animations.ts","../../../projects/coreui-angular/src/lib/collapse/collapse.directive.ts","../../../projects/coreui-angular/src/lib/collapse/collapse.module.ts","../../../projects/coreui-angular/src/lib/accordion/accordion-item/accordion-item.component.ts","../../../projects/coreui-angular/src/lib/accordion/accordion-item/accordion-item.component.html","../../../projects/coreui-angular/src/lib/accordion/accordion.module.ts","../../../projects/coreui-angular/src/lib/alert/alert-heading.directive.ts","../../../projects/coreui-angular/src/lib/alert/alert-link.directive.ts","../../../projects/coreui-angular/src/lib/button/button.directive.ts","../../../projects/coreui-angular/src/lib/button/button-close.directive.ts","../../../projects/coreui-angular/src/lib/button/button.module.ts","../../../projects/coreui-angular/src/lib/alert/alert.component.ts","../../../projects/coreui-angular/src/lib/alert/alert.component.html","../../../projects/coreui-angular/src/lib/alert/alert.module.ts","../../../projects/coreui-angular/src/lib/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-state.ts","../../../projects/coreui-angular/src/lib/carousel/carousel.config.ts","../../../projects/coreui-angular/src/lib/carousel/carousel/carousel.component.ts","../../../projects/coreui-angular/src/lib/carousel/carousel-caption/carousel-caption.component.ts","../../../projects/coreui-angular/src/lib/carousel/carousel-control/carousel-control.component.ts","../../../projects/coreui-angular/src/lib/carousel/carousel-control/carousel-control.component.html","../../../projects/coreui-angular/src/lib/carousel/carousel-indicators/carousel-indicators.component.ts","../../../projects/coreui-angular/src/lib/carousel/carousel-indicators/carousel-indicators.component.html","../../../projects/coreui-angular/src/lib/carousel/carousel-item/carousel-item.component.ts","../../../projects/coreui-angular/src/lib/carousel/carousel-item/carousel-item.component.html","../../../projects/coreui-angular/src/lib/carousel/carousel.animation.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/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/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.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  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  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   * @return '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  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. [docs]\n   * @type boolean\n   */\n  readonly collapsed = input<boolean | undefined>(undefined);\n\n  /**\n   * Default type for cAccordionButton. [docs]\n   * @type 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   * @type boolean\n   */\n  readonly flush = input(false, { transform: booleanAttribute });\n\n  /**\n   * Make accordion items stay open when another item is opened\n   * @type 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    accordion: true,\n    'accordion-flush': this.flush()\n  }) as Record<string, boolean>);\n}\n","import { animate, animation, style } from '@angular/animations';\n\nexport const expandAnimation = animation([animate('{{ time }} {{ easing }}')]);\n\nexport const collapseAnimation = animation([\n  style({ height: '*', minHeight: '*' }),\n  animate('{{ time }} {{ easing }}', style({ height: 0, minHeight: 0 }))\n]);\n\nexport const expandHorizontalAnimation = animation([animate('{{ time }} {{ easing }}')]);\n\nexport const collapseHorizontalAnimation = animation([animate('{{ time }} {{ easing }}')]);\n","import { AnimationBuilder, AnimationPlayer, useAnimation } from '@angular/animations';\n\nimport {\n  afterNextRender,\n  booleanAttribute,\n  computed,\n  Directive,\n  effect,\n  ElementRef,\n  inject,\n  input,\n  linkedSignal,\n  OnDestroy,\n  output,\n  Renderer2,\n  signal\n} from '@angular/core';\n\nimport {\n  collapseAnimation,\n  collapseHorizontalAnimation,\n  expandAnimation,\n  expandHorizontalAnimation\n} from './collapse.animations';\n\n@Directive({\n  selector: '[cCollapse]',\n  exportAs: 'cCollapse',\n  host: { '[class]': 'hostClasses()', '[style]': '{ display: \"none\" }' }\n})\nexport class CollapseDirective implements OnDestroy {\n  readonly #animationBuilder = inject(AnimationBuilder);\n  readonly #hostElement = inject(ElementRef);\n  readonly #renderer = inject(Renderer2);\n  #player: AnimationPlayer | undefined = undefined;\n\n  constructor() {\n    afterNextRender({\n      read: () => {\n        this.#initialized.set(true);\n      }\n    });\n  }\n\n  /**\n   * @ignore\n   */\n  readonly animateInput = input(true, { transform: booleanAttribute, alias: 'animate' });\n\n  readonly animate = linkedSignal({\n    source: this.animateInput,\n    computation: (value: boolean) => value\n  });\n\n  /**\n   * Set horizontal collapsing to transition the width instead of height.\n   * @type boolean\n   * @default false\n   */\n  readonly horizontal = input(false, { transform: booleanAttribute });\n\n  /**\n   * Toggle the visibility of collapsible element.\n   * @type boolean\n   * @default false\n   */\n  readonly visibleInput = input(false, { transform: booleanAttribute, alias: 'visible' });\n\n  readonly visibleChange = output<boolean>();\n\n  readonly visible = linkedSignal({ source: this.visibleInput, computation: (value: boolean) => value });\n\n  readonly #initialized = signal(false);\n\n  readonly #visibleEffect = effect(() => {\n    const visible = this.visible();\n    if (this.#initialized()) {\n      this.createPlayer(visible);\n    }\n  });\n\n  /**\n   * Add `navbar` prop for grouping and hiding navbar contents by a parent breakpoint.\n   * @type boolean\n   * @default false\n   */\n  readonly navbar = input(false, { transform: booleanAttribute });\n\n  /**\n   * @ignore\n   */\n  readonly duration = input('350ms');\n\n  /**\n   * @ignore\n   */\n  readonly transition = input('ease');\n\n  /**\n   * Event emitted on visibility change. [docs]\n   * @type string\n   */\n  readonly collapseChange = output<string>();\n\n  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.destroyPlayer();\n  }\n\n  toggle(visible = !this.visible()): void {\n    this.visible.set(visible);\n  }\n\n  destroyPlayer(): void {\n    this.#player?.destroy();\n    this.#player = undefined;\n  }\n\n  createPlayer(visible: boolean = this.visible()): void {\n    if (this.#player?.hasStarted()) {\n      this.destroyPlayer();\n    }\n\n    const host: HTMLElement = this.#hostElement.nativeElement;\n\n    if (visible) {\n      this.#renderer.removeStyle(host, 'display');\n    }\n\n    const duration = this.animate() ? this.duration() : '0ms';\n\n    const expand = this.horizontal() ? expandHorizontalAnimation : expandAnimation;\n    const collapse = this.horizontal() ? collapseHorizontalAnimation : collapseAnimation;\n\n    const dimension = this.horizontal() ? 'width' : 'height';\n    const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);\n    const scrollSize = `scroll${capitalizedDimension}`;\n\n    const animationFactory = this.#animationBuilder?.build(\n      useAnimation(visible ? expand : collapse, { params: { time: duration, easing: this.transition() } })\n    );\n\n    this.#player = animationFactory.create(host);\n\n    !visible && host.offsetHeight && host.style[dimension] && host.scrollHeight;\n\n    this.#renderer.setStyle(host, dimension, visible ? 0 : `${host.getBoundingClientRect()[dimension]}px`);\n\n    this.#player.onStart(() => {\n      this.setMaxSize();\n      this.#renderer.removeClass(host, 'collapse');\n      this.#renderer.addClass(host, 'collapsing');\n      this.#renderer.removeClass(host, 'show');\n      this.#renderer.setStyle(host, dimension, visible ? `${(host as any)[scrollSize]}px` : '');\n      if (this.#player) {\n        this.collapseChange?.emit(visible ? 'opening' : 'collapsing');\n      }\n    });\n\n    this.#player.onDone(() => {\n      this.#renderer.removeClass(host, 'collapsing');\n      this.#renderer.addClass(host, 'collapse');\n      if (visible) {\n        this.#renderer.addClass(host, 'show');\n        this.#renderer.setStyle(host, dimension, '');\n      } else {\n        this.#renderer.removeClass(host, 'show');\n      }\n      if (this.#player) {\n        this.collapseChange?.emit(visible ? 'open' : 'collapsed');\n        this.visibleChange?.emit(visible);\n      }\n      this.destroyPlayer();\n    });\n\n    this.#player?.play();\n  }\n\n  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   * @return 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. [docs]\n   * @type InputSignalWithTransform<boolean, unknown>\n   */\n  readonly active: InputSignalWithTransform<boolean, unknown> = input(false, { transform: booleanAttribute });\n\n  /**\n   * Sets the color context of the component to one of CoreUI’s themed colors. [docs]\n   * @type InputSignal<Colors>\n   */\n  readonly color: InputSignal<Colors> = input<Colors>('primary');\n\n  /**\n   * Toggle the disabled state for the component.\n   * @type InputSignalWithTransform<boolean, unknown>\n   */\n  readonly disabled: InputSignalWithTransform<boolean, unknown> = input(false, { transform: booleanAttribute });\n\n  /**\n   * Select the shape of the component.\n   * @return Shapes\n   */\n  readonly shape = input<Shapes>();\n\n  /**\n   * Size the component small or large.\n   * @return  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   * @type InputSignal<ButtonType>\n   * @default 'button'\n   */\n  readonly type: InputSignal<ButtonType> = input<ButtonType>('button');\n\n  /**\n   * Set the button variant to an outlined button or a ghost button.\n   * @type InputSignal<'ghost' | 'outline' | undefined>\n   */\n  readonly variant: InputSignal<'ghost' | 'outline' | undefined> = input<'ghost' | 'outline'>();\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   * @type 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  booleanAttribute,\n  Component,\n  computed,\n  contentChildren,\n  input,\n  linkedSignal,\n  output,\n  signal,\n  TemplateRef\n} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { animate, AnimationEvent, state, style, transition, trigger } from '@angular/animations';\n\nimport { Colors } from '../coreui.types';\nimport { TemplateIdDirective } from '../shared';\nimport { ButtonCloseDirective } from '../button';\n\ntype AnimateType = 'hide' | 'show';\n\n@Component({\n  selector: 'c-alert',\n  templateUrl: './alert.component.html',\n  styleUrls: ['./alert.component.scss'],\n  exportAs: 'cAlert',\n  imports: [NgTemplateOutlet, ButtonCloseDirective],\n  animations: [\n    trigger('fadeInOut', [\n      state('show', style({ opacity: 1, height: '*', padding: '*', border: '*', margin: '*' })),\n      state('hide', style({ opacity: 0, height: 0, padding: 0, border: 0, margin: 0 })),\n      state('void', style({ opacity: 0, height: 0, padding: 0, border: 0, margin: 0 })),\n      transition('show => hide', [animate('.3s ease-out')]),\n      transition('hide => show', [animate('.3s ease-in')]),\n      transition('show => void', [animate('.3s ease-out')]),\n      transition('void => show', [animate('.3s ease-in')])\n    ])\n  ],\n  host: {\n    '[@.disabled]': '!fade()',\n    '[@fadeInOut]': 'animateType',\n    '[attr.role]': 'role()',\n    '[class]': 'hostClasses()',\n    '(@fadeInOut.start)': 'onAnimationStart($event)',\n    '(@fadeInOut.done)': 'onAnimationDone($event)'\n  }\n})\nexport class AlertComponent {\n  /**\n   * Sets the color context of the component to one of CoreUI’s themed colors.\n   * @return Colors\n   * @default 'primary'\n   */\n  readonly color = input<Colors>('primary');\n\n  /**\n   * Default role for alert. [docs]\n   * @return string\n   * @default 'alert'\n   */\n  readonly role = input('alert');\n\n  /**\n   * Set the alert variant to a solid.\n   * @return string\n   */\n  readonly variant = input<'solid'>();\n\n  /**\n   * Optionally adds a close button to alert and allow it to self dismiss.\n   * @return boolean\n   * @default false\n   */\n  readonly dismissibleInput = input(false, { transform: booleanAttribute, alias: 'dismissible' });\n\n  readonly #dismissible = linkedSignal({\n    source: this.dismissibleInput,\n    computation: (value) => {\n      return value;\n    }\n  });\n\n  set dismissible(value: boolean) {\n    this.#dismissible.set(value);\n  }\n\n  get dismissible() {\n    return this.#dismissible();\n  }\n\n  /**\n   * Adds animation for dismissible alert.\n   * @return boolean\n   */\n  readonly fade = input(false, { transform: booleanAttribute });\n\n  /**\n   * Toggle the visibility of alert component.\n   * @return boolean\n   */\n  readonly visibleInput = input(true, { transform: booleanAttribute, alias: 'visible' });\n\n  readonly #visible = linkedSignal({\n    source: this.visibleInput,\n    computation: (value) => {\n      return value;\n    }\n  });\n\n  set visible(value: boolean) {\n    if (this.#visible() !== value) {\n      this.#visible.set(value);\n      this.visibleChange?.emit(value);\n    }\n  }\n\n  get visible() {\n    return this.#visible();\n  }\n\n  readonly hide = signal<boolean>(false);\n\n  /**\n   * Event triggered on the alert dismiss.\n   */\n  readonly visibleChange = output<boolean>();\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  get animateType(): AnimateType {\n    return this.visible ? 'show' : 'hide';\n  }\n\n  readonly hostClasses = computed(() => {\n    const color = this.color();\n    const variant = this.variant();\n\n    return {\n      alert: true,\n      'alert-dismissible': this.dismissible,\n      fade: this.fade(),\n      show: !this.hide(),\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  onAnimationStart($event: AnimationEvent): void {\n    this.onAnimationEvent($event);\n  }\n\n  onAnimationDone($event: AnimationEvent): void {\n    this.onAnimationEvent($event);\n  }\n\n  onAnimationEvent(event: AnimationEvent): void {\n    this.hide.set(event.phaseName === 'start' && event.toState === 'show');\n    if (event.phaseName === 'done') {\n      this.hide.set(event.toState === 'hide' || event.toState === 'void');\n      if (event.toState === 'show') {\n        this.hide.set(false);\n      }\n    }\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=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   * @return 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   * @return 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   * @return 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   * @type 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  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   * @type 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   * @type 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, InputSignal } 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   * @type Colors\n   */\n  readonly color: InputSignal<Colors | undefined> = input();\n\n  /**\n   * Select the shape of the component.\n   * @type Shapes\n   */\n  readonly shape: InputSignal<Shapes | undefined> = input();\n\n  /**\n   * Size the component small, large, or extra large.\n   * @default 'md'\n   */\n  readonly size = input<Omit<Sizes, 'xxl'>>('');\n\n  /**\n   * The alt attribute for the img element alternate text.\n   * @type string\n   */\n  readonly alt: InputSignal<string> = input('');\n\n  /**\n   * The src attribute for the img element.\n   * @type string\n   */\n  readonly src: InputSignal<string | undefined> = input();\n\n  /**\n   * Sets the color context of the status indicator to one of CoreUI’s themed colors.\n   * @type Colors\n   */\n  readonly status: InputSignal<Colors | undefined> = input();\n\n  /**\n   * Sets the text color of the component to one of CoreUI’s themed colors.\n   * via TextColorDirective\n   * @type TextColors\n   */\n  readonly textColor: InputSignal<TextColors | undefined> = input();\n\n  readonly statusClass = computed(() => {\n    return {\n      'avatar-status': true,\n      [`bg-${this.status()}`]: !!this.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 (prefetch on idle) {\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   * @type Colors\n   */\n  readonly color: InputSignal<Colors | undefined> = input();\n  /**\n   * Position badge in one of the corners of a link or button.\n   * @type BadgePositions\n   */\n  readonly position: InputSignal<BadgePositions | undefined> = input();\n\n  /**\n   * Select the shape of the component.\n   * @type 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   * @type 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   * @type 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. [docs]\n   * @return boolean\n   */\n  readonly active = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n\n  /**\n   * The `url` prop for the inner `[routerLink]` directive. [docs]\n   * @return string\n   */\n  readonly url = input<string | any[]>();\n\n  /**\n   * Additional html attributes for link. [docs]\n   * @return INavAttributes\n   */\n  readonly attribs = input<INavAttributes>();\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`. [docs]\n   * @return 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 [routerLink]=\"url()\"\n     [cHtmlAttr]=\"attribs() ?? {}\"\n     [target]=\"attribs()?.['target']\"\n     [queryParams]=\"linkProps()?.queryParams ?? null\"\n     [fragment]=\"linkProps()?.fragment\"\n     [queryParamsHandling]=\"linkProps()?.queryParamsHandling ?? null\"\n     [preserveFragment]=\"linkProps()?.preserveFragment ?? false\"\n     [skipLocationChange]=\"linkProps()?.skipLocationChange ?? false\"\n     [replaceUrl]=\"linkProps()?.replaceUrl ?? false\"\n     [state]=\"linkProps()?.state ?? {}\"\n  >\n    <ng-container *ngTemplateOutlet=\"defaultBreadcrumbItemContentTemplate\" />\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. [docs]\n   * @return string\n   * @default 'breadcrumb'\n   */\n  readonly ariaLabel = input('breadcrumb');\n\n  /**\n   * Default role for breadcrumb. [docs]\n   * @return 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. [docs]\n   * @return 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]=\"breadcrumb?.url\"\n        [attribs]=\"breadcrumb?.attributes\"\n        [linkProps]=\"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   * @return { 'sm' | 'lg' }\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   * @type boolean\n   */\n  readonly vertical: InputSignalWithTransform<boolean, unknown> = input(false, { transform: booleanAttribute });\n\n  /**\n   * Default role attr for ButtonGroup. [docs]\n   * @return 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. [docs]\n   * @type InputSignal<string>\n   * @default 'toolbar'\n   */\n  role: InputSignal<string> = 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   * @type 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   * @type 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   * @type 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   * @type 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   * @type {'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 } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nexport interface ICarouselIndex {\n  active?: number;\n  interval?: number;\n  lastItemIndex?: number;\n}\n\n@Injectable()\nexport class CarouselService {\n  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","import { inject, Injectable } from '@angular/core';\nimport { ICarouselState } from './carousel-state.type';\nimport { CarouselService } from './carousel.service';\nimport { CarouselItemComponent } from './carousel-item/carousel-item.component';\n\n@Injectable()\nexport class CarouselState {\n  readonly #carouselService = inject(CarouselService);\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.#carouselService.setIndex({\n        active: nextState.activeItemIndex,\n        interval: itemInterval,\n        lastItemIndex: (nextState.items?.length ?? 0) - 1\n      });\n    }\n  }\n\n  setItems(newItems: any): void {\n    if (newItems.length) {\n      const itemsArray = newItems;\n      itemsArray.forEach((item: CarouselItemComponent, i: number) => {\n        item.index = i;\n      });\n      this.state = {\n        items: [...itemsArray]\n      };\n    } else {\n      this.reset();\n    }\n  }\n\n  setNextIndex(nextIndex: any): void {\n    this.#carouselService.setIndex(nextIndex);\n  }\n\n  direction(direction: 'next' | 'prev' = 'next'): number {\n    this.state = { direction };\n    const { activeItemIndex = -1, items } = this.state;\n    const itemsCount = items?.length ?? 0;\n    if (itemsCount > 0) {\n      return direction === 'next'\n        ? activeItemIndex === itemsCount - 1\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 { CarouselState } from '../carousel-state';\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, CarouselState, 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 #carouselState = inject(CarouselState);\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) => 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   * @return 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   * @return boolean\n   */\n  readonly animateInput = input<boolean>(true, { alias: 'animate' });\n\n  readonly animate = linkedSignal({\n    source: this.animateInput,\n    computation: (value: boolean) => value\n  });\n\n  /**\n   * Carousel direction. [docs]\n   * @return {'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   * @return 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.#carouselState.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   * @return {'hover' | 'focus' | 'click'}\n   */\n  readonly pause = input<Triggers | Triggers[] | false>('hover');\n\n  /**\n   * Support left/right swipe interactions on touchscreen devices.\n   * @return boolean\n   * @default true\n   */\n  readonly touch = input<boolean>(true);\n\n  /**\n   * Set type of the transition.\n   * @return {'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   * @return boolean\n   * @default true\n   */\n  readonly wrap = input<boolean>(true);\n\n  /**\n   * Event emitted on carousel item change. [docs]\n   * @return 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.carouselStateSubscribe();\n  }\n\n  ngOnDestroy(): void {\n    this.resetTimer();\n    this.clearListeners();\n    this.swipeSubscribe(false);\n  }\n\n  ngAfterContentInit(): void {\n    this.intersectionServiceSubscribe();\n    this.#carouselState.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.#carouselState.direction(direction);\n        this.#carouselState.state = { activeItemIndex: nextIndex };\n      }, interval);\n    }\n  }\n\n  resetTimer(): void {\n    clearTimeout(this.timerId);\n    this.timerId = undefined;\n  }\n\n  private carouselStateSubscribe(): 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          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.#carouselState.direction(distanceX > 0 ? 'next' : 'prev');\n            this.#carouselState.state = { activeItemIndex: nextIndex };\n          }\n        });\n    } else {\n      this.swipeSubscription?.unsubscribe();\n    }\n  }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n  selector: 'c-carousel-caption',\n  template: '<ng-content />',\n  styleUrls: ['./carousel-caption.component.scss'],\n  host: {\n    '[class.carousel-caption]': 'true'\n  }\n})\nexport class CarouselCaptionComponent {}\n","import { Component, computed, inject, input, linkedSignal } from '@angular/core';\n\nimport { CarouselState } from '../carousel-state';\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 #carouselState = inject(CarouselState);\n\n  /**\n   * Carousel control caption. [docs]\n   * @return 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   * @return {'next' | 'prev'}\n   */\n  readonly direction = input<'prev' | 'next'>('next');\n\n  /**\n   * Carousel control role.\n   * @return 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    this.#play();\n  }\n\n  #play(direction = this.direction()): void {\n    const nextIndex = this.#carouselState.direction(direction);\n    this.#carouselState.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, TemplateRef } from '@angular/core';\n\nimport { CarouselState } from '../carousel-state';\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  readonly #carouselState = inject(CarouselState);\n\n  items: (number | undefined)[] = [];\n  active = 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.#carouselState?.state?.items?.map((item) => item.index) ?? [];\n      if ('active' in nextIndex) {\n        this.active = nextIndex.active ?? 0;\n      }\n    });\n  }\n\n  onClick(index: number): void {\n    if (index !== this.active) {\n      const direction = index < this.active ? 'prev' : 'next';\n      this.#carouselState.state = { direction, activeItemIndex: index };\n    }\n  }\n}\n","@let tmpl = templates();\n<ng-container *ngTemplateOutlet=\"tmpl['carouselIndicatorsTemplate'] || defaultCarouselIndicatorsTemplate; context: {$implicit: items, active: active}\" />\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: active === i }\"\n      [attr.aria-current]=\"active === i\">\n    </button>\n  }\n</ng-template>\n","import { booleanAttribute, Component, DestroyRef, inject, input, linkedSignal } 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  templateUrl: './carousel-item.component.html',\n  styleUrls: ['./carousel-item.component.scss'],\n  exportAs: 'cCarouselItem',\n  host: {\n    class: 'carousel-item',\n    '[class.active]': 'active()',\n    '[attr.role]': 'role()'\n  }\n})\nexport class CarouselItemComponent {\n  readonly #destroyRef = inject(DestroyRef);\n  readonly #carouselService = inject(CarouselService);\n\n  index?: number;\n\n  /**\n   * @ignore\n   */\n  readonly activeInput = input(false, { transform: booleanAttribute, alias: 'active' });\n\n  readonly active = linkedSignal({\n    source: this.activeInput,\n    computation: (value) => {\n      return value;\n    }\n  });\n\n  /**\n   * Time delay before cycling to next item. If -1, uses carousel interval value.\n   * @return number\n   * @default -1\n   */\n  readonly interval = input<number>(-1);\n\n  /**\n   * Carousel item role.\n   * @return string\n   * @default 'group'\n   */\n  readonly role = input('group');\n\n  constructor() {\n    this.#carouselService.carouselIndex$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe((nextIndex) => {\n      if ('active' in nextIndex) {\n        this.active.set(nextIndex.active === this.index);\n      }\n    });\n  }\n}\n","@if (active()) {\n  <ng-content />\n}\n","import { animate, animation, group, query, state, style, transition, trigger, useAnimation } from '@angular/animations';\n\nexport function toSlideLeft(fromState: any, toState: any): boolean {\n  return toState.left === true && toState.type === 'slide';\n}\n\nexport function toSlideRight(fromState: any, toState: any): boolean {\n  return toState.left === false && toState.type === 'slide';\n}\n\nexport function toFadeLeft(fromState: any, toState: any): boolean {\n  return toState.left === true && toState.type !== 'slide';\n}\n\nexport function toFadeRight(fromState: any, toState: any): boolean {\n  return toState.left === false && toState.type !== 'slide';\n}\n\nexport const slideAnimationLeft = animation(\n  group([\n    query(\n      ':leave',\n      [\n        animate(\n          '0.6s ease-in-out',\n          style({\n            transform: 'translateX(-100%)'\n          })\n        )\n      ],\n      { optional: true }\n    ),\n    query(\n      ':enter',\n      [\n        style({\n          transform: 'translateX(100%)'\n        }),\n        animate('0.6s ease-in-out', style('*'))\n      ],\n      { optional: true }\n    )\n  ])\n);\n\nexport const slideAnimationRight = animation(\n  group([\n    query(\n      ':enter',\n      [\n        style({\n          transform: 'translateX(-100%)'\n        }),\n        animate('0.6s ease-in-out', style('*'))\n      ],\n      { optional: true }\n    ),\n    query(\n      ':leave',\n      [\n        animate(\n          '0.6s ease-in-out',\n          style({\n            transform: 'translateX(100%)'\n          })\n        )\n      ],\n      { optional: true }\n    )\n  ])\n);\n\nexport const fadeAnimationLeft = animation(\n  group([\n    query(\n      ':leave',\n      [\n        animate(\n          '0.9s ease-in-out',\n          style({\n            zIndex: 0,\n            opacity: 0\n          })\n        )\n      ],\n      { optional: true }\n    ),\n    query(\n      ':enter',\n      [\n        style({\n          zIndex: 1,\n          opacity: 1\n        }),\n        animate('0.6s ease-in-out', style('*'))\n      ],\n      { optional: true }\n    )\n  ])\n);\nexport const fadeAnimationRight = animation(\n  group([\n    query(\n      ':enter',\n      [\n        style({\n          zIndex: 1,\n          opacity: 1\n        }),\n        animate('0.6s ease-in-out', style('*'))\n      ],\n      { optional: true }\n    ),\n    query(\n      ':leave',\n      [\n        animate(\n          '0.9s ease-in-out',\n          style({\n            zIndex: 0,\n            opacity: 0\n          })\n        )\n      ],\n      { optional: true }\n    )\n  ])\n);\n\nexport const carouselPlay = trigger('carouselPlay', [\n  state('*', style({ transform: 'translateX(0)', display: 'block', opacity: 1 })),\n  transition(toFadeLeft, useAnimation(fadeAnimationLeft)),\n  transition(toFadeRight, useAnimation(fadeAnimationRight)),\n  transition(toSlideLeft, useAnimation(slideAnimationLeft)),\n  transition(toSlideRight, useAnimation(slideAnimationRight))\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 { CarouselState } from '../carousel-state';\nimport { carouselPlay } from '../carousel.animation';\n\n@Component({\n  selector: 'c-carousel-inner',\n  styleUrls: ['./carousel-inner.component.scss'],\n  animations: [carouselPlay],\n  template: '<ng-content />',\n  host: {\n    class: 'carousel-inner',\n    '[@carouselPlay]': 'slideType()',\n    '[@.disabled]': '!animate()',\n    '[attr.aria-live]': 'ariaLive()'\n  }\n})\nexport class CarouselInnerComponent implements AfterContentInit, AfterContentChecked {\n  readonly #carouselState = inject(CarouselState);\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.#carouselState?.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.#carouselState.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 { CarouselState } from './carousel-state';\nimport { CarouselConfig } from './carousel.config';\n\n@NgModule({\n  imports: [\n    CarouselComponent,\n    CarouselCaptionComponent,\n    CarouselControlComponent,\n    CarouselIndicatorsComponent,\n    CarouselInnerComponent,\n    CarouselItemComponent\n  ],\n  providers: [CarouselService, CarouselState, CarouselConfig],\n  exports: [\n    CarouselComponent,\n    CarouselCaptionComponent,\n    CarouselControlComponent,\n    CarouselIndicatorsComponent,\n    CarouselInnerComponent,\n    CarouselItemComponent\n  ]\n})\nexport class CarouselModule {\n  static forRoot(): ModuleWithProviders<CarouselModule> {\n    return { ngModule: CarouselModule, providers: [] };\n  }\n}\n","import { Directive } 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   * @return 'start' | 'end'\n   */\n  readonly alignment = input<'start' | 'end' | string>();\n\n  /**\n   * Toggle the visibility of dropdown menu component.\n   * @return 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  // injections\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   * @return DropdownComponent | undefined\n   * @default undefined\n   */\n  readonly dropdownComponent = input<DropdownComponent>();\n\n  /**\n   * Disables the toggler.\n   * @return boolean\n   * @default false\n   */\n  readonly disabled = input<boolean, unknown>(false, { transform: booleanAttribute });\n\n  /**\n   * Enables pseudo element caret on toggler.\n   * @return boolean\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   * @return 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      dropdown?.visibleChange?.subscribe((visible) => {\n        this.#ariaExpanded.set(visible);\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   * @return {'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   */\n  readonly autoClose = input<boolean | 'inside' | 'outside'>(true);\n\n  /**\n   * Sets a specified  direction and location of the dropdown menu.\n   * @return '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   * @return Placement\n   */\n  readonly placement = input<Placement>('bottom-start');\n\n  /**\n   * If you want to disable dynamic positioning set this property to `false`.\n   * @return 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   * @return 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   * @return 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  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   * @return boolean\n   * @default undefined\n   */\n  readonly active = input<boolean>();\n\n  /**\n   * Configure dropdown-item close dropdown behavior.\n   * @return boolean\n   * @default true\n   */\n  readonly autoClose = input<boolean>(true);\n\n  /**\n   * Disables a dropdown-item.\n   * @return 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  readonly role = input<string>('list-item');\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   * @return 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  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  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. [docs]\n   * @type Positions\n   */\n  readonly position: InputSignal<Positions | undefined> = input();\n\n  /**\n   * Default role for footer. [docs]\n   * @return 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. [docs]\n   * @return 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\"` [docs]\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   */\n  readonly breakpoint = input<Exclude<Breakpoints, 'xs'>>('');\n\n  /**\n   * Set container 100% wide, spanning the entire width of the viewport.\n   * @return boolean\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   * @return { 'auto' | number |  boolean }\n   */\n  readonly cCol = input(false, { transform: this.coerceInput });\n  readonly xs = input(false, { transform: this.coerceInput });\n\n  /**\n   * The number of columns/offset/order on small devices (<768px).\n   * @return { 'auto' | number |  boolean }\n   */\n  readonly sm = input(false, { transform: this.coerceInput });\n\n  /**\n   * The number of columns/offset/order on medium devices (<992px).\n   * @return { 'auto' | number |  boolean }\n   */\n  readonly md = input(false, { transform: this.coerceInput });\n\n  /**\n   * The number of columns/offset/order on large devices (<1200px).\n   * @return { 'auto' | number |  boolean }\n   */\n  readonly lg = input(false, { transform: this.coerceInput });\n\n  /**\n   * The number of columns/offset/order on X-Large devices (<1400px).\n   * @return { 'auto' | number |  boolean }\n   */\n  readonly xl = input(false, { transform: this.coerceInput });\n\n  /**\n   * The number of columns/offset/order on XX-Large devices (≥1400px).\n   * @return { 'auto' | number |  boolean }\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  readonly offset = input<ColOffsetType>();\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   * @return { cols: 'auto' | number }\n   */\n  readonly xs = input<NumberOfColumns>();\n\n  /**\n   * The number of columns/offset/order on small devices (<768px).\n   * @return { cols: 'auto' | number }\n   */\n  readonly sm = input<NumberOfColumns>();\n\n  /**\n   * The number of columns/offset/order on medium devices (<992px).\n   * @return { cols: 'auto' | number }\n   */\n  readonly md = input<NumberOfColumns>();\n\n  /**\n   * The number of columns/offset/order on large devices (<1200px).\n   * @return { cols: 'auto' | number }\n   */\n  readonly lg = input<NumberOfColumns>();\n\n  /**\n   * The number of columns/offset/order on X-Large devices (<1400px).\n   * @return { cols: 'auto' | number }\n   */\n  readonly xl = input<NumberOfColumns>();\n\n  /**\n   * The number of columns/offset/order on XX-Large devices (≥1400px).\n   * @return { cols: 'auto' | number }\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   */\n  readonly container = input<Container>();\n  /**\n   * Place header in non-static positions.\n   */\n  readonly position = input<Positions>();\n  /**\n   * Default role for header. [docs]\n   * @type string\n   * @default 'banner'\n   */\n  readonly role: InputSignal<string> = 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. [docs]\n   * @return 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. [docs]\n   * @return 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. [docs]\n   * @return string\n   * @default 'button'\n   */\n  readonly type = input('button');\n\n  /**\n   * Default aria-label attr for header-toggler. [docs]\n   * @type 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   * @type {'' | 'start' | 'end' | 'center'}\n   */\n  readonly align: InputSignal<'' | 'start' | 'end' | 'center'> = input<'' | 'start' | 'end' | 'center'>('');\n\n  /**\n   * Make image responsive.\n   * @type boolean\n   */\n  readonly fluid: InputSignalWithTransform<boolean, unknown> = input(false, { transform: booleanAttribute });\n\n  /**\n   * Make image rounded.\n   * @type boolean\n   */\n  readonly rounded: InputSignalWithTransform<boolean, unknown> = input(false, { transform: booleanAttribute });\n\n  /**\n   * Give an image a rounded 1px border appearance.\n   * @type 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   * @type 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   * @type InputSignalWithTransform<boolean, unknown>\n   */\n  readonly active: InputSignalWithTransform<boolean, unknown> = input(false, { transform: booleanAttribute });\n\n  /**\n   * Sets the color context of the component to one of CoreUI’s themed colors.\n   * @type InputSignal<boolean | undefined>\n   */\n  readonly color: InputSignal<Colors | undefined> = input();\n\n  /**\n   * Set disabled attr for the host element. [docs]\n   * @type boolean\n   */\n  readonly disabled: InputSignalWithTransform<boolean, unknown> = 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   */\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. [docs]\n   * @default true\n   */\n  readonly cNavLink = input(true, { transform: booleanAttribute });\n\n  /**\n   * Toggle the active state for the component. [docs]\n   * @default undefined\n   */\n  readonly active = input<boolean>();\n\n  /**\n   * Set disabled attr for the host element. [docs]\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   */\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  AfterContentInit,\n  afterEveryRender,\n  Component,\n  computed,\n  contentChild,\n  DOCUMENT,\n  ElementRef,\n  inject,\n  input,\n  OnDestroy,\n  signal\n} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { Subscription } from 'rxjs';\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 implements AfterContentInit, OnDestroy {\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   * @type 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  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  #observer!: Subscription;\n\n  ngAfterContentInit(): void {\n    const breakpoint = this.breakpoint();\n    if (breakpoint) {\n      const onBreakpoint = `(min-width: ${breakpoint})`;\n      this.#observer = this.#breakpointObserver\n        .observe([onBreakpoint])\n        .pipe()\n        .subscribe((result) => {\n          const collapse = this.collapse();\n          if (collapse) {\n            const animate = collapse.animate();\n            collapse.animate.set(false);\n            collapse.toggle(false);\n            setTimeout(() => {\n              collapse.toggle(result.matches);\n              setTimeout(() => {\n                collapse.animate.set(animate);\n              });\n            });\n          }\n        });\n    }\n  }\n\n  ngOnDestroy(): void {\n    this.#observer?.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  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   * @type 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) . [docs]\n   * @type string\n   * @default 'button'\n   */\n  readonly collapseRef = input<CollapseDirective | undefined>(undefined, { alias: 'cNavbarToggler' });\n\n  /**\n   * Default type for navbar-toggler. [docs]\n   * @type string\n   * @default 'button'\n   */\n  readonly type = input('button');\n\n  /**\n   * Default aria-label attr for navbar-toggler. [docs]\n   * @type string\n   * @default 'Toggle navigation'\n   */\n  readonly ariaLabel = input('Toggle navigation');\n\n  handleClick($event: MouseEvent): void {\n    const collapseRef = this.collapseRef();\n    collapseRef?.toggle(!collapseRef?.visible());\n  }\n\n  addDefaultIcon(): void {\n    const span = this.#renderer.createElement('span');\n    this.#renderer.addClass(span, 'navbar-toggler-icon');\n    this.#renderer.appendChild(this.#hostElement.nativeElement, span);\n  }\n}\n","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   * @return {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   * @return {boolean}\n   */\n  readonly scrollable = input(false, { transform: booleanAttribute });\n\n  /**\n   * Size the component small, large, or extra large.\n   * @default undefined\n   * @return {'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 {\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:keyup)': 'onKeyUpHandler($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   * @return {'top' | 'center'}\n   * @default 'top'\n   */\n  readonly alignment = input<'top' | 'center'>('top');\n\n  /**\n   * Apply a backdrop on body while modal is open.\n   * @return boolean | 'static'\n   * @default true\n   */\n  readonly backdrop = input<boolean | 'static'>(true);\n\n  /**\n   * Set modal to cover the entire user viewport.\n   * @return {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 escape key is pressed.\n   * @return boolean\n   * @default true\n   */\n  readonly keyboard = input(true, { transform: booleanAttribute });\n\n  readonly attrId = input<string>(undefined, { alias: 'id' });\n\n  get id() {\n    return this.attrId();\n  }\n\n  /**\n   * Size the component small, large, or extra large.\n   * @return {'sm' | 'lg' | 'xl'}\n   * @default undefined\n   */\n  readonly size = input<'sm' | 'lg' | 'xl'>();\n\n  /**\n   * Remove animation to create modal that simply appear rather than fade in to view.\n   */\n  readonly transition = input(true, { transform: booleanAttribute });\n\n  /**\n   * Default role for modal\n   * @return string\n   * @default 'dialog'\n   */\n  readonly role = input('dialog');\n\n  /**\n   * Set aria-modal html attr for modal\n   * @type 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   * @return boolean\n   * @default false\n   */\n  readonly scrollable = input(false, { transform: booleanAttribute });\n\n  /**\n   * Toggle the visibility of modal component.\n   * @return boolean\n   * @default false\n   */\n  readonly visibleInput = input(false, { transform: booleanAttribute, alias: 'visible' });\n\n  readonly visible = linkedSignal(this.visibleInput);\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   * @return boolean\n   */\n  readonly visibleChange = output<boolean>();\n\n  // @ViewChild(ModalContentComponent, { read: ElementRef }) modalContent!: ElementRef;\n  // @ViewChild('modalContentRef', { read: ElementRef }) modalContentRef!: ElementRef;\n  // readonly modalContentRef = viewChild(ModalContentComponent, { read: ElementRef });\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.#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.#renderer.setStyle(this.#hostElement.nativeElement, 'display', 'none');\n      }\n    }\n    setTimeout(() => {\n      this.show = this.visible();\n    });\n  }\n\n  onKeyUpHandler(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  }\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 { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\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} 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    ngSkipHydration: 'true',\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  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 body while offcanvas is open.\n   * @return boolean | 'static'\n   * @default true\n   */\n  readonly backdrop = input<boolean | 'static'>(true);\n\n  /**\n   * Closes the offcanvas when escape key is pressed [docs]\n   * @return boolean\n   * @default true\n   */\n  readonly keyboard = input(true, { transform: booleanAttribute });\n\n  /**\n   * Components placement, there’s no default placement.\n   * @return {'start' | 'end' | 'top' | 'bottom'}\n   * @default 'start'\n   */\n  readonly placement = input<string | 'start' | 'end' | 'top' | 'bottom'>('start');\n\n  /**\n   * Responsive offcanvas property hides content outside the viewport from a specified breakpoint and down.\n   * @return 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  readonly id = input(`offcanvas-${this.placement()}-${nextId++}`);\n\n  /**\n   * Default role for offcanvas. [docs]\n   * @return string\n   * @default 'dialog'\n   */\n  readonly role = input<string>('dialog');\n\n  /**\n   * Set aria-modal html attr for offcanvas. [docs]\n   * @return boolean\n   * @default true\n   */\n  readonly ariaModal = input(true, { transform: booleanAttribute });\n\n  #activeBackdrop!: HTMLDivElement;\n  #backdropClickSubscription!: Subscription;\n  #layoutChangeSubscription!: Subscription;\n\n  /**\n   * Allow body scrolling while offcanvas is visible.\n   * @return boolean\n   * @default false\n   */\n  readonly scroll = input(false, { transform: booleanAttribute });\n\n  /**\n   * Toggle the visibility of offcanvas component.\n   * @return 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    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   * @return <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    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    }\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  }\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.#renderer.removeClass(offcanvasElement, 'hiding');\n        this.#renderer.removeStyle(this.#document.body, 'overflow');\n        this.#renderer.removeStyle(this.#document.body, 'paddingRight');\n      }\n    }\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   * @return 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  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   * @return boolean\n   */\n  readonly active = input<boolean>();\n\n  /**\n   * Toggle the disabled state for the component.\n   * @return 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   * @values 'start', 'center', 'end'\n   */\n  readonly align = input<'start' | 'center' | 'end' | ''>('');\n  /**\n   * Size the component small or large.\n   * @values 'sm', 'lg'\n   */\n  readonly size = input<'' | 'sm' | 'lg' | string>();\n  /**\n   * Default role for pagination. [docs]\n   * @return 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   * @type 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   * @type '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   * @return {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   * @return boolean\n   */\n  readonly visible = input(false, { transform: booleanAttribute });\n  readonly id = input<string>();\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   * @return {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   * @return 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   * @return 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  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   * @return 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  readonly precision = input(0, { transform: numberAttribute });\n\n  /**\n   * The percent value the ProgressBar.\n   * @return 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   * @return number\n   * @default 100\n   */\n  readonly max = input(100, { transform: numberAttribute });\n\n  /**\n   * Set default html role attribute.\n   * @return 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  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   * @return number\n   */\n  readonly height = input(0, { transform: numberAttribute });\n\n  /**\n   * Displays thin progress.\n   * @return boolean\n   */\n  readonly thin = input(false, { transform: booleanAttribute });\n\n  /**\n   * Change the default color to white.\n   * @return 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 [animated]=\"pbd?.animated()\" [variant]=\"pbd?.variant()\" [color]=\"pbd?.color()\" [value]=\"barValue()\">\n    <ng-container *ngTemplateOutlet=\"defaultContent\" />\n  </c-progress-bar>\n}\n\n<ng-template #defaultContent>\n  <ng-content />\n</ng-template>\n\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","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { SidebarComponent } from './sidebar/sidebar.component';\n\nexport interface ISidebarAction {\n  unfoldable?: boolean | 'toggle';\n  visible?: boolean | 'toggle';\n  toggle?: 'visible' | 'unfoldable';\n  narrow?: boolean;\n  mobile?: boolean;\n  sidebar?: SidebarComponent;\n  id?: string;\n}\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class SidebarService {\n  readonly #sidebarState = new BehaviorSubject<ISidebarAction>({});\n  readonly sidebarState$ = this.#sidebarState.asObservable();\n\n  toggle(action: ISidebarAction): void {\n    this.#sidebarState.next(action);\n  }\n}\n","import { DOCUMENT, inject, Injectable, Renderer2 } from '@angular/core';\nimport { SidebarService } from '../sidebar.service';\nimport { SidebarComponent } from '../sidebar/sidebar.component';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class SidebarBackdropService {\n  readonly #document = inject<Document>(DOCUMENT);\n  readonly #sidebarService = inject(SidebarService);\n\n  #backdrop!: HTMLElement;\n  renderer!: Renderer2;\n  #clickListener = (): void => {\n    /* empty */\n  };\n\n  setBackdrop(sidebar: SidebarComponent): void {\n    const backdrop = this.#document.getElementsByClassName('sidebar-backdrop');\n    // console.log(`sidebar-${this.id}`, ' setBackdrop', backdrop);\n    if (backdrop.length === 0) {\n      this.#backdrop = this.renderer.createElement('div');\n      this.renderer.addClass(this.#backdrop, 'sidebar-backdrop');\n      this.renderer.appendChild(this.#document.body, this.#backdrop);\n      this.#clickListener = this.renderer.listen(this.#backdrop, 'click', (e) => {\n        // console.log(`sidebar-${this.id}`, ' backdrop click', e);\n        this.#sidebarService.toggle({ toggle: 'visible', sidebar });\n      });\n    }\n    // console.log(this.backdrop, sidebar.sidebarState.mobile, sidebar.sidebarState.show);\n    if (this.#backdrop && sidebar.sidebarState.mobile && sidebar.sidebarState.visible) {\n      this.renderer.addClass(this.#backdrop, 'fade');\n      this.renderer.addClass(this.#backdrop, 'show');\n      // this.renderer.removeClass(this.backdrop, 'd-none');\n    } else {\n      this.renderer.removeClass(this.#backdrop, 'show');\n      this.renderer.removeClass(this.#backdrop, 'fade');\n      // this.renderer.addClass(this.backdrop, 'd-none');\n    }\n  }\n\n  clearBackdrop(): void {\n    if (this.#backdrop) {\n      // clear backdrop click Listener\n      this.#clickListener();\n      // this.renderer.listen(this.backdrop, 'click', (e): void => {} );\n      this.renderer.removeChild(this.#document.body, this.#backdrop);\n      // @ts-ignore\n      this.#backdrop = undefined;\n    }\n  }\n}\n","import {\n  booleanAttribute,\n  Component,\n  computed,\n  DOCUMENT,\n  effect,\n  inject,\n  input,\n  linkedSignal,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  output,\n  Renderer2,\n  signal,\n  SimpleChanges\n} from '@angular/core';\nimport { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\nimport { Subscription } from 'rxjs';\n\nimport { ISidebarAction, SidebarService } from '../sidebar.service';\nimport { SidebarBackdropService } from '../sidebar-backdrop/sidebar-backdrop.service';\n\n@Component({\n  selector: 'c-sidebar',\n  exportAs: 'cSidebar',\n  template: '<ng-content />',\n  host: {\n    class: 'sidebar',\n    '[class]': 'hostClasses()',\n    '[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   * @return 'dark' | 'light'\n   */\n  readonly colorScheme = input<'dark' | 'light'>();\n\n  /**\n   * Sets html attribute id.\n   * @return string\n   */\n  readonly id = input<string>();\n\n  /**\n   * Make sidebar narrow.\n   * @return 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   * @return boolean\n   * @default false\n   */\n  readonly overlaid = input(false, { transform: booleanAttribute });\n\n  /**\n   * Components placement, there’s no default placement.\n   * @return 'start' | 'end'\n   */\n  readonly placement = input<'start' | 'end'>();\n\n  /**\n   * Place sidebar in non-static positions.\n   * @return '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   * @return 'sm' | 'lg' | 'xl'\n   */\n  readonly size = input<'sm' | 'lg' | 'xl'>();\n\n  /**\n   * Expand narrowed sidebar on hover.\n   * @type 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   * @type 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   * @return 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  readonly brandFull = input<any>();\n  readonly brandNarrow = input<any>();\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   * @return string\n   */\n  readonly id = input<string>(undefined, { alias: 'cSidebarToggle' });\n  /**\n   * Sidebar property name for toggle action.\n   *\n   * @return '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  readonly role = input('button');\n\n  get getStyles(): any {\n    return {\n      appearance: 'button',\n      'align-items': 'flex-start',\n      cursor: 'pointer'\n    };\n  }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n  selector: 'c-sidebar-header',\n  template: '<ng-content />',\n  host: { class: 'sidebar-header' }\n})\nexport class SidebarHeaderComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n  selector: 'c-sidebar-footer',\n  template: '<ng-content />',\n  host: { class: 'sidebar-footer' }\n})\nexport class SidebarFooterComponent {}\n","import { Injectable } from '@angular/core';\n\nimport { INavData } from './sidebar-nav';\n\n@Injectable()\nexport abstract class SidebarNavService {\n  /**\n   * Returns a sidebar-nav items config NavData\n   */\n  abstract getSidebarNavItemsConfig(): INavData[];\n}\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class SidebarNavHelper {\n  itemType(item: INavData): string {\n    if (item.divider) {\n      return 'divider';\n    } else if (item.title) {\n      return 'title';\n    } else if (item.children && item.children.length > 0) {\n      return 'group';\n    } else if (item.label) {\n      return 'label';\n    } else if (!Object.keys(item).length) {\n      return 'empty';\n    } else {\n      return 'link';\n    }\n  }\n\n  public isActive(router: any, item: INavData): boolean {\n    return router.isActive(item.url, false);\n  }\n\n  public hasBadge = (item: INavData) => Boolean(item?.badge);\n  public hasIcon = (item: INavData) => Boolean(item?.icon) || item?.icon === '';\n  public hasIconComponent = (item: INavData) => Boolean(item?.iconComponent);\n\n  public getIconClass(item: INavData): any {\n    const classes = {\n      'nav-icon': true\n    };\n    const icon = item.icon;\n    // @ts-ignore\n    classes[icon] = this.hasIcon(item);\n    return classes;\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { SidebarNavGroupComponent } from './sidebar-nav.component';\n\nexport interface ISidebarAction {\n  open?: boolean;\n  sidebarNavGroup?: SidebarNavGroupComponent;\n}\n\n@Injectable()\nexport class SidebarNavGroupService {\n  private sidebarNavGroupState = new BehaviorSubject<ISidebarAction>({});\n  sidebarNavGroupState$ = this.sidebarNavGroupState.asObservable();\n\n  toggle(action: ISidebarAction): void {\n    this.sidebarNavGroupState.next(action);\n  }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n  name: 'cSidebarNavIcon'\n})\nexport class SidebarNavIconPipe implements PipeTransform {\n  transform(item: any, args?: any): any {\n    const icon = item.icon;\n    return {\n      'nav-icon': true,\n      [`${icon}`]: !!icon\n    };\n  }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n  name: 'cSidebarNavBadge'\n})\nexport class SidebarNavBadgePipe implements PipeTransform {\n  transform(item: any, args?: any): any {\n    const badge = item.badge;\n    return {\n      badge: true,\n      'ms-auto': true,\n      'badge-sm': !badge.size,\n      [`badge-${badge.size}`]: !!badge.size,\n      [`bg-${badge.color}`]: !!badge.color,\n      [`${badge.class}`]: !!badge.class\n    };\n  }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n  name: 'cSidebarNavLink'\n})\nexport class SidebarNavLinkPipe implements PipeTransform {\n  transform(item: any): any {\n    const disabled = item?.attributes?.disabled;\n\n    return {\n      'nav-link': true,\n      disabled,\n      'btn-link': disabled,\n      [`nav-link-${item.variant}`]: !!item.variant\n    };\n  }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { Component, inject, input, OnDestroy, OnInit, output } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NavigationEnd, Router, RouterModule } from '@angular/router';\nimport { Observable, Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { IconDirective } from '@coreui/icons-angular';\n// import {SidebarService} from '../sidebar.service';\nimport { HtmlAttributesDirective } from '../../shared';\nimport { SidebarNavHelper } from './sidebar-nav.service';\nimport { INavData } from './sidebar-nav';\nimport { SidebarNavLinkPipe } from './sidebar-nav-link.pipe';\nimport { SidebarNavBadgePipe } from './sidebar-nav-badge.pipe';\nimport { SidebarNavIconPipe } from './sidebar-nav-icon.pipe';\n\n@Component({\n  selector: 'c-sidebar-nav-link-content',\n  template: `\n    @let itemLinkContent = item();\n    @if (itemLinkContent) {\n      <ng-container>{{ itemLinkContent?.name ?? '' }}</ng-container>\n    }\n  `,\n  providers: [SidebarNavHelper]\n})\nexport class SidebarNavLinkContentComponent {\n  readonly helper = inject(SidebarNavHelper);\n\n  readonly item = input<INavData>({});\n}\n\n@Component({\n  selector: 'c-sidebar-nav-link',\n  templateUrl: './sidebar-nav-link.component.html',\n  providers: [SidebarNavHelper],\n  imports: [\n    RouterModule,\n    HtmlAttributesDirective,\n    IconDirective,\n    SidebarNavLinkContentComponent,\n    SidebarNavLinkPipe,\n    SidebarNavBadgePipe,\n    SidebarNavIconPipe,\n    NgTemplateOutlet\n  ]\n})\nexport class SidebarNavLinkComponent implements OnInit, OnDestroy {\n  readonly router = inject(Router);\n\n  readonly item = input<INavData>();\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 (click)=\"linkClicked()\" [cHtmlAttr]=\"linkItem.attributes ?? {}\" [href]=\"href\" [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  @default {\n    <a (click)=\"linkClicked()\"\n       [cHtmlAttr]=\"linkItem.attributes ?? {}\"\n       [fragment]=\"linkItem.linkProps?.fragment\"\n       [class]=\"linkItem | cSidebarNavLink\"\n       [preserveFragment]=\"linkItem.linkProps?.preserveFragment ?? false\"\n       [queryParamsHandling]=\"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]=\"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]=\"item.iconComponent?.content\"\n      [customClasses]=\"item | cSidebarNavIcon\"\n      [name]=\"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  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  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  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} 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, SidebarNavGroupService],\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  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  readonly item = input<INavData>();\n  readonly dropdownMode = input<'path' | 'none' | 'close'>('path');\n  readonly show = input<boolean>();\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        const url = next.sidebarNavGroup.item()?.url ?? [];\n        const normUrl = Array.isArray(url) ? this.#router.createUrlTree(url).toString() : url;\n        const itemUrl = this.item()?.url ?? [];\n        const normItemUrl = Array.isArray(normUrl) ? this.#router.createUrlTree(normUrl).toString() : normUrl;\n        if (normUrl.startsWith(normItemUrl)) {\n          return;\n        }\n        if (this.samePath(this.#router.routerState.snapshot.url)) {\n          this.openGroup(true);\n          return;\n        }\n        this.openGroup(false);\n      }\n    });\n  }\n\n  samePath(url: string): boolean {\n    // console.log('item:', this.item.name, this.item.url, 'url:', url);\n    const 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})\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  readonly navItems = input<INavData[] | undefined>([]);\n  readonly dropdownMode = input<'path' | 'none' | 'close'>('path');\n  readonly groupItems = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n  readonly compact = input<boolean, unknown>(undefined, { transform: booleanAttribute });\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 (click)=\"toggleGroup($event)\"\n   [cHtmlAttr]=\"grpItem?.attributes\"\n   class=\"nav-link nav-group-toggle\"\n   href>\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]=\"item.iconComponent?.content\"\n      [customClasses]=\"item | cSidebarNavIcon\"\n      [name]=\"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        #rla=\"routerLinkActive\"\n        [dropdownMode]=\"dropdownMode()\"\n        [item]=\"nItem\"\n        [class]=\"nItem | cSidebarNavItemClass\"\n        [routerLinkActiveOptions]=\"{exact: true}\"\n        routerLinkActive=\"show\"\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   * @type Colors\n   */\n  readonly color = input<Colors>();\n\n  /**\n   * Label for accessibility.\n   * @type string\n   * @default 'Loading...'\n   */\n  readonly label = input('Loading...');\n\n  /**\n   * Size the component small.\n   * @return 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   * @values 'border' | 'grow'\n   * @default 'border'\n   */\n  readonly variant = input<'border' | 'grow'>('border');\n  /**\n   * Default role attr for Spinner. [docs]\n   * @type 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   * @return 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   * @return 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   * @return 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   * @return Colors\n   */\n  readonly borderColor = input<Colors>();\n\n  /**\n   * Add borders on all sides of the table and cells.\n   * @return boolean\n   */\n  readonly bordered = input(false, { transform: booleanAttribute });\n\n  /**\n   * Remove borders on all sides of the table and cells.\n   * @return boolean\n   */\n  readonly borderless = input(false, { transform: booleanAttribute });\n\n  /**\n   * Put the `<caption>` on the top of the table.\n   * @return '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   * @return Colors\n   */\n  readonly color = input<Colors>();\n\n  /**\n   * Enable a hover state on table rows within table body.\n   * @return 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   * @return boolean\n   */\n  readonly small = input(false, { transform: booleanAttribute });\n\n  /**\n   * Add zebra-striping to any table row within the table body.\n   * @return boolean\n   */\n  readonly striped = input(false, { transform: booleanAttribute });\n\n  /**\n   * Add zebra-striping to any table column.\n   * @return 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 { booleanAttribute, ChangeDetectorRef, Component, HostBinding, inject, Input, OnDestroy } 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  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   * @type 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   */\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   * @type TemplateRef\n   */\n  @Input('cTabContent') tabContentRef!: any;\n\n  /**\n   * Set active state of tab content\n   * @type 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   * @type 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   * @type 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, ModelSignal } 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   * @type <string | number | undefined>\n   */\n  readonly activeItemKey: ModelSignal<string | number | undefined> = model<number | string>();\n\n  /**\n   * The id attribute\n   * @type string\n   */\n  tabsId = `tabs-${nextId++}`;\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   * @return 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   * @type string | number\n   * @required\n   */\n  readonly itemKey: InputSignal<string | number> = input.required<string | number>();\n\n  /**\n   * Element id attribute\n   * @type string\n   * @default undefined\n   */\n  readonly id: InputSignal<string | undefined> = input<string>();\n\n  /**\n   * aria-controls attribute\n   * @type 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   * @type '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   * @type '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","import { animate, animateChild, AnimationEvent, query, state, style, transition, trigger } from '@angular/animations';\nimport {\n  Component,\n  computed,\n  inject,\n  input,\n  InputSignal,\n  InputSignalWithTransform,\n  numberAttribute,\n  output,\n  OutputEmitterRef,\n  signal\n} from '@angular/core';\nimport { TabsService } from '../tabs.service';\n\ntype AnimateType = 'hide' | 'show';\ntype 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    '[@.disabled]': '!transition()',\n    '[@fadeInOut]': 'visible() ? \"show\" : \"hide\"',\n    '(@fadeInOut.done)': 'onAnimationDone($event)'\n  },\n  animations: [\n    trigger('fadeInOut', [\n      state('show', style({ opacity: 1 })),\n      state('hide', style({ opacity: 0 })),\n      state('void', style({ opacity: 1 })),\n      transition('* => *', [query('@*', [animateChild()], { optional: true }), animate('150ms linear')])\n    ])\n  ]\n})\nexport class TabPanelComponent {\n  readonly tabsService = inject(TabsService);\n\n  /**\n   * aria-labelledby attribute\n   * @type string\n   * @default undefined\n   */\n  readonly ariaLabelledBy: InputSignal<string | undefined> = input<string | undefined>(undefined, {\n    alias: 'aria-labelledby'\n  });\n\n  /**\n   * Element id attribute\n   * @type string\n   * @default undefined\n   */\n  readonly id: InputSignal<string | undefined> = input<string>();\n\n  /**\n   * Item key.\n   * @type string | number\n   * @required\n   */\n  readonly itemKey: InputSignal<string | number> = input.required();\n\n  /**\n   * Element role.\n   * @type string\n   * @default 'tabpanel'\n   */\n  readonly role: InputSignal<string> = input('tabpanel');\n\n  /**\n   * tabindex attribute.\n   * @type number\n   * @default 0\n   */\n  readonly tabindex: InputSignalWithTransform<number, unknown> = input(0, { transform: numberAttribute });\n\n  /**\n   * Enable fade in transition.\n   * @type boolean\n   * @default true\n   */\n  readonly transition: InputSignal<boolean> = input(true);\n\n  /**\n   * visible change output\n   * @type OutputEmitterRef<VisibleChangeEvent>\n   */\n  readonly visibleChange: OutputEmitterRef<VisibleChangeEvent> = output<VisibleChangeEvent>();\n\n  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  readonly propId = computed(() => this.id() ?? `${this.tabsService.id()}-panel-${this.itemKey()}`);\n\n  readonly attrAriaLabelledBy = computed(\n    () => this.ariaLabelledBy() ?? `${this.tabsService.id()}-tab-${this.itemKey()}`\n  );\n\n  readonly hostClasses = computed(\n    () =>\n      ({\n        'tab-pane': true,\n        active: this.show(),\n        fade: this.transition(),\n        show: this.show(),\n        invisible: this.tabsService.activeItem()?.disabled\n      }) as Record<string, boolean>\n  );\n\n  onAnimationDone($event: AnimationEvent): void {\n    this.show.set(this.visible());\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 {\n  booleanAttribute,\n  ChangeDetectorRef,\n  Component,\n  computed,\n  effect,\n  ElementRef,\n  inject,\n  input,\n  linkedSignal,\n  numberAttribute,\n  OnDestroy,\n  OnInit,\n  output,\n  Renderer2\n} from '@angular/core';\n\nimport { animate, state, style, transition, trigger } from '@angular/animations';\n\nimport { Colors } from '../../coreui.types';\nimport { ToasterService } from '../toaster/toaster.service';\nimport { TToasterPlacement } from '../toaster/toaster.component';\n\ntype AnimateType = 'hide' | 'show';\n\n@Component({\n  selector: 'c-toast',\n  template: '<ng-content />',\n  styleUrls: ['./toast.component.scss'],\n  exportAs: 'cToast',\n  animations: [\n    trigger('fadeInOut', [\n      state('show', style({ opacity: 1, height: '*', padding: '*', border: '*', margin: '*' })),\n      state('hide', style({ opacity: 0, height: 0, padding: 0, border: 0, margin: 0 })),\n      state('void', style({ opacity: 0, height: 0, padding: 0, border: 0, margin: 0 })),\n      transition('show => hide', [animate('{{ time }} {{ easing }}')], {\n        params: { time: '300ms', easing: 'ease-out' }\n      }),\n      transition('hide => show', [animate('{{ time }} {{ easing }}')], {\n        params: { time: '300ms', easing: 'ease-in' }\n      }),\n      transition('show => void', [animate('{{ time }} {{ easing }}')], {\n        params: { time: '300ms', easing: 'ease-out' }\n      }),\n      transition('void => show', [animate('{{ time }} {{ easing }}')], {\n        params: { time: '300ms', easing: 'ease-in' }\n      })\n    ])\n  ],\n  host: {\n    class: 'toast show',\n    '[class]': 'hostClasses()',\n    '(mouseover)': 'clearTimer()',\n    '(mouseout)': 'setTimer()',\n    '[@fadeInOut]': 'animateType',\n    '[@.disabled]': 'animationDisabled()'\n  }\n})\nexport class ToastComponent implements OnInit, OnDestroy {\n  readonly changeDetectorRef = inject(ChangeDetectorRef);\n  readonly hostElement = inject(ElementRef);\n  readonly renderer = inject(Renderer2);\n  readonly toasterService = inject(ToasterService);\n\n  readonly dynamic = input<boolean>();\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   * @return 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   * @return Colors\n   */\n  readonly color = input<Colors>('');\n\n  /**\n   * Delay hiding the toast (ms).\n   * @return number\n   */\n  readonly delay = input(5000, { transform: numberAttribute });\n\n  /**\n   * Apply fade transition to the toast.\n   * @return boolean\n   */\n  readonly fade = input(true);\n\n  /**\n   * Toggle the visibility of component.\n   * @return boolean\n   */\n  readonly visibleInput = input(false, { transform: booleanAttribute, alias: 'visible' });\n\n  readonly #visible = linkedSignal(this.visibleInput);\n\n  readonly #visibleEffect = effect(() => {\n    const newValue = this.#visible();\n    newValue ? this.setTimer() : this.clearTimer();\n    this.visibleChange?.emit(newValue);\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. [docs]\n   * @return <boolean>\n   */\n  readonly visibleChange = output<boolean>();\n\n  /**\n   * Event emitted on timer tick. [docs]\n   * @return 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 animationDisabled = computed(() => {\n    return !this.fade();\n  });\n\n  get animateType(): AnimateType {\n    return this.visible ? 'show' : 'hide';\n  }\n\n  readonly hostClasses = computed(() => {\n    const color = this.color();\n    return {\n      toast: true,\n      show: true,\n      [`bg-${color}`]: !!color,\n      'border-0': !!color\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\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","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}\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  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   * @return 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  ElementRef,\n  inject,\n  Injector,\n  input,\n  NgModuleRef,\n  OnInit,\n  Renderer2,\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 #hostElement = inject(ElementRef);\n  readonly #renderer = inject(Renderer2);\n  readonly #toasterService = inject(ToasterService);\n  readonly #destroyRef = inject(DestroyRef);\n\n  placements = Object.values(ToasterPlacement);\n  toastsDynamic: ComponentRef<any>[] = [];\n\n  /**\n   * Toaster placement\n   * @return 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   * @return (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      componentRef.setInput(key, value);\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?.detectChanges();\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        item.destroy();\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 { ToastHeaderComponent } from './toast-header/toast-header.component';\nimport { ToastBodyComponent } from './toast-body/toast-body.component';\nimport { ToasterComponent } from './toaster/toaster.component';\nimport { ToasterService } from './toaster/toaster.service';\nimport { ToasterHostDirective } from './toaster/toaster-host.directive';\nimport { ToastCloseDirective } from './toast-close.directive';\n\n@NgModule({\n  imports: [\n    ToastBodyComponent,\n    ToastComponent,\n    ToastCloseDirective,\n    ToastHeaderComponent,\n    ToasterComponent,\n    ToasterHostDirective\n  ],\n  providers: [ToasterService],\n  exports: [\n    ToastBodyComponent,\n    ToastComponent,\n    ToastCloseDirective,\n    ToastHeaderComponent,\n    ToasterComponent,\n    ToasterHostDirective\n  ]\n})\nexport class ToastModule {\n}\n","import {\n  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   * @type {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   * @type boolean\n   */\n  readonly visible = input(false, { transform: booleanAttribute });\n  readonly id = input<string>();\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   * @return {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   * @return 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   * @return 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  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   * @type Colors\n   */\n  // override readonly color = input<Colors>();\n\n  /**\n   * Title of the widget to display\n   * @type string\n   */\n  readonly title: InputSignal<string | undefined> = input();\n\n  /**\n   * Value for your widget to display\n   * @type string\n   */\n  readonly value: InputSignal<string | undefined> = input<string>();\n\n  templates: Record<string, TemplateRef<any>> = {};\n\n  readonly contentTemplates = contentChildren(TemplateIdDirective, { descendants: true });\n\n  readonly #contentTemplatesEffect = effect(() => {\n    this.contentTemplates().forEach((child: TemplateIdDirective) => {\n      this.templates[child.id] = child.templateRef;\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","<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   * @type 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   * @type TextColors\n   */\n  // override readonly textColor: InputSignal<TextColors | undefined> = input();\n\n  /**\n   * Title of the widget to display\n   * @type string\n   */\n  readonly title: InputSignal<string | undefined> = input<string>();\n\n  /**\n   * Helper text for your widget.\n   * @type string\n   */\n  readonly text: InputSignal<string | undefined> = input<string>();\n\n  /**\n   * Value for your widget to display\n   * @type string\n   */\n  readonly value: InputSignal<string | undefined> = input<string>();\n\n  /**\n   * Invert colors from their default dark shade.\n   * @type 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   * @type string\n   */\n  readonly icon = input<string>();\n\n  /**\n   * Title of the widget to display\n   * @type string\n   */\n  readonly title = input<string>();\n\n  /**\n   * Value for your widget to display\n   * @type string|number\n   */\n  readonly value = input<string | number>();\n\n  /**\n   * Invert colors from their default dark shade.\n   * @type boolean\n   */\n  readonly inverse = input(false, { transform: booleanAttribute });\n\n  templates: Record<string, TemplateRef<any>> = {};\n  readonly contentTemplates = contentChildren(TemplateIdDirective, { descendants: true });\n\n  readonly #contentTemplatesEffect = effect(() => {\n    this.contentTemplates().forEach((child: TemplateIdDirective) => {\n      this.templates[child.id] = child.templateRef;\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","<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   * @type Colors\n   */\n  // override readonly color = input<Colors>();\n\n  /**\n   * Values and subtitles for your component.\n   * @type 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   * @type string\n   */\n  readonly title = input<string>();\n\n  /**\n   * Value for your widget to display\n   * @type 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   * @type 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   * @type Colors\n   */\n  // override readonly textColor = input<TextColors | 'white' | 'muted'>();\n\n  /**\n   * Footer for your widget\n   * @type string\n   */\n  readonly footer = input<string>();\n\n  /**\n   * Icon for your widget\n   * @type string\n   */\n  readonly icon = input<string>();\n\n  /**\n   * Set padding of your component.\n   * @type boolean\n   */\n  readonly padding = input(false, { transform: booleanAttribute });\n\n  /**\n   * Title of the widget to display\n   * @type string\n   */\n  readonly title = input<string>();\n\n  /**\n   * Value for your widget to display\n   * @type string\n   */\n  readonly value = input<string | number>();\n\n  templates: Record<string, TemplateRef<any>> = {};\n  readonly contentTemplates = contentChildren(TemplateIdDirective, { descendants: true });\n\n  readonly #contentTemplatesEffect = effect(() => {\n    this.contentTemplates().forEach((child: TemplateIdDirective) => {\n      this.templates[child.id] = child.templateRef;\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","<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/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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"}