@coreui/angular 5.7.37 → 5.7.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"coreui-angular.mjs","names":[],"sources":["../../../projects/coreui-angular/src/lib/coreui.types.ts","../../../projects/coreui-angular/src/lib/shared/element-ref.directive.ts","../../../projects/coreui-angular/src/lib/shared/html-attr.directive.ts","../../../projects/coreui-angular/src/lib/shared/template-id.directive.ts","../../../projects/coreui-angular/src/lib/shared/theme.directive.ts","../../../projects/coreui-angular/src/lib/shared/shared.module.ts","../../../projects/coreui-angular/src/lib/accordion/accordion-button/accordion-button.directive.ts","../../../projects/coreui-angular/src/lib/accordion/accordion.service.ts","../../../projects/coreui-angular/src/lib/accordion/accordion/accordion.component.ts","../../../projects/coreui-angular/src/lib/collapse/collapse.directive.ts","../../../projects/coreui-angular/src/lib/collapse/collapse.module.ts","../../../projects/coreui-angular/src/lib/accordion/accordion-item/accordion-item.component.ts","../../../projects/coreui-angular/src/lib/accordion/accordion-item/accordion-item.component.html","../../../projects/coreui-angular/src/lib/accordion/accordion.module.ts","../../../projects/coreui-angular/src/lib/alert/alert-heading.directive.ts","../../../projects/coreui-angular/src/lib/alert/alert-link.directive.ts","../../../projects/coreui-angular/src/lib/button/button.directive.ts","../../../projects/coreui-angular/src/lib/button/button-close.directive.ts","../../../projects/coreui-angular/src/lib/button/button.module.ts","../../../projects/coreui-angular/src/lib/utilities/getTransitionDurationFromElement.ts","../../../projects/coreui-angular/src/lib/alert/alert.component.ts","../../../projects/coreui-angular/src/lib/alert/alert.component.html","../../../projects/coreui-angular/src/lib/alert/alert.module.ts","../../../projects/coreui-angular/src/lib/utilities/align.directive.ts","../../../projects/coreui-angular/src/lib/utilities/bg-color.directive.ts","../../../projects/coreui-angular/src/lib/utilities/border.directive.ts","../../../projects/coreui-angular/src/lib/utilities/rounded.directive.ts","../../../projects/coreui-angular/src/lib/utilities/shadow-on-scroll.directive.ts","../../../projects/coreui-angular/src/lib/utilities/text-color.directive.ts","../../../projects/coreui-angular/src/lib/utilities/text-bg-color.directive.ts","../../../projects/coreui-angular/src/lib/utilities/utilities.module.ts","../../../projects/coreui-angular/src/lib/avatar/avatar.component.ts","../../../projects/coreui-angular/src/lib/avatar/avatar.component.html","../../../projects/coreui-angular/src/lib/avatar/avatar.module.ts","../../../projects/coreui-angular/src/lib/badge/badge.component.ts","../../../projects/coreui-angular/src/lib/badge/badge.module.ts","../../../projects/coreui-angular/src/lib/backdrop/backdrop.service.ts","../../../projects/coreui-angular/src/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.ts","../../../projects/coreui-angular/src/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.html","../../../projects/coreui-angular/src/lib/breadcrumb/breadcrumb/breadcrumb.component.ts","../../../projects/coreui-angular/src/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.ts","../../../projects/coreui-angular/src/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.ts","../../../projects/coreui-angular/src/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.html","../../../projects/coreui-angular/src/lib/breadcrumb/breadcrumb.module.ts","../../../projects/coreui-angular/src/lib/button-group/button-group/button-group.component.ts","../../../projects/coreui-angular/src/lib/button-group/button-toolbar/button-toolbar.component.ts","../../../projects/coreui-angular/src/lib/button-group/button-group.module.ts","../../../projects/coreui-angular/src/lib/callout/callout.component.ts","../../../projects/coreui-angular/src/lib/callout/callout.module.ts","../../../projects/coreui-angular/src/lib/card/card.component.ts","../../../projects/coreui-angular/src/lib/card/card-body.component.ts","../../../projects/coreui-angular/src/lib/card/card-footer.component.ts","../../../projects/coreui-angular/src/lib/card/card-group.component.ts","../../../projects/coreui-angular/src/lib/card/card-header.component.ts","../../../projects/coreui-angular/src/lib/card/card-header-actions.component.ts","../../../projects/coreui-angular/src/lib/card/card-img.directive.ts","../../../projects/coreui-angular/src/lib/card/card-img-overlay/card-img-overlay.component.ts","../../../projects/coreui-angular/src/lib/card/card-link.directive.ts","../../../projects/coreui-angular/src/lib/card/card-subtitle.directive.ts","../../../projects/coreui-angular/src/lib/card/card-text.directive.ts","../../../projects/coreui-angular/src/lib/card/card-title.directive.ts","../../../projects/coreui-angular/src/lib/card/card.module.ts","../../../projects/coreui-angular/src/lib/services/intersection.service.ts","../../../projects/coreui-angular/src/lib/services/listeners.service.ts","../../../projects/coreui-angular/src/lib/services/class-toggle.service.ts","../../../projects/coreui-angular/src/lib/services/in-memory-storage.service.ts","../../../projects/coreui-angular/src/lib/services/local-storage.service.ts","../../../projects/coreui-angular/src/lib/services/color-mode.service.ts","../../../projects/coreui-angular/src/lib/services/uid.service.ts","../../../projects/coreui-angular/src/lib/services/rtl.service.ts","../../../projects/coreui-angular/src/lib/carousel/carousel.service.ts","../../../projects/coreui-angular/src/lib/carousel/carousel.config.ts","../../../projects/coreui-angular/src/lib/carousel/carousel/carousel.component.ts","../../../projects/coreui-angular/src/lib/carousel/carousel-caption/carousel-caption.component.ts","../../../projects/coreui-angular/src/lib/carousel/carousel-control/carousel-control.component.ts","../../../projects/coreui-angular/src/lib/carousel/carousel-control/carousel-control.component.html","../../../projects/coreui-angular/src/lib/carousel/carousel-indicators/carousel-indicators.component.ts","../../../projects/coreui-angular/src/lib/carousel/carousel-indicators/carousel-indicators.component.html","../../../projects/coreui-angular/src/lib/carousel/carousel-item/carousel-item.component.ts","../../../projects/coreui-angular/src/lib/carousel/carousel-inner/carousel-inner.component.ts","../../../projects/coreui-angular/src/lib/carousel/carousel.module.ts","../../../projects/coreui-angular/src/lib/chip/chip-set-ref.ts","../../../projects/coreui-angular/src/lib/chip/chip.utils.ts","../../../projects/coreui-angular/src/lib/chip/chip.component.ts","../../../projects/coreui-angular/src/lib/chip/chip.component.html","../../../projects/coreui-angular/src/lib/chip/chip.module.ts","../../../projects/coreui-angular/src/lib/services/announcer.service.ts","../../../projects/coreui-angular/src/lib/chip-set/chip-set.service.ts","../../../projects/coreui-angular/src/lib/chip-input/chip-input.component.ts","../../../projects/coreui-angular/src/lib/chip-input/chip-input.component.html","../../../projects/coreui-angular/src/lib/chip-input/chip-input.module.ts","../../../projects/coreui-angular/src/lib/chip-set/chip-set.component.ts","../../../projects/coreui-angular/src/lib/chip-set/chip-set.component.html","../../../projects/coreui-angular/src/lib/chip-set/chip-set.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.utils.ts","../../../projects/coreui-angular/src/lib/dropdown/dropdown-menu/dropdown-menu.directive.ts","../../../projects/coreui-angular/src/lib/dropdown/dropdown/dropdown.component.ts","../../../projects/coreui-angular/src/lib/dropdown/dropdown-item/dropdown-item.directive.ts","../../../projects/coreui-angular/src/lib/dropdown/dropdown-item/dropdown-item-plain.directive.ts","../../../projects/coreui-angular/src/lib/dropdown/dropdown-close/dropdown-close.directive.ts","../../../projects/coreui-angular/src/lib/dropdown/dropdown.module.ts","../../../projects/coreui-angular/src/lib/footer/footer.component.ts","../../../projects/coreui-angular/src/lib/footer/footer.module.ts","../../../projects/coreui-angular/src/lib/form/form/form.directive.ts","../../../projects/coreui-angular/src/lib/form/form-check/form-check-label.directive.ts","../../../projects/coreui-angular/src/lib/form/form-check/form-check.component.ts","../../../projects/coreui-angular/src/lib/form/form-control/form-control.directive.ts","../../../projects/coreui-angular/src/lib/form/form-check/form-check-input.directive.ts","../../../projects/coreui-angular/src/lib/form/form-feedback/form-feedback.component.ts","../../../projects/coreui-angular/src/lib/form/form-floating/form-floating.directive.ts","../../../projects/coreui-angular/src/lib/form/form-label/form-label.directive.ts","../../../projects/coreui-angular/src/lib/form/form-select/form-select.directive.ts","../../../projects/coreui-angular/src/lib/form/form-text/form-text.directive.ts","../../../projects/coreui-angular/src/lib/form/input-group/input-group.component.ts","../../../projects/coreui-angular/src/lib/form/input-group-text/input-group-text.directive.ts","../../../projects/coreui-angular/src/lib/form/form.module.ts","../../../projects/coreui-angular/src/lib/grid/container.component.ts","../../../projects/coreui-angular/src/lib/grid/col.directive.ts","../../../projects/coreui-angular/src/lib/grid/col.component.ts","../../../projects/coreui-angular/src/lib/grid/row.directive.ts","../../../projects/coreui-angular/src/lib/grid/row.component.ts","../../../projects/coreui-angular/src/lib/grid/gutter.directive.ts","../../../projects/coreui-angular/src/lib/grid/grid.module.ts","../../../projects/coreui-angular/src/lib/header/header/header.component.ts","../../../projects/coreui-angular/src/lib/header/header/header.component.html","../../../projects/coreui-angular/src/lib/header/header-brand/header-brand.component.ts","../../../projects/coreui-angular/src/lib/header/header-divider/header-divider.component.ts","../../../projects/coreui-angular/src/lib/header/header-nav/header-nav.component.ts","../../../projects/coreui-angular/src/lib/header/header-text/header-text.component.ts","../../../projects/coreui-angular/src/lib/header/header-toggler/header-toggler.directive.ts","../../../projects/coreui-angular/src/lib/header/header.module.ts","../../../projects/coreui-angular/src/lib/image/img.directive.ts","../../../projects/coreui-angular/src/lib/image/img.module.ts","../../../projects/coreui-angular/src/lib/list-group/list-group.directive.ts","../../../projects/coreui-angular/src/lib/list-group/list-group-item.directive.ts","../../../projects/coreui-angular/src/lib/list-group/list-group.module.ts","../../../projects/coreui-angular/src/lib/nav/nav-group.service.ts","../../../projects/coreui-angular/src/lib/nav/nav-link.directive.ts","../../../projects/coreui-angular/src/lib/nav/nav-group-items.component.ts","../../../projects/coreui-angular/src/lib/nav/nav-group.component.ts","../../../projects/coreui-angular/src/lib/nav/nav-group.component.html","../../../projects/coreui-angular/src/lib/nav/nav-item.component.ts","../../../projects/coreui-angular/src/lib/nav/nav-item.component.html","../../../projects/coreui-angular/src/lib/nav/nav-title.component.ts","../../../projects/coreui-angular/src/lib/nav/nav.component.ts","../../../projects/coreui-angular/src/lib/nav/nav.module.ts","../../../projects/coreui-angular/src/lib/navbar/navbar.component.ts","../../../projects/coreui-angular/src/lib/navbar/navbar.component.html","../../../projects/coreui-angular/src/lib/navbar/navbar-brand/navbar-brand.directive.ts","../../../projects/coreui-angular/src/lib/navbar/navbar-nav/navbar-nav.component.ts","../../../projects/coreui-angular/src/lib/navbar/navbar-text/navbar-text.component.ts","../../../projects/coreui-angular/src/lib/navbar/navbar-toggler/navbar-toggler.directive.ts","../../../projects/coreui-angular/src/lib/navbar/navbar.module.ts","../../../projects/coreui-angular/src/lib/modal/modal-body/modal-body.component.ts","../../../projects/coreui-angular/src/lib/modal/modal-content/modal-content.component.ts","../../../projects/coreui-angular/src/lib/modal/modal-dialog/modal-dialog.component.ts","../../../projects/coreui-angular/src/lib/modal/modal.service.ts","../../../projects/coreui-angular/src/lib/modal/modal-dismiss/modal-toggle.directive.ts","../../../projects/coreui-angular/src/lib/modal/modal-footer/modal-footer.component.ts","../../../projects/coreui-angular/src/lib/modal/modal-header/modal-header.component.ts","../../../projects/coreui-angular/src/lib/modal/modal-title/modal-title.directive.ts","../../../projects/coreui-angular/src/lib/shared/focus.utils.ts","../../../projects/coreui-angular/src/lib/modal/modal/modal.component.ts","../../../projects/coreui-angular/src/lib/modal/modal/modal.component.html","../../../projects/coreui-angular/src/lib/modal/modal.module.ts","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas.service.ts","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas/offcanvas.component.ts","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas/offcanvas.component.html","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas-body/offcanvas-body.component.ts","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas-header/offcanvas-header.component.ts","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas-title/offcanvas-title.directive.ts","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.ts","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas.module.ts","../../../projects/coreui-angular/src/lib/pagination/page-link/page-link.directive.ts","../../../projects/coreui-angular/src/lib/pagination/page-item/page-item.directive.ts","../../../projects/coreui-angular/src/lib/pagination/page-item/page-item.component.ts","../../../projects/coreui-angular/src/lib/pagination/pagination/pagination.component.ts","../../../projects/coreui-angular/src/lib/pagination/pagination/pagination.component.html","../../../projects/coreui-angular/src/lib/pagination/pagination.module.ts","../../../projects/coreui-angular/src/lib/placeholder/placeholder.directive.ts","../../../projects/coreui-angular/src/lib/placeholder/placeholder-animation.directive.ts","../../../projects/coreui-angular/src/lib/placeholder/placeholder.module.ts","../../../projects/coreui-angular/src/lib/popover/popover/popover.component.ts","../../../projects/coreui-angular/src/lib/popover/popover/popover.component.html","../../../projects/coreui-angular/src/lib/popover/popover.directive.ts","../../../projects/coreui-angular/src/lib/popover/popover.module.ts","../../../projects/coreui-angular/src/lib/progress/progress.service.ts","../../../projects/coreui-angular/src/lib/progress/progress-bar.directive.ts","../../../projects/coreui-angular/src/lib/progress/progress-bar.component.ts","../../../projects/coreui-angular/src/lib/progress/progress-stacked.component.ts","../../../projects/coreui-angular/src/lib/progress/progress.component.ts","../../../projects/coreui-angular/src/lib/progress/progress.component.html","../../../projects/coreui-angular/src/lib/progress/progress.module.ts","../../../projects/coreui-angular/src/lib/search-button/search-button.utils.ts","../../../projects/coreui-angular/src/lib/search-button/search-button.component.ts","../../../projects/coreui-angular/src/lib/search-button/search-button.component.html","../../../projects/coreui-angular/src/lib/search-button/search-button.module.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar.service.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-backdrop/sidebar-backdrop.service.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar/sidebar.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-brand/sidebar-brand.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-brand/sidebar-brand.component.html","../../../projects/coreui-angular/src/lib/sidebar/sidebar-toggle/sidebar-toggle.directive.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-toggler/sidebar-toggler.directive.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-header/sidebar-header.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-footer/sidebar-footer.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav.utils.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-content.component.ts","../../../projects/coreui-angular/src/lib/toast/toast/toast.component.ts","../../../projects/coreui-angular/src/lib/toast/toast-body/toast-body.component.ts","../../../projects/coreui-angular/src/lib/toast/toast-close.directive.ts","../../../projects/coreui-angular/src/lib/toast/toast-header/toast-header.component.ts","../../../projects/coreui-angular/src/lib/toast/toast-header/toast-header.component.html","../../../projects/coreui-angular/src/lib/toast/toaster/toaster-host.directive.ts","../../../projects/coreui-angular/src/lib/toast/toaster/toaster.component.ts","../../../projects/coreui-angular/src/lib/toast/toaster/toaster.component.html","../../../projects/coreui-angular/src/lib/toast/toast.module.ts","../../../projects/coreui-angular/src/lib/tooltip/tooltip/tooltip.component.ts","../../../projects/coreui-angular/src/lib/tooltip/tooltip/tooltip.component.html","../../../projects/coreui-angular/src/lib/tooltip/tooltip.directive.ts","../../../projects/coreui-angular/src/lib/tooltip/tooltip.module.ts","../../../projects/coreui-angular/src/lib/widget/widget-stat-a/widget-stat-a.component.ts","../../../projects/coreui-angular/src/lib/widget/widget-stat-a/widget-stat-a.component.html","../../../projects/coreui-angular/src/lib/widget/widget-stat-b/widget-stat-b.component.ts","../../../projects/coreui-angular/src/lib/widget/widget-stat-b/widget-stat-b.component.html","../../../projects/coreui-angular/src/lib/widget/widget-stat-c/widget-stat-c.component.ts","../../../projects/coreui-angular/src/lib/widget/widget-stat-c/widget-stat-c.component.html","../../../projects/coreui-angular/src/lib/widget/widget-stat-d/widget-stat-d.component.ts","../../../projects/coreui-angular/src/lib/widget/widget-stat-d/widget-stat-d.component.html","../../../projects/coreui-angular/src/lib/widget/widget-stat-e/widget-stat-e.component.ts","../../../projects/coreui-angular/src/lib/widget/widget-stat-e/widget-stat-e.component.html","../../../projects/coreui-angular/src/lib/widget/widget-stat-f/widget-stat-f.component.ts","../../../projects/coreui-angular/src/lib/widget/widget-stat-f/widget-stat-f.component.html","../../../projects/coreui-angular/src/lib/widget/widget.module.ts"],"sourcesContent":["import { IsActiveMatchOptions } from '@angular/router';\n\nexport declare type BooleanInput = string | boolean | null | undefined;\nexport declare type NumberInput = string | number | null | undefined;\n\nexport type NgCssClass = string | string[] | Set<string> | { [klass: string]: any };\n\nexport enum BreakpointInfix {\n xs = 'xs',\n sm = 'sm',\n md = 'md',\n lg = 'lg',\n xl = 'xl',\n xxl = 'xxl'\n}\n\nexport type BreakpointInfixStrings = keyof typeof BreakpointInfix;\n\nexport type Breakpoints = BreakpointInfixStrings | string;\n\nexport type Sizes = 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | string;\n\nexport type Colors =\n | 'primary'\n | 'secondary'\n | 'success'\n | 'danger'\n | 'warning'\n | 'info'\n | 'dark'\n | 'light'\n | 'primary-gradient'\n | 'secondary-gradient'\n | 'success-gradient'\n | 'danger-gradient'\n | 'warning-gradient'\n | 'info-gradient'\n | 'dark-gradient'\n | 'light-gradient'\n | string;\n\n// export type ColorsGradient =\n// | Colors\n// | `${Colors}-gradient`;\n\nexport type BackgroundColors = Colors | 'body' | 'white' | 'transparent';\n\nexport type Directions = 'down' | 'up' | 'start' | 'end' | '';\n\nexport type TextColors =\n | Colors\n | 'primary-emphasis'\n | 'secondary-emphasis'\n | 'success-emphasis'\n | 'danger-emphasis'\n | 'warning-emphasis'\n | 'info-emphasis'\n | 'light-emphasis'\n | 'body'\n | 'body-emphasis'\n | 'body-secondary'\n | 'body-tertiary'\n | 'black'\n | 'black-50'\n | 'white'\n | 'white-50'\n | string;\n\nexport type Alignment = 'baseline' | 'top' | 'middle' | 'bottom' | 'text-top' | 'text-bottom';\n\nexport type DropdownDirection = 'start' | 'end';\n\nexport type DropdownAlignment = DropdownDirection | Partial<Record<BreakpointInfixStrings, DropdownDirection>>;\n\nexport type BadgePositions = 'top-start' | 'top-end' | 'bottom-end' | 'bottom-start' | string | undefined;\n\nexport type Placements =\n | 'auto'\n | 'auto-start'\n | 'auto-end'\n | 'top-end'\n | 'top'\n | 'top-start'\n | 'bottom-end'\n | 'bottom'\n | 'bottom-start'\n | 'right-start'\n | 'right'\n | 'right-end'\n | 'left-start'\n | 'left'\n | 'left-end'\n | undefined;\n\nexport type Shapes =\n | 'rounded'\n | 'rounded-top'\n | 'rounded-end'\n | 'rounded-bottom'\n | 'rounded-start'\n | 'rounded-circle'\n | 'rounded-pill'\n | 'rounded-0'\n | 'rounded-1'\n | 'rounded-2'\n | 'rounded-3'\n | string;\n\nexport type Triggers = 'hover' | 'focus' | 'click' | 'focusin';\n\nexport type Positions = 'fixed' | 'sticky';\n\nexport type InputType =\n | 'button'\n | 'color'\n | 'date'\n | 'datetime'\n | 'datetime-local'\n | 'email'\n | 'file'\n | 'hidden'\n | 'image'\n | 'month'\n | 'number'\n | 'password'\n | 'range'\n | 'reset'\n | 'search'\n | 'submit'\n | 'tel'\n | 'text'\n | 'time'\n | 'url'\n | 'week'\n | 'checkbox'\n | 'radio';\n\nexport interface INavLinkProps {\n queryParams?: { [k: string]: any };\n fragment?: string;\n queryParamsHandling?: 'merge' | 'preserve' | '' | null;\n preserveFragment?: boolean;\n skipLocationChange?: boolean;\n replaceUrl?: boolean;\n state?: { [k: string]: any };\n routerLinkActiveOptions?: { exact: boolean } | IsActiveMatchOptions;\n routerLinkActive?: string | string[];\n ariaCurrentWhenActive?: 'page' | 'step' | 'location' | 'date' | 'time' | true | false;\n}\n\nexport interface INavAttributes {\n [propName: string]: any;\n}\n\nexport type ButtonType = 'button' | 'submit' | 'reset';\n","import { Directive, ElementRef, inject } from '@angular/core';\n\n@Directive({\n selector: '[cElementRef]',\n exportAs: 'cElementRef'\n})\nexport class ElementRefDirective {\n public readonly elementRef = inject(ElementRef);\n}\n","import { Directive, effect, ElementRef, inject, input, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[cHtmlAttr]',\n exportAs: 'cHtmlAttr'\n})\nexport class HtmlAttributesDirective {\n /**\n * A map of HTML attributes (including `class` and `style`) to set on the host element.\n * @returns Record<string, any>\n */\n readonly cHtmlAttr = input<Record<string, any>>();\n\n readonly #renderer = inject(Renderer2);\n readonly #elementRef = inject(ElementRef);\n\n constructor() {\n effect(() => {\n const attribs = this.cHtmlAttr();\n for (const attr in attribs) {\n if (attr === 'style' && typeof attribs[attr] === 'object') {\n this.setStyle(attribs[attr]);\n } else if (attr === 'class') {\n this.addClass(attribs[attr]);\n } else {\n this.setAttrib(attr, attribs[attr]);\n }\n }\n });\n }\n\n private setStyle(styles: Record<string, any>): void {\n for (const style in styles) {\n if (style) {\n this.#renderer.setStyle(this.#elementRef.nativeElement, style, styles[style]);\n }\n }\n }\n\n private addClass(classes: string | string[]): void {\n const classArray = Array.isArray(classes) ? classes : classes.split(' ');\n classArray\n .filter((element) => element.length > 0)\n .forEach((element) => {\n this.#renderer.addClass(this.#elementRef.nativeElement, element);\n });\n }\n\n private setAttrib(key: string, value: string | null): void {\n value !== null\n ? this.#renderer.setAttribute(this.#elementRef.nativeElement, key, value)\n : this.#renderer.removeAttribute(this.#elementRef.nativeElement, key);\n }\n}\n","import { Directive, inject, input, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[cTemplateId]'\n})\nexport class TemplateIdDirective {\n readonly templateRef = inject(TemplateRef);\n\n /**\n * Predefined template name (id) for optional slots\n * @returns string\n */\n readonly cTemplateId = input.required<string>();\n\n get id() {\n return this.cTemplateId();\n }\n}\n","import { booleanAttribute, Directive, effect, ElementRef, inject, input, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[cTheme]',\n exportAs: 'cTheme'\n})\nexport class ThemeDirective {\n readonly #hostElement = inject(ElementRef);\n readonly #renderer = inject(Renderer2);\n\n /**\n * Sets the `data-coreui-theme` attribute on the host element. Overridden by `dark`.\n * @returns 'dark' | 'light'\n */\n readonly colorScheme = input<'dark' | 'light'>();\n\n /**\n * Applies the dark color scheme, regardless of `colorScheme`.\n * @returns boolean\n * @default false\n */\n readonly dark = input(false, { transform: booleanAttribute });\n\n readonly #themeChange = effect(() => {\n const theme = this.dark() ? 'dark' : this.colorScheme();\n theme ? this.setTheme(theme) : this.unsetTheme();\n });\n\n setTheme(theme?: string): void {\n if (theme) {\n this.#renderer.setAttribute(this.#hostElement.nativeElement, 'data-coreui-theme', theme);\n }\n }\n\n unsetTheme(): void {\n this.#renderer.removeAttribute(this.#hostElement.nativeElement, 'data-coreui-theme');\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { ElementRefDirective } from './element-ref.directive';\nimport { HtmlAttributesDirective } from './html-attr.directive';\nimport { TemplateIdDirective } from './template-id.directive';\nimport { ThemeDirective } from './theme.directive';\n\n@NgModule({\n imports: [ElementRefDirective, HtmlAttributesDirective, TemplateIdDirective, ThemeDirective],\n exports: [ElementRefDirective, HtmlAttributesDirective, TemplateIdDirective, ThemeDirective],\n})\nexport class SharedModule {\n static forRoot(): ModuleWithProviders<SharedModule> {\n return {\n ngModule: SharedModule,\n };\n }\n}\n","import { computed, Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[cAccordionButton]',\n host: { '[class]': 'hostClasses()', '[attr.type]': 'type()', '[aria-expanded]': 'ariaExpanded()' }\n})\nexport class AccordionButtonDirective {\n /**\n * Toggles an accordion button collapsed state. Use in accordionHeaderTemplate.\n * @returns boolean | undefined\n */\n readonly collapsed = input<boolean | undefined>(undefined);\n\n /**\n * Default type for cAccordionButton\n * @returns string\n * @default 'button'\n */\n readonly type = input('button');\n\n readonly hostClasses = computed(() => {\n return {\n 'accordion-button': true,\n collapsed: this.collapsed()\n } as Record<string, boolean>;\n });\n\n readonly ariaExpanded = computed(() => !this.collapsed());\n}\n","import { Injectable } from '@angular/core';\nimport type { AccordionItemComponent } from './accordion-item/accordion-item.component';\n\n@Injectable()\nexport class AccordionService {\n items: AccordionItemComponent[] = [];\n alwaysOpen = false;\n\n addItem(item: AccordionItemComponent): void {\n this.items.push(item);\n }\n\n removeItem(item: AccordionItemComponent): void {\n const index = this.items.indexOf(item);\n if (index !== -1) {\n this.items.splice(index, 1);\n }\n }\n\n toggleItem(item: AccordionItemComponent): void {\n item.itemVisible.update((value) => !value);\n this.closeOtherItems(item);\n }\n\n closeOtherItems(openItem: AccordionItemComponent): void {\n if (!this.alwaysOpen) {\n this.items.forEach((item: AccordionItemComponent) => {\n if (item !== openItem) {\n item.itemVisible.set(false);\n }\n });\n }\n }\n}\n","import { booleanAttribute, Component, computed, effect, inject, input } from '@angular/core';\n\nimport { AccordionService } from '../accordion.service';\n\n@Component({\n selector: 'c-accordion',\n template: '<ng-content />',\n styleUrls: ['./accordion.component.scss'],\n exportAs: 'cAccordionItem',\n providers: [AccordionService],\n host: { '[class]': 'hostClasses()' }\n})\nexport class AccordionComponent {\n readonly #accordionService = inject(AccordionService);\n\n /**\n * Removes the default background-color, some borders, and some rounded corners to render accordions edge-to-edge with their parent container.\n * @returns boolean\n */\n readonly flush = input(false, { transform: booleanAttribute });\n\n /**\n * Make accordion items stay open when another item is opened\n * @returns boolean\n */\n readonly alwaysOpen = input(false, { transform: booleanAttribute });\n\n readonly #alwaysOpenEffect = effect(() => {\n this.#accordionService.alwaysOpen = this.alwaysOpen();\n });\n\n readonly hostClasses = computed(\n () =>\n ({\n accordion: true,\n 'accordion-flush': this.flush()\n }) as Record<string, boolean>\n );\n}\n","import {\n booleanAttribute,\n computed,\n Directive,\n effect,\n ElementRef,\n inject,\n input,\n linkedSignal,\n OnDestroy,\n output,\n Renderer2,\n untracked\n} from '@angular/core';\n\n@Directive({\n selector: '[cCollapse]',\n exportAs: 'cCollapse',\n host: { '[class]': 'hostClasses()' }\n})\nexport class CollapseDirective implements OnDestroy {\n readonly #hostElement = inject(ElementRef);\n readonly #renderer = inject(Renderer2);\n #unlistenTransitionEnd?: () => void;\n #isFirstChange = true;\n\n /**\n * @ignore internal\n */\n readonly animateInput = input(true, { transform: booleanAttribute, alias: 'animate' });\n\n readonly animate = linkedSignal(this.animateInput);\n\n /**\n * Set horizontal collapsing to transition the width instead of height.\n * @returns boolean\n * @default false\n */\n readonly horizontal = input(false, { transform: booleanAttribute });\n\n /**\n * Toggle the visibility of a collapsible element.\n * @returns boolean\n * @default false\n */\n readonly visibleInput = input(false, { transform: booleanAttribute, alias: 'visible' });\n\n /**\n * Event emitted on visibility change\n * @returns boolean\n */\n readonly visibleChange = output<boolean>();\n\n readonly visible = linkedSignal(this.visibleInput);\n\n readonly #visibleEffect = effect(() => {\n const visible = this.visible();\n untracked(() => {\n if (this.#isFirstChange) {\n this.#isFirstChange = false;\n this.setInitialState(visible);\n return;\n }\n if (!this.animate()) {\n this.finishTransition(visible, this.#hostElement.nativeElement, this.horizontal() ? 'width' : 'height');\n return;\n }\n this.runTransition(visible);\n });\n });\n\n /**\n * Add a `navbar` prop for grouping and hiding navbar contents by a parent breakpoint.\n * @returns boolean\n * @default false\n */\n readonly navbar = input(false, { transform: booleanAttribute });\n\n /**\n * Event emitted on visibility change\n * @returns string\n */\n readonly collapseChange = output<string>();\n\n protected readonly hostClasses = computed(() => {\n return {\n 'navbar-collapse': this.navbar(),\n 'collapse-horizontal': this.horizontal()\n } as Record<string, boolean>;\n });\n\n ngOnDestroy(): void {\n this.clearPendingCallbacks();\n }\n\n toggle(visible = !this.visible()): void {\n this.visible.set(visible);\n }\n\n protected clearPendingCallbacks(): void {\n this.#unlistenTransitionEnd?.();\n this.#unlistenTransitionEnd = undefined;\n }\n\n protected setInitialState(visible: boolean): void {\n const host: HTMLElement = this.#hostElement.nativeElement;\n\n this.#renderer.addClass(host, 'collapse');\n this.#renderer.removeClass(host, 'collapsing');\n\n if (visible) {\n this.#renderer.addClass(host, 'show');\n } else {\n this.#renderer.removeClass(host, 'show');\n }\n }\n\n protected runTransition(visible: boolean): void {\n this.clearPendingCallbacks();\n\n const host: HTMLElement = this.#hostElement.nativeElement;\n const dimension = this.horizontal() ? 'width' : 'height';\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);\n const scrollSize = `scroll${capitalizedDimension}` as 'scrollHeight' | 'scrollWidth';\n\n const animate = this.animate();\n\n if (visible) {\n this.setMaxSize();\n\n // Switch off `collapse`/`show` before we measure its scroll size below.\n this.#renderer.removeClass(host, 'collapse');\n this.#renderer.removeClass(host, 'show');\n this.#renderer.addClass(host, 'collapsing');\n\n this.collapseChange?.emit('opening');\n\n // Reading scrollHeight/scrollWidth forces a synchronous reflow, committing the 0-size\n // starting point before we set the target size below, so the browser animates the change.\n const targetSize = host[scrollSize];\n this.#renderer.setStyle(host, dimension, `${targetSize}px`);\n } else {\n // Lock in the current pixel size first so the browser has a committed starting point,\n // then switch to the collapsing state and clear it so the size can animate down to 0.\n const startSize = host.getBoundingClientRect()[dimension];\n this.#renderer.setStyle(host, dimension, `${startSize}px`);\n // Force a reflow so the browser registers the starting size before the next style change.\n host.offsetHeight;\n\n this.#renderer.removeClass(host, 'collapse');\n this.#renderer.removeClass(host, 'show');\n this.#renderer.addClass(host, 'collapsing');\n\n this.collapseChange?.emit('collapsing');\n\n // Now that the starting size is committed, set the target size (0) so the browser\n // animates the transition down.\n this.#renderer.setStyle(host, dimension, '0px');\n }\n\n const finish = () => this.finishTransition(visible, host, dimension);\n\n if (animate) {\n this.#unlistenTransitionEnd = this.#renderer.listen(host, 'transitionend', (event: TransitionEvent) => {\n // Ignore bubbled transitionend events from descendant elements.\n if (event.target === host && event.propertyName === dimension) {\n finish();\n }\n });\n } else {\n finish();\n }\n }\n\n protected finishTransition(visible: boolean, host: HTMLElement, dimension: string): void {\n this.clearPendingCallbacks();\n\n this.#renderer.removeClass(host, 'collapsing');\n this.#renderer.addClass(host, 'collapse');\n if (visible) {\n this.#renderer.addClass(host, 'show');\n } else {\n this.#renderer.removeClass(host, 'show');\n }\n this.#renderer.removeStyle(host, 'transition');\n this.#renderer.removeStyle(host, dimension);\n\n this.collapseChange?.emit(visible ? 'open' : 'collapsed');\n this.visibleChange?.emit(visible);\n }\n\n protected setMaxSize() {\n const host = this.#hostElement.nativeElement;\n if (this.horizontal()) {\n host.scrollWidth > 0 && this.#renderer.setStyle(host, 'maxWidth', `${host.scrollWidth}px`);\n // } else {\n // host.scrollHeight > 0 && this.#renderer.setStyle(host, 'maxHeight', `${host.scrollHeight}px`);\n }\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CollapseDirective } from './collapse.directive';\n\n@NgModule({\n exports: [CollapseDirective],\n imports: [CollapseDirective]\n})\nexport class CollapseModule {\n static forRoot(): ModuleWithProviders<CollapseModule> {\n return { ngModule: CollapseModule, providers: [] };\n }\n}\n","import {\n booleanAttribute,\n Component,\n computed,\n contentChildren,\n effect,\n inject,\n input,\n OnDestroy,\n OnInit,\n signal,\n TemplateRef\n} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\n\nimport { CollapseDirective } from '../../collapse';\nimport { TemplateIdDirective } from '../../shared';\nimport { AccordionButtonDirective } from '../accordion-button/accordion-button.directive';\nimport { AccordionService } from '../accordion.service';\n\nlet nextId = 0;\n\n@Component({\n selector: 'c-accordion-item',\n templateUrl: './accordion-item.component.html',\n styleUrls: ['./accordion-item.component.scss'],\n exportAs: 'cAccordionItem',\n imports: [AccordionButtonDirective, NgTemplateOutlet, CollapseDirective],\n host: { class: 'accordion-item' }\n})\nexport class AccordionItemComponent implements OnInit, OnDestroy {\n readonly #accordionService = inject(AccordionService);\n\n /**\n * Toggle an accordion item programmatically\n * @returns boolean\n * @default false\n */\n readonly visibleInput = input(false, { transform: booleanAttribute, alias: 'visible' });\n\n readonly itemVisible = signal(false);\n\n readonly #visibleInputChange = effect(() => {\n this.visible = this.visibleInput();\n });\n\n set visible(value: boolean) {\n this.itemVisible.set(value);\n }\n\n get visible() {\n return <boolean>this.itemVisible();\n }\n\n contentId = `accordion-item-${nextId++}`;\n\n get itemContext() {\n return { $implicit: <boolean>this.itemVisible() };\n }\n\n readonly contentTemplates = contentChildren(TemplateIdDirective, { descendants: true });\n\n readonly templates = computed(() => {\n return this.contentTemplates().reduce(\n (acc, child) => {\n acc[child.id] = child.templateRef;\n return acc;\n },\n {} as Record<string, TemplateRef<any>>\n );\n });\n\n ngOnInit(): void {\n this.#accordionService.addItem(this);\n }\n\n ngOnDestroy(): void {\n this.#accordionService.removeItem(this);\n }\n\n toggleItem(): void {\n this.#accordionService.toggleItem(this);\n }\n}\n","@let tmpl = templates();\n<ng-container>\n <div class=\"accordion-header\">\n <ng-container *ngTemplateOutlet=\"tmpl['accordionHeaderTemplate'] || defaultAccordionHeaderTemplate; context: itemContext\" />\n </div>\n <div class=\"accordion-collapse\" cCollapse [visible]=\"itemVisible()\" [aria-expanded]=\"itemVisible()\" [id]=\"contentId\">\n <ng-container *ngTemplateOutlet=\"tmpl['accordionBodyTemplate'] || defaultAccordionBodyTemplate; context: itemContext\" />\n </div>\n</ng-container>\n\n<ng-template #defaultAccordionHeaderTemplate>\n <button cAccordionButton [collapsed]=\"!itemVisible()\" [aria-controls]=\"contentId\" (click)=\"toggleItem()\">\n <ng-container *ngTemplateOutlet=\"tmpl['accordionHeader'] || defaultAccordionHeaderContentTemplate; context: itemContext\" />\n </button>\n</ng-template>\n\n<ng-template #defaultAccordionHeaderContentTemplate>\n <ng-content />\n</ng-template>\n\n<ng-template #defaultAccordionBodyTemplate>\n <div class=\"accordion-body\">\n <ng-container *ngTemplateOutlet=\"tmpl['accordionBody'] || defaultAccordionBodyContentTemplate; context: itemContext\" />\n </div>\n</ng-template>\n\n<ng-template #defaultAccordionBodyContentTemplate>\n <ng-content />\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { AccordionComponent } from './accordion/accordion.component';\nimport { AccordionButtonDirective } from './accordion-button/accordion-button.directive';\nimport { AccordionItemComponent } from './accordion-item/accordion-item.component';\nimport { AccordionService } from './accordion.service';\n\n@NgModule({\n imports: [\n AccordionButtonDirective,\n AccordionComponent,\n AccordionItemComponent\n ],\n exports: [\n AccordionComponent,\n AccordionButtonDirective,\n AccordionItemComponent\n ],\n providers: [\n AccordionService\n ]\n})\nexport class AccordionModule {\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cAlertHeading]',\n host: { class: 'alert-heading' }\n})\nexport class AlertHeadingDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cAlertLink]',\n host: { class: 'alert-link' }\n})\nexport class AlertLinkDirective {}\n","import {\n booleanAttribute,\n computed,\n Directive,\n input,\n numberAttribute\n} from '@angular/core';\n\nimport { ButtonType, Colors, Shapes } from '../coreui.types';\n\n@Directive({\n selector: '[cButton]',\n exportAs: 'cButton',\n host: {\n class: 'btn',\n '[class]': 'hostClasses()',\n '[aria-disabled]': 'ariaDisabled()',\n '[aria-pressed]': 'isActive()',\n '[attr.disabled]': 'attrDisabled()',\n '[attr.tabindex]': 'tabIndex()',\n '[attr.type]': 'type()'\n }\n})\nexport class ButtonDirective {\n /**\n * Toggle the active state for the component\n * @returns boolean\n */\n readonly active = input(false, { transform: booleanAttribute });\n\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors\n * @returns Colors\n */\n readonly color = input<Colors>('primary');\n\n /**\n * Toggle the disabled state for the component.\n * @returns boolean\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n /**\n * Select the shape of the component.\n * @returns Shapes\n */\n readonly shape = input<Shapes>();\n\n /**\n * Size the component small or large.\n * @returns '' | 'sm' | 'lg'\n */\n readonly size = input<'' | 'sm' | 'lg'>('');\n\n /**\n * The tabindex attribute specifies the tab order of an element (when the \"tab\" button is used for navigating).\n */\n readonly tabindex = input(undefined, { transform: numberAttribute });\n\n /**\n * Specifies the type of button. Always specify the type attribute for the `<button>` element.\n * Different browsers may use different default types for the `<button>` element.\n * @returns ButtonType\n * @default 'button'\n */\n readonly type = input<ButtonType>('button');\n\n /**\n * Set the button variant to an outlined button or a ghost button.\n * @returns 'ghost' | 'outline' | undefined\n */\n readonly variant = input<'ghost' | 'outline' | undefined>();\n\n readonly hostClasses = computed(() => {\n const color = this.color();\n const variant = this.variant();\n const size = this.size();\n const shape = this.shape();\n\n return {\n btn: true,\n [`btn-${color}`]: !!color && !variant,\n [`btn-${variant}`]: !!variant && !color,\n [`btn-${variant}-${color}`]: !!variant && !!color,\n [`btn-${size}`]: !!size,\n [`${shape}`]: !!shape,\n active: this.active(),\n disabled: this._disabled()\n } as Record<string, boolean>;\n });\n\n readonly _disabled = computed(() => this.disabled());\n\n readonly ariaDisabled = computed(() => {\n return this._disabled() ? true : null;\n });\n\n readonly attrDisabled = computed(() => {\n return this._disabled() ? '' : null;\n });\n\n readonly tabIndex = computed(() => {\n const tabindex = this.tabindex();\n return this._disabled() ? -1 : Number.isNaN(tabindex) ? null : (tabindex ?? null);\n });\n\n readonly isActive = computed(() => {\n return <boolean>this.active() || null;\n });\n}\n","import { booleanAttribute, computed, Directive, input } from '@angular/core';\nimport { ThemeDirective } from '../shared/theme.directive';\nimport { ButtonDirective } from './button.directive';\n\n@Directive({\n selector: '[cButtonClose]',\n hostDirectives: [{ directive: ThemeDirective, inputs: ['dark'] }],\n host: {\n class: 'btn btn-close',\n '[class]': 'hostClasses()',\n '[aria-disabled]': 'ariaDisabled()',\n '[aria-pressed]': 'isActive()',\n '[attr.disabled]': 'attrDisabled()',\n '[attr.tabindex]': 'tabIndex()',\n '[attr.type]': 'type()'\n }\n})\nexport class ButtonCloseDirective extends ButtonDirective {\n /**\n * Change the default color to white.\n * @returns boolean\n * @deprecated 5.0.0. Use `cButtonClose dark` instead.\n */\n readonly white = input(false, { transform: booleanAttribute });\n\n override readonly hostClasses = computed(() => {\n const size = this.size();\n\n return {\n btn: true,\n 'btn-close': true,\n 'btn-close-white': this.white(),\n [`btn-${size}`]: !!size,\n active: this.active(),\n disabled: this._disabled()\n } as Record<string, boolean>;\n });\n}\n","import { NgModule } from '@angular/core';\n\nimport { ButtonDirective } from './button.directive';\nimport { ButtonCloseDirective } from './button-close.directive';\n\n@NgModule({\n imports: [\n ButtonDirective,\n ButtonCloseDirective\n ],\n exports: [\n ButtonDirective,\n ButtonCloseDirective\n ]\n})\nexport class ButtonModule {}\n","const getTransitionDurationFromElement = (element: HTMLElement) => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * 1000\n}\n\nexport default getTransitionDurationFromElement\n","import {\n afterRenderEffect,\n AnimationCallbackEvent,\n booleanAttribute,\n Component,\n computed,\n contentChildren,\n effect,\n ElementRef,\n inject,\n input,\n linkedSignal,\n MAX_ANIMATION_TIMEOUT,\n output,\n PLATFORM_ID,\n TemplateRef\n} from '@angular/core';\nimport { isPlatformServer, NgTemplateOutlet } from '@angular/common';\n\nimport { Colors } from '../coreui.types';\nimport { TemplateIdDirective } from '../shared';\nimport { ButtonCloseDirective } from '../button';\nimport getTransitionDurationFromElement from '../utilities/getTransitionDurationFromElement';\n\n@Component({\n selector: 'c-alert',\n templateUrl: './alert.component.html',\n styleUrls: ['./alert.component.scss'],\n exportAs: 'cAlert',\n imports: [NgTemplateOutlet, ButtonCloseDirective],\n host: {\n '[attr.role]': 'role()',\n '[class]': 'hostClasses()',\n '(animate.leave)': 'handleLeaving($event)',\n '(transitionend)': 'onTransitionEnd($event)',\n '[hidden]': 'hide()',\n '[inert]': 'hide()'\n },\n providers: [{ provide: MAX_ANIMATION_TIMEOUT, useValue: 300 }]\n})\nexport class AlertComponent {\n readonly #hostElement = inject(ElementRef);\n readonly #maxAnimationTimeout = inject(MAX_ANIMATION_TIMEOUT);\n readonly #isServer = isPlatformServer(inject(PLATFORM_ID));\n\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n * @default 'primary'\n */\n readonly color = input<Colors>('primary');\n\n /**\n * Default role for alert\n * @returns string\n * @default 'alert'\n */\n readonly role = input('alert');\n\n /**\n * Set the alert variant to a solid.\n * @returns 'solid'\n * @default undefined\n */\n readonly variant = input<'solid'>();\n\n /**\n * Optionally adds a close button to the alert and allow it to self-dismiss.\n * @returns boolean\n * @default false\n */\n readonly dismissible = input(false, { transform: booleanAttribute });\n\n /**\n * Adds animation for dismissible alert.\n * @returns boolean\n * @default false\n */\n readonly fade = input(false, { transform: booleanAttribute });\n\n /**\n * Toggle the visibility of the alert component.\n * @returns boolean\n * @default true\n */\n readonly visibleInput = input(true, { transform: booleanAttribute, alias: 'visible' });\n\n readonly visible = linkedSignal(this.visibleInput);\n\n /**\n * Event triggered on the alert visibility change.\n * @returns boolean\n */\n readonly visibleChange = output<boolean>();\n\n protected readonly hide = linkedSignal<{ fade: boolean; visible: boolean }, boolean>({\n source: () => ({ fade: this.fade(), visible: this.visible() }),\n computation: ({ fade, visible }, previous) => !visible && (!fade || this.#isServer || (previous?.value ?? true))\n });\n\n readonly #visibleEffect = afterRenderEffect({\n read: (onCleanup) => {\n if (this.visible() || this.hide()) {\n return;\n }\n const duration = getTransitionDurationFromElement(this.#hostElement.nativeElement);\n if (!duration) {\n this.#finishTransition();\n return;\n }\n const timeoutId = setTimeout(() => this.#finishTransition(), duration + 5);\n onCleanup(() => clearTimeout(timeoutId));\n }\n });\n\n readonly #hideEffect = effect(() => {\n const hide = this.hide();\n this.visibleChange.emit(!hide);\n });\n\n protected readonly contentTemplates = contentChildren(TemplateIdDirective, { descendants: true });\n\n protected readonly templates = computed(() => {\n return this.contentTemplates().reduce(\n (acc, child) => {\n acc[child.id] = child.templateRef;\n return acc;\n },\n {} as Record<string, TemplateRef<any>>\n );\n });\n\n protected readonly hostClasses = computed(() => {\n const color = this.color();\n const variant = this.variant();\n const visible = this.visible();\n\n return {\n alert: true,\n 'alert-dismissible': this.dismissible(),\n fade: this.fade(),\n show: visible,\n [`alert-${color}`]: !!color && variant !== 'solid',\n [`bg-${color}`]: !!color && variant === 'solid',\n 'text-white': !!color && variant === 'solid'\n } as Record<string, boolean>;\n });\n\n protected onTransitionEnd($event: TransitionEvent): void {\n if ($event.target === this.#hostElement.nativeElement && $event.propertyName === 'opacity') {\n this.#finishTransition();\n }\n }\n\n #finishTransition(): void {\n this.hide.set(!this.visible());\n }\n\n #leavingInProgress = false;\n\n protected handleLeaving($event: AnimationCallbackEvent) {\n if (this.#leavingInProgress) return;\n this.#leavingInProgress = true;\n\n this.#hostElement.nativeElement.classList.remove('show');\n setTimeout(() => {\n $event.animationComplete();\n }, this.#maxAnimationTimeout);\n }\n}\n","@if (visible() || !hide()) {\n @if (dismissible()) {\n <ng-container *ngTemplateOutlet=\"templates()?.['alertButtonCloseTemplate'] || defaultAlertButtonCloseTemplate\" />\n }\n <ng-content />\n}\n<ng-template #defaultAlertButtonCloseTemplate>\n <button (click)=\"visible.set(false)\" aria-label=\"Close\" cButtonClose></button>\n</ng-template>\n","import { NgModule } from '@angular/core';\n\nimport { AlertComponent } from './alert.component';\nimport { AlertHeadingDirective } from './alert-heading.directive';\nimport { AlertLinkDirective } from './alert-link.directive';\n\n@NgModule({\n imports: [\n AlertComponent,\n AlertHeadingDirective,\n AlertLinkDirective\n ],\n exports: [\n AlertComponent,\n AlertHeadingDirective,\n AlertLinkDirective\n ]\n})\nexport class AlertModule {}\n","import { computed, Directive, input } from '@angular/core';\nimport { Alignment } from '../coreui.types';\n\n@Directive({\n selector: '[cAlign]',\n exportAs: 'cAlign',\n host: { '[class]': 'hostClasses()' }\n})\nexport class AlignDirective {\n /**\n * Set vertical alignment of inline, inline-block, inline-table, and table cell elements\n * @returns Alignment | undefined\n */\n readonly align = input<Alignment | undefined>(undefined, { alias: 'cAlign' });\n\n readonly hostClasses = computed(() => {\n const align = this.align();\n return {\n [`align-${align}`]: !!align\n } as Record<string, boolean>;\n });\n}\n","import { computed, Directive, input } from '@angular/core';\nimport { BackgroundColors } from '../coreui.types';\n\n@Directive({\n selector: '[cBgColor]',\n exportAs: 'cBgColor',\n host: { '[class]': 'hostClasses()' }\n})\nexport class BgColorDirective {\n /**\n * Set the background of an element to any contextual class\n */\n readonly cBgColor = input<BackgroundColors>('');\n\n /**\n * Add linear gradient as background image to the backgrounds.\n * @returns boolean\n */\n readonly gradient = input<boolean>();\n\n readonly hostClasses = computed(() => {\n const color = this.cBgColor();\n return {\n [`bg-${color}`]: !!color,\n 'bg-gradient': this.gradient()\n } as Record<string, boolean>;\n });\n}\n","import { computed, Directive, input } from '@angular/core';\nimport { Border } from './border.type';\n\n@Directive({\n selector: '[cBorder]',\n exportAs: 'cBorder',\n host: { '[class]': 'hostClasses()' }\n})\nexport class BorderDirective {\n /**\n * Add or remove an element’s borders\n * @returns Border\n */\n readonly cBorder = input<Border>(true);\n\n readonly hostClasses = computed<Record<string, boolean>>(() => {\n const border = this.cBorder();\n if (typeof border === 'boolean') {\n return { border: border };\n }\n if (typeof border === 'number' || typeof border === 'string') {\n return {\n border: true,\n [`border-${border}`]: true\n };\n }\n if (typeof border === 'object') {\n const borderObj = {\n top: undefined,\n end: undefined,\n bottom: undefined,\n start: undefined,\n color: undefined,\n ...border\n };\n // @ts-ignore\n const keys = Object.keys(borderObj).filter((key) => borderObj[key] !== undefined);\n const classes = {};\n keys.forEach((key) => {\n // @ts-ignore\n const val = borderObj[key];\n if (typeof val === 'boolean') {\n // @ts-ignore\n classes[`border-${key}`] = true;\n } else if (typeof val === 'number' || typeof val === 'string') {\n // @ts-ignore\n classes[`border-${key}-${val}`] = true;\n } else if (typeof val === 'object') {\n if ('color' in val) {\n // @ts-ignore\n classes[`border-${key}-${val.color}`] = true;\n }\n if ('width' in val) {\n // @ts-ignore\n classes[`border-${key}-${val.width}`] = true;\n }\n }\n });\n return Object.entries(classes).length === 0 ? { border: false } : classes;\n }\n return { border: false };\n });\n}\n","import { computed, Directive, input } from '@angular/core';\nimport { Rounded } from './rounded.type';\n\n@Directive({\n selector: '[cRounded]',\n exportAs: 'cRounded',\n host: { '[class]': 'hostClasses()' }\n})\nexport class RoundedDirective {\n /**\n * Set border radius variant and radius size\n * @returns Rounded\n */\n readonly cRounded = input<Rounded>(true);\n\n readonly hostClasses = computed<Record<string, boolean>>(() => {\n const rounded = this.cRounded();\n if (typeof rounded === 'boolean') {\n return { rounded: rounded };\n }\n if (typeof rounded === 'number' || typeof rounded === 'string') {\n return {\n [`rounded-${rounded}`]: true\n };\n }\n if (typeof rounded === 'object') {\n const roundedObj = {\n top: undefined,\n end: undefined,\n bottom: undefined,\n start: undefined,\n circle: undefined,\n pill: undefined,\n size: undefined,\n ...rounded\n };\n // @ts-ignore\n const keys = Object.keys(roundedObj).filter((key) => roundedObj[key] !== undefined);\n const classes = {};\n keys.forEach((key) => {\n // @ts-ignore\n const val = roundedObj[key];\n if (typeof val === 'boolean') {\n // @ts-ignore\n classes[`rounded-${key}`] = val;\n } else {\n // @ts-ignore\n classes[`rounded-${val}`] = true;\n }\n });\n // console.log('rounded keys', keys, classes);\n return Object.entries(classes).length === 0 ? { rounded: false } : classes;\n }\n return { rounded: false };\n });\n}\n","import { computed, Directive, DOCUMENT, effect, ElementRef, inject, input } from '@angular/core';\nimport { fromEvent } from 'rxjs';\n\n@Directive({\n selector: '[cShadowOnScroll]',\n exportAs: 'cShadowOnScroll'\n})\nexport class ShadowOnScrollDirective {\n readonly #document: Document = inject(DOCUMENT);\n readonly #elementRef: ElementRef<HTMLElement> = inject(ElementRef);\n\n /**\n * Shadow size applied to the host element once the document has been scrolled; `false`/`'none'` disables it.\n * @returns 'sm' | 'lg' | 'none' | boolean\n * @default true\n */\n readonly cShadowOnScroll = input<'sm' | 'lg' | 'none' | boolean>(true);\n\n readonly #shadowClass = computed(() => {\n const value = this.cShadowOnScroll();\n if (!value || value === 'none') {\n return undefined;\n }\n return value === true ? 'shadow' : `shadow-${value}`;\n });\n\n readonly #shadowOnScrollEffect = effect((onCleanup) => {\n const shadowClass = this.#shadowClass();\n if (!shadowClass) {\n return;\n }\n const host = this.#elementRef.nativeElement;\n const toggleShadow = () => host.classList.toggle(shadowClass, this.#document.documentElement.scrollTop > 0);\n toggleShadow();\n const subscription = fromEvent(this.#document, 'scroll').subscribe(toggleShadow);\n onCleanup(() => {\n subscription.unsubscribe();\n host.classList.remove(shadowClass);\n });\n });\n}\n","import { computed, Directive, input, InputSignal } from '@angular/core';\nimport { TextColors } from '../coreui.types';\n\n@Directive({\n selector: '[cTextColor]',\n host: {\n '[class]': 'hostClasses()'\n }\n})\nexport class TextColorDirective {\n /**\n * Set text-color of element\n * @returns TextColors\n */\n readonly color: InputSignal<TextColors> = input('', { alias: 'cTextColor' });\n\n readonly hostClasses = computed(() => {\n const color = this.color();\n return {\n [`text-${color}`]: !!color\n };\n });\n}\n","import { computed, Directive, input, InputSignal } from '@angular/core';\nimport { Colors } from '../coreui.types';\n\n@Directive({\n selector: '[cTextBgColor]',\n host: {\n '[class]': 'hostClasses()'\n }\n})\nexport class TextBgColorDirective {\n /**\n * Set text-bg-color of element\n * @returns Colors\n */\n readonly textBgColor: InputSignal<Colors> = input('', { alias: 'cTextBgColor' });\n\n readonly hostClasses = computed(() => {\n const color = this.textBgColor();\n return {\n [`text-bg-${color}`]: !!color\n } as Record<string, boolean>;\n });\n}\n","import { NgModule } from '@angular/core';\n\nimport {\n AlignDirective,\n BgColorDirective,\n BorderDirective,\n RoundedDirective,\n ShadowOnScrollDirective,\n TextBgColorDirective,\n TextColorDirective\n} from './public_api';\n\nconst UTILITY_DIRECTIVES = [\n AlignDirective,\n BgColorDirective,\n BorderDirective,\n RoundedDirective,\n ShadowOnScrollDirective,\n TextColorDirective,\n TextBgColorDirective\n];\n\n@NgModule({\n imports: [...UTILITY_DIRECTIVES],\n exports: [...UTILITY_DIRECTIVES]\n})\nexport class UtilitiesModule {}\n","import { Component, computed, input } from '@angular/core';\n\nimport { Colors, Shapes, Sizes, TextColors } from '../coreui.types';\nimport { TextColorDirective } from '../utilities';\n\n@Component({\n selector: 'c-avatar',\n templateUrl: './avatar.component.html',\n styleUrls: ['./avatar.component.scss'],\n hostDirectives: [\n {\n directive: TextColorDirective,\n inputs: ['cTextColor: textColor']\n }\n ],\n host: { class: 'avatar', '[class]': 'hostClasses()' }\n})\nexport class AvatarComponent {\n /**\n * Sets the background color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly color = input<Colors>();\n\n /**\n * Select the shape of the component.\n * @returns Shapes\n */\n readonly shape = input<Shapes>();\n\n /**\n * Size the component small, large, or extra large.\n * @returns Omit<Sizes, 'xxl'>\n * @default ''\n */\n readonly size = input<Omit<Sizes, 'xxl'>>('');\n\n /**\n * The alt attribute for the img element alternate text.\n * @returns string\n */\n readonly alt = input<string>('');\n\n /**\n * The src attribute for the img element.\n * @returns string\n */\n readonly src = input<string>();\n\n /**\n * Sets the color context of the status indicator to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly status = input<Colors>();\n\n /**\n * Sets the text color of the component to one of CoreUI’s themed colors\n * via TextColorDirective\n * @returns TextColors\n */\n readonly textColor = input<TextColors>();\n\n readonly statusClass = computed(() => {\n const status = this.status();\n return {\n 'avatar-status': true,\n [`bg-${status}`]: !!status\n } as Record<string, boolean>;\n });\n\n readonly hostClasses = computed(() => {\n const size = this.size();\n const color = this.color();\n const shape = this.shape();\n\n return {\n avatar: true,\n [`avatar-${size}`]: !!size,\n [`bg-${color}`]: !!color,\n [`${shape}`]: !!shape\n } as Record<string, boolean>;\n });\n}\n","<ng-content>\n @if (src()) {\n @defer (on immediate) {\n <img src=\"{{src() ?? ''}}\" class=\"avatar-img\" alt=\"{{alt()}}\" />\n } @placeholder () {\n <svg aria-label=\"Avatar placeholder\"\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid slice\"\n role=\"img\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"avatar-img\"\n style=\"position: absolute; width: 100%; height: 100%; inset: 0;\">\n <rect fill=\"#868e96\" height=\"100%\" width=\"100%\"></rect>\n </svg>\n }\n }\n</ng-content>\n@if (!!status()) {\n <span [class]=\"statusClass()\"></span>\n}\n\n","import { NgModule } from '@angular/core';\nimport { AvatarComponent } from './avatar.component';\n\n@NgModule({\n imports: [\n AvatarComponent\n ],\n exports: [\n AvatarComponent\n ]\n})\nexport class AvatarModule {}\n","import { Component, computed, input, InputSignal } from '@angular/core';\nimport { BadgePositions, Colors, Shapes, TextColors } from '../coreui.types';\nimport { TextBgColorDirective, TextColorDirective } from '../utilities';\n\n@Component({\n selector: 'c-badge',\n template: '<ng-content />',\n hostDirectives: [\n { directive: TextColorDirective, inputs: ['cTextColor: textColor'] },\n { directive: TextBgColorDirective, inputs: ['cTextBgColor: textBgColor'] }\n ],\n host: {\n class: 'badge',\n '[class]': 'hostClasses()'\n }\n})\nexport class BadgeComponent {\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly color: InputSignal<Colors | undefined> = input();\n /**\n * Position badge in one of the corners of a link or button.\n * @returns BadgePositions\n */\n readonly position: InputSignal<BadgePositions | undefined> = input();\n\n /**\n * Select the shape of the component.\n * @returns Shapes\n */\n readonly shape: InputSignal<Shapes | undefined> = input();\n\n /**\n * Size the component small.\n */\n readonly size = input<'sm'>();\n\n /**\n * Sets the text color of the component to one of CoreUI’s themed colors.\n * via TextColorDirective\n * @returns TextColors\n */\n readonly textColor: InputSignal<TextColors | undefined> = input();\n\n /**\n * Sets the component's color scheme to one of CoreUI's themed colors, ensuring the text color contrast adheres to the WCAG 4.5:1 contrast ratio standard for accessibility.\n * via TextBgColorDirective\n * @returns Colors\n * @since 5.0.0\n */\n readonly textBgColor: InputSignal<Colors | undefined> = input();\n\n readonly hostClasses = computed(() => {\n const position = this.position();\n const positionClasses = {\n 'position-absolute': !!position,\n 'translate-middle': !!position,\n 'top-0': position?.includes('top'),\n 'top-100': position?.includes('bottom'),\n 'start-100': position?.includes('end'),\n 'start-0': position?.includes('start')\n };\n\n const color = this.color();\n const size = this.size();\n const shape = this.shape();\n\n return Object.assign(\n {\n badge: true,\n [`bg-${color}`]: !!color,\n [`badge-${size}`]: !!size,\n [`${shape}`]: !!shape\n },\n !!position ? positionClasses : {}\n ) as Record<string, boolean>;\n });\n}\n","import { NgModule } from '@angular/core';\nimport { BadgeComponent } from './badge.component';\n\n@NgModule({\n imports: [\n BadgeComponent\n ],\n exports: [\n BadgeComponent\n ]\n})\nexport class BadgeModule {}\n","import { DOCUMENT, inject, Injectable } from '@angular/core';\n\nimport { Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BackdropService {\n readonly #backdropClick = new Subject<boolean>();\n readonly backdropClick$ = this.#backdropClick.asObservable();\n\n readonly #document = inject(DOCUMENT);\n\n activeBackdrop: any;\n\n #clearBackdropId?: ReturnType<typeof setTimeout>;\n #pendingBackdrop?: HTMLElement;\n\n get #scrollbarWidth() {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = this.#document.documentElement.clientWidth;\n const scrollbarWidth = Math.abs((this.#document.defaultView?.innerWidth ?? documentWidth) - documentWidth);\n return `${scrollbarWidth}px`;\n }\n\n scrollbarWidth = this.#scrollbarWidth;\n\n setBackdrop(type: string = 'modal'): HTMLDivElement {\n this.#flushClearBackdrop();\n\n const backdropElement = this.#document.createElement('div');\n backdropElement.classList.add(`${type}-backdrop`);\n backdropElement.classList.add('fade');\n this.#document.body.appendChild(backdropElement);\n\n const clickHandler = () => {\n this.onClickHandler();\n };\n (backdropElement as any).__backdropClickHandler = clickHandler;\n backdropElement.addEventListener('click', clickHandler);\n\n this.scrollbarWidth = this.#scrollbarWidth;\n setTimeout(() => {\n backdropElement.classList.add('show');\n // this.hideScrollbar();\n });\n this.activeBackdrop = backdropElement;\n return backdropElement;\n }\n\n clearBackdrop(backdropElement: HTMLElement): any {\n if (backdropElement) {\n const storedHandler = (backdropElement as any).__backdropClickHandler;\n if (storedHandler) {\n backdropElement.removeEventListener('click', storedHandler);\n delete (backdropElement as any).__backdropClickHandler;\n }\n backdropElement.classList.remove('show');\n this.#flushClearBackdrop();\n this.#pendingBackdrop = backdropElement;\n this.#clearBackdropId = setTimeout(() => {\n this.#clearBackdropId = undefined;\n this.#pendingBackdrop = undefined;\n if (this.activeBackdrop === backdropElement) {\n this.resetScrollbar();\n this.activeBackdrop = undefined;\n }\n this.#removeBackdrop(backdropElement);\n }, 300);\n }\n return undefined;\n }\n\n #flushClearBackdrop(): void {\n if (this.#clearBackdropId === undefined) {\n return;\n }\n clearTimeout(this.#clearBackdropId);\n this.#clearBackdropId = undefined;\n const pending = this.#pendingBackdrop;\n this.#pendingBackdrop = undefined;\n if (pending) {\n this.#removeBackdrop(pending);\n }\n }\n\n #removeBackdrop(backdropElement: HTMLElement): void {\n if (backdropElement.parentElement === this.#document.body) {\n this.#document.body.removeChild(backdropElement);\n }\n }\n\n get #isRTL() {\n return [this.#document.documentElement.dir, this.#document.body.dir].includes('rtl');\n }\n\n get #padding() {\n return `padding-${this.#isRTL ? 'left' : 'right'}`;\n }\n\n #scrollBarVisible = true;\n\n hideScrollbar(): void {\n if (this.#scrollBarVisible) {\n this.#document.body.style.setProperty('overflow', 'hidden');\n this.#document.body.style.setProperty(this.#padding, this.scrollbarWidth);\n this.#scrollBarVisible = false;\n }\n }\n\n resetScrollbar(): void {\n this.#document.body.style.removeProperty('overflow');\n this.#document.body.style.removeProperty(this.#padding);\n this.#scrollBarVisible = true;\n }\n\n onClickHandler(): void {\n this.#backdropClick.next(true);\n }\n}\n","import { booleanAttribute, Component, computed, effect, input } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { RouterModule } from '@angular/router';\n\nimport { HtmlAttributesDirective } from '../../shared';\nimport { INavAttributes, INavLinkProps } from './breadcrumb-item';\n\n@Component({\n selector: 'c-breadcrumb-item',\n templateUrl: './breadcrumb-item.component.html',\n styleUrls: ['./breadcrumb-item.component.scss'],\n imports: [RouterModule, NgTemplateOutlet, HtmlAttributesDirective],\n exportAs: 'breadcrumbItem',\n host: {\n '[aria-current]': 'ariaCurrent()',\n '[class]': 'hostClasses()'\n }\n})\nexport class BreadcrumbItemComponent {\n /**\n * Toggle the active state for the component\n * @returns boolean\n */\n readonly active = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n\n /**\n * The `url` prop for the inner `[routerLink]` directive\n * @returns string | any[]\n */\n readonly url = input<string | any[]>();\n\n /**\n * Additional html attributes for link\n * @returns INavAttributes\n */\n readonly attribs = input<INavAttributes>();\n\n /**\n * @deprecated The `attributes` prop is deprecated, use `attribs` instead\n */\n protected readonly _attributes = input<INavAttributes>(undefined, { alias: 'attributes' });\n\n readonly #attributesEffect = effect(() => {\n if (this._attributes()) {\n console.error('c-breadcrumb-item: [attributes] prop is removed, use [attribs] instead:', this._attributes());\n }\n });\n\n /**\n * Some `NavigationExtras` props for the inner `[routerLink]` directive and `routerLinkActiveOptions`\n * @returns INavLinkProps\n */\n readonly linkProps = input<INavLinkProps>();\n\n readonly ariaCurrent = computed((): string | null => {\n return this.active() ? 'page' : null;\n });\n\n readonly hostClasses = computed(() => {\n return {\n 'breadcrumb-item': true,\n active: this.active()\n } as Record<string, boolean>;\n });\n}\n","@if (!active()) {\n <a\n [routerLink]=\"url()\"\n [cHtmlAttr]=\"attribs() ?? {}\"\n [target]=\"$safeNavigationMigration(attribs()?.['target'])\"\n [queryParams]=\"linkProps()?.queryParams ?? null\"\n [fragment]=\"$safeNavigationMigration(linkProps()?.fragment)\"\n [queryParamsHandling]=\"linkProps()?.queryParamsHandling ?? null\"\n [preserveFragment]=\"linkProps()?.preserveFragment ?? false\"\n [skipLocationChange]=\"linkProps()?.skipLocationChange ?? false\"\n [replaceUrl]=\"linkProps()?.replaceUrl ?? false\"\n [state]=\"linkProps()?.state ?? {}\"\n >\n <ng-container *ngTemplateOutlet=\"defaultBreadcrumbItemContentTemplate\" />\n </a>\n} @else {\n <span [cHtmlAttr]=\"attribs() ?? {}\">\n <ng-container *ngTemplateOutlet=\"defaultBreadcrumbItemContentTemplate\" />\n </span>\n}\n\n<ng-template #defaultBreadcrumbItemContentTemplate>\n <ng-content />\n</ng-template>\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'c-breadcrumb',\n template: '<ng-content />',\n host: {\n class: 'breadcrumb',\n '[aria-label]': 'ariaLabel()',\n '[attr.role]': 'role()'\n }\n})\nexport class BreadcrumbComponent {\n /**\n * Default aria-label for breadcrumb\n * @returns string\n * @default 'breadcrumb'\n */\n readonly ariaLabel = input('breadcrumb');\n\n /**\n * Default role for breadcrumb\n * @returns string\n * @default 'navigation'\n */\n readonly role = input('navigation');\n}\n","import { inject, Injectable } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { IBreadcrumbItem } from '../breadcrumb-item/breadcrumb-item';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BreadcrumbRouterService {\n readonly #router = inject(Router);\n readonly #activatedRoute = inject(ActivatedRoute);\n\n public outlet = 'primary';\n\n readonly #breadcrumbsBehaviorSubject: BehaviorSubject<IBreadcrumbItem[]> = new BehaviorSubject<IBreadcrumbItem[]>(\n new Array<IBreadcrumbItem>()\n );\n readonly breadcrumbs$: Observable<IBreadcrumbItem[]> = this.#breadcrumbsBehaviorSubject.asObservable();\n\n constructor() {\n this.#router.events\n .pipe(\n takeUntilDestroyed(),\n filter((event) => event instanceof NavigationEnd)\n )\n .subscribe((event) => {\n const breadcrumbs: any[] = [];\n let currentRoute: ActivatedRoute | null = this.#activatedRoute.root;\n let url = '';\n do {\n const childrenRoutes: ActivatedRoute[] = currentRoute.children;\n currentRoute = null;\n childrenRoutes.forEach((childRoute) => {\n // console.log('breadcrumb event', event, 'route', route);\n if (childRoute.outlet === this.outlet) {\n const routeSnapshot = childRoute.snapshot;\n url += '/' + routeSnapshot.url.map((segment) => segment.path).join('/');\n breadcrumbs.push({\n label: routeSnapshot.data['title'] ?? routeSnapshot.title ?? '',\n url,\n queryParams: routeSnapshot.queryParams\n });\n currentRoute = childRoute;\n }\n });\n } while (currentRoute);\n\n this.#breadcrumbsBehaviorSubject.next(Object.assign([], breadcrumbs));\n\n return breadcrumbs;\n });\n }\n}\n","import { Component, computed, inject, input } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\n\nimport { IBreadcrumbItem } from '../breadcrumb-item/breadcrumb-item';\nimport { BreadcrumbComponent } from '../breadcrumb/breadcrumb.component';\nimport { BreadcrumbRouterService } from './breadcrumb-router.service';\nimport { BreadcrumbItemComponent } from '../breadcrumb-item/breadcrumb-item.component';\n\n@Component({\n selector: 'c-breadcrumb-router, [cBreadcrumbRouter]',\n templateUrl: './breadcrumb-router.component.html',\n imports: [BreadcrumbComponent, BreadcrumbItemComponent]\n})\nexport class BreadcrumbRouterComponent {\n readonly #breadcrumbRouterService = inject(BreadcrumbRouterService);\n\n /**\n * Optional array of IBreadcrumbItem to override default BreadcrumbRouter behavior\n * @returns IBreadcrumbItem[]\n */\n readonly items = input<IBreadcrumbItem[]>();\n\n readonly #breadcrumbs = toSignal(this.#breadcrumbRouterService.breadcrumbs$);\n\n readonly breadcrumbs = computed(() => {\n return this.items() ?? this.#breadcrumbs() ?? [];\n });\n}\n","<c-breadcrumb class=\"m-0\">\n @for (breadcrumb of breadcrumbs(); track breadcrumb; let last = $last) {\n @if (breadcrumb?.label && (breadcrumb?.url?.slice(-1) === '/' || last)) {\n <c-breadcrumb-item\n [active]=\"last\"\n [url]=\"$safeNavigationMigration(breadcrumb?.url)\"\n [attribs]=\"$safeNavigationMigration(breadcrumb?.attributes)\"\n [linkProps]=\"$safeNavigationMigration(breadcrumb?.linkProps)\"\n >\n {{ breadcrumb?.label }}\n </c-breadcrumb-item>\n }\n }\n</c-breadcrumb>\n","import { NgModule } from '@angular/core';\n\n// CoreUI Breadcrumb Component\nimport { BreadcrumbComponent } from './breadcrumb/breadcrumb.component';\nimport { BreadcrumbItemComponent } from './breadcrumb-item/breadcrumb-item.component';\nimport { BreadcrumbRouterComponent } from './breadcrumb-router/breadcrumb-router.component';\nimport { BreadcrumbRouterService } from './breadcrumb-router/breadcrumb-router.service';\n\n@NgModule({\n imports: [\n BreadcrumbComponent,\n BreadcrumbItemComponent,\n BreadcrumbRouterComponent\n ],\n exports: [\n BreadcrumbComponent,\n BreadcrumbItemComponent,\n BreadcrumbRouterComponent\n ],\n providers: [BreadcrumbRouterService]\n})\nexport class BreadcrumbModule {}\n","import { booleanAttribute, Component, computed, input, InputSignalWithTransform } from '@angular/core';\n\n@Component({\n selector: 'c-button-group',\n template: '<ng-content />',\n host: { '[attr.role]': 'role()', '[class]': 'hostClasses()' }\n})\nexport class ButtonGroupComponent {\n /**\n * Size the component small or large.\n * @returns '' | 'sm' | 'lg'\n */\n readonly size = input<'' | 'sm' | 'lg'>();\n\n /**\n * Create a set of buttons that appear vertically stacked rather than horizontally. Split button dropdowns are not supported here.\n * @returns boolean\n */\n readonly vertical = input(false, { transform: booleanAttribute });\n\n /**\n * Default role attr for ButtonGroup\n * @returns string\n * @default 'group'\n */\n readonly role = input<string>('group');\n\n readonly hostClasses = computed(() => {\n const size = this.size();\n const vertical = this.vertical();\n return {\n 'btn-group': !vertical,\n 'btn-group-vertical': vertical,\n [`btn-group-${size}`]: !!size\n } as Record<string, boolean>;\n });\n}\n","import { Component, input, InputSignal } from '@angular/core';\n\n@Component({\n selector: 'c-button-toolbar',\n template: '<ng-content />',\n host: { class: 'btn-toolbar', '[attr.role]': 'role()' }\n})\nexport class ButtonToolbarComponent {\n /**\n * Default role attr for ButtonToolbar\n * @returns string\n * @default 'toolbar'\n */\n readonly role = input('toolbar');\n}\n","import { NgModule } from '@angular/core';\nimport { ButtonGroupComponent } from './button-group/button-group.component';\nimport { ButtonToolbarComponent } from './button-toolbar/button-toolbar.component';\n\n@NgModule({\n imports: [ButtonGroupComponent, ButtonToolbarComponent],\n exports: [ButtonGroupComponent, ButtonToolbarComponent]\n})\nexport class ButtonGroupModule {}\n","import { Component, computed, input } from '@angular/core';\nimport { Colors } from '../coreui.types';\n\n@Component({\n selector: 'c-callout, [cCallout]',\n template: '<ng-content />',\n styleUrls: ['./callout.component.scss'],\n host: { class: 'callout', '[class]': 'hostClasses()' }\n})\nexport class CalloutComponent {\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly color = input<Colors>();\n\n readonly hostClasses = computed(() => {\n const color = this.color();\n\n return {\n callout: true,\n [`callout-${color}`]: !!color\n } as Record<string, boolean>;\n });\n}\n","import { NgModule } from '@angular/core';\n\nimport { CalloutComponent } from './callout.component';\n\n@NgModule({\n exports: [CalloutComponent],\n imports: [CalloutComponent]\n})\nexport class CalloutModule {}\n","import { Component, computed, input, InputSignal } from '@angular/core';\nimport { Colors, TextColors } from '../coreui.types';\nimport { TextBgColorDirective, TextColorDirective } from '../utilities';\n\n@Component({\n selector: 'c-card, [c-card]',\n template: '<ng-content />',\n hostDirectives: [\n { directive: TextColorDirective, inputs: ['cTextColor: textColor'] },\n { directive: TextBgColorDirective, inputs: ['cTextBgColor: textBgColor'] }\n ],\n host: { class: 'card', '[class]': 'hostClasses()' }\n})\nexport class CardComponent {\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly color: InputSignal<Colors | undefined> = input();\n\n /**\n * Sets the text color context of the component to one of CoreUI’s themed colors.\n * via TextColorDirective\n * @returns TextColors\n */\n readonly textColor: InputSignal<TextColors | undefined> = input();\n\n /**\n * Sets the component's color scheme to one of CoreUI themed colors, ensuring the text color contrast adheres to the WCAG 4.5:1 contrast ratio standard for accessibility.\n * via TextBgColorDirective\n * @returns Colors\n * @since 5.0.0\n */\n readonly textBgColor: InputSignal<Colors | undefined> = input();\n\n readonly hostClasses = computed(() => {\n const color = this.color();\n\n return {\n card: true,\n [`bg-${color}`]: !!color\n } as Record<string, boolean>;\n });\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-card-body, [c-card-body]',\n template: '<ng-content />',\n host: { class: 'card-body' }\n})\nexport class CardBodyComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-card-footer, [c-card-footer]',\n template: '<ng-content />',\n host: { class: 'card-footer' }\n})\nexport class CardFooterComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-card-group, [c-card-group]',\n template: '<ng-content />',\n host: { class: 'card-group' }\n})\nexport class CardGroupComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-card-header, [c-card-header]',\n template: '<ng-content />',\n host: { class: 'card-header' }\n})\nexport class CardHeaderComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-card-header-actions, [c-card-header-actions]',\n template: '<ng-content />',\n host: { class: 'card-header-actions' }\n})\nexport class CardHeaderActionsComponent {}\n","import { computed, Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[cCardImg]',\n host: { '[class]': 'hostClasses()' }\n})\nexport class CardImgDirective {\n /**\n * Optionally orientate the image to the top, bottom, or make it overlaid across the card.\n * @returns 'top' | 'bottom' | 'start' | 'end' | undefined\n */\n readonly orientation = input<'top' | 'bottom' | 'start' | 'end' | undefined>(undefined, { alias: 'cCardImg' });\n\n readonly hostClasses = computed(() => {\n const orientation = this.orientation();\n const suffix = !!orientation ? `-${orientation}` : '';\n const horizontal = ['start', 'end'].includes(orientation ?? '-') ? orientation : undefined;\n return {\n [`card-img${suffix}`]: !horizontal,\n 'img-fluid': !!horizontal,\n [`rounded-${horizontal}`]: !!horizontal\n } as Record<string, boolean>;\n });\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-card-img-overlay',\n template: '<ng-content />',\n styleUrls: ['./card-img-overlay.component.scss'],\n host: { class: 'card-img-overlay' }\n})\nexport class CardImgOverlayComponent {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cCardLink]',\n host: { class: 'card-link' }\n})\nexport class CardLinkDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cCardSubtitle]',\n host: { class: 'card-subtitle' }\n})\nexport class CardSubtitleDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cCardText]',\n host: { class: 'card-text' }\n})\nexport class CardTextDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cCardTitle]',\n host: { class: 'card-title' }\n})\nexport class CardTitleDirective {}\n","import { NgModule } from '@angular/core';\n\nimport { CardComponent } from './card.component';\nimport { CardBodyComponent } from './card-body.component';\nimport { CardFooterComponent } from './card-footer.component';\nimport { CardHeaderComponent } from './card-header.component';\nimport { CardHeaderActionsComponent } from './card-header-actions.component';\nimport { CardGroupComponent } from './card-group.component';\nimport { CardImgDirective } from './card-img.directive';\nimport { CardLinkDirective } from './card-link.directive';\nimport { CardSubtitleDirective } from './card-subtitle.directive';\nimport { CardTextDirective } from './card-text.directive';\nimport { CardTitleDirective } from './card-title.directive';\nimport { CardImgOverlayComponent } from './card-img-overlay/card-img-overlay.component';\n\n@NgModule({\n imports: [\n CardComponent,\n CardBodyComponent,\n CardFooterComponent,\n CardGroupComponent,\n CardHeaderComponent,\n CardHeaderActionsComponent,\n CardImgDirective,\n CardImgOverlayComponent,\n CardLinkDirective,\n CardSubtitleDirective,\n CardTextDirective,\n CardTitleDirective\n ],\n exports: [\n CardComponent,\n CardBodyComponent,\n CardFooterComponent,\n CardGroupComponent,\n CardHeaderComponent,\n CardHeaderActionsComponent,\n CardImgDirective,\n CardImgOverlayComponent,\n CardLinkDirective,\n CardSubtitleDirective,\n CardTextDirective,\n CardTitleDirective\n ]\n})\nexport class CardModule {}\n","import { isPlatformServer } from '@angular/common';\nimport { ElementRef, inject, Injectable, OnDestroy, PLATFORM_ID } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nexport interface IIntersectionObserverInit {\n root?: Element | null;\n rootMargin?: string;\n threshold?: number | number[];\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class IntersectionService implements OnDestroy {\n\n platformId = inject(PLATFORM_ID);\n\n readonly #intersecting: BehaviorSubject<any> = new BehaviorSubject({ isIntersecting: false });\n readonly intersecting$ = this.#intersecting.asObservable();\n\n private defaultObserverOptions: IIntersectionObserverInit = {\n root: null,\n rootMargin: '0px',\n threshold: 0.2\n };\n\n hostElementRefs: Map<ElementRef, IntersectionObserver | null> = new Map();\n\n createIntersectionObserver(hostElement: ElementRef, observerOptions = this.defaultObserverOptions) {\n\n if (isPlatformServer(this.platformId)) {\n this.#intersecting.next({ isIntersecting: true, hostElement });\n return;\n }\n\n const options: IIntersectionObserverInit = { ...this.defaultObserverOptions, ...observerOptions };\n\n const handleIntersect = (entries: IntersectionObserverEntry[], observer: IntersectionObserver) => {\n entries.forEach((entry: any) => {\n this.#intersecting.next({ isIntersecting: entry.isIntersecting, hostElement });\n });\n };\n\n this.hostElementRefs.set(hostElement, new IntersectionObserver(handleIntersect, options));\n this.hostElementRefs.get(hostElement)?.observe(hostElement.nativeElement);\n }\n\n unobserve(elementRef: ElementRef) {\n this.hostElementRefs.get(elementRef)?.unobserve(elementRef.nativeElement);\n this.hostElementRefs.set(elementRef, null);\n this.hostElementRefs.delete(elementRef);\n }\n\n ngOnDestroy(): void {\n this.hostElementRefs.forEach((observer, elementRef) => {\n observer?.unobserve(elementRef.nativeElement);\n });\n }\n}\n","import { ElementRef, inject, Injectable, Renderer2 } from '@angular/core';\nimport { Triggers } from '../coreui.types';\n\nexport interface IListenersConfig {\n hostElement: ElementRef;\n trigger?: Triggers | Triggers[];\n callbackOn?: () => void;\n callbackOff?: () => void;\n callbackToggle?: () => void;\n}\n\n@Injectable()\nexport class ListenersService {\n readonly renderer = inject(Renderer2);\n\n private listeners: Map<string, () => void> = new Map();\n\n setListeners({\n hostElement,\n trigger,\n callbackOn,\n callbackOff,\n callbackToggle,\n }: IListenersConfig): void {\n const host = hostElement.nativeElement;\n const triggers = Array.isArray(trigger) ? trigger : trigger?.split(' ') ?? [];\n\n if (triggers?.includes('click')) {\n typeof callbackToggle === 'function' &&\n this.listeners.set('click', this.renderer.listen(host, 'click', callbackToggle));\n }\n if (triggers?.includes('focus')) {\n typeof callbackOn === 'function' &&\n this.listeners.set('focus', this.renderer.listen(host, 'focus', callbackOn));\n }\n if (triggers?.includes('focusin')) {\n typeof callbackOff === 'function' &&\n this.listeners.set('focusout', this.renderer.listen(host, 'focusout', callbackOff));\n typeof callbackOn === 'function' &&\n this.listeners.set('focusin', this.renderer.listen(host, 'focusin', callbackOn));\n }\n if (triggers?.includes('click') || triggers?.includes('focus')) {\n typeof callbackOff === 'function' &&\n this.listeners.set('blur', this.renderer.listen(host, 'blur', callbackOff));\n }\n if (triggers?.includes('hover')) {\n typeof callbackOn === 'function' &&\n this.listeners.set('mouseenter', this.renderer.listen(host, 'mouseenter', callbackOn));\n typeof callbackOff === 'function' &&\n this.listeners.set('mouseleave', this.renderer.listen(host, 'mouseleave', callbackOff));\n }\n }\n\n clearListeners(): void {\n this.listeners.forEach((unListen, key) => {\n unListen();\n });\n this.listeners.forEach((unListen, key) => {\n // @ts-ignore\n this.listeners.set(key, null);\n });\n this.listeners.clear();\n }\n}\n","import { DOCUMENT, inject, Injectable, Renderer2, RendererFactory2 } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ClassToggleService {\n readonly #document = inject<Document>(DOCUMENT);\n readonly #rendererFactory = inject(RendererFactory2);\n\n #renderer: Renderer2;\n\n constructor() {\n this.#renderer = this.#rendererFactory.createRenderer(null, null);\n }\n\n toggle(selector: any, className: string) {\n const element = this.#document.querySelector(selector);\n if (element) {\n element.classList.contains(className)\n ? this.#renderer.removeClass(element, className)\n : this.#renderer.addClass(element, className);\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InMemoryStorageService implements Storage {\n #storage = new Map<string, string>();\n\n public setItem(key: string, data: any): void {\n this.#storage.set(key, JSON.stringify(data));\n }\n\n public getItem(key: string): any {\n return this.#storage.has(key) ? JSON.parse(this.#storage.get(key) ?? 'null') : undefined;\n }\n\n public removeItem(key: string): void {\n this.#storage.delete(key);\n }\n\n public clear() {\n this.#storage.clear();\n }\n\n public get length() {\n return this.#storage.size;\n }\n\n public key(index: number) {\n return Array.from(this.#storage.keys())[index];\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { DOCUMENT, inject, Injectable, PLATFORM_ID } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { InMemoryStorageService } from './in-memory-storage.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LocalStorageService {\n private platformId = inject(PLATFORM_ID);\n private document = inject(DOCUMENT);\n\n constructor() {\n this.#localStorage =\n isPlatformBrowser(this.platformId) && this.document.defaultView\n ? this.document.defaultView?.localStorage\n : new InMemoryStorageService();\n }\n\n #localStorage: Storage;\n readonly #data$ = new BehaviorSubject<{ key: string; data: any } | null>(null);\n public readonly data$ = this.#data$.asObservable();\n\n public setItem(key: string, data: any): void {\n this.#localStorage.setItem(key, JSON.stringify(data));\n this.#data$.next({ key, data });\n }\n\n public getItem(key: string): any {\n const data = JSON.parse(this.#localStorage.getItem(key) || 'null');\n this.#data$.next({ key, data });\n return data;\n }\n\n public removeItem(key: string): void {\n this.#localStorage.removeItem(key);\n this.#data$.next({ key, data: null });\n }\n\n public clear() {\n this.#localStorage.clear();\n this.#data$.next(null);\n }\n}\n","import {\n afterNextRender,\n DestroyRef,\n DOCUMENT,\n effect,\n inject,\n Injectable,\n signal,\n WritableSignal\n} from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { tap } from 'rxjs/operators';\nimport { LocalStorageService } from './local-storage.service';\n\nexport type ColorMode = 'light' | 'dark' | 'auto' | string | undefined;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ColorModeService {\n readonly #destroyRef: DestroyRef = inject(DestroyRef);\n readonly #document: Document = inject(DOCUMENT);\n readonly #localStorage: LocalStorageService = inject(LocalStorageService);\n\n readonly eventName = signal('ColorSchemeChange');\n readonly localStorageItemName: WritableSignal<string | undefined> = signal(undefined);\n readonly localStorageItemName$ = toObservable(this.localStorageItemName);\n readonly colorMode: WritableSignal<ColorMode> = signal(undefined);\n\n readonly #colorModeEffect = effect(() => {\n const colorMode = this.colorMode();\n if (colorMode) {\n const localStorageItemName = this.localStorageItemName();\n localStorageItemName && this.setStoredTheme(localStorageItemName, colorMode);\n this.#setTheme(colorMode);\n }\n });\n\n constructor() {\n afterNextRender({\n read: () => {\n this.localStorageItemName$\n .pipe(\n tap((params) => {\n this.colorMode.set(this.getDefaultScheme(params));\n }),\n takeUntilDestroyed(this.#destroyRef)\n )\n .subscribe();\n }\n });\n }\n\n getStoredTheme(localStorageItemName: string) {\n return this.#localStorage.getItem(localStorageItemName);\n }\n\n setStoredTheme(localStorageItemName: string, colorMode: string) {\n return this.#localStorage.setItem(localStorageItemName, colorMode);\n }\n\n removeStoredTheme(localStorageItemName: string) {\n this.#localStorage.removeItem(localStorageItemName);\n }\n\n getDefaultScheme(localStorageItemName: string | undefined) {\n if (this.#document.defaultView === undefined) {\n return this.getDatasetTheme();\n }\n\n const storedTheme = localStorageItemName && this.getStoredTheme(localStorageItemName);\n\n return storedTheme ?? this.getDatasetTheme();\n }\n\n getPrefersColorScheme() {\n return this.#document.defaultView?.matchMedia('(prefers-color-scheme: dark)').matches\n ? 'dark'\n : this.#document.defaultView?.matchMedia('(prefers-color-scheme: light)').matches\n ? 'light'\n : undefined;\n }\n\n getDatasetTheme(): ColorMode {\n return <ColorMode>this.#document.documentElement.dataset['coreuiTheme'];\n }\n\n #setTheme(colorMode: ColorMode) {\n this.#document.documentElement.dataset['coreuiTheme'] =\n colorMode === 'auto' ? this.getPrefersColorScheme() : colorMode;\n\n const event = new Event(this.eventName());\n this.#document.documentElement.dispatchEvent(event);\n }\n}\n","import { DOCUMENT, inject, Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UIDService {\n readonly #document = inject(DOCUMENT);\n\n getUID(prefix: string = 'random-id'): string {\n let uid = prefix;\n do {\n uid = `${prefix}-${Math.floor(Math.random() * 1000000).toString(10)}`;\n } while (this.#document.getElementById(uid));\n\n return uid;\n }\n}\n","import { DOCUMENT, inject, Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RtlService {\n readonly #document = inject(DOCUMENT);\n\n isRTL(element?: HTMLElement | null): boolean {\n if (element) {\n const direction = element.isConnected ? this.#document.defaultView?.getComputedStyle(element).direction : '';\n if (direction) {\n return direction === 'rtl';\n }\n const declared = element.closest('[dir=\"ltr\"], [dir=\"rtl\"]');\n if (declared) {\n return declared.matches('[dir=\"rtl\"]');\n }\n }\n\n return [this.#document?.documentElement?.dir, this.#document?.body?.dir].includes('rtl');\n }\n}\n","import { Injectable, signal } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { ICarouselState } from './carousel-state.type';\nimport { CarouselItemComponent } from './carousel-item/carousel-item.component';\n\nexport interface ICarouselIndex {\n active?: number;\n interval?: number;\n lastItemIndex?: number;\n}\n\n@Injectable()\nexport class CarouselService {\n readonly #carouselIndex = new BehaviorSubject<ICarouselIndex>({});\n readonly carouselIndex$ = this.#carouselIndex.asObservable();\n\n setIndex(index: ICarouselIndex): void {\n this.#carouselIndex.next(index);\n }\n\n readonly animating = signal(false);\n\n #state = <ICarouselState>{\n activeItemIndex: -1,\n animate: true,\n items: [],\n direction: 'next',\n transition: 'slide',\n interval: 0\n };\n\n get state(): ICarouselState {\n return this.#state;\n }\n\n set state(state) {\n const prevState = { ...this.#state };\n const nextState = { ...this.#state, ...state };\n this.#state = nextState;\n if (prevState.activeItemIndex !== nextState.activeItemIndex) {\n const activeItemIndex = this.state.activeItemIndex || 0;\n const itemInterval = (this.state.items && this.state.items[activeItemIndex]?.interval()) || -1;\n this.setIndex({\n active: nextState.activeItemIndex,\n interval: itemInterval,\n lastItemIndex: (nextState.items?.length ?? 0) - 1\n });\n }\n }\n\n setItems(newItems: any): void {\n if (newItems.length) {\n const itemsArray = newItems;\n itemsArray.forEach((item: CarouselItemComponent, i: number) => {\n item.index = i;\n });\n this.state = {\n items: [...itemsArray]\n };\n } else {\n this.reset();\n }\n }\n\n setNextIndex(nextIndex: any): void {\n this.setIndex(nextIndex);\n }\n\n direction(direction: 'next' | 'prev' = 'next'): number {\n this.state = { direction };\n const { activeItemIndex = -1, items } = this.state;\n const itemsCount = items?.length ?? 0;\n if (itemsCount > 0) {\n return direction === 'next'\n ? activeItemIndex === itemsCount - 1\n ? 0\n : activeItemIndex + 1\n : activeItemIndex === 0\n ? itemsCount - 1\n : activeItemIndex - 1;\n } else {\n return 0;\n }\n }\n\n reset(): void {\n this.state = {\n activeItemIndex: -1,\n animate: true,\n items: [],\n direction: 'next',\n transition: 'slide',\n interval: 0\n };\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class CarouselConfig {\n /* Animate transition of slides */\n activeIndex = 0;\n /* Animate transition of slides */\n animate = true;\n /* Default direction of auto-changing of slides */\n direction: 'next' | 'prev' = 'next';\n /* Default interval of auto-changing of slides */\n interval?: number;\n}\n","import {\n AfterContentInit,\n Component,\n DestroyRef,\n effect,\n ElementRef,\n inject,\n input,\n linkedSignal,\n numberAttribute,\n OnDestroy,\n OnInit,\n output\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { EMPTY, fromEvent, Subscription } from 'rxjs';\nimport { filter, finalize, map, switchMap, take } from 'rxjs/operators';\n\nimport { IListenersConfig, IntersectionService, ListenersService } from '../../services';\n\nimport { Triggers } from '../../coreui.types';\nimport { ThemeDirective } from '../../shared/theme.directive';\nimport { CarouselService } from '../carousel.service';\nimport { CarouselConfig } from '../carousel.config';\n\n@Component({\n selector: 'c-carousel',\n template: '<ng-content />',\n styleUrls: ['./carousel.component.scss'],\n providers: [CarouselService, ListenersService],\n hostDirectives: [{ directive: ThemeDirective, inputs: ['dark'] }],\n exportAs: 'cCarousel',\n host: {\n class: 'carousel slide',\n '[class.carousel-fade]': 'transition() === \"crossfade\" && animate()'\n }\n})\nexport class CarouselComponent implements OnInit, OnDestroy, AfterContentInit {\n private config = inject<CarouselConfig>(CarouselConfig);\n\n readonly #hostElement = inject(ElementRef);\n readonly #carouselService = inject(CarouselService);\n readonly #intersectionService = inject(IntersectionService);\n readonly #listenersService = inject(ListenersService);\n\n constructor() {\n this.loadConfig();\n }\n\n loadConfig() {\n this.activeIndex.update((activeIndex) => this.config?.activeIndex ?? activeIndex);\n this.animate.update((animate) => (animate === false ? animate : (this.config?.animate ?? animate)));\n this.direction.update((direction) => this.config?.direction ?? direction);\n this.interval.update((interval) => this.config?.interval ?? interval);\n }\n\n /**\n * Index of the active item.\n * @returns number\n */\n readonly activeIndexInput = input(0, { alias: 'activeIndex', transform: numberAttribute });\n\n readonly activeIndex = linkedSignal({\n source: this.activeIndexInput,\n computation: (value: number) => value\n });\n\n /**\n * Carousel automatically starts cycle items.\n * @returns boolean\n */\n readonly animateInput = input<boolean>(true, { alias: 'animate' });\n\n readonly animate = linkedSignal(this.animateInput);\n\n /**\n * Carousel direction\n * @returns 'next' | 'prev'\n */\n readonly directionInput = input<'next' | 'prev'>('next', { alias: 'direction' });\n\n readonly direction = linkedSignal({\n source: this.directionInput,\n computation: (value: 'next' | 'prev') => value\n });\n\n /**\n * The amount of time to delay between automatically cycling an item. If -1, carousel will not automatically cycle.\n * @returns number\n * @default -1\n */\n readonly intervalInput = input(-1, { alias: 'interval', transform: numberAttribute });\n\n readonly interval = linkedSignal(this.intervalInput);\n\n readonly #intervalEffect = effect(() => {\n const interval = this.interval();\n this.#carouselService.state = { interval: interval };\n interval ? this.setTimer() : this.resetTimer();\n });\n\n /**\n * Sets which event handlers you’d like provided to your pause prop. You can specify one trigger or an array of them.\n * @returns Triggers | Triggers[] | false\n */\n readonly pause = input<Triggers | Triggers[] | false>('hover');\n\n /**\n * Support left/right swipe interactions on touchscreen devices.\n * @returns boolean\n * @default true\n */\n readonly touch = input<boolean>(true);\n\n /**\n * Set the type of the transition.\n * @returns 'slide' | 'crossfade'\n * @default 'slide'\n */\n readonly transition = input<'slide' | 'crossfade'>('slide');\n\n /**\n * Set whether the carousel should cycle continuously or have hard stops.\n * @returns boolean\n * @default true\n */\n readonly wrap = input<boolean>(true);\n\n /**\n * Event emitted on carousel item change\n * @returns number\n */\n readonly itemChange = output<number>();\n\n private timerId: ReturnType<typeof setTimeout> | undefined;\n private activeItemInterval = 0;\n private swipeSubscription?: Subscription;\n readonly #destroyRef = inject(DestroyRef);\n\n ngOnInit(): void {\n this.carouselServiceSubscribe();\n }\n\n ngOnDestroy(): void {\n this.resetTimer();\n this.clearListeners();\n this.swipeSubscribe(false);\n // Ensure IntersectionObserver is cleaned up\n this.#intersectionService?.unobserve(this.#hostElement);\n }\n\n ngAfterContentInit(): void {\n this.intersectionServiceSubscribe();\n this.#carouselService.state = {\n activeItemIndex: this.activeIndex(),\n animate: this.animate(),\n interval: this.interval(),\n transition: this.transition()\n };\n this.setListeners();\n this.swipeSubscribe();\n }\n\n private setListeners(): void {\n const config: IListenersConfig = {\n hostElement: this.#hostElement,\n trigger: this.pause() || [],\n callbackOff: () => {\n this.setTimer();\n },\n callbackOn: () => {\n this.resetTimer();\n }\n };\n this.#listenersService.setListeners(config);\n }\n\n private clearListeners(): void {\n this.#listenersService.clearListeners();\n }\n\n set visible(value) {\n this.#visible = value;\n }\n\n get visible() {\n return this.#visible;\n }\n\n #visible: boolean = true;\n\n setTimer(): void {\n const interval = this.activeItemInterval || this.interval();\n const direction = this.direction();\n this.resetTimer();\n if (interval > 0) {\n this.timerId = setTimeout(() => {\n const nextIndex = this.#carouselService.direction(direction);\n this.#carouselService.state = { activeItemIndex: nextIndex };\n }, interval);\n }\n }\n\n resetTimer(): void {\n clearTimeout(this.timerId);\n this.timerId = undefined;\n }\n\n private carouselServiceSubscribe(): void {\n this.#carouselService.carouselIndex$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe((nextItem) => {\n if ('active' in nextItem && typeof nextItem.active === 'number') {\n this.itemChange?.emit(nextItem.active);\n }\n this.activeItemInterval =\n typeof nextItem.interval === 'number' && nextItem.interval > -1 ? nextItem.interval : this.interval();\n const direction = this.direction();\n const isLastItem =\n (nextItem.active === nextItem.lastItemIndex && direction === 'next') ||\n (nextItem.active === 0 && direction === 'prev');\n !this.wrap() && isLastItem ? this.resetTimer() : this.setTimer();\n });\n }\n\n private intersectionServiceSubscribe(): void {\n this.#intersectionService.createIntersectionObserver(this.#hostElement);\n this.#intersectionService.intersecting$\n .pipe(\n filter((next) => next.hostElement === this.#hostElement),\n finalize(() => {\n this.#intersectionService?.unobserve(this.#hostElement);\n }),\n takeUntilDestroyed(this.#destroyRef)\n )\n .subscribe((next) => {\n this.visible = next.isIntersecting;\n next.isIntersecting ? this.setTimer() : this.resetTimer();\n });\n }\n\n private swipeSubscribe(subscribe: boolean = true): void {\n if (this.touch() && subscribe) {\n const carouselElement = this.#hostElement.nativeElement;\n const touchStart$ = fromEvent<TouchEvent>(carouselElement, 'touchstart');\n const touchEnd$ = fromEvent<TouchEvent>(carouselElement, 'touchend');\n this.swipeSubscription = touchStart$\n .pipe(\n switchMap((touchstart) =>\n touchstart.touches?.length > 1\n ? EMPTY\n : touchEnd$.pipe(\n take(1),\n map((touchend) => [touchstart, touchend] as const)\n )\n ),\n takeUntilDestroyed(this.#destroyRef)\n )\n .subscribe(([touchstart, touchend]) => {\n if (this.#carouselService.animating()) {\n return;\n }\n const distanceX = touchstart.touches?.[0]?.clientX - touchend.changedTouches?.[0]?.clientX || 0;\n if (Math.abs(distanceX) > 0.3 * carouselElement.clientWidth) {\n const nextIndex = this.#carouselService.direction(distanceX > 0 ? 'next' : 'prev');\n this.#carouselService.state = { activeItemIndex: nextIndex };\n }\n });\n } else {\n this.swipeSubscription?.unsubscribe();\n }\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-carousel-caption',\n template: '<ng-content />',\n styles: `\n :host {\n display: block;\n }\n `,\n host: {\n '[class.carousel-caption]': 'true'\n }\n})\nexport class CarouselCaptionComponent {}\n","import { Component, computed, inject, input, linkedSignal } from '@angular/core';\nimport { CarouselService } from '../carousel.service';\n\n@Component({\n selector: 'c-carousel-control',\n templateUrl: './carousel-control.component.html',\n exportAs: 'cCarouselControl',\n host: {\n '[attr.role]': 'role()',\n '[class]': 'hostClasses()',\n '(keyup)': 'onKeyUp($event)',\n '(click)': 'onClick($event)'\n }\n})\nexport class CarouselControlComponent {\n readonly #carouselService = inject(CarouselService);\n\n /**\n * Carousel control caption\n * @returns string | undefined\n */\n readonly captionInput = input<string | undefined>(undefined, { alias: 'caption' });\n\n readonly caption = linkedSignal({\n source: this.captionInput,\n computation: (value) => {\n return !!value ? value : this.direction() === 'prev' ? 'Previous' : 'Next';\n }\n });\n\n /**\n * Carousel control direction.\n * @returns 'prev' | 'next'\n */\n readonly direction = input<'prev' | 'next'>('next');\n\n /**\n * Carousel control role.\n * @returns string\n */\n readonly role = input('button');\n\n readonly hostClasses = computed(() => {\n return `carousel-control-${this.direction()}`;\n });\n\n readonly carouselControlIconClass = computed(() => {\n return `carousel-control-${this.direction()}-icon`;\n });\n\n onKeyUp($event: KeyboardEvent): void {\n if ($event.key === 'Enter') {\n this.#play();\n }\n if ($event.key === 'ArrowLeft') {\n this.#play('prev');\n }\n if ($event.key === 'ArrowRight') {\n this.#play('next');\n }\n }\n\n onClick($event: MouseEvent): void {\n if (this.#carouselService.animating()) {\n return;\n }\n this.#play();\n }\n\n #play(direction = this.direction()): void {\n const nextIndex = this.#carouselService.direction(direction);\n this.#carouselService.state = { activeItemIndex: nextIndex };\n }\n}\n","<ng-content>\n <span [aria-hidden]=\"true\" [class]=\"carouselControlIconClass()\"></span>\n <span class=\"visually-hidden\">{{ caption() }}</span>\n</ng-content>\n","import { Component, computed, contentChildren, DestroyRef, inject, OnInit, signal, TemplateRef } from '@angular/core';\nimport { CarouselService } from '../carousel.service';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { TemplateIdDirective } from '../../shared';\n\n@Component({\n selector: 'c-carousel-indicators',\n exportAs: 'cCarouselIndicators',\n imports: [NgTemplateOutlet],\n templateUrl: './carousel-indicators.component.html',\n host: { class: 'carousel-indicators' }\n})\nexport class CarouselIndicatorsComponent implements OnInit {\n readonly #destroyRef = inject(DestroyRef);\n readonly #carouselService = inject(CarouselService);\n\n items: (number | undefined)[] = [];\n readonly active = signal(0);\n\n readonly contentTemplates = contentChildren(TemplateIdDirective, { descendants: true });\n\n readonly templates = computed(() => {\n return this.contentTemplates().reduce(\n (acc, child) => {\n acc[child.id] = child.templateRef;\n return acc;\n },\n {} as Record<string, TemplateRef<any>>\n );\n });\n\n ngOnInit(): void {\n this.#carouselService.carouselIndex$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe((nextIndex) => {\n this.items = this.#carouselService?.state?.items?.map((item) => item.index) ?? [];\n if ('active' in nextIndex) {\n this.active.set(nextIndex.active ?? 0);\n }\n });\n }\n\n onClick(index: number): void {\n if (this.#carouselService.animating()) {\n return;\n }\n if (index !== this.active()) {\n const direction = index < this.active() ? 'prev' : 'next';\n this.#carouselService.state = { direction, activeItemIndex: index };\n }\n }\n}\n","@let tmpl = templates();\n@let activeItem = active();\n<ng-container *ngTemplateOutlet=\"tmpl['carouselIndicatorsTemplate'] || defaultCarouselIndicatorsTemplate; context: {$implicit: items, active: activeItem}\" />\n\n<ng-template #defaultCarouselIndicatorsTemplate>\n @for (item of items; track item; let i = $index) {\n <button\n [attr.data-coreui-target]=\"i\"\n type=\"button\"\n (click)=\"onClick(i)\"\n [class]=\"{ active: activeItem === i }\"\n [aria-current]=\"activeItem === i ? 'true' : null\">\n </button>\n }\n</ng-template>\n","import {\n booleanAttribute,\n Component,\n computed,\n DestroyRef,\n effect,\n ElementRef,\n inject,\n input,\n linkedSignal,\n OnInit,\n signal,\n untracked\n} from '@angular/core';\n\nimport { CarouselService } from '../carousel.service';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n@Component({\n selector: 'c-carousel-item',\n template: `\n <!-- @if (this.activeClass() || (this.orderClassName() && this.directionClassName())) {-->\n <ng-content />\n <!-- }-->\n `,\n exportAs: 'cCarouselItem',\n host: {\n class: 'carousel-item',\n '[class]': 'hostClasses()',\n '[attr.role]': 'role()'\n }\n})\nexport class CarouselItemComponent implements OnInit {\n readonly #elementRef = inject(ElementRef<HTMLElement>);\n readonly #destroyRef = inject(DestroyRef);\n readonly #carouselService = inject(CarouselService);\n\n #timeoutId?: ReturnType<typeof setTimeout> | undefined;\n #rafId?: ReturnType<typeof requestAnimationFrame> | undefined;\n\n index?: number;\n\n /**\n * @ignore\n */\n readonly activeInput = input(false, { transform: booleanAttribute, alias: 'active' });\n\n readonly active = linkedSignal(this.activeInput);\n\n /**\n * Time delay before cycling to the next item. If -1, uses carousel interval value.\n * @returns number\n * @default -1\n */\n readonly interval = input<number>(-1);\n\n /**\n * Carousel item role.\n * @returns string\n * @default 'group'\n */\n readonly role = input('group');\n\n constructor() {\n this.#elementRef.nativeElement.style.transition = '1ms';\n }\n\n ngOnInit(): void {\n this.#carouselService.carouselIndex$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe((nextIndex) => {\n if ('active' in nextIndex) {\n if (this.#carouselService.state.animate && this.#elementRef.nativeElement.style.transition !== '') {\n this.#timeoutId = setTimeout(() => {\n this.#elementRef.nativeElement.style.transition = '';\n this.#timeoutId = undefined;\n }, 500);\n }\n this.prevActive.set(this.active());\n this.active.set(nextIndex.active === this.index);\n }\n });\n\n // Clean up timeout on destroy\n this.#destroyRef.onDestroy(() => {\n if (this.#timeoutId !== undefined) {\n clearTimeout(this.#timeoutId);\n }\n if (this.#rafId !== undefined) {\n cancelAnimationFrame(this.#rafId);\n }\n });\n }\n\n protected readonly hostClasses = computed(() => {\n const order = this.orderClassName();\n const direction = this.directionClassName();\n return {\n active: this.activeClass(),\n [`${order}`]: !!order,\n [`${direction}`]: !!direction,\n 'd-none': !this.activeClass() && !order && !direction\n };\n });\n\n readonly prevActive = signal(false);\n readonly activeClass = signal(false);\n readonly orderClassName = signal<string>('');\n readonly directionClassName = signal<string>('');\n\n readonly #activeEffect = effect((OnCleanup) => {\n const active = this.active();\n const prevActive = untracked(this.prevActive);\n const direction = this.#carouselService.state?.direction;\n\n this.activeClass.set(prevActive);\n\n if (active) {\n this.orderClassName.set(`carousel-item-${direction}`);\n }\n\n if (prevActive || active) {\n if (this.#rafId) {\n cancelAnimationFrame(this.#rafId);\n }\n\n this.#rafId = requestAnimationFrame(() => {\n // reflow is necessary to proper transition\n void this.#elementRef.nativeElement.offsetHeight;\n this.directionClassName.set(`carousel-item-${direction === 'next' ? 'start' : 'end'}`);\n this.#rafId = undefined;\n });\n }\n\n const handleTransitionStart = () => {\n if (active) {\n this.#carouselService.animating.set(true);\n }\n };\n\n const handleTransitionEnd = () => {\n if (active) {\n this.#carouselService.animating.set(false);\n }\n this.directionClassName.set('');\n this.orderClassName.set('');\n this.activeClass.set(active);\n };\n\n this.#elementRef.nativeElement.addEventListener('transitionstart', handleTransitionStart);\n this.#elementRef.nativeElement.addEventListener('transitionend', handleTransitionEnd);\n\n OnCleanup(() => {\n this.#elementRef.nativeElement.removeEventListener('transitionstart', handleTransitionStart);\n this.#elementRef.nativeElement.removeEventListener('transitionend', handleTransitionEnd);\n });\n });\n}\n","import {\n AfterContentChecked,\n AfterContentInit,\n Component,\n computed,\n contentChildren,\n inject,\n signal\n} from '@angular/core';\nimport { CarouselItemComponent } from '../carousel-item/carousel-item.component';\nimport { CarouselService } from '../carousel.service';\n\n@Component({\n selector: 'c-carousel-inner',\n styles: `\n :host {\n display: block;\n }\n `,\n template: '<ng-content />',\n host: {\n class: 'carousel-inner',\n '[aria-live]': 'ariaLive()'\n }\n})\nexport class CarouselInnerComponent implements AfterContentInit, AfterContentChecked {\n readonly #carouselService = inject(CarouselService);\n\n readonly activeIndex = signal<number | undefined>(undefined);\n readonly animate = signal<boolean>(true);\n readonly interval = signal<number>(0);\n readonly slide = signal({ left: true });\n readonly transition = signal('crossfade');\n\n readonly slideType = computed(() => {\n return { left: this.slide().left, type: this.transition() };\n });\n\n readonly ariaLive = computed(() => {\n return this.interval() ? 'off' : 'polite';\n });\n\n readonly contentItems = contentChildren(CarouselItemComponent);\n readonly #prevContentItems = signal<CarouselItemComponent[]>([]);\n\n ngAfterContentInit(): void {\n this.setItems();\n }\n\n ngAfterContentChecked(): void {\n this.setItems();\n const state = this.#carouselService?.state;\n const nextIndex = state?.activeItemIndex;\n const nextDirection = state?.direction;\n if (this.activeIndex() !== nextIndex) {\n this.animate.set(state?.animate ?? false);\n this.activeIndex.set(state?.activeItemIndex);\n this.interval.set(state?.interval ?? 0);\n this.slide.set({ left: nextDirection === 'next' });\n this.transition.set(state?.transition ?? 'slide');\n }\n }\n\n setItems(): void {\n const contentItems = this.contentItems();\n if (this.#prevContentItems() !== contentItems) {\n this.#prevContentItems.set([...contentItems]);\n this.#carouselService.setItems(contentItems);\n }\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { CarouselComponent } from './carousel/carousel.component';\nimport { CarouselCaptionComponent } from './carousel-caption/carousel-caption.component';\nimport { CarouselControlComponent } from './carousel-control/carousel-control.component';\nimport { CarouselIndicatorsComponent } from './carousel-indicators/carousel-indicators.component';\nimport { CarouselInnerComponent } from './carousel-inner/carousel-inner.component';\nimport { CarouselItemComponent } from './carousel-item/carousel-item.component';\nimport { CarouselService } from './carousel.service';\nimport { CarouselConfig } from './carousel.config';\n\n@NgModule({\n imports: [\n CarouselComponent,\n CarouselCaptionComponent,\n CarouselControlComponent,\n CarouselIndicatorsComponent,\n CarouselInnerComponent,\n CarouselItemComponent\n ],\n providers: [CarouselService, CarouselConfig],\n exports: [\n CarouselComponent,\n CarouselCaptionComponent,\n CarouselControlComponent,\n CarouselIndicatorsComponent,\n CarouselInnerComponent,\n CarouselItemComponent\n ]\n})\nexport class CarouselModule {\n static forRoot(): ModuleWithProviders<CarouselModule> {\n return { ngModule: CarouselModule, providers: [] };\n }\n}\n","import { Signal, TemplateRef } from '@angular/core';\nimport type { ChipComponent } from './chip.component';\n\nexport abstract class ChipSetRef {\n abstract readonly ariaRemoveLabel: Signal<string | undefined>;\n abstract readonly disabled: Signal<boolean>;\n abstract readonly filter: Signal<boolean>;\n abstract readonly isListbox: Signal<boolean>;\n abstract readonly readonly: Signal<boolean>;\n abstract readonly removable: Signal<boolean>;\n abstract readonly removeIcon: Signal<TemplateRef<unknown> | undefined>;\n abstract readonly selectable: Signal<boolean>;\n abstract readonly selectedIcon: Signal<TemplateRef<unknown> | undefined>;\n\n abstract isSelected(identity: string): boolean;\n\n abstract register(chip: ChipComponent): void;\n\n abstract requestRemove(chip: ChipComponent): void;\n\n abstract tabIndexFor(chip: ChipComponent): number | null;\n\n abstract toggle(chip: ChipComponent, selected: boolean): void;\n\n abstract unregister(chip: ChipComponent): void;\n}\n","import { booleanAttribute, numberAttribute } from '@angular/core';\n\nconst TEXT_EXCLUDED = '.chip-check, .chip-remove, svg, [aria-hidden=\"true\"]';\n\n/**\n * Coerces an attribute value to a boolean, keeping `undefined` so a chip can inherit the value from its set.\n * @param value - The bound or static attribute value\n * @returns `undefined` when nothing was bound, otherwise the `booleanAttribute` result\n */\nexport const optionalBooleanAttribute = (value: unknown): boolean | undefined =>\n value === undefined ? undefined : booleanAttribute(value);\n\n/**\n * Coerces an attribute value to a number, keeping `undefined` and `null` as `undefined`.\n * @param value - The bound or static attribute value\n * @returns `undefined` when nothing was bound, otherwise the `numberAttribute` result\n */\nexport const optionalNumberAttribute = (value: unknown): number | undefined =>\n value === undefined || value === null ? undefined : numberAttribute(value);\n\n/**\n * Reads the visible text of a chip: its text content without the check and remove indicators,\n * icons (`svg`) and anything hidden from assistive technology.\n * @param element - The chip host element\n * @returns The trimmed text with collapsed whitespace, an empty string for an icon-only chip\n */\nexport const getChipText = (element: HTMLElement): string => {\n const clone = element.cloneNode(true) as HTMLElement;\n clone.querySelectorAll(TEXT_EXCLUDED).forEach((node) => node.remove());\n return (clone.textContent ?? '').replace(/\\s+/g, ' ').trim();\n};\n","import { FocusableOption } from '@angular/cdk/a11y';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n afterEveryRender,\n afterRenderEffect,\n booleanAttribute,\n Component,\n computed,\n DestroyRef,\n ElementRef,\n inject,\n input,\n linkedSignal,\n OnInit,\n output,\n signal,\n TemplateRef\n} from '@angular/core';\nimport { Colors } from '../coreui.types';\nimport { UIDService } from '../services/uid.service';\nimport { ChipSetRef } from './chip-set-ref';\nimport { ChipVariant } from './chip.types';\nimport { getChipText, optionalBooleanAttribute, optionalNumberAttribute } from './chip.utils';\n\n@Component({\n selector: 'c-chip',\n exportAs: 'cChip',\n templateUrl: './chip.component.html',\n imports: [NgTemplateOutlet],\n host: {\n class: 'chip',\n '[class]': 'hostClasses()',\n '[attr.role]': 'roleAttr()',\n '[attr.aria-selected]': 'ariaSelected()',\n '[attr.aria-pressed]': 'ariaPressed()',\n '[attr.aria-disabled]': 'ariaDisabled()',\n '[attr.data-coreui-chip-focusable]': 'focusable() || null',\n '[attr.data-coreui-chip-value]': 'identity()',\n '[attr.tabindex]': 'tabIndex()',\n '(click)': 'onClick($event)',\n '(keydown)': 'onKeydown($event)'\n }\n})\nexport class ChipComponent implements FocusableOption, OnInit {\n readonly #elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n readonly #set = inject(ChipSetRef, { optional: true });\n readonly #uid = inject(UIDService).getUID('chip');\n\n /**\n * Toggles the active state of a chip that is not selectable.\n * @returns boolean\n * @default false\n */\n readonly active = input(false, { transform: booleanAttribute });\n\n /**\n * Accessible name of the remove button. When set on the chip it is used as is; otherwise the label of the\n * chip set (or `'Remove'`) is followed by the chip text, e.g. `'Remove Angular'`.\n * @returns string | undefined\n * @default undefined\n */\n readonly ariaRemoveLabel = input<string>();\n\n /**\n * Adds hover styling and a pointer cursor to the chip.\n * @returns boolean\n * @default false\n */\n readonly clickable = input(false, { transform: booleanAttribute });\n\n /**\n * Sets the color context of the chip to one of CoreUI’s themed colors.\n * @returns Colors | undefined\n * @default undefined\n */\n readonly color = input<Colors>();\n\n /**\n * Disables the chip. Inside a chip set an unset value takes the value of the set.\n * @returns boolean | undefined\n * @default undefined\n */\n readonly disabledInput = input<boolean | undefined, unknown>(undefined, {\n alias: 'disabled',\n transform: optionalBooleanAttribute\n });\n\n /**\n * Makes the chip a filter chip: selectable, with a check icon while selected.\n * Inside a chip set an unset value takes the value of the set.\n * @returns boolean | undefined\n * @default undefined\n */\n readonly filter = input<boolean | undefined, unknown>(undefined, { transform: optionalBooleanAttribute });\n\n /**\n * Shows a remove button; Backspace and Delete request removal too.\n * Inside a chip set an unset value takes the value of the set.\n * @returns boolean | undefined\n * @default undefined\n */\n readonly removable = input<boolean | undefined, unknown>(undefined, { transform: optionalBooleanAttribute });\n\n /**\n * Replaces the default remove icon.\n * @returns TemplateRef<unknown> | undefined\n * @default undefined\n */\n readonly removeIcon = input<TemplateRef<unknown>>();\n\n /**\n * Overrides the role the chip takes from its context (`option` in a selectable set, `button` when selectable).\n * @returns string | undefined\n * @default undefined\n */\n readonly role = input<string>();\n\n /**\n * Makes the chip selectable with click, Enter and Space.\n * Inside a chip set an unset value takes the value of the set.\n * @returns boolean | undefined\n * @default undefined\n */\n readonly selectable = input<boolean | undefined, unknown>(undefined, { transform: optionalBooleanAttribute });\n\n /**\n * Selected state of a selectable chip, two-way bindable with `[(selected)]`.\n * Inside a chip set the set keeps the selection in its own `selected`, and this input is ignored.\n * @returns boolean\n * @default false\n */\n readonly selected = input(false, { transform: booleanAttribute });\n\n /**\n * Replaces the default check icon of a selected filter chip.\n * @returns TemplateRef<unknown> | undefined\n * @default undefined\n */\n readonly selectedIcon = input<TemplateRef<unknown>>();\n\n /**\n * Size the chip small or large.\n * @returns 'sm' | 'lg' | undefined\n * @default undefined\n */\n readonly size = input<'sm' | 'lg'>();\n\n /**\n * Tab index of a standalone chip. Inside a chip set it is ignored: the set keeps one tab stop for all its chips.\n * @returns number | undefined\n * @default undefined\n */\n readonly tabindex = input<number | undefined, unknown>(undefined, { transform: optionalNumberAttribute });\n\n /**\n * Value that identifies the chip in a chip set. Without it the chip text is used; set it wherever the text\n * can change, e.g. with translations.\n * @returns string | undefined\n * @default undefined\n */\n readonly value = input<string>();\n\n /**\n * Sets the visual variant of the chip.\n * @returns 'outline' | undefined\n * @default undefined\n */\n readonly variant = input<ChipVariant>();\n\n /**\n * Emits when removal is requested with the remove button, Backspace or Delete.\n * @returns MouseEvent | KeyboardEvent\n */\n readonly remove = output<MouseEvent | KeyboardEvent>();\n\n /**\n * Emits the new selected state when the chip is toggled by the user.\n * @returns boolean\n */\n readonly selectedChange = output<boolean>();\n\n readonly #selected = linkedSignal(this.selected);\n #content: string | null = null;\n #writtenLabel: string | null = null;\n\n readonly text = signal('');\n\n readonly identity = computed(() => this.value() ?? (this.text() || this.#uid));\n\n readonly isDisabled = computed(() => this.disabledInput() ?? this.#set?.disabled() ?? false);\n\n readonly isFilter = computed(() => this.filter() ?? this.#set?.filter() ?? false);\n\n readonly isSelectable = computed(() => (this.selectable() ?? this.#set?.selectable() ?? false) || this.isFilter());\n\n readonly isRemovable = computed(() => this.removable() ?? this.#set?.removable() ?? false);\n\n readonly isCoordinated = computed(() => !!this.#set && this.isSelectable());\n\n readonly isSelected = computed(() =>\n this.isCoordinated() ? this.#set!.isSelected(this.identity()) : this.#selected()\n );\n\n readonly focusable = computed(() => !this.isDisabled() && (this.isSelectable() || this.isRemovable()));\n\n readonly roleAttr = computed(() => {\n return this.role() ?? (this.#set?.isListbox() ? 'option' : this.isSelectable() ? 'button' : null);\n });\n\n readonly ariaSelected = computed(() =>\n this.roleAttr() === 'option' && this.isSelectable() ? String(this.isSelected()) : null\n );\n\n readonly ariaPressed = computed(() =>\n this.roleAttr() === 'button' && this.isSelectable() ? String(this.isSelected()) : null\n );\n\n readonly isLocked = computed(() => this.isSelectable() && !!this.#set?.readonly());\n\n readonly ariaDisabled = computed(() => (this.roleAttr() && (this.isDisabled() || this.isLocked()) ? 'true' : null));\n\n readonly hasRemoveButton = computed(() => this.isRemovable() && !this.isDisabled() && this.roleAttr() !== 'option');\n\n readonly #label = computed(() =>\n this.roleAttr() === 'button' && this.hasRemoveButton() ? this.text() || null : null\n );\n\n readonly tabIndex = computed(() => {\n if (this.#set) {\n return this.#set.tabIndexFor(this);\n }\n return this.tabindex() ?? (this.focusable() ? 0 : null);\n });\n\n readonly removeLabel = computed(() => {\n const own = this.ariaRemoveLabel();\n if (own !== undefined) {\n return own;\n }\n return [this.#set?.ariaRemoveLabel() ?? 'Remove', this.text()].filter(Boolean).join(' ');\n });\n\n readonly removeIconTemplate = computed(() => this.removeIcon() ?? this.#set?.removeIcon());\n\n readonly selectedIconTemplate = computed(() => this.selectedIcon() ?? this.#set?.selectedIcon());\n\n readonly hostClasses = computed(() => {\n const color = this.color();\n const size = this.size();\n return {\n chip: true,\n active: this.isSelectable() ? this.isSelected() : this.active(),\n disabled: this.isDisabled(),\n [`chip-${color}`]: !!color,\n [`chip-${size}`]: !!size,\n 'chip-clickable': (this.clickable() || this.isSelectable()) && !this.isLocked(),\n 'chip-outline': this.variant() === 'outline'\n } as Record<string, boolean>;\n });\n\n get element(): HTMLElement {\n return this.#elementRef.nativeElement;\n }\n\n get disabled(): boolean {\n return this.isDisabled();\n }\n\n constructor() {\n this.#set?.register(this);\n inject(DestroyRef).onDestroy(() => this.#set?.unregister(this));\n afterEveryRender({\n earlyRead: () => {\n const content = this.element.textContent;\n if (content === this.#content) {\n return null;\n }\n this.#content = content;\n return getChipText(this.element);\n },\n write: (text) => {\n if (text !== null) {\n this.text.set(text);\n }\n }\n });\n afterRenderEffect({\n write: () => this.#writeLabel(this.#label())\n });\n }\n\n ngOnInit(): void {\n if (this.#set && this.tabindex() !== undefined) {\n console.warn('CoreUI [c-chip] inside a chip set ignores tabindex - the set keeps one tab stop for its chips');\n }\n }\n\n focus(): void {\n this.element.focus();\n }\n\n getLabel(): string {\n return this.text();\n }\n\n onClick($event: MouseEvent): void {\n if (this.isDisabled() || ($event.target as HTMLElement).closest('.chip-remove')) {\n return;\n }\n if (this.isSelectable()) {\n this.#toggle();\n }\n }\n\n onKeydown($event: KeyboardEvent): void {\n if (this.isDisabled()) {\n return;\n }\n switch ($event.key) {\n case 'Enter':\n case ' ':\n case 'Spacebar': {\n if (this.isSelectable() && !($event.target as HTMLElement).closest('.chip-remove')) {\n $event.preventDefault();\n this.#toggle();\n } else if ($event.key !== 'Enter' && $event.target === this.element && this.focusable()) {\n $event.preventDefault();\n }\n break;\n }\n case 'Backspace':\n case 'Delete': {\n if (this.isRemovable()) {\n $event.preventDefault();\n this.#requestRemove($event);\n }\n break;\n }\n }\n }\n\n onRemoveClick($event: MouseEvent): void {\n $event.stopPropagation();\n if (this.isRemovable() && !this.isDisabled()) {\n this.#requestRemove($event);\n }\n }\n\n #toggle(): void {\n if (this.isLocked()) {\n return;\n }\n const next = !this.isSelected();\n this.#selected.set(next);\n this.selectedChange.emit(next);\n if (this.isCoordinated()) {\n this.#set!.toggle(this, next);\n }\n }\n\n #requestRemove($event: MouseEvent | KeyboardEvent): void {\n this.remove.emit($event);\n this.#set?.requestRemove(this);\n }\n\n #writeLabel(label: string | null): void {\n const current = this.element.getAttribute('aria-label');\n if (current !== null && current !== this.#writtenLabel) {\n this.#writtenLabel = null;\n return;\n }\n if (label) {\n this.element.setAttribute('aria-label', label);\n } else if (current !== null) {\n this.element.removeAttribute('aria-label');\n }\n this.#writtenLabel = label;\n }\n}\n","@if (isFilter() && isSelected()) {\n <span class=\"chip-check\" aria-hidden=\"true\">\n @if (selectedIconTemplate(); as selectedIconTpl) {\n <ng-container *ngTemplateOutlet=\"selectedIconTpl\" />\n } @else {\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 512 512\" fill=\"currentColor\">\n <path d=\"M425.373 89.373 196 318.745 86.627 209.373l-45.254 45.254L196 409.255l274.627-274.628z\" />\n </svg>\n }\n </span>\n}\n<ng-content />\n@if (isRemovable() && !isDisabled()) {\n @if (hasRemoveButton()) {\n <button\n type=\"button\"\n class=\"chip-remove\"\n tabindex=\"-1\"\n [attr.aria-label]=\"removeLabel()\"\n (click)=\"onRemoveClick($event)\"\n >\n <ng-container *ngTemplateOutlet=\"removeIconTemplate() ?? defaultRemoveIcon\" />\n </button>\n } @else {\n <span class=\"chip-remove\" aria-hidden=\"true\" (click)=\"onRemoveClick($event)\">\n <ng-container *ngTemplateOutlet=\"removeIconTemplate() ?? defaultRemoveIcon\" />\n </span>\n }\n}\n<ng-template #defaultRemoveIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n >\n <line x1=\"4\" y1=\"4\" x2=\"12\" y2=\"12\" />\n <line x1=\"12\" y1=\"4\" x2=\"4\" y2=\"12\" />\n </svg>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { ChipComponent } from './chip.component';\n\n@NgModule({\n imports: [ChipComponent],\n exports: [ChipComponent]\n})\nexport class ChipModule {}\n","import { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport { inject, Injectable, NgZone, PLATFORM_ID } from '@angular/core';\n\nexport type AnnouncePriority = 'assertive' | 'polite';\n\nexport interface AnnounceOptions {\n context?: Element | null;\n priority?: AnnouncePriority;\n timeout?: number;\n}\n\ninterface PendingMessage {\n context: Element | null;\n node: HTMLElement;\n page: HTMLElement | null;\n priority: AnnouncePriority;\n timeout: number;\n}\n\nconst ATTRIBUTE = 'data-coreui-live-announcer';\nconst FIRST_MESSAGE_DELAY = 100;\nconst PRIORITIES: AnnouncePriority[] = ['assertive', 'polite'];\n\nconst VISUALLY_HIDDEN: Partial<CSSStyleDeclaration> = {\n border: '0',\n clip: 'rect(0 0 0 0)',\n clipPath: 'inset(50%)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: '0',\n position: 'absolute',\n whiteSpace: 'nowrap',\n width: '1px'\n};\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AnnouncerService {\n readonly #document = inject(DOCUMENT);\n readonly #ngZone = inject(NgZone);\n readonly #isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n readonly #pending: PendingMessage[] = [];\n readonly #readyAt = new WeakMap<Element, number>();\n\n /**\n * Reads a message to screen reader users. The message goes to a visually hidden live region at the start of\n * the page or, while a modal dialog leaves the rest of the page inert, to one inside that dialog.\n * A new region takes its first message 100 ms after it is created, and each call adds a new node,\n * so the same text is read again.\n * @param message - The text to read\n * @param options - `context` is the element the message comes from, `priority` picks the polite (default)\n * or the assertive region, `timeout` (ms) is how long the message stays, `0` keeps it\n * @returns A function that removes the message, or cancels it before it is added\n */\n announce(message: string, options: AnnounceOptions = {}): () => void {\n const document = this.#document;\n if (!this.#isBrowser || !document?.body || !message) {\n return () => undefined;\n }\n\n const { context = null, priority = 'polite', timeout = 7000 } = options;\n const node = document.createElement('div');\n node.textContent = message;\n const host = this.#getModal(context) ?? document.body;\n const announcer = this.#getAnnouncer(host);\n\n this.#pending.push({\n context,\n node,\n page: host === document.body ? announcer : null,\n priority: priority === 'assertive' ? 'assertive' : 'polite',\n timeout\n });\n this.#schedule(this.#waitFor(announcer));\n\n return () => {\n const index = this.#pending.findIndex((pending) => pending.node === node);\n if (index !== -1) {\n this.#pending.splice(index, 1);\n }\n node.remove();\n };\n }\n\n #schedule(delay: number): void {\n this.#ngZone.runOutsideAngular(() => setTimeout(() => this.#flush(), Math.max(0, delay)));\n }\n\n #waitFor(announcer: Element): number {\n return (this.#readyAt.get(announcer) ?? 0) - performance.now();\n }\n\n #flush(): void {\n const document = this.#document;\n while (this.#pending.length > 0) {\n const [{ context, node, page, priority, timeout }] = this.#pending;\n\n if (page && !page.isConnected) {\n this.#pending.shift();\n continue;\n }\n\n const announcer = this.#getAnnouncer(this.#getModal(context) ?? document.body);\n const wait = this.#waitFor(announcer);\n if (wait > 0) {\n this.#schedule(wait);\n return;\n }\n\n this.#pending.shift();\n announcer.querySelector(`[aria-live=\"${priority}\"]`)?.append(node);\n\n if (timeout > 0 && Number.isFinite(timeout)) {\n this.#ngZone.runOutsideAngular(() => setTimeout(() => node.remove(), timeout));\n }\n }\n }\n\n #getAnnouncer(host: HTMLElement): HTMLElement {\n const existing = host.querySelector<HTMLElement>(`:scope > [${ATTRIBUTE}]`);\n if (existing) {\n if (!this.#readyAt.has(existing)) {\n this.#readyAt.set(existing, performance.now() + FIRST_MESSAGE_DELAY);\n }\n return existing;\n }\n\n const announcer = this.#document.createElement('div');\n announcer.setAttribute(ATTRIBUTE, '');\n Object.assign(announcer.style, VISUALLY_HIDDEN);\n\n for (const priority of PRIORITIES) {\n const region = this.#document.createElement('div');\n region.setAttribute('role', 'log');\n region.setAttribute('aria-live', priority);\n region.setAttribute('aria-relevant', 'additions');\n announcer.append(region);\n }\n\n if (host === this.#document.body) {\n host.prepend(announcer);\n } else {\n const onClose = (event: Event) => {\n if (event.target === host && !(host as HTMLDialogElement).open) {\n announcer.remove();\n host.removeEventListener('close', onClose);\n }\n };\n host.append(announcer);\n host.addEventListener('close', onClose);\n }\n\n this.#readyAt.set(announcer, performance.now() + FIRST_MESSAGE_DELAY);\n return announcer;\n }\n\n #getModal(context: Element | null): HTMLElement | null {\n let focused = this.#document.activeElement;\n while (focused?.shadowRoot?.activeElement) {\n focused = focused.shadowRoot.activeElement;\n }\n\n const modals = [...this.#document.querySelectorAll<HTMLElement>('dialog[open], [aria-modal=\"true\"]')].filter(\n (element) => this.#isModal(element)\n );\n\n return this.#getDialogAround(focused) ?? this.#getDialogAround(context) ?? modals.at(-1) ?? null;\n }\n\n #getDialogAround(element: Element | null): HTMLElement | null {\n let node = element;\n while (node) {\n if (this.#isModal(node)) {\n return node as HTMLElement;\n }\n node = node.assignedSlot ?? node.parentElement ?? (node.getRootNode() as ShadowRoot).host ?? null;\n }\n return null;\n }\n\n #isModal(element: Element): boolean {\n if (element.matches('dialog[open]')) {\n try {\n return element.matches(':modal');\n } catch {\n return false;\n }\n }\n\n return (\n element.matches('[aria-modal=\"true\"]') &&\n element.isConnected &&\n (typeof element.checkVisibility !== 'function' || element.checkVisibility())\n );\n }\n}\n","import { FocusKeyManager } from '@angular/cdk/a11y';\nimport {\n afterNextRender,\n computed,\n DestroyRef,\n inject,\n Injectable,\n Injector,\n Signal,\n signal,\n TemplateRef,\n untracked,\n WritableSignal\n} from '@angular/core';\nimport type { ChipComponent } from '../chip/chip.component';\nimport { ChipSetRef } from '../chip/chip-set-ref';\nimport { AnnouncerService } from '../services/announcer.service';\nimport { RtlService } from '../services/rtl.service';\nimport { ChipSelectionMode } from './chip-set.types';\n\nexport interface ChipSetHost {\n readonly ariaAddedAnnouncement: Signal<string>;\n readonly ariaRemoveLabel: Signal<string | undefined>;\n readonly ariaRemovedAnnouncement: Signal<string>;\n readonly disabled: Signal<boolean>;\n readonly element: HTMLElement;\n readonly filter: Signal<boolean>;\n readonly initialStop: 'first' | 'last';\n readonly isListbox: Signal<boolean>;\n readonly readonly?: Signal<boolean>;\n readonly removable: Signal<boolean>;\n readonly removeIcon: Signal<TemplateRef<unknown> | undefined>;\n readonly selectable: Signal<boolean>;\n readonly selected: WritableSignal<string[]>;\n readonly selectedIcon: Signal<TemplateRef<unknown> | undefined>;\n readonly selectionMode: Signal<ChipSelectionMode>;\n\n focusFallback(): void;\n\n removeRequested(identity: string): void;\n}\n\nconst NAVIGATION_KEYS = ['ArrowLeft', 'ArrowRight', 'Home', 'End'];\n\n@Injectable()\nexport class ChipSetService extends ChipSetRef {\n readonly #announcer = inject(AnnouncerService);\n readonly #destroyRef = inject(DestroyRef);\n readonly #injector = inject(Injector);\n readonly #rtl = inject(RtlService);\n\n readonly #host = signal<ChipSetHost | null>(null);\n readonly #registry = new Set<ChipComponent>();\n readonly #warned = new WeakSet<ChipComponent>();\n #focusedItem: ChipComponent | null = null;\n #scheduled = false;\n #settled = false;\n #snapshot: ChipComponent[] = [];\n\n readonly ariaRemoveLabel = computed(() => this.#host()?.ariaRemoveLabel());\n readonly disabled = computed(() => this.#host()?.disabled() ?? false);\n readonly filter = computed(() => this.#host()?.filter() ?? false);\n readonly isListbox = computed(() => this.#host()?.isListbox() ?? false);\n readonly readonly = computed(() => this.#host()?.readonly?.() ?? false);\n readonly removable = computed(() => this.#host()?.removable() ?? false);\n readonly removeIcon = computed(() => this.#host()?.removeIcon());\n readonly selectable = computed(() => this.#host()?.selectable() ?? false);\n readonly selectedIcon = computed(() => this.#host()?.selectedIcon());\n\n readonly orderedItems = signal<ChipComponent[]>([]);\n readonly activeItem = signal<ChipComponent | null>(null);\n\n readonly #ordered = computed(() => new Set(this.orderedItems()));\n\n readonly #stop = computed(() => {\n const items = this.orderedItems();\n const active = this.activeItem();\n if (active && items.includes(active)) {\n return active.focusable() ? active : this.#nearestFocusable(items, items.indexOf(active));\n }\n return this.#initialStop(items);\n });\n\n readonly #keyManager = new FocusKeyManager<ChipComponent>(this.orderedItems, this.#injector)\n .skipPredicate((chip) => !chip.focusable())\n .withVerticalOrientation(false)\n .withHorizontalOrientation('ltr')\n .withHomeAndEnd();\n\n constructor() {\n super();\n this.#keyManager.change.subscribe(() => {\n const active = this.#keyManager.activeItem;\n if (active) {\n this.activeItem.set(active);\n }\n });\n this.#destroyRef.onDestroy(() => this.#keyManager.destroy());\n }\n\n attach(host: ChipSetHost): void {\n this.#host.set(host);\n this.#scheduleRefresh();\n }\n\n register(chip: ChipComponent): void {\n this.#registry.add(chip);\n this.#scheduleRefresh();\n }\n\n unregister(chip: ChipComponent): void {\n this.#registry.delete(chip);\n this.#scheduleRefresh();\n }\n\n isSelected(identity: string): boolean {\n return this.#host()?.selected().includes(identity) ?? false;\n }\n\n toggle(chip: ChipComponent, selected: boolean): void {\n const host = this.#host();\n if (!host) {\n return;\n }\n const identity = chip.identity();\n const current = host.selected();\n if (selected) {\n if (host.selectionMode() === 'single') {\n host.selected.set([identity]);\n } else if (!current.includes(identity)) {\n host.selected.set([...current, identity]);\n }\n return;\n }\n if (current.includes(identity)) {\n host.selected.set(current.filter((value) => value !== identity));\n }\n }\n\n tabIndexFor(chip: ChipComponent): number | null {\n if (!this.#registry.has(chip) || !chip.focusable()) {\n return null;\n }\n if (this.orderedItems().length === 0) {\n return chip === this.#provisionalStop() ? 0 : -1;\n }\n if (!this.#ordered().has(chip)) {\n return null;\n }\n return chip === this.#stop() ? 0 : -1;\n }\n\n requestRemove(chip: ChipComponent): void {\n this.#host()?.removeRequested(chip.identity());\n }\n\n focusLast(): boolean {\n const chip = this.#lastFocusable();\n chip?.focus();\n return !!chip;\n }\n\n isLastFocusable(target: EventTarget | null): boolean {\n const chip = this.#chipContaining(target);\n return !!chip && chip === this.#lastFocusable();\n }\n\n handleKeydown($event: KeyboardEvent): void {\n const host = this.#host();\n if (!host || !NAVIGATION_KEYS.includes($event.key)) {\n return;\n }\n this.#updateOrder();\n const chip = this.#chipContaining($event.target);\n if (!chip?.focusable()) {\n return;\n }\n this.#keyManager.withHorizontalOrientation(this.#rtl.isRTL(host.element) ? 'rtl' : 'ltr');\n this.#keyManager.updateActiveItem(chip);\n this.#keyManager.onKeydown($event);\n }\n\n handleFocusin($event: FocusEvent): void {\n const chip = this.#chipContaining($event.target);\n this.#focusedItem = chip;\n if (chip?.focusable() && this.#host()?.element.contains(chip.element)) {\n this.activeItem.set(chip);\n this.#moveStop(chip);\n }\n }\n\n resync(): void {\n this.#settled = false;\n this.#scheduleRefresh();\n }\n\n resetStop(): void {\n this.activeItem.set(null);\n this.#moveStop(untracked(this.#stop));\n }\n\n handleFocusout($event: FocusEvent): void {\n const chip = this.#focusedItem;\n if (!chip) {\n return;\n }\n if ($event.relatedTarget) {\n this.#focusedItem = null;\n return;\n }\n queueMicrotask(() => {\n if (this.#focusedItem === chip && chip.element.isConnected && chip.element.ownerDocument.hasFocus()) {\n this.#focusedItem = null;\n }\n });\n }\n\n #scheduleRefresh(): void {\n if (this.#scheduled || this.#destroyRef.destroyed) {\n return;\n }\n this.#scheduled = true;\n afterNextRender(\n {\n mixedReadWrite: () => {\n this.#scheduled = false;\n this.#refresh();\n }\n },\n { injector: this.#injector }\n );\n }\n\n #refresh(): void {\n const host = this.#host();\n if (!host) {\n return;\n }\n const previous = this.#snapshot;\n const items = this.#updateOrder();\n this.#snapshot = items;\n\n if (this.#settled) {\n this.#announce(host, previous, items);\n }\n\n this.#reconcileActive(items, previous);\n this.#restoreFocus(host, items, previous);\n this.#warnUnidentified(items);\n this.#settled = true;\n }\n\n #updateOrder(): ChipComponent[] {\n const element = this.#host()?.element;\n const items = [...this.#registry]\n .filter((chip) => !!element?.contains(chip.element))\n .sort((a, b) => (a.element.compareDocumentPosition(b.element) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1));\n const current = untracked(this.orderedItems);\n if (items.length !== current.length || items.some((chip, index) => chip !== current[index])) {\n this.orderedItems.set(items);\n }\n return items;\n }\n\n #announce(host: ChipSetHost, previous: ChipComponent[], current: ChipComponent[]): void {\n const element = host.element;\n if (!element.isConnected || (typeof element.checkVisibility === 'function' && !element.checkVisibility())) {\n return;\n }\n const added = this.#difference(current, previous)[0];\n const removed = this.#difference(previous, current)[0];\n const message = added\n ? added.text() && `${added.text()} ${host.ariaAddedAnnouncement()}`\n : removed?.text() && `${removed.text()} ${host.ariaRemovedAnnouncement()}`;\n if (message) {\n this.#announcer.announce(message, { context: element });\n }\n }\n\n #difference(from: ChipComponent[], subtract: ChipComponent[]): ChipComponent[] {\n const counts = new Map<string, number>();\n subtract.forEach((chip) => counts.set(chip.identity(), (counts.get(chip.identity()) ?? 0) + 1));\n return from.filter((chip) => {\n const count = counts.get(chip.identity()) ?? 0;\n counts.set(chip.identity(), count - 1);\n return count <= 0;\n });\n }\n\n #reconcileActive(items: ChipComponent[], previous: ChipComponent[]): void {\n const active = untracked(this.activeItem);\n if (active && !items.includes(active)) {\n this.activeItem.set(this.#replacement(active, items, previous));\n }\n const stop = untracked(this.#stop);\n if (stop) {\n this.#keyManager.updateActiveItem(stop);\n }\n }\n\n #restoreFocus(host: ChipSetHost, items: ChipComponent[], previous: ChipComponent[]): void {\n const removed = this.#focusedItem;\n if (!removed || items.includes(removed)) {\n return;\n }\n this.#focusedItem = null;\n const active = removed.element.ownerDocument.activeElement;\n const focusLost = !active || active === removed.element.ownerDocument.body || removed.element.contains(active);\n if (!focusLost) {\n return;\n }\n const target = this.#replacement(removed, items, previous);\n if (target) {\n this.activeItem.set(target);\n this.#keyManager.updateActiveItem(target);\n target.element.setAttribute('tabindex', '0');\n target.focus();\n return;\n }\n host.focusFallback();\n }\n\n #replacement(removed: ChipComponent, items: ChipComponent[], previous: ChipComponent[]): ChipComponent | null {\n const identity = removed.identity();\n const twin = items.find((chip) => chip.identity() === identity && chip.focusable() && !previous.includes(chip));\n if (twin) {\n return twin;\n }\n const index = previous.indexOf(removed);\n for (let i = index + 1; i < previous.length; i++) {\n if (items.includes(previous[i]) && previous[i].focusable()) {\n return previous[i];\n }\n }\n for (let i = index - 1; i >= 0; i--) {\n if (items.includes(previous[i]) && previous[i].focusable()) {\n return previous[i];\n }\n }\n return null;\n }\n\n #nearestFocusable(items: ChipComponent[], index: number): ChipComponent | null {\n return (\n items.slice(index + 1).find((chip) => chip.focusable()) ??\n items\n .slice(0, index)\n .reverse()\n .find((chip) => chip.focusable()) ??\n null\n );\n }\n\n #initialStop(items: ChipComponent[]): ChipComponent | null {\n const focusable = items.filter((chip) => chip.focusable());\n if (this.#host()?.initialStop === 'last') {\n return focusable.at(-1) ?? null;\n }\n return focusable.find((chip) => this.isSelected(chip.identity())) ?? focusable[0] ?? null;\n }\n\n #lastFocusable(): ChipComponent | null {\n return (\n this.#updateOrder()\n .filter((chip) => chip.focusable())\n .at(-1) ?? null\n );\n }\n\n #provisionalStop(): ChipComponent | null {\n const host = this.#host();\n if (!host || host.initialStop === 'last') {\n return null;\n }\n for (const chip of this.#registry) {\n if (chip.focusable() && host.element.contains(chip.element)) {\n return chip;\n }\n }\n return null;\n }\n\n #moveStop(stop: ChipComponent | null): void {\n [...this.#registry]\n .filter((item) => item !== stop && item.element.getAttribute('tabindex') === '0')\n .forEach((item) => item.element.setAttribute('tabindex', '-1'));\n if (stop) {\n stop.element.setAttribute('tabindex', '0');\n this.#keyManager.updateActiveItem(stop);\n }\n }\n\n #chipContaining(target: EventTarget | null): ChipComponent | null {\n if (!(target instanceof Node)) {\n return null;\n }\n return [...this.#registry].find((chip) => chip.element.contains(target)) ?? null;\n }\n\n #warnUnidentified(items: ChipComponent[]): void {\n for (const chip of items) {\n if (\n !this.#warned.has(chip) &&\n (chip.isSelectable() || chip.isRemovable()) &&\n chip.value() === undefined &&\n !chip.text()\n ) {\n this.#warned.add(chip);\n console.warn('CoreUI [c-chip] without text needs a value to be selected or removed in a chip set');\n }\n }\n }\n}\n","import {\n AfterContentInit,\n booleanAttribute,\n Component,\n computed,\n contentChildren,\n ElementRef,\n inject,\n input,\n model,\n numberAttribute,\n output,\n signal,\n viewChild\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { AsyncValidator, NG_ASYNC_VALIDATORS, NG_VALIDATORS, NgModel, Validator } from '@angular/forms';\nimport { take } from 'rxjs';\nimport { ChipComponent } from '../chip/chip.component';\nimport { ChipSetRef } from '../chip/chip-set-ref';\nimport { ChipSetService } from '../chip-set/chip-set.service';\nimport { RtlService } from '../services/rtl.service';\nimport { UIDService } from '../services/uid.service';\n\n@Component({\n selector: 'c-chip-input',\n exportAs: 'cChipInput',\n templateUrl: './chip-input.component.html',\n imports: [ChipComponent],\n providers: [ChipSetService, { provide: ChipSetRef, useExisting: ChipSetService }],\n host: {\n class: 'chip-input',\n '[class]': 'hostClasses()',\n '[attr.id]': 'null',\n '[attr.aria-describedby]': 'null',\n '[attr.aria-label]': 'null',\n '[attr.aria-labelledby]': 'null',\n '(click)': 'onClick($event)',\n '(mousedown)': 'onMousedown($event)',\n '(keydown)': 'onKeydown($event)',\n '(focusin)': 'onFocusin($event)',\n '(focusout)': 'onFocusout($event)'\n }\n})\nexport class ChipInputComponent implements AfterContentInit {\n readonly #elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n readonly #ngModel = inject(NgModel, { self: true, optional: true });\n readonly #asyncValidators = inject<(AsyncValidator | unknown)[]>(NG_ASYNC_VALIDATORS, { self: true, optional: true });\n readonly #validators = inject<(Validator | unknown)[]>(NG_VALIDATORS, { self: true, optional: true });\n readonly #rtl = inject(RtlService);\n readonly #service = inject(ChipSetService);\n\n readonly field = viewChild.required<ElementRef<HTMLInputElement>>('field');\n readonly projectedChips = contentChildren(ChipComponent);\n\n /**\n * Wording announced to screen readers after a chip is added; the chip value is prepended.\n * @returns string\n * @default 'added'\n */\n readonly ariaAddedAnnouncement = input('added');\n\n /**\n * Id of the element that describes the text field, e.g. a hint or a `c-form-feedback`.\n * @returns string | undefined\n * @default undefined\n */\n readonly ariaDescribedBy = input<string>(undefined, { alias: 'aria-describedby' });\n\n /**\n * Accessible name of the text field when there is no visible label.\n * @returns string | undefined\n * @default undefined\n */\n readonly ariaLabel = input<string>(undefined, { alias: 'aria-label' });\n\n /**\n * Id of the element that names the text field.\n * @returns string | undefined\n * @default undefined\n */\n readonly ariaLabelledBy = input<string>(undefined, { alias: 'aria-labelledby' });\n\n /**\n * Label of the remove buttons; each chip appends its value, e.g. `'Remove Angular'`.\n * @returns string\n * @default 'Remove'\n */\n readonly ariaRemoveLabel = input('Remove');\n\n /**\n * Wording announced to screen readers after a chip is removed; the chip value is prepended.\n * @returns string\n * @default 'removed'\n */\n readonly ariaRemovedAnnouncement = input('removed');\n\n /**\n * Extra class for every chip, or a function that returns the class for a chip value.\n * @returns string | ((value: string) => string) | undefined\n * @default undefined\n */\n readonly chipClassName = input<string | ((value: string) => string)>();\n\n /**\n * Turns the text left in the field into a chip when focus leaves the component.\n * @returns boolean\n * @default true\n */\n readonly createOnBlur = input(true, { transform: booleanAttribute });\n\n /**\n * Disables the field and every chip.\n * @returns boolean\n * @default false\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n /**\n * Makes the chips filter chips: selectable, with a check icon while selected.\n * @returns boolean\n * @default false\n */\n readonly filter = input(false, { transform: booleanAttribute });\n\n /**\n * Id of the text field, the target of an external `<label for>`.\n * @returns string\n * @default generated\n */\n readonly id = input(inject(UIDService).getUID('chip-input'));\n\n /**\n * Set by the form when the value is invalid; shown once the control is touched.\n * @returns boolean\n * @default false\n */\n readonly invalid = input(false, { transform: booleanAttribute });\n\n /**\n * Renders an inline label inside the Angular Chip Input component container.\n * @returns string | undefined\n * @default undefined\n */\n readonly label = input<string>();\n\n /**\n * Maximum number of chips; `null` for no limit.\n * @returns number | null\n * @default null\n */\n readonly maxChips = input<number | null, unknown>(null, {\n transform: (value: unknown) => {\n const maxChips = numberAttribute(value);\n return Number.isNaN(maxChips) ? null : maxChips;\n }\n });\n\n /**\n * Placeholder of the text field.\n * @returns string\n * @default ''\n */\n readonly placeholder = input('');\n\n /**\n * Keeps the chips visible but blocks adding, removing and selecting them.\n * @returns boolean\n * @default false\n */\n readonly readonly = input(false, { transform: booleanAttribute });\n\n /**\n * Shows remove buttons on the chips.\n * @returns boolean\n * @default true\n */\n readonly removable = input(true, { transform: booleanAttribute });\n\n /**\n * Set by the form when a value is required; adds `aria-required` to the text field.\n * @returns boolean\n * @default false\n */\n readonly required = input(false, { transform: booleanAttribute });\n\n /**\n * Makes the chips selectable.\n * @returns boolean\n * @default false\n */\n readonly selectable = input(false, { transform: booleanAttribute });\n\n /**\n * Values of the selected chips, two-way bindable with `[(selected)]`.\n * @returns string[]\n * @default []\n */\n readonly selected = model<string[]>([]);\n\n /**\n * Sets how many chips can be selected at once.\n * @returns 'single' | 'multiple'\n * @default 'multiple'\n */\n readonly selectionMode = input<'single' | 'multiple'>('multiple');\n\n /**\n * Character that splits typed or pasted text into chips; `null` turns splitting off.\n * @returns string | null\n * @default ','\n */\n readonly separator = input<string | null>(',');\n\n /**\n * Size of the component.\n * @returns 'sm' | 'lg' | undefined\n * @default undefined\n */\n readonly size = input<'sm' | 'lg'>();\n\n /**\n * Set by the form once the control has been touched.\n * @returns boolean\n * @default false\n */\n readonly touched = input(false, { transform: booleanAttribute });\n\n /**\n * Validation state set by the page; it wins over the state reported by the form.\n * @returns 'valid' | 'invalid' | undefined\n * @default undefined\n */\n readonly validationState = input<'valid' | 'invalid'>();\n\n /**\n * Chip values, two-way bindable with `[(value)]` or bound by a form.\n * @returns string[]\n * @default []\n */\n readonly value = model<string[]>([]);\n\n /**\n * Emits the value of a chip added by the user.\n * @returns string\n */\n readonly add = output<string>();\n\n /**\n * Emits the text of the field when it changes.\n * @returns string\n */\n readonly inputChange = output<string>();\n\n /**\n * Emits the value of a chip removed by the user.\n * @returns string\n */\n readonly remove = output<string>();\n\n /**\n * Emits when focus leaves the component.\n */\n readonly touch = output<void>();\n\n readonly text = signal('');\n\n readonly items = computed(() => [\n ...new Set((this.value() ?? []).map((value) => String(value).trim()).filter(Boolean))\n ]);\n\n readonly canAdd = computed(() => {\n const maxChips = this.maxChips();\n return maxChips === null || this.items().length < maxChips;\n });\n\n readonly state = computed(() => this.validationState() ?? (this.invalid() && this.touched() ? 'invalid' : undefined));\n\n readonly fieldSize = computed(() => Math.max(this.placeholder().length, this.text().length, 1));\n\n readonly hostClasses = computed(() => ({\n [`chip-input-${this.size()}`]: !!this.size(),\n disabled: this.disabled(),\n 'is-invalid': this.state() === 'invalid',\n 'is-valid': this.state() === 'valid'\n }));\n\n constructor() {\n this.#service.attach({\n ariaAddedAnnouncement: this.ariaAddedAnnouncement,\n ariaRemoveLabel: this.ariaRemoveLabel,\n ariaRemovedAnnouncement: this.ariaRemovedAnnouncement,\n disabled: this.disabled,\n element: this.#elementRef.nativeElement,\n filter: this.filter,\n initialStop: 'last',\n isListbox: computed(() => false),\n readonly: this.readonly,\n removable: computed(() => this.removable() && !this.disabled() && !this.readonly()),\n removeIcon: computed(() => undefined),\n selectable: this.selectable,\n selected: this.selected,\n selectedIcon: computed(() => undefined),\n selectionMode: this.selectionMode,\n focusFallback: () => this.focus(),\n removeRequested: (value) => this.#removeChip(value)\n });\n this.#attachValidators();\n this.#ngModel?.control.valueChanges.pipe(take(1), takeUntilDestroyed()).subscribe(() => this.#service.resync());\n }\n\n ngAfterContentInit(): void {\n this.#watchValidators();\n if (this.projectedChips().length > 0) {\n console.warn('CoreUI [c-chip] placed inside c-chip-input is ignored - chips come from its value');\n }\n }\n\n focus(): void {\n this.field().nativeElement.focus();\n }\n\n chipClass(value: string): string | null {\n const className = this.chipClassName();\n return (typeof className === 'function' ? className(value) : className) ?? null;\n }\n\n onClick($event: MouseEvent): void {\n if ($event.target === this.#elementRef.nativeElement) {\n this.focus();\n }\n }\n\n onMousedown($event: MouseEvent): void {\n const target = $event.target as Element;\n if (target === this.#elementRef.nativeElement || target.closest?.('.chip-input-label')) {\n $event.preventDefault();\n }\n }\n\n onKeydown($event: KeyboardEvent): void {\n if ($event.target === this.field().nativeElement) {\n return;\n }\n const intoField = this.#isRtl() ? 'ArrowLeft' : 'ArrowRight';\n if ($event.key === intoField && this.#service.isLastFocusable($event.target)) {\n $event.preventDefault();\n this.focus();\n return;\n }\n this.#service.handleKeydown($event);\n if (!$event.defaultPrevented && this.#isPrintable($event)) {\n this.focus();\n }\n }\n\n onFocusin($event: FocusEvent): void {\n this.#service.handleFocusin($event);\n if ($event.target === this.field().nativeElement) {\n this.#service.resetStop();\n if (!this.readonly() && this.selected().length > 0) {\n this.selected.set([]);\n }\n }\n }\n\n onFocusout($event: FocusEvent): void {\n this.#service.handleFocusout($event);\n const next = $event.relatedTarget;\n if (next) {\n if (!this.#contains(next)) {\n this.#leave();\n }\n return;\n }\n const target = $event.target as Node;\n queueMicrotask(() => {\n const document = target.ownerDocument;\n if (target.isConnected && document?.hasFocus() && !this.#contains(document.activeElement)) {\n this.#leave();\n }\n });\n }\n\n onFieldInput($event: Event): void {\n const value = ($event.target as HTMLInputElement).value;\n const separator = this.separator();\n if (separator && value.includes(separator) && this.canAdd()) {\n const parts = value.split(separator);\n const left = this.#addChips(parts.slice(0, -1));\n this.#setText([...left, parts.at(-1) ?? ''].join(separator));\n return;\n }\n this.#setText(value);\n }\n\n onFieldKeydown($event: KeyboardEvent): void {\n if ($event.isComposing || $event.keyCode === 229) {\n return;\n }\n const field = this.field().nativeElement;\n switch ($event.key) {\n case 'Enter': {\n $event.preventDefault();\n this.#createFromText();\n break;\n }\n case 'Backspace':\n case 'Delete': {\n if (this.text() === '' && !$event.repeat && this.#service.focusLast()) {\n $event.preventDefault();\n }\n break;\n }\n case 'ArrowLeft':\n case 'ArrowRight': {\n const towardChips = this.#isRtl() ? 'ArrowRight' : 'ArrowLeft';\n if (\n $event.key === towardChips &&\n field.selectionStart === 0 &&\n field.selectionEnd === 0 &&\n this.#service.focusLast()\n ) {\n $event.preventDefault();\n }\n break;\n }\n case 'Escape': {\n this.#setText('');\n field.blur();\n break;\n }\n }\n }\n\n onFieldPaste($event: ClipboardEvent): void {\n const separator = this.separator();\n const pasted = $event.clipboardData?.getData('text') ?? '';\n if (this.disabled() || this.readonly() || !separator || !pasted.includes(separator) || !this.canAdd()) {\n return;\n }\n $event.preventDefault();\n const field = this.field().nativeElement;\n const start = field.selectionStart ?? field.value.length;\n const end = field.selectionEnd ?? start;\n const text = field.value.slice(0, start) + pasted + field.value.slice(end);\n this.#setText(this.#addChips(text.split(separator)).join(separator));\n }\n\n #attachValidators(): void {\n const control = this.#ngModel?.control;\n const validator = this.#ngModel?.validator;\n const asyncValidator = this.#ngModel?.asyncValidator;\n if (validator && control && !control.hasValidator(validator)) {\n control.addValidators(validator);\n }\n if (asyncValidator && control && !control.hasAsyncValidator(asyncValidator)) {\n control.addAsyncValidators(asyncValidator);\n }\n }\n\n #watchValidators(): void {\n const control = this.#ngModel?.control;\n if (!control) {\n return;\n }\n for (const item of [...(this.#validators ?? []), ...(this.#asyncValidators ?? [])]) {\n (item as Validator | AsyncValidator).registerOnValidatorChange?.(() => control.updateValueAndValidity());\n }\n }\n\n #leave(): void {\n if (this.createOnBlur()) {\n this.#createFromText();\n }\n this.touch.emit();\n }\n\n #createFromText(): void {\n const separator = this.separator();\n const text = this.text();\n const count = this.items().length;\n const left = this.#addChips(separator ? text.split(separator) : [text]);\n if (this.items().length > count) {\n this.#setText(left.join(separator ?? ''));\n }\n }\n\n #addChips(values: string[]): string[] {\n if (this.disabled() || this.readonly()) {\n return values;\n }\n const maxChips = this.maxChips();\n const next = [...this.items()];\n const added: string[] = [];\n const left: string[] = [];\n for (const raw of values) {\n const value = raw.trim();\n if (!value || next.includes(value)) {\n continue;\n }\n if (maxChips !== null && next.length >= maxChips) {\n left.push(raw);\n continue;\n }\n next.push(value);\n added.push(value);\n }\n if (added.length > 0) {\n this.value.set(next);\n added.forEach((value) => this.add.emit(value));\n }\n return left;\n }\n\n #removeChip(value: string): void {\n if (this.disabled() || this.readonly() || !this.items().includes(value)) {\n return;\n }\n this.value.set(this.items().filter((item) => item !== value));\n if (this.selected().includes(value)) {\n this.selected.set(this.selected().filter((item) => item !== value));\n }\n this.remove.emit(value);\n }\n\n #setText(value: string): void {\n const field = this.field().nativeElement;\n if (field.value !== value) {\n field.value = value;\n }\n if (this.text() !== value) {\n this.text.set(value);\n this.inputChange.emit(value);\n }\n }\n\n #contains(target: EventTarget | null): boolean {\n return target instanceof Node && this.#elementRef.nativeElement.contains(target);\n }\n\n #isPrintable($event: KeyboardEvent): boolean {\n return $event.key?.length === 1 && !$event.metaKey && (!$event.ctrlKey || $event.altKey);\n }\n\n #isRtl(): boolean {\n return this.#rtl.isRTL(this.#elementRef.nativeElement);\n }\n}\n","@if (label(); as label) {\n <label class=\"chip-input-label\" [for]=\"id()\">{{ label }}</label>\n}\n@for (item of items(); track item) {\n <c-chip [class]=\"chipClass(item)\" [value]=\"item\">{{ item }}</c-chip>\n}\n<input\n #field\n type=\"text\"\n class=\"chip-input-field\"\n [attr.aria-describedby]=\"ariaDescribedBy() ?? null\"\n [attr.aria-invalid]=\"state() === 'invalid' ? 'true' : null\"\n [attr.aria-label]=\"ariaLabel() ?? null\"\n [attr.aria-labelledby]=\"ariaLabelledBy() ?? null\"\n [attr.aria-required]=\"required() ? 'true' : null\"\n [attr.size]=\"fieldSize()\"\n [disabled]=\"disabled()\"\n [id]=\"id()\"\n [placeholder]=\"placeholder()\"\n [readOnly]=\"readonly() && !disabled()\"\n (input)=\"onFieldInput($event)\"\n (keydown)=\"onFieldKeydown($event)\"\n (paste)=\"onFieldPaste($event)\"\n/>\n","import { NgModule } from '@angular/core';\nimport { ChipInputComponent } from './chip-input.component';\n\n@NgModule({\n imports: [ChipInputComponent],\n exports: [ChipInputComponent]\n})\nexport class ChipInputModule {}\n","import {\n booleanAttribute,\n Component,\n computed,\n ElementRef,\n inject,\n input,\n model,\n output,\n signal,\n TemplateRef\n} from '@angular/core';\nimport { ChipComponent } from '../chip/chip.component';\nimport { ChipSetRef } from '../chip/chip-set-ref';\nimport { optionalNumberAttribute } from '../chip/chip.utils';\nimport { ChipSetService } from './chip-set.service';\nimport { ChipItem } from './chip-set.types';\n\n@Component({\n selector: 'c-chip-set',\n exportAs: 'cChipSet',\n templateUrl: './chip-set.component.html',\n imports: [ChipComponent],\n providers: [ChipSetService, { provide: ChipSetRef, useExisting: ChipSetService }],\n host: {\n class: 'chip-set',\n '[class.disabled]': 'disabled()',\n '[attr.role]': 'roleAttr()',\n '[attr.aria-orientation]': 'isListbox() ? \"horizontal\" : null',\n '[attr.aria-multiselectable]': 'isListbox() && selectionMode() === \"multiple\" ? \"true\" : null',\n '[attr.aria-disabled]': 'ariaDisabled()',\n '[attr.tabindex]': 'tabIndex()',\n '(keydown)': 'onKeydown($event)',\n '(focusin)': 'onFocusin($event)',\n '(focusout)': 'onFocusout($event)'\n }\n})\nexport class ChipSetComponent {\n readonly #elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n readonly #service = inject(ChipSetService);\n\n /**\n * Wording announced to screen readers after a chip is added; the chip text is prepended.\n * @returns string\n * @default 'added'\n */\n readonly ariaAddedAnnouncement = input('added');\n\n /**\n * Label of the remove buttons; each chip appends its text, e.g. `'Remove Angular'`.\n * Chips in a selectable set have no remove buttons for assistive technology: removal runs from the chip itself.\n * @returns string\n * @default 'Remove'\n */\n readonly ariaRemoveLabel = input('Remove');\n\n /**\n * Wording announced to screen readers after a chip is removed; the chip text is prepended.\n * @returns string\n * @default 'removed'\n */\n readonly ariaRemovedAnnouncement = input('removed');\n\n /**\n * Chips rendered from data, as values or `ChipItem` objects. The set never changes the list itself:\n * it emits `chipsChange` without the removed chip, so `[(chips)]` removes it and `[chips]` with `(remove)` lets\n * the parent decide.\n * @returns (string | ChipItem)[] | undefined\n * @default undefined\n */\n readonly chips = input<(string | ChipItem)[]>();\n\n /**\n * Disables the set and every chip that does not set `disabled` itself.\n * @returns boolean\n * @default false\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n /**\n * Makes the chips filter chips: selectable, with a check icon while selected.\n * @returns boolean\n * @default false\n */\n readonly filter = input(false, { transform: booleanAttribute });\n\n /**\n * Shows remove buttons on the chips.\n * @returns boolean\n * @default false\n */\n readonly removable = input(false, { transform: booleanAttribute });\n\n /**\n * Replaces the default remove icon of the chips.\n * @returns TemplateRef<unknown> | undefined\n * @default undefined\n */\n readonly removeIcon = input<TemplateRef<unknown>>();\n\n /**\n * Overrides the role of the set: `listbox` when selectable, otherwise `group`.\n * A selectable set needs an accessible name, e.g. `aria-label` or `aria-labelledby`.\n * @returns string | undefined\n * @default undefined\n */\n readonly role = input<string>();\n\n /**\n * Makes the chips selectable.\n * @returns boolean\n * @default false\n */\n readonly selectable = input(false, { transform: booleanAttribute });\n\n /**\n * Values of the selected chips, two-way bindable with `[(selected)]`. A one-way `[selected]` applies every new value\n * from the parent, but the parent does not learn about selection changes made by the user.\n * @returns string[]\n * @default []\n */\n readonly selected = model<string[]>([]);\n\n /**\n * Replaces the default check icon of the selected filter chips.\n * @returns TemplateRef<unknown> | undefined\n * @default undefined\n */\n readonly selectedIcon = input<TemplateRef<unknown>>();\n\n /**\n * Sets how many chips can be selected at once.\n * @returns 'single' | 'multiple'\n * @default 'multiple'\n */\n readonly selectionMode = input<'single' | 'multiple'>('multiple');\n\n /**\n * Tab index of the set host. Without it the set takes `-1` only while it holds focus after its last chip is removed.\n * @returns number | undefined\n * @default undefined\n */\n readonly tabindex = input<number | undefined, unknown>(undefined, { transform: optionalNumberAttribute });\n\n /**\n * Emits the chip list without the chip whose removal was requested, for `[(chips)]`.\n * @returns (string | ChipItem)[]\n */\n readonly chipsChange = output<(string | ChipItem)[]>();\n\n /**\n * Emits the value of the chip whose removal was requested.\n * @returns string\n */\n readonly remove = output<string>();\n\n readonly #holdsFallbackFocus = signal(false);\n\n readonly items = computed(() => {\n const seen = new Set<string>();\n return (this.chips() ?? [])\n .map((chip) => (typeof chip === 'string' ? { value: chip } : chip))\n .filter((chip) => !seen.has(chip.value) && !!seen.add(chip.value));\n });\n\n readonly isListbox = computed(() => this.roleAttr() === 'listbox');\n\n readonly roleAttr = computed(() => this.role() ?? (this.selectable() || this.filter() ? 'listbox' : 'group'));\n\n readonly ariaDisabled = computed(() => {\n const role = this.roleAttr();\n return this.disabled() && role !== 'none' && role !== 'presentation' ? 'true' : null;\n });\n\n readonly tabIndex = computed(() => this.tabindex() ?? (this.#holdsFallbackFocus() ? -1 : null));\n\n constructor() {\n this.#service.attach({\n ariaAddedAnnouncement: this.ariaAddedAnnouncement,\n ariaRemoveLabel: this.ariaRemoveLabel,\n ariaRemovedAnnouncement: this.ariaRemovedAnnouncement,\n disabled: this.disabled,\n element: this.#elementRef.nativeElement,\n filter: this.filter,\n initialStop: 'first',\n isListbox: this.isListbox,\n removable: this.removable,\n removeIcon: this.removeIcon,\n selectable: this.selectable,\n selected: this.selected,\n selectedIcon: this.selectedIcon,\n selectionMode: this.selectionMode,\n focusFallback: () => this.#focusHost(),\n removeRequested: (identity) => this.#removeRequested(identity)\n });\n }\n\n onKeydown($event: KeyboardEvent): void {\n this.#service.handleKeydown($event);\n }\n\n onFocusin($event: FocusEvent): void {\n this.#service.handleFocusin($event);\n }\n\n onFocusout($event: FocusEvent): void {\n this.#service.handleFocusout($event);\n const next = $event.relatedTarget as Node | null;\n if (!next || !this.#elementRef.nativeElement.contains(next)) {\n this.#holdsFallbackFocus.set(false);\n }\n }\n\n #focusHost(): void {\n const element = this.#elementRef.nativeElement;\n this.#holdsFallbackFocus.set(true);\n element.setAttribute('tabindex', String(this.tabindex() ?? -1));\n element.focus();\n }\n\n #removeRequested(identity: string): void {\n this.remove.emit(identity);\n const chips = this.chips();\n const next = chips?.filter((chip) => (typeof chip === 'string' ? chip : chip.value) !== identity);\n if (next && next.length !== chips?.length) {\n this.chipsChange.emit(next);\n }\n }\n}\n","@for (item of items(); track item.value) {\n <c-chip\n [active]=\"item.active\"\n [ariaRemoveLabel]=\"item.ariaRemoveLabel\"\n [clickable]=\"item.clickable\"\n [color]=\"item.color\"\n [disabled]=\"item.disabled\"\n [filter]=\"item.filter\"\n [removable]=\"item.removable\"\n [selectable]=\"item.selectable\"\n [size]=\"item.size\"\n [value]=\"item.value\"\n [variant]=\"item.variant\"\n >{{ item.label ?? item.value }}</c-chip\n >\n}\n<ng-content />\n","import { NgModule } from '@angular/core';\nimport { ChipComponent } from '../chip/chip.component';\nimport { ChipSetComponent } from './chip-set.component';\n\n@NgModule({\n imports: [ChipComponent, ChipSetComponent],\n exports: [ChipComponent, ChipSetComponent]\n})\nexport class ChipSetModule {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cDropdownDivider]',\n host: { class: 'dropdown-divider' }\n})\nexport class DropdownDividerDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cDropdownHeader]',\n host: { class: 'dropdown-header' }\n})\nexport class DropdownHeaderDirective {}\n","import { Injectable, signal } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { DropdownAlignment } from '../coreui.types';\n\nexport interface IDropdownState {\n visible?: boolean | 'toggle';\n dropdown?: any;\n focus?: 'first' | 'last';\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DropdownService {\n readonly #dropdownState = new BehaviorSubject<any>({});\n readonly dropdownState$ = this.#dropdownState.asObservable();\n\n readonly alignment = signal<DropdownAlignment | undefined>(undefined);\n readonly popper = signal(true);\n\n toggle(state: IDropdownState): void {\n this.#dropdownState.next(state);\n }\n}\n","const REPLAY_EVENT_PHASE = 101;\n\n/**\n * Whether Angular is replaying the event after hydration (`EventPhase.REPLAY`); such an event cannot be prevented.\n */\nexport const isReplayedEvent = (event: Event): boolean => event.eventPhase === REPLAY_EVENT_PHASE;\n\nconst FORM_CONTROL_SELECTOR =\n 'input:not([type=\"button\"]):not([type=\"image\"]):not([type=\"reset\"]):not([type=\"submit\"]), select, textarea';\n\n/**\n * Whether the event target types or selects natively, so dropdown key handling must leave it alone.\n */\nexport const isEditableTarget = (target: EventTarget | null): boolean => {\n if (!(target instanceof Element)) {\n return false;\n }\n if (target.closest(FORM_CONTROL_SELECTOR)) {\n return true;\n }\n for (\n let host = target.closest('[contenteditable]');\n host;\n host = host.parentElement?.closest('[contenteditable]') ?? null\n ) {\n const value = host.getAttribute('contenteditable')?.toLowerCase();\n if (value === '' || value === 'true' || value === 'plaintext-only') {\n return true;\n }\n if (value === 'false') {\n return false;\n }\n }\n return false;\n};\n\n/**\n * Whether the element dispatches a native click on Enter.\n */\nexport const clicksOnEnter = (element: Element): boolean =>\n element instanceof HTMLButtonElement ||\n (element instanceof HTMLInputElement && /^(button|image|reset|submit)$/.test(element.type)) ||\n (element instanceof HTMLAnchorElement && element.hasAttribute('href')) ||\n element.tagName === 'SUMMARY';\n\n/**\n * Whether the element dispatches a native click on Space.\n */\nexport const clicksOnSpace = (element: Element): boolean =>\n element instanceof HTMLButtonElement ||\n (element instanceof HTMLInputElement && /^(button|checkbox|image|radio|reset|submit)$/.test(element.type)) ||\n element.tagName === 'SUMMARY';\n","import { FocusKeyManager } from '@angular/cdk/a11y';\nimport {\n AfterContentInit,\n afterNextRender,\n booleanAttribute,\n computed,\n contentChildren,\n DestroyRef,\n Directive,\n ElementRef,\n forwardRef,\n inject,\n Injector,\n input,\n linkedSignal,\n OnInit\n} from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { tap } from 'rxjs/operators';\n\nimport { ThemeDirective } from '../../shared/theme.directive';\nimport { DropdownItemDirective } from '../dropdown-item/dropdown-item.directive';\nimport { BreakpointInfix, DropdownAlignment } from '../../coreui.types';\nimport { DropdownService } from '../dropdown.service';\nimport { clicksOnSpace, isEditableTarget, isReplayedEvent } from '../dropdown.utils';\n\n@Directive({\n selector: '[cDropdownMenu]',\n exportAs: 'cDropdownMenu',\n hostDirectives: [{ directive: ThemeDirective, inputs: ['dark'] }],\n host: {\n class: 'dropdown-menu',\n '[class]': 'hostClasses()',\n '[style]': 'hostStyles()',\n '[attr.data-coreui-popper]': 'dataPopper()',\n '(focusin)': 'onFocusIn($event)',\n '(keydown)': 'onKeyDown($event)'\n }\n})\nexport class DropdownMenuDirective implements OnInit, AfterContentInit {\n readonly #destroyRef: DestroyRef = inject(DestroyRef);\n readonly #injector = inject(Injector);\n public readonly elementRef: ElementRef = inject(ElementRef);\n readonly #dropdownService: DropdownService = inject(DropdownService);\n #focusKeyManager!: FocusKeyManager<DropdownItemDirective>;\n\n /**\n * Set alignment of dropdown menu.\n * @returns DropdownAlignment\n */\n readonly alignment = input<DropdownAlignment>();\n\n /**\n * Toggle the visibility of dropdown menu component.\n * @returns boolean\n */\n readonly visibleInput = input(false, { transform: booleanAttribute, alias: 'visible' });\n\n readonly visible = linkedSignal({\n source: this.visibleInput,\n computation: (value) => value\n });\n\n readonly hostClasses = computed(() => {\n const visible = this.visible();\n\n return {\n 'dropdown-menu': true,\n ...alignmentClasses(this.alignment() ?? this.#dropdownService.alignment()),\n show: visible\n } as Record<string, boolean>;\n });\n\n readonly hostStyles = computed(() => {\n // workaround for popper position calculate (see also: dropdown.component)\n const visible = this.visible();\n return {\n visibility: visible ? null : '',\n display: visible ? null : ''\n } as Record<string, any>;\n });\n\n readonly dataPopper = computed(() => (this.#dropdownService.popper() ? null : 'static'));\n\n onKeyDown($event: KeyboardEvent): void {\n if (!this.visible() || isReplayedEvent($event) || isEditableTarget($event.target)) {\n return;\n }\n if ($event.code === 'ArrowDown' || ($event.code === 'Space' && !this.#clicksOnSpace($event.target))) {\n $event.preventDefault();\n }\n this.#focusKeyManager.onKeydown($event);\n }\n\n onFocusIn($event: FocusEvent): void {\n const index = this.dropdownItemsContent().findIndex((item) =>\n item.elementRef.nativeElement.contains($event.target)\n );\n if (index > -1) {\n this.#focusKeyManager.updateActiveItem(index);\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 if (state.focus && this.visible()) {\n afterNextRender(\n () =>\n state.focus === 'first'\n ? this.#focusKeyManager.setFirstItemActive()\n : this.#focusKeyManager.setLastItemActive(),\n { injector: this.#injector }\n );\n }\n }),\n takeUntilDestroyed(this.#destroyRef)\n )\n .subscribe();\n }\n\n #clicksOnSpace(target: EventTarget | null): boolean {\n return target instanceof Element && clicksOnSpace(target);\n }\n\n private focusKeyManagerInit(): void {\n this.#focusKeyManager = new FocusKeyManager(this.dropdownItemsContent())\n .withHomeAndEnd()\n .withPageUpDown()\n .withWrap()\n .skipPredicate((dropdownItem) => dropdownItem.disabled === true);\n }\n}\n\nconst alignmentClasses = (alignment?: DropdownAlignment): Record<string, boolean> => {\n if (!alignment) {\n return {};\n }\n if (typeof alignment === 'string') {\n return { [`dropdown-menu-${alignment}`]: true };\n }\n return Object.fromEntries(\n Object.entries(alignment).map(([breakpoint, direction]) => [\n `dropdown-menu${breakpoint === BreakpointInfix.xs ? '' : `-${breakpoint}`}-${direction}`,\n true\n ])\n );\n};\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport {\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 Injector,\n input,\n linkedSignal,\n NgZone,\n OnDestroy,\n OnInit,\n output,\n Renderer2,\n signal,\n untracked\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { filter } from 'rxjs/operators';\n\nimport { createPopper, Instance, Options, Placement } from '@popperjs/core';\n\nimport { DropdownAlignment } from '../../coreui.types';\nimport { RtlService } from '../../services';\nimport { ThemeDirective } from '../../shared';\nimport { DropdownMenuDirective } from '../dropdown-menu/dropdown-menu.directive';\nimport { DropdownService } from '../dropdown.service';\nimport { clicksOnEnter, isEditableTarget, isReplayedEvent } from '../dropdown.utils';\n\nconst FOCUSABLE_SELECTOR = 'a[href], button, input, select, textarea, [tabindex]';\n\n// lightweight injection token\nexport abstract class DropdownToken {}\n\n@Directive({\n selector: '[cDropdownToggle]',\n providers: [{ provide: DropdownToken, useExisting: forwardRef(() => DropdownComponent) }],\n exportAs: 'cDropdownToggle',\n host: {\n '[class]': 'hostClasses()',\n '[aria-expanded]': 'ariaExpanded',\n '(click)': 'onClick($event)',\n '(keydown)': 'onKeyDown($event)'\n }\n})\nexport class DropdownToggleDirective implements AfterViewInit {\n public readonly elementRef = inject(ElementRef);\n readonly #renderer = inject(Renderer2);\n #dropdownService = inject(DropdownService);\n public dropdown = inject(DropdownToken, { optional: true });\n\n /**\n * Reference to dropdown component.\n * @returns DropdownComponent\n * @default undefined\n */\n readonly dropdownComponent = input<DropdownComponent>();\n\n /**\n * Disables the toggler.\n * @returns boolean\n * @default false\n */\n readonly disabled = input<boolean, unknown>(false, { transform: booleanAttribute });\n\n /**\n * Enables pseudo-element caret on toggler.\n * @returns boolean\n * @default true\n */\n readonly caret = input(true);\n\n /**\n * Create split button dropdowns with virtually the same markup as single button dropdowns,\n * but with the addition of `.dropdown-toggle-split` class for proper spacing around the dropdown caret.\n * @returns boolean\n * @default false\n */\n readonly split = input<boolean, unknown>(false, { transform: booleanAttribute });\n\n readonly hostClasses = computed(() => {\n return {\n 'dropdown-toggle': this.caret(),\n 'dropdown-toggle-split': this.split(),\n disabled: this.disabled()\n } as Record<string, boolean>;\n });\n\n readonly #ariaExpanded = computed(\n () => (this.dropdownComponent() ?? (this.dropdown as DropdownComponent | null))?.visible() ?? false\n );\n\n get ariaExpanded() {\n return this.#ariaExpanded();\n }\n\n public onClick($event: MouseEvent): void {\n $event.preventDefault();\n if (this.disabled()) {\n return;\n }\n const element: HTMLElement = this.elementRef.nativeElement;\n if (!element.contains(element.ownerDocument.activeElement)) {\n element.focus();\n }\n this.#dropdownService.toggle({ visible: 'toggle', dropdown: this.dropdown });\n }\n\n onKeyDown($event: KeyboardEvent): void {\n if (this.disabled() || isReplayedEvent($event) || isEditableTarget($event.target)) {\n return;\n }\n const element: HTMLElement = this.elementRef.nativeElement;\n if (\n $event.target === element &&\n element.tagName === 'A' &&\n ($event.key === ' ' || ($event.key === 'Enter' && !clicksOnEnter(element)))\n ) {\n $event.preventDefault();\n if (!$event.repeat) {\n element.click();\n }\n return;\n }\n if (!['ArrowDown', 'ArrowUp'].includes($event.key)) {\n return;\n }\n $event.preventDefault();\n this.#dropdownService.toggle({\n visible: true,\n dropdown: this.dropdown,\n focus: $event.key === 'ArrowDown' ? 'first' : 'last'\n });\n }\n\n constructor() {\n const element: HTMLElement | undefined = this.elementRef.nativeElement;\n if (element?.tagName === 'A' && !element.hasAttribute('role')) {\n this.#renderer.setAttribute(element, 'role', 'button');\n }\n }\n\n ngAfterViewInit(): void {\n const dropdownComponent = this.dropdownComponent();\n if (dropdownComponent) {\n this.dropdown = dropdownComponent;\n this.#dropdownService = dropdownComponent?.dropdownService;\n dropdownComponent.toggler = this;\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 #injector = inject(Injector);\n readonly #renderer = inject(Renderer2);\n readonly #rtlService = inject(RtlService);\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. A `placement` set on the dropdown takes precedence for the menu position.\n * @returns DropdownAlignment\n */\n readonly alignment = input<DropdownAlignment>();\n\n /**\n * Configure the auto close behavior:\n * - `true` closes the dropdown on a click inside or outside the menu,\n * - `false` only on the toggle button or an explicit hide/toggle call and not on the `Esc` key,\n * - `inside` only on a click inside the menu,\n * - `outside` only on a click outside it.\n * @returns boolean | 'inside' | 'outside'\n * @default true\n */\n readonly autoClose = input<boolean | 'inside' | 'outside'>(true);\n\n /**\n * Sets a specified direction and location of the dropdown menu. A `placement` set on the dropdown takes\n * precedence for the menu position.\n * @returns 'center' | 'dropup' | 'dropup-center' | 'dropend' | 'dropstart'\n */\n readonly direction = input<'center' | 'dropup' | 'dropup-center' | 'dropend' | 'dropstart'>();\n\n /**\n * Placement of the menu positioned by Popper, used as given. Without it the placement follows `direction` and the alignment\n * of the menu (its own, else this one), mirrored in a right-to-left context: `bottom-start`, or\n * `bottom-end` right to left.\n * @returns Placement\n * @default undefined\n */\n readonly placement = input<Placement>();\n\n /**\n * If you want to disable dynamic positioning set this property to `false`.\n * @returns boolean\n * @default true\n */\n readonly popper = input<boolean, unknown>(true, { transform: booleanAttribute });\n\n readonly #alignment = computed(() => this._menu()?.alignment() ?? this.alignment());\n\n readonly #popperEnabled = computed(() => this.popper() && typeof this.#alignment() !== 'object');\n\n readonly #alignmentEffect = effect(() => {\n this.dropdownService.alignment.set(this.alignment());\n });\n\n readonly #popperEnabledEffect = effect(() => {\n this.dropdownService.popper.set(this.#popperEnabled());\n });\n\n /**\n * Optional Popper.js options object; a `placement` set here is ignored, the menu placement comes\n * from `placement`, `direction` and `alignment`. See https://popper.js.org/docs/v2/constructors/#options\n * @returns Partial<Options>\n * @default {}\n */\n readonly popperOptionsInput = input<Partial<Options>>({}, { alias: 'popperOptions' });\n\n readonly #popperOptionsEffect = effect(() => {\n this.popperOptions = { ...untracked(this.#popperOptions), ...this.popperOptionsInput() };\n });\n\n set popperOptions(value: Partial<Options>) {\n this.#popperOptions.update((popperOptions) => ({ ...popperOptions, ...value }));\n }\n\n get popperOptions(): Partial<Options> {\n const placement = this.placement() ?? this.#directionPlacement();\n this.#popperOptions.update((value) => ({ ...value, placement: placement }));\n return this.#popperOptions();\n }\n\n readonly #popperOptions = signal<Partial<Options>>({\n modifiers: [],\n strategy: 'absolute'\n });\n\n /**\n * Set the dropdown variant to a btn-group, dropdown, input-group, and nav-item.\n */\n readonly variant = input<('btn-group' | 'dropdown' | 'input-group' | 'nav-item') | undefined>('dropdown');\n\n /**\n * Toggle the visibility of dropdown menu component.\n * @returns boolean\n * @default false\n */\n readonly visibleInput = input(false, { transform: booleanAttribute, alias: 'visible' });\n\n readonly visible = linkedSignal({\n source: this.visibleInput,\n computation: (value) => value\n });\n\n readonly #visibleEffect = effect(() => {\n const visible = this.visible();\n untracked(() => {\n this.activeTrap = visible;\n visible ? this.createPopperInstance() : this.destroyPopperInstance();\n this.setVisibleState(visible);\n this.visibleChange?.emit(visible);\n });\n });\n\n /**\n * Event emitted on `visible` change.\n * @returns boolean\n */\n readonly visibleChange = output<boolean>();\n\n dropdownContext = { $implicit: this.visible() };\n readonly _toggler = contentChild(DropdownToggleDirective);\n toggler?: 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() ?? this.toggler;\n const _menu = this._menu();\n if (_toggler && _menu) {\n this.#ngZone.runOutsideAngular(() => {\n // workaround for popper position calculate (see also: dropdown-menu.component)\n _menu.elementRef.nativeElement.style.visibility = 'hidden';\n _menu.elementRef.nativeElement.style.display = 'block';\n if (this.#popperEnabled()) {\n this.popperInstance = createPopper(_toggler.elementRef.nativeElement, _menu.elementRef.nativeElement, {\n ...this.popperOptions\n });\n }\n this.#ngZone.run(() => {\n this.setListeners();\n this.#changeDetectorRef.markForCheck();\n this.#changeDetectorRef.detectChanges();\n });\n });\n }\n }\n\n destroyPopperInstance(): void {\n this.clearListeners();\n this.popperInstance?.destroy();\n this.popperInstance = undefined;\n this.#changeDetectorRef.markForCheck();\n }\n\n private setListeners(): void {\n this.listeners.push(\n this.#renderer.listen(this.#document, 'click', (event) => {\n const target = event.target as HTMLElement;\n if (this._menuElementRef()?.nativeElement.contains(event.target)) {\n this.clickedTarget = target;\n }\n if (this.#togglerElement()?.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(this.#renderer.listen(this.#elementRef.nativeElement, 'keydown', this.#onEscape));\n const toggler = this.#togglerElement();\n if (toggler && !this.#elementRef.nativeElement.contains(toggler)) {\n this.listeners.push(this.#renderer.listen(toggler, 'keydown', this.#onEscape));\n }\n this.listeners.push(\n this.#renderer.listen(this.#document, 'keyup', (event: KeyboardEvent) => {\n const path = event.composedPath();\n const toggler = this.#togglerElement();\n if (\n event.key === 'Tab' &&\n this.autoClose() !== false &&\n !path.includes(this.#elementRef.nativeElement) &&\n !(toggler && path.includes(toggler))\n ) {\n this.setVisibleState(false);\n }\n })\n );\n }\n\n readonly #onEscape = (event: KeyboardEvent) => {\n if (event.key !== 'Escape' || event.defaultPrevented || this.autoClose() === false) {\n return;\n }\n event.preventDefault();\n const focusInMenu = this._menuElementRef()?.nativeElement.contains(event.target as Node);\n this.setVisibleState(false);\n if (focusInMenu) {\n this.#focusToggler();\n }\n };\n\n #directionPlacement(): Placement {\n const rtl = this.#rtlService.isRTL(this.#elementRef.nativeElement);\n const end = this.#alignment() === 'end';\n switch (this.direction()) {\n case 'dropend':\n return rtl ? 'left-start' : 'right-start';\n case 'dropstart':\n return rtl ? 'right-start' : 'left-start';\n case 'center':\n return 'bottom';\n case 'dropup-center':\n return 'top';\n case 'dropup':\n return end === rtl ? 'top-start' : 'top-end';\n default:\n return end === rtl ? 'bottom-start' : 'bottom-end';\n }\n }\n\n #togglerElement(): HTMLElement | undefined {\n return (this._toggler() ?? this.toggler)?.elementRef.nativeElement;\n }\n\n #focusToggler(): void {\n const toggler = this.#togglerElement();\n if (!toggler) {\n return;\n }\n const root = toggler.getRootNode() as Document | ShadowRoot;\n const candidates = [toggler, ...toggler.querySelectorAll<HTMLElement>(FOCUSABLE_SELECTOR)].filter(\n (candidate) => candidate === toggler || (candidate.tabIndex >= 0 && !candidate.closest('[aria-hidden=\"true\"]'))\n );\n const focusMonitor = this.#injector.get(FocusMonitor);\n for (const candidate of candidates) {\n focusMonitor.focusVia(candidate, 'program');\n if (root.activeElement === candidate) {\n return;\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 { clicksOnEnter, isEditableTarget } from '../dropdown.utils';\nimport { DropdownComponent } from '../dropdown/dropdown.component';\n\n@Directive({\n selector: '[cDropdownItem]',\n exportAs: 'cDropdownItem',\n host: {\n class: 'dropdown-item',\n '[class]': 'hostClasses()',\n '[attr.tabindex]': 'tabIndex()',\n '[aria-current]': 'ariaCurrent()',\n '[aria-disabled]': 'disabled || null',\n '[attr.role]': 'role()',\n '(click)': 'onClick($event)',\n '(keyup)': 'onKeyUp($event)'\n }\n})\nexport class DropdownItemDirective implements FocusableOption {\n public readonly elementRef: ElementRef = inject(ElementRef);\n readonly #dropdownService = inject(DropdownService);\n dropdown? = inject(DropdownComponent, { optional: true });\n\n /**\n * Set active state to a dropdown-item.\n * @returns boolean\n * @default undefined\n */\n readonly active = input<boolean>();\n\n /**\n * Configure dropdown-item close dropdown behavior.\n * @returns boolean\n * @default true\n */\n readonly autoClose = input<boolean>(true);\n\n /**\n * Disables a dropdown-item.\n * @returns boolean\n * @default false\n */\n readonly disabledInput = input(false, { transform: booleanAttribute, alias: 'disabled' });\n\n readonly #disabled = linkedSignal(this.disabledInput);\n\n set disabled(value) {\n this.#disabled.set(value);\n }\n\n get disabled() {\n return this.#disabled();\n }\n\n /**\n * Role for dropdown-item.\n * @returns string\n * @default undefined\n */\n readonly role = input<string>();\n\n /**\n * Tab index of the dropdown-item.\n * @returns string | number | null\n * @default '0'\n */\n readonly tabIndexInput = input<string | number | null>('0', { alias: 'tabIndex' });\n\n readonly tabIndex = linkedSignal({\n source: this.tabIndexInput,\n computation: (value) => (this.disabled ? '-1' : value)\n });\n\n focus(origin?: FocusOrigin | undefined): void {\n this.elementRef?.nativeElement?.focus();\n }\n\n getLabel?(): string {\n return this.elementRef?.nativeElement?.textContent.trim();\n }\n\n readonly ariaCurrent = computed(() => {\n return this.active() ? 'true' : null;\n });\n\n readonly hostClasses = computed(() => {\n return {\n 'dropdown-item': true,\n active: this.active(),\n disabled: this.disabled\n } as Record<string, boolean>;\n });\n\n onClick($event: MouseEvent): void {\n this.handleInteraction();\n }\n\n onKeyUp($event: KeyboardEvent): void {\n const target = $event.target as Element;\n if ($event.key === 'Enter' && !isEditableTarget(target) && !clicksOnEnter(target)) {\n this.handleInteraction();\n }\n }\n\n private handleInteraction(): void {\n if (this.autoClose()) {\n this.#dropdownService.toggle({ visible: 'toggle', dropdown: this.dropdown });\n }\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cDropdownItemPlain]',\n host: { class: 'dropdown-item-text' }\n})\nexport class DropdownItemPlainDirective {}\n","import { AfterViewInit, booleanAttribute, Directive, inject, input, linkedSignal } from '@angular/core';\nimport { DropdownService } from '../dropdown.service';\nimport { DropdownComponent } from '../dropdown/dropdown.component';\n\n@Directive({\n selector: '[cDropdownClose]',\n exportAs: 'cDropdownClose',\n host: {\n '[class.disabled]': 'disabled()',\n '[aria-disabled]': 'disabled() || null',\n '[attr.tabindex]': 'tabIndex()',\n '(click)': 'onClick($event)',\n '(keyup)': 'onKeyUp($event)'\n }\n})\nexport class DropdownCloseDirective implements AfterViewInit {\n #dropdownService = inject(DropdownService);\n dropdown? = inject(DropdownComponent, { optional: true });\n\n /**\n * Disables a dropdown-close directive.\n * @returns boolean\n * @default false\n */\n readonly disabledInput = input(false, { transform: booleanAttribute, alias: 'disabled' });\n\n readonly disabled = linkedSignal({\n source: this.disabledInput,\n computation: (value) => value || null\n });\n\n /**\n * The dropdown component instance this cDropdownClose belongs to.\n * @returns DropdownComponent\n */\n readonly dropdownComponent = input<DropdownComponent>();\n\n ngAfterViewInit(): void {\n const dropdownComponent = this.dropdownComponent();\n if (dropdownComponent) {\n this.dropdown = dropdownComponent;\n this.#dropdownService = dropdownComponent?.dropdownService;\n }\n }\n\n /**\n * Tab index of the dropdown-close element.\n * @returns string | number | null\n * @default null\n */\n readonly tabIndexInput = input<string | number | null>(null, { alias: 'tabIndex' });\n\n readonly tabIndex = linkedSignal({\n source: this.tabIndexInput,\n computation: (value) => (this.disabled() ? '-1' : value)\n });\n\n onClick($event: MouseEvent): void {\n this.handleToggle();\n }\n\n onKeyUp($event: KeyboardEvent): void {\n if ($event.key === 'Enter') {\n this.handleToggle();\n }\n }\n\n private handleToggle(): void {\n if (!this.disabled()) {\n this.#dropdownService.toggle({ visible: false, dropdown: this.dropdown });\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { DropdownComponent, DropdownToggleDirective } from './dropdown/dropdown.component';\nimport { DropdownDividerDirective } from './dropdown-divider/dropdown-divider.directive';\nimport { DropdownHeaderDirective } from './dropdown-header/dropdown-header.directive';\nimport { DropdownItemDirective } from './dropdown-item/dropdown-item.directive';\nimport { DropdownItemPlainDirective } from './dropdown-item/dropdown-item-plain.directive';\nimport { DropdownMenuDirective } from './dropdown-menu/dropdown-menu.directive';\nimport { DropdownService } from './dropdown.service';\nimport { DropdownCloseDirective } from './dropdown-close/dropdown-close.directive';\n\n@NgModule({\n imports: [\n DropdownComponent,\n DropdownCloseDirective,\n DropdownDividerDirective,\n DropdownHeaderDirective,\n DropdownItemDirective,\n DropdownItemPlainDirective,\n DropdownMenuDirective,\n DropdownToggleDirective\n ],\n exports: [\n DropdownComponent,\n DropdownCloseDirective,\n DropdownDividerDirective,\n DropdownHeaderDirective,\n DropdownItemDirective,\n DropdownItemPlainDirective,\n DropdownMenuDirective,\n DropdownToggleDirective\n ],\n providers: [DropdownService]\n})\nexport class DropdownModule {}\n","import { Component, computed, input, InputSignal } from '@angular/core';\n\nimport { Positions } from '../coreui.types';\n\n@Component({\n selector: 'c-footer, [cFooter]',\n template: '<ng-content />',\n host: {\n class: 'footer',\n '[class]': 'hostClasses()',\n '[attr.role]': 'role()'\n }\n})\nexport class FooterComponent {\n /**\n * Place footer in non-static positions\n * @returns Positions | undefined\n */\n readonly position = input<Positions | undefined>();\n\n /**\n * Default role for footer\n * @returns string\n * @default 'contentinfo'\n */\n readonly role = input<string>('contentinfo');\n\n readonly hostClasses = computed(() => {\n const position = this.position();\n return {\n footer: true,\n [`footer-${position}`]: !!position\n } as Record<string, boolean>;\n });\n}\n","import { NgModule } from '@angular/core';\n\nimport { FooterComponent } from './footer.component';\n\n@NgModule({\n imports: [FooterComponent],\n exports: [FooterComponent]\n})\nexport class FooterModule {}\n","import { booleanAttribute, Directive, input } from '@angular/core';\n\n@Directive({\n selector: 'form[cForm]',\n host: { '[class.was-validated]': 'validated()' }\n})\nexport class FormDirective {\n /**\n * Mark a form as validated. If you set it `true`, all validation styles will be applied to the form\n * @returns boolean\n * @default false\n */\n readonly validated = input(false, { transform: booleanAttribute });\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: 'label[cFormCheckLabel]',\n host: { class: 'form-check-label' }\n})\nexport class FormCheckLabelDirective {}\n","import { 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 /**\n * Group checkboxes or radios on the same horizontal row.\n * @default false\n */\n readonly inline = input(false, { transform: booleanAttribute });\n\n /**\n * Put checkboxes or radios on the opposite side.\n * @default false\n * @since 4.4.7\n */\n readonly reverse = input(false, { transform: booleanAttribute });\n\n /**\n * Size the component large or extra large. Works only with `[switch]=\"true\"`\n * @default undefined\n */\n readonly sizing = input<'' | 'lg' | 'xl'>();\n\n /**\n * Render a toggle switch on for checkbox.\n * @returns boolean\n * @default false\n */\n readonly switch = input(false, { transform: booleanAttribute });\n\n readonly formCheckLabel = contentChild(FormCheckLabelDirective);\n\n readonly hostClasses = computed(() => {\n const sizing = this.sizing();\n const isSwitch = this.switch();\n\n return {\n 'form-check': !!this.formCheckLabel(),\n 'form-switch': isSwitch,\n [`form-switch-${sizing}`]: isSwitch && !!sizing,\n 'form-check-inline': this.inline(),\n 'form-check-reverse': this.reverse()\n } as Record<string, boolean>;\n });\n}\n","import { booleanAttribute, computed, Directive, ElementRef, inject, input, OnInit } from '@angular/core';\n\nimport { InputType } from '../../coreui.types';\n\n@Directive({\n selector: 'input[cFormControl], textarea[cFormControl]',\n host: {\n '[class]': 'hostClasses()',\n '[attr.type]': 'type()'\n }\n})\nexport class FormControlDirective implements OnInit {\n readonly #hostElement = inject(ElementRef);\n\n /**\n * Size the component small or large.\n * @default undefined\n */\n readonly sizing = input<'' | 'sm' | 'lg'>();\n\n /**\n * Set component validation state to valid.\n * @default undefined\n */\n readonly valid = input<boolean>();\n\n /**\n * Specifies the type of input element.\n */\n readonly type = input<Omit<InputType, 'checkbox' | 'radio'>>('text');\n\n /**\n * Render the component styled as plain text. Removes the default form field styling and preserve the correct margin and padding. Recommend to use alongside `readonly`\n * @default false\n */\n readonly plaintext = input(false, { transform: booleanAttribute });\n\n readonly hostClasses = computed(() => {\n const type = this.type();\n const isRange = type === 'range';\n const plaintext = this.plaintext();\n const sizing = this.sizing();\n const valid = this.valid();\n\n return {\n 'form-control': !isRange && !plaintext,\n 'form-control-plaintext': !isRange && plaintext,\n 'form-control-color': type === 'color',\n 'form-range': isRange,\n [`form-control-${sizing}`]: !!sizing && !isRange,\n 'is-valid': valid === true,\n 'is-invalid': valid === false\n } as Record<string, boolean>;\n });\n\n get hostTag(): string {\n return this.#hostElement.nativeElement.tagName;\n }\n\n ngOnInit(): void {\n const hostTag = this.hostTag.toLowerCase();\n if (hostTag !== 'input' && hostTag !== 'textarea') {\n console.warn(`CoreUI [cFormControl] works with '<input>' and '<textarea>' - not with '<${hostTag}>'`);\n }\n }\n}\n","import {\n booleanAttribute,\n computed,\n Directive,\n effect,\n ElementRef,\n inject,\n input,\n linkedSignal,\n Renderer2\n} from '@angular/core';\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 readonly #renderer = inject(Renderer2);\n readonly #hostElement = inject(ElementRef);\n\n /**\n * Specifies the type of component.\n * @default 'checkbox'\n */\n readonly type = input<'checkbox' | 'radio'>('checkbox');\n\n /**\n * Set component indeterminate state.\n * @default false\n */\n readonly indeterminateInput = input(false, { transform: booleanAttribute, alias: 'indeterminate' });\n\n readonly #indeterminate = linkedSignal(this.indeterminateInput);\n\n readonly #indeterminateEffect = effect(() => {\n if (this.type() === 'checkbox') {\n const indeterminate = this.#indeterminate();\n const htmlInputElement = this.#hostElement.nativeElement as HTMLInputElement;\n if (indeterminate) {\n this.#renderer.setProperty(htmlInputElement, 'checked', false);\n }\n this.#renderer.setProperty(htmlInputElement, 'indeterminate', indeterminate);\n }\n });\n\n get indeterminate() {\n return this.#indeterminate();\n }\n\n /**\n * Set component validation state to valid.\n * @default undefined\n */\n readonly valid = input<boolean>();\n\n readonly hostClasses = computed(() => {\n const valid = this.valid();\n return {\n 'form-check-input': true,\n 'is-valid': valid === true,\n 'is-invalid': valid === false\n } as Record<string, boolean>;\n });\n\n get checked(): boolean {\n return this.#hostElement?.nativeElement?.checked;\n }\n}\n","import { booleanAttribute, Component, computed, input } from '@angular/core';\n\n@Component({\n selector: 'c-form-feedback',\n template: '<ng-content />',\n host: { '[class]': 'hostClasses()' }\n})\nexport class FormFeedbackComponent {\n /**\n * If your form layout allows it, you can display validation feedback in a styled tooltip.\n * @default false\n */\n readonly tooltip = input(false, { transform: booleanAttribute });\n\n /**\n * Set component validation state to valid.\n * @default undefined\n */\n readonly valid = input<boolean>();\n\n readonly hostClasses = computed(() => {\n const status = this.valid() === true ? 'valid' : 'invalid';\n const type = this.tooltip() ? 'tooltip' : 'feedback';\n return {\n [`${status}-${type}`]: true\n // 'valid-feedback': valid === true && !tooltip,\n // 'valid-tooltip': valid === true && tooltip,\n // 'invalid-feedback': valid !== true && !tooltip,\n // 'invalid-tooltip': valid !== true && tooltip\n } as Record<string, boolean>;\n });\n}\n","import { booleanAttribute, Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[cFormFloating]',\n host: { '[class.form-floating]': 'floating()' }\n})\nexport class FormFloatingDirective {\n /**\n * Enable floating labels\n * @returns boolean\n * @default true\n */\n readonly floating = input(true, { transform: booleanAttribute, alias: 'cFormFloating' });\n}\n","import { computed, Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[cLabel]',\n host: { class: 'form-label', '[class]': 'hostClasses()' }\n})\nexport class FormLabelDirective {\n /**\n * For horizontal forms set labels to 'col' and make them vertically centered with their associated form controls.\n * @default ''\n */\n readonly col = input<'col' | ''>('', { alias: 'cLabel' });\n /**\n * Size the label small or large.\n * @returns '' | 'sm' | 'lg'\n * @default undefined\n */\n readonly sizing = input<'' | 'sm' | 'lg'>();\n\n readonly hostClasses = computed(() => {\n const col = this.col();\n const sizing = this.sizing();\n return {\n 'form-label': true,\n 'col-form-label': col === 'col',\n [`col-form-label-${sizing}`]: !!sizing && col === 'col'\n } as Record<string, boolean>;\n });\n}\n","import { computed, Directive, input } from '@angular/core';\n\n@Directive({\n selector: 'select[cSelect]',\n host: { class: 'form-select', '[class]': 'hostClasses()' }\n})\nexport class FormSelectDirective {\n /**\n * Size the component small or large.\n * @default undefined\n */\n readonly sizing = input<'' | 'sm' | 'lg'>();\n\n /**\n * Set component validation state to valid.\n * @default undefined\n */\n readonly valid = input<boolean>();\n\n readonly hostClasses = computed(() => {\n const sizing = this.sizing();\n const valid = this.valid();\n return {\n 'form-select': true,\n [`form-select-${sizing}`]: !!sizing,\n 'is-valid': valid === true,\n 'is-invalid': valid === false\n } as Record<string, boolean>;\n });\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cFormText]',\n host: { class: 'form-text' }\n})\nexport class FormTextDirective {}\n","import { Component, computed, input } from '@angular/core';\n\n@Component({\n selector: 'c-input-group',\n template: '<ng-content />',\n host: { class: 'input-group', '[class]': 'hostClasses()' }\n})\nexport class InputGroupComponent {\n /**\n * Size the component small or large.\n */\n readonly sizing = input<'' | 'sm' | 'lg'>();\n\n readonly hostClasses = computed(() => {\n const sizing = this.sizing();\n return {\n 'input-group': true,\n [`input-group-${sizing}`]: !!sizing\n } as Record<string, boolean>;\n });\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cInputGroupText]',\n host: { class: 'input-group-text' }\n})\nexport class InputGroupTextDirective {}\n","import { NgModule } from '@angular/core';\nimport { FormDirective } from './form/form.directive';\nimport { FormControlDirective } from './form-control/form-control.directive';\nimport { FormCheckComponent } from './form-check/form-check.component';\nimport { FormCheckLabelDirective } from './form-check/form-check-label.directive';\nimport { FormCheckInputDirective } from './form-check/form-check-input.directive';\nimport { FormFeedbackComponent } from './form-feedback/form-feedback.component';\nimport { FormFloatingDirective } from './form-floating/form-floating.directive';\nimport { FormLabelDirective } from './form-label/form-label.directive';\nimport { FormSelectDirective } from './form-select/form-select.directive';\nimport { FormTextDirective } from './form-text/form-text.directive';\nimport { InputGroupComponent } from './input-group/input-group.component';\nimport { InputGroupTextDirective } from './input-group-text/input-group-text.directive';\n\n@NgModule({\n imports: [\n FormDirective,\n FormCheckComponent,\n FormCheckLabelDirective,\n FormCheckInputDirective,\n FormControlDirective,\n FormFeedbackComponent,\n FormFloatingDirective,\n FormLabelDirective,\n FormSelectDirective,\n FormTextDirective,\n InputGroupComponent,\n InputGroupTextDirective\n ],\n exports: [\n FormDirective,\n FormCheckComponent,\n FormCheckLabelDirective,\n FormCheckInputDirective,\n FormControlDirective,\n FormFeedbackComponent,\n FormFloatingDirective,\n FormLabelDirective,\n FormSelectDirective,\n FormTextDirective,\n InputGroupComponent,\n InputGroupTextDirective\n ]\n})\nexport class FormModule {}\n","import { booleanAttribute, Component, computed, input } from '@angular/core';\nimport { Breakpoints } from '../coreui.types';\n\n@Component({\n selector: 'c-container, [cContainer]',\n template: '<ng-content />',\n styleUrls: ['./container.component.scss'],\n host: { '[class]': 'hostClasses()' }\n})\nexport class ContainerComponent {\n /**\n * Set container 100% wide until a breakpoint.\n * @returns Exclude<Breakpoints, 'xs'>\n * @values 'sm' | 'md' | 'lg' | 'xl' | 'xxl'\n * @default ''\n */\n readonly breakpoint = input<Exclude<Breakpoints, 'xs'>>('');\n\n /**\n * Set container 100% wide, spanning the entire width of the viewport.\n * @returns boolean\n * @default false\n */\n readonly fluid = input(false, { transform: booleanAttribute });\n\n readonly hostClasses = computed(() => {\n const breakpoint = this.breakpoint();\n const fluid = this.fluid();\n return {\n container: !fluid && !breakpoint,\n 'container-fluid': !!fluid,\n [`container-${breakpoint}`]: !!breakpoint\n } as Record<string, boolean>;\n });\n}\n","import { booleanAttribute, computed, Directive, input, numberAttribute } from '@angular/core';\nimport { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport { BreakpointInfix } from '../coreui.types';\nimport { ColOrder } from './col.type';\n\nexport type ColOffsetType = number | { xs?: number; sm?: number; md?: number; lg?: number; xl?: number; xxl?: number };\nexport type ColOrderType =\n | ColOrder\n | { xs?: ColOrder; sm?: ColOrder; md?: ColOrder; lg?: ColOrder; xl?: ColOrder; xxl?: ColOrder };\n\n@Directive({\n selector: '[cCol]',\n host: {\n '[class]': 'hostClasses()'\n }\n})\nexport class ColDirective {\n /**\n * The number of columns/offset/order on extra small devices (<576px).\n * @returns 'auto' | number | boolean\n * @default false\n */\n readonly cCol = input(false, { transform: this.coerceInput });\n\n /**\n * The number of columns on extra small devices (<576px).\n * @returns { 'auto' | number | boolean }\n * @default false\n */\n readonly xs = input(false, { transform: this.coerceInput });\n\n /**\n * The number of columns/offset/order on small devices (<768px).\n * @returns 'auto' | number | boolean\n * @default false\n */\n readonly sm = input(false, { transform: this.coerceInput });\n\n /**\n * The number of columns/offset/order on medium devices (<992px).\n * @returns 'auto' | number | boolean\n * @default false\n */\n readonly md = input(false, { transform: this.coerceInput });\n\n /**\n * The number of columns/offset/order on large devices (<1200px).\n * @returns 'auto' | number | boolean\n * @default false\n */\n readonly lg = input(false, { transform: this.coerceInput });\n\n /**\n * The number of columns/offset/order on X-Large devices (<1400px).\n * @returns 'auto' | number | boolean\n * @default false\n */\n readonly xl = input(false, { transform: this.coerceInput });\n\n /**\n * The number of columns/offset/order on XX-Large devices (≥1400px).\n * @returns 'auto' | number | boolean\n * @default false\n */\n readonly xxl = input(false, { transform: this.coerceInput });\n\n readonly breakpoints = computed(() => {\n return {\n xs: this.xs() || this.cCol(),\n sm: this.sm(),\n md: this.md(),\n lg: this.lg(),\n xl: this.xl(),\n xxl: this.xxl()\n } as Record<string, any>;\n });\n\n /**\n * Offset grid columns.\n * @returns ColOffsetType\n */\n readonly offset = input<ColOffsetType>();\n\n /**\n * Controls the visual order of your columns. Includes support for `1` through `5` across all breakpoints.\n * @returns ColOrderType\n */\n readonly order = input<ColOrderType>();\n\n readonly hostClasses = computed(() => {\n const classes: Record<string, boolean> = {\n col: true\n };\n\n const breakpoints = this.breakpoints();\n const offsetInput = this.offset();\n const orderInput = this.order();\n\n Object.keys(BreakpointInfix).forEach((breakpoint) => {\n const value = breakpoints[breakpoint];\n const infix = breakpoint === 'xs' ? '' : `-${breakpoint}`;\n classes[`col${infix}`] = value === true;\n classes[`col${infix}-${value}`] = typeof value === 'number' || typeof value === 'string';\n });\n\n if (typeof offsetInput === 'object') {\n const offset = { ...offsetInput };\n Object.entries(offset).forEach((entry) => {\n const [breakpoint, value] = [...entry];\n const infix = breakpoint === 'xs' ? '' : `-${breakpoint}`;\n classes[`offset${infix}-${value}`] = value >= 0 && value <= 11;\n });\n } else {\n const offset = numberAttribute(offsetInput);\n classes[`offset-${offset}`] = typeof offset === 'number' && offset > 0 && offset <= 11;\n }\n\n if (typeof orderInput === 'object') {\n const order = { ...orderInput };\n Object.entries(order).forEach((entry) => {\n const [breakpoint, value] = [...entry];\n const infix = breakpoint === 'xs' ? '' : `-${breakpoint}`;\n classes[`order${infix}-${value}`] = !!value;\n });\n } else {\n const order = orderInput;\n classes[`order-${order}`] = !!order;\n }\n\n // if there is no 'col' class, add one\n classes['col'] =\n !Object.entries(classes).filter((i) => i[0].startsWith('col-') && i[1]).length || breakpoints['xs'] === true;\n return classes as Record<string, boolean>;\n });\n\n coerceInput(value: BooleanInput | NumberInput) {\n if (value === 'auto') {\n return value;\n }\n if (value === '' || value === undefined || value === null) {\n return booleanAttribute(value);\n }\n if (typeof value === 'boolean') {\n return value;\n }\n return numberAttribute(value);\n }\n}\n","import { Component } from '@angular/core';\n\nimport { ColDirective } from './col.directive';\n\n@Component({\n selector: 'c-col',\n template: '<ng-content />',\n styleUrls: ['./col.component.scss']\n})\nexport class ColComponent extends ColDirective {}\n","import { computed, Directive, input } from '@angular/core';\n\nimport { BreakpointInfix } from '../coreui.types';\nimport { NumberOfColumns } from './row.type';\n\n@Directive({\n selector: '[cRow]',\n host: {\n class: 'row',\n '[class]': 'hostClasses()'\n }\n})\nexport class RowDirective {\n /**\n * The number of columns/offset/order on extra small devices (<576px).\n * @returns NumberOfColumns\n */\n readonly xs = input<NumberOfColumns>();\n\n /**\n * The number of columns/offset/order on small devices (<768px).\n * @returns NumberOfColumns\n */\n readonly sm = input<NumberOfColumns>();\n\n /**\n * The number of columns/offset/order on medium devices (<992px).\n * @returns NumberOfColumns\n */\n readonly md = input<NumberOfColumns>();\n\n /**\n * The number of columns/offset/order on large devices (<1200px).\n * @returns NumberOfColumns\n */\n readonly lg = input<NumberOfColumns>();\n\n /**\n * The number of columns/offset/order on X-Large devices (<1400px).\n * @returns NumberOfColumns\n */\n readonly xl = input<NumberOfColumns>();\n\n /**\n * The number of columns/offset/order on XX-Large devices (≥1400px).\n * @returns NumberOfColumns\n */\n readonly xxl = input<NumberOfColumns>();\n\n readonly hostClasses = computed(() => {\n const cols = this.xs();\n\n const classes: Record<string, boolean> = {\n row: true,\n [`row-cols-${cols}`]: !!cols\n };\n\n Object.keys(BreakpointInfix).forEach((breakpoint) => {\n // @ts-ignore\n const value: any = this[breakpoint]();\n if (typeof value === 'number' || typeof value === 'string') {\n const infix: string = breakpoint === 'xs' ? '' : `-${breakpoint}`;\n classes[`row-cols${infix}-${value}`] = !!value;\n }\n });\n\n return classes;\n });\n}\n","import { Component } from '@angular/core';\n\nimport { RowDirective } from './row.directive';\n\n@Component({\n selector: 'c-row',\n template: '<ng-content />'\n})\nexport class RowComponent extends RowDirective {}\n","import { computed, Directive, input } from '@angular/core';\n\nimport { BreakpointInfix } from '../coreui.types';\nimport { GutterBreakpoints, Gutters, IGutter, IGutterObject } from './gutter.type';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[gutter]',\n exportAs: 'gutter',\n host: {\n '[class]': 'hostClasses()'\n }\n})\nexport class GutterDirective implements IGutter {\n /**\n * Define padding between columns to space and align content responsively in the Bootstrap grid system.\n */\n readonly gutter = input<IGutterObject | GutterBreakpoints | Gutters>({});\n\n readonly hostClasses = computed(() => {\n let gutterClass: Record<string, boolean>;\n const gutterInput = this.gutter();\n\n if (typeof gutterInput === 'number') {\n gutterClass = GutterDirective.getGutterClasses({ g: gutterInput });\n return gutterClass;\n }\n\n {\n const { g, gx, gy } = { ...(gutterInput as IGutterObject) };\n gutterClass = GutterDirective.getGutterClasses({ g, gx, gy });\n }\n\n Object.keys(BreakpointInfix).forEach((key) => {\n // @ts-ignore\n const gutter: IGutterObject = gutterInput[key] ? { ...gutterInput[key] } : undefined;\n if (gutter) {\n const classes = GutterDirective.getGutterClasses(gutter, key);\n gutterClass = { ...gutterClass, ...classes };\n }\n });\n return gutterClass;\n });\n\n private static getGutterClasses(gutter: IGutterObject, breakpoint?: string): any {\n const { g, gx, gy } = { ...gutter };\n const infix = breakpoint ? `-${breakpoint}` : '';\n return {\n [`g${infix}-${g}`]: typeof g === 'number',\n [`gx${infix}-${gx}`]: typeof gx === 'number',\n [`gy${infix}-${gy}`]: typeof gy === 'number'\n };\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { ContainerComponent } from './container.component';\nimport { RowComponent } from './row.component';\nimport { ColComponent } from './col.component';\nimport { RowDirective } from './row.directive';\nimport { ColDirective } from './col.directive';\nimport { GutterDirective } from './gutter.directive';\n\n@NgModule({\n imports: [\n ColComponent,\n ColDirective,\n ContainerComponent,\n GutterDirective,\n RowComponent,\n RowDirective\n ],\n exports: [\n ColComponent,\n ColDirective,\n ContainerComponent,\n GutterDirective,\n RowComponent,\n RowDirective\n ]\n})\nexport class GridModule {}\n","import { Component, computed, input, InputSignal } from '@angular/core';\n\nimport { Positions } from '../../coreui.types';\n\ntype Container = boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'fluid';\n\n@Component({\n selector: 'c-header, [c-header]',\n templateUrl: './header.component.html',\n exportAs: 'cHeader',\n host: { '[attr.role]': 'role()', '[class]': 'hostClasses()' }\n})\nexport class HeaderComponent {\n /**\n * Defines optional container wrapping children elements\n * @returns Container\n */\n readonly container = input<Container>();\n /**\n * Place header in non-static positions\n * @returns Positions\n */\n readonly position = input<Positions>();\n /**\n * Default role for header\n * @returns string\n * @default 'banner'\n */\n readonly role = input('banner');\n\n readonly hostClasses = computed(() => {\n return !!this.container() ? this.containerClasses() : this.headerClasses();\n });\n\n readonly headerClasses = computed(() => {\n const position = this.position();\n return {\n header: true,\n [`header-${position}`]: !!position\n } as Record<string, boolean>;\n });\n\n readonly containerClasses = computed(() => {\n const container = this.container();\n return {\n container: container === true,\n [`container-${container}`]: typeof container === 'string'\n } as Record<string, boolean>;\n });\n}\n","@if (!!container()) {\n <div [class]=\"headerClasses()\">\n <ng-content />\n </div>\n} @else {\n <ng-content />\n}\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'c-header-brand',\n template: '<ng-content />',\n exportAs: 'cHeaderBrand',\n host: {\n '[attr.role]': 'role()',\n class: 'header-brand'\n }\n})\nexport class HeaderBrandComponent {\n /**\n * Default role for header-brand\n * @returns string\n * @default 'button'\n */\n readonly role = input('button');\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-header-divider, [cHeaderDivider]',\n template: ``,\n host: {\n class: 'header-divider'\n }\n})\nexport class HeaderDividerComponent {}\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'c-header-nav',\n template: '<ng-content />',\n styleUrls: ['./header-nav.component.scss'],\n exportAs: 'cHeaderNav',\n host: {\n '[attr.role]': 'role()',\n class: 'header-nav'\n }\n})\nexport class HeaderNavComponent {\n /**\n * Default role for header-nav\n * @returns string\n * @default 'navigation'\n */\n readonly role = input('navigation');\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-header-text, [cHeaderText]',\n template: '<ng-content />',\n host: {\n class: 'header-text'\n }\n})\nexport class HeaderTextComponent {}\n","import { AfterContentInit, Directive, ElementRef, inject, input, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[cHeaderToggler]',\n exportAs: 'cHeaderToggler',\n host: {\n '[attr.type]': 'type()',\n '[aria-label]': 'ariaLabel()',\n class: 'header-toggler'\n }\n})\nexport class HeaderTogglerDirective implements AfterContentInit {\n readonly #renderer = inject(Renderer2);\n readonly #hostElement = inject(ElementRef);\n\n /**\n * Default type for header-toggler button\n * @returns string\n * @default 'button'\n */\n readonly type = input('button');\n\n /**\n * Default aria-label attr for header-toggler\n * @returns string\n * @default 'Toggle navigation'\n */\n readonly ariaLabel = input('Toggle navigation');\n\n addDefaultIcon(): void {\n const span = this.#renderer.createElement('span');\n this.#renderer.addClass(span, 'header-toggler-icon');\n this.#renderer.appendChild(this.#hostElement.nativeElement, span);\n }\n\n ngAfterContentInit(): void {\n const hasContent = this.#hostElement.nativeElement.childNodes.length > 0;\n if (!hasContent) {\n this.addDefaultIcon();\n }\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { HeaderComponent } from './header/header.component';\nimport { HeaderBrandComponent } from './header-brand/header-brand.component';\nimport { HeaderDividerComponent } from './header-divider/header-divider.component';\nimport { HeaderNavComponent } from './header-nav/header-nav.component';\nimport { HeaderTextComponent } from './header-text/header-text.component';\nimport { HeaderTogglerDirective } from './header-toggler/header-toggler.directive';\n\n@NgModule({\n imports: [\n HeaderComponent,\n HeaderBrandComponent,\n HeaderDividerComponent,\n HeaderNavComponent,\n HeaderTextComponent,\n HeaderTogglerDirective\n ],\n exports: [\n HeaderComponent,\n HeaderBrandComponent,\n HeaderDividerComponent,\n HeaderNavComponent,\n HeaderTextComponent,\n HeaderTogglerDirective\n ]\n})\nexport class HeaderModule {}\n","import { booleanAttribute, computed, Directive, input, InputSignal, InputSignalWithTransform } from '@angular/core';\n\n@Directive({\n selector: '[cImg]',\n host: {\n '[class]': 'hostClasses()',\n '[style]': 'hostStyles()'\n }\n})\nexport class ImgDirective {\n /**\n * Set the horizontal aligment.\n * @returns {'' | 'start' | 'end' | 'center'}\n */\n readonly align: InputSignal<'' | 'start' | 'end' | 'center'> = input<'' | 'start' | 'end' | 'center'>('');\n\n /**\n * Make image responsive.\n * @returns boolean\n */\n readonly fluid: InputSignalWithTransform<boolean, unknown> = input(false, { transform: booleanAttribute });\n\n /**\n * Make image rounded.\n * @returns boolean\n */\n readonly rounded: InputSignalWithTransform<boolean, unknown> = input(false, { transform: booleanAttribute });\n\n /**\n * Give an image a rounded 1px border appearance.\n * @returns boolean\n */\n readonly thumbnail: InputSignalWithTransform<boolean, unknown> = input(false, { transform: booleanAttribute });\n\n /**\n * Color for image placeholder.\n */\n readonly placeholderColor = input('transparent');\n\n readonly hostStyles = computed(() => {\n return { backgroundColor: this.placeholderColor() };\n });\n\n readonly hostClasses = computed(() => {\n const align = this.align();\n return {\n [`float-${align}`]: align === 'start' || align === 'end',\n 'd-block': align === 'center',\n 'mx-auto': align === 'center',\n 'img-fluid': this.fluid(),\n rounded: this.rounded(),\n 'img-thumbnail': this.thumbnail()\n } as Record<string, boolean>;\n });\n}\n","import { NgModule } from '@angular/core';\nimport { ImgDirective } from './img.directive';\n\n@NgModule({\n imports: [ImgDirective],\n exports: [ImgDirective]\n})\nexport class ImgModule {}\n","import { booleanAttribute, computed, Directive, input, InputSignalWithTransform } from '@angular/core';\nimport { 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 /**\n * Remove some borders and rounded corners to render list group items edge-to-edge in a parent component (e.g., `<CCard>`).\n * @returns boolean\n */\n readonly flush: InputSignalWithTransform<boolean, unknown> = input(false, { transform: booleanAttribute });\n\n /**\n * Specify horizontal layout type.\n */\n readonly horizontal = input<boolean | Sizes>();\n\n readonly hostClasses = computed(() => {\n const horizontal = this.horizontal();\n return {\n 'list-group': true,\n 'list-group-horizontal': horizontal === true || horizontal === '',\n [`list-group-horizontal-${horizontal}`]: !!horizontal && typeof horizontal !== 'boolean',\n 'list-group-flush': this.flush()\n } as Record<string, boolean>;\n });\n}\n","import {\n booleanAttribute,\n computed,\n Directive,\n ElementRef,\n inject,\n input,\n InputSignal,\n InputSignalWithTransform,\n numberAttribute\n} from '@angular/core';\nimport { Colors } from '../coreui.types';\n\n@Directive({\n selector: '[cListGroupItem], c-list-group-item',\n exportAs: 'cListGroupItem',\n host: {\n '[class]': 'hostClasses()',\n '[aria-disabled]': 'ariaDisabled()',\n '[aria-current]': 'ariaCurrent()',\n '[attr.disabled]': 'attrDisabled()',\n '[attr.tabindex]': 'tabIndex()'\n }\n})\nexport class ListGroupItemDirective {\n readonly hostElement = inject(ElementRef);\n\n /**\n * Toggle the active state for the component.\n * @returns boolean\n */\n readonly active = input(false, { transform: booleanAttribute });\n\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors | undefined\n */\n readonly color = input<Colors | undefined>();\n\n /**\n * Set disabled attr for the host element\n * @returns boolean\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n /**\n * The tabindex attribute specifies the tab order of an element (when the \"tab\" button is used for navigating).\n * @returns number | undefined\n */\n readonly tabindex = input(undefined, { transform: numberAttribute });\n\n readonly hostClasses = computed(() => {\n const host: HTMLElement = this.hostElement.nativeElement;\n const color = this.color();\n\n return {\n 'list-group-item': true,\n 'list-group-item-action': host.nodeName === 'A' || host.nodeName === 'BUTTON',\n active: this.active(),\n disabled: this._disabled(),\n [`list-group-item-${color}`]: !!color\n } as Record<string, boolean>;\n });\n\n readonly _disabled = computed(() => this.disabled());\n\n readonly ariaDisabled = computed(() => {\n return this._disabled() ? true : null;\n });\n\n readonly attrDisabled = computed(() => {\n return this._disabled() ? '' : null;\n });\n\n readonly tabIndex = computed(() => {\n const tabindex = this.tabindex();\n return this._disabled() ? '-1' : Number.isNaN(tabindex) ? null : (tabindex ?? null);\n });\n\n readonly ariaCurrent = computed(() => {\n return this.active() || null;\n });\n}\n","import { NgModule } from '@angular/core';\n\nimport { ListGroupDirective } from './list-group.directive';\nimport { ListGroupItemDirective } from './list-group-item.directive';\n\n@NgModule({\n exports: [ListGroupDirective, ListGroupItemDirective],\n imports: [ListGroupDirective, ListGroupItemDirective]\n})\nexport class ListGroupModule {}\n","import { Injectable, signal } from '@angular/core';\n\n@Injectable()\nexport class NavGroupService {\n /**\n * Id of the open group at this level, `undefined` when none is open.\n */\n readonly activeId = signal<string | undefined>(undefined);\n\n /**\n * Whether an active nav link opens the branch it sits in. Inherited by nested levels.\n */\n readonly openOnActive = signal(true);\n\n /**\n * Opens the level owner within its own parent and cascades up to the root.\n * Replaced by the owning `c-nav-group`; stays a no-op for the root level.\n */\n openBranch: () => void = () => undefined;\n\n setActiveId(id: string | undefined): void {\n this.activeId.set(id);\n }\n}\n","import {\n afterNextRender,\n booleanAttribute,\n computed,\n Directive,\n effect,\n ElementRef,\n inject,\n input,\n numberAttribute,\n OnDestroy,\n signal,\n untracked\n} from '@angular/core';\nimport { NavGroupService } from './nav-group.service';\n\nconst DISABLED_ATTR_ELEMENTS = new Set(['button', 'fieldset', 'input', 'optgroup', 'option', 'select', 'textarea']);\n\n@Directive({\n selector: '[cNavLink]',\n host: {\n '[class]': 'hostClasses()',\n '[aria-current]': 'ariaCurrent()',\n '[aria-disabled]': 'ariaDisabled()',\n '[attr.disabled]': 'attrDisabled()',\n '[attr.tabindex]': 'attrTabindex()'\n }\n})\nexport class NavLinkDirective implements OnDestroy {\n readonly #hostElement = inject(ElementRef);\n readonly #navGroupService = inject(NavGroupService, { optional: true });\n\n #classObserver?: MutationObserver;\n\n constructor() {\n afterNextRender({\n read: () => {\n this.#observeActiveClass();\n }\n });\n }\n\n /**\n * Sets .nav-link class to the host\n * @returns boolean\n * @default true\n */\n readonly cNavLink = input(true, { transform: booleanAttribute });\n\n /**\n * Toggle the active state for the component\n * @returns boolean\n * @default undefined\n */\n readonly active = input<boolean>();\n\n /**\n * Set disabled attr for the host element\n * @returns boolean\n * @default false\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n /**\n * The tabindex attribute specifies the tab order of an element (when the \"tab\" button is used for navigating).\n * @returns number | undefined\n */\n readonly tabindex = input(undefined, { transform: numberAttribute });\n\n readonly ariaCurrent = computed(() => {\n return this.active() ? 'page' : null;\n });\n\n protected ariaDisabled = signal<boolean | null>(null);\n protected attrDisabled = signal<boolean | string | null>(null);\n protected attrTabindex = signal<number | null>(null);\n\n readonly #disabledEffect = effect(() => {\n const disabled = this.disabled();\n const tabindex = this.tabindex();\n const disabledAttrElement = DISABLED_ATTR_ELEMENTS.has(this.#tagName);\n this.ariaDisabled.set((disabled && !disabledAttrElement) || null);\n this.attrDisabled.set(disabled && disabledAttrElement ? '' : null);\n this.attrTabindex.set(disabled && !disabledAttrElement ? -1 : Number.isNaN(tabindex) ? null : (tabindex ?? null));\n });\n\n readonly #activeEffect = effect(() => {\n if (this.active()) {\n untracked(() => {\n this.#openBranch();\n });\n }\n });\n\n readonly hostClasses = computed(() => {\n return {\n 'nav-link': this.cNavLink(),\n disabled: this.disabled(),\n active: this.active()\n } as Record<string, boolean>;\n });\n\n get #tagName(): string {\n return (this.#hostElement.nativeElement as HTMLElement).tagName.toLowerCase();\n }\n\n ngOnDestroy(): void {\n this.#classObserver?.disconnect();\n }\n\n #openBranch(): void {\n if (this.#navGroupService?.openOnActive()) {\n this.#navGroupService.openBranch();\n }\n }\n\n #observeActiveClass(): void {\n const host: HTMLElement = this.#hostElement.nativeElement;\n\n if (!this.#navGroupService) {\n return;\n }\n\n let wasActive = host.classList.contains('active');\n if (wasActive) {\n this.#openBranch();\n }\n\n this.#classObserver = new MutationObserver(() => {\n const active = host.classList.contains('active');\n if (active && !wasActive) {\n this.#openBranch();\n }\n wasActive = active;\n });\n this.#classObserver.observe(host, { attributes: true, attributeFilter: ['class'] });\n }\n}\n","import { booleanAttribute, Component, computed, input } from '@angular/core';\n\n@Component({\n selector: 'c-nav-group-items',\n template: '<ng-content />',\n styleUrls: ['./nav-group-items.component.scss'],\n host: { '[class]': 'hostClasses()' }\n})\nexport class NavGroupItemsComponent {\n /**\n * Make nav group items more compact by cutting all `padding` in half.\n * @returns boolean\n * @default false\n */\n readonly compact = input(false, { transform: booleanAttribute });\n\n readonly hostClasses = computed(() => {\n return {\n 'nav-group-items': true,\n compact: this.compact()\n } as Record<string, boolean>;\n });\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n Component,\n computed,\n effect,\n inject,\n input,\n linkedSignal,\n output,\n signal,\n TemplateRef,\n untracked\n} from '@angular/core';\n\nimport { CollapseDirective } from '../collapse';\nimport { NavGroupItemsComponent } from './nav-group-items.component';\nimport { NavGroupService } from './nav-group.service';\n\nlet nextId = 0;\n\n@Component({\n selector: 'c-nav-group',\n templateUrl: './nav-group.component.html',\n styleUrls: ['./nav-group.component.scss'],\n imports: [CollapseDirective, NavGroupItemsComponent, NgTemplateOutlet],\n providers: [NavGroupService],\n host: { '[class]': 'hostClasses()' }\n})\nexport class NavGroupComponent {\n readonly #navGroupService = inject(NavGroupService);\n readonly #parentNavGroupService = inject(NavGroupService, { optional: true, skipSelf: true });\n\n readonly #id = `nav-group-${nextId++}`;\n\n constructor() {\n this.#navGroupService.openBranch = () => {\n this.openBranch();\n };\n }\n\n /**\n * Make nav group items more compact by cutting all `padding` in half.\n * @returns boolean\n * @default false\n */\n readonly compact = input(false, { transform: booleanAttribute });\n\n /**\n * Set group toggler label.\n * @returns string\n */\n readonly toggler = input<string>();\n\n /**\n * Template for the group toggler content, receives the visible state as `$implicit`.\n * @returns TemplateRef<{ $implicit: boolean; visible: boolean }>\n */\n readonly togglerTemplate = input<TemplateRef<{ $implicit: boolean; visible: boolean }>>();\n\n /**\n * Show nav group items. Sets the initial state, and follows every later change.\n * @returns boolean | undefined\n */\n readonly visible = input<boolean | undefined, unknown>(undefined, { transform: booleanAttribute });\n\n /**\n * Event emitted on visibility change.\n * @returns boolean\n */\n readonly visibleChange = output<boolean>();\n\n readonly #uncontrolledVisible = signal(false);\n\n readonly visibleState = computed(() => {\n const parent = this.#parentNavGroupService;\n return parent ? parent.activeId() === this.#id : this.#uncontrolledVisible();\n });\n\n // the group drops `show` in the same pass, hiding the items before cCollapse can measure them\n readonly display = linkedSignal<boolean, string | null>({\n source: this.visibleState,\n computation: (visible, previous) => (previous?.source && !visible ? 'block' : null)\n });\n\n readonly hostClasses = computed(() => {\n return {\n 'nav-group': true,\n show: this.visibleState()\n } as Record<string, boolean>;\n });\n\n readonly #visibleEffect = effect(() => {\n const visible = this.visible();\n if (visible === undefined) {\n return;\n }\n untracked(() => {\n this.#setVisible(visible);\n });\n });\n\n readonly #openOnActiveEffect = effect(() => {\n const openOnActive = this.#parentNavGroupService?.openOnActive() ?? true;\n untracked(() => {\n this.#navGroupService.openOnActive.set(openOnActive);\n });\n });\n\n toggleGroup(event: Event): void {\n event.preventDefault();\n const next = !this.visibleState();\n this.#setVisible(next);\n this.visibleChange.emit(next);\n }\n\n openBranch(): void {\n const parent = this.#parentNavGroupService;\n if (!parent) {\n this.#uncontrolledVisible.set(true);\n return;\n }\n parent.setActiveId(this.#id);\n parent.openBranch();\n }\n\n onCollapseChange(state: string): void {\n this.display.set(state === 'collapsed' || state === 'open' ? null : 'block');\n }\n\n #setVisible(visible: boolean): void {\n const parent = this.#parentNavGroupService;\n if (!parent) {\n this.#uncontrolledVisible.set(visible);\n return;\n }\n if (visible) {\n parent.setActiveId(this.#id);\n return;\n }\n if (parent.activeId() === this.#id) {\n parent.setActiveId(undefined);\n }\n }\n}\n","@if (toggler() || togglerTemplate()) {\n <a\n (click)=\"toggleGroup($event)\"\n [aria-expanded]=\"visibleState()\"\n class=\"nav-link nav-group-toggle\"\n href\n >\n @if (togglerTemplate(); as template) {\n <ng-container\n *ngTemplateOutlet=\"template; context: { $implicit: visibleState(), visible: visibleState() }\"\n />\n } @else {\n {{ toggler() }}\n }\n </a>\n}\n<c-nav-group-items\n (collapseChange)=\"onCollapseChange($event)\"\n [compact]=\"compact()\"\n [style.display]=\"display()\"\n [visible]=\"visibleState()\"\n cCollapse\n>\n <ng-content />\n</c-nav-group-items>\n","import { booleanAttribute, Component, input, numberAttribute } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\n\nimport { NavLinkDirective } from './nav-link.directive';\n\n@Component({\n selector: 'c-nav-item',\n templateUrl: './nav-item.component.html',\n styleUrls: ['./nav-item.component.scss'],\n imports: [NavLinkDirective, NgTemplateOutlet],\n host: { class: 'nav-item' }\n})\nexport class NavItemComponent {\n /**\n * Toggle the active state for the nav link rendered for `href`.\n * @returns boolean | undefined\n * @default undefined\n */\n readonly active = input<boolean | undefined, unknown>(undefined, { transform: booleanAttribute });\n\n /**\n * Set disabled attr for the nav link rendered for `href`.\n * @returns boolean\n * @default false\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n /**\n * The href attribute of the nav link. Set it to render the nav link, otherwise the item projects its content as is.\n * @returns string\n */\n readonly href = input<string>();\n\n /**\n * The tabindex attribute of the nav link rendered for `href`.\n * @returns number | undefined\n */\n readonly tabindex = input(undefined, { transform: numberAttribute });\n}\n","@if (href()) {\n <a\n [active]=\"active()\"\n [attr.href]=\"href()\"\n [disabled]=\"disabled()\"\n [tabindex]=\"tabindex()\"\n cNavLink\n >\n <ng-container *ngTemplateOutlet=\"content\" />\n </a>\n} @else {\n <ng-container *ngTemplateOutlet=\"content\" />\n}\n\n<ng-template #content>\n <ng-content />\n</ng-template>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-nav-title',\n template: '<ng-content />',\n styleUrls: ['./nav-title.component.scss'],\n host: { class: 'nav-title' }\n})\nexport class NavTitleComponent {}\n","import { Component, computed, input } from '@angular/core';\n\n@Component({\n selector: 'c-nav',\n template: '<ng-content />',\n styleUrls: ['./nav.component.scss'],\n host: { class: 'nav', '[class]': 'hostClasses()', '[attr.role]': 'role()' }\n})\nexport class NavComponent {\n /**\n * Specify a layout type for component.\n * @default undefined\n */\n readonly layout = input<'fill' | 'justified'>();\n\n /**\n * Default role for nav.\n * @returns string\n * @default 'navigation'\n */\n readonly role = input('navigation');\n\n /**\n * Set the nav variant to tabs or pills.\n * @default undefined\n */\n readonly variant = input<'enclosed' | 'enclosed-pills' | 'pills' | 'tabs' | 'underline' | 'underline-border'>();\n\n readonly hostClasses = computed(() => {\n const layout = this.layout();\n const variant = this.variant();\n return {\n nav: true,\n [`nav-${layout}`]: !!layout,\n 'nav-enclosed': variant === 'enclosed' || variant === 'enclosed-pills',\n [`nav-${variant}`]: !!variant\n } as Record<string, boolean>;\n });\n}\n","import { NgModule } from '@angular/core';\nimport { NavComponent } from './nav.component';\nimport { NavGroupComponent } from './nav-group.component';\nimport { NavGroupItemsComponent } from './nav-group-items.component';\nimport { NavItemComponent } from './nav-item.component';\nimport { NavLinkDirective } from './nav-link.directive';\nimport { NavTitleComponent } from './nav-title.component';\n\n@NgModule({\n imports: [\n NavComponent,\n NavGroupComponent,\n NavGroupItemsComponent,\n NavItemComponent,\n NavLinkDirective,\n NavTitleComponent\n ],\n exports: [\n NavComponent,\n NavGroupComponent,\n NavGroupItemsComponent,\n NavItemComponent,\n NavLinkDirective,\n NavTitleComponent\n ]\n})\nexport class NavModule {}\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n afterEveryRender,\n Component,\n computed,\n contentChild,\n DOCUMENT,\n effect,\n ElementRef,\n inject,\n input,\n signal\n} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\n\nimport { CollapseDirective } from '../collapse';\nimport { Colors } from '../coreui.types';\nimport { ThemeDirective } from '../shared';\n\n// todo: fix container prop issue not rendering children\n// todo: workaround - use <c-container> component directly in template\n\n@Component({\n selector: 'c-navbar',\n templateUrl: './navbar.component.html',\n imports: [NgTemplateOutlet],\n hostDirectives: [{ directive: ThemeDirective, inputs: ['colorScheme'] }],\n host: { '[class]': 'hostClasses()', '[attr.role]': 'role()' }\n})\nexport class NavbarComponent {\n readonly #breakpointObserver = inject(BreakpointObserver);\n readonly #document = inject(DOCUMENT);\n readonly #hostElement = inject(ElementRef);\n\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly color = input<Colors>();\n\n /**\n * Defines optional container wrapping children elements.\n */\n readonly container = input<boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'fluid'>();\n\n /**\n * Defines the responsive breakpoint to determine when content collapses.\n */\n readonly expand = input<boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'>();\n\n /**\n * Place component in non-static positions.\n */\n readonly placement = input<'fixed-top' | 'fixed-bottom' | 'sticky-top'>();\n\n /**\n * HTML element role.\n * @returns string\n */\n readonly role = input('navigation');\n\n readonly collapse = contentChild(CollapseDirective);\n\n readonly hostClasses = computed(() => {\n const color = this.color();\n const expand = this.expand();\n const expandClassSuffix: string = expand === true ? '' : `-${expand}`;\n const placement = this.placement();\n return {\n navbar: true,\n [`navbar-expand${expandClassSuffix}`]: !!expand,\n [`bg-${color}`]: !!color,\n [`${placement}`]: !!placement\n } as Record<string, boolean>;\n });\n\n readonly containerClass = computed(() => {\n const container = this.container();\n return `container${container !== true ? '-' + container : ''}`;\n });\n\n readonly computedStyle = signal<string>('');\n\n readonly #afterEveryRenderFn = afterEveryRender({\n read: () => {\n const expand = this.expand();\n if (typeof expand === 'string') {\n const computedStyle =\n this.#document.defaultView\n ?.getComputedStyle(this.#hostElement.nativeElement)\n ?.getPropertyValue(`--cui-breakpoint-${expand}`) ?? false;\n computedStyle && this.computedStyle.set(computedStyle);\n }\n }\n });\n\n readonly breakpoint = computed(() => {\n const expand = this.expand();\n if (typeof expand === 'string') {\n return this.computedStyle();\n }\n return false;\n });\n\n readonly #breakpointEffect = effect((onCleanup) => {\n const breakpoint = this.breakpoint();\n if (!breakpoint) {\n return;\n }\n\n const subscription = this.#breakpointObserver.observe([`(min-width: ${breakpoint})`]).subscribe((result) => {\n const collapse = this.collapse();\n if (!collapse) {\n return;\n }\n collapse.animate.set(false);\n collapse.toggle(false);\n setTimeout(() => {\n collapse.toggle(result.matches);\n setTimeout(() => collapse.animate.set(collapse.animateInput()));\n });\n });\n\n onCleanup(() => subscription.unsubscribe());\n });\n}\n","<ng-container *ngTemplateOutlet=\"container() ? withContainerTemplate : noContainerTemplate\" />\n\n<ng-template #withContainerTemplate>\n <div [class]=\"containerClass()\">\n <ng-content />\n </div>\n</ng-template>\n\n<ng-template #noContainerTemplate>\n <ng-content />\n</ng-template>\n","import { Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[cNavbarBrand]',\n host: { class: 'navbar-brand', '[attr.role]': 'role()' }\n})\nexport class NavbarBrandDirective {\n /**\n * Default role for navbar-brand.\n * @returns string\n * @default 'button'\n */\n readonly role = input('button');\n}\n","import { booleanAttribute, Component, computed, input } from '@angular/core';\n\n@Component({\n selector: 'c-navbar-nav',\n template: '<ng-content />',\n host: { '[class]': 'hostClasses()' }\n})\nexport class NavbarNavComponent {\n /**\n * Enable vertical scrolling of a collapsed navbar toggleable contents.\n * @returns boolean\n */\n readonly scroll = input(false, { transform: booleanAttribute });\n\n readonly hostClasses = computed(() => {\n return {\n 'navbar-nav': true,\n 'navbar-nav-scroll': this.scroll()\n } as Record<string, boolean>;\n });\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-navbar-text',\n template: '<ng-content />',\n host: { class: 'navbar-text' }\n})\nexport class NavbarTextComponent {}\n","import { afterNextRender, Directive, ElementRef, inject, input, Renderer2 } from '@angular/core';\nimport { CollapseDirective } from '../../collapse';\n\n@Directive({\n selector: '[cNavbarToggler]',\n host: {\n '[aria-label]': 'ariaLabel()',\n '[attr.type]': 'type()',\n class: 'navbar-toggler',\n '(click)': 'handleClick($event)'\n }\n})\nexport class NavbarTogglerDirective {\n readonly #renderer = inject(Renderer2);\n readonly #hostElement = inject(ElementRef);\n\n constructor() {\n afterNextRender({\n read: () => {\n const hasContent = this.#hostElement.nativeElement.childNodes.length as boolean;\n if (!hasContent) {\n this.addDefaultIcon();\n }\n }\n });\n }\n\n /**\n * Reference to navbar collapse element (via # template variable)\n * @returns CollapseDirective | undefined\n */\n readonly collapseRef = input<CollapseDirective | undefined>(undefined, { alias: 'cNavbarToggler' });\n\n /**\n * Default type for navbar-toggler\n * @returns string\n * @default 'button'\n */\n readonly type = input('button');\n\n /**\n * Default aria-label attr for navbar-toggler\n * @returns string\n * @default 'Toggle navigation'\n */\n readonly ariaLabel = input('Toggle navigation');\n\n protected handleClick($event: MouseEvent): void {\n const collapseRef = this.collapseRef();\n if (collapseRef) {\n collapseRef?.toggle(!collapseRef?.visible());\n }\n }\n\n addDefaultIcon(): void {\n const span = this.#renderer.createElement('span');\n this.#renderer.addClass(span, 'navbar-toggler-icon');\n this.#renderer.appendChild(this.#hostElement.nativeElement, span);\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { NavbarComponent } from './navbar.component';\nimport { NavbarBrandDirective } from './navbar-brand/navbar-brand.directive';\nimport { NavbarNavComponent } from './navbar-nav/navbar-nav.component';\nimport { NavbarTextComponent } from './navbar-text/navbar-text.component';\nimport { NavbarTogglerDirective } from './navbar-toggler/navbar-toggler.directive';\n\n@NgModule({\n exports: [\n NavbarBrandDirective,\n NavbarComponent,\n NavbarNavComponent,\n NavbarTextComponent,\n NavbarTogglerDirective\n ],\n imports: [\n NavbarBrandDirective,\n NavbarComponent,\n NavbarNavComponent,\n NavbarTextComponent,\n NavbarTogglerDirective\n ]\n})\nexport class NavbarModule {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-modal-body',\n template: '<ng-content />',\n styleUrls: ['./modal-body.component.scss'],\n host: { class: 'modal-body' }\n})\nexport class ModalBodyComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-modal-content',\n template: '<ng-content />',\n host: { class: 'modal-content' }\n})\nexport class ModalContentComponent {}\n","import { booleanAttribute, Component, computed, input } from '@angular/core';\n\n@Component({\n selector: 'c-modal-dialog',\n template: '<ng-content />',\n styleUrls: ['./modal-dialog.component.scss'],\n host: { class: 'modal-dialog', '[class]': 'hostClasses()' }\n})\nexport class ModalDialogComponent {\n /**\n * Align the modal in the center or top of the screen.\n * @default undefined\n */\n readonly alignment = input<'top' | 'center'>();\n\n /**\n * Set modal to covers the entire user viewport.\n * @returns {boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'}\n */\n readonly fullscreen = input<boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'>();\n\n /**\n * Does the modal dialog itself scroll, or does the whole dialog scroll within the window.\n * @default false\n * @returns {boolean}\n */\n readonly scrollable = input(false, { transform: booleanAttribute });\n\n /**\n * Size the component small, large, or extra large.\n * @default undefined\n * @returns {'sm' | 'lg' | 'xl'}\n */\n readonly size = input<'sm' | 'lg' | 'xl'>();\n\n readonly hostClasses = computed(() => {\n const fullscreen = this.fullscreen();\n const size = this.size();\n return {\n 'modal-dialog': true,\n 'modal-dialog-centered': this.alignment() === 'center',\n 'modal-fullscreen': fullscreen === true,\n [`modal-fullscreen-${fullscreen}-down`]: typeof fullscreen === 'string',\n 'modal-dialog-scrollable': this.scrollable(),\n [`modal-${size}`]: !!size\n } as Record<string, boolean>;\n });\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { ModalComponent } from './modal/modal.component';\n\nexport interface IModalAction {\n show?: boolean | 'toggle';\n modal?: ModalComponent;\n focusFallback?: (HTMLElement | null)[];\n id?: string;\n trigger?: HTMLElement;\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, focusFallback: [...(action.focusFallback ?? [])] });\n }\n}\n","import { Directive, ElementRef, 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 #elementRef = inject(ElementRef<HTMLElement>);\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(), trigger: this.#elementRef.nativeElement });\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","/**\n * Returns focus after an overlay closes: to the first candidate that takes it, without scrolling.\n * Does nothing when focus has already moved to an element outside the overlay; skips candidates inside the overlay.\n * @param overlay the closing overlay host\n * @param candidates focus targets in order of preference, e.g. the opening toggle, then the element focused at open\n * @returns whether a candidate took focus\n */\nexport const restoreFocus = (overlay: HTMLElement, candidates: readonly (HTMLElement | null | undefined)[]): boolean => {\n const document = overlay.ownerDocument;\n const active = document.activeElement;\n if (active && active !== document.body && !overlay.contains(active)) {\n return false;\n }\n for (const target of candidates) {\n if (target?.isConnected && !overlay.contains(target)) {\n target.focus({ preventScroll: true });\n if (document.activeElement === target) {\n return true;\n }\n }\n }\n return false;\n};\n","import { A11yModule, CdkTrapFocus } from '@angular/cdk/a11y';\nimport { DomPortal, DomPortalOutlet } from '@angular/cdk/portal';\nimport { isPlatformBrowser } from '@angular/common';\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 PLATFORM_ID,\n Renderer2,\n signal,\n untracked,\n viewChild\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { IModalAction, 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';\nimport { restoreFocus } from '../../shared/focus.utils';\n\n@Component({\n selector: 'c-modal',\n templateUrl: './modal.component.html',\n exportAs: 'cModal',\n imports: [ModalDialogComponent, ModalContentComponent, A11yModule],\n host: {\n class: 'modal',\n '[class]': 'hostClasses()',\n '[attr.role]': 'visible() ? role() : null',\n '[inert]': 'ariaHidden()',\n '[attr.id]': 'id',\n '[aria-modal]': 'ariaModal()',\n '[attr.tabindex]': '-1',\n '(mousedown)': 'onMouseDownHandler($event)',\n '(click)': 'onClickHandler($event)',\n '(document:keydown)': 'onKeyDownHandler($event)'\n }\n})\nexport class ModalComponent implements OnInit, OnDestroy, AfterViewInit {\n 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 #platformId = inject(PLATFORM_ID);\n\n /**\n * Align the modal in the center or top of the screen.\n * @returns {'top' | 'center'}\n * @default 'top'\n */\n readonly alignment = input<'top' | 'center'>('top');\n\n /**\n * Apply a backdrop on the body while the modal is open.\n * @returns boolean | 'static'\n * @default true\n */\n readonly backdrop = input<boolean | 'static'>(true);\n\n /**\n * Appends the angular modal to a specific element. You can pass an HTML element or function that returns a single element. By default, `document.body`.\n * @since 5.7.20\n * @returns Element | (() => Element | null) | null\n * @default document.body\n */\n readonly container = input<Element | (() => Element | null) | null>(this.#document.body);\n\n /**\n * Set modal to cover the entire user viewport.\n * @returns {boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'}\n * @default undefined\n */\n readonly fullscreen = input<boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'>();\n\n /**\n * Closes the modal when the escape key is pressed, unless another handler already prevented its default.\n * @returns boolean\n * @default true\n */\n readonly keyboard = input(true, { transform: booleanAttribute });\n\n /**\n * HTML id attribute, required for programmatic visibility change.\n * @returns string\n */\n readonly attrId = input<string>(undefined, { alias: 'id' });\n\n get id() {\n return this.attrId();\n }\n\n /**\n * Generates modal using a portal\n * @since 5.7.20\n * @returns boolean\n * @default false\n */\n readonly portal = input(false, { transform: booleanAttribute });\n\n /**\n * Size the component small, large, or extra large.\n * @returns {'sm' | 'lg' | 'xl'}\n * @default undefined\n */\n readonly size = input<'sm' | 'lg' | 'xl'>();\n\n /**\n * Remove animation to create a modal that simply appears rather than fades in to view.\n */\n readonly transition = input(true, { transform: booleanAttribute });\n\n /**\n * Default role for modal\n * @returns string\n * @default 'dialog'\n */\n readonly role = input('dialog');\n\n /**\n * Set aria-modal html attr for modal\n * @returns boolean\n * @default false\n */\n readonly ariaModalInput = input(false, { transform: booleanAttribute, alias: 'ariaModal' });\n\n readonly ariaModal = computed(() => {\n return this.visible() || this.ariaModalInput() ? true : null;\n });\n\n /**\n * Create a scrollable modal that allows scrolling the modal body.\n * @returns boolean\n * @default false\n */\n readonly scrollable = input(false, { transform: booleanAttribute });\n\n /**\n * Toggle the visibility of modal component.\n * @returns boolean\n * @default false\n */\n readonly visibleInput = input(false, { transform: booleanAttribute, alias: 'visible' });\n\n readonly visible = linkedSignal(this.visibleInput);\n\n protected readonly domPortal = new DomPortal(this.#hostElement.nativeElement);\n protected domPortalOutlet!: DomPortalOutlet;\n\n protected domPortalCleanup = () => {\n if (this.domPortalOutlet?.hasAttached()) {\n this.domPortalOutlet.detach();\n }\n };\n\n readonly #portalEffect = effect(() => {\n const visible = this.visible();\n const containerInput = this.container();\n const portalEnabled = this.portal();\n untracked(() => {\n if (!visible) {\n return;\n }\n const container = typeof containerInput === 'function' ? containerInput() : containerInput;\n this.domPortalCleanup();\n if (container && portalEnabled) {\n this.domPortalOutlet = new DomPortalOutlet(container);\n this.domPortalOutlet.attach(this.domPortal);\n }\n });\n });\n\n readonly #visibleInputEffect = effect(() => {\n const visible = this.visible();\n untracked(() => {\n this.animateStart();\n this.setBodyStyles(visible);\n this.setBackdrop(this.backdrop() !== false && visible);\n this.visibleChange?.emit(visible);\n });\n });\n\n #focusBeforeShow: HTMLElement | null = null;\n #openAction: IModalAction | null = null;\n #trigger: 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.#focusBeforeShow = this.#document.activeElement as HTMLElement | null;\n setTimeout(() => {\n if (!this.focusTrap()?.focusTrap.focusInitialElement()) {\n this.#hostElement.nativeElement.focus();\n }\n });\n } else {\n this.#restoreFocus();\n }\n });\n });\n\n /**\n * Event triggered on visible change\n * @returns boolean\n */\n readonly visibleChange = output<boolean>();\n\n readonly modalContentRef = viewChild('modalContentRef', { read: ElementRef });\n protected readonly focusTrap = viewChild(CdkTrapFocus);\n readonly modalDialogRef = viewChild.required(ModalDialogComponent, { read: ElementRef });\n\n readonly #modalDialogEffect = effect((OnCleanup) => {\n const modalDialogElement = this.modalDialogRef().nativeElement;\n\n const removeEventListeners = () => {\n modalDialogElement?.removeEventListener('transitionend', this.#handleTransitionEnd);\n };\n\n OnCleanup(removeEventListeners);\n\n modalDialogElement?.addEventListener('transitionend', this.#handleTransitionEnd);\n });\n\n readonly #handleTransitionEnd = (event: TransitionEvent) => {\n const modalDialogElement = this.modalDialogRef().nativeElement;\n if (event.target === modalDialogElement && event.propertyName === 'transform') {\n if (!this.visible()) {\n this.domPortalCleanup();\n this.#renderer.setStyle(this.#hostElement.nativeElement, 'display', 'none');\n }\n }\n };\n\n #activeBackdrop!: any;\n\n // private inBoundingClientRect!: boolean;\n\n readonly hostClasses = computed(() => {\n return {\n modal: true,\n fade: this.transition(),\n show: this.show\n } as Record<string, boolean>;\n });\n\n readonly ariaHidden = computed(() => {\n return this.visible() ? null : true;\n });\n\n get show(): boolean {\n return this.visible() && this.#show();\n }\n\n set show(value: boolean) {\n this.#show.set(value);\n }\n\n readonly #show = signal(false);\n\n animateStart() {\n if (this.visible()) {\n this.#backdropService.hideScrollbar();\n this.#renderer.setStyle(this.#hostElement.nativeElement, 'display', 'block');\n } else {\n if (!this.transition()) {\n this.domPortalCleanup();\n this.#renderer.setStyle(this.#hostElement.nativeElement, 'display', 'none');\n }\n }\n setTimeout(() => {\n this.show = this.visible();\n });\n }\n\n onKeyDownHandler(event: KeyboardEvent): void {\n if (event.key === 'Escape' && !event.defaultPrevented && 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 if (this.#trigger || this.#focusBeforeShow) {\n this.#restoreFocus();\n }\n this.#modalService.toggle({ show: false, modal: this });\n this.#afterViewInit.set(false);\n this.setBackdrop(false);\n this.domPortalCleanup();\n }\n\n private stateToggleSubscribe(): void {\n this.#modalService.modalState$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe((action) => {\n if (this === action.modal || this.id === action.id) {\n if ('show' in action) {\n const visible = this.visible();\n const show = action?.show === 'toggle' ? !visible : !!action.show;\n if (show && !visible) {\n this.#trigger = action.trigger ?? null;\n this.#openAction = action;\n }\n this.visible.set(show);\n }\n } else {\n if (this.visible()) {\n for (const target of this.#focusCandidates()) {\n if (!action.focusFallback?.includes(target)) {\n action.focusFallback?.push(target);\n }\n }\n this.visible.set(false);\n }\n }\n });\n }\n\n #focusCandidates(): (HTMLElement | null)[] {\n return [this.#trigger, this.#focusBeforeShow, ...(this.#openAction?.focusFallback ?? [])];\n }\n\n #restoreFocus(): void {\n const candidates = this.#focusCandidates();\n this.#trigger = null;\n this.#focusBeforeShow = null;\n this.#openAction = null;\n if (isPlatformBrowser(this.#platformId)) {\n restoreFocus(this.#hostElement.nativeElement, candidates);\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 [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 trigger?: HTMLElement;\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 { DomPortal, DomPortalOutlet } from '@angular/cdk/portal';\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n afterEveryRender,\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 signal,\n untracked\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { BackdropService } from '../../backdrop/backdrop.service';\nimport { ThemeDirective } from '../../shared';\nimport { restoreFocus } from '../../shared/focus.utils';\nimport { OffcanvasService } from '../offcanvas.service';\n\nlet nextId = 0;\n\n@Component({\n selector: 'c-offcanvas',\n templateUrl: './offcanvas.component.html',\n styleUrls: ['./offcanvas.component.scss'],\n exportAs: 'cOffcanvas',\n imports: [A11yModule],\n hostDirectives: [{ directive: ThemeDirective, inputs: ['dark'] }],\n host: {\n '[attr.id]': 'id()',\n '[inert]': 'ariaHidden()',\n '[attr.role]': 'visible() ? role() : null',\n '[aria-modal]': 'visible() ? ariaModal() : null',\n '[attr.tabindex]': 'tabIndex',\n '[class]': 'hostClasses()',\n '(document:keydown)': 'onKeyDownHandler($event)',\n '(window:resize)': 'onResizeHandler()'\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 the body while offcanvas is open.\n * @returns boolean | 'static'\n * @default true\n */\n readonly backdrop = input<boolean | 'static'>(true);\n\n /**\n * Appends the offcanvas to a specific element. You can pass an HTML element or function that returns a single element. By default, `document.body`.\n * @since 5.7.21\n * @returns Element | (() => Element | null) | null\n * @default document.body\n */\n readonly container = input<Element | (() => Element | null) | null>(this.#document.body);\n\n /**\n * Closes the offcanvas when the escape key is pressed, unless another handler already prevented its default.\n * @returns boolean\n * @default true\n */\n readonly keyboard = input(true, { transform: booleanAttribute });\n\n /**\n * Offcanvas placement\n * @returns string | 'start' | 'end' | 'top' | 'bottom'\n * @default 'start'\n */\n readonly placement = input<string | 'start' | 'end' | 'top' | 'bottom'>('start');\n\n /**\n * Generates offcanvas using a portal\n * @since 5.7.21\n * @returns boolean\n * @default false\n */\n readonly portal = input(false, { transform: booleanAttribute });\n\n /**\n * Responsive offcanvas property hides content outside the viewport from a specified breakpoint and down.\n * @returns (boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl') | undefined\n * @default true\n * @since 4.3.10\n */\n readonly responsive = input<(boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl') | undefined>(true);\n\n /**\n * Html id attribute, required for programmatic visibility change.\n * @returns string\n */\n readonly id = input(`offcanvas-${this.placement()}-${nextId++}`);\n\n /**\n * Role attribute rendered while the offcanvas is open\n * @returns string\n * @default 'dialog'\n */\n readonly role = input<string>('dialog');\n\n /**\n * aria-modal attribute rendered while the offcanvas is open\n * @returns boolean\n * @default true\n */\n readonly ariaModal = input(true, { transform: booleanAttribute });\n\n #activeBackdrop!: HTMLDivElement;\n #backdropClickSubscription!: Subscription;\n #layoutChangeSubscription!: Subscription;\n #hideFallbackId?: ReturnType<typeof setTimeout>;\n #focusBeforeShow: HTMLElement | null = null;\n #isShown = false;\n #shownAsPanel = false;\n #trigger: HTMLElement | null = null;\n readonly #inPlace = signal(false);\n\n /**\n * Allow body scrolling while offcanvas is visible.\n * @returns boolean\n * @default false\n */\n readonly scroll = input(false, { transform: booleanAttribute });\n\n /**\n * Toggle the visibility of offcanvas component.\n * @returns boolean\n * @default false\n */\n readonly visibleInput = input(false, { transform: booleanAttribute, alias: 'visible' });\n\n readonly visible = linkedSignal(this.visibleInput);\n\n protected readonly domPortal = new DomPortal(this.#hostElement.nativeElement);\n protected domPortalOutlet!: DomPortalOutlet;\n\n protected domPortalCleanup = () => {\n if (this.domPortalOutlet?.hasAttached()) {\n this.domPortalOutlet.detach();\n }\n };\n\n readonly #portalEffect = effect(() => {\n const visible = this.visible();\n const containerInput = this.container();\n const portalEnabled = this.portal();\n untracked(() => {\n if (!visible) {\n return;\n }\n const container = typeof containerInput === 'function' ? containerInput() : containerInput;\n this.domPortalCleanup();\n if (container && portalEnabled) {\n this.domPortalOutlet = new DomPortalOutlet(container);\n this.domPortalOutlet.attach(this.domPortal);\n // Re-inserting the host drops its computed style, so the show classes applied later in\n // this same cycle would have no starting point to animate from. Force a reflow to commit it.\n void this.#hostElement.nativeElement.offsetHeight;\n }\n });\n });\n\n readonly #afterEveryRenderFn = afterEveryRender({ read: () => this.#readPosition() });\n\n readonly visibleEffect = effect(() => {\n const visible = this.visible();\n const wasShown = this.#isShown;\n this.animateStart(visible);\n if (visible) {\n if (!wasShown) {\n this.#focusBeforeShow = this.#document.activeElement as HTMLElement | null;\n }\n this.setBackdrop(this.backdrop());\n this.setFocus();\n } else {\n this.#shownAsPanel = false;\n this.#restoreFocus();\n this.setBackdrop(false);\n }\n this.layoutChangeSubscribe(visible);\n this.visibleChange?.emit(visible);\n });\n\n /**\n * Event triggered on visible change.\n * @returns boolean\n */\n readonly visibleChange = output<boolean>();\n\n readonly hostClasses = computed(() => {\n const responsive = this.responsive();\n const placement = this.placement();\n const visible = this.visible();\n return {\n offcanvas: typeof responsive === 'boolean',\n [`offcanvas-${responsive}`]: typeof responsive !== 'boolean',\n [`offcanvas-${placement}`]: !!placement,\n show: visible\n } as Record<string, boolean>;\n });\n\n readonly ariaHidden = computed(() => {\n return this.visible() || this.#inPlace() ? null : true;\n });\n\n get tabIndex(): string | null {\n return '-1';\n }\n\n get show(): boolean {\n return this.visible();\n }\n\n set show(value: boolean) {\n this.visible.set(value);\n }\n\n get responsiveBreakpoint(): string | false {\n const responsive = this.responsive();\n if (typeof responsive !== 'string') {\n return false;\n }\n const element: Element = this.#document.documentElement;\n const breakpointValue =\n this.#document.defaultView\n ?.getComputedStyle(element)\n ?.getPropertyValue(`--cui-breakpoint-${responsive.trim()}`) ?? false;\n return breakpointValue ? `${parseFloat(breakpointValue.trim()) - 0.02}px` : false;\n }\n\n animateStart(visible: boolean = this.visible()): void {\n const wasShown = this.#isShown;\n this.#isShown = visible;\n this.#clearHideFallback();\n if (visible) {\n if (!this.scroll()) {\n this.#backdropService.hideScrollbar();\n }\n this.#renderer.removeClass(this.#hostElement.nativeElement, 'hiding');\n this.#renderer.addClass(this.#hostElement.nativeElement, 'showing');\n } else {\n this.#renderer.removeClass(this.#hostElement.nativeElement, 'showing');\n if (wasShown) {\n this.#renderer.addClass(this.#hostElement.nativeElement, 'hiding');\n this.#scheduleHideFallback();\n }\n }\n }\n\n onKeyDownHandler(event: KeyboardEvent): void {\n if (\n event.key === 'Escape' &&\n !event.defaultPrevented &&\n this.keyboard() &&\n this.visible() &&\n this.backdrop() !== 'static'\n ) {\n this.#offcanvasService.toggle({ show: false, id: this.id() });\n }\n }\n\n onResizeHandler(): void {\n this.#readPosition();\n if (this.visible() && this.#shownAsPanel && this.#inPlace()) {\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 if (this.#trigger || this.#focusBeforeShow) {\n this.#restoreFocus();\n }\n this.#offcanvasService.toggle({ show: false, id: this.id() });\n this.#removeEventListeners();\n this.#clearHideFallback();\n this.setBackdrop(false);\n this.domPortalCleanup();\n }\n\n readonly #removeEventListeners = () => {\n this.#hostElement.nativeElement.removeEventListener('transitionend', this.#handleTransitionEnd);\n };\n\n readonly #handleTransitionEnd = (event: TransitionEvent) => {\n const offcanvasElement = this.#hostElement.nativeElement;\n if (event.target === offcanvasElement && event.propertyName === 'transform') {\n if (this.visible()) {\n this.#renderer.removeClass(offcanvasElement, 'showing');\n } else {\n this.#completeHide();\n }\n }\n };\n\n #completeHide(): void {\n this.#clearHideFallback();\n this.#renderer.removeClass(this.#hostElement.nativeElement, 'hiding');\n this.#renderer.removeStyle(this.#document.body, 'overflow');\n this.#renderer.removeStyle(this.#document.body, 'paddingRight');\n this.domPortalCleanup();\n }\n\n // `transitionend` never fires when there is nothing to animate — reduced motion, or a responsive\n // offcanvas above its breakpoint — which would leave the body scroll-locked and the host parked\n // in the portal container.\n #scheduleHideFallback(): void {\n const style = this.#document.defaultView?.getComputedStyle(this.#hostElement.nativeElement);\n const duration = Number.parseFloat(style?.transitionDuration ?? '') || 0;\n const delay = Number.parseFloat(style?.transitionDelay ?? '') || 0;\n this.#hideFallbackId = setTimeout(() => this.#completeHide(), (duration + delay) * 1000 + 5);\n }\n\n #clearHideFallback(): void {\n clearTimeout(this.#hideFallbackId);\n this.#hideFallbackId = undefined;\n }\n\n #readPosition(): void {\n const position = this.#document.defaultView?.getComputedStyle(this.#hostElement.nativeElement).position;\n this.#inPlace.set(!!position && position !== 'fixed');\n if (position === 'fixed' && this.visible()) {\n this.#shownAsPanel = true;\n }\n }\n\n setFocus(): void {\n if (isPlatformBrowser(this.#platformId)) {\n setTimeout(() => this.#hostElement.nativeElement.focus());\n }\n }\n\n #restoreFocus(): void {\n const candidates = [this.#trigger, this.#focusBeforeShow];\n this.#trigger = null;\n this.#focusBeforeShow = null;\n if (isPlatformBrowser(this.#platformId)) {\n restoreFocus(this.#hostElement.nativeElement, candidates);\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 const visible = this.visible();\n const show = action?.show === 'toggle' ? !visible : !!action.show;\n if (show && !visible) {\n this.#trigger = action.trigger ?? null;\n }\n this.visible.set(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]=\"visible()\">\n <ng-content />\n</div>\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, ElementRef, 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 #elementRef = inject(ElementRef<HTMLElement>);\n readonly #offcanvasService = inject(OffcanvasService);\n\n /**\n * Html id attr of offcanvas to toggle.\n * @returns string\n */\n readonly id = input<string>(undefined, { alias: 'cOffcanvasToggle' });\n\n protected toggleOpen($event: MouseEvent): void {\n $event.preventDefault();\n this.#offcanvasService.toggle({ show: 'toggle', id: this.id(), trigger: this.#elementRef.nativeElement });\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';\n\n@Directive({\n selector: '[cPageLink]',\n host: { class: 'page-link', '[class]': 'hostClasses()' }\n})\nexport class PageLinkDirective {\n /**\n * Toggle the disabled state for the component.\n * @returns boolean\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n readonly hostClasses = computed(() => {\n return {\n 'page-link': true,\n disabled: this.disabled()\n } as Record<string, boolean>;\n });\n}\n","import {\n booleanAttribute,\n computed,\n contentChild,\n Directive,\n effect,\n ElementRef,\n inject,\n input,\n Renderer2\n} from '@angular/core';\n\nimport { PageLinkDirective } from '../page-link/page-link.directive';\n\n@Directive({\n selector: '[cPageItem]',\n host: {\n class: 'page-item',\n '[class]': 'hostClasses()',\n '[aria-current]': 'ariaCurrent()'\n }\n})\nexport class PageItemDirective {\n readonly #renderer = inject(Renderer2);\n\n /**\n * Toggle the active state for the component.\n * @returns boolean\n */\n readonly active = input<boolean>();\n\n /**\n * Toggle the disabled state for the component.\n * @returns boolean\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n readonly ariaCurrent = computed(() => {\n return this.active() ? 'page' : null;\n });\n\n readonly hostClasses = computed(() => {\n return {\n 'page-item': true,\n disabled: this.disabled(),\n active: this.active()\n } as Record<string, boolean>;\n });\n\n readonly pageLinkElementRef = contentChild(PageLinkDirective, { read: ElementRef });\n\n readonly pageLinkElementRefEffect = effect(() => {\n const pageLinkElementRef = this.pageLinkElementRef();\n const disabled = this.disabled();\n if (!pageLinkElementRef) {\n return;\n }\n const pageLinkElement = pageLinkElementRef.nativeElement;\n\n if (disabled) {\n this.#renderer.setAttribute(pageLinkElement, 'aria-disabled', 'true');\n this.#renderer.setAttribute(pageLinkElement, 'tabindex', '-1');\n } else {\n this.#renderer.removeAttribute(pageLinkElement, 'aria-disabled');\n this.#renderer.removeAttribute(pageLinkElement, 'tabindex');\n }\n });\n}\n","import { Component } from '@angular/core';\nimport { PageItemDirective } from './page-item.directive';\n\n@Component({\n selector: 'c-page-item',\n template: '<ng-content />',\n styleUrls: ['./page-item.component.scss']\n})\nexport class PageItemComponent extends PageItemDirective {}\n","import { Component, computed, input } from '@angular/core';\n\n@Component({\n selector: 'c-pagination',\n templateUrl: './pagination.component.html',\n host: {\n '[attr.role]': 'role()'\n }\n})\nexport class PaginationComponent {\n /**\n * Set the alignment of pagination components.\n * @returns 'start' | 'center' | 'end' | ''\n */\n readonly align = input<'start' | 'center' | 'end' | ''>('');\n /**\n * Size the component small or large.\n * @returns '' | 'sm' | 'lg'\n */\n readonly size = input<'' | 'sm' | 'lg'>();\n /**\n * Default role for pagination\n * @returns string\n * @default 'navigation'\n */\n readonly role = input<string>('navigation');\n\n readonly paginationClass = computed(() => {\n const size = this.size();\n const align = this.align();\n return {\n pagination: true,\n [`pagination-${size}`]: !!size,\n [`justify-content-${align}`]: !!align\n } as Record<string, boolean>;\n });\n}\n","<ul [class]=\"paginationClass()\">\n <ng-content />\n</ul>\n","import { NgModule } from '@angular/core';\nimport { PaginationComponent } from './pagination/pagination.component';\nimport { PageItemComponent } from './page-item/page-item.component';\nimport { PageItemDirective } from './page-item/page-item.directive';\nimport { PageLinkDirective } from './page-link/page-link.directive';\n\n@NgModule({\n exports: [\n PageItemComponent,\n PageItemDirective,\n PageLinkDirective,\n PaginationComponent\n ],\n imports: [\n PageItemComponent,\n PageItemDirective,\n PageLinkDirective,\n PaginationComponent\n ]\n})\nexport class PaginationModule {}\n","import { booleanAttribute, computed, Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[cPlaceholder]',\n exportAs: 'cPlaceholder',\n host: {\n '[class]': 'hostClasses()',\n '[aria-hidden]': 'ariaHidden()'\n }\n})\nexport class PlaceholderDirective {\n /**\n * Toggle placeholder visibility\n * @returns boolean\n * @default false\n */\n readonly visible = input(false, { transform: booleanAttribute, alias: 'cPlaceholder' });\n\n /**\n * Size the placeholder xs, small, large.\n */\n readonly size = input<'xs' | 'sm' | 'lg'>(undefined, { alias: 'cPlaceholderSize' });\n\n readonly ariaHidden = computed(() => {\n return this.visible() ? null : true;\n });\n\n readonly hostClasses = computed(() => {\n const size = this.size();\n return {\n placeholder: this.visible(),\n [`placeholder-${size}`]: !!size\n } as Record<string, boolean>;\n });\n}\n","import { computed, contentChild, Directive, input, InputSignal } from '@angular/core';\nimport { PlaceholderDirective } from './placeholder.directive';\n\n@Directive({\n selector: '[cPlaceholderAnimation]',\n host: {\n '[class]': 'hostClasses()'\n }\n})\nexport class PlaceholderAnimationDirective {\n /**\n * Animation type for placeholder\n * @returns 'glow' | 'wave'\n * @default undefined\n */\n readonly animation: InputSignal<'glow' | 'wave' | undefined> = input<'glow' | 'wave' | undefined>(undefined, {\n alias: 'cPlaceholderAnimation'\n });\n\n readonly placeholder = contentChild(PlaceholderDirective);\n\n readonly hostClasses = computed(() => {\n const animation = this.animation();\n return {\n [`placeholder-${animation}`]: this.placeholder()?.visible() && !!animation\n } as Record<string, boolean>;\n });\n}\n","import { NgModule } from '@angular/core';\nimport { PlaceholderDirective } from './placeholder.directive';\nimport { PlaceholderAnimationDirective } from './placeholder-animation.directive';\n\n@NgModule({\n imports: [\n PlaceholderDirective,\n PlaceholderAnimationDirective\n ],\n exports: [\n PlaceholderDirective,\n PlaceholderAnimationDirective\n ]\n})\nexport class PlaceholderModule {\n}\n","import {\n booleanAttribute,\n Component,\n computed,\n effect,\n inject,\n input,\n OnDestroy,\n Renderer2,\n TemplateRef,\n viewChild,\n ViewContainerRef\n} from '@angular/core';\n\n@Component({\n selector: 'c-popover',\n templateUrl: './popover.component.html',\n host: {\n class: 'popover fade bs-popover-auto',\n '[class]': 'hostClasses()',\n '[attr.role]': 'role()',\n '[attr.id]': 'id()'\n }\n})\nexport class PopoverComponent implements OnDestroy {\n readonly renderer = inject(Renderer2);\n\n /**\n * Content of popover\n * @returns string | TemplateRef<any>\n */\n readonly content = input<string | TemplateRef<any>>('');\n\n readonly #contentEffect = effect(() => {\n this.updateView(this.content());\n });\n\n /**\n * Toggle the visibility of popover component.\n * @returns boolean\n */\n readonly visible = input(false, { transform: booleanAttribute });\n\n /**\n * The `id` HTML attribute of the popover.\n * @returns string\n */\n readonly id = input<string>();\n\n /**\n * Default role for popover.\n * @returns string\n * @default 'tooltip'\n */\n readonly role = input('tooltip');\n\n readonly viewContainerRef = viewChild('popoverTemplate', { read: ViewContainerRef });\n private textNode!: Text;\n\n readonly hostClasses = computed(() => {\n return {\n popover: true,\n fade: true,\n show: this.visible(),\n 'bs-popover-auto': true\n } as Record<string, boolean>;\n });\n\n ngOnDestroy(): void {\n this.clear();\n }\n\n private clear(): void {\n this.viewContainerRef()?.clear();\n if (!!this.textNode) {\n this.renderer.removeChild(this.textNode.parentNode, this.textNode);\n }\n }\n\n private updateView(content: string | TemplateRef<any>): void {\n this.clear();\n\n if (!content) {\n return;\n }\n\n if (content instanceof TemplateRef) {\n this.viewContainerRef()?.createEmbeddedView(content);\n } else {\n const textNodeContent = this.renderer.createText(content);\n this.textNode = this.renderer.createElement('div');\n this.renderer.addClass(this.textNode, 'popover-body');\n this.renderer.appendChild(this.textNode, textNodeContent);\n\n const element = this.viewContainerRef()?.element.nativeElement;\n this.renderer.appendChild(element.parentNode, this.textNode);\n }\n }\n}\n","<ng-container>\n <div [class.popover-arrow]=\"!!content()\" data-popper-arrow></div>\n <ng-container #popoverTemplate />\n</ng-container>\n","import {\n afterRenderEffect,\n AfterViewInit,\n ChangeDetectorRef,\n ComponentRef,\n computed,\n DestroyRef,\n Directive,\n DOCUMENT,\n effect,\n ElementRef,\n inject,\n input,\n model,\n OnDestroy,\n OnInit,\n Renderer2,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { debounceTime, filter, finalize } from 'rxjs/operators';\nimport { createPopper, Instance, Options } from '@popperjs/core';\n\nimport { Triggers } from '../coreui.types';\nimport { IListenersConfig, IntersectionService, ListenersService } from '../services';\nimport { ElementRefDirective } from '../shared';\nimport { PopoverComponent } from './popover/popover.component';\n\n@Directive({\n selector: '[cPopover]',\n exportAs: 'cPopover',\n providers: [ListenersService, IntersectionService],\n host: { '[aria-describedby]': 'ariaDescribedBy' }\n})\nexport class PopoverDirective implements OnDestroy, OnInit, AfterViewInit {\n readonly #renderer = inject(Renderer2);\n readonly #hostElement = inject(ElementRef);\n readonly #viewContainerRef = inject(ViewContainerRef);\n readonly #listenersService = inject(ListenersService);\n readonly #changeDetectorRef = inject(ChangeDetectorRef);\n readonly #intersectionService = inject(IntersectionService);\n readonly #destroyRef = inject(DestroyRef);\n readonly #document = inject(DOCUMENT);\n #timerId1: ReturnType<typeof setTimeout> | undefined;\n #timerId2: ReturnType<typeof setTimeout> | undefined;\n\n /**\n * Content of popover\n * @returns string | TemplateRef<any> | undefined\n */\n readonly content = input<string | TemplateRef<any> | undefined>(undefined, { alias: 'cPopover' });\n\n readonly #contentEffect = effect(() => {\n if (this.content()) {\n this.destroyTooltipElement();\n }\n });\n\n /**\n * Optional popper Options object, takes precedence over cPopoverPlacement prop\n * @returns Partial<Options>\n */\n readonly popperOptions = input<Partial<Options>>({}, { alias: 'cPopoverOptions' });\n\n readonly #popperOptionsEffect = effect(() => {\n this._popperOptions = {\n ...this._popperOptions,\n placement: this.placement(),\n ...this.popperOptions()\n };\n });\n\n readonly popperOptionsComputed = computed(() => {\n return { placement: this.placement(), ...this._popperOptions };\n });\n\n /**\n * Describes the placement of your component after Popper.js has applied all the modifiers that may have flipped or altered the originally provided placement property.\n * @returns 'top' | 'bottom' | 'left' | 'right'\n * @default 'top'\n */\n readonly placement = input<'top' | 'bottom' | 'left' | 'right'>('top', { alias: 'cPopoverPlacement' });\n\n /**\n * ElementRefDirective for positioning the tooltip on reference element\n * @returns ElementRefDirective | undefined\n * @default undefined\n * @since 5.7.27\n */\n readonly reference = input<ElementRefDirective | undefined>(undefined, { alias: 'cPopoverRef' });\n\n readonly referenceRef = computed(() => this.reference()?.elementRef ?? this.#hostElement);\n\n /**\n * Sets which event handlers you’d like provided to your toggle prop. You can specify one trigger or an array of them.\n * @returns Triggers | Triggers[]\n */\n readonly trigger = input<Triggers | Triggers[]>('hover', { alias: 'cPopoverTrigger' });\n\n /**\n * Toggle the visibility of popover component.\n * @returns boolean\n */\n readonly visible = model(false, { alias: 'cPopoverVisible' });\n\n readonly #visibleEffect = afterRenderEffect({\n // this fixes RuntimeError: NG0500: During hydration Angular expected <abc> but found <xyz>.\n // Find more at https://angular.dev/errors/NG0500\n write: () => {\n this.visible() ? this.addTooltipElement() : this.removeTooltipElement();\n }\n });\n\n readonly #handleEscapeKey = (event: KeyboardEvent) => {\n if (event.key !== 'Escape') {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n this.visible.set(false);\n };\n\n readonly #escapeEffect = effect((onCleanup) => {\n if (!this.visible()) {\n return;\n }\n\n const useCapture = true;\n\n this.#document.addEventListener('keydown', this.#handleEscapeKey, useCapture);\n onCleanup(() => {\n this.#document.removeEventListener('keydown', this.#handleEscapeKey, useCapture);\n });\n });\n\n get ariaDescribedBy(): string | null {\n return this.tooltipId ? this.tooltipId : null;\n }\n\n private tooltip!: HTMLDivElement;\n private tooltipId!: string;\n private tooltipRef!: ComponentRef<PopoverComponent>;\n private popperInstance!: Instance;\n\n private _popperOptions: Partial<Options> = {\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 9]\n }\n }\n ]\n };\n\n ngAfterViewInit(): void {\n this.intersectionServiceSubscribe();\n }\n\n ngOnDestroy(): void {\n this.clearListeners();\n this.destroyTooltipElement();\n }\n\n ngOnInit(): void {\n this.setListeners();\n }\n\n private setListeners(): void {\n const config: IListenersConfig = {\n hostElement: this.#hostElement,\n trigger: this.trigger(),\n callbackToggle: () => {\n this.visible.update((visible) => !visible);\n },\n callbackOff: () => {\n this.visible.set(false);\n },\n callbackOn: () => {\n this.visible.set(true);\n }\n };\n this.#listenersService.setListeners(config);\n }\n\n private clearListeners(): void {\n this.#listenersService.clearListeners();\n }\n\n private intersectionServiceSubscribe(): void {\n this.#intersectionService.createIntersectionObserver(this.referenceRef());\n this.#intersectionService.intersecting$\n .pipe(\n filter((next) => next.hostElement === this.referenceRef()),\n debounceTime(100),\n finalize(() => {\n this.#intersectionService.unobserve(this.referenceRef());\n }),\n takeUntilDestroyed(this.#destroyRef)\n )\n .subscribe((next) => {\n this.visible.set(next.isIntersecting ? this.visible() : false);\n });\n }\n\n private getUID(prefix: string): string {\n let uid = prefix ?? 'random-id';\n do {\n uid = `${prefix}-${Math.floor(Math.random() * 1000000).toString(10)}`;\n } while (this.#document.getElementById(uid));\n\n return uid;\n }\n\n private createTooltipElement(): void {\n if (!this.tooltipRef) {\n this.tooltipRef = this.#viewContainerRef.createComponent<PopoverComponent>(PopoverComponent);\n // this.viewContainerRef.detach();\n }\n }\n\n private destroyTooltipElement(): void {\n this.tooltip?.remove();\n this.tooltipRef?.destroy();\n // @ts-ignore\n this.tooltipRef = undefined;\n this.popperInstance?.destroy();\n this.#viewContainerRef?.detach();\n this.#viewContainerRef?.clear();\n }\n\n private addTooltipElement(): void {\n if (!this.content()) {\n this.destroyTooltipElement();\n return;\n }\n\n if (!this.tooltipRef) {\n this.createTooltipElement();\n }\n\n this.tooltipRef?.setInput('content', this.content() ?? '');\n\n this.tooltip = this.tooltipRef?.location.nativeElement;\n this.#renderer.addClass(this.tooltip, 'd-none');\n this.#renderer.addClass(this.tooltip, 'fade');\n\n this.popperInstance?.destroy();\n\n this.#viewContainerRef.insert(this.tooltipRef.hostView);\n this.#renderer.appendChild(this.#document.body, this.tooltip);\n\n this.popperInstance = createPopper(this.referenceRef().nativeElement, this.tooltip, {\n ...this.popperOptionsComputed()\n });\n\n if (!this.visible()) {\n this.removeTooltipElement();\n return;\n }\n\n clearTimeout(this.#timerId2);\n clearTimeout(this.#timerId1);\n this.#timerId1 = setTimeout(() => {\n this.tooltipId = this.getUID('popover');\n this.tooltipRef?.setInput('id', this.tooltipId);\n this.#renderer.removeClass(this.tooltip, 'd-none');\n this.tooltipRef?.setInput('visible', this.visible());\n this.popperInstance?.forceUpdate();\n this.#changeDetectorRef?.markForCheck();\n this.#timerId1 = undefined;\n }, 150);\n }\n\n private removeTooltipElement(): void {\n this.tooltipId = '';\n if (!this.tooltipRef) {\n return;\n }\n\n clearTimeout(this.#timerId2);\n this.#timerId2 = setTimeout(() => {\n this.#viewContainerRef?.detach();\n this.#timerId2 = undefined;\n }, 300);\n\n this.tooltipRef.setInput('visible', false);\n this.tooltipRef.setInput('id', undefined);\n this.#changeDetectorRef.markForCheck();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { PopoverDirective } from './popover.directive';\nimport { PopoverComponent } from './popover/popover.component';\n\n@NgModule({\n exports: [\n PopoverDirective,\n PopoverComponent\n ],\n imports: [\n PopoverDirective,\n PopoverComponent\n ]\n})\nexport class PopoverModule {}\n","import { computed, Injectable, signal } from '@angular/core';\n\n@Injectable()\nexport class ProgressService {\n readonly stacked = signal(false);\n readonly value = signal<number | undefined>(undefined);\n readonly precision = signal(0);\n readonly min = signal(0);\n readonly max = signal(100);\n\n readonly percent = computed(() => {\n return +((((this.value() ?? 0) - this.min()) / (this.max() - this.min())) * 100).toFixed(this.precision());\n });\n}\n","import {\n booleanAttribute,\n Directive,\n effect,\n EffectRef,\n ElementRef,\n inject,\n input,\n numberAttribute,\n Renderer2\n} from '@angular/core';\nimport { Colors } from '../coreui.types';\nimport { ProgressService } from './progress.service';\n\n@Directive({\n selector: '[cProgressBar]',\n exportAs: 'cProgressBar'\n})\nexport class ProgressBarDirective {\n readonly #renderer = inject(Renderer2);\n readonly #hostElement = inject(ElementRef);\n readonly #progressService = inject(ProgressService);\n\n readonly #valuesEffect: EffectRef = effect(() => {\n const host: HTMLElement = this.#hostElement.nativeElement;\n const value = this.#progressService.value();\n const percent = this.#progressService.percent();\n const stacked = this.#progressService.stacked();\n if (value === undefined) {\n for (const name of ['aria-valuenow', 'aria-valuemax', 'aria-valuemin', 'role']) {\n this.#renderer.removeAttribute(host, name);\n }\n } else {\n const { min, max } = this.#progressService;\n this.#renderer.setAttribute(host, 'aria-valuenow', String(value));\n this.#renderer.setAttribute(host, 'aria-valuemin', String(min()));\n this.#renderer.setAttribute(host, 'aria-valuemax', String(max()));\n this.#renderer.setAttribute(host, 'role', this.role());\n }\n const tagName = host.tagName;\n if (percent >= 0 && ((stacked && tagName === 'C-PROGRESS') || (!stacked && tagName !== 'C-PROGRESS'))) {\n this.#renderer.setStyle(host, 'width', `${percent}%`);\n } else {\n this.#renderer.removeStyle(host, 'width');\n }\n });\n\n /**\n * Use to animate the stripes right to left via CSS3 animations.\n * @returns boolean\n */\n readonly animated = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly color = input<Colors>();\n\n /**\n * Number of decimal places to round the computed percent value to.\n * @returns number\n * @default 0\n */\n readonly precision = input(0, { transform: numberAttribute });\n\n /**\n * The percent value the ProgressBar.\n * @returns number\n * @default 0\n */\n readonly value = input(0, { transform: numberAttribute });\n\n /**\n * Set the progress bar variant to optional striped.\n * @values 'striped'\n * @default undefined\n */\n readonly variant = input<'striped'>();\n\n /**\n * The max value of the ProgressBar.\n * @returns number\n * @default 100\n */\n readonly max = input(100, { transform: numberAttribute });\n\n /**\n * Set default html role attribute.\n * @returns string\n */\n readonly role = input<string>('progressbar');\n\n readonly #serviceEffect = effect(() => {\n this.#progressService.precision.set(this.precision());\n const max = this.max();\n this.#progressService.max.set(isNaN(max) || max <= 0 ? 100 : max);\n const value = this.value();\n this.#progressService.value.set(value && !isNaN(value) ? value : undefined);\n });\n}\n","import { Component, computed, inject } from '@angular/core';\nimport { ProgressBarDirective } from './progress-bar.directive';\n\n@Component({\n selector: 'c-progress-bar',\n template: '<ng-content />',\n hostDirectives: [\n {\n directive: ProgressBarDirective,\n inputs: ['animated', 'color', 'max', 'role', 'value', 'variant']\n }\n ],\n host: { class: 'progress-bar', '[class]': 'hostClasses()' }\n})\nexport class ProgressBarComponent {\n readonly #progressBarDirective: ProgressBarDirective | null = inject(ProgressBarDirective, { optional: true });\n\n readonly hostClasses = computed(() => {\n const animated = this.#progressBarDirective?.animated();\n const color = this.#progressBarDirective?.color();\n const variant = this.#progressBarDirective?.variant();\n return {\n 'progress-bar': true,\n 'progress-bar-animated': !!animated,\n [`progress-bar-${variant}`]: !!variant,\n [`bg-${color}`]: !!color\n } as Record<string, boolean>;\n });\n}\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'c-progress-stacked',\n exportAs: 'cProgressStacked',\n template: '<ng-content />',\n styles: `\n :host {\n display: flex;\n }\n `,\n host: { '[class.progress-stacked]': 'stacked()' }\n})\nexport class ProgressStackedComponent {\n /**\n * Toggle the `progress-stacked` class on the host element.\n * @returns boolean\n * @default true\n */\n readonly stacked = input(true);\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n Component,\n computed,\n contentChildren,\n ElementRef,\n inject,\n input,\n numberAttribute\n} from '@angular/core';\nimport { ProgressBarComponent } from './progress-bar.component';\nimport { ProgressBarDirective } from './progress-bar.directive';\nimport { ProgressStackedComponent } from './progress-stacked.component';\nimport { ProgressService } from './progress.service';\n\n@Component({\n selector: 'c-progress',\n exportAs: 'cProgress',\n templateUrl: './progress.component.html',\n imports: [ProgressBarComponent, NgTemplateOutlet],\n styleUrl: './progress.component.scss',\n hostDirectives: [\n {\n directive: ProgressBarDirective,\n inputs: ['animated', 'color', 'max', 'role', 'value', 'variant']\n }\n ],\n host: {\n class: 'progress',\n '[class]': 'hostClasses()',\n '[style.height]': 'hostStyle()'\n },\n providers: [ProgressService]\n})\nexport class ProgressComponent {\n readonly #hostElement = inject(ElementRef);\n protected readonly progressBarDirective: ProgressBarDirective | null = inject(ProgressBarDirective, {\n optional: true\n });\n readonly #stacked: boolean = inject(ProgressStackedComponent, { optional: true })?.stacked() ?? false;\n readonly #progressService = inject(ProgressService);\n\n constructor() {\n this.#progressService.stacked.set(this.#stacked);\n }\n\n readonly stacked = this.#progressService.stacked;\n readonly percent = this.#progressService.percent;\n readonly barValue = this.#progressService.value;\n\n readonly contentProgressBars = contentChildren(ProgressBarComponent);\n\n /**\n * Sets the height of the component. If you set that value the inner `<c-progress-bar>` will automatically resize accordingly.\n * @returns number\n */\n readonly height = input(0, { transform: numberAttribute });\n\n /**\n * Displays thin progress.\n * @returns boolean\n */\n readonly thin = input(false, { transform: booleanAttribute });\n\n /**\n * Change the default color to white.\n * @returns boolean\n */\n readonly white = input(false, { transform: booleanAttribute });\n\n readonly hostClasses = computed(() => {\n return {\n progress: true,\n 'progress-thin': this.thin(),\n 'progress-white': this.white()\n } as Record<string, boolean>;\n });\n\n readonly hostStyle = computed(() => {\n const height = this.height();\n return !!height ? `${height}px` : (this.#hostElement?.nativeElement?.style?.height ?? undefined);\n });\n}\n","@if (contentProgressBars()?.length) {\n <ng-container *ngTemplateOutlet=\"defaultContent\" />\n} @else {\n @let pbd = progressBarDirective;\n <c-progress-bar\n [animated]=\"$safeNavigationMigration(pbd?.animated())\"\n [variant]=\"$safeNavigationMigration(pbd?.variant())\"\n [color]=\"$safeNavigationMigration(pbd?.color())\"\n [value]=\"barValue()\"\n >\n <ng-container *ngTemplateOutlet=\"defaultContent\" />\n </c-progress-bar>\n}\n\n<ng-template #defaultContent>\n <ng-content />\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { ProgressComponent } from './progress.component';\nimport { ProgressBarComponent } from './progress-bar.component';\nimport { ProgressBarDirective } from './progress-bar.directive';\nimport { ProgressStackedComponent } from './progress-stacked.component';\n\n@NgModule({\n exports: [\n ProgressComponent,\n ProgressBarComponent,\n ProgressBarDirective,\n ProgressStackedComponent\n ],\n imports: [\n ProgressComponent,\n ProgressBarComponent,\n ProgressBarDirective,\n ProgressStackedComponent\n ]\n})\nexport class ProgressModule {}\n","export type SearchButtonShortcut = {\n key: string;\n modifiers: {\n alt: boolean;\n ctrl: boolean;\n meta: boolean;\n shift: boolean;\n };\n shortcut: string;\n};\n\nconst MODIFIER_KEYS = new Set(['alt', 'ctrl', 'meta', 'shift']);\nconst KEY_ALIASES: Record<string, string> = {\n ' ': 'space',\n cmd: 'meta',\n command: 'meta',\n control: 'ctrl',\n esc: 'escape',\n option: 'alt',\n return: 'enter',\n spacebar: 'space'\n};\nconst KEY_LABELS: Record<string, string> = {\n alt: 'Alt',\n ctrl: 'Ctrl',\n meta: '⌘',\n shift: 'Shift',\n space: 'Space'\n};\nconst EDITABLE_TARGET_SELECTOR =\n 'input, textarea, select, [contenteditable=\"\"], [contenteditable=\"true\"], [contenteditable=\"plaintext-only\"]';\n\nexport const normalizeKey = (key: string) => KEY_ALIASES[key.toLowerCase()] || key.toLowerCase();\n\nexport const parseShortcut = (shortcut: string): SearchButtonShortcut[] =>\n shortcut\n .split(',')\n .map((value) => value.trim())\n .filter(Boolean)\n .map((value) => {\n const keys = value.split('+').map((part) => normalizeKey(part.trim()));\n const modifiers = {\n alt: false,\n ctrl: false,\n meta: false,\n shift: false\n };\n\n let key = '';\n\n for (const part of keys) {\n if (MODIFIER_KEYS.has(part)) {\n modifiers[part as keyof typeof modifiers] = true;\n continue;\n }\n\n key = part;\n }\n\n return {\n key,\n modifiers,\n shortcut: value\n };\n });\n\nconst getPlatform = () => {\n if (typeof window === 'undefined') {\n return '';\n }\n\n const navigator = window.navigator as Navigator & {\n userAgentData?: {\n platform?: string;\n };\n };\n\n return navigator.userAgentData?.platform || navigator.platform || navigator.userAgent || '';\n};\n\nexport const isMacOS = () => /Mac|iPhone|iPad|iPod|macOS|Macintosh/.test(getPlatform());\n\nexport const getPreferredShortcut = (shortcuts: SearchButtonShortcut[]) =>\n shortcuts.find((shortcut) => (isMacOS() ? shortcut.modifiers.meta : shortcut.modifiers.ctrl)) ||\n shortcuts[0] ||\n null;\n\nexport const getKeyLabel = (key: string) =>\n KEY_LABELS[key] || (key.length === 1 ? key.toUpperCase() : `${key.charAt(0).toUpperCase()}${key.slice(1)}`);\n\nexport const formatShortcutTokens = (shortcut: string) =>\n shortcut\n .split('+')\n .map((part) => normalizeKey(part.trim()))\n .map((part) => getKeyLabel(part))\n .filter(Boolean);\n\nexport const getPressedKeys = (event: KeyboardEvent) => {\n const pressedKeys = new Set<string>();\n\n if (event.altKey) {\n pressedKeys.add(KEY_LABELS['alt']);\n }\n\n if (event.ctrlKey) {\n pressedKeys.add(KEY_LABELS['ctrl']);\n }\n\n if (event.metaKey) {\n pressedKeys.add(KEY_LABELS['meta']);\n }\n\n if (event.shiftKey) {\n pressedKeys.add(KEY_LABELS['shift']);\n }\n\n const normalizedKey = normalizeKey(event.key);\n\n if (!MODIFIER_KEYS.has(normalizedKey) && event.type === 'keydown') {\n pressedKeys.add(getKeyLabel(normalizedKey));\n }\n\n return pressedKeys;\n};\n\nexport const isEditableTarget = (target: EventTarget | null) => {\n if (!(target instanceof Element)) {\n return false;\n }\n\n return target.matches(EDITABLE_TARGET_SELECTOR) || !!target.closest(EDITABLE_TARGET_SELECTOR);\n};\n\nexport const shouldIgnoreShortcut = (event: KeyboardEvent) =>\n isEditableTarget(event.target) && !event.ctrlKey && !event.metaKey;\n\nexport const matchesShortcut = (shortcut: SearchButtonShortcut, event: KeyboardEvent) => {\n if (!shortcut.key || normalizeKey(event.key) !== shortcut.key) {\n return false;\n }\n\n return (\n shortcut.modifiers.alt === event.altKey &&\n shortcut.modifiers.ctrl === event.ctrlKey &&\n shortcut.modifiers.meta === event.metaKey &&\n shortcut.modifiers.shift === event.shiftKey\n );\n};\n","import {\n booleanAttribute,\n Component,\n computed,\n contentChildren,\n effect,\n input,\n output,\n signal,\n TemplateRef\n} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\n\nimport { TemplateIdDirective } from '../shared';\nimport {\n formatShortcutTokens,\n getPreferredShortcut,\n getPressedKeys,\n matchesShortcut,\n parseShortcut,\n shouldIgnoreShortcut\n} from './search-button.utils';\n\n@Component({\n selector: 'c-search-button',\n exportAs: 'cSearchButton',\n templateUrl: './search-button.component.html',\n imports: [NgTemplateOutlet],\n host: {\n style: 'display: contents',\n '(document:keydown)': 'onDocumentKeydown($event)',\n '(document:keyup)': 'onDocumentKeyup($event)',\n '(window:blur)': 'onWindowBlur()'\n }\n})\nexport class SearchButtonComponent {\n /**\n * Toggle the disabled state for the component.\n * @returns boolean\n * @default false\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n /**\n * Placeholder content rendered inside `.search-button-placeholder`.\n * @returns string\n * @default 'Search'\n */\n readonly placeholder = input('Search');\n\n /**\n * Prevent the browser's default behavior when the configured shortcut matches.\n * @returns boolean\n * @default true\n */\n readonly preventDefault = input(true, { transform: booleanAttribute });\n\n /**\n * Comma-separated shortcut list. The component matches all configured shortcuts and renders the platform-preferred one.\n * @returns string\n * @default 'meta+/,ctrl+/'\n */\n readonly shortcut = input('meta+/,ctrl+/');\n\n /**\n * Event emitted when the component is activated by click or keyboard shortcut.\n */\n readonly trigger = output<void>();\n\n protected readonly contentTemplates = contentChildren(TemplateIdDirective, { descendants: true });\n\n protected readonly templates = computed(() => {\n return this.contentTemplates().reduce(\n (acc, child) => {\n acc[child.id] = child.templateRef;\n return acc;\n },\n {} as Record<string, TemplateRef<any>>\n );\n });\n\n protected readonly activeKeys = signal<string[]>([]);\n\n protected readonly shortcuts = computed(() => parseShortcut(this.shortcut()));\n\n protected readonly preferredShortcut = computed(() => getPreferredShortcut(this.shortcuts()));\n\n protected readonly shortcutTokens = computed(() => formatShortcutTokens(this.preferredShortcut()?.shortcut || ''));\n\n readonly #disabledActiveKeysEffect = effect(() => {\n if (this.disabled()) {\n this.activeKeys.set([]);\n }\n });\n\n protected onClick(): void {\n this.trigger.emit();\n }\n\n protected onDocumentKeydown(event: KeyboardEvent): void {\n if (this.disabled() || !event.key) {\n return;\n }\n\n this.activeKeys.set(Array.from(getPressedKeys(event)));\n this.handleShortcut(event);\n }\n\n protected onDocumentKeyup(event: KeyboardEvent): void {\n if (this.disabled() || !event.key) {\n return;\n }\n\n this.activeKeys.set(Array.from(getPressedKeys(event)));\n }\n\n protected onWindowBlur(): void {\n this.activeKeys.set([]);\n }\n\n private handleShortcut(event: KeyboardEvent): void {\n if (event.defaultPrevented || event.repeat || shouldIgnoreShortcut(event)) {\n return;\n }\n\n const matchedShortcut = this.shortcuts().find((shortcut) => matchesShortcut(shortcut, event));\n\n if (!matchedShortcut) {\n return;\n }\n\n if (this.preventDefault()) {\n event.preventDefault();\n }\n\n this.trigger.emit();\n }\n}\n","<button class=\"search-button\" type=\"button\" [disabled]=\"disabled()\" (click)=\"onClick()\">\n <ng-content select=\"ng-template\" />\n <ng-content>\n <ng-container *ngTemplateOutlet=\"templates()['icon'] || defaultIconTemplate\" />\n <span class=\"search-button-placeholder\">{{ placeholder() }}</span>\n </ng-content>\n <span class=\"search-button-keys\" aria-hidden=\"true\">\n @for (key of shortcutTokens(); track key) {\n <span\n class=\"search-button-key\"\n [class.active]=\"activeKeys().includes(key)\"\n [attr.data-coreui-search-button-key]=\"key\"\n >{{ key }}</span>\n }\n </span>\n</button>\n\n<ng-template #defaultIconTemplate>\n <svg\n class=\"search-button-icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 512 512\"\n aria-hidden=\"true\"\n >\n <path\n fill=\"currentColor\"\n d=\"m479.6 399.716-81.084-81.084-62.368-25.767A175 175 0 0 0 368 192c0-97.047-78.953-176-176-176S16 94.953 16 192s78.953 176 176 176a175.03 175.03 0 0 0 101.619-32.377l25.7 62.2 81.081 81.088a56 56 0 1 0 79.2-79.195M48 192c0-79.4 64.6-144 144-144s144 64.6 144 144-64.6 144-144 144S48 271.4 48 192m408.971 264.284a24.03 24.03 0 0 1-33.942 0l-76.572-76.572-23.894-57.835 57.837 23.894 76.573 76.572a24.03 24.03 0 0 1-.002 33.941\"\n />\n </svg>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { SearchButtonComponent } from './search-button.component';\n\n@NgModule({\n imports: [\n SearchButtonComponent\n ],\n exports: [\n SearchButtonComponent\n ]\n})\nexport class SearchButtonModule {}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { SidebarComponent } from './sidebar/sidebar.component';\n\nexport interface ISidebarAction {\n unfoldable?: boolean | 'toggle';\n visible?: boolean | 'toggle';\n toggle?: 'visible' | 'unfoldable';\n narrow?: boolean;\n mobile?: boolean;\n sidebar?: SidebarComponent;\n id?: string;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SidebarService {\n readonly #sidebarState = new BehaviorSubject<ISidebarAction>({});\n readonly sidebarState$ = this.#sidebarState.asObservable();\n\n toggle(action: ISidebarAction): void {\n this.#sidebarState.next(action);\n }\n}\n","import { DOCUMENT, inject, Injectable, Renderer2 } from '@angular/core';\nimport { SidebarService } from '../sidebar.service';\nimport { SidebarComponent } from '../sidebar/sidebar.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SidebarBackdropService {\n readonly #document = inject<Document>(DOCUMENT);\n readonly #sidebarService = inject(SidebarService);\n\n #backdrop!: HTMLElement;\n renderer!: Renderer2;\n #clickListener = (): void => {\n /* empty */\n };\n\n setBackdrop(sidebar: SidebarComponent): void {\n const backdrop = this.#document.getElementsByClassName('sidebar-backdrop');\n // console.log(`sidebar-${this.id}`, ' setBackdrop', backdrop);\n if (backdrop.length === 0) {\n this.#backdrop = this.renderer.createElement('div');\n this.renderer.addClass(this.#backdrop, 'sidebar-backdrop');\n this.renderer.appendChild(this.#document.body, this.#backdrop);\n this.#clickListener = this.renderer.listen(this.#backdrop, 'click', (e) => {\n // console.log(`sidebar-${this.id}`, ' backdrop click', e);\n this.#sidebarService.toggle({ toggle: 'visible', sidebar });\n });\n }\n // console.log(this.backdrop, sidebar.sidebarState.mobile, sidebar.sidebarState.show);\n if (this.#backdrop && sidebar.sidebarState.mobile && sidebar.sidebarState.visible) {\n this.renderer.addClass(this.#backdrop, 'fade');\n this.renderer.addClass(this.#backdrop, 'show');\n // this.renderer.removeClass(this.backdrop, 'd-none');\n } else {\n this.renderer.removeClass(this.#backdrop, 'show');\n this.renderer.removeClass(this.#backdrop, 'fade');\n // this.renderer.addClass(this.backdrop, 'd-none');\n }\n }\n\n clearBackdrop(): void {\n if (this.#backdrop) {\n // clear backdrop click Listener\n this.#clickListener();\n // this.renderer.listen(this.backdrop, 'click', (e): void => {} );\n this.renderer.removeChild(this.#document.body, this.#backdrop);\n // @ts-ignore\n this.#backdrop = undefined;\n }\n }\n}\n","import {\n booleanAttribute,\n Component,\n computed,\n DOCUMENT,\n effect,\n inject,\n input,\n linkedSignal,\n OnChanges,\n OnDestroy,\n OnInit,\n output,\n Renderer2,\n signal,\n SimpleChanges\n} from '@angular/core';\nimport { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\nimport { Subscription } from 'rxjs';\n\nimport { ISidebarAction, SidebarService } from '../sidebar.service';\nimport { SidebarBackdropService } from '../sidebar-backdrop/sidebar-backdrop.service';\n\n@Component({\n selector: 'c-sidebar',\n exportAs: 'cSidebar',\n template: '<ng-content />',\n host: {\n class: 'sidebar',\n '[class]': 'hostClasses()',\n '[inert]': '!this.sidebarState.visible || null'\n }\n})\nexport class SidebarComponent implements OnChanges, OnDestroy, OnInit {\n readonly #document = inject<Document>(DOCUMENT);\n readonly #renderer = inject(Renderer2);\n readonly #breakpointObserver = inject(BreakpointObserver);\n readonly #sidebarService = inject(SidebarService);\n readonly #backdropService = inject(SidebarBackdropService);\n\n #initialized = false;\n #onMobile = false;\n #layoutChangeSubscription!: Subscription;\n #stateToggleSubscription!: Subscription;\n\n readonly state = signal<ISidebarAction>({\n sidebar: this\n });\n\n #stateInitial = {\n narrow: false,\n visible: false,\n unfoldable: false\n };\n\n /**\n * Sets if the color of text should be colored for a light or dark background.\n * @returns 'dark' | 'light'\n */\n readonly colorScheme = input<'dark' | 'light'>();\n\n /**\n * Sets html attribute id.\n * @returns string\n */\n readonly id = input<string>();\n\n /**\n * Make sidebar narrow.\n * @returns boolean\n * @default false\n */\n readonly narrowInput = input(false, { transform: booleanAttribute, alias: 'narrow' });\n\n readonly #narrow = linkedSignal(this.narrowInput);\n\n set narrow(value) {\n this.#narrow.set(value);\n }\n\n get narrow() {\n return this.#narrow();\n }\n\n /**\n * Set sidebar to overlaid variant.\n * @returns boolean\n * @default false\n */\n readonly overlaid = input(false, { transform: booleanAttribute });\n\n /**\n * Components placement, there’s no default placement.\n * @returns 'start' | 'end'\n */\n readonly placement = input<'start' | 'end'>();\n\n /**\n * Place sidebar in non-static positions.\n * @returns 'fixed' | 'sticky'\n * @default 'fixed'\n */\n readonly position = input<'fixed' | 'sticky'>('fixed');\n\n /**\n * Size the component small, large, or extra large.\n * @returns 'sm' | 'lg' | 'xl'\n */\n readonly size = input<'sm' | 'lg' | 'xl'>();\n\n /**\n * Expand narrowed sidebar on hover.\n * @returns boolean\n * @default false\n */\n readonly unfoldableInput = input(false, { transform: booleanAttribute, alias: 'unfoldable' });\n\n readonly unfoldable = linkedSignal({\n source: this.unfoldableInput,\n computation: (value) => value\n });\n\n /**\n * Toggle the visibility of sidebar component.\n * @returns boolean\n * @default false\n */\n readonly visibleInput = input(false, { transform: booleanAttribute, alias: 'visible' });\n\n readonly #visible = linkedSignal(this.visibleInput);\n\n readonly #visibleEffect = effect(() => {\n this.visibleChange?.emit(this.#visible());\n });\n\n set visible(value: boolean) {\n this.#visible.set(value);\n }\n\n get visible() {\n return this.#visible();\n }\n\n /**\n * Event emitted on visibility change.\n * @returns boolean\n */\n readonly visibleChange = output<boolean>();\n\n set sidebarState(value: ISidebarAction) {\n const newState = value;\n const wasOpen = this.state().mobile && this.state().visible;\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 if (newState.visible !== undefined) {\n this.#visible.set(newState.visible && !this.overlaid());\n }\n this.state.update((state) => ({ ...state, ...newState }));\n if (this.state().mobile && this.state().visible) {\n this.#backdropService.setBackdrop(this);\n } else if (wasOpen) {\n this.#backdropService.clearBackdrop();\n }\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 this.#initialized = true;\n }\n\n ngOnDestroy(): void {\n this.stateToggleSubscribe(false);\n this.layoutChangeSubscribe(false);\n if (this.state().mobile && this.state().visible) {\n this.#backdropService.clearBackdrop();\n }\n }\n\n ngOnChanges(changes: SimpleChanges<SidebarComponent>): void {\n if (!this.#initialized) {\n return;\n }\n const state = this.state();\n const newState: ISidebarAction = {};\n for (const [key, change] of [\n ['narrow', changes.narrowInput],\n ['unfoldable', changes.unfoldableInput],\n ['visible', changes.visibleInput]\n ] as const) {\n if (change && state[key] !== change.currentValue) {\n newState[key] = change.currentValue;\n }\n }\n if (Object.keys(newState).length) {\n this.#sidebarService.toggle({ ...newState, sidebar: this });\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 (state.sidebar ? this === state.sidebar : this.id() === state.id) {\n this.sidebarState = { ...state };\n }\n });\n } else {\n this.#stateToggleSubscription?.unsubscribe();\n }\n }\n\n layoutChangeSubscribe(subscribe: boolean = true): void {\n const onMobile = `(max-width: ${this.getMobileBreakpoint})`;\n\n if (subscribe) {\n const layoutChanges = this.#breakpointObserver.observe([onMobile]);\n\n this.#layoutChangeSubscription = layoutChanges.subscribe((result: BreakpointState) => {\n const isOnMobile = result.breakpoints[onMobile];\n const isUnfoldable = isOnMobile ? false : this.unfoldable();\n if (this.#onMobile !== isOnMobile) {\n this.#onMobile = isOnMobile;\n this.#sidebarService.toggle({\n mobile: isOnMobile,\n unfoldable: isUnfoldable,\n visible: isOnMobile ? !isOnMobile : this.#stateInitial.visible,\n sidebar: this\n });\n }\n });\n } else {\n this.#layoutChangeSubscription?.unsubscribe();\n }\n }\n}\n","import { Component, computed, input } from '@angular/core';\nimport { RouterLink, type UrlTree } from '@angular/router';\n\nimport { HtmlAttributesDirective } from '../../shared';\n\n@Component({\n selector: 'c-sidebar-brand',\n templateUrl: './sidebar-brand.component.html',\n imports: [RouterLink, HtmlAttributesDirective],\n host: { class: 'sidebar-brand' }\n})\nexport class SidebarBrandComponent {\n /**\n * Image for the wide sidebar.\n */\n readonly brandFull = input<any>();\n\n /**\n * Image for the narrow sidebar.\n */\n readonly brandNarrow = input<any>();\n\n /**\n * Router link for the sidebar brand.\n */\n readonly routerLink = input<string | any[] | UrlTree | null | undefined>();\n\n readonly brandImg = computed(() => Boolean(this.brandFull() || this.brandNarrow()));\n}\n","@if (brandImg()) {\n <a [routerLink]=\"routerLink()\">\n @if (brandFull()) {\n <img [cHtmlAttr]=\"brandFull()\" [class]=\"'sidebar-brand-full'\">\n }\n @if (brandNarrow()) {\n <img [cHtmlAttr]=\"brandNarrow()\" [class]=\"'sidebar-brand-narrow'\">\n }\n </a>\n} @else {\n <ng-content />\n}\n","import { Directive, inject, input } from '@angular/core';\n\nimport { SidebarService } from '../sidebar.service';\n\n/**\n * Allows the sidebar to be toggled/folded via click on host element.\n */\n@Directive({\n selector: '[cSidebarToggle]',\n exportAs: 'cSidebarToggle',\n host: {\n '(click)': 'toggleOpen($event)'\n }\n})\nexport class SidebarToggleDirective {\n readonly #sidebarService = inject(SidebarService);\n\n /**\n * Id of sidebar for toggle action.\n * @returns string\n */\n readonly id = input<string>(undefined, { alias: 'cSidebarToggle' });\n /**\n * Sidebar property name for toggle action.\n *\n * @returns 'visible' | 'unfoldable'\n * @default 'visible'\n */\n readonly toggle = input<'visible' | 'unfoldable'>('visible');\n\n toggleOpen($event: any): void {\n $event.preventDefault();\n this.#sidebarService.toggle({ toggle: this.toggle(), id: this.id() });\n }\n}\n","import { Directive, input } from '@angular/core';\nimport { SidebarToggleDirective } from '../sidebar-toggle/sidebar-toggle.directive';\n\n@Directive({\n selector: '[cSidebarToggler]',\n hostDirectives: [{ directive: SidebarToggleDirective, inputs: ['cSidebarToggle: cSidebarToggler', 'toggle'] }],\n host: {\n '[attr.role]': 'role()',\n class: 'sidebar-toggler',\n '[style]': 'getStyles'\n }\n})\nexport class SidebarTogglerDirective {\n /**\n * Default role for sidebar toggler.\n * @returns string\n * @default 'button'\n */\n readonly role = input('button');\n\n get getStyles(): any {\n return {\n appearance: 'button',\n 'align-items': 'flex-start',\n cursor: 'pointer'\n };\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-sidebar-header',\n template: '<ng-content />',\n host: { class: 'sidebar-header' }\n})\nexport class SidebarHeaderComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-sidebar-footer',\n template: '<ng-content />',\n host: { class: 'sidebar-footer' }\n})\nexport class SidebarFooterComponent {}\n","/**\n * Maps a whitespace-separated class string to a `[class]` binding object, one key per class.\n * @param classes the classes, e.g. `item.class` of a nav item\n * @returns a key set to `true` for each class, empty without classes\n */\nexport const classMap = (classes?: string): Record<string, boolean> =>\n Object.fromEntries(\n (classes ?? '')\n .split(/[\\t\\n\\f\\r ]+/)\n .filter(Boolean)\n .map((name) => [name, true])\n );\n","import { Injectable } from '@angular/core';\n\nimport { INavData } from './sidebar-nav';\nimport { classMap } from './sidebar-nav.utils';\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 if (item.url == null) {\n return false;\n }\n const url = Array.isArray(item.url) ? router.createUrlTree(item.url) : item.url;\n return router.isActive(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 return {\n 'nav-icon': true,\n ...classMap(item.icon)\n };\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\nimport { classMap } from './sidebar-nav.utils';\n\n@Pipe({\n name: 'cSidebarNavIcon'\n})\nexport class SidebarNavIconPipe implements PipeTransform {\n transform(item: any, args?: any): any {\n return {\n 'nav-icon': true,\n ...classMap(item?.icon)\n };\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { classMap } from './sidebar-nav.utils';\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 ...classMap(badge.class)\n };\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'cSidebarNavLink'\n})\nexport class SidebarNavLinkPipe implements PipeTransform {\n transform(item: any): any {\n const disabled = item?.attributes?.disabled;\n\n return {\n 'nav-link': true,\n disabled,\n 'btn-link': disabled,\n [`nav-link-${item.variant}`]: !!item.variant\n };\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { Component, inject, input, OnDestroy, OnInit, output } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NavigationEnd, Router, RouterModule } from '@angular/router';\nimport { Observable, Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { IconDirective } from '@coreui/icons-angular';\n// import {SidebarService} from '../sidebar.service';\nimport { HtmlAttributesDirective } from '../../shared';\nimport { SidebarNavHelper } from './sidebar-nav.service';\nimport { INavData } from './sidebar-nav';\nimport { SidebarNavLinkPipe } from './sidebar-nav-link.pipe';\nimport { SidebarNavBadgePipe } from './sidebar-nav-badge.pipe';\nimport { SidebarNavIconPipe } from './sidebar-nav-icon.pipe';\n\n@Component({\n selector: 'c-sidebar-nav-link-content',\n template: `\n @let itemLinkContent = item();\n @if (itemLinkContent) {\n <ng-container>{{ itemLinkContent?.name ?? '' }}</ng-container>\n }\n `,\n providers: [SidebarNavHelper]\n})\nexport class SidebarNavLinkContentComponent {\n readonly helper = inject(SidebarNavHelper);\n\n /**\n * The nav data item rendered as the link content.\n * @returns INavData\n * @default {}\n */\n readonly item = input<INavData>({});\n}\n\n@Component({\n selector: 'c-sidebar-nav-link',\n templateUrl: './sidebar-nav-link.component.html',\n providers: [SidebarNavHelper],\n imports: [\n RouterModule,\n HtmlAttributesDirective,\n IconDirective,\n SidebarNavLinkContentComponent,\n SidebarNavLinkPipe,\n SidebarNavBadgePipe,\n SidebarNavIconPipe,\n NgTemplateOutlet\n ]\n})\nexport class SidebarNavLinkComponent implements OnInit, OnDestroy {\n readonly router = inject(Router);\n\n /**\n * The nav data item rendered as a sidebar nav link.\n * @returns INavData\n */\n readonly item = input<INavData>();\n\n /**\n * Event emitted when the sidebar nav link is clicked.\n * @returns void\n */\n readonly linkClick = output();\n\n public linkType!: string;\n public href!: string;\n public linkActive!: boolean;\n private url!: string;\n\n private navigationEndObservable: Observable<NavigationEnd>;\n private navSubscription!: Subscription;\n\n constructor() {\n const router = this.router;\n\n this.navigationEndObservable = router.events.pipe(\n filter((event) => {\n return event instanceof NavigationEnd;\n }),\n takeUntilDestroyed()\n ) as Observable<NavigationEnd>;\n }\n\n ngOnInit(): void {\n const item = this.item() ?? {};\n this.url =\n typeof item.url === 'string'\n ? item.url\n : this.router.serializeUrl(this.router.createUrlTree((item.url as any[]) ?? ['']));\n this.linkType = this.getLinkType();\n this.href = this.isDisabled() ? '' : item.href || this.url;\n this.linkActive = this.router.url.split(/[?#(;]/)[0] === this.href.split(/[?#(;]/)[0];\n this.navSubscription = this.navigationEndObservable.subscribe((event) => {\n const itemUrlArray = this.href.split(/[?#(;]/)[0].split('/');\n const urlArray = event.urlAfterRedirects.split(/[?#(;]/)[0].split('/');\n this.linkActive = itemUrlArray.every((value, index) => value === urlArray[index]);\n });\n }\n\n ngOnDestroy(): void {\n this.navSubscription?.unsubscribe();\n }\n\n public getLinkType(): string {\n return this.isDisabled() ? 'disabled' : this.isExternalLink() ? 'external' : 'link';\n }\n\n public isDisabled(): boolean {\n return this.item()?.attributes?.['disabled'];\n }\n\n public isExternalLink(): boolean {\n const item = this.item() ?? {};\n const linkPath = Array.isArray(item.url) ? item.url[0] : item.url;\n return !!item.href || linkPath?.substring(0, 4) === 'http';\n }\n\n linkClicked(): void {\n this.linkClick?.emit();\n }\n\n // public hideMobile() {\n // // todo: proper scrollIntoView() after NavigationEnd\n // setTimeout(() => {\n // console.log('scroll')\n // this.hostElement.nativeElement.scrollIntoView();\n // }, 1000)\n // this.sidebarService.toggle({open: false, breakpoint: ''});\n // }\n}\n","@let linkItem = item() ?? {};\n\n@switch (linkType) {\n @case ('disabled') {\n <a [cHtmlAttr]=\"linkItem.attributes ?? {}\" [class]=\"linkItem | cSidebarNavLink\">\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: { $implicit: linkItem }\" />\n <c-sidebar-nav-link-content [item]=\"linkItem\" />\n @if (linkItem.badge) {\n <span [class]=\"linkItem | cSidebarNavBadge\">{{ linkItem.badge?.text }}</span>\n }\n </a>\n }\n @case ('external') {\n <a\n (click)=\"linkClicked()\"\n [cHtmlAttr]=\"linkItem.attributes ?? {}\"\n [href]=\"href\"\n [class]=\"linkItem | cSidebarNavLink\"\n >\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: { $implicit: linkItem }\" />\n <c-sidebar-nav-link-content [item]=\"linkItem\" />\n @if (linkItem.badge) {\n <span [class]=\"linkItem | cSidebarNavBadge\">{{ linkItem.badge?.text }}</span>\n }\n </a>\n }\n @default {\n <a\n (click)=\"linkClicked()\"\n [cHtmlAttr]=\"linkItem.attributes ?? {}\"\n [fragment]=\"$safeNavigationMigration(linkItem.linkProps?.fragment)\"\n [class]=\"linkItem | cSidebarNavLink\"\n [preserveFragment]=\"linkItem.linkProps?.preserveFragment ?? false\"\n [queryParamsHandling]=\"$safeNavigationMigration(linkItem.linkProps?.queryParamsHandling)\"\n [queryParams]=\"linkItem.linkProps?.queryParams ?? null\"\n [replaceUrl]=\"linkItem.linkProps?.replaceUrl ?? false\"\n [routerLinkActiveOptions]=\"linkItem.linkProps?.routerLinkActiveOptions ?? { exact: false }\"\n [routerLink]=\"linkItem.url\"\n [skipLocationChange]=\"linkItem.linkProps?.skipLocationChange ?? false\"\n [state]=\"linkItem.linkProps?.state ?? {}\"\n [target]=\"$safeNavigationMigration(linkItem.attributes?.['target'])\"\n routerLinkActive=\"active\"\n >\n <!-- [class.active]=\"linkActive\"-->\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: { $implicit: linkItem }\" />\n <c-sidebar-nav-link-content [item]=\"linkItem\" />\n @if (linkItem.badge) {\n <span [class]=\"linkItem | cSidebarNavBadge\">{{ linkItem.badge?.text }}</span>\n }\n </a>\n }\n}\n<ng-template #iconTemplate let-item>\n <!-- <i *ngIf=\"item?.icon\" [class]=\"item | cSidebarNavIcon\"></i>-->\n @if (item?.icon) {\n <span class=\"nav-icon\">\n <span [class]=\"item.icon ?? ''\"></span>\n </span>\n }\n @if (item?.iconComponent) {\n <svg\n [cIcon]=\"$safeNavigationMigration(item.iconComponent?.content)\"\n [customClasses]=\"item | cSidebarNavIcon\"\n [name]=\"$safeNavigationMigration(item.iconComponent?.name)\"\n ></svg>\n }\n @if (!item?.icon && !item?.iconComponent) {\n <span [class]=\"item | cSidebarNavIcon\"></span>\n }\n</ng-template>\n","import { Component, computed, inject, input } from '@angular/core';\n\nimport { HtmlAttributesDirective } from '../../shared';\nimport { SidebarNavHelper } from './sidebar-nav.service';\nimport { SidebarNavBadgePipe } from './sidebar-nav-badge.pipe';\nimport { INavData } from './sidebar-nav';\nimport { classMap } from './sidebar-nav.utils';\n\n@Component({\n selector: 'c-sidebar-nav-label',\n templateUrl: './sidebar-nav-label.component.html',\n imports: [HtmlAttributesDirective, SidebarNavBadgePipe]\n})\nexport class SidebarNavLabelComponent {\n readonly helper = inject(SidebarNavHelper);\n\n /**\n * The nav data item rendered as a sidebar nav label.\n * @returns INavData\n * @default {}\n */\n readonly item = input<INavData>({});\n\n readonly itemClass = computed(() => ({\n 'nav-link': true,\n 'nav-label': true,\n 'c-nav-label': true,\n 'c-active': true,\n ...classMap(this.item().class)\n }));\n\n readonly labelIconClass = computed(() => {\n const item = this.item();\n return {\n ...this.helper.getIconClass(item),\n [`text-${item.label?.variant}`]: !!item.label?.variant,\n ...classMap(item.label?.class)\n };\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()\" aria-hidden=\"true\"></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, computed, effect, ElementRef, inject, input, Renderer2 } from '@angular/core';\nimport { INavData } from './sidebar-nav';\nimport { classMap } from './sidebar-nav.utils';\n\n@Component({\n selector: 'c-sidebar-nav-title',\n template: '',\n host: {\n '[class]': 'itemClass()'\n }\n})\nexport class SidebarNavTitleComponent {\n readonly #elementRef = inject(ElementRef);\n readonly #renderer = inject(Renderer2);\n\n /**\n * The nav data item rendered as a sidebar nav title.\n * @returns INavData\n */\n readonly item = input<INavData>();\n\n readonly itemClass = computed(() => ({\n 'nav-title': true,\n ...classMap(this.item()?.class)\n }));\n\n readonly #itemEffect = effect(() => {\n const item = this.item();\n const nativeElement: HTMLElement = this.#elementRef.nativeElement;\n for (const child of [...nativeElement.childNodes]) {\n this.#renderer.removeChild(nativeElement, child);\n }\n if (item?.name) {\n const name = this.#renderer.createText(item.name);\n\n if (item?.wrapper) {\n const wrapper = this.#renderer.createElement(item.wrapper.element);\n this.addAttribs(item.wrapper.attributes, wrapper);\n this.#renderer.appendChild(wrapper, name);\n this.#renderer.appendChild(nativeElement, wrapper);\n } else {\n this.#renderer.appendChild(nativeElement, name);\n }\n }\n });\n\n private addAttribs(attribs: { [x: string]: any }, element: HTMLElement): void {\n if (attribs) {\n for (const attr in attribs) {\n if (attr === 'style' && typeof attribs[attr] === 'object') {\n this.setStyle(attribs[attr], element);\n } else if (attr === 'class') {\n this.addClass(attribs[attr], element);\n } else {\n this.setAttrib(attr, attribs[attr], element);\n }\n }\n }\n }\n\n private setStyle(styles: { [x: string]: any }, el: any): void {\n for (const style in styles) {\n if (style) {\n this.#renderer.setStyle(el, style, styles[style]);\n }\n }\n }\n\n private addClass(classes: string | string[], el: any): void {\n const classArray = Array.isArray(classes) ? classes : classes.split(' ');\n classArray\n .filter((element) => element.length > 0)\n .forEach((element) => {\n this.#renderer.addClass(el, element);\n });\n }\n\n private setAttrib(key: string, value: string, el: any): void {\n this.#renderer.setAttribute(el, key, value);\n }\n}\n","import { Component, input } from '@angular/core';\nimport { INavData } from './sidebar-nav';\n\n@Component({\n selector: 'c-sidebar-nav-divider',\n template: ``\n})\nexport class SidebarNavDividerComponent {\n /**\n * The nav data item rendered as a sidebar nav divider.\n * @returns INavData\n */\n readonly item = input<INavData>();\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\n\nimport { SidebarNavHelper } from './sidebar-nav.service';\n\n@Pipe({\n name: 'cSidebarNavItemClass'\n})\nexport class SidebarNavItemClassPipe implements PipeTransform {\n readonly helper = inject(SidebarNavHelper);\n\n // transform(item: any, ...args: any[]): any {\n transform(item: any, args?: any[]): any {\n const itemType = this.helper.itemType(item);\n let itemClass;\n if (['divider', 'title'].includes(itemType)) {\n itemClass = `nav-${itemType}`;\n } else if (itemType === 'group') {\n // itemClass = 'c-sidebar-nav-group' ;\n itemClass = '';\n } else {\n itemClass = 'nav-item';\n }\n return item.class ? `${itemClass} ${item.class}` : itemClass;\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n Component,\n computed,\n effect,\n ElementRef,\n forwardRef,\n inject,\n input,\n OnChanges,\n OnDestroy,\n OnInit,\n Renderer2,\n signal,\n SimpleChanges,\n untracked\n} from '@angular/core';\nimport { NavigationEnd, Router, RouterModule } from '@angular/router';\nimport { Observable, Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { SidebarService } from '../sidebar.service';\nimport { SidebarComponent } from '../sidebar/sidebar.component';\nimport { INavData } from './sidebar-nav';\nimport { SidebarNavHelper } from './sidebar-nav.service';\nimport { SidebarNavGroupService } from './sidebar-nav-group.service';\nimport { NavGroupService } from '../../nav';\nimport { CollapseDirective } from '../../collapse';\nimport { HtmlAttributesDirective } from '../../shared';\nimport { SidebarNavIconPipe } from './sidebar-nav-icon.pipe';\nimport { SidebarNavBadgePipe } from './sidebar-nav-badge.pipe';\nimport { SidebarNavLinkComponent } from './sidebar-nav-link.component';\nimport { SidebarNavLabelComponent } from './sidebar-nav-label.component';\nimport { SidebarNavTitleComponent } from './sidebar-nav-title.component';\nimport { SidebarNavDividerComponent } from './sidebar-nav-divider.component';\nimport { SidebarNavItemClassPipe } from './sidebar-nav-item-class.pipe';\nimport { IconDirective } from '@coreui/icons-angular';\n\n@Component({\n selector: 'c-sidebar-nav-group',\n templateUrl: './sidebar-nav-group.component.html',\n styleUrls: ['./sidebar-nav-group.component.scss'],\n providers: [SidebarNavHelper],\n imports: [\n CollapseDirective,\n HtmlAttributesDirective,\n IconDirective,\n NgTemplateOutlet,\n SidebarNavIconPipe,\n SidebarNavBadgePipe,\n forwardRef(() => SidebarNavComponent)\n ],\n host: {\n '[class]': 'hostClasses()'\n }\n})\nexport class SidebarNavGroupComponent implements OnInit, OnDestroy {\n readonly #router = inject(Router);\n readonly #hostElement = inject(ElementRef);\n readonly #sidebarNavGroupService = inject(SidebarNavGroupService);\n public readonly helper = inject(SidebarNavHelper);\n\n constructor() {\n const router = this.#router;\n\n this.navigationEndObservable = router.events.pipe(\n filter((event: any) => event instanceof NavigationEnd)\n ) as Observable<NavigationEnd>;\n }\n\n /**\n * The nav data item rendered as a sidebar nav group.\n * @returns INavData\n */\n readonly item = input<INavData>();\n\n /**\n * Determines when an inactive `c-sidebar-nav-group` closes.\n * - `path`: on an active route change only\n * - `close`: when another group is clicked\n * - `none`: never, the group stays open — it stops reacting to the route altogether,\n * so a matching route neither opens it on init nor on a later navigation\n */\n readonly dropdownMode = input<'path' | 'none' | 'close'>('path');\n\n /**\n * Sets the group's initial expanded state.\n * @returns boolean\n */\n readonly show = input<boolean>();\n\n /**\n * Renders the group's nested nav in compact mode.\n * @returns boolean\n */\n readonly compact = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n\n readonly hostClasses = computed(() => {\n return {\n 'nav-group': true,\n show: this.open()\n };\n });\n\n navigationEndObservable: Observable<NavigationEnd>;\n navSubscription!: Subscription;\n navGroupSubscription!: Subscription;\n\n readonly open = signal<boolean | undefined>(undefined);\n readonly navItems = signal<INavData[]>([]);\n readonly display = signal<string | null>(null);\n\n ngOnInit(): void {\n this.navItems.set([...(this.item()?.children ?? [])]);\n\n this.navSubscription = this.navigationEndObservable.subscribe((event: NavigationEnd) => {\n if (this.dropdownMode() !== 'none') {\n const samePath = this.samePath(event.url);\n this.openGroup(samePath);\n }\n });\n\n if (this.dropdownMode() !== 'none' && this.samePath(this.#router.routerState.snapshot.url)) {\n this.openGroup(true);\n }\n\n this.navGroupSubscription = this.#sidebarNavGroupService.sidebarNavGroupState$.subscribe((next) => {\n if (this.dropdownMode() === 'close' && next.sidebarNavGroup && next.sidebarNavGroup !== this) {\n if (this.samePath(this.#router.routerState.snapshot.url)) {\n if (this.open()) {\n return;\n }\n }\n this.openGroup(false);\n }\n });\n }\n\n samePath(url: string): boolean {\n // console.log('item:', this.item.name, this.item.url, 'url:', url);\n const itemUrl = this.item()?.url ?? [];\n const itemArray = Array.isArray(itemUrl) ? itemUrl : itemUrl.split('/');\n const urlArray = url.split('/');\n return itemArray?.every((value: string, index: number) => {\n // console.log(value === urlArray[index], 'value:', value, 'index:', index, urlArray[index], url);\n return value === urlArray[index];\n });\n }\n\n openGroup(open: boolean): void {\n if (this.open() !== undefined && this.open() !== open) {\n // the group drops `show` in the same pass, hiding the nav before cCollapse can measure it\n this.display.set('block');\n }\n this.open.set(open);\n }\n\n toggleGroup($event: any): void {\n $event.preventDefault();\n this.openGroup(!this.open());\n if (this.open()) {\n this.#sidebarNavGroupService.toggle({ open: this.open(), sidebarNavGroup: this });\n }\n }\n\n ngOnDestroy(): void {\n this.navSubscription?.unsubscribe();\n }\n\n onCollapseChange(state: string): void {\n this.display.set(state === 'collapsed' || state === 'open' ? null : 'block');\n }\n}\n\n@Component({\n selector: 'c-sidebar-nav',\n templateUrl: './sidebar-nav.component.html',\n styleUrls: ['./sidebar-nav.component.scss'],\n imports: [\n HtmlAttributesDirective,\n SidebarNavLinkComponent,\n SidebarNavLabelComponent,\n SidebarNavTitleComponent,\n SidebarNavDividerComponent,\n forwardRef(() => SidebarNavGroupComponent),\n SidebarNavItemClassPipe,\n RouterModule\n ],\n host: {\n '[class]': 'hostClasses()',\n '[attr.role]': 'role()'\n },\n providers: [NavGroupService, SidebarNavGroupService]\n})\nexport class SidebarNavComponent implements OnChanges {\n readonly sidebar = inject(SidebarComponent, { optional: true });\n readonly helper = inject(SidebarNavHelper);\n readonly router = inject(Router);\n readonly #renderer = inject(Renderer2);\n readonly #hostElement = inject(ElementRef);\n readonly #sidebarService = inject(SidebarService);\n readonly #navGroupService = inject(NavGroupService);\n\n /**\n * Configuration object for sidebar-nav.\n * @returns INavData[] | undefined\n * @default []\n */\n readonly navItems = input<INavData[] | undefined>([]);\n\n /**\n * Determines when an inactive `c-sidebar-nav-group` closes.\n * - `path`: on an active route change only\n * - `close`: when another group is clicked\n * - `none`: never, the group stays open — it stops reacting to the route altogether,\n * so a matching route neither opens it on init nor on a later navigation\n */\n readonly dropdownMode = input<'path' | 'none' | 'close'>('path');\n /**\n * Renders `c-sidebar-nav` as a nested group's item list rather than the top-level sidebar nav.\n * @returns boolean\n */\n readonly groupItems = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Renders the nav in compact mode.\n * @returns boolean\n */\n readonly compact = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Default role for sidebar nav.\n * @returns string\n * @default 'navigation'\n */\n readonly role = input('navigation');\n /**\n * Set the sidebar nav variant to tree.\n * @default undefined\n * @since 5.7.28\n */\n readonly variant = input<'tree'>();\n\n readonly hostClasses = computed(() => {\n const groupItems = this.groupItems();\n const variant = this.variant();\n return {\n 'sidebar-nav': !groupItems,\n 'nav-group-items': groupItems,\n [`sidebar-nav-${variant}`]: !groupItems && !!variant,\n compact: this.compact()\n };\n });\n\n readonly #dropdownModeEffect = effect(() => {\n const openOnActive = this.dropdownMode() !== 'none';\n untracked(() => {\n this.#navGroupService.openOnActive.set(openOnActive);\n });\n });\n\n // @HostBinding('class.nav-group-items')\n // get sidebarNavGroupItemsClass(): boolean {\n // return !!this.groupItems;\n // }\n\n readonly navItemsArray = signal<INavData[]>([]);\n\n public ngOnChanges(changes: SimpleChanges): void {\n const navItems = this.navItems();\n this.navItemsArray.set(Array.isArray(navItems) ? navItems.slice() : []);\n }\n\n public hideMobile(): void {\n // todo: proper scrollIntoView() after NavigationEnd\n if (this.sidebar && this.sidebar.sidebarState.mobile) {\n this.#sidebarService.toggle({ toggle: 'visible', sidebar: this.sidebar });\n }\n }\n}\n","@let grpItem = item();\n<a\n (click)=\"toggleGroup($event)\"\n [cHtmlAttr]=\"$safeNavigationMigration(grpItem?.attributes)\"\n class=\"nav-link nav-group-toggle\"\n href\n>\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: { $implicit: grpItem }\" />\n <ng-container>{{ grpItem?.name }}</ng-container>\n @if (grpItem?.badge) {\n <span [class]=\"grpItem | cSidebarNavBadge\">{{ grpItem?.badge?.text }}</span>\n }\n</a>\n<c-sidebar-nav\n (collapseChange)=\"onCollapseChange($event)\"\n [compact]=\"compact()\"\n [dropdownMode]=\"dropdownMode()\"\n [groupItems]=\"true\"\n [navItems]=\"navItems()\"\n [style.display]=\"display()\"\n [visible]=\"!!open()\"\n cCollapse\n/>\n\n<ng-template #iconTemplate let-item>\n <!-- <i *ngIf=\"item?.icon\" [class]=\"item | cSidebarNavIcon\"></i>-->\n @if (item?.icon) {\n <span class=\"nav-icon\">\n <span [class]=\"item.icon ?? ''\"></span>\n </span>\n }\n @if (item?.iconComponent) {\n <svg\n [cIcon]=\"$safeNavigationMigration(item.iconComponent?.content)\"\n [customClasses]=\"item | cSidebarNavIcon\"\n [name]=\"$safeNavigationMigration(item.iconComponent?.name)\"\n />\n }\n @if (!item?.icon && !item?.iconComponent) {\n <span [class]=\"item | cSidebarNavIcon\"></span>\n }\n</ng-template>\n","@for (nItem of navItemsArray(); track nItem) {\n @switch (helper.itemType(nItem)) {\n @case ('group') {\n <c-sidebar-nav-group\n [dropdownMode]=\"dropdownMode()\"\n [item]=\"nItem\"\n [class]=\"nItem | cSidebarNavItemClass\"\n [compact]=\"compact()\"\n />\n }\n @case ('divider') {\n <c-sidebar-nav-divider\n [cHtmlAttr]=\"nItem.attributes ?? {}\"\n [item]=\"nItem\"\n [class]=\"nItem | cSidebarNavItemClass\"\n />\n }\n @case ('title') {\n <c-sidebar-nav-title\n [cHtmlAttr]=\"nItem.attributes ?? {}\"\n [item]=\"nItem\"\n />\n }\n @case ('label') {\n <c-sidebar-nav-label\n [item]=\"nItem\"\n [class]=\"nItem | cSidebarNavItemClass\"\n />\n }\n @case ('empty') {\n <ng-container />\n }\n @default {\n <c-sidebar-nav-link\n (linkClick)=\"hideMobile()\"\n [item]=\"nItem\"\n [class]=\"nItem | cSidebarNavItemClass\"\n />\n }\n }\n}\n<ng-content />\n","import { NgModule } from '@angular/core';\n\nimport { SidebarComponent } from './sidebar/sidebar.component';\nimport { SidebarService } from './sidebar.service';\nimport { SidebarBrandComponent } from './sidebar-brand/sidebar-brand.component';\nimport { SidebarToggleDirective } from './sidebar-toggle/sidebar-toggle.directive';\nimport { SidebarTogglerDirective } from './sidebar-toggler/sidebar-toggler.directive';\nimport { SidebarHeaderComponent } from './sidebar-header/sidebar-header.component';\nimport { SidebarFooterComponent } from './sidebar-footer/sidebar-footer.component';\nimport { SidebarNavGroupService } from './sidebar-nav/sidebar-nav-group.service';\n\nimport {\n SidebarNavBadgePipe,\n SidebarNavComponent,\n SidebarNavDividerComponent,\n SidebarNavGroupComponent,\n SidebarNavHelper,\n SidebarNavIconPipe,\n SidebarNavItemClassPipe,\n SidebarNavLabelComponent,\n SidebarNavLinkComponent,\n SidebarNavLinkContentComponent,\n SidebarNavLinkPipe,\n SidebarNavTitleComponent\n} from './sidebar-nav';\n\n@NgModule({\n imports: [\n SidebarComponent,\n SidebarBrandComponent,\n SidebarFooterComponent,\n SidebarHeaderComponent,\n SidebarNavComponent,\n SidebarNavBadgePipe,\n SidebarNavDividerComponent,\n SidebarNavGroupComponent,\n SidebarNavIconPipe,\n SidebarNavItemClassPipe,\n SidebarNavLabelComponent,\n SidebarNavLinkComponent,\n SidebarNavLinkContentComponent,\n SidebarNavLinkPipe,\n SidebarNavTitleComponent,\n SidebarToggleDirective,\n SidebarTogglerDirective\n ],\n exports: [\n SidebarComponent,\n SidebarToggleDirective,\n SidebarTogglerDirective,\n SidebarBrandComponent,\n SidebarNavComponent,\n SidebarHeaderComponent,\n SidebarFooterComponent\n ],\n providers: [\n SidebarService,\n SidebarNavHelper,\n SidebarNavGroupService\n ]\n})\nexport class SidebarModule {}\n","import { Component, computed, input } from '@angular/core';\n\nimport { Colors } from '../coreui.types';\n\n@Component({\n selector: 'c-spinner',\n templateUrl: './spinner.component.html',\n host: {\n '[attr.role]': 'role()',\n '[class]': 'hostClasses()'\n }\n})\nexport class SpinnerComponent {\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly color = input<Colors>();\n\n /**\n * Label for accessibility.\n * @returns string\n * @default 'Loading...'\n */\n readonly label = input('Loading...');\n\n /**\n * Size the component small.\n * @returns 'sm'\n */\n readonly size = input<'sm'>();\n\n /**\n * Set the button variant to an outlined button or a ghost button.\n * @returns 'border' | 'grow'\n * @default 'border'\n */\n readonly variant = input<'border' | 'grow'>('border');\n /**\n * Default role attr for spinner\n * @returns string\n * @default 'status'\n */\n readonly role = input('status');\n\n readonly hostClasses = computed(() => {\n const color = this.color();\n const size = this.size();\n const variant = this.variant();\n\n return {\n [`spinner-${variant}`]: true,\n [`text-${color}`]: !!color,\n [`spinner-${variant}-${size}`]: !!size\n } as Record<string, boolean>;\n });\n}\n","<ng-content>\n <span class=\"visually-hidden\">{{ label() }}</span>\n</ng-content>\n","import { NgModule } from '@angular/core';\n\nimport { SpinnerComponent } from './spinner.component';\n\n@NgModule({\n exports: [\n SpinnerComponent\n ],\n imports: [\n SpinnerComponent\n ]\n})\nexport class SpinnerModule {}\n","import { computed, Directive, input } from '@angular/core';\nimport { Colors } from '../coreui.types';\n\n@Directive({\n selector: '[cTableColor]',\n exportAs: 'cTableColor',\n host: {\n '[class]': 'hostClasses()'\n }\n})\nexport class TableColorDirective {\n /**\n * Use contextual color for tables, table rows or individual cells.\n * @returns Colors | undefined\n */\n readonly color = input<Colors | undefined>(undefined, { alias: 'cTableColor' });\n\n readonly hostClasses = computed(() => {\n const color = this.color();\n return {\n [`table-${color}`]: !!color\n } as Record<string, boolean>;\n });\n}\n","import { booleanAttribute, Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[cTableActive]',\n exportAs: 'cTableActive',\n host: {\n '[class.table-active]': 'active()'\n }\n})\nexport class TableActiveDirective {\n /**\n * Highlight a table row or cell\n * @returns boolean\n */\n readonly active = input(false, { alias: \"cTableActive\", transform: booleanAttribute });\n}\n","import {\n afterNextRender,\n afterRenderEffect,\n ApplicationRef,\n booleanAttribute,\n computed,\n Directive,\n ElementRef,\n inject,\n input,\n OnDestroy,\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 implements OnDestroy {\n readonly #renderer = inject(Renderer2);\n readonly #hostElement = inject(ElementRef);\n readonly #appRef = inject(ApplicationRef);\n\n #wrapper: HTMLDivElement | undefined;\n\n /**\n * Set the vertical alignment.\n * @returns 'bottom' | 'middle' | 'top'\n */\n readonly align = input<'bottom' | 'middle' | 'top'>();\n\n /**\n * Sets the border color of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly borderColor = input<Colors>();\n\n /**\n * Add borders on all sides of the table and cells.\n * @returns boolean\n */\n readonly bordered = input(false, { transform: booleanAttribute });\n\n /**\n * Remove borders on all sides of the table and cells.\n * @returns boolean\n */\n readonly borderless = input(false, { transform: booleanAttribute });\n\n /**\n * Put the `<caption>` on the top of the table.\n * @returns 'top'\n * @values 'top'\n */\n readonly caption = input<'top'>();\n\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly color = input<Colors>();\n\n /**\n * Enable a hover state on table rows within table body.\n * @returns boolean\n */\n readonly hover = input(false, { transform: booleanAttribute });\n\n /**\n * Make table responsive across all viewports or pick a maximum breakpoint with which to have a responsive table up to.\n * @returns boolean | Omit<Breakpoints, 'xs'>\n * @values true | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'\n */\n readonly responsive = input(undefined, {\n transform: (value: boolean | Omit<Breakpoints, 'xs'> | undefined) =>\n value === '' || value === 'true' || value === 'false' ? booleanAttribute(value) : value\n });\n\n /**\n * Make table more compact by cutting all cell `padding` in half.\n * @returns boolean\n */\n readonly small = input(false, { transform: booleanAttribute });\n\n /**\n * Add zebra-striping to any table row within the table body.\n * @returns boolean\n */\n readonly striped = input(false, { transform: booleanAttribute });\n\n /**\n * Add zebra-striping to any table column.\n * @returns boolean\n * @since 4.2.4\n */\n readonly stripedColumns = input(false, { transform: booleanAttribute });\n\n readonly hostClasses = computed(() => {\n const align = this.align();\n const caption = this.caption();\n const borderColor = this.borderColor();\n const bordered = this.bordered();\n const borderless = this.borderless();\n const color = this.color();\n const hover = this.hover();\n const small = this.small();\n const striped = this.striped();\n const stripedColumns = this.stripedColumns();\n\n return {\n table: true,\n [`align-${align}`]: !!align,\n [`caption-${caption}`]: !!caption,\n [`border-${borderColor}`]: !!borderColor,\n 'table-bordered': bordered,\n 'table-borderless': borderless,\n [`table-${color}`]: !!color,\n 'table-hover': hover,\n 'table-sm': small,\n 'table-striped': striped,\n 'table-striped-columns': stripedColumns\n } as Record<string, boolean>;\n });\n\n readonly #responsiveWrapperEffect = afterRenderEffect({\n // this fixes RuntimeError: NG0500: During hydration Angular expected <abc> but found <xyz>.\n // Find more at https://angular.dev/errors/NG0500\n write: () => {\n const responsive = this.responsive();\n const nativeElement: HTMLElement = this.#hostElement.nativeElement;\n if (!!responsive) {\n const wrapper: HTMLDivElement = (this.#wrapper ??= this.#renderer.createElement('div'));\n const className = responsive === true ? 'table-responsive' : `table-responsive-${responsive}`;\n this.#renderer.setAttribute(wrapper, 'class', className);\n if (nativeElement.parentNode !== wrapper) {\n const parentNode = this.#renderer.parentNode(nativeElement);\n this.#renderer.insertBefore(parentNode, wrapper, nativeElement);\n this.#renderer.appendChild(wrapper, nativeElement);\n }\n } else if (this.#wrapper && nativeElement.parentNode === this.#wrapper) {\n const parentNode = this.#renderer.parentNode(this.#wrapper);\n this.#renderer.insertBefore(parentNode, nativeElement, this.#wrapper);\n this.#renderer.removeChild(parentNode, this.#wrapper, false, true);\n }\n }\n });\n\n ngOnDestroy(): void {\n const wrapper = this.#wrapper;\n if (!wrapper || this.#appRef.injector.destroyed) {\n return;\n }\n const host: HTMLElement = this.#hostElement.nativeElement;\n afterNextRender(\n {\n write: () => {\n if (host.parentNode !== wrapper) {\n this.#renderer.removeChild(this.#renderer.parentNode(wrapper), wrapper, false, true);\n }\n }\n },\n { injector: this.#appRef.injector }\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, Component, computed, inject, input, signal } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\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: {\n class: 'tab-pane',\n '[class]': 'hostClasses()',\n '[attr.role]': 'role()'\n }\n})\nexport class TabPaneComponent {\n readonly #tabService = inject(TabService);\n\n constructor() {\n this.#tabService.activeTabPaneIdx$.pipe(takeUntilDestroyed()).subscribe((tabContentState: ITabContentState) => {\n if (tabContentState.tabContent === this.tabContent) {\n this.active = tabContentState.activeIdx === this.tabPaneIdx;\n }\n });\n }\n\n /**\n * Element role.\n * @returns string\n * @default 'tabpanel'\n */\n readonly role = input('tabpanel');\n\n public tabPaneIdx!: number;\n public tabContent!: TabContentComponent;\n\n set active(value: boolean) {\n this.#active.set(booleanAttribute(value));\n }\n\n get active(): boolean {\n return this.#active();\n }\n\n readonly #active = signal(false);\n\n readonly hostClasses = computed(() => {\n const active = this.#active();\n return {\n 'tab-pane': true,\n fade: true,\n show: active,\n active\n } as Record<string, boolean>;\n });\n}\n","import {\n AfterContentChecked,\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n inject,\n Input,\n numberAttribute,\n OnChanges,\n OnDestroy,\n output,\n QueryList,\n SimpleChanges\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { TabPaneComponent } from '../tab-pane/tab-pane.component';\nimport { TabService } from '../tab.service';\n\n@Component({\n selector: 'c-tab-content',\n template: '<ng-content />',\n styleUrls: ['./tab-content.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'cTabContent',\n host: { class: 'tab-content' }\n})\nexport class TabContentComponent implements AfterContentChecked, AfterContentInit, OnChanges, OnDestroy {\n readonly #changeDetectorRef = inject(ChangeDetectorRef);\n readonly #tabService = inject(TabService);\n\n /**\n * Set active tabPane index\n * @returns number\n */\n @Input({ transform: numberAttribute })\n set activeTabPaneIdx(value: number) {\n const newValue = value;\n if (this.#activeTabPaneIdx != newValue) {\n this.#activeTabPaneIdx = newValue;\n this.activeTabPaneIdxChange?.emit(newValue);\n this.#changeDetectorRef.markForCheck();\n this.#changeDetectorRef.detectChanges();\n }\n }\n\n get activeTabPaneIdx() {\n return this.#activeTabPaneIdx;\n }\n\n #activeTabPaneIdx = -1;\n\n /**\n * Event emitted on the active tab pane index change.\n * @returns number\n */\n readonly activeTabPaneIdxChange = output<number>();\n\n @ContentChildren(TabPaneComponent) public panes!: QueryList<TabPaneComponent>;\n #tabServiceSubscription!: Subscription;\n\n ngAfterContentInit(): void {\n this.subscribeTabService();\n }\n\n ngAfterContentChecked(): void {\n this.panes?.forEach((tabPane, index) => {\n tabPane.tabContent = this;\n tabPane.tabPaneIdx = index;\n });\n this.refreshTabPaneActive(this.activeTabPaneIdx);\n this.#tabService.setActiveTabIdx({ tabContent: this, activeIdx: this.activeTabPaneIdx });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['activeTabPaneIdx']?.currentValue) {\n this.#tabService.setActiveTabIdx({ tabContent: this, activeIdx: changes['activeTabPaneIdx'].currentValue });\n }\n }\n\n ngOnDestroy(): void {\n this.subscribeTabService(false);\n }\n\n subscribeTabService(subscribe: boolean = true) {\n if (subscribe) {\n this.#tabServiceSubscription = this.#tabService.activeTabPaneIdx$.subscribe((tabContentState) => {\n if (this === tabContentState.tabContent) {\n this.activeTabPaneIdx = tabContentState.activeIdx;\n }\n });\n } else {\n this.#tabServiceSubscription?.unsubscribe();\n }\n }\n\n refreshTabPaneActive(idx: number) {\n // hack for active state pane refresh todo?\n this.panes?.forEach((tabPane, index) => {\n tabPane.active = idx === index;\n });\n }\n}\n","import {\n booleanAttribute,\n ChangeDetectorRef,\n Directive,\n HostBinding,\n HostListener,\n inject,\n Input,\n numberAttribute,\n OnChanges,\n OnDestroy,\n SimpleChanges\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { TabService } from './tab.service';\n\n@Directive({\n selector: '[cTabContent]'\n})\nexport class TabContentRefDirective implements OnChanges, OnDestroy {\n readonly #changeDetectorRef = inject(ChangeDetectorRef);\n readonly #tabService = inject(TabService);\n\n constructor() {\n this.subscribeTabService();\n }\n\n #tabServiceSubscription!: Subscription;\n\n /**\n * Template Ref\n * @returns TemplateRef\n */\n @Input('cTabContent') tabContentRef!: any;\n\n /**\n * Set active state of tab content\n * @returns boolean\n * @default false\n */\n @Input({ transform: booleanAttribute })\n set active(value: boolean) {\n const newValue = value;\n if (this.#active !== newValue) {\n this.#active = newValue;\n this.#changeDetectorRef.detectChanges();\n }\n }\n\n get active() {\n return this.#active;\n }\n\n #active = false;\n\n /**\n * Set disabled state of tab content\n * @returns boolean\n */\n @Input({ transform: booleanAttribute })\n set disabled(value: boolean) {\n this.#disabled = value;\n }\n\n get disabled(): boolean {\n return this.#disabled || this.tabPaneIdx >= this.tabContentRef?.panes?.length;\n }\n\n #disabled = false;\n\n /**\n * c-tab-pane index respectively\n * @returns number\n */\n @Input({ transform: numberAttribute }) tabPaneIdx = -1;\n\n @HostBinding('class')\n get hostClasses() {\n return {\n active: this.active,\n disabled: this.disabled\n };\n }\n\n @HostBinding('attr.aria-disabled')\n get isDisabled(): boolean | null {\n return this.disabled || null;\n }\n\n @HostBinding('attr.disabled')\n get attrDisabled() {\n return this.disabled ? '' : null;\n }\n\n @HostBinding('attr.aria-selected')\n private get ariaSelected() {\n return this.active;\n }\n\n @Input()\n @HostBinding('attr.role')\n role = 'tab';\n\n @HostBinding('attr.tabindex')\n get getTabindex(): string | null {\n return this.disabled ? '-1' : null;\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['active']?.currentValue) {\n this.setActiveTabPane();\n }\n }\n\n @HostListener('click', ['$event'])\n toggleOpen($event: any): void {\n $event.preventDefault();\n this.setActiveTabPane();\n }\n\n setActiveTabPane() {\n setTimeout(() => {\n if (this.tabPaneIdx < this.tabContentRef.panes.length) {\n this.active = true;\n this.#tabService.setActiveTabIdx({ tabContent: this.tabContentRef, activeIdx: this.tabPaneIdx });\n } else {\n this.active = false;\n }\n });\n }\n\n ngOnDestroy(): void {\n this.subscribeTabService(false);\n }\n\n subscribeTabService(subscribe: boolean = true) {\n if (subscribe) {\n this.#tabServiceSubscription = this.#tabService.activeTabPaneIdx$.subscribe((tabContentState) => {\n if (tabContentState.tabContent === this.tabContentRef) {\n this.active = tabContentState.activeIdx === this.tabPaneIdx;\n }\n });\n } else {\n this.#tabServiceSubscription?.unsubscribe();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { TabContentComponent } from './tab-content/tab-content.component';\nimport { TabPaneComponent } from './tab-pane/tab-pane.component';\nimport { TabService } from './tab.service';\nimport { TabContentRefDirective } from './tab-content-ref.directive';\n\n@NgModule({\n imports: [\n TabContentComponent,\n TabContentRefDirective,\n TabPaneComponent\n ],\n exports: [\n TabContentComponent,\n TabPaneComponent,\n TabContentRefDirective\n ],\n providers: [\n TabService\n ]\n})\nexport class TabsModule {}\n","import { Injectable, signal } from '@angular/core';\n\n@Injectable()\nexport class TabsService {\n readonly activeItem = signal<any>(undefined);\n readonly activeItemKey = signal<string | number | undefined>(undefined);\n readonly id = signal<string | number | undefined>(undefined);\n}\n","import { Component, effect, inject, input, model } from '@angular/core';\nimport { TabsService } from './tabs.service';\n\nlet nextId = 0;\n\n@Component({\n exportAs: 'cTabs',\n selector: 'c-tabs',\n imports: [],\n template: '<ng-content />',\n styleUrl: './tabs.component.scss',\n providers: [TabsService],\n host: {\n '[id]': 'id()',\n class: 'tabs'\n }\n})\nexport class TabsComponent {\n readonly tabsService = inject(TabsService);\n\n /**\n * The active item key.\n * @returns number | string\n */\n readonly activeItemKey = model<number | string>();\n\n /**\n * The id attribute\n * @returns string\n */\n tabsId = `tabs-${nextId++}`;\n\n /**\n * HTML id attribute.\n * @returns string\n * @default `tabs-{n}`\n */\n readonly id = input<string>(this.tabsId);\n\n readonly #activeItemEffect = effect(() => {\n this.tabsService.id.set(this.id());\n this.tabsService.activeItemKey.set(this.activeItemKey());\n });\n\n readonly #tabsServiceEffect = effect(() => {\n this.activeItemKey.set(this.tabsService.activeItemKey());\n });\n}\n","import { FocusableOption, FocusOrigin } from '@angular/cdk/a11y';\nimport {\n booleanAttribute,\n computed,\n DestroyRef,\n Directive,\n effect,\n ElementRef,\n inject,\n Injector,\n input,\n InputSignal,\n linkedSignal,\n OnInit,\n runInInjectionContext,\n signal,\n untracked\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { fromEvent, merge, takeWhile } from 'rxjs';\nimport { filter, tap } from 'rxjs/operators';\nimport { TabsService } from '../tabs.service';\n\n@Directive({\n exportAs: 'cTab',\n selector: 'button[cTab]',\n host: {\n '[class]': 'hostClasses()',\n type: 'button',\n role: 'tab',\n '[aria-selected]': 'isActive()',\n '[aria-controls]': 'attrAriaControls()',\n '[attr.disabled]': 'attrDisabled() || null',\n '[id]': 'propId()',\n '[attr.tabindex]': 'isActive() ? 0 : -1'\n }\n})\nexport class TabDirective implements FocusableOption, OnInit {\n readonly #injector = inject(Injector);\n readonly #destroyRef = inject(DestroyRef);\n readonly #elementRef = inject(ElementRef);\n readonly #tabsService = inject(TabsService);\n\n /**\n * Disabled attribute\n * @returns boolean\n * @default false\n */\n readonly disabledInput = input(false, { transform: booleanAttribute, alias: 'disabled' });\n\n readonly #disabled = linkedSignal(this.disabledInput);\n readonly attrDisabled = computed(() => this.#disabled() || null);\n\n set disabled(value: boolean) {\n this.#disabled.set(value);\n }\n\n get disabled() {\n return this.#disabled();\n }\n\n /**\n * Item key.\n * @returns string | number\n * @required\n */\n readonly itemKey: InputSignal<string | number> = input.required<string | number>();\n\n /**\n * Element id attribute\n * @returns string\n * @default undefined\n */\n readonly id: InputSignal<string | undefined> = input<string>();\n\n /**\n * aria-controls attribute\n * @returns string\n * @default undefined\n */\n readonly ariaControls: InputSignal<string | undefined> = input<string | undefined>(undefined, {\n alias: 'aria-controls'\n });\n\n readonly isActive = signal(false);\n\n readonly hostClasses = computed(() => {\n return {\n 'nav-link': true,\n active: this.isActive(),\n disabled: this.#disabled()\n } as Record<string, boolean>;\n });\n\n readonly propId = computed(() => this.id() ?? `${this.#tabsService.id()}-tab-${this.itemKey()}`);\n\n readonly attrAriaControls = computed(\n () => this.ariaControls() ?? `${this.#tabsService.id()}-panel-${this.itemKey()}`\n );\n\n readonly #disabledSignalEffect = effect(() => {\n const disabled = this.#disabled();\n if (!disabled) {\n const click$ = fromEvent<MouseEvent>(this.#elementRef.nativeElement, 'click');\n const focusIn$ = fromEvent<FocusEvent>(this.#elementRef.nativeElement, 'focusin');\n\n merge(focusIn$, click$)\n .pipe(\n filter(($event) => !disabled),\n tap(($event) => {\n this.#tabsService.activeItemKey.set(untracked(this.itemKey));\n }),\n takeWhile(() => !disabled),\n takeUntilDestroyed(this.#destroyRef)\n )\n .subscribe();\n }\n });\n\n focus(origin?: FocusOrigin): void {\n this.#elementRef.nativeElement.focus();\n }\n\n ngOnInit(): void {\n runInInjectionContext(this.#injector, () => {\n effect(() => {\n const isActive = this.#tabsService.activeItemKey() === this.itemKey();\n this.isActive.set(isActive);\n });\n });\n }\n}\n","import { FocusKeyManager } from '@angular/cdk/a11y';\nimport {\n Component,\n computed,\n contentChildren,\n DestroyRef,\n effect,\n ElementRef,\n inject,\n Injector,\n input,\n InputSignal,\n untracked\n} from '@angular/core';\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 #injector = inject(Injector);\n readonly tabsService = inject(TabsService);\n readonly #rtlService = inject(RtlService);\n\n constructor() {\n this.#focusKeyManager.change.subscribe(() => {\n this.tabsService.activeItemKey.set(this.#focusKeyManager.activeItem?.itemKey());\n this.tabsService.activeItem.set(this.#focusKeyManager.activeItem);\n });\n this.#destroyRef.onDestroy(() => this.#focusKeyManager.destroy());\n }\n\n /**\n * Specify a layout type for component.\n * @returns 'fill' | 'justified' | undefined\n * @default undefined\n */\n readonly layout: InputSignal<'fill' | 'justified' | undefined> = input();\n\n /**\n * Set the variant to tabs, pills, underline or enclosed.\n * @returns 'enclosed' | 'enclosed-pills' | 'pills' | 'tabs' | 'underline' | 'underline-border' | undefined\n * @default undefined\n */\n readonly variant: InputSignal<\n 'enclosed' | 'enclosed-pills' | 'pills' | 'tabs' | 'underline' | 'underline-border' | undefined\n > = input();\n\n /**\n * Set the role to tab list.\n * @default 'tablist'\n */\n readonly role = input('tablist');\n\n readonly hostClasses = computed(() => {\n const layout = this.layout();\n const variant = this.variant();\n\n return {\n nav: true,\n [`nav-${layout}`]: layout,\n 'nav-enclosed': variant === 'enclosed' || variant === 'enclosed-pills',\n [`nav-${variant}`]: variant\n } as Record<string, boolean>;\n });\n\n readonly tabs = contentChildren(TabDirective);\n protected readonly tabElements = contentChildren(TabDirective, { read: ElementRef });\n readonly #focusKeyManager = new FocusKeyManager(this.tabs, this.#injector)\n .skipPredicate((tab) => tab.disabled === true)\n .withHomeAndEnd()\n .withWrap();\n\n readonly #tabsEffect = effect(() => {\n const tabs = this.tabs();\n if (tabs.length === 0) {\n return;\n }\n\n untracked(() => {\n setTimeout(() => {\n const activeItem = tabs.find((tab) => tab.isActive()) ?? tabs.find((tab) => !tab.disabled) ?? tabs[0];\n this.#focusKeyManager.updateActiveItem(activeItem);\n this.tabsService.activeItemKey.set(activeItem.itemKey());\n this.tabsService.activeItem.set(activeItem);\n });\n });\n });\n\n onKeyDown($event: any) {\n if (['ArrowLeft', 'ArrowRight', 'End', 'Home'].includes($event.key)) {\n const index = this.tabElements().findIndex((tab) => tab.nativeElement.contains($event.target));\n if (index < 0) {\n return;\n }\n this.#focusKeyManager.withHorizontalOrientation(\n this.#rtlService.isRTL(this.#elementRef.nativeElement) ? 'rtl' : 'ltr'\n );\n this.#focusKeyManager.updateActiveItem(index);\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 { Component, computed, effect, ElementRef, inject, input, numberAttribute, output, signal } from '@angular/core';\nimport getTransitionDurationFromElement from '../../utilities/getTransitionDurationFromElement';\nimport { TabsService } from '../tabs.service';\n\nexport type VisibleChangeEvent = { itemKey: string | number; visible: boolean };\n\n@Component({\n exportAs: 'cTabPanel',\n selector: 'c-tab-panel',\n template: '<ng-content />',\n host: {\n '[class]': 'hostClasses()',\n '[attr.tabindex]': 'visible() ? tabindex() : -1',\n '[aria-labelledby]': 'attrAriaLabelledBy()',\n '[id]': 'propId()',\n '[attr.role]': 'role()',\n '(transitionend)': 'onTransitionEnd($event)'\n }\n})\nexport class TabPanelComponent {\n readonly #tabsService = inject(TabsService);\n readonly #elementRef = inject(ElementRef);\n\n /**\n * aria-labelledby attribute\n * @returns string | undefined\n * @default undefined\n */\n readonly ariaLabelledBy = input<string | undefined>(undefined, {\n alias: 'aria-labelledby'\n });\n\n /**\n * Element id attribute\n * @returns string\n * @default undefined\n */\n readonly id = input<string>();\n\n /**\n * Item key.\n * @returns string | number\n * @required\n */\n readonly itemKey = input.required<string | number>();\n\n /**\n * Element role.\n * @returns string\n * @default 'tabpanel'\n */\n readonly role = input('tabpanel');\n\n /**\n * tabindex attribute.\n * @returns number\n * @default 0\n */\n readonly tabindex = input(0, { transform: numberAttribute });\n\n /**\n * Enable fade in transition.\n * @returns boolean\n * @default true\n */\n readonly transition = input(true);\n\n /**\n * visible change output\n * @returns VisibleChangeEvent\n */\n readonly visibleChange = output<VisibleChangeEvent>();\n\n protected readonly show = signal(false);\n\n readonly visible = computed(() => {\n const visible = this.#tabsService.activeItemKey() === this.itemKey();\n this.visibleChange?.emit({ itemKey: this.itemKey(), visible });\n return visible;\n });\n\n #transitionDuration = 0;\n\n readonly #visibleEffect = effect(() => {\n const isVisible = this.visible();\n const hasTransition = this.transition();\n\n if (!hasTransition) {\n this.show.set(isVisible);\n } else {\n requestAnimationFrame(() => {\n if (this.#transitionDuration === 0) {\n this.#transitionDuration = getTransitionDurationFromElement(this.#elementRef.nativeElement);\n }\n setTimeout(() => this.show.set(isVisible), this.#transitionDuration || 0);\n });\n }\n });\n\n protected readonly propId = computed(() => this.id() ?? `${this.#tabsService.id()}-panel-${this.itemKey()}`);\n\n protected readonly attrAriaLabelledBy = computed(\n () => this.ariaLabelledBy() ?? `${this.#tabsService.id()}-tab-${this.itemKey()}`\n );\n\n protected readonly hostClasses = computed(\n () =>\n ({\n 'tab-pane': true,\n active: this.visible(),\n fade: this.transition(),\n show: this.show()\n }) as Record<string, boolean>\n );\n\n protected onTransitionEnd($event: TransitionEvent): void {\n if ($event.propertyName === 'opacity' && $event.target === this.#elementRef.nativeElement) {\n this.show.set(this.visible());\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { TabsService } from './tabs.service';\nimport { TabsComponent } from './tabs.component';\nimport { TabDirective } from './tab/tab.directive';\nimport { TabsListComponent } from './tabs-list/tabs-list.component';\nimport { TabsContentComponent } from './tabs-content/tabs-content.component';\nimport { TabPanelComponent } from './tab-panel/tab-panel.component';\n\n@NgModule({\n imports: [TabsComponent, TabsListComponent, TabDirective, TabsContentComponent, TabPanelComponent],\n exports: [TabsComponent, TabsListComponent, TabDirective, TabsContentComponent, TabPanelComponent],\n providers: [TabsService]\n})\nexport class Tabs2Module {}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { TToasterPlacement } from './toaster.component';\nimport { type ToastComponent } from '../toast/toast.component';\n\nexport interface IToasterAction {\n placement?: TToasterPlacement;\n toast?: ToastComponent;\n show?: boolean;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ToasterService {\n readonly #toasterState = new BehaviorSubject<IToasterAction>({});\n readonly toasterState$ = this.#toasterState.asObservable();\n\n setState(state: IToasterAction): void {\n this.#toasterState.next({ ...state });\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-toast-content',\n template: `<ng-content />`,\n host: {\n class: 'toast-content'\n },\n styles: `\n .toast-content {\n min-height: 0;\n }\n `\n})\nexport class ToastContentComponent {}\n","import {\n AnimationCallbackEvent,\n booleanAttribute,\n ChangeDetectorRef,\n Component,\n computed,\n DestroyRef,\n effect,\n ElementRef,\n inject,\n input,\n linkedSignal,\n numberAttribute,\n OnDestroy,\n OnInit,\n output,\n Renderer2,\n signal,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { skipWhile } from 'rxjs';\n\nimport { Colors } from '../../coreui.types';\nimport { ToasterService } from '../toaster/toaster.service';\nimport { TToasterPlacement } from '../toaster/toaster.component';\nimport { ToastContentComponent } from './toast-content.component';\n\n@Component({\n selector: 'c-toast',\n template: `\n <c-toast-content>\n <ng-content />\n </c-toast-content>\n `,\n styleUrls: ['./toast.component.scss'],\n exportAs: 'cToast',\n host: {\n class: 'toast',\n '[attr.role]': 'role() || null',\n '[aria-atomic]': 'visible || null',\n '[class]': 'hostClasses()',\n '[inert]': '!visible || null',\n '(animate.enter)': 'handleEnter($event)',\n '(animate.leave)': 'handleLeave($event)',\n '(mouseover)': 'clearTimer()',\n '(mouseout)': 'setTimer()'\n },\n encapsulation: ViewEncapsulation.None,\n imports: [ToastContentComponent]\n})\nexport class ToastComponent implements OnInit, OnDestroy {\n readonly destroyRef = inject(DestroyRef);\n readonly changeDetectorRef = inject(ChangeDetectorRef);\n readonly hostElement = inject(ElementRef);\n readonly renderer = inject(Renderer2);\n readonly toasterService = inject(ToasterService);\n\n /**\n * Marks the toast as dynamically created by `ToasterService`, rather than declared in the template.\n * @returns boolean\n */\n readonly dynamic = input<boolean>();\n\n /**\n * Placement of the toast within its toaster, set by `ToasterComponent`.\n * @returns TToasterPlacement\n */\n readonly placementInput = input<TToasterPlacement>(undefined, { alias: 'placement' });\n\n get placement() {\n return this.placementInput();\n }\n\n /**\n * Auto hide the toast.\n * @returns boolean\n */\n readonly autohide = input(true);\n\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly color = input<Colors>('');\n\n /**\n * Delay hiding the toast (ms).\n * @returns number\n */\n readonly delay = input(5000, { transform: numberAttribute });\n\n /**\n * Apply fade transition to the toast.\n * @returns boolean\n */\n readonly fade = input(true);\n\n /**\n * ARIA role attribute.\n * @returns string\n */\n readonly role = input('alert');\n\n /**\n * Toggle the visibility of component.\n * @returns boolean\n */\n readonly visibleInput = input(false, { transform: booleanAttribute, alias: 'visible' });\n\n readonly #visible = linkedSignal(this.visibleInput);\n\n readonly #visible$ = toObservable(this.#visible);\n\n readonly #visibleEffect = effect(() => {\n const visible = this.#visible();\n visible ? this.setTimer() : this.clearTimer();\n this.changeDetectorRef.markForCheck();\n });\n\n set visible(value: boolean) {\n this.#visible.set(value);\n }\n\n get visible(): boolean {\n return this.#visible();\n }\n\n /**\n * @ignore\n */\n readonly index = input(0, { transform: numberAttribute });\n\n /**\n * Event emitted on visibility change\n * @returns boolean\n */\n readonly visibleChange = output<boolean>();\n\n /**\n * Event emitted on timer tick\n * @returns number\n */\n readonly timer = output<number>();\n\n private timerId: ReturnType<typeof setTimeout> | undefined;\n private clockId: ReturnType<typeof setInterval> | undefined;\n private clockTimerId: ReturnType<typeof setTimeout> | undefined;\n\n private _clock!: number;\n\n get clock(): number {\n return this._clock;\n }\n\n set clock(value) {\n this._clock = value;\n this.timer?.emit(this._clock);\n this.changeDetectorRef.markForCheck();\n }\n\n readonly hostClasses = computed(() => {\n const color = this.color();\n return {\n toast: true,\n show: this.#visible() && this.#rendered(),\n [`text-bg-${color}`]: !!color,\n // [`bg-${color}`]: !!color,\n 'border-0': !!color,\n fade: this.fade()\n } as Record<string, boolean>;\n });\n\n ngOnInit(): void {\n if (this.visible) {\n this.toasterService.setState({\n toast: this,\n show: this.visible,\n placement: this.placement\n });\n this.clearTimer();\n this.setTimer();\n }\n\n // skip the first emission if the initial value is false to prevent emitting visibleChange on init\n this.#visible$\n .pipe(\n skipWhile((value, index) => !value && index === 0),\n takeUntilDestroyed(this.destroyRef)\n )\n .subscribe((visible) => {\n this.visibleChange.emit(visible);\n });\n }\n\n ngOnDestroy(): void {\n this.clearTimer();\n }\n\n setTimer(): void {\n this.clearTimer();\n if (this.autohide() && this.visible) {\n this.timerId = this.delay() > 0 ? setTimeout(() => this.onClose(), this.delay()) : undefined;\n this.setClock();\n }\n }\n\n clearTimer(): void {\n this.clearClock();\n clearTimeout(this.timerId);\n this.timerId = undefined;\n }\n\n onClose(): void {\n this.clearTimer();\n this.toasterService.setState({\n toast: this,\n show: false,\n placement: this.placement\n });\n }\n\n setClock(): void {\n this.clearClock();\n this.clock = 0;\n this.clockId = setInterval(() => {\n this.clock += 1;\n this.changeDetectorRef.markForCheck();\n }, 1000);\n this.clockTimerId = setTimeout(() => {\n this.clearClock();\n }, this.delay());\n }\n\n clearClock(): void {\n clearTimeout(this.clockTimerId);\n clearInterval(this.clockId);\n this.clockId = undefined;\n }\n\n readonly #rendered = signal(false);\n\n protected handleEnter($event: AnimationCallbackEvent) {\n // Check if the component is inserted dynamically / conditionally - the class '.ng-star-inserted' is added to the host element.\n // If the class is present, set the visible state true to trigger the animation.\n const inserted = this.hostElement.nativeElement.classList.contains('ng-star-inserted');\n if (inserted) {\n this.#visible.set(true);\n }\n setTimeout(() => {\n this.#rendered.set(true);\n });\n }\n\n protected handleLeave($event: AnimationCallbackEvent) {\n this.#visible.set(false);\n // component is destroyed already, remove the class\n this.renderer.removeClass(this.hostElement.nativeElement, 'show');\n }\n}\n","import { Component, inject } from '@angular/core';\nimport { ToastComponent } from '../toast/toast.component';\n\n@Component({\n selector: 'c-toast-body',\n template: '<ng-content />',\n styleUrls: ['./toast-body.component.scss'],\n exportAs: 'cToastBody',\n host: {\n class: 'toast-body'\n }\n})\nexport class ToastBodyComponent {\n readonly toast? = inject(ToastComponent, { optional: true });\n}\n","import { Directive, inject, input } from '@angular/core';\nimport { ToasterService } from './toaster/toaster.service';\nimport type { ToastComponent } from './toast/toast.component';\n\n@Directive({\n selector: '[cToastClose]',\n exportAs: 'cToastClose',\n host: {\n '(click)': 'toggleOpen($event)'\n }\n})\nexport class ToastCloseDirective {\n readonly #toasterService = inject(ToasterService);\n\n /**\n * Toast to close.\n * @returns ToastComponent\n */\n readonly cToastClose = input<ToastComponent>();\n\n toggleOpen($event: MouseEvent): void {\n $event.preventDefault();\n this.#toasterService.setState({ show: false, toast: this.cToastClose() });\n }\n}\n","import { Component, inject, input, signal } from '@angular/core';\n\nimport { ButtonCloseDirective } from '../../button';\nimport { ToastComponent } from '../toast/toast.component';\nimport { ToastCloseDirective } from '../toast-close.directive';\n\n@Component({\n selector: 'c-toast-header',\n templateUrl: './toast-header.component.html',\n exportAs: 'cToastHeader',\n imports: [ToastCloseDirective, ButtonCloseDirective],\n host: {\n class: 'toast-header'\n }\n})\nexport class ToastHeaderComponent {\n readonly #toast = inject(ToastComponent, { optional: true });\n\n readonly toast = signal(this.#toast ?? undefined);\n\n /**\n * Add close button to a toast header\n * @returns boolean\n */\n readonly closeButton = input(true);\n}\n","<ng-container>\n <ng-content />\n @if (closeButton()) {\n <button [cToastClose]=\"toast()\" [style]=\"{outline: 0}\" aria-label=\"close\" cButtonClose class=\"ms-auto\"></button>\n }\n</ng-container>\n","import { Directive, inject, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[cToasterHost]',\n exportAs: 'cToasterHost'\n})\nexport class ToasterHostDirective {\n readonly viewContainerRef = inject(ViewContainerRef);\n}\n","import {\n Component,\n ComponentRef,\n computed,\n contentChildren,\n DestroyRef,\n effect,\n inject,\n Injector,\n input,\n MAX_ANIMATION_TIMEOUT,\n NgModuleRef,\n OnInit,\n viewChild,\n ViewContainerRef\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { IToasterAction, ToasterService } from './toaster.service';\nimport { ToasterHostDirective } from './toaster-host.directive';\nimport { ToastComponent } from '../toast/toast.component';\n\nexport enum ToasterPlacement {\n Static = 'static',\n TopStart = 'top-start',\n TopCenter = 'top-center',\n TopEnd = 'top-end',\n MiddleStart = 'middle-start',\n MiddleCenter = 'middle-center',\n MiddleEnd = 'middle-end',\n BottomStart = 'bottom-start',\n BottomCenter = 'bottom-center',\n BottomEnd = 'bottom-end'\n}\n\nexport type TToasterPlacement =\n | ToasterPlacement.Static\n | ToasterPlacement.TopStart\n | ToasterPlacement.TopCenter\n | ToasterPlacement.TopEnd\n | ToasterPlacement.MiddleStart\n | ToasterPlacement.MiddleCenter\n | ToasterPlacement.MiddleEnd\n | ToasterPlacement.BottomStart\n | ToasterPlacement.BottomCenter\n | ToasterPlacement.BottomEnd\n | string;\n\n@Component({\n selector: 'c-toaster',\n templateUrl: './toaster.component.html',\n exportAs: 'cToaster',\n imports: [ToasterHostDirective],\n host: {\n class: 'toaster toast-container',\n '[class]': 'hostClasses()'\n },\n providers: [ToasterService]\n})\nexport class ToasterComponent implements OnInit {\n readonly #toasterService = inject(ToasterService);\n readonly #destroyRef = inject(DestroyRef);\n readonly #maxAnimationTimeout = inject(MAX_ANIMATION_TIMEOUT);\n\n placements = Object.values(ToasterPlacement);\n toastsDynamic: ComponentRef<any>[] = [];\n\n /**\n * Toaster placement\n * @returns TToasterPlacement\n */\n readonly placementInput = input<TToasterPlacement>(ToasterPlacement.TopEnd, { alias: 'placement' });\n\n get placement() {\n return this.placementInput();\n }\n\n /**\n * Toaster position\n * @returns string | 'absolute' | 'fixed' | 'static'\n */\n readonly position = input<string | 'absolute' | 'fixed' | 'static'>('absolute');\n\n readonly toasterHost = viewChild.required(ToasterHostDirective);\n readonly contentToasts = contentChildren(ToastComponent, { read: ViewContainerRef });\n\n readonly #contentToastsEffect = effect(() => {\n // Ensure that the contentToasts is available before accessing it\n // temp fix for: ASSERTION ERROR: Unexpected state: no hydration info available for a given TNode, which represents a view container. [Expected=> null != undefined <=Actual]\n this.contentToasts();\n });\n\n readonly hostClasses = computed(() => {\n const placement = this.placement;\n const position = this.position();\n return {\n toaster: true,\n 'toast-container': true,\n [`position-${position}`]: !!position,\n 'top-0': placement.includes('top'),\n 'top-50': placement.includes('middle'),\n 'bottom-0': placement.includes('bottom'),\n 'start-0': placement.includes('start'),\n 'start-50': placement.includes('center'),\n 'end-0': placement.includes('end'),\n 'translate-middle-x': placement.includes('center') && !placement.includes('middle'),\n 'translate-middle-y': placement.includes('middle') && !placement.includes('center'),\n 'translate-middle': placement.includes('middle') && placement.includes('center')\n } as Record<string, boolean>;\n });\n\n ngOnInit(): void {\n this.stateToasterSubscribe();\n }\n\n public addToast(\n toast: any,\n props: any,\n options?: {\n index?: number;\n injector?: Injector;\n ngModuleRef?: NgModuleRef<unknown>;\n projectableNodes?: Node[][];\n }\n ): ComponentRef<any> {\n const componentRef: ComponentRef<any> = this.toasterHost().viewContainerRef.createComponent(toast, options);\n this.toastsDynamic.push(componentRef);\n const index = this.toastsDynamic.indexOf(componentRef);\n for (const [key, value] of Object.entries(props)) {\n try {\n componentRef.setInput(key, value);\n } catch (error) {\n console.error('Toast input error:', error);\n }\n }\n componentRef.setInput('placement', this.placement);\n componentRef.setInput('dynamic', true);\n componentRef.setInput('index', index);\n componentRef.setInput('visible', true);\n componentRef.instance['visibleChange']?.emit(true);\n componentRef.changeDetectorRef?.markForCheck();\n return componentRef;\n }\n\n public removeToast(state: IToasterAction): void {\n this.toastsDynamic?.forEach((item) => {\n if (state.toast?.dynamic() && item.instance === state.toast) {\n item.setInput('visible', false);\n item.instance['visibleChange'].emit(false);\n setTimeout(() => {\n item?.destroy();\n }, this.#maxAnimationTimeout);\n }\n });\n this.contentToasts()?.forEach((item) => {\n if (state.toast && item.element.nativeElement === state.toast.hostElement.nativeElement) {\n if (!state.toast.dynamic()) {\n state.toast.visible = false;\n }\n }\n });\n }\n\n private stateToasterSubscribe(): void {\n this.#toasterService.toasterState$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe((state) => {\n if (state.show === false) {\n this.removeToast(state);\n }\n // if (state.show === true && state.toast?.dynamic() === undefined) {\n // /* empty */\n // }\n });\n }\n}\n","<ng-template cToasterHost />\n<ng-content />\n","import { NgModule } from '@angular/core';\nimport { ToastComponent } from './toast/toast.component';\nimport { ToastContentComponent } from './toast/toast-content.component';\nimport { ToastHeaderComponent } from './toast-header/toast-header.component';\nimport { ToastBodyComponent } from './toast-body/toast-body.component';\nimport { ToasterComponent } from './toaster/toaster.component';\nimport { ToasterService } from './toaster/toaster.service';\nimport { ToasterHostDirective } from './toaster/toaster-host.directive';\nimport { ToastCloseDirective } from './toast-close.directive';\n\n@NgModule({\n imports: [\n ToastBodyComponent,\n ToastComponent,\n ToastContentComponent,\n ToastCloseDirective,\n ToastHeaderComponent,\n ToasterComponent,\n ToasterHostDirective\n ],\n providers: [ToasterService],\n exports: [\n ToastBodyComponent,\n ToastComponent,\n ToastContentComponent,\n ToastCloseDirective,\n ToastHeaderComponent,\n ToasterComponent,\n ToasterHostDirective\n ]\n})\nexport class ToastModule {}\n","import {\n booleanAttribute,\n Component,\n computed,\n effect,\n inject,\n input,\n OnDestroy,\n Renderer2,\n TemplateRef,\n viewChild,\n ViewContainerRef\n} from '@angular/core';\n\n@Component({\n selector: 'c-tooltip',\n templateUrl: './tooltip.component.html',\n host: {\n class: 'tooltip fade bs-tooltip-auto',\n '[class]': 'hostClasses()',\n '[attr.role]': 'role()',\n '[attr.id]': 'id()'\n }\n})\nexport class TooltipComponent implements OnDestroy {\n readonly renderer = inject(Renderer2);\n\n /**\n * Content of tooltip\n * @returns string | TemplateRef<any>\n */\n readonly content = input<string | TemplateRef<any>>('');\n\n readonly #contentEffect = effect(() => {\n this.updateView(this.content());\n });\n\n /**\n * Toggle the visibility of popover component.\n * @returns boolean\n */\n readonly visible = input(false, { transform: booleanAttribute });\n\n /**\n * The `id` HTML attribute of the tooltip.\n * @returns string\n */\n readonly id = input<string>();\n\n /**\n * Default role for tooltip.\n * @returns string\n * @default 'tooltip'\n */\n readonly role = input('tooltip');\n\n readonly viewContainerRef = viewChild('tooltipTemplate', { read: ViewContainerRef });\n private textNode!: Text;\n\n readonly hostClasses = computed(() => {\n return {\n tooltip: true,\n fade: true,\n show: this.visible(),\n 'bs-tooltip-auto': true\n } as Record<string, boolean>;\n });\n\n ngOnDestroy(): void {\n this.clear();\n }\n\n private clear(): void {\n this.viewContainerRef()?.clear();\n if (!!this.textNode) {\n this.renderer.removeChild(this.textNode.parentNode, this.textNode);\n }\n }\n\n private updateView(content: string | TemplateRef<any>): void {\n this.clear();\n\n if (!content) {\n return;\n }\n\n if (content instanceof TemplateRef) {\n this.viewContainerRef()?.createEmbeddedView(content);\n } else {\n this.textNode = this.renderer.createText(content);\n\n const element = this.viewContainerRef()?.element.nativeElement;\n this.renderer.appendChild(element.parentNode, this.textNode);\n }\n }\n}\n","<ng-container>\n <div class=\"tooltip-arrow\" data-popper-arrow></div>\n <div class=\"tooltip-inner\">\n <ng-container #tooltipTemplate />\n </div>\n</ng-container>\n","import {\n afterRenderEffect,\n AfterViewInit,\n ChangeDetectorRef,\n ComponentRef,\n computed,\n DestroyRef,\n Directive,\n DOCUMENT,\n effect,\n ElementRef,\n inject,\n input,\n model,\n OnDestroy,\n OnInit,\n Renderer2,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { debounceTime, filter, finalize } from 'rxjs/operators';\nimport { createPopper, Instance, Options } from '@popperjs/core';\n\nimport { Triggers } from '../coreui.types';\nimport { IListenersConfig, IntersectionService, ListenersService } from '../services';\nimport { ElementRefDirective } from '../shared';\nimport { TooltipComponent } from './tooltip/tooltip.component';\n\n@Directive({\n selector: '[cTooltip]',\n exportAs: 'cTooltip',\n providers: [ListenersService, IntersectionService],\n host: { '[aria-describedby]': 'ariaDescribedBy' }\n})\nexport class TooltipDirective implements OnDestroy, OnInit, AfterViewInit {\n readonly #renderer = inject(Renderer2);\n readonly #hostElement = inject(ElementRef);\n readonly #viewContainerRef = inject(ViewContainerRef);\n readonly #listenersService = inject(ListenersService);\n readonly #changeDetectorRef = inject(ChangeDetectorRef);\n readonly #intersectionService = inject(IntersectionService);\n readonly #destroyRef = inject(DestroyRef);\n readonly #document = inject(DOCUMENT);\n #timerId1: ReturnType<typeof setTimeout> | undefined;\n #timerId2: ReturnType<typeof setTimeout> | undefined;\n\n /**\n * Content of tooltip\n * @returns string | TemplateRef<any> | undefined\n */\n readonly content = input<string | TemplateRef<any> | undefined>(undefined, { alias: 'cTooltip' });\n\n readonly #contentEffect = effect(() => {\n if (this.content()) {\n this.destroyTooltipElement();\n }\n });\n\n /**\n * Optional popper Options object, takes precedence over cPopoverPlacement prop\n * @returns Partial<Options>\n */\n readonly popperOptions = input<Partial<Options>>({}, { alias: 'cTooltipOptions' });\n\n readonly #popperOptionsEffect = effect(() => {\n this._popperOptions = {\n ...this._popperOptions,\n placement: this.placement(),\n ...this.popperOptions()\n };\n });\n\n readonly popperOptionsComputed = computed(() => {\n return { placement: this.placement(), ...this._popperOptions };\n });\n\n /**\n * Describes the placement of your component after Popper.js has applied all the modifiers that may have flipped or altered the originally provided placement property.\n * @returns 'top' | 'bottom' | 'left' | 'right'\n * @default 'top'\n */\n readonly placement = input<'top' | 'bottom' | 'left' | 'right'>('top', { alias: 'cTooltipPlacement' });\n\n /**\n * ElementRefDirective for positioning the tooltip on reference element\n * @returns ElementRefDirective | undefined\n * @default undefined\n * @since 5.1.0\n */\n readonly reference = input<ElementRefDirective | undefined>(undefined, { alias: 'cTooltipRef' });\n\n readonly referenceRef = computed(() => this.reference()?.elementRef ?? this.#hostElement);\n\n /**\n * Sets which event handlers you’d like provided to your toggle prop. You can specify one trigger or an array of them.\n * @returns Triggers | Triggers[]\n */\n readonly trigger = input<Triggers | Triggers[]>('hover', { alias: 'cTooltipTrigger' });\n\n /**\n * Toggle the visibility of tooltip component.\n * @returns boolean\n */\n readonly visible = model(false, { alias: 'cTooltipVisible' });\n\n readonly #visibleEffect = afterRenderEffect({\n // this fixes RuntimeError: NG0500: During hydration Angular expected <abc> but found <xyz>.\n // Find more at https://angular.dev/errors/NG0500\n write: () => {\n this.visible() ? this.addTooltipElement() : this.removeTooltipElement();\n }\n });\n\n readonly #handleEscapeKey = (event: KeyboardEvent) => {\n if (event.key !== 'Escape') {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n this.visible.set(false);\n };\n\n readonly #escapeEffect = effect((onCleanup) => {\n if (!this.visible()) {\n return;\n }\n\n const useCapture = true;\n\n this.#document.addEventListener('keydown', this.#handleEscapeKey, useCapture);\n onCleanup(() => this.#document.removeEventListener('keydown', this.#handleEscapeKey, useCapture));\n });\n\n get ariaDescribedBy(): string | null {\n return this.tooltipId ? this.tooltipId : null;\n }\n\n private tooltip!: HTMLDivElement;\n private tooltipId!: string;\n private tooltipRef!: ComponentRef<TooltipComponent>;\n private popperInstance!: Instance;\n\n private _popperOptions: Partial<Options> = {\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 5]\n }\n }\n ]\n };\n\n ngAfterViewInit(): void {\n this.intersectionServiceSubscribe();\n }\n\n ngOnDestroy(): void {\n this.clearListeners();\n this.destroyTooltipElement();\n }\n\n ngOnInit(): void {\n this.setListeners();\n }\n\n private setListeners(): void {\n const config: IListenersConfig = {\n hostElement: this.#hostElement,\n trigger: this.trigger(),\n callbackToggle: () => {\n this.visible.update((value) => !value);\n },\n callbackOff: () => {\n this.visible.set(false);\n },\n callbackOn: () => {\n this.visible.set(true);\n }\n };\n this.#listenersService.setListeners(config);\n }\n\n private clearListeners(): void {\n this.#listenersService.clearListeners();\n }\n\n private intersectionServiceSubscribe(): void {\n this.#intersectionService.createIntersectionObserver(this.referenceRef());\n this.#intersectionService.intersecting$\n .pipe(\n filter((next) => next.hostElement === this.referenceRef()),\n debounceTime(100),\n finalize(() => {\n this.#intersectionService.unobserve(this.referenceRef());\n }),\n takeUntilDestroyed(this.#destroyRef)\n )\n .subscribe((next) => {\n this.visible.set(next.isIntersecting ? this.visible() : false);\n });\n }\n\n private getUID(prefix: string): string {\n let uid = prefix ?? 'random-id';\n do {\n uid = `${prefix}-${Math.floor(Math.random() * 1000000).toString(10)}`;\n } while (this.#document.getElementById(uid));\n\n return uid;\n }\n\n private createTooltipElement(): void {\n if (!this.tooltipRef) {\n this.tooltipRef = this.#viewContainerRef.createComponent<TooltipComponent>(TooltipComponent);\n // this.viewContainerRef.detach();\n }\n }\n\n private destroyTooltipElement(): void {\n this.tooltip?.remove();\n this.tooltipRef?.destroy();\n // @ts-ignore\n this.tooltipRef = undefined;\n this.popperInstance?.destroy();\n this.#viewContainerRef?.detach();\n this.#viewContainerRef?.clear();\n }\n\n private addTooltipElement(): void {\n if (!this.content()) {\n this.destroyTooltipElement();\n return;\n }\n\n if (!this.tooltipRef) {\n this.createTooltipElement();\n }\n\n this.tooltipRef?.setInput('content', this.content() ?? '');\n\n this.tooltip = this.tooltipRef?.location.nativeElement;\n this.#renderer.addClass(this.tooltip, 'd-none');\n this.#renderer.addClass(this.tooltip, 'fade');\n\n this.popperInstance?.destroy();\n\n this.#viewContainerRef.insert(this.tooltipRef.hostView);\n this.#renderer.appendChild(this.#document.body, this.tooltip);\n\n this.popperInstance = createPopper(this.referenceRef().nativeElement, this.tooltip, {\n ...this.popperOptionsComputed()\n });\n\n if (!this.visible()) {\n this.removeTooltipElement();\n return;\n }\n\n clearTimeout(this.#timerId2);\n clearTimeout(this.#timerId1);\n this.#timerId1 = setTimeout(() => {\n this.tooltipId = this.getUID('tooltip');\n this.tooltipRef?.setInput('id', this.tooltipId);\n this.#renderer.removeClass(this.tooltip, 'd-none');\n this.tooltipRef?.setInput('visible', this.visible());\n this.popperInstance?.forceUpdate();\n this.#changeDetectorRef?.markForCheck();\n this.#timerId1 = undefined;\n }, 150);\n }\n\n private removeTooltipElement(): void {\n this.tooltipId = '';\n if (!this.tooltipRef) {\n return;\n }\n\n clearTimeout(this.#timerId2);\n this.#timerId2 = setTimeout(() => {\n this.#viewContainerRef?.detach();\n this.#timerId2 = undefined;\n }, 300);\n\n this.tooltipRef.setInput('visible', false);\n this.tooltipRef.setInput('id', undefined);\n this.#changeDetectorRef.markForCheck();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { TooltipComponent } from './tooltip/tooltip.component';\nimport { TooltipDirective } from './tooltip.directive';\n\n@NgModule({\n exports: [\n TooltipComponent,\n TooltipDirective\n ],\n imports: [\n TooltipComponent,\n TooltipDirective\n ]\n})\nexport class TooltipModule {}\n","import { Component, computed, contentChildren, effect, input, InputSignal, TemplateRef } from '@angular/core';\n\nimport { Colors } from '../../coreui.types';\nimport { TemplateIdDirective } from '../../shared';\nimport { CardBodyComponent, CardComponent } from '../../card';\nimport { NgTemplateOutlet } from '@angular/common';\n\n@Component({\n selector: 'c-widget-stat-a',\n templateUrl: './widget-stat-a.component.html',\n exportAs: 'cWidgetStatA',\n imports: [CardBodyComponent, NgTemplateOutlet],\n host: { class: 'card', '[class]': 'hostClasses()' }\n})\nexport class WidgetStatAComponent extends CardComponent {\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n // override readonly color = input<Colors>();\n\n /**\n * Title of the widget to display\n * @returns string\n */\n readonly title: InputSignal<string | undefined> = input();\n\n /**\n * Value for your widget to display\n * @returns string\n */\n readonly value: InputSignal<string | undefined> = input<string>();\n\n readonly contentTemplates = contentChildren(TemplateIdDirective, { descendants: true });\n\n readonly templates = computed(() => {\n return this.contentTemplates().reduce(\n (acc, child) => {\n acc[child.id] = child.templateRef;\n return acc;\n },\n {} as Record<string, TemplateRef<any>>\n );\n });\n\n override readonly hostClasses = computed(() => {\n const color = this.color();\n return {\n card: true,\n [`bg-${color}`]: !!color,\n 'text-white': !!color\n } as Record<string, boolean>;\n });\n\n get bodyClasses() {\n return {\n 'pb-0': true,\n 'd-flex': true,\n 'justify-content-between': true,\n 'align-items-start': true\n };\n }\n}\n","@let _templates = templates();\n<ng-container>\n <c-card-body [class]=\"bodyClasses\">\n <div>\n @if (!!value() || _templates?.['widgetValueTemplate']) {\n <div class=\"fs-4 fw-semibold\">\n <ng-container *ngTemplateOutlet=\"_templates?.['widgetValueTemplate'] || defaultWidgetValueTemplate\" />\n </div>\n }\n @if (!!title() || _templates?.['widgetTitleTemplate']) {\n <div>\n <ng-container *ngTemplateOutlet=\"_templates?.['widgetTitleTemplate'] || defaultWidgetTitleTemplate\" />\n </div>\n }\n </div>\n <ng-container *ngTemplateOutlet=\"_templates?.['widgetActionTemplate'] || defaultWidgetActionTemplate\" />\n </c-card-body>\n <ng-container *ngTemplateOutlet=\"_templates?.['widgetChartTemplate'] || defaultWidgetChartTemplate\" />\n</ng-container>\n\n<ng-template #defaultWidgetTitleTemplate>\n {{ title() }}\n</ng-template>\n\n<ng-template #defaultWidgetValueTemplate>\n {{ value() }}\n</ng-template>\n\n<ng-template #defaultWidgetChartTemplate>\n <ng-content select=\".chart-wrapper\" />\n</ng-template>\n\n<ng-template #defaultWidgetActionTemplate>\n <ng-content />\n</ng-template>\n","import { booleanAttribute, Component, computed, input, InputSignal, InputSignalWithTransform } from '@angular/core';\n\nimport { CardBodyComponent, CardComponent } from '../../card';\n\n@Component({\n selector: 'c-widget-stat-b',\n templateUrl: './widget-stat-b.component.html',\n exportAs: 'cWidgetStatB',\n imports: [CardBodyComponent],\n host: { class: 'card', '[class]': 'hostClasses()' }\n})\nexport class WidgetStatBComponent extends CardComponent {\n constructor() {\n super();\n }\n\n /**\n * Sets the color context of the component to one of CoreUI themed colors.\n * @returns Colors\n */\n // override readonly color: InputSignal<Colors | undefined> = input();\n\n /**\n * Sets the text-color context of the component to one of CoreUI themed colors.\n * via TextColorDirective\n * @returns TextColors\n */\n // override readonly textColor: InputSignal<TextColors | undefined> = input();\n\n /**\n * Title of the widget to display\n * @returns string\n */\n readonly title: InputSignal<string | undefined> = input<string>();\n\n /**\n * Helper text for your widget.\n * @returns string\n */\n readonly text: InputSignal<string | undefined> = input<string>();\n\n /**\n * Value for your widget to display\n * @returns string\n */\n readonly value: InputSignal<string | undefined> = input<string>();\n\n /**\n * Invert colors from their default dark shade.\n * @returns boolean\n */\n readonly inverse: InputSignalWithTransform<boolean, unknown> = input(false, { transform: booleanAttribute });\n\n override readonly hostClasses = computed(() => {\n const color = this.color();\n const textColor = this.textColor();\n return {\n card: true,\n [`bg-${color}`]: !!color,\n [`text-${textColor}`]: !!textColor,\n 'text-white': this.inverse()\n } as Record<string, boolean>;\n });\n}\n","<c-card-body>\n @if (!!value()) {\n <div class=\"fs-4 fw-semibold\">{{ value() }}</div>\n }\n @if (!!title()) {\n <div>{{ title() }}</div>\n }\n <ng-content />\n @if (text()) {\n <small [class]=\"inverse() ? 'text-white text-opacity-75' : 'text-body-secondary'\">\n {{ text() }}\n </small>\n }\n</c-card-body>\n","import { booleanAttribute, Component, computed, contentChildren, effect, input, TemplateRef } from '@angular/core';\n\nimport { CardBodyComponent, CardComponent } from '../../card';\nimport { TemplateIdDirective } from '../../shared';\nimport { NgTemplateOutlet } from '@angular/common';\n\n@Component({\n selector: 'c-widget-stat-c',\n templateUrl: './widget-stat-c.component.html',\n exportAs: 'cWidgetStatC',\n imports: [CardBodyComponent, NgTemplateOutlet],\n host: { '[class]': 'hostExtendedClass()' }\n})\nexport class WidgetStatCComponent extends CardComponent {\n constructor() {\n super();\n }\n\n /**\n * Icon for your component.\n * @returns string\n */\n readonly icon = input<string>();\n\n /**\n * Title of the widget to display\n * @returns string\n */\n readonly title = input<string>();\n\n /**\n * Value for your widget to display\n * @returns string|number\n */\n readonly value = input<string | number>();\n\n /**\n * Invert colors from their default dark shade.\n * @returns boolean\n */\n readonly inverse = input(false, { transform: booleanAttribute });\n\n readonly contentTemplates = contentChildren(TemplateIdDirective, { descendants: true });\n\n readonly templates = computed(() => {\n return this.contentTemplates().reduce(\n (acc, child) => {\n acc[child.id] = child.templateRef;\n return acc;\n },\n {} as Record<string, TemplateRef<any>>\n );\n });\n\n readonly hostExtendedClass = computed(() => {\n return { ...this.hostClasses(), 'text-white': this.inverse() } as Record<string, boolean>;\n });\n\n readonly titleClasses = computed(() => {\n const inverse = this.inverse();\n return {\n 'text-body-secondary': !inverse,\n 'text-white': inverse,\n 'text-opacity-75': inverse,\n [`text-${this.textColor()}`]: !!this.textColor()\n } as Record<string, boolean>;\n });\n\n readonly valueClasses = computed(() => {\n return {\n 'fs-4': !this.textColor(),\n 'fw-semibold': true,\n ...this.titleClasses(),\n 'text-opacity-75': false\n } as Record<string, boolean>;\n });\n\n readonly iconClasses = computed(() => {\n return {\n 'mb-4': !this.textColor(),\n 'text-end': true,\n ...this.titleClasses()\n } as Record<string, boolean>;\n });\n}\n","@let _templates = templates();\n<c-card-body>\n @if (icon() || _templates?.['widgetIconTemplate']) {\n <div [class]=\"iconClasses()\">\n <ng-container *ngTemplateOutlet=\"_templates?.['widgetIconTemplate'] || defaultWidgetIconTemplate\" />\n </div>\n }\n @if (!!value()) {\n <div [class]=\"valueClasses()\">\n {{ value() }}\n </div>\n }\n @if (!!title()) {\n <div [class]=\"titleClasses()\">\n {{ title() }}\n </div>\n }\n @if (_templates?.['widgetProgressTemplate']) {\n <ng-container *ngTemplateOutlet=\"_templates?.['widgetProgressTemplate'] || defaultWidgetProgressTemplate\" />\n }\n</c-card-body>\n\n<ng-template #defaultWidgetIconTemplate>\n {{ icon() }}\n</ng-template>\n\n<ng-template #defaultWidgetProgressTemplate>\n <ng-content />\n</ng-template>\n","import { Component, computed, input } from '@angular/core';\nimport { Colors } from '../../coreui.types';\nimport { CardBodyComponent, CardComponent, CardHeaderComponent } from '../../card';\nimport { ColComponent, RowDirective } from '../../grid';\n\nexport type WidgetStatDValue = {\n title?: string;\n value?: number | string;\n};\n\n@Component({\n selector: 'c-widget-stat-d',\n templateUrl: './widget-stat-d.component.html',\n exportAs: 'cWidgetStatD',\n imports: [CardHeaderComponent, CardBodyComponent, ColComponent, RowDirective],\n host: { class: 'card' }\n})\nexport class WidgetStatDComponent extends CardComponent {\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n // override readonly color = input<Colors>();\n\n /**\n * Values and subtitles for your component.\n * @returns WidgetStatDValue[]\n */\n readonly values = input<WidgetStatDValue[]>();\n\n readonly headerClasses = computed(() => {\n return {\n 'position-relative': true,\n 'd-flex': true,\n 'justify-content-center': true,\n 'align-items-center': true,\n [`bg-${this.color()}`]: this.color()\n } as Record<string, boolean>;\n });\n}\n","<c-card-header [class]=\"headerClasses()\">\n <ng-content />\n</c-card-header>\n<c-card-body cRow class=\"text-center\">\n @for (item of values(); track item; let i = $index) {\n @if (i % 2 !== 0) {\n <div class=\"vr\"></div>\n }\n <c-col>\n <div class=\"fs-5 fw-semibold\">{{ item.value }}</div>\n <div class=\"text-uppercase text-body-secondary small\">{{ item.title }}</div>\n </c-col>\n }\n</c-card-body>\n","import { Component, computed, input } from '@angular/core';\nimport { CardBodyComponent, CardComponent } from '../../card';\n\n@Component({\n selector: 'c-widget-stat-e',\n templateUrl: './widget-stat-e.component.html',\n exportAs: 'cWidgetStatE',\n imports: [CardBodyComponent]\n})\nexport class WidgetStatEComponent extends CardComponent {\n constructor() {\n super();\n }\n\n /**\n * Title of the widget to display\n * @returns string\n */\n readonly title = input<string>();\n\n /**\n * Value for your widget to display\n * @returns string | number\n */\n readonly value = input<string | number>();\n\n readonly titleClasses = computed(() => {\n const textColor = this.textColor();\n return {\n 'text-body-secondary': !textColor,\n small: true,\n 'text-uppercase': true,\n 'fw-semibold': true,\n [`text-${textColor}`]: !!textColor\n } as Record<string, boolean>;\n });\n}\n","<c-card-body class=\"text-center\">\n @if (!!title()) {\n <div [class]=\"titleClasses()\">{{ title() }}</div>\n }\n @if (!!value()) {\n <div class=\"fs-6 fw-semibold py-3\">{{ value() }}</div>\n }\n <ng-content />\n</c-card-body>\n","import { booleanAttribute, Component, computed, contentChildren, effect, input, TemplateRef } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\n\nimport { Colors } from '../../coreui.types';\nimport { TemplateIdDirective } from '../../shared';\nimport { CardBodyComponent, CardComponent, CardFooterComponent } from '../../card';\n\n@Component({\n selector: 'c-widget-stat-f',\n templateUrl: './widget-stat-f.component.html',\n exportAs: 'cWidgetStatB',\n imports: [CardBodyComponent, CardFooterComponent, NgTemplateOutlet],\n host: { class: 'card', '[class]': 'hostClasses()' }\n})\nexport class WidgetStatFComponent extends CardComponent {\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n // override readonly color = input<Colors>();\n\n /**\n * Sets the text-color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n // override readonly textColor = input<TextColors | 'white' | 'muted'>();\n\n /**\n * Footer for your widget\n * @returns string\n */\n readonly footer = input<string>();\n\n /**\n * Icon for your widget\n * @returns string\n */\n readonly icon = input<string>();\n\n /**\n * Set padding of your component.\n * @returns boolean\n */\n readonly padding = input(false, { transform: booleanAttribute });\n\n /**\n * Title of the widget to display\n * @returns string\n */\n readonly title = input<string>();\n\n /**\n * Value for your widget to display\n * @returns string | number\n */\n readonly value = input<string | number>();\n\n readonly contentTemplates = contentChildren(TemplateIdDirective, { descendants: true });\n\n readonly templates = computed(() => {\n return this.contentTemplates().reduce(\n (acc, child) => {\n acc[child.id] = child.templateRef;\n return acc;\n },\n {} as Record<string, TemplateRef<any>>\n );\n });\n\n readonly cardBodyClasses = computed(() => {\n return {\n 'd-flex': true,\n 'align-items-center': true,\n 'p-0': !this.padding()\n } as Record<string, boolean>;\n });\n\n readonly iconClasses = computed(() => {\n const color = this.color();\n const padding = this.padding();\n\n return {\n 'me-3': !this.textColor(),\n 'text-white': true,\n [`bg-${color}`]: !!color,\n 'p-3': padding,\n 'p-4': !padding,\n 'rounded-start-1': !padding\n } as Record<string, boolean>;\n });\n\n readonly titleClasses = computed(() => {\n const textColor = this.textColor();\n return {\n 'text-body-secondary': !textColor,\n small: true,\n 'text-uppercase': true,\n 'fw-semibold': true,\n [`text-${textColor}`]: !!textColor\n } as Record<string, boolean>;\n });\n\n readonly valueClasses = computed(() => {\n const textColor = this.textColor();\n return {\n 'fs-6': !textColor,\n 'fw-semibold': true,\n [`text-${textColor}`]: !!textColor\n } as Record<string, boolean>;\n });\n}\n","@let _templates = templates();\n<ng-container>\n <c-card-body [class]=\"cardBodyClasses()\">\n <div [class]=\"iconClasses()\">\n <ng-container *ngTemplateOutlet=\"_templates?.['widgetIconTemplate'] || defaultWidgetIconTemplate\" />\n </div>\n <div>\n <div [class]=\"valueClasses()\">{{ value() }}</div>\n <div [class]=\"titleClasses()\">{{ title() }}</div>\n </div>\n </c-card-body>\n @if (footer() || _templates?.['widgetFooterTemplate']) {\n <c-card-footer>\n <ng-container *ngTemplateOutlet=\"_templates?.['widgetFooterTemplate'] || defaultFooterIconTemplate\" />\n </c-card-footer>\n }\n</ng-container>\n\n<ng-template #defaultWidgetIconTemplate>\n <span>{{ icon() }}</span>\n</ng-template>\n\n<ng-template #defaultFooterIconTemplate>\n <span>{{ footer() }}</span>\n</ng-template>\n","import { NgModule } from '@angular/core';\n\nimport { WidgetStatAComponent } from './widget-stat-a/widget-stat-a.component';\nimport { WidgetStatBComponent } from './widget-stat-b/widget-stat-b.component';\nimport { WidgetStatCComponent } from './widget-stat-c/widget-stat-c.component';\nimport { WidgetStatDComponent } from './widget-stat-d/widget-stat-d.component';\nimport { WidgetStatEComponent } from './widget-stat-e/widget-stat-e.component';\nimport { WidgetStatFComponent } from './widget-stat-f/widget-stat-f.component';\n\n@NgModule({\n imports: [\n WidgetStatAComponent,\n WidgetStatBComponent,\n WidgetStatCComponent,\n WidgetStatDComponent,\n WidgetStatEComponent,\n WidgetStatFComponent\n ],\n exports: [\n WidgetStatAComponent,\n WidgetStatBComponent,\n WidgetStatCComponent,\n WidgetStatDComponent,\n WidgetStatEComponent,\n WidgetStatFComponent\n ]\n})\nexport class WidgetModule {}\n"],"mappings":"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"}
1
+ {"version":3,"file":"coreui-angular.mjs","names":["nextId","i1.ThemeDirective","i1.TextColorDirective","i1.TextColorDirective","i2.TextBgColorDirective","i1","i1.TextColorDirective","i2.TextBgColorDirective","take","i1.ThemeDirective","DOCUMENT","isEditableTarget","isEditableTarget","i1.ThemeDirective","isEditableTarget","i1.ThemeDirective","isEditableTarget","nextId","i1.ThemeDirective","nextId","i1.ThemeDirective","i2","i1.ProgressBarDirective","i1.ProgressBarDirective","i1.SidebarToggleDirective","i1"],"sources":["../../../projects/coreui-angular/src/lib/coreui.types.ts","../../../projects/coreui-angular/src/lib/shared/element-ref.directive.ts","../../../projects/coreui-angular/src/lib/shared/html-attr.directive.ts","../../../projects/coreui-angular/src/lib/shared/template-id.directive.ts","../../../projects/coreui-angular/src/lib/shared/theme.directive.ts","../../../projects/coreui-angular/src/lib/shared/shared.module.ts","../../../projects/coreui-angular/src/lib/accordion/accordion-button/accordion-button.directive.ts","../../../projects/coreui-angular/src/lib/accordion/accordion.service.ts","../../../projects/coreui-angular/src/lib/accordion/accordion/accordion.component.ts","../../../projects/coreui-angular/src/lib/collapse/collapse.directive.ts","../../../projects/coreui-angular/src/lib/collapse/collapse.module.ts","../../../projects/coreui-angular/src/lib/accordion/accordion-item/accordion-item.component.ts","../../../projects/coreui-angular/src/lib/accordion/accordion-item/accordion-item.component.html","../../../projects/coreui-angular/src/lib/accordion/accordion.module.ts","../../../projects/coreui-angular/src/lib/alert/alert-heading.directive.ts","../../../projects/coreui-angular/src/lib/alert/alert-link.directive.ts","../../../projects/coreui-angular/src/lib/button/button.directive.ts","../../../projects/coreui-angular/src/lib/button/button-close.directive.ts","../../../projects/coreui-angular/src/lib/button/button.module.ts","../../../projects/coreui-angular/src/lib/utilities/getTransitionDurationFromElement.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/shared/transition.utils.ts","../../../projects/coreui-angular/src/lib/backdrop/backdrop.service.ts","../../../projects/coreui-angular/src/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.ts","../../../projects/coreui-angular/src/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.html","../../../projects/coreui-angular/src/lib/breadcrumb/breadcrumb/breadcrumb.component.ts","../../../projects/coreui-angular/src/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.ts","../../../projects/coreui-angular/src/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.ts","../../../projects/coreui-angular/src/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.html","../../../projects/coreui-angular/src/lib/breadcrumb/breadcrumb.module.ts","../../../projects/coreui-angular/src/lib/button-group/button-group/button-group.component.ts","../../../projects/coreui-angular/src/lib/button-group/button-toolbar/button-toolbar.component.ts","../../../projects/coreui-angular/src/lib/button-group/button-group.module.ts","../../../projects/coreui-angular/src/lib/callout/callout.component.ts","../../../projects/coreui-angular/src/lib/callout/callout.module.ts","../../../projects/coreui-angular/src/lib/card/card.component.ts","../../../projects/coreui-angular/src/lib/card/card-body.component.ts","../../../projects/coreui-angular/src/lib/card/card-footer.component.ts","../../../projects/coreui-angular/src/lib/card/card-group.component.ts","../../../projects/coreui-angular/src/lib/card/card-header.component.ts","../../../projects/coreui-angular/src/lib/card/card-header-actions.component.ts","../../../projects/coreui-angular/src/lib/card/card-img.directive.ts","../../../projects/coreui-angular/src/lib/card/card-img-overlay/card-img-overlay.component.ts","../../../projects/coreui-angular/src/lib/card/card-link.directive.ts","../../../projects/coreui-angular/src/lib/card/card-subtitle.directive.ts","../../../projects/coreui-angular/src/lib/card/card-text.directive.ts","../../../projects/coreui-angular/src/lib/card/card-title.directive.ts","../../../projects/coreui-angular/src/lib/card/card.module.ts","../../../projects/coreui-angular/src/lib/services/intersection.service.ts","../../../projects/coreui-angular/src/lib/services/listeners.service.ts","../../../projects/coreui-angular/src/lib/services/class-toggle.service.ts","../../../projects/coreui-angular/src/lib/services/in-memory-storage.service.ts","../../../projects/coreui-angular/src/lib/services/local-storage.service.ts","../../../projects/coreui-angular/src/lib/services/color-mode.service.ts","../../../projects/coreui-angular/src/lib/services/uid.service.ts","../../../projects/coreui-angular/src/lib/services/rtl.service.ts","../../../projects/coreui-angular/src/lib/carousel/carousel.service.ts","../../../projects/coreui-angular/src/lib/carousel/carousel.config.ts","../../../projects/coreui-angular/src/lib/carousel/carousel/carousel.component.ts","../../../projects/coreui-angular/src/lib/carousel/carousel-caption/carousel-caption.component.ts","../../../projects/coreui-angular/src/lib/carousel/carousel-control/carousel-control.component.ts","../../../projects/coreui-angular/src/lib/carousel/carousel-control/carousel-control.component.html","../../../projects/coreui-angular/src/lib/carousel/carousel-indicators/carousel-indicators.component.ts","../../../projects/coreui-angular/src/lib/carousel/carousel-indicators/carousel-indicators.component.html","../../../projects/coreui-angular/src/lib/carousel/carousel-item/carousel-item.component.ts","../../../projects/coreui-angular/src/lib/carousel/carousel-inner/carousel-inner.component.ts","../../../projects/coreui-angular/src/lib/carousel/carousel.module.ts","../../../projects/coreui-angular/src/lib/chip/chip-set-ref.ts","../../../projects/coreui-angular/src/lib/chip/chip.utils.ts","../../../projects/coreui-angular/src/lib/chip/chip.component.ts","../../../projects/coreui-angular/src/lib/chip/chip.component.html","../../../projects/coreui-angular/src/lib/chip/chip.module.ts","../../../projects/coreui-angular/src/lib/services/announcer.service.ts","../../../projects/coreui-angular/src/lib/chip-set/chip-set.service.ts","../../../projects/coreui-angular/src/lib/chip-input/chip-input.component.ts","../../../projects/coreui-angular/src/lib/chip-input/chip-input.component.html","../../../projects/coreui-angular/src/lib/chip-input/chip-input.module.ts","../../../projects/coreui-angular/src/lib/chip-set/chip-set.component.ts","../../../projects/coreui-angular/src/lib/chip-set/chip-set.component.html","../../../projects/coreui-angular/src/lib/chip-set/chip-set.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.utils.ts","../../../projects/coreui-angular/src/lib/shared/focus.utils.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/shared/aria-invalid.utils.ts","../../../projects/coreui-angular/src/lib/form/form-control/form-control.directive.ts","../../../projects/coreui-angular/src/lib/form/form-check/form-check-input.directive.ts","../../../projects/coreui-angular/src/lib/form/form-feedback/form-feedback.component.ts","../../../projects/coreui-angular/src/lib/form/form-floating/form-floating.directive.ts","../../../projects/coreui-angular/src/lib/form/form-label/form-label.directive.ts","../../../projects/coreui-angular/src/lib/form/form-select/form-select.directive.ts","../../../projects/coreui-angular/src/lib/form/form-text/form-text.directive.ts","../../../projects/coreui-angular/src/lib/form/input-group/input-group.component.ts","../../../projects/coreui-angular/src/lib/form/input-group-text/input-group-text.directive.ts","../../../projects/coreui-angular/src/lib/form/form.module.ts","../../../projects/coreui-angular/src/lib/grid/container.component.ts","../../../projects/coreui-angular/src/lib/grid/col.directive.ts","../../../projects/coreui-angular/src/lib/grid/col.component.ts","../../../projects/coreui-angular/src/lib/grid/row.directive.ts","../../../projects/coreui-angular/src/lib/grid/row.component.ts","../../../projects/coreui-angular/src/lib/grid/gutter.directive.ts","../../../projects/coreui-angular/src/lib/grid/grid.module.ts","../../../projects/coreui-angular/src/lib/header/header/header.component.ts","../../../projects/coreui-angular/src/lib/header/header/header.component.html","../../../projects/coreui-angular/src/lib/header/header-brand/header-brand.component.ts","../../../projects/coreui-angular/src/lib/header/header-divider/header-divider.component.ts","../../../projects/coreui-angular/src/lib/header/header-nav/header-nav.component.ts","../../../projects/coreui-angular/src/lib/header/header-text/header-text.component.ts","../../../projects/coreui-angular/src/lib/header/header-toggler/header-toggler.directive.ts","../../../projects/coreui-angular/src/lib/header/header.module.ts","../../../projects/coreui-angular/src/lib/image/img.directive.ts","../../../projects/coreui-angular/src/lib/image/img.module.ts","../../../projects/coreui-angular/src/lib/list-group/list-group.directive.ts","../../../projects/coreui-angular/src/lib/list-group/list-group-item.directive.ts","../../../projects/coreui-angular/src/lib/list-group/list-group.module.ts","../../../projects/coreui-angular/src/lib/nav/nav-group.service.ts","../../../projects/coreui-angular/src/lib/nav/nav-link.directive.ts","../../../projects/coreui-angular/src/lib/nav/nav-group-items.component.ts","../../../projects/coreui-angular/src/lib/nav/nav-group.component.ts","../../../projects/coreui-angular/src/lib/nav/nav-group.component.html","../../../projects/coreui-angular/src/lib/nav/nav-item.component.ts","../../../projects/coreui-angular/src/lib/nav/nav-item.component.html","../../../projects/coreui-angular/src/lib/nav/nav-title.component.ts","../../../projects/coreui-angular/src/lib/nav/nav.component.ts","../../../projects/coreui-angular/src/lib/nav/nav.module.ts","../../../projects/coreui-angular/src/lib/navbar/navbar.component.ts","../../../projects/coreui-angular/src/lib/navbar/navbar.component.html","../../../projects/coreui-angular/src/lib/navbar/navbar-brand/navbar-brand.directive.ts","../../../projects/coreui-angular/src/lib/navbar/navbar-nav/navbar-nav.component.ts","../../../projects/coreui-angular/src/lib/navbar/navbar-text/navbar-text.component.ts","../../../projects/coreui-angular/src/lib/navbar/navbar-toggler/navbar-toggler.directive.ts","../../../projects/coreui-angular/src/lib/navbar/navbar.module.ts","../../../projects/coreui-angular/src/lib/modal/modal-body/modal-body.component.ts","../../../projects/coreui-angular/src/lib/modal/modal-content/modal-content.component.ts","../../../projects/coreui-angular/src/lib/modal/modal-dialog/modal-dialog.component.ts","../../../projects/coreui-angular/src/lib/modal/modal.service.ts","../../../projects/coreui-angular/src/lib/modal/modal-dismiss/modal-toggle.directive.ts","../../../projects/coreui-angular/src/lib/modal/modal-footer/modal-footer.component.ts","../../../projects/coreui-angular/src/lib/modal/modal-header/modal-header.component.ts","../../../projects/coreui-angular/src/lib/modal/modal-title/modal-title.directive.ts","../../../projects/coreui-angular/src/lib/modal/modal/modal.component.ts","../../../projects/coreui-angular/src/lib/modal/modal/modal.component.html","../../../projects/coreui-angular/src/lib/modal/modal.module.ts","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas.service.ts","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas/offcanvas.component.ts","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas/offcanvas.component.html","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas-body/offcanvas-body.component.ts","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas-header/offcanvas-header.component.ts","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas-title/offcanvas-title.directive.ts","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.ts","../../../projects/coreui-angular/src/lib/offcanvas/offcanvas.module.ts","../../../projects/coreui-angular/src/lib/pagination/page-link/page-link.directive.ts","../../../projects/coreui-angular/src/lib/pagination/page-item/page-item.directive.ts","../../../projects/coreui-angular/src/lib/pagination/page-item/page-item.component.ts","../../../projects/coreui-angular/src/lib/pagination/pagination/pagination.component.ts","../../../projects/coreui-angular/src/lib/pagination/pagination/pagination.component.html","../../../projects/coreui-angular/src/lib/pagination/pagination.module.ts","../../../projects/coreui-angular/src/lib/placeholder/placeholder.directive.ts","../../../projects/coreui-angular/src/lib/placeholder/placeholder-animation.directive.ts","../../../projects/coreui-angular/src/lib/placeholder/placeholder.module.ts","../../../projects/coreui-angular/src/lib/popover/popover/popover.component.ts","../../../projects/coreui-angular/src/lib/popover/popover/popover.component.html","../../../projects/coreui-angular/src/lib/popover/popover.directive.ts","../../../projects/coreui-angular/src/lib/popover/popover.module.ts","../../../projects/coreui-angular/src/lib/progress/progress.service.ts","../../../projects/coreui-angular/src/lib/progress/progress-bar.directive.ts","../../../projects/coreui-angular/src/lib/progress/progress-bar.component.ts","../../../projects/coreui-angular/src/lib/progress/progress-stacked.component.ts","../../../projects/coreui-angular/src/lib/progress/progress.component.ts","../../../projects/coreui-angular/src/lib/progress/progress.component.html","../../../projects/coreui-angular/src/lib/progress/progress.module.ts","../../../projects/coreui-angular/src/lib/search-button/search-button.utils.ts","../../../projects/coreui-angular/src/lib/search-button/search-button.component.ts","../../../projects/coreui-angular/src/lib/search-button/search-button.component.html","../../../projects/coreui-angular/src/lib/search-button/search-button.module.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar.service.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-backdrop/sidebar-backdrop.service.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar/sidebar.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-brand/sidebar-brand.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-brand/sidebar-brand.component.html","../../../projects/coreui-angular/src/lib/sidebar/sidebar-toggle/sidebar-toggle.directive.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-toggler/sidebar-toggler.directive.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-header/sidebar-header.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-footer/sidebar-footer.component.ts","../../../projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav.utils.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-content.component.ts","../../../projects/coreui-angular/src/lib/toast/toast/toast.component.ts","../../../projects/coreui-angular/src/lib/toast/toast-body/toast-body.component.ts","../../../projects/coreui-angular/src/lib/toast/toast-close.directive.ts","../../../projects/coreui-angular/src/lib/toast/toast-header/toast-header.component.ts","../../../projects/coreui-angular/src/lib/toast/toast-header/toast-header.component.html","../../../projects/coreui-angular/src/lib/toast/toaster/toaster-host.directive.ts","../../../projects/coreui-angular/src/lib/toast/toaster/toaster.component.ts","../../../projects/coreui-angular/src/lib/toast/toaster/toaster.component.html","../../../projects/coreui-angular/src/lib/toast/toast.module.ts","../../../projects/coreui-angular/src/lib/tooltip/tooltip/tooltip.component.ts","../../../projects/coreui-angular/src/lib/tooltip/tooltip/tooltip.component.html","../../../projects/coreui-angular/src/lib/tooltip/tooltip.directive.ts","../../../projects/coreui-angular/src/lib/tooltip/tooltip.module.ts","../../../projects/coreui-angular/src/lib/widget/widget-stat-a/widget-stat-a.component.ts","../../../projects/coreui-angular/src/lib/widget/widget-stat-a/widget-stat-a.component.html","../../../projects/coreui-angular/src/lib/widget/widget-stat-b/widget-stat-b.component.ts","../../../projects/coreui-angular/src/lib/widget/widget-stat-b/widget-stat-b.component.html","../../../projects/coreui-angular/src/lib/widget/widget-stat-c/widget-stat-c.component.ts","../../../projects/coreui-angular/src/lib/widget/widget-stat-c/widget-stat-c.component.html","../../../projects/coreui-angular/src/lib/widget/widget-stat-d/widget-stat-d.component.ts","../../../projects/coreui-angular/src/lib/widget/widget-stat-d/widget-stat-d.component.html","../../../projects/coreui-angular/src/lib/widget/widget-stat-e/widget-stat-e.component.ts","../../../projects/coreui-angular/src/lib/widget/widget-stat-e/widget-stat-e.component.html","../../../projects/coreui-angular/src/lib/widget/widget-stat-f/widget-stat-f.component.ts","../../../projects/coreui-angular/src/lib/widget/widget-stat-f/widget-stat-f.component.html","../../../projects/coreui-angular/src/lib/widget/widget.module.ts"],"sourcesContent":["import { IsActiveMatchOptions } from '@angular/router';\n\nexport declare type BooleanInput = string | boolean | null | undefined;\nexport declare type NumberInput = string | number | null | undefined;\n\nexport type NgCssClass = string | string[] | Set<string> | { [klass: string]: any };\n\nexport enum BreakpointInfix {\n xs = 'xs',\n sm = 'sm',\n md = 'md',\n lg = 'lg',\n xl = 'xl',\n xxl = 'xxl'\n}\n\nexport type BreakpointInfixStrings = keyof typeof BreakpointInfix;\n\nexport type Breakpoints = BreakpointInfixStrings | string;\n\nexport type Sizes = 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | string;\n\nexport type Colors =\n | 'primary'\n | 'secondary'\n | 'success'\n | 'danger'\n | 'warning'\n | 'info'\n | 'dark'\n | 'light'\n | 'primary-gradient'\n | 'secondary-gradient'\n | 'success-gradient'\n | 'danger-gradient'\n | 'warning-gradient'\n | 'info-gradient'\n | 'dark-gradient'\n | 'light-gradient'\n | string;\n\n// export type ColorsGradient =\n// | Colors\n// | `${Colors}-gradient`;\n\nexport type BackgroundColors = Colors | 'body' | 'white' | 'transparent';\n\nexport type Directions = 'down' | 'up' | 'start' | 'end' | '';\n\nexport type TextColors =\n | Colors\n | 'primary-emphasis'\n | 'secondary-emphasis'\n | 'success-emphasis'\n | 'danger-emphasis'\n | 'warning-emphasis'\n | 'info-emphasis'\n | 'light-emphasis'\n | 'body'\n | 'body-emphasis'\n | 'body-secondary'\n | 'body-tertiary'\n | 'black'\n | 'black-50'\n | 'white'\n | 'white-50'\n | string;\n\nexport type Alignment = 'baseline' | 'top' | 'middle' | 'bottom' | 'text-top' | 'text-bottom';\n\nexport type DropdownDirection = 'start' | 'end';\n\nexport type DropdownAlignment = DropdownDirection | Partial<Record<BreakpointInfixStrings, DropdownDirection>>;\n\nexport type BadgePositions = 'top-start' | 'top-end' | 'bottom-end' | 'bottom-start' | string | undefined;\n\nexport type Placements =\n | 'auto'\n | 'auto-start'\n | 'auto-end'\n | 'top-end'\n | 'top'\n | 'top-start'\n | 'bottom-end'\n | 'bottom'\n | 'bottom-start'\n | 'right-start'\n | 'right'\n | 'right-end'\n | 'left-start'\n | 'left'\n | 'left-end'\n | undefined;\n\nexport type Shapes =\n | 'rounded'\n | 'rounded-top'\n | 'rounded-end'\n | 'rounded-bottom'\n | 'rounded-start'\n | 'rounded-circle'\n | 'rounded-pill'\n | 'rounded-0'\n | 'rounded-1'\n | 'rounded-2'\n | 'rounded-3'\n | string;\n\nexport type Triggers = 'hover' | 'focus' | 'click' | 'focusin';\n\nexport type Positions = 'fixed' | 'sticky';\n\nexport type InputType =\n | 'button'\n | 'color'\n | 'date'\n | 'datetime'\n | 'datetime-local'\n | 'email'\n | 'file'\n | 'hidden'\n | 'image'\n | 'month'\n | 'number'\n | 'password'\n | 'range'\n | 'reset'\n | 'search'\n | 'submit'\n | 'tel'\n | 'text'\n | 'time'\n | 'url'\n | 'week'\n | 'checkbox'\n | 'radio';\n\nexport interface INavLinkProps {\n queryParams?: { [k: string]: any };\n fragment?: string;\n queryParamsHandling?: 'merge' | 'preserve' | '' | null;\n preserveFragment?: boolean;\n skipLocationChange?: boolean;\n replaceUrl?: boolean;\n state?: { [k: string]: any };\n routerLinkActiveOptions?: { exact: boolean } | IsActiveMatchOptions;\n routerLinkActive?: string | string[];\n ariaCurrentWhenActive?: 'page' | 'step' | 'location' | 'date' | 'time' | true | false;\n}\n\nexport interface INavAttributes {\n [propName: string]: any;\n}\n\nexport type ButtonType = 'button' | 'submit' | 'reset';\n","import { Directive, ElementRef, inject } from '@angular/core';\n\n@Directive({\n selector: '[cElementRef]',\n exportAs: 'cElementRef'\n})\nexport class ElementRefDirective {\n public readonly elementRef = inject(ElementRef);\n}\n","import { Directive, effect, ElementRef, inject, input, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[cHtmlAttr]',\n exportAs: 'cHtmlAttr'\n})\nexport class HtmlAttributesDirective {\n /**\n * A map of HTML attributes (including `class` and `style`) to set on the host element.\n * @returns Record<string, any>\n */\n readonly cHtmlAttr = input<Record<string, any>>();\n\n readonly #renderer = inject(Renderer2);\n readonly #elementRef = inject(ElementRef);\n\n constructor() {\n effect(() => {\n const attribs = this.cHtmlAttr();\n for (const attr in attribs) {\n if (attr === 'style' && typeof attribs[attr] === 'object') {\n this.setStyle(attribs[attr]);\n } else if (attr === 'class') {\n this.addClass(attribs[attr]);\n } else {\n this.setAttrib(attr, attribs[attr]);\n }\n }\n });\n }\n\n private setStyle(styles: Record<string, any>): void {\n for (const style in styles) {\n if (style) {\n this.#renderer.setStyle(this.#elementRef.nativeElement, style, styles[style]);\n }\n }\n }\n\n private addClass(classes: string | string[]): void {\n const classArray = Array.isArray(classes) ? classes : classes.split(' ');\n classArray\n .filter((element) => element.length > 0)\n .forEach((element) => {\n this.#renderer.addClass(this.#elementRef.nativeElement, element);\n });\n }\n\n private setAttrib(key: string, value: string | null): void {\n value !== null\n ? this.#renderer.setAttribute(this.#elementRef.nativeElement, key, value)\n : this.#renderer.removeAttribute(this.#elementRef.nativeElement, key);\n }\n}\n","import { Directive, inject, input, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[cTemplateId]'\n})\nexport class TemplateIdDirective {\n readonly templateRef = inject(TemplateRef);\n\n /**\n * Predefined template name (id) for optional slots\n * @returns string\n */\n readonly cTemplateId = input.required<string>();\n\n get id() {\n return this.cTemplateId();\n }\n}\n","import { booleanAttribute, Directive, effect, ElementRef, inject, input, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[cTheme]',\n exportAs: 'cTheme'\n})\nexport class ThemeDirective {\n readonly #hostElement = inject(ElementRef);\n readonly #renderer = inject(Renderer2);\n\n /**\n * Sets the `data-coreui-theme` attribute on the host element.\n * @returns 'dark' | 'light'\n */\n readonly colorScheme = input<'dark' | 'light'>();\n\n /**\n * Applies the dark color scheme. On `cTheme` it takes precedence over `colorScheme`.\n * @returns boolean\n * @default false\n */\n readonly dark = input(false, { transform: booleanAttribute });\n\n readonly #themeChange = effect(() => {\n const theme = this.dark() ? 'dark' : this.colorScheme();\n theme ? this.setTheme(theme) : this.unsetTheme();\n });\n\n setTheme(theme?: string): void {\n if (theme) {\n this.#renderer.setAttribute(this.#hostElement.nativeElement, 'data-coreui-theme', theme);\n }\n }\n\n unsetTheme(): void {\n this.#renderer.removeAttribute(this.#hostElement.nativeElement, 'data-coreui-theme');\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { ElementRefDirective } from './element-ref.directive';\nimport { HtmlAttributesDirective } from './html-attr.directive';\nimport { TemplateIdDirective } from './template-id.directive';\nimport { ThemeDirective } from './theme.directive';\n\n@NgModule({\n imports: [ElementRefDirective, HtmlAttributesDirective, TemplateIdDirective, ThemeDirective],\n exports: [ElementRefDirective, HtmlAttributesDirective, TemplateIdDirective, ThemeDirective],\n})\nexport class SharedModule {\n static forRoot(): ModuleWithProviders<SharedModule> {\n return {\n ngModule: SharedModule,\n };\n }\n}\n","import { computed, Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[cAccordionButton]',\n host: { '[class]': 'hostClasses()', '[attr.type]': 'type()', '[aria-expanded]': 'ariaExpanded()' }\n})\nexport class AccordionButtonDirective {\n /**\n * Toggles an accordion button collapsed state. Use in accordionHeaderTemplate.\n * @returns boolean | undefined\n */\n readonly collapsed = input<boolean | undefined>(undefined);\n\n /**\n * Default type for cAccordionButton\n * @returns string\n * @default 'button'\n */\n readonly type = input('button');\n\n readonly hostClasses = computed(() => {\n return {\n 'accordion-button': true,\n collapsed: this.collapsed()\n } as Record<string, boolean>;\n });\n\n readonly ariaExpanded = computed(() => !this.collapsed());\n}\n","import { Injectable } from '@angular/core';\nimport type { AccordionItemComponent } from './accordion-item/accordion-item.component';\n\n@Injectable()\nexport class AccordionService {\n items: AccordionItemComponent[] = [];\n alwaysOpen = false;\n\n addItem(item: AccordionItemComponent): void {\n this.items.push(item);\n }\n\n removeItem(item: AccordionItemComponent): void {\n const index = this.items.indexOf(item);\n if (index !== -1) {\n this.items.splice(index, 1);\n }\n }\n\n toggleItem(item: AccordionItemComponent): void {\n item.itemVisible.update((value) => !value);\n this.closeOtherItems(item);\n }\n\n closeOtherItems(openItem: AccordionItemComponent): void {\n if (!this.alwaysOpen) {\n this.items.forEach((item: AccordionItemComponent) => {\n if (item !== openItem) {\n item.itemVisible.set(false);\n }\n });\n }\n }\n}\n","import { booleanAttribute, Component, computed, effect, inject, input } from '@angular/core';\n\nimport { AccordionService } from '../accordion.service';\n\n@Component({\n selector: 'c-accordion',\n template: '<ng-content />',\n styleUrls: ['./accordion.component.scss'],\n exportAs: 'cAccordionItem',\n providers: [AccordionService],\n host: { '[class]': 'hostClasses()' }\n})\nexport class AccordionComponent {\n readonly #accordionService = inject(AccordionService);\n\n /**\n * Removes the default background-color, some borders, and some rounded corners to render accordions edge-to-edge with their parent container.\n * @returns boolean\n */\n readonly flush = input(false, { transform: booleanAttribute });\n\n /**\n * Make accordion items stay open when another item is opened\n * @returns boolean\n */\n readonly alwaysOpen = input(false, { transform: booleanAttribute });\n\n readonly #alwaysOpenEffect = effect(() => {\n this.#accordionService.alwaysOpen = this.alwaysOpen();\n });\n\n readonly hostClasses = computed(\n () =>\n ({\n accordion: true,\n 'accordion-flush': this.flush()\n }) as Record<string, boolean>\n );\n}\n","import {\n booleanAttribute,\n computed,\n Directive,\n effect,\n ElementRef,\n inject,\n input,\n linkedSignal,\n OnDestroy,\n output,\n Renderer2,\n untracked\n} from '@angular/core';\n\n@Directive({\n selector: '[cCollapse]',\n exportAs: 'cCollapse',\n host: { '[class]': 'hostClasses()' }\n})\nexport class CollapseDirective implements OnDestroy {\n readonly #hostElement = inject(ElementRef);\n readonly #renderer = inject(Renderer2);\n #unlistenTransitionEnd?: () => void;\n #isFirstChange = true;\n\n /**\n * @ignore internal\n */\n readonly animateInput = input(true, { transform: booleanAttribute, alias: 'animate' });\n\n readonly animate = linkedSignal(this.animateInput);\n\n /**\n * Set horizontal collapsing to transition the width instead of height.\n * @returns boolean\n * @default false\n */\n readonly horizontal = input(false, { transform: booleanAttribute });\n\n /**\n * Toggle the visibility of a collapsible element.\n * @returns boolean\n * @default false\n */\n readonly visibleInput = input(false, { transform: booleanAttribute, alias: 'visible' });\n\n /**\n * Event emitted on visibility change\n * @returns boolean\n */\n readonly visibleChange = output<boolean>();\n\n readonly visible = linkedSignal(this.visibleInput);\n\n readonly #visibleEffect = effect(() => {\n const visible = this.visible();\n untracked(() => {\n if (this.#isFirstChange) {\n this.#isFirstChange = false;\n this.setInitialState(visible);\n return;\n }\n if (!this.animate()) {\n this.finishTransition(visible, this.#hostElement.nativeElement, this.horizontal() ? 'width' : 'height');\n return;\n }\n this.runTransition(visible);\n });\n });\n\n /**\n * Add a `navbar` prop for grouping and hiding navbar contents by a parent breakpoint.\n * @returns boolean\n * @default false\n */\n readonly navbar = input(false, { transform: booleanAttribute });\n\n /**\n * Event emitted on visibility change\n * @returns string\n */\n readonly collapseChange = output<string>();\n\n protected readonly hostClasses = computed(() => {\n return {\n 'navbar-collapse': this.navbar(),\n 'collapse-horizontal': this.horizontal()\n } as Record<string, boolean>;\n });\n\n ngOnDestroy(): void {\n this.clearPendingCallbacks();\n }\n\n toggle(visible = !this.visible()): void {\n this.visible.set(visible);\n }\n\n protected clearPendingCallbacks(): void {\n this.#unlistenTransitionEnd?.();\n this.#unlistenTransitionEnd = undefined;\n }\n\n protected setInitialState(visible: boolean): void {\n const host: HTMLElement = this.#hostElement.nativeElement;\n\n this.#renderer.addClass(host, 'collapse');\n this.#renderer.removeClass(host, 'collapsing');\n\n if (visible) {\n this.#renderer.addClass(host, 'show');\n } else {\n this.#renderer.removeClass(host, 'show');\n }\n }\n\n protected runTransition(visible: boolean): void {\n this.clearPendingCallbacks();\n\n const host: HTMLElement = this.#hostElement.nativeElement;\n const dimension = this.horizontal() ? 'width' : 'height';\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);\n const scrollSize = `scroll${capitalizedDimension}` as 'scrollHeight' | 'scrollWidth';\n\n const animate = this.animate();\n\n if (visible) {\n this.setMaxSize();\n\n // Switch off `collapse`/`show` before we measure its scroll size below.\n this.#renderer.removeClass(host, 'collapse');\n this.#renderer.removeClass(host, 'show');\n this.#renderer.addClass(host, 'collapsing');\n\n this.collapseChange?.emit('opening');\n\n // Reading scrollHeight/scrollWidth forces a synchronous reflow, committing the 0-size\n // starting point before we set the target size below, so the browser animates the change.\n const targetSize = host[scrollSize];\n this.#renderer.setStyle(host, dimension, `${targetSize}px`);\n } else {\n // Lock in the current pixel size first so the browser has a committed starting point,\n // then switch to the collapsing state and clear it so the size can animate down to 0.\n const startSize = host.getBoundingClientRect()[dimension];\n this.#renderer.setStyle(host, dimension, `${startSize}px`);\n // Force a reflow so the browser registers the starting size before the next style change.\n host.offsetHeight;\n\n this.#renderer.removeClass(host, 'collapse');\n this.#renderer.removeClass(host, 'show');\n this.#renderer.addClass(host, 'collapsing');\n\n this.collapseChange?.emit('collapsing');\n\n // Now that the starting size is committed, set the target size (0) so the browser\n // animates the transition down.\n this.#renderer.setStyle(host, dimension, '0px');\n }\n\n const finish = () => this.finishTransition(visible, host, dimension);\n\n if (animate) {\n this.#unlistenTransitionEnd = this.#renderer.listen(host, 'transitionend', (event: TransitionEvent) => {\n // Ignore bubbled transitionend events from descendant elements.\n if (event.target === host && event.propertyName === dimension) {\n finish();\n }\n });\n } else {\n finish();\n }\n }\n\n protected finishTransition(visible: boolean, host: HTMLElement, dimension: string): void {\n this.clearPendingCallbacks();\n\n this.#renderer.removeClass(host, 'collapsing');\n this.#renderer.addClass(host, 'collapse');\n if (visible) {\n this.#renderer.addClass(host, 'show');\n } else {\n this.#renderer.removeClass(host, 'show');\n }\n this.#renderer.removeStyle(host, 'transition');\n this.#renderer.removeStyle(host, dimension);\n\n this.collapseChange?.emit(visible ? 'open' : 'collapsed');\n this.visibleChange?.emit(visible);\n }\n\n protected setMaxSize() {\n const host = this.#hostElement.nativeElement;\n if (this.horizontal()) {\n host.scrollWidth > 0 && this.#renderer.setStyle(host, 'maxWidth', `${host.scrollWidth}px`);\n // } else {\n // host.scrollHeight > 0 && this.#renderer.setStyle(host, 'maxHeight', `${host.scrollHeight}px`);\n }\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CollapseDirective } from './collapse.directive';\n\n@NgModule({\n exports: [CollapseDirective],\n imports: [CollapseDirective]\n})\nexport class CollapseModule {\n static forRoot(): ModuleWithProviders<CollapseModule> {\n return { ngModule: CollapseModule, providers: [] };\n }\n}\n","import {\n booleanAttribute,\n Component,\n computed,\n contentChildren,\n effect,\n inject,\n input,\n OnDestroy,\n OnInit,\n signal,\n TemplateRef\n} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\n\nimport { CollapseDirective } from '../../collapse';\nimport { TemplateIdDirective } from '../../shared';\nimport { AccordionButtonDirective } from '../accordion-button/accordion-button.directive';\nimport { AccordionService } from '../accordion.service';\n\nlet nextId = 0;\n\n@Component({\n selector: 'c-accordion-item',\n templateUrl: './accordion-item.component.html',\n styleUrls: ['./accordion-item.component.scss'],\n exportAs: 'cAccordionItem',\n imports: [AccordionButtonDirective, NgTemplateOutlet, CollapseDirective],\n host: { class: 'accordion-item' }\n})\nexport class AccordionItemComponent implements OnInit, OnDestroy {\n readonly #accordionService = inject(AccordionService);\n\n /**\n * Toggle an accordion item programmatically\n * @returns boolean\n * @default false\n */\n readonly visibleInput = input(false, { transform: booleanAttribute, alias: 'visible' });\n\n readonly itemVisible = signal(false);\n\n readonly #visibleInputChange = effect(() => {\n this.visible = this.visibleInput();\n });\n\n set visible(value: boolean) {\n this.itemVisible.set(value);\n }\n\n get visible() {\n return <boolean>this.itemVisible();\n }\n\n contentId = `accordion-item-${nextId++}`;\n\n get itemContext() {\n return { $implicit: <boolean>this.itemVisible() };\n }\n\n readonly contentTemplates = contentChildren(TemplateIdDirective, { descendants: true });\n\n readonly templates = computed(() => {\n return this.contentTemplates().reduce(\n (acc, child) => {\n acc[child.id] = child.templateRef;\n return acc;\n },\n {} as Record<string, TemplateRef<any>>\n );\n });\n\n ngOnInit(): void {\n this.#accordionService.addItem(this);\n }\n\n ngOnDestroy(): void {\n this.#accordionService.removeItem(this);\n }\n\n toggleItem(): void {\n this.#accordionService.toggleItem(this);\n }\n}\n","@let tmpl = templates();\n<ng-container>\n <div class=\"accordion-header\">\n <ng-container *ngTemplateOutlet=\"tmpl['accordionHeaderTemplate'] || defaultAccordionHeaderTemplate; context: itemContext\" />\n </div>\n <div class=\"accordion-collapse\" cCollapse [visible]=\"itemVisible()\" [aria-expanded]=\"itemVisible()\" [id]=\"contentId\">\n <ng-container *ngTemplateOutlet=\"tmpl['accordionBodyTemplate'] || defaultAccordionBodyTemplate; context: itemContext\" />\n </div>\n</ng-container>\n\n<ng-template #defaultAccordionHeaderTemplate>\n <button cAccordionButton [collapsed]=\"!itemVisible()\" [aria-controls]=\"contentId\" (click)=\"toggleItem()\">\n <ng-container *ngTemplateOutlet=\"tmpl['accordionHeader'] || defaultAccordionHeaderContentTemplate; context: itemContext\" />\n </button>\n</ng-template>\n\n<ng-template #defaultAccordionHeaderContentTemplate>\n <ng-content />\n</ng-template>\n\n<ng-template #defaultAccordionBodyTemplate>\n <div class=\"accordion-body\">\n <ng-container *ngTemplateOutlet=\"tmpl['accordionBody'] || defaultAccordionBodyContentTemplate; context: itemContext\" />\n </div>\n</ng-template>\n\n<ng-template #defaultAccordionBodyContentTemplate>\n <ng-content />\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { AccordionComponent } from './accordion/accordion.component';\nimport { AccordionButtonDirective } from './accordion-button/accordion-button.directive';\nimport { AccordionItemComponent } from './accordion-item/accordion-item.component';\nimport { AccordionService } from './accordion.service';\n\n@NgModule({\n imports: [\n AccordionButtonDirective,\n AccordionComponent,\n AccordionItemComponent\n ],\n exports: [\n AccordionComponent,\n AccordionButtonDirective,\n AccordionItemComponent\n ],\n providers: [\n AccordionService\n ]\n})\nexport class AccordionModule {\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cAlertHeading]',\n host: { class: 'alert-heading' }\n})\nexport class AlertHeadingDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cAlertLink]',\n host: { class: 'alert-link' }\n})\nexport class AlertLinkDirective {}\n","import {\n booleanAttribute,\n computed,\n Directive,\n input,\n numberAttribute\n} from '@angular/core';\n\nimport { ButtonType, Colors, Shapes } from '../coreui.types';\n\n@Directive({\n selector: '[cButton]',\n exportAs: 'cButton',\n host: {\n class: 'btn',\n '[class]': 'hostClasses()',\n '[aria-disabled]': 'ariaDisabled()',\n '[aria-pressed]': 'isActive()',\n '[attr.disabled]': 'attrDisabled()',\n '[attr.tabindex]': 'tabIndex()',\n '[attr.type]': 'type()'\n }\n})\nexport class ButtonDirective {\n /**\n * Toggle the active state for the component\n * @returns boolean\n */\n readonly active = input(false, { transform: booleanAttribute });\n\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors\n * @returns Colors\n */\n readonly color = input<Colors>('primary');\n\n /**\n * Toggle the disabled state for the component.\n * @returns boolean\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n /**\n * Select the shape of the component.\n * @returns Shapes\n */\n readonly shape = input<Shapes>();\n\n /**\n * Size the component small or large.\n * @returns '' | 'sm' | 'lg'\n */\n readonly size = input<'' | 'sm' | 'lg'>('');\n\n /**\n * The tabindex attribute specifies the tab order of an element (when the \"tab\" button is used for navigating).\n */\n readonly tabindex = input(undefined, { transform: numberAttribute });\n\n /**\n * Specifies the type of button. Always specify the type attribute for the `<button>` element.\n * Different browsers may use different default types for the `<button>` element.\n * @returns ButtonType\n * @default 'button'\n */\n readonly type = input<ButtonType>('button');\n\n /**\n * Set the button variant to an outlined button or a ghost button.\n * @returns 'ghost' | 'outline' | undefined\n */\n readonly variant = input<'ghost' | 'outline' | undefined>();\n\n readonly hostClasses = computed(() => {\n const color = this.color();\n const variant = this.variant();\n const size = this.size();\n const shape = this.shape();\n\n return {\n btn: true,\n [`btn-${color}`]: !!color && !variant,\n [`btn-${variant}`]: !!variant && !color,\n [`btn-${variant}-${color}`]: !!variant && !!color,\n [`btn-${size}`]: !!size,\n [`${shape}`]: !!shape,\n active: this.active(),\n disabled: this._disabled()\n } as Record<string, boolean>;\n });\n\n readonly _disabled = computed(() => this.disabled());\n\n readonly ariaDisabled = computed(() => {\n return this._disabled() ? true : null;\n });\n\n readonly attrDisabled = computed(() => {\n return this._disabled() ? '' : null;\n });\n\n readonly tabIndex = computed(() => {\n const tabindex = this.tabindex();\n return this._disabled() ? -1 : Number.isNaN(tabindex) ? null : (tabindex ?? null);\n });\n\n readonly isActive = computed(() => {\n return <boolean>this.active() || null;\n });\n}\n","import { booleanAttribute, computed, Directive, input } from '@angular/core';\nimport { ThemeDirective } from '../shared/theme.directive';\nimport { ButtonDirective } from './button.directive';\n\n@Directive({\n selector: '[cButtonClose]',\n hostDirectives: [{ directive: ThemeDirective, inputs: ['dark'] }],\n host: {\n class: 'btn btn-close',\n '[class]': 'hostClasses()',\n '[aria-disabled]': 'ariaDisabled()',\n '[aria-pressed]': 'isActive()',\n '[attr.disabled]': 'attrDisabled()',\n '[attr.tabindex]': 'tabIndex()',\n '[attr.type]': 'type()'\n }\n})\nexport class ButtonCloseDirective extends ButtonDirective {\n /**\n * Change the default color to white.\n * @returns boolean\n * @deprecated 5.0.0. Use `cButtonClose dark` instead.\n */\n readonly white = input(false, { transform: booleanAttribute });\n\n override readonly hostClasses = computed(() => {\n const size = this.size();\n\n return {\n btn: true,\n 'btn-close': true,\n 'btn-close-white': this.white(),\n [`btn-${size}`]: !!size,\n active: this.active(),\n disabled: this._disabled()\n } as Record<string, boolean>;\n });\n}\n","import { NgModule } from '@angular/core';\n\nimport { ButtonDirective } from './button.directive';\nimport { ButtonCloseDirective } from './button-close.directive';\n\n@NgModule({\n imports: [\n ButtonDirective,\n ButtonCloseDirective\n ],\n exports: [\n ButtonDirective,\n ButtonCloseDirective\n ]\n})\nexport class ButtonModule {}\n","const getTransitionDurationFromElement = (element: HTMLElement) => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * 1000\n}\n\nexport default getTransitionDurationFromElement\n","import {\n afterRenderEffect,\n AnimationCallbackEvent,\n booleanAttribute,\n Component,\n computed,\n contentChildren,\n effect,\n ElementRef,\n inject,\n input,\n linkedSignal,\n MAX_ANIMATION_TIMEOUT,\n output,\n PLATFORM_ID,\n TemplateRef\n} from '@angular/core';\nimport { isPlatformServer, NgTemplateOutlet } from '@angular/common';\n\nimport { Colors } from '../coreui.types';\nimport { TemplateIdDirective } from '../shared';\nimport { ButtonCloseDirective } from '../button';\nimport getTransitionDurationFromElement from '../utilities/getTransitionDurationFromElement';\n\n@Component({\n selector: 'c-alert',\n templateUrl: './alert.component.html',\n styleUrls: ['./alert.component.scss'],\n exportAs: 'cAlert',\n imports: [NgTemplateOutlet, ButtonCloseDirective],\n host: {\n '[attr.role]': 'role()',\n '[class]': 'hostClasses()',\n '(animate.leave)': 'handleLeaving($event)',\n '(transitionend)': 'onTransitionEnd($event)',\n '[hidden]': 'hide()',\n '[inert]': 'hide()'\n },\n providers: [{ provide: MAX_ANIMATION_TIMEOUT, useValue: 300 }]\n})\nexport class AlertComponent {\n readonly #hostElement = inject(ElementRef);\n readonly #maxAnimationTimeout = inject(MAX_ANIMATION_TIMEOUT);\n readonly #isServer = isPlatformServer(inject(PLATFORM_ID));\n\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n * @default 'primary'\n */\n readonly color = input<Colors>('primary');\n\n /**\n * Default role for alert\n * @returns string\n * @default 'alert'\n */\n readonly role = input('alert');\n\n /**\n * Set the alert variant to a solid.\n * @returns 'solid'\n * @default undefined\n */\n readonly variant = input<'solid'>();\n\n /**\n * Optionally adds a close button to the alert and allow it to self-dismiss.\n * @returns boolean\n * @default false\n */\n readonly dismissible = input(false, { transform: booleanAttribute });\n\n /**\n * Adds animation for dismissible alert.\n * @returns boolean\n * @default false\n */\n readonly fade = input(false, { transform: booleanAttribute });\n\n /**\n * Toggle the visibility of the alert component.\n * @returns boolean\n * @default true\n */\n readonly visibleInput = input(true, { transform: booleanAttribute, alias: 'visible' });\n\n readonly visible = linkedSignal(this.visibleInput);\n\n /**\n * Event triggered on the alert visibility change.\n * @returns boolean\n */\n readonly visibleChange = output<boolean>();\n\n protected readonly hide = linkedSignal<{ fade: boolean; visible: boolean }, boolean>({\n source: () => ({ fade: this.fade(), visible: this.visible() }),\n computation: ({ fade, visible }, previous) => !visible && (!fade || this.#isServer || (previous?.value ?? true))\n });\n\n readonly #visibleEffect = afterRenderEffect({\n read: (onCleanup) => {\n if (this.visible() || this.hide()) {\n return;\n }\n const duration = getTransitionDurationFromElement(this.#hostElement.nativeElement);\n if (!duration) {\n this.#finishTransition();\n return;\n }\n const timeoutId = setTimeout(() => this.#finishTransition(), duration + 5);\n onCleanup(() => clearTimeout(timeoutId));\n }\n });\n\n readonly #hideEffect = effect(() => {\n const hide = this.hide();\n this.visibleChange.emit(!hide);\n });\n\n protected readonly contentTemplates = contentChildren(TemplateIdDirective, { descendants: true });\n\n protected readonly templates = computed(() => {\n return this.contentTemplates().reduce(\n (acc, child) => {\n acc[child.id] = child.templateRef;\n return acc;\n },\n {} as Record<string, TemplateRef<any>>\n );\n });\n\n protected readonly hostClasses = computed(() => {\n const color = this.color();\n const variant = this.variant();\n const visible = this.visible();\n\n return {\n alert: true,\n 'alert-dismissible': this.dismissible(),\n fade: this.fade(),\n show: visible,\n [`alert-${color}`]: !!color && variant !== 'solid',\n [`bg-${color}`]: !!color && variant === 'solid',\n 'text-white': !!color && variant === 'solid'\n } as Record<string, boolean>;\n });\n\n protected onTransitionEnd($event: TransitionEvent): void {\n if ($event.target === this.#hostElement.nativeElement && $event.propertyName === 'opacity') {\n this.#finishTransition();\n }\n }\n\n #finishTransition(): void {\n this.hide.set(!this.visible());\n }\n\n #leavingInProgress = false;\n\n protected handleLeaving($event: AnimationCallbackEvent) {\n if (this.#leavingInProgress) return;\n this.#leavingInProgress = true;\n\n this.#hostElement.nativeElement.classList.remove('show');\n setTimeout(() => {\n $event.animationComplete();\n }, this.#maxAnimationTimeout);\n }\n}\n","@if (visible() || !hide()) {\n @if (dismissible()) {\n <ng-container *ngTemplateOutlet=\"templates()?.['alertButtonCloseTemplate'] || defaultAlertButtonCloseTemplate\" />\n }\n <ng-content />\n}\n<ng-template #defaultAlertButtonCloseTemplate>\n <button (click)=\"visible.set(false)\" aria-label=\"Close\" cButtonClose></button>\n</ng-template>\n","import { NgModule } from '@angular/core';\n\nimport { AlertComponent } from './alert.component';\nimport { AlertHeadingDirective } from './alert-heading.directive';\nimport { AlertLinkDirective } from './alert-link.directive';\n\n@NgModule({\n imports: [\n AlertComponent,\n AlertHeadingDirective,\n AlertLinkDirective\n ],\n exports: [\n AlertComponent,\n AlertHeadingDirective,\n AlertLinkDirective\n ]\n})\nexport class AlertModule {}\n","import { computed, Directive, input } from '@angular/core';\nimport { Alignment } from '../coreui.types';\n\n@Directive({\n selector: '[cAlign]',\n exportAs: 'cAlign',\n host: { '[class]': 'hostClasses()' }\n})\nexport class AlignDirective {\n /**\n * Set vertical alignment of inline, inline-block, inline-table, and table cell elements\n * @returns Alignment | undefined\n */\n readonly align = input<Alignment | undefined>(undefined, { alias: 'cAlign' });\n\n readonly hostClasses = computed(() => {\n const align = this.align();\n return {\n [`align-${align}`]: !!align\n } as Record<string, boolean>;\n });\n}\n","import { computed, Directive, input } from '@angular/core';\nimport { BackgroundColors } from '../coreui.types';\n\n@Directive({\n selector: '[cBgColor]',\n exportAs: 'cBgColor',\n host: { '[class]': 'hostClasses()' }\n})\nexport class BgColorDirective {\n /**\n * Set the background of an element to any contextual class\n */\n readonly cBgColor = input<BackgroundColors>('');\n\n /**\n * Add linear gradient as background image to the backgrounds.\n * @returns boolean\n */\n readonly gradient = input<boolean>();\n\n readonly hostClasses = computed(() => {\n const color = this.cBgColor();\n return {\n [`bg-${color}`]: !!color,\n 'bg-gradient': this.gradient()\n } as Record<string, boolean>;\n });\n}\n","import { computed, Directive, input } from '@angular/core';\nimport { Border } from './border.type';\n\n@Directive({\n selector: '[cBorder]',\n exportAs: 'cBorder',\n host: { '[class]': 'hostClasses()' }\n})\nexport class BorderDirective {\n /**\n * Add or remove an element’s borders\n * @returns Border\n */\n readonly cBorder = input<Border>(true);\n\n readonly hostClasses = computed<Record<string, boolean>>(() => {\n const border = this.cBorder();\n if (typeof border === 'boolean') {\n return { border: border };\n }\n if (typeof border === 'number' || typeof border === 'string') {\n return {\n border: true,\n [`border-${border}`]: true\n };\n }\n if (typeof border === 'object') {\n const borderObj = {\n top: undefined,\n end: undefined,\n bottom: undefined,\n start: undefined,\n color: undefined,\n ...border\n };\n // @ts-ignore\n const keys = Object.keys(borderObj).filter((key) => borderObj[key] !== undefined);\n const classes = {};\n keys.forEach((key) => {\n // @ts-ignore\n const val = borderObj[key];\n if (typeof val === 'boolean') {\n // @ts-ignore\n classes[`border-${key}`] = true;\n } else if (typeof val === 'number' || typeof val === 'string') {\n // @ts-ignore\n classes[`border-${key}-${val}`] = true;\n } else if (typeof val === 'object') {\n if ('color' in val) {\n // @ts-ignore\n classes[`border-${key}-${val.color}`] = true;\n }\n if ('width' in val) {\n // @ts-ignore\n classes[`border-${key}-${val.width}`] = true;\n }\n }\n });\n return Object.entries(classes).length === 0 ? { border: false } : classes;\n }\n return { border: false };\n });\n}\n","import { computed, Directive, input } from '@angular/core';\nimport { Rounded } from './rounded.type';\n\n@Directive({\n selector: '[cRounded]',\n exportAs: 'cRounded',\n host: { '[class]': 'hostClasses()' }\n})\nexport class RoundedDirective {\n /**\n * Set border radius variant and radius size\n * @returns Rounded\n */\n readonly cRounded = input<Rounded>(true);\n\n readonly hostClasses = computed<Record<string, boolean>>(() => {\n const rounded = this.cRounded();\n if (typeof rounded === 'boolean') {\n return { rounded: rounded };\n }\n if (typeof rounded === 'number' || typeof rounded === 'string') {\n return {\n [`rounded-${rounded}`]: true\n };\n }\n if (typeof rounded === 'object') {\n const roundedObj = {\n top: undefined,\n end: undefined,\n bottom: undefined,\n start: undefined,\n circle: undefined,\n pill: undefined,\n size: undefined,\n ...rounded\n };\n // @ts-ignore\n const keys = Object.keys(roundedObj).filter((key) => roundedObj[key] !== undefined);\n const classes = {};\n keys.forEach((key) => {\n // @ts-ignore\n const val = roundedObj[key];\n if (typeof val === 'boolean') {\n // @ts-ignore\n classes[`rounded-${key}`] = val;\n } else {\n // @ts-ignore\n classes[`rounded-${val}`] = true;\n }\n });\n // console.log('rounded keys', keys, classes);\n return Object.entries(classes).length === 0 ? { rounded: false } : classes;\n }\n return { rounded: false };\n });\n}\n","import { computed, Directive, DOCUMENT, effect, ElementRef, inject, input } from '@angular/core';\nimport { fromEvent } from 'rxjs';\n\n@Directive({\n selector: '[cShadowOnScroll]',\n exportAs: 'cShadowOnScroll'\n})\nexport class ShadowOnScrollDirective {\n readonly #document: Document = inject(DOCUMENT);\n readonly #elementRef: ElementRef<HTMLElement> = inject(ElementRef);\n\n /**\n * Shadow size applied to the host element once the document has been scrolled; `false`/`'none'` disables it.\n * @returns 'sm' | 'lg' | 'none' | boolean\n * @default true\n */\n readonly cShadowOnScroll = input<'sm' | 'lg' | 'none' | boolean>(true);\n\n readonly #shadowClass = computed(() => {\n const value = this.cShadowOnScroll();\n if (!value || value === 'none') {\n return undefined;\n }\n return value === true ? 'shadow' : `shadow-${value}`;\n });\n\n readonly #shadowOnScrollEffect = effect((onCleanup) => {\n const shadowClass = this.#shadowClass();\n if (!shadowClass) {\n return;\n }\n const host = this.#elementRef.nativeElement;\n const toggleShadow = () => host.classList.toggle(shadowClass, this.#document.documentElement.scrollTop > 0);\n toggleShadow();\n const subscription = fromEvent(this.#document, 'scroll').subscribe(toggleShadow);\n onCleanup(() => {\n subscription.unsubscribe();\n host.classList.remove(shadowClass);\n });\n });\n}\n","import { computed, Directive, input, InputSignal } from '@angular/core';\nimport { TextColors } from '../coreui.types';\n\n@Directive({\n selector: '[cTextColor]',\n host: {\n '[class]': 'hostClasses()'\n }\n})\nexport class TextColorDirective {\n /**\n * Set text-color of element\n * @returns TextColors\n */\n readonly color: InputSignal<TextColors> = input('', { alias: 'cTextColor' });\n\n readonly hostClasses = computed(() => {\n const color = this.color();\n return {\n [`text-${color}`]: !!color\n };\n });\n}\n","import { computed, Directive, input, InputSignal } from '@angular/core';\nimport { Colors } from '../coreui.types';\n\n@Directive({\n selector: '[cTextBgColor]',\n host: {\n '[class]': 'hostClasses()'\n }\n})\nexport class TextBgColorDirective {\n /**\n * Set text-bg-color of element\n * @returns Colors\n */\n readonly textBgColor: InputSignal<Colors> = input('', { alias: 'cTextBgColor' });\n\n readonly hostClasses = computed(() => {\n const color = this.textBgColor();\n return {\n [`text-bg-${color}`]: !!color\n } as Record<string, boolean>;\n });\n}\n","import { NgModule } from '@angular/core';\n\nimport {\n AlignDirective,\n BgColorDirective,\n BorderDirective,\n RoundedDirective,\n ShadowOnScrollDirective,\n TextBgColorDirective,\n TextColorDirective\n} from './public_api';\n\nconst UTILITY_DIRECTIVES = [\n AlignDirective,\n BgColorDirective,\n BorderDirective,\n RoundedDirective,\n ShadowOnScrollDirective,\n TextColorDirective,\n TextBgColorDirective\n];\n\n@NgModule({\n imports: [...UTILITY_DIRECTIVES],\n exports: [...UTILITY_DIRECTIVES]\n})\nexport class UtilitiesModule {}\n","import { Component, computed, input } from '@angular/core';\n\nimport { Colors, Shapes, Sizes, TextColors } from '../coreui.types';\nimport { TextColorDirective } from '../utilities';\n\n@Component({\n selector: 'c-avatar',\n templateUrl: './avatar.component.html',\n styleUrls: ['./avatar.component.scss'],\n hostDirectives: [\n {\n directive: TextColorDirective,\n inputs: ['cTextColor: textColor']\n }\n ],\n host: { class: 'avatar', '[class]': 'hostClasses()' }\n})\nexport class AvatarComponent {\n /**\n * Sets the background color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly color = input<Colors>();\n\n /**\n * Select the shape of the component.\n * @returns Shapes\n */\n readonly shape = input<Shapes>();\n\n /**\n * Size the component small, large, or extra large.\n * @returns Omit<Sizes, 'xxl'>\n * @default ''\n */\n readonly size = input<Omit<Sizes, 'xxl'>>('');\n\n /**\n * The alt attribute for the img element alternate text.\n * @returns string\n */\n readonly alt = input<string>('');\n\n /**\n * The src attribute for the img element.\n * @returns string\n */\n readonly src = input<string>();\n\n /**\n * Sets the color context of the status indicator to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly status = input<Colors>();\n\n /**\n * Sets the text color of the component to one of CoreUI’s themed colors\n * via TextColorDirective\n * @returns TextColors\n */\n readonly textColor = input<TextColors>();\n\n readonly statusClass = computed(() => {\n const status = this.status();\n return {\n 'avatar-status': true,\n [`bg-${status}`]: !!status\n } as Record<string, boolean>;\n });\n\n readonly hostClasses = computed(() => {\n const size = this.size();\n const color = this.color();\n const shape = this.shape();\n\n return {\n avatar: true,\n [`avatar-${size}`]: !!size,\n [`bg-${color}`]: !!color,\n [`${shape}`]: !!shape\n } as Record<string, boolean>;\n });\n}\n","<ng-content>\n @if (src()) {\n @defer (on immediate) {\n <img src=\"{{src() ?? ''}}\" class=\"avatar-img\" alt=\"{{alt()}}\" />\n } @placeholder () {\n <svg aria-label=\"Avatar placeholder\"\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid slice\"\n role=\"img\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"avatar-img\"\n style=\"position: absolute; width: 100%; height: 100%; inset: 0;\">\n <rect fill=\"#868e96\" height=\"100%\" width=\"100%\"></rect>\n </svg>\n }\n }\n</ng-content>\n@if (!!status()) {\n <span [class]=\"statusClass()\"></span>\n}\n\n","import { NgModule } from '@angular/core';\nimport { AvatarComponent } from './avatar.component';\n\n@NgModule({\n imports: [\n AvatarComponent\n ],\n exports: [\n AvatarComponent\n ]\n})\nexport class AvatarModule {}\n","import { Component, computed, input, InputSignal } from '@angular/core';\nimport { BadgePositions, Colors, Shapes, TextColors } from '../coreui.types';\nimport { TextBgColorDirective, TextColorDirective } from '../utilities';\n\n@Component({\n selector: 'c-badge',\n template: '<ng-content />',\n hostDirectives: [\n { directive: TextColorDirective, inputs: ['cTextColor: textColor'] },\n { directive: TextBgColorDirective, inputs: ['cTextBgColor: textBgColor'] }\n ],\n host: {\n class: 'badge',\n '[class]': 'hostClasses()'\n }\n})\nexport class BadgeComponent {\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly color: InputSignal<Colors | undefined> = input();\n /**\n * Position badge in one of the corners of a link or button.\n * @returns BadgePositions\n */\n readonly position: InputSignal<BadgePositions | undefined> = input();\n\n /**\n * Select the shape of the component.\n * @returns Shapes\n */\n readonly shape: InputSignal<Shapes | undefined> = input();\n\n /**\n * Size the component small.\n */\n readonly size = input<'sm'>();\n\n /**\n * Sets the text color of the component to one of CoreUI’s themed colors.\n * via TextColorDirective\n * @returns TextColors\n */\n readonly textColor: InputSignal<TextColors | undefined> = input();\n\n /**\n * Sets the component's color scheme to one of CoreUI's themed colors, ensuring the text color contrast adheres to the WCAG 4.5:1 contrast ratio standard for accessibility.\n * via TextBgColorDirective\n * @returns Colors\n * @since 5.0.0\n */\n readonly textBgColor: InputSignal<Colors | undefined> = input();\n\n readonly hostClasses = computed(() => {\n const position = this.position();\n const positionClasses = {\n 'position-absolute': !!position,\n 'translate-middle': !!position,\n 'top-0': position?.includes('top'),\n 'top-100': position?.includes('bottom'),\n 'start-100': position?.includes('end'),\n 'start-0': position?.includes('start')\n };\n\n const color = this.color();\n const size = this.size();\n const shape = this.shape();\n\n return Object.assign(\n {\n badge: true,\n [`bg-${color}`]: !!color,\n [`badge-${size}`]: !!size,\n [`${shape}`]: !!shape\n },\n !!position ? positionClasses : {}\n ) as Record<string, boolean>;\n });\n}\n","import { NgModule } from '@angular/core';\nimport { BadgeComponent } from './badge.component';\n\n@NgModule({\n imports: [\n BadgeComponent\n ],\n exports: [\n BadgeComponent\n ]\n})\nexport class BadgeModule {}\n","/**\n * Waits for the CSS transitions running on an element to finish.\n * Reads the running transitions at once, so call it right after the style change that starts them; when one of them is\n * cancelled (a later style change replaced it), reads again and waits for the transitions running then.\n * Ignores CSS animations, script animations and transitions of descendants.\n * @param element the element whose own transitions to wait for\n * @returns a promise that never rejects; it resolves in a microtask when nothing transitions or the platform has no `getAnimations` (jsdom, server)\n */\nexport const afterTransitions = async (element: Element): Promise<void> => {\n const running = () => element.getAnimations?.().filter((animation) => 'transitionProperty' in animation) ?? [];\n for (let transitions = running(); transitions.length; ) {\n const results = await Promise.allSettled(transitions.map((transition) => transition.finished));\n transitions = results.some(({ status }) => status === 'rejected') ? running() : [];\n }\n};\n","import { DOCUMENT, inject, Injectable } from '@angular/core';\n\nimport { Subject } from 'rxjs';\n\nimport { afterTransitions } from '../shared/transition.utils';\n\ninterface Backdrop {\n type: string;\n element: HTMLDivElement;\n users: number;\n shown?: boolean;\n fading?: object;\n}\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 readonly #backdrops = new Map<string, Backdrop>();\n readonly #clickHandler = () => this.onClickHandler();\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 /**\n * Returns the backdrop element of a type, shared by everyone who sets it; a fading backdrop of the type comes back.\n * Pair every call with `clearBackdrop()`.\n * @param type the backdrop type, rendered as the `<type>-backdrop` class\n * @param fade fade the backdrop in and out, as the latest call asks; without it the backdrop shows at once and goes once released (since 5.7.38)\n * @returns the backdrop element\n */\n setBackdrop(type: string = 'modal', fade: boolean = true): HTMLDivElement {\n const existing = this.#backdrops.get(type);\n const backdrop = existing?.element.isConnected ? existing : this.#createBackdrop(type);\n const fading = backdrop.fading;\n backdrop.users++;\n backdrop.element.classList.toggle('fade', fade);\n if (fading) {\n backdrop.fading = undefined;\n backdrop.element.addEventListener('click', this.#clickHandler);\n }\n if ((fading && backdrop.shown) || !fade) {\n this.#show(backdrop);\n }\n this.activeBackdrop = backdrop.element;\n return backdrop.element;\n }\n\n /**\n * Releases one use of a backdrop; the last release fades it out and removes it once its transition ends.\n * A backdrop set again before its fade starts (a microtask after the last release) comes back without fading.\n * Does nothing for an element the service does not hold in use.\n * @param backdropElement the element `setBackdrop()` returned\n * @returns `undefined`, to clear the caller's reference\n */\n clearBackdrop(backdropElement: HTMLElement): any {\n const backdrop = [...this.#backdrops.values()].find(({ element }) => element === backdropElement);\n if (backdrop?.users && --backdrop.users === 0) {\n this.#fadeOut(backdrop);\n }\n return undefined;\n }\n\n #createBackdrop(type: string): Backdrop {\n const element = this.#document.createElement('div');\n const backdrop: Backdrop = { type, element, users: 0 };\n element.classList.add(`${type}-backdrop`);\n this.#document.body.appendChild(element);\n element.addEventListener('click', this.#clickHandler);\n this.#backdrops.set(type, backdrop);\n setTimeout(() => {\n if (backdrop.users && !backdrop.fading) {\n this.#show(backdrop);\n }\n });\n return backdrop;\n }\n\n #show(backdrop: Backdrop): void {\n backdrop.element.classList.add('show');\n backdrop.shown = true;\n }\n\n #fadeOut(backdrop: Backdrop): void {\n const fading = {};\n backdrop.fading = fading;\n backdrop.element.removeEventListener('click', this.#clickHandler);\n queueMicrotask(() => {\n if (backdrop.fading !== fading) {\n return;\n }\n backdrop.element.classList.remove('show');\n afterTransitions(backdrop.element).then(() => {\n if (backdrop.fading !== fading) {\n return;\n }\n if (this.#backdrops.get(backdrop.type) === backdrop) {\n this.#backdrops.delete(backdrop.type);\n }\n backdrop.element.remove();\n if (this.activeBackdrop === backdrop.element) {\n this.activeBackdrop = undefined;\n }\n });\n });\n }\n\n get #isRTL() {\n return [this.#document.documentElement.dir, this.#document.body.dir].includes('rtl');\n }\n\n get #padding() {\n return `padding-${this.#isRTL ? 'left' : 'right'}`;\n }\n\n readonly #scrollLockOwners = new Set<object>();\n #lockedPadding = '';\n\n /**\n * Locks page scrolling for an owner: hides the body overflow and pads the body by the scrollbar width.\n * The lock stays while any owner holds it; locking twice for the same owner counts once.\n * @since 5.7.38\n * @param owner the component or object holding the lock\n */\n lockScroll(owner: object): void {\n if (this.#scrollLockOwners.has(owner)) {\n return;\n }\n this.#scrollLockOwners.add(owner);\n if (this.#scrollLockOwners.size === 1) {\n this.scrollbarWidth = this.#scrollbarWidth;\n this.#lockedPadding = this.#padding;\n this.#document.body.style.setProperty('overflow', 'hidden');\n this.#document.body.style.setProperty(this.#lockedPadding, this.scrollbarWidth);\n }\n }\n\n /**\n * Releases the scroll lock of an owner; once the last owner releases it, the overflow and the padding property the lock set\n * are removed (a page's own inline padding on that side, overwritten by the lock, is not restored).\n * Does nothing for an owner that holds no lock.\n * @since 5.7.38\n * @param owner the component or object that locked scrolling\n */\n unlockScroll(owner: object): void {\n if (this.#scrollLockOwners.delete(owner) && this.#scrollLockOwners.size === 0) {\n this.#document.body.style.removeProperty('overflow');\n this.#document.body.style.removeProperty(this.#lockedPadding);\n }\n }\n\n /**\n * Locks page scrolling on behalf of the service itself.\n * @deprecated 5.7.38. Use `lockScroll(owner)` instead.\n */\n hideScrollbar(): void {\n this.lockScroll(this);\n }\n\n /**\n * Releases the lock taken by `hideScrollbar()`; locks of other owners stay.\n * @deprecated 5.7.38. Use `unlockScroll(owner)` instead.\n */\n resetScrollbar(): void {\n this.unlockScroll(this);\n }\n\n onClickHandler(): void {\n this.#backdropClick.next(true);\n }\n}\n","import { booleanAttribute, Component, computed, effect, input } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { RouterModule } from '@angular/router';\n\nimport { HtmlAttributesDirective } from '../../shared';\nimport { INavAttributes, INavLinkProps } from './breadcrumb-item';\n\n@Component({\n selector: 'c-breadcrumb-item',\n templateUrl: './breadcrumb-item.component.html',\n styleUrls: ['./breadcrumb-item.component.scss'],\n imports: [RouterModule, NgTemplateOutlet, HtmlAttributesDirective],\n exportAs: 'breadcrumbItem',\n host: {\n '[aria-current]': 'ariaCurrent()',\n '[class]': 'hostClasses()'\n }\n})\nexport class BreadcrumbItemComponent {\n /**\n * Toggle the active state for the component\n * @returns boolean\n */\n readonly active = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n\n /**\n * The `url` prop for the inner `[routerLink]` directive\n * @returns string | any[]\n */\n readonly url = input<string | any[]>();\n\n /**\n * Additional html attributes for link\n * @returns INavAttributes\n */\n readonly attribs = input<INavAttributes>();\n\n /**\n * @deprecated The `attributes` prop is deprecated, use `attribs` instead\n */\n protected readonly _attributes = input<INavAttributes>(undefined, { alias: 'attributes' });\n\n readonly #attributesEffect = effect(() => {\n if (this._attributes()) {\n console.error('c-breadcrumb-item: [attributes] prop is removed, use [attribs] instead:', this._attributes());\n }\n });\n\n /**\n * Some `NavigationExtras` props for the inner `[routerLink]` directive and `routerLinkActiveOptions`\n * @returns INavLinkProps\n */\n readonly linkProps = input<INavLinkProps>();\n\n readonly ariaCurrent = computed((): string | null => {\n return this.active() ? 'page' : null;\n });\n\n readonly hostClasses = computed(() => {\n return {\n 'breadcrumb-item': true,\n active: this.active()\n } as Record<string, boolean>;\n });\n}\n","@if (!active()) {\n <a\n [routerLink]=\"url()\"\n [cHtmlAttr]=\"attribs() ?? {}\"\n [target]=\"$safeNavigationMigration(attribs()?.['target'])\"\n [queryParams]=\"linkProps()?.queryParams ?? null\"\n [fragment]=\"$safeNavigationMigration(linkProps()?.fragment)\"\n [queryParamsHandling]=\"linkProps()?.queryParamsHandling ?? null\"\n [preserveFragment]=\"linkProps()?.preserveFragment ?? false\"\n [skipLocationChange]=\"linkProps()?.skipLocationChange ?? false\"\n [replaceUrl]=\"linkProps()?.replaceUrl ?? false\"\n [state]=\"linkProps()?.state ?? {}\"\n >\n <ng-container *ngTemplateOutlet=\"defaultBreadcrumbItemContentTemplate\" />\n </a>\n} @else {\n <span [cHtmlAttr]=\"attribs() ?? {}\">\n <ng-container *ngTemplateOutlet=\"defaultBreadcrumbItemContentTemplate\" />\n </span>\n}\n\n<ng-template #defaultBreadcrumbItemContentTemplate>\n <ng-content />\n</ng-template>\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'c-breadcrumb',\n template: '<ng-content />',\n host: {\n class: 'breadcrumb',\n '[aria-label]': 'ariaLabel()',\n '[attr.role]': 'role()'\n }\n})\nexport class BreadcrumbComponent {\n /**\n * Default aria-label for breadcrumb\n * @returns string\n * @default 'breadcrumb'\n */\n readonly ariaLabel = input('breadcrumb');\n\n /**\n * Default role for breadcrumb\n * @returns string\n * @default 'navigation'\n */\n readonly role = input('navigation');\n}\n","import { inject, Injectable } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { IBreadcrumbItem } from '../breadcrumb-item/breadcrumb-item';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BreadcrumbRouterService {\n readonly #router = inject(Router);\n readonly #activatedRoute = inject(ActivatedRoute);\n\n public outlet = 'primary';\n\n readonly #breadcrumbsBehaviorSubject: BehaviorSubject<IBreadcrumbItem[]> = new BehaviorSubject<IBreadcrumbItem[]>(\n new Array<IBreadcrumbItem>()\n );\n readonly breadcrumbs$: Observable<IBreadcrumbItem[]> = this.#breadcrumbsBehaviorSubject.asObservable();\n\n constructor() {\n this.#router.events\n .pipe(\n takeUntilDestroyed(),\n filter((event) => event instanceof NavigationEnd)\n )\n .subscribe((event) => {\n const breadcrumbs: any[] = [];\n let currentRoute: ActivatedRoute | null = this.#activatedRoute.root;\n let url = '';\n do {\n const childrenRoutes: ActivatedRoute[] = currentRoute.children;\n currentRoute = null;\n childrenRoutes.forEach((childRoute) => {\n // console.log('breadcrumb event', event, 'route', route);\n if (childRoute.outlet === this.outlet) {\n const routeSnapshot = childRoute.snapshot;\n url += '/' + routeSnapshot.url.map((segment) => segment.path).join('/');\n breadcrumbs.push({\n label: routeSnapshot.data['title'] ?? routeSnapshot.title ?? '',\n url,\n queryParams: routeSnapshot.queryParams\n });\n currentRoute = childRoute;\n }\n });\n } while (currentRoute);\n\n this.#breadcrumbsBehaviorSubject.next(Object.assign([], breadcrumbs));\n\n return breadcrumbs;\n });\n }\n}\n","import { Component, computed, inject, input } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\n\nimport { IBreadcrumbItem } from '../breadcrumb-item/breadcrumb-item';\nimport { BreadcrumbComponent } from '../breadcrumb/breadcrumb.component';\nimport { BreadcrumbRouterService } from './breadcrumb-router.service';\nimport { BreadcrumbItemComponent } from '../breadcrumb-item/breadcrumb-item.component';\n\n@Component({\n selector: 'c-breadcrumb-router, [cBreadcrumbRouter]',\n templateUrl: './breadcrumb-router.component.html',\n imports: [BreadcrumbComponent, BreadcrumbItemComponent]\n})\nexport class BreadcrumbRouterComponent {\n readonly #breadcrumbRouterService = inject(BreadcrumbRouterService);\n\n /**\n * Optional array of IBreadcrumbItem to override default BreadcrumbRouter behavior\n * @returns IBreadcrumbItem[]\n */\n readonly items = input<IBreadcrumbItem[]>();\n\n readonly #breadcrumbs = toSignal(this.#breadcrumbRouterService.breadcrumbs$);\n\n readonly breadcrumbs = computed(() => {\n return this.items() ?? this.#breadcrumbs() ?? [];\n });\n}\n","<c-breadcrumb class=\"m-0\">\n @for (breadcrumb of breadcrumbs(); track breadcrumb; let last = $last) {\n @if (breadcrumb?.label && (breadcrumb?.url?.slice(-1) === '/' || last)) {\n <c-breadcrumb-item\n [active]=\"last\"\n [url]=\"$safeNavigationMigration(breadcrumb?.url)\"\n [attribs]=\"$safeNavigationMigration(breadcrumb?.attributes)\"\n [linkProps]=\"$safeNavigationMigration(breadcrumb?.linkProps)\"\n >\n {{ breadcrumb?.label }}\n </c-breadcrumb-item>\n }\n }\n</c-breadcrumb>\n","import { NgModule } from '@angular/core';\n\n// CoreUI Breadcrumb Component\nimport { BreadcrumbComponent } from './breadcrumb/breadcrumb.component';\nimport { BreadcrumbItemComponent } from './breadcrumb-item/breadcrumb-item.component';\nimport { BreadcrumbRouterComponent } from './breadcrumb-router/breadcrumb-router.component';\nimport { BreadcrumbRouterService } from './breadcrumb-router/breadcrumb-router.service';\n\n@NgModule({\n imports: [\n BreadcrumbComponent,\n BreadcrumbItemComponent,\n BreadcrumbRouterComponent\n ],\n exports: [\n BreadcrumbComponent,\n BreadcrumbItemComponent,\n BreadcrumbRouterComponent\n ],\n providers: [BreadcrumbRouterService]\n})\nexport class BreadcrumbModule {}\n","import { booleanAttribute, Component, computed, input, InputSignalWithTransform } from '@angular/core';\n\n@Component({\n selector: 'c-button-group',\n template: '<ng-content />',\n host: { '[attr.role]': 'role()', '[class]': 'hostClasses()' }\n})\nexport class ButtonGroupComponent {\n /**\n * Size the component small or large.\n * @returns '' | 'sm' | 'lg'\n */\n readonly size = input<'' | 'sm' | 'lg'>();\n\n /**\n * Create a set of buttons that appear vertically stacked rather than horizontally. Split button dropdowns are not supported here.\n * @returns boolean\n */\n readonly vertical = input(false, { transform: booleanAttribute });\n\n /**\n * Default role attr for ButtonGroup\n * @returns string\n * @default 'group'\n */\n readonly role = input<string>('group');\n\n readonly hostClasses = computed(() => {\n const size = this.size();\n const vertical = this.vertical();\n return {\n 'btn-group': !vertical,\n 'btn-group-vertical': vertical,\n [`btn-group-${size}`]: !!size\n } as Record<string, boolean>;\n });\n}\n","import { Component, input, InputSignal } from '@angular/core';\n\n@Component({\n selector: 'c-button-toolbar',\n template: '<ng-content />',\n host: { class: 'btn-toolbar', '[attr.role]': 'role()' }\n})\nexport class ButtonToolbarComponent {\n /**\n * Default role attr for ButtonToolbar\n * @returns string\n * @default 'toolbar'\n */\n readonly role = input('toolbar');\n}\n","import { NgModule } from '@angular/core';\nimport { ButtonGroupComponent } from './button-group/button-group.component';\nimport { ButtonToolbarComponent } from './button-toolbar/button-toolbar.component';\n\n@NgModule({\n imports: [ButtonGroupComponent, ButtonToolbarComponent],\n exports: [ButtonGroupComponent, ButtonToolbarComponent]\n})\nexport class ButtonGroupModule {}\n","import { Component, computed, input } from '@angular/core';\nimport { Colors } from '../coreui.types';\n\n@Component({\n selector: 'c-callout, [cCallout]',\n template: '<ng-content />',\n styleUrls: ['./callout.component.scss'],\n host: { class: 'callout', '[class]': 'hostClasses()' }\n})\nexport class CalloutComponent {\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly color = input<Colors>();\n\n readonly hostClasses = computed(() => {\n const color = this.color();\n\n return {\n callout: true,\n [`callout-${color}`]: !!color\n } as Record<string, boolean>;\n });\n}\n","import { NgModule } from '@angular/core';\n\nimport { CalloutComponent } from './callout.component';\n\n@NgModule({\n exports: [CalloutComponent],\n imports: [CalloutComponent]\n})\nexport class CalloutModule {}\n","import { Component, computed, input, InputSignal } from '@angular/core';\nimport { Colors, TextColors } from '../coreui.types';\nimport { TextBgColorDirective, TextColorDirective } from '../utilities';\n\n@Component({\n selector: 'c-card, [c-card]',\n template: '<ng-content />',\n hostDirectives: [\n { directive: TextColorDirective, inputs: ['cTextColor: textColor'] },\n { directive: TextBgColorDirective, inputs: ['cTextBgColor: textBgColor'] }\n ],\n host: { class: 'card', '[class]': 'hostClasses()' }\n})\nexport class CardComponent {\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly color: InputSignal<Colors | undefined> = input();\n\n /**\n * Sets the text color context of the component to one of CoreUI’s themed colors.\n * via TextColorDirective\n * @returns TextColors\n */\n readonly textColor: InputSignal<TextColors | undefined> = input();\n\n /**\n * Sets the component's color scheme to one of CoreUI themed colors, ensuring the text color contrast adheres to the WCAG 4.5:1 contrast ratio standard for accessibility.\n * via TextBgColorDirective\n * @returns Colors\n * @since 5.0.0\n */\n readonly textBgColor: InputSignal<Colors | undefined> = input();\n\n readonly hostClasses = computed(() => {\n const color = this.color();\n\n return {\n card: true,\n [`bg-${color}`]: !!color\n } as Record<string, boolean>;\n });\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-card-body, [c-card-body]',\n template: '<ng-content />',\n host: { class: 'card-body' }\n})\nexport class CardBodyComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-card-footer, [c-card-footer]',\n template: '<ng-content />',\n host: { class: 'card-footer' }\n})\nexport class CardFooterComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-card-group, [c-card-group]',\n template: '<ng-content />',\n host: { class: 'card-group' }\n})\nexport class CardGroupComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-card-header, [c-card-header]',\n template: '<ng-content />',\n host: { class: 'card-header' }\n})\nexport class CardHeaderComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-card-header-actions, [c-card-header-actions]',\n template: '<ng-content />',\n host: { class: 'card-header-actions' }\n})\nexport class CardHeaderActionsComponent {}\n","import { computed, Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[cCardImg]',\n host: { '[class]': 'hostClasses()' }\n})\nexport class CardImgDirective {\n /**\n * Optionally orientate the image to the top, bottom, or make it overlaid across the card.\n * @returns 'top' | 'bottom' | 'start' | 'end' | undefined\n */\n readonly orientation = input<'top' | 'bottom' | 'start' | 'end' | undefined>(undefined, { alias: 'cCardImg' });\n\n readonly hostClasses = computed(() => {\n const orientation = this.orientation();\n const suffix = !!orientation ? `-${orientation}` : '';\n const horizontal = ['start', 'end'].includes(orientation ?? '-') ? orientation : undefined;\n return {\n [`card-img${suffix}`]: !horizontal,\n 'img-fluid': !!horizontal,\n [`rounded-${horizontal}`]: !!horizontal\n } as Record<string, boolean>;\n });\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-card-img-overlay',\n template: '<ng-content />',\n styleUrls: ['./card-img-overlay.component.scss'],\n host: { class: 'card-img-overlay' }\n})\nexport class CardImgOverlayComponent {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cCardLink]',\n host: { class: 'card-link' }\n})\nexport class CardLinkDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cCardSubtitle]',\n host: { class: 'card-subtitle' }\n})\nexport class CardSubtitleDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cCardText]',\n host: { class: 'card-text' }\n})\nexport class CardTextDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cCardTitle]',\n host: { class: 'card-title' }\n})\nexport class CardTitleDirective {}\n","import { NgModule } from '@angular/core';\n\nimport { CardComponent } from './card.component';\nimport { CardBodyComponent } from './card-body.component';\nimport { CardFooterComponent } from './card-footer.component';\nimport { CardHeaderComponent } from './card-header.component';\nimport { CardHeaderActionsComponent } from './card-header-actions.component';\nimport { CardGroupComponent } from './card-group.component';\nimport { CardImgDirective } from './card-img.directive';\nimport { CardLinkDirective } from './card-link.directive';\nimport { CardSubtitleDirective } from './card-subtitle.directive';\nimport { CardTextDirective } from './card-text.directive';\nimport { CardTitleDirective } from './card-title.directive';\nimport { CardImgOverlayComponent } from './card-img-overlay/card-img-overlay.component';\n\n@NgModule({\n imports: [\n CardComponent,\n CardBodyComponent,\n CardFooterComponent,\n CardGroupComponent,\n CardHeaderComponent,\n CardHeaderActionsComponent,\n CardImgDirective,\n CardImgOverlayComponent,\n CardLinkDirective,\n CardSubtitleDirective,\n CardTextDirective,\n CardTitleDirective\n ],\n exports: [\n CardComponent,\n CardBodyComponent,\n CardFooterComponent,\n CardGroupComponent,\n CardHeaderComponent,\n CardHeaderActionsComponent,\n CardImgDirective,\n CardImgOverlayComponent,\n CardLinkDirective,\n CardSubtitleDirective,\n CardTextDirective,\n CardTitleDirective\n ]\n})\nexport class CardModule {}\n","import { isPlatformServer } from '@angular/common';\nimport { ElementRef, inject, Injectable, OnDestroy, PLATFORM_ID } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nexport interface IIntersectionObserverInit {\n root?: Element | null;\n rootMargin?: string;\n threshold?: number | number[];\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class IntersectionService implements OnDestroy {\n\n platformId = inject(PLATFORM_ID);\n\n readonly #intersecting: BehaviorSubject<any> = new BehaviorSubject({ isIntersecting: false });\n readonly intersecting$ = this.#intersecting.asObservable();\n\n private defaultObserverOptions: IIntersectionObserverInit = {\n root: null,\n rootMargin: '0px',\n threshold: 0.2\n };\n\n hostElementRefs: Map<ElementRef, IntersectionObserver | null> = new Map();\n\n createIntersectionObserver(hostElement: ElementRef, observerOptions = this.defaultObserverOptions) {\n\n if (isPlatformServer(this.platformId)) {\n this.#intersecting.next({ isIntersecting: true, hostElement });\n return;\n }\n\n const options: IIntersectionObserverInit = { ...this.defaultObserverOptions, ...observerOptions };\n\n const handleIntersect = (entries: IntersectionObserverEntry[], observer: IntersectionObserver) => {\n entries.forEach((entry: any) => {\n this.#intersecting.next({ isIntersecting: entry.isIntersecting, hostElement });\n });\n };\n\n this.hostElementRefs.set(hostElement, new IntersectionObserver(handleIntersect, options));\n this.hostElementRefs.get(hostElement)?.observe(hostElement.nativeElement);\n }\n\n unobserve(elementRef: ElementRef) {\n this.hostElementRefs.get(elementRef)?.unobserve(elementRef.nativeElement);\n this.hostElementRefs.set(elementRef, null);\n this.hostElementRefs.delete(elementRef);\n }\n\n ngOnDestroy(): void {\n this.hostElementRefs.forEach((observer, elementRef) => {\n observer?.unobserve(elementRef.nativeElement);\n });\n }\n}\n","import { ElementRef, inject, Injectable, Renderer2 } from '@angular/core';\nimport { Triggers } from '../coreui.types';\n\nexport interface IListenersConfig {\n hostElement: ElementRef;\n trigger?: Triggers | Triggers[];\n callbackOn?: () => void;\n callbackOff?: () => void;\n callbackToggle?: () => void;\n}\n\n@Injectable()\nexport class ListenersService {\n readonly renderer = inject(Renderer2);\n\n private listeners: Map<string, () => void> = new Map();\n\n setListeners({\n hostElement,\n trigger,\n callbackOn,\n callbackOff,\n callbackToggle,\n }: IListenersConfig): void {\n const host = hostElement.nativeElement;\n const triggers = Array.isArray(trigger) ? trigger : trigger?.split(' ') ?? [];\n\n if (triggers?.includes('click')) {\n typeof callbackToggle === 'function' &&\n this.listeners.set('click', this.renderer.listen(host, 'click', callbackToggle));\n }\n if (triggers?.includes('focus')) {\n typeof callbackOn === 'function' &&\n this.listeners.set('focus', this.renderer.listen(host, 'focus', callbackOn));\n }\n if (triggers?.includes('focusin')) {\n typeof callbackOff === 'function' &&\n this.listeners.set('focusout', this.renderer.listen(host, 'focusout', callbackOff));\n typeof callbackOn === 'function' &&\n this.listeners.set('focusin', this.renderer.listen(host, 'focusin', callbackOn));\n }\n if (triggers?.includes('click') || triggers?.includes('focus')) {\n typeof callbackOff === 'function' &&\n this.listeners.set('blur', this.renderer.listen(host, 'blur', callbackOff));\n }\n if (triggers?.includes('hover')) {\n typeof callbackOn === 'function' &&\n this.listeners.set('mouseenter', this.renderer.listen(host, 'mouseenter', callbackOn));\n typeof callbackOff === 'function' &&\n this.listeners.set('mouseleave', this.renderer.listen(host, 'mouseleave', callbackOff));\n }\n }\n\n clearListeners(): void {\n this.listeners.forEach((unListen, key) => {\n unListen();\n });\n this.listeners.forEach((unListen, key) => {\n // @ts-ignore\n this.listeners.set(key, null);\n });\n this.listeners.clear();\n }\n}\n","import { DOCUMENT, inject, Injectable, Renderer2, RendererFactory2 } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ClassToggleService {\n readonly #document = inject<Document>(DOCUMENT);\n readonly #rendererFactory = inject(RendererFactory2);\n\n #renderer: Renderer2;\n\n constructor() {\n this.#renderer = this.#rendererFactory.createRenderer(null, null);\n }\n\n toggle(selector: any, className: string) {\n const element = this.#document.querySelector(selector);\n if (element) {\n element.classList.contains(className)\n ? this.#renderer.removeClass(element, className)\n : this.#renderer.addClass(element, className);\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InMemoryStorageService implements Storage {\n #storage = new Map<string, string>();\n\n public setItem(key: string, data: any): void {\n this.#storage.set(key, JSON.stringify(data));\n }\n\n public getItem(key: string): any {\n return this.#storage.has(key) ? JSON.parse(this.#storage.get(key) ?? 'null') : undefined;\n }\n\n public removeItem(key: string): void {\n this.#storage.delete(key);\n }\n\n public clear() {\n this.#storage.clear();\n }\n\n public get length() {\n return this.#storage.size;\n }\n\n public key(index: number) {\n return Array.from(this.#storage.keys())[index];\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { DOCUMENT, inject, Injectable, PLATFORM_ID } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { InMemoryStorageService } from './in-memory-storage.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LocalStorageService {\n private platformId = inject(PLATFORM_ID);\n private document = inject(DOCUMENT);\n\n constructor() {\n this.#localStorage =\n isPlatformBrowser(this.platformId) && this.document.defaultView\n ? this.document.defaultView?.localStorage\n : new InMemoryStorageService();\n }\n\n #localStorage: Storage;\n readonly #data$ = new BehaviorSubject<{ key: string; data: any } | null>(null);\n public readonly data$ = this.#data$.asObservable();\n\n public setItem(key: string, data: any): void {\n this.#localStorage.setItem(key, JSON.stringify(data));\n this.#data$.next({ key, data });\n }\n\n public getItem(key: string): any {\n const data = JSON.parse(this.#localStorage.getItem(key) || 'null');\n this.#data$.next({ key, data });\n return data;\n }\n\n public removeItem(key: string): void {\n this.#localStorage.removeItem(key);\n this.#data$.next({ key, data: null });\n }\n\n public clear() {\n this.#localStorage.clear();\n this.#data$.next(null);\n }\n}\n","import {\n afterNextRender,\n DestroyRef,\n DOCUMENT,\n effect,\n inject,\n Injectable,\n signal,\n WritableSignal\n} from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { tap } from 'rxjs/operators';\nimport { LocalStorageService } from './local-storage.service';\n\nexport type ColorMode = 'light' | 'dark' | 'auto' | string | undefined;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ColorModeService {\n readonly #destroyRef: DestroyRef = inject(DestroyRef);\n readonly #document: Document = inject(DOCUMENT);\n readonly #localStorage: LocalStorageService = inject(LocalStorageService);\n\n readonly eventName = signal('ColorSchemeChange');\n readonly localStorageItemName: WritableSignal<string | undefined> = signal(undefined);\n readonly localStorageItemName$ = toObservable(this.localStorageItemName);\n readonly colorMode: WritableSignal<ColorMode> = signal(undefined);\n\n readonly #colorModeEffect = effect(() => {\n const colorMode = this.colorMode();\n if (colorMode) {\n const localStorageItemName = this.localStorageItemName();\n localStorageItemName && this.setStoredTheme(localStorageItemName, colorMode);\n this.#setTheme(colorMode);\n }\n });\n\n constructor() {\n afterNextRender({\n read: () => {\n this.localStorageItemName$\n .pipe(\n tap((params) => {\n this.colorMode.set(this.getDefaultScheme(params));\n }),\n takeUntilDestroyed(this.#destroyRef)\n )\n .subscribe();\n }\n });\n }\n\n getStoredTheme(localStorageItemName: string) {\n return this.#localStorage.getItem(localStorageItemName);\n }\n\n setStoredTheme(localStorageItemName: string, colorMode: string) {\n return this.#localStorage.setItem(localStorageItemName, colorMode);\n }\n\n removeStoredTheme(localStorageItemName: string) {\n this.#localStorage.removeItem(localStorageItemName);\n }\n\n getDefaultScheme(localStorageItemName: string | undefined) {\n if (this.#document.defaultView === undefined) {\n return this.getDatasetTheme();\n }\n\n const storedTheme = localStorageItemName && this.getStoredTheme(localStorageItemName);\n\n return storedTheme ?? this.getDatasetTheme();\n }\n\n getPrefersColorScheme() {\n return this.#document.defaultView?.matchMedia('(prefers-color-scheme: dark)').matches\n ? 'dark'\n : this.#document.defaultView?.matchMedia('(prefers-color-scheme: light)').matches\n ? 'light'\n : undefined;\n }\n\n getDatasetTheme(): ColorMode {\n return <ColorMode>this.#document.documentElement.dataset['coreuiTheme'];\n }\n\n #setTheme(colorMode: ColorMode) {\n this.#document.documentElement.dataset['coreuiTheme'] =\n colorMode === 'auto' ? this.getPrefersColorScheme() : colorMode;\n\n const event = new Event(this.eventName());\n this.#document.documentElement.dispatchEvent(event);\n }\n}\n","import { DOCUMENT, inject, Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UIDService {\n readonly #document = inject(DOCUMENT);\n readonly #infix = Math.floor(Math.random() * 36 ** 5)\n .toString(36)\n .padStart(5, '0');\n readonly #counters = new Map<string, number>();\n\n /**\n * Returns an id no other call on this service instance returns, skipping ids already in the document.\n * The random infix, drawn once per instance, keeps it apart from other instances, applications and page ids.\n * @param prefix id prefix\n * @returns `${prefix}-${infix}-${count}`\n */\n getUID(prefix: string = 'random-id'): string {\n let uid: string;\n do {\n const count = (this.#counters.get(prefix) ?? 0) + 1;\n this.#counters.set(prefix, count);\n uid = `${prefix}-${this.#infix}-${count}`;\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 const direction = element.isConnected ? this.#document.defaultView?.getComputedStyle(element).direction : '';\n if (direction) {\n return direction === 'rtl';\n }\n const declared = element.closest('[dir=\"ltr\"], [dir=\"rtl\"]');\n if (declared) {\n return declared.matches('[dir=\"rtl\"]');\n }\n }\n\n return [this.#document?.documentElement?.dir, this.#document?.body?.dir].includes('rtl');\n }\n}\n","import { Injectable, signal } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { ICarouselState } from './carousel-state.type';\nimport { CarouselItemComponent } from './carousel-item/carousel-item.component';\n\nexport interface ICarouselIndex {\n active?: number;\n interval?: number;\n lastItemIndex?: number;\n}\n\n@Injectable()\nexport class CarouselService {\n readonly #carouselIndex = new BehaviorSubject<ICarouselIndex>({});\n readonly carouselIndex$ = this.#carouselIndex.asObservable();\n\n setIndex(index: ICarouselIndex): void {\n this.#carouselIndex.next(index);\n }\n\n readonly animating = signal(false);\n\n #state = <ICarouselState>{\n activeItemIndex: -1,\n animate: true,\n items: [],\n direction: 'next',\n transition: 'slide',\n interval: 0\n };\n\n get state(): ICarouselState {\n return this.#state;\n }\n\n set state(state) {\n const prevState = { ...this.#state };\n const nextState = { ...this.#state, ...state };\n this.#state = nextState;\n if (prevState.activeItemIndex !== nextState.activeItemIndex) {\n const activeItemIndex = this.state.activeItemIndex || 0;\n const itemInterval = (this.state.items && this.state.items[activeItemIndex]?.interval()) || -1;\n this.setIndex({\n active: nextState.activeItemIndex,\n interval: itemInterval,\n lastItemIndex: (nextState.items?.length ?? 0) - 1\n });\n }\n }\n\n setItems(newItems: any): void {\n if (newItems.length) {\n const itemsArray = newItems;\n itemsArray.forEach((item: CarouselItemComponent, i: number) => {\n item.index = i;\n });\n this.state = {\n items: [...itemsArray]\n };\n } else {\n this.reset();\n }\n }\n\n setNextIndex(nextIndex: any): void {\n this.setIndex(nextIndex);\n }\n\n direction(direction: 'next' | 'prev' = 'next'): number {\n this.state = { direction };\n const { activeItemIndex = -1, items } = this.state;\n const itemsCount = items?.length ?? 0;\n if (itemsCount > 0) {\n return direction === 'next'\n ? activeItemIndex === itemsCount - 1\n ? 0\n : activeItemIndex + 1\n : activeItemIndex === 0\n ? itemsCount - 1\n : activeItemIndex - 1;\n } else {\n return 0;\n }\n }\n\n reset(): void {\n this.state = {\n activeItemIndex: -1,\n animate: true,\n items: [],\n direction: 'next',\n transition: 'slide',\n interval: 0\n };\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class CarouselConfig {\n /* Animate transition of slides */\n activeIndex = 0;\n /* Animate transition of slides */\n animate = true;\n /* Default direction of auto-changing of slides */\n direction: 'next' | 'prev' = 'next';\n /* Default interval of auto-changing of slides */\n interval?: number;\n}\n","import {\n AfterContentInit,\n Component,\n DestroyRef,\n effect,\n ElementRef,\n inject,\n input,\n linkedSignal,\n numberAttribute,\n OnDestroy,\n OnInit,\n output\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { EMPTY, fromEvent, Subscription } from 'rxjs';\nimport { filter, finalize, map, switchMap, take } from 'rxjs/operators';\n\nimport { IListenersConfig, IntersectionService, ListenersService } from '../../services';\n\nimport { Triggers } from '../../coreui.types';\nimport { ThemeDirective } from '../../shared/theme.directive';\nimport { CarouselService } from '../carousel.service';\nimport { CarouselConfig } from '../carousel.config';\n\n@Component({\n selector: 'c-carousel',\n template: '<ng-content />',\n styleUrls: ['./carousel.component.scss'],\n providers: [CarouselService, ListenersService],\n hostDirectives: [{ directive: ThemeDirective, inputs: ['dark'] }],\n exportAs: 'cCarousel',\n host: {\n class: 'carousel slide',\n '[class.carousel-fade]': 'transition() === \"crossfade\" && animate()'\n }\n})\nexport class CarouselComponent implements OnInit, OnDestroy, AfterContentInit {\n private config = inject<CarouselConfig>(CarouselConfig);\n\n readonly #hostElement = inject(ElementRef);\n readonly #carouselService = inject(CarouselService);\n readonly #intersectionService = inject(IntersectionService);\n readonly #listenersService = inject(ListenersService);\n\n constructor() {\n this.loadConfig();\n }\n\n loadConfig() {\n this.activeIndex.update((activeIndex) => this.config?.activeIndex ?? activeIndex);\n this.animate.update((animate) => (animate === false ? animate : (this.config?.animate ?? animate)));\n this.direction.update((direction) => this.config?.direction ?? direction);\n this.interval.update((interval) => this.config?.interval ?? interval);\n }\n\n /**\n * Index of the active item.\n * @returns number\n */\n readonly activeIndexInput = input(0, { alias: 'activeIndex', transform: numberAttribute });\n\n readonly activeIndex = linkedSignal({\n source: this.activeIndexInput,\n computation: (value: number) => value\n });\n\n /**\n * Carousel automatically starts cycle items.\n * @returns boolean\n */\n readonly animateInput = input<boolean>(true, { alias: 'animate' });\n\n readonly animate = linkedSignal(this.animateInput);\n\n /**\n * Carousel direction\n * @returns 'next' | 'prev'\n */\n readonly directionInput = input<'next' | 'prev'>('next', { alias: 'direction' });\n\n readonly direction = linkedSignal({\n source: this.directionInput,\n computation: (value: 'next' | 'prev') => value\n });\n\n /**\n * The amount of time to delay between automatically cycling an item. If -1, carousel will not automatically cycle.\n * @returns number\n * @default -1\n */\n readonly intervalInput = input(-1, { alias: 'interval', transform: numberAttribute });\n\n readonly interval = linkedSignal(this.intervalInput);\n\n readonly #intervalEffect = effect(() => {\n const interval = this.interval();\n this.#carouselService.state = { interval: interval };\n interval ? this.setTimer() : this.resetTimer();\n });\n\n /**\n * Sets which event handlers you’d like provided to your pause prop. You can specify one trigger or an array of them.\n * @returns Triggers | Triggers[] | false\n */\n readonly pause = input<Triggers | Triggers[] | false>('hover');\n\n /**\n * Support left/right swipe interactions on touchscreen devices.\n * @returns boolean\n * @default true\n */\n readonly touch = input<boolean>(true);\n\n /**\n * Set the type of the transition.\n * @returns 'slide' | 'crossfade'\n * @default 'slide'\n */\n readonly transition = input<'slide' | 'crossfade'>('slide');\n\n /**\n * Set whether the carousel should cycle continuously or have hard stops.\n * @returns boolean\n * @default true\n */\n readonly wrap = input<boolean>(true);\n\n /**\n * Event emitted on carousel item change\n * @returns number\n */\n readonly itemChange = output<number>();\n\n private timerId: ReturnType<typeof setTimeout> | undefined;\n private activeItemInterval = 0;\n private swipeSubscription?: Subscription;\n readonly #destroyRef = inject(DestroyRef);\n\n ngOnInit(): void {\n this.carouselServiceSubscribe();\n }\n\n ngOnDestroy(): void {\n this.resetTimer();\n this.clearListeners();\n this.swipeSubscribe(false);\n // Ensure IntersectionObserver is cleaned up\n this.#intersectionService?.unobserve(this.#hostElement);\n }\n\n ngAfterContentInit(): void {\n this.intersectionServiceSubscribe();\n this.#carouselService.state = {\n activeItemIndex: this.activeIndex(),\n animate: this.animate(),\n interval: this.interval(),\n transition: this.transition()\n };\n this.setListeners();\n this.swipeSubscribe();\n }\n\n private setListeners(): void {\n const config: IListenersConfig = {\n hostElement: this.#hostElement,\n trigger: this.pause() || [],\n callbackOff: () => {\n this.setTimer();\n },\n callbackOn: () => {\n this.resetTimer();\n }\n };\n this.#listenersService.setListeners(config);\n }\n\n private clearListeners(): void {\n this.#listenersService.clearListeners();\n }\n\n set visible(value) {\n this.#visible = value;\n }\n\n get visible() {\n return this.#visible;\n }\n\n #visible: boolean = true;\n\n setTimer(): void {\n const interval = this.activeItemInterval || this.interval();\n const direction = this.direction();\n this.resetTimer();\n if (interval > 0) {\n this.timerId = setTimeout(() => {\n const nextIndex = this.#carouselService.direction(direction);\n this.#carouselService.state = { activeItemIndex: nextIndex };\n }, interval);\n }\n }\n\n resetTimer(): void {\n clearTimeout(this.timerId);\n this.timerId = undefined;\n }\n\n private carouselServiceSubscribe(): void {\n this.#carouselService.carouselIndex$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe((nextItem) => {\n if ('active' in nextItem && typeof nextItem.active === 'number') {\n this.itemChange?.emit(nextItem.active);\n }\n this.activeItemInterval =\n typeof nextItem.interval === 'number' && nextItem.interval > -1 ? nextItem.interval : this.interval();\n const direction = this.direction();\n const isLastItem =\n (nextItem.active === nextItem.lastItemIndex && direction === 'next') ||\n (nextItem.active === 0 && direction === 'prev');\n !this.wrap() && isLastItem ? this.resetTimer() : this.setTimer();\n });\n }\n\n private intersectionServiceSubscribe(): void {\n this.#intersectionService.createIntersectionObserver(this.#hostElement);\n this.#intersectionService.intersecting$\n .pipe(\n filter((next) => next.hostElement === this.#hostElement),\n finalize(() => {\n this.#intersectionService?.unobserve(this.#hostElement);\n }),\n takeUntilDestroyed(this.#destroyRef)\n )\n .subscribe((next) => {\n this.visible = next.isIntersecting;\n next.isIntersecting ? this.setTimer() : this.resetTimer();\n });\n }\n\n private swipeSubscribe(subscribe: boolean = true): void {\n if (this.touch() && subscribe) {\n const carouselElement = this.#hostElement.nativeElement;\n const touchStart$ = fromEvent<TouchEvent>(carouselElement, 'touchstart');\n const touchEnd$ = fromEvent<TouchEvent>(carouselElement, 'touchend');\n this.swipeSubscription = touchStart$\n .pipe(\n switchMap((touchstart) =>\n touchstart.touches?.length > 1\n ? EMPTY\n : touchEnd$.pipe(\n take(1),\n map((touchend) => [touchstart, touchend] as const)\n )\n ),\n takeUntilDestroyed(this.#destroyRef)\n )\n .subscribe(([touchstart, touchend]) => {\n if (this.#carouselService.animating()) {\n return;\n }\n const distanceX = touchstart.touches?.[0]?.clientX - touchend.changedTouches?.[0]?.clientX || 0;\n if (Math.abs(distanceX) > 0.3 * carouselElement.clientWidth) {\n const nextIndex = this.#carouselService.direction(distanceX > 0 ? 'next' : 'prev');\n this.#carouselService.state = { activeItemIndex: nextIndex };\n }\n });\n } else {\n this.swipeSubscription?.unsubscribe();\n }\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-carousel-caption',\n template: '<ng-content />',\n styles: `\n :host {\n display: block;\n }\n `,\n host: {\n '[class.carousel-caption]': 'true'\n }\n})\nexport class CarouselCaptionComponent {}\n","import { Component, computed, inject, input, linkedSignal } from '@angular/core';\nimport { CarouselService } from '../carousel.service';\n\n@Component({\n selector: 'c-carousel-control',\n templateUrl: './carousel-control.component.html',\n exportAs: 'cCarouselControl',\n host: {\n '[attr.role]': 'role()',\n '[class]': 'hostClasses()',\n '(keyup)': 'onKeyUp($event)',\n '(click)': 'onClick($event)'\n }\n})\nexport class CarouselControlComponent {\n readonly #carouselService = inject(CarouselService);\n\n /**\n * Carousel control caption\n * @returns string | undefined\n */\n readonly captionInput = input<string | undefined>(undefined, { alias: 'caption' });\n\n readonly caption = linkedSignal({\n source: this.captionInput,\n computation: (value) => {\n return !!value ? value : this.direction() === 'prev' ? 'Previous' : 'Next';\n }\n });\n\n /**\n * Carousel control direction.\n * @returns 'prev' | 'next'\n */\n readonly direction = input<'prev' | 'next'>('next');\n\n /**\n * Carousel control role.\n * @returns string\n */\n readonly role = input('button');\n\n readonly hostClasses = computed(() => {\n return `carousel-control-${this.direction()}`;\n });\n\n readonly carouselControlIconClass = computed(() => {\n return `carousel-control-${this.direction()}-icon`;\n });\n\n onKeyUp($event: KeyboardEvent): void {\n if ($event.key === 'Enter') {\n this.#play();\n }\n if ($event.key === 'ArrowLeft') {\n this.#play('prev');\n }\n if ($event.key === 'ArrowRight') {\n this.#play('next');\n }\n }\n\n onClick($event: MouseEvent): void {\n if (this.#carouselService.animating()) {\n return;\n }\n this.#play();\n }\n\n #play(direction = this.direction()): void {\n const nextIndex = this.#carouselService.direction(direction);\n this.#carouselService.state = { activeItemIndex: nextIndex };\n }\n}\n","<ng-content>\n <span [aria-hidden]=\"true\" [class]=\"carouselControlIconClass()\"></span>\n <span class=\"visually-hidden\">{{ caption() }}</span>\n</ng-content>\n","import { Component, computed, contentChildren, DestroyRef, inject, OnInit, signal, TemplateRef } from '@angular/core';\nimport { CarouselService } from '../carousel.service';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { TemplateIdDirective } from '../../shared';\n\n@Component({\n selector: 'c-carousel-indicators',\n exportAs: 'cCarouselIndicators',\n imports: [NgTemplateOutlet],\n templateUrl: './carousel-indicators.component.html',\n host: { class: 'carousel-indicators' }\n})\nexport class CarouselIndicatorsComponent implements OnInit {\n readonly #destroyRef = inject(DestroyRef);\n readonly #carouselService = inject(CarouselService);\n\n items: (number | undefined)[] = [];\n readonly active = signal(0);\n\n readonly contentTemplates = contentChildren(TemplateIdDirective, { descendants: true });\n\n readonly templates = computed(() => {\n return this.contentTemplates().reduce(\n (acc, child) => {\n acc[child.id] = child.templateRef;\n return acc;\n },\n {} as Record<string, TemplateRef<any>>\n );\n });\n\n ngOnInit(): void {\n this.#carouselService.carouselIndex$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe((nextIndex) => {\n this.items = this.#carouselService?.state?.items?.map((item) => item.index) ?? [];\n if ('active' in nextIndex) {\n this.active.set(nextIndex.active ?? 0);\n }\n });\n }\n\n onClick(index: number): void {\n if (this.#carouselService.animating()) {\n return;\n }\n if (index !== this.active()) {\n const direction = index < this.active() ? 'prev' : 'next';\n this.#carouselService.state = { direction, activeItemIndex: index };\n }\n }\n}\n","@let tmpl = templates();\n@let activeItem = active();\n<ng-container *ngTemplateOutlet=\"tmpl['carouselIndicatorsTemplate'] || defaultCarouselIndicatorsTemplate; context: {$implicit: items, active: activeItem}\" />\n\n<ng-template #defaultCarouselIndicatorsTemplate>\n @for (item of items; track item; let i = $index) {\n <button\n [attr.data-coreui-target]=\"i\"\n type=\"button\"\n (click)=\"onClick(i)\"\n [class]=\"{ active: activeItem === i }\"\n [aria-current]=\"activeItem === i ? 'true' : null\">\n </button>\n }\n</ng-template>\n","import {\n booleanAttribute,\n Component,\n computed,\n DestroyRef,\n effect,\n ElementRef,\n inject,\n input,\n linkedSignal,\n OnInit,\n signal,\n untracked\n} from '@angular/core';\n\nimport { CarouselService } from '../carousel.service';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n@Component({\n selector: 'c-carousel-item',\n template: `\n <!-- @if (this.activeClass() || (this.orderClassName() && this.directionClassName())) {-->\n <ng-content />\n <!-- }-->\n `,\n exportAs: 'cCarouselItem',\n host: {\n class: 'carousel-item',\n '[class]': 'hostClasses()',\n '[attr.role]': 'role()'\n }\n})\nexport class CarouselItemComponent implements OnInit {\n readonly #elementRef = inject(ElementRef<HTMLElement>);\n readonly #destroyRef = inject(DestroyRef);\n readonly #carouselService = inject(CarouselService);\n\n #timeoutId?: ReturnType<typeof setTimeout> | undefined;\n #rafId?: ReturnType<typeof requestAnimationFrame> | undefined;\n\n index?: number;\n\n /**\n * @ignore\n */\n readonly activeInput = input(false, { transform: booleanAttribute, alias: 'active' });\n\n readonly active = linkedSignal(this.activeInput);\n\n /**\n * Time delay before cycling to the next item. If -1, uses carousel interval value.\n * @returns number\n * @default -1\n */\n readonly interval = input<number>(-1);\n\n /**\n * Carousel item role.\n * @returns string\n * @default 'group'\n */\n readonly role = input('group');\n\n constructor() {\n this.#elementRef.nativeElement.style.transition = '1ms';\n }\n\n ngOnInit(): void {\n this.#carouselService.carouselIndex$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe((nextIndex) => {\n if ('active' in nextIndex) {\n if (this.#carouselService.state.animate && this.#elementRef.nativeElement.style.transition !== '') {\n this.#timeoutId = setTimeout(() => {\n this.#elementRef.nativeElement.style.transition = '';\n this.#timeoutId = undefined;\n }, 500);\n }\n this.prevActive.set(this.active());\n this.active.set(nextIndex.active === this.index);\n }\n });\n\n // Clean up timeout on destroy\n this.#destroyRef.onDestroy(() => {\n if (this.#timeoutId !== undefined) {\n clearTimeout(this.#timeoutId);\n }\n if (this.#rafId !== undefined) {\n cancelAnimationFrame(this.#rafId);\n }\n });\n }\n\n protected readonly hostClasses = computed(() => {\n const order = this.orderClassName();\n const direction = this.directionClassName();\n return {\n active: this.activeClass(),\n [`${order}`]: !!order,\n [`${direction}`]: !!direction,\n 'd-none': !this.activeClass() && !order && !direction\n };\n });\n\n readonly prevActive = signal(false);\n readonly activeClass = signal(false);\n readonly orderClassName = signal<string>('');\n readonly directionClassName = signal<string>('');\n\n readonly #activeEffect = effect((OnCleanup) => {\n const active = this.active();\n const prevActive = untracked(this.prevActive);\n const direction = this.#carouselService.state?.direction;\n\n this.activeClass.set(prevActive);\n\n if (active) {\n this.orderClassName.set(`carousel-item-${direction}`);\n }\n\n if (prevActive || active) {\n if (this.#rafId) {\n cancelAnimationFrame(this.#rafId);\n }\n\n this.#rafId = requestAnimationFrame(() => {\n // reflow is necessary to proper transition\n void this.#elementRef.nativeElement.offsetHeight;\n this.directionClassName.set(`carousel-item-${direction === 'next' ? 'start' : 'end'}`);\n this.#rafId = undefined;\n });\n }\n\n const handleTransitionStart = () => {\n if (active) {\n this.#carouselService.animating.set(true);\n }\n };\n\n const handleTransitionEnd = () => {\n if (active) {\n this.#carouselService.animating.set(false);\n }\n this.directionClassName.set('');\n this.orderClassName.set('');\n this.activeClass.set(active);\n };\n\n this.#elementRef.nativeElement.addEventListener('transitionstart', handleTransitionStart);\n this.#elementRef.nativeElement.addEventListener('transitionend', handleTransitionEnd);\n\n OnCleanup(() => {\n this.#elementRef.nativeElement.removeEventListener('transitionstart', handleTransitionStart);\n this.#elementRef.nativeElement.removeEventListener('transitionend', handleTransitionEnd);\n });\n });\n}\n","import {\n AfterContentChecked,\n AfterContentInit,\n Component,\n computed,\n contentChildren,\n inject,\n signal\n} from '@angular/core';\nimport { CarouselItemComponent } from '../carousel-item/carousel-item.component';\nimport { CarouselService } from '../carousel.service';\n\n@Component({\n selector: 'c-carousel-inner',\n styles: `\n :host {\n display: block;\n }\n `,\n template: '<ng-content />',\n host: {\n class: 'carousel-inner',\n '[aria-live]': 'ariaLive()'\n }\n})\nexport class CarouselInnerComponent implements AfterContentInit, AfterContentChecked {\n readonly #carouselService = inject(CarouselService);\n\n readonly activeIndex = signal<number | undefined>(undefined);\n readonly animate = signal<boolean>(true);\n readonly interval = signal<number>(0);\n readonly slide = signal({ left: true });\n readonly transition = signal('crossfade');\n\n readonly slideType = computed(() => {\n return { left: this.slide().left, type: this.transition() };\n });\n\n readonly ariaLive = computed(() => {\n return this.interval() ? 'off' : 'polite';\n });\n\n readonly contentItems = contentChildren(CarouselItemComponent);\n readonly #prevContentItems = signal<CarouselItemComponent[]>([]);\n\n ngAfterContentInit(): void {\n this.setItems();\n }\n\n ngAfterContentChecked(): void {\n this.setItems();\n const state = this.#carouselService?.state;\n const nextIndex = state?.activeItemIndex;\n const nextDirection = state?.direction;\n if (this.activeIndex() !== nextIndex) {\n this.animate.set(state?.animate ?? false);\n this.activeIndex.set(state?.activeItemIndex);\n this.interval.set(state?.interval ?? 0);\n this.slide.set({ left: nextDirection === 'next' });\n this.transition.set(state?.transition ?? 'slide');\n }\n }\n\n setItems(): void {\n const contentItems = this.contentItems();\n if (this.#prevContentItems() !== contentItems) {\n this.#prevContentItems.set([...contentItems]);\n this.#carouselService.setItems(contentItems);\n }\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { CarouselComponent } from './carousel/carousel.component';\nimport { CarouselCaptionComponent } from './carousel-caption/carousel-caption.component';\nimport { CarouselControlComponent } from './carousel-control/carousel-control.component';\nimport { CarouselIndicatorsComponent } from './carousel-indicators/carousel-indicators.component';\nimport { CarouselInnerComponent } from './carousel-inner/carousel-inner.component';\nimport { CarouselItemComponent } from './carousel-item/carousel-item.component';\nimport { CarouselService } from './carousel.service';\nimport { CarouselConfig } from './carousel.config';\n\n@NgModule({\n imports: [\n CarouselComponent,\n CarouselCaptionComponent,\n CarouselControlComponent,\n CarouselIndicatorsComponent,\n CarouselInnerComponent,\n CarouselItemComponent\n ],\n providers: [CarouselService, CarouselConfig],\n exports: [\n CarouselComponent,\n CarouselCaptionComponent,\n CarouselControlComponent,\n CarouselIndicatorsComponent,\n CarouselInnerComponent,\n CarouselItemComponent\n ]\n})\nexport class CarouselModule {\n static forRoot(): ModuleWithProviders<CarouselModule> {\n return { ngModule: CarouselModule, providers: [] };\n }\n}\n","import { Signal, TemplateRef } from '@angular/core';\nimport type { ChipComponent } from './chip.component';\n\nexport abstract class ChipSetRef {\n abstract readonly ariaRemoveLabel: Signal<string | undefined>;\n abstract readonly disabled: Signal<boolean>;\n abstract readonly filter: Signal<boolean>;\n abstract readonly isListbox: Signal<boolean>;\n abstract readonly readonly: Signal<boolean>;\n abstract readonly removable: Signal<boolean>;\n abstract readonly removeIcon: Signal<TemplateRef<unknown> | undefined>;\n abstract readonly selectable: Signal<boolean>;\n abstract readonly selectedIcon: Signal<TemplateRef<unknown> | undefined>;\n\n abstract isSelected(identity: string): boolean;\n\n abstract register(chip: ChipComponent): void;\n\n abstract requestRemove(chip: ChipComponent): void;\n\n abstract tabIndexFor(chip: ChipComponent): number | null;\n\n abstract toggle(chip: ChipComponent, selected: boolean): void;\n\n abstract unregister(chip: ChipComponent): void;\n}\n","import { booleanAttribute, numberAttribute } from '@angular/core';\n\nconst TEXT_EXCLUDED = '.chip-check, .chip-remove, svg, [aria-hidden=\"true\"]';\n\n/**\n * Coerces an attribute value to a boolean, keeping `undefined` so a chip can inherit the value from its set.\n * @param value - The bound or static attribute value\n * @returns `undefined` when nothing was bound, otherwise the `booleanAttribute` result\n */\nexport const optionalBooleanAttribute = (value: unknown): boolean | undefined =>\n value === undefined ? undefined : booleanAttribute(value);\n\n/**\n * Coerces an attribute value to a number, keeping `undefined` and `null` as `undefined`.\n * @param value - The bound or static attribute value\n * @returns `undefined` when nothing was bound, otherwise the `numberAttribute` result\n */\nexport const optionalNumberAttribute = (value: unknown): number | undefined =>\n value === undefined || value === null ? undefined : numberAttribute(value);\n\n/**\n * Reads the visible text of a chip: its text content without the check and remove indicators,\n * icons (`svg`) and anything hidden from assistive technology.\n * @param element - The chip host element\n * @returns The trimmed text with collapsed whitespace, an empty string for an icon-only chip\n */\nexport const getChipText = (element: HTMLElement): string => {\n const clone = element.cloneNode(true) as HTMLElement;\n clone.querySelectorAll(TEXT_EXCLUDED).forEach((node) => node.remove());\n return (clone.textContent ?? '').replace(/\\s+/g, ' ').trim();\n};\n","import { FocusableOption } from '@angular/cdk/a11y';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n afterEveryRender,\n afterRenderEffect,\n booleanAttribute,\n Component,\n computed,\n DestroyRef,\n ElementRef,\n inject,\n input,\n linkedSignal,\n OnInit,\n output,\n signal,\n TemplateRef\n} from '@angular/core';\nimport { Colors } from '../coreui.types';\nimport { UIDService } from '../services/uid.service';\nimport { ChipSetRef } from './chip-set-ref';\nimport { ChipVariant } from './chip.types';\nimport { getChipText, optionalBooleanAttribute, optionalNumberAttribute } from './chip.utils';\n\n@Component({\n selector: 'c-chip',\n exportAs: 'cChip',\n templateUrl: './chip.component.html',\n imports: [NgTemplateOutlet],\n host: {\n class: 'chip',\n '[class]': 'hostClasses()',\n '[attr.role]': 'roleAttr()',\n '[attr.aria-selected]': 'ariaSelected()',\n '[attr.aria-pressed]': 'ariaPressed()',\n '[attr.aria-disabled]': 'ariaDisabled()',\n '[attr.data-coreui-chip-focusable]': 'focusable() || null',\n '[attr.data-coreui-chip-value]': 'identity()',\n '[attr.tabindex]': 'tabIndex()',\n '(click)': 'onClick($event)',\n '(keydown)': 'onKeydown($event)'\n }\n})\nexport class ChipComponent implements FocusableOption, OnInit {\n readonly #elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n readonly #set = inject(ChipSetRef, { optional: true });\n readonly #uid = inject(UIDService).getUID('chip');\n\n /**\n * Toggles the active state of a chip that is not selectable.\n * @returns boolean\n * @default false\n */\n readonly active = input(false, { transform: booleanAttribute });\n\n /**\n * Accessible name of the remove button. When set on the chip it is used as is; otherwise the label of the\n * chip set (or `'Remove'`) is followed by the chip text, e.g. `'Remove Angular'`.\n * @returns string | undefined\n * @default undefined\n */\n readonly ariaRemoveLabel = input<string>();\n\n /**\n * Adds hover styling and a pointer cursor to the chip.\n * @returns boolean\n * @default false\n */\n readonly clickable = input(false, { transform: booleanAttribute });\n\n /**\n * Sets the color context of the chip to one of CoreUI’s themed colors.\n * @returns Colors | undefined\n * @default undefined\n */\n readonly color = input<Colors>();\n\n /**\n * Disables the chip. Inside a chip set an unset value takes the value of the set.\n * @returns boolean | undefined\n * @default undefined\n */\n readonly disabledInput = input<boolean | undefined, unknown>(undefined, {\n alias: 'disabled',\n transform: optionalBooleanAttribute\n });\n\n /**\n * Makes the chip a filter chip: selectable, with a check icon while selected.\n * Inside a chip set an unset value takes the value of the set.\n * @returns boolean | undefined\n * @default undefined\n */\n readonly filter = input<boolean | undefined, unknown>(undefined, { transform: optionalBooleanAttribute });\n\n /**\n * Shows a remove button; Backspace and Delete request removal too.\n * Inside a chip set an unset value takes the value of the set.\n * @returns boolean | undefined\n * @default undefined\n */\n readonly removable = input<boolean | undefined, unknown>(undefined, { transform: optionalBooleanAttribute });\n\n /**\n * Replaces the default remove icon.\n * @returns TemplateRef<unknown> | undefined\n * @default undefined\n */\n readonly removeIcon = input<TemplateRef<unknown>>();\n\n /**\n * Overrides the role the chip takes from its context (`option` in a selectable set, `button` when selectable).\n * @returns string | undefined\n * @default undefined\n */\n readonly role = input<string>();\n\n /**\n * Makes the chip selectable with click, Enter and Space.\n * Inside a chip set an unset value takes the value of the set.\n * @returns boolean | undefined\n * @default undefined\n */\n readonly selectable = input<boolean | undefined, unknown>(undefined, { transform: optionalBooleanAttribute });\n\n /**\n * Selected state of a selectable chip, two-way bindable with `[(selected)]`.\n * Inside a chip set the set keeps the selection in its own `selected`, and this input is ignored.\n * @returns boolean\n * @default false\n */\n readonly selected = input(false, { transform: booleanAttribute });\n\n /**\n * Replaces the default check icon of a selected filter chip.\n * @returns TemplateRef<unknown> | undefined\n * @default undefined\n */\n readonly selectedIcon = input<TemplateRef<unknown>>();\n\n /**\n * Size the chip small or large.\n * @returns 'sm' | 'lg' | undefined\n * @default undefined\n */\n readonly size = input<'sm' | 'lg'>();\n\n /**\n * Tab index of a standalone chip. Inside a chip set it is ignored: the set keeps one tab stop for all its chips.\n * @returns number | undefined\n * @default undefined\n */\n readonly tabindex = input<number | undefined, unknown>(undefined, { transform: optionalNumberAttribute });\n\n /**\n * Value that identifies the chip in a chip set. Without it the chip text is used; set it wherever the text\n * can change, e.g. with translations.\n * @returns string | undefined\n * @default undefined\n */\n readonly value = input<string>();\n\n /**\n * Sets the visual variant of the chip.\n * @returns 'outline' | undefined\n * @default undefined\n */\n readonly variant = input<ChipVariant>();\n\n /**\n * Emits when removal is requested with the remove button, Backspace or Delete.\n * @returns MouseEvent | KeyboardEvent\n */\n readonly remove = output<MouseEvent | KeyboardEvent>();\n\n /**\n * Emits the new selected state when the chip is toggled by the user.\n * @returns boolean\n */\n readonly selectedChange = output<boolean>();\n\n readonly #selected = linkedSignal(this.selected);\n #content: string | null = null;\n #writtenLabel: string | null = null;\n\n readonly text = signal('');\n\n readonly identity = computed(() => this.value() ?? (this.text() || this.#uid));\n\n readonly isDisabled = computed(() => this.disabledInput() ?? this.#set?.disabled() ?? false);\n\n readonly isFilter = computed(() => this.filter() ?? this.#set?.filter() ?? false);\n\n readonly isSelectable = computed(() => (this.selectable() ?? this.#set?.selectable() ?? false) || this.isFilter());\n\n readonly isRemovable = computed(() => this.removable() ?? this.#set?.removable() ?? false);\n\n readonly isCoordinated = computed(() => !!this.#set && this.isSelectable());\n\n readonly isSelected = computed(() =>\n this.isCoordinated() ? this.#set!.isSelected(this.identity()) : this.#selected()\n );\n\n readonly focusable = computed(() => !this.isDisabled() && (this.isSelectable() || this.isRemovable()));\n\n readonly roleAttr = computed(() => {\n return this.role() ?? (this.#set?.isListbox() ? 'option' : this.isSelectable() ? 'button' : null);\n });\n\n readonly ariaSelected = computed(() =>\n this.roleAttr() === 'option' && this.isSelectable() ? String(this.isSelected()) : null\n );\n\n readonly ariaPressed = computed(() =>\n this.roleAttr() === 'button' && this.isSelectable() ? String(this.isSelected()) : null\n );\n\n readonly isLocked = computed(() => this.isSelectable() && !!this.#set?.readonly());\n\n readonly ariaDisabled = computed(() => (this.roleAttr() && (this.isDisabled() || this.isLocked()) ? 'true' : null));\n\n readonly hasRemoveButton = computed(() => this.isRemovable() && !this.isDisabled() && this.roleAttr() !== 'option');\n\n readonly #label = computed(() =>\n this.roleAttr() === 'button' && this.hasRemoveButton() ? this.text() || null : null\n );\n\n readonly tabIndex = computed(() => {\n if (this.#set) {\n return this.#set.tabIndexFor(this);\n }\n return this.tabindex() ?? (this.focusable() ? 0 : null);\n });\n\n readonly removeLabel = computed(() => {\n const own = this.ariaRemoveLabel();\n if (own !== undefined) {\n return own;\n }\n return [this.#set?.ariaRemoveLabel() ?? 'Remove', this.text()].filter(Boolean).join(' ');\n });\n\n readonly removeIconTemplate = computed(() => this.removeIcon() ?? this.#set?.removeIcon());\n\n readonly selectedIconTemplate = computed(() => this.selectedIcon() ?? this.#set?.selectedIcon());\n\n readonly hostClasses = computed(() => {\n const color = this.color();\n const size = this.size();\n return {\n chip: true,\n active: this.isSelectable() ? this.isSelected() : this.active(),\n disabled: this.isDisabled(),\n [`chip-${color}`]: !!color,\n [`chip-${size}`]: !!size,\n 'chip-clickable': (this.clickable() || this.isSelectable()) && !this.isLocked(),\n 'chip-outline': this.variant() === 'outline'\n } as Record<string, boolean>;\n });\n\n get element(): HTMLElement {\n return this.#elementRef.nativeElement;\n }\n\n get disabled(): boolean {\n return this.isDisabled();\n }\n\n constructor() {\n this.#set?.register(this);\n inject(DestroyRef).onDestroy(() => this.#set?.unregister(this));\n afterEveryRender({\n earlyRead: () => {\n const content = this.element.textContent;\n if (content === this.#content) {\n return null;\n }\n this.#content = content;\n return getChipText(this.element);\n },\n write: (text) => {\n if (text !== null) {\n this.text.set(text);\n }\n }\n });\n afterRenderEffect({\n write: () => this.#writeLabel(this.#label())\n });\n }\n\n ngOnInit(): void {\n if (this.#set && this.tabindex() !== undefined) {\n console.warn('CoreUI [c-chip] inside a chip set ignores tabindex - the set keeps one tab stop for its chips');\n }\n }\n\n focus(): void {\n this.element.focus();\n }\n\n getLabel(): string {\n return this.text();\n }\n\n onClick($event: MouseEvent): void {\n if (this.isDisabled() || ($event.target as HTMLElement).closest('.chip-remove')) {\n return;\n }\n if (this.isSelectable()) {\n this.#toggle();\n }\n }\n\n onKeydown($event: KeyboardEvent): void {\n if (this.isDisabled()) {\n return;\n }\n switch ($event.key) {\n case 'Enter':\n case ' ':\n case 'Spacebar': {\n if (this.isSelectable() && !($event.target as HTMLElement).closest('.chip-remove')) {\n $event.preventDefault();\n this.#toggle();\n } else if ($event.key !== 'Enter' && $event.target === this.element && this.focusable()) {\n $event.preventDefault();\n }\n break;\n }\n case 'Backspace':\n case 'Delete': {\n if (this.isRemovable()) {\n $event.preventDefault();\n this.#requestRemove($event);\n }\n break;\n }\n }\n }\n\n onRemoveClick($event: MouseEvent): void {\n $event.stopPropagation();\n if (this.isRemovable() && !this.isDisabled()) {\n this.#requestRemove($event);\n }\n }\n\n #toggle(): void {\n if (this.isLocked()) {\n return;\n }\n const next = !this.isSelected();\n this.#selected.set(next);\n this.selectedChange.emit(next);\n if (this.isCoordinated()) {\n this.#set!.toggle(this, next);\n }\n }\n\n #requestRemove($event: MouseEvent | KeyboardEvent): void {\n this.remove.emit($event);\n this.#set?.requestRemove(this);\n }\n\n #writeLabel(label: string | null): void {\n const current = this.element.getAttribute('aria-label');\n if (current !== null && current !== this.#writtenLabel) {\n this.#writtenLabel = null;\n return;\n }\n if (label) {\n this.element.setAttribute('aria-label', label);\n } else if (current !== null) {\n this.element.removeAttribute('aria-label');\n }\n this.#writtenLabel = label;\n }\n}\n","@if (isFilter() && isSelected()) {\n <span class=\"chip-check\" aria-hidden=\"true\">\n @if (selectedIconTemplate(); as selectedIconTpl) {\n <ng-container *ngTemplateOutlet=\"selectedIconTpl\" />\n } @else {\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 512 512\" fill=\"currentColor\">\n <path d=\"M425.373 89.373 196 318.745 86.627 209.373l-45.254 45.254L196 409.255l274.627-274.628z\" />\n </svg>\n }\n </span>\n}\n<ng-content />\n@if (isRemovable() && !isDisabled()) {\n @if (hasRemoveButton()) {\n <button\n type=\"button\"\n class=\"chip-remove\"\n tabindex=\"-1\"\n [attr.aria-label]=\"removeLabel()\"\n (click)=\"onRemoveClick($event)\"\n >\n <ng-container *ngTemplateOutlet=\"removeIconTemplate() ?? defaultRemoveIcon\" />\n </button>\n } @else {\n <span class=\"chip-remove\" aria-hidden=\"true\" (click)=\"onRemoveClick($event)\">\n <ng-container *ngTemplateOutlet=\"removeIconTemplate() ?? defaultRemoveIcon\" />\n </span>\n }\n}\n<ng-template #defaultRemoveIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n >\n <line x1=\"4\" y1=\"4\" x2=\"12\" y2=\"12\" />\n <line x1=\"12\" y1=\"4\" x2=\"4\" y2=\"12\" />\n </svg>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { ChipComponent } from './chip.component';\n\n@NgModule({\n imports: [ChipComponent],\n exports: [ChipComponent]\n})\nexport class ChipModule {}\n","import { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport { inject, Injectable, NgZone, PLATFORM_ID } from '@angular/core';\n\nexport type AnnouncePriority = 'assertive' | 'polite';\n\nexport interface AnnounceOptions {\n context?: Element | null;\n priority?: AnnouncePriority;\n timeout?: number;\n}\n\ninterface PendingMessage {\n context: Element | null;\n node: HTMLElement;\n page: HTMLElement | null;\n priority: AnnouncePriority;\n timeout: number;\n}\n\nconst ATTRIBUTE = 'data-coreui-live-announcer';\nconst FIRST_MESSAGE_DELAY = 100;\nconst PRIORITIES: AnnouncePriority[] = ['assertive', 'polite'];\n\nconst VISUALLY_HIDDEN: Partial<CSSStyleDeclaration> = {\n border: '0',\n clip: 'rect(0 0 0 0)',\n clipPath: 'inset(50%)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: '0',\n position: 'absolute',\n whiteSpace: 'nowrap',\n width: '1px'\n};\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AnnouncerService {\n readonly #document = inject(DOCUMENT);\n readonly #ngZone = inject(NgZone);\n readonly #isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n readonly #pending: PendingMessage[] = [];\n readonly #readyAt = new WeakMap<Element, number>();\n\n /**\n * Reads a message to screen reader users. The message goes to a visually hidden live region at the start of\n * the page or, while a modal dialog leaves the rest of the page inert, to one inside that dialog.\n * A new region takes its first message 100 ms after it is created, and each call adds a new node,\n * so the same text is read again.\n * @param message - The text to read\n * @param options - `context` is the element the message comes from, `priority` picks the polite (default)\n * or the assertive region, `timeout` (ms) is how long the message stays, `0` keeps it\n * @returns A function that removes the message, or cancels it before it is added\n */\n announce(message: string, options: AnnounceOptions = {}): () => void {\n const document = this.#document;\n if (!this.#isBrowser || !document?.body || !message) {\n return () => undefined;\n }\n\n const { context = null, priority = 'polite', timeout = 7000 } = options;\n const node = document.createElement('div');\n node.textContent = message;\n const host = this.#getModal(context) ?? document.body;\n const announcer = this.#getAnnouncer(host);\n\n this.#pending.push({\n context,\n node,\n page: host === document.body ? announcer : null,\n priority: priority === 'assertive' ? 'assertive' : 'polite',\n timeout\n });\n this.#schedule(this.#waitFor(announcer));\n\n return () => {\n const index = this.#pending.findIndex((pending) => pending.node === node);\n if (index !== -1) {\n this.#pending.splice(index, 1);\n }\n node.remove();\n };\n }\n\n #schedule(delay: number): void {\n this.#ngZone.runOutsideAngular(() => setTimeout(() => this.#flush(), Math.max(0, delay)));\n }\n\n #waitFor(announcer: Element): number {\n return (this.#readyAt.get(announcer) ?? 0) - performance.now();\n }\n\n #flush(): void {\n const document = this.#document;\n while (this.#pending.length > 0) {\n const [{ context, node, page, priority, timeout }] = this.#pending;\n\n if (page && !page.isConnected) {\n this.#pending.shift();\n continue;\n }\n\n const announcer = this.#getAnnouncer(this.#getModal(context) ?? document.body);\n const wait = this.#waitFor(announcer);\n if (wait > 0) {\n this.#schedule(wait);\n return;\n }\n\n this.#pending.shift();\n announcer.querySelector(`[aria-live=\"${priority}\"]`)?.append(node);\n\n if (timeout > 0 && Number.isFinite(timeout)) {\n this.#ngZone.runOutsideAngular(() => setTimeout(() => node.remove(), timeout));\n }\n }\n }\n\n #getAnnouncer(host: HTMLElement): HTMLElement {\n const existing = host.querySelector<HTMLElement>(`:scope > [${ATTRIBUTE}]`);\n if (existing) {\n if (!this.#readyAt.has(existing)) {\n this.#readyAt.set(existing, performance.now() + FIRST_MESSAGE_DELAY);\n }\n return existing;\n }\n\n const announcer = this.#document.createElement('div');\n announcer.setAttribute(ATTRIBUTE, '');\n Object.assign(announcer.style, VISUALLY_HIDDEN);\n\n for (const priority of PRIORITIES) {\n const region = this.#document.createElement('div');\n region.setAttribute('role', 'log');\n region.setAttribute('aria-live', priority);\n region.setAttribute('aria-relevant', 'additions');\n announcer.append(region);\n }\n\n if (host === this.#document.body) {\n host.prepend(announcer);\n } else {\n const onClose = (event: Event) => {\n if (event.target === host && !(host as HTMLDialogElement).open) {\n announcer.remove();\n host.removeEventListener('close', onClose);\n }\n };\n host.append(announcer);\n host.addEventListener('close', onClose);\n }\n\n this.#readyAt.set(announcer, performance.now() + FIRST_MESSAGE_DELAY);\n return announcer;\n }\n\n #getModal(context: Element | null): HTMLElement | null {\n let focused = this.#document.activeElement;\n while (focused?.shadowRoot?.activeElement) {\n focused = focused.shadowRoot.activeElement;\n }\n\n const modals = [...this.#document.querySelectorAll<HTMLElement>('dialog[open], [aria-modal=\"true\"]')].filter(\n (element) => this.#isModal(element)\n );\n\n return this.#getDialogAround(focused) ?? this.#getDialogAround(context) ?? modals.at(-1) ?? null;\n }\n\n #getDialogAround(element: Element | null): HTMLElement | null {\n let node = element;\n while (node) {\n if (this.#isModal(node)) {\n return node as HTMLElement;\n }\n node = node.assignedSlot ?? node.parentElement ?? (node.getRootNode() as ShadowRoot).host ?? null;\n }\n return null;\n }\n\n #isModal(element: Element): boolean {\n if (element.matches('dialog[open]')) {\n try {\n return element.matches(':modal');\n } catch {\n return false;\n }\n }\n\n return (\n element.matches('[aria-modal=\"true\"]') &&\n element.isConnected &&\n (typeof element.checkVisibility !== 'function' || element.checkVisibility())\n );\n }\n}\n","import { FocusKeyManager } from '@angular/cdk/a11y';\nimport {\n afterNextRender,\n computed,\n DestroyRef,\n inject,\n Injectable,\n Injector,\n Signal,\n signal,\n TemplateRef,\n untracked,\n WritableSignal\n} from '@angular/core';\nimport type { ChipComponent } from '../chip/chip.component';\nimport { ChipSetRef } from '../chip/chip-set-ref';\nimport { AnnouncerService } from '../services/announcer.service';\nimport { RtlService } from '../services/rtl.service';\nimport { ChipSelectionMode } from './chip-set.types';\n\nexport interface ChipSetHost {\n readonly ariaAddedAnnouncement: Signal<string>;\n readonly ariaRemoveLabel: Signal<string | undefined>;\n readonly ariaRemovedAnnouncement: Signal<string>;\n readonly disabled: Signal<boolean>;\n readonly element: HTMLElement;\n readonly filter: Signal<boolean>;\n readonly initialStop: 'first' | 'last';\n readonly isListbox: Signal<boolean>;\n readonly readonly?: Signal<boolean>;\n readonly removable: Signal<boolean>;\n readonly removeIcon: Signal<TemplateRef<unknown> | undefined>;\n readonly selectable: Signal<boolean>;\n readonly selected: WritableSignal<string[]>;\n readonly selectedIcon: Signal<TemplateRef<unknown> | undefined>;\n readonly selectionMode: Signal<ChipSelectionMode>;\n\n focusFallback(): void;\n\n removeRequested(identity: string): void;\n}\n\nconst NAVIGATION_KEYS = ['ArrowLeft', 'ArrowRight', 'Home', 'End'];\n\n@Injectable()\nexport class ChipSetService extends ChipSetRef {\n readonly #announcer = inject(AnnouncerService);\n readonly #destroyRef = inject(DestroyRef);\n readonly #injector = inject(Injector);\n readonly #rtl = inject(RtlService);\n\n readonly #host = signal<ChipSetHost | null>(null);\n readonly #registry = new Set<ChipComponent>();\n readonly #warned = new WeakSet<ChipComponent>();\n #focusedItem: ChipComponent | null = null;\n #scheduled = false;\n #settled = false;\n #snapshot: ChipComponent[] = [];\n\n readonly ariaRemoveLabel = computed(() => this.#host()?.ariaRemoveLabel());\n readonly disabled = computed(() => this.#host()?.disabled() ?? false);\n readonly filter = computed(() => this.#host()?.filter() ?? false);\n readonly isListbox = computed(() => this.#host()?.isListbox() ?? false);\n readonly readonly = computed(() => this.#host()?.readonly?.() ?? false);\n readonly removable = computed(() => this.#host()?.removable() ?? false);\n readonly removeIcon = computed(() => this.#host()?.removeIcon());\n readonly selectable = computed(() => this.#host()?.selectable() ?? false);\n readonly selectedIcon = computed(() => this.#host()?.selectedIcon());\n\n readonly orderedItems = signal<ChipComponent[]>([]);\n readonly activeItem = signal<ChipComponent | null>(null);\n\n readonly #ordered = computed(() => new Set(this.orderedItems()));\n\n readonly #stop = computed(() => {\n const items = this.orderedItems();\n const active = this.activeItem();\n if (active && items.includes(active)) {\n return active.focusable() ? active : this.#nearestFocusable(items, items.indexOf(active));\n }\n return this.#initialStop(items);\n });\n\n readonly #keyManager = new FocusKeyManager<ChipComponent>(this.orderedItems, this.#injector)\n .skipPredicate((chip) => !chip.focusable())\n .withVerticalOrientation(false)\n .withHorizontalOrientation('ltr')\n .withHomeAndEnd();\n\n constructor() {\n super();\n this.#keyManager.change.subscribe(() => {\n const active = this.#keyManager.activeItem;\n if (active) {\n this.activeItem.set(active);\n }\n });\n this.#destroyRef.onDestroy(() => this.#keyManager.destroy());\n }\n\n attach(host: ChipSetHost): void {\n this.#host.set(host);\n this.#scheduleRefresh();\n }\n\n register(chip: ChipComponent): void {\n this.#registry.add(chip);\n this.#scheduleRefresh();\n }\n\n unregister(chip: ChipComponent): void {\n this.#registry.delete(chip);\n this.#scheduleRefresh();\n }\n\n isSelected(identity: string): boolean {\n return this.#host()?.selected().includes(identity) ?? false;\n }\n\n toggle(chip: ChipComponent, selected: boolean): void {\n const host = this.#host();\n if (!host) {\n return;\n }\n const identity = chip.identity();\n const current = host.selected();\n if (selected) {\n if (host.selectionMode() === 'single') {\n host.selected.set([identity]);\n } else if (!current.includes(identity)) {\n host.selected.set([...current, identity]);\n }\n return;\n }\n if (current.includes(identity)) {\n host.selected.set(current.filter((value) => value !== identity));\n }\n }\n\n tabIndexFor(chip: ChipComponent): number | null {\n if (!this.#registry.has(chip) || !chip.focusable()) {\n return null;\n }\n if (this.orderedItems().length === 0) {\n return chip === this.#provisionalStop() ? 0 : -1;\n }\n if (!this.#ordered().has(chip)) {\n return null;\n }\n return chip === this.#stop() ? 0 : -1;\n }\n\n requestRemove(chip: ChipComponent): void {\n this.#host()?.removeRequested(chip.identity());\n }\n\n focusLast(): boolean {\n const chip = this.#lastFocusable();\n chip?.focus();\n return !!chip;\n }\n\n isLastFocusable(target: EventTarget | null): boolean {\n const chip = this.#chipContaining(target);\n return !!chip && chip === this.#lastFocusable();\n }\n\n handleKeydown($event: KeyboardEvent): void {\n const host = this.#host();\n if (!host || !NAVIGATION_KEYS.includes($event.key)) {\n return;\n }\n this.#updateOrder();\n const chip = this.#chipContaining($event.target);\n if (!chip?.focusable()) {\n return;\n }\n this.#keyManager.withHorizontalOrientation(this.#rtl.isRTL(host.element) ? 'rtl' : 'ltr');\n this.#keyManager.updateActiveItem(chip);\n this.#keyManager.onKeydown($event);\n }\n\n handleFocusin($event: FocusEvent): void {\n const chip = this.#chipContaining($event.target);\n this.#focusedItem = chip;\n if (chip?.focusable() && this.#host()?.element.contains(chip.element)) {\n this.activeItem.set(chip);\n this.#moveStop(chip);\n }\n }\n\n resync(): void {\n this.#settled = false;\n this.#scheduleRefresh();\n }\n\n resetStop(): void {\n this.activeItem.set(null);\n this.#moveStop(untracked(this.#stop));\n }\n\n handleFocusout($event: FocusEvent): void {\n const chip = this.#focusedItem;\n if (!chip) {\n return;\n }\n if ($event.relatedTarget) {\n this.#focusedItem = null;\n return;\n }\n queueMicrotask(() => {\n if (this.#focusedItem === chip && chip.element.isConnected && chip.element.ownerDocument.hasFocus()) {\n this.#focusedItem = null;\n }\n });\n }\n\n #scheduleRefresh(): void {\n if (this.#scheduled || this.#destroyRef.destroyed) {\n return;\n }\n this.#scheduled = true;\n afterNextRender(\n {\n mixedReadWrite: () => {\n this.#scheduled = false;\n this.#refresh();\n }\n },\n { injector: this.#injector }\n );\n }\n\n #refresh(): void {\n const host = this.#host();\n if (!host) {\n return;\n }\n const previous = this.#snapshot;\n const items = this.#updateOrder();\n this.#snapshot = items;\n\n if (this.#settled) {\n this.#announce(host, previous, items);\n }\n\n this.#reconcileActive(items, previous);\n this.#restoreFocus(host, items, previous);\n this.#warnUnidentified(items);\n this.#settled = true;\n }\n\n #updateOrder(): ChipComponent[] {\n const element = this.#host()?.element;\n const items = [...this.#registry]\n .filter((chip) => !!element?.contains(chip.element))\n .sort((a, b) => (a.element.compareDocumentPosition(b.element) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1));\n const current = untracked(this.orderedItems);\n if (items.length !== current.length || items.some((chip, index) => chip !== current[index])) {\n this.orderedItems.set(items);\n }\n return items;\n }\n\n #announce(host: ChipSetHost, previous: ChipComponent[], current: ChipComponent[]): void {\n const element = host.element;\n if (!element.isConnected || (typeof element.checkVisibility === 'function' && !element.checkVisibility())) {\n return;\n }\n const added = this.#difference(current, previous)[0];\n const removed = this.#difference(previous, current)[0];\n const message = added\n ? added.text() && `${added.text()} ${host.ariaAddedAnnouncement()}`\n : removed?.text() && `${removed.text()} ${host.ariaRemovedAnnouncement()}`;\n if (message) {\n this.#announcer.announce(message, { context: element });\n }\n }\n\n #difference(from: ChipComponent[], subtract: ChipComponent[]): ChipComponent[] {\n const counts = new Map<string, number>();\n subtract.forEach((chip) => counts.set(chip.identity(), (counts.get(chip.identity()) ?? 0) + 1));\n return from.filter((chip) => {\n const count = counts.get(chip.identity()) ?? 0;\n counts.set(chip.identity(), count - 1);\n return count <= 0;\n });\n }\n\n #reconcileActive(items: ChipComponent[], previous: ChipComponent[]): void {\n const active = untracked(this.activeItem);\n if (active && !items.includes(active)) {\n this.activeItem.set(this.#replacement(active, items, previous));\n }\n const stop = untracked(this.#stop);\n if (stop) {\n this.#keyManager.updateActiveItem(stop);\n }\n }\n\n #restoreFocus(host: ChipSetHost, items: ChipComponent[], previous: ChipComponent[]): void {\n const removed = this.#focusedItem;\n if (!removed || items.includes(removed)) {\n return;\n }\n this.#focusedItem = null;\n const active = removed.element.ownerDocument.activeElement;\n const focusLost = !active || active === removed.element.ownerDocument.body || removed.element.contains(active);\n if (!focusLost) {\n return;\n }\n const target = this.#replacement(removed, items, previous);\n if (target) {\n this.activeItem.set(target);\n this.#keyManager.updateActiveItem(target);\n target.element.setAttribute('tabindex', '0');\n target.focus();\n return;\n }\n host.focusFallback();\n }\n\n #replacement(removed: ChipComponent, items: ChipComponent[], previous: ChipComponent[]): ChipComponent | null {\n const identity = removed.identity();\n const twin = items.find((chip) => chip.identity() === identity && chip.focusable() && !previous.includes(chip));\n if (twin) {\n return twin;\n }\n const index = previous.indexOf(removed);\n for (let i = index + 1; i < previous.length; i++) {\n if (items.includes(previous[i]) && previous[i].focusable()) {\n return previous[i];\n }\n }\n for (let i = index - 1; i >= 0; i--) {\n if (items.includes(previous[i]) && previous[i].focusable()) {\n return previous[i];\n }\n }\n return null;\n }\n\n #nearestFocusable(items: ChipComponent[], index: number): ChipComponent | null {\n return (\n items.slice(index + 1).find((chip) => chip.focusable()) ??\n items\n .slice(0, index)\n .reverse()\n .find((chip) => chip.focusable()) ??\n null\n );\n }\n\n #initialStop(items: ChipComponent[]): ChipComponent | null {\n const focusable = items.filter((chip) => chip.focusable());\n if (this.#host()?.initialStop === 'last') {\n return focusable.at(-1) ?? null;\n }\n return focusable.find((chip) => this.isSelected(chip.identity())) ?? focusable[0] ?? null;\n }\n\n #lastFocusable(): ChipComponent | null {\n return (\n this.#updateOrder()\n .filter((chip) => chip.focusable())\n .at(-1) ?? null\n );\n }\n\n #provisionalStop(): ChipComponent | null {\n const host = this.#host();\n if (!host || host.initialStop === 'last') {\n return null;\n }\n for (const chip of this.#registry) {\n if (chip.focusable() && host.element.contains(chip.element)) {\n return chip;\n }\n }\n return null;\n }\n\n #moveStop(stop: ChipComponent | null): void {\n [...this.#registry]\n .filter((item) => item !== stop && item.element.getAttribute('tabindex') === '0')\n .forEach((item) => item.element.setAttribute('tabindex', '-1'));\n if (stop) {\n stop.element.setAttribute('tabindex', '0');\n this.#keyManager.updateActiveItem(stop);\n }\n }\n\n #chipContaining(target: EventTarget | null): ChipComponent | null {\n if (!(target instanceof Node)) {\n return null;\n }\n return [...this.#registry].find((chip) => chip.element.contains(target)) ?? null;\n }\n\n #warnUnidentified(items: ChipComponent[]): void {\n for (const chip of items) {\n if (\n !this.#warned.has(chip) &&\n (chip.isSelectable() || chip.isRemovable()) &&\n chip.value() === undefined &&\n !chip.text()\n ) {\n this.#warned.add(chip);\n console.warn('CoreUI [c-chip] without text needs a value to be selected or removed in a chip set');\n }\n }\n }\n}\n","import {\n AfterContentInit,\n booleanAttribute,\n Component,\n computed,\n contentChildren,\n ElementRef,\n inject,\n input,\n model,\n numberAttribute,\n output,\n signal,\n viewChild\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { AsyncValidator, NG_ASYNC_VALIDATORS, NG_VALIDATORS, NgModel, Validator } from '@angular/forms';\nimport { take } from 'rxjs';\nimport { ChipComponent } from '../chip/chip.component';\nimport { ChipSetRef } from '../chip/chip-set-ref';\nimport { ChipSetService } from '../chip-set/chip-set.service';\nimport { RtlService } from '../services/rtl.service';\nimport { UIDService } from '../services/uid.service';\n\n@Component({\n selector: 'c-chip-input',\n exportAs: 'cChipInput',\n templateUrl: './chip-input.component.html',\n imports: [ChipComponent],\n providers: [ChipSetService, { provide: ChipSetRef, useExisting: ChipSetService }],\n host: {\n class: 'chip-input',\n '[class]': 'hostClasses()',\n '[attr.id]': 'null',\n '[attr.aria-describedby]': 'null',\n '[attr.aria-label]': 'null',\n '[attr.aria-labelledby]': 'null',\n '(click)': 'onClick($event)',\n '(mousedown)': 'onMousedown($event)',\n '(keydown)': 'onKeydown($event)',\n '(focusin)': 'onFocusin($event)',\n '(focusout)': 'onFocusout($event)'\n }\n})\nexport class ChipInputComponent implements AfterContentInit {\n readonly #elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n readonly #ngModel = inject(NgModel, { self: true, optional: true });\n readonly #asyncValidators = inject<(AsyncValidator | unknown)[]>(NG_ASYNC_VALIDATORS, { self: true, optional: true });\n readonly #validators = inject<(Validator | unknown)[]>(NG_VALIDATORS, { self: true, optional: true });\n readonly #rtl = inject(RtlService);\n readonly #service = inject(ChipSetService);\n\n readonly field = viewChild.required<ElementRef<HTMLInputElement>>('field');\n readonly projectedChips = contentChildren(ChipComponent);\n\n /**\n * Wording announced to screen readers after a chip is added; the chip value is prepended.\n * @returns string\n * @default 'added'\n */\n readonly ariaAddedAnnouncement = input('added');\n\n /**\n * Id of the element that describes the text field, e.g. a hint or a `c-form-feedback`.\n * @returns string | undefined\n * @default undefined\n */\n readonly ariaDescribedBy = input<string>(undefined, { alias: 'aria-describedby' });\n\n /**\n * Accessible name of the text field when there is no visible label.\n * @returns string | undefined\n * @default undefined\n */\n readonly ariaLabel = input<string>(undefined, { alias: 'aria-label' });\n\n /**\n * Id of the element that names the text field.\n * @returns string | undefined\n * @default undefined\n */\n readonly ariaLabelledBy = input<string>(undefined, { alias: 'aria-labelledby' });\n\n /**\n * Label of the remove buttons; each chip appends its value, e.g. `'Remove Angular'`.\n * @returns string\n * @default 'Remove'\n */\n readonly ariaRemoveLabel = input('Remove');\n\n /**\n * Wording announced to screen readers after a chip is removed; the chip value is prepended.\n * @returns string\n * @default 'removed'\n */\n readonly ariaRemovedAnnouncement = input('removed');\n\n /**\n * Extra class for every chip, or a function that returns the class for a chip value.\n * @returns string | ((value: string) => string) | undefined\n * @default undefined\n */\n readonly chipClassName = input<string | ((value: string) => string)>();\n\n /**\n * Turns the text left in the field into a chip when focus leaves the component.\n * @returns boolean\n * @default true\n */\n readonly createOnBlur = input(true, { transform: booleanAttribute });\n\n /**\n * Disables the field and every chip.\n * @returns boolean\n * @default false\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n /**\n * Makes the chips filter chips: selectable, with a check icon while selected.\n * @returns boolean\n * @default false\n */\n readonly filter = input(false, { transform: booleanAttribute });\n\n /**\n * Id of the text field, the target of an external `<label for>`.\n * @returns string\n * @default generated\n */\n readonly id = input(inject(UIDService).getUID('chip-input'));\n\n /**\n * Set by the form when the value is invalid; shown once the control is touched.\n * @returns boolean\n * @default false\n */\n readonly invalid = input(false, { transform: booleanAttribute });\n\n /**\n * Renders an inline label inside the Angular Chip Input component container.\n * @returns string | undefined\n * @default undefined\n */\n readonly label = input<string>();\n\n /**\n * Maximum number of chips; `null` for no limit.\n * @returns number | null\n * @default null\n */\n readonly maxChips = input<number | null, unknown>(null, {\n transform: (value: unknown) => {\n const maxChips = numberAttribute(value);\n return Number.isNaN(maxChips) ? null : maxChips;\n }\n });\n\n /**\n * Placeholder of the text field.\n * @returns string\n * @default ''\n */\n readonly placeholder = input('');\n\n /**\n * Keeps the chips visible but blocks adding, removing and selecting them.\n * @returns boolean\n * @default false\n */\n readonly readonly = input(false, { transform: booleanAttribute });\n\n /**\n * Shows remove buttons on the chips.\n * @returns boolean\n * @default true\n */\n readonly removable = input(true, { transform: booleanAttribute });\n\n /**\n * Set by the form when a value is required; adds `aria-required` to the text field.\n * @returns boolean\n * @default false\n */\n readonly required = input(false, { transform: booleanAttribute });\n\n /**\n * Makes the chips selectable.\n * @returns boolean\n * @default false\n */\n readonly selectable = input(false, { transform: booleanAttribute });\n\n /**\n * Values of the selected chips, two-way bindable with `[(selected)]`.\n * @returns string[]\n * @default []\n */\n readonly selected = model<string[]>([]);\n\n /**\n * Sets how many chips can be selected at once.\n * @returns 'single' | 'multiple'\n * @default 'multiple'\n */\n readonly selectionMode = input<'single' | 'multiple'>('multiple');\n\n /**\n * Character that splits typed or pasted text into chips; `null` turns splitting off.\n * @returns string | null\n * @default ','\n */\n readonly separator = input<string | null>(',');\n\n /**\n * Size of the component.\n * @returns 'sm' | 'lg' | undefined\n * @default undefined\n */\n readonly size = input<'sm' | 'lg'>();\n\n /**\n * Set by the form once the control has been touched.\n * @returns boolean\n * @default false\n */\n readonly touched = input(false, { transform: booleanAttribute });\n\n /**\n * Validation state set by the page; it wins over the state reported by the form.\n * @returns 'valid' | 'invalid' | undefined\n * @default undefined\n */\n readonly validationState = input<'valid' | 'invalid'>();\n\n /**\n * Chip values, two-way bindable with `[(value)]` or bound by a form.\n * @returns string[]\n * @default []\n */\n readonly value = model<string[]>([]);\n\n /**\n * Emits the value of a chip added by the user.\n * @returns string\n */\n readonly add = output<string>();\n\n /**\n * Emits the text of the field when it changes.\n * @returns string\n */\n readonly inputChange = output<string>();\n\n /**\n * Emits the value of a chip removed by the user.\n * @returns string\n */\n readonly remove = output<string>();\n\n /**\n * Emits when focus leaves the component.\n */\n readonly touch = output<void>();\n\n readonly text = signal('');\n\n readonly items = computed(() => [\n ...new Set((this.value() ?? []).map((value) => String(value).trim()).filter(Boolean))\n ]);\n\n readonly canAdd = computed(() => {\n const maxChips = this.maxChips();\n return maxChips === null || this.items().length < maxChips;\n });\n\n readonly state = computed(() => this.validationState() ?? (this.invalid() && this.touched() ? 'invalid' : undefined));\n\n readonly fieldSize = computed(() => Math.max(this.placeholder().length, this.text().length, 1));\n\n readonly hostClasses = computed(() => ({\n [`chip-input-${this.size()}`]: !!this.size(),\n disabled: this.disabled(),\n 'is-invalid': this.state() === 'invalid',\n 'is-valid': this.state() === 'valid'\n }));\n\n constructor() {\n this.#service.attach({\n ariaAddedAnnouncement: this.ariaAddedAnnouncement,\n ariaRemoveLabel: this.ariaRemoveLabel,\n ariaRemovedAnnouncement: this.ariaRemovedAnnouncement,\n disabled: this.disabled,\n element: this.#elementRef.nativeElement,\n filter: this.filter,\n initialStop: 'last',\n isListbox: computed(() => false),\n readonly: this.readonly,\n removable: computed(() => this.removable() && !this.disabled() && !this.readonly()),\n removeIcon: computed(() => undefined),\n selectable: this.selectable,\n selected: this.selected,\n selectedIcon: computed(() => undefined),\n selectionMode: this.selectionMode,\n focusFallback: () => this.focus(),\n removeRequested: (value) => this.#removeChip(value)\n });\n this.#attachValidators();\n this.#ngModel?.control.valueChanges.pipe(take(1), takeUntilDestroyed()).subscribe(() => this.#service.resync());\n }\n\n ngAfterContentInit(): void {\n this.#watchValidators();\n if (this.projectedChips().length > 0) {\n console.warn('CoreUI [c-chip] placed inside c-chip-input is ignored - chips come from its value');\n }\n }\n\n focus(): void {\n this.field().nativeElement.focus();\n }\n\n chipClass(value: string): string | null {\n const className = this.chipClassName();\n return (typeof className === 'function' ? className(value) : className) ?? null;\n }\n\n onClick($event: MouseEvent): void {\n if ($event.target === this.#elementRef.nativeElement) {\n this.focus();\n }\n }\n\n onMousedown($event: MouseEvent): void {\n const target = $event.target as Element;\n if (target === this.#elementRef.nativeElement || target.closest?.('.chip-input-label')) {\n $event.preventDefault();\n }\n }\n\n onKeydown($event: KeyboardEvent): void {\n if ($event.target === this.field().nativeElement) {\n return;\n }\n const intoField = this.#isRtl() ? 'ArrowLeft' : 'ArrowRight';\n if ($event.key === intoField && this.#service.isLastFocusable($event.target)) {\n $event.preventDefault();\n this.focus();\n return;\n }\n this.#service.handleKeydown($event);\n if (!$event.defaultPrevented && this.#isPrintable($event)) {\n this.focus();\n }\n }\n\n onFocusin($event: FocusEvent): void {\n this.#service.handleFocusin($event);\n if ($event.target === this.field().nativeElement) {\n this.#service.resetStop();\n if (!this.readonly() && this.selected().length > 0) {\n this.selected.set([]);\n }\n }\n }\n\n onFocusout($event: FocusEvent): void {\n this.#service.handleFocusout($event);\n const next = $event.relatedTarget;\n if (next) {\n if (!this.#contains(next)) {\n this.#leave();\n }\n return;\n }\n const target = $event.target as Node;\n queueMicrotask(() => {\n const document = target.ownerDocument;\n if (target.isConnected && document?.hasFocus() && !this.#contains(document.activeElement)) {\n this.#leave();\n }\n });\n }\n\n onFieldInput($event: Event): void {\n const value = ($event.target as HTMLInputElement).value;\n const separator = this.separator();\n if (separator && value.includes(separator) && this.canAdd()) {\n const parts = value.split(separator);\n const left = this.#addChips(parts.slice(0, -1));\n this.#setText([...left, parts.at(-1) ?? ''].join(separator));\n return;\n }\n this.#setText(value);\n }\n\n onFieldKeydown($event: KeyboardEvent): void {\n if ($event.isComposing || $event.keyCode === 229) {\n return;\n }\n const field = this.field().nativeElement;\n switch ($event.key) {\n case 'Enter': {\n $event.preventDefault();\n this.#createFromText();\n break;\n }\n case 'Backspace':\n case 'Delete': {\n if (this.text() === '' && !$event.repeat && this.#service.focusLast()) {\n $event.preventDefault();\n }\n break;\n }\n case 'ArrowLeft':\n case 'ArrowRight': {\n const towardChips = this.#isRtl() ? 'ArrowRight' : 'ArrowLeft';\n if (\n $event.key === towardChips &&\n field.selectionStart === 0 &&\n field.selectionEnd === 0 &&\n this.#service.focusLast()\n ) {\n $event.preventDefault();\n }\n break;\n }\n case 'Escape': {\n this.#setText('');\n field.blur();\n break;\n }\n }\n }\n\n onFieldPaste($event: ClipboardEvent): void {\n const separator = this.separator();\n const pasted = $event.clipboardData?.getData('text') ?? '';\n if (this.disabled() || this.readonly() || !separator || !pasted.includes(separator) || !this.canAdd()) {\n return;\n }\n $event.preventDefault();\n const field = this.field().nativeElement;\n const start = field.selectionStart ?? field.value.length;\n const end = field.selectionEnd ?? start;\n const text = field.value.slice(0, start) + pasted + field.value.slice(end);\n this.#setText(this.#addChips(text.split(separator)).join(separator));\n }\n\n #attachValidators(): void {\n const control = this.#ngModel?.control;\n const validator = this.#ngModel?.validator;\n const asyncValidator = this.#ngModel?.asyncValidator;\n if (validator && control && !control.hasValidator(validator)) {\n control.addValidators(validator);\n }\n if (asyncValidator && control && !control.hasAsyncValidator(asyncValidator)) {\n control.addAsyncValidators(asyncValidator);\n }\n }\n\n #watchValidators(): void {\n const control = this.#ngModel?.control;\n if (!control) {\n return;\n }\n for (const item of [...(this.#validators ?? []), ...(this.#asyncValidators ?? [])]) {\n (item as Validator | AsyncValidator).registerOnValidatorChange?.(() => control.updateValueAndValidity());\n }\n }\n\n #leave(): void {\n if (this.createOnBlur()) {\n this.#createFromText();\n }\n this.touch.emit();\n }\n\n #createFromText(): void {\n const separator = this.separator();\n const text = this.text();\n const count = this.items().length;\n const left = this.#addChips(separator ? text.split(separator) : [text]);\n if (this.items().length > count) {\n this.#setText(left.join(separator ?? ''));\n }\n }\n\n #addChips(values: string[]): string[] {\n if (this.disabled() || this.readonly()) {\n return values;\n }\n const maxChips = this.maxChips();\n const next = [...this.items()];\n const added: string[] = [];\n const left: string[] = [];\n for (const raw of values) {\n const value = raw.trim();\n if (!value || next.includes(value)) {\n continue;\n }\n if (maxChips !== null && next.length >= maxChips) {\n left.push(raw);\n continue;\n }\n next.push(value);\n added.push(value);\n }\n if (added.length > 0) {\n this.value.set(next);\n added.forEach((value) => this.add.emit(value));\n }\n return left;\n }\n\n #removeChip(value: string): void {\n if (this.disabled() || this.readonly() || !this.items().includes(value)) {\n return;\n }\n this.value.set(this.items().filter((item) => item !== value));\n if (this.selected().includes(value)) {\n this.selected.set(this.selected().filter((item) => item !== value));\n }\n this.remove.emit(value);\n }\n\n #setText(value: string): void {\n const field = this.field().nativeElement;\n if (field.value !== value) {\n field.value = value;\n }\n if (this.text() !== value) {\n this.text.set(value);\n this.inputChange.emit(value);\n }\n }\n\n #contains(target: EventTarget | null): boolean {\n return target instanceof Node && this.#elementRef.nativeElement.contains(target);\n }\n\n #isPrintable($event: KeyboardEvent): boolean {\n return $event.key?.length === 1 && !$event.metaKey && (!$event.ctrlKey || $event.altKey);\n }\n\n #isRtl(): boolean {\n return this.#rtl.isRTL(this.#elementRef.nativeElement);\n }\n}\n","@if (label(); as label) {\n <label class=\"chip-input-label\" [for]=\"id()\">{{ label }}</label>\n}\n@for (item of items(); track item) {\n <c-chip [class]=\"chipClass(item)\" [value]=\"item\">{{ item }}</c-chip>\n}\n<input\n #field\n type=\"text\"\n class=\"chip-input-field\"\n [attr.aria-describedby]=\"ariaDescribedBy() ?? null\"\n [attr.aria-invalid]=\"state() === 'invalid' ? 'true' : null\"\n [attr.aria-label]=\"ariaLabel() ?? null\"\n [attr.aria-labelledby]=\"ariaLabelledBy() ?? null\"\n [attr.aria-required]=\"required() ? 'true' : null\"\n [attr.size]=\"fieldSize()\"\n [disabled]=\"disabled()\"\n [id]=\"id()\"\n [placeholder]=\"placeholder()\"\n [readOnly]=\"readonly() && !disabled()\"\n (input)=\"onFieldInput($event)\"\n (keydown)=\"onFieldKeydown($event)\"\n (paste)=\"onFieldPaste($event)\"\n/>\n","import { NgModule } from '@angular/core';\nimport { ChipInputComponent } from './chip-input.component';\n\n@NgModule({\n imports: [ChipInputComponent],\n exports: [ChipInputComponent]\n})\nexport class ChipInputModule {}\n","import {\n booleanAttribute,\n Component,\n computed,\n ElementRef,\n inject,\n input,\n model,\n output,\n signal,\n TemplateRef\n} from '@angular/core';\nimport { ChipComponent } from '../chip/chip.component';\nimport { ChipSetRef } from '../chip/chip-set-ref';\nimport { optionalNumberAttribute } from '../chip/chip.utils';\nimport { ChipSetService } from './chip-set.service';\nimport { ChipItem } from './chip-set.types';\n\n@Component({\n selector: 'c-chip-set',\n exportAs: 'cChipSet',\n templateUrl: './chip-set.component.html',\n imports: [ChipComponent],\n providers: [ChipSetService, { provide: ChipSetRef, useExisting: ChipSetService }],\n host: {\n class: 'chip-set',\n '[class.disabled]': 'disabled()',\n '[attr.role]': 'roleAttr()',\n '[attr.aria-orientation]': 'isListbox() ? \"horizontal\" : null',\n '[attr.aria-multiselectable]': 'isListbox() && selectionMode() === \"multiple\" ? \"true\" : null',\n '[attr.aria-disabled]': 'ariaDisabled()',\n '[attr.tabindex]': 'tabIndex()',\n '(keydown)': 'onKeydown($event)',\n '(focusin)': 'onFocusin($event)',\n '(focusout)': 'onFocusout($event)'\n }\n})\nexport class ChipSetComponent {\n readonly #elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n readonly #service = inject(ChipSetService);\n\n /**\n * Wording announced to screen readers after a chip is added; the chip text is prepended.\n * @returns string\n * @default 'added'\n */\n readonly ariaAddedAnnouncement = input('added');\n\n /**\n * Label of the remove buttons; each chip appends its text, e.g. `'Remove Angular'`.\n * Chips in a selectable set have no remove buttons for assistive technology: removal runs from the chip itself.\n * @returns string\n * @default 'Remove'\n */\n readonly ariaRemoveLabel = input('Remove');\n\n /**\n * Wording announced to screen readers after a chip is removed; the chip text is prepended.\n * @returns string\n * @default 'removed'\n */\n readonly ariaRemovedAnnouncement = input('removed');\n\n /**\n * Chips rendered from data, as values or `ChipItem` objects. The set never changes the list itself:\n * it emits `chipsChange` without the removed chip, so `[(chips)]` removes it and `[chips]` with `(remove)` lets\n * the parent decide.\n * @returns (string | ChipItem)[] | undefined\n * @default undefined\n */\n readonly chips = input<(string | ChipItem)[]>();\n\n /**\n * Disables the set and every chip that does not set `disabled` itself.\n * @returns boolean\n * @default false\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n /**\n * Makes the chips filter chips: selectable, with a check icon while selected.\n * @returns boolean\n * @default false\n */\n readonly filter = input(false, { transform: booleanAttribute });\n\n /**\n * Shows remove buttons on the chips.\n * @returns boolean\n * @default false\n */\n readonly removable = input(false, { transform: booleanAttribute });\n\n /**\n * Replaces the default remove icon of the chips.\n * @returns TemplateRef<unknown> | undefined\n * @default undefined\n */\n readonly removeIcon = input<TemplateRef<unknown>>();\n\n /**\n * Overrides the role of the set: `listbox` when selectable, otherwise `group`.\n * A selectable set needs an accessible name, e.g. `aria-label` or `aria-labelledby`.\n * @returns string | undefined\n * @default undefined\n */\n readonly role = input<string>();\n\n /**\n * Makes the chips selectable.\n * @returns boolean\n * @default false\n */\n readonly selectable = input(false, { transform: booleanAttribute });\n\n /**\n * Values of the selected chips, two-way bindable with `[(selected)]`. A one-way `[selected]` applies every new value\n * from the parent, but the parent does not learn about selection changes made by the user.\n * @returns string[]\n * @default []\n */\n readonly selected = model<string[]>([]);\n\n /**\n * Replaces the default check icon of the selected filter chips.\n * @returns TemplateRef<unknown> | undefined\n * @default undefined\n */\n readonly selectedIcon = input<TemplateRef<unknown>>();\n\n /**\n * Sets how many chips can be selected at once.\n * @returns 'single' | 'multiple'\n * @default 'multiple'\n */\n readonly selectionMode = input<'single' | 'multiple'>('multiple');\n\n /**\n * Tab index of the set host. Without it the set takes `-1` only while it holds focus after its last chip is removed.\n * @returns number | undefined\n * @default undefined\n */\n readonly tabindex = input<number | undefined, unknown>(undefined, { transform: optionalNumberAttribute });\n\n /**\n * Emits the chip list without the chip whose removal was requested, for `[(chips)]`.\n * @returns (string | ChipItem)[]\n */\n readonly chipsChange = output<(string | ChipItem)[]>();\n\n /**\n * Emits the value of the chip whose removal was requested.\n * @returns string\n */\n readonly remove = output<string>();\n\n readonly #holdsFallbackFocus = signal(false);\n\n readonly items = computed(() => {\n const seen = new Set<string>();\n return (this.chips() ?? [])\n .map((chip) => (typeof chip === 'string' ? { value: chip } : chip))\n .filter((chip) => !seen.has(chip.value) && !!seen.add(chip.value));\n });\n\n readonly isListbox = computed(() => this.roleAttr() === 'listbox');\n\n readonly roleAttr = computed(() => this.role() ?? (this.selectable() || this.filter() ? 'listbox' : 'group'));\n\n readonly ariaDisabled = computed(() => {\n const role = this.roleAttr();\n return this.disabled() && role !== 'none' && role !== 'presentation' ? 'true' : null;\n });\n\n readonly tabIndex = computed(() => this.tabindex() ?? (this.#holdsFallbackFocus() ? -1 : null));\n\n constructor() {\n this.#service.attach({\n ariaAddedAnnouncement: this.ariaAddedAnnouncement,\n ariaRemoveLabel: this.ariaRemoveLabel,\n ariaRemovedAnnouncement: this.ariaRemovedAnnouncement,\n disabled: this.disabled,\n element: this.#elementRef.nativeElement,\n filter: this.filter,\n initialStop: 'first',\n isListbox: this.isListbox,\n removable: this.removable,\n removeIcon: this.removeIcon,\n selectable: this.selectable,\n selected: this.selected,\n selectedIcon: this.selectedIcon,\n selectionMode: this.selectionMode,\n focusFallback: () => this.#focusHost(),\n removeRequested: (identity) => this.#removeRequested(identity)\n });\n }\n\n onKeydown($event: KeyboardEvent): void {\n this.#service.handleKeydown($event);\n }\n\n onFocusin($event: FocusEvent): void {\n this.#service.handleFocusin($event);\n }\n\n onFocusout($event: FocusEvent): void {\n this.#service.handleFocusout($event);\n const next = $event.relatedTarget as Node | null;\n if (!next || !this.#elementRef.nativeElement.contains(next)) {\n this.#holdsFallbackFocus.set(false);\n }\n }\n\n #focusHost(): void {\n const element = this.#elementRef.nativeElement;\n this.#holdsFallbackFocus.set(true);\n element.setAttribute('tabindex', String(this.tabindex() ?? -1));\n element.focus();\n }\n\n #removeRequested(identity: string): void {\n this.remove.emit(identity);\n const chips = this.chips();\n const next = chips?.filter((chip) => (typeof chip === 'string' ? chip : chip.value) !== identity);\n if (next && next.length !== chips?.length) {\n this.chipsChange.emit(next);\n }\n }\n}\n","@for (item of items(); track item.value) {\n <c-chip\n [active]=\"item.active\"\n [ariaRemoveLabel]=\"item.ariaRemoveLabel\"\n [clickable]=\"item.clickable\"\n [color]=\"item.color\"\n [disabled]=\"item.disabled\"\n [filter]=\"item.filter\"\n [removable]=\"item.removable\"\n [selectable]=\"item.selectable\"\n [size]=\"item.size\"\n [value]=\"item.value\"\n [variant]=\"item.variant\"\n >{{ item.label ?? item.value }}</c-chip\n >\n}\n<ng-content />\n","import { NgModule } from '@angular/core';\nimport { ChipComponent } from '../chip/chip.component';\nimport { ChipSetComponent } from './chip-set.component';\n\n@NgModule({\n imports: [ChipComponent, ChipSetComponent],\n exports: [ChipComponent, ChipSetComponent]\n})\nexport class ChipSetModule {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cDropdownDivider]',\n host: { class: 'dropdown-divider' }\n})\nexport class DropdownDividerDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cDropdownHeader]',\n host: { class: 'dropdown-header' }\n})\nexport class DropdownHeaderDirective {}\n","import { Injectable, signal } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { DropdownAlignment } from '../coreui.types';\n\nexport interface IDropdownState {\n visible?: boolean | 'toggle';\n dropdown?: any;\n focus?: 'first' | 'last';\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DropdownService {\n readonly #dropdownState = new BehaviorSubject<any>({});\n readonly dropdownState$ = this.#dropdownState.asObservable();\n\n readonly alignment = signal<DropdownAlignment | undefined>(undefined);\n readonly popper = signal(true);\n\n toggle(state: IDropdownState): void {\n this.#dropdownState.next(state);\n }\n}\n","const REPLAY_EVENT_PHASE = 101;\n\n/**\n * Whether Angular is replaying the event after hydration (`EventPhase.REPLAY`); such an event cannot be prevented.\n */\nexport const isReplayedEvent = (event: Event): boolean => event.eventPhase === REPLAY_EVENT_PHASE;\n\nconst FORM_CONTROL_SELECTOR =\n 'input:not([type=\"button\"]):not([type=\"image\"]):not([type=\"reset\"]):not([type=\"submit\"]), select, textarea';\n\n/**\n * Whether the event target types or selects natively, so dropdown key handling must leave it alone.\n */\nexport const isEditableTarget = (target: EventTarget | null): boolean => {\n if (!(target instanceof Element)) {\n return false;\n }\n if (target.closest(FORM_CONTROL_SELECTOR)) {\n return true;\n }\n for (\n let host = target.closest('[contenteditable]');\n host;\n host = host.parentElement?.closest('[contenteditable]') ?? null\n ) {\n const value = host.getAttribute('contenteditable')?.toLowerCase();\n if (value === '' || value === 'true' || value === 'plaintext-only') {\n return true;\n }\n if (value === 'false') {\n return false;\n }\n }\n return false;\n};\n\n/**\n * Whether the element dispatches a native click on Enter.\n */\nexport const clicksOnEnter = (element: Element): boolean =>\n element instanceof HTMLButtonElement ||\n (element instanceof HTMLInputElement && /^(button|image|reset|submit)$/.test(element.type)) ||\n (element instanceof HTMLAnchorElement && element.hasAttribute('href')) ||\n element.tagName === 'SUMMARY';\n\n/**\n * Whether the element dispatches a native click on Space.\n */\nexport const clicksOnSpace = (element: Element): boolean =>\n element instanceof HTMLButtonElement ||\n (element instanceof HTMLInputElement && /^(button|checkbox|image|radio|reset|submit)$/.test(element.type)) ||\n element.tagName === 'SUMMARY';\n","/**\n * Returns focus after an overlay closes: to the first candidate that takes it, without scrolling by default.\n * Does nothing when focus has already moved to an element outside the overlay; skips candidates inside the overlay.\n * Focus is read in the root of the overlay and of each candidate, so an overlay in a shadow root holds its own focus.\n * @param overlay the closing overlay host\n * @param candidates focus targets in order of preference, e.g. the opening toggle, then the element focused at open\n * @param focus moves focus to a candidate, by default `focus({ preventScroll: true })`\n * @returns whether a candidate took focus\n */\nexport const restoreFocus = (\n overlay: HTMLElement,\n candidates: readonly (HTMLElement | null | undefined)[],\n focus: (target: HTMLElement) => void = (target) => target.focus({ preventScroll: true })\n): boolean => {\n const document = overlay.ownerDocument;\n const held = (overlay.getRootNode() as Document | ShadowRoot).activeElement;\n const active = document.activeElement;\n if (!(held && overlay.contains(held)) && active && active !== document.body) {\n return false;\n }\n for (const target of candidates) {\n if (target?.isConnected && !overlay.contains(target)) {\n focus(target);\n if ((target.getRootNode() as Document | ShadowRoot).activeElement === target) {\n return true;\n }\n }\n }\n return false;\n};\n","import { FocusKeyManager } from '@angular/cdk/a11y';\nimport {\n AfterContentInit,\n afterNextRender,\n booleanAttribute,\n computed,\n contentChildren,\n DestroyRef,\n Directive,\n ElementRef,\n forwardRef,\n inject,\n Injector,\n input,\n linkedSignal,\n OnInit\n} from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { tap } from 'rxjs/operators';\n\nimport { ThemeDirective } from '../../shared/theme.directive';\nimport { DropdownItemDirective } from '../dropdown-item/dropdown-item.directive';\nimport { BreakpointInfix, DropdownAlignment } from '../../coreui.types';\nimport { DropdownService } from '../dropdown.service';\nimport { clicksOnSpace, isEditableTarget, isReplayedEvent } from '../dropdown.utils';\n\n@Directive({\n selector: '[cDropdownMenu]',\n exportAs: 'cDropdownMenu',\n hostDirectives: [{ directive: ThemeDirective, inputs: ['dark'] }],\n host: {\n class: 'dropdown-menu',\n '[class]': 'hostClasses()',\n '[style]': 'hostStyles()',\n '[attr.data-coreui-popper]': 'dataPopper()',\n '(focusin)': 'onFocusIn($event)',\n '(keydown)': 'onKeyDown($event)'\n }\n})\nexport class DropdownMenuDirective implements OnInit, AfterContentInit {\n readonly #destroyRef: DestroyRef = inject(DestroyRef);\n readonly #injector = inject(Injector);\n public readonly elementRef: ElementRef = inject(ElementRef);\n readonly #dropdownService: DropdownService = inject(DropdownService);\n #focusKeyManager!: FocusKeyManager<DropdownItemDirective>;\n\n /**\n * Set alignment of dropdown menu.\n * @returns DropdownAlignment\n */\n readonly alignment = input<DropdownAlignment>();\n\n /**\n * Toggle the visibility of dropdown menu component.\n * @returns boolean\n */\n readonly visibleInput = input(false, { transform: booleanAttribute, alias: 'visible' });\n\n readonly visible = linkedSignal({\n source: this.visibleInput,\n computation: (value) => value\n });\n\n readonly hostClasses = computed(() => {\n const visible = this.visible();\n\n return {\n 'dropdown-menu': true,\n ...alignmentClasses(this.alignment() ?? this.#dropdownService.alignment()),\n show: visible\n } as Record<string, boolean>;\n });\n\n readonly hostStyles = computed(() => {\n // workaround for popper position calculate (see also: dropdown.component)\n const visible = this.visible();\n return {\n visibility: visible ? null : '',\n display: visible ? null : ''\n } as Record<string, any>;\n });\n\n readonly dataPopper = computed(() => (this.#dropdownService.popper() ? null : 'static'));\n\n onKeyDown($event: KeyboardEvent): void {\n if (!this.visible() || isReplayedEvent($event) || isEditableTarget($event.target)) {\n return;\n }\n if ($event.code === 'ArrowDown' || ($event.code === 'Space' && !this.#clicksOnSpace($event.target))) {\n $event.preventDefault();\n }\n this.#focusKeyManager.onKeydown($event);\n }\n\n onFocusIn($event: FocusEvent): void {\n const index = this.dropdownItemsContent().findIndex((item) =>\n item.elementRef.nativeElement.contains($event.target)\n );\n if (index > -1) {\n this.#focusKeyManager.updateActiveItem(index);\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 if (state.focus && this.visible()) {\n afterNextRender(\n () =>\n state.focus === 'first'\n ? this.#focusKeyManager.setFirstItemActive()\n : this.#focusKeyManager.setLastItemActive(),\n { injector: this.#injector }\n );\n }\n }),\n takeUntilDestroyed(this.#destroyRef)\n )\n .subscribe();\n }\n\n #clicksOnSpace(target: EventTarget | null): boolean {\n return target instanceof Element && clicksOnSpace(target);\n }\n\n private focusKeyManagerInit(): void {\n this.#focusKeyManager = new FocusKeyManager(this.dropdownItemsContent())\n .withHomeAndEnd()\n .withPageUpDown()\n .withWrap()\n .skipPredicate((dropdownItem) => dropdownItem.disabled === true);\n }\n}\n\nconst alignmentClasses = (alignment?: DropdownAlignment): Record<string, boolean> => {\n if (!alignment) {\n return {};\n }\n if (typeof alignment === 'string') {\n return { [`dropdown-menu-${alignment}`]: true };\n }\n return Object.fromEntries(\n Object.entries(alignment).map(([breakpoint, direction]) => [\n `dropdown-menu${breakpoint === BreakpointInfix.xs ? '' : `-${breakpoint}`}-${direction}`,\n true\n ])\n );\n};\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport {\n afterNextRender,\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 Injector,\n input,\n linkedSignal,\n NgZone,\n OnDestroy,\n OnInit,\n output,\n Renderer2,\n signal,\n untracked\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { filter } from 'rxjs/operators';\n\nimport { createPopper, Instance, Options, Placement } from '@popperjs/core';\n\nimport { DropdownAlignment } from '../../coreui.types';\nimport { RtlService } from '../../services';\nimport { ThemeDirective } from '../../shared';\nimport { restoreFocus } from '../../shared/focus.utils';\nimport { DropdownMenuDirective } from '../dropdown-menu/dropdown-menu.directive';\nimport { DropdownService } from '../dropdown.service';\nimport { clicksOnEnter, isEditableTarget, isReplayedEvent } from '../dropdown.utils';\n\nconst FOCUSABLE_SELECTOR = 'a[href], button, input, select, textarea, [tabindex]';\nconst FORM_TAG = /^(form|input|option|select|textarea)$/;\nconst TEXT_INPUT_TYPE = /^(email|number|password|search|tel|text|url)$/;\n\n// lightweight injection token\nexport abstract class DropdownToken {}\n\n/**\n * Focus targets for every `c-dropdown` in a component's own template; provide it in that component's `viewProviders`.\n */\nexport abstract class DropdownFocusReturn {\n abstract focusReturnTargets(): readonly (HTMLElement | null | undefined)[];\n}\n\n@Directive({\n selector: '[cDropdownToggle]',\n providers: [{ provide: DropdownToken, useExisting: forwardRef(() => DropdownComponent) }],\n exportAs: 'cDropdownToggle',\n host: {\n '[class]': 'hostClasses()',\n '[aria-expanded]': 'ariaExpanded',\n '(click)': 'onClick($event)',\n '(keydown)': 'onKeyDown($event)'\n }\n})\nexport class DropdownToggleDirective implements AfterViewInit {\n public readonly elementRef = inject(ElementRef);\n readonly #renderer = inject(Renderer2);\n #dropdownService = inject(DropdownService);\n public dropdown = inject(DropdownToken, { optional: true });\n\n /**\n * Reference to dropdown component.\n * @returns DropdownComponent\n * @default undefined\n */\n readonly dropdownComponent = input<DropdownComponent>();\n\n /**\n * Disables the toggler.\n * @returns boolean\n * @default false\n */\n readonly disabled = input<boolean, unknown>(false, { transform: booleanAttribute });\n\n /**\n * Enables pseudo-element caret on toggler.\n * @returns boolean\n * @default true\n */\n readonly caret = input(true);\n\n /**\n * Create split button dropdowns with virtually the same markup as single button dropdowns,\n * but with the addition of `.dropdown-toggle-split` class for proper spacing around the dropdown caret.\n * @returns boolean\n * @default false\n */\n readonly split = input<boolean, unknown>(false, { transform: booleanAttribute });\n\n readonly hostClasses = computed(() => {\n return {\n 'dropdown-toggle': this.caret(),\n 'dropdown-toggle-split': this.split(),\n disabled: this.disabled()\n } as Record<string, boolean>;\n });\n\n readonly #ariaExpanded = computed(\n () => (this.dropdownComponent() ?? (this.dropdown as DropdownComponent | null))?.visible() ?? false\n );\n\n get ariaExpanded() {\n return this.#ariaExpanded();\n }\n\n public onClick($event: MouseEvent): void {\n $event.preventDefault();\n if (this.disabled()) {\n return;\n }\n const element: HTMLElement = this.elementRef.nativeElement;\n if (!element.contains(element.ownerDocument.activeElement)) {\n element.focus();\n }\n this.#dropdownService.toggle({ visible: 'toggle', dropdown: this.dropdown });\n }\n\n onKeyDown($event: KeyboardEvent): void {\n if (this.disabled() || isReplayedEvent($event) || isEditableTarget($event.target)) {\n return;\n }\n if ($event.repeat && $event.key === 'Enter') {\n $event.preventDefault();\n return;\n }\n const element: HTMLElement = this.elementRef.nativeElement;\n if (\n $event.target === element &&\n element.tagName === 'A' &&\n ($event.key === ' ' || ($event.key === 'Enter' && !clicksOnEnter(element)))\n ) {\n $event.preventDefault();\n if (!$event.repeat) {\n element.click();\n }\n return;\n }\n if (!['ArrowDown', 'ArrowUp'].includes($event.key)) {\n return;\n }\n $event.preventDefault();\n this.#dropdownService.toggle({\n visible: true,\n dropdown: this.dropdown,\n focus: $event.key === 'ArrowDown' ? 'first' : 'last'\n });\n }\n\n constructor() {\n const element: HTMLElement | undefined = this.elementRef.nativeElement;\n if (element?.tagName === 'A' && !element.hasAttribute('role')) {\n this.#renderer.setAttribute(element, 'role', 'button');\n }\n }\n\n ngAfterViewInit(): void {\n const dropdownComponent = this.dropdownComponent();\n if (dropdownComponent) {\n this.dropdown = dropdownComponent;\n this.#dropdownService = dropdownComponent?.dropdownService;\n dropdownComponent.toggler = this;\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 }\n})\nexport class DropdownComponent implements OnDestroy, OnInit {\n readonly #destroyRef = inject(DestroyRef);\n readonly #document = inject(DOCUMENT);\n readonly #elementRef = inject(ElementRef);\n readonly #focusReturn = inject(DropdownFocusReturn, { host: true, optional: true });\n readonly #injector = inject(Injector);\n readonly #renderer = inject(Renderer2);\n readonly #rtlService = inject(RtlService);\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. A `placement` set on the dropdown takes precedence for the menu position.\n * @returns DropdownAlignment\n */\n readonly alignment = input<DropdownAlignment>();\n\n /**\n * Configure the auto close behavior:\n * - `true` closes the dropdown on a click inside or outside the menu,\n * - `false` only on the toggle button or an explicit hide/toggle call and not on the `Esc` key,\n * - `inside` only on a click inside the menu,\n * - `outside` only on a click outside it.\n *\n * A click on a form field or inside a form in the menu does not close it; `cDropdownClose` and\n * `cDropdownItem` close it from there, but not on a click on a field that takes typing or a choice inside the item.\n * @returns boolean | 'inside' | 'outside'\n * @default true\n */\n readonly autoClose = input<boolean | 'inside' | 'outside'>(true);\n\n /**\n * Sets a specified direction and location of the dropdown menu. A `placement` set on the dropdown takes\n * precedence for the menu position.\n * @returns 'center' | 'dropup' | 'dropup-center' | 'dropend' | 'dropstart'\n */\n readonly direction = input<'center' | 'dropup' | 'dropup-center' | 'dropend' | 'dropstart'>();\n\n /**\n * Placement of the menu positioned by Popper, used as given. Without it the placement follows `direction` and the alignment\n * of the menu (its own, else this one), mirrored in a right-to-left context: `bottom-start`, or\n * `bottom-end` right to left.\n * @returns Placement\n * @default undefined\n */\n readonly placement = input<Placement>();\n\n /**\n * If you want to disable dynamic positioning set this property to `false`.\n * @returns boolean\n * @default true\n */\n readonly popper = input<boolean, unknown>(true, { transform: booleanAttribute });\n\n readonly #alignment = computed(() => this._menu()?.alignment() ?? this.alignment());\n\n readonly #popperEnabled = computed(() => this.popper() && typeof this.#alignment() !== 'object');\n\n readonly #alignmentEffect = effect(() => {\n this.dropdownService.alignment.set(this.alignment());\n });\n\n readonly #popperEnabledEffect = effect(() => {\n this.dropdownService.popper.set(this.#popperEnabled());\n });\n\n /**\n * Optional Popper.js options object; a `placement` set here is ignored, the menu placement comes\n * from `placement`, `direction` and `alignment`. See https://popper.js.org/docs/v2/constructors/#options\n * @returns Partial<Options>\n * @default {}\n */\n readonly popperOptionsInput = input<Partial<Options>>({}, { alias: 'popperOptions' });\n\n readonly #popperOptionsEffect = effect(() => {\n this.popperOptions = { ...untracked(this.#popperOptions), ...this.popperOptionsInput() };\n });\n\n set popperOptions(value: Partial<Options>) {\n this.#popperOptions.update((popperOptions) => ({ ...popperOptions, ...value }));\n }\n\n get popperOptions(): Partial<Options> {\n const placement = this.placement() ?? this.#directionPlacement();\n this.#popperOptions.update((value) => ({ ...value, placement: placement }));\n return this.#popperOptions();\n }\n\n readonly #popperOptions = signal<Partial<Options>>({\n modifiers: [],\n strategy: 'absolute'\n });\n\n /**\n * Set the dropdown variant to a btn-group, dropdown, input-group, and nav-item.\n */\n readonly variant = input<('btn-group' | 'dropdown' | 'input-group' | 'nav-item') | undefined>('dropdown');\n\n /**\n * Toggle the visibility of dropdown menu component.\n * @returns boolean\n * @default false\n */\n readonly visibleInput = input(false, { transform: booleanAttribute, alias: 'visible' });\n\n readonly visible = linkedSignal({\n source: this.visibleInput,\n computation: (value) => value\n });\n\n readonly #visibleEffect = effect(() => {\n const visible = this.visible();\n untracked(() => {\n const closed = this.activeTrap && !visible;\n this.activeTrap = visible;\n visible ? this.createPopperInstance() : this.destroyPopperInstance();\n this.setVisibleState(visible);\n this.visibleChange?.emit(visible);\n if (closed) {\n afterNextRender(() => this.#returnFocus(false), { injector: this.#injector });\n }\n });\n });\n\n /**\n * Event emitted on `visible` change.\n * @returns boolean\n */\n readonly visibleChange = output<boolean>();\n\n dropdownContext = { $implicit: this.visible() };\n readonly _toggler = contentChild(DropdownToggleDirective);\n toggler?: 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 #menuInteraction?: string;\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 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() ?? this.toggler;\n const _menu = this._menu();\n if (_toggler && _menu) {\n this.#ngZone.runOutsideAngular(() => {\n // workaround for popper position calculate (see also: dropdown-menu.component)\n _menu.elementRef.nativeElement.style.visibility = 'hidden';\n _menu.elementRef.nativeElement.style.display = 'block';\n if (this.#popperEnabled()) {\n this.popperInstance = createPopper(_toggler.elementRef.nativeElement, _menu.elementRef.nativeElement, {\n ...this.popperOptions\n });\n }\n this.#ngZone.run(() => {\n this.setListeners();\n this.#changeDetectorRef.markForCheck();\n this.#changeDetectorRef.detectChanges();\n });\n });\n }\n }\n\n destroyPopperInstance(): void {\n this.clearListeners();\n this.popperInstance?.destroy();\n this.popperInstance = undefined;\n this.#changeDetectorRef.markForCheck();\n }\n\n private setListeners(): void {\n this.#menuInteraction = undefined;\n const menu = this._menuElementRef()?.nativeElement;\n if (menu) {\n this.#ngZone.runOutsideAngular(() => {\n for (const type of ['focusin', 'keydown', 'pointerdown']) {\n this.listeners.push(this.#renderer.listen(menu, type, this.#trackMenuInteraction, { capture: true }));\n }\n });\n }\n this.listeners.push(\n this.#renderer.listen(this.#document, 'click', (event: MouseEvent) => {\n const part = this.#eventPart(event);\n if (part === 'toggler' || (part === 'menu' && this.#isFormInteraction(event))) {\n return;\n }\n const autoClose = this.autoClose();\n if (\n autoClose === true ||\n (autoClose === 'inside' && part === 'menu') ||\n (autoClose === 'outside' && part !== 'menu')\n ) {\n this.setVisibleState(false);\n }\n })\n );\n this.listeners.push(this.#renderer.listen(this.#elementRef.nativeElement, 'keydown', this.#onEscape));\n const toggler = this.#togglerElement();\n if (toggler && !this.#elementRef.nativeElement.contains(toggler)) {\n this.listeners.push(this.#renderer.listen(toggler, 'keydown', this.#onEscape));\n }\n this.listeners.push(\n this.#renderer.listen(this.#document, 'keyup', (event: KeyboardEvent) => {\n if (event.key === 'Tab' && this.autoClose() !== false && !this.#eventPart(event)) {\n this.setVisibleState(false);\n }\n })\n );\n }\n\n readonly #onEscape = (event: KeyboardEvent) => {\n if (event.key !== 'Escape' || event.defaultPrevented || this.autoClose() === false) {\n return;\n }\n event.preventDefault();\n this.setVisibleState(false);\n this.#returnFocus(true);\n };\n\n readonly #trackMenuInteraction = (event: Event) => {\n switch (event.type) {\n case 'pointerdown':\n this.#menuInteraction = (event as PointerEvent).pointerType || 'pointer';\n break;\n case 'keydown':\n this.#menuInteraction = 'keyboard';\n break;\n default:\n this.#menuInteraction ??= 'focus';\n }\n };\n\n #directionPlacement(): Placement {\n const rtl = this.#rtlService.isRTL(this.#elementRef.nativeElement);\n const end = this.#alignment() === 'end';\n switch (this.direction()) {\n case 'dropend':\n return rtl ? 'left-start' : 'right-start';\n case 'dropstart':\n return rtl ? 'right-start' : 'left-start';\n case 'center':\n return 'bottom';\n case 'dropup-center':\n return 'top';\n case 'dropup':\n return end === rtl ? 'top-start' : 'top-end';\n default:\n return end === rtl ? 'bottom-start' : 'bottom-end';\n }\n }\n\n #togglerElement(): HTMLElement | undefined {\n return (this._toggler() ?? this.toggler)?.elementRef.nativeElement;\n }\n\n #eventPart(event: Event): 'menu' | 'toggler' | undefined {\n const path = event.composedPath();\n const toggler = this.#togglerElement();\n if (toggler && path.includes(toggler)) {\n return 'toggler';\n }\n const menu = this._menuElementRef()?.nativeElement;\n return menu && path.includes(menu) ? 'menu' : undefined;\n }\n\n #isFormInteraction(event: Event): boolean {\n const path = event.composedPath();\n return path\n .slice(0, path.indexOf(this._menuElementRef()?.nativeElement) + 1)\n .some((node) => node instanceof Element && FORM_TAG.test(node.localName));\n }\n\n #returnFocus(escape: boolean): void {\n const menu: HTMLElement | undefined = this._menuElementRef()?.nativeElement;\n if (!menu || !this.#menuInteraction || !menu.ownerDocument.hasFocus()) {\n return;\n }\n restoreFocus(menu, this.#focusTargets(escape), (target) =>\n this.#injector.get(FocusMonitor).focusVia(target, 'program', { preventScroll: !escape })\n );\n }\n\n #focusTargets(escape: boolean): readonly (HTMLElement | null | undefined)[] {\n const targets = this.#focusReturn?.focusReturnTargets() ?? this.#togglerTargets(escape);\n const touch = this.#menuInteraction === 'touch' || this.#menuInteraction === 'pen';\n return touch ? targets.filter((target) => !target || !this.#opensKeyboard(target)) : targets;\n }\n\n #togglerTargets(escape: boolean): HTMLElement[] {\n const toggler = this.#togglerElement();\n if (!toggler || !escape) {\n return toggler ? [toggler] : [];\n }\n return [toggler, ...toggler.querySelectorAll<HTMLElement>(FOCUSABLE_SELECTOR)].filter(\n (candidate) => candidate === toggler || (candidate.tabIndex >= 0 && !candidate.closest('[aria-hidden=\"true\"]'))\n );\n }\n\n #opensKeyboard(target: HTMLElement): boolean {\n if (target instanceof HTMLInputElement) {\n return TEXT_INPUT_TYPE.test(target.type) && !target.readOnly;\n }\n if (target instanceof HTMLTextAreaElement) {\n return !target.readOnly;\n }\n return !(target instanceof HTMLSelectElement) && isEditableTarget(target);\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 { clicksOnEnter, isEditableTarget } from '../dropdown.utils';\nimport { DropdownComponent } from '../dropdown/dropdown.component';\n\n@Directive({\n selector: '[cDropdownItem]',\n exportAs: 'cDropdownItem',\n host: {\n class: 'dropdown-item',\n '[class]': 'hostClasses()',\n '[attr.tabindex]': 'tabIndex()',\n '[aria-current]': 'ariaCurrent()',\n '[aria-disabled]': 'disabled || null',\n '[attr.role]': 'role()',\n '(click)': 'onClick($event)',\n '(keyup)': 'onKeyUp($event)'\n }\n})\nexport class DropdownItemDirective implements FocusableOption {\n public readonly elementRef: ElementRef = inject(ElementRef);\n readonly #dropdownService = inject(DropdownService);\n dropdown? = inject(DropdownComponent, { optional: true });\n\n /**\n * Set active state to a dropdown-item.\n * @returns boolean\n * @default undefined\n */\n readonly active = input<boolean>();\n\n /**\n * Configure dropdown-item close dropdown behavior. The item does not close the dropdown on a click on a field inside\n * it that takes typing or a choice (input other than a button, select, textarea, contenteditable).\n * @returns boolean\n * @default true\n */\n readonly autoClose = input<boolean>(true);\n\n /**\n * Disables a dropdown-item.\n * @returns boolean\n * @default false\n */\n readonly disabledInput = input(false, { transform: booleanAttribute, alias: 'disabled' });\n\n readonly #disabled = linkedSignal(this.disabledInput);\n\n set disabled(value) {\n this.#disabled.set(value);\n }\n\n get disabled() {\n return this.#disabled();\n }\n\n /**\n * Role for dropdown-item.\n * @returns string\n * @default undefined\n */\n readonly role = input<string>();\n\n /**\n * Tab index of the dropdown-item.\n * @returns string | number | null\n * @default '0'\n */\n readonly tabIndexInput = input<string | number | null>('0', { alias: 'tabIndex' });\n\n readonly tabIndex = linkedSignal({\n source: this.tabIndexInput,\n computation: (value) => (this.disabled ? '-1' : value)\n });\n\n focus(origin?: FocusOrigin | undefined): void {\n this.elementRef?.nativeElement?.focus();\n }\n\n getLabel?(): string {\n return this.elementRef?.nativeElement?.textContent.trim();\n }\n\n readonly ariaCurrent = computed(() => {\n return this.active() ? 'true' : null;\n });\n\n readonly hostClasses = computed(() => {\n return {\n 'dropdown-item': true,\n active: this.active(),\n disabled: this.disabled\n } as Record<string, boolean>;\n });\n\n onClick($event: MouseEvent): void {\n if ($event.target === this.elementRef.nativeElement || !isEditableTarget($event.target)) {\n this.handleInteraction();\n }\n }\n\n onKeyUp($event: KeyboardEvent): void {\n const target = $event.target as Element;\n if ($event.key === 'Enter' && !isEditableTarget(target) && !clicksOnEnter(target)) {\n this.handleInteraction();\n }\n }\n\n private handleInteraction(): void {\n if (this.autoClose()) {\n this.#dropdownService.toggle({ visible: false, dropdown: this.dropdown });\n }\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cDropdownItemPlain]',\n host: { class: 'dropdown-item-text' }\n})\nexport class DropdownItemPlainDirective {}\n","import { AfterViewInit, booleanAttribute, Directive, inject, input, linkedSignal } from '@angular/core';\nimport { DropdownService } from '../dropdown.service';\nimport { DropdownComponent } from '../dropdown/dropdown.component';\n\n@Directive({\n selector: '[cDropdownClose]',\n exportAs: 'cDropdownClose',\n host: {\n '[class.disabled]': 'disabled()',\n '[aria-disabled]': 'disabled() || null',\n '[attr.tabindex]': 'tabIndex()',\n '(click)': 'onClick($event)',\n '(keyup)': 'onKeyUp($event)'\n }\n})\nexport class DropdownCloseDirective implements AfterViewInit {\n #dropdownService = inject(DropdownService);\n dropdown? = inject(DropdownComponent, { optional: true });\n\n /**\n * Disables a dropdown-close directive.\n * @returns boolean\n * @default false\n */\n readonly disabledInput = input(false, { transform: booleanAttribute, alias: 'disabled' });\n\n readonly disabled = linkedSignal({\n source: this.disabledInput,\n computation: (value) => value || null\n });\n\n /**\n * The dropdown component instance this cDropdownClose belongs to.\n * @returns DropdownComponent\n */\n readonly dropdownComponent = input<DropdownComponent>();\n\n ngAfterViewInit(): void {\n const dropdownComponent = this.dropdownComponent();\n if (dropdownComponent) {\n this.dropdown = dropdownComponent;\n this.#dropdownService = dropdownComponent?.dropdownService;\n }\n }\n\n /**\n * Tab index of the dropdown-close element.\n * @returns string | number | null\n * @default null\n */\n readonly tabIndexInput = input<string | number | null>(null, { alias: 'tabIndex' });\n\n readonly tabIndex = linkedSignal({\n source: this.tabIndexInput,\n computation: (value) => (this.disabled() ? '-1' : value)\n });\n\n onClick($event: MouseEvent): void {\n this.handleToggle();\n }\n\n onKeyUp($event: KeyboardEvent): void {\n if ($event.key === 'Enter') {\n this.handleToggle();\n }\n }\n\n private handleToggle(): void {\n if (!this.disabled()) {\n this.#dropdownService.toggle({ visible: false, dropdown: this.dropdown });\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { DropdownComponent, DropdownToggleDirective } from './dropdown/dropdown.component';\nimport { DropdownDividerDirective } from './dropdown-divider/dropdown-divider.directive';\nimport { DropdownHeaderDirective } from './dropdown-header/dropdown-header.directive';\nimport { DropdownItemDirective } from './dropdown-item/dropdown-item.directive';\nimport { DropdownItemPlainDirective } from './dropdown-item/dropdown-item-plain.directive';\nimport { DropdownMenuDirective } from './dropdown-menu/dropdown-menu.directive';\nimport { DropdownService } from './dropdown.service';\nimport { DropdownCloseDirective } from './dropdown-close/dropdown-close.directive';\n\n@NgModule({\n imports: [\n DropdownComponent,\n DropdownCloseDirective,\n DropdownDividerDirective,\n DropdownHeaderDirective,\n DropdownItemDirective,\n DropdownItemPlainDirective,\n DropdownMenuDirective,\n DropdownToggleDirective\n ],\n exports: [\n DropdownComponent,\n DropdownCloseDirective,\n DropdownDividerDirective,\n DropdownHeaderDirective,\n DropdownItemDirective,\n DropdownItemPlainDirective,\n DropdownMenuDirective,\n DropdownToggleDirective\n ],\n providers: [DropdownService]\n})\nexport class DropdownModule {}\n","import { Component, computed, input, InputSignal } from '@angular/core';\n\nimport { Positions } from '../coreui.types';\n\n@Component({\n selector: 'c-footer, [cFooter]',\n template: '<ng-content />',\n host: {\n class: 'footer',\n '[class]': 'hostClasses()',\n '[attr.role]': 'role()'\n }\n})\nexport class FooterComponent {\n /**\n * Place footer in non-static positions\n * @returns Positions | undefined\n */\n readonly position = input<Positions | undefined>();\n\n /**\n * Default role for footer\n * @returns string\n * @default 'contentinfo'\n */\n readonly role = input<string>('contentinfo');\n\n readonly hostClasses = computed(() => {\n const position = this.position();\n return {\n footer: true,\n [`footer-${position}`]: !!position\n } as Record<string, boolean>;\n });\n}\n","import { NgModule } from '@angular/core';\n\nimport { FooterComponent } from './footer.component';\n\n@NgModule({\n imports: [FooterComponent],\n exports: [FooterComponent]\n})\nexport class FooterModule {}\n","import { booleanAttribute, Directive, input } from '@angular/core';\n\n@Directive({\n selector: 'form[cForm]',\n host: { '[class.was-validated]': 'validated()' }\n})\nexport class FormDirective {\n /**\n * Mark a form as validated. If you set it `true`, all validation styles will be applied to the form\n * @returns boolean\n * @default false\n */\n readonly validated = input(false, { transform: booleanAttribute });\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: 'label[cFormCheckLabel]',\n host: { class: 'form-check-label' }\n})\nexport class FormCheckLabelDirective {}\n","import { 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 /**\n * Group checkboxes or radios on the same horizontal row.\n * @default false\n */\n readonly inline = input(false, { transform: booleanAttribute });\n\n /**\n * Put checkboxes or radios on the opposite side.\n * @default false\n * @since 4.4.7\n */\n readonly reverse = input(false, { transform: booleanAttribute });\n\n /**\n * Size the component large or extra large. Works only with `[switch]=\"true\"`\n * @default undefined\n */\n readonly sizing = input<'' | 'lg' | 'xl'>();\n\n /**\n * Render a toggle switch on for checkbox.\n * @returns boolean\n * @default false\n */\n readonly switch = input(false, { transform: booleanAttribute });\n\n readonly formCheckLabel = contentChild(FormCheckLabelDirective);\n\n readonly hostClasses = computed(() => {\n const sizing = this.sizing();\n const isSwitch = this.switch();\n\n return {\n 'form-check': !!this.formCheckLabel(),\n 'form-switch': isSwitch,\n [`form-switch-${sizing}`]: isSwitch && !!sizing,\n 'form-check-inline': this.inline(),\n 'form-check-reverse': this.reverse()\n } as Record<string, boolean>;\n });\n}\n","import { effect, EffectRef, ElementRef, HostAttributeToken, inject, Renderer2, Signal } from '@angular/core';\n\nconst TYPES_WITHOUT_ARIA_INVALID = ['button', 'color', 'hidden', 'image', 'reset', 'submit'];\n\n/**\n * Sets `aria-invalid=\"true\"` on the host form control while `valid()` is `false`. Call it in the injection context of the directive.\n * Keeps a value already on the host unless it is empty or `\"false\"` in any case, and skips inputs whose type takes no\n * `aria-invalid` (button-like, `color`, `hidden`), leaving the attribute to the page there. Once the control is no longer invalid,\n * it writes back the static `aria-invalid` of the template, or removes the attribute when the template has none, so a value it\n * found while invalid, rendered on the server or bound by the page, is removed as well.\n * @param valid validation state: `false` invalid, `true` or `undefined` not invalid\n * @param type input type of the host, read on every change\n * @returns the effect that keeps the attribute in sync\n */\nexport const bindAriaInvalid = (valid: Signal<boolean | undefined>, type?: Signal<unknown>): EffectRef => {\n const host: HTMLElement = inject(ElementRef).nativeElement;\n const renderer = inject(Renderer2);\n const templateValue = inject(new HostAttributeToken('aria-invalid'), { optional: true });\n let invalidated = false;\n return effect(() => {\n const invalid = valid() === false && !TYPES_WITHOUT_ARIA_INVALID.includes(String(type?.() ?? '').toLowerCase());\n if (invalid) {\n const current = host.getAttribute('aria-invalid');\n if (!current || current.toLowerCase() === 'false') {\n renderer.setAttribute(host, 'aria-invalid', 'true');\n }\n invalidated = true;\n } else if (invalidated) {\n if (templateValue === null) {\n renderer.removeAttribute(host, 'aria-invalid');\n } else {\n renderer.setAttribute(host, 'aria-invalid', templateValue);\n }\n invalidated = false;\n }\n });\n};\n","import { booleanAttribute, computed, Directive, ElementRef, inject, input, OnInit } from '@angular/core';\n\nimport { InputType } from '../../coreui.types';\nimport { bindAriaInvalid } from '../../shared/aria-invalid.utils';\n\n@Directive({\n selector: 'input[cFormControl], textarea[cFormControl]',\n host: {\n '[class]': 'hostClasses()',\n '[attr.type]': 'type()'\n }\n})\nexport class FormControlDirective implements OnInit {\n readonly #hostElement = inject(ElementRef);\n\n /**\n * Size the component small or large.\n * @default undefined\n */\n readonly sizing = input<'' | 'sm' | 'lg'>();\n\n /**\n * Validation state: `true` valid, `false` invalid, which also sets `aria-invalid=\"true\"`\n * (not on button-like, `color` and `hidden` inputs, where `aria-invalid` is left to the page), `undefined` none.\n * Do not bind `aria-invalid` on the same element as well.\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 #ariaInvalidEffect = bindAriaInvalid(this.valid, this.type);\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';\n\nimport { bindAriaInvalid } from '../../shared/aria-invalid.utils';\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 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 * Validation state: `true` valid, `false` invalid, which also sets `aria-invalid=\"true\"`, `undefined` none.\n * Do not bind `aria-invalid` on the same element as well.\n * @default undefined\n */\n readonly valid = input<boolean>();\n\n readonly #ariaInvalidEffect = bindAriaInvalid(this.valid);\n\n readonly hostClasses = computed(() => {\n const valid = this.valid();\n return {\n 'form-check-input': true,\n 'is-valid': valid === true,\n 'is-invalid': valid === false\n } as Record<string, boolean>;\n });\n\n get checked(): boolean {\n return this.#hostElement?.nativeElement?.checked;\n }\n}\n","import { booleanAttribute, Component, computed, input } from '@angular/core';\n\n@Component({\n selector: 'c-form-feedback',\n template: '<ng-content />',\n host: { '[class]': 'hostClasses()' }\n})\nexport class FormFeedbackComponent {\n /**\n * If your form layout allows it, you can display validation feedback in a styled tooltip.\n * @default false\n */\n readonly tooltip = input(false, { transform: booleanAttribute });\n\n /**\n * Set component validation state to valid.\n * @default undefined\n */\n readonly valid = input<boolean>();\n\n readonly hostClasses = computed(() => {\n const status = this.valid() === true ? 'valid' : 'invalid';\n const type = this.tooltip() ? 'tooltip' : 'feedback';\n return {\n [`${status}-${type}`]: true\n // 'valid-feedback': valid === true && !tooltip,\n // 'valid-tooltip': valid === true && tooltip,\n // 'invalid-feedback': valid !== true && !tooltip,\n // 'invalid-tooltip': valid !== true && tooltip\n } as Record<string, boolean>;\n });\n}\n","import { booleanAttribute, Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[cFormFloating]',\n host: { '[class.form-floating]': 'floating()' }\n})\nexport class FormFloatingDirective {\n /**\n * Enable floating labels\n * @returns boolean\n * @default true\n */\n readonly floating = input(true, { transform: booleanAttribute, alias: 'cFormFloating' });\n}\n","import { computed, Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[cLabel]',\n host: { class: 'form-label', '[class]': 'hostClasses()' }\n})\nexport class FormLabelDirective {\n /**\n * For horizontal forms set labels to 'col' and make them vertically centered with their associated form controls.\n * @default ''\n */\n readonly col = input<'col' | ''>('', { alias: 'cLabel' });\n /**\n * Size the label small or large.\n * @returns '' | 'sm' | 'lg'\n * @default undefined\n */\n readonly sizing = input<'' | 'sm' | 'lg'>();\n\n readonly hostClasses = computed(() => {\n const col = this.col();\n const sizing = this.sizing();\n return {\n 'form-label': true,\n 'col-form-label': col === 'col',\n [`col-form-label-${sizing}`]: !!sizing && col === 'col'\n } as Record<string, boolean>;\n });\n}\n","import { computed, Directive, input } from '@angular/core';\n\nimport { bindAriaInvalid } from '../../shared/aria-invalid.utils';\n\n@Directive({\n selector: 'select[cSelect]',\n host: { class: 'form-select', '[class]': 'hostClasses()' }\n})\nexport class FormSelectDirective {\n /**\n * Size the component small or large.\n * @default undefined\n */\n readonly sizing = input<'' | 'sm' | 'lg'>();\n\n /**\n * Validation state: `true` valid, `false` invalid, which also sets `aria-invalid=\"true\"`, `undefined` none.\n * Do not bind `aria-invalid` on the same element as well.\n * @default undefined\n */\n readonly valid = input<boolean>();\n\n readonly #ariaInvalidEffect = bindAriaInvalid(this.valid);\n\n readonly hostClasses = computed(() => {\n const sizing = this.sizing();\n const valid = this.valid();\n return {\n 'form-select': true,\n [`form-select-${sizing}`]: !!sizing,\n 'is-valid': valid === true,\n 'is-invalid': valid === false\n } as Record<string, boolean>;\n });\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cFormText]',\n host: { class: 'form-text' }\n})\nexport class FormTextDirective {}\n","import { Component, computed, input } from '@angular/core';\n\n@Component({\n selector: 'c-input-group',\n template: '<ng-content />',\n host: { class: 'input-group', '[class]': 'hostClasses()' }\n})\nexport class InputGroupComponent {\n /**\n * Size the component small or large.\n */\n readonly sizing = input<'' | 'sm' | 'lg'>();\n\n readonly hostClasses = computed(() => {\n const sizing = this.sizing();\n return {\n 'input-group': true,\n [`input-group-${sizing}`]: !!sizing\n } as Record<string, boolean>;\n });\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[cInputGroupText]',\n host: { class: 'input-group-text' }\n})\nexport class InputGroupTextDirective {}\n","import { NgModule } from '@angular/core';\nimport { FormDirective } from './form/form.directive';\nimport { FormControlDirective } from './form-control/form-control.directive';\nimport { FormCheckComponent } from './form-check/form-check.component';\nimport { FormCheckLabelDirective } from './form-check/form-check-label.directive';\nimport { FormCheckInputDirective } from './form-check/form-check-input.directive';\nimport { FormFeedbackComponent } from './form-feedback/form-feedback.component';\nimport { FormFloatingDirective } from './form-floating/form-floating.directive';\nimport { FormLabelDirective } from './form-label/form-label.directive';\nimport { FormSelectDirective } from './form-select/form-select.directive';\nimport { FormTextDirective } from './form-text/form-text.directive';\nimport { InputGroupComponent } from './input-group/input-group.component';\nimport { InputGroupTextDirective } from './input-group-text/input-group-text.directive';\n\n@NgModule({\n imports: [\n FormDirective,\n FormCheckComponent,\n FormCheckLabelDirective,\n FormCheckInputDirective,\n FormControlDirective,\n FormFeedbackComponent,\n FormFloatingDirective,\n FormLabelDirective,\n FormSelectDirective,\n FormTextDirective,\n InputGroupComponent,\n InputGroupTextDirective\n ],\n exports: [\n FormDirective,\n FormCheckComponent,\n FormCheckLabelDirective,\n FormCheckInputDirective,\n FormControlDirective,\n FormFeedbackComponent,\n FormFloatingDirective,\n FormLabelDirective,\n FormSelectDirective,\n FormTextDirective,\n InputGroupComponent,\n InputGroupTextDirective\n ]\n})\nexport class FormModule {}\n","import { booleanAttribute, Component, computed, input } from '@angular/core';\nimport { Breakpoints } from '../coreui.types';\n\n@Component({\n selector: 'c-container, [cContainer]',\n template: '<ng-content />',\n styleUrls: ['./container.component.scss'],\n host: { '[class]': 'hostClasses()' }\n})\nexport class ContainerComponent {\n /**\n * Set container 100% wide until a breakpoint.\n * @returns Exclude<Breakpoints, 'xs'>\n * @values 'sm' | 'md' | 'lg' | 'xl' | 'xxl'\n * @default ''\n */\n readonly breakpoint = input<Exclude<Breakpoints, 'xs'>>('');\n\n /**\n * Set container 100% wide, spanning the entire width of the viewport.\n * @returns boolean\n * @default false\n */\n readonly fluid = input(false, { transform: booleanAttribute });\n\n readonly hostClasses = computed(() => {\n const breakpoint = this.breakpoint();\n const fluid = this.fluid();\n return {\n container: !fluid && !breakpoint,\n 'container-fluid': !!fluid,\n [`container-${breakpoint}`]: !!breakpoint\n } as Record<string, boolean>;\n });\n}\n","import { booleanAttribute, computed, Directive, input, numberAttribute } from '@angular/core';\nimport { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport { BreakpointInfix } from '../coreui.types';\nimport { ColOrder } from './col.type';\n\nexport type ColOffsetType = number | { xs?: number; sm?: number; md?: number; lg?: number; xl?: number; xxl?: number };\nexport type ColOrderType =\n | ColOrder\n | { xs?: ColOrder; sm?: ColOrder; md?: ColOrder; lg?: ColOrder; xl?: ColOrder; xxl?: ColOrder };\n\n@Directive({\n selector: '[cCol]',\n host: {\n '[class]': 'hostClasses()'\n }\n})\nexport class ColDirective {\n /**\n * The number of columns/offset/order on extra small devices (<576px).\n * @returns 'auto' | number | boolean\n * @default false\n */\n readonly cCol = input(false, { transform: this.coerceInput });\n\n /**\n * The number of columns on extra small devices (<576px).\n * @returns { 'auto' | number | boolean }\n * @default false\n */\n readonly xs = input(false, { transform: this.coerceInput });\n\n /**\n * The number of columns/offset/order on small devices (<768px).\n * @returns 'auto' | number | boolean\n * @default false\n */\n readonly sm = input(false, { transform: this.coerceInput });\n\n /**\n * The number of columns/offset/order on medium devices (<992px).\n * @returns 'auto' | number | boolean\n * @default false\n */\n readonly md = input(false, { transform: this.coerceInput });\n\n /**\n * The number of columns/offset/order on large devices (<1200px).\n * @returns 'auto' | number | boolean\n * @default false\n */\n readonly lg = input(false, { transform: this.coerceInput });\n\n /**\n * The number of columns/offset/order on X-Large devices (<1400px).\n * @returns 'auto' | number | boolean\n * @default false\n */\n readonly xl = input(false, { transform: this.coerceInput });\n\n /**\n * The number of columns/offset/order on XX-Large devices (≥1400px).\n * @returns 'auto' | number | boolean\n * @default false\n */\n readonly xxl = input(false, { transform: this.coerceInput });\n\n readonly breakpoints = computed(() => {\n return {\n xs: this.xs() || this.cCol(),\n sm: this.sm(),\n md: this.md(),\n lg: this.lg(),\n xl: this.xl(),\n xxl: this.xxl()\n } as Record<string, any>;\n });\n\n /**\n * Offset grid columns.\n * @returns ColOffsetType\n */\n readonly offset = input<ColOffsetType>();\n\n /**\n * Controls the visual order of your columns. Includes support for `1` through `5` across all breakpoints.\n * @returns ColOrderType\n */\n readonly order = input<ColOrderType>();\n\n readonly hostClasses = computed(() => {\n const classes: Record<string, boolean> = {\n col: true\n };\n\n const breakpoints = this.breakpoints();\n const offsetInput = this.offset();\n const orderInput = this.order();\n\n Object.keys(BreakpointInfix).forEach((breakpoint) => {\n const value = breakpoints[breakpoint];\n const infix = breakpoint === 'xs' ? '' : `-${breakpoint}`;\n classes[`col${infix}`] = value === true;\n classes[`col${infix}-${value}`] = typeof value === 'number' || typeof value === 'string';\n });\n\n if (typeof offsetInput === 'object') {\n const offset = { ...offsetInput };\n Object.entries(offset).forEach((entry) => {\n const [breakpoint, value] = [...entry];\n const infix = breakpoint === 'xs' ? '' : `-${breakpoint}`;\n classes[`offset${infix}-${value}`] = value >= 0 && value <= 11;\n });\n } else {\n const offset = numberAttribute(offsetInput);\n classes[`offset-${offset}`] = typeof offset === 'number' && offset > 0 && offset <= 11;\n }\n\n if (typeof orderInput === 'object') {\n const order = { ...orderInput };\n Object.entries(order).forEach((entry) => {\n const [breakpoint, value] = [...entry];\n const infix = breakpoint === 'xs' ? '' : `-${breakpoint}`;\n classes[`order${infix}-${value}`] = !!value;\n });\n } else {\n const order = orderInput;\n classes[`order-${order}`] = !!order;\n }\n\n // if there is no 'col' class, add one\n classes['col'] =\n !Object.entries(classes).filter((i) => i[0].startsWith('col-') && i[1]).length || breakpoints['xs'] === true;\n return classes as Record<string, boolean>;\n });\n\n coerceInput(value: BooleanInput | NumberInput) {\n if (value === 'auto') {\n return value;\n }\n if (value === '' || value === undefined || value === null) {\n return booleanAttribute(value);\n }\n if (typeof value === 'boolean') {\n return value;\n }\n return numberAttribute(value);\n }\n}\n","import { Component } from '@angular/core';\n\nimport { ColDirective } from './col.directive';\n\n@Component({\n selector: 'c-col',\n template: '<ng-content />',\n styleUrls: ['./col.component.scss']\n})\nexport class ColComponent extends ColDirective {}\n","import { computed, Directive, input } from '@angular/core';\n\nimport { BreakpointInfix } from '../coreui.types';\nimport { NumberOfColumns } from './row.type';\n\n@Directive({\n selector: '[cRow]',\n host: {\n class: 'row',\n '[class]': 'hostClasses()'\n }\n})\nexport class RowDirective {\n /**\n * The number of columns/offset/order on extra small devices (<576px).\n * @returns NumberOfColumns\n */\n readonly xs = input<NumberOfColumns>();\n\n /**\n * The number of columns/offset/order on small devices (<768px).\n * @returns NumberOfColumns\n */\n readonly sm = input<NumberOfColumns>();\n\n /**\n * The number of columns/offset/order on medium devices (<992px).\n * @returns NumberOfColumns\n */\n readonly md = input<NumberOfColumns>();\n\n /**\n * The number of columns/offset/order on large devices (<1200px).\n * @returns NumberOfColumns\n */\n readonly lg = input<NumberOfColumns>();\n\n /**\n * The number of columns/offset/order on X-Large devices (<1400px).\n * @returns NumberOfColumns\n */\n readonly xl = input<NumberOfColumns>();\n\n /**\n * The number of columns/offset/order on XX-Large devices (≥1400px).\n * @returns NumberOfColumns\n */\n readonly xxl = input<NumberOfColumns>();\n\n readonly hostClasses = computed(() => {\n const cols = this.xs();\n\n const classes: Record<string, boolean> = {\n row: true,\n [`row-cols-${cols}`]: !!cols\n };\n\n Object.keys(BreakpointInfix).forEach((breakpoint) => {\n // @ts-ignore\n const value: any = this[breakpoint]();\n if (typeof value === 'number' || typeof value === 'string') {\n const infix: string = breakpoint === 'xs' ? '' : `-${breakpoint}`;\n classes[`row-cols${infix}-${value}`] = !!value;\n }\n });\n\n return classes;\n });\n}\n","import { Component } from '@angular/core';\n\nimport { RowDirective } from './row.directive';\n\n@Component({\n selector: 'c-row',\n template: '<ng-content />'\n})\nexport class RowComponent extends RowDirective {}\n","import { computed, Directive, input } from '@angular/core';\n\nimport { BreakpointInfix } from '../coreui.types';\nimport { GutterBreakpoints, Gutters, IGutter, IGutterObject } from './gutter.type';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[gutter]',\n exportAs: 'gutter',\n host: {\n '[class]': 'hostClasses()'\n }\n})\nexport class GutterDirective implements IGutter {\n /**\n * Define padding between columns to space and align content responsively in the Bootstrap grid system.\n */\n readonly gutter = input<IGutterObject | GutterBreakpoints | Gutters>({});\n\n readonly hostClasses = computed(() => {\n let gutterClass: Record<string, boolean>;\n const gutterInput = this.gutter();\n\n if (typeof gutterInput === 'number') {\n gutterClass = GutterDirective.getGutterClasses({ g: gutterInput });\n return gutterClass;\n }\n\n {\n const { g, gx, gy } = { ...(gutterInput as IGutterObject) };\n gutterClass = GutterDirective.getGutterClasses({ g, gx, gy });\n }\n\n Object.keys(BreakpointInfix).forEach((key) => {\n // @ts-ignore\n const gutter: IGutterObject = gutterInput[key] ? { ...gutterInput[key] } : undefined;\n if (gutter) {\n const classes = GutterDirective.getGutterClasses(gutter, key);\n gutterClass = { ...gutterClass, ...classes };\n }\n });\n return gutterClass;\n });\n\n private static getGutterClasses(gutter: IGutterObject, breakpoint?: string): any {\n const { g, gx, gy } = { ...gutter };\n const infix = breakpoint ? `-${breakpoint}` : '';\n return {\n [`g${infix}-${g}`]: typeof g === 'number',\n [`gx${infix}-${gx}`]: typeof gx === 'number',\n [`gy${infix}-${gy}`]: typeof gy === 'number'\n };\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { ContainerComponent } from './container.component';\nimport { RowComponent } from './row.component';\nimport { ColComponent } from './col.component';\nimport { RowDirective } from './row.directive';\nimport { ColDirective } from './col.directive';\nimport { GutterDirective } from './gutter.directive';\n\n@NgModule({\n imports: [\n ColComponent,\n ColDirective,\n ContainerComponent,\n GutterDirective,\n RowComponent,\n RowDirective\n ],\n exports: [\n ColComponent,\n ColDirective,\n ContainerComponent,\n GutterDirective,\n RowComponent,\n RowDirective\n ]\n})\nexport class GridModule {}\n","import { Component, computed, input, InputSignal } from '@angular/core';\n\nimport { Positions } from '../../coreui.types';\n\ntype Container = boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'fluid';\n\n@Component({\n selector: 'c-header, [c-header]',\n templateUrl: './header.component.html',\n exportAs: 'cHeader',\n host: { '[attr.role]': 'role()', '[class]': 'hostClasses()' }\n})\nexport class HeaderComponent {\n /**\n * Defines optional container wrapping children elements\n * @returns Container\n */\n readonly container = input<Container>();\n /**\n * Place header in non-static positions\n * @returns Positions\n */\n readonly position = input<Positions>();\n /**\n * Default role for header\n * @returns string\n * @default 'banner'\n */\n readonly role = input('banner');\n\n readonly hostClasses = computed(() => {\n return !!this.container() ? this.containerClasses() : this.headerClasses();\n });\n\n readonly headerClasses = computed(() => {\n const position = this.position();\n return {\n header: true,\n [`header-${position}`]: !!position\n } as Record<string, boolean>;\n });\n\n readonly containerClasses = computed(() => {\n const container = this.container();\n return {\n container: container === true,\n [`container-${container}`]: typeof container === 'string'\n } as Record<string, boolean>;\n });\n}\n","@if (!!container()) {\n <div [class]=\"headerClasses()\">\n <ng-content />\n </div>\n} @else {\n <ng-content />\n}\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'c-header-brand',\n template: '<ng-content />',\n exportAs: 'cHeaderBrand',\n host: {\n '[attr.role]': 'role()',\n class: 'header-brand'\n }\n})\nexport class HeaderBrandComponent {\n /**\n * Default role for header-brand\n * @returns string\n * @default 'button'\n */\n readonly role = input('button');\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-header-divider, [cHeaderDivider]',\n template: ``,\n host: {\n class: 'header-divider'\n }\n})\nexport class HeaderDividerComponent {}\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'c-header-nav',\n template: '<ng-content />',\n styleUrls: ['./header-nav.component.scss'],\n exportAs: 'cHeaderNav',\n host: {\n '[attr.role]': 'role()',\n class: 'header-nav'\n }\n})\nexport class HeaderNavComponent {\n /**\n * Default role for header-nav\n * @returns string\n * @default 'navigation'\n */\n readonly role = input('navigation');\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-header-text, [cHeaderText]',\n template: '<ng-content />',\n host: {\n class: 'header-text'\n }\n})\nexport class HeaderTextComponent {}\n","import { AfterContentInit, Directive, ElementRef, inject, input, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[cHeaderToggler]',\n exportAs: 'cHeaderToggler',\n host: {\n '[attr.type]': 'type()',\n '[aria-label]': 'ariaLabel()',\n class: 'header-toggler'\n }\n})\nexport class HeaderTogglerDirective implements AfterContentInit {\n readonly #renderer = inject(Renderer2);\n readonly #hostElement = inject(ElementRef);\n\n /**\n * Default type for header-toggler button\n * @returns string\n * @default 'button'\n */\n readonly type = input('button');\n\n /**\n * Default aria-label attr for header-toggler\n * @returns string\n * @default 'Toggle navigation'\n */\n readonly ariaLabel = input('Toggle navigation');\n\n addDefaultIcon(): void {\n const span = this.#renderer.createElement('span');\n this.#renderer.addClass(span, 'header-toggler-icon');\n this.#renderer.appendChild(this.#hostElement.nativeElement, span);\n }\n\n ngAfterContentInit(): void {\n const hasContent = this.#hostElement.nativeElement.childNodes.length > 0;\n if (!hasContent) {\n this.addDefaultIcon();\n }\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { HeaderComponent } from './header/header.component';\nimport { HeaderBrandComponent } from './header-brand/header-brand.component';\nimport { HeaderDividerComponent } from './header-divider/header-divider.component';\nimport { HeaderNavComponent } from './header-nav/header-nav.component';\nimport { HeaderTextComponent } from './header-text/header-text.component';\nimport { HeaderTogglerDirective } from './header-toggler/header-toggler.directive';\n\n@NgModule({\n imports: [\n HeaderComponent,\n HeaderBrandComponent,\n HeaderDividerComponent,\n HeaderNavComponent,\n HeaderTextComponent,\n HeaderTogglerDirective\n ],\n exports: [\n HeaderComponent,\n HeaderBrandComponent,\n HeaderDividerComponent,\n HeaderNavComponent,\n HeaderTextComponent,\n HeaderTogglerDirective\n ]\n})\nexport class HeaderModule {}\n","import { booleanAttribute, computed, Directive, input, InputSignal, InputSignalWithTransform } from '@angular/core';\n\n@Directive({\n selector: '[cImg]',\n host: {\n '[class]': 'hostClasses()',\n '[style]': 'hostStyles()'\n }\n})\nexport class ImgDirective {\n /**\n * Set the horizontal aligment.\n * @returns {'' | 'start' | 'end' | 'center'}\n */\n readonly align: InputSignal<'' | 'start' | 'end' | 'center'> = input<'' | 'start' | 'end' | 'center'>('');\n\n /**\n * Make image responsive.\n * @returns boolean\n */\n readonly fluid: InputSignalWithTransform<boolean, unknown> = input(false, { transform: booleanAttribute });\n\n /**\n * Make image rounded.\n * @returns boolean\n */\n readonly rounded: InputSignalWithTransform<boolean, unknown> = input(false, { transform: booleanAttribute });\n\n /**\n * Give an image a rounded 1px border appearance.\n * @returns boolean\n */\n readonly thumbnail: InputSignalWithTransform<boolean, unknown> = input(false, { transform: booleanAttribute });\n\n /**\n * Color for image placeholder.\n */\n readonly placeholderColor = input('transparent');\n\n readonly hostStyles = computed(() => {\n return { backgroundColor: this.placeholderColor() };\n });\n\n readonly hostClasses = computed(() => {\n const align = this.align();\n return {\n [`float-${align}`]: align === 'start' || align === 'end',\n 'd-block': align === 'center',\n 'mx-auto': align === 'center',\n 'img-fluid': this.fluid(),\n rounded: this.rounded(),\n 'img-thumbnail': this.thumbnail()\n } as Record<string, boolean>;\n });\n}\n","import { NgModule } from '@angular/core';\nimport { ImgDirective } from './img.directive';\n\n@NgModule({\n imports: [ImgDirective],\n exports: [ImgDirective]\n})\nexport class ImgModule {}\n","import { booleanAttribute, computed, Directive, input, InputSignalWithTransform } from '@angular/core';\nimport { 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 /**\n * Remove some borders and rounded corners to render list group items edge-to-edge in a parent component (e.g., `<CCard>`).\n * @returns boolean\n */\n readonly flush: InputSignalWithTransform<boolean, unknown> = input(false, { transform: booleanAttribute });\n\n /**\n * Specify horizontal layout type.\n */\n readonly horizontal = input<boolean | Sizes>();\n\n readonly hostClasses = computed(() => {\n const horizontal = this.horizontal();\n return {\n 'list-group': true,\n 'list-group-horizontal': horizontal === true || horizontal === '',\n [`list-group-horizontal-${horizontal}`]: !!horizontal && typeof horizontal !== 'boolean',\n 'list-group-flush': this.flush()\n } as Record<string, boolean>;\n });\n}\n","import {\n booleanAttribute,\n computed,\n Directive,\n ElementRef,\n inject,\n input,\n InputSignal,\n InputSignalWithTransform,\n numberAttribute\n} from '@angular/core';\nimport { Colors } from '../coreui.types';\n\n@Directive({\n selector: '[cListGroupItem], c-list-group-item',\n exportAs: 'cListGroupItem',\n host: {\n '[class]': 'hostClasses()',\n '[aria-disabled]': 'ariaDisabled()',\n '[aria-current]': 'ariaCurrent()',\n '[attr.disabled]': 'attrDisabled()',\n '[attr.tabindex]': 'tabIndex()'\n }\n})\nexport class ListGroupItemDirective {\n readonly hostElement = inject(ElementRef);\n\n /**\n * Toggle the active state for the component.\n * @returns boolean\n */\n readonly active = input(false, { transform: booleanAttribute });\n\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors | undefined\n */\n readonly color = input<Colors | undefined>();\n\n /**\n * Set disabled attr for the host element\n * @returns boolean\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n /**\n * The tabindex attribute specifies the tab order of an element (when the \"tab\" button is used for navigating).\n * @returns number | undefined\n */\n readonly tabindex = input(undefined, { transform: numberAttribute });\n\n readonly hostClasses = computed(() => {\n const host: HTMLElement = this.hostElement.nativeElement;\n const color = this.color();\n\n return {\n 'list-group-item': true,\n 'list-group-item-action': host.nodeName === 'A' || host.nodeName === 'BUTTON',\n active: this.active(),\n disabled: this._disabled(),\n [`list-group-item-${color}`]: !!color\n } as Record<string, boolean>;\n });\n\n readonly _disabled = computed(() => this.disabled());\n\n readonly ariaDisabled = computed(() => {\n return this._disabled() ? true : null;\n });\n\n readonly attrDisabled = computed(() => {\n return this._disabled() ? '' : null;\n });\n\n readonly tabIndex = computed(() => {\n const tabindex = this.tabindex();\n return this._disabled() ? '-1' : Number.isNaN(tabindex) ? null : (tabindex ?? null);\n });\n\n readonly ariaCurrent = computed(() => {\n return this.active() || null;\n });\n}\n","import { NgModule } from '@angular/core';\n\nimport { ListGroupDirective } from './list-group.directive';\nimport { ListGroupItemDirective } from './list-group-item.directive';\n\n@NgModule({\n exports: [ListGroupDirective, ListGroupItemDirective],\n imports: [ListGroupDirective, ListGroupItemDirective]\n})\nexport class ListGroupModule {}\n","import { Injectable, signal } from '@angular/core';\n\n@Injectable()\nexport class NavGroupService {\n /**\n * Id of the open group at this level, `undefined` when none is open.\n */\n readonly activeId = signal<string | undefined>(undefined);\n\n /**\n * Whether an active nav link opens the branch it sits in. Inherited by nested levels.\n */\n readonly openOnActive = signal(true);\n\n /**\n * Opens the level owner within its own parent and cascades up to the root.\n * Replaced by the owning `c-nav-group`; stays a no-op for the root level.\n */\n openBranch: () => void = () => undefined;\n\n setActiveId(id: string | undefined): void {\n this.activeId.set(id);\n }\n}\n","import {\n afterNextRender,\n booleanAttribute,\n computed,\n Directive,\n effect,\n ElementRef,\n inject,\n input,\n numberAttribute,\n OnDestroy,\n signal,\n untracked\n} from '@angular/core';\nimport { NavGroupService } from './nav-group.service';\n\nconst DISABLED_ATTR_ELEMENTS = new Set(['button', 'fieldset', 'input', 'optgroup', 'option', 'select', 'textarea']);\n\n@Directive({\n selector: '[cNavLink]',\n host: {\n '[class]': 'hostClasses()',\n '[aria-current]': 'ariaCurrent()',\n '[aria-disabled]': 'ariaDisabled()',\n '[attr.disabled]': 'attrDisabled()',\n '[attr.tabindex]': 'attrTabindex()'\n }\n})\nexport class NavLinkDirective implements OnDestroy {\n readonly #hostElement = inject(ElementRef);\n readonly #navGroupService = inject(NavGroupService, { optional: true });\n\n #classObserver?: MutationObserver;\n\n constructor() {\n afterNextRender({\n read: () => {\n this.#observeActiveClass();\n }\n });\n }\n\n /**\n * Sets .nav-link class to the host\n * @returns boolean\n * @default true\n */\n readonly cNavLink = input(true, { transform: booleanAttribute });\n\n /**\n * Toggle the active state for the component\n * @returns boolean\n * @default undefined\n */\n readonly active = input<boolean>();\n\n /**\n * Set disabled attr for the host element\n * @returns boolean\n * @default false\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n /**\n * The tabindex attribute specifies the tab order of an element (when the \"tab\" button is used for navigating).\n * @returns number | undefined\n */\n readonly tabindex = input(undefined, { transform: numberAttribute });\n\n readonly ariaCurrent = computed(() => {\n return this.active() ? 'page' : null;\n });\n\n protected ariaDisabled = signal<boolean | null>(null);\n protected attrDisabled = signal<boolean | string | null>(null);\n protected attrTabindex = signal<number | null>(null);\n\n readonly #disabledEffect = effect(() => {\n const disabled = this.disabled();\n const tabindex = this.tabindex();\n const disabledAttrElement = DISABLED_ATTR_ELEMENTS.has(this.#tagName);\n this.ariaDisabled.set((disabled && !disabledAttrElement) || null);\n this.attrDisabled.set(disabled && disabledAttrElement ? '' : null);\n this.attrTabindex.set(disabled && !disabledAttrElement ? -1 : Number.isNaN(tabindex) ? null : (tabindex ?? null));\n });\n\n readonly #activeEffect = effect(() => {\n if (this.active()) {\n untracked(() => {\n this.#openBranch();\n });\n }\n });\n\n readonly hostClasses = computed(() => {\n return {\n 'nav-link': this.cNavLink(),\n disabled: this.disabled(),\n active: this.active()\n } as Record<string, boolean>;\n });\n\n get #tagName(): string {\n return (this.#hostElement.nativeElement as HTMLElement).tagName.toLowerCase();\n }\n\n ngOnDestroy(): void {\n this.#classObserver?.disconnect();\n }\n\n #openBranch(): void {\n if (this.#navGroupService?.openOnActive()) {\n this.#navGroupService.openBranch();\n }\n }\n\n #observeActiveClass(): void {\n const host: HTMLElement = this.#hostElement.nativeElement;\n\n if (!this.#navGroupService) {\n return;\n }\n\n let wasActive = host.classList.contains('active');\n if (wasActive) {\n this.#openBranch();\n }\n\n this.#classObserver = new MutationObserver(() => {\n const active = host.classList.contains('active');\n if (active && !wasActive) {\n this.#openBranch();\n }\n wasActive = active;\n });\n this.#classObserver.observe(host, { attributes: true, attributeFilter: ['class'] });\n }\n}\n","import { booleanAttribute, Component, computed, input } from '@angular/core';\n\n@Component({\n selector: 'c-nav-group-items',\n template: '<ng-content />',\n styleUrls: ['./nav-group-items.component.scss'],\n host: { '[class]': 'hostClasses()' }\n})\nexport class NavGroupItemsComponent {\n /**\n * Make nav group items more compact by cutting all `padding` in half.\n * @returns boolean\n * @default false\n */\n readonly compact = input(false, { transform: booleanAttribute });\n\n readonly hostClasses = computed(() => {\n return {\n 'nav-group-items': true,\n compact: this.compact()\n } as Record<string, boolean>;\n });\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n Component,\n computed,\n effect,\n inject,\n input,\n linkedSignal,\n output,\n signal,\n TemplateRef,\n untracked\n} from '@angular/core';\n\nimport { CollapseDirective } from '../collapse';\nimport { NavGroupItemsComponent } from './nav-group-items.component';\nimport { NavGroupService } from './nav-group.service';\n\nlet nextId = 0;\n\n@Component({\n selector: 'c-nav-group',\n templateUrl: './nav-group.component.html',\n styleUrls: ['./nav-group.component.scss'],\n imports: [CollapseDirective, NavGroupItemsComponent, NgTemplateOutlet],\n providers: [NavGroupService],\n host: { '[class]': 'hostClasses()' }\n})\nexport class NavGroupComponent {\n readonly #navGroupService = inject(NavGroupService);\n readonly #parentNavGroupService = inject(NavGroupService, { optional: true, skipSelf: true });\n\n readonly #id = `nav-group-${nextId++}`;\n\n constructor() {\n this.#navGroupService.openBranch = () => {\n this.openBranch();\n };\n }\n\n /**\n * Make nav group items more compact by cutting all `padding` in half.\n * @returns boolean\n * @default false\n */\n readonly compact = input(false, { transform: booleanAttribute });\n\n /**\n * Set group toggler label.\n * @returns string\n */\n readonly toggler = input<string>();\n\n /**\n * Template for the group toggler content, receives the visible state as `$implicit`.\n * @returns TemplateRef<{ $implicit: boolean; visible: boolean }>\n */\n readonly togglerTemplate = input<TemplateRef<{ $implicit: boolean; visible: boolean }>>();\n\n /**\n * Show nav group items. Sets the initial state, and follows every later change.\n * @returns boolean | undefined\n */\n readonly visible = input<boolean | undefined, unknown>(undefined, { transform: booleanAttribute });\n\n /**\n * Event emitted on visibility change.\n * @returns boolean\n */\n readonly visibleChange = output<boolean>();\n\n readonly #uncontrolledVisible = signal(false);\n\n readonly visibleState = computed(() => {\n const parent = this.#parentNavGroupService;\n return parent ? parent.activeId() === this.#id : this.#uncontrolledVisible();\n });\n\n // the group drops `show` in the same pass, hiding the items before cCollapse can measure them\n readonly display = linkedSignal<boolean, string | null>({\n source: this.visibleState,\n computation: (visible, previous) => (previous?.source && !visible ? 'block' : null)\n });\n\n readonly hostClasses = computed(() => {\n return {\n 'nav-group': true,\n show: this.visibleState()\n } as Record<string, boolean>;\n });\n\n readonly #visibleEffect = effect(() => {\n const visible = this.visible();\n if (visible === undefined) {\n return;\n }\n untracked(() => {\n this.#setVisible(visible);\n });\n });\n\n readonly #openOnActiveEffect = effect(() => {\n const openOnActive = this.#parentNavGroupService?.openOnActive() ?? true;\n untracked(() => {\n this.#navGroupService.openOnActive.set(openOnActive);\n });\n });\n\n toggleGroup(event: Event): void {\n event.preventDefault();\n const next = !this.visibleState();\n this.#setVisible(next);\n this.visibleChange.emit(next);\n }\n\n openBranch(): void {\n const parent = this.#parentNavGroupService;\n if (!parent) {\n this.#uncontrolledVisible.set(true);\n return;\n }\n parent.setActiveId(this.#id);\n parent.openBranch();\n }\n\n onCollapseChange(state: string): void {\n this.display.set(state === 'collapsed' || state === 'open' ? null : 'block');\n }\n\n #setVisible(visible: boolean): void {\n const parent = this.#parentNavGroupService;\n if (!parent) {\n this.#uncontrolledVisible.set(visible);\n return;\n }\n if (visible) {\n parent.setActiveId(this.#id);\n return;\n }\n if (parent.activeId() === this.#id) {\n parent.setActiveId(undefined);\n }\n }\n}\n","@if (toggler() || togglerTemplate()) {\n <a\n (click)=\"toggleGroup($event)\"\n [aria-expanded]=\"visibleState()\"\n class=\"nav-link nav-group-toggle\"\n href\n >\n @if (togglerTemplate(); as template) {\n <ng-container\n *ngTemplateOutlet=\"template; context: { $implicit: visibleState(), visible: visibleState() }\"\n />\n } @else {\n {{ toggler() }}\n }\n </a>\n}\n<c-nav-group-items\n (collapseChange)=\"onCollapseChange($event)\"\n [compact]=\"compact()\"\n [style.display]=\"display()\"\n [visible]=\"visibleState()\"\n cCollapse\n>\n <ng-content />\n</c-nav-group-items>\n","import { booleanAttribute, Component, input, numberAttribute } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\n\nimport { NavLinkDirective } from './nav-link.directive';\n\n@Component({\n selector: 'c-nav-item',\n templateUrl: './nav-item.component.html',\n styleUrls: ['./nav-item.component.scss'],\n imports: [NavLinkDirective, NgTemplateOutlet],\n host: { class: 'nav-item' }\n})\nexport class NavItemComponent {\n /**\n * Toggle the active state for the nav link rendered for `href`.\n * @returns boolean | undefined\n * @default undefined\n */\n readonly active = input<boolean | undefined, unknown>(undefined, { transform: booleanAttribute });\n\n /**\n * Set disabled attr for the nav link rendered for `href`.\n * @returns boolean\n * @default false\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n /**\n * The href attribute of the nav link. Set it to render the nav link, otherwise the item projects its content as is.\n * @returns string\n */\n readonly href = input<string>();\n\n /**\n * The tabindex attribute of the nav link rendered for `href`.\n * @returns number | undefined\n */\n readonly tabindex = input(undefined, { transform: numberAttribute });\n}\n","@if (href()) {\n <a\n [active]=\"active()\"\n [attr.href]=\"href()\"\n [disabled]=\"disabled()\"\n [tabindex]=\"tabindex()\"\n cNavLink\n >\n <ng-container *ngTemplateOutlet=\"content\" />\n </a>\n} @else {\n <ng-container *ngTemplateOutlet=\"content\" />\n}\n\n<ng-template #content>\n <ng-content />\n</ng-template>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-nav-title',\n template: '<ng-content />',\n styleUrls: ['./nav-title.component.scss'],\n host: { class: 'nav-title' }\n})\nexport class NavTitleComponent {}\n","import { Component, computed, input } from '@angular/core';\n\n@Component({\n selector: 'c-nav',\n template: '<ng-content />',\n styleUrls: ['./nav.component.scss'],\n host: { class: 'nav', '[class]': 'hostClasses()', '[attr.role]': 'role()' }\n})\nexport class NavComponent {\n /**\n * Specify a layout type for component.\n * @default undefined\n */\n readonly layout = input<'fill' | 'justified'>();\n\n /**\n * Default role for nav.\n * @returns string\n * @default 'navigation'\n */\n readonly role = input('navigation');\n\n /**\n * Set the nav variant to tabs or pills.\n * @default undefined\n */\n readonly variant = input<'enclosed' | 'enclosed-pills' | 'pills' | 'tabs' | 'underline' | 'underline-border'>();\n\n readonly hostClasses = computed(() => {\n const layout = this.layout();\n const variant = this.variant();\n return {\n nav: true,\n [`nav-${layout}`]: !!layout,\n 'nav-enclosed': variant === 'enclosed' || variant === 'enclosed-pills',\n [`nav-${variant}`]: !!variant\n } as Record<string, boolean>;\n });\n}\n","import { NgModule } from '@angular/core';\nimport { NavComponent } from './nav.component';\nimport { NavGroupComponent } from './nav-group.component';\nimport { NavGroupItemsComponent } from './nav-group-items.component';\nimport { NavItemComponent } from './nav-item.component';\nimport { NavLinkDirective } from './nav-link.directive';\nimport { NavTitleComponent } from './nav-title.component';\n\n@NgModule({\n imports: [\n NavComponent,\n NavGroupComponent,\n NavGroupItemsComponent,\n NavItemComponent,\n NavLinkDirective,\n NavTitleComponent\n ],\n exports: [\n NavComponent,\n NavGroupComponent,\n NavGroupItemsComponent,\n NavItemComponent,\n NavLinkDirective,\n NavTitleComponent\n ]\n})\nexport class NavModule {}\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n afterEveryRender,\n Component,\n computed,\n contentChild,\n DOCUMENT,\n effect,\n ElementRef,\n inject,\n input,\n signal\n} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\n\nimport { CollapseDirective } from '../collapse';\nimport { Colors } from '../coreui.types';\nimport { ThemeDirective } from '../shared';\n\n// todo: fix container prop issue not rendering children\n// todo: workaround - use <c-container> component directly in template\n\n@Component({\n selector: 'c-navbar',\n templateUrl: './navbar.component.html',\n imports: [NgTemplateOutlet],\n hostDirectives: [{ directive: ThemeDirective, inputs: ['colorScheme'] }],\n host: { '[class]': 'hostClasses()', '[attr.role]': 'role()' }\n})\nexport class NavbarComponent {\n readonly #breakpointObserver = inject(BreakpointObserver);\n readonly #document = inject(DOCUMENT);\n readonly #hostElement = inject(ElementRef);\n\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly color = input<Colors>();\n\n /**\n * Defines optional container wrapping children elements.\n */\n readonly container = input<boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'fluid'>();\n\n /**\n * Defines the responsive breakpoint to determine when content collapses.\n */\n readonly expand = input<boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'>();\n\n /**\n * Place component in non-static positions.\n */\n readonly placement = input<'fixed-top' | 'fixed-bottom' | 'sticky-top'>();\n\n /**\n * HTML element role.\n * @returns string\n */\n readonly role = input('navigation');\n\n readonly collapse = contentChild(CollapseDirective);\n\n readonly hostClasses = computed(() => {\n const color = this.color();\n const expand = this.expand();\n const expandClassSuffix: string = expand === true ? '' : `-${expand}`;\n const placement = this.placement();\n return {\n navbar: true,\n [`navbar-expand${expandClassSuffix}`]: !!expand,\n [`bg-${color}`]: !!color,\n [`${placement}`]: !!placement\n } as Record<string, boolean>;\n });\n\n readonly containerClass = computed(() => {\n const container = this.container();\n return `container${container !== true ? '-' + container : ''}`;\n });\n\n readonly computedStyle = signal<string>('');\n\n readonly #afterEveryRenderFn = afterEveryRender({\n read: () => {\n const expand = this.expand();\n if (typeof expand === 'string') {\n const computedStyle =\n this.#document.defaultView\n ?.getComputedStyle(this.#hostElement.nativeElement)\n ?.getPropertyValue(`--cui-breakpoint-${expand}`) ?? false;\n computedStyle && this.computedStyle.set(computedStyle);\n }\n }\n });\n\n readonly breakpoint = computed(() => {\n const expand = this.expand();\n if (typeof expand === 'string') {\n return this.computedStyle();\n }\n return false;\n });\n\n readonly #breakpointEffect = effect((onCleanup) => {\n const breakpoint = this.breakpoint();\n if (!breakpoint) {\n return;\n }\n\n const subscription = this.#breakpointObserver.observe([`(min-width: ${breakpoint})`]).subscribe((result) => {\n const collapse = this.collapse();\n if (!collapse) {\n return;\n }\n collapse.animate.set(false);\n collapse.toggle(false);\n setTimeout(() => {\n collapse.toggle(result.matches);\n setTimeout(() => collapse.animate.set(collapse.animateInput()));\n });\n });\n\n onCleanup(() => subscription.unsubscribe());\n });\n}\n","<ng-container *ngTemplateOutlet=\"container() ? withContainerTemplate : noContainerTemplate\" />\n\n<ng-template #withContainerTemplate>\n <div [class]=\"containerClass()\">\n <ng-content />\n </div>\n</ng-template>\n\n<ng-template #noContainerTemplate>\n <ng-content />\n</ng-template>\n","import { Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[cNavbarBrand]',\n host: { class: 'navbar-brand', '[attr.role]': 'role()' }\n})\nexport class NavbarBrandDirective {\n /**\n * Default role for navbar-brand.\n * @returns string\n * @default 'button'\n */\n readonly role = input('button');\n}\n","import { booleanAttribute, Component, computed, input } from '@angular/core';\n\n@Component({\n selector: 'c-navbar-nav',\n template: '<ng-content />',\n host: { '[class]': 'hostClasses()' }\n})\nexport class NavbarNavComponent {\n /**\n * Enable vertical scrolling of a collapsed navbar toggleable contents.\n * @returns boolean\n */\n readonly scroll = input(false, { transform: booleanAttribute });\n\n readonly hostClasses = computed(() => {\n return {\n 'navbar-nav': true,\n 'navbar-nav-scroll': this.scroll()\n } as Record<string, boolean>;\n });\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-navbar-text',\n template: '<ng-content />',\n host: { class: 'navbar-text' }\n})\nexport class NavbarTextComponent {}\n","import { afterNextRender, Directive, ElementRef, inject, input, Renderer2 } from '@angular/core';\nimport { CollapseDirective } from '../../collapse';\n\n@Directive({\n selector: '[cNavbarToggler]',\n host: {\n '[aria-label]': 'ariaLabel()',\n '[attr.type]': 'type()',\n class: 'navbar-toggler',\n '(click)': 'handleClick($event)'\n }\n})\nexport class NavbarTogglerDirective {\n readonly #renderer = inject(Renderer2);\n readonly #hostElement = inject(ElementRef);\n\n constructor() {\n afterNextRender({\n read: () => {\n const hasContent = this.#hostElement.nativeElement.childNodes.length as boolean;\n if (!hasContent) {\n this.addDefaultIcon();\n }\n }\n });\n }\n\n /**\n * Reference to navbar collapse element (via # template variable)\n * @returns CollapseDirective | undefined\n */\n readonly collapseRef = input<CollapseDirective | undefined>(undefined, { alias: 'cNavbarToggler' });\n\n /**\n * Default type for navbar-toggler\n * @returns string\n * @default 'button'\n */\n readonly type = input('button');\n\n /**\n * Default aria-label attr for navbar-toggler\n * @returns string\n * @default 'Toggle navigation'\n */\n readonly ariaLabel = input('Toggle navigation');\n\n protected handleClick($event: MouseEvent): void {\n const collapseRef = this.collapseRef();\n if (collapseRef) {\n collapseRef?.toggle(!collapseRef?.visible());\n }\n }\n\n addDefaultIcon(): void {\n const span = this.#renderer.createElement('span');\n this.#renderer.addClass(span, 'navbar-toggler-icon');\n this.#renderer.appendChild(this.#hostElement.nativeElement, span);\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { NavbarComponent } from './navbar.component';\nimport { NavbarBrandDirective } from './navbar-brand/navbar-brand.directive';\nimport { NavbarNavComponent } from './navbar-nav/navbar-nav.component';\nimport { NavbarTextComponent } from './navbar-text/navbar-text.component';\nimport { NavbarTogglerDirective } from './navbar-toggler/navbar-toggler.directive';\n\n@NgModule({\n exports: [\n NavbarBrandDirective,\n NavbarComponent,\n NavbarNavComponent,\n NavbarTextComponent,\n NavbarTogglerDirective\n ],\n imports: [\n NavbarBrandDirective,\n NavbarComponent,\n NavbarNavComponent,\n NavbarTextComponent,\n NavbarTogglerDirective\n ]\n})\nexport class NavbarModule {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-modal-body',\n template: '<ng-content />',\n styleUrls: ['./modal-body.component.scss'],\n host: { class: 'modal-body' }\n})\nexport class ModalBodyComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-modal-content',\n template: '<ng-content />',\n host: { class: 'modal-content' }\n})\nexport class ModalContentComponent {}\n","import { booleanAttribute, Component, computed, input } from '@angular/core';\n\n@Component({\n selector: 'c-modal-dialog',\n template: '<ng-content />',\n styleUrls: ['./modal-dialog.component.scss'],\n host: { class: 'modal-dialog', '[class]': 'hostClasses()' }\n})\nexport class ModalDialogComponent {\n /**\n * Align the modal in the center or top of the screen.\n * @default undefined\n */\n readonly alignment = input<'top' | 'center'>();\n\n /**\n * Set modal to covers the entire user viewport.\n * @returns {boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'}\n */\n readonly fullscreen = input<boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'>();\n\n /**\n * Does the modal dialog itself scroll, or does the whole dialog scroll within the window.\n * @default false\n * @returns {boolean}\n */\n readonly scrollable = input(false, { transform: booleanAttribute });\n\n /**\n * Size the component small, large, or extra large.\n * @default undefined\n * @returns {'sm' | 'lg' | 'xl'}\n */\n readonly size = input<'sm' | 'lg' | 'xl'>();\n\n readonly hostClasses = computed(() => {\n const fullscreen = this.fullscreen();\n const size = this.size();\n return {\n 'modal-dialog': true,\n 'modal-dialog-centered': this.alignment() === 'center',\n 'modal-fullscreen': fullscreen === true,\n [`modal-fullscreen-${fullscreen}-down`]: typeof fullscreen === 'string',\n 'modal-dialog-scrollable': this.scrollable(),\n [`modal-${size}`]: !!size\n } as Record<string, boolean>;\n });\n}\n","import { DOCUMENT, inject, 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 focusFallback?: (HTMLElement | null)[];\n id?: string;\n trigger?: HTMLElement;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ModalService {\n readonly #document = inject(DOCUMENT);\n readonly #modalState = new Subject<any>();\n readonly modalState$ = this.#modalState.asObservable();\n readonly #opened = new Subject<{ modal: ModalComponent; focusFallback: (HTMLElement | null)[] }>();\n /** Emits once a modal has opened through `toggle()`; the other visible modals close on it. */\n readonly opened$ = this.#opened.asObservable();\n readonly #openClassHolders = new Set<ModalComponent>();\n\n toggle(action: IModalAction): void {\n this.#modalState.next({ ...action, focusFallback: [...(action.focusFallback ?? [])] });\n }\n\n announceOpened(modal: ModalComponent, focusFallback: (HTMLElement | null)[]): void {\n this.#opened.next({ modal, focusFallback });\n }\n\n /**\n * Adds the `modal-open` class to the body on behalf of a modal; the class stays while any modal holds it.\n * @since 5.7.38\n * @param modal the open modal\n */\n addOpenClass(modal: ModalComponent): void {\n this.#openClassHolders.add(modal);\n this.#document.body.classList.add('modal-open');\n }\n\n /**\n * Releases the `modal-open` class held by a modal; the body loses it once no modal holds it.\n * Does nothing for a modal that holds no class.\n * @since 5.7.38\n * @param modal the modal that added the class\n */\n removeOpenClass(modal: ModalComponent): void {\n if (this.#openClassHolders.delete(modal) && this.#openClassHolders.size === 0) {\n this.#document.body.classList.remove('modal-open');\n }\n }\n}\n","import { Directive, ElementRef, 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 #elementRef = inject(ElementRef<HTMLElement>);\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(), trigger: this.#elementRef.nativeElement });\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, CdkTrapFocus } from '@angular/cdk/a11y';\nimport { DomPortal, DomPortalOutlet } from '@angular/cdk/portal';\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n afterRenderEffect,\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 PLATFORM_ID,\n Renderer2,\n signal,\n untracked,\n viewChild\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { IModalAction, 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';\nimport { restoreFocus } from '../../shared/focus.utils';\nimport { afterTransitions } from '../../shared/transition.utils';\nimport { UIDService } from '../../services/uid.service';\n\n@Component({\n selector: 'c-modal',\n templateUrl: './modal.component.html',\n exportAs: 'cModal',\n imports: [ModalDialogComponent, ModalContentComponent, A11yModule],\n host: {\n class: 'modal',\n '[class]': 'hostClasses()',\n '[attr.role]': 'visible() ? role() : null',\n '[inert]': 'ariaHidden()',\n '[attr.id]': 'attrId()',\n '[aria-modal]': 'ariaModal()',\n '[attr.tabindex]': '-1',\n '(mousedown)': 'onMouseDownHandler($event)',\n '(click)': 'onClickHandler($event)',\n '(document:keydown)': 'onKeyDownHandler($event)'\n }\n})\nexport class ModalComponent implements OnInit, OnDestroy, AfterViewInit {\n 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 #platformId = inject(PLATFORM_ID);\n readonly #generatedId = inject(UIDService).getUID('modal');\n\n /**\n * Align the modal in the center or top of the screen.\n * @returns {'top' | 'center'}\n * @default 'top'\n */\n readonly alignment = input<'top' | 'center'>('top');\n\n /**\n * Apply a backdrop on the body while the modal is open.\n * @returns boolean | 'static'\n * @default true\n */\n readonly backdrop = input<boolean | 'static'>(true);\n\n /**\n * Appends the angular modal to a specific element. You can pass an HTML element or function that returns a single element. By default, `document.body`.\n * @since 5.7.20\n * @returns Element | (() => Element | null) | null\n * @default document.body\n */\n readonly container = input<Element | (() => Element | null) | null>(this.#document.body);\n\n /**\n * Set modal to cover the entire user viewport.\n * @returns {boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'}\n * @default undefined\n */\n readonly fullscreen = input<boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'>();\n\n /**\n * Closes the modal when the escape key is pressed, unless another handler already prevented its default.\n * @returns boolean\n * @default true\n */\n readonly keyboard = input(true, { transform: booleanAttribute });\n\n /**\n * HTML id attribute, used to toggle the modal by id. Without it, the `id` property holds a generated id that is not rendered.\n * @returns string\n */\n readonly attrId = input<string>(undefined, { alias: 'id' });\n\n get id() {\n return this.attrId() || this.#generatedId;\n }\n\n /**\n * Generates modal using a portal\n * @since 5.7.20\n * @returns boolean\n * @default false\n */\n readonly portal = input(false, { transform: booleanAttribute });\n\n /**\n * Size the component small, large, or extra large.\n * @returns {'sm' | 'lg' | 'xl'}\n * @default undefined\n */\n readonly size = input<'sm' | 'lg' | 'xl'>();\n\n /**\n * Remove animation to create a modal that simply appears rather than fades in to view.\n */\n readonly transition = input(true, { transform: booleanAttribute });\n\n /**\n * Default role for modal\n * @returns string\n * @default 'dialog'\n */\n readonly role = input('dialog');\n\n /**\n * Set aria-modal html attr for modal\n * @returns boolean\n * @default false\n */\n readonly ariaModalInput = input(false, { transform: booleanAttribute, alias: 'ariaModal' });\n\n readonly ariaModal = computed(() => {\n return this.visible() || this.ariaModalInput() ? true : null;\n });\n\n /**\n * Create a scrollable modal that allows scrolling the modal body.\n * @returns boolean\n * @default false\n */\n readonly scrollable = input(false, { transform: booleanAttribute });\n\n /**\n * Toggle the visibility of modal component.\n * @returns boolean\n * @default false\n */\n readonly visibleInput = input(false, { transform: booleanAttribute, alias: 'visible' });\n\n readonly visible = linkedSignal(this.visibleInput);\n\n protected readonly domPortal = new DomPortal(this.#hostElement.nativeElement);\n protected domPortalOutlet!: DomPortalOutlet;\n\n protected domPortalCleanup = () => {\n if (this.domPortalOutlet?.hasAttached()) {\n this.domPortalOutlet.detach();\n }\n };\n\n readonly #portalEffect = effect(() => {\n const visible = this.visible();\n const containerInput = this.container();\n const portalEnabled = this.portal();\n untracked(() => {\n if (!visible) {\n return;\n }\n const container = typeof containerInput === 'function' ? containerInput() : containerInput;\n this.domPortalCleanup();\n if (container && portalEnabled) {\n this.domPortalOutlet = new DomPortalOutlet(container);\n this.domPortalOutlet.attach(this.domPortal);\n }\n });\n });\n\n readonly #visibleInputEffect = effect(() => {\n const visible = this.visible();\n untracked(() => {\n this.animateStart();\n this.setBodyStyles(visible);\n this.setBackdrop(this.backdrop() !== false && visible);\n this.visibleChange?.emit(visible);\n });\n });\n\n #focusBeforeShow: HTMLElement | null = null;\n #openAction: IModalAction | null = null;\n #trigger: 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.#focusBeforeShow = this.#document.activeElement as HTMLElement | null;\n if (isPlatformBrowser(this.#platformId)) {\n setTimeout(() => {\n if (!this.focusTrap()?.focusTrap.focusInitialElement()) {\n this.#hostElement.nativeElement.focus();\n }\n });\n }\n } else {\n this.#restoreFocus();\n }\n });\n });\n\n /**\n * Event triggered on visible change\n * @returns boolean\n */\n readonly visibleChange = output<boolean>();\n\n readonly modalContentRef = viewChild('modalContentRef', { read: ElementRef });\n protected readonly focusTrap = viewChild(CdkTrapFocus);\n readonly modalDialogRef = viewChild.required(ModalDialogComponent, { read: ElementRef });\n\n readonly #hideEffect = afterRenderEffect({\n read: (onCleanup) => {\n if (this.visible() || this.#hidden) {\n return;\n }\n let cancelled = false;\n onCleanup(() => (cancelled = true));\n Promise.all([\n afterTransitions(this.#hostElement.nativeElement),\n afterTransitions(this.modalDialogRef().nativeElement)\n ]).then(() => {\n if (!cancelled && !this.visible()) {\n this.#completeHide();\n }\n });\n }\n });\n\n #activeBackdrop!: any;\n #hidden = true;\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.#hidden = false;\n this.#renderer.setStyle(this.#hostElement.nativeElement, 'display', 'block');\n } else if (!this.#hidden && !isPlatformBrowser(this.#platformId)) {\n this.#completeHide();\n }\n setTimeout(() => {\n this.show = this.visible();\n });\n }\n\n #completeHide(): void {\n this.#hidden = true;\n this.domPortalCleanup();\n this.#renderer.setStyle(this.#hostElement.nativeElement, 'display', 'none');\n this.#releaseBody();\n }\n\n #releaseBody(): void {\n this.#backdropService.unlockScroll(this);\n this.#modalService.removeOpenClass(this);\n }\n\n onKeyDownHandler(event: KeyboardEvent): void {\n if (event.key === 'Escape' && !event.defaultPrevented && 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 if (this.#trigger || this.#focusBeforeShow) {\n this.#restoreFocus();\n }\n this.#modalService.toggle({ show: false, modal: this });\n this.#afterViewInit.set(false);\n this.setBackdrop(false);\n this.domPortalCleanup();\n this.#releaseBody();\n }\n\n private stateToggleSubscribe(): void {\n this.#modalService.modalState$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe((action) => {\n if (!action.modal && !action.id) {\n this.#closeFor(action.focusFallback);\n } else if (this === action.modal || this.id === action.id) {\n if ('show' in action) {\n const visible = this.visible();\n const show = action?.show === 'toggle' ? !visible : !!action.show;\n if (show && !visible) {\n this.#trigger = action.trigger ?? null;\n this.#openAction = action;\n this.visible.set(true);\n this.#modalService.announceOpened(this, action.focusFallback);\n } else {\n this.visible.set(show);\n }\n }\n }\n });\n this.#modalService.opened$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe(({ modal, focusFallback }) => {\n if (modal !== this) {\n this.#closeFor(focusFallback);\n }\n });\n }\n\n #closeFor(focusFallback: (HTMLElement | null)[]): void {\n if (!this.visible()) {\n return;\n }\n for (const target of this.#focusCandidates()) {\n if (!focusFallback.includes(target)) {\n focusFallback.push(target);\n }\n }\n this.visible.set(false);\n }\n\n #focusCandidates(): (HTMLElement | null)[] {\n return [this.#trigger, this.#focusBeforeShow, ...(this.#openAction?.focusFallback ?? [])];\n }\n\n #restoreFocus(): void {\n const candidates = this.#focusCandidates();\n this.#trigger = null;\n this.#focusBeforeShow = null;\n this.#openAction = null;\n if (isPlatformBrowser(this.#platformId)) {\n restoreFocus(this.#hostElement.nativeElement, candidates);\n }\n }\n\n private setBackdrop(setBackdrop: boolean): void {\n if (setBackdrop) {\n this.#activeBackdrop ??= this.#backdropService.setBackdrop('modal', this.transition());\n } else {\n this.#activeBackdrop = this.#backdropService.clearBackdrop(this.#activeBackdrop);\n }\n }\n\n private setBodyStyles(open: boolean): void {\n if (!open) {\n return;\n }\n this.#backdropService.lockScroll(this);\n if (this.backdrop() !== false) {\n this.#modalService.addOpenClass(this);\n } else {\n this.#modalService.removeOpenClass(this);\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 [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';\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})\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 trigger?: HTMLElement;\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 { DomPortal, DomPortalOutlet } from '@angular/cdk/portal';\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n afterEveryRender,\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 signal,\n untracked\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { BackdropService } from '../../backdrop/backdrop.service';\nimport { ThemeDirective } from '../../shared';\nimport { restoreFocus } from '../../shared/focus.utils';\nimport { afterTransitions } from '../../shared/transition.utils';\nimport { OffcanvasService } from '../offcanvas.service';\n\nlet nextId = 0;\n\n@Component({\n selector: 'c-offcanvas',\n templateUrl: './offcanvas.component.html',\n styleUrls: ['./offcanvas.component.scss'],\n exportAs: 'cOffcanvas',\n imports: [A11yModule],\n hostDirectives: [{ directive: ThemeDirective, inputs: ['dark'] }],\n host: {\n '[attr.id]': 'id()',\n '[inert]': 'hostInert()',\n '[attr.role]': 'visible() ? role() : null',\n '[aria-modal]': 'visible() ? ariaModal() : null',\n '[attr.tabindex]': 'ariaHidden() ? null : tabIndex',\n '[class]': 'hostClasses()',\n '(document:keydown)': 'onKeyDownHandler($event)',\n '(window:resize)': 'onResizeHandler()'\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 the body while offcanvas is open.\n * @returns boolean | 'static'\n * @default true\n */\n readonly backdrop = input<boolean | 'static'>(true);\n\n /**\n * Appends the offcanvas to a specific element. You can pass an HTML element or function that returns a single element. By default, `document.body`.\n * @since 5.7.21\n * @returns Element | (() => Element | null) | null\n * @default document.body\n */\n readonly container = input<Element | (() => Element | null) | null>(this.#document.body);\n\n /**\n * Closes the offcanvas when the escape key is pressed, unless another handler already prevented its default.\n * @returns boolean\n * @default true\n */\n readonly keyboard = input(true, { transform: booleanAttribute });\n\n /**\n * Offcanvas placement\n * @returns string | 'start' | 'end' | 'top' | 'bottom'\n * @default 'start'\n */\n readonly placement = input<string | 'start' | 'end' | 'top' | 'bottom'>('start');\n\n /**\n * Generates offcanvas using a portal\n * @since 5.7.21\n * @returns boolean\n * @default false\n */\n readonly portal = input(false, { transform: booleanAttribute });\n\n /**\n * Responsive offcanvas property hides content outside the viewport from a specified breakpoint and down.\n * @returns (boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl') | undefined\n * @default true\n * @since 4.3.10\n */\n readonly responsive = input<(boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl') | undefined>(true);\n\n /**\n * Html id attribute, required for programmatic visibility change.\n * @returns string\n */\n readonly id = input(`offcanvas-${this.placement()}-${nextId++}`);\n\n /**\n * Role attribute rendered while the offcanvas is open\n * @returns string\n * @default 'dialog'\n */\n readonly role = input<string>('dialog');\n\n /**\n * aria-modal attribute rendered while the offcanvas is open\n * @returns boolean\n * @default true\n */\n readonly ariaModal = input(true, { transform: booleanAttribute });\n\n #activeBackdrop!: HTMLDivElement;\n #backdropClickSubscription!: Subscription;\n #layoutChangeSubscription!: Subscription;\n #focusBeforeShow: HTMLElement | null = null;\n readonly #hidden = signal(true);\n #isShown = false;\n #shownAsPanel = false;\n #transitionWait?: object;\n #trigger: HTMLElement | null = null;\n readonly #inPlace = signal(false);\n\n /**\n * Allow body scrolling while the offcanvas is open. Changes apply while it is open.\n * @returns boolean\n * @default false\n */\n readonly scroll = input(false, { transform: booleanAttribute });\n\n /**\n * Toggle the visibility of offcanvas component.\n * @returns boolean\n * @default false\n */\n readonly visibleInput = input(false, { transform: booleanAttribute, alias: 'visible' });\n\n readonly visible = linkedSignal(this.visibleInput);\n\n protected readonly domPortal = new DomPortal(this.#hostElement.nativeElement);\n protected domPortalOutlet!: DomPortalOutlet;\n\n protected domPortalCleanup = () => {\n if (this.domPortalOutlet?.hasAttached()) {\n this.domPortalOutlet.detach();\n }\n };\n\n readonly #portalEffect = effect(() => {\n const visible = this.visible();\n const containerInput = this.container();\n const portalEnabled = this.portal();\n untracked(() => {\n if (!visible) {\n return;\n }\n const container = typeof containerInput === 'function' ? containerInput() : containerInput;\n this.domPortalCleanup();\n if (container && portalEnabled) {\n this.domPortalOutlet = new DomPortalOutlet(container);\n this.domPortalOutlet.attach(this.domPortal);\n // Re-inserting the host drops its computed style, so the show classes applied later in\n // this same cycle would have no starting point to animate from. Force a reflow to commit it.\n void this.#hostElement.nativeElement.offsetHeight;\n }\n });\n });\n\n readonly #afterEveryRenderFn = afterEveryRender({ read: () => this.#readPosition() });\n\n readonly visibleEffect = effect(() => {\n const visible = this.visible();\n untracked(() => {\n const wasShown = this.#isShown;\n this.animateStart(visible);\n if (visible) {\n if (!wasShown) {\n this.#focusBeforeShow = this.#document.activeElement as HTMLElement | null;\n }\n this.setFocus();\n } else {\n this.#shownAsPanel = false;\n this.#restoreFocus();\n }\n this.visibleChange?.emit(visible);\n });\n });\n\n readonly #backdropEffect = effect(() => {\n const backdrop = this.visible() && this.backdrop();\n untracked(() => this.setBackdrop(backdrop));\n });\n\n readonly #scrollLockEffect = effect(() => {\n const visible = this.visible();\n const scroll = this.scroll();\n untracked(() => {\n if (!visible) {\n return;\n }\n if (scroll) {\n this.#backdropService.unlockScroll(this);\n } else {\n this.#backdropService.lockScroll(this);\n }\n });\n });\n\n readonly #layoutEffect = effect(() => {\n const breakpoint = this.visible() && this.responsiveBreakpoint;\n untracked(() => this.layoutChangeSubscribe(breakpoint));\n });\n\n /**\n * Event triggered on visible change.\n * @returns boolean\n */\n readonly visibleChange = output<boolean>();\n\n readonly hostClasses = computed(() => {\n const responsive = this.responsive();\n const placement = this.placement();\n const visible = this.visible();\n return {\n offcanvas: typeof responsive === 'boolean',\n [`offcanvas-${responsive}`]: typeof responsive !== 'boolean',\n [`offcanvas-${placement}`]: !!placement,\n show: visible\n } as Record<string, boolean>;\n });\n\n readonly ariaHidden = computed(() => {\n return this.visible() || this.#inPlace() ? null : true;\n });\n\n protected readonly hostInert = computed(() => {\n return this.#hidden() ? this.ariaHidden() : null;\n });\n\n get tabIndex(): string | null {\n return '-1';\n }\n\n get show(): boolean {\n return this.visible();\n }\n\n set show(value: boolean) {\n this.visible.set(value);\n }\n\n get responsiveBreakpoint(): string | false {\n const responsive = this.responsive();\n if (typeof responsive !== 'string') {\n return false;\n }\n const element: Element = this.#document.documentElement;\n const breakpointValue =\n this.#document.defaultView\n ?.getComputedStyle(element)\n ?.getPropertyValue(`--cui-breakpoint-${responsive.trim()}`) ?? false;\n return breakpointValue ? `${parseFloat(breakpointValue.trim()) - 0.02}px` : false;\n }\n\n animateStart(visible: boolean = this.visible()): void {\n const host = this.#hostElement.nativeElement;\n this.#isShown = visible;\n if (visible) {\n this.#hidden.set(false);\n this.#renderer.removeClass(host, 'hiding');\n this.#renderer.addClass(host, 'showing');\n } else {\n this.#renderer.removeClass(host, 'showing');\n if (this.#hidden()) {\n return;\n }\n this.#renderer.addClass(host, 'hiding');\n }\n const transitionWait = {};\n this.#transitionWait = transitionWait;\n afterTransitions(host).then(() => {\n if (this.#transitionWait !== transitionWait || this.visible() !== visible) {\n return;\n }\n if (visible) {\n this.#renderer.removeClass(host, 'showing');\n } else {\n this.#completeHide();\n }\n });\n }\n\n onKeyDownHandler(event: KeyboardEvent): void {\n if (\n event.key === 'Escape' &&\n !event.defaultPrevented &&\n this.keyboard() &&\n this.visible() &&\n this.backdrop() !== 'static'\n ) {\n this.#offcanvasService.toggle({ show: false, id: this.id() });\n }\n }\n\n onResizeHandler(): void {\n this.#readPosition();\n if (this.visible() && this.#shownAsPanel && this.#inPlace()) {\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\n ngOnDestroy(): void {\n if (this.#trigger || this.#focusBeforeShow) {\n this.#restoreFocus();\n }\n this.#offcanvasService.toggle({ show: false, id: this.id() });\n this.#transitionWait = undefined;\n this.setBackdrop(false);\n this.#backdropService.unlockScroll(this);\n this.domPortalCleanup();\n }\n\n #completeHide(): void {\n this.#hidden.set(true);\n this.#renderer.removeClass(this.#hostElement.nativeElement, 'hiding');\n this.#backdropService.unlockScroll(this);\n this.domPortalCleanup();\n }\n\n #readPosition(): void {\n const position = this.#document.defaultView?.getComputedStyle(this.#hostElement.nativeElement).position;\n this.#inPlace.set(!!position && position !== 'fixed');\n if (position === 'fixed' && this.visible()) {\n this.#shownAsPanel = true;\n }\n }\n\n setFocus(): void {\n if (isPlatformBrowser(this.#platformId)) {\n setTimeout(() => this.#hostElement.nativeElement.focus());\n }\n }\n\n #restoreFocus(): void {\n const candidates = [this.#trigger, this.#focusBeforeShow];\n this.#trigger = null;\n this.#focusBeforeShow = null;\n if (isPlatformBrowser(this.#platformId)) {\n restoreFocus(this.#hostElement.nativeElement, candidates);\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 const visible = this.visible();\n const show = action?.show === 'toggle' ? !visible : !!action.show;\n if (show && !visible) {\n this.#trigger = action.trigger ?? null;\n }\n this.visible.set(show);\n }\n }\n });\n }\n\n private backdropClickSubscribe(subscribe: boolean = true): void {\n this.#backdropClickSubscription?.unsubscribe();\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 }\n }\n\n protected setBackdrop(setBackdrop: boolean | 'static'): void {\n if (!setBackdrop) {\n this.#activeBackdrop = this.#backdropService.clearBackdrop(this.#activeBackdrop);\n } else if (!this.#activeBackdrop) {\n this.#activeBackdrop = this.#backdropService.setBackdrop('offcanvas');\n }\n this.backdropClickSubscribe(setBackdrop === true);\n }\n\n private layoutChangeSubscribe(breakpoint: string | false): void {\n this.#layoutChangeSubscription?.unsubscribe();\n if (!breakpoint) {\n return;\n }\n\n const layoutChanges = this.#breakpointObserver.observe([`(max-width: ${breakpoint})`]);\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 }\n}\n","<div [cdkTrapFocus]=\"visible()\" [inert]=\"ariaHidden()\">\n <ng-content />\n</div>\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, ElementRef, 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 #elementRef = inject(ElementRef<HTMLElement>);\n readonly #offcanvasService = inject(OffcanvasService);\n\n /**\n * Html id attr of offcanvas to toggle.\n * @returns string\n */\n readonly id = input<string>(undefined, { alias: 'cOffcanvasToggle' });\n\n protected toggleOpen($event: MouseEvent): void {\n $event.preventDefault();\n this.#offcanvasService.toggle({ show: 'toggle', id: this.id(), trigger: this.#elementRef.nativeElement });\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';\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})\nexport class OffcanvasModule {}\n","import { booleanAttribute, computed, Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[cPageLink]',\n host: { class: 'page-link', '[class]': 'hostClasses()' }\n})\nexport class PageLinkDirective {\n /**\n * Toggle the disabled state for the component.\n * @returns boolean\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n readonly hostClasses = computed(() => {\n return {\n 'page-link': true,\n disabled: this.disabled()\n } as Record<string, boolean>;\n });\n}\n","import {\n booleanAttribute,\n computed,\n contentChild,\n Directive,\n effect,\n ElementRef,\n inject,\n input,\n Renderer2\n} from '@angular/core';\n\nimport { PageLinkDirective } from '../page-link/page-link.directive';\n\n@Directive({\n selector: '[cPageItem]',\n host: {\n class: 'page-item',\n '[class]': 'hostClasses()',\n '[aria-current]': 'ariaCurrent()'\n }\n})\nexport class PageItemDirective {\n readonly #renderer = inject(Renderer2);\n\n /**\n * Toggle the active state for the component.\n * @returns boolean\n */\n readonly active = input<boolean>();\n\n /**\n * Toggle the disabled state for the component.\n * @returns boolean\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n readonly ariaCurrent = computed(() => {\n return this.active() ? 'page' : null;\n });\n\n readonly hostClasses = computed(() => {\n return {\n 'page-item': true,\n disabled: this.disabled(),\n active: this.active()\n } as Record<string, boolean>;\n });\n\n readonly pageLinkElementRef = contentChild(PageLinkDirective, { read: ElementRef });\n\n readonly pageLinkElementRefEffect = effect(() => {\n const pageLinkElementRef = this.pageLinkElementRef();\n const disabled = this.disabled();\n if (!pageLinkElementRef) {\n return;\n }\n const pageLinkElement = pageLinkElementRef.nativeElement;\n\n if (disabled) {\n this.#renderer.setAttribute(pageLinkElement, 'aria-disabled', 'true');\n this.#renderer.setAttribute(pageLinkElement, 'tabindex', '-1');\n } else {\n this.#renderer.removeAttribute(pageLinkElement, 'aria-disabled');\n this.#renderer.removeAttribute(pageLinkElement, 'tabindex');\n }\n });\n}\n","import { Component } from '@angular/core';\nimport { PageItemDirective } from './page-item.directive';\n\n@Component({\n selector: 'c-page-item',\n template: '<ng-content />',\n styleUrls: ['./page-item.component.scss']\n})\nexport class PageItemComponent extends PageItemDirective {}\n","import { Component, computed, input } from '@angular/core';\n\n@Component({\n selector: 'c-pagination',\n templateUrl: './pagination.component.html',\n host: {\n '[attr.role]': 'role()'\n }\n})\nexport class PaginationComponent {\n /**\n * Set the alignment of pagination components.\n * @returns 'start' | 'center' | 'end' | ''\n */\n readonly align = input<'start' | 'center' | 'end' | ''>('');\n /**\n * Size the component small or large.\n * @returns '' | 'sm' | 'lg'\n */\n readonly size = input<'' | 'sm' | 'lg'>();\n /**\n * Default role for pagination\n * @returns string\n * @default 'navigation'\n */\n readonly role = input<string>('navigation');\n\n readonly paginationClass = computed(() => {\n const size = this.size();\n const align = this.align();\n return {\n pagination: true,\n [`pagination-${size}`]: !!size,\n [`justify-content-${align}`]: !!align\n } as Record<string, boolean>;\n });\n}\n","<ul [class]=\"paginationClass()\">\n <ng-content />\n</ul>\n","import { NgModule } from '@angular/core';\nimport { PaginationComponent } from './pagination/pagination.component';\nimport { PageItemComponent } from './page-item/page-item.component';\nimport { PageItemDirective } from './page-item/page-item.directive';\nimport { PageLinkDirective } from './page-link/page-link.directive';\n\n@NgModule({\n exports: [\n PageItemComponent,\n PageItemDirective,\n PageLinkDirective,\n PaginationComponent\n ],\n imports: [\n PageItemComponent,\n PageItemDirective,\n PageLinkDirective,\n PaginationComponent\n ]\n})\nexport class PaginationModule {}\n","import { booleanAttribute, computed, Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[cPlaceholder]',\n exportAs: 'cPlaceholder',\n host: {\n '[class]': 'hostClasses()',\n '[aria-hidden]': 'ariaHidden()'\n }\n})\nexport class PlaceholderDirective {\n /**\n * Toggle placeholder visibility\n * @returns boolean\n * @default false\n */\n readonly visible = input(false, { transform: booleanAttribute, alias: 'cPlaceholder' });\n\n /**\n * Size the placeholder xs, small, large.\n */\n readonly size = input<'xs' | 'sm' | 'lg'>(undefined, { alias: 'cPlaceholderSize' });\n\n readonly ariaHidden = computed(() => {\n return this.visible() ? null : true;\n });\n\n readonly hostClasses = computed(() => {\n const size = this.size();\n return {\n placeholder: this.visible(),\n [`placeholder-${size}`]: !!size\n } as Record<string, boolean>;\n });\n}\n","import { computed, contentChild, Directive, input, InputSignal } from '@angular/core';\nimport { PlaceholderDirective } from './placeholder.directive';\n\n@Directive({\n selector: '[cPlaceholderAnimation]',\n host: {\n '[class]': 'hostClasses()'\n }\n})\nexport class PlaceholderAnimationDirective {\n /**\n * Animation type for placeholder\n * @returns 'glow' | 'wave'\n * @default undefined\n */\n readonly animation: InputSignal<'glow' | 'wave' | undefined> = input<'glow' | 'wave' | undefined>(undefined, {\n alias: 'cPlaceholderAnimation'\n });\n\n readonly placeholder = contentChild(PlaceholderDirective);\n\n readonly hostClasses = computed(() => {\n const animation = this.animation();\n return {\n [`placeholder-${animation}`]: this.placeholder()?.visible() && !!animation\n } as Record<string, boolean>;\n });\n}\n","import { NgModule } from '@angular/core';\nimport { PlaceholderDirective } from './placeholder.directive';\nimport { PlaceholderAnimationDirective } from './placeholder-animation.directive';\n\n@NgModule({\n imports: [\n PlaceholderDirective,\n PlaceholderAnimationDirective\n ],\n exports: [\n PlaceholderDirective,\n PlaceholderAnimationDirective\n ]\n})\nexport class PlaceholderModule {\n}\n","import {\n booleanAttribute,\n Component,\n computed,\n effect,\n inject,\n input,\n OnDestroy,\n Renderer2,\n TemplateRef,\n viewChild,\n ViewContainerRef\n} from '@angular/core';\n\n@Component({\n selector: 'c-popover',\n templateUrl: './popover.component.html',\n host: {\n class: 'popover fade bs-popover-auto',\n '[class]': 'hostClasses()',\n '[attr.role]': 'role()',\n '[attr.id]': 'id()'\n }\n})\nexport class PopoverComponent implements OnDestroy {\n readonly renderer = inject(Renderer2);\n\n /**\n * Content of popover\n * @returns string | TemplateRef<any>\n */\n readonly content = input<string | TemplateRef<any>>('');\n\n readonly #contentEffect = effect(() => {\n this.updateView(this.content());\n });\n\n /**\n * Toggle the visibility of popover component.\n * @returns boolean\n */\n readonly visible = input(false, { transform: booleanAttribute });\n\n /**\n * The `id` HTML attribute of the popover.\n * @returns string\n */\n readonly id = input<string>();\n\n /**\n * Default role for popover.\n * @returns string\n * @default 'tooltip'\n */\n readonly role = input('tooltip');\n\n readonly viewContainerRef = viewChild('popoverTemplate', { read: ViewContainerRef });\n private textNode!: Text;\n\n readonly hostClasses = computed(() => {\n return {\n popover: true,\n fade: true,\n show: this.visible(),\n 'bs-popover-auto': true\n } as Record<string, boolean>;\n });\n\n ngOnDestroy(): void {\n this.clear();\n }\n\n private clear(): void {\n this.viewContainerRef()?.clear();\n if (!!this.textNode) {\n this.renderer.removeChild(this.textNode.parentNode, this.textNode);\n }\n }\n\n private updateView(content: string | TemplateRef<any>): void {\n this.clear();\n\n if (!content) {\n return;\n }\n\n if (content instanceof TemplateRef) {\n this.viewContainerRef()?.createEmbeddedView(content);\n } else {\n const textNodeContent = this.renderer.createText(content);\n this.textNode = this.renderer.createElement('div');\n this.renderer.addClass(this.textNode, 'popover-body');\n this.renderer.appendChild(this.textNode, textNodeContent);\n\n const element = this.viewContainerRef()?.element.nativeElement;\n this.renderer.appendChild(element.parentNode, this.textNode);\n }\n }\n}\n","<ng-container>\n <div [class.popover-arrow]=\"!!content()\" data-popper-arrow></div>\n <ng-container #popoverTemplate />\n</ng-container>\n","import {\n afterRenderEffect,\n AfterViewChecked,\n AfterViewInit,\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 PLATFORM_ID,\n Renderer2,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport { isPlatformServer } from '@angular/common';\nimport { addAriaReferencedId, getAriaReferenceIds, removeAriaReferencedId } from '@angular/cdk/a11y';\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, UIDService } 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})\nexport class PopoverDirective implements OnDestroy, OnInit, AfterViewChecked, AfterViewInit {\n readonly #renderer = inject(Renderer2);\n readonly #hostElement = inject(ElementRef);\n readonly #viewContainerRef = inject(ViewContainerRef);\n readonly #listenersService = inject(ListenersService);\n readonly #intersectionService = inject(IntersectionService);\n readonly #destroyRef = inject(DestroyRef);\n readonly #document = inject(DOCUMENT);\n readonly #isServer = isPlatformServer(inject(PLATFORM_ID));\n readonly #tooltipId = inject(UIDService).getUID('popover');\n #timerId1: ReturnType<typeof setTimeout> | undefined;\n #timerId2: ReturnType<typeof setTimeout> | undefined;\n\n /**\n * Content of popover\n * @returns string | TemplateRef<any> | undefined\n */\n readonly content = input<string | TemplateRef<any> | undefined>(undefined, { alias: 'cPopover' });\n\n readonly #contentEffect = effect(() => {\n if (this.content()) {\n this.destroyTooltipElement();\n }\n });\n\n /**\n * Optional popper Options object, takes precedence over cPopoverPlacement prop\n * @returns Partial<Options>\n */\n readonly popperOptions = input<Partial<Options>>({}, { alias: 'cPopoverOptions' });\n\n readonly #popperOptionsEffect = effect(() => {\n this._popperOptions = {\n ...this._popperOptions,\n placement: this.placement(),\n ...this.popperOptions()\n };\n });\n\n readonly popperOptionsComputed = computed(() => {\n return { placement: this.placement(), ...this._popperOptions };\n });\n\n /**\n * Describes the placement of your component after Popper.js has applied all the modifiers that may have flipped or altered the originally provided placement property.\n * @returns 'top' | 'bottom' | 'left' | 'right'\n * @default 'top'\n */\n readonly placement = input<'top' | 'bottom' | 'left' | 'right'>('top', { alias: 'cPopoverPlacement' });\n\n /**\n * ElementRefDirective for positioning the tooltip on reference element\n * @returns ElementRefDirective | undefined\n * @default undefined\n * @since 5.7.27\n */\n readonly reference = input<ElementRefDirective | undefined>(undefined, { alias: 'cPopoverRef' });\n\n readonly referenceRef = computed(() => this.reference()?.elementRef ?? this.#hostElement);\n\n /**\n * Sets which event handlers you’d like provided to your toggle prop. You can specify one trigger or an array of them.\n * @returns Triggers | Triggers[]\n */\n readonly trigger = input<Triggers | Triggers[]>('hover', { alias: 'cPopoverTrigger' });\n\n /**\n * Toggle the visibility of popover component.\n * @returns boolean\n */\n readonly visible = model(false, { alias: 'cPopoverVisible' });\n\n readonly #shown = computed(() => !this.#isServer && this.visible() && !!this.content());\n\n readonly #visibleEffect = afterRenderEffect({\n // this fixes RuntimeError: NG0500: During hydration Angular expected <abc> but found <xyz>.\n // Find more at https://angular.dev/errors/NG0500\n write: () => {\n this.visible() ? this.addTooltipElement() : this.removeTooltipElement();\n }\n });\n\n readonly #handleEscapeKey = (event: KeyboardEvent) => {\n if (event.key !== 'Escape') {\n return;\n }\n if (this.#shown()) {\n event.preventDefault();\n event.stopPropagation();\n }\n this.visible.set(false);\n };\n\n readonly #escapeEffect = effect((onCleanup) => {\n if (!this.visible()) {\n return;\n }\n\n const useCapture = true;\n\n this.#document.addEventListener('keydown', this.#handleEscapeKey, useCapture);\n onCleanup(() => {\n this.#document.removeEventListener('keydown', this.#handleEscapeKey, useCapture);\n });\n });\n\n readonly #ariaDescribedByEffect = afterRenderEffect(() => this.#syncAriaDescribedBy(this.#shown()));\n\n get ariaDescribedBy(): string | null {\n return this.#shown() ? this.#tooltipId : null;\n }\n\n private tooltip!: HTMLDivElement;\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 ngAfterViewChecked(): void {\n this.#syncAriaDescribedBy(this.#shown());\n }\n\n ngAfterViewInit(): void {\n this.intersectionServiceSubscribe();\n }\n\n ngOnDestroy(): void {\n this.clearListeners();\n this.destroyTooltipElement();\n this.#syncAriaDescribedBy(false);\n }\n\n ngOnInit(): void {\n this.setListeners();\n }\n\n #syncAriaDescribedBy(shown: boolean): void {\n const host = this.#hostElement.nativeElement;\n if (shown) {\n addAriaReferencedId(host, 'aria-describedby', this.#tooltipId);\n } else if (getAriaReferenceIds(host, 'aria-describedby').includes(this.#tooltipId)) {\n removeAriaReferencedId(host, 'aria-describedby', this.#tooltipId);\n }\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 createTooltipElement(): void {\n if (!this.tooltipRef) {\n this.tooltipRef = this.#viewContainerRef.createComponent<PopoverComponent>(PopoverComponent);\n this.tooltipRef.setInput('id', this.#tooltipId);\n // this.viewContainerRef.detach();\n }\n }\n\n private destroyTooltipElement(): void {\n clearTimeout(this.#timerId1);\n clearTimeout(this.#timerId2);\n this.tooltip?.remove();\n this.tooltipRef?.destroy();\n // @ts-ignore\n this.tooltipRef = undefined;\n this.popperInstance?.destroy();\n this.popperInstance = undefined;\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 clearTimeout(this.#timerId2);\n clearTimeout(this.#timerId1);\n this.#timerId1 = setTimeout(() => {\n this.#renderer.removeClass(this.tooltip, 'd-none');\n this.tooltipRef?.setInput('visible', this.visible());\n this.popperInstance?.forceUpdate();\n this.#timerId1 = undefined;\n }, 150);\n }\n\n private removeTooltipElement(): void {\n clearTimeout(this.#timerId1);\n if (!this.tooltipRef) {\n return;\n }\n\n clearTimeout(this.#timerId2);\n this.#timerId2 = setTimeout(() => {\n const index = this.#viewContainerRef.indexOf(this.tooltipRef.hostView);\n if (index >= 0) {\n this.#viewContainerRef.detach(index);\n }\n this.popperInstance?.destroy();\n this.popperInstance = undefined;\n this.#timerId2 = undefined;\n }, 300);\n\n this.tooltipRef.setInput('visible', false);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { PopoverDirective } from './popover.directive';\nimport { PopoverComponent } from './popover/popover.component';\n\n@NgModule({\n exports: [\n PopoverDirective,\n PopoverComponent\n ],\n imports: [\n PopoverDirective,\n PopoverComponent\n ]\n})\nexport class PopoverModule {}\n","import { computed, Injectable, signal } from '@angular/core';\n\n@Injectable()\nexport class ProgressService {\n readonly stacked = signal(false);\n readonly value = signal<number | undefined>(undefined);\n readonly precision = signal(0);\n readonly min = signal(0);\n readonly max = signal(100);\n\n readonly percent = computed(() => {\n return +((((this.value() ?? 0) - this.min()) / (this.max() - this.min())) * 100).toFixed(this.precision());\n });\n}\n","import {\n booleanAttribute,\n Directive,\n effect,\n EffectRef,\n ElementRef,\n inject,\n input,\n numberAttribute,\n Renderer2\n} from '@angular/core';\nimport { Colors } from '../coreui.types';\nimport { ProgressService } from './progress.service';\n\n@Directive({\n selector: '[cProgressBar]',\n exportAs: 'cProgressBar'\n})\nexport class ProgressBarDirective {\n readonly #renderer = inject(Renderer2);\n readonly #hostElement = inject(ElementRef);\n readonly #progressService = inject(ProgressService);\n\n readonly #valuesEffect: EffectRef = effect(() => {\n const host: HTMLElement = this.#hostElement.nativeElement;\n const value = this.#progressService.value();\n const percent = this.#progressService.percent();\n const stacked = this.#progressService.stacked();\n if (value === undefined) {\n for (const name of ['aria-valuenow', 'aria-valuemax', 'aria-valuemin', 'role']) {\n this.#renderer.removeAttribute(host, name);\n }\n } else {\n const { min, max } = this.#progressService;\n this.#renderer.setAttribute(host, 'aria-valuenow', String(value));\n this.#renderer.setAttribute(host, 'aria-valuemin', String(min()));\n this.#renderer.setAttribute(host, 'aria-valuemax', String(max()));\n this.#renderer.setAttribute(host, 'role', this.role());\n }\n const tagName = host.tagName;\n if (percent >= 0 && ((stacked && tagName === 'C-PROGRESS') || (!stacked && tagName !== 'C-PROGRESS'))) {\n this.#renderer.setStyle(host, 'width', `${percent}%`);\n } else {\n this.#renderer.removeStyle(host, 'width');\n }\n });\n\n /**\n * Use to animate the stripes right to left via CSS3 animations.\n * @returns boolean\n */\n readonly animated = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly color = input<Colors>();\n\n /**\n * Number of decimal places to round the computed percent value to.\n * @returns number\n * @default 0\n */\n readonly precision = input(0, { transform: numberAttribute });\n\n /**\n * The percent value the ProgressBar.\n * @returns number\n * @default 0\n */\n readonly value = input(0, { transform: numberAttribute });\n\n /**\n * Set the progress bar variant to optional striped.\n * @values 'striped'\n * @default undefined\n */\n readonly variant = input<'striped'>();\n\n /**\n * The max value of the ProgressBar.\n * @returns number\n * @default 100\n */\n readonly max = input(100, { transform: numberAttribute });\n\n /**\n * Set default html role attribute.\n * @returns string\n */\n readonly role = input<string>('progressbar');\n\n readonly #serviceEffect = effect(() => {\n this.#progressService.precision.set(this.precision());\n const max = this.max();\n this.#progressService.max.set(isNaN(max) || max <= 0 ? 100 : max);\n const value = this.value();\n this.#progressService.value.set(value && !isNaN(value) ? value : undefined);\n });\n}\n","import { Component, computed, inject } from '@angular/core';\nimport { ProgressBarDirective } from './progress-bar.directive';\n\n@Component({\n selector: 'c-progress-bar',\n template: '<ng-content />',\n hostDirectives: [\n {\n directive: ProgressBarDirective,\n inputs: ['animated', 'color', 'max', 'role', 'value', 'variant']\n }\n ],\n host: { class: 'progress-bar', '[class]': 'hostClasses()' }\n})\nexport class ProgressBarComponent {\n readonly #progressBarDirective: ProgressBarDirective | null = inject(ProgressBarDirective, { optional: true });\n\n readonly hostClasses = computed(() => {\n const animated = this.#progressBarDirective?.animated();\n const color = this.#progressBarDirective?.color();\n const variant = this.#progressBarDirective?.variant();\n return {\n 'progress-bar': true,\n 'progress-bar-animated': !!animated,\n [`progress-bar-${variant}`]: !!variant,\n [`bg-${color}`]: !!color\n } as Record<string, boolean>;\n });\n}\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'c-progress-stacked',\n exportAs: 'cProgressStacked',\n template: '<ng-content />',\n styles: `\n :host {\n display: flex;\n }\n `,\n host: { '[class.progress-stacked]': 'stacked()' }\n})\nexport class ProgressStackedComponent {\n /**\n * Toggle the `progress-stacked` class on the host element.\n * @returns boolean\n * @default true\n */\n readonly stacked = input(true);\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n Component,\n computed,\n contentChildren,\n ElementRef,\n inject,\n input,\n numberAttribute\n} from '@angular/core';\nimport { ProgressBarComponent } from './progress-bar.component';\nimport { ProgressBarDirective } from './progress-bar.directive';\nimport { ProgressStackedComponent } from './progress-stacked.component';\nimport { ProgressService } from './progress.service';\n\n@Component({\n selector: 'c-progress',\n exportAs: 'cProgress',\n templateUrl: './progress.component.html',\n imports: [ProgressBarComponent, NgTemplateOutlet],\n styleUrl: './progress.component.scss',\n hostDirectives: [\n {\n directive: ProgressBarDirective,\n inputs: ['animated', 'color', 'max', 'role', 'value', 'variant']\n }\n ],\n host: {\n class: 'progress',\n '[class]': 'hostClasses()',\n '[style.height]': 'hostStyle()'\n },\n providers: [ProgressService]\n})\nexport class ProgressComponent {\n readonly #hostElement = inject(ElementRef);\n protected readonly progressBarDirective: ProgressBarDirective | null = inject(ProgressBarDirective, {\n optional: true\n });\n readonly #stacked: boolean = inject(ProgressStackedComponent, { optional: true })?.stacked() ?? false;\n readonly #progressService = inject(ProgressService);\n\n constructor() {\n this.#progressService.stacked.set(this.#stacked);\n }\n\n readonly stacked = this.#progressService.stacked;\n readonly percent = this.#progressService.percent;\n readonly barValue = this.#progressService.value;\n\n readonly contentProgressBars = contentChildren(ProgressBarComponent);\n\n /**\n * Sets the height of the component. If you set that value the inner `<c-progress-bar>` will automatically resize accordingly.\n * @returns number\n */\n readonly height = input(0, { transform: numberAttribute });\n\n /**\n * Displays thin progress.\n * @returns boolean\n */\n readonly thin = input(false, { transform: booleanAttribute });\n\n /**\n * Change the default color to white.\n * @returns boolean\n */\n readonly white = input(false, { transform: booleanAttribute });\n\n readonly hostClasses = computed(() => {\n return {\n progress: true,\n 'progress-thin': this.thin(),\n 'progress-white': this.white()\n } as Record<string, boolean>;\n });\n\n readonly hostStyle = computed(() => {\n const height = this.height();\n return !!height ? `${height}px` : (this.#hostElement?.nativeElement?.style?.height ?? undefined);\n });\n}\n","@if (contentProgressBars()?.length) {\n <ng-container *ngTemplateOutlet=\"defaultContent\" />\n} @else {\n @let pbd = progressBarDirective;\n <c-progress-bar\n [animated]=\"$safeNavigationMigration(pbd?.animated())\"\n [variant]=\"$safeNavigationMigration(pbd?.variant())\"\n [color]=\"$safeNavigationMigration(pbd?.color())\"\n [value]=\"barValue()\"\n >\n <ng-container *ngTemplateOutlet=\"defaultContent\" />\n </c-progress-bar>\n}\n\n<ng-template #defaultContent>\n <ng-content />\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { ProgressComponent } from './progress.component';\nimport { ProgressBarComponent } from './progress-bar.component';\nimport { ProgressBarDirective } from './progress-bar.directive';\nimport { ProgressStackedComponent } from './progress-stacked.component';\n\n@NgModule({\n exports: [\n ProgressComponent,\n ProgressBarComponent,\n ProgressBarDirective,\n ProgressStackedComponent\n ],\n imports: [\n ProgressComponent,\n ProgressBarComponent,\n ProgressBarDirective,\n ProgressStackedComponent\n ]\n})\nexport class ProgressModule {}\n","export type SearchButtonShortcut = {\n key: string;\n modifiers: {\n alt: boolean;\n ctrl: boolean;\n meta: boolean;\n shift: boolean;\n };\n shortcut: string;\n};\n\nconst MODIFIER_KEYS = new Set(['alt', 'ctrl', 'meta', 'shift']);\nconst KEY_ALIASES: Record<string, string> = {\n ' ': 'space',\n cmd: 'meta',\n command: 'meta',\n control: 'ctrl',\n esc: 'escape',\n option: 'alt',\n return: 'enter',\n spacebar: 'space'\n};\nconst KEY_LABELS: Record<string, string> = {\n alt: 'Alt',\n ctrl: 'Ctrl',\n meta: '⌘',\n shift: 'Shift',\n space: 'Space'\n};\nconst EDITABLE_TARGET_SELECTOR =\n 'input, textarea, select, [contenteditable=\"\"], [contenteditable=\"true\"], [contenteditable=\"plaintext-only\"]';\n\nexport const normalizeKey = (key: string) => KEY_ALIASES[key.toLowerCase()] || key.toLowerCase();\n\nexport const parseShortcut = (shortcut: string): SearchButtonShortcut[] =>\n shortcut\n .split(',')\n .map((value) => value.trim())\n .filter(Boolean)\n .map((value) => {\n const keys = value.split('+').map((part) => normalizeKey(part.trim()));\n const modifiers = {\n alt: false,\n ctrl: false,\n meta: false,\n shift: false\n };\n\n let key = '';\n\n for (const part of keys) {\n if (MODIFIER_KEYS.has(part)) {\n modifiers[part as keyof typeof modifiers] = true;\n continue;\n }\n\n key = part;\n }\n\n return {\n key,\n modifiers,\n shortcut: value\n };\n });\n\nconst getPlatform = () => {\n if (typeof window === 'undefined') {\n return '';\n }\n\n const navigator = window.navigator as Navigator & {\n userAgentData?: {\n platform?: string;\n };\n };\n\n return navigator.userAgentData?.platform || navigator.platform || navigator.userAgent || '';\n};\n\nexport const isMacOS = () => /Mac|iPhone|iPad|iPod|macOS|Macintosh/.test(getPlatform());\n\nexport const getPreferredShortcut = (shortcuts: SearchButtonShortcut[]) =>\n shortcuts.find((shortcut) => (isMacOS() ? shortcut.modifiers.meta : shortcut.modifiers.ctrl)) ||\n shortcuts[0] ||\n null;\n\nexport const getKeyLabel = (key: string) =>\n KEY_LABELS[key] || (key.length === 1 ? key.toUpperCase() : `${key.charAt(0).toUpperCase()}${key.slice(1)}`);\n\nexport const formatShortcutTokens = (shortcut: string) =>\n shortcut\n .split('+')\n .map((part) => normalizeKey(part.trim()))\n .map((part) => getKeyLabel(part))\n .filter(Boolean);\n\nexport const getPressedKeys = (event: KeyboardEvent) => {\n const pressedKeys = new Set<string>();\n\n if (event.altKey) {\n pressedKeys.add(KEY_LABELS['alt']);\n }\n\n if (event.ctrlKey) {\n pressedKeys.add(KEY_LABELS['ctrl']);\n }\n\n if (event.metaKey) {\n pressedKeys.add(KEY_LABELS['meta']);\n }\n\n if (event.shiftKey) {\n pressedKeys.add(KEY_LABELS['shift']);\n }\n\n const normalizedKey = normalizeKey(event.key);\n\n if (!MODIFIER_KEYS.has(normalizedKey) && event.type === 'keydown') {\n pressedKeys.add(getKeyLabel(normalizedKey));\n }\n\n return pressedKeys;\n};\n\nexport const isEditableTarget = (target: EventTarget | null) => {\n if (!(target instanceof Element)) {\n return false;\n }\n\n return target.matches(EDITABLE_TARGET_SELECTOR) || !!target.closest(EDITABLE_TARGET_SELECTOR);\n};\n\nexport const shouldIgnoreShortcut = (event: KeyboardEvent) =>\n isEditableTarget(event.target) && !event.ctrlKey && !event.metaKey;\n\nexport const matchesShortcut = (shortcut: SearchButtonShortcut, event: KeyboardEvent) => {\n if (!shortcut.key || normalizeKey(event.key) !== shortcut.key) {\n return false;\n }\n\n return (\n shortcut.modifiers.alt === event.altKey &&\n shortcut.modifiers.ctrl === event.ctrlKey &&\n shortcut.modifiers.meta === event.metaKey &&\n shortcut.modifiers.shift === event.shiftKey\n );\n};\n","import {\n booleanAttribute,\n Component,\n computed,\n contentChildren,\n effect,\n input,\n output,\n signal,\n TemplateRef\n} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\n\nimport { TemplateIdDirective } from '../shared';\nimport {\n formatShortcutTokens,\n getPreferredShortcut,\n getPressedKeys,\n matchesShortcut,\n parseShortcut,\n shouldIgnoreShortcut\n} from './search-button.utils';\n\n@Component({\n selector: 'c-search-button',\n exportAs: 'cSearchButton',\n templateUrl: './search-button.component.html',\n imports: [NgTemplateOutlet],\n host: {\n style: 'display: contents',\n '(document:keydown)': 'onDocumentKeydown($event)',\n '(document:keyup)': 'onDocumentKeyup($event)',\n '(window:blur)': 'onWindowBlur()'\n }\n})\nexport class SearchButtonComponent {\n /**\n * Toggle the disabled state for the component.\n * @returns boolean\n * @default false\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n /**\n * Placeholder content rendered inside `.search-button-placeholder`.\n * @returns string\n * @default 'Search'\n */\n readonly placeholder = input('Search');\n\n /**\n * Prevent the browser's default behavior when the configured shortcut matches.\n * @returns boolean\n * @default true\n */\n readonly preventDefault = input(true, { transform: booleanAttribute });\n\n /**\n * Comma-separated shortcut list. The component matches all configured shortcuts and renders the platform-preferred one.\n * @returns string\n * @default 'meta+/,ctrl+/'\n */\n readonly shortcut = input('meta+/,ctrl+/');\n\n /**\n * Event emitted when the component is activated by click or keyboard shortcut.\n */\n readonly trigger = output<void>();\n\n protected readonly contentTemplates = contentChildren(TemplateIdDirective, { descendants: true });\n\n protected readonly templates = computed(() => {\n return this.contentTemplates().reduce(\n (acc, child) => {\n acc[child.id] = child.templateRef;\n return acc;\n },\n {} as Record<string, TemplateRef<any>>\n );\n });\n\n protected readonly activeKeys = signal<string[]>([]);\n\n protected readonly shortcuts = computed(() => parseShortcut(this.shortcut()));\n\n protected readonly preferredShortcut = computed(() => getPreferredShortcut(this.shortcuts()));\n\n protected readonly shortcutTokens = computed(() => formatShortcutTokens(this.preferredShortcut()?.shortcut || ''));\n\n readonly #disabledActiveKeysEffect = effect(() => {\n if (this.disabled()) {\n this.activeKeys.set([]);\n }\n });\n\n protected onClick(): void {\n this.trigger.emit();\n }\n\n protected onDocumentKeydown(event: KeyboardEvent): void {\n if (this.disabled() || !event.key) {\n return;\n }\n\n this.activeKeys.set(Array.from(getPressedKeys(event)));\n this.handleShortcut(event);\n }\n\n protected onDocumentKeyup(event: KeyboardEvent): void {\n if (this.disabled() || !event.key) {\n return;\n }\n\n this.activeKeys.set(Array.from(getPressedKeys(event)));\n }\n\n protected onWindowBlur(): void {\n this.activeKeys.set([]);\n }\n\n private handleShortcut(event: KeyboardEvent): void {\n if (event.defaultPrevented || event.repeat || shouldIgnoreShortcut(event)) {\n return;\n }\n\n const matchedShortcut = this.shortcuts().find((shortcut) => matchesShortcut(shortcut, event));\n\n if (!matchedShortcut) {\n return;\n }\n\n if (this.preventDefault()) {\n event.preventDefault();\n }\n\n this.trigger.emit();\n }\n}\n","<button class=\"search-button\" type=\"button\" [disabled]=\"disabled()\" (click)=\"onClick()\">\n <ng-content select=\"ng-template\" />\n <ng-content>\n <ng-container *ngTemplateOutlet=\"templates()['icon'] || defaultIconTemplate\" />\n <span class=\"search-button-placeholder\">{{ placeholder() }}</span>\n </ng-content>\n <span class=\"search-button-keys\" aria-hidden=\"true\">\n @for (key of shortcutTokens(); track key) {\n <span\n class=\"search-button-key\"\n [class.active]=\"activeKeys().includes(key)\"\n [attr.data-coreui-search-button-key]=\"key\"\n >{{ key }}</span>\n }\n </span>\n</button>\n\n<ng-template #defaultIconTemplate>\n <svg\n class=\"search-button-icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 512 512\"\n aria-hidden=\"true\"\n >\n <path\n fill=\"currentColor\"\n d=\"m479.6 399.716-81.084-81.084-62.368-25.767A175 175 0 0 0 368 192c0-97.047-78.953-176-176-176S16 94.953 16 192s78.953 176 176 176a175.03 175.03 0 0 0 101.619-32.377l25.7 62.2 81.081 81.088a56 56 0 1 0 79.2-79.195M48 192c0-79.4 64.6-144 144-144s144 64.6 144 144-64.6 144-144 144S48 271.4 48 192m408.971 264.284a24.03 24.03 0 0 1-33.942 0l-76.572-76.572-23.894-57.835 57.837 23.894 76.573 76.572a24.03 24.03 0 0 1-.002 33.941\"\n />\n </svg>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { SearchButtonComponent } from './search-button.component';\n\n@NgModule({\n imports: [\n SearchButtonComponent\n ],\n exports: [\n SearchButtonComponent\n ]\n})\nexport class SearchButtonModule {}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { SidebarComponent } from './sidebar/sidebar.component';\n\nexport interface ISidebarAction {\n unfoldable?: boolean | 'toggle';\n visible?: boolean | 'toggle';\n toggle?: 'visible' | 'unfoldable';\n narrow?: boolean;\n mobile?: boolean;\n sidebar?: SidebarComponent;\n id?: string;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SidebarService {\n readonly #sidebarState = new BehaviorSubject<ISidebarAction>({});\n readonly sidebarState$ = this.#sidebarState.asObservable();\n\n toggle(action: ISidebarAction): void {\n this.#sidebarState.next(action);\n }\n}\n","import { DOCUMENT, inject, Injectable, Renderer2 } from '@angular/core';\nimport { SidebarService } from '../sidebar.service';\nimport { SidebarComponent } from '../sidebar/sidebar.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SidebarBackdropService {\n readonly #document = inject<Document>(DOCUMENT);\n readonly #sidebarService = inject(SidebarService);\n\n #backdrop!: HTMLElement;\n renderer!: Renderer2;\n #clickListener = (): void => {\n /* empty */\n };\n\n setBackdrop(sidebar: SidebarComponent): void {\n const backdrop = this.#document.getElementsByClassName('sidebar-backdrop');\n // console.log(`sidebar-${this.id}`, ' setBackdrop', backdrop);\n if (backdrop.length === 0) {\n this.#backdrop = this.renderer.createElement('div');\n this.renderer.addClass(this.#backdrop, 'sidebar-backdrop');\n this.renderer.appendChild(this.#document.body, this.#backdrop);\n this.#clickListener = this.renderer.listen(this.#backdrop, 'click', (e) => {\n // console.log(`sidebar-${this.id}`, ' backdrop click', e);\n this.#sidebarService.toggle({ toggle: 'visible', sidebar });\n });\n }\n // console.log(this.backdrop, sidebar.sidebarState.mobile, sidebar.sidebarState.show);\n if (this.#backdrop && sidebar.sidebarState.mobile && sidebar.sidebarState.visible) {\n this.renderer.addClass(this.#backdrop, 'fade');\n this.renderer.addClass(this.#backdrop, 'show');\n // this.renderer.removeClass(this.backdrop, 'd-none');\n } else {\n this.renderer.removeClass(this.#backdrop, 'show');\n this.renderer.removeClass(this.#backdrop, 'fade');\n // this.renderer.addClass(this.backdrop, 'd-none');\n }\n }\n\n clearBackdrop(): void {\n if (this.#backdrop) {\n // clear backdrop click Listener\n this.#clickListener();\n // this.renderer.listen(this.backdrop, 'click', (e): void => {} );\n this.renderer.removeChild(this.#document.body, this.#backdrop);\n // @ts-ignore\n this.#backdrop = undefined;\n }\n }\n}\n","import {\n booleanAttribute,\n Component,\n computed,\n DOCUMENT,\n effect,\n inject,\n input,\n linkedSignal,\n OnChanges,\n OnDestroy,\n OnInit,\n output,\n Renderer2,\n signal,\n SimpleChanges\n} from '@angular/core';\nimport { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\nimport { Subscription } from 'rxjs';\n\nimport { ISidebarAction, SidebarService } from '../sidebar.service';\nimport { SidebarBackdropService } from '../sidebar-backdrop/sidebar-backdrop.service';\n\n@Component({\n selector: 'c-sidebar',\n exportAs: 'cSidebar',\n template: '<ng-content />',\n host: {\n class: 'sidebar',\n '[class]': 'hostClasses()',\n '[inert]': '!this.sidebarState.visible || null'\n }\n})\nexport class SidebarComponent implements OnChanges, OnDestroy, OnInit {\n readonly #document = inject<Document>(DOCUMENT);\n readonly #renderer = inject(Renderer2);\n readonly #breakpointObserver = inject(BreakpointObserver);\n readonly #sidebarService = inject(SidebarService);\n readonly #backdropService = inject(SidebarBackdropService);\n\n #initialized = false;\n #onMobile = false;\n #layoutChangeSubscription!: Subscription;\n #stateToggleSubscription!: Subscription;\n\n readonly state = signal<ISidebarAction>({\n sidebar: this\n });\n\n #stateInitial = {\n narrow: false,\n visible: false,\n unfoldable: false\n };\n\n /**\n * Sets if the color of text should be colored for a light or dark background.\n * @returns 'dark' | 'light'\n */\n readonly colorScheme = input<'dark' | 'light'>();\n\n /**\n * Sets html attribute id.\n * @returns string\n */\n readonly id = input<string>();\n\n /**\n * Make sidebar narrow.\n * @returns boolean\n * @default false\n */\n readonly narrowInput = input(false, { transform: booleanAttribute, alias: 'narrow' });\n\n readonly #narrow = linkedSignal(this.narrowInput);\n\n set narrow(value) {\n this.#narrow.set(value);\n }\n\n get narrow() {\n return this.#narrow();\n }\n\n /**\n * Set sidebar to overlaid variant.\n * @returns boolean\n * @default false\n */\n readonly overlaid = input(false, { transform: booleanAttribute });\n\n /**\n * Components placement, there’s no default placement.\n * @returns 'start' | 'end'\n */\n readonly placement = input<'start' | 'end'>();\n\n /**\n * Place sidebar in non-static positions.\n * @returns 'fixed' | 'sticky'\n * @default 'fixed'\n */\n readonly position = input<'fixed' | 'sticky'>('fixed');\n\n /**\n * Size the component small, large, or extra large.\n * @returns 'sm' | 'lg' | 'xl'\n */\n readonly size = input<'sm' | 'lg' | 'xl'>();\n\n /**\n * Expand narrowed sidebar on hover.\n * @returns boolean\n * @default false\n */\n readonly unfoldableInput = input(false, { transform: booleanAttribute, alias: 'unfoldable' });\n\n readonly unfoldable = linkedSignal({\n source: this.unfoldableInput,\n computation: (value) => value\n });\n\n /**\n * Toggle the visibility of sidebar component.\n * @returns boolean\n * @default false\n */\n readonly visibleInput = input(false, { transform: booleanAttribute, alias: 'visible' });\n\n readonly #visible = linkedSignal(this.visibleInput);\n\n readonly #visibleEffect = effect(() => {\n this.visibleChange?.emit(this.#visible());\n });\n\n set visible(value: boolean) {\n this.#visible.set(value);\n }\n\n get visible() {\n return this.#visible();\n }\n\n /**\n * Event emitted on visibility change.\n * @returns boolean\n */\n readonly visibleChange = output<boolean>();\n\n set sidebarState(value: ISidebarAction) {\n const newState = value;\n const wasOpen = this.state().mobile && this.state().visible;\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 if (newState.visible !== undefined) {\n this.#visible.set(newState.visible && !this.overlaid());\n }\n this.state.update((state) => ({ ...state, ...newState }));\n if (this.state().mobile && this.state().visible) {\n this.#backdropService.setBackdrop(this);\n } else if (wasOpen) {\n this.#backdropService.clearBackdrop();\n }\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 this.#initialized = true;\n }\n\n ngOnDestroy(): void {\n this.stateToggleSubscribe(false);\n this.layoutChangeSubscribe(false);\n if (this.state().mobile && this.state().visible) {\n this.#backdropService.clearBackdrop();\n }\n }\n\n ngOnChanges(changes: SimpleChanges<SidebarComponent>): void {\n if (!this.#initialized) {\n return;\n }\n const state = this.state();\n const newState: ISidebarAction = {};\n for (const [key, change] of [\n ['narrow', changes.narrowInput],\n ['unfoldable', changes.unfoldableInput],\n ['visible', changes.visibleInput]\n ] as const) {\n if (change && state[key] !== change.currentValue) {\n newState[key] = change.currentValue;\n }\n }\n if (Object.keys(newState).length) {\n this.#sidebarService.toggle({ ...newState, sidebar: this });\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 (state.sidebar ? this === state.sidebar : this.id() === state.id) {\n this.sidebarState = { ...state };\n }\n });\n } else {\n this.#stateToggleSubscription?.unsubscribe();\n }\n }\n\n layoutChangeSubscribe(subscribe: boolean = true): void {\n const onMobile = `(max-width: ${this.getMobileBreakpoint})`;\n\n if (subscribe) {\n const layoutChanges = this.#breakpointObserver.observe([onMobile]);\n\n this.#layoutChangeSubscription = layoutChanges.subscribe((result: BreakpointState) => {\n const isOnMobile = result.breakpoints[onMobile];\n const isUnfoldable = isOnMobile ? false : this.unfoldable();\n if (this.#onMobile !== isOnMobile) {\n this.#onMobile = isOnMobile;\n this.#sidebarService.toggle({\n mobile: isOnMobile,\n unfoldable: isUnfoldable,\n visible: isOnMobile ? !isOnMobile : this.#stateInitial.visible,\n sidebar: this\n });\n }\n });\n } else {\n this.#layoutChangeSubscription?.unsubscribe();\n }\n }\n}\n","import { Component, computed, input } from '@angular/core';\nimport { RouterLink, type UrlTree } from '@angular/router';\n\nimport { HtmlAttributesDirective } from '../../shared';\n\n@Component({\n selector: 'c-sidebar-brand',\n templateUrl: './sidebar-brand.component.html',\n imports: [RouterLink, HtmlAttributesDirective],\n host: { class: 'sidebar-brand' }\n})\nexport class SidebarBrandComponent {\n /**\n * Image for the wide sidebar.\n */\n readonly brandFull = input<any>();\n\n /**\n * Image for the narrow sidebar.\n */\n readonly brandNarrow = input<any>();\n\n /**\n * Router link for the sidebar brand.\n */\n readonly routerLink = input<string | any[] | UrlTree | null | undefined>();\n\n readonly brandImg = computed(() => Boolean(this.brandFull() || this.brandNarrow()));\n}\n","@if (brandImg()) {\n <a [routerLink]=\"routerLink()\">\n @if (brandFull()) {\n <img [cHtmlAttr]=\"brandFull()\" [class]=\"'sidebar-brand-full'\">\n }\n @if (brandNarrow()) {\n <img [cHtmlAttr]=\"brandNarrow()\" [class]=\"'sidebar-brand-narrow'\">\n }\n </a>\n} @else {\n <ng-content />\n}\n","import { Directive, inject, input } from '@angular/core';\n\nimport { SidebarService } from '../sidebar.service';\n\n/**\n * Allows the sidebar to be toggled/folded via click on host element.\n */\n@Directive({\n selector: '[cSidebarToggle]',\n exportAs: 'cSidebarToggle',\n host: {\n '(click)': 'toggleOpen($event)'\n }\n})\nexport class SidebarToggleDirective {\n readonly #sidebarService = inject(SidebarService);\n\n /**\n * Id of sidebar for toggle action.\n * @returns string\n */\n readonly id = input<string>(undefined, { alias: 'cSidebarToggle' });\n /**\n * Sidebar property name for toggle action.\n *\n * @returns 'visible' | 'unfoldable'\n * @default 'visible'\n */\n readonly toggle = input<'visible' | 'unfoldable'>('visible');\n\n toggleOpen($event: any): void {\n $event.preventDefault();\n this.#sidebarService.toggle({ toggle: this.toggle(), id: this.id() });\n }\n}\n","import { Directive, input } from '@angular/core';\nimport { SidebarToggleDirective } from '../sidebar-toggle/sidebar-toggle.directive';\n\n@Directive({\n selector: '[cSidebarToggler]',\n hostDirectives: [{ directive: SidebarToggleDirective, inputs: ['cSidebarToggle: cSidebarToggler', 'toggle'] }],\n host: {\n '[attr.role]': 'role()',\n class: 'sidebar-toggler',\n '[style]': 'getStyles'\n }\n})\nexport class SidebarTogglerDirective {\n /**\n * Default role for sidebar toggler.\n * @returns string\n * @default 'button'\n */\n readonly role = input('button');\n\n get getStyles(): any {\n return {\n appearance: 'button',\n 'align-items': 'flex-start',\n cursor: 'pointer'\n };\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-sidebar-header',\n template: '<ng-content />',\n host: { class: 'sidebar-header' }\n})\nexport class SidebarHeaderComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-sidebar-footer',\n template: '<ng-content />',\n host: { class: 'sidebar-footer' }\n})\nexport class SidebarFooterComponent {}\n","/**\n * Maps a whitespace-separated class string to a `[class]` binding object, one key per class.\n * @param classes the classes, e.g. `item.class` of a nav item\n * @returns a key set to `true` for each class, empty without classes\n */\nexport const classMap = (classes?: string): Record<string, boolean> =>\n Object.fromEntries(\n (classes ?? '')\n .split(/[\\t\\n\\f\\r ]+/)\n .filter(Boolean)\n .map((name) => [name, true])\n );\n","import { Injectable } from '@angular/core';\n\nimport { INavData } from './sidebar-nav';\nimport { classMap } from './sidebar-nav.utils';\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 if (item.url == null) {\n return false;\n }\n const url = Array.isArray(item.url) ? router.createUrlTree(item.url) : item.url;\n return router.isActive(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 return {\n 'nav-icon': true,\n ...classMap(item.icon)\n };\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\nimport { classMap } from './sidebar-nav.utils';\n\n@Pipe({\n name: 'cSidebarNavIcon'\n})\nexport class SidebarNavIconPipe implements PipeTransform {\n transform(item: any, args?: any): any {\n return {\n 'nav-icon': true,\n ...classMap(item?.icon)\n };\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { classMap } from './sidebar-nav.utils';\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 ...classMap(badge.class)\n };\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'cSidebarNavLink'\n})\nexport class SidebarNavLinkPipe implements PipeTransform {\n transform(item: any): any {\n const disabled = item?.attributes?.disabled;\n\n return {\n 'nav-link': true,\n disabled,\n 'btn-link': disabled,\n [`nav-link-${item.variant}`]: !!item.variant\n };\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { Component, inject, input, OnDestroy, OnInit, output } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NavigationEnd, Router, RouterModule } from '@angular/router';\nimport { Observable, Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { IconDirective } from '@coreui/icons-angular';\n// import {SidebarService} from '../sidebar.service';\nimport { HtmlAttributesDirective } from '../../shared';\nimport { SidebarNavHelper } from './sidebar-nav.service';\nimport { INavData } from './sidebar-nav';\nimport { SidebarNavLinkPipe } from './sidebar-nav-link.pipe';\nimport { SidebarNavBadgePipe } from './sidebar-nav-badge.pipe';\nimport { SidebarNavIconPipe } from './sidebar-nav-icon.pipe';\n\n@Component({\n selector: 'c-sidebar-nav-link-content',\n template: `\n @let itemLinkContent = item();\n @if (itemLinkContent) {\n <ng-container>{{ itemLinkContent?.name ?? '' }}</ng-container>\n }\n `,\n providers: [SidebarNavHelper]\n})\nexport class SidebarNavLinkContentComponent {\n readonly helper = inject(SidebarNavHelper);\n\n /**\n * The nav data item rendered as the link content.\n * @returns INavData\n * @default {}\n */\n readonly item = input<INavData>({});\n}\n\n@Component({\n selector: 'c-sidebar-nav-link',\n templateUrl: './sidebar-nav-link.component.html',\n providers: [SidebarNavHelper],\n imports: [\n RouterModule,\n HtmlAttributesDirective,\n IconDirective,\n SidebarNavLinkContentComponent,\n SidebarNavLinkPipe,\n SidebarNavBadgePipe,\n SidebarNavIconPipe,\n NgTemplateOutlet\n ]\n})\nexport class SidebarNavLinkComponent implements OnInit, OnDestroy {\n readonly router = inject(Router);\n\n /**\n * The nav data item rendered as a sidebar nav link.\n * @returns INavData\n */\n readonly item = input<INavData>();\n\n /**\n * Event emitted when the sidebar nav link is clicked.\n * @returns void\n */\n readonly linkClick = output();\n\n public linkType!: string;\n public href!: string;\n public linkActive!: boolean;\n private url!: string;\n\n private navigationEndObservable: Observable<NavigationEnd>;\n private navSubscription!: Subscription;\n\n constructor() {\n const router = this.router;\n\n this.navigationEndObservable = router.events.pipe(\n filter((event) => {\n return event instanceof NavigationEnd;\n }),\n takeUntilDestroyed()\n ) as Observable<NavigationEnd>;\n }\n\n ngOnInit(): void {\n const item = this.item() ?? {};\n this.url =\n typeof item.url === 'string'\n ? item.url\n : this.router.serializeUrl(this.router.createUrlTree((item.url as any[]) ?? ['']));\n this.linkType = this.getLinkType();\n this.href = this.isDisabled() ? '' : item.href || this.url;\n this.linkActive = this.router.url.split(/[?#(;]/)[0] === this.href.split(/[?#(;]/)[0];\n this.navSubscription = this.navigationEndObservable.subscribe((event) => {\n const itemUrlArray = this.href.split(/[?#(;]/)[0].split('/');\n const urlArray = event.urlAfterRedirects.split(/[?#(;]/)[0].split('/');\n this.linkActive = itemUrlArray.every((value, index) => value === urlArray[index]);\n });\n }\n\n ngOnDestroy(): void {\n this.navSubscription?.unsubscribe();\n }\n\n public getLinkType(): string {\n return this.isDisabled() ? 'disabled' : this.isExternalLink() ? 'external' : 'link';\n }\n\n public isDisabled(): boolean {\n return this.item()?.attributes?.['disabled'];\n }\n\n public isExternalLink(): boolean {\n const item = this.item() ?? {};\n const linkPath = Array.isArray(item.url) ? item.url[0] : item.url;\n return !!item.href || linkPath?.substring(0, 4) === 'http';\n }\n\n linkClicked(): void {\n this.linkClick?.emit();\n }\n\n // public hideMobile() {\n // // todo: proper scrollIntoView() after NavigationEnd\n // setTimeout(() => {\n // console.log('scroll')\n // this.hostElement.nativeElement.scrollIntoView();\n // }, 1000)\n // this.sidebarService.toggle({open: false, breakpoint: ''});\n // }\n}\n","@let linkItem = item() ?? {};\n\n@switch (linkType) {\n @case ('disabled') {\n <a [cHtmlAttr]=\"linkItem.attributes ?? {}\" [class]=\"linkItem | cSidebarNavLink\">\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: { $implicit: linkItem }\" />\n <c-sidebar-nav-link-content [item]=\"linkItem\" />\n @if (linkItem.badge) {\n <span [class]=\"linkItem | cSidebarNavBadge\">{{ linkItem.badge?.text }}</span>\n }\n </a>\n }\n @case ('external') {\n <a\n (click)=\"linkClicked()\"\n [cHtmlAttr]=\"linkItem.attributes ?? {}\"\n [href]=\"href\"\n [class]=\"linkItem | cSidebarNavLink\"\n >\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: { $implicit: linkItem }\" />\n <c-sidebar-nav-link-content [item]=\"linkItem\" />\n @if (linkItem.badge) {\n <span [class]=\"linkItem | cSidebarNavBadge\">{{ linkItem.badge?.text }}</span>\n }\n </a>\n }\n @default {\n <a\n (click)=\"linkClicked()\"\n [cHtmlAttr]=\"linkItem.attributes ?? {}\"\n [fragment]=\"$safeNavigationMigration(linkItem.linkProps?.fragment)\"\n [class]=\"linkItem | cSidebarNavLink\"\n [preserveFragment]=\"linkItem.linkProps?.preserveFragment ?? false\"\n [queryParamsHandling]=\"$safeNavigationMigration(linkItem.linkProps?.queryParamsHandling)\"\n [queryParams]=\"linkItem.linkProps?.queryParams ?? null\"\n [replaceUrl]=\"linkItem.linkProps?.replaceUrl ?? false\"\n [routerLinkActiveOptions]=\"linkItem.linkProps?.routerLinkActiveOptions ?? { exact: false }\"\n [routerLink]=\"linkItem.url\"\n [skipLocationChange]=\"linkItem.linkProps?.skipLocationChange ?? false\"\n [state]=\"linkItem.linkProps?.state ?? {}\"\n [target]=\"$safeNavigationMigration(linkItem.attributes?.['target'])\"\n routerLinkActive=\"active\"\n >\n <!-- [class.active]=\"linkActive\"-->\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: { $implicit: linkItem }\" />\n <c-sidebar-nav-link-content [item]=\"linkItem\" />\n @if (linkItem.badge) {\n <span [class]=\"linkItem | cSidebarNavBadge\">{{ linkItem.badge?.text }}</span>\n }\n </a>\n }\n}\n<ng-template #iconTemplate let-item>\n <!-- <i *ngIf=\"item?.icon\" [class]=\"item | cSidebarNavIcon\"></i>-->\n @if (item?.icon) {\n <span class=\"nav-icon\">\n <span [class]=\"item.icon ?? ''\"></span>\n </span>\n }\n @if (item?.iconComponent) {\n <svg\n [cIcon]=\"$safeNavigationMigration(item.iconComponent?.content)\"\n [customClasses]=\"item | cSidebarNavIcon\"\n [name]=\"$safeNavigationMigration(item.iconComponent?.name)\"\n ></svg>\n }\n @if (!item?.icon && !item?.iconComponent) {\n <span [class]=\"item | cSidebarNavIcon\"></span>\n }\n</ng-template>\n","import { Component, computed, inject, input } from '@angular/core';\n\nimport { HtmlAttributesDirective } from '../../shared';\nimport { SidebarNavHelper } from './sidebar-nav.service';\nimport { SidebarNavBadgePipe } from './sidebar-nav-badge.pipe';\nimport { INavData } from './sidebar-nav';\nimport { classMap } from './sidebar-nav.utils';\n\n@Component({\n selector: 'c-sidebar-nav-label',\n templateUrl: './sidebar-nav-label.component.html',\n imports: [HtmlAttributesDirective, SidebarNavBadgePipe]\n})\nexport class SidebarNavLabelComponent {\n readonly helper = inject(SidebarNavHelper);\n\n /**\n * The nav data item rendered as a sidebar nav label.\n * @returns INavData\n * @default {}\n */\n readonly item = input<INavData>({});\n\n readonly itemClass = computed(() => ({\n 'nav-link': true,\n 'nav-label': true,\n 'c-nav-label': true,\n 'c-active': true,\n ...classMap(this.item().class)\n }));\n\n readonly labelIconClass = computed(() => {\n const item = this.item();\n return {\n ...this.helper.getIconClass(item),\n [`text-${item.label?.variant}`]: !!item.label?.variant,\n ...classMap(item.label?.class)\n };\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()\" aria-hidden=\"true\"></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, computed, effect, ElementRef, inject, input, Renderer2 } from '@angular/core';\nimport { INavData } from './sidebar-nav';\nimport { classMap } from './sidebar-nav.utils';\n\n@Component({\n selector: 'c-sidebar-nav-title',\n template: '',\n host: {\n '[class]': 'itemClass()'\n }\n})\nexport class SidebarNavTitleComponent {\n readonly #elementRef = inject(ElementRef);\n readonly #renderer = inject(Renderer2);\n\n /**\n * The nav data item rendered as a sidebar nav title.\n * @returns INavData\n */\n readonly item = input<INavData>();\n\n readonly itemClass = computed(() => ({\n 'nav-title': true,\n ...classMap(this.item()?.class)\n }));\n\n readonly #itemEffect = effect(() => {\n const item = this.item();\n const nativeElement: HTMLElement = this.#elementRef.nativeElement;\n for (const child of [...nativeElement.childNodes]) {\n this.#renderer.removeChild(nativeElement, child);\n }\n if (item?.name) {\n const name = this.#renderer.createText(item.name);\n\n if (item?.wrapper) {\n const wrapper = this.#renderer.createElement(item.wrapper.element);\n this.addAttribs(item.wrapper.attributes, wrapper);\n this.#renderer.appendChild(wrapper, name);\n this.#renderer.appendChild(nativeElement, wrapper);\n } else {\n this.#renderer.appendChild(nativeElement, name);\n }\n }\n });\n\n private addAttribs(attribs: { [x: string]: any }, element: HTMLElement): void {\n if (attribs) {\n for (const attr in attribs) {\n if (attr === 'style' && typeof attribs[attr] === 'object') {\n this.setStyle(attribs[attr], element);\n } else if (attr === 'class') {\n this.addClass(attribs[attr], element);\n } else {\n this.setAttrib(attr, attribs[attr], element);\n }\n }\n }\n }\n\n private setStyle(styles: { [x: string]: any }, el: any): void {\n for (const style in styles) {\n if (style) {\n this.#renderer.setStyle(el, style, styles[style]);\n }\n }\n }\n\n private addClass(classes: string | string[], el: any): void {\n const classArray = Array.isArray(classes) ? classes : classes.split(' ');\n classArray\n .filter((element) => element.length > 0)\n .forEach((element) => {\n this.#renderer.addClass(el, element);\n });\n }\n\n private setAttrib(key: string, value: string, el: any): void {\n this.#renderer.setAttribute(el, key, value);\n }\n}\n","import { Component, input } from '@angular/core';\nimport { INavData } from './sidebar-nav';\n\n@Component({\n selector: 'c-sidebar-nav-divider',\n template: ``\n})\nexport class SidebarNavDividerComponent {\n /**\n * The nav data item rendered as a sidebar nav divider.\n * @returns INavData\n */\n readonly item = input<INavData>();\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\n\nimport { SidebarNavHelper } from './sidebar-nav.service';\n\n@Pipe({\n name: 'cSidebarNavItemClass'\n})\nexport class SidebarNavItemClassPipe implements PipeTransform {\n readonly helper = inject(SidebarNavHelper);\n\n // transform(item: any, ...args: any[]): any {\n transform(item: any, args?: any[]): any {\n const itemType = this.helper.itemType(item);\n let itemClass;\n if (['divider', 'title'].includes(itemType)) {\n itemClass = `nav-${itemType}`;\n } else if (itemType === 'group') {\n // itemClass = 'c-sidebar-nav-group' ;\n itemClass = '';\n } else {\n itemClass = 'nav-item';\n }\n return item.class ? `${itemClass} ${item.class}` : itemClass;\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n Component,\n computed,\n effect,\n ElementRef,\n forwardRef,\n inject,\n input,\n OnChanges,\n OnDestroy,\n OnInit,\n Renderer2,\n signal,\n SimpleChanges,\n untracked\n} from '@angular/core';\nimport { NavigationEnd, Router, RouterModule } from '@angular/router';\nimport { Observable, Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { SidebarService } from '../sidebar.service';\nimport { SidebarComponent } from '../sidebar/sidebar.component';\nimport { INavData } from './sidebar-nav';\nimport { SidebarNavHelper } from './sidebar-nav.service';\nimport { SidebarNavGroupService } from './sidebar-nav-group.service';\nimport { NavGroupService } from '../../nav';\nimport { CollapseDirective } from '../../collapse';\nimport { HtmlAttributesDirective } from '../../shared';\nimport { SidebarNavIconPipe } from './sidebar-nav-icon.pipe';\nimport { SidebarNavBadgePipe } from './sidebar-nav-badge.pipe';\nimport { SidebarNavLinkComponent } from './sidebar-nav-link.component';\nimport { SidebarNavLabelComponent } from './sidebar-nav-label.component';\nimport { SidebarNavTitleComponent } from './sidebar-nav-title.component';\nimport { SidebarNavDividerComponent } from './sidebar-nav-divider.component';\nimport { SidebarNavItemClassPipe } from './sidebar-nav-item-class.pipe';\nimport { IconDirective } from '@coreui/icons-angular';\n\n@Component({\n selector: 'c-sidebar-nav-group',\n templateUrl: './sidebar-nav-group.component.html',\n styleUrls: ['./sidebar-nav-group.component.scss'],\n providers: [SidebarNavHelper],\n imports: [\n CollapseDirective,\n HtmlAttributesDirective,\n IconDirective,\n NgTemplateOutlet,\n SidebarNavIconPipe,\n SidebarNavBadgePipe,\n forwardRef(() => SidebarNavComponent)\n ],\n host: {\n '[class]': 'hostClasses()'\n }\n})\nexport class SidebarNavGroupComponent implements OnInit, OnDestroy {\n readonly #router = inject(Router);\n readonly #hostElement = inject(ElementRef);\n readonly #sidebarNavGroupService = inject(SidebarNavGroupService);\n public readonly helper = inject(SidebarNavHelper);\n\n constructor() {\n const router = this.#router;\n\n this.navigationEndObservable = router.events.pipe(\n filter((event: any) => event instanceof NavigationEnd)\n ) as Observable<NavigationEnd>;\n }\n\n /**\n * The nav data item rendered as a sidebar nav group.\n * @returns INavData\n */\n readonly item = input<INavData>();\n\n /**\n * Determines when an inactive `c-sidebar-nav-group` closes.\n * - `path`: on an active route change only\n * - `close`: when another group is clicked\n * - `none`: never, the group stays open — it stops reacting to the route altogether,\n * so a matching route neither opens it on init nor on a later navigation\n */\n readonly dropdownMode = input<'path' | 'none' | 'close'>('path');\n\n /**\n * Sets the group's initial expanded state.\n * @returns boolean\n */\n readonly show = input<boolean>();\n\n /**\n * Renders the group's nested nav in compact mode.\n * @returns boolean\n */\n readonly compact = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n\n readonly hostClasses = computed(() => {\n return {\n 'nav-group': true,\n show: this.open()\n };\n });\n\n navigationEndObservable: Observable<NavigationEnd>;\n navSubscription!: Subscription;\n navGroupSubscription!: Subscription;\n\n readonly open = signal<boolean | undefined>(undefined);\n readonly navItems = signal<INavData[]>([]);\n readonly display = signal<string | null>(null);\n\n ngOnInit(): void {\n this.navItems.set([...(this.item()?.children ?? [])]);\n\n this.navSubscription = this.navigationEndObservable.subscribe((event: NavigationEnd) => {\n if (this.dropdownMode() !== 'none') {\n const samePath = this.samePath(event.url);\n this.openGroup(samePath);\n }\n });\n\n if (this.dropdownMode() !== 'none' && this.samePath(this.#router.routerState.snapshot.url)) {\n this.openGroup(true);\n }\n\n this.navGroupSubscription = this.#sidebarNavGroupService.sidebarNavGroupState$.subscribe((next) => {\n if (this.dropdownMode() === 'close' && next.sidebarNavGroup && next.sidebarNavGroup !== this) {\n if (this.samePath(this.#router.routerState.snapshot.url)) {\n if (this.open()) {\n return;\n }\n }\n this.openGroup(false);\n }\n });\n }\n\n samePath(url: string): boolean {\n // console.log('item:', this.item.name, this.item.url, 'url:', url);\n const itemUrl = this.item()?.url ?? [];\n const itemArray = Array.isArray(itemUrl) ? itemUrl : itemUrl.split('/');\n const urlArray = url.split('/');\n return itemArray?.every((value: string, index: number) => {\n // console.log(value === urlArray[index], 'value:', value, 'index:', index, urlArray[index], url);\n return value === urlArray[index];\n });\n }\n\n openGroup(open: boolean): void {\n if (this.open() !== undefined && this.open() !== open) {\n // the group drops `show` in the same pass, hiding the nav before cCollapse can measure it\n this.display.set('block');\n }\n this.open.set(open);\n }\n\n toggleGroup($event: any): void {\n $event.preventDefault();\n this.openGroup(!this.open());\n if (this.open()) {\n this.#sidebarNavGroupService.toggle({ open: this.open(), sidebarNavGroup: this });\n }\n }\n\n ngOnDestroy(): void {\n this.navSubscription?.unsubscribe();\n }\n\n onCollapseChange(state: string): void {\n this.display.set(state === 'collapsed' || state === 'open' ? null : 'block');\n }\n}\n\n@Component({\n selector: 'c-sidebar-nav',\n templateUrl: './sidebar-nav.component.html',\n styleUrls: ['./sidebar-nav.component.scss'],\n imports: [\n HtmlAttributesDirective,\n SidebarNavLinkComponent,\n SidebarNavLabelComponent,\n SidebarNavTitleComponent,\n SidebarNavDividerComponent,\n forwardRef(() => SidebarNavGroupComponent),\n SidebarNavItemClassPipe,\n RouterModule\n ],\n host: {\n '[class]': 'hostClasses()',\n '[attr.role]': 'role()'\n },\n providers: [NavGroupService, SidebarNavGroupService]\n})\nexport class SidebarNavComponent implements OnChanges {\n readonly sidebar = inject(SidebarComponent, { optional: true });\n readonly helper = inject(SidebarNavHelper);\n readonly router = inject(Router);\n readonly #renderer = inject(Renderer2);\n readonly #hostElement = inject(ElementRef);\n readonly #sidebarService = inject(SidebarService);\n readonly #navGroupService = inject(NavGroupService);\n\n /**\n * Configuration object for sidebar-nav.\n * @returns INavData[] | undefined\n * @default []\n */\n readonly navItems = input<INavData[] | undefined>([]);\n\n /**\n * Determines when an inactive `c-sidebar-nav-group` closes.\n * - `path`: on an active route change only\n * - `close`: when another group is clicked\n * - `none`: never, the group stays open — it stops reacting to the route altogether,\n * so a matching route neither opens it on init nor on a later navigation\n */\n readonly dropdownMode = input<'path' | 'none' | 'close'>('path');\n /**\n * Renders `c-sidebar-nav` as a nested group's item list rather than the top-level sidebar nav.\n * @returns boolean\n */\n readonly groupItems = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Renders the nav in compact mode.\n * @returns boolean\n */\n readonly compact = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n /**\n * Default role for sidebar nav.\n * @returns string\n * @default 'navigation'\n */\n readonly role = input('navigation');\n /**\n * Set the sidebar nav variant to tree.\n * @default undefined\n * @since 5.7.28\n */\n readonly variant = input<'tree'>();\n\n readonly hostClasses = computed(() => {\n const groupItems = this.groupItems();\n const variant = this.variant();\n return {\n 'sidebar-nav': !groupItems,\n 'nav-group-items': groupItems,\n [`sidebar-nav-${variant}`]: !groupItems && !!variant,\n compact: this.compact()\n };\n });\n\n readonly #dropdownModeEffect = effect(() => {\n const openOnActive = this.dropdownMode() !== 'none';\n untracked(() => {\n this.#navGroupService.openOnActive.set(openOnActive);\n });\n });\n\n // @HostBinding('class.nav-group-items')\n // get sidebarNavGroupItemsClass(): boolean {\n // return !!this.groupItems;\n // }\n\n readonly navItemsArray = signal<INavData[]>([]);\n\n public ngOnChanges(changes: SimpleChanges): void {\n const navItems = this.navItems();\n this.navItemsArray.set(Array.isArray(navItems) ? navItems.slice() : []);\n }\n\n public hideMobile(): void {\n // todo: proper scrollIntoView() after NavigationEnd\n if (this.sidebar && this.sidebar.sidebarState.mobile) {\n this.#sidebarService.toggle({ toggle: 'visible', sidebar: this.sidebar });\n }\n }\n}\n","@let grpItem = item();\n<a\n (click)=\"toggleGroup($event)\"\n [cHtmlAttr]=\"$safeNavigationMigration(grpItem?.attributes)\"\n class=\"nav-link nav-group-toggle\"\n href\n>\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: { $implicit: grpItem }\" />\n <ng-container>{{ grpItem?.name }}</ng-container>\n @if (grpItem?.badge) {\n <span [class]=\"grpItem | cSidebarNavBadge\">{{ grpItem?.badge?.text }}</span>\n }\n</a>\n<c-sidebar-nav\n (collapseChange)=\"onCollapseChange($event)\"\n [compact]=\"compact()\"\n [dropdownMode]=\"dropdownMode()\"\n [groupItems]=\"true\"\n [navItems]=\"navItems()\"\n [style.display]=\"display()\"\n [visible]=\"!!open()\"\n cCollapse\n/>\n\n<ng-template #iconTemplate let-item>\n <!-- <i *ngIf=\"item?.icon\" [class]=\"item | cSidebarNavIcon\"></i>-->\n @if (item?.icon) {\n <span class=\"nav-icon\">\n <span [class]=\"item.icon ?? ''\"></span>\n </span>\n }\n @if (item?.iconComponent) {\n <svg\n [cIcon]=\"$safeNavigationMigration(item.iconComponent?.content)\"\n [customClasses]=\"item | cSidebarNavIcon\"\n [name]=\"$safeNavigationMigration(item.iconComponent?.name)\"\n />\n }\n @if (!item?.icon && !item?.iconComponent) {\n <span [class]=\"item | cSidebarNavIcon\"></span>\n }\n</ng-template>\n","@for (nItem of navItemsArray(); track nItem) {\n @switch (helper.itemType(nItem)) {\n @case ('group') {\n <c-sidebar-nav-group\n [dropdownMode]=\"dropdownMode()\"\n [item]=\"nItem\"\n [class]=\"nItem | cSidebarNavItemClass\"\n [compact]=\"compact()\"\n />\n }\n @case ('divider') {\n <c-sidebar-nav-divider\n [cHtmlAttr]=\"nItem.attributes ?? {}\"\n [item]=\"nItem\"\n [class]=\"nItem | cSidebarNavItemClass\"\n />\n }\n @case ('title') {\n <c-sidebar-nav-title\n [cHtmlAttr]=\"nItem.attributes ?? {}\"\n [item]=\"nItem\"\n />\n }\n @case ('label') {\n <c-sidebar-nav-label\n [item]=\"nItem\"\n [class]=\"nItem | cSidebarNavItemClass\"\n />\n }\n @case ('empty') {\n <ng-container />\n }\n @default {\n <c-sidebar-nav-link\n (linkClick)=\"hideMobile()\"\n [item]=\"nItem\"\n [class]=\"nItem | cSidebarNavItemClass\"\n />\n }\n }\n}\n<ng-content />\n","import { NgModule } from '@angular/core';\n\nimport { SidebarComponent } from './sidebar/sidebar.component';\nimport { SidebarService } from './sidebar.service';\nimport { SidebarBrandComponent } from './sidebar-brand/sidebar-brand.component';\nimport { SidebarToggleDirective } from './sidebar-toggle/sidebar-toggle.directive';\nimport { SidebarTogglerDirective } from './sidebar-toggler/sidebar-toggler.directive';\nimport { SidebarHeaderComponent } from './sidebar-header/sidebar-header.component';\nimport { SidebarFooterComponent } from './sidebar-footer/sidebar-footer.component';\nimport { SidebarNavGroupService } from './sidebar-nav/sidebar-nav-group.service';\n\nimport {\n SidebarNavBadgePipe,\n SidebarNavComponent,\n SidebarNavDividerComponent,\n SidebarNavGroupComponent,\n SidebarNavHelper,\n SidebarNavIconPipe,\n SidebarNavItemClassPipe,\n SidebarNavLabelComponent,\n SidebarNavLinkComponent,\n SidebarNavLinkContentComponent,\n SidebarNavLinkPipe,\n SidebarNavTitleComponent\n} from './sidebar-nav';\n\n@NgModule({\n imports: [\n SidebarComponent,\n SidebarBrandComponent,\n SidebarFooterComponent,\n SidebarHeaderComponent,\n SidebarNavComponent,\n SidebarNavBadgePipe,\n SidebarNavDividerComponent,\n SidebarNavGroupComponent,\n SidebarNavIconPipe,\n SidebarNavItemClassPipe,\n SidebarNavLabelComponent,\n SidebarNavLinkComponent,\n SidebarNavLinkContentComponent,\n SidebarNavLinkPipe,\n SidebarNavTitleComponent,\n SidebarToggleDirective,\n SidebarTogglerDirective\n ],\n exports: [\n SidebarComponent,\n SidebarToggleDirective,\n SidebarTogglerDirective,\n SidebarBrandComponent,\n SidebarNavComponent,\n SidebarHeaderComponent,\n SidebarFooterComponent\n ],\n providers: [\n SidebarService,\n SidebarNavHelper,\n SidebarNavGroupService\n ]\n})\nexport class SidebarModule {}\n","import { Component, computed, input } from '@angular/core';\n\nimport { Colors } from '../coreui.types';\n\n@Component({\n selector: 'c-spinner',\n templateUrl: './spinner.component.html',\n host: {\n '[attr.role]': 'role()',\n '[class]': 'hostClasses()'\n }\n})\nexport class SpinnerComponent {\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly color = input<Colors>();\n\n /**\n * Label for accessibility.\n * @returns string\n * @default 'Loading...'\n */\n readonly label = input('Loading...');\n\n /**\n * Size the component small.\n * @returns 'sm'\n */\n readonly size = input<'sm'>();\n\n /**\n * Set the button variant to an outlined button or a ghost button.\n * @returns 'border' | 'grow'\n * @default 'border'\n */\n readonly variant = input<'border' | 'grow'>('border');\n /**\n * Default role attr for spinner\n * @returns string\n * @default 'status'\n */\n readonly role = input('status');\n\n readonly hostClasses = computed(() => {\n const color = this.color();\n const size = this.size();\n const variant = this.variant();\n\n return {\n [`spinner-${variant}`]: true,\n [`text-${color}`]: !!color,\n [`spinner-${variant}-${size}`]: !!size\n } as Record<string, boolean>;\n });\n}\n","<ng-content>\n <span class=\"visually-hidden\">{{ label() }}</span>\n</ng-content>\n","import { NgModule } from '@angular/core';\n\nimport { SpinnerComponent } from './spinner.component';\n\n@NgModule({\n exports: [\n SpinnerComponent\n ],\n imports: [\n SpinnerComponent\n ]\n})\nexport class SpinnerModule {}\n","import { computed, Directive, input } from '@angular/core';\nimport { Colors } from '../coreui.types';\n\n@Directive({\n selector: '[cTableColor]',\n exportAs: 'cTableColor',\n host: {\n '[class]': 'hostClasses()'\n }\n})\nexport class TableColorDirective {\n /**\n * Use contextual color for tables, table rows or individual cells.\n * @returns Colors | undefined\n */\n readonly color = input<Colors | undefined>(undefined, { alias: 'cTableColor' });\n\n readonly hostClasses = computed(() => {\n const color = this.color();\n return {\n [`table-${color}`]: !!color\n } as Record<string, boolean>;\n });\n}\n","import { booleanAttribute, Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[cTableActive]',\n exportAs: 'cTableActive',\n host: {\n '[class.table-active]': 'active()'\n }\n})\nexport class TableActiveDirective {\n /**\n * Highlight a table row or cell\n * @returns boolean\n */\n readonly active = input(false, { alias: \"cTableActive\", transform: booleanAttribute });\n}\n","import {\n afterNextRender,\n afterRenderEffect,\n ApplicationRef,\n booleanAttribute,\n computed,\n Directive,\n ElementRef,\n inject,\n input,\n OnDestroy,\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 implements OnDestroy {\n readonly #renderer = inject(Renderer2);\n readonly #hostElement = inject(ElementRef);\n readonly #appRef = inject(ApplicationRef);\n\n #wrapper: HTMLDivElement | undefined;\n\n /**\n * Set the vertical alignment.\n * @returns 'bottom' | 'middle' | 'top'\n */\n readonly align = input<'bottom' | 'middle' | 'top'>();\n\n /**\n * Sets the border color of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly borderColor = input<Colors>();\n\n /**\n * Add borders on all sides of the table and cells.\n * @returns boolean\n */\n readonly bordered = input(false, { transform: booleanAttribute });\n\n /**\n * Remove borders on all sides of the table and cells.\n * @returns boolean\n */\n readonly borderless = input(false, { transform: booleanAttribute });\n\n /**\n * Put the `<caption>` on the top of the table.\n * @returns 'top'\n * @values 'top'\n */\n readonly caption = input<'top'>();\n\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly color = input<Colors>();\n\n /**\n * Enable a hover state on table rows within table body.\n * @returns boolean\n */\n readonly hover = input(false, { transform: booleanAttribute });\n\n /**\n * Make table responsive across all viewports or pick a maximum breakpoint with which to have a responsive table up to.\n * @returns boolean | Omit<Breakpoints, 'xs'>\n * @values true | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'\n */\n readonly responsive = input(undefined, {\n transform: (value: boolean | Omit<Breakpoints, 'xs'> | undefined) =>\n value === '' || value === 'true' || value === 'false' ? booleanAttribute(value) : value\n });\n\n /**\n * Make table more compact by cutting all cell `padding` in half.\n * @returns boolean\n */\n readonly small = input(false, { transform: booleanAttribute });\n\n /**\n * Add zebra-striping to any table row within the table body.\n * @returns boolean\n */\n readonly striped = input(false, { transform: booleanAttribute });\n\n /**\n * Add zebra-striping to any table column.\n * @returns boolean\n * @since 4.2.4\n */\n readonly stripedColumns = input(false, { transform: booleanAttribute });\n\n readonly hostClasses = computed(() => {\n const align = this.align();\n const caption = this.caption();\n const borderColor = this.borderColor();\n const bordered = this.bordered();\n const borderless = this.borderless();\n const color = this.color();\n const hover = this.hover();\n const small = this.small();\n const striped = this.striped();\n const stripedColumns = this.stripedColumns();\n\n return {\n table: true,\n [`align-${align}`]: !!align,\n [`caption-${caption}`]: !!caption,\n [`border-${borderColor}`]: !!borderColor,\n 'table-bordered': bordered,\n 'table-borderless': borderless,\n [`table-${color}`]: !!color,\n 'table-hover': hover,\n 'table-sm': small,\n 'table-striped': striped,\n 'table-striped-columns': stripedColumns\n } as Record<string, boolean>;\n });\n\n readonly #responsiveWrapperEffect = afterRenderEffect({\n // this fixes RuntimeError: NG0500: During hydration Angular expected <abc> but found <xyz>.\n // Find more at https://angular.dev/errors/NG0500\n write: () => {\n const responsive = this.responsive();\n const nativeElement: HTMLElement = this.#hostElement.nativeElement;\n if (!!responsive) {\n const wrapper: HTMLDivElement = (this.#wrapper ??= this.#renderer.createElement('div'));\n const className = responsive === true ? 'table-responsive' : `table-responsive-${responsive}`;\n this.#renderer.setAttribute(wrapper, 'class', className);\n if (nativeElement.parentNode !== wrapper) {\n const parentNode = this.#renderer.parentNode(nativeElement);\n this.#renderer.insertBefore(parentNode, wrapper, nativeElement);\n this.#renderer.appendChild(wrapper, nativeElement);\n }\n } else if (this.#wrapper && nativeElement.parentNode === this.#wrapper) {\n const parentNode = this.#renderer.parentNode(this.#wrapper);\n this.#renderer.insertBefore(parentNode, nativeElement, this.#wrapper);\n this.#renderer.removeChild(parentNode, this.#wrapper, false, true);\n }\n }\n });\n\n ngOnDestroy(): void {\n const wrapper = this.#wrapper;\n if (!wrapper || this.#appRef.injector.destroyed) {\n return;\n }\n const host: HTMLElement = this.#hostElement.nativeElement;\n afterNextRender(\n {\n write: () => {\n if (host.parentNode !== wrapper) {\n this.#renderer.removeChild(this.#renderer.parentNode(wrapper), wrapper, false, true);\n }\n }\n },\n { injector: this.#appRef.injector }\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, Component, computed, inject, input, signal } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\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: {\n class: 'tab-pane',\n '[class]': 'hostClasses()',\n '[attr.role]': 'role()'\n }\n})\nexport class TabPaneComponent {\n readonly #tabService = inject(TabService);\n\n constructor() {\n this.#tabService.activeTabPaneIdx$.pipe(takeUntilDestroyed()).subscribe((tabContentState: ITabContentState) => {\n if (tabContentState.tabContent === this.tabContent) {\n this.active = tabContentState.activeIdx === this.tabPaneIdx;\n }\n });\n }\n\n /**\n * Element role.\n * @returns string\n * @default 'tabpanel'\n */\n readonly role = input('tabpanel');\n\n public tabPaneIdx!: number;\n public tabContent!: TabContentComponent;\n\n set active(value: boolean) {\n this.#active.set(booleanAttribute(value));\n }\n\n get active(): boolean {\n return this.#active();\n }\n\n readonly #active = signal(false);\n\n readonly hostClasses = computed(() => {\n const active = this.#active();\n return {\n 'tab-pane': true,\n fade: true,\n show: active,\n active\n } as Record<string, boolean>;\n });\n}\n","import {\n AfterContentChecked,\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n inject,\n Input,\n numberAttribute,\n OnChanges,\n OnDestroy,\n output,\n QueryList,\n SimpleChanges\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { TabPaneComponent } from '../tab-pane/tab-pane.component';\nimport { TabService } from '../tab.service';\n\n@Component({\n selector: 'c-tab-content',\n template: '<ng-content />',\n styleUrls: ['./tab-content.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'cTabContent',\n host: { class: 'tab-content' }\n})\nexport class TabContentComponent implements AfterContentChecked, AfterContentInit, OnChanges, OnDestroy {\n readonly #changeDetectorRef = inject(ChangeDetectorRef);\n readonly #tabService = inject(TabService);\n\n /**\n * Set active tabPane index\n * @returns number\n */\n @Input({ transform: numberAttribute })\n set activeTabPaneIdx(value: number) {\n const newValue = value;\n if (this.#activeTabPaneIdx != newValue) {\n this.#activeTabPaneIdx = newValue;\n this.activeTabPaneIdxChange?.emit(newValue);\n this.#changeDetectorRef.markForCheck();\n this.#changeDetectorRef.detectChanges();\n }\n }\n\n get activeTabPaneIdx() {\n return this.#activeTabPaneIdx;\n }\n\n #activeTabPaneIdx = -1;\n\n /**\n * Event emitted on the active tab pane index change.\n * @returns number\n */\n readonly activeTabPaneIdxChange = output<number>();\n\n @ContentChildren(TabPaneComponent) public panes!: QueryList<TabPaneComponent>;\n #tabServiceSubscription!: Subscription;\n\n ngAfterContentInit(): void {\n this.subscribeTabService();\n }\n\n ngAfterContentChecked(): void {\n this.panes?.forEach((tabPane, index) => {\n tabPane.tabContent = this;\n tabPane.tabPaneIdx = index;\n });\n this.refreshTabPaneActive(this.activeTabPaneIdx);\n this.#tabService.setActiveTabIdx({ tabContent: this, activeIdx: this.activeTabPaneIdx });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['activeTabPaneIdx']?.currentValue) {\n this.#tabService.setActiveTabIdx({ tabContent: this, activeIdx: changes['activeTabPaneIdx'].currentValue });\n }\n }\n\n ngOnDestroy(): void {\n this.subscribeTabService(false);\n }\n\n subscribeTabService(subscribe: boolean = true) {\n if (subscribe) {\n this.#tabServiceSubscription = this.#tabService.activeTabPaneIdx$.subscribe((tabContentState) => {\n if (this === tabContentState.tabContent) {\n this.activeTabPaneIdx = tabContentState.activeIdx;\n }\n });\n } else {\n this.#tabServiceSubscription?.unsubscribe();\n }\n }\n\n refreshTabPaneActive(idx: number) {\n // hack for active state pane refresh todo?\n this.panes?.forEach((tabPane, index) => {\n tabPane.active = idx === index;\n });\n }\n}\n","import {\n booleanAttribute,\n ChangeDetectorRef,\n Directive,\n HostBinding,\n HostListener,\n inject,\n Input,\n numberAttribute,\n OnChanges,\n OnDestroy,\n SimpleChanges\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { TabService } from './tab.service';\n\n@Directive({\n selector: '[cTabContent]'\n})\nexport class TabContentRefDirective implements OnChanges, OnDestroy {\n readonly #changeDetectorRef = inject(ChangeDetectorRef);\n readonly #tabService = inject(TabService);\n\n constructor() {\n this.subscribeTabService();\n }\n\n #tabServiceSubscription!: Subscription;\n\n /**\n * Template Ref\n * @returns TemplateRef\n */\n @Input('cTabContent') tabContentRef!: any;\n\n /**\n * Set active state of tab content\n * @returns boolean\n * @default false\n */\n @Input({ transform: booleanAttribute })\n set active(value: boolean) {\n const newValue = value;\n if (this.#active !== newValue) {\n this.#active = newValue;\n this.#changeDetectorRef.detectChanges();\n }\n }\n\n get active() {\n return this.#active;\n }\n\n #active = false;\n\n /**\n * Set disabled state of tab content\n * @returns boolean\n */\n @Input({ transform: booleanAttribute })\n set disabled(value: boolean) {\n this.#disabled = value;\n }\n\n get disabled(): boolean {\n return this.#disabled || this.tabPaneIdx >= this.tabContentRef?.panes?.length;\n }\n\n #disabled = false;\n\n /**\n * c-tab-pane index respectively\n * @returns number\n */\n @Input({ transform: numberAttribute }) tabPaneIdx = -1;\n\n @HostBinding('class')\n get hostClasses() {\n return {\n active: this.active,\n disabled: this.disabled\n };\n }\n\n @HostBinding('attr.aria-disabled')\n get isDisabled(): boolean | null {\n return this.disabled || null;\n }\n\n @HostBinding('attr.disabled')\n get attrDisabled() {\n return this.disabled ? '' : null;\n }\n\n @HostBinding('attr.aria-selected')\n private get ariaSelected() {\n return this.active;\n }\n\n @Input()\n @HostBinding('attr.role')\n role = 'tab';\n\n @HostBinding('attr.tabindex')\n get getTabindex(): string | null {\n return this.disabled ? '-1' : null;\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['active']?.currentValue) {\n this.setActiveTabPane();\n }\n }\n\n @HostListener('click', ['$event'])\n toggleOpen($event: any): void {\n $event.preventDefault();\n this.setActiveTabPane();\n }\n\n setActiveTabPane() {\n setTimeout(() => {\n if (this.tabPaneIdx < this.tabContentRef.panes.length) {\n this.active = true;\n this.#tabService.setActiveTabIdx({ tabContent: this.tabContentRef, activeIdx: this.tabPaneIdx });\n } else {\n this.active = false;\n }\n });\n }\n\n ngOnDestroy(): void {\n this.subscribeTabService(false);\n }\n\n subscribeTabService(subscribe: boolean = true) {\n if (subscribe) {\n this.#tabServiceSubscription = this.#tabService.activeTabPaneIdx$.subscribe((tabContentState) => {\n if (tabContentState.tabContent === this.tabContentRef) {\n this.active = tabContentState.activeIdx === this.tabPaneIdx;\n }\n });\n } else {\n this.#tabServiceSubscription?.unsubscribe();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { TabContentComponent } from './tab-content/tab-content.component';\nimport { TabPaneComponent } from './tab-pane/tab-pane.component';\nimport { TabService } from './tab.service';\nimport { TabContentRefDirective } from './tab-content-ref.directive';\n\n@NgModule({\n imports: [\n TabContentComponent,\n TabContentRefDirective,\n TabPaneComponent\n ],\n exports: [\n TabContentComponent,\n TabPaneComponent,\n TabContentRefDirective\n ],\n providers: [\n TabService\n ]\n})\nexport class TabsModule {}\n","import { Injectable, signal } from '@angular/core';\n\n@Injectable()\nexport class TabsService {\n readonly activeItem = signal<any>(undefined);\n readonly activeItemKey = signal<string | number | undefined>(undefined);\n readonly id = signal<string | number | undefined>(undefined);\n}\n","import { Component, effect, inject, input, model } from '@angular/core';\nimport { TabsService } from './tabs.service';\n\nlet nextId = 0;\n\n@Component({\n exportAs: 'cTabs',\n selector: 'c-tabs',\n imports: [],\n template: '<ng-content />',\n styleUrl: './tabs.component.scss',\n providers: [TabsService],\n host: {\n '[id]': 'id()',\n class: 'tabs'\n }\n})\nexport class TabsComponent {\n readonly tabsService = inject(TabsService);\n\n /**\n * The active item key.\n * @returns number | string\n */\n readonly activeItemKey = model<number | string>();\n\n /**\n * The id attribute\n * @returns string\n */\n tabsId = `tabs-${nextId++}`;\n\n /**\n * HTML id attribute.\n * @returns string\n * @default `tabs-{n}`\n */\n readonly id = input<string>(this.tabsId);\n\n readonly #activeItemEffect = effect(() => {\n this.tabsService.id.set(this.id());\n this.tabsService.activeItemKey.set(this.activeItemKey());\n });\n\n readonly #tabsServiceEffect = effect(() => {\n this.activeItemKey.set(this.tabsService.activeItemKey());\n });\n}\n","import { FocusableOption, FocusOrigin } from '@angular/cdk/a11y';\nimport {\n booleanAttribute,\n computed,\n DestroyRef,\n Directive,\n effect,\n ElementRef,\n inject,\n Injector,\n input,\n InputSignal,\n linkedSignal,\n OnInit,\n runInInjectionContext,\n signal,\n untracked\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { fromEvent, merge, takeWhile } from 'rxjs';\nimport { filter, tap } from 'rxjs/operators';\nimport { TabsService } from '../tabs.service';\n\n@Directive({\n exportAs: 'cTab',\n selector: 'button[cTab]',\n host: {\n '[class]': 'hostClasses()',\n type: 'button',\n role: 'tab',\n '[aria-selected]': 'isActive()',\n '[aria-controls]': 'attrAriaControls()',\n '[attr.disabled]': 'attrDisabled() || null',\n '[id]': 'propId()',\n '[attr.tabindex]': 'isActive() ? 0 : -1'\n }\n})\nexport class TabDirective implements FocusableOption, OnInit {\n readonly #injector = inject(Injector);\n readonly #destroyRef = inject(DestroyRef);\n readonly #elementRef = inject(ElementRef);\n readonly #tabsService = inject(TabsService);\n\n /**\n * Disabled attribute\n * @returns boolean\n * @default false\n */\n readonly disabledInput = input(false, { transform: booleanAttribute, alias: 'disabled' });\n\n readonly #disabled = linkedSignal(this.disabledInput);\n readonly attrDisabled = computed(() => this.#disabled() || null);\n\n set disabled(value: boolean) {\n this.#disabled.set(value);\n }\n\n get disabled() {\n return this.#disabled();\n }\n\n /**\n * Item key.\n * @returns string | number\n * @required\n */\n readonly itemKey: InputSignal<string | number> = input.required<string | number>();\n\n /**\n * Element id attribute\n * @returns string\n * @default undefined\n */\n readonly id: InputSignal<string | undefined> = input<string>();\n\n /**\n * aria-controls attribute\n * @returns string\n * @default undefined\n */\n readonly ariaControls: InputSignal<string | undefined> = input<string | undefined>(undefined, {\n alias: 'aria-controls'\n });\n\n readonly isActive = signal(false);\n\n readonly hostClasses = computed(() => {\n return {\n 'nav-link': true,\n active: this.isActive(),\n disabled: this.#disabled()\n } as Record<string, boolean>;\n });\n\n readonly propId = computed(() => this.id() ?? `${this.#tabsService.id()}-tab-${this.itemKey()}`);\n\n readonly attrAriaControls = computed(\n () => this.ariaControls() ?? `${this.#tabsService.id()}-panel-${this.itemKey()}`\n );\n\n readonly #disabledSignalEffect = effect(() => {\n const disabled = this.#disabled();\n if (!disabled) {\n const click$ = fromEvent<MouseEvent>(this.#elementRef.nativeElement, 'click');\n const focusIn$ = fromEvent<FocusEvent>(this.#elementRef.nativeElement, 'focusin');\n\n merge(focusIn$, click$)\n .pipe(\n filter(($event) => !disabled),\n tap(($event) => {\n this.#tabsService.activeItemKey.set(untracked(this.itemKey));\n }),\n takeWhile(() => !disabled),\n takeUntilDestroyed(this.#destroyRef)\n )\n .subscribe();\n }\n });\n\n focus(origin?: FocusOrigin): void {\n this.#elementRef.nativeElement.focus();\n }\n\n ngOnInit(): void {\n runInInjectionContext(this.#injector, () => {\n effect(() => {\n const isActive = this.#tabsService.activeItemKey() === this.itemKey();\n this.isActive.set(isActive);\n });\n });\n }\n}\n","import { FocusKeyManager } from '@angular/cdk/a11y';\nimport {\n Component,\n computed,\n contentChildren,\n DestroyRef,\n effect,\n ElementRef,\n inject,\n Injector,\n input,\n InputSignal,\n untracked\n} from '@angular/core';\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 #injector = inject(Injector);\n readonly tabsService = inject(TabsService);\n readonly #rtlService = inject(RtlService);\n\n constructor() {\n this.#focusKeyManager.change.subscribe(() => {\n this.tabsService.activeItemKey.set(this.#focusKeyManager.activeItem?.itemKey());\n this.tabsService.activeItem.set(this.#focusKeyManager.activeItem);\n });\n this.#destroyRef.onDestroy(() => this.#focusKeyManager.destroy());\n }\n\n /**\n * Specify a layout type for component.\n * @returns 'fill' | 'justified' | undefined\n * @default undefined\n */\n readonly layout: InputSignal<'fill' | 'justified' | undefined> = input();\n\n /**\n * Set the variant to tabs, pills, underline or enclosed.\n * @returns 'enclosed' | 'enclosed-pills' | 'pills' | 'tabs' | 'underline' | 'underline-border' | undefined\n * @default undefined\n */\n readonly variant: InputSignal<\n 'enclosed' | 'enclosed-pills' | 'pills' | 'tabs' | 'underline' | 'underline-border' | undefined\n > = input();\n\n /**\n * Set the role to tab list.\n * @default 'tablist'\n */\n readonly role = input('tablist');\n\n readonly hostClasses = computed(() => {\n const layout = this.layout();\n const variant = this.variant();\n\n return {\n nav: true,\n [`nav-${layout}`]: layout,\n 'nav-enclosed': variant === 'enclosed' || variant === 'enclosed-pills',\n [`nav-${variant}`]: variant\n } as Record<string, boolean>;\n });\n\n readonly tabs = contentChildren(TabDirective);\n protected readonly tabElements = contentChildren(TabDirective, { read: ElementRef });\n readonly #focusKeyManager = new FocusKeyManager(this.tabs, this.#injector)\n .skipPredicate((tab) => tab.disabled === true)\n .withHomeAndEnd()\n .withWrap();\n\n readonly #tabsEffect = effect(() => {\n const tabs = this.tabs();\n if (tabs.length === 0) {\n return;\n }\n\n untracked(() => {\n setTimeout(() => {\n const activeItem = tabs.find((tab) => tab.isActive()) ?? tabs.find((tab) => !tab.disabled) ?? tabs[0];\n this.#focusKeyManager.updateActiveItem(activeItem);\n this.tabsService.activeItemKey.set(activeItem.itemKey());\n this.tabsService.activeItem.set(activeItem);\n });\n });\n });\n\n onKeyDown($event: any) {\n if (['ArrowLeft', 'ArrowRight', 'End', 'Home'].includes($event.key)) {\n const index = this.tabElements().findIndex((tab) => tab.nativeElement.contains($event.target));\n if (index < 0) {\n return;\n }\n this.#focusKeyManager.withHorizontalOrientation(\n this.#rtlService.isRTL(this.#elementRef.nativeElement) ? 'rtl' : 'ltr'\n );\n this.#focusKeyManager.updateActiveItem(index);\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 { Component, computed, effect, ElementRef, inject, input, numberAttribute, output, signal } from '@angular/core';\nimport getTransitionDurationFromElement from '../../utilities/getTransitionDurationFromElement';\nimport { TabsService } from '../tabs.service';\n\nexport type VisibleChangeEvent = { itemKey: string | number; visible: boolean };\n\n@Component({\n exportAs: 'cTabPanel',\n selector: 'c-tab-panel',\n template: '<ng-content />',\n host: {\n '[class]': 'hostClasses()',\n '[attr.tabindex]': 'visible() ? tabindex() : -1',\n '[aria-labelledby]': 'attrAriaLabelledBy()',\n '[id]': 'propId()',\n '[attr.role]': 'role()',\n '(transitionend)': 'onTransitionEnd($event)'\n }\n})\nexport class TabPanelComponent {\n readonly #tabsService = inject(TabsService);\n readonly #elementRef = inject(ElementRef);\n\n /**\n * aria-labelledby attribute\n * @returns string | undefined\n * @default undefined\n */\n readonly ariaLabelledBy = input<string | undefined>(undefined, {\n alias: 'aria-labelledby'\n });\n\n /**\n * Element id attribute\n * @returns string\n * @default undefined\n */\n readonly id = input<string>();\n\n /**\n * Item key.\n * @returns string | number\n * @required\n */\n readonly itemKey = input.required<string | number>();\n\n /**\n * Element role.\n * @returns string\n * @default 'tabpanel'\n */\n readonly role = input('tabpanel');\n\n /**\n * tabindex attribute.\n * @returns number\n * @default 0\n */\n readonly tabindex = input(0, { transform: numberAttribute });\n\n /**\n * Enable fade in transition.\n * @returns boolean\n * @default true\n */\n readonly transition = input(true);\n\n /**\n * visible change output\n * @returns VisibleChangeEvent\n */\n readonly visibleChange = output<VisibleChangeEvent>();\n\n protected readonly show = signal(false);\n\n readonly visible = computed(() => {\n const visible = this.#tabsService.activeItemKey() === this.itemKey();\n this.visibleChange?.emit({ itemKey: this.itemKey(), visible });\n return visible;\n });\n\n #transitionDuration = 0;\n\n readonly #visibleEffect = effect(() => {\n const isVisible = this.visible();\n const hasTransition = this.transition();\n\n if (!hasTransition) {\n this.show.set(isVisible);\n } else {\n requestAnimationFrame(() => {\n if (this.#transitionDuration === 0) {\n this.#transitionDuration = getTransitionDurationFromElement(this.#elementRef.nativeElement);\n }\n setTimeout(() => this.show.set(isVisible), this.#transitionDuration || 0);\n });\n }\n });\n\n protected readonly propId = computed(() => this.id() ?? `${this.#tabsService.id()}-panel-${this.itemKey()}`);\n\n protected readonly attrAriaLabelledBy = computed(\n () => this.ariaLabelledBy() ?? `${this.#tabsService.id()}-tab-${this.itemKey()}`\n );\n\n protected readonly hostClasses = computed(\n () =>\n ({\n 'tab-pane': true,\n active: this.visible(),\n fade: this.transition(),\n show: this.show()\n }) as Record<string, boolean>\n );\n\n protected onTransitionEnd($event: TransitionEvent): void {\n if ($event.propertyName === 'opacity' && $event.target === this.#elementRef.nativeElement) {\n this.show.set(this.visible());\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { TabsService } from './tabs.service';\nimport { TabsComponent } from './tabs.component';\nimport { TabDirective } from './tab/tab.directive';\nimport { TabsListComponent } from './tabs-list/tabs-list.component';\nimport { TabsContentComponent } from './tabs-content/tabs-content.component';\nimport { TabPanelComponent } from './tab-panel/tab-panel.component';\n\n@NgModule({\n imports: [TabsComponent, TabsListComponent, TabDirective, TabsContentComponent, TabPanelComponent],\n exports: [TabsComponent, TabsListComponent, TabDirective, TabsContentComponent, TabPanelComponent],\n providers: [TabsService]\n})\nexport class Tabs2Module {}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { TToasterPlacement } from './toaster.component';\nimport { type ToastComponent } from '../toast/toast.component';\n\nexport interface IToasterAction {\n placement?: TToasterPlacement;\n toast?: ToastComponent;\n show?: boolean;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ToasterService {\n readonly #toasterState = new BehaviorSubject<IToasterAction>({});\n readonly toasterState$ = this.#toasterState.asObservable();\n\n setState(state: IToasterAction): void {\n this.#toasterState.next({ ...state });\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'c-toast-content',\n template: `<ng-content />`,\n host: {\n class: 'toast-content'\n },\n styles: `\n .toast-content {\n min-height: 0;\n }\n `\n})\nexport class ToastContentComponent {}\n","import {\n AnimationCallbackEvent,\n booleanAttribute,\n ChangeDetectorRef,\n Component,\n computed,\n DestroyRef,\n effect,\n ElementRef,\n inject,\n input,\n linkedSignal,\n numberAttribute,\n OnDestroy,\n OnInit,\n output,\n Renderer2,\n signal,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { skipWhile } from 'rxjs';\n\nimport { Colors } from '../../coreui.types';\nimport { ToasterService } from '../toaster/toaster.service';\nimport { TToasterPlacement } from '../toaster/toaster.component';\nimport { ToastContentComponent } from './toast-content.component';\n\n@Component({\n selector: 'c-toast',\n template: `\n <c-toast-content>\n <ng-content />\n </c-toast-content>\n `,\n styleUrls: ['./toast.component.scss'],\n exportAs: 'cToast',\n host: {\n class: 'toast',\n '[attr.role]': 'role() || null',\n '[aria-atomic]': 'visible || null',\n '[class]': 'hostClasses()',\n '[inert]': '!visible || null',\n '(animate.enter)': 'handleEnter($event)',\n '(animate.leave)': 'handleLeave($event)',\n '(mouseover)': 'clearTimer()',\n '(mouseout)': 'setTimer()'\n },\n encapsulation: ViewEncapsulation.None,\n imports: [ToastContentComponent]\n})\nexport class ToastComponent implements OnInit, OnDestroy {\n readonly destroyRef = inject(DestroyRef);\n readonly changeDetectorRef = inject(ChangeDetectorRef);\n readonly hostElement = inject(ElementRef);\n readonly renderer = inject(Renderer2);\n readonly toasterService = inject(ToasterService);\n\n /**\n * Marks the toast as dynamically created by `ToasterService`, rather than declared in the template.\n * @returns boolean\n */\n readonly dynamic = input<boolean>();\n\n /**\n * Placement of the toast within its toaster, set by `ToasterComponent`.\n * @returns TToasterPlacement\n */\n readonly placementInput = input<TToasterPlacement>(undefined, { alias: 'placement' });\n\n get placement() {\n return this.placementInput();\n }\n\n /**\n * Auto hide the toast.\n * @returns boolean\n */\n readonly autohide = input(true);\n\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n readonly color = input<Colors>('');\n\n /**\n * Delay hiding the toast (ms).\n * @returns number\n */\n readonly delay = input(5000, { transform: numberAttribute });\n\n /**\n * Apply fade transition to the toast.\n * @returns boolean\n */\n readonly fade = input(true);\n\n /**\n * ARIA role attribute.\n * @returns string\n */\n readonly role = input('alert');\n\n /**\n * Toggle the visibility of component.\n * @returns boolean\n */\n readonly visibleInput = input(false, { transform: booleanAttribute, alias: 'visible' });\n\n readonly #visible = linkedSignal(this.visibleInput);\n\n readonly #visible$ = toObservable(this.#visible);\n\n readonly #visibleEffect = effect(() => {\n const visible = this.#visible();\n visible ? this.setTimer() : this.clearTimer();\n this.changeDetectorRef.markForCheck();\n });\n\n set visible(value: boolean) {\n this.#visible.set(value);\n }\n\n get visible(): boolean {\n return this.#visible();\n }\n\n /**\n * @ignore\n */\n readonly index = input(0, { transform: numberAttribute });\n\n /**\n * Event emitted on visibility change\n * @returns boolean\n */\n readonly visibleChange = output<boolean>();\n\n /**\n * Event emitted on timer tick\n * @returns number\n */\n readonly timer = output<number>();\n\n private timerId: ReturnType<typeof setTimeout> | undefined;\n private clockId: ReturnType<typeof setInterval> | undefined;\n private clockTimerId: ReturnType<typeof setTimeout> | undefined;\n\n private _clock!: number;\n\n get clock(): number {\n return this._clock;\n }\n\n set clock(value) {\n this._clock = value;\n this.timer?.emit(this._clock);\n this.changeDetectorRef.markForCheck();\n }\n\n readonly hostClasses = computed(() => {\n const color = this.color();\n return {\n toast: true,\n show: this.#visible() && this.#rendered(),\n [`text-bg-${color}`]: !!color,\n // [`bg-${color}`]: !!color,\n 'border-0': !!color,\n fade: this.fade()\n } as Record<string, boolean>;\n });\n\n ngOnInit(): void {\n if (this.visible) {\n this.toasterService.setState({\n toast: this,\n show: this.visible,\n placement: this.placement\n });\n this.clearTimer();\n this.setTimer();\n }\n\n // skip the first emission if the initial value is false to prevent emitting visibleChange on init\n this.#visible$\n .pipe(\n skipWhile((value, index) => !value && index === 0),\n takeUntilDestroyed(this.destroyRef)\n )\n .subscribe((visible) => {\n this.visibleChange.emit(visible);\n });\n }\n\n ngOnDestroy(): void {\n this.clearTimer();\n }\n\n setTimer(): void {\n this.clearTimer();\n if (this.autohide() && this.visible) {\n this.timerId = this.delay() > 0 ? setTimeout(() => this.onClose(), this.delay()) : undefined;\n this.setClock();\n }\n }\n\n clearTimer(): void {\n this.clearClock();\n clearTimeout(this.timerId);\n this.timerId = undefined;\n }\n\n onClose(): void {\n this.clearTimer();\n this.toasterService.setState({\n toast: this,\n show: false,\n placement: this.placement\n });\n }\n\n setClock(): void {\n this.clearClock();\n this.clock = 0;\n this.clockId = setInterval(() => {\n this.clock += 1;\n this.changeDetectorRef.markForCheck();\n }, 1000);\n this.clockTimerId = setTimeout(() => {\n this.clearClock();\n }, this.delay());\n }\n\n clearClock(): void {\n clearTimeout(this.clockTimerId);\n clearInterval(this.clockId);\n this.clockId = undefined;\n }\n\n readonly #rendered = signal(false);\n\n protected handleEnter($event: AnimationCallbackEvent) {\n // Check if the component is inserted dynamically / conditionally - the class '.ng-star-inserted' is added to the host element.\n // If the class is present, set the visible state true to trigger the animation.\n const inserted = this.hostElement.nativeElement.classList.contains('ng-star-inserted');\n if (inserted) {\n this.#visible.set(true);\n }\n setTimeout(() => {\n this.#rendered.set(true);\n });\n }\n\n protected handleLeave($event: AnimationCallbackEvent) {\n this.#visible.set(false);\n // component is destroyed already, remove the class\n this.renderer.removeClass(this.hostElement.nativeElement, 'show');\n }\n}\n","import { Component, inject } from '@angular/core';\nimport { ToastComponent } from '../toast/toast.component';\n\n@Component({\n selector: 'c-toast-body',\n template: '<ng-content />',\n styleUrls: ['./toast-body.component.scss'],\n exportAs: 'cToastBody',\n host: {\n class: 'toast-body'\n }\n})\nexport class ToastBodyComponent {\n readonly toast? = inject(ToastComponent, { optional: true });\n}\n","import { Directive, inject, input } from '@angular/core';\nimport { ToasterService } from './toaster/toaster.service';\nimport type { ToastComponent } from './toast/toast.component';\n\n@Directive({\n selector: '[cToastClose]',\n exportAs: 'cToastClose',\n host: {\n '(click)': 'toggleOpen($event)'\n }\n})\nexport class ToastCloseDirective {\n readonly #toasterService = inject(ToasterService);\n\n /**\n * Toast to close.\n * @returns ToastComponent\n */\n readonly cToastClose = input<ToastComponent>();\n\n toggleOpen($event: MouseEvent): void {\n $event.preventDefault();\n this.#toasterService.setState({ show: false, toast: this.cToastClose() });\n }\n}\n","import { Component, inject, input, signal } from '@angular/core';\n\nimport { ButtonCloseDirective } from '../../button';\nimport { ToastComponent } from '../toast/toast.component';\nimport { ToastCloseDirective } from '../toast-close.directive';\n\n@Component({\n selector: 'c-toast-header',\n templateUrl: './toast-header.component.html',\n exportAs: 'cToastHeader',\n imports: [ToastCloseDirective, ButtonCloseDirective],\n host: {\n class: 'toast-header'\n }\n})\nexport class ToastHeaderComponent {\n readonly #toast = inject(ToastComponent, { optional: true });\n\n readonly toast = signal(this.#toast ?? undefined);\n\n /**\n * Add close button to a toast header\n * @returns boolean\n */\n readonly closeButton = input(true);\n}\n","<ng-container>\n <ng-content />\n @if (closeButton()) {\n <button [cToastClose]=\"toast()\" [style]=\"{outline: 0}\" aria-label=\"close\" cButtonClose class=\"ms-auto\"></button>\n }\n</ng-container>\n","import { Directive, inject, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[cToasterHost]',\n exportAs: 'cToasterHost'\n})\nexport class ToasterHostDirective {\n readonly viewContainerRef = inject(ViewContainerRef);\n}\n","import {\n Component,\n ComponentRef,\n computed,\n contentChildren,\n DestroyRef,\n effect,\n inject,\n Injector,\n input,\n MAX_ANIMATION_TIMEOUT,\n NgModuleRef,\n OnInit,\n viewChild,\n ViewContainerRef\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { IToasterAction, ToasterService } from './toaster.service';\nimport { ToasterHostDirective } from './toaster-host.directive';\nimport { ToastComponent } from '../toast/toast.component';\n\nexport enum ToasterPlacement {\n Static = 'static',\n TopStart = 'top-start',\n TopCenter = 'top-center',\n TopEnd = 'top-end',\n MiddleStart = 'middle-start',\n MiddleCenter = 'middle-center',\n MiddleEnd = 'middle-end',\n BottomStart = 'bottom-start',\n BottomCenter = 'bottom-center',\n BottomEnd = 'bottom-end'\n}\n\nexport type TToasterPlacement =\n | ToasterPlacement.Static\n | ToasterPlacement.TopStart\n | ToasterPlacement.TopCenter\n | ToasterPlacement.TopEnd\n | ToasterPlacement.MiddleStart\n | ToasterPlacement.MiddleCenter\n | ToasterPlacement.MiddleEnd\n | ToasterPlacement.BottomStart\n | ToasterPlacement.BottomCenter\n | ToasterPlacement.BottomEnd\n | string;\n\n@Component({\n selector: 'c-toaster',\n templateUrl: './toaster.component.html',\n exportAs: 'cToaster',\n imports: [ToasterHostDirective],\n host: {\n class: 'toaster toast-container',\n '[class]': 'hostClasses()'\n },\n providers: [ToasterService]\n})\nexport class ToasterComponent implements OnInit {\n readonly #toasterService = inject(ToasterService);\n readonly #destroyRef = inject(DestroyRef);\n readonly #maxAnimationTimeout = inject(MAX_ANIMATION_TIMEOUT);\n\n placements = Object.values(ToasterPlacement);\n toastsDynamic: ComponentRef<any>[] = [];\n\n /**\n * Toaster placement\n * @returns TToasterPlacement\n */\n readonly placementInput = input<TToasterPlacement>(ToasterPlacement.TopEnd, { alias: 'placement' });\n\n get placement() {\n return this.placementInput();\n }\n\n /**\n * Toaster position\n * @returns string | 'absolute' | 'fixed' | 'static'\n */\n readonly position = input<string | 'absolute' | 'fixed' | 'static'>('absolute');\n\n readonly toasterHost = viewChild.required(ToasterHostDirective);\n readonly contentToasts = contentChildren(ToastComponent, { read: ViewContainerRef });\n\n readonly #contentToastsEffect = effect(() => {\n // Ensure that the contentToasts is available before accessing it\n // temp fix for: ASSERTION ERROR: Unexpected state: no hydration info available for a given TNode, which represents a view container. [Expected=> null != undefined <=Actual]\n this.contentToasts();\n });\n\n readonly hostClasses = computed(() => {\n const placement = this.placement;\n const position = this.position();\n return {\n toaster: true,\n 'toast-container': true,\n [`position-${position}`]: !!position,\n 'top-0': placement.includes('top'),\n 'top-50': placement.includes('middle'),\n 'bottom-0': placement.includes('bottom'),\n 'start-0': placement.includes('start'),\n 'start-50': placement.includes('center'),\n 'end-0': placement.includes('end'),\n 'translate-middle-x': placement.includes('center') && !placement.includes('middle'),\n 'translate-middle-y': placement.includes('middle') && !placement.includes('center'),\n 'translate-middle': placement.includes('middle') && placement.includes('center')\n } as Record<string, boolean>;\n });\n\n ngOnInit(): void {\n this.stateToasterSubscribe();\n }\n\n public addToast(\n toast: any,\n props: any,\n options?: {\n index?: number;\n injector?: Injector;\n ngModuleRef?: NgModuleRef<unknown>;\n projectableNodes?: Node[][];\n }\n ): ComponentRef<any> {\n const componentRef: ComponentRef<any> = this.toasterHost().viewContainerRef.createComponent(toast, options);\n this.toastsDynamic.push(componentRef);\n const index = this.toastsDynamic.indexOf(componentRef);\n for (const [key, value] of Object.entries(props)) {\n try {\n componentRef.setInput(key, value);\n } catch (error) {\n console.error('Toast input error:', error);\n }\n }\n componentRef.setInput('placement', this.placement);\n componentRef.setInput('dynamic', true);\n componentRef.setInput('index', index);\n componentRef.setInput('visible', true);\n componentRef.instance['visibleChange']?.emit(true);\n componentRef.changeDetectorRef?.markForCheck();\n return componentRef;\n }\n\n public removeToast(state: IToasterAction): void {\n this.toastsDynamic?.forEach((item) => {\n if (state.toast?.dynamic() && item.instance === state.toast) {\n item.setInput('visible', false);\n item.instance['visibleChange'].emit(false);\n setTimeout(() => {\n item?.destroy();\n }, this.#maxAnimationTimeout);\n }\n });\n this.contentToasts()?.forEach((item) => {\n if (state.toast && item.element.nativeElement === state.toast.hostElement.nativeElement) {\n if (!state.toast.dynamic()) {\n state.toast.visible = false;\n }\n }\n });\n }\n\n private stateToasterSubscribe(): void {\n this.#toasterService.toasterState$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe((state) => {\n if (state.show === false) {\n this.removeToast(state);\n }\n // if (state.show === true && state.toast?.dynamic() === undefined) {\n // /* empty */\n // }\n });\n }\n}\n","<ng-template cToasterHost />\n<ng-content />\n","import { NgModule } from '@angular/core';\nimport { ToastComponent } from './toast/toast.component';\nimport { ToastContentComponent } from './toast/toast-content.component';\nimport { ToastHeaderComponent } from './toast-header/toast-header.component';\nimport { ToastBodyComponent } from './toast-body/toast-body.component';\nimport { ToasterComponent } from './toaster/toaster.component';\nimport { ToasterService } from './toaster/toaster.service';\nimport { ToasterHostDirective } from './toaster/toaster-host.directive';\nimport { ToastCloseDirective } from './toast-close.directive';\n\n@NgModule({\n imports: [\n ToastBodyComponent,\n ToastComponent,\n ToastContentComponent,\n ToastCloseDirective,\n ToastHeaderComponent,\n ToasterComponent,\n ToasterHostDirective\n ],\n providers: [ToasterService],\n exports: [\n ToastBodyComponent,\n ToastComponent,\n ToastContentComponent,\n ToastCloseDirective,\n ToastHeaderComponent,\n ToasterComponent,\n ToasterHostDirective\n ]\n})\nexport class ToastModule {}\n","import {\n booleanAttribute,\n Component,\n computed,\n effect,\n inject,\n input,\n OnDestroy,\n Renderer2,\n TemplateRef,\n viewChild,\n ViewContainerRef\n} from '@angular/core';\n\n@Component({\n selector: 'c-tooltip',\n templateUrl: './tooltip.component.html',\n host: {\n class: 'tooltip fade bs-tooltip-auto',\n '[class]': 'hostClasses()',\n '[attr.role]': 'role()',\n '[attr.id]': 'id()'\n }\n})\nexport class TooltipComponent implements OnDestroy {\n readonly renderer = inject(Renderer2);\n\n /**\n * Content of tooltip\n * @returns string | TemplateRef<any>\n */\n readonly content = input<string | TemplateRef<any>>('');\n\n readonly #contentEffect = effect(() => {\n this.updateView(this.content());\n });\n\n /**\n * Toggle the visibility of popover component.\n * @returns boolean\n */\n readonly visible = input(false, { transform: booleanAttribute });\n\n /**\n * The `id` HTML attribute of the tooltip.\n * @returns string\n */\n readonly id = input<string>();\n\n /**\n * Default role for tooltip.\n * @returns string\n * @default 'tooltip'\n */\n readonly role = input('tooltip');\n\n readonly viewContainerRef = viewChild('tooltipTemplate', { read: ViewContainerRef });\n private textNode!: Text;\n\n readonly hostClasses = computed(() => {\n return {\n tooltip: true,\n fade: true,\n show: this.visible(),\n 'bs-tooltip-auto': true\n } as Record<string, boolean>;\n });\n\n ngOnDestroy(): void {\n this.clear();\n }\n\n private clear(): void {\n this.viewContainerRef()?.clear();\n if (!!this.textNode) {\n this.renderer.removeChild(this.textNode.parentNode, this.textNode);\n }\n }\n\n private updateView(content: string | TemplateRef<any>): void {\n this.clear();\n\n if (!content) {\n return;\n }\n\n if (content instanceof TemplateRef) {\n this.viewContainerRef()?.createEmbeddedView(content);\n } else {\n this.textNode = this.renderer.createText(content);\n\n const element = this.viewContainerRef()?.element.nativeElement;\n this.renderer.appendChild(element.parentNode, this.textNode);\n }\n }\n}\n","<ng-container>\n <div class=\"tooltip-arrow\" data-popper-arrow></div>\n <div class=\"tooltip-inner\">\n <ng-container #tooltipTemplate />\n </div>\n</ng-container>\n","import {\n afterRenderEffect,\n AfterViewChecked,\n AfterViewInit,\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 PLATFORM_ID,\n Renderer2,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport { isPlatformServer } from '@angular/common';\nimport { addAriaReferencedId, getAriaReferenceIds, removeAriaReferencedId } from '@angular/cdk/a11y';\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, UIDService } 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})\nexport class TooltipDirective implements OnDestroy, OnInit, AfterViewChecked, AfterViewInit {\n readonly #renderer = inject(Renderer2);\n readonly #hostElement = inject(ElementRef);\n readonly #viewContainerRef = inject(ViewContainerRef);\n readonly #listenersService = inject(ListenersService);\n readonly #intersectionService = inject(IntersectionService);\n readonly #destroyRef = inject(DestroyRef);\n readonly #document = inject(DOCUMENT);\n readonly #isServer = isPlatformServer(inject(PLATFORM_ID));\n readonly #tooltipId = inject(UIDService).getUID('tooltip');\n #timerId1: ReturnType<typeof setTimeout> | undefined;\n #timerId2: ReturnType<typeof setTimeout> | undefined;\n\n /**\n * Content of tooltip\n * @returns string | TemplateRef<any> | undefined\n */\n readonly content = input<string | TemplateRef<any> | undefined>(undefined, { alias: 'cTooltip' });\n\n readonly #contentEffect = effect(() => {\n if (this.content()) {\n this.destroyTooltipElement();\n }\n });\n\n /**\n * Optional popper Options object, takes precedence over cPopoverPlacement prop\n * @returns Partial<Options>\n */\n readonly popperOptions = input<Partial<Options>>({}, { alias: 'cTooltipOptions' });\n\n readonly #popperOptionsEffect = effect(() => {\n this._popperOptions = {\n ...this._popperOptions,\n placement: this.placement(),\n ...this.popperOptions()\n };\n });\n\n readonly popperOptionsComputed = computed(() => {\n return { placement: this.placement(), ...this._popperOptions };\n });\n\n /**\n * Describes the placement of your component after Popper.js has applied all the modifiers that may have flipped or altered the originally provided placement property.\n * @returns 'top' | 'bottom' | 'left' | 'right'\n * @default 'top'\n */\n readonly placement = input<'top' | 'bottom' | 'left' | 'right'>('top', { alias: 'cTooltipPlacement' });\n\n /**\n * ElementRefDirective for positioning the tooltip on reference element\n * @returns ElementRefDirective | undefined\n * @default undefined\n * @since 5.1.0\n */\n readonly reference = input<ElementRefDirective | undefined>(undefined, { alias: 'cTooltipRef' });\n\n readonly referenceRef = computed(() => this.reference()?.elementRef ?? this.#hostElement);\n\n /**\n * Sets which event handlers you’d like provided to your toggle prop. You can specify one trigger or an array of them.\n * @returns Triggers | Triggers[]\n */\n readonly trigger = input<Triggers | Triggers[]>('hover', { alias: 'cTooltipTrigger' });\n\n /**\n * Toggle the visibility of tooltip component.\n * @returns boolean\n */\n readonly visible = model(false, { alias: 'cTooltipVisible' });\n\n readonly #shown = computed(() => !this.#isServer && this.visible() && !!this.content());\n\n readonly #visibleEffect = afterRenderEffect({\n // this fixes RuntimeError: NG0500: During hydration Angular expected <abc> but found <xyz>.\n // Find more at https://angular.dev/errors/NG0500\n write: () => {\n this.visible() ? this.addTooltipElement() : this.removeTooltipElement();\n }\n });\n\n readonly #handleEscapeKey = (event: KeyboardEvent) => {\n if (event.key !== 'Escape') {\n return;\n }\n if (this.#shown()) {\n event.preventDefault();\n event.stopPropagation();\n }\n this.visible.set(false);\n };\n\n readonly #escapeEffect = effect((onCleanup) => {\n if (!this.visible()) {\n return;\n }\n\n const useCapture = true;\n\n this.#document.addEventListener('keydown', this.#handleEscapeKey, useCapture);\n onCleanup(() => this.#document.removeEventListener('keydown', this.#handleEscapeKey, useCapture));\n });\n\n readonly #ariaDescribedByEffect = afterRenderEffect(() => this.#syncAriaDescribedBy(this.#shown()));\n\n get ariaDescribedBy(): string | null {\n return this.#shown() ? this.#tooltipId : null;\n }\n\n private tooltip!: HTMLDivElement;\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 ngAfterViewChecked(): void {\n this.#syncAriaDescribedBy(this.#shown());\n }\n\n ngAfterViewInit(): void {\n this.intersectionServiceSubscribe();\n }\n\n ngOnDestroy(): void {\n this.clearListeners();\n this.destroyTooltipElement();\n this.#syncAriaDescribedBy(false);\n }\n\n ngOnInit(): void {\n this.setListeners();\n }\n\n #syncAriaDescribedBy(shown: boolean): void {\n const host = this.#hostElement.nativeElement;\n if (shown) {\n addAriaReferencedId(host, 'aria-describedby', this.#tooltipId);\n } else if (getAriaReferenceIds(host, 'aria-describedby').includes(this.#tooltipId)) {\n removeAriaReferencedId(host, 'aria-describedby', this.#tooltipId);\n }\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 createTooltipElement(): void {\n if (!this.tooltipRef) {\n this.tooltipRef = this.#viewContainerRef.createComponent<TooltipComponent>(TooltipComponent);\n this.tooltipRef.setInput('id', this.#tooltipId);\n // this.viewContainerRef.detach();\n }\n }\n\n private destroyTooltipElement(): void {\n clearTimeout(this.#timerId1);\n clearTimeout(this.#timerId2);\n this.tooltip?.remove();\n this.tooltipRef?.destroy();\n // @ts-ignore\n this.tooltipRef = undefined;\n this.popperInstance?.destroy();\n this.popperInstance = undefined;\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 clearTimeout(this.#timerId2);\n clearTimeout(this.#timerId1);\n this.#timerId1 = setTimeout(() => {\n this.#renderer.removeClass(this.tooltip, 'd-none');\n this.tooltipRef?.setInput('visible', this.visible());\n this.popperInstance?.forceUpdate();\n this.#timerId1 = undefined;\n }, 150);\n }\n\n private removeTooltipElement(): void {\n clearTimeout(this.#timerId1);\n if (!this.tooltipRef) {\n return;\n }\n\n clearTimeout(this.#timerId2);\n this.#timerId2 = setTimeout(() => {\n const index = this.#viewContainerRef.indexOf(this.tooltipRef.hostView);\n if (index >= 0) {\n this.#viewContainerRef.detach(index);\n }\n this.popperInstance?.destroy();\n this.popperInstance = undefined;\n this.#timerId2 = undefined;\n }, 300);\n\n this.tooltipRef.setInput('visible', false);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { TooltipComponent } from './tooltip/tooltip.component';\nimport { TooltipDirective } from './tooltip.directive';\n\n@NgModule({\n exports: [\n TooltipComponent,\n TooltipDirective\n ],\n imports: [\n TooltipComponent,\n TooltipDirective\n ]\n})\nexport class TooltipModule {}\n","import { Component, computed, contentChildren, effect, input, InputSignal, TemplateRef } from '@angular/core';\n\nimport { Colors } from '../../coreui.types';\nimport { TemplateIdDirective } from '../../shared';\nimport { CardBodyComponent, CardComponent } from '../../card';\nimport { NgTemplateOutlet } from '@angular/common';\n\n@Component({\n selector: 'c-widget-stat-a',\n templateUrl: './widget-stat-a.component.html',\n exportAs: 'cWidgetStatA',\n imports: [CardBodyComponent, NgTemplateOutlet],\n host: { class: 'card', '[class]': 'hostClasses()' }\n})\nexport class WidgetStatAComponent extends CardComponent {\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n // override readonly color = input<Colors>();\n\n /**\n * Title of the widget to display\n * @returns string\n */\n readonly title: InputSignal<string | undefined> = input();\n\n /**\n * Value for your widget to display\n * @returns string\n */\n readonly value: InputSignal<string | undefined> = input<string>();\n\n readonly contentTemplates = contentChildren(TemplateIdDirective, { descendants: true });\n\n readonly templates = computed(() => {\n return this.contentTemplates().reduce(\n (acc, child) => {\n acc[child.id] = child.templateRef;\n return acc;\n },\n {} as Record<string, TemplateRef<any>>\n );\n });\n\n override readonly hostClasses = computed(() => {\n const color = this.color();\n return {\n card: true,\n [`bg-${color}`]: !!color,\n 'text-white': !!color\n } as Record<string, boolean>;\n });\n\n get bodyClasses() {\n return {\n 'pb-0': true,\n 'd-flex': true,\n 'justify-content-between': true,\n 'align-items-start': true\n };\n }\n}\n","@let _templates = templates();\n<ng-container>\n <c-card-body [class]=\"bodyClasses\">\n <div>\n @if (!!value() || _templates?.['widgetValueTemplate']) {\n <div class=\"fs-4 fw-semibold\">\n <ng-container *ngTemplateOutlet=\"_templates?.['widgetValueTemplate'] || defaultWidgetValueTemplate\" />\n </div>\n }\n @if (!!title() || _templates?.['widgetTitleTemplate']) {\n <div>\n <ng-container *ngTemplateOutlet=\"_templates?.['widgetTitleTemplate'] || defaultWidgetTitleTemplate\" />\n </div>\n }\n </div>\n <ng-container *ngTemplateOutlet=\"_templates?.['widgetActionTemplate'] || defaultWidgetActionTemplate\" />\n </c-card-body>\n <ng-container *ngTemplateOutlet=\"_templates?.['widgetChartTemplate'] || defaultWidgetChartTemplate\" />\n</ng-container>\n\n<ng-template #defaultWidgetTitleTemplate>\n {{ title() }}\n</ng-template>\n\n<ng-template #defaultWidgetValueTemplate>\n {{ value() }}\n</ng-template>\n\n<ng-template #defaultWidgetChartTemplate>\n <ng-content select=\".chart-wrapper\" />\n</ng-template>\n\n<ng-template #defaultWidgetActionTemplate>\n <ng-content />\n</ng-template>\n","import { booleanAttribute, Component, computed, input, InputSignal, InputSignalWithTransform } from '@angular/core';\n\nimport { CardBodyComponent, CardComponent } from '../../card';\n\n@Component({\n selector: 'c-widget-stat-b',\n templateUrl: './widget-stat-b.component.html',\n exportAs: 'cWidgetStatB',\n imports: [CardBodyComponent],\n host: { class: 'card', '[class]': 'hostClasses()' }\n})\nexport class WidgetStatBComponent extends CardComponent {\n constructor() {\n super();\n }\n\n /**\n * Sets the color context of the component to one of CoreUI themed colors.\n * @returns Colors\n */\n // override readonly color: InputSignal<Colors | undefined> = input();\n\n /**\n * Sets the text-color context of the component to one of CoreUI themed colors.\n * via TextColorDirective\n * @returns TextColors\n */\n // override readonly textColor: InputSignal<TextColors | undefined> = input();\n\n /**\n * Title of the widget to display\n * @returns string\n */\n readonly title: InputSignal<string | undefined> = input<string>();\n\n /**\n * Helper text for your widget.\n * @returns string\n */\n readonly text: InputSignal<string | undefined> = input<string>();\n\n /**\n * Value for your widget to display\n * @returns string\n */\n readonly value: InputSignal<string | undefined> = input<string>();\n\n /**\n * Invert colors from their default dark shade.\n * @returns boolean\n */\n readonly inverse: InputSignalWithTransform<boolean, unknown> = input(false, { transform: booleanAttribute });\n\n override readonly hostClasses = computed(() => {\n const color = this.color();\n const textColor = this.textColor();\n return {\n card: true,\n [`bg-${color}`]: !!color,\n [`text-${textColor}`]: !!textColor,\n 'text-white': this.inverse()\n } as Record<string, boolean>;\n });\n}\n","<c-card-body>\n @if (!!value()) {\n <div class=\"fs-4 fw-semibold\">{{ value() }}</div>\n }\n @if (!!title()) {\n <div>{{ title() }}</div>\n }\n <ng-content />\n @if (text()) {\n <small [class]=\"inverse() ? 'text-white text-opacity-75' : 'text-body-secondary'\">\n {{ text() }}\n </small>\n }\n</c-card-body>\n","import { booleanAttribute, Component, computed, contentChildren, effect, input, TemplateRef } from '@angular/core';\n\nimport { CardBodyComponent, CardComponent } from '../../card';\nimport { TemplateIdDirective } from '../../shared';\nimport { NgTemplateOutlet } from '@angular/common';\n\n@Component({\n selector: 'c-widget-stat-c',\n templateUrl: './widget-stat-c.component.html',\n exportAs: 'cWidgetStatC',\n imports: [CardBodyComponent, NgTemplateOutlet],\n host: { '[class]': 'hostExtendedClass()' }\n})\nexport class WidgetStatCComponent extends CardComponent {\n constructor() {\n super();\n }\n\n /**\n * Icon for your component.\n * @returns string\n */\n readonly icon = input<string>();\n\n /**\n * Title of the widget to display\n * @returns string\n */\n readonly title = input<string>();\n\n /**\n * Value for your widget to display\n * @returns string|number\n */\n readonly value = input<string | number>();\n\n /**\n * Invert colors from their default dark shade.\n * @returns boolean\n */\n readonly inverse = input(false, { transform: booleanAttribute });\n\n readonly contentTemplates = contentChildren(TemplateIdDirective, { descendants: true });\n\n readonly templates = computed(() => {\n return this.contentTemplates().reduce(\n (acc, child) => {\n acc[child.id] = child.templateRef;\n return acc;\n },\n {} as Record<string, TemplateRef<any>>\n );\n });\n\n readonly hostExtendedClass = computed(() => {\n return { ...this.hostClasses(), 'text-white': this.inverse() } as Record<string, boolean>;\n });\n\n readonly titleClasses = computed(() => {\n const inverse = this.inverse();\n return {\n 'text-body-secondary': !inverse,\n 'text-white': inverse,\n 'text-opacity-75': inverse,\n [`text-${this.textColor()}`]: !!this.textColor()\n } as Record<string, boolean>;\n });\n\n readonly valueClasses = computed(() => {\n return {\n 'fs-4': !this.textColor(),\n 'fw-semibold': true,\n ...this.titleClasses(),\n 'text-opacity-75': false\n } as Record<string, boolean>;\n });\n\n readonly iconClasses = computed(() => {\n return {\n 'mb-4': !this.textColor(),\n 'text-end': true,\n ...this.titleClasses()\n } as Record<string, boolean>;\n });\n}\n","@let _templates = templates();\n<c-card-body>\n @if (icon() || _templates?.['widgetIconTemplate']) {\n <div [class]=\"iconClasses()\">\n <ng-container *ngTemplateOutlet=\"_templates?.['widgetIconTemplate'] || defaultWidgetIconTemplate\" />\n </div>\n }\n @if (!!value()) {\n <div [class]=\"valueClasses()\">\n {{ value() }}\n </div>\n }\n @if (!!title()) {\n <div [class]=\"titleClasses()\">\n {{ title() }}\n </div>\n }\n @if (_templates?.['widgetProgressTemplate']) {\n <ng-container *ngTemplateOutlet=\"_templates?.['widgetProgressTemplate']\" />\n }\n</c-card-body>\n\n<ng-template #defaultWidgetIconTemplate>\n {{ icon() }}\n</ng-template>\n","import { Component, computed, input } from '@angular/core';\nimport { Colors } from '../../coreui.types';\nimport { CardBodyComponent, CardComponent, CardHeaderComponent } from '../../card';\nimport { ColComponent, RowDirective } from '../../grid';\n\nexport type WidgetStatDValue = {\n title?: string;\n value?: number | string;\n};\n\n@Component({\n selector: 'c-widget-stat-d',\n templateUrl: './widget-stat-d.component.html',\n exportAs: 'cWidgetStatD',\n imports: [CardHeaderComponent, CardBodyComponent, ColComponent, RowDirective],\n host: { class: 'card' }\n})\nexport class WidgetStatDComponent extends CardComponent {\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n // override readonly color = input<Colors>();\n\n /**\n * Values and subtitles for your component.\n * @returns WidgetStatDValue[]\n */\n readonly values = input<WidgetStatDValue[]>();\n\n readonly headerClasses = computed(() => {\n return {\n 'position-relative': true,\n 'd-flex': true,\n 'justify-content-center': true,\n 'align-items-center': true,\n [`bg-${this.color()}`]: this.color()\n } as Record<string, boolean>;\n });\n}\n","<c-card-header [class]=\"headerClasses()\">\n <ng-content />\n</c-card-header>\n<c-card-body cRow class=\"text-center\">\n @for (item of values(); track item; let i = $index) {\n @if (i % 2 !== 0) {\n <div class=\"vr\"></div>\n }\n <c-col>\n <div class=\"fs-5 fw-semibold\">{{ item.value }}</div>\n <div class=\"text-uppercase text-body-secondary small\">{{ item.title }}</div>\n </c-col>\n }\n</c-card-body>\n","import { Component, computed, input } from '@angular/core';\nimport { CardBodyComponent, CardComponent } from '../../card';\n\n@Component({\n selector: 'c-widget-stat-e',\n templateUrl: './widget-stat-e.component.html',\n exportAs: 'cWidgetStatE',\n imports: [CardBodyComponent]\n})\nexport class WidgetStatEComponent extends CardComponent {\n constructor() {\n super();\n }\n\n /**\n * Title of the widget to display\n * @returns string\n */\n readonly title = input<string>();\n\n /**\n * Value for your widget to display\n * @returns string | number\n */\n readonly value = input<string | number>();\n\n readonly titleClasses = computed(() => {\n const textColor = this.textColor();\n return {\n 'text-body-secondary': !textColor,\n small: true,\n 'text-uppercase': true,\n 'fw-semibold': true,\n [`text-${textColor}`]: !!textColor\n } as Record<string, boolean>;\n });\n}\n","<c-card-body class=\"text-center\">\n @if (!!title()) {\n <div [class]=\"titleClasses()\">{{ title() }}</div>\n }\n @if (!!value()) {\n <div class=\"fs-6 fw-semibold py-3\">{{ value() }}</div>\n }\n <ng-content />\n</c-card-body>\n","import { booleanAttribute, Component, computed, contentChildren, effect, input, TemplateRef } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\n\nimport { Colors } from '../../coreui.types';\nimport { TemplateIdDirective } from '../../shared';\nimport { CardBodyComponent, CardComponent, CardFooterComponent } from '../../card';\n\n@Component({\n selector: 'c-widget-stat-f',\n templateUrl: './widget-stat-f.component.html',\n exportAs: 'cWidgetStatF, cWidgetStatB',\n imports: [CardBodyComponent, CardFooterComponent, NgTemplateOutlet],\n host: { class: 'card', '[class]': 'hostClasses()' }\n})\nexport class WidgetStatFComponent extends CardComponent {\n /**\n * Sets the color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n // override readonly color = input<Colors>();\n\n /**\n * Sets the text-color context of the component to one of CoreUI’s themed colors.\n * @returns Colors\n */\n // override readonly textColor = input<TextColors | 'white' | 'muted'>();\n\n /**\n * Footer for your widget\n * @returns string\n */\n readonly footer = input<string>();\n\n /**\n * Icon for your widget\n * @returns string\n */\n readonly icon = input<string>();\n\n /**\n * Set padding of your component.\n * @returns boolean\n */\n readonly padding = input(false, { transform: booleanAttribute });\n\n /**\n * Title of the widget to display\n * @returns string\n */\n readonly title = input<string>();\n\n /**\n * Value for your widget to display\n * @returns string | number\n */\n readonly value = input<string | number>();\n\n readonly contentTemplates = contentChildren(TemplateIdDirective, { descendants: true });\n\n readonly templates = computed(() => {\n return this.contentTemplates().reduce(\n (acc, child) => {\n acc[child.id] = child.templateRef;\n return acc;\n },\n {} as Record<string, TemplateRef<any>>\n );\n });\n\n readonly cardBodyClasses = computed(() => {\n return {\n 'd-flex': true,\n 'align-items-center': true,\n 'p-0': !this.padding()\n } as Record<string, boolean>;\n });\n\n readonly iconClasses = computed(() => {\n const color = this.color();\n const padding = this.padding();\n\n return {\n 'me-3': !this.textColor(),\n 'text-white': true,\n [`bg-${color}`]: !!color,\n 'p-3': padding,\n 'p-4': !padding,\n 'rounded-start-1': !padding\n } as Record<string, boolean>;\n });\n\n readonly titleClasses = computed(() => {\n const textColor = this.textColor();\n return {\n 'text-body-secondary': !textColor,\n small: true,\n 'text-uppercase': true,\n 'fw-semibold': true,\n [`text-${textColor}`]: !!textColor\n } as Record<string, boolean>;\n });\n\n readonly valueClasses = computed(() => {\n const textColor = this.textColor();\n return {\n 'fs-6': !textColor,\n 'fw-semibold': true,\n [`text-${textColor}`]: !!textColor\n } as Record<string, boolean>;\n });\n}\n","@let _templates = templates();\n<ng-container>\n <c-card-body [class]=\"cardBodyClasses()\">\n <div [class]=\"iconClasses()\">\n <ng-container *ngTemplateOutlet=\"_templates?.['widgetIconTemplate'] || defaultWidgetIconTemplate\" />\n </div>\n <div>\n <div [class]=\"valueClasses()\">{{ value() }}</div>\n <div [class]=\"titleClasses()\">{{ title() }}</div>\n </div>\n </c-card-body>\n @if (footer() || _templates?.['widgetFooterTemplate']) {\n <c-card-footer>\n <ng-container *ngTemplateOutlet=\"_templates?.['widgetFooterTemplate'] || defaultFooterIconTemplate\" />\n </c-card-footer>\n }\n</ng-container>\n\n<ng-template #defaultWidgetIconTemplate>\n <span>{{ icon() }}</span>\n</ng-template>\n\n<ng-template #defaultFooterIconTemplate>\n <span>{{ footer() }}</span>\n</ng-template>\n","import { NgModule } from '@angular/core';\n\nimport { WidgetStatAComponent } from './widget-stat-a/widget-stat-a.component';\nimport { WidgetStatBComponent } from './widget-stat-b/widget-stat-b.component';\nimport { WidgetStatCComponent } from './widget-stat-c/widget-stat-c.component';\nimport { WidgetStatDComponent } from './widget-stat-d/widget-stat-d.component';\nimport { WidgetStatEComponent } from './widget-stat-e/widget-stat-e.component';\nimport { WidgetStatFComponent } from './widget-stat-f/widget-stat-f.component';\n\n@NgModule({\n imports: [\n WidgetStatAComponent,\n WidgetStatBComponent,\n WidgetStatCComponent,\n WidgetStatDComponent,\n WidgetStatEComponent,\n WidgetStatFComponent\n ],\n exports: [\n WidgetStatAComponent,\n WidgetStatBComponent,\n WidgetStatCComponent,\n WidgetStatDComponent,\n WidgetStatEComponent,\n WidgetStatFComponent\n ]\n})\nexport class WidgetModule {}\n"],"mappings":"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"}