@flywheel-io/vision 19.3.2 → 19.3.3

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":"flywheel-io-vision.mjs","sources":["../../../src/components/icon/icon.component.ts","../../../src/components/icon-button/icon-button.component.ts","../../../src/components/icon-button/icon-button.component.html","../../../src/components/alert/alert.component.ts","../../../src/components/alert/alert.component.html","../../../src/components/icon/icon.module.ts","../../../src/components/icon-button/icon-button.module.ts","../../../src/components/alert/alert.module.ts","../../../src/components/app-icon/app-icon.component.ts","../../../src/components/app-icon/app-icon.component.html","../../../src/components/app-icon/app-icon.module.ts","../../../src/color.utils.ts","../../../src/components/avatar/avatar.component.ts","../../../src/components/avatar/avatar.component.html","../../../src/components/avatar/avatar.module.ts","../../../src/components/layouts/context/context.component.ts","../../../src/components/layouts/context/context.component.html","../../../src/components/layouts/grid/grid.component.ts","../../../src/components/layouts/layout-group.component.ts","../../../src/components/layouts/panel/panel.component.ts","../../../src/components/layouts/panel/panel.component.html","../../../src/components/layouts/sidebar/sidebar.component.ts","../../../src/components/layouts/sidebar/sidebar.component.html","../../../src/components/layouts/toolbar/toolbar.component.ts","../../../src/components/layouts/layouts.module.ts","../../../src/components/popover/popover-panel/popover-panel.component.ts","../../../src/components/popover/popover-panel/popover-panel.component.html","../../../src/components/popover/popover.component.ts","../../../src/components/popover/popover.component.html","../../../src/components/popover/popover.module.ts","../../../src/components/tooltip/tooltip-panel/tooltip-panel.component.ts","../../../src/components/tooltip/tooltip-panel/tooltip-panel.component.html","../../../src/components/tooltip/tooltip.directive.ts","../../../src/components/tooltip/tooltip.component.ts","../../../src/components/tooltip/tooltip.component.html","../../../src/components/tooltip/tooltip.module.ts","../../../src/components/avatar-list/avatar-list.component.ts","../../../src/components/avatar-list/avatar-list.component.html","../../../src/components/badge/badge.component.ts","../../../src/components/badge/badge.component.html","../../../src/components/badge/badge.module.ts","../../../src/components/breadcrumbs/crumb.component.ts","../../../src/components/breadcrumbs/crumb.component.html","../../../src/components/breadcrumbs/breadcrumbs.component.ts","../../../src/components/breadcrumbs/breadcrumbs.module.ts","../../../src/components/progress/spinner/spinner.component.ts","../../../src/components/progress/spinner/spinner.component.html","../../../src/components/button/button.component.ts","../../../src/components/button/button.component.html","../../../src/components/button/button.directives.ts","../../../src/components/progress/bar/bar.component.ts","../../../src/components/progress/bar/bar.component.html","../../../src/components/progress/progress.module.ts","../../../src/components/button/button.module.ts","../../../src/components/button-toggle/button-toggle-item/button-toggle-item.component.ts","../../../src/components/button-toggle/button-toggle-item/button-toggle-item.component.html","../../../src/components/button-group/button-group.component.ts","../../../src/components/button-toggle/button-toggle.component.ts","../../../src/components/button-toggle/button-toggle.module.ts","../../../src/components/button-group/button-group.module.ts","../../../src/components/card/card.component.ts","../../../src/components/card/card.component.html","../../../src/components/card/card-attribute/card-attribute.component.ts","../../../src/components/card/card-attribute/card-attribute.component.html","../../../src/components/card/card-author/card-author.component.ts","../../../src/components/card/card-author/card-author.component.html","../../../src/components/card/card-content/card-content.component.ts","../../../src/components/card/card-footer/card-footer.component.ts","../../../src/components/card/card-header/card-header.component.ts","../../../src/components/card/card-header/card-header.component.html","../../../src/components/card/card.module.ts","../../../src/components/checkbox/checkbox.component.ts","../../../src/components/checkbox/checkbox.component.html","../../../src/components/checkbox/checkbox.module.ts","../../../src/components/chip/chip.component.ts","../../../src/components/chip/chip.component.html","../../../src/components/chip/chip.module.ts","../../../src/components/switch/switch.component.ts","../../../src/components/switch/switch.component.html","../../../src/components/contained-input/contained-input.component.ts","../../../src/components/contained-input/contained-input.component.html","../../../src/components/switch/switch.module.ts","../../../src/components/contained-input/contained-input.module.ts","../../../src/components/date-input/date-input.component.ts","../../../src/components/date-input/date-input.component.html","../../../src/components/date-input/date-input.module.ts","../../../src/components/dialog/dialog.component.ts","../../../src/components/dialog/dialog.component.html","../../../src/components/dialog/dialog.service.ts","../../../src/components/dialog/dialog-actions.component.ts","../../../src/components/dialog/dialog-content.component.ts","../../../src/components/dialog/dialog-confirm.component.ts","../../../src/components/dialog/dialog-confirm.component.html","../../../src/components/dialog/dialog-header.component.ts","../../../src/components/dialog/dialog-simple.component.ts","../../../src/components/dialog/dialog-simple.component.html","../../../src/components/shared/translation.service.ts","../../../src/components/shared/pipes/translate.pipe.ts","../../../src/components/shared/pipes/trusthtml.pipe.ts","../../../src/components/shared/pipes/pipes.module.ts","../../../src/components/dialog/dialogs.module.ts","../../../src/components/tag/tag.component.ts","../../../src/components/tag/tag.component.html","../../../src/components/form-heading/form-heading.component.ts","../../../src/components/form-heading/form-heading.component.html","../../../src/components/tag/tag.module.ts","../../../src/components/form-heading/form-heading.module.ts","../../../src/components/forms/validators.ts","../../../src/components/icon/icon.types.ts","../../../src/components/radio/radio.component.ts","../../../src/components/radio/radio.component.html","../../../src/components/menu/menu-sub-item/menu-sub-item.component.ts","../../../src/components/menu/menu-sub-item/menu-sub-item.component.html","../../../src/components/menu/menu-item/menu-item.component.ts","../../../src/components/menu/menu-item/menu-item.component.html","../../../src/components/menu/menu.component.ts","../../../src/components/menu/menu.component.html","../../../src/components/radio/radio-group.component.ts","../../../src/components/radio/radio.module.ts","../../../src/components/text-input/text-input.component.ts","../../../src/components/text-input/text-input.component.html","../../../src/components/text-input/text-input.module.ts","../../../src/components/menu/menu-close-triggers.directive.ts","../../../src/components/menu/menu-item-group/menu-item-group.component.ts","../../../src/components/menu/menu-item-group/menu-item-group.component.html","../../../src/components/menu/menu-separator/menu-separator.component.ts","../../../src/components/menu/menu-container/menu-container.component.ts","../../../src/components/menu/menu-container/menu-container.component.html","../../../src/components/menu/menu-header/menu-header.component.ts","../../../src/components/menu/menu-header/menu-header.component.html","../../../src/components/menu/menu.module.ts","../../../src/components/navbar/navbar-sub-item/navbar-sub-item.component.ts","../../../src/components/navbar/navbar-sub-item/navbar-sub-item.component.html","../../../src/components/navbar/navbar-item/navbar-item.component.ts","../../../src/components/navbar/navbar-item/navbar-item.component.html","../../../src/components/navbar/navbar.component.ts","../../../src/components/navbar/navbar.component.html","../../../src/components/navbar/navbar-header/navbar-header.component.ts","../../../src/components/navbar/navbar-header/navbar-header.component.html","../../../src/components/navbar/navbar.module.ts","../../../src/components/number-input/number-input.component.ts","../../../src/components/number-input/number-input.component.html","../../../src/components/number-input/number-input.module.ts","../../../src/components/paginator/paginator.component.ts","../../../src/components/paginator/paginator.component.html","../../../src/components/shared/services/menu-manager.service.ts","../../../src/directives/menu-register.directive.ts","../../../src/components/select-menu/multi-select-menu/multi-select-menu.component.ts","../../../src/components/select-menu/multi-select-menu/multi-select-menu.component.html","../../../src/components/select-menu/select-menu.component.ts","../../../src/components/select-menu/select-menu.component.html","../../../src/components/select-menu/select-menu.module.ts","../../../src/components/paginator/paginator-advanced/paginator-advanced.component.ts","../../../src/components/paginator/paginator-advanced/paginator-advanced.component.html","../../../src/components/paginator/paginator.module.ts","../../../src/components/phone-input/country-code.data.ts","../../../src/components/phone-input/phone-input.component.ts","../../../src/components/phone-input/phone-input.component.html","../../../src/components/phone-input/phone-input.module.ts","../../../src/components/section-heading/back-button/back-button.component.ts","../../../src/components/section-heading/back-button/back-button.component.html","../../../src/components/section-heading/section-heading.component.ts","../../../src/components/section-heading/section-heading.component.html","../../../src/components/section-heading/subsection-heading/subsection-heading.component.ts","../../../src/components/section-heading/subsection-heading/subsection-heading.component.html","../../../src/components/section-heading/section-heading.module.ts","../../../src/components/snackbar/snackbar-timer.service.ts","../../../src/components/snackbar/snackbar/snackbar.component.ts","../../../src/components/snackbar/snackbar/snackbar.component.html","../../../src/components/snackbar/snackbar.service.ts","../../../src/components/snackbar/snackbar-container/snackbar-container.component.ts","../../../src/components/snackbar/snackbar-container/snackbar-container.component.html","../../../src/components/snackbar/snackbar.module.ts","../../../src/components/stepper/step.component.ts","../../../src/components/stepper/step.component.html","../../../src/components/stepper/stepper.component.ts","../../../src/components/stepper/stepper.module.ts","../../../src/components/table/cell.ts","../../../src/components/table/row.ts","../../../src/components/table/table.component.ts","../../../src/components/table/table.component.html","../../../src/components/table/table-dense.component.ts","../../../src/components/table/table.module.ts","../../../src/components/tabs/tab/tab.component.ts","../../../src/components/tabs/tab/tab.component.html","../../../src/components/tabs/tab-panel/tab-panel.component.ts","../../../src/components/tabs/tab-panel/tab-panel.component.html","../../../src/components/tabs/tabs.component.ts","../../../src/components/tabs/tabs.component.html","../../../src/components/tabs/tabs.module.ts","../../../src/components/text/text.component.ts","../../../src/components/textarea-input/textarea-input.component.ts","../../../src/components/textarea-input/textarea-input.component.html","../../../src/components/textarea-input/textarea-input.module.ts","../../../src/components/chip-list/chip-list.component.ts","../../../src/components/chip-list/chip-list.component.html","../../../src/components/typeahead/typeahead.component.ts","../../../src/components/typeahead/typeahead.component.html","../../../src/components/wrapped-input/wrapped-input.component.ts","../../../src/components/wrapped-input/wrapped-input.component.html","../../../src/components/wrapped-input/wrapped-input.module.ts","../../../src/flywheel-io-vision.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n\ntype NamedIconSize = 'large' | 'medium' | 'small' | 'extra-small';\n\nexport type IconSize = NamedIconSize | number;\n\nconst namedSizeToPxMap = {\n large: 28,\n medium: 24,\n small: 22,\n 'extra-small': 18,\n}\n\n@Component({\n selector: 'fw-icon',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FwIconComponent {\n @Input({\n transform: (input: IconSize) => {\n if (typeof input === 'string') {\n return namedSizeToPxMap[input] || parseInt(input) || 24;\n }\n return input;\n },\n }) size: number;\n @Input() color?:\n | 'primary'\n | 'secondary'\n | 'red'\n | 'orange'\n | 'green'\n | 'slate'\n | 'muted'\n | 'typography';\n @HostBinding('class') class = 'vision-icon';\n @HostBinding('role') role = 'img';\n @HostBinding('style') get style(): SafeStyle {\n const sizeStyle: string = `font-size: ${this.size}px; min-width: ${this.size}px; width: ${this.size}px;`;\n let colorStyle: string = '';\n if (this.color) {\n if (this.color === 'muted') {\n colorStyle = 'color: var(--typography-muted);';\n } else {\n colorStyle = `color: var(--${this.color}-base);`;\n }\n }\n return this.sanitizer.bypassSecurityTrustStyle(`\n ${sizeStyle}\n ${colorStyle}\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\n\nimport { FwIconComponent } from '../icon/icon.component';\nimport { IconType } from '../icon/icon.types';\n\ntype ColorOption = 'primary'\n | 'secondary'\n | 'red'\n | 'error'\n | 'warning'\n | 'orange'\n | 'success'\n | 'green'\n | 'light-slate'\n | 'slate'\n | 'overlay'\n | 'info';\n\n@Component({\n selector: 'fw-icon-button',\n templateUrl: './icon-button.component.html',\n styleUrls: ['./icon-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [FwIconComponent],\n})\nexport class FwIconButtonComponent {\n color = input<ColorOption>('primary');\n icon = input<IconType>('icon-placeholder');\n size = input<'large' | 'medium' | 'small'>('medium');\n disabled = input<boolean>(false);\n selected = input<boolean>(false);\n border = input(false);\n}\n","<button [disabled]=\"disabled()\"\n [class]=\"[color() + '-button', size()]\"\n [class.selected-button]=\"selected()\"\n [class.border]=\"border()\">\n <fw-icon>{{ icon() }}</fw-icon>\n</button>\n","import { NgClass } from '@angular/common';\nimport { Component, input, output } from '@angular/core';\n\nimport { FwIconComponent } from '../icon/icon.component';\nimport { IconType } from '../icon/icon.types';\nimport { FwIconButtonComponent } from '../icon-button/icon-button.component';\n\n@Component({\n selector: 'fw-alert',\n templateUrl: './alert.component.html',\n styleUrls: ['./alert.component.scss'],\n imports: [\n NgClass,\n FwIconComponent,\n FwIconButtonComponent,\n ],\n})\nexport class FwAlertComponent {\n description = input<string>()\n icon = input<IconType>()\n severity = input<'info' | 'success' | 'warning' | 'error'>('info')\n title = input<string>()\n variant = input<'standard' | 'outlined' | 'filled'>('standard')\n showClose = input<boolean>()\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n close = output<void>()\n}\n","<div [ngClass]=\"['fw-alert', variant(), severity()]\">\n @if (icon()) {\n <fw-icon class=\"fw-alert-icon\">{{ icon() }}</fw-icon>\n }\n <div class=\"fw-alert-text\">\n @if (title()) {\n <h4 class=\"vision-h4\">{{ title() }}</h4>\n }\n @if (description()) {\n <p class=\"vision-p2\">{{ description() }}</p>\n }\n <p class=\"vision-p2\">\n <ng-content></ng-content>\n </p>\n </div>\n <div class=\"close-icon\">\n <ng-content select=\"fw-button\"></ng-content>\n @if (showClose()) {\n <fw-icon-button\n icon=\"close\" size=\"small\"\n [color]=\"variant() === 'filled' ? 'overlay' : severity()\"\n (click)=\"close ? close.emit() : undefined\">\n </fw-icon-button>\n }\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconComponent } from './icon.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwIconComponent,\n ],\n exports: [\n FwIconComponent,\n ],\n})\nexport class FwIconModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwIconButtonComponent } from './icon-button.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n FwIconButtonComponent,\n ],\n exports: [\n FwIconButtonComponent,\n ],\n})\nexport class FwIconButtonModule {\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwIconButtonModule } from '../icon-button/icon-button.module';\nimport { FwAlertComponent } from './alert.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n FwIconButtonModule,\n FwAlertComponent,\n ],\n exports: [\n FwAlertComponent,\n ],\n})\nexport class FwAlertModule {\n}\n","import { NgClass,NgIf } from '@angular/common';\nimport { Component, HostBinding, Input } from '@angular/core';\n\nimport { FwIconComponent } from '../icon/icon.component';\nimport { IconType } from '../icon/icon.types';\n\n@Component({\n selector: 'fw-app-icon',\n templateUrl: './app-icon.component.html',\n styleUrls: ['./app-icon.component.scss'],\n imports: [\n NgIf,\n FwIconComponent,\n NgClass,\n ],\n})\nexport class FwAppIconComponent {\n @Input() title?: string;\n @Input() icon?: IconType;\n @Input() imageUrl?: string;\n @Input() color?: 'primary' | 'dark' | 'light' | 'gradient' | 'transparent' = 'primary';\n @Input() fontColor?: 'contrast' | 'base' = 'contrast';\n @Input() size?: 'small' | 'medium' | 'large' | 'extra-large' = 'medium';\n @Input() variant?: 'interactive' | 'hover' | 'focused' | 'static' = 'interactive';\n @Input() badge?: string;\n @HostBinding('tabindex') @Input() tabindex = '';\n @HostBinding('class.locked') @Input() locked?: boolean = false;\n @HostBinding('class.animated') @Input() animated?: boolean = false;\n @HostBinding('role') role = 'button';\n\n @HostBinding('class') get cssClass(): string {\n return ['fw-app-icon', this.size, this.color, this.variant].join(' ');\n }\n}\n","<div class=\"icon-highlight\"></div>\n<div class=\"icon-wrapper\">\n <div class=\"app-badge\" *ngIf=\"badge\"><span>{{ badge }}</span></div>\n <div class=\"app-locked\" *ngIf=\"locked\">\n <fw-icon>lock</fw-icon>\n </div>\n <img *ngIf=\"imageUrl\" [src]=\"imageUrl\" alt=\"App Icon\">\n <fw-icon *ngIf=\"icon\" [ngClass]=\"fontColor\">{{ icon }}</fw-icon>\n</div>\n<p class=\"vision-p3\" *ngIf=\"title\">{{ title }}</p>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwAppIconComponent } from './app-icon.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n FwAppIconComponent,\n ],\n exports: [\n FwAppIconComponent,\n ],\n})\nexport class FwAppIconModule {\n}\n","\nconst accesibilityPallete = [\n '#1B68FA',\n '#D73D3D',\n '#FF8C00',\n '#C47E09',\n '#B080FC',\n '#14AE5C',\n '#FF6347',\n '#F28B8B',\n '#FF69B4',\n '#748295',\n '#9CCEF9',\n '#66CDAA',\n '#00CED1',\n]\n\nexport const hashCode = (str: string): number => {\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n hash = str.charCodeAt(i) + ((hash << 5) - hash);\n }\n return Math.abs(hash);\n}\n\nexport const pickColorViaHash = (seed = ''): string => {\n const hash = hashCode(seed);\n return accesibilityPallete[hash % (accesibilityPallete.length - 1)]\n}\n","import { Component, computed, HostListener, input, model, signal } from '@angular/core';\n\nimport { pickColorViaHash } from '../../color.utils';\nimport { FwIconComponent } from '../icon/icon.component';\nimport { IconType } from '../icon/icon.types';\n\ntype AvatarColorOption = 'primary' | 'secondary' | 'red' | 'light-slate' | 'slate' | 'warning' | 'success';\n\nconst namedColorMap: { [K in AvatarColorOption]: string } = {\n primary: 'var(--primary-base)',\n secondary: 'var(--secondary-base)',\n red: 'var(--red-base)',\n 'light-slate': 'var(--slate-light)',\n slate: 'var(--slate-base)',\n warning: 'var(--orange-base)',\n success: 'var(--green-base)',\n};\n\n@Component({\n selector: 'fw-avatar',\n styleUrls: ['./avatar.component.scss'],\n templateUrl: './avatar.component.html',\n imports: [\n FwIconComponent,\n ],\n host: {\n '[class]': 'hostClasses()',\n },\n})\nexport class FwAvatarComponent {\n bordered = input<boolean>(false);\n color = input<AvatarColorOption>('primary');\n colorSeed = model<string>();\n content = input<'image' | 'icon' | 'initial'>('icon');\n icon = input<IconType>('user');\n imageAltText = input<string>('');\n imageUrl = input<string>('');\n initial = input<string>('');\n selectable = input<boolean>(false);\n selected = model<boolean>(false);\n size = input<'small' | 'medium' | 'large' | 'x-large'>('small');\n variant = input<'circular' | 'rounded' | 'square'>('circular');\n\n hostClasses = computed(() => {\n const classes = [\n this.size(),\n this.variant(),\n this.content(),\n this.bordered() ? 'bordered' : null,\n this.selected() ? 'selected' : null,\n this.selectable() ? 'selectable' : null,\n ];\n\n return classes.filter(Boolean).join(' ');\n });\n\n @HostListener('click') onClick(): void {\n if (this.selectable()) {\n this.selected.update(v => !v);\n }\n }\n\n hasedColor = computed(() => pickColorViaHash(this.colorSeed()));\n\n colorToDisplay = computed(() => this.colorSeed() ? this.hasedColor() : namedColorMap[this.color()]);\n\n isImageBroken = signal<boolean>(false);\n\n loadImage(): void {\n this.isImageBroken.set(false);\n }\n\n errorImage(): void {\n this.isImageBroken.set(true);\n }\n}\n","<div class=\"avatar\" [style.background]=\"colorToDisplay()\">\n @switch (content()) {\n @case ('image') {\n @if (!isImageBroken()) {\n <img\n [alt]=\"imageAltText()\"\n [src]=\"imageUrl()\"\n (load)=\"loadImage()\"\n (error)=\"errorImage()\">\n } @else {\n @if (initial()) {\n <span class=\"initial\">{{ initial() }}</span>\n } @else {\n <fw-icon>{{ icon() }}</fw-icon>\n }\n }\n }\n @case ('icon') {\n <fw-icon>{{ icon() }}</fw-icon>\n }\n @case ('initial') {\n @if (initial()) {\n <span class=\"initial\">{{ initial() }}</span>\n } @else {\n <fw-icon>{{ icon() }}</fw-icon>\n }\n }\n }\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwAvatarComponent } from './avatar.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n FwAvatarComponent,\n ],\n exports: [\n FwAvatarComponent,\n ],\n})\nexport class FwAvatarModule {\n}\n","import { NgClass,NgIf } from '@angular/common';\nimport { Component, HostBinding, Input } from '@angular/core';\n\nimport { FwIconComponent } from '../../icon/icon.component';\nimport { IconType } from '../../icon/icon.types';\n\nexport enum LayoutWidth {\n Small = 'small',\n Medium = 'medium',\n Large = 'large',\n ExtraLarge = 'extra-large'\n}\n\n@Component({\n selector: 'fw-layout-context',\n templateUrl: './context.component.html',\n styleUrls: ['./context.component.scss'],\n imports: [\n NgIf,\n FwIconComponent,\n NgClass,\n ],\n})\nexport class FwLayoutContextComponent {\n @Input() width?: 'small' | 'medium' | 'large' | 'extra-large' = LayoutWidth.Small;\n @Input() icon?: IconType;\n @Input() iconColor?: 'primary' | 'secondary' | 'danger' | 'slate' | 'warning' | 'success' = 'secondary';\n @Input() title?: string;\n @Input() description?: string;\n\n @HostBinding('attr.class') get classes(): string {\n const classes = ['fw-layout-context'];\n classes.push(`context-width-${this.width}`);\n if (this.iconColor) {\n classes.push(`context-color-${this.iconColor}`);\n }\n return classes.join(' ');\n };\n}\n","@if (icon) {\n <fw-icon [ngClass]=\"iconColor\">{{ icon }}</fw-icon>\n}\n\n@if (title) {\n <h3>{{ title }}</h3>\n}\n\n@if (description) {\n <p class=\"vision-p3\">{{ description }}</p>\n} @else {\n <ng-content select=\"[slot='description']\"></ng-content>\n}\n\n<div class=\"context-actions\">\n <ng-content select=\"fw-button\"></ng-content>\n</div>\n","import { Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fw-grid',\n template: '<ng-content select=\"fw-grid-item\"></ng-content>',\n styleUrls: ['./grid.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class FwGridComponent {\n @HostBinding('class') get cssClass(): string {\n return ['fw-grid'].join(' ');\n }\n}\n\n@Component({\n selector: 'fw-grid-item',\n template: '<ng-content></ng-content>',\n styleUrls: ['./grid.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class FwGridItemComponent {\n @Input() cols: number = 12;\n @Input() sm?: number;\n @Input() md?: number;\n @Input() lg?: number;\n @Input() xl?: number;\n @Input() padded?: boolean = false;\n @Input() rounded?: boolean = false;\n @Input() variant?: 'page-light' | 'page-shaded' | 'card-header' | 'card-background' = 'page-light';\n\n @HostBinding('class') get cssClass(): string {\n return [\n 'fw-grid-col-' + this.cols,\n this.variant,\n this.padded ? 'grid-item-padded' : null,\n this.rounded ? 'grid-item-rounded' : null,\n this.sm ? 'fw-grid-col-sm-' + this.sm : null,\n this.md ? 'fw-grid-col-md-' + this.md : null,\n this.lg ? 'fw-grid-col-lg-' + this.lg : null,\n this.xl ? 'fw-grid-col-xl-' + this.xl : null,\n ].filter(Boolean).join(' ');\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'fw-layout-group',\n template: '<ng-content></ng-content>',\n styleUrls: ['./layout-group.component.scss'],\n})\nexport class FwLayoutGroupComponent {\n @Input() stackable: boolean = false;\n @Input() padded: boolean = true;\n @Input() justify: 'space-between' | 'space-around' | 'space-evenly' | 'flex-end' | 'flex-start' = 'space-between';\n\n @HostBinding('attr.class') get classes(): string {\n const classes = ['fw-layout-group', this.justify];\n if (this.stackable) {\n classes.push('stackable');\n }\n if (this.padded) {\n classes.push('padded');\n }\n return classes.join(' ');\n };\n\n}\n","import { NgClass, NgStyle } from '@angular/common';\nimport { Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fw-layout-panel',\n templateUrl: './panel.component.html',\n styleUrls: ['./panel.component.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [NgClass, NgStyle],\n})\nexport class FwLayoutPanelComponent {\n @Input() height?: string = '100%';\n @Input() fitted?: boolean = false;\n @Input() border?: 'all' | 'left' | 'right' | 'none' = 'none';\n @Input() rounded?: boolean = true;\n @Input() margin?: boolean = false;\n @Input() padded?: boolean = true;\n}\n","<main\n [ngClass]=\"[fitted?'fitted':'', margin?'margin':'', rounded?'rounded':'', 'border-'+border]\"\n [ngStyle]=\"{height: height}\">\n <ng-content select=\"header\"></ng-content>\n <article [ngClass]=\"[padded?'padded':'']\">\n <ng-content></ng-content>\n </article>\n <ng-content select=\"footer\"></ng-content>\n</main>\n","import { NgClass, NgStyle } from '@angular/common';\nimport { Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fw-layout-sidebar',\n templateUrl: './sidebar.component.html',\n styleUrls: ['./sidebar.component.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [NgClass, NgStyle],\n})\nexport class FwLayoutSidebarComponent {\n @Input() outlined: boolean = true;\n @Input() rounded: boolean = true;\n @Input() width?: string = '65%';\n @Input() direction?: 'row' | 'row-reverse' = 'row';\n}\n","<div\n [ngClass]=\"[\n outlined?'outlined':'',\n rounded?'rounded':'',\n direction,\n 'container'\n ]\">\n <div class=\"main\" [ngStyle]=\"{width: 'calc( 100% - '+width+' )'}\">\n <ng-content></ng-content>\n </div>\n <div class=\"aside\" [ngStyle]=\"{width: width}\">\n <ng-content select=\"aside\"></ng-content>\n </div>\n</div>\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'fw-layout-toolbar',\n template: '<ng-content></ng-content>',\n styleUrls: ['./toolbar.component.scss'],\n})\nexport class FwLayoutToolbarComponent {\n @Input() dense?: boolean;\n\n @HostBinding('attr.class') get classes(): string {\n const classes = ['fw-layout-toolbar', this.dense ? 'dense' : ''];\n return classes.join(' ');\n };\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwLayoutContextComponent } from './context/context.component';\nimport { FwGridComponent, FwGridItemComponent } from './grid/grid.component';\nimport { FwLayoutGroupComponent } from './layout-group.component';\nimport { FwLayoutPanelComponent } from './panel/panel.component';\nimport { FwLayoutSidebarComponent } from './sidebar/sidebar.component';\nimport { FwLayoutToolbarComponent } from './toolbar/toolbar.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n FwLayoutContextComponent,\n FwLayoutToolbarComponent,\n FwLayoutGroupComponent,\n FwLayoutPanelComponent,\n FwLayoutSidebarComponent,\n FwGridComponent,\n FwGridItemComponent,\n ],\n exports: [\n FwLayoutContextComponent,\n FwLayoutToolbarComponent,\n FwLayoutGroupComponent,\n FwLayoutPanelComponent,\n FwLayoutSidebarComponent,\n FwGridComponent,\n FwGridItemComponent,\n ],\n})\nexport class FwLayoutsModule {\n}\n","import { NgIf } from '@angular/common';\nimport { Component, EventEmitter, HostBinding, HostListener, Input, input, Output } from '@angular/core';\n\n@Component({\n selector: 'fw-popover-panel',\n templateUrl: './popover-panel.component.html',\n styleUrls: ['./popover-panel.component.scss'],\n imports: [NgIf],\n})\nexport class FwPopoverPanelComponent {\n @Input() position: 'above' | 'above-left' | 'above-right' |\n 'below' | 'below-left' | 'below-right' |\n 'left' | 'left-above' | 'left-below' |\n 'right' | 'right-above' | 'right-below';\n @Output() mouseLeave: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n showCaret = input(true);\n\n @HostBinding('attr.class') get classes(): string {\n return ['fw-popover-panel', 'fw-popover-' + this.position].join(' ');\n }\n\n @HostListener('mouseleave', ['$event']) hidePopover(e: MouseEvent): void {\n this.mouseLeave.emit(e);\n }\n}\n","<div class=\"fw-popover-content-wrapper\">\n <ng-content></ng-content>\n <div *ngIf=\"showCaret()\" class=\"fw-popover-caret\"></div>\n</div>\n","/* eslint-disable @rx-angular/prefer-no-layout-sensitive-apis */\nimport { animate, style, transition, trigger } from '@angular/animations';\nimport { CdkConnectedOverlay,CdkOverlayOrigin, ConnectedOverlayPositionChange, ConnectedPosition, FlexibleConnectedPositionStrategyOrigin } from '@angular/cdk/overlay';\nimport { Component, computed, effect, Input, input, model, signal } from '@angular/core';\nimport { MouseEvent } from 'react';\n\nimport { FwPopoverPanelComponent } from './popover-panel/popover-panel.component';\n\ntype DelayLength = 'none' | 'short' | 'long';\ntype DelayMap = { [K in DelayLength]: number };\n\nconst delayMap: DelayMap = {\n 'none': 0,\n 'short': 400,\n 'long': 700,\n}\n\ntype PositionOption = 'above' | 'above-left' | 'above-right' |\n 'below' | 'below-left' | 'below-right' |\n 'left' | 'left-above' | 'left-below' |\n 'right' | 'right-above' | 'right-below';\n\n/**\n * component for mounting content in a floating container\n * @see [Vision Docs](https://cdn.flywheel.io/docs/vision/latest/?path=/docs/components-popover--docs)\n */\n@Component({\n selector: 'fw-popover',\n templateUrl: './popover.component.html',\n styles: [],\n animations: [\n trigger('fadeInFadeOut', [\n transition(':enter', [\n style({ opacity: 0 }),\n animate('150ms', style({ opacity: 1 })),\n ]),\n transition(':leave', [\n animate('200ms', style({ opacity: 0 })),\n ]),\n ]),\n ],\n imports: [CdkConnectedOverlay, FwPopoverPanelComponent],\n})\nexport class FwPopoverComponent {\n @Input() position: PositionOption = 'above';\n trigger = input<CdkOverlayOrigin | FlexibleConnectedPositionStrategyOrigin>();\n isOpen = model<boolean>(false);\n @Input() action: 'mouseenter' | 'click' = 'mouseenter';\n @Input() flyoutPanel: FwPopoverPanelComponent;\n delay = input<DelayLength>('short');\n delayMs = computed(() => {\n return delayMap[this.delay()];\n })\n showCaret = input(true);\n activePositionPair = signal<ConnectedOverlayPositionChange>(null);\n // for mapping from the connectionPairs to a named position\n panelPosition = computed<PositionOption>(() => {\n const currentPosition = this.activePositionPair()?.connectionPair;\n\n if (!currentPosition) {\n return this.position;\n }\n\n const positionNames = Object.keys(this.positionMap);\n\n const activePositionName = positionNames.find(positionName => {\n const pos = this.positionMap[positionName];\n return pos.originX === currentPosition.originX &&\n pos.originY === currentPosition.originY &&\n pos.overlayX === currentPosition.overlayX &&\n pos.overlayY === currentPosition.overlayY;\n })\n\n return (activePositionName || this.position) as PositionOption;\n })\n\n positionMap: { [key: string]: ConnectedPosition } = {\n 'above': { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom' },\n 'above-left': { originX: 'center', originY: 'top', overlayX: 'end', overlayY: 'bottom', offsetX: 40 },\n 'above-right': { originX: 'center', originY: 'top', overlayX: 'start', overlayY: 'bottom', offsetX: -40 },\n 'below': { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top' },\n 'below-left': { originX: 'center', originY: 'bottom', overlayX: 'end', overlayY: 'top', offsetX: 40 },\n 'below-right': { originX: 'center', originY: 'bottom', overlayX: 'start', overlayY: 'top', offsetX: -40 },\n 'left': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center' },\n 'left-above': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'bottom', offsetY: 37 },\n 'left-below': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'top', offsetY: -40 },\n 'right': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center' },\n 'right-above': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'bottom', offsetY: 37 },\n 'right-below': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'top', offsetY: -40 },\n };\n\n /**\n * Gets a list of fallback positions for the selected one\n * Preserves the primary axis i.e. which side of the origin the panel is on\n */\n getFallbackPositions = (): ConnectedPosition[] => {\n const positionSplitRegex = /(?<primary>[a-z]\\w+)-*(?<secondary>[a-z]\\w+)*/;\n const { primary, secondary } = positionSplitRegex.exec(this.position).groups;\n\n // '' represents a primary axis with no secondary i.e. 'above'\n // fallbacks if no secondary position\n const primaryAxisToFallbacks = {\n 'left': ['', 'below', 'above'],\n 'right': ['', 'below', 'above'],\n 'above': ['', 'left', 'right'],\n 'below': ['', 'left', 'right'],\n }\n\n // preference order for fallbacks\n const secondaryPositionFallbacks = {\n 'left': ['left', '', 'right'],\n 'right': ['right', '', 'left'],\n 'above': ['above', '', 'below'],\n 'below': ['below', '', 'above'],\n }\n\n const secondaryOptions = secondaryPositionFallbacks[secondary] || primaryAxisToFallbacks[primary];\n\n const positionArray = secondaryOptions.map(secondaryOption => {\n const addDash = secondaryOption ? '-' : '';\n const parsedOptionName = primary + addDash + secondaryOption;\n return this.positionMap[parsedOptionName];\n })\n\n return positionArray;\n }\n\n registerEventListeners = effect(() => {\n\n const trigger = this.trigger() as HTMLElement;\n\n if (!trigger) {\n return;\n }\n\n if (this.action === 'mouseenter' && !trigger.onmouseenter) {\n trigger.onclick = undefined;\n trigger.style.cursor = 'pointer';\n\n let timerId;\n\n trigger.onmouseenter = (): void => {\n timerId = this.openOnDelay();\n };\n\n // @ts-expect-error MouseEvent\n trigger.onmouseleave = (e: MouseEvent): void => {\n window.clearTimeout(timerId);\n\n const relatedTarget = (e.relatedTarget as HTMLElement);\n if (!relatedTarget?.classList.contains('fw-popover-panel') && !relatedTarget?.classList.contains('fw-popover-caret') && !relatedTarget?.classList.contains('cdk-overlay-pane')) {\n this.isOpen.set(false);\n }\n };\n }\n\n if (this.action === 'click' && !trigger.onclick) {\n trigger.onmouseenter = undefined;\n trigger.onmouseleave = undefined;\n\n trigger.onclick = (): void => {\n this.isOpen.update((val) => !val);\n };\n }\n })\n\n openOnDelay(): number {\n return window.setTimeout(() => {\n this.isOpen.set(true);\n }, this.delayMs())\n }\n\n\n backdropClick(): void {\n this.isOpen.set(false);\n }\n\n handlePanelLeave(): void {\n if (this.action === 'mouseenter') {\n this.isOpen.set(false);\n }\n }\n\n}\n","<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger()\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n [cdkConnectedOverlayPositionStrategy]=\"\"\n [cdkConnectedOverlayHasBackdrop]=\"action==='click'\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayPositions]=\"getFallbackPositions()\"\n [cdkConnectedOverlayViewportMargin]=\"10\"\n (positionChange)=\"activePositionPair.set($event)\"\n (backdropClick)=\"backdropClick()\"\n (detach)=\"backdropClick()\">\n <fw-popover-panel\n @fadeInFadeOut\n [position]=\"panelPosition()\"\n (mouseLeave)=\"handlePanelLeave()\"\n [showCaret]=\"showCaret()\">\n <ng-content></ng-content>\n </fw-popover-panel>\n</ng-template>\n","import { Overlay, OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwLayoutsModule } from '../layouts/layouts.module';\nimport { FwPopoverComponent } from './popover.component';\nimport { FwPopoverPanelComponent } from './popover-panel/popover-panel.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwLayoutsModule,\n OverlayModule,\n FwPopoverComponent,\n FwPopoverPanelComponent,\n ],\n exports: [\n FwPopoverComponent,\n FwPopoverPanelComponent,\n ],\n providers: [\n Overlay,\n ],\n})\nexport class FwPopoverModule {\n}\n","import { animate, style, transition, trigger } from '@angular/animations';\nimport { CdkOverlayOrigin, ConnectedPosition } from '@angular/cdk/overlay';\nimport { NgClass, NgStyle } from '@angular/common';\nimport { Component, computed, ElementRef, EventEmitter, HostBinding, HostListener, Input, input, Output, ViewEncapsulation } from '@angular/core';\n\nexport type DelayLength = 'none' | 'short' | 'long';\ntype DelayMap = { [K in DelayLength]: number };\nconst delayMap: DelayMap = {\n 'none': 0,\n 'short': 400,\n 'long': 700,\n}\n\nexport type SimplePosition = 'above' | 'below' | 'left' | 'right';\n\n/* eslint-disable @rx-angular/prefer-no-layout-sensitive-apis */\n// linter false positives for offsetY\nconst positionMap: { [key: string]: ConnectedPosition } = {\n 'none': { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom', offsetY: 3 },\n 'above': { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom', offsetY: 3 },\n 'below': { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top', offsetY: -3 },\n 'left': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center' },\n 'right': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center' },\n};\n/* eslint-enable @rx-angular/prefer-no-layout-sensitive-apis */\n\nconst isElementRef = (input: unknown): input is ElementRef<HTMLElement> => (\n (Boolean((input as ElementRef<HTMLElement>).nativeElement))\n)\n\n@Component({\n selector: 'fw-tooltip-panel',\n templateUrl: './tooltip-panel.component.html',\n styleUrls: ['./tooltip-panel.component.scss'],\n encapsulation: ViewEncapsulation.None,\n animations: [\n trigger('fadeInFadeOut', [\n transition(':enter', [\n style({ opacity: 0 }),\n animate('150ms', style({ opacity: 1 })),\n ]),\n transition(':leave', [\n animate('200ms', style({ opacity: 0 })),\n ]),\n ]),\n ],\n imports: [NgClass, NgStyle],\n})\nexport class FwTooltipPanelComponent {\n\n @HostBinding('@fadeInFadeOut') animation;\n\n trigger = input(undefined, {\n transform: (unparsed: CdkOverlayOrigin | ElementRef<HTMLElement>): CdkOverlayOrigin => {\n if (isElementRef(unparsed)) {\n return new CdkOverlayOrigin(unparsed);\n }\n return unparsed;\n },\n })\n @Input() title = '';\n isOpen = input(false);\n position = input<SimplePosition>('below');\n connectedPosition = computed(() => [positionMap[this.position()]]);\n @Input() color?: 'light' | 'dark' = 'dark';\n @Input() maxWidth?: number = 200;\n @Input() displayCaret: boolean = true;\n @Output() mouseLeave: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n delay = input<DelayLength>('short');\n delayMs = computed(() => delayMap[this.delay()]);\n\n @HostBinding('attr.class') get classes(): string {\n return ['fw-tooltip-panel', 'fw-tooltip-' + this.position].join(' ');\n }\n\n @HostListener('mouseleave', ['$event']) hidePopover(e: MouseEvent): void {\n this.mouseLeave.emit(e);\n }\n}\n","<div\n class=\"fw-tooltip-content-wrapper vision-dark-theme\"\n [ngClass]=\"'fw-tooltip-' + position()\"\n [ngStyle]=\"{'maxWidth': maxWidth+'px'}\">\n <ng-content></ng-content>\n <h5 class=\"vision-h5\">{{ title }}</h5>\n @if (displayCaret) {\n <div class=\"fw-tooltip-caret\"></div>\n }\n</div>\n","import { ConnectedPosition, Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ComponentRef, computed, Directive, effect, ElementRef, inject, input, model, OnDestroy, OnInit, signal, ViewContainerRef } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { FwTooltipPanelComponent, SimplePosition } from './tooltip-panel/tooltip-panel.component';\n\ntype DelayLength = 'none' | 'short' | 'long';\ntype DelayMap = { [K in DelayLength]: number };\n\nconst delayMap: DelayMap = {\n 'none': 0,\n 'short': 400,\n 'long': 700,\n}\n\nconst delayNameToMs = (name: DelayLength): number => {\n return delayMap[name];\n}\n\n/* eslint-disable @rx-angular/prefer-no-layout-sensitive-apis */\n// linter false positives for offsetY\n\nconst positionMap: { [key: string]: ConnectedPosition } = {\n 'above': { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom', offsetY: 3 },\n 'below': { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top', offsetY: -3 },\n 'left': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center' },\n 'right': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center' },\n 'none': { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom', offsetY: 3 },\n};\n\n/* eslint-enable @rx-angular/prefer-no-layout-sensitive-apis */\n\n\n/**\n * Directive for displaying extra context on hover\n * @see [Vision Docs](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-tooltip--docs)\n */\n@Directive({\n selector: '[fwTooltip]',\n})\nexport class FwTooltipDirective implements OnInit, OnDestroy {\n\n /***** External Context *****/\n\n private elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private viewContainerRef = inject(ViewContainerRef);\n private overlayService = inject(Overlay);\n\n /***** Internal Refs *****/\n\n private overlayRef = signal<OverlayRef | undefined>(undefined);\n private tooltipRef = signal<ComponentRef<FwTooltipPanelComponent> | undefined>(undefined);\n private tooltipPortal: ComponentPortal<FwTooltipPanelComponent>;\n\n /***** Inputs *****/\n\n // a lot of these ideally wouldn't be models,\n // but it makes it easier to interact with this from derivative directives\n\n // VS Code pulls the input that shares a name with the directive for giving context\n // so putting the top level comment on this input\n\n /**\n * Directive for displaying extra context on hover\n * @see [Vision Docs](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-tooltip--docs)\n */\n title = model<string>('Placeholder', {\n alias: 'fwTooltip',\n })\n\n /**\n * direction relative to the parent component that the tooltip will attempt to position itself to\n */\n position = model<SimplePosition>('above', {\n alias: 'fwTooltipPosition',\n });\n\n /**\n * maximum width of the tooltip in pixels\n */\n maxWidth = model<number>(200, {\n alias: 'fwTooltipMaxWidthPx',\n })\n\n /**\n * amount of delay before the tooltip displays\n *\n * none (0ms),\n * short (400ms),\n * long (700ms)\n */\n delayMs = input(400, {\n transform: delayNameToMs,\n alias: 'fwTooltipDelay',\n });\n\n /**\n * whether or not the tooltip should have a caret\n */\n displayCaret = input(true, {\n alias: 'fwTooltipCaret',\n });\n\n\n enabled = model(true, {\n alias: 'fwTooltipEnabled',\n });\n\n /***** Derived State *****/\n\n connectedPositions = computed<ConnectedPosition[]>(() => {\n // falback positions for if it doesn't fit in the specified position\n // tend towards closer first i.e. 'above' will try 'left' and 'right' before resorting to 'below\n const positionPreferenceOrderMap = {\n 'above': ['above', 'right', 'left', 'below'],\n 'right': ['right', 'below', 'above', 'left'],\n 'below': ['below', 'left', 'right', 'above'],\n 'left': ['left', 'above', 'below', 'right'],\n }\n\n const fallbackNamedPositions = positionPreferenceOrderMap[this.position()];\n const connectedPositions = fallbackNamedPositions.map(name => positionMap[name]);\n\n return connectedPositions;\n });\n\n positionStrategy = computed(() => {\n const positionBuilder = this.overlayService.position();\n const withOrigin = positionBuilder.flexibleConnectedTo(this.elementRef);\n const completedStrategy = withOrigin.withPositions(this.connectedPositions());\n return completedStrategy;\n });\n\n overlayConfig = computed<OverlayConfig>(() => ({\n positionStrategy: this.positionStrategy(),\n maxWidth: Number(this.maxWidth()),\n ScrollStrategyOptions: this.overlayService.scrollStrategies.close(),\n disposeOnNavigation: true,\n }));\n\n /***** Effects and Methods *****/\n\n addMouseEventListeners = effect(() => {\n\n const nativeElement = this.elementRef.nativeElement;\n\n nativeElement.addEventListener('mouseenter', () => {\n this.showTooltip();\n });\n\n nativeElement.addEventListener('mouseleave', () => {\n this.hideTooltip();\n });\n })\n\n ngOnInit(): void {\n this.tooltipPortal = new ComponentPortal(FwTooltipPanelComponent, this.viewContainerRef);\n\n this.overlayRef.set(this.overlayService.create());\n }\n\n\n private openDelayTimer: number;\n\n showTooltip(): void {\n if (!this.enabled() || !this.title()) {\n return;\n }\n\n const overlayRef = this.overlayRef();\n overlayRef.updatePositionStrategy(this.positionStrategy());\n\n if (this.openDelayTimer) {\n return;\n }\n\n this.openDelayTimer = window.setTimeout(() => {\n const tooltipRef = overlayRef.attach(this.tooltipPortal);\n this.tooltipRef.set(tooltipRef);\n\n tooltipRef.setInput('title', this.title());\n tooltipRef.setInput('position', this.position());\n tooltipRef.setInput('maxWidth', this.maxWidth());\n tooltipRef.setInput('displayCaret', this.displayCaret());\n tooltipRef.changeDetectorRef.detectChanges();\n }, this.delayMs());\n }\n\n positionChangeSub: Subscription | undefined;\n\n // updates the tooltip panel's caret position if a fallback position is used\n handlePositionChange = effect(() => {\n\n this.positionChangeSub?.unsubscribe();\n this.positionChangeSub = this.positionStrategy().positionChanges.subscribe(positionChange => {\n\n const newPosition = positionChange.connectionPair;\n\n const positionNames = Object.keys(positionMap);\n const newPositionName = positionNames.find(name => {\n const pos = positionMap[name];\n\n return pos.originX === newPosition.originX &&\n pos.originY === newPosition.originY &&\n pos.overlayX === newPosition.overlayX &&\n pos.overlayY === newPosition.overlayY;\n })\n\n if (newPositionName) {\n this.tooltipRef()?.setInput('position', newPositionName);\n this.tooltipRef()?.changeDetectorRef.detectChanges();\n }\n })\n })\n\n hideTooltip(): void {\n window.clearTimeout(this.openDelayTimer);\n this.openDelayTimer = undefined;\n this.overlayRef()?.detach();\n this.tooltipRef.set(undefined);\n }\n\n ngOnDestroy(): void {\n this.positionChangeSub?.unsubscribe();\n this.hideTooltip();\n }\n}\n","/* eslint-disable @rx-angular/prefer-no-layout-sensitive-apis */\nimport { CdkOverlayOrigin, FlexibleConnectedPositionStrategyOrigin } from '@angular/cdk/overlay';\nimport { NgClass } from '@angular/common';\nimport { Component, HostBinding, Input,input } from '@angular/core';\n\nimport { FwTooltipDirective } from './tooltip.directive';\nimport { SimplePosition } from './tooltip-panel/tooltip-panel.component';\n\ntype DelayLength = 'none' | 'short' | 'long';\n\n/**\n * component for giving extra context when a user hovers something\n * @deprecated use the [tooltip directive](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-tooltip--docs) instead, intend to remove in v3\n * @see [Vision Docs](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-wrapped-tooltip--docs)\n */\n@Component({\n selector: 'fw-tooltip',\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.component.scss'],\n imports: [NgClass, FwTooltipDirective],\n})\nexport class FwTooltipComponent {\n @Input() title: string;\n @Input() color: 'light' | 'dark' = 'dark';\n @Input() position: SimplePosition = 'above';\n @Input() maxWidth?: number = 200;\n @Input() fullWidth?: boolean = false;\n // TODO v3: remove, we shouldn't need to give direct control over a tooltip's open state\n @Input() isOpen: boolean = false;\n // TODO v3: this is a no-op input, we should remove\n @Input() trigger: CdkOverlayOrigin | FlexibleConnectedPositionStrategyOrigin;\n\n delay = input<DelayLength>('short');\n\n @HostBinding('attr.class') get classes(): string {\n return ['fw-tooltip', this.fullWidth ? 'full-width' : null].filter(Boolean).join(' ');\n };\n\n /**\n * stops the browser built-in tooltip from showing up\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/title\n */\n @HostBinding('attr.title') get attrTitle(): string {\n return '';\n };\n\n}\n","<div\n [ngClass]=\"['tooltip-trigger',fullWidth?'full-width':'']\"\n [fwTooltip]=\"title\"\n [fwTooltipDelay]=\"delay()\"\n [fwTooltipPosition]=\"position\">\n <ng-content></ng-content>\n</div>\n","import { Overlay, OverlayModule } from '@angular/cdk/overlay';\nimport { CdkNoDataRow } from '@angular/cdk/table';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwPopoverModule } from '../popover/popover.module';\nimport { FwTooltipComponent } from './tooltip.component';\nimport { FwTooltipDirective } from './tooltip.directive';\nimport { FwTooltipPanelComponent } from './tooltip-panel/tooltip-panel.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwPopoverModule,\n OverlayModule,\n CdkNoDataRow,\n FwTooltipDirective,\n FwTooltipComponent,\n FwTooltipPanelComponent,\n ],\n exports: [\n FwTooltipComponent,\n FwTooltipPanelComponent,\n FwTooltipDirective,\n ],\n providers: [\n Overlay,\n ],\n})\nexport class FwTooltipModule {\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n contentChildren,\n effect,\n ElementRef,\n inject,\n input,\n OnDestroy,\n OnInit,\n signal,\n viewChild,\n} from '@angular/core';\nimport { BehaviorSubject, debounce, distinctUntilChanged, Subscription, timer } from 'rxjs';\n\nimport { FwAvatarComponent } from '../avatar/avatar.component';\nimport { FwAvatarModule } from '../avatar/avatar.module';\nimport { FwTooltipModule } from '../tooltip/tooltip.module';\n\n// the nature of this component is to handle a complex layout issue so disabling this lint rule\n/* eslint-disable @rx-angular/prefer-no-layout-sensitive-apis */\n\n\n/**\n * Component for displaying and managing the overflow of a list of `fw-avatar`s\n * @see [Vision Docs](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-avatar-list--docs)\n */\n@Component({\n selector: 'fw-avatar-list',\n imports: [\n FwAvatarModule,\n FwTooltipModule,\n ],\n templateUrl: './avatar-list.component.html',\n styleUrl: './avatar-list.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FwAvatarListComponent implements OnInit, OnDestroy {\n\n private subscriptions: Subscription[] = [];\n\n hostElement = inject(ElementRef);\n avatars = contentChildren<FwAvatarComponent>(FwAvatarComponent);\n avatarElementRefs = contentChildren<FwAvatarComponent, ElementRef>(FwAvatarComponent, { read: ElementRef });\n moreText = viewChild.required<ElementRef<HTMLParagraphElement>>('moreText');\n changeDetector = inject(ChangeDetectorRef);\n resizeDebounceMs = input(100);\n\n ngOnInit(): void {\n // wire up resize observer to rxjs and debouce\n const resize$ = new BehaviorSubject<ResizeObserverEntry[]>([]);\n const recalcOnResize$ = resize$.pipe(\n debounce(() => timer(this.resizeDebounceMs())), // debounce otherwise it can run EVERY frame\n distinctUntilChanged(),\n );\n\n const resizeObserver = new ResizeObserver((resizeEntries) => {\n resize$.next(resizeEntries);\n })\n resizeObserver.observe(this.hostElement.nativeElement, { });\n const sub = recalcOnResize$.subscribe(() => this.calcOverflow());\n this.subscriptions.push(sub);\n }\n\n applyBorderToChildAvatars = effect(() => {\n this.avatarElementRefs().forEach(ref => {\n (ref.nativeElement as HTMLElement).setAttribute('bordered', 'true');\n });\n });\n\n childrenChanged = effect(() => {\n this.avatarElementRefs();\n this.calcOverflow();\n });\n\n\n hiddenAvatars = signal([]);\n\n calcOverflow(): void {\n\n const hostRect = (this.hostElement.nativeElement as HTMLElement).getBoundingClientRect();\n const avatarElements = this.avatarElementRefs().map(ref => ref.nativeElement as HTMLElement);\n const moreTextElement = this.moreText().nativeElement;\n\n avatarElements.forEach(avatar => avatar.classList.remove('hidden'));\n moreTextElement.classList.remove('hidden');\n\n const visibleAvatars = avatarElements.filter(avatar => {\n const avatarRect = avatar.getBoundingClientRect();\n return !(avatarRect.right > hostRect.right || avatarRect.bottom > hostRect.bottom);\n })\n\n const overflowingAvatars = avatarElements.toSpliced(0, visibleAvatars.length);\n\n if (overflowingAvatars.length > 0) {\n const lastVisibleAvatar = visibleAvatars[visibleAvatars.length - 1];\n const enoughRoomForMoreText = (hostRect.right - lastVisibleAvatar.getBoundingClientRect().right) > (moreTextElement.offsetWidth);\n\n if (!enoughRoomForMoreText) {\n overflowingAvatars.push(lastVisibleAvatar);\n }\n\n this.hiddenAvatars.set(overflowingAvatars);\n overflowingAvatars.forEach(overflowAvatar => {\n overflowAvatar.classList.add('hidden');\n })\n } else {\n this.moreText().nativeElement.classList.add('hidden');\n }\n\n // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis\n this.changeDetector.detectChanges();\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach(sub => sub.unsubscribe());\n }\n\n}\n","<ng-content select=\"fw-avatar\"></ng-content>\n<fw-tooltip> <!--TODO: figure out how to get a tooltip-->\n <p #moreText> +{{hiddenAvatars().length}} </p>\n</fw-tooltip>\n","import { NgIf } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'fw-badge',\n templateUrl: './badge.component.html',\n styleUrls: ['./badge.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgIf],\n})\nexport class FwBadgeComponent {\n @Input() color?: 'default' | 'primary' | 'secondary' | 'error' | 'warning' | 'success' = 'default';\n @Input() variant?: 'standard' | 'dot' | 'static' = 'standard';\n @Input() value?: string = '';\n @Input() hideZero?: boolean = false;\n @Input() hideEmpty?: boolean = false;\n\n @HostBinding('class') get cssClass(): string {\n return ['fw-badge', this.color, this.variant].join(' ');\n }\n\n showBadge(): boolean {\n let show = true;\n if (this.hideEmpty) {\n show = !(this.value.length === 0);\n }\n if (this.hideZero) {\n show = !(this.value && this.value === '0' || (this.hideEmpty && this.value.length === 0));\n }\n return show;\n }\n}\n","<ng-content></ng-content>\n<div class=\"badge-content vision-p4\" *ngIf=\"showBadge()\">\n {{ value }}\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwBadgeComponent } from './badge.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwBadgeComponent,\n ],\n exports: [\n FwBadgeComponent,\n ],\n})\nexport class FwBadgeModule {\n}\n","import { NgIf } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\n\nimport { FwIconComponent } from '../icon/icon.component';\n\n@Component({\n selector: 'fw-crumb',\n templateUrl: './crumb.component.html',\n styleUrls: ['./crumb.component.scss'],\n imports: [NgIf, FwIconComponent],\n})\nexport class FwCrumbComponent {\n @Input() title: string;\n @Input() description?: string;\n @Input() href?: string;\n @Input() last?: boolean;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() click: EventEmitter<Event> = new EventEmitter<Event>();\n\n handleClick(evt: Event): void {\n evt.stopPropagation();\n if (this.href) {\n window.location.href = this.href;\n }\n this.click.emit(evt);\n }\n}\n","<div (click)=\"handleClick($event)\">\n <h3 class=\"vision-h3\">{{ title }}</h3>\n <p *ngIf=\"description\" class=\"vision-p3\">{{ description }}</p>\n</div>\n<fw-icon *ngIf=\"!last\" size=\"medium\" color=\"slate\">chevron-forward</fw-icon>\n","import { AfterContentInit, Component, ContentChildren, QueryList } from '@angular/core';\n\nimport { FwCrumbComponent } from './crumb.component';\n\n@Component({\n selector: 'fw-breadcrumbs',\n template: '<ng-content select=\"fw-crumb\"></ng-content>',\n styleUrls: ['./breadcrumbs.component.scss'],\n})\nexport class FwBreadcrumbsComponent implements AfterContentInit {\n @ContentChildren(FwCrumbComponent) crumbs: QueryList<FwCrumbComponent>;\n\n ngAfterContentInit(): void {\n this.crumbs.forEach((crumb, index) => {\n if (index === this.crumbs.length - 1) {\n crumb.last = true;\n }\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwBreadcrumbsComponent } from './breadcrumbs.component';\nimport { FwCrumbComponent } from './crumb.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n FwBreadcrumbsComponent,\n FwCrumbComponent,\n ],\n exports: [\n FwBreadcrumbsComponent,\n FwCrumbComponent,\n ],\n})\nexport class FwBreadcrumbsModule {\n}\n","import { NgClass, NgIf,NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, Input, ViewChild, ViewEncapsulation } from '@angular/core';\n\n/** Based on [mat-progress-spinner](https://material.angular.io/components/progress-spinner/) */\n@Component({\n selector: 'fw-progress-spinner',\n host: {\n 'role': 'progressbar',\n 'class': 'fw-progress-spinner',\n 'tabindex': '-1',\n '[class.progress-indeterminate]': 'mode === \"indeterminate\"',\n '[class.progress-small]': 'size === \"small\"',\n '[class.progress-show-value]': 'this.showValue',\n '[style.width.px]': 'diameter',\n '[style.height.px]': 'diameter',\n // '[style.--progress-size]': 'diameter + \"px\"',\n // '[style.--progress-active-indicator-width]': 'diameter + \"px\"',\n '[attr.aria-valuemin]': '0',\n '[attr.aria-valuemax]': '100',\n '[attr.aria-valuenow]': 'mode === \"determinate\" ? value : null',\n '[attr.mode]': 'mode',\n },\n templateUrl: './spinner.component.html',\n styleUrls: ['./spinner.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n NgClass,\n NgTemplateOutlet,\n NgIf,\n ],\n})\nexport class FwProgressSpinnerComponent {\n /** The element of the determinate spinner. */\n @ViewChild('determinateSpinner') _determinateCircle: ElementRef<HTMLElement>;\n\n constructor(\n readonly _elementRef: ElementRef<HTMLElement>,\n ) {\n }\n\n /** Mode of the progress spinner. **/\n @Input() mode: 'determinate' | 'indeterminate' = 'indeterminate';\n\n /** Size of the progress spinner. **/\n @Input() size: 'small' | 'medium' = 'medium';\n\n /** Color of the progress spinner. **/\n @Input() color?: 'primary' | 'secondary' | 'red' | 'slate' | 'orange' | 'green' = 'primary';\n\n /** Whether to show the value percentage label on the progress spinner. **/\n @Input() showValue: boolean = false;\n\n /** Value of the progress spinner. Defaults to zero. Mirrored to aria-valuenow. **/\n @Input()\n get value(): number {\n // return this.mode === 'determinate' ? this._value : 0;\n return this._value;\n }\n\n set value(v: number) {\n this._value = Math.max(0, Math.min(100, v || 0));\n }\n\n private _value: number = 0;\n private _diameter = 20;\n private _strokeWidth: number = 3;\n\n /** The diameter of the progress spinner (will set width and height of svg). */\n get diameter(): number {\n switch (this.size) {\n case 'small':\n this._diameter = 20;\n this._strokeWidth = 3;\n break;\n case 'medium':\n this._diameter = 36;\n this._strokeWidth = 4;\n break;\n }\n return this._diameter;\n }\n\n /** The radius of the spinner, adjusted for stroke width. */\n _circleRadius(): number {\n return (this.diameter - 10) / 2;\n }\n\n /** The view box of the spinner's svg element. */\n _viewBox(): string {\n const viewBox = this._circleRadius() * 2 + this._strokeWidth;\n return `0 0 ${viewBox} ${viewBox}`;\n }\n\n /** The stroke circumference of the svg circle. */\n _strokeCircumference(): number {\n return 2 * Math.PI * this._circleRadius();\n }\n\n /** The dash offset of the svg circle. */\n _strokeDashOffset(): number {\n if (this.mode === 'determinate') {\n return (this._strokeCircumference() * (100 - this._value)) / 100;\n }\n return null;\n }\n\n /** Stroke width of the circle in percent. */\n _circleStrokeWidth(): number {\n return (this._strokeWidth / this.diameter) * 100;\n }\n}\n","<ng-template #circle>\n <svg\n [attr.viewBox]=\"_viewBox()\"\n [ngClass]=\"['progress-indeterminate-circle-graphic', color]\"\n xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\">\n <circle\n [attr.r]=\"_circleRadius()\"\n [style.stroke-dasharray.px]=\"_strokeCircumference()\"\n [style.stroke-dashoffset.px]=\"_strokeDashOffset()\"\n [style.stroke-width.%]=\"_circleStrokeWidth()\"\n class=\"progress-indeterminate-track\"\n cx=\"50%\" cy=\"50%\"/>\n <circle\n [attr.r]=\"_circleRadius()\"\n [style.stroke-dasharray.px]=\"_strokeCircumference()\"\n [style.stroke-dashoffset.px]=\"_strokeCircumference() / 2\"\n [style.stroke-width.%]=\"_circleStrokeWidth()\"\n cx=\"50%\" cy=\"50%\"/>\n </svg>\n</ng-template>\n\n<div class=\"progress-determinate-container\" aria-hidden=\"true\" #determinateSpinner>\n <svg\n [attr.viewBox]=\"_viewBox()\"\n [ngClass]=\"['progress-determinate-circle-graphic', color]\"\n xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\">\n <circle\n [attr.r]=\"_circleRadius()\"\n [style.stroke-dasharray.px]=\"_strokeCircumference()\"\n [style.stroke-dashoffset.px]=\"_strokeDashOffset()\"\n [style.stroke-width.%]=\"_circleStrokeWidth()\"\n class=\"progress-determinate-track\"\n cx=\"50%\" cy=\"50%\"/>\n <circle\n [attr.r]=\"_circleRadius()\"\n [style.stroke-dasharray.px]=\"_strokeCircumference()\"\n [style.stroke-dashoffset.px]=\"_strokeDashOffset()\"\n [style.stroke-width.%]=\"_circleStrokeWidth()\"\n class=\"progress-determinate-circle\"\n cx=\"50%\" cy=\"50%\"/>\n </svg>\n</div>\n<div class=\"progress-indeterminate-container\" aria-hidden=\"true\">\n <div class=\"progress-spinner-layer\">\n <div class=\"progress-circle-clipper progress-circle-left\">\n <ng-container [ngTemplateOutlet]=\"circle\"></ng-container>\n </div>\n <div class=\"progress-circle-clipper progress-circle-right\">\n <ng-container [ngTemplateOutlet]=\"circle\"></ng-container>\n </div>\n </div>\n</div>\n<p [ngClass]=\"['progress-label','size-'+size, 'mode-'+mode]\" *ngIf=\"showValue\">{{ value }}%</p>\n","import { NgIf } from '@angular/common';\nimport { Component, HostBinding, Input } from '@angular/core';\n\nimport { FwIconComponent } from '../icon/icon.component';\nimport { IconType } from '../icon/icon.types';\nimport { FwProgressSpinnerComponent } from '../progress/spinner/spinner.component';\n\n@Component({\n selector: 'fw-button',\n styleUrls: ['./button.component.scss'],\n templateUrl: './button.component.html',\n imports: [\n NgIf,\n FwProgressSpinnerComponent,\n FwIconComponent,\n ],\n})\nexport class FwButtonComponent {\n @HostBinding('attr.class') get classes(): string {\n return ['fw-button', this.size, this.fullWidth ? 'full-width' : null].filter(Boolean).join(' ');\n }\n\n @Input() color?: 'primary' | 'secondary' | 'danger' | 'slate' | 'skeleton' | 'warning' | 'success' = 'primary';\n @Input() size?: 'small' | 'medium' | 'large' = 'medium';\n @Input() variant?: 'ghost' | 'solid' | 'outline' | 'progress' = 'solid';\n @Input() type?: 'button' | 'submit' | 'reset';\n @Input() disabled?: boolean = false;\n @Input() fullWidth?: boolean = false;\n @Input() leftIcon?: IconType;\n @Input() rightIcon?: IconType;\n\n getMappedColor(): 'primary' | 'secondary' | 'red' | 'slate' | 'orange' | 'green' | undefined {\n switch (this.color) {\n case 'primary':\n case 'secondary':\n case 'slate':\n return this.color;\n case 'danger':\n return 'red';\n case 'warning':\n return 'orange';\n case 'success':\n return 'green';\n default:\n return undefined;\n }\n }\n}\n","<button [type]=\"type\" [class]=\"[color + '-' + variant, size]\" [disabled]=\"disabled\">\n <fw-progress-spinner size=\"small\" [color]=\"getMappedColor()\" *ngIf=\"variant==='progress'\"></fw-progress-spinner>\n <fw-icon *ngIf=\"!!leftIcon && variant!=='progress'\">{{ leftIcon }}</fw-icon>\n <div class=\"spacer\" *ngIf=\"!leftIcon\"></div>\n <span><ng-content></ng-content></span>\n <fw-icon *ngIf=\"!!rightIcon\">{{ rightIcon }}</fw-icon>\n</button>\n","import { Directive, HostBinding } from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n\n@Directive({\n selector: '[fwButton]',\n})\nexport class FwButtonDirective {\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n font-family: Inter, sans-serif;\n font-size: 14px;\n line-height: 14px;\n font-style: normal;\n font-weight: 500;\n display: inline-flex;\n height: 36px;\n padding: 12px;\n justify-content: center;\n align-items: center;\n gap: 8px;\n flex-shrink: 0;\n border: 1px solid transparent;\n border-radius: 8px;\n background-color: var(--slate-light);\n color: var(--typography-base);\n cursor: pointer;\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n\n\n@Directive({\n selector: '[fwButtonPrimary]',\n})\nexport class FwButtonPrimaryDirective {\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n background-color: var(--primary-base) !important;\n color: var(--typography-contrast);\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n\n@Directive({\n selector: '[fwButtonSecondary]',\n})\nexport class FwButtonSecondaryDirective {\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n background-color: var(--secondary-base) !important;\n color: var(--typography-contrast);\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n\n@Directive({\n selector: '[fwButtonDanger]',\n})\nexport class FwButtonDangerDirective {\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n background-color: var(--red-base) !important;\n color: var(--typography-contrast);\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n\n@Directive({\n selector: '[fwButtonSuccess]',\n})\nexport class FwButtonSuccessDirective {\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n background-color: var(--green-base) !important;\n color: var(--typography-contrast);\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n","import { NgClass,NgIf } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Input,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\n\n/** Based on [mat-progress-bar](https://material.angular.io/components/progress-bar/) */\n@Component({\n selector: 'fw-progress-bar',\n host: {\n 'role': 'progressbar',\n 'class': 'fw-progress-bar progress progress-animation-ready',\n 'tabindex': '-1',\n '[class.progress-indeterminate]': 'mode === \"indeterminate\"',\n '[class.progress-show-value]': 'this.showValue',\n '[attr.aria-valuemin]': '0',\n '[attr.aria-valuemax]': '100',\n '[attr.aria-valuenow]': '_isIndeterminate() ? null : value',\n '[attr.mode]': 'mode',\n },\n templateUrl: './bar.component.html',\n styleUrls: ['./bar.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [NgIf, NgClass],\n})\nexport class FwProgressBarComponent {\n /** The element of the determinate spinner. */\n @ViewChild('determinateSpinner') _determinateCircle: ElementRef<HTMLElement>;\n\n constructor(\n readonly _elementRef: ElementRef<HTMLElement>,\n private _changeDetectorRef: ChangeDetectorRef,\n ) {\n }\n\n /** Mode of the progress bar. **/\n @Input() mode: 'determinate' | 'indeterminate' | 'buffer' = 'indeterminate';\n\n /** Color of the progress bar. **/\n @Input() color: 'primary' | 'secondary' | 'orange' | 'red' | 'green' = 'primary';\n\n /** Whether to show the value percentage label on the progress bar. **/\n @Input() showValue: boolean = false;\n\n /** Value of the progress bar. Defaults to zero. Mirrored to aria-valuenow. **/\n @Input()\n get value(): number {\n // return this.mode === 'determinate' ? this._value : 0;\n return this._value;\n }\n\n set value(v: number) {\n this._value = clamp(v || 0);\n // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis\n this._changeDetectorRef.markForCheck();\n }\n\n private _value: number = 0;\n\n /** Buffer value of the progress bar. Defaults to zero. */\n @Input()\n get bufferValue(): number {\n return this._bufferValue || 0;\n }\n\n set bufferValue(v: number) {\n this._bufferValue = clamp(v || 0);\n // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis\n this._changeDetectorRef.markForCheck();\n }\n\n private _bufferValue = 0;\n\n /** Gets the transform style that should be applied to the primary bar. */\n _getPrimaryBarTransform(): string {\n return `scaleX(${this._isIndeterminate() ? 1 : this.value / 100})`;\n }\n\n /** Gets the `flex-basis` value that should be applied to the buffer bar. */\n _getBufferBarFlexBasis(): string {\n return `${this.mode === 'buffer' ? this.bufferValue : 100}%`;\n }\n\n /** Returns whether the progress bar is indeterminate. */\n _isIndeterminate(): boolean {\n return this.mode === 'indeterminate';\n }\n}\n\n/** Clamps a value to be between two numbers, by default 0 and 100. */\nfunction clamp(v: number, min = 0, max = 100): number {\n return Math.max(min, Math.min(max, v));\n}\n","<div class=\"progress-wrapper\">\n <div class=\"progress-buffer\" aria-hidden=\"true\">\n <div\n class=\"progress-buffer-bar\"\n [style.flex-basis]=\"_getBufferBarFlexBasis()\"></div>\n <div class=\"progress-buffer-dots\" *ngIf=\"mode === 'buffer'\"></div>\n </div>\n <div\n class=\"progress-bar progress-primary-bar\"\n aria-hidden=\"true\"\n [style.transform]=\"_getPrimaryBarTransform()\">\n <span class=\"progress-bar-inner {{color}}\"></span>\n </div>\n <div class=\"progress-bar progress-secondary-bar\" aria-hidden=\"true\">\n <span class=\"progress-bar-inner {{color}}\"></span>\n </div>\n</div>\n<p [ngClass]=\"['progress-label', 'mode-'+mode]\" *ngIf=\"showValue\">{{ value }}%</p>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwProgressBarComponent } from './bar/bar.component';\nimport { FwProgressSpinnerComponent } from './spinner/spinner.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwProgressBarComponent,\n FwProgressSpinnerComponent,\n ],\n exports: [\n FwProgressBarComponent,\n FwProgressSpinnerComponent,\n ],\n})\nexport class FwProgressModule {\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwProgressModule } from '../progress/progress.module';\nimport { FwButtonComponent } from './button.component';\nimport {\n FwButtonDangerDirective,\n FwButtonDirective,\n FwButtonPrimaryDirective,\n FwButtonSecondaryDirective,\n FwButtonSuccessDirective,\n} from './button.directives';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n FwProgressModule,\n FwButtonComponent,\n FwButtonDirective,\n FwButtonDangerDirective, // these need to come after the main directive\n FwButtonPrimaryDirective,\n FwButtonSecondaryDirective,\n FwButtonSuccessDirective,\n ],\n exports: [\n FwButtonComponent,\n FwButtonDirective,\n FwButtonDangerDirective, // these need to come after the main directive\n FwButtonPrimaryDirective,\n FwButtonSecondaryDirective,\n FwButtonSuccessDirective,\n ],\n})\nexport class FwButtonModule {\n}\n","import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\n\nimport { FwButtonComponent } from '../../button/button.component';\nimport { IconType } from '../../icon/icon.types';\n\n\n@Component({\n selector: 'fw-button-toggle-item',\n templateUrl: './button-toggle-item.component.html',\n styleUrls: [],\n imports: [FwButtonComponent],\n})\nexport class FwButtonToggleItemComponent {\n @Input() title?: string;\n @Input() icon?: IconType;\n @Input() selectedIcon?: IconType;\n @Input() value?: string;\n @Input() selected: boolean = false;\n @Input() disabled: boolean = false;\n @Input() size?: 'small' | 'medium' | 'large' = 'medium';\n @Input() color?: 'primary' | 'secondary' | 'danger' | 'slate' | 'skeleton' | 'warning' | 'success' = 'slate';\n @Input() selectedColor?: 'primary' | 'secondary' | 'danger' | 'slate' | 'skeleton' | 'warning' | 'success' = 'primary';\n @Input() selectedStyle?: 'background' | 'foreground' = 'background';\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() click: EventEmitter<string> = new EventEmitter<string>();\n\n @HostBinding('attr.class') get classes(): string {\n return ['fw-button-toggle-item', this.title && this.title.length > 0 ? 'has-title' : 'no-title'].filter(Boolean).join(' ');\n };\n\n constructor() {\n }\n\n handleClick(): void {\n if (this.value) {\n this.click.emit(this.value);\n }\n }\n}\n","<fw-button\n [leftIcon]=\"(selected && selectedIcon) ? selectedIcon : icon\"\n [variant]=\"(selected && selectedStyle==='background') ? 'solid':'outline'\"\n [color]=\"selected ? selectedColor:color\"\n [size]=\"size\"\n [disabled]=\"disabled\"\n (click)=\"handleClick()\">\n {{ title }}\n</fw-button>\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n QueryList,\n SimpleChanges,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\nimport { FwButtonToggleItemComponent } from '../button-toggle/button-toggle-item/button-toggle-item.component';\n\n@Component({\n selector: 'fw-button-group',\n styleUrls: ['./button-group.component.scss'],\n template: '<ng-content select=\"fw-button-toggle-item,fw-tooltip\"></ng-content>',\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FwButtonGroupComponent),\n multi: true,\n },\n ],\n})\nexport class FwButtonGroupComponent implements ControlValueAccessor, OnChanges, OnDestroy, AfterContentInit {\n @HostBinding('attr.class') get classes(): string {\n return ['fw-button-group', this.size, this.layout].filter(Boolean).join(' ');\n };\n\n @Input() layout?: 'basic' | 'compact' = 'basic';\n @Input() size?: 'small' | 'medium' | 'large' = 'medium';\n @Input() disabled?: boolean = false;\n @Input() color?: 'primary' | 'secondary' | 'danger' | 'slate' | 'skeleton' | 'warning' | 'success';\n @Input() selectedColor?: 'primary' | 'secondary' | 'danger' | 'slate' | 'skeleton' | 'warning' | 'success';\n @ContentChildren(FwButtonToggleItemComponent, { descendants: true }) toggleButtons: QueryList<FwButtonToggleItemComponent>;\n private subscriptions: Subscription[] = [];\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change = new EventEmitter<string[]>();\n private _value: string[];\n @Input()\n get value(): string[] {\n return this._value;\n }\n\n set value(newValue: string[]) {\n this.updateValue(newValue);\n }\n\n constructor(private cdref: ChangeDetectorRef) {\n }\n\n onChange: (value: string[]) => void;\n onTouched = (): void => {\n };\n\n registerOnChange(fn: (value: string[]) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(value: string[]): void {\n this.value = value;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ngOnChanges(changes: SimpleChanges): void {\n this.formatToggles();\n }\n\n ngOnDestroy(): void {\n for (const subscription of this.subscriptions) {\n subscription.unsubscribe();\n }\n }\n\n ngAfterContentInit(): void {\n if (this.toggleButtons.length > 0) {\n this.formatToggles();\n }\n }\n\n updateValue(value: string[]): void {\n this._value = value;\n if (this.onChange) {\n this.onChange(value);\n }\n this.change.emit(value);\n }\n\n formatToggles(): void {\n if (this.toggleButtons) {\n this.toggleButtons.forEach(toggle => {\n if (this.value.indexOf(toggle.value) >= 0) {\n toggle.selected = true;\n }\n toggle.size = this.size;\n if (this.color) {\n toggle.color = this.color;\n }\n if (this.selectedColor) {\n toggle.selectedColor = this.selectedColor;\n }\n if (this.disabled) {\n toggle.disabled = this.disabled;\n }\n const sub = toggle.click.subscribe(() => {\n toggle.selected = !toggle.selected;\n const vals = this.toggleButtons.map(tb => {\n if (tb.selected) {\n return tb.value;\n } else {\n return null;\n }\n }).filter(Boolean);\n this.writeValue(vals);\n });\n this.subscriptions.push(sub);\n });\n }\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n QueryList,\n SimpleChanges,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\nimport { FwButtonToggleItemComponent } from './button-toggle-item/button-toggle-item.component';\n\n@Component({\n selector: 'fw-button-toggle',\n styleUrls: ['./button-toggle.component.scss'],\n template: '<ng-content select=\"fw-button-toggle-item,fw-tooltip\"></ng-content>',\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FwButtonToggleComponent),\n multi: true,\n },\n ],\n})\nexport class FwButtonToggleComponent implements ControlValueAccessor, OnChanges, OnDestroy, AfterContentInit {\n @HostBinding('attr.class') get classes(): string {\n return ['fw-button-toggle', this.size, this.layout].filter(Boolean).join(' ');\n };\n\n @Input() layout?: 'basic' | 'compact' = 'basic';\n @Input() size?: 'small' | 'medium' | 'large' = 'medium';\n @Input() disabled?: boolean = false;\n @Input() color?: 'primary' | 'secondary' | 'danger' | 'slate' | 'skeleton' | 'warning' | 'success';\n @Input() selectedColor?: 'primary' | 'secondary' | 'danger' | 'slate' | 'skeleton' | 'warning' | 'success';\n @ContentChildren(FwButtonToggleItemComponent, { descendants: true }) toggleButtons: QueryList<FwButtonToggleItemComponent>;\n private subscriptions: Subscription[] = [];\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change = new EventEmitter<string>();\n private _value: string;\n @Input()\n get value(): string {\n return this._value;\n }\n\n set value(newValue: string) {\n this.updateValue(newValue);\n }\n\n constructor(private cdref: ChangeDetectorRef) {\n }\n\n onChange: (value: string) => void;\n onTouched = (): void => {\n };\n\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(value: string): void {\n this.value = value;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ngOnChanges(changes: SimpleChanges): void {\n this.formatToggles();\n }\n\n ngOnDestroy(): void {\n for (const subscription of this.subscriptions) {\n subscription.unsubscribe();\n }\n }\n\n ngAfterContentInit(): void {\n if (this.toggleButtons.length > 0) {\n this.formatToggles();\n }\n }\n\n // Inputs need an `${inputName}Change` event to support two-way binding to [(value)]\n // https://angular.dev/guide/templates/two-way-binding\n valueChange(value: string): void {\n this.updateValue(value);\n }\n\n updateValue(value: string): void {\n this._value = value;\n if (this.onChange) {\n this.onChange(value);\n }\n this.change.emit(value);\n }\n\n formatToggles(): void {\n if (this.toggleButtons) {\n this.toggleButtons.forEach(toggle => {\n if (toggle.value === this.value) {\n toggle.selected = true;\n }\n toggle.size = this.size;\n if (this.color) {\n toggle.color = this.color;\n }\n if (this.selectedColor) {\n toggle.selectedColor = this.selectedColor;\n }\n if (this.disabled) {\n toggle.disabled = this.disabled;\n }\n const sub = toggle.click.subscribe(() => {\n if (this.toggleButtons.length === 1) {\n toggle.selected = !toggle.selected;\n } else {\n this.toggleButtons.forEach(t => {\n t.selected = false;\n });\n toggle.selected = true;\n }\n const val = this.toggleButtons.find(t => t.selected)?.value;\n this.writeValue(val);\n });\n this.subscriptions.push(sub);\n });\n }\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { FwButtonModule } from '../button/button.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwButtonToggleComponent } from './button-toggle.component';\nimport { FwButtonToggleItemComponent } from './button-toggle-item/button-toggle-item.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n exports: [\n FwButtonToggleComponent,\n FwButtonToggleItemComponent,\n ],\n imports: [\n FwButtonModule,\n FwIconModule,\n FwButtonToggleComponent,\n FwButtonToggleItemComponent,\n ],\n})\nexport class FwButtonToggleModule {\n}\n","import { NgModule } from '@angular/core';\n\nimport { FwButtonModule } from '../button/button.module';\nimport { FwButtonToggleModule } from '../button-toggle/button-toggle.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwButtonGroupComponent } from './button-group.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n exports: [\n FwButtonGroupComponent,\n ],\n imports: [\n FwButtonModule,\n FwIconModule,\n FwButtonToggleModule,\n FwButtonGroupComponent,\n ],\n})\nexport class FwButtonGroupModule {\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'fw-card',\n templateUrl: './card.component.html',\n styleUrls: ['./card.component.scss'],\n})\nexport class FwCardComponent {\n @Input() value?: object | string;\n @Input() disabled?: boolean;\n @Input() focused?: boolean;\n @Input() constrained?: boolean;\n @Input() selectable?: boolean;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() select: EventEmitter<object | string> = new EventEmitter<object | string>();\n}\n","<div\n class=\"fw-card\"\n [class.focused]=\"focused\"\n [class.constrained]=\"constrained\"\n [class.selectable]=\"selectable\"\n [class.disabled]=\"disabled\"\n (click)=\"select && selectable && !disabled ? select.emit(value) : undefined\">\n <ng-content select=\"fw-card-header\"></ng-content>\n <ng-content select=\"fw-card-author\"></ng-content>\n <ng-content select=\"fw-card-content\"></ng-content>\n <ng-content select=\"fw-card-footer\"></ng-content>\n</div>\n","import { NgIf } from '@angular/common';\nimport { Component, Input } from '@angular/core';\n\nimport { FwIconComponent } from '../../icon/icon.component';\nimport { IconType } from '../../icon/icon.types';\n\n@Component({\n selector: 'fw-card-attr',\n templateUrl: './card-attribute.component.html',\n styleUrls: ['./card-attribute.component.scss'],\n imports: [NgIf, FwIconComponent],\n})\nexport class FwCardAttributeComponent {\n @Input() icon: IconType;\n @Input() title: string;\n}\n","<fw-icon *ngIf=\"icon\">{{ icon }}</fw-icon>\n<h5 *ngIf=\"title\" class=\"vision-h5\">{{ title }}</h5>\n<ng-content></ng-content>\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'fw-card-author',\n templateUrl: './card-author.component.html',\n styleUrls: ['./card-author.component.scss'],\n})\nexport class FwCardAuthorComponent {\n @Input() name: string;\n @Input() details: string;\n}\n","<ng-content select=\"fw-avatar\"></ng-content>\n<div class=\"author-text\">\n <h5 class=\"vision-h5\">{{ name }}</h5>\n <p class=\"vision-p3\">{{ details }}</p>\n</div>\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fw-card-content',\n template: '<ng-content></ng-content>',\n styleUrls: ['./card-content.component.scss'],\n encapsulation: ViewEncapsulation.ShadowDom,\n})\nexport class FwCardContentComponent {\n\n}\n","import { Component, HostBinding } from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n\n@Component({\n selector: 'fw-card-footer',\n template: '<ng-content></ng-content>',\n styleUrls: [],\n})\nexport class FwCardFooterComponent {\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n width: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n margin-top: 8px;\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n","import { NgIf } from '@angular/common';\nimport { Component, Input } from '@angular/core';\n\nimport { FwIconComponent } from '../../icon/icon.component';\nimport { IconType } from '../../icon/icon.types';\n\n@Component({\n selector: 'fw-card-header',\n templateUrl: './card-header.component.html',\n styleUrls: ['./card-header.component.scss'],\n imports: [NgIf, FwIconComponent],\n})\nexport class FwCardHeaderComponent {\n @Input() title?: string;\n @Input() description?: string;\n @Input() leftIcon?: IconType;\n @Input() iconColor?: 'primary' | 'secondary' | 'red' | 'orange' | 'green' | 'slate' | 'muted' | 'typography' = 'primary';\n}\n","<ng-content select=\"fw-app-icon\"></ng-content>\n<fw-icon [color]=\"iconColor\" *ngIf=\"leftIcon\">{{ leftIcon }}</fw-icon>\n<div class=\"card-header-title\">\n <h3 *ngIf=\"title\" class=\"vision-h3\">{{ title }}</h3>\n <p *ngIf=\"description\" class=\"vision-p3\">{{ description }}</p>\n</div>\n<div class=\"card-header-key\">\n <ng-content></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwAvatarModule } from '../avatar/avatar.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwCardComponent } from './card.component';\nimport { FwCardAttributeComponent } from './card-attribute/card-attribute.component';\nimport { FwCardAuthorComponent } from './card-author/card-author.component';\nimport { FwCardContentComponent } from './card-content/card-content.component';\nimport { FwCardFooterComponent } from './card-footer/card-footer.component';\nimport { FwCardHeaderComponent } from './card-header/card-header.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n FwAvatarModule,\n FwCardHeaderComponent,\n FwCardAuthorComponent,\n FwCardContentComponent,\n FwCardAttributeComponent,\n FwCardFooterComponent,\n FwCardComponent, // needs to be declared in order of usage\n ],\n exports: [\n FwCardHeaderComponent,\n FwCardAuthorComponent,\n FwCardContentComponent,\n FwCardAttributeComponent,\n FwCardFooterComponent,\n FwCardComponent, // needs to be declared in order of usage\n ],\n})\nexport class FwCardModule {\n}\n","import { NgClass } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'fw-checkbox',\n styleUrls: ['./checkbox.component.scss'],\n templateUrl: './checkbox.component.html',\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: FwCheckboxComponent,\n multi: true,\n }],\n imports: [NgClass],\n})\nexport class FwCheckboxComponent implements ControlValueAccessor {\n @Input() name?: string;\n @Input() disabled: boolean = false;\n @Input() size: 'medium' | 'compact' = 'medium';\n @Input() color: 'primary' | 'secondary' = 'primary';\n @Input() title: string;\n @Input() focused: boolean = false;\n\n get checkboxStyles(): string[] {\n return [\n 'fw-checkbox',\n this.color,\n this.size,\n this.focused ? 'focused' : '',\n this.checked === undefined ? 'indeterminate' : '',\n this.disabled ? 'disabled' : '',\n ];\n }\n\n @Input() checked?: boolean;\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change = new EventEmitter<boolean>();\n\n onChange: (value: boolean) => void;\n onTouched = (): void => {\n };\n\n registerOnChange(fn: (value: boolean) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(checked: boolean): void {\n this.checked = checked;\n }\n\n handleClick(): void {\n this.onTouched();\n if (!this.disabled) {\n this.checked = !this.checked;\n if (this.onChange) {\n this.onChange(this.checked);\n }\n this.change.emit(this.checked);\n }\n }\n}\n","<div class=\"checkbox-wrapper\" (click)=\"handleClick()\" [ngClass]=\"disabled?'disabled':''\">\n <div [ngClass]=\"checkboxStyles\">\n <input\n type=\"checkbox\"\n class=\"checkbox\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n (focusout)=\"focused=false\"\n (focusin)=\"focused=true\"\n />\n </div>\n <p class=\"vision-p2\">{{ title }}\n <ng-content></ng-content>\n </p>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { FwCheckboxComponent } from './checkbox.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n FwCheckboxComponent,\n ],\n exports: [\n FwCheckboxComponent,\n ],\n})\nexport class FwCheckboxModule {\n}\n","import { NgClass } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\n\nimport { FwIconComponent } from '../icon/icon.component';\nimport { IconType } from '../icon/icon.types';\n\n@Component({\n selector: 'fw-chip',\n templateUrl: './chip.component.html',\n styleUrls: ['./chip.component.scss'],\n imports: [NgClass, FwIconComponent],\n})\nexport class FwChipComponent {\n @Input() value?: object | string;\n @Input() variant?: 'enabled' | 'hovered' | 'focused' | 'disabled' = 'enabled';\n @Input() color?: 'slate' | 'primary' | 'secondary' | 'red' | 'green' | 'orange' = 'slate';\n @Input() icon?: IconType;\n @Input() title?: string;\n @Input() description?: string;\n @Input() showClose?: boolean;\n @Input() disabled?: boolean;\n @Input() selected?: boolean;\n @Input() textWrap? = true;\n @Input() selectable?: boolean = true;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() close: EventEmitter<void> = new EventEmitter<void>();\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() select: EventEmitter<object | string> = new EventEmitter<object | string>();\n\n handleClose(event: MouseEvent): void {\n event.stopPropagation();\n if (this.close) {\n this.close.emit();\n }\n }\n}\n","<div\n [ngClass]=\"['chip', variant, 'chip-'+color]\" [class.disabled]=\"disabled\" [class.focused]=\"selected\"\n [class.selectable]=\"selectable\" (click)=\"selectable ? select.emit(value) : undefined\">\n\n @if (icon) {\n <fw-icon class=\"chip-icon\">{{ icon }}</fw-icon>\n }\n\n <ng-content select=\"fw-avatar\"></ng-content>\n <ng-content select=\"fw-progress-spinner\"></ng-content>\n @if (title) {\n <div class=\"chip-text-container\">\n <span [class.text-wrap]=\"!textWrap\" class=\"chip-text\">{{ title }}</span>\n\n @if (description) {\n <span class=\"description\">{{ description }}</span>\n }\n </div>\n }\n\n @if (showClose) {\n <div class=\"close-icon\" (click)=\"handleClose($event)\">\n <fw-icon>close</fw-icon>\n </div>\n }\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwIconButtonModule } from '../icon-button/icon-button.module';\nimport { FwChipComponent } from './chip.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n FwIconButtonModule,\n FwChipComponent,\n ],\n exports: [\n FwChipComponent,\n ],\n})\nexport class FwChipModule {\n}\n","import { NgClass, NgIf } from '@angular/common';\nimport { Component, EventEmitter, forwardRef, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'fw-switch',\n templateUrl: './switch.component.html',\n styleUrls: ['./switch.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FwSwitchComponent),\n multi: true,\n },\n ],\n imports: [NgClass, NgIf],\n})\nexport class FwSwitchComponent implements ControlValueAccessor {\n @Input() name?: string;\n @Input() title?: string;\n @Input() titlePosition?: 'start' | 'end' = 'end';\n @Input() size?: 'small' | 'medium' = 'medium';\n @Input() color?: 'default' | 'primary' | 'secondary' = 'primary';\n @Input() disabled?: boolean;\n @Input() checked: boolean = false;\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change = new EventEmitter<boolean>();\n\n onChange: (value: boolean) => void;\n onTouched = (): void => {\n };\n\n registerOnChange(fn: (value: boolean) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(checked: boolean): void {\n this.checked = checked;\n }\n\n handleClick(): void {\n this.onTouched();\n if (!this.disabled) {\n this.checked = !this.checked;\n if (this.onChange) {\n this.onChange(this.checked);\n }\n this.change.emit(this.checked);\n }\n }\n}\n","<div\n [ngClass]=\"['fw-switch', 'size-'+size, 'title-'+titlePosition, color, disabled?'disabled':'']\"\n (click)=\"handleClick()\">\n <div class=\"switch-track\" [ngClass]=\"[checked?'checked':'']\">\n <div class=\"switch-slide\"></div>\n <div class=\"switch-knob\"></div>\n </div>\n <input type=\"checkbox\" [checked]=\"checked\" [disabled]=\"disabled\" [name]=\"name\">\n <label *ngIf=\"title\"><p class=\"vision-p2\">{{ title }}</p></label>\n</div>\n","import { NgIf } from '@angular/common';\nimport { Component, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { FwCheckboxComponent } from '../checkbox/checkbox.component';\nimport { FwSwitchComponent } from '../switch/switch.component';\n\n@Component({\n selector: 'fw-contained-input',\n templateUrl: './contained-input.component.html',\n styleUrls: ['./contained-input.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: FwContainedInputComponent,\n multi: true,\n }],\n imports: [\n NgIf,\n FwSwitchComponent,\n FwCheckboxComponent,\n ],\n})\nexport class FwContainedInputComponent implements ControlValueAccessor {\n @Input() title: string;\n @Input() description?: string;\n @Input() status?: string;\n @Input() inputPosition?: 'start' | 'end' = 'end';\n @Input() inputVariant?: 'none' | 'switch' | 'checkbox' = 'switch';\n @Input() checked?: boolean;\n @Input() disabled?: boolean;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change = new EventEmitter<boolean>();\n\n @HostListener('click') clicked(): void {\n if (!this.disabled) {\n this.writeValue(!this.checked);\n this.onChange(this.checked);\n this.change.emit(this.checked);\n }\n }\n\n @HostBinding('attr.class') get classes(): string {\n return [\n 'fw-contained-input',\n `position-${this.inputPosition}`,\n [this.checked ? 'checked' : ''],\n [this.disabled ? 'disabled' : ''],\n ].join(' ');\n };\n\n public onTouch = (): void => {\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public onChange = (value: boolean): void => {\n };\n\n writeValue(checked: boolean): void {\n this.checked = checked;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","<div class=\"heading-area\">\n <ng-content select=\"fw-avatar\"></ng-content>\n <div>\n <h4 class=\"vision-h4 section-heading\">{{ title }}\n <span *ngIf=\"status\" class=\"status\">{{ status.toUpperCase() }}</span>\n <ng-content select=\"fw-icon\"></ng-content>\n </h4>\n <p class=\"vision-p3\" *ngIf=\"description\">{{ description }}</p>\n </div>\n</div>\n<div class=\"input-content\">\n <fw-switch *ngIf=\"inputVariant==='switch'\" [checked]=\"checked\" [disabled]=\"disabled\" color=\"primary\"></fw-switch>\n <fw-checkbox\n *ngIf=\"inputVariant==='checkbox'\" [checked]=\"checked\" [disabled]=\"disabled\" color=\"primary\"></fw-checkbox>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwSwitchComponent } from './switch.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwSwitchComponent,\n ],\n exports: [\n FwSwitchComponent,\n ],\n})\nexport class FwSwitchModule {\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwButtonModule } from '../button/button.module';\nimport { FwCheckboxModule } from '../checkbox/checkbox.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwSwitchModule } from '../switch/switch.module';\nimport { FwContainedInputComponent } from './contained-input.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwButtonModule,\n FwIconModule,\n FwSwitchModule,\n FwCheckboxModule,\n FwContainedInputComponent,\n ],\n exports: [\n FwContainedInputComponent,\n ],\n})\nexport class FwContainedInputModule {\n}\n","import { NgClass,NgIf } from '@angular/common';\nimport { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { FwIconComponent } from '../icon/icon.component';\nimport { IconType } from '../icon/icon.types';\n\n@Component({\n selector: 'fw-date-input',\n templateUrl: './date-input.component.html',\n styleUrls: ['./date-input.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: FwDateInputComponent,\n multi: true,\n }],\n imports: [\n NgIf,\n FwIconComponent,\n NgClass,\n ],\n})\nexport class FwDateInputComponent implements ControlValueAccessor {\n\n @Input() disabled?: boolean = false;\n @Input() useActionableIcons?: boolean = false;\n @Input() leftIcon?: IconType;\n @Output() leftIconAction?: EventEmitter<void> = new EventEmitter<void>();\n @Input() prefix?: string;\n /**\n * @deprecated please use fw-wrapped-input instead\n */\n @Input() helperText?: string;\n /**\n * @deprecated please use fw-wrapped-input instead\n */\n @Input() errorText?: string;\n @Input() placeholder?: string = 'mm/dd/yyyy';\n @Input() readOnly?: boolean;\n @Input() size?: 'small' | 'medium' | 'large' = 'medium';\n @Input() type?: 'date' | 'time' | 'datetime-local' = 'date';\n @Input() max?: string;\n @Input() min?: string;\n @Input() step?: number;\n @Input() autofocus?: string;\n @Input() autocomplete?: string;\n // we bind this to host because that's where angular form apis put the error classes\n @HostBinding('class.errored') @Input() error?: boolean = false;\n\n private _value: string;\n @Input()\n get value(): string {\n return this._value;\n }\n\n set value(newValue: string) {\n if (this.isIsoDate(newValue)) {\n this.setDateString(newValue);\n } else {\n this.writeValue(newValue);\n }\n }\n\n externalControl: FormControl = null;\n\n public onTouch = (): void => {\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public onChange = (value: string): void => {\n };\n\n public setDate(value: Date): void {\n const year = value.getFullYear();\n const month = (value.getMonth() + 1).toString().padStart(2, '0');\n const day = value.getDate().toString().padStart(2, '0');\n const hours = value.getHours().toString().padStart(2, '0');\n const minutes = value.getMinutes().toString().padStart(2, '0');\n if (this.type === 'date') {\n this.writeValue(`${year}-${month}-${day}`);\n }\n if (this.type === 'datetime-local') {\n this.writeValue(`${year}-${month}-${day}T${hours}:${minutes}:00`);\n }\n if (this.type === 'time') {\n this.writeValue(`${hours}:${minutes}`);\n }\n }\n\n public setDateString(isoValue: string): void {\n this.setDate(new Date(isoValue));\n }\n\n isIsoDate(str): boolean {\n if (!/\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{3}Z/.test(str)) {\n return false;\n }\n const d = new Date(str);\n return !isNaN(d.getTime()) && d.toISOString() === str; // valid date\n }\n\n writeValue(obj: string): void {\n this._value = obj;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n changeHandler(event: Event): void {\n this.value = (event.target as HTMLInputElement).value;\n this.onChange(this.value);\n this.onTouch();\n }\n\n blurHandler(): void {\n this.onTouch();\n }\n\n onLeftIconClick(): void {\n this.leftIconAction.emit();\n }\n\n}\n","<div class=\"full-container\">\n <div class=\"input-container\" [class]=\"size\">\n <fw-icon\n *ngIf=\"!!leftIcon\"\n (click)=\"useActionableIcons?onLeftIconClick():null\"\n [ngClass]=\"useActionableIcons?'actionable':''\">\n {{ leftIcon }}\n </fw-icon>\n <p class=\"vision-p2 context\" *ngIf=\"!!prefix\">{{ prefix }}</p>\n <input\n [type]=\"type\"\n (keyup)=\"changeHandler($event)\"\n (blur)=\"blurHandler()\"\n (change)=\"changeHandler($event)\"\n [value]=\"value\"\n [max]=\"max\"\n [min]=\"min\"\n [step]=\"step\"\n [placeholder]=\"placeholder || ''\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [autofocus]=\"autofocus\"\n [autocomplete]=\"autocomplete\">\n <fw-icon class=\"error-icon\">warning-circle</fw-icon>\n </div>\n <p class=\"vision-p4 helper-text\" *ngIf=\"!!helperText\">{{ helperText }}</p>\n <p class=\"vision-p4 error-text\" *ngIf=\"!!errorText\">{{ errorText }}</p>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwDateInputComponent } from './date-input.component';\n\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n ReactiveFormsModule,\n FwDateInputComponent,\n ],\n exports: [\n FwDateInputComponent,\n ],\n})\nexport class FwDateInputModule {\n}\n","import { DialogRef } from '@angular/cdk/dialog';\nimport { NgIf } from '@angular/common';\nimport { Component, ElementRef, EventEmitter, HostBinding, Input, Optional, Output } from '@angular/core';\n\nimport { FwIconComponent } from '../icon/icon.component';\nimport { IconType } from '../icon/icon.types';\nimport { FwIconButtonComponent } from '../icon-button/icon-button.component';\n\nexport enum DialogWidth {\n ExtraSmall = 'extra-small',\n Small = 'small',\n Medium = 'medium',\n Large = 'large',\n ExtraLarge = 'extra-large',\n Responsive = 'responsive'\n}\n\n@Component({\n selector: 'fw-dialog',\n templateUrl: './dialog.component.html',\n styleUrls: ['./dialog.component.scss'],\n imports: [\n NgIf,\n FwIconButtonComponent,\n FwIconComponent,\n ],\n})\nexport class FwDialogComponent {\n @Input() width?: 'extra-small' | 'small' | 'medium' | 'large' | 'extra-large' | 'responsive' = DialogWidth.ExtraSmall;\n @Input() title?: string;\n @Input() icon?: IconType;\n @Input() iconColor?: 'primary' | 'secondary' | 'red' | 'orange' | 'green' | 'slate' = 'primary';\n @Input() showClose?: boolean = true;\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('class') externalClasses?: string | string[] | { [key: string]: boolean };\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() close: EventEmitter<void> = new EventEmitter<void>();\n\n private isClosing = false;\n\n constructor(@Optional() protected dialogRef: DialogRef, private elementRef: ElementRef) {\n }\n\n @HostBinding('class') get classes(): { [key: string]: boolean } {\n const classes: { [key: string]: boolean } = {\n [`dialog-width-${this.width}`]: true,\n 'dialog-closing': this.isClosing,\n };\n\n if (this.externalClasses) {\n if (typeof this.externalClasses === 'string') {\n this.externalClasses.split(' ').forEach((cls: string) => {\n if (cls.trim()) {\n classes[cls.trim()] = true;\n }\n });\n } else if (Array.isArray(this.externalClasses)) {\n this.externalClasses.forEach((cls: string) => {\n if (cls.trim()) {\n classes[cls.trim()] = true;\n }\n });\n } else {\n Object.assign(classes, this.externalClasses);\n }\n }\n\n return classes;\n }\n\n protected handleCloseButton(): void {\n this.closeWithAnimation();\n }\n\n private closeWithAnimation(): void {\n if (this.isClosing) {\n return;\n }\n\n this.isClosing = true;\n\n setTimeout(() => {\n this.dialogRef.close();\n this.close.emit();\n }, 300);\n }\n}\n","<div class=\"fw-dialog\">\n <fw-icon-button\n *ngIf=\"showClose\"\n tabindex=\"-1\" icon=\"close\" color=\"slate\"\n (click)=\"handleCloseButton()\">\n </fw-icon-button>\n <div class=\"dialog-header\">\n <ng-content select=\"fw-dialog-header\"></ng-content>\n <div class=\"dialog-title\" *ngIf=\"title\">\n <fw-icon *ngIf=\"icon\" [color]=\"iconColor\">{{ icon }}</fw-icon>\n <h3 class=\"vision-h3\">{{ title }}</h3>\n </div>\n </div>\n <div class=\"dialog-body\">\n <ng-content select=\"fw-dialog-content\"></ng-content>\n </div>\n <div class=\"dialog-actions\">\n <ng-content select=\"fw-dialog-actions\"></ng-content>\n </div>\n</div>\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { DEFAULT_DIALOG_CONFIG, Dialog, DIALOG_SCROLL_STRATEGY, DialogConfig, DialogRef } from '@angular/cdk/dialog';\nimport { ComponentType, Overlay, OverlayContainer } from '@angular/cdk/overlay';\nimport { Inject, Injectable, Injector, Optional, SkipSelf } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FwDialogService extends Dialog {\n constructor(private overlay: Overlay,\n _injector: Injector,\n public injector: Injector,\n @Optional() @Inject(DEFAULT_DIALOG_CONFIG) _dialogConfig: DialogConfig,\n public _overlayContainerRef: OverlayContainer,\n @Inject(DIALOG_SCROLL_STRATEGY) scrollStrategy: any,\n @Optional() @SkipSelf() _parentDialog: Dialog,\n @Optional() public dialogRef: DialogRef<any>) {\n super(overlay, _injector, _dialogConfig, _parentDialog, _overlayContainerRef, scrollStrategy);\n }\n\n /**\n * Open a custom component in an overlay and positioned near the top\n */\n openDialog<T>(component: ComponentType<T>, config?: DialogConfig & { canCloseCheck?: () => boolean, responsive?: boolean }, topOffset?: string): DialogRef<unknown, any> {\n const defaultSettings = {\n backdropClass: 'vision-overlay',\n positionStrategy: config?.responsive \n ? this.overlay.position().global()\n .top('5vh') // Reduced top margin for mobile optimization\n .centerHorizontally()\n : this.overlay.position().global()\n .top(topOffset ? topOffset : '10vh')\n .centerHorizontally(),\n disableClose: true, // Disable default backdrop close to handle it manually\n };\n\n config = { ...config, ...defaultSettings };\n const dialogRef = super.open(component, config);\n\n // Handle backdrop clicks with animation\n if (dialogRef.overlayRef.backdropElement) {\n dialogRef.overlayRef.backdropElement.addEventListener('click', evt => {\n const isBackdropCloseEnabled = !config.canCloseCheck || config.canCloseCheck();\n if (isBackdropCloseEnabled) {\n evt.stopPropagation();\n this.closeWithAnimation(dialogRef);\n }\n });\n }\n\n // Handle ESC key with animation\n dialogRef.overlayRef.keydownEvents().subscribe(event => {\n if (event.key === 'Escape') {\n const isBackdropCloseEnabled = !config.canCloseCheck || config.canCloseCheck();\n\n if (isBackdropCloseEnabled) {\n this.closeWithAnimation(dialogRef);\n }\n }\n });\n\n return dialogRef;\n }\n\n openModalDialog<T>(component: ComponentType<T>, config?: DialogConfig, topOffset?: string): DialogRef<unknown, any> {\n const defaultSettings = {\n backdropClass: 'vision-overlay',\n positionStrategy: this.overlay.position().global().top(topOffset ? topOffset : '10vh').centerHorizontally(),\n disableClose: true, // Disable default backdrop close to handle it manually\n };\n\n config = { ...config, ...defaultSettings };\n return super.open(component, config);\n }\n\n closeWithAnimation(dialogRef: DialogRef<any>): void {\n const dialogElement = dialogRef.overlayRef.overlayElement?.querySelector('fw-dialog, fw-dialog-confirm, fw-dialog-simple');\n\n if (dialogElement && !dialogElement.classList.contains('dialog-closing')) {\n if (dialogElement.tagName.toLowerCase() !== 'fw-dialog') {\n // For fw-dialog-confirm and fw-dialog-simple, apply the class to the inner fw-dialog element\n const innerDialog = dialogElement.querySelector('fw-dialog');\n if (innerDialog) {\n innerDialog.classList.add('dialog-closing');\n }\n } else {\n dialogElement.classList.add('dialog-closing');\n }\n\n setTimeout(() => {\n dialogRef.close();\n }, 300);\n }\n }\n}\n","import { Component, HostBinding } from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n\n@Component({\n template: `\n <ng-content></ng-content>`,\n selector: 'fw-dialog-actions',\n})\nexport class FwDialogActionsComponent {\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: flex-end;\n gap: 16px;\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n\n@Component({\n template: `\n <ng-content></ng-content>`,\n selector: 'fw-dialog-content',\n})\nexport class FwDialogContentComponent {\n @Input() padded?: boolean;\n\n @HostBinding('style') get style(): SafeStyle {\n if (this.padded) {\n return this.sanitizer.bypassSecurityTrustStyle(`\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 16px;\n `);\n } else {\n return '';\n }\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n\n","import { DialogRef } from '@angular/cdk/dialog';\nimport { NgClass } from '@angular/common';\nimport { Component, ElementRef, EventEmitter, HostBinding, Input, Optional, Output } from '@angular/core';\n\nimport { FwButtonComponent } from '../button/button.component';\nimport { FwIconComponent } from '../icon/icon.component';\nimport { IconType } from '../icon/icon.types';\nimport { FwDialogComponent } from './dialog.component';\nimport { FwDialogActionsComponent } from './dialog-actions.component';\nimport { FwDialogContentComponent } from './dialog-content.component';\n\n@Component({\n selector: 'fw-dialog-confirm',\n templateUrl: './dialog-confirm.component.html',\n styleUrls: ['./dialog-confirm.component.scss'],\n imports: [\n FwDialogComponent,\n NgClass,\n FwDialogContentComponent,\n FwIconComponent,\n FwDialogActionsComponent,\n FwButtonComponent,\n ],\n})\nexport class FwDialogConfirmComponent {\n @Input() title?: string = 'Confirm';\n @Input() icon?: IconType;\n @Input() iconColor?: 'primary' | 'secondary' | 'red' | 'orange' | 'green' | 'slate' = 'primary';\n @Input() confirmColor?: 'primary' | 'secondary' | 'danger' | 'slate' | 'warning' | 'success' = 'primary';\n @Input() cancelColor?: 'primary' | 'secondary' | 'danger' | 'slate' | 'warning' | 'success' = 'slate';\n @Input() confirmButtonText?: string = 'Confirm';\n @Input() confirmButtonIcon?: IconType = 'done-check';\n @Input() cancelButtonText?: string = 'Cancel';\n @Input() contentIcon?: string;\n @Input() contentTitle?: string = 'Are you sure?';\n @Input() contentText?: string;\n @Input() showConfirmButtonIcon = true;\n @Input() showClose = false;\n @Input() width: 'extra-small' | 'small' | 'medium' | 'large' | 'extra-large' | 'responsive' = 'extra-small';\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('class') externalClasses?: string | string[] | { [key: string]: boolean };\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() close: EventEmitter<void> = new EventEmitter<void>();\n @Output() confirm: EventEmitter<void> = new EventEmitter<void>();\n\n private isClosing = false;\n\n constructor(@Optional() public dialogRef: DialogRef, private elementRef: ElementRef) {\n }\n\n @HostBinding('class') get classes(): { [key: string]: boolean } {\n const classes: { [key: string]: boolean } = {};\n\n if (this.externalClasses) {\n if (typeof this.externalClasses === 'string') {\n this.externalClasses.split(' ').forEach((cls: string) => {\n if (cls.trim()) {\n classes[cls.trim()] = true;\n }\n });\n } else if (Array.isArray(this.externalClasses)) {\n this.externalClasses.forEach((cls: string) => {\n if (cls.trim()) {\n classes[cls.trim()] = true;\n }\n });\n } else {\n Object.assign(classes, this.externalClasses);\n }\n }\n\n return classes;\n }\n\n get dialogClasses(): string {\n return this.isClosing ? 'dialog-closing' : '';\n }\n\n handleCloseButton(): void {\n this.closeWithAnimation();\n }\n\n protected handleConfirm(): void {\n this.dialogRef.close(true);\n this.confirm.emit();\n }\n\n private closeWithAnimation(): void {\n if (this.isClosing) {\n return;\n }\n\n this.isClosing = true;\n\n setTimeout(() => {\n this.dialogRef.close();\n this.close.emit();\n }, 300);\n }\n}\n","<fw-dialog\n [width]=\"width\"\n [title]=\"title\"\n [icon]=\"icon\"\n [iconColor]=\"iconColor\"\n [showClose]=\"showClose\"\n [ngClass]=\"dialogClasses\">\n <fw-dialog-content>\n <div class=\"dialog-content-confirm\">\n @if (contentIcon) {\n <fw-icon class=\"content-icon\" [ngClass]=\"confirmColor\">\n {{ contentIcon }}\n </fw-icon>\n }\n\n @if (contentTitle) {\n <p class=\"vision-p2 content-title\">\n {{ contentTitle }}\n </p>\n }\n\n @if (contentText) {\n <p class=\"vision-p2 content-text\">\n {{ contentText }}\n </p>\n }\n </div>\n </fw-dialog-content>\n <fw-dialog-actions>\n @if (cancelButtonText) {\n <fw-button\n variant=\"outline\"\n [color]=\"cancelColor\"\n (click)=\"handleCloseButton()\">\n {{ cancelButtonText }}\n </fw-button>\n }\n\n @if (confirmButtonText) {\n <fw-button\n variant=\"solid\"\n [color]=\"confirmColor\"\n [leftIcon]=\"showConfirmButtonIcon ? confirmButtonIcon : null\"\n (click)=\"handleConfirm()\">\n {{ confirmButtonText }}\n </fw-button>\n }\n </fw-dialog-actions>\n</fw-dialog>\n","import { Component, HostBinding } from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n\n@Component({\n template: `\n <ng-content></ng-content>`,\n selector: 'fw-dialog-header',\n})\nexport class FwDialogHeaderComponent {\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 4px;\n border-bottom: 1px solid var(--separations-base);\n padding: 12px 16px;\n height: 44px;\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n","import { DialogRef } from '@angular/cdk/dialog';\nimport { NgClass, NgIf } from '@angular/common';\nimport { Component, ElementRef, EventEmitter, HostBinding, Input, Optional, Output } from '@angular/core';\n\nimport { FwButtonComponent } from '../button/button.component';\nimport { IconType } from '../icon/icon.types';\nimport { DialogWidth, FwDialogComponent } from './dialog.component';\nimport { FwDialogActionsComponent } from './dialog-actions.component';\nimport { FwDialogContentComponent } from './dialog-content.component';\n\n@Component({\n selector: 'fw-dialog-simple',\n templateUrl: './dialog-simple.component.html',\n styleUrls: ['./dialog-simple.component.scss'],\n imports: [\n FwDialogComponent,\n NgClass,\n FwDialogContentComponent,\n NgIf,\n FwDialogActionsComponent,\n FwButtonComponent,\n ],\n})\nexport class FwDialogSimpleComponent {\n @Input() width?: 'extra-small' | 'small' | 'medium' | 'large' | 'extra-large' | 'responsive' = DialogWidth.ExtraSmall;\n @Input() title?: string;\n @Input() icon?: IconType;\n @Input() iconColor?: 'primary' | 'secondary' | 'red' | 'orange' | 'green' | 'slate' = 'primary';\n @Input() showClose?: boolean = true;\n @Input() actionButtonText?: string;\n @Input() actionButtonIcon?: string;\n @Input() cancelButtonText?: string;\n @Input() alternateButtonText?: string;\n @Input() alternateButtonIcon?: IconType;\n @Input() contentText?: string;\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('class') externalClasses?: string | string[] | { [key: string]: boolean };\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() close: EventEmitter<void> = new EventEmitter<void>();\n @Output() action: EventEmitter<void> = new EventEmitter<void>();\n @Output() alternateAction: EventEmitter<void> = new EventEmitter<void>();\n\n private isClosing = false;\n\n constructor(@Optional() public dialogRef: DialogRef, private elementRef: ElementRef) {\n }\n\n @HostBinding('class') get classes(): { [key: string]: boolean } {\n const classes: { [key: string]: boolean } = {};\n\n if (this.externalClasses) {\n if (typeof this.externalClasses === 'string') {\n this.externalClasses.split(' ').forEach((cls: string) => {\n if (cls.trim()) {\n classes[cls.trim()] = true;\n }\n });\n } else if (Array.isArray(this.externalClasses)) {\n this.externalClasses.forEach((cls: string) => {\n if (cls.trim()) {\n classes[cls.trim()] = true;\n }\n });\n } else {\n Object.assign(classes, this.externalClasses);\n }\n }\n\n return classes;\n }\n\n get dialogClasses(): string {\n return this.isClosing ? 'dialog-closing' : '';\n }\n\n handleCloseButton(): void {\n this.closeWithAnimation();\n }\n\n private closeWithAnimation(): void {\n if (this.isClosing) {\n return;\n }\n\n this.isClosing = true;\n\n setTimeout(() => {\n this.dialogRef.close();\n this.close.emit();\n }, 300);\n }\n}\n","<fw-dialog\n [width]=\"width\"\n [title]=\"title\"\n [icon]=\"icon\"\n [iconColor]=\"iconColor\"\n [showClose]=\"showClose\"\n [ngClass]=\"dialogClasses\">\n <fw-dialog-content>\n <ng-content select=\"fw-dialog-content\"></ng-content>\n <p class=\"vision-p2 dialog-content-default\" *ngIf=\"contentText\">{{ contentText }}</p>\n </fw-dialog-content>\n <fw-dialog-actions>\n <fw-button\n variant=\"outline\"\n *ngIf=\"alternateButtonText\"\n [leftIcon]=\"alternateButtonIcon\"\n (click)=\"alternateAction.emit()\">\n {{ alternateButtonText }}\n </fw-button>\n <div class=\"flex\"></div>\n <fw-button variant=\"outline\" *ngIf=\"cancelButtonText\" (click)=\"handleCloseButton()\">\n {{ cancelButtonText }}\n </fw-button>\n <fw-button variant=\"solid\" *ngIf=\"actionButtonText\" (click)=\"action.emit()\">\n {{ actionButtonText }}\n </fw-button>\n </fw-dialog-actions>\n</fw-dialog>\n\n","import { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\n\nexport abstract class TranslationService {\n abstract getMessage(key: string, silent?: boolean): Observable<string>\n}\n\n/**\n * Very basic i18n implementation. Consumer apps can provide their own implementation of TranslationService to override.\n */\n@Injectable()\nexport class MinimalTranslationService implements TranslationService {\n private static messages = {\n 'common.actions.close': 'Close',\n 'confirmDialog.body': 'Are you sure?',\n 'confirmDialog.no': 'No',\n 'confirmDialog.yes': 'Yes',\n };\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n getMessage(key: string, silent?: boolean): Observable<string> {\n return of(MinimalTranslationService.messages[key]);\n }\n}\n","import { ChangeDetectorRef, OnDestroy, Pipe, PipeTransform } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { TranslationService } from '../translation.service';\n\n/**\n * Translate a message given a nested key to a location in the loaded locale copy.\n */\n@Pipe({\n name: 'translate',\n pure: false,\n})\nexport class TranslatePipe implements PipeTransform, OnDestroy {\n private subscriptions: { [key: string]: Subscription } = {};\n private messages: { [key: string]: string } = {};\n\n constructor(\n private cdr: ChangeDetectorRef,\n private translationService: TranslationService,\n ) {\n }\n\n ngOnDestroy(): void {\n for (const subscription of Object.values(this.subscriptions)) {\n subscription.unsubscribe();\n }\n }\n\n transform(key: string, silent = false): string {\n if (!(key in this.subscriptions)) {\n this.subscriptions[key] = this.translationService.getMessage(key, silent).subscribe(message => {\n this.messages[key] = message;\n // trigger change detection to support components with ChangeDetectionStrategy.OnPush\n // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis\n this.cdr.markForCheck();\n });\n }\n return this.messages[key] || '';\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Pipe({\n name: 'trusthtml',\n pure: true,\n})\nexport class TrustHtmlPipe implements PipeTransform {\n constructor (private sanitizer: DomSanitizer) { }\n\n transform(html: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { MinimalTranslationService,TranslationService } from '../translation.service';\nimport { TranslatePipe } from './translate.pipe';\nimport { TrustHtmlPipe } from './trusthtml.pipe';\n\nconst exports = [\n TranslatePipe,\n TrustHtmlPipe,\n];\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [...exports],\n exports: exports,\n providers: [\n {\n provide: TranslationService,\n useClass: MinimalTranslationService,\n },\n ],\n})\nexport class PipesModule {}\n\nexport { TranslationService }\n","import { DialogModule } from '@angular/cdk/dialog';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwButtonModule } from '../button/button.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwIconButtonModule } from '../icon-button/icon-button.module';\nimport { PipesModule } from '../shared/pipes/pipes.module';\nimport { FwDialogComponent } from './dialog.component';\nimport { FwDialogService } from './dialog.service';\nimport { FwDialogActionsComponent } from './dialog-actions.component';\nimport { FwDialogConfirmComponent } from './dialog-confirm.component';\nimport { FwDialogContentComponent } from './dialog-content.component';\nimport { FwDialogHeaderComponent } from './dialog-header.component';\nimport { FwDialogSimpleComponent } from './dialog-simple.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n DialogModule,\n FwButtonModule,\n FwIconButtonModule,\n FwIconModule,\n PipesModule,\n FwDialogActionsComponent,\n FwDialogComponent,\n FwDialogConfirmComponent,\n FwDialogContentComponent,\n FwDialogHeaderComponent,\n FwDialogSimpleComponent,\n ],\n exports: [\n FwDialogActionsComponent,\n FwDialogComponent,\n FwDialogConfirmComponent,\n FwDialogContentComponent,\n FwDialogHeaderComponent,\n FwDialogSimpleComponent,\n ],\n providers: [\n FwDialogService,\n ],\n})\nexport class FwDialogsModule {\n}\n","import { NgClass, NgIf } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input } from '@angular/core';\n\nimport { FwIconComponent } from '../icon/icon.component';\nimport { IconType } from '../icon/icon.types';\n\n@Component({\n selector: 'fw-tag',\n templateUrl: './tag.component.html',\n styleUrls: ['./tag.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgClass,\n NgIf,\n FwIconComponent,\n ],\n})\nexport class FwTagComponent {\n size = input<'small' | 'large'>('small');\n color = input<'slate' | 'primary' | 'secondary' | 'red' | 'green' | 'orange'>('slate');\n icon = input<IconType>();\n title = input<string>();\n}\n","<div [ngClass]=\"['tag', 'tag-'+size(), 'tag-'+color()]\">\n <fw-icon *ngIf=\"icon()\" class=\"tag-icon\">{{ icon() }}</fw-icon>\n <div class=\"tag-text\" *ngIf=\"title()\">\n <span>{{ title() }}</span>\n </div>\n</div>\n","import { NgIf } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, HostBinding, input, ViewEncapsulation } from '@angular/core';\n\nimport { FwTagComponent } from '../tag/tag.component';\n\n@Component({\n selector: 'fw-form-heading',\n templateUrl: './form-heading.component.html',\n styleUrls: ['./form-heading.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [NgIf, FwTagComponent],\n})\nexport class FwFormHeadingComponent {\n @HostBinding('attr.class') class = 'fw-form-heading';\n title = input.required<string>();\n description = input<string>();\n required = input<boolean>();\n status = input<string>();\n statusColor = input<'slate' | 'primary' | 'secondary' | 'red' | 'green' | 'orange'>('slate');\n\n constructor() {\n }\n}\n","<div class=\"heading-area\">\n <div>\n <div class=\"section-heading\">\n <h4 class=\"vision-h4\">\n <span>{{ title() }}</span>\n <span *ngIf=\"required()\" class=\"required\">*</span>\n </h4>\n <fw-tag *ngIf=\"status()\" [color]=\"statusColor()\" [title]=\"status()\"></fw-tag>\n <ng-content select=\"fw-tooltip\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-chip\"></ng-content>\n </div>\n <p class=\"vision-p3\" *ngIf=\"description()\">{{ description() }}</p>\n <ng-content select=\"p\"></ng-content>\n </div>\n</div>\n<div class=\"right-content\">\n <ng-content></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwTagComponent } from './tag.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n FwTagComponent,\n ],\n exports: [\n FwTagComponent,\n ],\n})\nexport class FwTagModule {\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwButtonModule } from '../button/button.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwTagModule } from '../tag/tag.module';\nimport { FwFormHeadingComponent } from './form-heading.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwButtonModule,\n FwIconModule,\n FwTagModule,\n FwFormHeadingComponent,\n ],\n exports: [\n FwFormHeadingComponent,\n ],\n})\nexport class FwFormHeadingModule {\n}\n","// adapted from https://github.com/yuyang041060120/ng2-validation\nimport { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\nimport { isAfter,isBefore, isSameDay, parseISO } from 'date-fns';\nimport { isValidPhoneNumber } from 'libphonenumber-js';\n\nexport class FwValidators {\n static phone: ValidatorFn = (control: AbstractControl): { [key: string]: boolean } => {\n if (!control || !control.value) {\n return null;\n }\n const v: string = control.value;\n return isValidPhoneNumber(v) ? null : { 'phone': true };\n };\n\n static email: ValidatorFn = (control: AbstractControl): { [key: string]: boolean } => {\n if (!control || !control.value) {\n return null;\n }\n const v: string = control.value;\n const emailRegex = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return emailRegex.test(v) ? null : { 'email': true };\n };\n\n static url: ValidatorFn = (control: AbstractControl): { [key: string]: boolean } => {\n if (!control || !control.value) {\n return null;\n }\n const v: string = control.value;\n const urlRegEx = /^(?:(?:(?:https?|ftp):)?\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})).?)(?::\\d{2,5})?(?:[/?#]\\S*)?$/i;\n return urlRegEx.test(v) ? null : { 'url': true };\n };\n}\n\nconst isFormControl = (obj: unknown | AbstractControl): obj is AbstractControl => {\n return Boolean((obj as AbstractControl)?.status);\n}\n\n/**\n * @description Checks that passed form control's value is after passed date\n * @param earliestDateArg Date object or another form control\n *\n * @usageNotes\n * Assumes form control emits an ISO timestamp string\n *\n * Does not error on empty so use a {@link https://angular.dev/api/forms/Validators#required | required validator} if needed\n * @see {@link https://angular.dev/guide/forms/reactive-forms#validating-form-input | Angular Form Validation Docs}\n * @returns\n */\nexport const notBeforeDate = (earliestDateArg: AbstractControl | Date): ValidatorFn => {\n return (control: AbstractControl): ValidationErrors | null => {\n\n // don't error empties as that's what required is for\n if (!control.value) {\n return null;\n }\n\n const valueToCheck = parseISO(control.value);\n const earliestDate = isFormControl(earliestDateArg) ? parseISO(earliestDateArg.value as string) : earliestDateArg;\n\n const isInvalid = isBefore(valueToCheck, earliestDate);\n const areSameDay = isSameDay(valueToCheck, earliestDate);\n\n const error = {\n dateRange: 'date range is invalid',\n }\n\n return (isInvalid && !areSameDay) ? error : null;\n }\n}\n\n/**\n * @description Checks that the date emitted by the attached form control is not in the future\n *\n * @usageNotes\n * Assumes form control emits an ISO timestamp string\n *\n * Does not error on empty so use a {@link https://angular.dev/api/forms/Validators#required | required validator} if needed\n * @see {@link https://angular.dev/guide/forms/reactive-forms#validating-form-input | Angular Form Validation Docs}\n * @returns Validation error or null\n */\nexport const notFutureDate = (): ValidatorFn => {\n return (control: AbstractControl): ValidationErrors | null => {\n\n // don't error empties as that's what required is for\n if (!control.value) {\n return null;\n }\n\n // assume the control uses an ISO timestamp\n const valueToCheck = parseISO(control.value);\n\n const today = new Date();\n const isFuture = isAfter(valueToCheck, today);\n\n return isFuture ? { isFuture: true } : null;\n }\n}\n","export type IconType = typeof allIcons[number];\n\nexport const allIcons = <const>[\n '3d-sphere-rotate-arrows',\n 'add-circle',\n 'add-new-create',\n 'add-row-above',\n 'add-row-below',\n 'add-server',\n 'add-server-databases-endpoint',\n 'add-user',\n 'ai',\n 'apple',\n 'apply-copy-duplicate',\n 'archive-documents-box-big',\n 'arrange-filter-sort',\n 'arrow',\n 'arrow-annotate',\n 'arrow-back',\n 'arrow-back-collapse',\n 'arrow-down',\n 'arrow-forward',\n 'arrow-forward-collapse',\n 'arrow-redo',\n 'arrow-rotate',\n 'arrow-rotate-restore',\n 'arrow-undo',\n 'arrow-up',\n 'arrow-up-high-priority',\n 'arrow-up-low-priority',\n 'barcode-serial',\n 'barcode-stack-scan',\n 'bell-notification',\n 'bezier-curve',\n 'blocks-code-test-checkmark',\n 'book-lab-flask',\n 'bookmark',\n 'bookmark-plus-add',\n 'brain',\n 'brightness-photo-edit',\n 'browser-internet-web-windows',\n 'brush-edit-create',\n 'bucket-paint',\n 'button-form-element',\n 'calendar-arrow-left-center',\n 'calendar-schedule',\n 'camera-photo-capture',\n 'cash-banknotes',\n 'certificate',\n 'chart-square',\n 'chart-trend-square',\n 'chat-messages-bubble',\n 'check-mark-certificate',\n 'checklist',\n 'checklist-tasks-chechmark-square',\n 'chevron-back',\n 'chevron-down',\n 'chevron-forward',\n 'chevron-input-number',\n 'chevron-up',\n 'circle',\n 'circle-ellipses',\n 'clap-applause-hands',\n 'clip-attachment',\n 'clock-history',\n 'clock-hour-4',\n 'clock-loading',\n 'close',\n 'close-circled',\n 'closed-freehand-vector-poly',\n 'cloud-network-add',\n 'cloud-storage-checkmark',\n 'cloud-upload',\n 'code-block-embed',\n 'code-text',\n 'color-design-profile',\n 'color-ven-design-profile-central',\n 'column-edit',\n 'computer-chip',\n 'contract-vertical',\n 'contrast-photo-edit',\n 'conversion-exchange',\n 'copy-item',\n 'creative-commons',\n 'crosshair',\n 'crown-style-circle',\n 'cursor-click',\n 'cursor-select',\n 'curve-object-secet-cursor',\n 'data-tree',\n 'delivery-shipment-packages',\n 'dna-hospital-medical',\n 'document-file-add-plus-bottom-left',\n 'document-file-blank',\n 'document-file-checkmark-bottom-left',\n 'document-file-deleted-cross-remove-center-cancel',\n 'document-file-download',\n 'document-file-list-protocol',\n 'document-file-tar',\n 'document-file-upload-bottom-center',\n 'document-file-zip',\n 'document-status-done-checkmark',\n 'document-visible',\n 'documents-file',\n 'documents-file-checkmark',\n 'documents-file-move-arrow-right',\n 'documents-files',\n 'done-check',\n 'done-check-tracked',\n 'download',\n 'download-status',\n 'drag-drop-indicator',\n 'draw-rectangle',\n 'earth-globe-fail',\n 'edit',\n 'edit-boxed',\n 'edit-erase',\n 'email',\n 'email-mail-checkmark-group',\n 'embed-circle',\n 'exchange',\n 'expand-pathfinder-dot-square-segmentation',\n 'facebook',\n 'file-blank-image-load-mask',\n 'file-blank-search',\n 'file-download',\n 'file-text',\n 'files',\n 'files-library',\n 'files-library-content',\n 'filter',\n 'filter-sort-add',\n 'filter-sort-check-mark',\n 'filter-sort-delete',\n 'flag',\n 'flip-horizontal',\n 'flip-vertical',\n 'floppy-save',\n 'flywheel-mark-logo',\n 'flywheel-viewer-mark-logo',\n 'folder-add',\n 'folder-blank',\n 'folder-checked',\n 'folder-copy-expand-arrow-down',\n 'folder-copy-expand-arrow-up',\n 'folder-group',\n 'folder-move',\n 'folder-open',\n 'folder-share',\n 'form-metadata-element',\n 'free-rights',\n 'freehand-vector-poly',\n 'full-screen-zoom',\n 'git-add-branch',\n 'git-branch',\n 'git-merge',\n 'git-merge-draft',\n 'git-pull-request-2',\n 'github-color-login',\n 'gitlab',\n 'graduate-hat',\n 'grid-dot-square',\n 'grid-layout',\n 'grid-layout-9-square',\n 'hammer-legal-square',\n 'hammer-screwdriver',\n 'hand-money-currency',\n 'header-form-element',\n 'home-modern-door',\n 'home-modern-option-lines',\n 'human-artificial-intelligence',\n 'icon-placeholder',\n 'image-photo-copy-left-down',\n 'image-picture-square',\n 'information-circle',\n 'invoice',\n 'invoice-checkmark-paid',\n 'italic',\n 'items-group-elements',\n 'key',\n 'keyboard',\n 'keychain',\n 'label-tag',\n 'laptop-health-medical-cross',\n 'layers',\n 'layout',\n 'layout-grid',\n 'line',\n 'link',\n 'link-unlink',\n 'linkedin',\n 'linux',\n 'list-paragraph',\n 'list-paragraph-number',\n 'list-test-lab-flask',\n 'livewire-tool',\n 'loading-status-checkmark',\n 'lock',\n 'lock-unlock',\n 'logout',\n 'lungs',\n 'markdown',\n 'measure-angle',\n 'measure-ruler-calibration',\n 'media-library-imports-dowload',\n 'menu-burger-handle',\n 'menu-horizontal',\n 'menu-list-form-square',\n 'menu-vertical',\n 'message-chat-add-plus',\n 'message-chat-info',\n 'message-chat-question-support',\n 'message-checkmark-sent',\n 'message-question-checkmark',\n 'microphone-mic-rec',\n 'microphone-mic-rec-circle',\n 'microphone-mic-recording-circle',\n 'minus',\n 'modalities',\n 'molecule',\n 'money',\n 'money-coin',\n 'money-dollar',\n 'monitor-computer',\n 'moon-night-mode',\n 'mouse-big',\n 'mouse-scroll',\n 'move',\n 'music-play-resume',\n 'music-stop',\n 'mute',\n 'network-storage-alert',\n 'notebook',\n 'notebook-add-plus',\n 'notebook-open',\n 'notebook-pen-edit',\n 'notes-pen',\n 'object-search-zoom-plus',\n 'open',\n 'paint-roller',\n 'pause',\n 'pen-edit-circle',\n 'pen-edit-compose-new',\n 'pencil-edit-create',\n 'photo-edit-brightness-invert',\n 'pie-chart',\n 'pie-graph-chart-sample',\n 'plus-add-rectangle',\n 'polygon',\n 'private-mode-protection-circle',\n 'protection-target',\n 'protective-mask',\n 'question-circle',\n 'quote',\n 'radiology-scan',\n 'radiology-scan-circle',\n 'reader-studies',\n 'rotate',\n 'rotate-arrow-manual',\n 'rotate-item-left',\n 'rotate-item-right',\n 'rotate-refresh',\n 'ruler',\n 'ruler-bidirectional',\n 'scanner',\n 'search',\n 'search-loop',\n 'search-user-profile-person',\n 'search-zoom-minus',\n 'search-zoom-plus',\n 'section-form-element',\n 'send-message-share',\n 'server',\n 'server-checkmark',\n 'server-database-endpoint',\n 'server-databases-checkmark-user',\n 'server-databases-connect',\n 'server-databases-download',\n 'server-databases-key-protection',\n 'server-databases-minimal-download',\n 'server-databases-sync',\n 'server-databases-sync-import',\n 'server-upload',\n 'servers-database',\n 'setting-gear',\n 'settings-adjust',\n 'settings-gear',\n 'settings-gear-square',\n 'settings-select',\n 'shapes-objects',\n 'share',\n 'shield-protect',\n 'show-visible',\n 'smiley-emoji-face',\n 'speed-dashboard',\n 'square-fill',\n 'square-fill-outline',\n 'square-outline',\n 'star',\n 'star-ai-artificial-intelligence',\n 'stars-light-sparkle',\n 'stomach',\n 'stop-minus',\n 'stretch-vertical',\n 'substract-group',\n 'switch',\n 'target',\n 'target-space-object-select',\n 'tasklist-to-do-checkmark',\n 'technology-cube-3d',\n 'test-lab-flask',\n 'text-bold',\n 'text-cross',\n 'text-h1',\n 'text-h2',\n 'text-input-form',\n 'text-long',\n 'text-short-form-element',\n 'text-underline',\n 'thumbs-down-dislike',\n 'thumbs-up-like',\n 'timer-clock-style',\n 'trash-bin-warning',\n 'trash-delete',\n 'twitter',\n 'undone-uncheck-untracked',\n 'unlimited-repeat-subscription-circle',\n 'upload',\n 'user',\n 'user-checked',\n 'user-delete-cross',\n 'user-document',\n 'user-group',\n 'user-key',\n 'user-lock',\n 'user-profile-cards-pool',\n 'user-profile-group-discovery',\n 'user-setting-gear',\n 'video-player-controls',\n 'visible-eye-hidden',\n 'volume-full',\n 'warning',\n 'warning-circle',\n 'window-finder-resize-arrow-down',\n 'window-finder-resize-arrow-up',\n 'window-resize-left',\n 'window-resize-right',\n 'window-zoom-plus-loupe',\n 'windows',\n 'workspace-mode',\n 'youtube',\n 'zendesk-logo',\n];\n","import { NgClass } from '@angular/common';\nimport { Component, EventEmitter, Input, input,model, Output } from '@angular/core';\n\n@Component({\n selector: 'fw-radio-button',\n templateUrl: './radio.component.html',\n styleUrls: ['./radio.component.scss'],\n imports: [NgClass],\n})\nexport class FwRadioComponent {\n public value = input<string>();\n public checked = model(false);\n\n @Input() group: string;\n @Input() disabled: boolean = false;\n @Input() size: 'medium' | 'compact' = 'medium';\n @Input() color: 'default' | 'primary' | 'secondary' = 'default';\n @Input() title: string;\n @Input() focused: boolean = false;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change = new EventEmitter<string>();\n\n get radioStyles(): string[] {\n return [\n 'fw-radio',\n this.color,\n this.size,\n this.focused ? 'focused' : '',\n this.disabled ? 'disabled' : '',\n ];\n }\n\n handleChange(event): void {\n this.change.emit(event.target.value);\n }\n}\n","<div [ngClass]=\"['fw-radio-wrapper', disabled?'disabled':'']\">\n <div [ngClass]=\"radioStyles\">\n <input\n type=\"radio\"\n class=\"fw-radio\"\n [id]=\"group+value()\"\n [value]=\"value()\"\n [checked]=\"checked()\"\n [name]=\"group\"\n [disabled]=\"disabled\"\n (change)=\"handleChange($event)\"\n (focusout)=\"focused=false\"\n (focusin)=\"focused=true\"\n />\n </div>\n\n @if (title) {\n <label [htmlFor]=\"group+value()\" class=\"vision-h4\">{{ title }}\n <ng-content></ng-content>\n </label>\n }\n</div>\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { NgClass,NgIf } from '@angular/common';\nimport { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\n\nimport { IconType } from '../../icon/icon.types';\n\n\n@Component({\n selector: 'fw-menu-sub-item',\n templateUrl: './menu-sub-item.component.html',\n styleUrls: ['./menu-sub-item.component.scss'],\n animations: [\n trigger('openClose', [\n // ...\n state('open', style({\n height: 'auto',\n }), { params: {} }),\n state('closed', style({\n height: '0',\n }), { params: {} }),\n transition('open <=> closed', [\n animate('.33s ease-in-out'),\n ]),\n ]),\n ],\n imports: [NgIf, NgClass],\n})\nexport class FwMenuSubItemComponent {\n @Input() value?: string;\n @Input() size?: 'default' | 'compact' = 'default';\n @Input() title: string;\n @Input() description?: string;\n @Input() icon?: IconType;\n @Input() disabled?: boolean;\n @Input() hidden?: boolean = false;\n @Input() href?: string;\n @Input() target?: string;\n @HostBinding('class.collapsed') @Input() collapsed?: boolean;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() click: EventEmitter<string> = new EventEmitter<string>();\n @HostBinding('class.focused') @Input() focused?: boolean = false;\n @HostBinding('class.selected') @Input() selected?: boolean = false;\n\n handleClick(evt?: Event): void {\n if (this.disabled) {\n evt.stopPropagation();\n return;\n }\n\n if (this.href) {\n if (this.target) {\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n window.open(this.href, this.target).focus();\n }\n else {\n window.location.href = this.href;\n }\n evt.stopPropagation();\n return;\n }\n\n if (this.value) {\n this.click.emit(this.value);\n evt.stopPropagation();\n }\n }\n\n}\n","<div\n (click)=\"handleClick($event)\" *ngIf=\"!hidden\"\n [@openClose]=\"{value: collapsed?'closed':'open'}\">\n <div\n [ngClass]=\"['menu-sub-item', 'size-'+size, disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <div class=\"menu-text\" *ngIf=\"title\">\n <h4 class=\"vision-h4\">{{ title }}</h4>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n </div>\n </div>\n</div>\n","import { NgClass } from '@angular/common';\nimport {\n AfterContentInit,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n model,\n OnChanges,\n OnDestroy,\n Output,\n QueryList,\n SimpleChanges,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { FwCheckboxComponent } from '../../checkbox/checkbox.component';\nimport { FwIconComponent } from '../../icon/icon.component';\nimport { IconType } from '../../icon/icon.types';\nimport { FwIconButtonComponent } from '../../icon-button/icon-button.component';\nimport { FwRadioComponent } from '../../radio/radio.component';\nimport { FwMenuSubItemComponent } from '../menu-sub-item/menu-sub-item.component';\n\ntype MouseEnterHandler = ($event: PointerEvent, item: FwMenuItemComponent) => void;\n\n@Component({\n selector: 'fw-menu-item',\n templateUrl: './menu-item.component.html',\n styleUrls: ['./menu-item.component.scss'],\n imports: [\n NgClass,\n FwCheckboxComponent,\n FwRadioComponent,\n FwIconComponent,\n FwIconButtonComponent,\n ],\n})\nexport class FwMenuItemComponent implements OnChanges, OnDestroy, AfterContentInit {\n @Input() value?: string;\n @Input() size?: 'default' | 'compact' = 'default';\n @Input() title: string;\n @Input() description?: string;\n @Input() icon?: IconType;\n @Input() iconColor?: 'primary' | 'secondary' | 'red' | 'orange' | 'green' | 'slate' | 'typography' = 'primary';\n @Input() disabled?: boolean;\n @Input() showCheckbox?: boolean = false;\n @Input() checkboxColor?: 'primary' | 'secondary' = 'primary';\n @Input() multiSelect?: boolean = false;\n @HostBinding('hidden') @Input() hidden?: boolean = false;\n @HostBinding('class.collapsed') @Input() collapsed?: boolean;\n @Input() href?: string;\n @Input() target?: string;\n @Input() subItemsOpen: boolean = false;\n mouseEnterHandler = model<MouseEnterHandler>(() => {});\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() click: EventEmitter<string> = new EventEmitter<string>();\n @HostBinding('class.focused') @Input() focused?: boolean = false;\n @HostBinding('class.selected') @Input() selected?: boolean = false;\n @ContentChildren(FwMenuSubItemComponent) subItems: QueryList<FwMenuSubItemComponent>;\n private subscriptions: Subscription[] = [];\n\n constructor(private elementRef: ElementRef<HTMLElement>) {}\n\n scrollIntoView(): void {\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n this.elementRef.nativeElement.scrollIntoView({ behavior: 'smooth' });\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ngOnChanges(changes: SimpleChanges): void {\n this.updateLayout();\n }\n\n ngOnDestroy(): void {\n for (const subscription of this.subscriptions) {\n subscription.unsubscribe();\n }\n }\n\n ngAfterContentInit(): void {\n this.subItems.forEach(subItem => {\n const sub = subItem.click.subscribe(value => this.click.emit(value));\n this.subscriptions.push(sub);\n });\n this.updateLayout();\n }\n\n @HostListener('mouseenter', ['$event']) onMouseEnter(event: PointerEvent): void {\n this.mouseEnterHandler()?.(event, this);\n }\n\n updateLayout(): void {\n if (this.subItems) {\n this.subItems.forEach(subItem => {\n subItem.size = this.size;\n subItem.hidden = !(this.subItemsOpen && !this.collapsed);\n subItem.collapsed = this.collapsed;\n });\n }\n }\n\n toggleSubItemsView(): void {\n this.subItemsOpen = !this.subItemsOpen;\n this.updateLayout();\n }\n\n handleClick(evt?: Event): void {\n if (this.disabled) {\n evt.stopPropagation();\n return;\n }\n\n if (this.href) {\n if (this.target) {\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n window.open(this.href, this.target).focus();\n } else {\n window.location.href = this.href;\n }\n evt.stopPropagation();\n return;\n }\n\n if (this.value) {\n this.click.emit(this.value);\n evt.stopPropagation();\n }\n }\n\n /**\n * stops the browser built-in tooltip from showing up\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/title\n */\n @HostBinding('attr.title') get attrTitle(): string {\n return '';\n };\n}\n","<div (click)=\"handleClick($event)\">\n <div\n [ngClass]=\"['menu-item', 'size-'+size, disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n @if (showCheckbox && multiSelect) {\n <div class=\"item-checkbox\">\n <fw-checkbox\n [disabled]=\"disabled\"\n [color]=\"checkboxColor\"\n [checked]=\"selected\">\n </fw-checkbox>\n </div>\n }\n @if (showCheckbox && !multiSelect) {\n <div class=\"item-radiobutton\">\n <fw-radio-button\n [value]=\"value\"\n [color]=\"checkboxColor\"\n [disabled]=\"disabled\"\n [checked]=\"selected\">\n </fw-radio-button>\n </div>\n }\n @if (icon) {\n <fw-icon [color]=\"iconColor\" class=\"menu-icon {{iconColor}}\">{{ icon }}</fw-icon>\n }\n <ng-content select=\"fw-avatar\"></ng-content>\n @if (title) {\n <div class=\"menu-text\">\n <h4 class=\"vision-h4\">{{ title }}</h4>\n @if (description) {\n <p class=\"vision-p4 description\">{{ description }}</p>\n }\n </div>\n }\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n @if (subItems.length > 0) {\n <fw-icon-button\n [size]=\"'small'\"\n [icon]=\"subItemsOpen?'chevron-up':'chevron-down'\"\n (click)=\"toggleSubItemsView()\">\n </fw-icon-button>\n }\n </div>\n </div>\n</div>\n<div class=\"item-subitems\">\n <ng-content select=\"fw-menu-sub-item\"></ng-content>\n</div>\n","import {\n AfterContentInit,\n Component,\n ContentChild,\n ContentChildren, ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n QueryList,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\nimport { FwMenuItemComponent } from './menu-item/menu-item.component';\n\n@Component({\n selector: 'fw-menu',\n templateUrl: './menu.component.html',\n styleUrls: ['./menu.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: FwMenuComponent,\n multi: true,\n }],\n})\nexport class FwMenuComponent implements ControlValueAccessor, OnChanges, OnDestroy, AfterContentInit {\n @Input() disabled = false;\n @Input() size?: 'default' | 'compact' = 'default';\n @Input() multiSelect?: boolean = false;\n @Input() useCheckbox?: boolean = undefined;\n @Input() value?: string | string[];\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change: EventEmitter<string | string[]> = new EventEmitter<string | string[]>();\n @ContentChildren(FwMenuItemComponent, { descendants: true }) menuItems: QueryList<FwMenuItemComponent>;\n @ContentChild('menuContentWrapper') menuContentWrapper: ElementRef;\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onChange = (value: string | string[]): void => {\n };\n\n onTouched = (): void => {\n };\n\n private subscriptions: Subscription[] = [];\n\n ngOnChanges(): void {\n this.updateLayout();\n }\n\n ngOnDestroy(): void {\n for (const subscription of this.subscriptions) {\n subscription.unsubscribe();\n }\n }\n\n ngAfterContentInit(): void {\n this.menuItems.forEach(item => {\n const sub = item.click.subscribe(value => this.handleSelect(value));\n this.subscriptions.push(sub);\n });\n\n const menuItemChangeSub = this.menuItems.changes.subscribe((newMenuItems) => {\n newMenuItems.forEach(item => {\n const sub = item.click.subscribe(value => this.handleSelect(value));\n this.subscriptions.push(sub);\n });\n this.updateLayout();\n });\n\n this.subscriptions.push(menuItemChangeSub);\n\n this.updateLayout();\n }\n\n writeValue(value: string | string[]): void {\n this.value = value;\n this.onChange(this.value);\n this.change.emit(this.value);\n this.updateLayout();\n }\n\n registerOnChange(fn: (value: string | string[]) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n handleSelect(value: string): void {\n if (this.multiSelect) {\n const newValues = [...this.value];\n if (newValues.indexOf(value) >= 0) {\n newValues.splice(newValues.indexOf(value), 1);\n } else {\n newValues.push(value);\n }\n this.writeValue(newValues);\n } else {\n this.writeValue(value);\n }\n }\n\n updateLayout(): void {\n\n if (this.menuItems) {\n this.menuItems.forEach(item => {\n if (this.size !== undefined) {\n item.size = this.size;\n }\n if (this.useCheckbox !== undefined) {\n item.showCheckbox = this.useCheckbox;\n }\n if (this.multiSelect !== undefined) {\n item.multiSelect = this.multiSelect;\n }\n // only disable children if this is disabled\n if (this.disabled) {\n item.disabled = this.disabled;\n }\n if (this.value !== undefined) {\n item.selected = Array.isArray(this.value) ? this.value.includes(item.value) : this.value === item.value;\n }\n item.subItems.forEach(sub => {\n sub.selected = Array.isArray(this.value) ? this.value.includes(sub.value) : this.value === sub.value;\n });\n\n item.updateLayout();\n });\n }\n }\n}\n","<div class=\"fw-menu\">\n <ng-content></ng-content>\n</div>\n","import {\n Component,\n contentChildren,\n DestroyRef,\n effect,\n EventEmitter,\n HostBinding,\n inject,\n Input,\n Output,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\nimport { Subscription } from 'rxjs';\n\nimport { FwRadioComponent } from './radio.component';\n\n@Component({\n selector: 'fw-radio-group',\n styleUrls: [],\n template: '<ng-content select=\"fw-radio-button\"></ng-content>',\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: FwRadioGroupComponent,\n multi: true,\n }],\n})\nexport class FwRadioGroupComponent implements ControlValueAccessor {\n @Input() value: string;\n @Input() group: string;\n @Input() color?: 'primary' | 'secondary' | 'default';\n @Input() size?: 'medium' | 'compact';\n @Input() disabled?: boolean;\n @Input() direction?: 'horizontal' | 'vertical' = 'horizontal';\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change = new EventEmitter<string>();\n\n private sanitizer = inject(DomSanitizer);\n private dr = inject(DestroyRef);\n\n protected radioButtons = contentChildren(FwRadioComponent);\n private _value = signal<string | null>(null);\n private radioSubs = new Map<FwRadioComponent, Subscription>();\n\n @HostBinding('style') get style(): SafeStyle {\n const dir = this.direction === 'vertical' ? 'column' : 'row';\n return this.sanitizer.bypassSecurityTrustStyle(`\n display: flex;\n flex-direction: ${dir};\n `);\n }\n\n constructor() {\n effect(() => {\n const radios = this.radioButtons();\n const value = this._value();\n const disabled = this.disabled;\n const group = this.group;\n const color = this.color;\n const size = this.size;\n\n radios.forEach(rb => {\n rb.group = group;\n rb.checked.set(rb.value() === value);\n rb.disabled = Boolean(disabled);\n\n if (color) {\n rb.color = color;\n }\n\n if (size) {\n rb.size = size;\n }\n });\n });\n\n effect(() => {\n const radios = this.radioButtons();\n\n this.radioSubs.forEach((sub, rb) => {\n if (!radios.includes(rb)) {\n sub.unsubscribe();\n this.radioSubs.delete(rb);\n }\n });\n\n radios.forEach(rb => {\n if (!this.radioSubs.has(rb)) {\n const sub = rb.change.pipe(takeUntilDestroyed(this.dr)).subscribe(value => this.handleChange(value));\n this.radioSubs.set(rb, sub);\n }\n });\n });\n }\n\n public onTouch = (): void => {\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public onChange = (value: string): void => {\n };\n\n writeValue(value: string): void {\n this.value = value;\n this._value.set(value);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n handleChange(value: string): void {\n this.value = value;\n this._value.set(value);\n this.onChange(value);\n this.change.emit(this.value);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { FwRadioComponent } from './radio.component';\nimport { FwRadioGroupComponent } from './radio-group.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n FwRadioComponent,\n FwRadioGroupComponent,\n ],\n exports: [\n FwRadioComponent,\n FwRadioGroupComponent,\n ],\n})\nexport class FwRadioModule {\n}\n","import { NgClass, NgIf } from '@angular/common';\nimport { Component, ContentChild, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { FwIconComponent } from '../icon/icon.component';\nimport { IconType } from '../icon/icon.types';\nimport { FwTooltipDirective } from '../tooltip/tooltip.directive';\n\n@Component({\n selector: 'fw-text-input',\n templateUrl: './text-input.component.html',\n styleUrls: ['./text-input.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: FwTextInputComponent,\n multi: true,\n }],\n imports: [\n NgClass,\n NgIf,\n FwIconComponent,\n FwTooltipDirective,\n ],\n})\nexport class FwTextInputComponent implements ControlValueAccessor {\n @Input() disabled?: boolean = false;\n @Input() useActionableIcons?: boolean = false;\n @Input() leftIcon?: IconType;\n @Input() rightIcon?: string;\n @Input() prefix?: string;\n @Input() context?: string;\n /**\n * @deprecated please use fw-wrapped-input instead\n */\n @Input() helperText?: string;\n /**\n * @deprecated please use fw-wrapped-input instead\n */\n @Input() errorText?: string;\n @Input() errorInIconTooltip?: boolean = false;\n @Input() placeholder?: string;\n @Input() readOnly?: boolean;\n @Input() size?: 'small' | 'medium' | 'large' = 'medium';\n @Input() type?: string = 'text';\n @Input() maxLength?: number = 255;\n @Input() autofocus?: boolean = false;\n @Input() autocomplete?: string;\n @Input() value = '';\n\n @ViewChild('input') inputRef: ElementRef<HTMLInputElement>;\n\n // we bind this to host because that's where angular form apis put the error classes\n @HostBinding('class.errored') @Input() error?: boolean = false;\n\n @Output() leftIconAction = new EventEmitter<void>();\n @Output() rightIconAction = new EventEmitter<void>();\n\n @ContentChild('textInput', { static: false }) textInput;\n @HostBinding('style.width') @Input() width = '100%';\n\n externalControl: FormControl = null;\n\n public onTouch = (): void => {\n };\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public onChange = (value: string): void => {};\n\n writeValue(obj: string): void {\n this.value = obj;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n changeHandler(event: KeyboardEvent): void {\n this.value = (event.target as HTMLInputElement).value;\n this.onChange(this.value);\n this.onTouch();\n }\n\n blurHandler(): void {\n this.onTouch();\n }\n\n onLeftIconClick(): void {\n this.leftIconAction.emit();\n }\n\n onRightIconClick(): void {\n this.rightIconAction.emit();\n }\n\n focus(): void {\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n this.inputRef.nativeElement.focus();\n }\n\n}\n","<div class=\"full-container\" [ngClass]=\"{'disabled': disabled}\">\n <div class=\"input-container\" [class]=\"size\">\n <fw-icon\n *ngIf=\"!!leftIcon\"\n (click)=\"useActionableIcons?onLeftIconClick():null\"\n [ngClass]=\"useActionableIcons?'actionable':''\">{{ leftIcon }}\n </fw-icon>\n <p class=\"vision-p2 context\" *ngIf=\"!!prefix\">{{ prefix }}</p>\n\n <input\n #input\n *ngIf=\"!textInput\"\n [type]=\"type\"\n (keyup)=\"changeHandler($event)\"\n (blur)=\"blurHandler()\"\n [value]=\"value\"\n [attr.maxlength]=\"maxLength\"\n [placeholder]=\"placeholder || ''\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [autofocus]=\"autofocus\"\n [autocomplete]=\"autocomplete\"\n >\n <ng-content select=\"input\"></ng-content>\n <p class=\"vision-p2 context\" *ngIf=\"!!context\">{{ context }}</p>\n\n <fw-icon class=\"error-icon\" [fwTooltip]=\"errorInIconTooltip ? errorText : ''\">warning-circle</fw-icon>\n <fw-icon\n *ngIf=\"!!rightIcon\"\n (click)=\"useActionableIcons?onRightIconClick():null\"\n [ngClass]=\"useActionableIcons?'actionable':''\">{{ rightIcon }}\n </fw-icon>\n <ng-content></ng-content>\n </div>\n <p class=\"vision-p4 helper-text\" *ngIf=\"!!helperText\">{{ helperText }}</p>\n <p class=\"vision-p4 error-text\" *ngIf=\"!!errorText && !errorInIconTooltip\">{{ errorText }}</p>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwTooltipDirective } from '../tooltip/tooltip.directive';\nimport { FwTextInputComponent } from './text-input.component';\n\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n FwTooltipDirective,\n ReactiveFormsModule,\n FwTextInputComponent,\n ],\n exports: [\n FwTextInputComponent,\n ],\n})\nexport class FwTextInputModule {\n}\n","import { CdkMenuTrigger } from '@angular/cdk/menu';\nimport { ContentChildren, Directive, HostListener, QueryList } from '@angular/core';\n\n@Directive({\n selector: '[fwMenuCloseTriggers]',\n})\nexport class FwMenuCloseTriggersDirective {\n @ContentChildren(CdkMenuTrigger, { descendants: true }) triggers?: QueryList<CdkMenuTrigger>;\n\n private _isOpen = false;\n\n @HostListener('document:click', ['$event'])\n outsideClick(event: MouseEvent): void {\n const target = event.target as HTMLElement;\n\n // Check is close under fw-menu-container (overlay)\n const clickedInsideMenu = target.closest('fw-menu-container') !== null;\n\n // Check is clicked on trigger\n const clickedOnTrigger = target.closest('[cdkMenuTriggerFor]') !== null;\n\n if (!clickedInsideMenu && !clickedOnTrigger && this._isOpen && this.triggers?.length > 0) {\n // Close menu if click outside menu and trigger\n this.triggers.forEach(trigger => {\n trigger.close();\n });\n this._isOpen = false;\n }\n\n if (this.triggers?.length > 0) {\n this.triggers.forEach(trigger => {\n if (trigger.isOpen()) {\n this._isOpen = true;\n }\n });\n }\n }\n}\n","import { NgIf } from '@angular/common';\nimport { Component, ContentChildren, HostBinding, Input, QueryList } from '@angular/core';\n\nimport { FwIconComponent } from '../../icon/icon.component';\nimport { IconType } from '../../icon/icon.types';\nimport { FwMenuItemComponent } from '../menu-item/menu-item.component';\n\n@Component({\n selector: 'fw-menu-item-group',\n templateUrl: './menu-item-group.component.html',\n styleUrls: ['./menu-item-group.component.scss'],\n imports: [NgIf, FwIconComponent],\n})\nexport class FwMenuItemGroupComponent {\n @HostBinding('role') @Input() role = 'group';\n @HostBinding('hidden') hidden = false;\n @Input() title?: string;\n @Input() icon?: IconType;\n @Input() iconColor?: 'primary' | 'secondary' | 'red' | 'orange' | 'green' | 'slate' | 'typography' = 'primary';\n @Input() disabled = false;\n @ContentChildren(FwMenuItemComponent, { descendants: true }) menuItems: QueryList<FwMenuItemComponent>;\n\n get allItemsHidden(): boolean {\n return this.menuItems?.length > 0 && this.menuItems.toArray().every(item => item.hidden);\n }\n}\n","<div class=\"menu-item-group\">\n <label *ngIf=\"title\">\n <fw-icon [color]=\"iconColor\" *ngIf=\"icon\" class=\"menu-icon {{iconColor}}\">{{ icon }}</fw-icon>\n <span>{{ title }}</span>\n </label>\n <div class=\"menu-item-group-items\">\n <ng-content></ng-content>\n </div>\n</div>\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'fw-menu-separator',\n template: '',\n styleUrls: ['./menu-separator.component.scss'],\n})\nexport class FwMenuSeparatorComponent {\n @HostBinding('hidden') hidden = false;\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { CdkMenuBar } from '@angular/cdk/menu';\nimport { NgIf } from '@angular/common';\nimport {\n AfterViewInit,\n Component,\n computed,\n ContentChild,\n contentChildren,\n effect,\n HostBinding,\n Input,\n input,\n output,\n signal,\n untracked,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n\nimport { FwTextInputComponent } from '../../text-input/text-input.component';\nimport { FwMenuComponent } from '../menu.component';\nimport { FwMenuItemComponent } from '../menu-item/menu-item.component';\nimport { FwMenuItemGroupComponent } from '../menu-item-group/menu-item-group.component';\nimport { FwMenuSeparatorComponent } from '../menu-separator/menu-separator.component';\n\n@Component({\n selector: 'fw-menu-container, fw-menu-filter',\n templateUrl: './menu-container.component.html',\n styleUrls: ['./menu-container.component.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [\n NgIf,\n CdkMenuBar,\n FwTextInputComponent,\n FwMenuItemComponent,\n ],\n})\nexport class FwMenuContainerComponent implements AfterViewInit {\n\n @Input() width?: string = 'inherit';\n @Input() maxHeight?: string = 'auto';\n @Input() minHeight?: string = 'auto';\n @Input() border?: 'none' | 'default' = 'default';\n @Input() shadow?: 'none' | 'small' | 'medium' | 'large' | 'extra-large' | 'inner' = 'large';\n @Input({ transform: (val: BooleanInput) => coerceBooleanProperty(val) }) showFilter: boolean = false;\n filterText = input<string>('');\n @Input({ transform: (val: BooleanInput) => coerceBooleanProperty(val) }) focusFilterOnMount: boolean = false;\n @Input() offset?: string = '0px';\n emptyText = input('No results')\n\n filteredMenuItems: FwMenuItemComponent[];\n filteredMenuItemChange = output<FwMenuItemComponent[]>();\n\n private defaultFilterFn = (filter: string, menuItems: FwMenuItemComponent[]): FwMenuItemComponent[] => {\n return menuItems?.filter(menuItem => menuItem.title?.toLowerCase().includes(filter?.toLowerCase()));\n }\n\n filterFn = input(this.defaultFilterFn);\n\n filterChanged = output<string>();\n @ViewChild('menuFilter') filterRef: FwTextInputComponent;\n\n @ContentChild(FwMenuComponent) menu: FwMenuComponent;\n\n // for passing menu items for the container to filter\n // works around a problem with nested content children\n // @see https://stackoverflow.com/questions/62886613/angular-9-nested-ng-content-and-contentchildren\n additionalMenuItems = input<readonly FwMenuItemComponent[]>([]);\n additionalGroups = input<readonly FwMenuItemGroupComponent[]>([]);\n additionalSeparators = input<readonly FwMenuSeparatorComponent[]>([]);\n childMenuItems = contentChildren(FwMenuItemComponent, { descendants: true });\n childSeparators = contentChildren(FwMenuSeparatorComponent, { descendants: true });\n childGroups = contentChildren(FwMenuItemGroupComponent, { descendants: true });\n private combinedMenuItems = computed(() => {\n return [...this.childMenuItems(), ...this.additionalMenuItems()];\n });\n\n @Input() keyHandler: (event: KeyboardEvent) => void;\n\n @HostBinding('attr.class') get classes(): string {\n return [\n 'fw-menu-container',\n `vision-shadow-${this.shadow}`,\n `border-${this.border}`,\n ].join(' ');\n };\n\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n width: ${this.width};\n max-height: ${this.maxHeight};\n min-height: ${this.minHeight};\n margin-top: ${this.offset};\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {\n effect(() => {\n const filter = this.filterText();\n untracked(() => this.onFilterChange(filter));\n });\n }\n\n ngAfterViewInit(): void {\n if (this.focusFilterOnMount && this.showFilter) {\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n this.filterRef?.focus();\n }\n\n // Ensure filteredMenuItemChange fires on init so consumers\n // that depend on it (e.g. displayedOptions) are populated\n untracked(() => this.onFilterChange(this.filterText()));\n }\n\n noResults = signal(false);\n\n handleFilterClick(event: Event): void{\n // stops filters in menus from closing the parent menu\n event.stopPropagation();\n }\n\n handleFilterInput(event: Event): void {\n const input = event.target as HTMLInputElement;\n const filterValue = input.value;\n this.onFilterChange(filterValue);\n }\n\n onFilterChange(filter: string): void {\n const allMenuItems = this.combinedMenuItems();\n\n this.filterChanged.emit(filter);\n const filterFn = this.filterFn();\n\n this.filteredMenuItems = filterFn(filter, allMenuItems);\n\n allMenuItems.forEach(menuItem => {\n const shouldBeHidden = !this.filteredMenuItems.includes(menuItem);\n menuItem.hidden = shouldBeHidden;\n });\n\n // Hide separators whenever a filter is active\n const isFiltering = Boolean(filter && filter.trim() !== '');\n [...this.childSeparators(), ...this.additionalSeparators()].forEach(separator => {\n separator.hidden = isFiltering;\n });\n\n // Hide groups whose every child menu item is hidden\n [...this.childGroups(), ...this.additionalGroups()].forEach(group => {\n group.hidden = group.allItemsHidden;\n });\n\n const hasFilter = Boolean(filter && filter.trim() !== '');\n const allHidden = allMenuItems.length > 0 && allMenuItems.every(item => item.hidden);\n this.noResults.set(hasFilter && (allHidden || allMenuItems.length === 0));\n\n this.filteredMenuItemChange.emit(this.filteredMenuItems);\n }\n}\n","<div #filterBox *ngIf=\"showFilter\" class=\"filter-box\" cdkMenuBar>\n <fw-text-input\n (click)=\"handleFilterClick($event)\"\n #menuFilter\n (keydown)=\"keyHandler?.($event)\"\n placeholder=\"Search\" leftIcon=\"search\" [autofocus]=\"true\"\n [value]=\"filterText()\" (input)=\"handleFilterInput($event)\">\n </fw-text-input>\n <ng-content select=\".filter-content\"></ng-content>\n</div>\n<div class=\"menu-wrapper\">\n @if (noResults()) {\n <fw-menu-item [title]=\"emptyText()\" [disabled]=\"true\"></fw-menu-item>\n }\n <ng-content></ng-content>\n <ng-content select=\"custom-menu-items\"></ng-content>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'fw-menu-header',\n templateUrl: './menu-header.component.html',\n styleUrls: ['./menu-header.component.scss'],\n})\nexport class FwMenuHeaderComponent {\n\n}\n","<h3 class=\"vision-h3\">\n <ng-content></ng-content>\n</h3>\n<ng-content select=\"fw-icon-button\"></ng-content>\n<ng-content select=\"fw-badge\"></ng-content>\n","import { CdkMenuModule } from '@angular/cdk/menu';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { FwBadgeModule } from '../badge/badge.module';\nimport { FwCheckboxModule } from '../checkbox/checkbox.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwIconButtonModule } from '../icon-button/icon-button.module';\nimport { FwRadioModule } from '../radio/radio.module';\nimport { FwTextInputModule } from '../text-input/text-input.module';\nimport { FwTooltipModule } from '../tooltip/tooltip.module';\nimport { FwMenuComponent } from './menu.component';\nimport { FwMenuCloseTriggersDirective } from './menu-close-triggers.directive';\nimport { FwMenuContainerComponent } from './menu-container/menu-container.component';\nimport { FwMenuHeaderComponent } from './menu-header/menu-header.component';\nimport { FwMenuItemComponent } from './menu-item/menu-item.component';\nimport { FwMenuItemGroupComponent } from './menu-item-group/menu-item-group.component';\nimport { FwMenuSeparatorComponent } from './menu-separator/menu-separator.component';\nimport { FwMenuSubItemComponent } from './menu-sub-item/menu-sub-item.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CdkMenuModule,\n CommonModule,\n FormsModule,\n FwBadgeModule,\n FwIconButtonModule,\n FwIconModule,\n FwTextInputModule,\n FwTooltipModule,\n FwCheckboxModule,\n FwRadioModule,\n FwMenuCloseTriggersDirective,\n FwMenuComponent,\n FwMenuContainerComponent,\n FwMenuHeaderComponent,\n FwMenuItemComponent,\n FwMenuItemGroupComponent,\n FwMenuSeparatorComponent,\n FwMenuSubItemComponent,\n ],\n exports: [\n FwMenuCloseTriggersDirective,\n FwMenuComponent,\n FwMenuContainerComponent,\n FwMenuHeaderComponent,\n FwMenuItemComponent,\n FwMenuItemGroupComponent,\n FwMenuSeparatorComponent,\n FwMenuSubItemComponent,\n ],\n})\nexport class FwMenuModule {\n}\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { NgClass,NgIf } from '@angular/common';\nimport { Component, HostBinding, Input } from '@angular/core';\n\nimport { IconType } from '../../icon/icon.types';\nimport { FwTooltipComponent } from '../../tooltip/tooltip.component';\n\n\n@Component({\n selector: 'fw-navbar-sub-item',\n templateUrl: './navbar-sub-item.component.html',\n styleUrls: ['./navbar-sub-item.component.scss'],\n animations: [\n trigger('openClose', [\n // ...\n state('open', style({\n height: 'auto',\n }), { params: {} }),\n state('closed', style({\n height: '0',\n }), { params: {} }),\n transition('open <=> closed', [\n animate('.33s ease-in-out'),\n ]),\n ]),\n ],\n imports: [\n NgIf,\n FwTooltipComponent,\n NgClass,\n ],\n})\nexport class FwNavbarSubItemComponent {\n @Input() value?: string;\n @Input() title: string;\n @Input() description?: string;\n @Input() icon?: IconType;\n @Input() disabled?: boolean;\n @Input() hidden?: boolean = false;\n @Input() tooltipText?: string;\n @Input() showTooltip?: boolean = false;\n @Input() href?: string;\n @Input() target?: string;\n @HostBinding('class.collapsed') @Input() collapsed?: boolean;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @HostBinding('class.selected') @Input() selected?: boolean = false;\n}\n","<div\n *ngIf=\"!hidden\"\n [@openClose]=\"{value: collapsed?'closed':'open'}\">\n <a [href]=\"href?href:'javascript:void(0)'\" [target]=\"target?target:''\">\n <fw-tooltip [title]=\"showTooltip ? tooltipText || title : ''\" position=\"right\" [fullWidth]=\"true\">\n <div\n [ngClass]=\"['navbar-sub-item', disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <div class=\"navbar-text\" *ngIf=\"title\">\n <h5>{{ title }}</h5>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n </div>\n </div>\n </fw-tooltip>\n </a>\n</div>\n","import { NgClass,NgIf } from '@angular/common';\nimport {\n AfterViewInit,\n Component,\n ContentChildren,\n HostBinding,\n Input,\n OnChanges,\n QueryList,\n SimpleChanges,\n} from '@angular/core';\n\nimport { FwIconComponent } from '../../icon/icon.component';\nimport { IconType } from '../../icon/icon.types';\nimport { FwIconButtonComponent } from '../../icon-button/icon-button.component';\nimport { FwTooltipComponent } from '../../tooltip/tooltip.component';\nimport { FwNavbarSubItemComponent } from '../navbar-sub-item/navbar-sub-item.component';\n\n@Component({\n selector: 'fw-navbar-item',\n templateUrl: './navbar-item.component.html',\n styleUrls: ['./navbar-item.component.scss'],\n imports: [\n NgIf,\n FwTooltipComponent,\n NgClass,\n FwIconComponent,\n FwIconButtonComponent,\n ],\n})\nexport class FwNavbarItemComponent implements OnChanges, AfterViewInit {\n @Input() value?: string;\n @Input() title: string;\n @Input() description?: string;\n @Input() icon?: IconType;\n @Input() iconColor?: 'primary' | 'secondary' | 'red' | 'orange' | 'green' | 'slate' | 'typography' | 'muted' = 'primary';\n @Input() disabled?: boolean;\n @Input() hidden?: boolean = false;\n @Input() tooltipText?: string;\n @Input() showTooltip?: boolean = false;\n @HostBinding('class.collapsed') @Input() collapsed?: boolean;\n @Input() href?: string;\n @Input() target?: string;\n @Input() subItemsOpen: boolean = false;\n @Input() subItemsTooltipTitle?: string = '';\n @HostBinding('class.selected') @Input() selected?: boolean = false;\n @ContentChildren(FwNavbarSubItemComponent) subItems: QueryList<FwNavbarSubItemComponent>;\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ngOnChanges(changes: SimpleChanges): void {\n this.updateLayout();\n }\n\n ngAfterViewInit(): void {\n this.updateLayout();\n }\n\n updateLayout(): void {\n if (this.selected) {\n this.iconColor = 'primary';\n } else {\n this.iconColor = 'muted';\n }\n if (this.subItems) {\n this.subItems.forEach(subItem => {\n subItem.hidden = !(this.subItemsOpen && !this.collapsed);\n if (this.collapsed !== undefined) {\n subItem.collapsed = this.collapsed;\n }\n if (this.disabled !== undefined) {\n subItem.disabled = this.disabled;\n }\n });\n }\n }\n\n toggleSubItemsView(event: Event): boolean {\n event.stopPropagation();\n this.subItemsOpen = !this.subItemsOpen;\n this.updateLayout();\n return false;\n }\n\n}\n","<div *ngIf=\"!hidden\">\n <a [href]=\"href?href:'javascript:void(0)'\" [target]=\"target?target:''\">\n <fw-tooltip [title]=\"showTooltip ? tooltipText || title : ''\" position=\"right\" [fullWidth]=\"true\">\n <div\n [ngClass]=\"['navbar-item', disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <fw-icon [color]=\"iconColor\" *ngIf=\"icon\" class=\"navbar-icon {{iconColor}}\">{{ icon }}</fw-icon>\n <ng-content select=\"fw-avatar\"></ng-content>\n <div class=\"navbar-text\" *ngIf=\"title\">\n <h5 class=\"vision-h5\">{{ title }}</h5>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n <fw-tooltip\n *ngIf=\"subItems.length>0 && !collapsed\"\n [title]=\"subItemsTooltipTitle\"\n position=\"right\">\n <fw-icon-button\n [size]=\"'small'\"\n [icon]=\"subItemsOpen?'chevron-up':'chevron-down'\"\n (click)=\"toggleSubItemsView($event)\">\n </fw-icon-button>\n </fw-tooltip>\n </div>\n </div>\n </fw-tooltip>\n </a>\n</div>\n<div class=\"item-subitems\">\n <ng-content select=\"fw-navbar-sub-item\"></ng-content>\n</div>\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport {\n AfterViewInit,\n Component,\n ContentChildren,\n HostBinding,\n Input,\n OnChanges,\n QueryList,\n SimpleChanges,\n} from '@angular/core';\n\nimport { FwNavbarItemComponent } from './navbar-item/navbar-item.component';\n\n@Component({\n selector: 'fw-navbar',\n templateUrl: './navbar.component.html',\n styleUrls: ['./navbar.component.scss'],\n animations: [\n trigger('openClose', [\n // ...\n state('open', style({\n width: '{{openWidth}}',\n }), { params: { openWidth: '200px' } }),\n state('closed', style({\n width: '60px',\n })),\n transition('open <=> closed', [\n animate('.33s ease-in-out'),\n ]),\n ]),\n ],\n})\nexport class FwNavbarComponent implements OnChanges, AfterViewInit {\n @Input() disabled;\n @HostBinding('class.collapsed') @Input() collapsed?: boolean;\n @Input() width: string = '200px';\n @ContentChildren(FwNavbarItemComponent) menuItems: QueryList<FwNavbarItemComponent>;\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ngOnChanges(changes: SimpleChanges): void {\n this.updateLayout();\n }\n\n ngAfterViewInit(): void {\n this.updateLayout();\n }\n\n updateLayout(): void {\n if (this.menuItems) {\n this.menuItems.forEach(item => {\n if (this.collapsed !== undefined) {\n item.collapsed = this.collapsed;\n }\n if (this.disabled !== undefined) {\n item.disabled = this.disabled;\n }\n item.showTooltip = this.collapsed;\n item.updateLayout();\n });\n }\n }\n}\n","<div\n class=\"navbar\"\n [@openClose]=\"{value: collapsed?'closed':'open', params: {openWidth: width || 'inherit'}}\">\n <ng-content></ng-content>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'fw-navbar-header',\n templateUrl: './navbar-header.component.html',\n styleUrls: ['./navbar-header.component.scss'],\n})\nexport class FwNavbarHeaderComponent {\n\n}\n","<h4 class=\"vision-h4\">\n <ng-content></ng-content>\n</h4>\n<ng-content select=\"fw-icon-button\"></ng-content>\n<ng-content select=\"fw-badge\"></ng-content>\n","import { CdkMenuModule } from '@angular/cdk/menu';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { FwBadgeModule } from '../badge/badge.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwIconButtonModule } from '../icon-button/icon-button.module';\nimport { FwTextInputModule } from '../text-input/text-input.module';\nimport { FwTooltipModule } from '../tooltip/tooltip.module';\nimport { FwNavbarComponent } from './navbar.component';\nimport { FwNavbarHeaderComponent } from './navbar-header/navbar-header.component';\nimport { FwNavbarItemComponent } from './navbar-item/navbar-item.component';\nimport { FwNavbarSubItemComponent } from './navbar-sub-item/navbar-sub-item.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CdkMenuModule,\n CommonModule,\n FormsModule,\n FwBadgeModule,\n FwIconButtonModule,\n FwIconModule,\n FwTextInputModule,\n FwTooltipModule,\n FwNavbarComponent,\n FwNavbarHeaderComponent,\n FwNavbarItemComponent,\n FwNavbarSubItemComponent,\n ],\n exports: [\n FwNavbarComponent,\n FwNavbarHeaderComponent,\n FwNavbarItemComponent,\n FwNavbarSubItemComponent,\n ],\n})\nexport class FwNavbarModule {\n}\n","import { NgClass, NgIf } from '@angular/common';\nimport { Component, EventEmitter, HostBinding, Input, Output, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { FwIconComponent } from '../icon/icon.component';\nimport { IconType } from '../icon/icon.types';\n\n@Component({\n selector: 'fw-number-input',\n templateUrl: './number-input.component.html',\n styleUrls: ['./number-input.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: FwNumberInputComponent,\n multi: true,\n }],\n imports: [\n NgClass,\n NgIf,\n FwIconComponent,\n ],\n})\nexport class FwNumberInputComponent implements ControlValueAccessor {\n\n @Input() disabled?: boolean = false;\n @Input() useActionableIcons?: boolean = false;\n @Input() leftIcon?: IconType;\n @Output() leftIconAction?: EventEmitter<void> = new EventEmitter<void>();\n @Input() rightIcon?: string;\n @Output() rightIconAction?: EventEmitter<void> = new EventEmitter<void>();\n @Input() prefix?: string;\n @Input() context?: string;\n @Input() placeholder?: string;\n @Input() readOnly?: boolean;\n @Input() size?: 'small' | 'medium' | 'large' = 'medium';\n @Input() min?: number;\n @Input() max?: number;\n @Input() step?: number;\n @Input() arrows?: 'native' | 'plus-minus' | 'none';\n @Input() numberType?: 'integer' | 'float';\n @Input() autofocus?: boolean;\n @Input() autocomplete?: boolean;\n @ViewChild('numberInput') numberInput;\n // we bind this to host because that's where angular form apis put the error classes\n @HostBinding('class.errored') @Input() error?: boolean = false;\n\n @Input() value: number;\n externalControl: FormControl = null;\n\n public onTouch = (): void => {\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public onChange = (value: number): void => {\n };\n\n writeValue(obj: number): void {\n this.value = obj;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n changeHandler(event: KeyboardEvent): void {\n if (this.numberType === 'float') {\n this.value = parseFloat((event.target as HTMLInputElement).value);\n } else {\n this.value = parseInt((event.target as HTMLInputElement).value);\n }\n this.onChange(this.value);\n this.onTouch();\n }\n\n blurHandler(): void {\n this.onTouch();\n }\n\n onLeftIconClick(): void {\n this.leftIconAction.emit();\n }\n\n onRightIconClick(): void {\n this.rightIconAction.emit();\n }\n\n handleDecrement(): void {\n this.numberInput.nativeElement.stepDown();\n }\n\n handleIncrement(): void {\n this.numberInput.nativeElement.stepUp();\n }\n}\n","<div class=\"full-container\" [ngClass]=\"{'disabled': disabled}\">\n <div class=\"input-container\" [class]=\"size\">\n <button *ngIf=\"arrows === 'plus-minus'\" (click)=\"handleDecrement()\">-</button>\n <fw-icon\n *ngIf=\"!!leftIcon\"\n (click)=\"useActionableIcons?onLeftIconClick():null\"\n [ngClass]=\"useActionableIcons?'actionable':''\">{{ leftIcon }}\n </fw-icon>\n <p class=\"vision-p2 context\" *ngIf=\"!!prefix\">{{ prefix }}</p>\n\n <input\n #numberInput\n [class]=\"arrows\"\n (keyup)=\"changeHandler($event)\"\n (blur)=\"blurHandler()\"\n [value]=\"value\"\n type=\"number\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [placeholder]=\"placeholder || ''\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [autofocus]=\"autofocus\"\n [autocomplete]=\"autocomplete\"\n >\n <ng-content select=\"input\"></ng-content>\n <p class=\"vision-p2 context\" *ngIf=\"!!context\">{{ context }}</p>\n\n <fw-icon class=\"error-icon\">warning-circle</fw-icon>\n <fw-icon\n *ngIf=\"!!rightIcon\"\n (click)=\"useActionableIcons?onRightIconClick():null\"\n [ngClass]=\"useActionableIcons?'actionable':''\">{{ rightIcon }}\n </fw-icon>\n <button *ngIf=\"arrows === 'plus-minus'\" (click)=\"handleIncrement()\">+</button>\n <ng-content></ng-content>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwNumberInputComponent } from './number-input.component';\n\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n ReactiveFormsModule,\n FwNumberInputComponent,\n ],\n exports: [\n FwNumberInputComponent,\n ],\n})\nexport class FwNumberInputModule {\n}\n","import { NgClass, NgFor,NgIf } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges, TrackByFunction } from '@angular/core';\n\nimport { FwIconComponent } from '../icon/icon.component';\nimport { FwPaginatorEvent } from './paginator.model';\n\nexport interface PaginationPage {\n pageIndex: number;\n number: number;\n active: boolean;\n}\n\n@Component({\n selector: 'fw-paginator',\n templateUrl: './paginator.component.html',\n styleUrls: ['./paginator.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgClass,\n NgIf,\n FwIconComponent,\n NgFor,\n ],\n})\nexport class FwPaginatorComponent implements OnChanges {\n @Input() size: 'small' | 'medium' | 'large' = 'medium';\n @Input() color: 'slate' | 'primary' | 'secondary' = 'slate';\n @Input() shape: 'rounded' | 'circle' = 'rounded';\n @Input() variant: 'ghost' | 'outline' | 'solid' = 'ghost';\n @Input() disabled: boolean = false;\n @Input() showNext: boolean = true;\n @Input() showPrevious: boolean = true;\n @Input() showFirst: boolean = false;\n @Input() showLast: boolean = false;\n @Input() pageIndex: number = 0;\n @Input() pageSize: number = 10;\n @Input() maxPagesShown: number = 10;\n @Input() length: number = 0;\n @Input() alignment: 'start' | 'center' | 'end' = 'center';\n @Input() selectorTitle: string = 'Items per page:';\n @Output() page: EventEmitter<FwPaginatorEvent> = new EventEmitter<FwPaginatorEvent>();\n\n pages: PaginationPage[] = [];\n pagesTrackByFn: TrackByFunction<PaginationPage> = (_: number, page: PaginationPage): number => page.pageIndex;\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.pageIndex || changes.maxPagesShown || changes.length || changes.pageSize) {\n this.pages = this.getPages();\n }\n }\n\n private buildPageEvent(pageIndex: number): FwPaginatorEvent {\n return {\n length: this.length,\n pageSize: this.pageSize,\n pageIndex: pageIndex,\n previousPageIndex: this.pageIndex,\n rowIndexStart: this.getRowIndexStart(pageIndex),\n rowIndexEnd: this.getRowIndexEnd(pageIndex),\n };\n }\n\n firstPage(): void {\n this.setPage(0);\n }\n\n lastPage(): void {\n this.setPage(this.getNumberOfPages() - 1);\n }\n\n nextPage(): void {\n if (this.hasNextPage()) {\n this.setPage(this.pageIndex + 1);\n }\n }\n\n previousPage(): void {\n if (this.hasPreviousPage()) {\n this.setPage(this.pageIndex - 1);\n }\n }\n\n setPage(pageIndex: number): void {\n const evt = this.buildPageEvent(pageIndex);\n this.pageIndex = pageIndex;\n this.page.emit(evt);\n this.pages = this.getPages();\n }\n\n getPages(): PaginationPage[] {\n const pages: PaginationPage[] = [];\n const currentSet = Math.ceil((this.pageIndex + 1) / this.maxPagesShown);\n for (let i = 0; i < this.getNumberOfPages(); i++) {\n if (currentSet === Math.ceil((i + 1) / this.maxPagesShown)) {\n pages.push({ pageIndex: i, number: i + 1, active: this.pageIndex === i });\n }\n }\n return pages;\n }\n\n getNumberOfPages(): number {\n return Math.ceil(this.length / this.pageSize);\n }\n\n getRowIndexStart(pageIndex?: number): number {\n const index = pageIndex !== undefined ? pageIndex : this.pageIndex;\n return index * this.pageSize;\n }\n\n getRowIndexEnd(pageIndex?: number): number {\n const index = pageIndex !== undefined ? pageIndex : this.pageIndex;\n let indexEnd = (index * this.pageSize) + this.pageSize - 1;\n if (indexEnd >= this.length) {\n indexEnd = this.length - 1;\n }\n return indexEnd;\n }\n\n hasNextPage(): boolean {\n return (this.pageIndex !== this.getNumberOfPages() - 1);\n }\n\n hasPreviousPage(): boolean {\n return (this.pageIndex > 0);\n }\n}\n","<div [ngClass]=\"['paginator', variant, color, size, shape, alignment]\">\n <div class=\"pages-list\">\n <button\n *ngIf=\"showFirst\" class=\"page-item page-action page-first\" [disabled]=\"!hasPreviousPage() || disabled\"\n (click)=\"firstPage()\">\n <fw-icon size=\"small\" color=\"typography\">arrow-back-collapse</fw-icon>\n </button>\n <button\n *ngIf=\"showPrevious\"\n class=\"page-item page-action page-previous\" [disabled]=\"!hasPreviousPage() || disabled\" (click)=\"previousPage()\">\n <fw-icon size=\"small\" color=\"typography\">chevron-back</fw-icon>\n </button>\n <button\n *ngFor=\"let page of pages; trackBy: pagesTrackByFn\"\n [ngClass]=\"['page-item', 'page-number', page.active ? 'page-active': '']\"\n [disabled]=\"disabled\"\n (click)=\"setPage(page.pageIndex)\"\n >\n <h4 class=\"vision-h4\">{{ page.number }}</h4>\n </button>\n <button\n *ngIf=\"showNext\" class=\"page-item page-action page-next\" [disabled]=\"!hasNextPage() || disabled\"\n (click)=\"nextPage()\">\n <fw-icon size=\"small\" color=\"typography\">chevron-forward</fw-icon>\n </button>\n <button\n *ngIf=\"showLast\" class=\"page-item page-action page-last\" [disabled]=\"!hasNextPage() || disabled\"\n (click)=\"lastPage()\">\n <fw-icon size=\"small\" color=\"typography\">arrow-forward-collapse</fw-icon>\n </button>\n </div>\n</div>\n","import { CdkMenuTrigger } from '@angular/cdk/menu';\nimport { Injectable } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class MenuManagerService {\n private triggers = new Set<CdkMenuTrigger>();\n\n public register(trigger: CdkMenuTrigger): void {\n this.triggers.add(trigger);\n }\n\n public unregister(trigger: CdkMenuTrigger): void {\n this.triggers.delete(trigger);\n }\n\n public closeAllExcept(current: CdkMenuTrigger): void {\n this.triggers.forEach(trigger => {\n if (trigger !== current) {\n trigger.close();\n }\n });\n }\n}\n","import { CdkMenuTrigger } from '@angular/cdk/menu';\nimport { Directive, Host, HostListener, OnDestroy, OnInit, Optional } from '@angular/core';\n\nimport { MenuManagerService } from '../components/shared/services/menu-manager.service';\n\n@Directive({\n selector: '[fwMenuRegister]',\n})\nexport class MenuRegisterDirective implements OnInit, OnDestroy {\n constructor(@Optional() @Host() private trigger: CdkMenuTrigger, @Optional()private menuManager: MenuManagerService) {}\n\n @HostListener('click')\n private onClick(): void {\n this.menuManager?.closeAllExcept(this.trigger);\n }\n\n ngOnInit(): void {\n this.menuManager?.register(this.trigger);\n }\n\n ngOnDestroy(): void {\n this.menuManager?.unregister(this.trigger);\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { CdkMenuTrigger } from '@angular/cdk/menu';\nimport { NgClass, NgFor, NgIf, NgStyle, SlicePipe } from '@angular/common';\nimport {\n AfterContentInit,\n Component,\n ContentChildren,\n effect,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n input,\n OnDestroy,\n Output,\n QueryList,\n signal,\n ViewChild,\n viewChild,\n ViewChildren,\n WritableSignal,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\nimport { MenuRegisterDirective } from '../../../directives/menu-register.directive';\nimport { FwButtonComponent } from '../../button/button.component';\nimport { FwChipComponent } from '../../chip/chip.component';\nimport { FwIconComponent } from '../../icon/icon.component';\nimport { FwMenuComponent } from '../../menu/menu.component';\nimport { FwMenuContainerComponent } from '../../menu/menu-container/menu-container.component';\nimport { FwMenuItemComponent } from '../../menu/menu-item/menu-item.component';\n\n/**\n * FwMultiSelect a component for selecting multiple options\n * @see [Storybook Docs](https://cdn.flywheel.io/docs/vision/master/?path=/docs/form-controls-multi-select--docs)\n */\n@Component({\n selector: 'fw-multi-select',\n templateUrl: './multi-select-menu.component.html',\n styleUrls: ['./multi-select-menu.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FwMultiSelectMenuComponent),\n multi: true,\n },\n ],\n imports: [\n NgStyle,\n MenuRegisterDirective,\n NgClass,\n CdkMenuTrigger,\n NgIf,\n NgFor,\n FwChipComponent,\n FwIconComponent,\n FwMenuContainerComponent,\n FwButtonComponent,\n FwMenuComponent,\n FwMenuItemComponent,\n SlicePipe,\n ],\n})\nexport class FwMultiSelectMenuComponent implements ControlValueAccessor, AfterContentInit, OnDestroy {\n @HostListener('document:click', ['$event']) outsideClick(event: MouseEvent): void {\n if (this._isOpen) {\n const clickedInside = this.elementRef.nativeElement.contains(event.target);\n if (clickedInside) {\n return;\n }\n this.trigger.close();\n this._isOpen = false;\n }\n if (this.trigger && this.trigger.isOpen()) {\n this._isOpen = true;\n }\n }\n\n // options\n @Input() options: object[] = [];\n @Input() valueProperty?: string = 'value';\n @Input() titleProperty?: string = 'title';\n @Input() iconProperty?: string = 'icon';\n\n\n // behaviour\n @Input() emptyText: string = 'No matches found...';\n @Input() placeholder: string = 'Select something...';\n @Input() disabled?: boolean = false;\n @Input() useCheckbox?: boolean = false;\n @Input() closeOnSelect?: boolean = true;\n @Input() maxSelectedShown: number = 100;\n\n showClear = input(false);\n showFilter = input(true, { transform: (val: BooleanInput) => coerceBooleanProperty(val) });\n showSelectionInfo = input(false, { transform: (val: BooleanInput) => coerceBooleanProperty(val) });\n filterItemsOnSelect = input(true, { transform: (val: BooleanInput) => coerceBooleanProperty(val) });\n\n // sizing\n @Input() width: string = '200px';\n @Input() minHeight: string = '';\n @Input() maxHeight: string = '200px';\n @Input() optionsWidth?: string;\n @Input() minOptionsHeight?: string;\n @Input() maxOptionsHeight: string = '400px';\n @Input() size?: 'small' | 'medium' | 'large' = 'medium';\n\n // view children\n @ViewChild(CdkMenuTrigger) trigger: CdkMenuTrigger;\n @ViewChild(FwMenuComponent) menu: FwMenuComponent;\n menuFilter = viewChild(FwMenuContainerComponent);\n @ViewChildren(FwMenuItemComponent) renderedMenuItems: QueryList<FwMenuItemComponent>;\n @ContentChildren(FwMenuItemComponent, { descendants: true }) customMenuItems: QueryList<FwMenuItemComponent>;\n\n // need this for the template\n createArray = (d: Iterable<string>): string[] => Array.from(d);\n\n // internal state\n selectedValues: Set<string> = new Set();\n selectedOptions: object[] = [];\n displayedOptions: WritableSignal<FwMenuItemComponent[]> = signal([]);\n focusedIndex = signal(0);\n touched = false;\n private subscriptions: Subscription[] = [];\n private _isOpen = false;\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change = new EventEmitter<any>();\n\n @Input()\n get value(): any[] {\n return this._value;\n }\n\n set value(newValue: any[]) {\n this.updateValue(newValue);\n }\n\n private _value: any[] = [];\n\n constructor(\n private elementRef: ElementRef,\n ) {}\n\n @HostBinding('tabIndex') tabIndex = 0;\n @HostBinding('class.disabled') get disabledClass(): boolean {\n return this.disabled;\n }\n onChange: (value: any[]) => void;\n onTouched = (): void => {};\n\n registerOnChange(fn: (value: any[]) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(value: any[]): void {\n this.value = value;\n }\n\n ngOnDestroy(): void {\n for (const subscription of this.subscriptions) {\n subscription.unsubscribe();\n }\n }\n\n ngAfterContentInit(): void {\n this.registerCustomMenuItems()\n\n this.customMenuItems.changes.subscribe(() => {\n this.registerCustomMenuItems();\n })\n }\n\n private registerCustomMenuItems(): void {\n // first filter any menuItems we've already registered as options\n const newMenuItems = this.customMenuItems?.filter(\n menuItem => !this.options.find(option => menuItem.value === (option as any).value),\n )\n\n newMenuItems.forEach((newMenuItem) => {\n\n // sync render settings\n this.customMenuItems?.forEach(menuItem => {\n menuItem.showCheckbox = this.useCheckbox;\n menuItem.multiSelect = true;\n });\n\n // add it to the options\n // a lot of our value handling logic relies on\n const newOption = {\n value: newMenuItem.value,\n title: newMenuItem.title,\n icon: newMenuItem.icon,\n }\n this.options.push(newOption);\n\n newMenuItem.mouseEnterHandler.set((_, item) => {\n this.setFocusedIndex(item);\n })\n\n // add click listener\n const sub = newMenuItem.click.subscribe(value => {\n this.addValue(value);\n\n if (this.closeOnSelect) {\n this.trigger.close();\n }\n });\n this.subscriptions.push(sub);\n })\n }\n\n handleTouched(): void {\n this.touched = true;\n }\n\n handleChipClose(chip: object): void {\n const newValues = this.value.filter(val => val !== chip[this.valueProperty]);\n this.updateValue(newValues);\n this.trigger.close();\n }\n\n // handles the value emission from the menu\n // TODO: make menu a dumb component, it shouldn't be handling values ideally\n handleMenuChange(e: string | string[]): void {\n if (Array.isArray(e)) {\n if (e.toString() !== this.selectedValues.toString()) {\n if (this.closeOnSelect) {\n this.trigger.close();\n }\n }\n this.updateValue(e);\n }\n }\n\n\n // adds a single value\n addValue(incoming: string): void {\n const alreadySelected = this.value.includes(incoming);\n\n if (alreadySelected) {\n const splicedOut = this.value.toSpliced(this.value.indexOf(incoming), 1);\n this.updateValue(splicedOut);\n }\n else {\n this.updateValue([...this.value, incoming]);\n }\n }\n\n // handles all the display side effects of a value change\n updateValue(incomingValues: any[]): void {\n\n if (!incomingValues) {\n this.selectedValues.clear();\n this.selectedOptions = [];\n this._value = [];\n this.change.emit(this._value);\n this.postSelectSideEffects();\n return;\n }\n\n this.selectedValues.clear();\n this.selectedOptions = [];\n\n incomingValues.forEach(incoming => {\n\n if (typeof incoming === 'object') {\n this.selectedValues.add(incoming[this.valueProperty]);\n this.selectedOptions.push(incoming);\n\n } else {\n\n this.selectedValues.add(incoming);\n\n const incomingMappedToOption = this.options.find(opt => opt[this.valueProperty] === incoming);\n this.selectedOptions.push(incomingMappedToOption);\n }\n });\n\n this._value = Array.from(this.selectedValues);\n if (this.onChange) {\n this.onChange(this._value);\n }\n this.change.emit(this._value);\n this.postSelectSideEffects();\n }\n\n // custom filter for handling filterOnSelect\n customFilter = (filter: string, menuItems: FwMenuItemComponent[]): FwMenuItemComponent[] => {\n return menuItems.filter(menuItem => {\n const filterMatches = menuItem.title.toLowerCase().includes(filter.toLowerCase());\n const isSelected = this.value.includes(menuItem.value);\n const filterBecauseSelected = isSelected && this.filterItemsOnSelect();\n\n return filterMatches && !filterBecauseSelected;\n })\n }\n\n private moveFocused(direction: 'up' | 'down'): void {\n const options = this.displayedOptions();\n const index = this.focusedIndex();\n\n const clampIndex = (n: number): number => {\n if (n < 0) {\n return options.length - 1;\n }\n else if (n >= options.length) {\n return 0;\n }\n\n return n;\n }\n\n const indexChange = direction === 'up' ? -1 : 1;\n\n const newIndex = clampIndex(index + indexChange);\n this.focusedIndex.set(newIndex);\n\n const newlyFocused = this.displayedOptions()[this.focusedIndex()];\n\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n newlyFocused.scrollIntoView();\n }\n\n setFocusedIndex(item: unknown): void {\n const foundIndex = this.displayedOptions().findIndex(i => i.value === item[this.valueProperty]);\n this.focusedIndex.set(foundIndex);\n }\n\n displayFocusIndicator = effect(() => {\n this.displayedOptions().forEach((item, index) => {\n item.focused = index === this.focusedIndex();\n })\n })\n\n /* eslint-disable @typescript-eslint/naming-convention, @rx-angular/prefer-no-layout-sensitive-apis */\n private keyboardActionMap = {\n 'ArrowDown': () => {\n this.moveFocused('down');\n },\n 'ArrowUp': () => {\n this.moveFocused('up');\n },\n 'Tab': () => {\n this.trigger.close();\n this.elementRef.nativeElement.focus();\n },\n 'Escape': () => {\n this.trigger.close();\n this.elementRef.nativeElement.focus();\n },\n 'Enter': () => {\n const selectedMenuItem = this.displayedOptions()[this.focusedIndex()];\n\n if (!selectedMenuItem) { return }\n\n this.addValue(selectedMenuItem.value);\n this.postSelectSideEffects();\n },\n }\n\n private closedTriggerKeyboardActionsMap = {\n 'Enter': () => {\n this.trigger.open();\n },\n 'Backspace': () => {\n this.updateValue(this.value.toSpliced(-1));\n },\n }\n /* eslint-enable */\n\n // needs to be an arrow function to lock the scope\n @HostListener('keydown', ['$event'])\n handleKeyDown = (event: KeyboardEvent): void =>{\n\n const handler = this.trigger.isOpen() ? this.keyboardActionMap[event.key] : this.closedTriggerKeyboardActionsMap[event.key];\n\n if (handler) {\n event.preventDefault();\n handler();\n }\n }\n\n private postSelectSideEffects(): void {\n this.menuFilter()?.onFilterChange('');\n\n this.customMenuItems?.forEach(menuItem => {\n menuItem.selected = this.value.includes(menuItem.value);\n })\n\n if (this.closeOnSelect) {\n setTimeout(() => {\n this.trigger.close();\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n this.elementRef.nativeElement.focus();\n }, 0);\n }\n }\n}\n","<div [ngStyle]=\"{width: width}\" #wrapper>\n\n <div\n fwMenuRegister\n class=\"chip-grid\"\n [ngClass]=\"[size]\"\n [ngStyle]=\"{ minHeight: minHeight, maxHeight: maxHeight }\"\n [cdkMenuTriggerFor]=\"selectMenu\">\n <span *ngIf=\"value.length === 0\" class=\"placeholder\">{{placeholder}}</span>\n\n <!-- CHIPS -->\n <div class=\"inner-chip-grid\" *ngIf=\"value && value.length>0\">\n <fw-chip\n *ngFor=\"let chip of selectedOptions | slice:0:maxSelectedShown\"\n [title]=\"chip[titleProperty]\"\n [value]=\"chip[valueProperty]\"\n [icon]=\"chip[iconProperty]\"\n color=\"primary\"\n [showClose]=\"true\"\n (close)=\"handleChipClose(chip)\"\n [selectable]=\"false\">\n </fw-chip>\n <span *ngIf=\"maxSelectedShown === 0 && value.length > 0\" class=\"selected-text\">\n {{ value.length }} selected\n </span>\n <span *ngIf=\"value.length > maxSelectedShown && maxSelectedShown > 0\" class=\"max-exceeded\">\n +{{ value.length - maxSelectedShown }} more\n </span>\n </div>\n\n <fw-icon *ngIf=\"showClear() && value.length > 0\" (click)=\"updateValue([])\">close</fw-icon>\n <fw-icon>chevron-down</fw-icon>\n </div>\n\n <!-- MENU -->\n <ng-template #selectMenu>\n <fw-menu-filter\n [keyHandler]=\"handleKeyDown\"\n [showFilter]=\"showFilter()\"\n [focusFilterOnMount]=\"showFilter()\"\n [width]=\"optionsWidth || (wrapper.offsetWidth - 2) + 'px'\"\n [additionalMenuItems]=\"this.customMenuItems.toArray()\"\n [emptyText]=\"emptyText\"\n [maxHeight]=\"maxOptionsHeight\"\n [minHeight]=\"minOptionsHeight\"\n [filterFn]=\"customFilter\"\n (filteredMenuItemChange)=\"displayedOptions.set($event)\"\n >\n <div class=\"filter-content\" *ngIf=\"showSelectionInfo()\">\n <p>{{value.length}} selections</p>\n <fw-button variant=\"ghost\" (click)=\"updateValue([])\">Clear</fw-button>\n </div>\n <fw-menu\n [multiSelect]=\"true\"\n [disabled]=\"disabled\"\n [value]=\"createArray(selectedValues)\"\n (change)=\"handleMenuChange($event)\">\n <ng-container *ngIf=\"customMenuItems.length === 0\">\n <fw-menu-item\n *ngFor=\"let item of options; index as $index\"\n [title]=\"item[titleProperty]\"\n [value]=\"item[valueProperty]\"\n [icon]=\"item[iconProperty]\"\n [multiSelect]=\"true\"\n [selected]=\"value.includes(item[valueProperty])\"\n [showCheckbox]=\"useCheckbox\"\n (mouseenter)=\"setFocusedIndex(item)\"\n >\n </fw-menu-item>\n </ng-container>\n <ng-content ngProjectAs=\"custom-menu-items\" select=\"[fw-menu-item, fw-menu-separator, fw-menu-item-group, fw-menu-header]\"></ng-content>\n </fw-menu>\n </fw-menu-filter>\n </ng-template>\n</div>\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { CdkMenuTrigger } from '@angular/cdk/menu';\nimport { NgFor,NgIf, NgStyle } from '@angular/common';\nimport {\n AfterContentInit,\n Component,\n computed,\n contentChildren,\n effect,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n input,\n model,\n OnDestroy,\n Optional,\n Output,\n Self,\n signal,\n ViewChild,\n viewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\nimport { MenuRegisterDirective } from '../../directives/menu-register.directive';\nimport { IconType } from '../icon/icon.types';\nimport { FwMenuComponent } from '../menu/menu.component';\nimport { FwMenuContainerComponent } from '../menu/menu-container/menu-container.component';\nimport { FwMenuItemComponent } from '../menu/menu-item/menu-item.component';\nimport { FwMenuItemGroupComponent } from '../menu/menu-item-group/menu-item-group.component';\nimport { FwMenuSeparatorComponent } from '../menu/menu-separator/menu-separator.component';\nimport { FwTextInputComponent } from '../text-input/text-input.component';\n\n@Component({\n selector: 'fw-select',\n templateUrl: './select-menu.component.html',\n styleUrls: ['./select-menu.component.scss'],\n imports: [\n NgStyle,\n FwTextInputComponent,\n MenuRegisterDirective,\n CdkMenuTrigger,\n NgIf,\n FwMenuContainerComponent,\n FwMenuComponent,\n NgFor,\n FwMenuItemComponent,\n ],\n})\nexport class FwSelectMenuComponent implements AfterContentInit, OnDestroy, ControlValueAccessor {\n @HostListener('document:click', ['$event.target']) outsideClick(evt: any): void {\n if (this._isOpen && evt.nodeName !== 'INPUT') {\n this.onTouched();\n this.close();\n this._isOpen = false;\n }\n if (this.trigger && this.trigger.isOpen()) {\n this._isOpen = true;\n }\n }\n @HostBinding('class.disabled') get disabledClass(): boolean {\n return this.disabled();\n }\n\n options = input<object[]>([]);\n valueProperty = input<string>('value');\n useFullOptionAsValue = input<boolean>(false);\n titleProperty = input<string>('title');\n iconProperty = input<string>('icon');\n staticIcon = input<IconType | undefined>(undefined);\n descriptionProperty = input<string>('description');\n showFilter = input<boolean>(false);\n showReset = input<boolean>(false);\n disabled = model<boolean>(false);\n errored = input<boolean>(false);\n width = input<string>('200px');\n optionsWidth = input<string | undefined>(undefined);\n minOptionsHeight = input<string | undefined>(undefined);\n maxOptionsHeight = input<string | undefined>(undefined);\n size = input<'small' | 'medium' | 'large'>('medium');\n placeholder = input<string>('Select something...');\n @ViewChild(CdkMenuTrigger) trigger: CdkMenuTrigger;\n @ViewChild(FwTextInputComponent) textInput: FwTextInputComponent;\n menu = viewChild(FwMenuComponent);\n menuItems = contentChildren(FwMenuItemComponent, { descendants: true });\n menuItemGroups = contentChildren(FwMenuItemGroupComponent, { descendants: true });\n menuSeparators = contentChildren(FwMenuSeparatorComponent, { descendants: true });\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change = new EventEmitter<any>();\n @Output() readonly filterChanged = new EventEmitter<string>();\n selectValue: string = '';\n selectTitle = signal('');\n selectIcon: IconType | '' = '';\n filterValue = signal('');\n private subscriptions: Subscription[] = [];\n private _isOpen = false;\n focused = 0;\n inFocusOpen = false;\n preFocusValue: any;\n isTyping = signal(false);\n\n // Computed signal for the input display value\n inputDisplayValue = computed(() => this.isTyping() ? this.filterValue() : this.selectTitle());\n\n @Input()\n get value(): any {\n return this._value;\n }\n\n set value(newValue: any) {\n this.updateValue(newValue);\n }\n\n private _value = '';\n\n constructor(\n @Optional() @Self() private ngControl: NgControl,\n ) {\n // this is just a different way of binding the controlValueAccessor\n // it can be accessed in the component this way\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n\n // Watch for options changes to update the displayed title\n effect(() => {\n const currentOptions = this.options();\n const vProp = this.valueProperty();\n const tProp = this.titleProperty();\n\n if (!currentOptions || currentOptions.length === 0) {\n return;\n }\n\n const selectedOption = currentOptions.find(item => item[vProp]?.toString() === this.selectValue);\n\n if (selectedOption) {\n this.selectTitle.set(selectedOption[tProp]);\n }\n });\n }\n\n ngAfterContentInit(): void {\n // When using content projection with <fw-menu-item> components,\n // subscribe to their click events and set initial selected state\n if (this.menuItems().length > 0) {\n this.menuItems().forEach(item => {\n const sub = item.click.subscribe(value => this.menu()?.writeValue(value));\n this.subscriptions.push(sub);\n if (item.value.toString() === this.selectValue) {\n this.selectTitle.set(item.title.toString());\n this.selectIcon = item.icon;\n }\n });\n }\n }\n\n ngOnDestroy(): void {\n for (const subscription of this.subscriptions) {\n subscription.unsubscribe();\n }\n }\n\n get invalid(): boolean {\n return this.ngControl?.invalid;\n }\n\n get touched(): boolean {\n return this.ngControl?.touched;\n }\n\n filteredOptions = computed(() => {\n const filter = this.filterValue();\n const opts = this.options();\n const tProp = this.titleProperty();\n\n if (!filter || filter.trim() === '') {\n return opts;\n }\n return opts.filter(opt =>\n opt[tProp]?.toString().toLowerCase()\n .includes(filter.toLowerCase()),\n );\n });\n\n optionsWithValues = computed(() => {\n const useFull = this.useFullOptionAsValue();\n const valProp = this.valueProperty();\n\n return this.filteredOptions().map(item => ({\n raw: item,\n trackingId: useFull ? JSON.stringify(item) : item?.[valProp]?.toString(),\n value: useFull ? JSON.stringify(item) : item?.[valProp]?.toString(),\n }));\n });\n\n onChange(newValue: any): void {\n this._value = typeof newValue === 'object' ? JSON.stringify(newValue) : newValue;\n this.change.emit(newValue);\n this.externalOnChange?.(newValue);\n };\n\n onTouched = (): void => {\n };\n\n externalOnChange;\n registerOnChange(fn: (value: any) => void): void {\n this.externalOnChange = fn;\n }\n\n registerOnTouched(fn: () => {}): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n\n writeValue(value: any): void {\n value = value ?? ''\n\n if (value === this.value) {\n return;\n }\n this.updateValue(value);\n }\n\n handleClick(e: string): void {\n this.onTouched();\n\n if (!this.isTyping() && this.selectValue === e) {\n this.close();\n return;\n }\n\n if (this.useFullOptionAsValue()) {\n const parsedValue = JSON.parse(e);\n this.updateValue(parsedValue);\n } else {\n this.updateValue(e);\n }\n\n this.isTyping.set(false);\n this.close();\n this.inFocusOpen = false;\n }\n\n /**\n * Get all available items for navigation, either from options or menuItems\n */\n getAvailableItems(): any[] {\n // If using options input, return filtered options\n if (this.options().length > 0) {\n return this.filteredOptions();\n }\n // If using content projection, filter by typeahead text and exclude disabled items\n if (this.menuItems().length > 0) {\n const filter = this.filterValue();\n return this.menuItems().filter(item => {\n if (item.disabled) { return false; }\n if (!filter || filter.trim() === '') { return true; }\n return item.title?.toLowerCase().includes(filter.toLowerCase());\n });\n }\n return [];\n }\n\n /**\n * Update highlighting for the currently selected item\n */\n updateHighlighting(): void {\n const currentValue = this.selectValue;\n\n // Update highlighting for content-projected menu items\n if (this.menuItems().length > 0) {\n this.menuItems().forEach(item => {\n item.selected = item.value === currentValue;\n });\n }\n\n // Update highlighting for options-based menu items via menu component\n if (this.menu() && this.options().length > 0) {\n this.menu()!.value = currentValue;\n this.menu()?.updateLayout();\n }\n }\n\n /**\n * Initialize focused index to the currently selected item\n */\n initializeFocusedIndex(): void {\n const availableItems = this.getAvailableItems();\n const currentValue = this.selectValue;\n\n // Find the index of the currently selected item\n const selectedIndex = availableItems.findIndex(item => {\n if (item instanceof FwMenuItemComponent) {\n return item.value === currentValue;\n } else {\n // For options array items\n const vProp = this.valueProperty();\n const itemValue = this.useFullOptionAsValue()\n ? JSON.stringify(item)\n : item?.[vProp]?.toString();\n return itemValue === currentValue;\n }\n });\n\n // Set focused to the selected index\n // If no item is selected (selectedIndex is -1), keep it at -1 so first arrow down goes to index 0\n this.focused = selectedIndex;\n\n // Also update the highlighting to show the current selection (if any)\n this.updateHighlighting();\n }\n\n moveFocused(direction: string): void {\n const availableItems = this.getAvailableItems();\n switch (direction) {\n case 'down': {\n this.focused++;\n if (this.focused >= availableItems.length) {\n this.focused = 0;\n }\n break;\n }\n case 'up': {\n this.focused--;\n if (this.focused < 0) {\n this.focused = availableItems.length - 1;\n }\n break;\n }\n default: {\n this.focused = 0;\n break;\n }\n }\n }\n\n\n handleFocus(): void {\n // Select all text when focusing the input\n if (this.textInput?.inputRef?.nativeElement && !this.isTyping()) {\n const input = this.textInput.inputRef.nativeElement;\n // Select all text immediately - this will select the current value\n input.select();\n }\n }\n\n handleInputClick(): void {\n // When clicking into the input, select all text if not already typing\n if (this.textInput?.inputRef?.nativeElement && !this.isTyping()) {\n const input = this.textInput.inputRef.nativeElement;\n // Use setTimeout to override the click's cursor positioning\n setTimeout(() => {\n input.select();\n }, 0);\n }\n\n // Initialize highlighting when dropdown opens via click\n // Use setTimeout to ensure menu is rendered before we try to update it\n setTimeout(() => {\n if (this.trigger?.isOpen()) {\n this.inFocusOpen = true;\n this.preFocusValue = this.value;\n this.initializeFocusedIndex();\n }\n }, 0);\n }\n\n handleKeyDown(event: KeyboardEvent): void {\n // Handle Enter key when typing\n if (event.key === 'Enter' && this.isTyping()) {\n event.preventDefault();\n this.inFocusOpen = false;\n\n // Select the currently focused option (respects arrow key navigation)\n const availableItems = this.getAvailableItems();\n let newValue;\n\n if (availableItems.length > 0) {\n // Select the item at the focused index (which may have been changed by arrow keys)\n const selectedItem = availableItems[this.focused];\n // Handle both options (objects) and menuItems (FwMenuItemComponent)\n if (selectedItem instanceof FwMenuItemComponent) {\n newValue = selectedItem.value;\n } else {\n newValue = selectedItem;\n }\n } else {\n // No available items, keep current value\n if (this.useFullOptionAsValue()) {\n try {\n newValue = JSON.parse(this.value);\n } catch {\n // If parse fails, keep the raw value\n newValue = this.value;\n }\n } else {\n newValue = this.value;\n }\n }\n\n // Clear filter and exit typing mode FIRST\n // This prevents onInputChange from interfering\n this.filterValue.set('');\n this.isTyping.set(false);\n\n // Update the value (this will set selectTitle signal)\n this.updateValue(newValue);\n\n this.close();\n return;\n }\n\n // Handle backspace to enter typing mode - only if text is selected or at the beginning\n if (event.key === 'Backspace' && !this.isTyping() && this.selectTitle()) {\n // Check if there's a text selection\n let hasSelection = false;\n if (this.textInput?.inputRef?.nativeElement) {\n const input = this.textInput.inputRef.nativeElement;\n const selectionStart = input.selectionStart ?? 0;\n const selectionEnd = input.selectionEnd ?? 0;\n hasSelection = selectionStart !== selectionEnd;\n }\n\n // Only enter typing mode if there's a selection (e.g., from clicking/tabbing in)\n // Otherwise, let the browser handle backspace naturally without entering typing mode\n if (hasSelection) {\n this.isTyping.set(true);\n this.trigger.open();\n this._isOpen = true;\n this.inFocusOpen = true;\n this.preFocusValue = this.value;\n this.initializeFocusedIndex();\n }\n\n // Let the default backspace behavior happen regardless\n return;\n }\n\n // Handle backspace while already typing\n if (event.key === 'Backspace' && this.isTyping()) {\n // Let default behavior happen, onInputChange will handle it\n return;\n }\n\n // Handle regular characters when entering typing mode (not already typing)\n // Exclude navigation keys like Arrow keys, Home, End, etc.\n const isNavigationKey = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Home', 'End', 'PageUp', 'PageDown', 'Delete'].includes(event.key);\n if (!this.trigger.isOpen() && !this.isTyping() && this.selectTitle() && event.key.length === 1 && !event.ctrlKey && !event.metaKey && !event.altKey && !isNavigationKey) {\n // Don't prevent default - let the browser handle the character insertion naturally\n // Just switch to typing mode and the input event will update filterValue\n this.isTyping.set(true);\n this.trigger.open();\n this._isOpen = true;\n this.inFocusOpen = true;\n this.preFocusValue = this.value;\n this.initializeFocusedIndex();\n\n // The input event will fire after this keydown, which will update filterValue\n // and trigger the dropdown to show filtered options\n return;\n }\n\n // Handle regular characters while already typing (including space)\n if (this.isTyping() && event.key.length === 1 && !event.ctrlKey && !event.metaKey && !event.altKey) {\n // Let default behavior happen, onInputChange will handle it\n return;\n }\n\n if (this.trigger.isOpen()) {\n if (this.inFocusOpen) {\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n this.moveFocused('down');\n // Defer updateValue to avoid change detection errors\n setTimeout(() => {\n const availableItems = this.getAvailableItems();\n if (availableItems.length > 0) {\n const selectedItem = availableItems[this.focused];\n // Handle both options (objects) and menuItems (FwMenuItemComponent)\n if (selectedItem instanceof FwMenuItemComponent) {\n this.selectValue = selectedItem.value;\n // Manually update selected state for all menu items\n this.menuItems().forEach(item => {\n item.selected = item.value === this.selectValue;\n });\n this.updateValue(selectedItem.value);\n } else {\n // For options array items, set selectValue first for immediate highlighting\n const vProp = this.valueProperty();\n this.selectValue = this.useFullOptionAsValue()\n ? JSON.stringify(selectedItem)\n : selectedItem?.[vProp]?.toString();\n if (this.menu()) {\n this.menu()!.value = this.selectValue;\n this.menu()?.updateLayout();\n }\n this.updateValue(selectedItem);\n }\n }\n }, 0);\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n this.moveFocused('up');\n // Defer updateValue to avoid change detection errors\n setTimeout(() => {\n const availableItems = this.getAvailableItems();\n if (availableItems.length > 0) {\n const selectedItem = availableItems[this.focused];\n // Handle both options (objects) and menuItems (FwMenuItemComponent)\n if (selectedItem instanceof FwMenuItemComponent) {\n this.selectValue = selectedItem.value;\n // Manually update selected state for all menu items\n this.menuItems().forEach(item => {\n item.selected = item.value === this.selectValue;\n });\n this.updateValue(selectedItem.value);\n } else {\n // For options array items, set selectValue first for immediate highlighting\n const vProp = this.valueProperty();\n this.selectValue = this.useFullOptionAsValue()\n ? JSON.stringify(selectedItem)\n : selectedItem?.[vProp]?.toString();\n if (this.menu()) {\n this.menu()!.value = this.selectValue;\n this.menu()?.updateLayout();\n }\n this.updateValue(selectedItem);\n }\n }\n }, 0);\n } else if (event.key === 'Tab') {\n this.isTyping.set(false);\n this.close();\n this.inFocusOpen = false;\n // Defer updateValue to avoid change detection errors\n setTimeout(() => {\n this.updateValue(this.preFocusValue);\n }, 0);\n }\n } else {\n this.inFocusOpen = true;\n this.preFocusValue = this.value;\n this.initializeFocusedIndex();\n }\n } else {\n if (event.key === 'Enter') {\n this.inFocusOpen = false;\n this.preFocusValue = this.value;\n }\n }\n }\n\n handleKeyUp(event: KeyboardEvent): void {\n if (this.trigger.isOpen()) {\n if (event.key === 'Escape') {\n this.isTyping.set(false);\n this.close();\n this.inFocusOpen = false;\n this.updateValue(this.preFocusValue);\n }\n } else {\n if (this.showReset) {\n if (event.key === 'Escape') {\n this.handleReset();\n }\n }\n }\n }\n\n\n updateValue(newValue: unknown): void {\n // do housekeeping first\n this.onTouched();\n\n const vProp = this.valueProperty();\n const tProp = this.titleProperty();\n const iProp = this.iconProperty();\n const fullOption = this.useFullOptionAsValue();\n\n // null guard\n if (!newValue) {\n this.selectValue = '';\n this.selectTitle.set('');\n this.selectIcon = '';\n return this.onChange(newValue);\n }\n\n if (typeof newValue === 'object') {\n this.selectValue = newValue?.[vProp]?.toString();\n this.selectTitle.set(newValue?.[tProp]?.toString());\n this.selectIcon = newValue?.[iProp];\n\n const changeToEmit = fullOption ? newValue : newValue[vProp];\n return this.onChange(changeToEmit);\n }\n\n // try and find a matching option in the options array\n const matchedOption = this.options().find(option => {\n const matchesValue = option[vProp] === newValue || option[vProp]?.toString() === newValue?.toString();\n const matchesTitle = option[tProp] === newValue || option[tProp]?.toString() === newValue?.toString();\n\n return matchesValue || matchesTitle;\n });\n\n if (matchedOption) {\n this.selectValue = matchedOption[vProp]?.toString();\n this.selectTitle.set(matchedOption[tProp]?.toString());\n this.selectIcon = matchedOption[iProp];\n\n const changeToEmit = fullOption ? matchedOption : matchedOption[vProp];\n return this.onChange(changeToEmit);\n }\n\n // try and find a matching menu item in content projected items\n const matchedMenuItem = this.menuItems().find(item => item.value === newValue);\n\n if (matchedMenuItem) {\n this.selectValue = matchedMenuItem.value?.toString();\n this.selectTitle.set(matchedMenuItem.title);\n this.selectIcon = matchedMenuItem.icon;\n return this.onChange(matchedMenuItem.value);\n }\n\n // fall back to stringify\n const stringified = newValue.toString() || '';\n this.selectValue = stringified;\n this.selectTitle.set(stringified);\n return this.onChange(stringified);\n }\n\n handleReset(): void {\n if (this.showReset()) {\n this.updateValue(null);\n }\n }\n\n close(): void {\n this.trigger.close();\n this.filterValue.set('');\n this.filterChanged.emit(this.filterValue());\n this._isOpen = false;\n this.isTyping.set(false);\n }\n\n onFilterChanged(value: string): void {\n // Don't let the menu-container overwrite our filterValue when we're typing\n if (this.isTyping()) {\n return;\n }\n this.filterValue.set(value);\n this.filterChanged.emit(value);\n }\n\n onInputChange(event: Event): void {\n const inputElement = event.target as HTMLInputElement;\n const value = inputElement.value;\n\n // Update filterValue with the current input value\n this.filterValue.set(value);\n\n // If there's a filter value and we're not already typing, enter typing mode\n if (value && !this.isTyping()) {\n this.isTyping.set(true);\n this.inFocusOpen = true;\n this.preFocusValue = this.value;\n this.initializeFocusedIndex();\n } else {\n // Reset focused index to 0 when filter changes (only if already typing)\n this.focused = 0;\n }\n\n // Defer selectValue update to avoid ExpressionChangedAfterItHasBeenCheckedError\n // This happens because we're updating state during change detection\n setTimeout(() => {\n // Update selectValue to first available item for highlighting\n const availableItems = this.getAvailableItems();\n if (availableItems.length > 0) {\n const firstItem = availableItems[0];\n // Handle both options (objects) and menuItems (FwMenuItemComponent)\n if (firstItem instanceof FwMenuItemComponent) {\n this.selectValue = firstItem.value;\n } else {\n this.selectValue = this.useFullOptionAsValue()\n ? JSON.stringify(firstItem)\n : firstItem[this.valueProperty()]?.toString();\n }\n } else {\n // Clear selection when no items match\n this.selectValue = '';\n }\n this.focused = 0;\n this.updateHighlighting();\n }, 0);\n\n this.filterChanged.emit(this.filterValue());\n\n // Auto-open dropdown when user starts typing\n if (this.filterValue() && !this.trigger.isOpen()) {\n this.trigger.open();\n this._isOpen = true;\n }\n }\n}\n","<div #wrapper [style.width]=\"width()\">\n <fw-text-input\n fwMenuRegister\n [cdkMenuTriggerFor]=\"selectMenu\"\n [value]=\"inputDisplayValue()\"\n [leftIcon]=\"staticIcon() || selectIcon || null\"\n [rightIcon]=\"(selectTitle()&&showReset())?'close-circled':'chevron-down'\"\n (rightIconAction)=\"handleReset()\"\n [useActionableIcons]=\"true\"\n [placeholder]=\"placeholder()\"\n [size]=\"size()\"\n [error]=\"errored() || (invalid && touched)\"\n (input)=\"onInputChange($event)\"\n (keyup)=\"handleKeyUp($event)\"\n (keydown)=\"handleKeyDown($event)\"\n (focus)=\"handleFocus()\"\n (click)=\"handleInputClick()\"\n [readOnly]=\"false\">\n </fw-text-input>\n <ng-template #selectMenu>\n @if (!disabled()) {\n <fw-menu-container\n [filterText]=\"filterValue()\"\n [additionalMenuItems]=\"menuItems()\"\n [additionalGroups]=\"menuItemGroups()\"\n [additionalSeparators]=\"menuSeparators()\"\n [showFilter]=\"showFilter()\" [width]=\"optionsWidth() || wrapper.offsetWidth + 'px'\"\n [maxHeight]=\"maxOptionsHeight()\" [minHeight]=\"minOptionsHeight()\" (filterChanged)=\"onFilterChanged($event)\">\n <fw-menu [disabled]=\"disabled()\" [value]=\"selectValue\" (change)=\"handleClick($any($event))\">\n @if (menuItems().length === 0) {\n @for (item of optionsWithValues(); track item.trackingId) {\n <fw-menu-item\n [title]=\"item.raw[titleProperty()]?.toString()\"\n [description]=\"item.raw[descriptionProperty()]\"\n [value]=\"item.value\"\n [icon]=\"item.raw[iconProperty()]\"\n [disabled]=\"$any(item.raw).disabled\"\n >\n </fw-menu-item>\n }\n }\n <div #menuContentWrapper>\n <ng-content select=\"[fw-menu-item, fw-menu-separator, fw-menu-item-group]\"></ng-content>\n </div>\n </fw-menu>\n </fw-menu-container>\n }\n </ng-template>\n</div>\n","import { CdkMenuModule } from '@angular/cdk/menu';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { MenuRegisterDirective } from '../../directives/menu-register.directive';\nimport { FwButtonModule } from '../button/button.module';\nimport { FwChipModule } from '../chip/chip.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwMenuModule } from '../menu/menu.module';\nimport { FwTextInputModule } from '../text-input/text-input.module';\nimport { FwMultiSelectMenuComponent } from './multi-select-menu/multi-select-menu.component';\nimport { FwSelectMenuComponent } from './select-menu.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n CdkMenuModule,\n FormsModule,\n FwButtonModule,\n FwChipModule,\n FwIconModule,\n FwMenuModule,\n FwTextInputModule,\n MenuRegisterDirective,\n FwMultiSelectMenuComponent,\n FwSelectMenuComponent,\n ],\n exports: [\n FwMultiSelectMenuComponent,\n FwSelectMenuComponent,\n ],\n})\nexport class FwSelectMenuModule {\n}\n","import { NgClass, NgFor, NgIf } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FormsModule,ReactiveFormsModule } from '@angular/forms';\n\nimport { FwIconComponent } from '../../icon/icon.component';\nimport { FwMenuItemComponent } from '../../menu/menu-item/menu-item.component';\nimport { FwSelectMenuComponent } from '../../select-menu/select-menu.component';\nimport { FwPaginatorEvent } from '../paginator.model';\n\n@Component({\n selector: 'fw-paginator-advanced',\n templateUrl: './paginator-advanced.component.html',\n styleUrls: ['./paginator-advanced.component.scss'],\n imports: [\n NgClass,\n FwSelectMenuComponent,\n ReactiveFormsModule,\n FormsModule,\n NgFor,\n FwMenuItemComponent,\n NgIf,\n FwIconComponent,\n ],\n})\nexport class FwPaginatorAdvancedComponent {\n @Input() disabled: boolean = false;\n @Input() showNext: boolean = true;\n @Input() showPrevious: boolean = true;\n @Input() showFirst: boolean = false;\n @Input() showLast: boolean = false;\n @Input() pageIndex: number = 0;\n @Input() pageSizeOptions: number[] = [10, 25, 50, 100];\n @Input() length: number = 0;\n @Input() alignment: 'start' | 'center' | 'end' = 'center';\n @Input() selectorTitle: string = 'Items per page:';\n\n @Input()\n get pageSize(): number {\n return this._pageSize;\n }\n\n set pageSize(newSize: number) {\n this._pageSize = parseInt(newSize.toString());\n this.pageIndex = 0;\n const pageEvt = this.buildPageEvent(0);\n this.page.emit(pageEvt);\n }\n\n private _pageSize: number = 10;\n @Output() page: EventEmitter<FwPaginatorEvent> = new EventEmitter<FwPaginatorEvent>();\n\n private buildPageEvent(pageIndex: number): FwPaginatorEvent {\n return {\n length: this.length,\n pageSize: this.pageSize,\n pageIndex: pageIndex,\n previousPageIndex: this.pageIndex,\n rowIndexStart: this.getRowIndexStart(pageIndex),\n rowIndexEnd: this.getRowIndexEnd(pageIndex),\n };\n }\n\n firstPage(): void {\n const evt = this.buildPageEvent(0);\n this.pageIndex = 0;\n this.page.emit(evt);\n }\n\n lastPage(): void {\n const evt = this.buildPageEvent(this.getNumberOfPages() - 1);\n this.pageIndex = this.getNumberOfPages() - 1;\n this.page.emit(evt);\n }\n\n nextPage(): void {\n if (this.hasNextPage()) {\n const evt = this.buildPageEvent(this.pageIndex + 1);\n this.pageIndex++;\n this.page.emit(evt);\n }\n }\n\n previousPage(): void {\n if (this.hasPreviousPage()) {\n const evt = this.buildPageEvent(this.pageIndex - 1);\n this.pageIndex--;\n this.page.emit(evt);\n }\n }\n\n setPage(pageNumber: number): void {\n const evt = this.buildPageEvent(pageNumber);\n this.pageIndex = pageNumber;\n this.page.emit(evt);\n }\n\n getNumberOfPages(): number {\n return Math.ceil(this.length / this.pageSize);\n }\n\n getRowIndexStart(pageIndex?: number): number {\n const index = pageIndex !== undefined ? pageIndex : this.pageIndex;\n return index * this.pageSize;\n }\n\n getRowIndexEnd(pageIndex?: number): number {\n const index = pageIndex !== undefined ? pageIndex : this.pageIndex;\n let indexEnd = (index * this.pageSize) + this.pageSize - 1;\n if (indexEnd > this.length) {\n indexEnd = this.length - 1;\n }\n return indexEnd;\n }\n\n hasNextPage(): boolean {\n return (this.pageIndex !== this.getNumberOfPages() - 1);\n }\n\n hasPreviousPage(): boolean {\n return (this.pageIndex > 0);\n }\n}\n","<div [ngClass]=\"['paginator', alignment]\">\n <div class=\"pages-selector\">\n <div>\n <p class=\"vision-p2\" [ngClass]=\"disabled?'disabled':''\">{{ selectorTitle }}</p>\n &nbsp;\n <fw-select\n [disabled]=\"disabled\" width=\"80px\" placeholder=\"Size\"\n [(ngModel)]=\"pageSize\">\n <fw-menu-item\n *ngFor=\"let size of pageSizeOptions\"\n [value]=\"size.toString()\"\n [title]=\"size.toString()\"\n [selected]=\"pageSize.toString()===size.toString()\"\n [disabled]=\"disabled\"\n ></fw-menu-item>\n </fw-select>\n </div>\n <p class=\"vision-p2 record-count\" [ngClass]=\"disabled?'disabled':''\">\n {{ getRowIndexStart() + 1 }}-{{ getRowIndexEnd() + 1 }}\n of {{ length }}</p>\n <div>\n <button\n *ngIf=\"showFirst\"\n class=\"page-item page-action page-first\" [disabled]=\"!hasPreviousPage() || disabled\" (click)=\"firstPage()\">\n <fw-icon>arrow-back-collapse</fw-icon>\n </button>\n <button\n *ngIf=\"showPrevious\"\n class=\"page-item page-action page-previous\" [disabled]=\"!hasPreviousPage() || disabled\"\n (click)=\"previousPage()\">\n <fw-icon>chevron-back</fw-icon>\n </button>\n <button\n *ngIf=\"showNext\" class=\"page-item page-action page-next\" [disabled]=\"!hasNextPage() || disabled\"\n (click)=\"nextPage()\">\n <fw-icon>chevron-forward</fw-icon>\n </button>\n <button\n *ngIf=\"showLast\" class=\"page-item page-action page-last\" [disabled]=\"!hasNextPage() || disabled\"\n (click)=\"lastPage()\">\n <fw-icon>arrow-forward-collapse</fw-icon>\n </button>\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwIconButtonModule } from '../icon-button/icon-button.module';\nimport { FwMenuModule } from '../menu/menu.module';\nimport { FwSelectMenuModule } from '../select-menu/select-menu.module';\nimport { FwPaginatorComponent } from './paginator.component';\nimport { FwPaginatorAdvancedComponent } from './paginator-advanced/paginator-advanced.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n FwIconButtonModule,\n FwIconModule,\n FwMenuModule,\n FwSelectMenuModule,\n FwPaginatorComponent,\n FwPaginatorAdvancedComponent,\n ],\n exports: [\n FwPaginatorComponent,\n FwPaginatorAdvancedComponent,\n ],\n})\nexport class FwPaginatorModule {\n}\n","/* eslint-disable */\n// adapted from ngx-mat-intl-tel-input\n\nexport const CountryCodeData = [\n ['Afghanistan (‫افغانستان‬‎)', 'af', '93'],\n ['Albania (Shqipëri)', 'al', '355'],\n ['Algeria (‫الجزائر‬‎)', 'dz', '213'],\n ['American Samoa', 'as', '1684'],\n ['Andorra', 'ad', '376'],\n ['Angola', 'ao', '244'],\n ['Anguilla', 'ai', '1264'],\n ['Antigua and Barbuda', 'ag', '1268'],\n ['Argentina', 'ar', '54'],\n ['Armenia (Հայաստան)', 'am', '374'],\n ['Aruba', 'aw', '297'],\n ['Australia', 'au', '61', 0],\n ['Austria (Österreich)', 'at', '43'],\n ['Azerbaijan (Azərbaycan)', 'az', '994'],\n ['Bahamas', 'bs', '1242'],\n ['Bahrain (‫البحرين‬‎)', 'bh', '973'],\n ['Bangladesh (বাংলাদেশ)', 'bd', '880'],\n ['Barbados', 'bb', '1246'],\n ['Belarus (Беларусь)', 'by', '375'],\n ['Belgium (België)', 'be', '32'],\n ['Belize', 'bz', '501'],\n ['Benin (Bénin)', 'bj', '229'],\n ['Bermuda', 'bm', '1441'],\n ['Bhutan (འབྲུག)', 'bt', '975'],\n ['Bolivia', 'bo', '591'],\n ['Bosnia and Herzegovina (Босна и Херцеговина)', 'ba', '387'],\n ['Botswana', 'bw', '267'],\n ['Brazil (Brasil)', 'br', '55'],\n ['British Indian Ocean Territory', 'io', '246'],\n ['British Virgin Islands', 'vg', '1284'],\n ['Brunei', 'bn', '673'],\n ['Bulgaria (България)', 'bg', '359'],\n ['Burkina Faso', 'bf', '226'],\n ['Burundi (Uburundi)', 'bi', '257'],\n ['Cambodia (កម្ពុជា)', 'kh', '855'],\n ['Cameroon (Cameroun)', 'cm', '237'],\n ['Canada', 'ca', '1', 1, ['204', '226', '236', '249', '250', '289', '306', '343', '365', '387', '403', '416', '418', '431', '437',\n '438', '450', '506', '514', '519', '548', '579', '581', '587', '604', '613', '639', '647', '672', '705', '709', '742',\n '778', '780', '782', '807', '819', '825', '867', '873', '902', '905']],\n ['Cape Verde (Kabu Verdi)', 'cv', '238'],\n ['Caribbean Netherlands', 'bq', '599', 1],\n ['Cayman Islands', 'ky', '1345'],\n ['Central African Republic (République centrafricaine)', 'cf', '236'],\n ['Chad (Tchad)', 'td', '235'],\n ['Chile', 'cl', '56'],\n ['China (中国)', 'cn', '86'],\n ['Christmas Island', 'cx', '61', 2],\n ['Cocos (Keeling) Islands', 'cc', '61', 1],\n ['Colombia', 'co', '57'],\n ['Comoros (‫جزر القمر‬‎)', 'km', '269'],\n ['Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)', 'cd', '243'],\n ['Congo (Republic) (Congo-Brazzaville)', 'cg', '242'],\n ['Cook Islands', 'ck', '682'],\n ['Costa Rica', 'cr', '506'],\n ['Côte d’Ivoire', 'ci', '225'],\n ['Croatia (Hrvatska)', 'hr', '385'],\n ['Cuba', 'cu', '53'],\n ['Curaçao', 'cw', '599', 0],\n ['Cyprus (Κύπρος)', 'cy', '357'],\n ['Czech Republic (Česká republika)', 'cz', '420'],\n ['Denmark (Danmark)', 'dk', '45'],\n ['Djibouti', 'dj', '253'],\n ['Dominica', 'dm', '1767'],\n ['Dominican Republic (República Dominicana)', 'do', '1', 2, ['809', '829', '849']], ['Ecuador', 'ec', '593'],\n ['Egypt (‫مصر‬‎)', 'eg', '20'],\n ['El Salvador', 'sv', '503'],\n ['Equatorial Guinea (Guinea Ecuatorial)', 'gq', '240'],\n ['Eritrea', 'er', '291'],\n ['Estonia (Eesti)', 'ee', '372'],\n ['Ethiopia', 'et', '251'],\n ['Falkland Islands (Islas Malvinas)', 'fk', '500'],\n ['Faroe Islands (Føroyar)', 'fo', '298'],\n ['Fiji', 'fj', '679'],\n ['Finland (Suomi)', 'fi', '358', 0],\n ['France', 'fr', '33'],\n ['French Guiana (Guyane française)', 'gf', '594'],\n ['French Polynesia (Polynésie française)', 'pf', '689'],\n ['Gabon', 'ga', '241'],\n ['Gambia', 'gm', '220'],\n ['Georgia (საქართველო)', 'ge', '995'],\n ['Germany (Deutschland)', 'de', '49'],\n ['Ghana (Gaana)', 'gh', '233'],\n ['Gibraltar', 'gi', '350'],\n ['Greece (Ελλάδα)', 'gr', '30'],\n ['Greenland (Kalaallit Nunaat)', 'gl', '299'],\n ['Grenada', 'gd', '1473'],\n ['Guadeloupe', 'gp', '590', 0],\n ['Guam', 'gu', '1671'],\n ['Guatemala', 'gt', '502'],\n ['Guernsey', 'gg', '44', 1],\n ['Guinea (Guinée)', 'gn', '224'],\n ['Guinea-Bissau (Guiné Bissau)', 'gw', '245'],\n ['Guyana', 'gy', '592'],\n ['Haiti', 'ht', '509'],\n ['Honduras', 'hn', '504'],\n ['Hong Kong (香港)', 'hk', '852'],\n ['Hungary (Magyarország)', 'hu', '36'],\n ['Iceland (Ísland)', 'is', '354'],\n ['India (भारत)', 'in', '91'],\n ['Indonesia', 'id', '62'],\n ['Iran (‫ایران‬‎)', 'ir', '98'],\n ['Iraq (‫العراق‬‎)', 'iq', '964'],\n ['Ireland', 'ie', '353'],\n ['Isle of Man', 'im', '44', 2],\n ['Israel (‫ישראל‬‎)', 'il', '972'],\n ['Italy (Italia)', 'it', '39', 0],\n ['Jamaica', 'jm', '1', 4, ['876', '658']], ['Japan (日本)', 'jp', '81'],\n ['Jersey', 'je', '44', 3],\n ['Jordan (‫الأردن‬‎)', 'jo', '962'],\n ['Kazakhstan (Казахстан)', 'kz', '7', 1],\n ['Kenya', 'ke', '254'],\n ['Kiribati', 'ki', '686'],\n ['Kosovo', 'xk', '383'],\n ['Kuwait (‫الكويت‬‎)', 'kw', '965'],\n ['Kyrgyzstan (Кыргызстан)', 'kg', '996'],\n ['Laos (ລາວ)', 'la', '856'],\n ['Latvia (Latvija)', 'lv', '371'],\n ['Lebanon (‫لبنان‬‎)', 'lb', '961'],\n ['Lesotho', 'ls', '266'],\n ['Liberia', 'lr', '231'],\n ['Libya (‫ليبيا‬‎)', 'ly', '218'],\n ['Liechtenstein', 'li', '423'],\n ['Lithuania (Lietuva)', 'lt', '370'],\n ['Luxembourg', 'lu', '352'],\n ['Macau (澳門)', 'mo', '853'],\n ['Macedonia (FYROM) (Македонија)', 'mk', '389'],\n ['Madagascar (Madagasikara)', 'mg', '261'],\n ['Malawi', 'mw', '265'],\n ['Malaysia', 'my', '60'],\n ['Maldives', 'mv', '960'],\n ['Mali', 'ml', '223'],\n ['Malta', 'mt', '356'],\n ['Marshall Islands', 'mh', '692'],\n ['Martinique', 'mq', '596'],\n ['Mauritania (‫موريتانيا‬‎)', 'mr', '222'],\n ['Mauritius (Moris)', 'mu', '230'],\n ['Mayotte', 'yt', '262', 1],\n ['Mexico (México)', 'mx', '52'],\n ['Micronesia', 'fm', '691'],\n ['Moldova (Republica Moldova)', 'md', '373'],\n ['Monaco', 'mc', '377'],\n ['Mongolia (Монгол)', 'mn', '976'],\n ['Montenegro (Crna Gora)', 'me', '382'],\n ['Montserrat', 'ms', '1664'],\n ['Morocco (‫المغرب‬‎)', 'ma', '212', 0],\n ['Mozambique (Moçambique)', 'mz', '258'],\n ['Myanmar (Burma) (မြန်မာ)', 'mm', '95'],\n ['Namibia (Namibië)', 'na', '264'],\n ['Nauru', 'nr', '674'],\n ['Nepal (नेपाल)', 'np', '977'],\n ['Netherlands (Nederland)', 'nl', '31'],\n ['New Caledonia (Nouvelle-Calédonie)', 'nc', '687'],\n ['New Zealand', 'nz', '64'],\n ['Nicaragua', 'ni', '505'],\n ['Niger (Nijar)', 'ne', '227'],\n ['Nigeria', 'ng', '234'],\n ['Niue', 'nu', '683'],\n ['Norfolk Island', 'nf', '672'],\n ['North Korea (조선 민주주의 인민 공화국)', 'kp', '850'],\n ['Northern Mariana Islands', 'mp', '1670'],\n ['Norway (Norge)', 'no', '47', 0],\n ['Oman (‫عُمان‬‎)', 'om', '968'],\n ['Pakistan (‫پاکستان‬‎)', 'pk', '92'],\n ['Palau', 'pw', '680'],\n ['Palestine (‫فلسطين‬‎)', 'ps', '970'],\n ['Panama (Panamá)', 'pa', '507'],\n ['Papua New Guinea', 'pg', '675'],\n ['Paraguay', 'py', '595'],\n ['Peru (Perú)', 'pe', '51'],\n ['Philippines', 'ph', '63'],\n ['Poland (Polska)', 'pl', '48'],\n ['Portugal', 'pt', '351'],\n ['Puerto Rico', 'pr', '1', 3, ['787', '939']], ['Qatar (‫قطر‬‎)', 'qa', '974'],\n ['Réunion (La Réunion)', 're', '262', 0],\n ['Romania (România)', 'ro', '40'],\n ['Russia (Россия)', 'ru', '7', 0],\n ['Rwanda', 'rw', '250'],\n ['Saint Barthélemy', 'bl', '590', 1],\n ['Saint Helena', 'sh', '290'],\n ['Saint Kitts and Nevis', 'kn', '1869'],\n ['Saint Lucia', 'lc', '1758'],\n ['Saint Martin (Saint-Martin (partie française))', 'mf', '590', 2],\n ['Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)', 'pm', '508'],\n ['Saint Vincent and the Grenadines', 'vc', '1784'],\n ['Samoa', 'ws', '685'],\n ['San Marino', 'sm', '378'],\n ['São Tomé and Príncipe (São Tomé e Príncipe)', 'st', '239'],\n ['Saudi Arabia (‫المملكة العربية السعودية‬‎)', 'sa', '966'],\n ['Senegal (Sénégal)', 'sn', '221'],\n ['Serbia (Србија)', 'rs', '381'],\n ['Seychelles', 'sc', '248'],\n ['Sierra Leone', 'sl', '232'],\n ['Singapore', 'sg', '65'],\n ['Sint Maarten', 'sx', '1721'],\n ['Slovakia (Slovensko)', 'sk', '421'],\n ['Slovenia (Slovenija)', 'si', '386'],\n ['Solomon Islands', 'sb', '677'],\n ['Somalia (Soomaaliya)', 'so', '252'],\n ['South Africa', 'za', '27'],\n ['South Korea (대한민국)', 'kr', '82'],\n ['South Sudan (‫جنوب السودان‬‎)', 'ss', '211'],\n ['Spain (España)', 'es', '34'],\n ['Sri Lanka (ශ්‍රී ලංකාව)', 'lk', '94'],\n ['Sudan (‫السودان‬‎)', 'sd', '249'],\n ['Suriname', 'sr', '597'],\n ['Svalbard and Jan Mayen', 'sj', '47', 1],\n ['Swaziland', 'sz', '268'],\n ['Sweden (Sverige)', 'se', '46'],\n ['Switzerland (Schweiz)', 'ch', '41'],\n ['Syria (‫سوريا‬‎)', 'sy', '963'],\n ['Taiwan (台灣)', 'tw', '886'],\n ['Tajikistan', 'tj', '992'],\n ['Tanzania', 'tz', '255'],\n ['Thailand (ไทย)', 'th', '66'],\n ['Timor-Leste', 'tl', '670'],\n ['Togo', 'tg', '228'],\n ['Tokelau', 'tk', '690'],\n ['Tonga', 'to', '676'],\n ['Trinidad and Tobago', 'tt', '1868'],\n ['Tunisia (‫تونس‬‎)', 'tn', '216'],\n ['Turkey (Türkiye)', 'tr', '90'],\n ['Turkmenistan', 'tm', '993'],\n ['Turks and Caicos Islands', 'tc', '1649'],\n ['Tuvalu', 'tv', '688'],\n ['U.S. Virgin Islands', 'vi', '1340'],\n ['Uganda', 'ug', '256'],\n ['Ukraine (Україна)', 'ua', '380'],\n ['United Arab Emirates (‫الإمارات العربية المتحدة‬‎)', 'ae', '971'],\n ['United Kingdom', 'gb', '44', 0],\n ['United States', 'us', '1', 0],\n ['Uruguay', 'uy', '598'],\n ['Uzbekistan (Oʻzbekiston)', 'uz', '998'],\n ['Vanuatu', 'vu', '678'],\n ['Vatican City (Città del Vaticano)', 'va', '39', 1],\n ['Venezuela', 've', '58'],\n ['Vietnam (Việt Nam)', 'vn', '84'],\n ['Wallis and Futuna (Wallis-et-Futuna)', 'wf', '681'],\n ['Western Sahara (‫الصحراء الغربية‬‎)', 'eh', '212', 1],\n ['Yemen (‫اليمن‬‎)', 'ye', '967'],\n ['Zambia', 'zm', '260'],\n ['Zimbabwe', 'zw', '263'],\n ['Åland Islands', 'ax', '358', 1]];\n\nexport const Examples: any = {\n '001': '001',\n AC: '40123',\n AD: '312345',\n AE: '501234567',\n AF: '701234567',\n AG: '2684641234',\n AI: '2642351234',\n AL: '662123456',\n AM: '77123456',\n AO: '923123456',\n AR: '91123456789',\n AS: '6847331234',\n AT: '664123456',\n AU: '412345678',\n AW: '5601234',\n AX: '412345678',\n AZ: '401234567',\n BA: '61123456',\n BB: '2462501234',\n BD: '1812345678',\n BE: '470123456',\n BF: '70123456',\n BG: '48123456',\n BH: '36001234',\n BI: '79561234',\n BJ: '90011234',\n BL: '690001234',\n BM: '4413701234',\n BN: '7123456',\n BO: '71234567',\n BQ: '3181234',\n BR: '11961234567',\n BS: '2423591234',\n BT: '17123456',\n BW: '71123456',\n BY: '294911911',\n BZ: '6221234',\n CA: '5062345678',\n CC: '412345678',\n CD: '991234567',\n CF: '70012345',\n CG: '061234567',\n CH: '781234567',\n CI: '01234567',\n CK: '71234',\n CL: '221234567',\n CM: '671234567',\n CN: '13123456789',\n CO: '3211234567',\n CR: '83123456',\n CU: '51234567',\n CV: '9911234',\n CW: '95181234',\n CX: '412345678',\n CY: '96123456',\n CZ: '601123456',\n DE: '15123456789',\n DJ: '77831001',\n DK: '32123456',\n DM: '7672251234',\n DO: '8092345678',\n DZ: '551234567',\n EC: '991234567',\n EE: '51234567',\n EG: '1001234567',\n EH: '650123456',\n ER: '7123456',\n ES: '612345678',\n ET: '911234567',\n FI: '412345678',\n FJ: '7012345',\n FK: '51234',\n FM: '3501234',\n FO: '211234',\n FR: '612345678',\n GA: '06031234',\n GB: '7400123456',\n GD: '4734031234',\n GE: '555123456',\n GF: '694201234',\n GG: '7781123456',\n GH: '231234567',\n GI: '57123456',\n GL: '221234',\n GM: '3012345',\n GN: '601123456',\n GP: '690001234',\n GQ: '222123456',\n GR: '6912345678',\n GT: '51234567',\n GU: '6713001234',\n GW: '955012345',\n GY: '6091234',\n HK: '51234567',\n HN: '91234567',\n HR: '921234567',\n HT: '34101234',\n HU: '201234567',\n ID: '812345678',\n IE: '850123456',\n IL: '502345678',\n IM: '7924123456',\n IN: '8123456789',\n IO: '3801234',\n IQ: '7912345678',\n IR: '9123456789',\n IS: '6111234',\n IT: '3123456789',\n JE: '7797712345',\n JM: '8762101234',\n JO: '790123456',\n JP: '9012345678',\n KE: '712123456',\n KG: '700123456',\n KH: '91234567',\n KI: '72001234',\n KM: '3212345',\n KN: '8697652917',\n KP: '1921234567',\n KR: '1000000000',\n KW: '50012345',\n KY: '3453231234',\n KZ: '7710009998',\n LA: '2023123456',\n LB: '71123456',\n LC: '7582845678',\n LI: '660234567',\n LK: '712345678',\n LR: '770123456',\n LS: '50123456',\n LT: '61234567',\n LU: '628123456',\n LV: '21234567',\n LY: '912345678',\n MA: '650123456',\n MC: '612345678',\n MD: '62112345',\n ME: '67622901',\n MF: '690001234',\n MG: '321234567',\n MH: '2351234',\n MK: '72345678',\n ML: '65012345',\n MM: '92123456',\n MN: '88123456',\n MO: '66123456',\n MP: '6702345678',\n MQ: '696201234',\n MR: '22123456',\n MS: '6644923456',\n MT: '96961234',\n MU: '52512345',\n MV: '7712345',\n MW: '991234567',\n MX: '12221234567',\n MY: '123456789',\n MZ: '821234567',\n NA: '811234567',\n NC: '751234',\n NE: '93123456',\n NF: '381234',\n NG: '8021234567',\n NI: '81234567',\n NL: '612345678',\n NO: '40612345',\n NP: '9841234567',\n NR: '5551234',\n NU: '8884012',\n NZ: '211234567',\n OM: '92123456',\n PA: '61234567',\n PE: '912345678',\n PF: '87123456',\n PG: '70123456',\n PH: '9051234567',\n PK: '3012345678',\n PL: '512345678',\n PM: '551234',\n PR: '7872345678',\n PS: '599123456',\n PT: '912345678',\n PW: '6201234',\n PY: '961456789',\n QA: '33123456',\n RE: '692123456',\n RO: '712034567',\n RS: '601234567',\n RU: '9123456789',\n RW: '720123456',\n SA: '512345678',\n SB: '7421234',\n SC: '2510123',\n SD: '911231234',\n SE: '701234567',\n SG: '81234567',\n SH: '51234',\n SI: '31234567',\n SJ: '41234567',\n SK: '912123456',\n SL: '25123456',\n SM: '66661212',\n SN: '701234567',\n SO: '71123456',\n SR: '7412345',\n SS: '977123456',\n ST: '9812345',\n SV: '70123456',\n SX: '7215205678',\n SY: '944567890',\n SZ: '76123456',\n TA: '8999',\n TC: '6492311234',\n TD: '63012345',\n TG: '90112345',\n TH: '812345678',\n TJ: '917123456',\n TK: '7290',\n TL: '77212345',\n TM: '66123456',\n TN: '20123456',\n TO: '7715123',\n TR: '5012345678',\n TT: '8682911234',\n TV: '901234',\n TW: '912345678',\n TZ: '621234567',\n UA: '501234567',\n UG: '712345678',\n US: '2015550123',\n UY: '94231234',\n UZ: '912345678',\n VA: '3123456789',\n VC: '7844301234',\n VE: '4121234567',\n VG: '2843001234',\n VI: '3406421234',\n VN: '912345678',\n VU: '5912345',\n WF: '501234',\n WS: '7212345',\n XK: '43201234',\n YE: '712345678',\n YT: '639012345',\n ZA: '711234567',\n ZM: '955123456',\n ZW: '712345678',\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any,@rx-angular/prefer-no-layout-sensitive-apis,@rx-angular/no-explicit-change-detection-apis */\nimport { CdkMenuTrigger } from '@angular/cdk/menu';\nimport { NgClass, NgFor,NgIf } from '@angular/common';\nimport {\n ChangeDetectorRef,\n Component,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, FormsModule,NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport {\n AsYouType,\n CountryCode,\n E164Number,\n getExampleNumber,\n parsePhoneNumberFromString,\n PhoneNumber,\n} from 'libphonenumber-js';\n\nimport { FwIconComponent } from '../icon/icon.component';\nimport { FwMenuComponent } from '../menu/menu.component';\nimport { FwMenuContainerComponent } from '../menu/menu-container/menu-container.component';\nimport { FwMenuItemComponent } from '../menu/menu-item/menu-item.component';\nimport { FwMenuSeparatorComponent } from '../menu/menu-separator/menu-separator.component';\nimport { CountryCodeData, Examples } from './country-code.data';\nimport { Country, PhoneNumberFormat } from './phone-input.model';\n\n@Component({\n selector: 'fw-phone-input',\n templateUrl: './phone-input.component.html',\n styleUrls: ['./phone-input.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FwPhoneInputComponent),\n multi: true,\n }],\n imports: [\n NgIf,\n CdkMenuTrigger,\n FwIconComponent,\n NgClass,\n FwMenuContainerComponent,\n FwMenuComponent,\n NgFor,\n FwMenuItemComponent,\n FwMenuSeparatorComponent,\n ReactiveFormsModule,\n FormsModule,\n ],\n})\nexport class FwPhoneInputComponent implements OnInit, OnChanges, ControlValueAccessor {\n @Input() preferredCountries: Array<string> = ['us'];\n @Input() onlyCountries: Array<string> = [];\n @Input() enableCountrySearch = true;\n @Input() showCountrySelector?: boolean = true;\n @Input() size?: 'small' | 'medium' | 'large' = 'medium';\n @Input() rightIcon?: string;\n /**\n * @deprecated please use fw-wrapped-input instead\n */\n @Input() helperText?: string;\n /**\n * @deprecated please use fw-wrapped-input instead\n */\n @Input() errorText?: string;\n @Input() placeholder?: string;\n @Input() readOnly?: boolean;\n @HostBinding('class.errored') @Input() error?: boolean = false;\n\n @Input() value: E164Number | string | undefined;\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n this._disabled = Boolean(value);\n }\n\n @Input()\n get format(): PhoneNumberFormat {\n return this._format;\n }\n\n set format(value: PhoneNumberFormat) {\n this._format = value;\n this.phoneFormattedNational = this.formattedPhoneNumber;\n }\n\n @Output() countryChanged = new EventEmitter<Country>();\n\n @ViewChild(CdkMenuTrigger) trigger: CdkMenuTrigger;\n phoneFormattedNational: string | undefined;\n allCountryList: Array<Country> = [];\n preferredCountryList: Array<Country> = [];\n selectedCountry: Country | undefined;\n selectedCountryCode: CountryCode | undefined;\n filteredCountryItems: Array<FwMenuItemComponent> = [];\n\n private _value: E164Number | string | undefined;\n private _disabled = false;\n private _format: PhoneNumberFormat = 'national';\n private _numberObject: PhoneNumber | undefined;\n private _previousFormattedNumber: string | undefined;\n\n static getPhoneNumberPlaceHolder(countryISOCode: CountryCode): string | undefined {\n const result = getExampleNumber(countryISOCode, Examples);\n return Boolean(result) ? result.number.toString() : undefined;\n }\n\n onTouched = (): void => {\n };\n\n onChange: any = () => {\n };\n\n constructor(\n private _changeDetectorRef: ChangeDetectorRef,\n ) {\n this.fetchCountryData();\n }\n\n ngOnInit(): void {\n if (this.preferredCountries.length) {\n this.preferredCountries.forEach((iso2) => {\n const preferredCountry = this.allCountryList\n .filter((c) => c.iso2 === iso2)\n .shift();\n if (preferredCountry) {\n this.preferredCountryList.push(preferredCountry);\n }\n });\n }\n if (this.onlyCountries.length) {\n this.allCountryList = this.allCountryList.filter((c) =>\n this.onlyCountries.includes(c.iso2),\n );\n }\n if (this._numberObject && this._numberObject.country) {\n // If an existing number is present, we use it to determine selectedCountry\n this.selectedCountry = this.getCountry(this._numberObject.country);\n } else {\n if (this.preferredCountryList.length) {\n this.selectedCountry = this.preferredCountryList[0];\n } else {\n this.selectedCountry = this.allCountryList[0];\n }\n }\n this.countryChanged.emit(this.selectedCountry);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.value) {\n this.writeValue(changes.value.currentValue);\n }\n }\n\n public phoneNumberChange(): void {\n try {\n this._numberObject = parsePhoneNumberFromString(\n this.phoneFormattedNational?.toString() || '',\n this.selectedCountry?.iso2.toUpperCase() as CountryCode,\n );\n this.formatAsYouTypeIfEnabled();\n this.value = this._numberObject?.number;\n if (this._numberObject && this._numberObject.isValid()) {\n if (this.phoneFormattedNational !== this.formattedPhoneNumber) {\n this.phoneFormattedNational = this.formattedPhoneNumber;\n }\n if (\n this.selectedCountry?.iso2 !== this._numberObject.country &&\n Boolean(this._numberObject.country)\n ) {\n this.selectedCountry = this.getCountry(this._numberObject.country);\n this.countryChanged.emit(this.selectedCountry);\n }\n }\n } catch (e) {\n // if no possible numbers are there,\n // then the full number is passed so that validator could be triggered and proper error could be shown\n this.value = this.phoneFormattedNational?.toString();\n }\n this.onChange(this.value);\n this._changeDetectorRef.markForCheck();\n }\n\n protected countrySelect(isoValue: string, el: HTMLElement): void {\n if (this.phoneFormattedNational) {\n this.phoneFormattedNational = this._numberObject?.nationalNumber;\n }\n this.selectedCountry = this.getCountry(isoValue);\n this.countryChanged.emit(this.selectedCountry);\n this.phoneNumberChange();\n this.trigger.close();\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n el.focus();\n }\n\n protected filteredItemsChange(menuItems): void {\n this.filteredCountryItems = menuItems;\n }\n\n public getCountry(code: string): Country {\n return (\n this.allCountryList.find((c) => c.iso2 === code.toLowerCase()) || {\n name: 'UN',\n iso2: 'UN',\n dialCode: '',\n priority: 0,\n areaCodes: undefined,\n flagClass: 'UN',\n placeHolder: '',\n }\n );\n }\n\n public buttonKeyPress(event: KeyboardEvent): void {\n if (this.trigger) {\n if (event.key === 'Escape') {\n this.trigger.close();\n }\n if (this.trigger.isOpen() && event.key === 'Tab') {\n this.trigger.close();\n }\n if (event.key === 'Enter') {\n this.trigger.open();\n }\n }\n }\n\n public inputKeyPress(event: KeyboardEvent): void {\n const allowedKeys = ['Backspace', 'Escape', 'ArrowLeft', 'ArrowRight', 'Meta', 'Tab'];\n const pattern = /[0-9+\\- ]/;\n if (!allowedKeys.includes(event.key) && !event.metaKey && !event.ctrlKey && !pattern.test(event.key)) {\n event.preventDefault();\n }\n if (this.trigger && this.trigger.isOpen() && event.key === 'Tab') {\n this.trigger.close();\n }\n }\n\n protected fetchCountryData(): void {\n CountryCodeData.forEach((c) => {\n const country: Country = {\n name: c[0].toString(),\n iso2: c[1].toString(),\n dialCode: c[2].toString(),\n priority: Number(c[3]) || 0,\n areaCodes: (c[4] as string[]) || undefined,\n flagClass: c[1].toString().toUpperCase(),\n placeHolder: '',\n };\n this.allCountryList.push(country);\n });\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabled = isDisabled;\n this._changeDetectorRef.markForCheck();\n }\n\n writeValue(value: any): void {\n if (value) {\n this._numberObject = parsePhoneNumberFromString(value);\n if (this._numberObject) {\n const countryCode = this._numberObject.country;\n this.phoneFormattedNational = this.formattedPhoneNumber;\n if (!countryCode) {\n return;\n }\n setTimeout(() => {\n this.selectedCountry = this.getCountry(countryCode);\n if (\n this.selectedCountry.dialCode &&\n !this.preferredCountries.includes(this.selectedCountry.iso2)\n ) {\n this.preferredCountryList.push(this.selectedCountry);\n }\n this.countryChanged.emit(this.selectedCountry);\n this._changeDetectorRef.markForCheck();\n }, 1);\n } else {\n this.phoneFormattedNational = value;\n }\n }\n this._changeDetectorRef.markForCheck();\n }\n\n private get formattedPhoneNumber(): string {\n if (!this._numberObject) {\n return this.phoneFormattedNational?.toString() || '';\n }\n switch (this.format) {\n case 'national':\n return this._numberObject.formatNational();\n case 'international':\n return this._numberObject.formatInternational();\n default:\n return this._numberObject.nationalNumber.toString();\n }\n }\n\n private formatAsYouTypeIfEnabled(): void {\n if (this.format === 'default') {\n return;\n }\n const asYouType: AsYouType = new AsYouType(\n this.selectedCountry?.iso2.toUpperCase() as CountryCode,\n );\n // To avoid caret positioning we apply formatting only if the caret is at the end:\n if (\n this.phoneFormattedNational\n ?.toString()\n .startsWith(this._previousFormattedNumber || '')\n ) {\n this.phoneFormattedNational = asYouType.input(this.phoneFormattedNational.toString());\n }\n this._previousFormattedNumber = this.phoneFormattedNational?.toString();\n }\n}\n","<div class=\"full-container\">\n <div [class]=\"['input-container', size, showCountrySelector?'country-selector':'no-country-selector']\">\n <button\n *ngIf=\"showCountrySelector\"\n (keydown)=\"buttonKeyPress($event)\"\n [cdkMenuTriggerFor]=\"countryMenu\"\n [cdkMenuPosition]=\"[{originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top', offsetY: 2, offsetX: -2}]\"\n [disabled]=\"disabled\">\n <div class=\"country-text\">\n <span class=\"indicator-wrapper\">\n <fw-icon>chevron-down</fw-icon>\n </span>\n <span class=\"country-selector-flag flag\" [ngClass]=\"selectedCountry?.flagClass.toLowerCase()\">\n </span>\n <span class=\"country-selector-code\" *ngIf=\"selectedCountry?.dialCode && format==='national'\">\n +{{ selectedCountry.dialCode }}\n </span>\n </div>\n </button>\n <ng-template #countryMenu>\n <fw-menu-container width=\"300px\" maxHeight=\"500px\" shadow=\"large\" [showFilter]=\"enableCountrySearch\">\n <fw-menu\n [value]=\"selectedCountryCode\" (change)=\"countrySelect($any($event), focusableInput)\"\n (filteredItemsChange)=\"filteredItemsChange($event)\">\n <ng-container *ngIf=\"!filteredCountryItems?.length\">\n <fw-menu-item\n *ngFor=\"let country of preferredCountryList\"\n [title]=\"country?.dialCode ? country.name+' +'+country.dialCode : country.name\"\n [value]=\"country.iso2\">\n <p class=\"icon-wrapper\">\n <span class=\"flag\" [ngClass]=\"country.flagClass.toLowerCase()\"></span>\n </p>\n </fw-menu-item>\n <fw-menu-separator></fw-menu-separator>\n </ng-container>\n <ng-container>\n <fw-menu-item\n *ngFor=\"let country of allCountryList\"\n [title]=\"country?.dialCode ? country.name+' +'+country.dialCode : country.name\"\n [value]=\"country.iso2\">\n <p class=\"icon-wrapper\">\n <span class=\"flag\" [ngClass]=\"country.flagClass.toLowerCase()\"></span>\n </p>\n </fw-menu-item>\n </ng-container>\n </fw-menu>\n </fw-menu-container>\n </ng-template>\n <input\n type=\"tel\"\n autocomplete=\"tel\"\n (click)=\"trigger.close()\"\n (blur)=\"onTouched()\"\n (keydown)=\"inputKeyPress($event)\"\n [(ngModel)]=\"phoneFormattedNational\"\n (ngModelChange)=\"phoneNumberChange()\"\n [placeholder]=\"placeholder || ''\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [maxLength]=\"15\"\n #focusableInput>\n <fw-icon class=\"error-icon\">warning-circle</fw-icon>\n <fw-icon *ngIf=\"!!rightIcon\">{{ rightIcon }}</fw-icon>\n <ng-content></ng-content>\n </div>\n <p class=\"helper-text\" *ngIf=\"!!helperText\">{{ helperText }}</p>\n <p class=\"error-text\" *ngIf=\"!!errorText\">{{ errorText }}</p>\n</div>\n","import { CdkMenuModule } from '@angular/cdk/menu';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { FwButtonModule } from '../button/button.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwMenuModule } from '../menu/menu.module';\nimport { FwPhoneInputComponent } from './phone-input.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CdkMenuModule,\n FwButtonModule,\n FwIconModule,\n FwMenuModule,\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n FwPhoneInputComponent,\n ],\n exports: [\n FwPhoneInputComponent,\n ],\n})\nexport class FwPhoneInputModule {\n}\n","import { Location } from '@angular/common';\nimport { Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\n\nimport { FwIconComponent } from '../../icon/icon.component';\n\n@Component({\n selector: 'fw-back-button',\n templateUrl: './back-button.component.html',\n styleUrls: ['./back-button.component.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [FwIconComponent],\n})\nexport class FwBackButtonComponent {\n @Input() backFunction?: () => {};\n @HostBinding('attr.class') class = 'fw-back-button';\n\n constructor(public location: Location) {\n }\n\n handleClick(): void {\n if (this.backFunction) {\n this.backFunction();\n } else {\n this.location.back();\n }\n }\n}\n","<button (click)=\"handleClick()\">\n <fw-icon>arrow-back</fw-icon>\n</button>\n","import { NgIf } from '@angular/common';\nimport { Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\n\nimport { FwIconComponent } from '../icon/icon.component';\nimport { IconType } from '../icon/icon.types';\nimport { FwBackButtonComponent } from './back-button/back-button.component';\n\n@Component({\n selector: 'fw-section-heading',\n templateUrl: './section-heading.component.html',\n styleUrls: ['./section-heading.component.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [\n NgIf,\n FwBackButtonComponent,\n FwIconComponent,\n ],\n})\nexport class FwSectionHeadingComponent {\n @HostBinding('attr.class') class = 'fw-section-heading';\n @Input() title: string;\n @Input() description?: string;\n @Input() backButton?: boolean = false;\n @Input() backFunction?: () => {};\n @Input() icon?: IconType;\n\n constructor() {\n }\n}\n","<div class=\"heading-area\">\n <fw-back-button *ngIf=\"backButton\" [backFunction]=\"backFunction\"></fw-back-button>\n <fw-icon *ngIf=\"icon\" class=\"heading-icon\">{{ icon }}</fw-icon>\n <ng-content select=\"fw-icon\"></ng-content>\n <div>\n <h2 class=\"vision-h2 section-heading\">{{ title }}\n <ng-content select=\"fw-chip\"></ng-content>\n </h2>\n <p *ngIf=\"description\" class=\"vision-p2\">{{ description }}</p>\n <ng-content select=\"p\"></ng-content>\n </div>\n</div>\n<div class=\"right-content\">\n <ng-content></ng-content>\n</div>\n","import { NgIf } from '@angular/common';\nimport { Component, Input } from '@angular/core';\n\nimport { FwIconComponent } from '../../icon/icon.component';\nimport { IconType } from '../../icon/icon.types';\n\n@Component({\n selector: 'fw-subsection-heading',\n templateUrl: './subsection-heading.component.html',\n styleUrls: ['./subsection-heading.component.scss'],\n imports: [NgIf, FwIconComponent],\n})\nexport class FwSubsectionHeadingComponent {\n @Input() title: string;\n @Input() icon?: IconType;\n\n constructor() {\n }\n\n}\n","<div class=\"heading-area\">\n <fw-icon *ngIf=\"icon\">{{ icon }}</fw-icon>\n <h3 class=\"vision-h3 subsection-heading\">{{ title }}</h3>\n</div>\n<div class=\"right-content\">\n <ng-content></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwButtonModule } from '../button/button.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwBackButtonComponent } from './back-button/back-button.component';\nimport { FwSectionHeadingComponent } from './section-heading.component';\nimport { FwSubsectionHeadingComponent } from './subsection-heading/subsection-heading.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwButtonModule,\n FwIconModule,\n FwBackButtonComponent,\n FwSectionHeadingComponent,\n FwSubsectionHeadingComponent,\n ],\n exports: [\n FwBackButtonComponent,\n FwSectionHeadingComponent,\n FwSubsectionHeadingComponent,\n ],\n})\nexport class FwSectionHeadingModule {\n}\n","export class FwSnackbarTimerService {\n private timerId: number;\n private now = 0;\n private remainingDuration = 0;\n private resolver: () => void;\n\n start(duration: number): Promise<void> {\n return new Promise<void>((resolve) => {\n this.remainingDuration = duration;\n this.resolver = resolve;\n this.continue();\n });\n }\n\n stop(): void {\n clearTimeout(this.timerId);\n this.remainingDuration = 0;\n }\n\n pause(): void {\n clearTimeout(this.timerId);\n this.remainingDuration =\n this.remainingDuration - new Date().getTime() - this.now;\n }\n\n continue(): void {\n this.now = new Date().getTime();\n this.timerId = window.setTimeout(() => {\n this.resolver();\n }, this.remainingDuration);\n }\n}\n","/* eslint-disable @rx-angular/no-explicit-change-detection-apis */\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n HostBinding,\n input,\n output,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { FwButtonComponent } from '../../button/button.component';\nimport { FwIconComponent } from '../../icon/icon.component';\nimport { IconType } from '../../icon/icon.types';\nimport { FwIconButtonComponent } from '../../icon-button/icon-button.component';\nimport { FwSnackbarMessage } from '../snackbar-message.model';\nimport { FwSnackbarTimerService } from '../snackbar-timer.service';\n\n@Component({\n selector: 'fw-snackbar',\n styleUrls: ['./snackbar.component.scss'],\n templateUrl: './snackbar.component.html',\n providers: [FwSnackbarTimerService],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n FwIconComponent,\n NgTemplateOutlet,\n FwButtonComponent,\n FwIconButtonComponent,\n ],\n})\n\nexport class FwSnackbarComponent implements AfterViewInit {\n message = input.required<FwSnackbarMessage>();\n messageDuration = input(9000);\n ready = output<FwSnackbarComponent>();\n dismiss = output<string>();\n action = output<string>();\n\n private defaultIcons: Record<FwSnackbarMessage['severity'], IconType> = {\n success: 'done-check-tracked',\n warning: 'warning-circle',\n error: 'warning',\n info: 'information-circle',\n };\n\n icon = computed(() => this.message().icon || this.defaultIcons[this.message().severity]);\n\n showClose = computed(() => {\n const msg = this.message();\n return msg.showClose !== undefined ? msg.showClose : msg.severity === 'error';\n });\n\n duration = computed(() => {\n const msg = this.message();\n if (msg.duration) {\n return msg.duration;\n }\n return msg.severity === 'error' ? 29000 : this.messageDuration();\n });\n\n color = computed<FwButtonComponent['color']>(() => {\n const severity = this.message().severity;\n const colors: Record<FwSnackbarMessage['severity'], FwButtonComponent['color']> = {\n success: 'success',\n warning: 'warning',\n error: 'danger',\n info: 'primary',\n }\n return colors[severity] || 'primary';\n });\n\n isTemplateRef = computed(() => this.message().message instanceof TemplateRef);\n\n @HostBinding('class') get cssClass(): string {\n const cssClass = 'fw-snackbar';\n const severity = this.message()?.severity;\n if (severity) {\n return cssClass + ' ' + this.color();\n } else {\n return cssClass;\n }\n }\n\n constructor(private cdr: ChangeDetectorRef, private timerService: FwSnackbarTimerService) {\n }\n\n ngAfterViewInit(): void {\n this.ready.emit(this);\n this.cdr.markForCheck();\n }\n\n startTimer(): void {\n this.timerService.start(this.duration()).then(() => {\n this.handleDismiss();\n this.cdr.markForCheck();\n });\n }\n\n stopTimer(): void {\n this.timerService.stop();\n this.cdr.markForCheck();\n }\n\n handleDismiss(): void {\n this.dismiss.emit(this.message().id);\n this.cdr.markForCheck();\n }\n\n handleAction(): void {\n const msg = this.message();\n this.action.emit(msg.id);\n if (msg.action) {\n msg.action();\n }\n this.cdr.markForCheck();\n }\n\n}\n","@if (message(); as msg) {\n @if (icon()) {\n <fw-icon>{{ icon() }}</fw-icon>\n }\n @if (isTemplateRef()) {\n <ng-container *ngTemplateOutlet=\"$any(msg.message); context: msg.templateContext\"></ng-container>\n } @else {\n @if (msg.message) {\n <h4 class=\"vision-h4\">{{ msg.message }}</h4>\n }\n }\n @if (msg.actionText) {\n <fw-button\n size=\"small\"\n variant=\"ghost\"\n [color]=\"color()\"\n (click)=\"handleAction()\"\n >\n {{ msg.actionText }}\n </fw-button>\n }\n @if (showClose()) {\n <fw-icon-button\n icon=\"close\"\n size=\"small\"\n [color]=\"msg.severity\"\n (click)=\"handleDismiss()\"\n ></fw-icon-button>\n }\n @if (!msg.actionText && !showClose()) {\n <div></div>\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { FwSnackbarMessage } from './snackbar-message.model';\n\nexport function genMessageId(): string {\n return String.prototype.padStart(24, Math.floor(Math.random() * Date.now()).toString(16));\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FwSnackbarService {\n readonly messages$ = new BehaviorSubject<FwSnackbarMessage[]>([]);\n private messageQueue: FwSnackbarMessage[] = [];\n\n show(message: FwSnackbarMessage): void {\n if (!message.id) {\n message.id = genMessageId();\n }\n\n this.messageQueue.push(message);\n this.messages$.next(this.messageQueue);\n }\n\n dismiss(messageId: string): void {\n this.messageQueue = this.messageQueue.filter((v) => v.id !== messageId);\n this.messages$.next(this.messageQueue);\n }\n\n dismissAll(): void {\n this.messageQueue = [];\n this.messages$.next(this.messageQueue);\n }\n}\n\n","import { NgFor,NgIf } from '@angular/common';\nimport {\n ChangeDetectorRef,\n Component,\n HostBinding,\n OnDestroy,\n ViewEncapsulation,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { FwButtonComponent } from '../../button/button.component';\nimport { FwSnackbarService } from '../snackbar.service';\nimport { FwSnackbarComponent } from '../snackbar/snackbar.component';\nimport { FwSnackbarMessage } from '../snackbar-message.model';\n\n@Component({\n selector: 'fw-snackbar-container',\n templateUrl: './snackbar-container.component.html',\n styleUrls: ['./snackbar-container.component.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [\n NgIf,\n FwButtonComponent,\n NgFor,\n FwSnackbarComponent,\n ],\n})\nexport class FwSnackbarContainerComponent implements OnDestroy {\n @HostBinding('attr.class') get classes(): string {\n return 'fw-snackbar-container';\n };\n\n limit = 10;\n messages: FwSnackbarMessage[] = [];\n\n private subscriptions = {\n messages: Subscription.EMPTY,\n };\n\n constructor(private cdr: ChangeDetectorRef, private snackbarService: FwSnackbarService) {\n this.subscriptions.messages = this.snackbarService.messages$.subscribe((messages: FwSnackbarMessage[]) => {\n this.messages = messages;\n // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis\n this.cdr.markForCheck();\n });\n }\n\n ngOnDestroy(): void {\n for (const subscription of Object.values(this.subscriptions)) {\n subscription.unsubscribe();\n }\n }\n\n onReady(snackbar: FwSnackbarComponent): void {\n const currentMessage = this.messages[this.messages.length - 1];\n currentMessage.ref = snackbar;\n snackbar.startTimer();\n }\n\n onDismiss(messageId: string): void {\n const message = this.messages.find(currentMessage => currentMessage.id === messageId);\n if (message?.ref) {\n message.ref.stopTimer();\n }\n if (message?.id) {\n this.snackbarService.dismiss(message.id);\n }\n // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis\n this.cdr.markForCheck();\n }\n\n clearAll(): void {\n this.snackbarService.dismissAll();\n // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis\n this.cdr.markForCheck();\n }\n}\n","<div role=\"list\">\n <div class=\"buttons\">\n <fw-button\n *ngIf=\"messages.length > 0\" (click)=\"clearAll()\"\n class=\"clear-all\" aria-label=\"clear all\"\n color=\"slate\" size=\"small\" variant=\"ghost\">\n Clear All\n </fw-button>\n </div>\n <fw-snackbar\n *ngFor=\"let message of messages; index as $index\"\n (ready)=\"onReady($event)\"\n (dismiss)=\"onDismiss($event)\"\n [message]=\"message\"\n [attr.aria-label]=\"message.message\"\n role=\"listitem\"\n ></fw-snackbar>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwButtonModule } from '../button/button.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwIconButtonModule } from '../icon-button/icon-button.module';\nimport { FwSnackbarComponent } from './snackbar/snackbar.component';\nimport { FwSnackbarContainerComponent } from './snackbar-container/snackbar-container.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwButtonModule,\n FwIconButtonModule,\n FwIconModule,\n FwSnackbarComponent,\n FwSnackbarContainerComponent,\n ],\n exports: [\n FwSnackbarComponent,\n FwSnackbarContainerComponent,\n ],\n})\nexport class FwSnackbarModule {\n}\n","import { NgClass, NgIf } from '@angular/common';\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\n\nimport { FwIconComponent } from '../icon/icon.component';\nimport { IconType } from '../icon/icon.types';\n\n@Component({\n selector: 'fw-step',\n templateUrl: './step.component.html',\n styleUrls: ['./step.component.scss'],\n imports: [\n NgClass,\n NgIf,\n FwIconComponent,\n ],\n})\nexport class FwStepComponent implements OnChanges {\n @Input() stepNumber: number;\n @Input() color?: 'slate' | 'success' | 'error' | 'warning' | 'info' = 'slate';\n @Input() variant?: 'number' | 'icon' | 'decorator' = 'number';\n @Input() alignment?: 'left' | 'center' = 'left';\n @Input() backgroundColor?: string = 'var(--card-background)';\n @Input() title: string;\n @Input() description?: string;\n @Input() icon?: IconType;\n @Input() disabled?: boolean;\n @Input() active?: boolean;\n @Input() completed?: boolean;\n @Input() done?: boolean;\n @Input() status?: 'default' | 'active' | 'completed' | 'done' | 'disabled' | 'error' | 'warning' | 'info';\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() select: EventEmitter<number> = new EventEmitter<number>();\n\n handleClick(): void {\n if (this.completed && !this.done && !this.disabled) {\n this.select.emit(this.stepNumber);\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.status) {\n this.active = false;\n this.disabled = false;\n this.completed = false;\n this.done = false;\n this.color = 'slate';\n switch (changes.status.currentValue) {\n case 'active':\n this.active = true;\n break;\n case 'completed':\n this.completed = true;\n break;\n case 'done':\n this.done = true;\n break;\n case 'disabled':\n this.disabled = true;\n break;\n case 'error':\n this.color = 'error';\n break;\n case 'warning':\n this.color = 'warning';\n break;\n case 'info':\n this.color = 'info';\n break;\n case 'default':\n default:\n // handled in init\n break;\n }\n }\n if (changes.active && changes.active.previousValue === false) {\n this.status = 'active';\n }\n if (changes.completed && changes.completed.previousValue === false) {\n this.status = 'completed';\n }\n if (changes.done && changes.done.previousValue === false) {\n this.status = 'done';\n }\n if (changes.disabled && changes.disabled.previousValue === false) {\n this.status = 'disabled';\n }\n if (this.color === 'slate' && !this.active && !this.completed && !this.done && !this.disabled) {\n this.status = 'default';\n }\n }\n}\n\n@Component({\n selector: 'fw-step-decorator',\n template: '<ng-content></ng-content>',\n styleUrls: [],\n})\nexport class FwStepDecoratorComponent {\n}\n","<div\n [ngClass]=\"['step-wrapper', 'step-color-'+color, 'step-alignment-'+alignment]\"\n [class.disabled]=\"disabled\"\n [class.active]=\"active\"\n [class.completed]=\"completed\"\n [class.done]=\"done\"\n (click)=\"handleClick()\">\n <div class=\"step-connector\"></div>\n <div class=\"step-content\" [style]=\"{backgroundColor: backgroundColor}\">\n <div\n class=\"step-decorator-wrapper\"\n [style]=\"{outlineColor: backgroundColor, backgroundColor: backgroundColor}\">\n <div *ngIf=\"done; else notDone\" class=\"step-done\" [style]=\"{outlineColor: backgroundColor}\">\n <fw-icon size=\"small\">done-check</fw-icon>\n </div>\n </div>\n <ng-template #notDone>\n <div *ngIf=\"variant==='number'\" class=\"step-number\">\n <h5 class=\"vision-h5\">{{ stepNumber }}</h5>\n </div>\n <div *ngIf=\"variant==='icon'\" class=\"step-icon\">\n <fw-icon size=\"small\">{{ icon }}</fw-icon>\n </div>\n <div *ngIf=\"variant==='decorator'\" class=\"step-decorator\">\n <ng-content select=\"fw-step-decorator\"></ng-content>\n </div>\n </ng-template>\n <div class=\"step-text\">\n <h4 class=\"vision-h4\">{{ title }}</h4>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n </div>\n</div>\n","import {\n AfterContentInit,\n Component,\n ContentChildren,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n QueryList,\n SimpleChanges,\n} from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\nimport { Subscription } from 'rxjs';\n\nimport { FwStepComponent } from './step.component';\n\n@Component({\n selector: 'fw-stepper',\n template: '<ng-content select=\"fw-step\"></ng-content>',\n styleUrls: [],\n})\nexport class FwStepperComponent implements OnChanges, OnDestroy, AfterContentInit {\n @Input() activeStep: number = 1;\n @Input() doneStep?: number;\n @Input() alignment?: 'left' | 'center' = 'left';\n @Input() backgroundColor?: string = 'var(--card-background)';\n @Output() stepChange: EventEmitter<number> = new EventEmitter<number>();\n @ContentChildren(FwStepComponent) steps: QueryList<FwStepComponent>;\n\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n display: flex;\n background-color: ${this.backgroundColor};\n `);\n }\n\n private subscriptions: Subscription[] = [];\n\n constructor(private sanitizer: DomSanitizer) {\n }\n\n ngOnDestroy(): void {\n for (const subscription of this.subscriptions) {\n subscription.unsubscribe();\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes) {\n this.updateSteps();\n }\n }\n\n ngAfterContentInit(): void {\n this.steps.forEach(step => {\n const sub = step.select.subscribe(step => this.handleSelect(step));\n this.subscriptions.push(sub);\n });\n this.updateSteps();\n }\n\n handleSelect(step?: number): void {\n this.activeStep = step;\n this.stepChange.emit(parseInt(step.toString())); // weirdly passing out step directly fails the eqeqeq\n this.updateSteps();\n }\n\n updateSteps(): void {\n if (this.steps && this.steps.length > 0) {\n this.steps.forEach(step => {\n if (step.stepNumber < this.activeStep) {\n step.completed = true;\n step.active = false;\n step.done = false;\n step.backgroundColor = this.backgroundColor;\n step.alignment = this.alignment;\n }\n if (step.stepNumber.toString() === this.activeStep.toString()) {\n step.completed = false;\n step.active = true;\n step.done = false;\n step.backgroundColor = this.backgroundColor;\n step.alignment = this.alignment;\n }\n if (step.stepNumber > this.activeStep) {\n step.completed = false;\n step.active = false;\n step.done = false;\n step.backgroundColor = this.backgroundColor;\n step.alignment = this.alignment;\n }\n if (Boolean(this.doneStep) && step.stepNumber <= this.doneStep) {\n step.done = true;\n }\n });\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwIconButtonModule } from '../icon-button/icon-button.module';\nimport { FwStepComponent, FwStepDecoratorComponent } from './step.component';\nimport { FwStepperComponent } from './stepper.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n FwIconButtonModule,\n FwStepComponent,\n FwStepDecoratorComponent,\n FwStepperComponent,\n ],\n exports: [\n FwStepComponent,\n FwStepDecoratorComponent,\n FwStepperComponent,\n ],\n})\nexport class FwStepperModule {\n}\n","/* eslint @angular-eslint/directive-class-suffix: 0 */\n/* eslint @angular-eslint/directive-selector: 0 */\n\nimport {\n CdkCell,\n CdkCellDef,\n CdkColumnDef,\n CdkFooterCell,\n CdkFooterCellDef,\n CdkHeaderCell,\n CdkHeaderCellDef,\n} from '@angular/cdk/table';\nimport { Directive, HostBinding, Input } from '@angular/core';\n\n/**\n * Cell definition for the fw-table.\n * Captures the template of a column's data row cell as well as cell-specific properties.\n */\n@Directive({\n selector: '[fwCellDef]',\n providers: [{ provide: CdkCellDef, useExisting: FwCellDef }],\n})\nexport class FwCellDef extends CdkCellDef {\n}\n\n/**\n * Header cell definition for the fw-table.\n * Captures the template of a column's header cell and as well as cell-specific properties.\n */\n@Directive({\n selector: '[fwHeaderCellDef]',\n providers: [{ provide: CdkHeaderCellDef, useExisting: FwHeaderCellDef }],\n})\nexport class FwHeaderCellDef extends CdkHeaderCellDef {\n}\n\n/**\n * Footer cell definition for the fw-table.\n * Captures the template of a column's footer cell and as well as cell-specific properties.\n */\n@Directive({\n selector: '[fwFooterCellDef]',\n providers: [{ provide: CdkFooterCellDef, useExisting: FwFooterCellDef }],\n})\nexport class FwFooterCellDef extends CdkFooterCellDef {\n}\n\n/**\n * Column definition for the fw-table.\n * Defines a set of cells available for a table column.\n */\n@Directive({\n selector: '[fwColumnDef]',\n providers: [\n { provide: CdkColumnDef, useExisting: FwColumnDef },\n ],\n})\nexport class FwColumnDef extends CdkColumnDef {\n /** Unique name for this column. */\n @Input('fwColumnDef')\n override get name(): string {\n return this._name;\n }\n\n override set name(name: string) {\n this._setNameInput(name);\n }\n\n /**\n * Add \"fw-column-\" prefix in addition to \"cdk-column-\" prefix.\n * In the future, this will only add \"fw-column-\" and columnCssClassName\n * will change from type string[] to string.\n * @docs-private\n */\n protected override _updateColumnCssClassName(): void {\n super._updateColumnCssClassName();\n this._columnCssClassName!.push(`fw-column-${this.cssClassFriendlyName}`);\n }\n}\n\n/** Header cell template container that adds the right classes and role. */\n@Directive({\n selector: 'fw-header-cell, th[fw-header-cell]',\n})\nexport class FwHeaderCell extends CdkHeaderCell {\n @HostBinding() class: string = 'fw-header-cell';\n @HostBinding() role: string = 'columnheader';\n}\n\n/** Footer cell template container that adds the right classes and role. */\n@Directive({\n selector: 'fw-footer-cell, td[fw-footer-cell]',\n})\nexport class FwFooterCell extends CdkFooterCell {\n @HostBinding() class: string = 'fw-footer-cell';\n}\n\n/** Cell template container that adds the right classes and role. */\n@Directive({\n selector: 'fw-cell, td[fw-cell]',\n})\nexport class FwCell extends CdkCell {\n @HostBinding() class: string = 'fw-cell';\n}\n","/* eslint @angular-eslint/directive-class-suffix: 0 */\n/* eslint @angular-eslint/directive-selector: 0 */\n/* eslint @angular-eslint/component-class-suffix:0 */\n\nimport { CdkCellOutlet,CdkFooterRow, CdkFooterRowDef, CdkHeaderRow, CdkHeaderRowDef, CdkNoDataRow, CdkRow, CdkRowDef } from '@angular/cdk/table';\nimport { ChangeDetectionStrategy, Component, Directive, HostBinding, Input, ViewEncapsulation } from '@angular/core';\n\nconst ROW_TEMPLATE = '<ng-container cdkCellOutlet></ng-container>';\n\n/**\n * Header row definition for the fw-table.\n * Captures the header row's template and other header properties such as the columns to display.\n */\n@Directive({\n selector: '[fwHeaderRowDef]',\n providers: [{ provide: CdkHeaderRowDef, useExisting: FwHeaderRowDef }],\n})\nexport class FwHeaderRowDef extends CdkHeaderRowDef {\n @Input('fwHeaderRowDef') override columns: string[];\n\n @Input('fwHeaderRowDefSticky')\n set stickyInput(value: boolean) {\n this.sticky = value;\n }\n}\n\n/**\n * Footer row definition for the fw-table.\n * Captures the footer row's template and other footer properties such as the columns to display.\n */\n@Directive({\n selector: '[fwFooterRowDef]',\n providers: [{ provide: CdkFooterRowDef, useExisting: FwFooterRowDef }],\n})\nexport class FwFooterRowDef extends CdkFooterRowDef {\n @Input('fwFooterRowDef') override columns: string[];\n\n @Input('fwFooterRowDefSticky')\n set stickyInput(value: boolean) {\n this.sticky = value;\n }\n}\n\n/**\n * Data row definition for the fw-table.\n * Captures the data row's template and other properties such as the columns to display and\n * a when predicate that describes when this row should be used.\n */\n@Directive({\n selector: '[fwRowDef]',\n providers: [{ provide: CdkRowDef, useExisting: FwRowDef }],\n})\nexport class FwRowDef<T> extends CdkRowDef<T> {\n @Input('fwRowDefColumns') columns: string[];\n @Input('fwRowDefWhen') when: (index: number, rowData: T) => boolean;\n}\n\n/** Header template container that contains the cell outlet. Adds the right class and role. */\n@Component({\n selector: 'fw-header-row, tr[fw-header-row]',\n template: ROW_TEMPLATE,\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'fwHeaderRow',\n providers: [{ provide: CdkHeaderRow, useExisting: FwHeaderRow }],\n imports: [CdkCellOutlet],\n})\nexport class FwHeaderRow extends CdkHeaderRow {\n @HostBinding() class = 'fw-header-row';\n @HostBinding() role = 'row';\n}\n\n/** Footer template container that contains the cell outlet. Adds the right class and role. */\n@Component({\n selector: 'fw-footer-row, tr[fw-footer-row]',\n template: ROW_TEMPLATE,\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'fwFooterRow',\n providers: [{ provide: CdkFooterRow, useExisting: FwFooterRow }],\n imports: [CdkCellOutlet],\n})\nexport class FwFooterRow extends CdkFooterRow {\n @HostBinding() class = 'fw-footer-row';\n @HostBinding() role = 'row';\n}\n\n/** Data row template container that contains the cell outlet. Adds the right class and role. */\n@Component({\n selector: 'fw-row, tr[fw-row]',\n template: ROW_TEMPLATE,\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'fwRow',\n providers: [{ provide: CdkRow, useExisting: FwRow }],\n imports: [CdkCellOutlet],\n})\nexport class FwRow extends CdkRow {\n @HostBinding() class = 'fw-row';\n @HostBinding() role = 'row';\n}\n\n/** Row that can be used to display a message when no data is shown in the table. */\n@Directive({\n selector: 'ng-template[fwNoDataRow]',\n providers: [{ provide: CdkNoDataRow, useExisting: FwNoDataRow }],\n})\nexport class FwNoDataRow extends CdkNoDataRow {\n override _contentClassName = 'fw-no-data-row';\n}\n","import { _DisposeViewRepeaterStrategy, _VIEW_REPEATER_STRATEGY } from '@angular/cdk/collections';\nimport { _COALESCED_STYLE_SCHEDULER, _CoalescedStyleScheduler, CDK_TABLE, CdkTable, DataRowOutlet, FooterRowOutlet,HeaderRowOutlet, NoDataRowOutlet, STICKY_POSITIONING_LISTENER } from '@angular/cdk/table';\nimport { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fw-table, table[fw-table]',\n exportAs: 'fwTable',\n templateUrl: 'table.component.html',\n styleUrls: ['table.component.scss'],\n providers: [\n { provide: CdkTable, useExisting: FwTableComponent },\n { provide: CDK_TABLE, useExisting: FwTableComponent },\n { provide: _COALESCED_STYLE_SCHEDULER, useClass: _CoalescedStyleScheduler },\n { provide: _VIEW_REPEATER_STRATEGY, useClass: _DisposeViewRepeaterStrategy },\n // Prevent nested tables from seeing this table's StickyPositioningListener.\n { provide: STICKY_POSITIONING_LISTENER, useValue: null },\n ],\n encapsulation: ViewEncapsulation.None,\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n imports: [\n HeaderRowOutlet,\n DataRowOutlet,\n NoDataRowOutlet,\n FooterRowOutlet,\n ],\n})\nexport class FwTableComponent<T> extends CdkTable<T> {\n @HostBinding() class: string = ['fw-table', this.fixedLayout ? 'fixedLayout' : ''].join(' ');\n /** Overrides the sticky CSS class set by the `CdkTable`. */\n protected override stickyCssClass = 'fw-table-sticky';\n\n /** Overrides the need to add position: sticky on every sticky cell element in `CdkTable`. */\n protected override needsPositionStickyOnElement = false;\n}\n","<ng-container headerRowOutlet></ng-container>\n<ng-container rowOutlet></ng-container>\n<ng-container noDataRowOutlet></ng-container>\n<ng-container footerRowOutlet></ng-container>\n","import { _DisposeViewRepeaterStrategy, _VIEW_REPEATER_STRATEGY } from '@angular/cdk/collections';\nimport { _COALESCED_STYLE_SCHEDULER, _CoalescedStyleScheduler, CDK_TABLE, CdkTable, DataRowOutlet, FooterRowOutlet,HeaderRowOutlet, NoDataRowOutlet, STICKY_POSITIONING_LISTENER } from '@angular/cdk/table';\nimport { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fw-table-dense, table[fw-table-dense]',\n exportAs: 'fwTableDense',\n templateUrl: 'table.component.html',\n styleUrls: ['table-dense.component.scss'],\n providers: [\n { provide: CdkTable, useExisting: FwTableDenseComponent },\n { provide: CDK_TABLE, useExisting: FwTableDenseComponent },\n { provide: _COALESCED_STYLE_SCHEDULER, useClass: _CoalescedStyleScheduler },\n { provide: _VIEW_REPEATER_STRATEGY, useClass: _DisposeViewRepeaterStrategy },\n // Prevent nested tables from seeing this table's StickyPositioningListener.\n { provide: STICKY_POSITIONING_LISTENER, useValue: null },\n ],\n encapsulation: ViewEncapsulation.None,\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n imports: [\n HeaderRowOutlet,\n DataRowOutlet,\n NoDataRowOutlet,\n FooterRowOutlet,\n ],\n})\nexport class FwTableDenseComponent<T> extends CdkTable<T> {\n @HostBinding() class: string = ['fw-table-dense', this.fixedLayout ? 'fixedLayout' : ''].join(' ');\n /** Overrides the sticky CSS class set by the `CdkTable`. */\n protected override stickyCssClass = 'fw-table-sticky';\n\n /** Overrides the need to add position: sticky on every sticky cell element in `CdkTable`. */\n protected override needsPositionStickyOnElement = false;\n}\n","import { CdkTableModule } from '@angular/cdk/table';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwCell, FwCellDef, FwColumnDef, FwFooterCell, FwFooterCellDef, FwHeaderCell, FwHeaderCellDef } from './cell';\nimport { FwFooterRow, FwFooterRowDef, FwHeaderRow, FwHeaderRowDef, FwNoDataRow, FwRow, FwRowDef } from './row';\nimport { FwTableComponent } from './table.component';\nimport { FwTableDenseComponent } from './table-dense.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CdkTableModule,\n CommonModule,\n FwCell,\n FwCellDef,\n FwColumnDef,\n FwFooterCell,\n FwFooterCellDef,\n FwHeaderCell,\n FwHeaderCellDef,\n FwTableComponent,\n FwTableDenseComponent,\n FwRow,\n FwRowDef,\n FwFooterRow,\n FwFooterRowDef,\n FwHeaderRow,\n FwHeaderRowDef,\n FwNoDataRow,\n ],\n exports: [\n FwCell,\n FwCellDef,\n FwColumnDef,\n FwFooterCell,\n FwFooterCellDef,\n FwFooterRow,\n FwFooterRowDef,\n FwHeaderCell,\n FwHeaderCellDef,\n FwHeaderRow,\n FwHeaderRowDef,\n FwNoDataRow,\n FwRow,\n FwRowDef,\n FwTableComponent,\n FwTableDenseComponent,\n ],\n})\nexport class FwTableModule {\n}\n","import { NgIf } from '@angular/common';\nimport { Component, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';\n\nimport { IconType } from '../../../components/icon/icon.types';\nimport { FwIconComponent } from '../../icon/icon.component';\nimport { FwTabPanelComponent } from '../tab-panel/tab-panel.component';\n\n@Component({\n selector: 'fw-tab',\n templateUrl: './tab.component.html',\n styleUrls: ['./tab.component.scss'],\n imports: [NgIf, FwIconComponent],\n})\nexport class FwTabComponent {\n @Input() title: string;\n @Input() panel?: FwTabPanelComponent;\n @Input() color: 'primary' | 'secondary' = 'primary';\n @Input() icon?: IconType;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() select: EventEmitter<FwTabComponent> = new EventEmitter<FwTabComponent>();\n @HostBinding('class.active') @Input() active: boolean = false;\n @HostBinding('class.disabled') @Input() disabled: boolean = false;\n @HostBinding('role') role = 'button';\n @HostBinding('tabindex') @Input() tabindex = '';\n\n @HostBinding('class') get cssClass(): string {\n return ['fw-tab', this.color].join(' ');\n }\n\n @HostListener('click') onClick(): void {\n this.handleSelect();\n }\n\n @HostListener('window:keyup', ['$event']) keyEvent(event: KeyboardEvent): void {\n if (event.key === 'Enter' && event.target['attributes']?.['label']?.['nodeValue'] === this.title) {\n this.handleSelect();\n }\n }\n\n handleSelect(): void {\n if (!this.disabled) {\n this.active = true;\n if (this.panel) {\n this.panel.active = true;\n }\n this.select.emit(this);\n }\n }\n\n}\n","<fw-icon *ngIf=\"icon\" size=\"medium\">{{ icon }}</fw-icon>\n<h4 class=\"vision-h4\">{{ title }}</h4>\n<ng-content select=\"fw-badge\"></ng-content>\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'fw-tab-panel',\n templateUrl: './tab-panel.component.html',\n styleUrls: ['./tab-panel.component.scss'],\n})\nexport class FwTabPanelComponent {\n @HostBinding('class.active') @Input() active: boolean = false;\n\n}\n","<ng-content></ng-content>\n","import {\n AfterContentInit,\n Component,\n ContentChildren,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n Output,\n QueryList,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { FwTabComponent } from './tab/tab.component';\n\n@Component({\n selector: 'fw-tabs',\n templateUrl: './tabs.component.html',\n styleUrls: ['./tabs.component.scss'],\n})\nexport class FwTabsComponent implements AfterContentInit, OnDestroy {\n @Input() activeTabIndex: number;\n @Input() activeTab?: FwTabComponent;\n @Input() bordered?: boolean = false;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() select: EventEmitter<FwTabComponent> = new EventEmitter<FwTabComponent>();\n @ContentChildren(FwTabComponent) tabs: QueryList<FwTabComponent>;\n\n @HostBinding('class') get cssClass(): string {\n return ['fw-tabs', this.bordered ? 'bordered' : ''].join(' ');\n }\n\n private subscriptions: Array<Subscription> = [];\n\n ngOnDestroy(): void {\n for (const subscription of this.subscriptions) {\n subscription.unsubscribe();\n }\n }\n\n ngAfterContentInit(): void {\n if (this.activeTabIndex <= this.tabs.length) {\n this.activeTab = this.tabs.get(this.activeTabIndex);\n this.activeTab.active = true;\n if (this.activeTab.panel) {\n this.activeTab.panel.active = true;\n }\n }\n this.tabs.forEach(tab => {\n const sub = tab.select.subscribe(selected => this.handleTabChange(selected));\n this.subscriptions.push(sub);\n });\n }\n\n handleTabChange(tab: FwTabComponent): void {\n this.activeTab = tab;\n this.tabs.forEach((t, index) => {\n if (t !== tab) {\n t.active = false;\n if (t.panel) {\n t.panel.active = false;\n }\n } else {\n this.activeTabIndex = index;\n }\n });\n this.select.emit(tab);\n }\n}\n","<ng-content select=\"fw-tab\"></ng-content>\n<ng-content></ng-content>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwTabComponent } from './tab/tab.component';\nimport { FwTabPanelComponent } from './tab-panel/tab-panel.component';\nimport { FwTabsComponent } from './tabs.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n FwTabComponent,\n FwTabPanelComponent,\n FwTabsComponent,\n ],\n exports: [\n FwTabComponent,\n FwTabPanelComponent,\n FwTabsComponent,\n ],\n})\nexport class FwTabsModule {\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, input } from '@angular/core';\n\n\n@Component({\n selector: 'fw-text',\n template: '<ng-content></ng-content>',\n styleUrls: ['./text.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [],\n})\nexport class FwTextComponent {\n variant = input<'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p1' | 'p2' | 'p3' | 'p4' | 'p5' | 'body'>('body');\n align? = input<'inherit' | 'left' | 'center' | 'right' | 'justify'>('inherit');\n display? = input<'initial' | 'flex' | 'block' | 'inline' | 'grow'>('block');\n color? = input<'inherit' | 'base' | 'contrast' | 'disabled' | 'light' | 'muted'>();\n margin? = input<boolean>(false);\n overflow? = input<boolean>(true);\n\n @HostBinding('attr.class') get classes(): string {\n const classes = ['fw-text', `text-${this.variant()}`];\n classes.push(`vision-${this.variant()}`);\n classes.push(`text-align-${this.align()}`);\n classes.push(`text-display-${this.display()}`);\n if (this.color()) {\n classes.push(`text-color-${this.color()}`);\n }\n if (this.margin()) {\n classes.push('text-margin');\n }\n if (!this.overflow()) {\n classes.push('text-no-overflow');\n }\n return classes.join(' ');\n };\n}\n","import { CdkTextareaAutosize } from '@angular/cdk/text-field';\nimport { NgIf,NgStyle } from '@angular/common';\nimport { Component, HostBinding, Input, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { min } from 'rxjs';\n\nimport { FwIconComponent } from '../icon/icon.component';\n\n@Component({\n selector: 'fw-textarea-input',\n templateUrl: './textarea-input.component.html',\n styleUrls: ['./textarea-input.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: FwTextAreaInputComponent,\n multi: true,\n }],\n imports: [\n NgStyle,\n CdkTextareaAutosize,\n FwIconComponent,\n NgIf,\n ],\n})\nexport class FwTextAreaInputComponent implements ControlValueAccessor {\n\n @Input() minRows: number = 2;\n @Input() maxRows: number = 15;\n @Input() disabled?: boolean = false;\n /**\n * @deprecated please use fw-wrapped-input instead\n */\n @Input() helperText?: string;\n /**\n * @deprecated please use fw-wrapped-input instead\n */\n @Input() errorText?: string;\n @Input() placeholder?: string;\n @Input() readOnly?: boolean;\n @Input() autofocus?: string;\n @Input() width?: string;\n // we bind this to host because that's where angular form apis put the error classes\n @HostBinding('class.errored') @Input() error?: boolean = false;\n @ViewChild(CdkTextareaAutosize) autosize!: CdkTextareaAutosize;\n\n @Input() value = '';\n externalControl: FormControl = null;\n\n public onTouch = (): void => {\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public onChange = (value: string): void => {\n };\n\n writeValue(obj: string): void {\n this.value = obj;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n changeHandler(event: KeyboardEvent): void {\n this.value = (event.target as HTMLInputElement).value;\n this.onChange(this.value);\n this.onTouch();\n\n setTimeout(() => {\n if (this.autosize) {\n this.autosize.resizeToFitContent(true);\n }\n });\n }\n\n blurHandler(): void {\n this.onTouch();\n }\n\n protected readonly min = min;\n}\n","<div class=\"textarea-wrapper\" [ngStyle]=\"{width: width}\">\n <textarea\n test-id=\"textarea\"\n cdkTextareaAutosize\n #autosize=\"cdkTextareaAutosize\"\n [cdkAutosizeMinRows]=\"minRows\"\n [cdkAutosizeMaxRows]=\"maxRows\"\n (keyup)=\"changeHandler($event)\"\n (blur)=\"blurHandler()\"\n [placeholder]=\"placeholder || ''\"\n [value]=\"value\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [autofocus]=\"autofocus\">\n </textarea>\n <fw-icon class=\"error-icon\">warning-circle</fw-icon>\n</div>\n<p class=\"vision-p4 helper-text\" *ngIf=\"!!helperText\">{{ helperText }}</p>\n<p class=\"vision-p4 error-text\" *ngIf=\"!!errorText\">{{ errorText }}</p>\n","import { TextFieldModule } from '@angular/cdk/text-field';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwTextAreaInputComponent } from './textarea-input.component';\n\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n TextFieldModule,\n FwIconModule,\n FwTextAreaInputComponent,\n ],\n exports: [\n FwTextAreaInputComponent,\n ],\n})\nexport class FwTextAreaInputModule {\n}\n","import {\n ChangeDetectorRef,\n Component,\n computed,\n contentChildren,\n effect,\n ElementRef,\n inject,\n input,\n OnDestroy,\n OnInit,\n signal,\n viewChild,\n} from '@angular/core';\nimport { BehaviorSubject, debounce, distinctUntilChanged, timer } from 'rxjs';\n\nimport { FwChipComponent } from '../chip/chip.component';\nimport { FwChipModule } from '../chip/chip.module';\nimport { FwTooltipModule } from '../tooltip/tooltip.module';\n\n// the nature of this component is to handle a complex layout issue so disabling this lint rule\n/* eslint-disable @rx-angular/prefer-no-layout-sensitive-apis */\n\n@Component({\n selector: 'fw-chip-list',\n imports: [\n FwChipModule,\n FwTooltipModule,\n ],\n templateUrl: './chip-list.component.html',\n styleUrl: './chip-list.component.scss',\n})\nexport class FwChipListComponent implements OnInit, OnDestroy {\n changeDetector = inject(ChangeDetectorRef);\n hostElement = inject(ElementRef);\n childChipElementRefs = contentChildren<FwChipComponent, ElementRef>(FwChipComponent, { read: ElementRef });\n moreText = viewChild<ElementRef<HTMLParagraphElement>>('moreText');\n\n subscriptions = [];\n\n hiddenElementCount = signal(0);\n hiddenChips = signal<HTMLElement[]>([]);\n hiddenLabels = computed(() => {\n return this.hiddenChips().map(chip => {\n // this relies on the dom shape of the chip, might be fragile\n const contentSpan = chip.querySelector('span');\n return contentSpan.innerText;\n }).join(', ');\n });\n\n resizeDebounceMs = input(100);\n disableOverflow = input(false);\n\n childrenChanged = effect(() => {\n this.childChipElementRefs();\n this.calcChipOverflow();\n });\n\n resizeObserver = new ResizeObserver(() => {\n this.calcChipOverflow();\n });\n\n ngOnInit(): void {\n // wire up resize observer to rxjs and debouce\n const resize$ = new BehaviorSubject<ResizeObserverEntry[]>([]);\n const recalcOnResize$ = resize$.pipe(\n debounce(() => timer(this.resizeDebounceMs())), // debounce otherwise it can run EVERY frame\n distinctUntilChanged(),\n );\n\n const resizeObserver = new ResizeObserver((resizeEntries) => {\n resize$.next(resizeEntries);\n })\n resizeObserver.observe(this.hostElement.nativeElement, { });\n const sub = recalcOnResize$.subscribe(() => this.calcChipOverflow());\n this.subscriptions.push(sub);\n }\n\n calcChipOverflow(): void {\n if (this.disableOverflow()) {\n return;\n }\n\n const moreTextRef = this.moreText();\n if (!moreTextRef) {\n return;\n }\n\n const hostRect = (this.hostElement.nativeElement as HTMLElement).getBoundingClientRect();\n const chipElements = this.childChipElementRefs().map(ref => ref.nativeElement as HTMLElement);\n const moreTextElement = moreTextRef.nativeElement;\n\n chipElements.forEach(chip => chip.classList.remove('hidden'));\n moreTextElement.classList.remove('hidden');\n\n const visibleChips = chipElements.filter(chip => {\n const chipRect = chip.getBoundingClientRect();\n return !(chipRect.right > hostRect.right || chipRect.bottom > hostRect.bottom);\n });\n\n const overflowChips = chipElements.toSpliced(0, visibleChips.length);\n\n if (overflowChips.length > 0) {\n const lastVisibleChip = visibleChips[visibleChips.length - 1];\n const enoughRoomForMoreText = (hostRect.right - lastVisibleChip.getBoundingClientRect().right) > (moreTextElement.offsetWidth);\n\n if (!enoughRoomForMoreText) {\n overflowChips.push(lastVisibleChip);\n }\n\n this.hiddenChips.set(overflowChips);\n overflowChips.forEach(hiddenChip => {\n hiddenChip.classList.add('hidden');\n });\n } else {\n moreTextElement.classList.add('hidden');\n }\n\n // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis\n this.changeDetector.detectChanges();\n }\n ngOnDestroy(): void {\n this.subscriptions.forEach(sub => sub.unsubscribe());\n }\n}\n","<ng-content></ng-content>\n@if(!disableOverflow()) {\n <fw-tooltip [title]=\"hiddenLabels()\">\n <p #moreText> +{{hiddenChips().length}} more </p>\n </fw-tooltip>\n}\n","import { CdkMenuModule, CdkMenuTrigger } from '@angular/cdk/menu';\nimport { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n effect,\n ElementRef,\n forwardRef,\n HostListener,\n inject,\n input,\n model,\n signal,\n viewChild,\n viewChildren,\n} from '@angular/core';\nimport { toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { combineLatest, map, Observable, of, switchMap, tap } from 'rxjs';\n\nimport { MenuRegisterDirective } from '../../directives/menu-register.directive';\nimport { FwChipModule } from '../chip/chip.module';\nimport { FwChipListComponent } from '../chip-list/chip-list.component';\nimport { FwMenuModule } from '../menu/menu.module';\nimport { FwMenuItemComponent } from '../menu/menu-item/menu-item.component';\nimport { FwProgressModule } from '../progress/progress.module';\nimport { FwTextInputModule } from '../text-input/text-input.module';\n\ntype OptionFetchingFn = (searchString: string) => Observable<string[]>;\n\n/**\n * Component for having a user select multiple values while also allowing arbitrary values to be added\n * @see [Vision Docs](https://cdn.flywheel.io/docs/vision/master/?path=/docs/form-controls-typeahead--docs)\n */\n@Component({\n selector: 'fw-typeahead',\n imports: [\n FwTextInputModule,\n FwChipModule,\n ReactiveFormsModule,\n FwMenuModule,\n CdkMenuModule,\n MenuRegisterDirective,\n FwProgressModule,\n FwChipListComponent,\n NgClass,\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FwTypeaheadComponent),\n multi: true,\n },\n ],\n templateUrl: './typeahead.component.html',\n styleUrl: './typeahead.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FwTypeaheadComponent implements ControlValueAccessor {\n @HostListener('document:click') outsideClick(): void {\n this.trigger().close();\n }\n\n trigger = viewChild(CdkMenuTrigger);\n changeDetector = inject(ChangeDetectorRef);\n loading = model(false);\n disabled = model(false);\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n\n writeValue(incomingValue: string[]): void {\n this.value.set(incomingValue);\n }\n\n onChange = (_: string[]): void => {\n };\n\n registerOnChange(onChangeFn): void {\n this.onChange = onChangeFn;\n }\n\n onTouched = (): void => {\n };\n\n registerOnTouched(onTouchedFn): void {\n this.onTouched = onTouchedFn;\n }\n\n @HostListener('click', ['$event']) onClick(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n }\n\n value = model<string[]>([]);\n value$ = toObservable(this.value);\n /* eslint-disable-next-line @angular-eslint/no-input-rename */\n optionsInput = input<string[] | OptionFetchingFn>([], { alias: 'options' });\n optionsInput$ = toObservable(this.optionsInput);\n\n maxOptionsHeight = input('400px');\n minOptionsHeight = input('0px');\n optionsWidth = input('');\n maxHeight = input('');\n\n notifyOnValueChanges = effect(() => {\n this.onChange(this.value());\n });\n\n searchValue = model('');\n searchValueChanges$ = toObservable(this.searchValue);\n\n handleSearchChange(event: KeyboardEvent): void {\n if (this.trigger().closed) {\n this.trigger().open();\n }\n const value = (event.target as HTMLInputElement).value;\n this.searchValue.set(value);\n }\n\n allowNew = input(true);\n placeholder = input('Enter tags...');\n showPlaceholder = computed(() => this.value().length === 0);\n\n /**\n * Options after they've been both filtered for matching the search and already selected\n */\n filteredOptions$: Observable<string[]> = combineLatest([\n this.searchValueChanges$,\n this.optionsInput$,\n ]).pipe(\n tap(() => this.loading.set(true)),\n\n // first determine if it's a function or static options\n switchMap(([searchString, optionInput]) => {\n if (typeof optionInput === 'function') {\n const fetchingFunction = optionInput as OptionFetchingFn;\n return fetchingFunction(searchString);\n } else {\n // if they're static options we need to do the search filtering\n const filteredOptionInput = optionInput?.filter(opt => opt.toLowerCase().includes(searchString.toLowerCase()));\n return of(filteredOptionInput);\n }\n\n }),\n\n // next filter out already selected values\n switchMap(options => combineLatest([of(options), this.value$])),\n map(([options, currentValue]) => {\n return options?.filter(option => {\n const alreadySelected = currentValue.find(val => val.toLowerCase() === option.toLowerCase());\n return !alreadySelected;\n });\n }),\n\n tap(() => this.loading.set(false)),\n );\n /**\n * Options after they've been both filtered for matching the search and already selected\n */\n filteredOptions = toSignal(this.filteredOptions$);\n\n\n closeChip(chipValue: string): void {\n const currentValue = this.value();\n const newValue = currentValue.filter(val => val !== chipValue);\n this.value.set(newValue);\n this.focusInput();\n // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis\n this.changeDetector.detectChanges();\n }\n\n displayNewOption = computed(() => {\n const newValue = this.searchValue();\n\n if (!newValue) {\n return false;\n }\n\n const directMatch = this.filteredOptions()?.includes?.(newValue);\n const loading = this.loading();\n const alreadySelected = Boolean(this.value().find(val => val.toLowerCase() === newValue.toLowerCase()));\n\n\n return this.allowNew() && !alreadySelected && (!directMatch || loading);\n });\n\n addValue = (newValue: string): void => {\n\n const isInOptions = this.filteredOptions().includes(newValue);\n const isNewWhileDisallowed = !this.allowNew() && !isInOptions;\n\n const isDuplicate = this.value().includes(newValue.toLowerCase());\n\n if (isNewWhileDisallowed || isDuplicate) {\n return;\n }\n\n this.value.update(prevValue => [\n ...prevValue || [],\n newValue,\n ]);\n };\n\n handleOptionClick = (optionValue): void => {\n this.onTouched();\n this.addValue(optionValue);\n this.focusInput();\n this.searchValue.set('');\n };\n\n resetFocusOnOptionsChange = effect(() => {\n if (this.displayedOptions() || this.searchValue()) {\n this.focusedIndex.set(0);\n }\n });\n\n displayedOptions = viewChildren(FwMenuItemComponent);\n focusedIndex = signal(0);\n focusedOption = computed(() => {\n const options = this.displayedOptions();\n const focused = this.focusedIndex();\n\n const onlyOne = options.length === 1;\n return onlyOne ? this.searchValue() : options[focused]?.value;\n });\n\n inputRef = viewChild.required<ElementRef<HTMLInputElement>>('input');\n\n focusInput(e: MouseEvent = null): void {\n e?.preventDefault();\n e?.stopPropagation();\n e?.stopImmediatePropagation();\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n this.inputRef().nativeElement.focus();\n }\n\n onFocusLoss(_: Event): void {\n this.onTouched();\n }\n\n /* eslint-disable @typescript-eslint/naming-convention */\n keyHandlerMap: { [keycode: string]: (e: KeyboardEvent) => void } = {\n 'Enter': () => {\n this.onTouched();\n const newValue = this.focusedOption() || this.searchValue();\n const duplicate = this.value().find(val => val.toLowerCase() === newValue.toLowerCase());\n\n if (!newValue || duplicate) {\n return;\n }\n\n this.addValue(newValue);\n this.searchValue.set('');\n },\n 'ArrowDown': () => {\n this.moveFocused('down');\n },\n 'ArrowUp': () => {\n this.moveFocused('up');\n },\n 'Backspace': () => {\n const searchIsEmpty = !this.searchValue(); // any falsy value is empty\n if (searchIsEmpty && this.value()?.length > 0) {\n this.closeChip(this.value()[this.value().length - 1]);\n }\n return !searchIsEmpty;\n },\n 'Tab': () => {\n if (this.trigger().isOpen) {\n this.trigger().close();\n }\n },\n };\n\n /* eslint-enable */\n\n handleKey(e: KeyboardEvent): void {\n const handler = this.keyHandlerMap[e.key];\n handler?.(e);\n }\n\n setFocusByValue(value: string): void {\n const options = this.displayedOptions();\n const foundIndex = options.findIndex(opt => opt.value === value);\n const finalIndex = foundIndex === -1 ? 0 : foundIndex;\n this.focusedIndex.set(finalIndex);\n }\n\n private moveFocused(direction: 'up' | 'down'): void {\n const options = this.displayedOptions();\n const index = this.focusedIndex();\n\n const clampIndex = (n: number): number => {\n if (n < 0) {\n return options.length - 1;\n } else if (n >= options.length) {\n return 0;\n }\n\n return n;\n };\n\n const indexChange = direction === 'up' ? -1 : 1;\n\n const newIndex = clampIndex(index + indexChange);\n this.focusedIndex.set(newIndex);\n\n const newlyFocused = this.displayedOptions()[this.focusedIndex()];\n\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n newlyFocused.scrollIntoView();\n }\n\n}\n","<div\n (click)=\"focusInput($event)\"\n class=\"input-container\"\n [ngClass]=\"{ 'disabled': disabled() }\"\n [style.max-height]=\"maxHeight()\"\n [cdkMenuTriggerFor]=\"menuContent\"\n fwMenuRegister\n #inputContainer>\n <fw-chip-list class=\"chips\" [disableOverflow]=\"!!maxHeight()\">\n @for(val of value(); track val) {\n <fw-chip\n color=\"primary\"\n [showClose]=\"true\"\n [title]=\"val\"\n [selectable]=\"false\"\n (close)=\"closeChip(val)\"\n />\n }\n </fw-chip-list>\n <input\n test-id=\"typeahead-input\"\n [placeholder]=\"showPlaceholder() ? placeholder() : ''\"\n [disabled]=\"disabled()\"\n [value]=\"searchValue()\"\n (keyup)=\"handleSearchChange($event)\"\n (keydown)=\"handleKey($event)\"\n (focusout)=\"onFocusLoss($event)\"\n #input\n type=\"text\"\n />\n @if(loading()) {\n <fw-progress-spinner size=\"small\"/>\n }\n</div>\n<ng-template #menuContent>\n <fw-menu-container\n [maxHeight]=\"maxOptionsHeight()\"\n [minHeight]=\"minOptionsHeight()\"\n [width]=\"optionsWidth() || inputContainer.offsetWidth - 2 + 'px'\"\n >\n <fw-menu>\n @if(loading() && !displayNewOption()) {\n <fw-menu-item title=\"Searching...\" [disabled]=\"true\"/>\n } @else if(!loading()) {\n @for (option of filteredOptions(); track option) {\n <fw-menu-item\n (click)=\"handleOptionClick($event)\"\n (mouseenter)=\"setFocusByValue(option)\"\n [title]=\"option\"\n [focused]=\"focusedOption() === option\"\n [value]=\"option\"\n />\n }\n @empty {\n @if (!displayNewOption()) {\n <fw-menu-item title=\"No tag suggestions\" [disabled]=\"true\"/>\n }\n }\n }\n @if(displayNewOption()) {\n <fw-menu-item\n (click)=\"handleOptionClick($event)\"\n (mouseenter)=\"setFocusByValue(searchValue())\"\n [title]=\"searchValue()\"\n [value]=\"searchValue()\"\n [focused]=\"focusedOption() === searchValue()\">\n <p class=\"new-tag\">New</p>\n </fw-menu-item>\n }\n </fw-menu>\n </fw-menu-container>\n</ng-template>\n","import { NgIf } from '@angular/common';\nimport { Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\n\nimport { FwFormHeadingComponent } from '../form-heading/form-heading.component';\n\n@Component({\n selector: 'fw-wrapped-input',\n templateUrl: './wrapped-input.component.html',\n styleUrls: ['./wrapped-input.component.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [NgIf, FwFormHeadingComponent],\n})\nexport class FwWrappedInputComponent {\n @Input() title: string;\n @Input() status?: string;\n @Input() statusColor?: 'slate' | 'primary' | 'secondary' | 'red' | 'green' | 'orange' = 'slate';\n @Input() description?: string;\n @Input() helperText?: string;\n @Input() errorText?: string;\n @Input() required?: boolean;\n\n @HostBinding('class.fw-wrapped-input') class = true;\n}\n\n\n","<label>\n <fw-form-heading\n *ngIf=\"title\" [title]=\"title\" [description]=\"description\"\n [required]=\"required\" [status]=\"status\" [statusColor]=\"statusColor\">\n </fw-form-heading>\n <ng-content select=\"fw-form-heading\"></ng-content>\n</label>\n<div class=\"input-wrapper\">\n <ng-content\n select=\"fw-button-toggle, fw-date-input, fw-text-input, fw-number-input, fw-phone-input, fw-textarea-input, fw-select, fw-multi-select, fw-checkbox, fw-typeahead\"></ng-content>\n</div>\n<p class=\"vision-p4 helper-text\" *ngIf=\"!!helperText && !errorText\">{{ helperText }}</p>\n<p class=\"vision-p4 error-text\" *ngIf=\"!!errorText\">{{ errorText }}</p>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwFormHeadingModule } from '../form-heading/form-heading.module';\nimport { FwWrappedInputComponent } from './wrapped-input.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwFormHeadingModule,\n FwWrappedInputComponent,\n ],\n exports: [\n FwWrappedInputComponent,\n ],\n})\nexport class FwWrappedInputModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["delayMap","positionMap","i1.FwTooltipComponent","i1","i2","i1.TranslationService","i2.MenuManagerService","i1.FwSnackbarTimerService","i1.FwSnackbarService","i1.FwChipComponent","i2.FwMenuComponent","i3.FwMenuContainerComponent","i4.FwMenuItemComponent","i5","i6.FwProgressSpinnerComponent"],"mappings":"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"}
1
+ {"version":3,"file":"flywheel-io-vision.mjs","sources":["../../../src/components/icon/icon.component.ts","../../../src/components/icon-button/icon-button.component.ts","../../../src/components/icon-button/icon-button.component.html","../../../src/components/alert/alert.component.ts","../../../src/components/alert/alert.component.html","../../../src/components/icon/icon.module.ts","../../../src/components/icon-button/icon-button.module.ts","../../../src/components/alert/alert.module.ts","../../../src/components/app-icon/app-icon.component.ts","../../../src/components/app-icon/app-icon.component.html","../../../src/components/app-icon/app-icon.module.ts","../../../src/color.utils.ts","../../../src/components/avatar/avatar.component.ts","../../../src/components/avatar/avatar.component.html","../../../src/components/avatar/avatar.module.ts","../../../src/components/layouts/context/context.component.ts","../../../src/components/layouts/context/context.component.html","../../../src/components/layouts/grid/grid.component.ts","../../../src/components/layouts/layout-group.component.ts","../../../src/components/layouts/panel/panel.component.ts","../../../src/components/layouts/panel/panel.component.html","../../../src/components/layouts/sidebar/sidebar.component.ts","../../../src/components/layouts/sidebar/sidebar.component.html","../../../src/components/layouts/toolbar/toolbar.component.ts","../../../src/components/layouts/layouts.module.ts","../../../src/components/popover/popover-panel/popover-panel.component.ts","../../../src/components/popover/popover-panel/popover-panel.component.html","../../../src/components/popover/popover.component.ts","../../../src/components/popover/popover.component.html","../../../src/components/popover/popover.module.ts","../../../src/components/tooltip/tooltip-panel/tooltip-panel.component.ts","../../../src/components/tooltip/tooltip-panel/tooltip-panel.component.html","../../../src/components/tooltip/tooltip.directive.ts","../../../src/components/tooltip/tooltip.component.ts","../../../src/components/tooltip/tooltip.component.html","../../../src/components/tooltip/tooltip.module.ts","../../../src/components/avatar-list/avatar-list.component.ts","../../../src/components/avatar-list/avatar-list.component.html","../../../src/components/badge/badge.component.ts","../../../src/components/badge/badge.component.html","../../../src/components/badge/badge.module.ts","../../../src/components/breadcrumbs/crumb.component.ts","../../../src/components/breadcrumbs/crumb.component.html","../../../src/components/breadcrumbs/breadcrumbs.component.ts","../../../src/components/breadcrumbs/breadcrumbs.module.ts","../../../src/components/progress/spinner/spinner.component.ts","../../../src/components/progress/spinner/spinner.component.html","../../../src/components/button/button.component.ts","../../../src/components/button/button.component.html","../../../src/components/button/button.directives.ts","../../../src/components/progress/bar/bar.component.ts","../../../src/components/progress/bar/bar.component.html","../../../src/components/progress/progress.module.ts","../../../src/components/button/button.module.ts","../../../src/components/button-toggle/button-toggle-item/button-toggle-item.component.ts","../../../src/components/button-toggle/button-toggle-item/button-toggle-item.component.html","../../../src/components/button-group/button-group.component.ts","../../../src/components/button-toggle/button-toggle.component.ts","../../../src/components/button-toggle/button-toggle.module.ts","../../../src/components/button-group/button-group.module.ts","../../../src/components/card/card.component.ts","../../../src/components/card/card.component.html","../../../src/components/card/card-attribute/card-attribute.component.ts","../../../src/components/card/card-attribute/card-attribute.component.html","../../../src/components/card/card-author/card-author.component.ts","../../../src/components/card/card-author/card-author.component.html","../../../src/components/card/card-content/card-content.component.ts","../../../src/components/card/card-footer/card-footer.component.ts","../../../src/components/card/card-header/card-header.component.ts","../../../src/components/card/card-header/card-header.component.html","../../../src/components/card/card.module.ts","../../../src/components/checkbox/checkbox.component.ts","../../../src/components/checkbox/checkbox.component.html","../../../src/components/checkbox/checkbox.module.ts","../../../src/components/chip/chip.component.ts","../../../src/components/chip/chip.component.html","../../../src/components/chip/chip.module.ts","../../../src/components/switch/switch.component.ts","../../../src/components/switch/switch.component.html","../../../src/components/contained-input/contained-input.component.ts","../../../src/components/contained-input/contained-input.component.html","../../../src/components/switch/switch.module.ts","../../../src/components/contained-input/contained-input.module.ts","../../../src/components/date-input/date-input.component.ts","../../../src/components/date-input/date-input.component.html","../../../src/components/date-input/date-input.module.ts","../../../src/components/dialog/dialog.component.ts","../../../src/components/dialog/dialog.component.html","../../../src/components/dialog/dialog.service.ts","../../../src/components/dialog/dialog-actions.component.ts","../../../src/components/dialog/dialog-content.component.ts","../../../src/components/dialog/dialog-confirm.component.ts","../../../src/components/dialog/dialog-confirm.component.html","../../../src/components/dialog/dialog-header.component.ts","../../../src/components/dialog/dialog-simple.component.ts","../../../src/components/dialog/dialog-simple.component.html","../../../src/components/shared/translation.service.ts","../../../src/components/shared/pipes/translate.pipe.ts","../../../src/components/shared/pipes/trusthtml.pipe.ts","../../../src/components/shared/pipes/pipes.module.ts","../../../src/components/dialog/dialogs.module.ts","../../../src/components/tag/tag.component.ts","../../../src/components/tag/tag.component.html","../../../src/components/form-heading/form-heading.component.ts","../../../src/components/form-heading/form-heading.component.html","../../../src/components/tag/tag.module.ts","../../../src/components/form-heading/form-heading.module.ts","../../../src/components/forms/validators.ts","../../../src/components/icon/icon.types.ts","../../../src/components/radio/radio.component.ts","../../../src/components/radio/radio.component.html","../../../src/components/menu/menu-sub-item/menu-sub-item.component.ts","../../../src/components/menu/menu-sub-item/menu-sub-item.component.html","../../../src/components/menu/menu-item/menu-item.component.ts","../../../src/components/menu/menu-item/menu-item.component.html","../../../src/components/menu/menu.component.ts","../../../src/components/menu/menu.component.html","../../../src/components/radio/radio-group.component.ts","../../../src/components/radio/radio.module.ts","../../../src/components/text-input/text-input.component.ts","../../../src/components/text-input/text-input.component.html","../../../src/components/text-input/text-input.module.ts","../../../src/components/menu/menu-close-triggers.directive.ts","../../../src/components/menu/menu-item-group/menu-item-group.component.ts","../../../src/components/menu/menu-item-group/menu-item-group.component.html","../../../src/components/menu/menu-separator/menu-separator.component.ts","../../../src/components/menu/menu-container/menu-container.component.ts","../../../src/components/menu/menu-container/menu-container.component.html","../../../src/components/menu/menu-header/menu-header.component.ts","../../../src/components/menu/menu-header/menu-header.component.html","../../../src/components/menu/menu.module.ts","../../../src/components/navbar/navbar-sub-item/navbar-sub-item.component.ts","../../../src/components/navbar/navbar-sub-item/navbar-sub-item.component.html","../../../src/components/navbar/navbar-item/navbar-item.component.ts","../../../src/components/navbar/navbar-item/navbar-item.component.html","../../../src/components/navbar/navbar.component.ts","../../../src/components/navbar/navbar.component.html","../../../src/components/navbar/navbar-header/navbar-header.component.ts","../../../src/components/navbar/navbar-header/navbar-header.component.html","../../../src/components/navbar/navbar.module.ts","../../../src/components/number-input/number-input.component.ts","../../../src/components/number-input/number-input.component.html","../../../src/components/number-input/number-input.module.ts","../../../src/components/paginator/paginator.component.ts","../../../src/components/paginator/paginator.component.html","../../../src/components/shared/services/menu-manager.service.ts","../../../src/directives/menu-register.directive.ts","../../../src/components/select-menu/multi-select-menu/multi-select-menu.component.ts","../../../src/components/select-menu/multi-select-menu/multi-select-menu.component.html","../../../src/components/select-menu/select-menu.component.ts","../../../src/components/select-menu/select-menu.component.html","../../../src/components/select-menu/select-menu.module.ts","../../../src/components/paginator/paginator-advanced/paginator-advanced.component.ts","../../../src/components/paginator/paginator-advanced/paginator-advanced.component.html","../../../src/components/paginator/paginator.module.ts","../../../src/components/phone-input/country-code.data.ts","../../../src/components/phone-input/phone-input.component.ts","../../../src/components/phone-input/phone-input.component.html","../../../src/components/phone-input/phone-input.module.ts","../../../src/components/section-heading/back-button/back-button.component.ts","../../../src/components/section-heading/back-button/back-button.component.html","../../../src/components/section-heading/section-heading.component.ts","../../../src/components/section-heading/section-heading.component.html","../../../src/components/section-heading/subsection-heading/subsection-heading.component.ts","../../../src/components/section-heading/subsection-heading/subsection-heading.component.html","../../../src/components/section-heading/section-heading.module.ts","../../../src/components/snackbar/snackbar-timer.service.ts","../../../src/components/snackbar/snackbar/snackbar.component.ts","../../../src/components/snackbar/snackbar/snackbar.component.html","../../../src/components/snackbar/snackbar.service.ts","../../../src/components/snackbar/snackbar-container/snackbar-container.component.ts","../../../src/components/snackbar/snackbar-container/snackbar-container.component.html","../../../src/components/snackbar/snackbar.module.ts","../../../src/components/stepper/step.component.ts","../../../src/components/stepper/step.component.html","../../../src/components/stepper/stepper.component.ts","../../../src/components/stepper/stepper.module.ts","../../../src/components/table/cell.ts","../../../src/components/table/row.ts","../../../src/components/table/table.component.ts","../../../src/components/table/table.component.html","../../../src/components/table/table-dense.component.ts","../../../src/components/table/table.module.ts","../../../src/components/tabs/tab/tab.component.ts","../../../src/components/tabs/tab/tab.component.html","../../../src/components/tabs/tab-panel/tab-panel.component.ts","../../../src/components/tabs/tab-panel/tab-panel.component.html","../../../src/components/tabs/tabs.component.ts","../../../src/components/tabs/tabs.component.html","../../../src/components/tabs/tabs.module.ts","../../../src/components/text/text.component.ts","../../../src/components/textarea-input/textarea-input.component.ts","../../../src/components/textarea-input/textarea-input.component.html","../../../src/components/textarea-input/textarea-input.module.ts","../../../src/components/chip-list/chip-list.component.ts","../../../src/components/chip-list/chip-list.component.html","../../../src/components/typeahead/typeahead.component.ts","../../../src/components/typeahead/typeahead.component.html","../../../src/components/wrapped-input/wrapped-input.component.ts","../../../src/components/wrapped-input/wrapped-input.component.html","../../../src/components/wrapped-input/wrapped-input.module.ts","../../../src/flywheel-io-vision.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n\ntype NamedIconSize = 'large' | 'medium' | 'small' | 'extra-small';\n\nexport type IconSize = NamedIconSize | number;\n\nconst namedSizeToPxMap = {\n large: 28,\n medium: 24,\n small: 22,\n 'extra-small': 18,\n}\n\n@Component({\n selector: 'fw-icon',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FwIconComponent {\n @Input({\n transform: (input: IconSize) => {\n if (typeof input === 'string') {\n return namedSizeToPxMap[input] || parseInt(input) || 24;\n }\n return input;\n },\n }) size: number;\n @Input() color?:\n | 'primary'\n | 'secondary'\n | 'red'\n | 'orange'\n | 'green'\n | 'slate'\n | 'muted'\n | 'typography';\n @HostBinding('class') class = 'vision-icon';\n @HostBinding('role') role = 'img';\n @HostBinding('style') get style(): SafeStyle {\n const sizeStyle: string = `font-size: ${this.size}px; min-width: ${this.size}px; width: ${this.size}px;`;\n let colorStyle: string = '';\n if (this.color) {\n if (this.color === 'muted') {\n colorStyle = 'color: var(--typography-muted);';\n } else {\n colorStyle = `color: var(--${this.color}-base);`;\n }\n }\n return this.sanitizer.bypassSecurityTrustStyle(`\n ${sizeStyle}\n ${colorStyle}\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\n\nimport { FwIconComponent } from '../icon/icon.component';\nimport { IconType } from '../icon/icon.types';\n\ntype ColorOption = 'primary'\n | 'secondary'\n | 'red'\n | 'error'\n | 'warning'\n | 'orange'\n | 'success'\n | 'green'\n | 'light-slate'\n | 'slate'\n | 'overlay'\n | 'info';\n\n@Component({\n selector: 'fw-icon-button',\n templateUrl: './icon-button.component.html',\n styleUrls: ['./icon-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [FwIconComponent],\n})\nexport class FwIconButtonComponent {\n color = input<ColorOption>('primary');\n icon = input<IconType>('icon-placeholder');\n size = input<'large' | 'medium' | 'small'>('medium');\n disabled = input<boolean>(false);\n selected = input<boolean>(false);\n border = input(false);\n}\n","<button [disabled]=\"disabled()\"\n [class]=\"[color() + '-button', size()]\"\n [class.selected-button]=\"selected()\"\n [class.border]=\"border()\">\n <fw-icon>{{ icon() }}</fw-icon>\n</button>\n","import { NgClass } from '@angular/common';\nimport { Component, input, output } from '@angular/core';\n\nimport { FwIconComponent } from '../icon/icon.component';\nimport { IconType } from '../icon/icon.types';\nimport { FwIconButtonComponent } from '../icon-button/icon-button.component';\n\n@Component({\n selector: 'fw-alert',\n templateUrl: './alert.component.html',\n styleUrls: ['./alert.component.scss'],\n imports: [\n NgClass,\n FwIconComponent,\n FwIconButtonComponent,\n ],\n})\nexport class FwAlertComponent {\n description = input<string>()\n icon = input<IconType>()\n severity = input<'info' | 'success' | 'warning' | 'error'>('info')\n title = input<string>()\n variant = input<'standard' | 'outlined' | 'filled'>('standard')\n showClose = input<boolean>()\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n close = output<void>()\n}\n","<div [ngClass]=\"['fw-alert', variant(), severity()]\">\n @if (icon()) {\n <fw-icon class=\"fw-alert-icon\">{{ icon() }}</fw-icon>\n }\n <div class=\"fw-alert-text\">\n @if (title()) {\n <h4 class=\"vision-h4\">{{ title() }}</h4>\n }\n @if (description()) {\n <p class=\"vision-p2\">{{ description() }}</p>\n }\n <p class=\"vision-p2\">\n <ng-content></ng-content>\n </p>\n </div>\n <div class=\"close-icon\">\n <ng-content select=\"fw-button\"></ng-content>\n @if (showClose()) {\n <fw-icon-button\n icon=\"close\" size=\"small\"\n [color]=\"variant() === 'filled' ? 'overlay' : severity()\"\n (click)=\"close ? close.emit() : undefined\">\n </fw-icon-button>\n }\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconComponent } from './icon.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwIconComponent,\n ],\n exports: [\n FwIconComponent,\n ],\n})\nexport class FwIconModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwIconButtonComponent } from './icon-button.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n FwIconButtonComponent,\n ],\n exports: [\n FwIconButtonComponent,\n ],\n})\nexport class FwIconButtonModule {\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwIconButtonModule } from '../icon-button/icon-button.module';\nimport { FwAlertComponent } from './alert.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n FwIconButtonModule,\n FwAlertComponent,\n ],\n exports: [\n FwAlertComponent,\n ],\n})\nexport class FwAlertModule {\n}\n","import { NgClass,NgIf } from '@angular/common';\nimport { Component, HostBinding, Input } from '@angular/core';\n\nimport { FwIconComponent } from '../icon/icon.component';\nimport { IconType } from '../icon/icon.types';\n\n@Component({\n selector: 'fw-app-icon',\n templateUrl: './app-icon.component.html',\n styleUrls: ['./app-icon.component.scss'],\n imports: [\n NgIf,\n FwIconComponent,\n NgClass,\n ],\n})\nexport class FwAppIconComponent {\n @Input() title?: string;\n @Input() icon?: IconType;\n @Input() imageUrl?: string;\n @Input() color?: 'primary' | 'dark' | 'light' | 'gradient' | 'transparent' = 'primary';\n @Input() fontColor?: 'contrast' | 'base' = 'contrast';\n @Input() size?: 'small' | 'medium' | 'large' | 'extra-large' = 'medium';\n @Input() variant?: 'interactive' | 'hover' | 'focused' | 'static' = 'interactive';\n @Input() badge?: string;\n @HostBinding('tabindex') @Input() tabindex = '';\n @HostBinding('class.locked') @Input() locked?: boolean = false;\n @HostBinding('class.animated') @Input() animated?: boolean = false;\n @HostBinding('role') role = 'button';\n\n @HostBinding('class') get cssClass(): string {\n return ['fw-app-icon', this.size, this.color, this.variant].join(' ');\n }\n}\n","<div class=\"icon-highlight\"></div>\n<div class=\"icon-wrapper\">\n <div class=\"app-badge\" *ngIf=\"badge\"><span>{{ badge }}</span></div>\n <div class=\"app-locked\" *ngIf=\"locked\">\n <fw-icon>lock</fw-icon>\n </div>\n <img *ngIf=\"imageUrl\" [src]=\"imageUrl\" alt=\"App Icon\">\n <fw-icon *ngIf=\"icon\" [ngClass]=\"fontColor\">{{ icon }}</fw-icon>\n</div>\n<p class=\"vision-p3\" *ngIf=\"title\">{{ title }}</p>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwAppIconComponent } from './app-icon.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n FwAppIconComponent,\n ],\n exports: [\n FwAppIconComponent,\n ],\n})\nexport class FwAppIconModule {\n}\n","\nconst accesibilityPallete = [\n '#1B68FA',\n '#D73D3D',\n '#FF8C00',\n '#C47E09',\n '#B080FC',\n '#14AE5C',\n '#FF6347',\n '#F28B8B',\n '#FF69B4',\n '#748295',\n '#9CCEF9',\n '#66CDAA',\n '#00CED1',\n]\n\nexport const hashCode = (str: string): number => {\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n hash = str.charCodeAt(i) + ((hash << 5) - hash);\n }\n return Math.abs(hash);\n}\n\nexport const pickColorViaHash = (seed = ''): string => {\n const hash = hashCode(seed);\n return accesibilityPallete[hash % (accesibilityPallete.length - 1)]\n}\n","import { Component, computed, HostListener, input, model, signal } from '@angular/core';\n\nimport { pickColorViaHash } from '../../color.utils';\nimport { FwIconComponent } from '../icon/icon.component';\nimport { IconType } from '../icon/icon.types';\n\ntype AvatarColorOption = 'primary' | 'secondary' | 'red' | 'light-slate' | 'slate' | 'warning' | 'success';\n\nconst namedColorMap: { [K in AvatarColorOption]: string } = {\n primary: 'var(--primary-base)',\n secondary: 'var(--secondary-base)',\n red: 'var(--red-base)',\n 'light-slate': 'var(--slate-light)',\n slate: 'var(--slate-base)',\n warning: 'var(--orange-base)',\n success: 'var(--green-base)',\n};\n\n@Component({\n selector: 'fw-avatar',\n styleUrls: ['./avatar.component.scss'],\n templateUrl: './avatar.component.html',\n imports: [\n FwIconComponent,\n ],\n host: {\n '[class]': 'hostClasses()',\n },\n})\nexport class FwAvatarComponent {\n bordered = input<boolean>(false);\n color = input<AvatarColorOption>('primary');\n colorSeed = model<string>();\n content = input<'image' | 'icon' | 'initial'>('icon');\n icon = input<IconType>('user');\n imageAltText = input<string>('');\n imageUrl = input<string>('');\n initial = input<string>('');\n selectable = input<boolean>(false);\n selected = model<boolean>(false);\n size = input<'small' | 'medium' | 'large' | 'x-large'>('small');\n variant = input<'circular' | 'rounded' | 'square'>('circular');\n\n hostClasses = computed(() => {\n const classes = [\n this.size(),\n this.variant(),\n this.content(),\n this.bordered() ? 'bordered' : null,\n this.selected() ? 'selected' : null,\n this.selectable() ? 'selectable' : null,\n ];\n\n return classes.filter(Boolean).join(' ');\n });\n\n @HostListener('click') onClick(): void {\n if (this.selectable()) {\n this.selected.update(v => !v);\n }\n }\n\n hasedColor = computed(() => pickColorViaHash(this.colorSeed()));\n\n colorToDisplay = computed(() => this.colorSeed() ? this.hasedColor() : namedColorMap[this.color()]);\n\n isImageBroken = signal<boolean>(false);\n\n loadImage(): void {\n this.isImageBroken.set(false);\n }\n\n errorImage(): void {\n this.isImageBroken.set(true);\n }\n}\n","<div class=\"avatar\" [style.background]=\"colorToDisplay()\">\n @switch (content()) {\n @case ('image') {\n @if (!isImageBroken()) {\n <img\n [alt]=\"imageAltText()\"\n [src]=\"imageUrl()\"\n (load)=\"loadImage()\"\n (error)=\"errorImage()\">\n } @else {\n @if (initial()) {\n <span class=\"initial\">{{ initial() }}</span>\n } @else {\n <fw-icon>{{ icon() }}</fw-icon>\n }\n }\n }\n @case ('icon') {\n <fw-icon>{{ icon() }}</fw-icon>\n }\n @case ('initial') {\n @if (initial()) {\n <span class=\"initial\">{{ initial() }}</span>\n } @else {\n <fw-icon>{{ icon() }}</fw-icon>\n }\n }\n }\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwAvatarComponent } from './avatar.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n FwAvatarComponent,\n ],\n exports: [\n FwAvatarComponent,\n ],\n})\nexport class FwAvatarModule {\n}\n","import { NgClass,NgIf } from '@angular/common';\nimport { Component, HostBinding, Input } from '@angular/core';\n\nimport { FwIconComponent } from '../../icon/icon.component';\nimport { IconType } from '../../icon/icon.types';\n\nexport enum LayoutWidth {\n Small = 'small',\n Medium = 'medium',\n Large = 'large',\n ExtraLarge = 'extra-large'\n}\n\n@Component({\n selector: 'fw-layout-context',\n templateUrl: './context.component.html',\n styleUrls: ['./context.component.scss'],\n imports: [\n NgIf,\n FwIconComponent,\n NgClass,\n ],\n})\nexport class FwLayoutContextComponent {\n @Input() width?: 'small' | 'medium' | 'large' | 'extra-large' = LayoutWidth.Small;\n @Input() icon?: IconType;\n @Input() iconColor?: 'primary' | 'secondary' | 'danger' | 'slate' | 'warning' | 'success' = 'secondary';\n @Input() title?: string;\n @Input() description?: string;\n\n @HostBinding('attr.class') get classes(): string {\n const classes = ['fw-layout-context'];\n classes.push(`context-width-${this.width}`);\n if (this.iconColor) {\n classes.push(`context-color-${this.iconColor}`);\n }\n return classes.join(' ');\n };\n}\n","@if (icon) {\n <fw-icon [ngClass]=\"iconColor\">{{ icon }}</fw-icon>\n}\n\n@if (title) {\n <h3>{{ title }}</h3>\n}\n\n@if (description) {\n <p class=\"vision-p3\">{{ description }}</p>\n} @else {\n <ng-content select=\"[slot='description']\"></ng-content>\n}\n\n<div class=\"context-actions\">\n <ng-content select=\"fw-button\"></ng-content>\n</div>\n","import { Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fw-grid',\n template: '<ng-content select=\"fw-grid-item\"></ng-content>',\n styleUrls: ['./grid.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class FwGridComponent {\n @HostBinding('class') get cssClass(): string {\n return ['fw-grid'].join(' ');\n }\n}\n\n@Component({\n selector: 'fw-grid-item',\n template: '<ng-content></ng-content>',\n styleUrls: ['./grid.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class FwGridItemComponent {\n @Input() cols: number = 12;\n @Input() sm?: number;\n @Input() md?: number;\n @Input() lg?: number;\n @Input() xl?: number;\n @Input() padded?: boolean = false;\n @Input() rounded?: boolean = false;\n @Input() variant?: 'page-light' | 'page-shaded' | 'card-header' | 'card-background' = 'page-light';\n\n @HostBinding('class') get cssClass(): string {\n return [\n 'fw-grid-col-' + this.cols,\n this.variant,\n this.padded ? 'grid-item-padded' : null,\n this.rounded ? 'grid-item-rounded' : null,\n this.sm ? 'fw-grid-col-sm-' + this.sm : null,\n this.md ? 'fw-grid-col-md-' + this.md : null,\n this.lg ? 'fw-grid-col-lg-' + this.lg : null,\n this.xl ? 'fw-grid-col-xl-' + this.xl : null,\n ].filter(Boolean).join(' ');\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'fw-layout-group',\n template: '<ng-content></ng-content>',\n styleUrls: ['./layout-group.component.scss'],\n})\nexport class FwLayoutGroupComponent {\n @Input() stackable: boolean = false;\n @Input() padded: boolean = true;\n @Input() justify: 'space-between' | 'space-around' | 'space-evenly' | 'flex-end' | 'flex-start' = 'space-between';\n\n @HostBinding('attr.class') get classes(): string {\n const classes = ['fw-layout-group', this.justify];\n if (this.stackable) {\n classes.push('stackable');\n }\n if (this.padded) {\n classes.push('padded');\n }\n return classes.join(' ');\n };\n\n}\n","import { NgClass, NgStyle } from '@angular/common';\nimport { Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fw-layout-panel',\n templateUrl: './panel.component.html',\n styleUrls: ['./panel.component.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [NgClass, NgStyle],\n})\nexport class FwLayoutPanelComponent {\n @Input() height?: string = '100%';\n @Input() fitted?: boolean = false;\n @Input() border?: 'all' | 'left' | 'right' | 'none' = 'none';\n @Input() rounded?: boolean = true;\n @Input() margin?: boolean = false;\n @Input() padded?: boolean = true;\n}\n","<main\n [ngClass]=\"[fitted?'fitted':'', margin?'margin':'', rounded?'rounded':'', 'border-'+border]\"\n [ngStyle]=\"{height: height}\">\n <ng-content select=\"header\"></ng-content>\n <article [ngClass]=\"[padded?'padded':'']\">\n <ng-content></ng-content>\n </article>\n <ng-content select=\"footer\"></ng-content>\n</main>\n","import { NgClass, NgStyle } from '@angular/common';\nimport { Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fw-layout-sidebar',\n templateUrl: './sidebar.component.html',\n styleUrls: ['./sidebar.component.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [NgClass, NgStyle],\n})\nexport class FwLayoutSidebarComponent {\n @Input() outlined: boolean = true;\n @Input() rounded: boolean = true;\n @Input() width?: string = '65%';\n @Input() direction?: 'row' | 'row-reverse' = 'row';\n}\n","<div\n [ngClass]=\"[\n outlined?'outlined':'',\n rounded?'rounded':'',\n direction,\n 'container'\n ]\">\n <div class=\"main\" [ngStyle]=\"{width: 'calc( 100% - '+width+' )'}\">\n <ng-content></ng-content>\n </div>\n <div class=\"aside\" [ngStyle]=\"{width: width}\">\n <ng-content select=\"aside\"></ng-content>\n </div>\n</div>\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'fw-layout-toolbar',\n template: '<ng-content></ng-content>',\n styleUrls: ['./toolbar.component.scss'],\n})\nexport class FwLayoutToolbarComponent {\n @Input() dense?: boolean;\n\n @HostBinding('attr.class') get classes(): string {\n const classes = ['fw-layout-toolbar', this.dense ? 'dense' : ''];\n return classes.join(' ');\n };\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwLayoutContextComponent } from './context/context.component';\nimport { FwGridComponent, FwGridItemComponent } from './grid/grid.component';\nimport { FwLayoutGroupComponent } from './layout-group.component';\nimport { FwLayoutPanelComponent } from './panel/panel.component';\nimport { FwLayoutSidebarComponent } from './sidebar/sidebar.component';\nimport { FwLayoutToolbarComponent } from './toolbar/toolbar.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n FwLayoutContextComponent,\n FwLayoutToolbarComponent,\n FwLayoutGroupComponent,\n FwLayoutPanelComponent,\n FwLayoutSidebarComponent,\n FwGridComponent,\n FwGridItemComponent,\n ],\n exports: [\n FwLayoutContextComponent,\n FwLayoutToolbarComponent,\n FwLayoutGroupComponent,\n FwLayoutPanelComponent,\n FwLayoutSidebarComponent,\n FwGridComponent,\n FwGridItemComponent,\n ],\n})\nexport class FwLayoutsModule {\n}\n","import { NgIf } from '@angular/common';\nimport { Component, EventEmitter, HostBinding, HostListener, Input, input, Output } from '@angular/core';\n\n@Component({\n selector: 'fw-popover-panel',\n templateUrl: './popover-panel.component.html',\n styleUrls: ['./popover-panel.component.scss'],\n imports: [NgIf],\n})\nexport class FwPopoverPanelComponent {\n @Input() position: 'above' | 'above-left' | 'above-right' |\n 'below' | 'below-left' | 'below-right' |\n 'left' | 'left-above' | 'left-below' |\n 'right' | 'right-above' | 'right-below';\n @Output() mouseLeave: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n showCaret = input(true);\n\n @HostBinding('attr.class') get classes(): string {\n return ['fw-popover-panel', 'fw-popover-' + this.position].join(' ');\n }\n\n @HostListener('mouseleave', ['$event']) hidePopover(e: MouseEvent): void {\n this.mouseLeave.emit(e);\n }\n}\n","<div class=\"fw-popover-content-wrapper\">\n <ng-content></ng-content>\n <div *ngIf=\"showCaret()\" class=\"fw-popover-caret\"></div>\n</div>\n","/* eslint-disable @rx-angular/prefer-no-layout-sensitive-apis */\nimport { animate, style, transition, trigger } from '@angular/animations';\nimport { CdkConnectedOverlay,CdkOverlayOrigin, ConnectedOverlayPositionChange, ConnectedPosition, FlexibleConnectedPositionStrategyOrigin } from '@angular/cdk/overlay';\nimport { Component, computed, effect, Input, input, model, signal } from '@angular/core';\nimport { MouseEvent } from 'react';\n\nimport { FwPopoverPanelComponent } from './popover-panel/popover-panel.component';\n\ntype DelayLength = 'none' | 'short' | 'long';\ntype DelayMap = { [K in DelayLength]: number };\n\nconst delayMap: DelayMap = {\n 'none': 0,\n 'short': 400,\n 'long': 700,\n}\n\ntype PositionOption = 'above' | 'above-left' | 'above-right' |\n 'below' | 'below-left' | 'below-right' |\n 'left' | 'left-above' | 'left-below' |\n 'right' | 'right-above' | 'right-below';\n\n/**\n * component for mounting content in a floating container\n * @see [Vision Docs](https://cdn.flywheel.io/docs/vision/latest/?path=/docs/components-popover--docs)\n */\n@Component({\n selector: 'fw-popover',\n templateUrl: './popover.component.html',\n styles: [],\n animations: [\n trigger('fadeInFadeOut', [\n transition(':enter', [\n style({ opacity: 0 }),\n animate('150ms', style({ opacity: 1 })),\n ]),\n transition(':leave', [\n animate('200ms', style({ opacity: 0 })),\n ]),\n ]),\n ],\n imports: [CdkConnectedOverlay, FwPopoverPanelComponent],\n})\nexport class FwPopoverComponent {\n @Input() position: PositionOption = 'above';\n trigger = input<CdkOverlayOrigin | FlexibleConnectedPositionStrategyOrigin>();\n isOpen = model<boolean>(false);\n @Input() action: 'mouseenter' | 'click' = 'mouseenter';\n @Input() flyoutPanel: FwPopoverPanelComponent;\n delay = input<DelayLength>('short');\n delayMs = computed(() => {\n return delayMap[this.delay()];\n })\n showCaret = input(true);\n activePositionPair = signal<ConnectedOverlayPositionChange>(null);\n // for mapping from the connectionPairs to a named position\n panelPosition = computed<PositionOption>(() => {\n const currentPosition = this.activePositionPair()?.connectionPair;\n\n if (!currentPosition) {\n return this.position;\n }\n\n const positionNames = Object.keys(this.positionMap);\n\n const activePositionName = positionNames.find(positionName => {\n const pos = this.positionMap[positionName];\n return pos.originX === currentPosition.originX &&\n pos.originY === currentPosition.originY &&\n pos.overlayX === currentPosition.overlayX &&\n pos.overlayY === currentPosition.overlayY;\n })\n\n return (activePositionName || this.position) as PositionOption;\n })\n\n positionMap: { [key: string]: ConnectedPosition } = {\n 'above': { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom' },\n 'above-left': { originX: 'center', originY: 'top', overlayX: 'end', overlayY: 'bottom', offsetX: 40 },\n 'above-right': { originX: 'center', originY: 'top', overlayX: 'start', overlayY: 'bottom', offsetX: -40 },\n 'below': { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top' },\n 'below-left': { originX: 'center', originY: 'bottom', overlayX: 'end', overlayY: 'top', offsetX: 40 },\n 'below-right': { originX: 'center', originY: 'bottom', overlayX: 'start', overlayY: 'top', offsetX: -40 },\n 'left': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center' },\n 'left-above': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'bottom', offsetY: 37 },\n 'left-below': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'top', offsetY: -40 },\n 'right': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center' },\n 'right-above': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'bottom', offsetY: 37 },\n 'right-below': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'top', offsetY: -40 },\n };\n\n /**\n * Gets a list of fallback positions for the selected one\n * Preserves the primary axis i.e. which side of the origin the panel is on\n */\n getFallbackPositions = (): ConnectedPosition[] => {\n const positionSplitRegex = /(?<primary>[a-z]\\w+)-*(?<secondary>[a-z]\\w+)*/;\n const { primary, secondary } = positionSplitRegex.exec(this.position).groups;\n\n // '' represents a primary axis with no secondary i.e. 'above'\n // fallbacks if no secondary position\n const primaryAxisToFallbacks = {\n 'left': ['', 'below', 'above'],\n 'right': ['', 'below', 'above'],\n 'above': ['', 'left', 'right'],\n 'below': ['', 'left', 'right'],\n }\n\n // preference order for fallbacks\n const secondaryPositionFallbacks = {\n 'left': ['left', '', 'right'],\n 'right': ['right', '', 'left'],\n 'above': ['above', '', 'below'],\n 'below': ['below', '', 'above'],\n }\n\n const secondaryOptions = secondaryPositionFallbacks[secondary] || primaryAxisToFallbacks[primary];\n\n const positionArray = secondaryOptions.map(secondaryOption => {\n const addDash = secondaryOption ? '-' : '';\n const parsedOptionName = primary + addDash + secondaryOption;\n return this.positionMap[parsedOptionName];\n })\n\n return positionArray;\n }\n\n registerEventListeners = effect(() => {\n\n const trigger = this.trigger() as HTMLElement;\n\n if (!trigger) {\n return;\n }\n\n if (this.action === 'mouseenter' && !trigger.onmouseenter) {\n trigger.onclick = undefined;\n trigger.style.cursor = 'pointer';\n\n let timerId;\n\n trigger.onmouseenter = (): void => {\n timerId = this.openOnDelay();\n };\n\n // @ts-expect-error MouseEvent\n trigger.onmouseleave = (e: MouseEvent): void => {\n window.clearTimeout(timerId);\n\n const relatedTarget = (e.relatedTarget as HTMLElement);\n if (!relatedTarget?.classList.contains('fw-popover-panel') && !relatedTarget?.classList.contains('fw-popover-caret') && !relatedTarget?.classList.contains('cdk-overlay-pane')) {\n this.isOpen.set(false);\n }\n };\n }\n\n if (this.action === 'click' && !trigger.onclick) {\n trigger.onmouseenter = undefined;\n trigger.onmouseleave = undefined;\n\n trigger.onclick = (): void => {\n this.isOpen.update((val) => !val);\n };\n }\n })\n\n openOnDelay(): number {\n return window.setTimeout(() => {\n this.isOpen.set(true);\n }, this.delayMs())\n }\n\n\n backdropClick(): void {\n this.isOpen.set(false);\n }\n\n handlePanelLeave(): void {\n if (this.action === 'mouseenter') {\n this.isOpen.set(false);\n }\n }\n\n}\n","<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger()\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n [cdkConnectedOverlayPositionStrategy]=\"\"\n [cdkConnectedOverlayHasBackdrop]=\"action==='click'\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayPositions]=\"getFallbackPositions()\"\n [cdkConnectedOverlayViewportMargin]=\"10\"\n (positionChange)=\"activePositionPair.set($event)\"\n (backdropClick)=\"backdropClick()\"\n (detach)=\"backdropClick()\">\n <fw-popover-panel\n @fadeInFadeOut\n [position]=\"panelPosition()\"\n (mouseLeave)=\"handlePanelLeave()\"\n [showCaret]=\"showCaret()\">\n <ng-content></ng-content>\n </fw-popover-panel>\n</ng-template>\n","import { Overlay, OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwLayoutsModule } from '../layouts/layouts.module';\nimport { FwPopoverComponent } from './popover.component';\nimport { FwPopoverPanelComponent } from './popover-panel/popover-panel.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwLayoutsModule,\n OverlayModule,\n FwPopoverComponent,\n FwPopoverPanelComponent,\n ],\n exports: [\n FwPopoverComponent,\n FwPopoverPanelComponent,\n ],\n providers: [\n Overlay,\n ],\n})\nexport class FwPopoverModule {\n}\n","import { animate, style, transition, trigger } from '@angular/animations';\nimport { CdkOverlayOrigin, ConnectedPosition } from '@angular/cdk/overlay';\nimport { NgClass, NgStyle } from '@angular/common';\nimport { Component, computed, ElementRef, EventEmitter, HostBinding, HostListener, Input, input, Output, ViewEncapsulation } from '@angular/core';\n\nexport type DelayLength = 'none' | 'short' | 'long';\ntype DelayMap = { [K in DelayLength]: number };\nconst delayMap: DelayMap = {\n 'none': 0,\n 'short': 400,\n 'long': 700,\n}\n\nexport type SimplePosition = 'above' | 'below' | 'left' | 'right';\n\n/* eslint-disable @rx-angular/prefer-no-layout-sensitive-apis */\n// linter false positives for offsetY\nconst positionMap: { [key: string]: ConnectedPosition } = {\n 'none': { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom', offsetY: 3 },\n 'above': { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom', offsetY: 3 },\n 'below': { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top', offsetY: -3 },\n 'left': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center' },\n 'right': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center' },\n};\n/* eslint-enable @rx-angular/prefer-no-layout-sensitive-apis */\n\nconst isElementRef = (input: unknown): input is ElementRef<HTMLElement> => (\n (Boolean((input as ElementRef<HTMLElement>).nativeElement))\n)\n\n@Component({\n selector: 'fw-tooltip-panel',\n templateUrl: './tooltip-panel.component.html',\n styleUrls: ['./tooltip-panel.component.scss'],\n encapsulation: ViewEncapsulation.None,\n animations: [\n trigger('fadeInFadeOut', [\n transition(':enter', [\n style({ opacity: 0 }),\n animate('150ms', style({ opacity: 1 })),\n ]),\n transition(':leave', [\n animate('200ms', style({ opacity: 0 })),\n ]),\n ]),\n ],\n imports: [NgClass, NgStyle],\n})\nexport class FwTooltipPanelComponent {\n\n @HostBinding('@fadeInFadeOut') animation;\n\n trigger = input(undefined, {\n transform: (unparsed: CdkOverlayOrigin | ElementRef<HTMLElement>): CdkOverlayOrigin => {\n if (isElementRef(unparsed)) {\n return new CdkOverlayOrigin(unparsed);\n }\n return unparsed;\n },\n })\n @Input() title = '';\n isOpen = input(false);\n position = input<SimplePosition>('below');\n connectedPosition = computed(() => [positionMap[this.position()]]);\n @Input() color?: 'light' | 'dark' = 'dark';\n @Input() maxWidth?: number = 200;\n @Input() displayCaret: boolean = true;\n @Output() mouseLeave: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n delay = input<DelayLength>('short');\n delayMs = computed(() => delayMap[this.delay()]);\n\n @HostBinding('attr.class') get classes(): string {\n return ['fw-tooltip-panel', 'fw-tooltip-' + this.position].join(' ');\n }\n\n @HostListener('mouseleave', ['$event']) hidePopover(e: MouseEvent): void {\n this.mouseLeave.emit(e);\n }\n}\n","<div\n class=\"fw-tooltip-content-wrapper vision-dark-theme\"\n [ngClass]=\"'fw-tooltip-' + position()\"\n [ngStyle]=\"{'maxWidth': maxWidth+'px'}\">\n <ng-content></ng-content>\n <h5 class=\"vision-h5\">{{ title }}</h5>\n @if (displayCaret) {\n <div class=\"fw-tooltip-caret\"></div>\n }\n</div>\n","import { ConnectedPosition, Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ComponentRef, computed, Directive, effect, ElementRef, inject, input, model, OnDestroy, OnInit, signal, ViewContainerRef } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { FwTooltipPanelComponent, SimplePosition } from './tooltip-panel/tooltip-panel.component';\n\ntype DelayLength = 'none' | 'short' | 'long';\ntype DelayMap = { [K in DelayLength]: number };\n\nconst delayMap: DelayMap = {\n 'none': 0,\n 'short': 400,\n 'long': 700,\n}\n\nconst delayNameToMs = (name: DelayLength): number => {\n return delayMap[name];\n}\n\n/* eslint-disable @rx-angular/prefer-no-layout-sensitive-apis */\n// linter false positives for offsetY\n\nconst positionMap: { [key: string]: ConnectedPosition } = {\n 'above': { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom', offsetY: 3 },\n 'below': { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top', offsetY: -3 },\n 'left': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center' },\n 'right': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center' },\n 'none': { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom', offsetY: 3 },\n};\n\n/* eslint-enable @rx-angular/prefer-no-layout-sensitive-apis */\n\n\n/**\n * Directive for displaying extra context on hover\n * @see [Vision Docs](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-tooltip--docs)\n */\n@Directive({\n selector: '[fwTooltip]',\n})\nexport class FwTooltipDirective implements OnInit, OnDestroy {\n\n /***** External Context *****/\n\n private elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private viewContainerRef = inject(ViewContainerRef);\n private overlayService = inject(Overlay);\n\n /***** Internal Refs *****/\n\n private overlayRef = signal<OverlayRef | undefined>(undefined);\n private tooltipRef = signal<ComponentRef<FwTooltipPanelComponent> | undefined>(undefined);\n private tooltipPortal: ComponentPortal<FwTooltipPanelComponent>;\n\n /***** Inputs *****/\n\n // a lot of these ideally wouldn't be models,\n // but it makes it easier to interact with this from derivative directives\n\n // VS Code pulls the input that shares a name with the directive for giving context\n // so putting the top level comment on this input\n\n /**\n * Directive for displaying extra context on hover\n * @see [Vision Docs](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-tooltip--docs)\n */\n title = model<string>('Placeholder', {\n alias: 'fwTooltip',\n })\n\n /**\n * direction relative to the parent component that the tooltip will attempt to position itself to\n */\n position = model<SimplePosition>('above', {\n alias: 'fwTooltipPosition',\n });\n\n /**\n * maximum width of the tooltip in pixels\n */\n maxWidth = model<number>(200, {\n alias: 'fwTooltipMaxWidthPx',\n })\n\n /**\n * amount of delay before the tooltip displays\n *\n * none (0ms),\n * short (400ms),\n * long (700ms)\n */\n delayMs = input(400, {\n transform: delayNameToMs,\n alias: 'fwTooltipDelay',\n });\n\n /**\n * whether or not the tooltip should have a caret\n */\n displayCaret = input(true, {\n alias: 'fwTooltipCaret',\n });\n\n\n enabled = model(true, {\n alias: 'fwTooltipEnabled',\n });\n\n /***** Derived State *****/\n\n connectedPositions = computed<ConnectedPosition[]>(() => {\n // falback positions for if it doesn't fit in the specified position\n // tend towards closer first i.e. 'above' will try 'left' and 'right' before resorting to 'below\n const positionPreferenceOrderMap = {\n 'above': ['above', 'right', 'left', 'below'],\n 'right': ['right', 'below', 'above', 'left'],\n 'below': ['below', 'left', 'right', 'above'],\n 'left': ['left', 'above', 'below', 'right'],\n }\n\n const fallbackNamedPositions = positionPreferenceOrderMap[this.position()];\n const connectedPositions = fallbackNamedPositions.map(name => positionMap[name]);\n\n return connectedPositions;\n });\n\n positionStrategy = computed(() => {\n const positionBuilder = this.overlayService.position();\n const withOrigin = positionBuilder.flexibleConnectedTo(this.elementRef);\n const completedStrategy = withOrigin.withPositions(this.connectedPositions());\n return completedStrategy;\n });\n\n overlayConfig = computed<OverlayConfig>(() => ({\n positionStrategy: this.positionStrategy(),\n maxWidth: Number(this.maxWidth()),\n ScrollStrategyOptions: this.overlayService.scrollStrategies.close(),\n disposeOnNavigation: true,\n }));\n\n /***** Effects and Methods *****/\n\n addMouseEventListeners = effect(() => {\n\n const nativeElement = this.elementRef.nativeElement;\n\n nativeElement.addEventListener('mouseenter', () => {\n this.showTooltip();\n });\n\n nativeElement.addEventListener('mouseleave', () => {\n this.hideTooltip();\n });\n })\n\n ngOnInit(): void {\n this.tooltipPortal = new ComponentPortal(FwTooltipPanelComponent, this.viewContainerRef);\n\n this.overlayRef.set(this.overlayService.create());\n }\n\n\n private openDelayTimer: number;\n\n showTooltip(): void {\n if (!this.enabled() || !this.title()) {\n return;\n }\n\n const overlayRef = this.overlayRef();\n overlayRef.updatePositionStrategy(this.positionStrategy());\n\n if (this.openDelayTimer) {\n return;\n }\n\n this.openDelayTimer = window.setTimeout(() => {\n const tooltipRef = overlayRef.attach(this.tooltipPortal);\n this.tooltipRef.set(tooltipRef);\n\n tooltipRef.setInput('title', this.title());\n tooltipRef.setInput('position', this.position());\n tooltipRef.setInput('maxWidth', this.maxWidth());\n tooltipRef.setInput('displayCaret', this.displayCaret());\n tooltipRef.changeDetectorRef.detectChanges();\n }, this.delayMs());\n }\n\n positionChangeSub: Subscription | undefined;\n\n // updates the tooltip panel's caret position if a fallback position is used\n handlePositionChange = effect(() => {\n\n this.positionChangeSub?.unsubscribe();\n this.positionChangeSub = this.positionStrategy().positionChanges.subscribe(positionChange => {\n\n const newPosition = positionChange.connectionPair;\n\n const positionNames = Object.keys(positionMap);\n const newPositionName = positionNames.find(name => {\n const pos = positionMap[name];\n\n return pos.originX === newPosition.originX &&\n pos.originY === newPosition.originY &&\n pos.overlayX === newPosition.overlayX &&\n pos.overlayY === newPosition.overlayY;\n })\n\n if (newPositionName) {\n this.tooltipRef()?.setInput('position', newPositionName);\n this.tooltipRef()?.changeDetectorRef.detectChanges();\n }\n })\n })\n\n hideTooltip(): void {\n window.clearTimeout(this.openDelayTimer);\n this.openDelayTimer = undefined;\n this.overlayRef()?.detach();\n this.tooltipRef.set(undefined);\n }\n\n ngOnDestroy(): void {\n this.positionChangeSub?.unsubscribe();\n this.hideTooltip();\n }\n}\n","/* eslint-disable @rx-angular/prefer-no-layout-sensitive-apis */\nimport { CdkOverlayOrigin, FlexibleConnectedPositionStrategyOrigin } from '@angular/cdk/overlay';\nimport { NgClass } from '@angular/common';\nimport { Component, HostBinding, Input,input } from '@angular/core';\n\nimport { FwTooltipDirective } from './tooltip.directive';\nimport { SimplePosition } from './tooltip-panel/tooltip-panel.component';\n\ntype DelayLength = 'none' | 'short' | 'long';\n\n/**\n * component for giving extra context when a user hovers something\n * @deprecated use the [tooltip directive](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-tooltip--docs) instead, intend to remove in v3\n * @see [Vision Docs](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-wrapped-tooltip--docs)\n */\n@Component({\n selector: 'fw-tooltip',\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.component.scss'],\n imports: [NgClass, FwTooltipDirective],\n})\nexport class FwTooltipComponent {\n @Input() title: string;\n @Input() color: 'light' | 'dark' = 'dark';\n @Input() position: SimplePosition = 'above';\n @Input() maxWidth?: number = 200;\n @Input() fullWidth?: boolean = false;\n // TODO v3: remove, we shouldn't need to give direct control over a tooltip's open state\n @Input() isOpen: boolean = false;\n // TODO v3: this is a no-op input, we should remove\n @Input() trigger: CdkOverlayOrigin | FlexibleConnectedPositionStrategyOrigin;\n\n delay = input<DelayLength>('short');\n\n @HostBinding('attr.class') get classes(): string {\n return ['fw-tooltip', this.fullWidth ? 'full-width' : null].filter(Boolean).join(' ');\n };\n\n /**\n * stops the browser built-in tooltip from showing up\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/title\n */\n @HostBinding('attr.title') get attrTitle(): string {\n return '';\n };\n\n}\n","<div\n [ngClass]=\"['tooltip-trigger',fullWidth?'full-width':'']\"\n [fwTooltip]=\"title\"\n [fwTooltipDelay]=\"delay()\"\n [fwTooltipPosition]=\"position\">\n <ng-content></ng-content>\n</div>\n","import { Overlay, OverlayModule } from '@angular/cdk/overlay';\nimport { CdkNoDataRow } from '@angular/cdk/table';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwPopoverModule } from '../popover/popover.module';\nimport { FwTooltipComponent } from './tooltip.component';\nimport { FwTooltipDirective } from './tooltip.directive';\nimport { FwTooltipPanelComponent } from './tooltip-panel/tooltip-panel.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwPopoverModule,\n OverlayModule,\n CdkNoDataRow,\n FwTooltipDirective,\n FwTooltipComponent,\n FwTooltipPanelComponent,\n ],\n exports: [\n FwTooltipComponent,\n FwTooltipPanelComponent,\n FwTooltipDirective,\n ],\n providers: [\n Overlay,\n ],\n})\nexport class FwTooltipModule {\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n contentChildren,\n effect,\n ElementRef,\n inject,\n input,\n OnDestroy,\n OnInit,\n signal,\n viewChild,\n} from '@angular/core';\nimport { BehaviorSubject, debounce, distinctUntilChanged, Subscription, timer } from 'rxjs';\n\nimport { FwAvatarComponent } from '../avatar/avatar.component';\nimport { FwAvatarModule } from '../avatar/avatar.module';\nimport { FwTooltipModule } from '../tooltip/tooltip.module';\n\n// the nature of this component is to handle a complex layout issue so disabling this lint rule\n/* eslint-disable @rx-angular/prefer-no-layout-sensitive-apis */\n\n\n/**\n * Component for displaying and managing the overflow of a list of `fw-avatar`s\n * @see [Vision Docs](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-avatar-list--docs)\n */\n@Component({\n selector: 'fw-avatar-list',\n imports: [\n FwAvatarModule,\n FwTooltipModule,\n ],\n templateUrl: './avatar-list.component.html',\n styleUrl: './avatar-list.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FwAvatarListComponent implements OnInit, OnDestroy {\n\n private subscriptions: Subscription[] = [];\n\n hostElement = inject(ElementRef);\n avatars = contentChildren<FwAvatarComponent>(FwAvatarComponent);\n avatarElementRefs = contentChildren<FwAvatarComponent, ElementRef>(FwAvatarComponent, { read: ElementRef });\n moreText = viewChild.required<ElementRef<HTMLParagraphElement>>('moreText');\n changeDetector = inject(ChangeDetectorRef);\n resizeDebounceMs = input(100);\n\n ngOnInit(): void {\n // wire up resize observer to rxjs and debouce\n const resize$ = new BehaviorSubject<ResizeObserverEntry[]>([]);\n const recalcOnResize$ = resize$.pipe(\n debounce(() => timer(this.resizeDebounceMs())), // debounce otherwise it can run EVERY frame\n distinctUntilChanged(),\n );\n\n const resizeObserver = new ResizeObserver((resizeEntries) => {\n resize$.next(resizeEntries);\n })\n resizeObserver.observe(this.hostElement.nativeElement, { });\n const sub = recalcOnResize$.subscribe(() => this.calcOverflow());\n this.subscriptions.push(sub);\n }\n\n applyBorderToChildAvatars = effect(() => {\n this.avatarElementRefs().forEach(ref => {\n (ref.nativeElement as HTMLElement).setAttribute('bordered', 'true');\n });\n });\n\n childrenChanged = effect(() => {\n this.avatarElementRefs();\n this.calcOverflow();\n });\n\n\n hiddenAvatars = signal([]);\n\n calcOverflow(): void {\n\n const hostRect = (this.hostElement.nativeElement as HTMLElement).getBoundingClientRect();\n const avatarElements = this.avatarElementRefs().map(ref => ref.nativeElement as HTMLElement);\n const moreTextElement = this.moreText().nativeElement;\n\n avatarElements.forEach(avatar => avatar.classList.remove('hidden'));\n moreTextElement.classList.remove('hidden');\n\n const visibleAvatars = avatarElements.filter(avatar => {\n const avatarRect = avatar.getBoundingClientRect();\n return !(avatarRect.right > hostRect.right || avatarRect.bottom > hostRect.bottom);\n })\n\n const overflowingAvatars = avatarElements.toSpliced(0, visibleAvatars.length);\n\n if (overflowingAvatars.length > 0) {\n const lastVisibleAvatar = visibleAvatars[visibleAvatars.length - 1];\n const enoughRoomForMoreText = (hostRect.right - lastVisibleAvatar.getBoundingClientRect().right) > (moreTextElement.offsetWidth);\n\n if (!enoughRoomForMoreText) {\n overflowingAvatars.push(lastVisibleAvatar);\n }\n\n this.hiddenAvatars.set(overflowingAvatars);\n overflowingAvatars.forEach(overflowAvatar => {\n overflowAvatar.classList.add('hidden');\n })\n } else {\n this.moreText().nativeElement.classList.add('hidden');\n }\n\n // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis\n this.changeDetector.detectChanges();\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach(sub => sub.unsubscribe());\n }\n\n}\n","<ng-content select=\"fw-avatar\"></ng-content>\n<fw-tooltip> <!--TODO: figure out how to get a tooltip-->\n <p #moreText> +{{hiddenAvatars().length}} </p>\n</fw-tooltip>\n","import { NgIf } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'fw-badge',\n templateUrl: './badge.component.html',\n styleUrls: ['./badge.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgIf],\n})\nexport class FwBadgeComponent {\n @Input() color?: 'default' | 'primary' | 'secondary' | 'error' | 'warning' | 'success' = 'default';\n @Input() variant?: 'standard' | 'dot' | 'static' = 'standard';\n @Input() value?: string = '';\n @Input() hideZero?: boolean = false;\n @Input() hideEmpty?: boolean = false;\n\n @HostBinding('class') get cssClass(): string {\n return ['fw-badge', this.color, this.variant].join(' ');\n }\n\n showBadge(): boolean {\n let show = true;\n if (this.hideEmpty) {\n show = !(this.value.length === 0);\n }\n if (this.hideZero) {\n show = !(this.value && this.value === '0' || (this.hideEmpty && this.value.length === 0));\n }\n return show;\n }\n}\n","<ng-content></ng-content>\n<div class=\"badge-content vision-p4\" *ngIf=\"showBadge()\">\n {{ value }}\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwBadgeComponent } from './badge.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwBadgeComponent,\n ],\n exports: [\n FwBadgeComponent,\n ],\n})\nexport class FwBadgeModule {\n}\n","import { NgIf } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\n\nimport { FwIconComponent } from '../icon/icon.component';\n\n@Component({\n selector: 'fw-crumb',\n templateUrl: './crumb.component.html',\n styleUrls: ['./crumb.component.scss'],\n imports: [NgIf, FwIconComponent],\n})\nexport class FwCrumbComponent {\n @Input() title: string;\n @Input() description?: string;\n @Input() href?: string;\n @Input() last?: boolean;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() click: EventEmitter<Event> = new EventEmitter<Event>();\n\n handleClick(evt: Event): void {\n evt.stopPropagation();\n if (this.href) {\n window.location.href = this.href;\n }\n this.click.emit(evt);\n }\n}\n","<div (click)=\"handleClick($event)\">\n <h3 class=\"vision-h3\">{{ title }}</h3>\n <p *ngIf=\"description\" class=\"vision-p3\">{{ description }}</p>\n</div>\n<fw-icon *ngIf=\"!last\" size=\"medium\" color=\"slate\">chevron-forward</fw-icon>\n","import { AfterContentInit, Component, ContentChildren, QueryList } from '@angular/core';\n\nimport { FwCrumbComponent } from './crumb.component';\n\n@Component({\n selector: 'fw-breadcrumbs',\n template: '<ng-content select=\"fw-crumb\"></ng-content>',\n styleUrls: ['./breadcrumbs.component.scss'],\n})\nexport class FwBreadcrumbsComponent implements AfterContentInit {\n @ContentChildren(FwCrumbComponent) crumbs: QueryList<FwCrumbComponent>;\n\n ngAfterContentInit(): void {\n this.crumbs.forEach((crumb, index) => {\n if (index === this.crumbs.length - 1) {\n crumb.last = true;\n }\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwBreadcrumbsComponent } from './breadcrumbs.component';\nimport { FwCrumbComponent } from './crumb.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n FwBreadcrumbsComponent,\n FwCrumbComponent,\n ],\n exports: [\n FwBreadcrumbsComponent,\n FwCrumbComponent,\n ],\n})\nexport class FwBreadcrumbsModule {\n}\n","import { NgClass, NgIf,NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, Input, ViewChild, ViewEncapsulation } from '@angular/core';\n\n/** Based on [mat-progress-spinner](https://material.angular.io/components/progress-spinner/) */\n@Component({\n selector: 'fw-progress-spinner',\n host: {\n 'role': 'progressbar',\n 'class': 'fw-progress-spinner',\n 'tabindex': '-1',\n '[class.progress-indeterminate]': 'mode === \"indeterminate\"',\n '[class.progress-small]': 'size === \"small\"',\n '[class.progress-show-value]': 'this.showValue',\n '[style.width.px]': 'diameter',\n '[style.height.px]': 'diameter',\n // '[style.--progress-size]': 'diameter + \"px\"',\n // '[style.--progress-active-indicator-width]': 'diameter + \"px\"',\n '[attr.aria-valuemin]': '0',\n '[attr.aria-valuemax]': '100',\n '[attr.aria-valuenow]': 'mode === \"determinate\" ? value : null',\n '[attr.mode]': 'mode',\n },\n templateUrl: './spinner.component.html',\n styleUrls: ['./spinner.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n NgClass,\n NgTemplateOutlet,\n NgIf,\n ],\n})\nexport class FwProgressSpinnerComponent {\n /** The element of the determinate spinner. */\n @ViewChild('determinateSpinner') _determinateCircle: ElementRef<HTMLElement>;\n\n constructor(\n readonly _elementRef: ElementRef<HTMLElement>,\n ) {\n }\n\n /** Mode of the progress spinner. **/\n @Input() mode: 'determinate' | 'indeterminate' = 'indeterminate';\n\n /** Size of the progress spinner. **/\n @Input() size: 'small' | 'medium' = 'medium';\n\n /** Color of the progress spinner. **/\n @Input() color?: 'primary' | 'secondary' | 'red' | 'slate' | 'orange' | 'green' = 'primary';\n\n /** Whether to show the value percentage label on the progress spinner. **/\n @Input() showValue: boolean = false;\n\n /** Value of the progress spinner. Defaults to zero. Mirrored to aria-valuenow. **/\n @Input()\n get value(): number {\n // return this.mode === 'determinate' ? this._value : 0;\n return this._value;\n }\n\n set value(v: number) {\n this._value = Math.max(0, Math.min(100, v || 0));\n }\n\n private _value: number = 0;\n private _diameter = 20;\n private _strokeWidth: number = 3;\n\n /** The diameter of the progress spinner (will set width and height of svg). */\n get diameter(): number {\n switch (this.size) {\n case 'small':\n this._diameter = 20;\n this._strokeWidth = 3;\n break;\n case 'medium':\n this._diameter = 36;\n this._strokeWidth = 4;\n break;\n }\n return this._diameter;\n }\n\n /** The radius of the spinner, adjusted for stroke width. */\n _circleRadius(): number {\n return (this.diameter - 10) / 2;\n }\n\n /** The view box of the spinner's svg element. */\n _viewBox(): string {\n const viewBox = this._circleRadius() * 2 + this._strokeWidth;\n return `0 0 ${viewBox} ${viewBox}`;\n }\n\n /** The stroke circumference of the svg circle. */\n _strokeCircumference(): number {\n return 2 * Math.PI * this._circleRadius();\n }\n\n /** The dash offset of the svg circle. */\n _strokeDashOffset(): number {\n if (this.mode === 'determinate') {\n return (this._strokeCircumference() * (100 - this._value)) / 100;\n }\n return null;\n }\n\n /** Stroke width of the circle in percent. */\n _circleStrokeWidth(): number {\n return (this._strokeWidth / this.diameter) * 100;\n }\n}\n","<ng-template #circle>\n <svg\n [attr.viewBox]=\"_viewBox()\"\n [ngClass]=\"['progress-indeterminate-circle-graphic', color]\"\n xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\">\n <circle\n [attr.r]=\"_circleRadius()\"\n [style.stroke-dasharray.px]=\"_strokeCircumference()\"\n [style.stroke-dashoffset.px]=\"_strokeDashOffset()\"\n [style.stroke-width.%]=\"_circleStrokeWidth()\"\n class=\"progress-indeterminate-track\"\n cx=\"50%\" cy=\"50%\"/>\n <circle\n [attr.r]=\"_circleRadius()\"\n [style.stroke-dasharray.px]=\"_strokeCircumference()\"\n [style.stroke-dashoffset.px]=\"_strokeCircumference() / 2\"\n [style.stroke-width.%]=\"_circleStrokeWidth()\"\n cx=\"50%\" cy=\"50%\"/>\n </svg>\n</ng-template>\n\n<div class=\"progress-determinate-container\" aria-hidden=\"true\" #determinateSpinner>\n <svg\n [attr.viewBox]=\"_viewBox()\"\n [ngClass]=\"['progress-determinate-circle-graphic', color]\"\n xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\">\n <circle\n [attr.r]=\"_circleRadius()\"\n [style.stroke-dasharray.px]=\"_strokeCircumference()\"\n [style.stroke-dashoffset.px]=\"_strokeDashOffset()\"\n [style.stroke-width.%]=\"_circleStrokeWidth()\"\n class=\"progress-determinate-track\"\n cx=\"50%\" cy=\"50%\"/>\n <circle\n [attr.r]=\"_circleRadius()\"\n [style.stroke-dasharray.px]=\"_strokeCircumference()\"\n [style.stroke-dashoffset.px]=\"_strokeDashOffset()\"\n [style.stroke-width.%]=\"_circleStrokeWidth()\"\n class=\"progress-determinate-circle\"\n cx=\"50%\" cy=\"50%\"/>\n </svg>\n</div>\n<div class=\"progress-indeterminate-container\" aria-hidden=\"true\">\n <div class=\"progress-spinner-layer\">\n <div class=\"progress-circle-clipper progress-circle-left\">\n <ng-container [ngTemplateOutlet]=\"circle\"></ng-container>\n </div>\n <div class=\"progress-circle-clipper progress-circle-right\">\n <ng-container [ngTemplateOutlet]=\"circle\"></ng-container>\n </div>\n </div>\n</div>\n<p [ngClass]=\"['progress-label','size-'+size, 'mode-'+mode]\" *ngIf=\"showValue\">{{ value }}%</p>\n","import { NgIf } from '@angular/common';\nimport { Component, HostBinding, Input } from '@angular/core';\n\nimport { FwIconComponent } from '../icon/icon.component';\nimport { IconType } from '../icon/icon.types';\nimport { FwProgressSpinnerComponent } from '../progress/spinner/spinner.component';\n\n@Component({\n selector: 'fw-button',\n styleUrls: ['./button.component.scss'],\n templateUrl: './button.component.html',\n imports: [\n NgIf,\n FwProgressSpinnerComponent,\n FwIconComponent,\n ],\n})\nexport class FwButtonComponent {\n @HostBinding('attr.class') get classes(): string {\n return ['fw-button', this.size, this.fullWidth ? 'full-width' : null].filter(Boolean).join(' ');\n }\n\n @Input() color?: 'primary' | 'secondary' | 'danger' | 'slate' | 'skeleton' | 'warning' | 'success' = 'primary';\n @Input() size?: 'small' | 'medium' | 'large' = 'medium';\n @Input() variant?: 'ghost' | 'solid' | 'outline' | 'progress' = 'solid';\n @Input() type?: 'button' | 'submit' | 'reset';\n @Input() disabled?: boolean = false;\n @Input() fullWidth?: boolean = false;\n @Input() leftIcon?: IconType;\n @Input() rightIcon?: IconType;\n\n getMappedColor(): 'primary' | 'secondary' | 'red' | 'slate' | 'orange' | 'green' | undefined {\n switch (this.color) {\n case 'primary':\n case 'secondary':\n case 'slate':\n return this.color;\n case 'danger':\n return 'red';\n case 'warning':\n return 'orange';\n case 'success':\n return 'green';\n default:\n return undefined;\n }\n }\n}\n","<button [type]=\"type\" [class]=\"[color + '-' + variant, size]\" [disabled]=\"disabled\">\n <fw-progress-spinner size=\"small\" [color]=\"getMappedColor()\" *ngIf=\"variant==='progress'\"></fw-progress-spinner>\n <fw-icon *ngIf=\"!!leftIcon && variant!=='progress'\">{{ leftIcon }}</fw-icon>\n <div class=\"spacer\" *ngIf=\"!leftIcon\"></div>\n <span><ng-content></ng-content></span>\n <fw-icon *ngIf=\"!!rightIcon\">{{ rightIcon }}</fw-icon>\n</button>\n","import { Directive, HostBinding } from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n\n@Directive({\n selector: '[fwButton]',\n})\nexport class FwButtonDirective {\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n font-family: Inter, sans-serif;\n font-size: 14px;\n line-height: 14px;\n font-style: normal;\n font-weight: 500;\n display: inline-flex;\n height: 36px;\n padding: 12px;\n justify-content: center;\n align-items: center;\n gap: 8px;\n flex-shrink: 0;\n border: 1px solid transparent;\n border-radius: 8px;\n background-color: var(--slate-light);\n color: var(--typography-base);\n cursor: pointer;\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n\n\n@Directive({\n selector: '[fwButtonPrimary]',\n})\nexport class FwButtonPrimaryDirective {\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n background-color: var(--primary-base) !important;\n color: var(--typography-contrast);\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n\n@Directive({\n selector: '[fwButtonSecondary]',\n})\nexport class FwButtonSecondaryDirective {\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n background-color: var(--secondary-base) !important;\n color: var(--typography-contrast);\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n\n@Directive({\n selector: '[fwButtonDanger]',\n})\nexport class FwButtonDangerDirective {\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n background-color: var(--red-base) !important;\n color: var(--typography-contrast);\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n\n@Directive({\n selector: '[fwButtonSuccess]',\n})\nexport class FwButtonSuccessDirective {\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n background-color: var(--green-base) !important;\n color: var(--typography-contrast);\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n","import { NgClass,NgIf } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Input,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\n\n/** Based on [mat-progress-bar](https://material.angular.io/components/progress-bar/) */\n@Component({\n selector: 'fw-progress-bar',\n host: {\n 'role': 'progressbar',\n 'class': 'fw-progress-bar progress progress-animation-ready',\n 'tabindex': '-1',\n '[class.progress-indeterminate]': 'mode === \"indeterminate\"',\n '[class.progress-show-value]': 'this.showValue',\n '[attr.aria-valuemin]': '0',\n '[attr.aria-valuemax]': '100',\n '[attr.aria-valuenow]': '_isIndeterminate() ? null : value',\n '[attr.mode]': 'mode',\n },\n templateUrl: './bar.component.html',\n styleUrls: ['./bar.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [NgIf, NgClass],\n})\nexport class FwProgressBarComponent {\n /** The element of the determinate spinner. */\n @ViewChild('determinateSpinner') _determinateCircle: ElementRef<HTMLElement>;\n\n constructor(\n readonly _elementRef: ElementRef<HTMLElement>,\n private _changeDetectorRef: ChangeDetectorRef,\n ) {\n }\n\n /** Mode of the progress bar. **/\n @Input() mode: 'determinate' | 'indeterminate' | 'buffer' = 'indeterminate';\n\n /** Color of the progress bar. **/\n @Input() color: 'primary' | 'secondary' | 'orange' | 'red' | 'green' = 'primary';\n\n /** Whether to show the value percentage label on the progress bar. **/\n @Input() showValue: boolean = false;\n\n /** Value of the progress bar. Defaults to zero. Mirrored to aria-valuenow. **/\n @Input()\n get value(): number {\n // return this.mode === 'determinate' ? this._value : 0;\n return this._value;\n }\n\n set value(v: number) {\n this._value = clamp(v || 0);\n // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis\n this._changeDetectorRef.markForCheck();\n }\n\n private _value: number = 0;\n\n /** Buffer value of the progress bar. Defaults to zero. */\n @Input()\n get bufferValue(): number {\n return this._bufferValue || 0;\n }\n\n set bufferValue(v: number) {\n this._bufferValue = clamp(v || 0);\n // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis\n this._changeDetectorRef.markForCheck();\n }\n\n private _bufferValue = 0;\n\n /** Gets the transform style that should be applied to the primary bar. */\n _getPrimaryBarTransform(): string {\n return `scaleX(${this._isIndeterminate() ? 1 : this.value / 100})`;\n }\n\n /** Gets the `flex-basis` value that should be applied to the buffer bar. */\n _getBufferBarFlexBasis(): string {\n return `${this.mode === 'buffer' ? this.bufferValue : 100}%`;\n }\n\n /** Returns whether the progress bar is indeterminate. */\n _isIndeterminate(): boolean {\n return this.mode === 'indeterminate';\n }\n}\n\n/** Clamps a value to be between two numbers, by default 0 and 100. */\nfunction clamp(v: number, min = 0, max = 100): number {\n return Math.max(min, Math.min(max, v));\n}\n","<div class=\"progress-wrapper\">\n <div class=\"progress-buffer\" aria-hidden=\"true\">\n <div\n class=\"progress-buffer-bar\"\n [style.flex-basis]=\"_getBufferBarFlexBasis()\"></div>\n <div class=\"progress-buffer-dots\" *ngIf=\"mode === 'buffer'\"></div>\n </div>\n <div\n class=\"progress-bar progress-primary-bar\"\n aria-hidden=\"true\"\n [style.transform]=\"_getPrimaryBarTransform()\">\n <span class=\"progress-bar-inner {{color}}\"></span>\n </div>\n <div class=\"progress-bar progress-secondary-bar\" aria-hidden=\"true\">\n <span class=\"progress-bar-inner {{color}}\"></span>\n </div>\n</div>\n<p [ngClass]=\"['progress-label', 'mode-'+mode]\" *ngIf=\"showValue\">{{ value }}%</p>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwProgressBarComponent } from './bar/bar.component';\nimport { FwProgressSpinnerComponent } from './spinner/spinner.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwProgressBarComponent,\n FwProgressSpinnerComponent,\n ],\n exports: [\n FwProgressBarComponent,\n FwProgressSpinnerComponent,\n ],\n})\nexport class FwProgressModule {\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwProgressModule } from '../progress/progress.module';\nimport { FwButtonComponent } from './button.component';\nimport {\n FwButtonDangerDirective,\n FwButtonDirective,\n FwButtonPrimaryDirective,\n FwButtonSecondaryDirective,\n FwButtonSuccessDirective,\n} from './button.directives';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n FwProgressModule,\n FwButtonComponent,\n FwButtonDirective,\n FwButtonDangerDirective, // these need to come after the main directive\n FwButtonPrimaryDirective,\n FwButtonSecondaryDirective,\n FwButtonSuccessDirective,\n ],\n exports: [\n FwButtonComponent,\n FwButtonDirective,\n FwButtonDangerDirective, // these need to come after the main directive\n FwButtonPrimaryDirective,\n FwButtonSecondaryDirective,\n FwButtonSuccessDirective,\n ],\n})\nexport class FwButtonModule {\n}\n","import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\n\nimport { FwButtonComponent } from '../../button/button.component';\nimport { IconType } from '../../icon/icon.types';\n\n\n@Component({\n selector: 'fw-button-toggle-item',\n templateUrl: './button-toggle-item.component.html',\n styleUrls: [],\n imports: [FwButtonComponent],\n})\nexport class FwButtonToggleItemComponent {\n @Input() title?: string;\n @Input() icon?: IconType;\n @Input() selectedIcon?: IconType;\n @Input() value?: string;\n @Input() selected: boolean = false;\n @Input() disabled: boolean = false;\n @Input() size?: 'small' | 'medium' | 'large' = 'medium';\n @Input() color?: 'primary' | 'secondary' | 'danger' | 'slate' | 'skeleton' | 'warning' | 'success' = 'slate';\n @Input() selectedColor?: 'primary' | 'secondary' | 'danger' | 'slate' | 'skeleton' | 'warning' | 'success' = 'primary';\n @Input() selectedStyle?: 'background' | 'foreground' = 'background';\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() click: EventEmitter<string> = new EventEmitter<string>();\n\n @HostBinding('attr.class') get classes(): string {\n return ['fw-button-toggle-item', this.title && this.title.length > 0 ? 'has-title' : 'no-title'].filter(Boolean).join(' ');\n };\n\n constructor() {\n }\n\n handleClick(): void {\n if (this.value) {\n this.click.emit(this.value);\n }\n }\n}\n","<fw-button\n [leftIcon]=\"(selected && selectedIcon) ? selectedIcon : icon\"\n [variant]=\"(selected && selectedStyle==='background') ? 'solid':'outline'\"\n [color]=\"selected ? selectedColor:color\"\n [size]=\"size\"\n [disabled]=\"disabled\"\n (click)=\"handleClick()\">\n {{ title }}\n</fw-button>\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n QueryList,\n SimpleChanges,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\nimport { FwButtonToggleItemComponent } from '../button-toggle/button-toggle-item/button-toggle-item.component';\n\n@Component({\n selector: 'fw-button-group',\n styleUrls: ['./button-group.component.scss'],\n template: '<ng-content select=\"fw-button-toggle-item,fw-tooltip\"></ng-content>',\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FwButtonGroupComponent),\n multi: true,\n },\n ],\n})\nexport class FwButtonGroupComponent implements ControlValueAccessor, OnChanges, OnDestroy, AfterContentInit {\n @HostBinding('attr.class') get classes(): string {\n return ['fw-button-group', this.size, this.layout].filter(Boolean).join(' ');\n };\n\n @Input() layout?: 'basic' | 'compact' = 'basic';\n @Input() size?: 'small' | 'medium' | 'large' = 'medium';\n @Input() disabled?: boolean = false;\n @Input() color?: 'primary' | 'secondary' | 'danger' | 'slate' | 'skeleton' | 'warning' | 'success';\n @Input() selectedColor?: 'primary' | 'secondary' | 'danger' | 'slate' | 'skeleton' | 'warning' | 'success';\n @ContentChildren(FwButtonToggleItemComponent, { descendants: true }) toggleButtons: QueryList<FwButtonToggleItemComponent>;\n private subscriptions: Subscription[] = [];\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change = new EventEmitter<string[]>();\n private _value: string[];\n @Input()\n get value(): string[] {\n return this._value;\n }\n\n set value(newValue: string[]) {\n this.updateValue(newValue);\n }\n\n constructor(private cdref: ChangeDetectorRef) {\n }\n\n onChange: (value: string[]) => void;\n onTouched = (): void => {\n };\n\n registerOnChange(fn: (value: string[]) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(value: string[]): void {\n this.value = value;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ngOnChanges(changes: SimpleChanges): void {\n this.formatToggles();\n }\n\n ngOnDestroy(): void {\n for (const subscription of this.subscriptions) {\n subscription.unsubscribe();\n }\n }\n\n ngAfterContentInit(): void {\n if (this.toggleButtons.length > 0) {\n this.formatToggles();\n }\n }\n\n updateValue(value: string[]): void {\n this._value = value;\n if (this.onChange) {\n this.onChange(value);\n }\n this.change.emit(value);\n }\n\n formatToggles(): void {\n if (this.toggleButtons) {\n this.toggleButtons.forEach(toggle => {\n if (this.value.indexOf(toggle.value) >= 0) {\n toggle.selected = true;\n }\n toggle.size = this.size;\n if (this.color) {\n toggle.color = this.color;\n }\n if (this.selectedColor) {\n toggle.selectedColor = this.selectedColor;\n }\n if (this.disabled) {\n toggle.disabled = this.disabled;\n }\n const sub = toggle.click.subscribe(() => {\n toggle.selected = !toggle.selected;\n const vals = this.toggleButtons.map(tb => {\n if (tb.selected) {\n return tb.value;\n } else {\n return null;\n }\n }).filter(Boolean);\n this.writeValue(vals);\n });\n this.subscriptions.push(sub);\n });\n }\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n QueryList,\n SimpleChanges,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\nimport { FwButtonToggleItemComponent } from './button-toggle-item/button-toggle-item.component';\n\n@Component({\n selector: 'fw-button-toggle',\n styleUrls: ['./button-toggle.component.scss'],\n template: '<ng-content select=\"fw-button-toggle-item,fw-tooltip\"></ng-content>',\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FwButtonToggleComponent),\n multi: true,\n },\n ],\n})\nexport class FwButtonToggleComponent implements ControlValueAccessor, OnChanges, OnDestroy, AfterContentInit {\n @HostBinding('attr.class') get classes(): string {\n return ['fw-button-toggle', this.size, this.layout].filter(Boolean).join(' ');\n };\n\n @Input() layout?: 'basic' | 'compact' = 'basic';\n @Input() size?: 'small' | 'medium' | 'large' = 'medium';\n @Input() disabled?: boolean = false;\n @Input() color?: 'primary' | 'secondary' | 'danger' | 'slate' | 'skeleton' | 'warning' | 'success';\n @Input() selectedColor?: 'primary' | 'secondary' | 'danger' | 'slate' | 'skeleton' | 'warning' | 'success';\n @ContentChildren(FwButtonToggleItemComponent, { descendants: true }) toggleButtons: QueryList<FwButtonToggleItemComponent>;\n private subscriptions: Subscription[] = [];\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change = new EventEmitter<string>();\n private _value: string;\n @Input()\n get value(): string {\n return this._value;\n }\n\n set value(newValue: string) {\n this.updateValue(newValue);\n }\n\n constructor(private cdref: ChangeDetectorRef) {\n }\n\n onChange: (value: string) => void;\n onTouched = (): void => {\n };\n\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(value: string): void {\n this.value = value;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ngOnChanges(changes: SimpleChanges): void {\n this.formatToggles();\n }\n\n ngOnDestroy(): void {\n for (const subscription of this.subscriptions) {\n subscription.unsubscribe();\n }\n }\n\n ngAfterContentInit(): void {\n if (this.toggleButtons.length > 0) {\n this.formatToggles();\n }\n }\n\n // Inputs need an `${inputName}Change` event to support two-way binding to [(value)]\n // https://angular.dev/guide/templates/two-way-binding\n valueChange(value: string): void {\n this.updateValue(value);\n }\n\n updateValue(value: string): void {\n this._value = value;\n if (this.onChange) {\n this.onChange(value);\n }\n this.change.emit(value);\n }\n\n formatToggles(): void {\n if (this.toggleButtons) {\n this.toggleButtons.forEach(toggle => {\n if (toggle.value === this.value) {\n toggle.selected = true;\n }\n toggle.size = this.size;\n if (this.color) {\n toggle.color = this.color;\n }\n if (this.selectedColor) {\n toggle.selectedColor = this.selectedColor;\n }\n if (this.disabled) {\n toggle.disabled = this.disabled;\n }\n const sub = toggle.click.subscribe(() => {\n if (this.toggleButtons.length === 1) {\n toggle.selected = !toggle.selected;\n } else {\n this.toggleButtons.forEach(t => {\n t.selected = false;\n });\n toggle.selected = true;\n }\n const val = this.toggleButtons.find(t => t.selected)?.value;\n this.writeValue(val);\n });\n this.subscriptions.push(sub);\n });\n }\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { FwButtonModule } from '../button/button.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwButtonToggleComponent } from './button-toggle.component';\nimport { FwButtonToggleItemComponent } from './button-toggle-item/button-toggle-item.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n exports: [\n FwButtonToggleComponent,\n FwButtonToggleItemComponent,\n ],\n imports: [\n FwButtonModule,\n FwIconModule,\n FwButtonToggleComponent,\n FwButtonToggleItemComponent,\n ],\n})\nexport class FwButtonToggleModule {\n}\n","import { NgModule } from '@angular/core';\n\nimport { FwButtonModule } from '../button/button.module';\nimport { FwButtonToggleModule } from '../button-toggle/button-toggle.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwButtonGroupComponent } from './button-group.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n exports: [\n FwButtonGroupComponent,\n ],\n imports: [\n FwButtonModule,\n FwIconModule,\n FwButtonToggleModule,\n FwButtonGroupComponent,\n ],\n})\nexport class FwButtonGroupModule {\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'fw-card',\n templateUrl: './card.component.html',\n styleUrls: ['./card.component.scss'],\n})\nexport class FwCardComponent {\n @Input() value?: object | string;\n @Input() disabled?: boolean;\n @Input() focused?: boolean;\n @Input() constrained?: boolean;\n @Input() selectable?: boolean;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() select: EventEmitter<object | string> = new EventEmitter<object | string>();\n}\n","<div\n class=\"fw-card\"\n [class.focused]=\"focused\"\n [class.constrained]=\"constrained\"\n [class.selectable]=\"selectable\"\n [class.disabled]=\"disabled\"\n (click)=\"select && selectable && !disabled ? select.emit(value) : undefined\">\n <ng-content select=\"fw-card-header\"></ng-content>\n <ng-content select=\"fw-card-author\"></ng-content>\n <ng-content select=\"fw-card-content\"></ng-content>\n <ng-content select=\"fw-card-footer\"></ng-content>\n</div>\n","import { NgIf } from '@angular/common';\nimport { Component, Input } from '@angular/core';\n\nimport { FwIconComponent } from '../../icon/icon.component';\nimport { IconType } from '../../icon/icon.types';\n\n@Component({\n selector: 'fw-card-attr',\n templateUrl: './card-attribute.component.html',\n styleUrls: ['./card-attribute.component.scss'],\n imports: [NgIf, FwIconComponent],\n})\nexport class FwCardAttributeComponent {\n @Input() icon: IconType;\n @Input() title: string;\n}\n","<fw-icon *ngIf=\"icon\">{{ icon }}</fw-icon>\n<h5 *ngIf=\"title\" class=\"vision-h5\">{{ title }}</h5>\n<ng-content></ng-content>\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'fw-card-author',\n templateUrl: './card-author.component.html',\n styleUrls: ['./card-author.component.scss'],\n})\nexport class FwCardAuthorComponent {\n @Input() name: string;\n @Input() details: string;\n}\n","<ng-content select=\"fw-avatar\"></ng-content>\n<div class=\"author-text\">\n <h5 class=\"vision-h5\">{{ name }}</h5>\n <p class=\"vision-p3\">{{ details }}</p>\n</div>\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fw-card-content',\n template: '<ng-content></ng-content>',\n styleUrls: ['./card-content.component.scss'],\n encapsulation: ViewEncapsulation.ShadowDom,\n})\nexport class FwCardContentComponent {\n\n}\n","import { Component, HostBinding } from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n\n@Component({\n selector: 'fw-card-footer',\n template: '<ng-content></ng-content>',\n styleUrls: [],\n})\nexport class FwCardFooterComponent {\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n width: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n margin-top: 8px;\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n","import { NgIf } from '@angular/common';\nimport { Component, Input } from '@angular/core';\n\nimport { FwIconComponent } from '../../icon/icon.component';\nimport { IconType } from '../../icon/icon.types';\n\n@Component({\n selector: 'fw-card-header',\n templateUrl: './card-header.component.html',\n styleUrls: ['./card-header.component.scss'],\n imports: [NgIf, FwIconComponent],\n})\nexport class FwCardHeaderComponent {\n @Input() title?: string;\n @Input() description?: string;\n @Input() leftIcon?: IconType;\n @Input() iconColor?: 'primary' | 'secondary' | 'red' | 'orange' | 'green' | 'slate' | 'muted' | 'typography' = 'primary';\n}\n","<ng-content select=\"fw-app-icon\"></ng-content>\n<fw-icon [color]=\"iconColor\" *ngIf=\"leftIcon\">{{ leftIcon }}</fw-icon>\n<div class=\"card-header-title\">\n <h3 *ngIf=\"title\" class=\"vision-h3\">{{ title }}</h3>\n <p *ngIf=\"description\" class=\"vision-p3\">{{ description }}</p>\n</div>\n<div class=\"card-header-key\">\n <ng-content></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwAvatarModule } from '../avatar/avatar.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwCardComponent } from './card.component';\nimport { FwCardAttributeComponent } from './card-attribute/card-attribute.component';\nimport { FwCardAuthorComponent } from './card-author/card-author.component';\nimport { FwCardContentComponent } from './card-content/card-content.component';\nimport { FwCardFooterComponent } from './card-footer/card-footer.component';\nimport { FwCardHeaderComponent } from './card-header/card-header.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n FwAvatarModule,\n FwCardHeaderComponent,\n FwCardAuthorComponent,\n FwCardContentComponent,\n FwCardAttributeComponent,\n FwCardFooterComponent,\n FwCardComponent, // needs to be declared in order of usage\n ],\n exports: [\n FwCardHeaderComponent,\n FwCardAuthorComponent,\n FwCardContentComponent,\n FwCardAttributeComponent,\n FwCardFooterComponent,\n FwCardComponent, // needs to be declared in order of usage\n ],\n})\nexport class FwCardModule {\n}\n","import { NgClass } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'fw-checkbox',\n styleUrls: ['./checkbox.component.scss'],\n templateUrl: './checkbox.component.html',\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: FwCheckboxComponent,\n multi: true,\n }],\n imports: [NgClass],\n})\nexport class FwCheckboxComponent implements ControlValueAccessor {\n @Input() name?: string;\n @Input() disabled: boolean = false;\n @Input() size: 'medium' | 'compact' = 'medium';\n @Input() color: 'primary' | 'secondary' = 'primary';\n @Input() title: string;\n @Input() focused: boolean = false;\n\n get checkboxStyles(): string[] {\n return [\n 'fw-checkbox',\n this.color,\n this.size,\n this.focused ? 'focused' : '',\n this.checked === undefined ? 'indeterminate' : '',\n this.disabled ? 'disabled' : '',\n ];\n }\n\n @Input() checked?: boolean;\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change = new EventEmitter<boolean>();\n\n onChange: (value: boolean) => void;\n onTouched = (): void => {\n };\n\n registerOnChange(fn: (value: boolean) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(checked: boolean): void {\n this.checked = checked;\n }\n\n handleClick(): void {\n this.onTouched();\n if (!this.disabled) {\n this.checked = !this.checked;\n if (this.onChange) {\n this.onChange(this.checked);\n }\n this.change.emit(this.checked);\n }\n }\n}\n","<div class=\"checkbox-wrapper\" (click)=\"handleClick()\" [ngClass]=\"disabled?'disabled':''\">\n <div [ngClass]=\"checkboxStyles\">\n <input\n type=\"checkbox\"\n class=\"checkbox\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n (focusout)=\"focused=false\"\n (focusin)=\"focused=true\"\n />\n </div>\n <p class=\"vision-p2\">{{ title }}\n <ng-content></ng-content>\n </p>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { FwCheckboxComponent } from './checkbox.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n FwCheckboxComponent,\n ],\n exports: [\n FwCheckboxComponent,\n ],\n})\nexport class FwCheckboxModule {\n}\n","import { NgClass } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\n\nimport { FwIconComponent } from '../icon/icon.component';\nimport { IconType } from '../icon/icon.types';\n\n@Component({\n selector: 'fw-chip',\n templateUrl: './chip.component.html',\n styleUrls: ['./chip.component.scss'],\n imports: [NgClass, FwIconComponent],\n})\nexport class FwChipComponent {\n @Input() value?: object | string;\n @Input() variant?: 'enabled' | 'hovered' | 'focused' | 'disabled' = 'enabled';\n @Input() color?: 'slate' | 'primary' | 'secondary' | 'red' | 'green' | 'orange' = 'slate';\n @Input() icon?: IconType;\n @Input() title?: string;\n @Input() description?: string;\n @Input() showClose?: boolean;\n @Input() disabled?: boolean;\n @Input() selected?: boolean;\n @Input() textWrap? = true;\n @Input() selectable?: boolean = true;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() close: EventEmitter<void> = new EventEmitter<void>();\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() select: EventEmitter<object | string> = new EventEmitter<object | string>();\n\n handleClose(event: MouseEvent): void {\n event.stopPropagation();\n if (this.close) {\n this.close.emit();\n }\n }\n}\n","<div\n [ngClass]=\"['chip', variant, 'chip-'+color]\" [class.disabled]=\"disabled\" [class.focused]=\"selected\"\n [class.selectable]=\"selectable\" (click)=\"selectable ? select.emit(value) : undefined\">\n\n @if (icon) {\n <fw-icon class=\"chip-icon\">{{ icon }}</fw-icon>\n }\n\n <ng-content select=\"fw-avatar\"></ng-content>\n <ng-content select=\"fw-progress-spinner\"></ng-content>\n @if (title) {\n <div class=\"chip-text-container\">\n <span [class.text-wrap]=\"!textWrap\" class=\"chip-text\">{{ title }}</span>\n\n @if (description) {\n <span class=\"description\">{{ description }}</span>\n }\n </div>\n }\n\n @if (showClose) {\n <div class=\"close-icon\" (click)=\"handleClose($event)\">\n <fw-icon>close</fw-icon>\n </div>\n }\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwIconButtonModule } from '../icon-button/icon-button.module';\nimport { FwChipComponent } from './chip.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n FwIconButtonModule,\n FwChipComponent,\n ],\n exports: [\n FwChipComponent,\n ],\n})\nexport class FwChipModule {\n}\n","import { NgClass, NgIf } from '@angular/common';\nimport { Component, EventEmitter, forwardRef, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'fw-switch',\n templateUrl: './switch.component.html',\n styleUrls: ['./switch.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FwSwitchComponent),\n multi: true,\n },\n ],\n imports: [NgClass, NgIf],\n})\nexport class FwSwitchComponent implements ControlValueAccessor {\n @Input() name?: string;\n @Input() title?: string;\n @Input() titlePosition?: 'start' | 'end' = 'end';\n @Input() size?: 'small' | 'medium' = 'medium';\n @Input() color?: 'default' | 'primary' | 'secondary' = 'primary';\n @Input() disabled?: boolean;\n @Input() checked: boolean = false;\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change = new EventEmitter<boolean>();\n\n onChange: (value: boolean) => void;\n onTouched = (): void => {\n };\n\n registerOnChange(fn: (value: boolean) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(checked: boolean): void {\n this.checked = checked;\n }\n\n handleClick(): void {\n this.onTouched();\n if (!this.disabled) {\n this.checked = !this.checked;\n if (this.onChange) {\n this.onChange(this.checked);\n }\n this.change.emit(this.checked);\n }\n }\n}\n","<div\n [ngClass]=\"['fw-switch', 'size-'+size, 'title-'+titlePosition, color, disabled?'disabled':'']\"\n (click)=\"handleClick()\">\n <div class=\"switch-track\" [ngClass]=\"[checked?'checked':'']\">\n <div class=\"switch-slide\"></div>\n <div class=\"switch-knob\"></div>\n </div>\n <input type=\"checkbox\" [checked]=\"checked\" [disabled]=\"disabled\" [name]=\"name\">\n <label *ngIf=\"title\"><p class=\"vision-p2\">{{ title }}</p></label>\n</div>\n","import { NgIf } from '@angular/common';\nimport { Component, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { FwCheckboxComponent } from '../checkbox/checkbox.component';\nimport { FwSwitchComponent } from '../switch/switch.component';\n\n@Component({\n selector: 'fw-contained-input',\n templateUrl: './contained-input.component.html',\n styleUrls: ['./contained-input.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: FwContainedInputComponent,\n multi: true,\n }],\n imports: [\n NgIf,\n FwSwitchComponent,\n FwCheckboxComponent,\n ],\n})\nexport class FwContainedInputComponent implements ControlValueAccessor {\n @Input() title: string;\n @Input() description?: string;\n @Input() status?: string;\n @Input() inputPosition?: 'start' | 'end' = 'end';\n @Input() inputVariant?: 'none' | 'switch' | 'checkbox' = 'switch';\n @Input() checked?: boolean;\n @Input() disabled?: boolean;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change = new EventEmitter<boolean>();\n\n @HostListener('click') clicked(): void {\n if (!this.disabled) {\n this.writeValue(!this.checked);\n this.onChange(this.checked);\n this.change.emit(this.checked);\n }\n }\n\n @HostBinding('attr.class') get classes(): string {\n return [\n 'fw-contained-input',\n `position-${this.inputPosition}`,\n [this.checked ? 'checked' : ''],\n [this.disabled ? 'disabled' : ''],\n ].join(' ');\n };\n\n public onTouch = (): void => {\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public onChange = (value: boolean): void => {\n };\n\n writeValue(checked: boolean): void {\n this.checked = checked;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","<div class=\"heading-area\">\n <ng-content select=\"fw-avatar\"></ng-content>\n <div>\n <h4 class=\"vision-h4 section-heading\">{{ title }}\n <span *ngIf=\"status\" class=\"status\">{{ status.toUpperCase() }}</span>\n <ng-content select=\"fw-icon\"></ng-content>\n </h4>\n <p class=\"vision-p3\" *ngIf=\"description\">{{ description }}</p>\n </div>\n</div>\n<div class=\"input-content\">\n <fw-switch *ngIf=\"inputVariant==='switch'\" [checked]=\"checked\" [disabled]=\"disabled\" color=\"primary\"></fw-switch>\n <fw-checkbox\n *ngIf=\"inputVariant==='checkbox'\" [checked]=\"checked\" [disabled]=\"disabled\" color=\"primary\"></fw-checkbox>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwSwitchComponent } from './switch.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwSwitchComponent,\n ],\n exports: [\n FwSwitchComponent,\n ],\n})\nexport class FwSwitchModule {\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwButtonModule } from '../button/button.module';\nimport { FwCheckboxModule } from '../checkbox/checkbox.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwSwitchModule } from '../switch/switch.module';\nimport { FwContainedInputComponent } from './contained-input.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwButtonModule,\n FwIconModule,\n FwSwitchModule,\n FwCheckboxModule,\n FwContainedInputComponent,\n ],\n exports: [\n FwContainedInputComponent,\n ],\n})\nexport class FwContainedInputModule {\n}\n","import { NgClass,NgIf } from '@angular/common';\nimport { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { FwIconComponent } from '../icon/icon.component';\nimport { IconType } from '../icon/icon.types';\n\n@Component({\n selector: 'fw-date-input',\n templateUrl: './date-input.component.html',\n styleUrls: ['./date-input.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: FwDateInputComponent,\n multi: true,\n }],\n imports: [\n NgIf,\n FwIconComponent,\n NgClass,\n ],\n})\nexport class FwDateInputComponent implements ControlValueAccessor {\n\n @Input() disabled?: boolean = false;\n @Input() useActionableIcons?: boolean = false;\n @Input() leftIcon?: IconType;\n @Output() leftIconAction?: EventEmitter<void> = new EventEmitter<void>();\n @Input() prefix?: string;\n /**\n * @deprecated please use fw-wrapped-input instead\n */\n @Input() helperText?: string;\n /**\n * @deprecated please use fw-wrapped-input instead\n */\n @Input() errorText?: string;\n @Input() placeholder?: string = 'mm/dd/yyyy';\n @Input() readOnly?: boolean;\n @Input() size?: 'small' | 'medium' | 'large' = 'medium';\n @Input() type?: 'date' | 'time' | 'datetime-local' = 'date';\n @Input() max?: string;\n @Input() min?: string;\n @Input() step?: number;\n @Input() autofocus?: string;\n @Input() autocomplete?: string;\n // we bind this to host because that's where angular form apis put the error classes\n @HostBinding('class.errored') @Input() error?: boolean = false;\n\n private _value: string;\n @Input()\n get value(): string {\n return this._value;\n }\n\n set value(newValue: string) {\n if (this.isIsoDate(newValue)) {\n this.setDateString(newValue);\n } else {\n this.writeValue(newValue);\n }\n }\n\n externalControl: FormControl = null;\n\n public onTouch = (): void => {\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public onChange = (value: string): void => {\n };\n\n public setDate(value: Date): void {\n const year = value.getFullYear();\n const month = (value.getMonth() + 1).toString().padStart(2, '0');\n const day = value.getDate().toString().padStart(2, '0');\n const hours = value.getHours().toString().padStart(2, '0');\n const minutes = value.getMinutes().toString().padStart(2, '0');\n if (this.type === 'date') {\n this.writeValue(`${year}-${month}-${day}`);\n }\n if (this.type === 'datetime-local') {\n this.writeValue(`${year}-${month}-${day}T${hours}:${minutes}:00`);\n }\n if (this.type === 'time') {\n this.writeValue(`${hours}:${minutes}`);\n }\n }\n\n public setDateString(isoValue: string): void {\n this.setDate(new Date(isoValue));\n }\n\n isIsoDate(str): boolean {\n if (!/\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{3}Z/.test(str)) {\n return false;\n }\n const d = new Date(str);\n return !isNaN(d.getTime()) && d.toISOString() === str; // valid date\n }\n\n writeValue(obj: string): void {\n this._value = obj;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n changeHandler(event: Event): void {\n this.value = (event.target as HTMLInputElement).value;\n this.onChange(this.value);\n this.onTouch();\n }\n\n blurHandler(): void {\n this.onTouch();\n }\n\n onLeftIconClick(): void {\n this.leftIconAction.emit();\n }\n\n}\n","<div class=\"full-container\">\n <div class=\"input-container\" [class]=\"size\">\n <fw-icon\n *ngIf=\"!!leftIcon\"\n (click)=\"useActionableIcons?onLeftIconClick():null\"\n [ngClass]=\"useActionableIcons?'actionable':''\">\n {{ leftIcon }}\n </fw-icon>\n <p class=\"vision-p2 context\" *ngIf=\"!!prefix\">{{ prefix }}</p>\n <input\n [type]=\"type\"\n (keyup)=\"changeHandler($event)\"\n (blur)=\"blurHandler()\"\n (change)=\"changeHandler($event)\"\n [value]=\"value\"\n [max]=\"max\"\n [min]=\"min\"\n [step]=\"step\"\n [placeholder]=\"placeholder || ''\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [autofocus]=\"autofocus\"\n [autocomplete]=\"autocomplete\">\n <fw-icon class=\"error-icon\">warning-circle</fw-icon>\n </div>\n <p class=\"vision-p4 helper-text\" *ngIf=\"!!helperText\">{{ helperText }}</p>\n <p class=\"vision-p4 error-text\" *ngIf=\"!!errorText\">{{ errorText }}</p>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwDateInputComponent } from './date-input.component';\n\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n ReactiveFormsModule,\n FwDateInputComponent,\n ],\n exports: [\n FwDateInputComponent,\n ],\n})\nexport class FwDateInputModule {\n}\n","import { DialogRef } from '@angular/cdk/dialog';\nimport { NgIf } from '@angular/common';\nimport { Component, ElementRef, EventEmitter, HostBinding, Input, Optional, Output } from '@angular/core';\n\nimport { FwIconComponent } from '../icon/icon.component';\nimport { IconType } from '../icon/icon.types';\nimport { FwIconButtonComponent } from '../icon-button/icon-button.component';\n\nexport enum DialogWidth {\n ExtraSmall = 'extra-small',\n Small = 'small',\n Medium = 'medium',\n Large = 'large',\n ExtraLarge = 'extra-large',\n Responsive = 'responsive'\n}\n\n@Component({\n selector: 'fw-dialog',\n templateUrl: './dialog.component.html',\n styleUrls: ['./dialog.component.scss'],\n imports: [\n NgIf,\n FwIconButtonComponent,\n FwIconComponent,\n ],\n})\nexport class FwDialogComponent {\n @Input() width?: 'extra-small' | 'small' | 'medium' | 'large' | 'extra-large' | 'responsive' = DialogWidth.ExtraSmall;\n @Input() title?: string;\n @Input() icon?: IconType;\n @Input() iconColor?: 'primary' | 'secondary' | 'red' | 'orange' | 'green' | 'slate' = 'primary';\n @Input() showClose?: boolean = true;\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('class') externalClasses?: string | string[] | { [key: string]: boolean };\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() close: EventEmitter<void> = new EventEmitter<void>();\n\n private isClosing = false;\n\n constructor(@Optional() protected dialogRef: DialogRef, private elementRef: ElementRef) {\n }\n\n @HostBinding('class') get classes(): { [key: string]: boolean } {\n const classes: { [key: string]: boolean } = {\n [`dialog-width-${this.width}`]: true,\n 'dialog-closing': this.isClosing,\n };\n\n if (this.externalClasses) {\n if (typeof this.externalClasses === 'string') {\n this.externalClasses.split(' ').forEach((cls: string) => {\n if (cls.trim()) {\n classes[cls.trim()] = true;\n }\n });\n } else if (Array.isArray(this.externalClasses)) {\n this.externalClasses.forEach((cls: string) => {\n if (cls.trim()) {\n classes[cls.trim()] = true;\n }\n });\n } else {\n Object.assign(classes, this.externalClasses);\n }\n }\n\n return classes;\n }\n\n protected handleCloseButton(): void {\n this.closeWithAnimation();\n }\n\n private closeWithAnimation(): void {\n if (this.isClosing) {\n return;\n }\n\n this.isClosing = true;\n\n setTimeout(() => {\n this.dialogRef.close();\n this.close.emit();\n }, 300);\n }\n}\n","<div class=\"fw-dialog\">\n <fw-icon-button\n *ngIf=\"showClose\"\n tabindex=\"-1\" icon=\"close\" color=\"slate\"\n (click)=\"handleCloseButton()\">\n </fw-icon-button>\n <div class=\"dialog-header\">\n <ng-content select=\"fw-dialog-header\"></ng-content>\n <div class=\"dialog-title\" *ngIf=\"title\">\n <fw-icon *ngIf=\"icon\" [color]=\"iconColor\">{{ icon }}</fw-icon>\n <h3 class=\"vision-h3\">{{ title }}</h3>\n </div>\n </div>\n <div class=\"dialog-body\">\n <ng-content select=\"fw-dialog-content\"></ng-content>\n </div>\n <div class=\"dialog-actions\">\n <ng-content select=\"fw-dialog-actions\"></ng-content>\n </div>\n</div>\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { DEFAULT_DIALOG_CONFIG, Dialog, DIALOG_SCROLL_STRATEGY, DialogConfig, DialogRef } from '@angular/cdk/dialog';\nimport { ComponentType, Overlay, OverlayContainer } from '@angular/cdk/overlay';\nimport { Inject, Injectable, Injector, Optional, SkipSelf } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FwDialogService extends Dialog {\n constructor(private overlay: Overlay,\n _injector: Injector,\n public injector: Injector,\n @Optional() @Inject(DEFAULT_DIALOG_CONFIG) _dialogConfig: DialogConfig,\n public _overlayContainerRef: OverlayContainer,\n @Inject(DIALOG_SCROLL_STRATEGY) scrollStrategy: any,\n @Optional() @SkipSelf() _parentDialog: Dialog,\n @Optional() public dialogRef: DialogRef<any>) {\n super(overlay, _injector, _dialogConfig, _parentDialog, _overlayContainerRef, scrollStrategy);\n }\n\n /**\n * Open a custom component in an overlay and positioned near the top\n */\n openDialog<T>(component: ComponentType<T>, config?: DialogConfig & { canCloseCheck?: () => boolean, responsive?: boolean }, topOffset?: string): DialogRef<unknown, any> {\n const defaultSettings = {\n backdropClass: 'vision-overlay',\n positionStrategy: config?.responsive \n ? this.overlay.position().global()\n .top('5vh') // Reduced top margin for mobile optimization\n .centerHorizontally()\n : this.overlay.position().global()\n .top(topOffset ? topOffset : '10vh')\n .centerHorizontally(),\n disableClose: true, // Disable default backdrop close to handle it manually\n };\n\n config = { ...config, ...defaultSettings };\n const dialogRef = super.open(component, config);\n\n // Handle backdrop clicks with animation\n if (dialogRef.overlayRef.backdropElement) {\n dialogRef.overlayRef.backdropElement.addEventListener('click', evt => {\n const isBackdropCloseEnabled = !config.canCloseCheck || config.canCloseCheck();\n if (isBackdropCloseEnabled) {\n evt.stopPropagation();\n this.closeWithAnimation(dialogRef);\n }\n });\n }\n\n // Handle ESC key with animation\n dialogRef.overlayRef.keydownEvents().subscribe(event => {\n if (event.key === 'Escape') {\n const isBackdropCloseEnabled = !config.canCloseCheck || config.canCloseCheck();\n\n if (isBackdropCloseEnabled) {\n this.closeWithAnimation(dialogRef);\n }\n }\n });\n\n return dialogRef;\n }\n\n openModalDialog<T>(component: ComponentType<T>, config?: DialogConfig, topOffset?: string): DialogRef<unknown, any> {\n const defaultSettings = {\n backdropClass: 'vision-overlay',\n positionStrategy: this.overlay.position().global().top(topOffset ? topOffset : '10vh').centerHorizontally(),\n disableClose: true, // Disable default backdrop close to handle it manually\n };\n\n config = { ...config, ...defaultSettings };\n return super.open(component, config);\n }\n\n closeWithAnimation(dialogRef: DialogRef<any>): void {\n const dialogElement = dialogRef.overlayRef.overlayElement?.querySelector('fw-dialog, fw-dialog-confirm, fw-dialog-simple');\n\n if (dialogElement && !dialogElement.classList.contains('dialog-closing')) {\n if (dialogElement.tagName.toLowerCase() !== 'fw-dialog') {\n // For fw-dialog-confirm and fw-dialog-simple, apply the class to the inner fw-dialog element\n const innerDialog = dialogElement.querySelector('fw-dialog');\n if (innerDialog) {\n innerDialog.classList.add('dialog-closing');\n }\n } else {\n dialogElement.classList.add('dialog-closing');\n }\n\n setTimeout(() => {\n dialogRef.close();\n }, 300);\n }\n }\n}\n","import { Component, HostBinding } from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n\n@Component({\n template: `\n <ng-content></ng-content>`,\n selector: 'fw-dialog-actions',\n})\nexport class FwDialogActionsComponent {\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: flex-end;\n gap: 16px;\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n\n@Component({\n template: `\n <ng-content></ng-content>`,\n selector: 'fw-dialog-content',\n})\nexport class FwDialogContentComponent {\n @Input() padded?: boolean;\n\n @HostBinding('style') get style(): SafeStyle {\n if (this.padded) {\n return this.sanitizer.bypassSecurityTrustStyle(`\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 16px;\n `);\n } else {\n return '';\n }\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n\n","import { DialogRef } from '@angular/cdk/dialog';\nimport { NgClass } from '@angular/common';\nimport { Component, ElementRef, EventEmitter, HostBinding, Input, Optional, Output } from '@angular/core';\n\nimport { FwButtonComponent } from '../button/button.component';\nimport { FwIconComponent } from '../icon/icon.component';\nimport { IconType } from '../icon/icon.types';\nimport { FwDialogComponent } from './dialog.component';\nimport { FwDialogActionsComponent } from './dialog-actions.component';\nimport { FwDialogContentComponent } from './dialog-content.component';\n\n@Component({\n selector: 'fw-dialog-confirm',\n templateUrl: './dialog-confirm.component.html',\n styleUrls: ['./dialog-confirm.component.scss'],\n imports: [\n FwDialogComponent,\n NgClass,\n FwDialogContentComponent,\n FwIconComponent,\n FwDialogActionsComponent,\n FwButtonComponent,\n ],\n})\nexport class FwDialogConfirmComponent {\n @Input() title?: string = 'Confirm';\n @Input() icon?: IconType;\n @Input() iconColor?: 'primary' | 'secondary' | 'red' | 'orange' | 'green' | 'slate' = 'primary';\n @Input() confirmColor?: 'primary' | 'secondary' | 'danger' | 'slate' | 'warning' | 'success' = 'primary';\n @Input() cancelColor?: 'primary' | 'secondary' | 'danger' | 'slate' | 'warning' | 'success' = 'slate';\n @Input() confirmButtonText?: string = 'Confirm';\n @Input() confirmButtonIcon?: IconType = 'done-check';\n @Input() cancelButtonText?: string = 'Cancel';\n @Input() contentIcon?: string;\n @Input() contentTitle?: string = 'Are you sure?';\n @Input() contentText?: string;\n @Input() showConfirmButtonIcon = true;\n @Input() showClose = false;\n @Input() width: 'extra-small' | 'small' | 'medium' | 'large' | 'extra-large' | 'responsive' = 'extra-small';\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('class') externalClasses?: string | string[] | { [key: string]: boolean };\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() close: EventEmitter<void> = new EventEmitter<void>();\n @Output() confirm: EventEmitter<void> = new EventEmitter<void>();\n\n private isClosing = false;\n\n constructor(@Optional() public dialogRef: DialogRef, private elementRef: ElementRef) {\n }\n\n @HostBinding('class') get classes(): { [key: string]: boolean } {\n const classes: { [key: string]: boolean } = {};\n\n if (this.externalClasses) {\n if (typeof this.externalClasses === 'string') {\n this.externalClasses.split(' ').forEach((cls: string) => {\n if (cls.trim()) {\n classes[cls.trim()] = true;\n }\n });\n } else if (Array.isArray(this.externalClasses)) {\n this.externalClasses.forEach((cls: string) => {\n if (cls.trim()) {\n classes[cls.trim()] = true;\n }\n });\n } else {\n Object.assign(classes, this.externalClasses);\n }\n }\n\n return classes;\n }\n\n get dialogClasses(): string {\n return this.isClosing ? 'dialog-closing' : '';\n }\n\n handleCloseButton(): void {\n this.closeWithAnimation();\n }\n\n protected handleConfirm(): void {\n this.dialogRef.close(true);\n this.confirm.emit();\n }\n\n private closeWithAnimation(): void {\n if (this.isClosing) {\n return;\n }\n\n this.isClosing = true;\n\n setTimeout(() => {\n this.dialogRef.close();\n this.close.emit();\n }, 300);\n }\n}\n","<fw-dialog\n [width]=\"width\"\n [title]=\"title\"\n [icon]=\"icon\"\n [iconColor]=\"iconColor\"\n [showClose]=\"showClose\"\n [ngClass]=\"dialogClasses\">\n <fw-dialog-content>\n <div class=\"dialog-content-confirm\">\n @if (contentIcon) {\n <fw-icon class=\"content-icon\" [ngClass]=\"confirmColor\">\n {{ contentIcon }}\n </fw-icon>\n }\n\n @if (contentTitle) {\n <p class=\"vision-p2 content-title\">\n {{ contentTitle }}\n </p>\n }\n\n @if (contentText) {\n <p class=\"vision-p2 content-text\">\n {{ contentText }}\n </p>\n }\n </div>\n </fw-dialog-content>\n <fw-dialog-actions>\n @if (cancelButtonText) {\n <fw-button\n variant=\"outline\"\n [color]=\"cancelColor\"\n (click)=\"handleCloseButton()\">\n {{ cancelButtonText }}\n </fw-button>\n }\n\n @if (confirmButtonText) {\n <fw-button\n variant=\"solid\"\n [color]=\"confirmColor\"\n [leftIcon]=\"showConfirmButtonIcon ? confirmButtonIcon : null\"\n (click)=\"handleConfirm()\">\n {{ confirmButtonText }}\n </fw-button>\n }\n </fw-dialog-actions>\n</fw-dialog>\n","import { Component, HostBinding } from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n\n@Component({\n template: `\n <ng-content></ng-content>`,\n selector: 'fw-dialog-header',\n})\nexport class FwDialogHeaderComponent {\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 4px;\n border-bottom: 1px solid var(--separations-base);\n padding: 12px 16px;\n height: 44px;\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {\n }\n}\n","import { DialogRef } from '@angular/cdk/dialog';\nimport { NgClass, NgIf } from '@angular/common';\nimport { Component, ElementRef, EventEmitter, HostBinding, Input, Optional, Output } from '@angular/core';\n\nimport { FwButtonComponent } from '../button/button.component';\nimport { IconType } from '../icon/icon.types';\nimport { DialogWidth, FwDialogComponent } from './dialog.component';\nimport { FwDialogActionsComponent } from './dialog-actions.component';\nimport { FwDialogContentComponent } from './dialog-content.component';\n\n@Component({\n selector: 'fw-dialog-simple',\n templateUrl: './dialog-simple.component.html',\n styleUrls: ['./dialog-simple.component.scss'],\n imports: [\n FwDialogComponent,\n NgClass,\n FwDialogContentComponent,\n NgIf,\n FwDialogActionsComponent,\n FwButtonComponent,\n ],\n})\nexport class FwDialogSimpleComponent {\n @Input() width?: 'extra-small' | 'small' | 'medium' | 'large' | 'extra-large' | 'responsive' = DialogWidth.ExtraSmall;\n @Input() title?: string;\n @Input() icon?: IconType;\n @Input() iconColor?: 'primary' | 'secondary' | 'red' | 'orange' | 'green' | 'slate' = 'primary';\n @Input() showClose?: boolean = true;\n @Input() actionButtonText?: string;\n @Input() actionButtonIcon?: string;\n @Input() cancelButtonText?: string;\n @Input() alternateButtonText?: string;\n @Input() alternateButtonIcon?: IconType;\n @Input() contentText?: string;\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('class') externalClasses?: string | string[] | { [key: string]: boolean };\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() close: EventEmitter<void> = new EventEmitter<void>();\n @Output() action: EventEmitter<void> = new EventEmitter<void>();\n @Output() alternateAction: EventEmitter<void> = new EventEmitter<void>();\n\n private isClosing = false;\n\n constructor(@Optional() public dialogRef: DialogRef, private elementRef: ElementRef) {\n }\n\n @HostBinding('class') get classes(): { [key: string]: boolean } {\n const classes: { [key: string]: boolean } = {};\n\n if (this.externalClasses) {\n if (typeof this.externalClasses === 'string') {\n this.externalClasses.split(' ').forEach((cls: string) => {\n if (cls.trim()) {\n classes[cls.trim()] = true;\n }\n });\n } else if (Array.isArray(this.externalClasses)) {\n this.externalClasses.forEach((cls: string) => {\n if (cls.trim()) {\n classes[cls.trim()] = true;\n }\n });\n } else {\n Object.assign(classes, this.externalClasses);\n }\n }\n\n return classes;\n }\n\n get dialogClasses(): string {\n return this.isClosing ? 'dialog-closing' : '';\n }\n\n handleCloseButton(): void {\n this.closeWithAnimation();\n }\n\n private closeWithAnimation(): void {\n if (this.isClosing) {\n return;\n }\n\n this.isClosing = true;\n\n setTimeout(() => {\n this.dialogRef.close();\n this.close.emit();\n }, 300);\n }\n}\n","<fw-dialog\n [width]=\"width\"\n [title]=\"title\"\n [icon]=\"icon\"\n [iconColor]=\"iconColor\"\n [showClose]=\"showClose\"\n [ngClass]=\"dialogClasses\">\n <fw-dialog-content>\n <ng-content select=\"fw-dialog-content\"></ng-content>\n <p class=\"vision-p2 dialog-content-default\" *ngIf=\"contentText\">{{ contentText }}</p>\n </fw-dialog-content>\n <fw-dialog-actions>\n <fw-button\n variant=\"outline\"\n *ngIf=\"alternateButtonText\"\n [leftIcon]=\"alternateButtonIcon\"\n (click)=\"alternateAction.emit()\">\n {{ alternateButtonText }}\n </fw-button>\n <div class=\"flex\"></div>\n <fw-button variant=\"outline\" *ngIf=\"cancelButtonText\" (click)=\"handleCloseButton()\">\n {{ cancelButtonText }}\n </fw-button>\n <fw-button variant=\"solid\" *ngIf=\"actionButtonText\" (click)=\"action.emit()\">\n {{ actionButtonText }}\n </fw-button>\n </fw-dialog-actions>\n</fw-dialog>\n\n","import { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\n\nexport abstract class TranslationService {\n abstract getMessage(key: string, silent?: boolean): Observable<string>\n}\n\n/**\n * Very basic i18n implementation. Consumer apps can provide their own implementation of TranslationService to override.\n */\n@Injectable()\nexport class MinimalTranslationService implements TranslationService {\n private static messages = {\n 'common.actions.close': 'Close',\n 'confirmDialog.body': 'Are you sure?',\n 'confirmDialog.no': 'No',\n 'confirmDialog.yes': 'Yes',\n };\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n getMessage(key: string, silent?: boolean): Observable<string> {\n return of(MinimalTranslationService.messages[key]);\n }\n}\n","import { ChangeDetectorRef, OnDestroy, Pipe, PipeTransform } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { TranslationService } from '../translation.service';\n\n/**\n * Translate a message given a nested key to a location in the loaded locale copy.\n */\n@Pipe({\n name: 'translate',\n pure: false,\n})\nexport class TranslatePipe implements PipeTransform, OnDestroy {\n private subscriptions: { [key: string]: Subscription } = {};\n private messages: { [key: string]: string } = {};\n\n constructor(\n private cdr: ChangeDetectorRef,\n private translationService: TranslationService,\n ) {\n }\n\n ngOnDestroy(): void {\n for (const subscription of Object.values(this.subscriptions)) {\n subscription.unsubscribe();\n }\n }\n\n transform(key: string, silent = false): string {\n if (!(key in this.subscriptions)) {\n this.subscriptions[key] = this.translationService.getMessage(key, silent).subscribe(message => {\n this.messages[key] = message;\n // trigger change detection to support components with ChangeDetectionStrategy.OnPush\n // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis\n this.cdr.markForCheck();\n });\n }\n return this.messages[key] || '';\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Pipe({\n name: 'trusthtml',\n pure: true,\n})\nexport class TrustHtmlPipe implements PipeTransform {\n constructor (private sanitizer: DomSanitizer) { }\n\n transform(html: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { MinimalTranslationService,TranslationService } from '../translation.service';\nimport { TranslatePipe } from './translate.pipe';\nimport { TrustHtmlPipe } from './trusthtml.pipe';\n\nconst exports = [\n TranslatePipe,\n TrustHtmlPipe,\n];\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [...exports],\n exports: exports,\n providers: [\n {\n provide: TranslationService,\n useClass: MinimalTranslationService,\n },\n ],\n})\nexport class PipesModule {}\n\nexport { TranslationService }\n","import { DialogModule } from '@angular/cdk/dialog';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwButtonModule } from '../button/button.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwIconButtonModule } from '../icon-button/icon-button.module';\nimport { PipesModule } from '../shared/pipes/pipes.module';\nimport { FwDialogComponent } from './dialog.component';\nimport { FwDialogService } from './dialog.service';\nimport { FwDialogActionsComponent } from './dialog-actions.component';\nimport { FwDialogConfirmComponent } from './dialog-confirm.component';\nimport { FwDialogContentComponent } from './dialog-content.component';\nimport { FwDialogHeaderComponent } from './dialog-header.component';\nimport { FwDialogSimpleComponent } from './dialog-simple.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n DialogModule,\n FwButtonModule,\n FwIconButtonModule,\n FwIconModule,\n PipesModule,\n FwDialogActionsComponent,\n FwDialogComponent,\n FwDialogConfirmComponent,\n FwDialogContentComponent,\n FwDialogHeaderComponent,\n FwDialogSimpleComponent,\n ],\n exports: [\n FwDialogActionsComponent,\n FwDialogComponent,\n FwDialogConfirmComponent,\n FwDialogContentComponent,\n FwDialogHeaderComponent,\n FwDialogSimpleComponent,\n ],\n providers: [\n FwDialogService,\n ],\n})\nexport class FwDialogsModule {\n}\n","import { NgClass, NgIf } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input } from '@angular/core';\n\nimport { FwIconComponent } from '../icon/icon.component';\nimport { IconType } from '../icon/icon.types';\n\n@Component({\n selector: 'fw-tag',\n templateUrl: './tag.component.html',\n styleUrls: ['./tag.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgClass,\n NgIf,\n FwIconComponent,\n ],\n})\nexport class FwTagComponent {\n size = input<'small' | 'large'>('small');\n color = input<'slate' | 'primary' | 'secondary' | 'red' | 'green' | 'orange'>('slate');\n icon = input<IconType>();\n title = input<string>();\n}\n","<div [ngClass]=\"['tag', 'tag-'+size(), 'tag-'+color()]\">\n <fw-icon *ngIf=\"icon()\" class=\"tag-icon\">{{ icon() }}</fw-icon>\n <div class=\"tag-text\" *ngIf=\"title()\">\n <span>{{ title() }}</span>\n </div>\n</div>\n","import { NgIf } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, HostBinding, input, ViewEncapsulation } from '@angular/core';\n\nimport { FwTagComponent } from '../tag/tag.component';\n\n@Component({\n selector: 'fw-form-heading',\n templateUrl: './form-heading.component.html',\n styleUrls: ['./form-heading.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [NgIf, FwTagComponent],\n})\nexport class FwFormHeadingComponent {\n @HostBinding('attr.class') class = 'fw-form-heading';\n title = input.required<string>();\n description = input<string>();\n required = input<boolean>();\n status = input<string>();\n statusColor = input<'slate' | 'primary' | 'secondary' | 'red' | 'green' | 'orange'>('slate');\n\n constructor() {\n }\n}\n","<div class=\"heading-area\">\n <div>\n <div class=\"section-heading\">\n <h4 class=\"vision-h4\">\n <span>{{ title() }}</span>\n <span *ngIf=\"required()\" class=\"required\">*</span>\n </h4>\n <fw-tag *ngIf=\"status()\" [color]=\"statusColor()\" [title]=\"status()\"></fw-tag>\n <ng-content select=\"fw-tooltip\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-chip\"></ng-content>\n </div>\n <p class=\"vision-p3\" *ngIf=\"description()\">{{ description() }}</p>\n <ng-content select=\"p\"></ng-content>\n </div>\n</div>\n<div class=\"right-content\">\n <ng-content></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwTagComponent } from './tag.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n FwTagComponent,\n ],\n exports: [\n FwTagComponent,\n ],\n})\nexport class FwTagModule {\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwButtonModule } from '../button/button.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwTagModule } from '../tag/tag.module';\nimport { FwFormHeadingComponent } from './form-heading.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwButtonModule,\n FwIconModule,\n FwTagModule,\n FwFormHeadingComponent,\n ],\n exports: [\n FwFormHeadingComponent,\n ],\n})\nexport class FwFormHeadingModule {\n}\n","// adapted from https://github.com/yuyang041060120/ng2-validation\nimport { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\nimport { isAfter,isBefore, isSameDay, parseISO } from 'date-fns';\nimport { isValidPhoneNumber } from 'libphonenumber-js';\n\nexport class FwValidators {\n static phone: ValidatorFn = (control: AbstractControl): { [key: string]: boolean } => {\n if (!control || !control.value) {\n return null;\n }\n const v: string = control.value;\n return isValidPhoneNumber(v) ? null : { 'phone': true };\n };\n\n static email: ValidatorFn = (control: AbstractControl): { [key: string]: boolean } => {\n if (!control || !control.value) {\n return null;\n }\n const v: string = control.value;\n const emailRegex = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return emailRegex.test(v) ? null : { 'email': true };\n };\n\n static url: ValidatorFn = (control: AbstractControl): { [key: string]: boolean } => {\n if (!control || !control.value) {\n return null;\n }\n const v: string = control.value;\n const urlRegEx = /^(?:(?:(?:https?|ftp):)?\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})).?)(?::\\d{2,5})?(?:[/?#]\\S*)?$/i;\n return urlRegEx.test(v) ? null : { 'url': true };\n };\n}\n\nconst isFormControl = (obj: unknown | AbstractControl): obj is AbstractControl => {\n return Boolean((obj as AbstractControl)?.status);\n}\n\n/**\n * @description Checks that passed form control's value is after passed date\n * @param earliestDateArg Date object or another form control\n *\n * @usageNotes\n * Assumes form control emits an ISO timestamp string\n *\n * Does not error on empty so use a {@link https://angular.dev/api/forms/Validators#required | required validator} if needed\n * @see {@link https://angular.dev/guide/forms/reactive-forms#validating-form-input | Angular Form Validation Docs}\n * @returns\n */\nexport const notBeforeDate = (earliestDateArg: AbstractControl | Date): ValidatorFn => {\n return (control: AbstractControl): ValidationErrors | null => {\n\n // don't error empties as that's what required is for\n if (!control.value) {\n return null;\n }\n\n const valueToCheck = parseISO(control.value);\n const earliestDate = isFormControl(earliestDateArg) ? parseISO(earliestDateArg.value as string) : earliestDateArg;\n\n const isInvalid = isBefore(valueToCheck, earliestDate);\n const areSameDay = isSameDay(valueToCheck, earliestDate);\n\n const error = {\n dateRange: 'date range is invalid',\n }\n\n return (isInvalid && !areSameDay) ? error : null;\n }\n}\n\n/**\n * @description Checks that the date emitted by the attached form control is not in the future\n *\n * @usageNotes\n * Assumes form control emits an ISO timestamp string\n *\n * Does not error on empty so use a {@link https://angular.dev/api/forms/Validators#required | required validator} if needed\n * @see {@link https://angular.dev/guide/forms/reactive-forms#validating-form-input | Angular Form Validation Docs}\n * @returns Validation error or null\n */\nexport const notFutureDate = (): ValidatorFn => {\n return (control: AbstractControl): ValidationErrors | null => {\n\n // don't error empties as that's what required is for\n if (!control.value) {\n return null;\n }\n\n // assume the control uses an ISO timestamp\n const valueToCheck = parseISO(control.value);\n\n const today = new Date();\n const isFuture = isAfter(valueToCheck, today);\n\n return isFuture ? { isFuture: true } : null;\n }\n}\n","export type IconType = typeof allIcons[number];\n\nexport const allIcons = <const>[\n '3d-sphere-rotate-arrows',\n 'add-circle',\n 'add-new-create',\n 'add-row-above',\n 'add-row-below',\n 'add-server',\n 'add-server-databases-endpoint',\n 'add-user',\n 'ai',\n 'apple',\n 'apply-copy-duplicate',\n 'archive-documents-box-big',\n 'arrange-filter-sort',\n 'arrow',\n 'arrow-annotate',\n 'arrow-back',\n 'arrow-back-collapse',\n 'arrow-down',\n 'arrow-forward',\n 'arrow-forward-collapse',\n 'arrow-redo',\n 'arrow-rotate',\n 'arrow-rotate-restore',\n 'arrow-undo',\n 'arrow-up',\n 'arrow-up-high-priority',\n 'arrow-up-low-priority',\n 'barcode-serial',\n 'barcode-stack-scan',\n 'bell-notification',\n 'bezier-curve',\n 'blocks-code-test-checkmark',\n 'book-lab-flask',\n 'bookmark',\n 'bookmark-plus-add',\n 'brain',\n 'brightness-photo-edit',\n 'browser-internet-web-windows',\n 'brush-edit-create',\n 'bucket-paint',\n 'button-form-element',\n 'calendar-arrow-left-center',\n 'calendar-schedule',\n 'camera-photo-capture',\n 'cash-banknotes',\n 'certificate',\n 'chart-square',\n 'chart-trend-square',\n 'chat-messages-bubble',\n 'check-mark-certificate',\n 'checklist',\n 'checklist-tasks-chechmark-square',\n 'chevron-back',\n 'chevron-down',\n 'chevron-forward',\n 'chevron-input-number',\n 'chevron-up',\n 'circle',\n 'circle-ellipses',\n 'clap-applause-hands',\n 'clip-attachment',\n 'clock-history',\n 'clock-hour-4',\n 'clock-loading',\n 'close',\n 'close-circled',\n 'closed-freehand-vector-poly',\n 'cloud-network-add',\n 'cloud-storage-checkmark',\n 'cloud-upload',\n 'code-block-embed',\n 'code-text',\n 'color-design-profile',\n 'color-ven-design-profile-central',\n 'column-edit',\n 'computer-chip',\n 'contract-vertical',\n 'contrast-photo-edit',\n 'conversion-exchange',\n 'copy-item',\n 'creative-commons',\n 'crosshair',\n 'crown-style-circle',\n 'cursor-click',\n 'cursor-select',\n 'curve-object-secet-cursor',\n 'data-tree',\n 'delivery-shipment-packages',\n 'dna-hospital-medical',\n 'document-file-add-plus-bottom-left',\n 'document-file-blank',\n 'document-file-checkmark-bottom-left',\n 'document-file-deleted-cross-remove-center-cancel',\n 'document-file-download',\n 'document-file-list-protocol',\n 'document-file-tar',\n 'document-file-upload-bottom-center',\n 'document-file-zip',\n 'document-status-done-checkmark',\n 'document-visible',\n 'documents-file',\n 'documents-file-checkmark',\n 'documents-file-move-arrow-right',\n 'documents-files',\n 'done-check',\n 'done-check-tracked',\n 'download',\n 'download-status',\n 'drag-drop-indicator',\n 'draw-rectangle',\n 'earth-globe-fail',\n 'edit',\n 'edit-boxed',\n 'edit-erase',\n 'email',\n 'email-mail-checkmark-group',\n 'embed-circle',\n 'exchange',\n 'expand-pathfinder-dot-square-segmentation',\n 'facebook',\n 'file-blank-image-load-mask',\n 'file-blank-search',\n 'file-download',\n 'file-text',\n 'files',\n 'files-library',\n 'files-library-content',\n 'filter',\n 'filter-sort-add',\n 'filter-sort-check-mark',\n 'filter-sort-delete',\n 'flag',\n 'flip-horizontal',\n 'flip-vertical',\n 'floppy-save',\n 'flywheel-mark-logo',\n 'flywheel-viewer-mark-logo',\n 'folder-add',\n 'folder-blank',\n 'folder-checked',\n 'folder-copy-expand-arrow-down',\n 'folder-copy-expand-arrow-up',\n 'folder-group',\n 'folder-move',\n 'folder-open',\n 'folder-share',\n 'form-metadata-element',\n 'free-rights',\n 'freehand-vector-poly',\n 'full-screen-zoom',\n 'git-add-branch',\n 'git-branch',\n 'git-merge',\n 'git-merge-draft',\n 'git-pull-request-2',\n 'github-color-login',\n 'gitlab',\n 'graduate-hat',\n 'grid-dot-square',\n 'grid-layout',\n 'grid-layout-9-square',\n 'hammer-legal-square',\n 'hammer-screwdriver',\n 'hand-money-currency',\n 'header-form-element',\n 'home-modern-door',\n 'home-modern-option-lines',\n 'human-artificial-intelligence',\n 'icon-placeholder',\n 'image-photo-copy-left-down',\n 'image-picture-square',\n 'information-circle',\n 'invoice',\n 'invoice-checkmark-paid',\n 'italic',\n 'items-group-elements',\n 'key',\n 'keyboard',\n 'keychain',\n 'label-tag',\n 'laptop-health-medical-cross',\n 'layers',\n 'layout',\n 'layout-grid',\n 'line',\n 'link',\n 'link-unlink',\n 'linkedin',\n 'linux',\n 'list-paragraph',\n 'list-paragraph-number',\n 'list-test-lab-flask',\n 'livewire-tool',\n 'loading-status-checkmark',\n 'lock',\n 'lock-unlock',\n 'logout',\n 'lungs',\n 'markdown',\n 'measure-angle',\n 'measure-ruler-calibration',\n 'media-library-imports-dowload',\n 'menu-burger-handle',\n 'menu-horizontal',\n 'menu-list-form-square',\n 'menu-vertical',\n 'message-chat-add-plus',\n 'message-chat-info',\n 'message-chat-question-support',\n 'message-checkmark-sent',\n 'message-question-checkmark',\n 'microphone-mic-rec',\n 'microphone-mic-rec-circle',\n 'microphone-mic-recording-circle',\n 'minus',\n 'modalities',\n 'molecule',\n 'money',\n 'money-coin',\n 'money-dollar',\n 'monitor-computer',\n 'moon-night-mode',\n 'mouse-big',\n 'mouse-scroll',\n 'move',\n 'music-play-resume',\n 'music-stop',\n 'mute',\n 'network-storage-alert',\n 'notebook',\n 'notebook-add-plus',\n 'notebook-open',\n 'notebook-pen-edit',\n 'notes-pen',\n 'object-search-zoom-plus',\n 'open',\n 'paint-roller',\n 'pause',\n 'pen-edit-circle',\n 'pen-edit-compose-new',\n 'pencil-edit-create',\n 'photo-edit-brightness-invert',\n 'pie-chart',\n 'pie-graph-chart-sample',\n 'plus-add-rectangle',\n 'polygon',\n 'private-mode-protection-circle',\n 'protection-target',\n 'protective-mask',\n 'question-circle',\n 'quote',\n 'radiology-scan',\n 'radiology-scan-circle',\n 'reader-studies',\n 'rotate',\n 'rotate-arrow-manual',\n 'rotate-item-left',\n 'rotate-item-right',\n 'rotate-refresh',\n 'ruler',\n 'ruler-bidirectional',\n 'scanner',\n 'search',\n 'search-loop',\n 'search-user-profile-person',\n 'search-zoom-minus',\n 'search-zoom-plus',\n 'section-form-element',\n 'send-message-share',\n 'server',\n 'server-checkmark',\n 'server-database-endpoint',\n 'server-databases-checkmark-user',\n 'server-databases-connect',\n 'server-databases-download',\n 'server-databases-key-protection',\n 'server-databases-minimal-download',\n 'server-databases-sync',\n 'server-databases-sync-import',\n 'server-upload',\n 'servers-database',\n 'setting-gear',\n 'settings-adjust',\n 'settings-gear',\n 'settings-gear-square',\n 'settings-select',\n 'shapes-objects',\n 'share',\n 'shield-protect',\n 'show-visible',\n 'smiley-emoji-face',\n 'speed-dashboard',\n 'square-fill',\n 'square-fill-outline',\n 'square-outline',\n 'star',\n 'star-ai-artificial-intelligence',\n 'stars-light-sparkle',\n 'stomach',\n 'stop-minus',\n 'stretch-vertical',\n 'substract-group',\n 'switch',\n 'target',\n 'target-space-object-select',\n 'tasklist-to-do-checkmark',\n 'technology-cube-3d',\n 'test-lab-flask',\n 'text-bold',\n 'text-cross',\n 'text-h1',\n 'text-h2',\n 'text-input-form',\n 'text-long',\n 'text-short-form-element',\n 'text-underline',\n 'thumbs-down-dislike',\n 'thumbs-up-like',\n 'timer-clock-style',\n 'trash-bin-warning',\n 'trash-delete',\n 'twitter',\n 'undone-uncheck-untracked',\n 'unlimited-repeat-subscription-circle',\n 'upload',\n 'user',\n 'user-checked',\n 'user-delete-cross',\n 'user-document',\n 'user-group',\n 'user-key',\n 'user-lock',\n 'user-profile-cards-pool',\n 'user-profile-group-discovery',\n 'user-setting-gear',\n 'video-player-controls',\n 'visible-eye-hidden',\n 'volume-full',\n 'warning',\n 'warning-circle',\n 'window-finder-resize-arrow-down',\n 'window-finder-resize-arrow-up',\n 'window-resize-left',\n 'window-resize-right',\n 'window-zoom-plus-loupe',\n 'windows',\n 'workspace-mode',\n 'youtube',\n 'zendesk-logo',\n];\n","import { NgClass } from '@angular/common';\nimport { Component, EventEmitter, Input, input,model, Output } from '@angular/core';\n\n@Component({\n selector: 'fw-radio-button',\n templateUrl: './radio.component.html',\n styleUrls: ['./radio.component.scss'],\n imports: [NgClass],\n})\nexport class FwRadioComponent {\n public value = input<string>();\n public checked = model(false);\n\n @Input() group: string;\n @Input() disabled: boolean = false;\n @Input() size: 'medium' | 'compact' = 'medium';\n @Input() color: 'default' | 'primary' | 'secondary' = 'default';\n @Input() title: string;\n @Input() focused: boolean = false;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change = new EventEmitter<string>();\n\n get radioStyles(): string[] {\n return [\n 'fw-radio',\n this.color,\n this.size,\n this.focused ? 'focused' : '',\n this.disabled ? 'disabled' : '',\n ];\n }\n\n handleChange(event): void {\n this.change.emit(event.target.value);\n }\n}\n","<div [ngClass]=\"['fw-radio-wrapper', disabled?'disabled':'']\">\n <div [ngClass]=\"radioStyles\">\n <input\n type=\"radio\"\n class=\"fw-radio\"\n [id]=\"group+value()\"\n [value]=\"value()\"\n [checked]=\"checked()\"\n [name]=\"group\"\n [disabled]=\"disabled\"\n (change)=\"handleChange($event)\"\n (focusout)=\"focused=false\"\n (focusin)=\"focused=true\"\n />\n </div>\n\n @if (title) {\n <label [htmlFor]=\"group+value()\" class=\"vision-h4\">{{ title }}\n <ng-content></ng-content>\n </label>\n }\n</div>\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { NgClass,NgIf } from '@angular/common';\nimport { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\n\nimport { IconType } from '../../icon/icon.types';\n\n\n@Component({\n selector: 'fw-menu-sub-item',\n templateUrl: './menu-sub-item.component.html',\n styleUrls: ['./menu-sub-item.component.scss'],\n animations: [\n trigger('openClose', [\n // ...\n state('open', style({\n height: 'auto',\n }), { params: {} }),\n state('closed', style({\n height: '0',\n }), { params: {} }),\n transition('open <=> closed', [\n animate('.33s ease-in-out'),\n ]),\n ]),\n ],\n imports: [NgIf, NgClass],\n})\nexport class FwMenuSubItemComponent {\n @Input() value?: string;\n @Input() size?: 'default' | 'compact' = 'default';\n @Input() title: string;\n @Input() description?: string;\n @Input() icon?: IconType;\n @Input() disabled?: boolean;\n @Input() hidden?: boolean = false;\n @Input() href?: string;\n @Input() target?: string;\n @HostBinding('class.collapsed') @Input() collapsed?: boolean;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() click: EventEmitter<string> = new EventEmitter<string>();\n @HostBinding('class.focused') @Input() focused?: boolean = false;\n @HostBinding('class.selected') @Input() selected?: boolean = false;\n\n handleClick(evt?: Event): void {\n if (this.disabled) {\n evt.stopPropagation();\n return;\n }\n\n if (this.href) {\n if (this.target) {\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n window.open(this.href, this.target).focus();\n }\n else {\n window.location.href = this.href;\n }\n evt.stopPropagation();\n return;\n }\n\n if (this.value) {\n this.click.emit(this.value);\n evt.stopPropagation();\n }\n }\n\n}\n","<div\n (click)=\"handleClick($event)\" *ngIf=\"!hidden\"\n [@openClose]=\"{value: collapsed?'closed':'open'}\">\n <div\n [ngClass]=\"['menu-sub-item', 'size-'+size, disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <div class=\"menu-text\" *ngIf=\"title\">\n <h4 class=\"vision-h4\">{{ title }}</h4>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n </div>\n </div>\n</div>\n","import { NgClass } from '@angular/common';\nimport {\n AfterContentInit,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n model,\n OnChanges,\n OnDestroy,\n Output,\n QueryList,\n SimpleChanges,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { FwCheckboxComponent } from '../../checkbox/checkbox.component';\nimport { FwIconComponent } from '../../icon/icon.component';\nimport { IconType } from '../../icon/icon.types';\nimport { FwIconButtonComponent } from '../../icon-button/icon-button.component';\nimport { FwRadioComponent } from '../../radio/radio.component';\nimport { FwMenuSubItemComponent } from '../menu-sub-item/menu-sub-item.component';\n\ntype MouseEnterHandler = ($event: PointerEvent, item: FwMenuItemComponent) => void;\n\n@Component({\n selector: 'fw-menu-item',\n templateUrl: './menu-item.component.html',\n styleUrls: ['./menu-item.component.scss'],\n imports: [\n NgClass,\n FwCheckboxComponent,\n FwRadioComponent,\n FwIconComponent,\n FwIconButtonComponent,\n ],\n})\nexport class FwMenuItemComponent implements OnChanges, OnDestroy, AfterContentInit {\n @Input() value?: string;\n @Input() size?: 'default' | 'compact' = 'default';\n @Input() title: string;\n @Input() description?: string;\n @Input() icon?: IconType;\n @Input() iconColor?: 'primary' | 'secondary' | 'red' | 'orange' | 'green' | 'slate' | 'typography' = 'primary';\n @Input() disabled?: boolean;\n @Input() showCheckbox?: boolean = false;\n @Input() checkboxColor?: 'primary' | 'secondary' = 'primary';\n @Input() multiSelect?: boolean = false;\n @HostBinding('hidden') @Input() hidden?: boolean = false;\n @HostBinding('class.collapsed') @Input() collapsed?: boolean;\n @Input() href?: string;\n @Input() target?: string;\n @Input() subItemsOpen: boolean = false;\n mouseEnterHandler = model<MouseEnterHandler>(() => {});\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() click: EventEmitter<string> = new EventEmitter<string>();\n @HostBinding('class.focused') @Input() focused?: boolean = false;\n @HostBinding('class.selected') @Input() selected?: boolean = false;\n @ContentChildren(FwMenuSubItemComponent) subItems: QueryList<FwMenuSubItemComponent>;\n private subscriptions: Subscription[] = [];\n\n constructor(private elementRef: ElementRef<HTMLElement>) {}\n\n scrollIntoView(): void {\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n this.elementRef.nativeElement.scrollIntoView({ behavior: 'smooth' });\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ngOnChanges(changes: SimpleChanges): void {\n this.updateLayout();\n }\n\n ngOnDestroy(): void {\n for (const subscription of this.subscriptions) {\n subscription.unsubscribe();\n }\n }\n\n ngAfterContentInit(): void {\n this.subItems.forEach(subItem => {\n const sub = subItem.click.subscribe(value => this.click.emit(value));\n this.subscriptions.push(sub);\n });\n this.updateLayout();\n }\n\n @HostListener('mouseenter', ['$event']) onMouseEnter(event: PointerEvent): void {\n this.mouseEnterHandler()?.(event, this);\n }\n\n updateLayout(): void {\n if (this.subItems) {\n this.subItems.forEach(subItem => {\n subItem.size = this.size;\n subItem.hidden = !(this.subItemsOpen && !this.collapsed);\n subItem.collapsed = this.collapsed;\n });\n }\n }\n\n toggleSubItemsView(): void {\n this.subItemsOpen = !this.subItemsOpen;\n this.updateLayout();\n }\n\n handleClick(evt?: Event): void {\n if (this.disabled) {\n evt.stopPropagation();\n return;\n }\n\n if (this.href) {\n if (this.target) {\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n window.open(this.href, this.target).focus();\n } else {\n window.location.href = this.href;\n }\n evt.stopPropagation();\n return;\n }\n\n if (this.value !== undefined && this.value !== null) {\n this.click.emit(this.value);\n evt.stopPropagation();\n }\n }\n\n /**\n * stops the browser built-in tooltip from showing up\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/title\n */\n @HostBinding('attr.title') get attrTitle(): string {\n return '';\n };\n}\n","<div (click)=\"handleClick($event)\">\n <div\n [ngClass]=\"['menu-item', 'size-'+size, disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n @if (showCheckbox && multiSelect) {\n <div class=\"item-checkbox\">\n <fw-checkbox\n [disabled]=\"disabled\"\n [color]=\"checkboxColor\"\n [checked]=\"selected\">\n </fw-checkbox>\n </div>\n }\n @if (showCheckbox && !multiSelect) {\n <div class=\"item-radiobutton\">\n <fw-radio-button\n [value]=\"value\"\n [color]=\"checkboxColor\"\n [disabled]=\"disabled\"\n [checked]=\"selected\">\n </fw-radio-button>\n </div>\n }\n @if (icon) {\n <fw-icon [color]=\"iconColor\" class=\"menu-icon {{iconColor}}\">{{ icon }}</fw-icon>\n }\n <ng-content select=\"fw-avatar\"></ng-content>\n @if (title) {\n <div class=\"menu-text\">\n <h4 class=\"vision-h4\">{{ title }}</h4>\n @if (description) {\n <p class=\"vision-p4 description\">{{ description }}</p>\n }\n </div>\n }\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n @if (subItems.length > 0) {\n <fw-icon-button\n [size]=\"'small'\"\n [icon]=\"subItemsOpen?'chevron-up':'chevron-down'\"\n (click)=\"toggleSubItemsView()\">\n </fw-icon-button>\n }\n </div>\n </div>\n</div>\n<div class=\"item-subitems\">\n <ng-content select=\"fw-menu-sub-item\"></ng-content>\n</div>\n","import {\n AfterContentInit,\n Component,\n ContentChild,\n ContentChildren, ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n QueryList,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\nimport { FwMenuItemComponent } from './menu-item/menu-item.component';\n\n@Component({\n selector: 'fw-menu',\n templateUrl: './menu.component.html',\n styleUrls: ['./menu.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: FwMenuComponent,\n multi: true,\n }],\n})\nexport class FwMenuComponent implements ControlValueAccessor, OnChanges, OnDestroy, AfterContentInit {\n @Input() disabled = false;\n @Input() size?: 'default' | 'compact' = 'default';\n @Input() multiSelect?: boolean = false;\n @Input() useCheckbox?: boolean = undefined;\n @Input() value?: string | string[];\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change: EventEmitter<string | string[]> = new EventEmitter<string | string[]>();\n @ContentChildren(FwMenuItemComponent, { descendants: true }) menuItems: QueryList<FwMenuItemComponent>;\n @ContentChild('menuContentWrapper') menuContentWrapper: ElementRef;\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onChange = (value: string | string[]): void => {\n };\n\n onTouched = (): void => {\n };\n\n private subscriptions: Subscription[] = [];\n private menuItemSubscriptions: Subscription[] = [];\n\n ngOnChanges(): void {\n this.updateLayout();\n }\n\n ngOnDestroy(): void {\n for (const subscription of this.subscriptions) {\n subscription.unsubscribe();\n }\n for (const subscription of this.menuItemSubscriptions) {\n subscription.unsubscribe();\n }\n }\n\n private subscribeToMenuItems(items: QueryList<FwMenuItemComponent>): void {\n // Clear old menu item subscriptions\n for (const subscription of this.menuItemSubscriptions) {\n subscription.unsubscribe();\n }\n this.menuItemSubscriptions = [];\n\n items.forEach(item => {\n const sub = item.click.subscribe(value => this.handleSelect(value));\n this.menuItemSubscriptions.push(sub);\n });\n }\n\n ngAfterContentInit(): void {\n // Initial subscription\n this.subscribeToMenuItems(this.menuItems);\n\n // Re-subscribe when menu items change\n const menuItemChangeSub = this.menuItems.changes.subscribe((newMenuItems: QueryList<FwMenuItemComponent>) => {\n this.subscribeToMenuItems(newMenuItems);\n this.updateLayout();\n });\n\n this.subscriptions.push(menuItemChangeSub);\n\n this.updateLayout();\n }\n\n writeValue(value: string | string[]): void {\n this.value = value;\n this.onChange(this.value);\n this.change.emit(this.value);\n this.updateLayout();\n }\n\n registerOnChange(fn: (value: string | string[]) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n handleSelect(value: string): void {\n if (this.multiSelect) {\n const newValues = [...this.value];\n if (newValues.indexOf(value) >= 0) {\n newValues.splice(newValues.indexOf(value), 1);\n } else {\n newValues.push(value);\n }\n this.writeValue(newValues);\n } else {\n this.writeValue(value);\n }\n }\n\n updateLayout(): void {\n\n if (this.menuItems) {\n this.menuItems.forEach(item => {\n if (this.size !== undefined) {\n item.size = this.size;\n }\n if (this.useCheckbox !== undefined) {\n item.showCheckbox = this.useCheckbox;\n }\n if (this.multiSelect !== undefined) {\n item.multiSelect = this.multiSelect;\n }\n // only disable children if this is disabled\n if (this.disabled) {\n item.disabled = this.disabled;\n }\n if (this.value !== undefined) {\n item.selected = Array.isArray(this.value) ? this.value.includes(item.value) : this.value === item.value;\n }\n item.subItems.forEach(sub => {\n sub.selected = Array.isArray(this.value) ? this.value.includes(sub.value) : this.value === sub.value;\n });\n\n item.updateLayout();\n });\n }\n }\n}\n","<div class=\"fw-menu\">\n <ng-content></ng-content>\n</div>\n","import {\n Component,\n contentChildren,\n DestroyRef,\n effect,\n EventEmitter,\n HostBinding,\n inject,\n Input,\n Output,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\nimport { Subscription } from 'rxjs';\n\nimport { FwRadioComponent } from './radio.component';\n\n@Component({\n selector: 'fw-radio-group',\n styleUrls: [],\n template: '<ng-content select=\"fw-radio-button\"></ng-content>',\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: FwRadioGroupComponent,\n multi: true,\n }],\n})\nexport class FwRadioGroupComponent implements ControlValueAccessor {\n @Input() value: string;\n @Input() group: string;\n @Input() color?: 'primary' | 'secondary' | 'default';\n @Input() size?: 'medium' | 'compact';\n @Input() disabled?: boolean;\n @Input() direction?: 'horizontal' | 'vertical' = 'horizontal';\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change = new EventEmitter<string>();\n\n private sanitizer = inject(DomSanitizer);\n private dr = inject(DestroyRef);\n\n protected radioButtons = contentChildren(FwRadioComponent);\n private _value = signal<string | null>(null);\n private radioSubs = new Map<FwRadioComponent, Subscription>();\n\n @HostBinding('style') get style(): SafeStyle {\n const dir = this.direction === 'vertical' ? 'column' : 'row';\n return this.sanitizer.bypassSecurityTrustStyle(`\n display: flex;\n flex-direction: ${dir};\n `);\n }\n\n constructor() {\n effect(() => {\n const radios = this.radioButtons();\n const value = this._value();\n const disabled = this.disabled;\n const group = this.group;\n const color = this.color;\n const size = this.size;\n\n radios.forEach(rb => {\n rb.group = group;\n rb.checked.set(rb.value() === value);\n rb.disabled = Boolean(disabled);\n\n if (color) {\n rb.color = color;\n }\n\n if (size) {\n rb.size = size;\n }\n });\n });\n\n effect(() => {\n const radios = this.radioButtons();\n\n this.radioSubs.forEach((sub, rb) => {\n if (!radios.includes(rb)) {\n sub.unsubscribe();\n this.radioSubs.delete(rb);\n }\n });\n\n radios.forEach(rb => {\n if (!this.radioSubs.has(rb)) {\n const sub = rb.change.pipe(takeUntilDestroyed(this.dr)).subscribe(value => this.handleChange(value));\n this.radioSubs.set(rb, sub);\n }\n });\n });\n }\n\n public onTouch = (): void => {\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public onChange = (value: string): void => {\n };\n\n writeValue(value: string): void {\n this.value = value;\n this._value.set(value);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n handleChange(value: string): void {\n this.value = value;\n this._value.set(value);\n this.onChange(value);\n this.change.emit(this.value);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { FwRadioComponent } from './radio.component';\nimport { FwRadioGroupComponent } from './radio-group.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n FwRadioComponent,\n FwRadioGroupComponent,\n ],\n exports: [\n FwRadioComponent,\n FwRadioGroupComponent,\n ],\n})\nexport class FwRadioModule {\n}\n","import { NgClass, NgIf } from '@angular/common';\nimport { Component, ContentChild, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { FwIconComponent } from '../icon/icon.component';\nimport { IconType } from '../icon/icon.types';\nimport { FwTooltipDirective } from '../tooltip/tooltip.directive';\n\n@Component({\n selector: 'fw-text-input',\n templateUrl: './text-input.component.html',\n styleUrls: ['./text-input.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: FwTextInputComponent,\n multi: true,\n }],\n imports: [\n NgClass,\n NgIf,\n FwIconComponent,\n FwTooltipDirective,\n ],\n})\nexport class FwTextInputComponent implements ControlValueAccessor {\n @Input() disabled?: boolean = false;\n @Input() useActionableIcons?: boolean = false;\n @Input() leftIcon?: IconType;\n @Input() rightIcon?: string;\n @Input() prefix?: string;\n @Input() context?: string;\n /**\n * @deprecated please use fw-wrapped-input instead\n */\n @Input() helperText?: string;\n /**\n * @deprecated please use fw-wrapped-input instead\n */\n @Input() errorText?: string;\n @Input() errorInIconTooltip?: boolean = false;\n @Input() placeholder?: string;\n @Input() readOnly?: boolean;\n @Input() size?: 'small' | 'medium' | 'large' = 'medium';\n @Input() type?: string = 'text';\n @Input() maxLength?: number = 255;\n @Input() autofocus?: boolean = false;\n @Input() autocomplete?: string;\n @Input() value = '';\n\n @ViewChild('input') inputRef: ElementRef<HTMLInputElement>;\n\n // we bind this to host because that's where angular form apis put the error classes\n @HostBinding('class.errored') @Input() error?: boolean = false;\n\n @Output() leftIconAction = new EventEmitter<void>();\n @Output() rightIconAction = new EventEmitter<void>();\n\n @ContentChild('textInput', { static: false }) textInput;\n @HostBinding('style.width') @Input() width = '100%';\n\n externalControl: FormControl = null;\n\n public onTouch = (): void => {\n };\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public onChange = (value: string): void => {};\n\n writeValue(obj: string): void {\n this.value = obj;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n changeHandler(event: KeyboardEvent): void {\n this.value = (event.target as HTMLInputElement).value;\n this.onChange(this.value);\n this.onTouch();\n }\n\n blurHandler(): void {\n this.onTouch();\n }\n\n onLeftIconClick(): void {\n this.leftIconAction.emit();\n }\n\n onRightIconClick(): void {\n this.rightIconAction.emit();\n }\n\n focus(): void {\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n this.inputRef.nativeElement.focus();\n }\n\n}\n","<div class=\"full-container\" [ngClass]=\"{'disabled': disabled}\">\n <div class=\"input-container\" [class]=\"size\">\n <fw-icon\n *ngIf=\"!!leftIcon\"\n (click)=\"useActionableIcons?onLeftIconClick():null\"\n [ngClass]=\"useActionableIcons?'actionable':''\">{{ leftIcon }}\n </fw-icon>\n <p class=\"vision-p2 context\" *ngIf=\"!!prefix\">{{ prefix }}</p>\n\n <input\n #input\n *ngIf=\"!textInput\"\n [type]=\"type\"\n (keyup)=\"changeHandler($event)\"\n (blur)=\"blurHandler()\"\n [value]=\"value\"\n [attr.maxlength]=\"maxLength\"\n [placeholder]=\"placeholder || ''\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [autofocus]=\"autofocus\"\n [autocomplete]=\"autocomplete\"\n >\n <ng-content select=\"input\"></ng-content>\n <p class=\"vision-p2 context\" *ngIf=\"!!context\">{{ context }}</p>\n\n <fw-icon class=\"error-icon\" [fwTooltip]=\"errorInIconTooltip ? errorText : ''\">warning-circle</fw-icon>\n <fw-icon\n *ngIf=\"!!rightIcon\"\n (click)=\"useActionableIcons?onRightIconClick():null\"\n [ngClass]=\"useActionableIcons?'actionable':''\">{{ rightIcon }}\n </fw-icon>\n <ng-content></ng-content>\n </div>\n <p class=\"vision-p4 helper-text\" *ngIf=\"!!helperText\">{{ helperText }}</p>\n <p class=\"vision-p4 error-text\" *ngIf=\"!!errorText && !errorInIconTooltip\">{{ errorText }}</p>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwTooltipDirective } from '../tooltip/tooltip.directive';\nimport { FwTextInputComponent } from './text-input.component';\n\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n FwTooltipDirective,\n ReactiveFormsModule,\n FwTextInputComponent,\n ],\n exports: [\n FwTextInputComponent,\n ],\n})\nexport class FwTextInputModule {\n}\n","import { CdkMenuTrigger } from '@angular/cdk/menu';\nimport { ContentChildren, Directive, HostListener, QueryList } from '@angular/core';\n\n@Directive({\n selector: '[fwMenuCloseTriggers]',\n})\nexport class FwMenuCloseTriggersDirective {\n @ContentChildren(CdkMenuTrigger, { descendants: true }) triggers?: QueryList<CdkMenuTrigger>;\n\n private _isOpen = false;\n\n @HostListener('document:click', ['$event'])\n outsideClick(event: MouseEvent): void {\n const target = event.target as HTMLElement;\n\n // Check is close under fw-menu-container (overlay)\n const clickedInsideMenu = target.closest('fw-menu-container') !== null;\n\n // Check is clicked on trigger\n const clickedOnTrigger = target.closest('[cdkMenuTriggerFor]') !== null;\n\n if (!clickedInsideMenu && !clickedOnTrigger && this._isOpen && this.triggers?.length > 0) {\n // Close menu if click outside menu and trigger\n this.triggers.forEach(trigger => {\n trigger.close();\n });\n this._isOpen = false;\n }\n\n if (this.triggers?.length > 0) {\n this.triggers.forEach(trigger => {\n if (trigger.isOpen()) {\n this._isOpen = true;\n }\n });\n }\n }\n}\n","import { NgIf } from '@angular/common';\nimport { Component, ContentChildren, HostBinding, Input, QueryList } from '@angular/core';\n\nimport { FwIconComponent } from '../../icon/icon.component';\nimport { IconType } from '../../icon/icon.types';\nimport { FwMenuItemComponent } from '../menu-item/menu-item.component';\n\n@Component({\n selector: 'fw-menu-item-group',\n templateUrl: './menu-item-group.component.html',\n styleUrls: ['./menu-item-group.component.scss'],\n imports: [NgIf, FwIconComponent],\n})\nexport class FwMenuItemGroupComponent {\n @HostBinding('role') @Input() role = 'group';\n @HostBinding('hidden') hidden = false;\n @Input() title?: string;\n @Input() icon?: IconType;\n @Input() iconColor?: 'primary' | 'secondary' | 'red' | 'orange' | 'green' | 'slate' | 'typography' = 'primary';\n @Input() disabled = false;\n @ContentChildren(FwMenuItemComponent, { descendants: true }) menuItems: QueryList<FwMenuItemComponent>;\n\n get allItemsHidden(): boolean {\n return this.menuItems?.length > 0 && this.menuItems.toArray().every(item => item.hidden);\n }\n}\n","<div class=\"menu-item-group\">\n <label *ngIf=\"title\">\n <fw-icon [color]=\"iconColor\" *ngIf=\"icon\" class=\"menu-icon {{iconColor}}\">{{ icon }}</fw-icon>\n <span>{{ title }}</span>\n </label>\n <div class=\"menu-item-group-items\">\n <ng-content></ng-content>\n </div>\n</div>\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'fw-menu-separator',\n template: '',\n styleUrls: ['./menu-separator.component.scss'],\n})\nexport class FwMenuSeparatorComponent {\n @HostBinding('hidden') hidden = false;\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { CdkMenuBar } from '@angular/cdk/menu';\nimport { NgIf } from '@angular/common';\nimport {\n AfterViewInit,\n Component,\n computed,\n ContentChild,\n contentChildren,\n effect,\n HostBinding,\n Input,\n input,\n output,\n signal,\n untracked,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n\nimport { FwTextInputComponent } from '../../text-input/text-input.component';\nimport { FwMenuComponent } from '../menu.component';\nimport { FwMenuItemComponent } from '../menu-item/menu-item.component';\nimport { FwMenuItemGroupComponent } from '../menu-item-group/menu-item-group.component';\nimport { FwMenuSeparatorComponent } from '../menu-separator/menu-separator.component';\n\n@Component({\n selector: 'fw-menu-container, fw-menu-filter',\n templateUrl: './menu-container.component.html',\n styleUrls: ['./menu-container.component.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [\n NgIf,\n CdkMenuBar,\n FwTextInputComponent,\n FwMenuItemComponent,\n ],\n})\nexport class FwMenuContainerComponent implements AfterViewInit {\n\n @Input() width?: string = 'inherit';\n @Input() maxHeight?: string = 'auto';\n @Input() minHeight?: string = 'auto';\n @Input() border?: 'none' | 'default' = 'default';\n @Input() shadow?: 'none' | 'small' | 'medium' | 'large' | 'extra-large' | 'inner' = 'large';\n @Input({ transform: (val: BooleanInput) => coerceBooleanProperty(val) }) showFilter: boolean = false;\n filterText = input<string>('');\n @Input({ transform: (val: BooleanInput) => coerceBooleanProperty(val) }) focusFilterOnMount: boolean = false;\n @Input() offset?: string = '0px';\n emptyText = input('No results')\n\n filteredMenuItems: FwMenuItemComponent[];\n filteredMenuItemChange = output<FwMenuItemComponent[]>();\n\n private defaultFilterFn = (filter: string, menuItems: FwMenuItemComponent[]): FwMenuItemComponent[] => {\n return menuItems?.filter(menuItem => menuItem.title?.toLowerCase().includes(filter?.toLowerCase()));\n }\n\n filterFn = input(this.defaultFilterFn);\n\n filterChanged = output<string>();\n @ViewChild('menuFilter') filterRef: FwTextInputComponent;\n\n @ContentChild(FwMenuComponent) menu: FwMenuComponent;\n\n // for passing menu items for the container to filter\n // works around a problem with nested content children\n // @see https://stackoverflow.com/questions/62886613/angular-9-nested-ng-content-and-contentchildren\n additionalMenuItems = input<readonly FwMenuItemComponent[]>([]);\n additionalGroups = input<readonly FwMenuItemGroupComponent[]>([]);\n additionalSeparators = input<readonly FwMenuSeparatorComponent[]>([]);\n childMenuItems = contentChildren(FwMenuItemComponent, { descendants: true });\n childSeparators = contentChildren(FwMenuSeparatorComponent, { descendants: true });\n childGroups = contentChildren(FwMenuItemGroupComponent, { descendants: true });\n private combinedMenuItems = computed(() => {\n return [...this.childMenuItems(), ...this.additionalMenuItems()];\n });\n\n @Input() keyHandler: (event: KeyboardEvent) => void;\n\n @HostBinding('attr.class') get classes(): string {\n return [\n 'fw-menu-container',\n `vision-shadow-${this.shadow}`,\n `border-${this.border}`,\n ].join(' ');\n };\n\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n width: ${this.width};\n max-height: ${this.maxHeight};\n min-height: ${this.minHeight};\n margin-top: ${this.offset};\n `);\n }\n\n constructor(private sanitizer: DomSanitizer) {\n effect(() => {\n const filter = this.filterText();\n untracked(() => this.onFilterChange(filter));\n });\n }\n\n ngAfterViewInit(): void {\n if (this.focusFilterOnMount && this.showFilter) {\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n this.filterRef?.focus();\n }\n\n // Ensure filteredMenuItemChange fires on init so consumers\n // that depend on it (e.g. displayedOptions) are populated\n untracked(() => this.onFilterChange(this.filterText()));\n }\n\n noResults = signal(false);\n\n handleFilterClick(event: Event): void{\n // stops filters in menus from closing the parent menu\n event.stopPropagation();\n }\n\n handleFilterInput(event: Event): void {\n const input = event.target as HTMLInputElement;\n const filterValue = input.value;\n this.onFilterChange(filterValue);\n }\n\n onFilterChange(filter: string): void {\n const allMenuItems = this.combinedMenuItems();\n\n this.filterChanged.emit(filter);\n const filterFn = this.filterFn();\n\n this.filteredMenuItems = filterFn(filter, allMenuItems);\n\n allMenuItems.forEach(menuItem => {\n const shouldBeHidden = !this.filteredMenuItems.includes(menuItem);\n menuItem.hidden = shouldBeHidden;\n });\n\n // Hide separators whenever a filter is active\n const isFiltering = Boolean(filter && filter.trim() !== '');\n [...this.childSeparators(), ...this.additionalSeparators()].forEach(separator => {\n separator.hidden = isFiltering;\n });\n\n // Hide groups whose every child menu item is hidden\n [...this.childGroups(), ...this.additionalGroups()].forEach(group => {\n group.hidden = group.allItemsHidden;\n });\n\n const hasFilter = Boolean(filter && filter.trim() !== '');\n const allHidden = allMenuItems.length > 0 && allMenuItems.every(item => item.hidden);\n this.noResults.set(hasFilter && (allHidden || allMenuItems.length === 0));\n\n this.filteredMenuItemChange.emit(this.filteredMenuItems);\n }\n}\n","<div #filterBox *ngIf=\"showFilter\" class=\"filter-box\" cdkMenuBar>\n <fw-text-input\n (click)=\"handleFilterClick($event)\"\n #menuFilter\n (keydown)=\"keyHandler?.($event)\"\n placeholder=\"Search\" leftIcon=\"search\" [autofocus]=\"true\"\n [value]=\"filterText()\" (input)=\"handleFilterInput($event)\">\n </fw-text-input>\n <ng-content select=\".filter-content\"></ng-content>\n</div>\n<div class=\"menu-wrapper\">\n @if (noResults()) {\n <fw-menu-item [title]=\"emptyText()\" [disabled]=\"true\"></fw-menu-item>\n }\n <ng-content></ng-content>\n <ng-content select=\"custom-menu-items\"></ng-content>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'fw-menu-header',\n templateUrl: './menu-header.component.html',\n styleUrls: ['./menu-header.component.scss'],\n})\nexport class FwMenuHeaderComponent {\n\n}\n","<h3 class=\"vision-h3\">\n <ng-content></ng-content>\n</h3>\n<ng-content select=\"fw-icon-button\"></ng-content>\n<ng-content select=\"fw-badge\"></ng-content>\n","import { CdkMenuModule } from '@angular/cdk/menu';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { FwBadgeModule } from '../badge/badge.module';\nimport { FwCheckboxModule } from '../checkbox/checkbox.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwIconButtonModule } from '../icon-button/icon-button.module';\nimport { FwRadioModule } from '../radio/radio.module';\nimport { FwTextInputModule } from '../text-input/text-input.module';\nimport { FwTooltipModule } from '../tooltip/tooltip.module';\nimport { FwMenuComponent } from './menu.component';\nimport { FwMenuCloseTriggersDirective } from './menu-close-triggers.directive';\nimport { FwMenuContainerComponent } from './menu-container/menu-container.component';\nimport { FwMenuHeaderComponent } from './menu-header/menu-header.component';\nimport { FwMenuItemComponent } from './menu-item/menu-item.component';\nimport { FwMenuItemGroupComponent } from './menu-item-group/menu-item-group.component';\nimport { FwMenuSeparatorComponent } from './menu-separator/menu-separator.component';\nimport { FwMenuSubItemComponent } from './menu-sub-item/menu-sub-item.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CdkMenuModule,\n CommonModule,\n FormsModule,\n FwBadgeModule,\n FwIconButtonModule,\n FwIconModule,\n FwTextInputModule,\n FwTooltipModule,\n FwCheckboxModule,\n FwRadioModule,\n FwMenuCloseTriggersDirective,\n FwMenuComponent,\n FwMenuContainerComponent,\n FwMenuHeaderComponent,\n FwMenuItemComponent,\n FwMenuItemGroupComponent,\n FwMenuSeparatorComponent,\n FwMenuSubItemComponent,\n ],\n exports: [\n FwMenuCloseTriggersDirective,\n FwMenuComponent,\n FwMenuContainerComponent,\n FwMenuHeaderComponent,\n FwMenuItemComponent,\n FwMenuItemGroupComponent,\n FwMenuSeparatorComponent,\n FwMenuSubItemComponent,\n ],\n})\nexport class FwMenuModule {\n}\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { NgClass,NgIf } from '@angular/common';\nimport { Component, HostBinding, Input } from '@angular/core';\n\nimport { IconType } from '../../icon/icon.types';\nimport { FwTooltipComponent } from '../../tooltip/tooltip.component';\n\n\n@Component({\n selector: 'fw-navbar-sub-item',\n templateUrl: './navbar-sub-item.component.html',\n styleUrls: ['./navbar-sub-item.component.scss'],\n animations: [\n trigger('openClose', [\n // ...\n state('open', style({\n height: 'auto',\n }), { params: {} }),\n state('closed', style({\n height: '0',\n }), { params: {} }),\n transition('open <=> closed', [\n animate('.33s ease-in-out'),\n ]),\n ]),\n ],\n imports: [\n NgIf,\n FwTooltipComponent,\n NgClass,\n ],\n})\nexport class FwNavbarSubItemComponent {\n @Input() value?: string;\n @Input() title: string;\n @Input() description?: string;\n @Input() icon?: IconType;\n @Input() disabled?: boolean;\n @Input() hidden?: boolean = false;\n @Input() tooltipText?: string;\n @Input() showTooltip?: boolean = false;\n @Input() href?: string;\n @Input() target?: string;\n @HostBinding('class.collapsed') @Input() collapsed?: boolean;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @HostBinding('class.selected') @Input() selected?: boolean = false;\n}\n","<div\n *ngIf=\"!hidden\"\n [@openClose]=\"{value: collapsed?'closed':'open'}\">\n <a [href]=\"href?href:'javascript:void(0)'\" [target]=\"target?target:''\">\n <fw-tooltip [title]=\"showTooltip ? tooltipText || title : ''\" position=\"right\" [fullWidth]=\"true\">\n <div\n [ngClass]=\"['navbar-sub-item', disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <div class=\"navbar-text\" *ngIf=\"title\">\n <h5>{{ title }}</h5>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n </div>\n </div>\n </fw-tooltip>\n </a>\n</div>\n","import { NgClass,NgIf } from '@angular/common';\nimport {\n AfterViewInit,\n Component,\n ContentChildren,\n HostBinding,\n Input,\n OnChanges,\n QueryList,\n SimpleChanges,\n} from '@angular/core';\n\nimport { FwIconComponent } from '../../icon/icon.component';\nimport { IconType } from '../../icon/icon.types';\nimport { FwIconButtonComponent } from '../../icon-button/icon-button.component';\nimport { FwTooltipComponent } from '../../tooltip/tooltip.component';\nimport { FwNavbarSubItemComponent } from '../navbar-sub-item/navbar-sub-item.component';\n\n@Component({\n selector: 'fw-navbar-item',\n templateUrl: './navbar-item.component.html',\n styleUrls: ['./navbar-item.component.scss'],\n imports: [\n NgIf,\n FwTooltipComponent,\n NgClass,\n FwIconComponent,\n FwIconButtonComponent,\n ],\n})\nexport class FwNavbarItemComponent implements OnChanges, AfterViewInit {\n @Input() value?: string;\n @Input() title: string;\n @Input() description?: string;\n @Input() icon?: IconType;\n @Input() iconColor?: 'primary' | 'secondary' | 'red' | 'orange' | 'green' | 'slate' | 'typography' | 'muted' = 'primary';\n @Input() disabled?: boolean;\n @Input() hidden?: boolean = false;\n @Input() tooltipText?: string;\n @Input() showTooltip?: boolean = false;\n @HostBinding('class.collapsed') @Input() collapsed?: boolean;\n @Input() href?: string;\n @Input() target?: string;\n @Input() subItemsOpen: boolean = false;\n @Input() subItemsTooltipTitle?: string = '';\n @HostBinding('class.selected') @Input() selected?: boolean = false;\n @ContentChildren(FwNavbarSubItemComponent) subItems: QueryList<FwNavbarSubItemComponent>;\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ngOnChanges(changes: SimpleChanges): void {\n this.updateLayout();\n }\n\n ngAfterViewInit(): void {\n this.updateLayout();\n }\n\n updateLayout(): void {\n if (this.selected) {\n this.iconColor = 'primary';\n } else {\n this.iconColor = 'muted';\n }\n if (this.subItems) {\n this.subItems.forEach(subItem => {\n subItem.hidden = !(this.subItemsOpen && !this.collapsed);\n if (this.collapsed !== undefined) {\n subItem.collapsed = this.collapsed;\n }\n if (this.disabled !== undefined) {\n subItem.disabled = this.disabled;\n }\n });\n }\n }\n\n toggleSubItemsView(event: Event): boolean {\n event.stopPropagation();\n this.subItemsOpen = !this.subItemsOpen;\n this.updateLayout();\n return false;\n }\n\n}\n","<div *ngIf=\"!hidden\">\n <a [href]=\"href?href:'javascript:void(0)'\" [target]=\"target?target:''\">\n <fw-tooltip [title]=\"showTooltip ? tooltipText || title : ''\" position=\"right\" [fullWidth]=\"true\">\n <div\n [ngClass]=\"['navbar-item', disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <fw-icon [color]=\"iconColor\" *ngIf=\"icon\" class=\"navbar-icon {{iconColor}}\">{{ icon }}</fw-icon>\n <ng-content select=\"fw-avatar\"></ng-content>\n <div class=\"navbar-text\" *ngIf=\"title\">\n <h5 class=\"vision-h5\">{{ title }}</h5>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n <fw-tooltip\n *ngIf=\"subItems.length>0 && !collapsed\"\n [title]=\"subItemsTooltipTitle\"\n position=\"right\">\n <fw-icon-button\n [size]=\"'small'\"\n [icon]=\"subItemsOpen?'chevron-up':'chevron-down'\"\n (click)=\"toggleSubItemsView($event)\">\n </fw-icon-button>\n </fw-tooltip>\n </div>\n </div>\n </fw-tooltip>\n </a>\n</div>\n<div class=\"item-subitems\">\n <ng-content select=\"fw-navbar-sub-item\"></ng-content>\n</div>\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport {\n AfterViewInit,\n Component,\n ContentChildren,\n HostBinding,\n Input,\n OnChanges,\n QueryList,\n SimpleChanges,\n} from '@angular/core';\n\nimport { FwNavbarItemComponent } from './navbar-item/navbar-item.component';\n\n@Component({\n selector: 'fw-navbar',\n templateUrl: './navbar.component.html',\n styleUrls: ['./navbar.component.scss'],\n animations: [\n trigger('openClose', [\n // ...\n state('open', style({\n width: '{{openWidth}}',\n }), { params: { openWidth: '200px' } }),\n state('closed', style({\n width: '60px',\n })),\n transition('open <=> closed', [\n animate('.33s ease-in-out'),\n ]),\n ]),\n ],\n})\nexport class FwNavbarComponent implements OnChanges, AfterViewInit {\n @Input() disabled;\n @HostBinding('class.collapsed') @Input() collapsed?: boolean;\n @Input() width: string = '200px';\n @ContentChildren(FwNavbarItemComponent) menuItems: QueryList<FwNavbarItemComponent>;\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ngOnChanges(changes: SimpleChanges): void {\n this.updateLayout();\n }\n\n ngAfterViewInit(): void {\n this.updateLayout();\n }\n\n updateLayout(): void {\n if (this.menuItems) {\n this.menuItems.forEach(item => {\n if (this.collapsed !== undefined) {\n item.collapsed = this.collapsed;\n }\n if (this.disabled !== undefined) {\n item.disabled = this.disabled;\n }\n item.showTooltip = this.collapsed;\n item.updateLayout();\n });\n }\n }\n}\n","<div\n class=\"navbar\"\n [@openClose]=\"{value: collapsed?'closed':'open', params: {openWidth: width || 'inherit'}}\">\n <ng-content></ng-content>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'fw-navbar-header',\n templateUrl: './navbar-header.component.html',\n styleUrls: ['./navbar-header.component.scss'],\n})\nexport class FwNavbarHeaderComponent {\n\n}\n","<h4 class=\"vision-h4\">\n <ng-content></ng-content>\n</h4>\n<ng-content select=\"fw-icon-button\"></ng-content>\n<ng-content select=\"fw-badge\"></ng-content>\n","import { CdkMenuModule } from '@angular/cdk/menu';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { FwBadgeModule } from '../badge/badge.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwIconButtonModule } from '../icon-button/icon-button.module';\nimport { FwTextInputModule } from '../text-input/text-input.module';\nimport { FwTooltipModule } from '../tooltip/tooltip.module';\nimport { FwNavbarComponent } from './navbar.component';\nimport { FwNavbarHeaderComponent } from './navbar-header/navbar-header.component';\nimport { FwNavbarItemComponent } from './navbar-item/navbar-item.component';\nimport { FwNavbarSubItemComponent } from './navbar-sub-item/navbar-sub-item.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CdkMenuModule,\n CommonModule,\n FormsModule,\n FwBadgeModule,\n FwIconButtonModule,\n FwIconModule,\n FwTextInputModule,\n FwTooltipModule,\n FwNavbarComponent,\n FwNavbarHeaderComponent,\n FwNavbarItemComponent,\n FwNavbarSubItemComponent,\n ],\n exports: [\n FwNavbarComponent,\n FwNavbarHeaderComponent,\n FwNavbarItemComponent,\n FwNavbarSubItemComponent,\n ],\n})\nexport class FwNavbarModule {\n}\n","import { NgClass, NgIf } from '@angular/common';\nimport { Component, EventEmitter, HostBinding, Input, Output, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { FwIconComponent } from '../icon/icon.component';\nimport { IconType } from '../icon/icon.types';\n\n@Component({\n selector: 'fw-number-input',\n templateUrl: './number-input.component.html',\n styleUrls: ['./number-input.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: FwNumberInputComponent,\n multi: true,\n }],\n imports: [\n NgClass,\n NgIf,\n FwIconComponent,\n ],\n})\nexport class FwNumberInputComponent implements ControlValueAccessor {\n\n @Input() disabled?: boolean = false;\n @Input() useActionableIcons?: boolean = false;\n @Input() leftIcon?: IconType;\n @Output() leftIconAction?: EventEmitter<void> = new EventEmitter<void>();\n @Input() rightIcon?: string;\n @Output() rightIconAction?: EventEmitter<void> = new EventEmitter<void>();\n @Input() prefix?: string;\n @Input() context?: string;\n @Input() placeholder?: string;\n @Input() readOnly?: boolean;\n @Input() size?: 'small' | 'medium' | 'large' = 'medium';\n @Input() min?: number;\n @Input() max?: number;\n @Input() step?: number;\n @Input() arrows?: 'native' | 'plus-minus' | 'none';\n @Input() numberType?: 'integer' | 'float';\n @Input() autofocus?: boolean;\n @Input() autocomplete?: boolean;\n @ViewChild('numberInput') numberInput;\n // we bind this to host because that's where angular form apis put the error classes\n @HostBinding('class.errored') @Input() error?: boolean = false;\n\n @Input() value: number;\n externalControl: FormControl = null;\n\n public onTouch = (): void => {\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public onChange = (value: number): void => {\n };\n\n writeValue(obj: number): void {\n this.value = obj;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n changeHandler(event: KeyboardEvent): void {\n if (this.numberType === 'float') {\n this.value = parseFloat((event.target as HTMLInputElement).value);\n } else {\n this.value = parseInt((event.target as HTMLInputElement).value);\n }\n this.onChange(this.value);\n this.onTouch();\n }\n\n blurHandler(): void {\n this.onTouch();\n }\n\n onLeftIconClick(): void {\n this.leftIconAction.emit();\n }\n\n onRightIconClick(): void {\n this.rightIconAction.emit();\n }\n\n handleDecrement(): void {\n this.numberInput.nativeElement.stepDown();\n }\n\n handleIncrement(): void {\n this.numberInput.nativeElement.stepUp();\n }\n}\n","<div class=\"full-container\" [ngClass]=\"{'disabled': disabled}\">\n <div class=\"input-container\" [class]=\"size\">\n <button *ngIf=\"arrows === 'plus-minus'\" (click)=\"handleDecrement()\">-</button>\n <fw-icon\n *ngIf=\"!!leftIcon\"\n (click)=\"useActionableIcons?onLeftIconClick():null\"\n [ngClass]=\"useActionableIcons?'actionable':''\">{{ leftIcon }}\n </fw-icon>\n <p class=\"vision-p2 context\" *ngIf=\"!!prefix\">{{ prefix }}</p>\n\n <input\n #numberInput\n [class]=\"arrows\"\n (keyup)=\"changeHandler($event)\"\n (blur)=\"blurHandler()\"\n [value]=\"value\"\n type=\"number\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [placeholder]=\"placeholder || ''\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [autofocus]=\"autofocus\"\n [autocomplete]=\"autocomplete\"\n >\n <ng-content select=\"input\"></ng-content>\n <p class=\"vision-p2 context\" *ngIf=\"!!context\">{{ context }}</p>\n\n <fw-icon class=\"error-icon\">warning-circle</fw-icon>\n <fw-icon\n *ngIf=\"!!rightIcon\"\n (click)=\"useActionableIcons?onRightIconClick():null\"\n [ngClass]=\"useActionableIcons?'actionable':''\">{{ rightIcon }}\n </fw-icon>\n <button *ngIf=\"arrows === 'plus-minus'\" (click)=\"handleIncrement()\">+</button>\n <ng-content></ng-content>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwNumberInputComponent } from './number-input.component';\n\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n ReactiveFormsModule,\n FwNumberInputComponent,\n ],\n exports: [\n FwNumberInputComponent,\n ],\n})\nexport class FwNumberInputModule {\n}\n","import { NgClass, NgFor,NgIf } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges, TrackByFunction } from '@angular/core';\n\nimport { FwIconComponent } from '../icon/icon.component';\nimport { FwPaginatorEvent } from './paginator.model';\n\nexport interface PaginationPage {\n pageIndex: number;\n number: number;\n active: boolean;\n}\n\n@Component({\n selector: 'fw-paginator',\n templateUrl: './paginator.component.html',\n styleUrls: ['./paginator.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgClass,\n NgIf,\n FwIconComponent,\n NgFor,\n ],\n})\nexport class FwPaginatorComponent implements OnChanges {\n @Input() size: 'small' | 'medium' | 'large' = 'medium';\n @Input() color: 'slate' | 'primary' | 'secondary' = 'slate';\n @Input() shape: 'rounded' | 'circle' = 'rounded';\n @Input() variant: 'ghost' | 'outline' | 'solid' = 'ghost';\n @Input() disabled: boolean = false;\n @Input() showNext: boolean = true;\n @Input() showPrevious: boolean = true;\n @Input() showFirst: boolean = false;\n @Input() showLast: boolean = false;\n @Input() pageIndex: number = 0;\n @Input() pageSize: number = 10;\n @Input() maxPagesShown: number = 10;\n @Input() length: number = 0;\n @Input() alignment: 'start' | 'center' | 'end' = 'center';\n @Input() selectorTitle: string = 'Items per page:';\n @Output() page: EventEmitter<FwPaginatorEvent> = new EventEmitter<FwPaginatorEvent>();\n\n pages: PaginationPage[] = [];\n pagesTrackByFn: TrackByFunction<PaginationPage> = (_: number, page: PaginationPage): number => page.pageIndex;\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.pageIndex || changes.maxPagesShown || changes.length || changes.pageSize) {\n this.pages = this.getPages();\n }\n }\n\n private buildPageEvent(pageIndex: number): FwPaginatorEvent {\n return {\n length: this.length,\n pageSize: this.pageSize,\n pageIndex: pageIndex,\n previousPageIndex: this.pageIndex,\n rowIndexStart: this.getRowIndexStart(pageIndex),\n rowIndexEnd: this.getRowIndexEnd(pageIndex),\n };\n }\n\n firstPage(): void {\n this.setPage(0);\n }\n\n lastPage(): void {\n this.setPage(this.getNumberOfPages() - 1);\n }\n\n nextPage(): void {\n if (this.hasNextPage()) {\n this.setPage(this.pageIndex + 1);\n }\n }\n\n previousPage(): void {\n if (this.hasPreviousPage()) {\n this.setPage(this.pageIndex - 1);\n }\n }\n\n setPage(pageIndex: number): void {\n const evt = this.buildPageEvent(pageIndex);\n this.pageIndex = pageIndex;\n this.page.emit(evt);\n this.pages = this.getPages();\n }\n\n getPages(): PaginationPage[] {\n const pages: PaginationPage[] = [];\n const currentSet = Math.ceil((this.pageIndex + 1) / this.maxPagesShown);\n for (let i = 0; i < this.getNumberOfPages(); i++) {\n if (currentSet === Math.ceil((i + 1) / this.maxPagesShown)) {\n pages.push({ pageIndex: i, number: i + 1, active: this.pageIndex === i });\n }\n }\n return pages;\n }\n\n getNumberOfPages(): number {\n return Math.ceil(this.length / this.pageSize);\n }\n\n getRowIndexStart(pageIndex?: number): number {\n const index = pageIndex !== undefined ? pageIndex : this.pageIndex;\n return index * this.pageSize;\n }\n\n getRowIndexEnd(pageIndex?: number): number {\n const index = pageIndex !== undefined ? pageIndex : this.pageIndex;\n let indexEnd = (index * this.pageSize) + this.pageSize - 1;\n if (indexEnd >= this.length) {\n indexEnd = this.length - 1;\n }\n return indexEnd;\n }\n\n hasNextPage(): boolean {\n return (this.pageIndex !== this.getNumberOfPages() - 1);\n }\n\n hasPreviousPage(): boolean {\n return (this.pageIndex > 0);\n }\n}\n","<div [ngClass]=\"['paginator', variant, color, size, shape, alignment]\">\n <div class=\"pages-list\">\n <button\n *ngIf=\"showFirst\" class=\"page-item page-action page-first\" [disabled]=\"!hasPreviousPage() || disabled\"\n (click)=\"firstPage()\">\n <fw-icon size=\"small\" color=\"typography\">arrow-back-collapse</fw-icon>\n </button>\n <button\n *ngIf=\"showPrevious\"\n class=\"page-item page-action page-previous\" [disabled]=\"!hasPreviousPage() || disabled\" (click)=\"previousPage()\">\n <fw-icon size=\"small\" color=\"typography\">chevron-back</fw-icon>\n </button>\n <button\n *ngFor=\"let page of pages; trackBy: pagesTrackByFn\"\n [ngClass]=\"['page-item', 'page-number', page.active ? 'page-active': '']\"\n [disabled]=\"disabled\"\n (click)=\"setPage(page.pageIndex)\"\n >\n <h4 class=\"vision-h4\">{{ page.number }}</h4>\n </button>\n <button\n *ngIf=\"showNext\" class=\"page-item page-action page-next\" [disabled]=\"!hasNextPage() || disabled\"\n (click)=\"nextPage()\">\n <fw-icon size=\"small\" color=\"typography\">chevron-forward</fw-icon>\n </button>\n <button\n *ngIf=\"showLast\" class=\"page-item page-action page-last\" [disabled]=\"!hasNextPage() || disabled\"\n (click)=\"lastPage()\">\n <fw-icon size=\"small\" color=\"typography\">arrow-forward-collapse</fw-icon>\n </button>\n </div>\n</div>\n","import { CdkMenuTrigger } from '@angular/cdk/menu';\nimport { Injectable } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class MenuManagerService {\n private triggers = new Set<CdkMenuTrigger>();\n\n public register(trigger: CdkMenuTrigger): void {\n this.triggers.add(trigger);\n }\n\n public unregister(trigger: CdkMenuTrigger): void {\n this.triggers.delete(trigger);\n }\n\n public closeAllExcept(current: CdkMenuTrigger): void {\n this.triggers.forEach(trigger => {\n if (trigger !== current) {\n trigger.close();\n }\n });\n }\n}\n","import { CdkMenuTrigger } from '@angular/cdk/menu';\nimport { Directive, Host, HostListener, OnDestroy, OnInit, Optional } from '@angular/core';\n\nimport { MenuManagerService } from '../components/shared/services/menu-manager.service';\n\n@Directive({\n selector: '[fwMenuRegister]',\n})\nexport class MenuRegisterDirective implements OnInit, OnDestroy {\n constructor(@Optional() @Host() private trigger: CdkMenuTrigger, @Optional()private menuManager: MenuManagerService) {}\n\n @HostListener('click')\n private onClick(): void {\n this.menuManager?.closeAllExcept(this.trigger);\n }\n\n ngOnInit(): void {\n this.menuManager?.register(this.trigger);\n }\n\n ngOnDestroy(): void {\n this.menuManager?.unregister(this.trigger);\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { CdkMenuTrigger } from '@angular/cdk/menu';\nimport { NgClass, NgFor, NgIf, NgStyle, SlicePipe } from '@angular/common';\nimport {\n AfterContentInit,\n Component,\n ContentChildren,\n effect,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n input,\n OnDestroy,\n Output,\n QueryList,\n signal,\n ViewChild,\n viewChild,\n ViewChildren,\n WritableSignal,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\nimport { MenuRegisterDirective } from '../../../directives/menu-register.directive';\nimport { FwButtonComponent } from '../../button/button.component';\nimport { FwChipComponent } from '../../chip/chip.component';\nimport { FwIconComponent } from '../../icon/icon.component';\nimport { FwMenuComponent } from '../../menu/menu.component';\nimport { FwMenuContainerComponent } from '../../menu/menu-container/menu-container.component';\nimport { FwMenuItemComponent } from '../../menu/menu-item/menu-item.component';\n\n/**\n * FwMultiSelect a component for selecting multiple options\n * @see [Storybook Docs](https://cdn.flywheel.io/docs/vision/master/?path=/docs/form-controls-multi-select--docs)\n */\n@Component({\n selector: 'fw-multi-select',\n templateUrl: './multi-select-menu.component.html',\n styleUrls: ['./multi-select-menu.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FwMultiSelectMenuComponent),\n multi: true,\n },\n ],\n imports: [\n NgStyle,\n MenuRegisterDirective,\n NgClass,\n CdkMenuTrigger,\n NgIf,\n NgFor,\n FwChipComponent,\n FwIconComponent,\n FwMenuContainerComponent,\n FwButtonComponent,\n FwMenuComponent,\n FwMenuItemComponent,\n SlicePipe,\n ],\n})\nexport class FwMultiSelectMenuComponent implements ControlValueAccessor, AfterContentInit, OnDestroy {\n @HostListener('document:click', ['$event']) outsideClick(event: MouseEvent): void {\n if (this._isOpen) {\n const clickedInside = this.elementRef.nativeElement.contains(event.target);\n if (clickedInside) {\n return;\n }\n this.trigger.close();\n this._isOpen = false;\n }\n if (this.trigger && this.trigger.isOpen()) {\n this._isOpen = true;\n }\n }\n\n // options\n @Input() options: object[] = [];\n @Input() valueProperty?: string = 'value';\n @Input() titleProperty?: string = 'title';\n @Input() iconProperty?: string = 'icon';\n\n\n // behaviour\n @Input() emptyText: string = 'No matches found...';\n @Input() placeholder: string = 'Select something...';\n @Input() disabled?: boolean = false;\n @Input() useCheckbox?: boolean = false;\n @Input() closeOnSelect?: boolean = true;\n @Input() maxSelectedShown: number = 100;\n\n showClear = input(false);\n showFilter = input(true, { transform: (val: BooleanInput) => coerceBooleanProperty(val) });\n showSelectionInfo = input(false, { transform: (val: BooleanInput) => coerceBooleanProperty(val) });\n filterItemsOnSelect = input(true, { transform: (val: BooleanInput) => coerceBooleanProperty(val) });\n\n // sizing\n @Input() width: string = '200px';\n @Input() minHeight: string = '';\n @Input() maxHeight: string = '200px';\n @Input() optionsWidth?: string;\n @Input() minOptionsHeight?: string;\n @Input() maxOptionsHeight: string = '400px';\n @Input() size?: 'small' | 'medium' | 'large' = 'medium';\n\n // view children\n @ViewChild(CdkMenuTrigger) trigger: CdkMenuTrigger;\n @ViewChild(FwMenuComponent) menu: FwMenuComponent;\n menuFilter = viewChild(FwMenuContainerComponent);\n @ViewChildren(FwMenuItemComponent) renderedMenuItems: QueryList<FwMenuItemComponent>;\n @ContentChildren(FwMenuItemComponent, { descendants: true }) customMenuItems: QueryList<FwMenuItemComponent>;\n\n // need this for the template\n createArray = (d: Iterable<string>): string[] => Array.from(d);\n\n // internal state\n selectedValues: Set<string> = new Set();\n selectedOptions: object[] = [];\n displayedOptions: WritableSignal<FwMenuItemComponent[]> = signal([]);\n focusedIndex = signal(0);\n touched = false;\n private subscriptions: Subscription[] = [];\n private _isOpen = false;\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change = new EventEmitter<any>();\n\n @Input()\n get value(): any[] {\n return this._value;\n }\n\n set value(newValue: any[]) {\n this.updateValue(newValue);\n }\n\n private _value: any[] = [];\n\n constructor(\n private elementRef: ElementRef,\n ) {}\n\n @HostBinding('tabIndex') tabIndex = 0;\n @HostBinding('class.disabled') get disabledClass(): boolean {\n return this.disabled;\n }\n onChange: (value: any[]) => void;\n onTouched = (): void => {};\n\n registerOnChange(fn: (value: any[]) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(value: any[]): void {\n this.value = value;\n }\n\n ngOnDestroy(): void {\n for (const subscription of this.subscriptions) {\n subscription.unsubscribe();\n }\n }\n\n ngAfterContentInit(): void {\n this.registerCustomMenuItems()\n\n this.customMenuItems.changes.subscribe(() => {\n this.registerCustomMenuItems();\n })\n }\n\n private registerCustomMenuItems(): void {\n // first filter any menuItems we've already registered as options\n const newMenuItems = this.customMenuItems?.filter(\n menuItem => !this.options.find(option => menuItem.value === (option as any).value),\n )\n\n newMenuItems.forEach((newMenuItem) => {\n\n // sync render settings\n this.customMenuItems?.forEach(menuItem => {\n menuItem.showCheckbox = this.useCheckbox;\n menuItem.multiSelect = true;\n });\n\n // add it to the options\n // a lot of our value handling logic relies on\n const newOption = {\n value: newMenuItem.value,\n title: newMenuItem.title,\n icon: newMenuItem.icon,\n }\n this.options.push(newOption);\n\n newMenuItem.mouseEnterHandler.set((_, item) => {\n this.setFocusedIndex(item);\n })\n\n // add click listener\n const sub = newMenuItem.click.subscribe(value => {\n this.addValue(value);\n\n if (this.closeOnSelect) {\n this.trigger.close();\n }\n });\n this.subscriptions.push(sub);\n })\n }\n\n handleTouched(): void {\n this.touched = true;\n }\n\n handleChipClose(chip: object): void {\n const newValues = this.value.filter(val => val !== chip[this.valueProperty]);\n this.updateValue(newValues);\n this.trigger.close();\n }\n\n // handles the value emission from the menu\n // TODO: make menu a dumb component, it shouldn't be handling values ideally\n handleMenuChange(e: string | string[]): void {\n if (Array.isArray(e)) {\n if (e.toString() !== this.selectedValues.toString()) {\n if (this.closeOnSelect) {\n this.trigger.close();\n }\n }\n this.updateValue(e);\n }\n }\n\n\n // adds a single value\n addValue(incoming: string): void {\n const alreadySelected = this.value.includes(incoming);\n\n if (alreadySelected) {\n const splicedOut = this.value.toSpliced(this.value.indexOf(incoming), 1);\n this.updateValue(splicedOut);\n }\n else {\n this.updateValue([...this.value, incoming]);\n }\n }\n\n // handles all the display side effects of a value change\n updateValue(incomingValues: any[]): void {\n\n if (!incomingValues) {\n this.selectedValues.clear();\n this.selectedOptions = [];\n this._value = [];\n this.change.emit(this._value);\n this.postSelectSideEffects();\n return;\n }\n\n this.selectedValues.clear();\n this.selectedOptions = [];\n\n incomingValues.forEach(incoming => {\n\n if (typeof incoming === 'object') {\n this.selectedValues.add(incoming[this.valueProperty]);\n this.selectedOptions.push(incoming);\n\n } else {\n\n this.selectedValues.add(incoming);\n\n const incomingMappedToOption = this.options.find(opt => opt[this.valueProperty] === incoming);\n this.selectedOptions.push(incomingMappedToOption);\n }\n });\n\n this._value = Array.from(this.selectedValues);\n if (this.onChange) {\n this.onChange(this._value);\n }\n this.change.emit(this._value);\n this.postSelectSideEffects();\n }\n\n // custom filter for handling filterOnSelect\n customFilter = (filter: string, menuItems: FwMenuItemComponent[]): FwMenuItemComponent[] => {\n return menuItems.filter(menuItem => {\n const filterMatches = menuItem.title.toLowerCase().includes(filter.toLowerCase());\n const isSelected = this.value.includes(menuItem.value);\n const filterBecauseSelected = isSelected && this.filterItemsOnSelect();\n\n return filterMatches && !filterBecauseSelected;\n })\n }\n\n private moveFocused(direction: 'up' | 'down'): void {\n const options = this.displayedOptions();\n const index = this.focusedIndex();\n\n const clampIndex = (n: number): number => {\n if (n < 0) {\n return options.length - 1;\n }\n else if (n >= options.length) {\n return 0;\n }\n\n return n;\n }\n\n const indexChange = direction === 'up' ? -1 : 1;\n\n const newIndex = clampIndex(index + indexChange);\n this.focusedIndex.set(newIndex);\n\n const newlyFocused = this.displayedOptions()[this.focusedIndex()];\n\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n newlyFocused.scrollIntoView();\n }\n\n setFocusedIndex(item: unknown): void {\n const foundIndex = this.displayedOptions().findIndex(i => i.value === item[this.valueProperty]);\n this.focusedIndex.set(foundIndex);\n }\n\n displayFocusIndicator = effect(() => {\n this.displayedOptions().forEach((item, index) => {\n item.focused = index === this.focusedIndex();\n })\n })\n\n /* eslint-disable @typescript-eslint/naming-convention, @rx-angular/prefer-no-layout-sensitive-apis */\n private keyboardActionMap = {\n 'ArrowDown': () => {\n this.moveFocused('down');\n },\n 'ArrowUp': () => {\n this.moveFocused('up');\n },\n 'Tab': () => {\n this.trigger.close();\n this.elementRef.nativeElement.focus();\n },\n 'Escape': () => {\n this.trigger.close();\n this.elementRef.nativeElement.focus();\n },\n 'Enter': () => {\n const selectedMenuItem = this.displayedOptions()[this.focusedIndex()];\n\n if (!selectedMenuItem) { return }\n\n this.addValue(selectedMenuItem.value);\n this.postSelectSideEffects();\n },\n }\n\n private closedTriggerKeyboardActionsMap = {\n 'Enter': () => {\n this.trigger.open();\n },\n 'Backspace': () => {\n this.updateValue(this.value.toSpliced(-1));\n },\n }\n /* eslint-enable */\n\n // needs to be an arrow function to lock the scope\n @HostListener('keydown', ['$event'])\n handleKeyDown = (event: KeyboardEvent): void =>{\n\n const handler = this.trigger.isOpen() ? this.keyboardActionMap[event.key] : this.closedTriggerKeyboardActionsMap[event.key];\n\n if (handler) {\n event.preventDefault();\n handler();\n }\n }\n\n private postSelectSideEffects(): void {\n this.menuFilter()?.onFilterChange('');\n\n this.customMenuItems?.forEach(menuItem => {\n menuItem.selected = this.value.includes(menuItem.value);\n })\n\n if (this.closeOnSelect) {\n setTimeout(() => {\n this.trigger.close();\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n this.elementRef.nativeElement.focus();\n }, 0);\n }\n }\n}\n","<div [ngStyle]=\"{width: width}\" #wrapper>\n\n <div\n fwMenuRegister\n class=\"chip-grid\"\n [ngClass]=\"[size]\"\n [ngStyle]=\"{ minHeight: minHeight, maxHeight: maxHeight }\"\n [cdkMenuTriggerFor]=\"selectMenu\">\n <span *ngIf=\"value.length === 0\" class=\"placeholder\">{{placeholder}}</span>\n\n <!-- CHIPS -->\n <div class=\"inner-chip-grid\" *ngIf=\"value && value.length>0\">\n <fw-chip\n *ngFor=\"let chip of selectedOptions | slice:0:maxSelectedShown\"\n [title]=\"chip[titleProperty]\"\n [value]=\"chip[valueProperty]\"\n [icon]=\"chip[iconProperty]\"\n color=\"primary\"\n [showClose]=\"true\"\n (close)=\"handleChipClose(chip)\"\n [selectable]=\"false\">\n </fw-chip>\n <span *ngIf=\"maxSelectedShown === 0 && value.length > 0\" class=\"selected-text\">\n {{ value.length }} selected\n </span>\n <span *ngIf=\"value.length > maxSelectedShown && maxSelectedShown > 0\" class=\"max-exceeded\">\n +{{ value.length - maxSelectedShown }} more\n </span>\n </div>\n\n <fw-icon *ngIf=\"showClear() && value.length > 0\" (click)=\"updateValue([])\">close</fw-icon>\n <fw-icon>chevron-down</fw-icon>\n </div>\n\n <!-- MENU -->\n <ng-template #selectMenu>\n <fw-menu-filter\n [keyHandler]=\"handleKeyDown\"\n [showFilter]=\"showFilter()\"\n [focusFilterOnMount]=\"showFilter()\"\n [width]=\"optionsWidth || (wrapper.offsetWidth - 2) + 'px'\"\n [additionalMenuItems]=\"this.customMenuItems.toArray()\"\n [emptyText]=\"emptyText\"\n [maxHeight]=\"maxOptionsHeight\"\n [minHeight]=\"minOptionsHeight\"\n [filterFn]=\"customFilter\"\n (filteredMenuItemChange)=\"displayedOptions.set($event)\"\n >\n <div class=\"filter-content\" *ngIf=\"showSelectionInfo()\">\n <p>{{value.length}} selections</p>\n <fw-button variant=\"ghost\" (click)=\"updateValue([])\">Clear</fw-button>\n </div>\n <fw-menu\n [multiSelect]=\"true\"\n [disabled]=\"disabled\"\n [value]=\"createArray(selectedValues)\"\n (change)=\"handleMenuChange($event)\">\n <ng-container *ngIf=\"customMenuItems.length === 0\">\n <fw-menu-item\n *ngFor=\"let item of options; index as $index\"\n [title]=\"item[titleProperty]\"\n [value]=\"item[valueProperty]\"\n [icon]=\"item[iconProperty]\"\n [multiSelect]=\"true\"\n [selected]=\"value.includes(item[valueProperty])\"\n [showCheckbox]=\"useCheckbox\"\n (mouseenter)=\"setFocusedIndex(item)\"\n >\n </fw-menu-item>\n </ng-container>\n <ng-content ngProjectAs=\"custom-menu-items\" select=\"[fw-menu-item, fw-menu-separator, fw-menu-item-group, fw-menu-header]\"></ng-content>\n </fw-menu>\n </fw-menu-filter>\n </ng-template>\n</div>\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { CdkMenuTrigger } from '@angular/cdk/menu';\nimport { NgFor,NgIf, NgStyle } from '@angular/common';\nimport {\n Component,\n computed,\n contentChildren,\n effect,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n input,\n model,\n OnDestroy,\n Optional,\n Output,\n Self,\n signal,\n untracked,\n ViewChild,\n viewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\nimport { MenuRegisterDirective } from '../../directives/menu-register.directive';\nimport { IconType } from '../icon/icon.types';\nimport { FwMenuComponent } from '../menu/menu.component';\nimport { FwMenuContainerComponent } from '../menu/menu-container/menu-container.component';\nimport { FwMenuItemComponent } from '../menu/menu-item/menu-item.component';\nimport { FwMenuItemGroupComponent } from '../menu/menu-item-group/menu-item-group.component';\nimport { FwMenuSeparatorComponent } from '../menu/menu-separator/menu-separator.component';\nimport { FwTextInputComponent } from '../text-input/text-input.component';\n\n@Component({\n selector: 'fw-select',\n templateUrl: './select-menu.component.html',\n styleUrls: ['./select-menu.component.scss'],\n imports: [\n NgStyle,\n FwTextInputComponent,\n MenuRegisterDirective,\n CdkMenuTrigger,\n NgIf,\n FwMenuContainerComponent,\n FwMenuComponent,\n NgFor,\n FwMenuItemComponent,\n ],\n})\nexport class FwSelectMenuComponent implements OnDestroy, ControlValueAccessor {\n @HostListener('document:click', ['$event']) outsideClick(evt: any): void {\n // Check if click is inside the overlay (menu items) but NOT on the input trigger\n const clickedElement = evt.target as HTMLElement;\n const overlayPane = clickedElement.closest('.cdk-overlay-pane');\n const clickedInsideOverlay = overlayPane && !clickedElement.closest('fw-text-input');\n\n // Don't process outside clicks when clicking on menu items (but not the trigger input)\n if (clickedInsideOverlay) {\n return;\n }\n\n if (this._isOpen && evt.target.nodeName !== 'INPUT') {\n this.onTouched();\n this.close();\n this._isOpen = false;\n }\n\n // Sync _isOpen state with actual trigger state\n if (this.trigger && this.trigger.isOpen()) {\n this._isOpen = true;\n } else {\n this._isOpen = false;\n }\n }\n @HostBinding('class.disabled') get disabledClass(): boolean {\n return this.disabled();\n }\n\n options = input<object[]>([]);\n valueProperty = input<string>('value');\n useFullOptionAsValue = input<boolean>(false);\n titleProperty = input<string>('title');\n iconProperty = input<string>('icon');\n staticIcon = input<IconType | undefined>(undefined);\n descriptionProperty = input<string>('description');\n showFilter = input<boolean>(false);\n showReset = input<boolean>(false);\n disabled = model<boolean>(false);\n errored = input<boolean>(false);\n width = input<string>('200px');\n optionsWidth = input<string | undefined>(undefined);\n minOptionsHeight = input<string | undefined>(undefined);\n maxOptionsHeight = input<string | undefined>(undefined);\n size = input<'small' | 'medium' | 'large'>('medium');\n placeholder = input<string>('Select something...');\n @ViewChild(CdkMenuTrigger) trigger: CdkMenuTrigger;\n @ViewChild(FwTextInputComponent) textInput: FwTextInputComponent;\n menu = viewChild(FwMenuComponent);\n menuItems = contentChildren(FwMenuItemComponent, { descendants: true });\n menuItemGroups = contentChildren(FwMenuItemGroupComponent, { descendants: true });\n menuSeparators = contentChildren(FwMenuSeparatorComponent, { descendants: true });\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() change = new EventEmitter<any>();\n @Output() readonly filterChanged = new EventEmitter<string>();\n selectValue: string = '';\n selectTitle = signal('');\n selectIcon: IconType | '' = '';\n filterValue = signal('');\n private subscriptions: Subscription[] = [];\n private _isOpen = false;\n focused = 0;\n inFocusOpen = false;\n preFocusValue: any;\n isTyping = signal(false);\n\n // Computed signal for the input display value\n // Don't show the title if it's the same as the value (means we haven't resolved it yet)\n inputDisplayValue = computed(() => {\n if (this.isTyping()) {\n return this.filterValue();\n }\n const title = this.selectTitle();\n const value = this.selectValue;\n // If title equals value, it means we haven't resolved the proper title yet, show empty\n if (title === value && this.menuItems().length > 0) {\n return '';\n }\n return title;\n });\n\n @Input()\n get value(): any {\n return this._value;\n }\n\n set value(newValue: any) {\n this.updateValue(newValue);\n }\n\n private _value = '';\n\n constructor(\n @Optional() @Self() private ngControl: NgControl,\n ) {\n // this is just a different way of binding the controlValueAccessor\n // it can be accessed in the component this way\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n\n // Watch for options changes to update the displayed title\n effect(() => {\n const currentOptions = this.options();\n const vProp = this.valueProperty();\n const tProp = this.titleProperty();\n\n if (!currentOptions || currentOptions.length === 0) {\n return;\n }\n\n const selectedOption = currentOptions.find(item => item[vProp]?.toString() === this.selectValue);\n\n if (selectedOption) {\n this.selectTitle.set(selectedOption[tProp]);\n }\n });\n }\n\n private subscribeToMenuItems(): void {\n // Clear old subscriptions\n this.subscriptions.forEach(sub => sub.unsubscribe());\n this.subscriptions = [];\n\n const items = this.menuItems();\n\n // Subscribe to current menu items\n for (const item of items) {\n const sub = item.click.subscribe(value => {\n this.menu()?.writeValue(value);\n });\n this.subscriptions.push(sub);\n }\n\n // Update title/icon if we have a selectValue but no title (or wrong title)\n // This handles the case where writeValue was called before menu items existed\n if (this.selectValue && items.length > 0) {\n const matchingItem = items.find(item => item.value?.toString() === this.selectValue);\n\n if (matchingItem) {\n this.selectTitle.set(matchingItem.title.toString());\n this.selectIcon = matchingItem.icon;\n }\n }\n }\n\n // Watch for menu items changes and re-subscribe\n private menuItemsWatcher = effect(() => {\n const items = this.menuItems();\n\n // Only subscribe if we have items\n // Use setTimeout to defer until after Angular has set the input properties\n if (items.length > 0) {\n untracked(() => {\n setTimeout(() => {\n this.subscribeToMenuItems();\n }, 0);\n });\n }\n });\n\n ngOnDestroy(): void {\n for (const subscription of this.subscriptions) {\n subscription.unsubscribe();\n }\n }\n\n get invalid(): boolean {\n return this.ngControl?.invalid;\n }\n\n get touched(): boolean {\n return this.ngControl?.touched;\n }\n\n filteredOptions = computed(() => {\n const filter = this.filterValue();\n const opts = this.options();\n const tProp = this.titleProperty();\n\n if (!filter || filter.trim() === '') {\n return opts;\n }\n return opts.filter(opt =>\n opt[tProp]?.toString().toLowerCase()\n .includes(filter.toLowerCase()),\n );\n });\n\n optionsWithValues = computed(() => {\n const useFull = this.useFullOptionAsValue();\n const valProp = this.valueProperty();\n\n return this.filteredOptions().map(item => ({\n raw: item,\n trackingId: useFull ? JSON.stringify(item) : item?.[valProp]?.toString(),\n value: useFull ? JSON.stringify(item) : item?.[valProp]?.toString(),\n }));\n });\n\n onChange(newValue: any): void {\n this._value = typeof newValue === 'object' ? JSON.stringify(newValue) : newValue;\n this.change.emit(newValue);\n this.externalOnChange?.(newValue);\n };\n\n onTouched = (): void => {\n };\n\n externalOnChange;\n registerOnChange(fn: (value: any) => void): void {\n this.externalOnChange = fn;\n }\n\n registerOnTouched(fn: () => {}): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n\n writeValue(value: any): void {\n value = value ?? ''\n\n if (value === this.value) {\n return;\n }\n this.updateValue(value);\n }\n\n handleClick(e: string): void {\n this.onTouched();\n\n if (!this.isTyping() && this.selectValue === e) {\n this.close();\n return;\n }\n\n if (this.useFullOptionAsValue()) {\n const parsedValue = JSON.parse(e);\n this.updateValue(parsedValue);\n } else {\n this.updateValue(e);\n }\n\n this.isTyping.set(false);\n this.close();\n this.inFocusOpen = false;\n }\n\n /**\n * Get all available items for navigation, either from options or menuItems\n */\n getAvailableItems(): any[] {\n // If using options input, return filtered options\n if (this.options().length > 0) {\n return this.filteredOptions();\n }\n // If using content projection, filter by typeahead text and exclude disabled items\n if (this.menuItems().length > 0) {\n const filter = this.filterValue();\n return this.menuItems().filter(item => {\n if (item.disabled) { return false; }\n if (!filter || filter.trim() === '') { return true; }\n return item.title?.toLowerCase().includes(filter.toLowerCase());\n });\n }\n return [];\n }\n\n /**\n * Update highlighting for the currently selected item\n */\n updateHighlighting(): void {\n const currentValue = this.selectValue;\n\n // Update highlighting for content-projected menu items\n const projectedItems = this.menuItems();\n for (let i = 0; i < projectedItems.length; i++) {\n projectedItems[i].selected = projectedItems[i].value === currentValue;\n }\n }\n\n /**\n * Initialize focused index to the currently selected item\n */\n initializeFocusedIndex(): void {\n const availableItems = this.getAvailableItems();\n const currentValue = this.selectValue;\n\n // Find the index of the currently selected item\n const selectedIndex = availableItems.findIndex(item => {\n if (item instanceof FwMenuItemComponent) {\n return item.value === currentValue;\n } else {\n // For options array items\n const vProp = this.valueProperty();\n const itemValue = this.useFullOptionAsValue()\n ? JSON.stringify(item)\n : item?.[vProp]?.toString();\n return itemValue === currentValue;\n }\n });\n\n // Set focused to the selected index\n // If no item is selected (selectedIndex is -1), keep it at -1 so first arrow down goes to index 0\n this.focused = selectedIndex;\n\n // Also update the highlighting to show the current selection (if any)\n this.updateHighlighting();\n }\n\n moveFocused(direction: string): void {\n const availableItems = this.getAvailableItems();\n switch (direction) {\n case 'down': {\n this.focused++;\n if (this.focused >= availableItems.length) {\n this.focused = 0;\n }\n break;\n }\n case 'up': {\n this.focused--;\n if (this.focused < 0) {\n this.focused = availableItems.length - 1;\n }\n break;\n }\n default: {\n this.focused = 0;\n break;\n }\n }\n }\n\n\n handleFocus(): void {\n // Select all text when focusing the input\n if (this.textInput?.inputRef?.nativeElement && !this.isTyping()) {\n const input = this.textInput.inputRef.nativeElement;\n // Select all text immediately - this will select the current value\n input.select();\n }\n }\n\n handleInputClick(): void {\n // When clicking into the input, select all text if not already typing\n if (this.textInput?.inputRef?.nativeElement && !this.isTyping()) {\n const input = this.textInput.inputRef.nativeElement;\n // Use setTimeout to override the click's cursor positioning\n setTimeout(() => {\n input.select();\n }, 0);\n }\n\n // Initialize highlighting when dropdown opens via click\n // Use setTimeout to ensure menu is rendered before we try to update it\n setTimeout(() => {\n if (this.trigger?.isOpen()) {\n this.inFocusOpen = true;\n this.preFocusValue = this.value;\n this.initializeFocusedIndex();\n }\n }, 0);\n }\n\n handleKeyDown(event: KeyboardEvent): void {\n // Handle Enter key when typing\n if (event.key === 'Enter' && this.isTyping()) {\n event.preventDefault();\n this.inFocusOpen = false;\n\n // Select the currently focused option (respects arrow key navigation)\n const availableItems = this.getAvailableItems();\n let newValue;\n\n if (availableItems.length > 0) {\n // Select the item at the focused index (which may have been changed by arrow keys)\n const selectedItem = availableItems[this.focused];\n // Handle both options (objects) and menuItems (FwMenuItemComponent)\n if (selectedItem instanceof FwMenuItemComponent) {\n newValue = selectedItem.value;\n } else {\n newValue = selectedItem;\n }\n } else {\n // No available items, keep current value\n if (this.useFullOptionAsValue()) {\n try {\n newValue = JSON.parse(this.value);\n } catch {\n // If parse fails, keep the raw value\n newValue = this.value;\n }\n } else {\n newValue = this.value;\n }\n }\n\n // Clear filter and exit typing mode FIRST\n // This prevents onInputChange from interfering\n this.filterValue.set('');\n this.isTyping.set(false);\n\n // Update the value (this will set selectTitle signal)\n this.updateValue(newValue);\n\n this.close();\n return;\n }\n\n // Handle backspace to enter typing mode - only if text is selected or at the beginning\n if (event.key === 'Backspace' && !this.isTyping() && this.selectTitle()) {\n // Check if there's a text selection\n let hasSelection = false;\n if (this.textInput?.inputRef?.nativeElement) {\n const input = this.textInput.inputRef.nativeElement;\n const selectionStart = input.selectionStart ?? 0;\n const selectionEnd = input.selectionEnd ?? 0;\n hasSelection = selectionStart !== selectionEnd;\n }\n\n // Only enter typing mode if there's a selection (e.g., from clicking/tabbing in)\n // Otherwise, let the browser handle backspace naturally without entering typing mode\n if (hasSelection) {\n this.isTyping.set(true);\n this.trigger.open();\n this._isOpen = true;\n this.inFocusOpen = true;\n this.preFocusValue = this.value;\n this.initializeFocusedIndex();\n }\n\n // Let the default backspace behavior happen regardless\n return;\n }\n\n // Handle backspace while already typing\n if (event.key === 'Backspace' && this.isTyping()) {\n // Let default behavior happen, onInputChange will handle it\n return;\n }\n\n // Handle regular characters when entering typing mode (not already typing)\n // Exclude navigation keys like Arrow keys, Home, End, etc.\n const isNavigationKey = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Home', 'End', 'PageUp', 'PageDown', 'Delete'].includes(event.key);\n if (!this.trigger.isOpen() && !this.isTyping() && this.selectTitle() && event.key.length === 1 && !event.ctrlKey && !event.metaKey && !event.altKey && !isNavigationKey) {\n // Don't prevent default - let the browser handle the character insertion naturally\n // Just switch to typing mode and the input event will update filterValue\n this.isTyping.set(true);\n this.trigger.open();\n this._isOpen = true;\n this.inFocusOpen = true;\n this.preFocusValue = this.value;\n this.initializeFocusedIndex();\n\n // The input event will fire after this keydown, which will update filterValue\n // and trigger the dropdown to show filtered options\n return;\n }\n\n // Handle regular characters while already typing (including space)\n if (this.isTyping() && event.key.length === 1 && !event.ctrlKey && !event.metaKey && !event.altKey) {\n // Let default behavior happen, onInputChange will handle it\n return;\n }\n\n if (this.trigger.isOpen()) {\n if (this.inFocusOpen) {\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n this.moveFocused('down');\n // Defer updateValue to avoid change detection errors\n setTimeout(() => {\n const availableItems = this.getAvailableItems();\n if (availableItems.length > 0) {\n const selectedItem = availableItems[this.focused];\n // Handle both options (objects) and menuItems (FwMenuItemComponent)\n if (selectedItem instanceof FwMenuItemComponent) {\n this.selectValue = selectedItem.value;\n // Manually update selected state for all menu items\n this.menuItems().forEach(item => {\n item.selected = item.value === this.selectValue;\n });\n // Scroll the focused item into view\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n selectedItem.scrollIntoView();\n // Only update value if not in typing mode to avoid re-rendering all options\n if (!this.isTyping()) {\n this.updateValue(selectedItem.value);\n }\n } else {\n // For options array items, set selectValue first for immediate highlighting\n const vProp = this.valueProperty();\n this.selectValue = this.useFullOptionAsValue()\n ? JSON.stringify(selectedItem)\n : selectedItem?.[vProp]?.toString();\n // Update highlighting to show the focused item\n this.updateHighlighting();\n // Don't call updateValue during arrow navigation while typing\n // Just update selectValue for highlighting, actual value update happens on Enter\n if (!this.isTyping()) {\n this.updateValue(selectedItem);\n }\n }\n }\n }, 0);\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n this.moveFocused('up');\n // Defer updateValue to avoid change detection errors\n setTimeout(() => {\n const availableItems = this.getAvailableItems();\n if (availableItems.length > 0) {\n const selectedItem = availableItems[this.focused];\n // Handle both options (objects) and menuItems (FwMenuItemComponent)\n if (selectedItem instanceof FwMenuItemComponent) {\n this.selectValue = selectedItem.value;\n // Manually update selected state for all menu items\n this.menuItems().forEach(item => {\n item.selected = item.value === this.selectValue;\n });\n // Scroll the focused item into view\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n selectedItem.scrollIntoView();\n // Only update value if not in typing mode to avoid re-rendering all options\n if (!this.isTyping()) {\n this.updateValue(selectedItem.value);\n }\n } else {\n // For options array items, set selectValue first for immediate highlighting\n const vProp = this.valueProperty();\n this.selectValue = this.useFullOptionAsValue()\n ? JSON.stringify(selectedItem)\n : selectedItem?.[vProp]?.toString();\n // Update highlighting to show the focused item\n this.updateHighlighting();\n // Don't call updateValue during arrow navigation while typing\n // Just update selectValue for highlighting, actual value update happens on Enter\n if (!this.isTyping()) {\n this.updateValue(selectedItem);\n }\n }\n }\n }, 0);\n } else if (event.key === 'Tab') {\n this.isTyping.set(false);\n this.close();\n this.inFocusOpen = false;\n // Defer updateValue to avoid change detection errors\n setTimeout(() => {\n this.updateValue(this.preFocusValue);\n }, 0);\n }\n } else {\n this.inFocusOpen = true;\n this.preFocusValue = this.value;\n this.initializeFocusedIndex();\n }\n } else {\n if (event.key === 'Enter') {\n this.inFocusOpen = false;\n this.preFocusValue = this.value;\n }\n }\n }\n\n handleKeyUp(event: KeyboardEvent): void {\n if (this.trigger.isOpen()) {\n if (event.key === 'Escape') {\n this.isTyping.set(false);\n this.close();\n this.inFocusOpen = false;\n this.updateValue(this.preFocusValue);\n }\n } else {\n if (this.showReset) {\n if (event.key === 'Escape') {\n this.handleReset();\n }\n }\n }\n }\n\n\n updateValue(newValue: unknown): void {\n // do housekeeping first\n this.onTouched();\n\n const vProp = this.valueProperty();\n const tProp = this.titleProperty();\n const iProp = this.iconProperty();\n const fullOption = this.useFullOptionAsValue();\n\n // null guard\n if (!newValue) {\n this.selectValue = '';\n this.selectTitle.set('');\n this.selectIcon = '';\n return this.onChange(newValue);\n }\n\n if (typeof newValue === 'object') {\n this.selectValue = newValue?.[vProp]?.toString();\n this.selectTitle.set(newValue?.[tProp]?.toString());\n this.selectIcon = newValue?.[iProp];\n\n const changeToEmit = fullOption ? newValue : newValue[vProp];\n return this.onChange(changeToEmit);\n }\n\n // try and find a matching option in the options array\n const matchedOption = this.options().find(option => {\n const matchesValue = option[vProp] === newValue || option[vProp]?.toString() === newValue?.toString();\n const matchesTitle = option[tProp] === newValue || option[tProp]?.toString() === newValue?.toString();\n\n return matchesValue || matchesTitle;\n });\n\n if (matchedOption) {\n this.selectValue = matchedOption[vProp]?.toString();\n this.selectTitle.set(matchedOption[tProp]?.toString());\n this.selectIcon = matchedOption[iProp];\n\n const changeToEmit = fullOption ? matchedOption : matchedOption[vProp];\n return this.onChange(changeToEmit);\n }\n\n // try and find a matching menu item in content projected items\n const matchedMenuItem = this.menuItems().find(item => item.value === newValue);\n\n if (matchedMenuItem) {\n this.selectValue = matchedMenuItem.value?.toString();\n this.selectTitle.set(matchedMenuItem.title);\n this.selectIcon = matchedMenuItem.icon;\n return this.onChange(matchedMenuItem.value);\n }\n\n // fall back to stringify\n const stringified = newValue.toString() || '';\n this.selectValue = stringified;\n this.selectTitle.set(stringified);\n return this.onChange(stringified);\n }\n\n handleReset(): void {\n if (this.showReset()) {\n this.updateValue(null);\n }\n }\n\n close(): void {\n this.trigger.close();\n this.filterValue.set('');\n this.filterChanged.emit(this.filterValue());\n this._isOpen = false;\n this.isTyping.set(false);\n }\n\n onFilterChanged(value: string): void {\n // Don't let the menu-container overwrite our filterValue when we're typing\n if (this.isTyping()) {\n return;\n }\n this.filterValue.set(value);\n this.filterChanged.emit(value);\n }\n\n onInputChange(event: Event): void {\n const inputElement = event.target as HTMLInputElement;\n const value = inputElement.value;\n\n // Update filterValue with the current input value\n this.filterValue.set(value);\n\n // If there's a filter value and we're not already typing, enter typing mode\n if (value && !this.isTyping()) {\n this.isTyping.set(true);\n this.inFocusOpen = true;\n this.preFocusValue = this.value;\n this.initializeFocusedIndex();\n } else {\n // Reset focused index to 0 when filter changes (only if already typing)\n this.focused = 0;\n }\n\n // Defer selectValue update to avoid ExpressionChangedAfterItHasBeenCheckedError\n // This happens because we're updating state during change detection\n setTimeout(() => {\n // Update selectValue to first available item for highlighting\n const availableItems = this.getAvailableItems();\n if (availableItems.length > 0) {\n const firstItem = availableItems[0];\n // Handle both options (objects) and menuItems (FwMenuItemComponent)\n if (firstItem instanceof FwMenuItemComponent) {\n this.selectValue = firstItem.value;\n } else {\n this.selectValue = this.useFullOptionAsValue()\n ? JSON.stringify(firstItem)\n : firstItem[this.valueProperty()]?.toString();\n }\n } else {\n // Clear selection when no items match\n this.selectValue = '';\n }\n this.focused = 0;\n this.updateHighlighting();\n }, 0);\n\n this.filterChanged.emit(this.filterValue());\n\n // Auto-open dropdown when user starts typing\n if (this.filterValue() && !this.trigger.isOpen()) {\n this.trigger.open();\n this._isOpen = true;\n }\n }\n}\n","<div #wrapper [style.width]=\"width()\">\n <fw-text-input\n fwMenuRegister\n [cdkMenuTriggerFor]=\"selectMenu\"\n [value]=\"inputDisplayValue()\"\n [leftIcon]=\"staticIcon() || selectIcon || null\"\n [rightIcon]=\"(selectTitle()&&showReset())?'close-circled':'chevron-down'\"\n (rightIconAction)=\"handleReset()\"\n [useActionableIcons]=\"true\"\n [placeholder]=\"placeholder()\"\n [size]=\"size()\"\n [error]=\"errored() || (invalid && touched)\"\n (input)=\"onInputChange($event)\"\n (keyup)=\"handleKeyUp($event)\"\n (keydown)=\"handleKeyDown($event)\"\n (focus)=\"handleFocus()\"\n (click)=\"handleInputClick()\"\n [readOnly]=\"false\">\n </fw-text-input>\n <ng-template #selectMenu>\n @if (!disabled()) {\n <fw-menu-container\n [filterText]=\"menuItems().length > 0 ? '' : filterValue()\"\n [additionalMenuItems]=\"menuItems()\"\n [additionalGroups]=\"menuItemGroups()\"\n [additionalSeparators]=\"menuSeparators()\"\n [showFilter]=\"showFilter()\" [width]=\"optionsWidth() || wrapper.offsetWidth + 'px'\"\n [maxHeight]=\"maxOptionsHeight()\" [minHeight]=\"minOptionsHeight()\" (filterChanged)=\"onFilterChanged($event)\">\n <fw-menu [disabled]=\"disabled()\" [value]=\"selectValue\" (change)=\"handleClick($any($event))\">\n @if (menuItems().length === 0) {\n @for (item of optionsWithValues(); track item.trackingId) {\n <fw-menu-item\n [title]=\"item.raw[titleProperty()]?.toString()\"\n [description]=\"item.raw[descriptionProperty()]\"\n [value]=\"item.value\"\n [icon]=\"item.raw[iconProperty()]\"\n [disabled]=\"$any(item.raw).disabled\"\n >\n </fw-menu-item>\n }\n }\n <div #menuContentWrapper>\n <ng-content select=\"[fw-menu-item, fw-menu-separator, fw-menu-item-group]\"></ng-content>\n </div>\n </fw-menu>\n </fw-menu-container>\n }\n </ng-template>\n</div>\n","import { CdkMenuModule } from '@angular/cdk/menu';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { MenuRegisterDirective } from '../../directives/menu-register.directive';\nimport { FwButtonModule } from '../button/button.module';\nimport { FwChipModule } from '../chip/chip.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwMenuModule } from '../menu/menu.module';\nimport { FwTextInputModule } from '../text-input/text-input.module';\nimport { FwMultiSelectMenuComponent } from './multi-select-menu/multi-select-menu.component';\nimport { FwSelectMenuComponent } from './select-menu.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n CdkMenuModule,\n FormsModule,\n FwButtonModule,\n FwChipModule,\n FwIconModule,\n FwMenuModule,\n FwTextInputModule,\n MenuRegisterDirective,\n FwMultiSelectMenuComponent,\n FwSelectMenuComponent,\n ],\n exports: [\n FwMultiSelectMenuComponent,\n FwSelectMenuComponent,\n ],\n})\nexport class FwSelectMenuModule {\n}\n","import { NgClass, NgFor, NgIf } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FormsModule,ReactiveFormsModule } from '@angular/forms';\n\nimport { FwIconComponent } from '../../icon/icon.component';\nimport { FwMenuItemComponent } from '../../menu/menu-item/menu-item.component';\nimport { FwSelectMenuComponent } from '../../select-menu/select-menu.component';\nimport { FwPaginatorEvent } from '../paginator.model';\n\n@Component({\n selector: 'fw-paginator-advanced',\n templateUrl: './paginator-advanced.component.html',\n styleUrls: ['./paginator-advanced.component.scss'],\n imports: [\n NgClass,\n FwSelectMenuComponent,\n ReactiveFormsModule,\n FormsModule,\n NgFor,\n FwMenuItemComponent,\n NgIf,\n FwIconComponent,\n ],\n})\nexport class FwPaginatorAdvancedComponent {\n @Input() disabled: boolean = false;\n @Input() showNext: boolean = true;\n @Input() showPrevious: boolean = true;\n @Input() showFirst: boolean = false;\n @Input() showLast: boolean = false;\n @Input() pageIndex: number = 0;\n @Input() pageSizeOptions: number[] = [10, 25, 50, 100];\n @Input() length: number = 0;\n @Input() alignment: 'start' | 'center' | 'end' = 'center';\n @Input() selectorTitle: string = 'Items per page:';\n\n @Input()\n get pageSize(): number {\n return this._pageSize;\n }\n\n set pageSize(newSize: number) {\n this._pageSize = parseInt(newSize.toString());\n this.pageIndex = 0;\n const pageEvt = this.buildPageEvent(0);\n this.page.emit(pageEvt);\n }\n\n private _pageSize: number = 10;\n @Output() page: EventEmitter<FwPaginatorEvent> = new EventEmitter<FwPaginatorEvent>();\n\n private buildPageEvent(pageIndex: number): FwPaginatorEvent {\n return {\n length: this.length,\n pageSize: this.pageSize,\n pageIndex: pageIndex,\n previousPageIndex: this.pageIndex,\n rowIndexStart: this.getRowIndexStart(pageIndex),\n rowIndexEnd: this.getRowIndexEnd(pageIndex),\n };\n }\n\n firstPage(): void {\n const evt = this.buildPageEvent(0);\n this.pageIndex = 0;\n this.page.emit(evt);\n }\n\n lastPage(): void {\n const evt = this.buildPageEvent(this.getNumberOfPages() - 1);\n this.pageIndex = this.getNumberOfPages() - 1;\n this.page.emit(evt);\n }\n\n nextPage(): void {\n if (this.hasNextPage()) {\n const evt = this.buildPageEvent(this.pageIndex + 1);\n this.pageIndex++;\n this.page.emit(evt);\n }\n }\n\n previousPage(): void {\n if (this.hasPreviousPage()) {\n const evt = this.buildPageEvent(this.pageIndex - 1);\n this.pageIndex--;\n this.page.emit(evt);\n }\n }\n\n setPage(pageNumber: number): void {\n const evt = this.buildPageEvent(pageNumber);\n this.pageIndex = pageNumber;\n this.page.emit(evt);\n }\n\n getNumberOfPages(): number {\n return Math.ceil(this.length / this.pageSize);\n }\n\n getRowIndexStart(pageIndex?: number): number {\n const index = pageIndex !== undefined ? pageIndex : this.pageIndex;\n return index * this.pageSize;\n }\n\n getRowIndexEnd(pageIndex?: number): number {\n const index = pageIndex !== undefined ? pageIndex : this.pageIndex;\n let indexEnd = (index * this.pageSize) + this.pageSize - 1;\n if (indexEnd > this.length) {\n indexEnd = this.length - 1;\n }\n return indexEnd;\n }\n\n hasNextPage(): boolean {\n return (this.pageIndex !== this.getNumberOfPages() - 1);\n }\n\n hasPreviousPage(): boolean {\n return (this.pageIndex > 0);\n }\n}\n","<div [ngClass]=\"['paginator', alignment]\">\n <div class=\"pages-selector\">\n <div>\n <p class=\"vision-p2\" [ngClass]=\"disabled?'disabled':''\">{{ selectorTitle }}</p>\n &nbsp;\n <fw-select\n [disabled]=\"disabled\" width=\"80px\" placeholder=\"Size\"\n [(ngModel)]=\"pageSize\">\n <fw-menu-item\n *ngFor=\"let size of pageSizeOptions\"\n [value]=\"size.toString()\"\n [title]=\"size.toString()\"\n [selected]=\"pageSize.toString()===size.toString()\"\n [disabled]=\"disabled\"\n ></fw-menu-item>\n </fw-select>\n </div>\n <p class=\"vision-p2 record-count\" [ngClass]=\"disabled?'disabled':''\">\n {{ getRowIndexStart() + 1 }}-{{ getRowIndexEnd() + 1 }}\n of {{ length }}</p>\n <div>\n <button\n *ngIf=\"showFirst\"\n class=\"page-item page-action page-first\" [disabled]=\"!hasPreviousPage() || disabled\" (click)=\"firstPage()\">\n <fw-icon>arrow-back-collapse</fw-icon>\n </button>\n <button\n *ngIf=\"showPrevious\"\n class=\"page-item page-action page-previous\" [disabled]=\"!hasPreviousPage() || disabled\"\n (click)=\"previousPage()\">\n <fw-icon>chevron-back</fw-icon>\n </button>\n <button\n *ngIf=\"showNext\" class=\"page-item page-action page-next\" [disabled]=\"!hasNextPage() || disabled\"\n (click)=\"nextPage()\">\n <fw-icon>chevron-forward</fw-icon>\n </button>\n <button\n *ngIf=\"showLast\" class=\"page-item page-action page-last\" [disabled]=\"!hasNextPage() || disabled\"\n (click)=\"lastPage()\">\n <fw-icon>arrow-forward-collapse</fw-icon>\n </button>\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwIconButtonModule } from '../icon-button/icon-button.module';\nimport { FwMenuModule } from '../menu/menu.module';\nimport { FwSelectMenuModule } from '../select-menu/select-menu.module';\nimport { FwPaginatorComponent } from './paginator.component';\nimport { FwPaginatorAdvancedComponent } from './paginator-advanced/paginator-advanced.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n FwIconButtonModule,\n FwIconModule,\n FwMenuModule,\n FwSelectMenuModule,\n FwPaginatorComponent,\n FwPaginatorAdvancedComponent,\n ],\n exports: [\n FwPaginatorComponent,\n FwPaginatorAdvancedComponent,\n ],\n})\nexport class FwPaginatorModule {\n}\n","/* eslint-disable */\n// adapted from ngx-mat-intl-tel-input\n\nexport const CountryCodeData = [\n ['Afghanistan (‫افغانستان‬‎)', 'af', '93'],\n ['Albania (Shqipëri)', 'al', '355'],\n ['Algeria (‫الجزائر‬‎)', 'dz', '213'],\n ['American Samoa', 'as', '1684'],\n ['Andorra', 'ad', '376'],\n ['Angola', 'ao', '244'],\n ['Anguilla', 'ai', '1264'],\n ['Antigua and Barbuda', 'ag', '1268'],\n ['Argentina', 'ar', '54'],\n ['Armenia (Հայաստան)', 'am', '374'],\n ['Aruba', 'aw', '297'],\n ['Australia', 'au', '61', 0],\n ['Austria (Österreich)', 'at', '43'],\n ['Azerbaijan (Azərbaycan)', 'az', '994'],\n ['Bahamas', 'bs', '1242'],\n ['Bahrain (‫البحرين‬‎)', 'bh', '973'],\n ['Bangladesh (বাংলাদেশ)', 'bd', '880'],\n ['Barbados', 'bb', '1246'],\n ['Belarus (Беларусь)', 'by', '375'],\n ['Belgium (België)', 'be', '32'],\n ['Belize', 'bz', '501'],\n ['Benin (Bénin)', 'bj', '229'],\n ['Bermuda', 'bm', '1441'],\n ['Bhutan (འབྲུག)', 'bt', '975'],\n ['Bolivia', 'bo', '591'],\n ['Bosnia and Herzegovina (Босна и Херцеговина)', 'ba', '387'],\n ['Botswana', 'bw', '267'],\n ['Brazil (Brasil)', 'br', '55'],\n ['British Indian Ocean Territory', 'io', '246'],\n ['British Virgin Islands', 'vg', '1284'],\n ['Brunei', 'bn', '673'],\n ['Bulgaria (България)', 'bg', '359'],\n ['Burkina Faso', 'bf', '226'],\n ['Burundi (Uburundi)', 'bi', '257'],\n ['Cambodia (កម្ពុជា)', 'kh', '855'],\n ['Cameroon (Cameroun)', 'cm', '237'],\n ['Canada', 'ca', '1', 1, ['204', '226', '236', '249', '250', '289', '306', '343', '365', '387', '403', '416', '418', '431', '437',\n '438', '450', '506', '514', '519', '548', '579', '581', '587', '604', '613', '639', '647', '672', '705', '709', '742',\n '778', '780', '782', '807', '819', '825', '867', '873', '902', '905']],\n ['Cape Verde (Kabu Verdi)', 'cv', '238'],\n ['Caribbean Netherlands', 'bq', '599', 1],\n ['Cayman Islands', 'ky', '1345'],\n ['Central African Republic (République centrafricaine)', 'cf', '236'],\n ['Chad (Tchad)', 'td', '235'],\n ['Chile', 'cl', '56'],\n ['China (中国)', 'cn', '86'],\n ['Christmas Island', 'cx', '61', 2],\n ['Cocos (Keeling) Islands', 'cc', '61', 1],\n ['Colombia', 'co', '57'],\n ['Comoros (‫جزر القمر‬‎)', 'km', '269'],\n ['Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)', 'cd', '243'],\n ['Congo (Republic) (Congo-Brazzaville)', 'cg', '242'],\n ['Cook Islands', 'ck', '682'],\n ['Costa Rica', 'cr', '506'],\n ['Côte d’Ivoire', 'ci', '225'],\n ['Croatia (Hrvatska)', 'hr', '385'],\n ['Cuba', 'cu', '53'],\n ['Curaçao', 'cw', '599', 0],\n ['Cyprus (Κύπρος)', 'cy', '357'],\n ['Czech Republic (Česká republika)', 'cz', '420'],\n ['Denmark (Danmark)', 'dk', '45'],\n ['Djibouti', 'dj', '253'],\n ['Dominica', 'dm', '1767'],\n ['Dominican Republic (República Dominicana)', 'do', '1', 2, ['809', '829', '849']], ['Ecuador', 'ec', '593'],\n ['Egypt (‫مصر‬‎)', 'eg', '20'],\n ['El Salvador', 'sv', '503'],\n ['Equatorial Guinea (Guinea Ecuatorial)', 'gq', '240'],\n ['Eritrea', 'er', '291'],\n ['Estonia (Eesti)', 'ee', '372'],\n ['Ethiopia', 'et', '251'],\n ['Falkland Islands (Islas Malvinas)', 'fk', '500'],\n ['Faroe Islands (Føroyar)', 'fo', '298'],\n ['Fiji', 'fj', '679'],\n ['Finland (Suomi)', 'fi', '358', 0],\n ['France', 'fr', '33'],\n ['French Guiana (Guyane française)', 'gf', '594'],\n ['French Polynesia (Polynésie française)', 'pf', '689'],\n ['Gabon', 'ga', '241'],\n ['Gambia', 'gm', '220'],\n ['Georgia (საქართველო)', 'ge', '995'],\n ['Germany (Deutschland)', 'de', '49'],\n ['Ghana (Gaana)', 'gh', '233'],\n ['Gibraltar', 'gi', '350'],\n ['Greece (Ελλάδα)', 'gr', '30'],\n ['Greenland (Kalaallit Nunaat)', 'gl', '299'],\n ['Grenada', 'gd', '1473'],\n ['Guadeloupe', 'gp', '590', 0],\n ['Guam', 'gu', '1671'],\n ['Guatemala', 'gt', '502'],\n ['Guernsey', 'gg', '44', 1],\n ['Guinea (Guinée)', 'gn', '224'],\n ['Guinea-Bissau (Guiné Bissau)', 'gw', '245'],\n ['Guyana', 'gy', '592'],\n ['Haiti', 'ht', '509'],\n ['Honduras', 'hn', '504'],\n ['Hong Kong (香港)', 'hk', '852'],\n ['Hungary (Magyarország)', 'hu', '36'],\n ['Iceland (Ísland)', 'is', '354'],\n ['India (भारत)', 'in', '91'],\n ['Indonesia', 'id', '62'],\n ['Iran (‫ایران‬‎)', 'ir', '98'],\n ['Iraq (‫العراق‬‎)', 'iq', '964'],\n ['Ireland', 'ie', '353'],\n ['Isle of Man', 'im', '44', 2],\n ['Israel (‫ישראל‬‎)', 'il', '972'],\n ['Italy (Italia)', 'it', '39', 0],\n ['Jamaica', 'jm', '1', 4, ['876', '658']], ['Japan (日本)', 'jp', '81'],\n ['Jersey', 'je', '44', 3],\n ['Jordan (‫الأردن‬‎)', 'jo', '962'],\n ['Kazakhstan (Казахстан)', 'kz', '7', 1],\n ['Kenya', 'ke', '254'],\n ['Kiribati', 'ki', '686'],\n ['Kosovo', 'xk', '383'],\n ['Kuwait (‫الكويت‬‎)', 'kw', '965'],\n ['Kyrgyzstan (Кыргызстан)', 'kg', '996'],\n ['Laos (ລາວ)', 'la', '856'],\n ['Latvia (Latvija)', 'lv', '371'],\n ['Lebanon (‫لبنان‬‎)', 'lb', '961'],\n ['Lesotho', 'ls', '266'],\n ['Liberia', 'lr', '231'],\n ['Libya (‫ليبيا‬‎)', 'ly', '218'],\n ['Liechtenstein', 'li', '423'],\n ['Lithuania (Lietuva)', 'lt', '370'],\n ['Luxembourg', 'lu', '352'],\n ['Macau (澳門)', 'mo', '853'],\n ['Macedonia (FYROM) (Македонија)', 'mk', '389'],\n ['Madagascar (Madagasikara)', 'mg', '261'],\n ['Malawi', 'mw', '265'],\n ['Malaysia', 'my', '60'],\n ['Maldives', 'mv', '960'],\n ['Mali', 'ml', '223'],\n ['Malta', 'mt', '356'],\n ['Marshall Islands', 'mh', '692'],\n ['Martinique', 'mq', '596'],\n ['Mauritania (‫موريتانيا‬‎)', 'mr', '222'],\n ['Mauritius (Moris)', 'mu', '230'],\n ['Mayotte', 'yt', '262', 1],\n ['Mexico (México)', 'mx', '52'],\n ['Micronesia', 'fm', '691'],\n ['Moldova (Republica Moldova)', 'md', '373'],\n ['Monaco', 'mc', '377'],\n ['Mongolia (Монгол)', 'mn', '976'],\n ['Montenegro (Crna Gora)', 'me', '382'],\n ['Montserrat', 'ms', '1664'],\n ['Morocco (‫المغرب‬‎)', 'ma', '212', 0],\n ['Mozambique (Moçambique)', 'mz', '258'],\n ['Myanmar (Burma) (မြန်မာ)', 'mm', '95'],\n ['Namibia (Namibië)', 'na', '264'],\n ['Nauru', 'nr', '674'],\n ['Nepal (नेपाल)', 'np', '977'],\n ['Netherlands (Nederland)', 'nl', '31'],\n ['New Caledonia (Nouvelle-Calédonie)', 'nc', '687'],\n ['New Zealand', 'nz', '64'],\n ['Nicaragua', 'ni', '505'],\n ['Niger (Nijar)', 'ne', '227'],\n ['Nigeria', 'ng', '234'],\n ['Niue', 'nu', '683'],\n ['Norfolk Island', 'nf', '672'],\n ['North Korea (조선 민주주의 인민 공화국)', 'kp', '850'],\n ['Northern Mariana Islands', 'mp', '1670'],\n ['Norway (Norge)', 'no', '47', 0],\n ['Oman (‫عُمان‬‎)', 'om', '968'],\n ['Pakistan (‫پاکستان‬‎)', 'pk', '92'],\n ['Palau', 'pw', '680'],\n ['Palestine (‫فلسطين‬‎)', 'ps', '970'],\n ['Panama (Panamá)', 'pa', '507'],\n ['Papua New Guinea', 'pg', '675'],\n ['Paraguay', 'py', '595'],\n ['Peru (Perú)', 'pe', '51'],\n ['Philippines', 'ph', '63'],\n ['Poland (Polska)', 'pl', '48'],\n ['Portugal', 'pt', '351'],\n ['Puerto Rico', 'pr', '1', 3, ['787', '939']], ['Qatar (‫قطر‬‎)', 'qa', '974'],\n ['Réunion (La Réunion)', 're', '262', 0],\n ['Romania (România)', 'ro', '40'],\n ['Russia (Россия)', 'ru', '7', 0],\n ['Rwanda', 'rw', '250'],\n ['Saint Barthélemy', 'bl', '590', 1],\n ['Saint Helena', 'sh', '290'],\n ['Saint Kitts and Nevis', 'kn', '1869'],\n ['Saint Lucia', 'lc', '1758'],\n ['Saint Martin (Saint-Martin (partie française))', 'mf', '590', 2],\n ['Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)', 'pm', '508'],\n ['Saint Vincent and the Grenadines', 'vc', '1784'],\n ['Samoa', 'ws', '685'],\n ['San Marino', 'sm', '378'],\n ['São Tomé and Príncipe (São Tomé e Príncipe)', 'st', '239'],\n ['Saudi Arabia (‫المملكة العربية السعودية‬‎)', 'sa', '966'],\n ['Senegal (Sénégal)', 'sn', '221'],\n ['Serbia (Србија)', 'rs', '381'],\n ['Seychelles', 'sc', '248'],\n ['Sierra Leone', 'sl', '232'],\n ['Singapore', 'sg', '65'],\n ['Sint Maarten', 'sx', '1721'],\n ['Slovakia (Slovensko)', 'sk', '421'],\n ['Slovenia (Slovenija)', 'si', '386'],\n ['Solomon Islands', 'sb', '677'],\n ['Somalia (Soomaaliya)', 'so', '252'],\n ['South Africa', 'za', '27'],\n ['South Korea (대한민국)', 'kr', '82'],\n ['South Sudan (‫جنوب السودان‬‎)', 'ss', '211'],\n ['Spain (España)', 'es', '34'],\n ['Sri Lanka (ශ්‍රී ලංකාව)', 'lk', '94'],\n ['Sudan (‫السودان‬‎)', 'sd', '249'],\n ['Suriname', 'sr', '597'],\n ['Svalbard and Jan Mayen', 'sj', '47', 1],\n ['Swaziland', 'sz', '268'],\n ['Sweden (Sverige)', 'se', '46'],\n ['Switzerland (Schweiz)', 'ch', '41'],\n ['Syria (‫سوريا‬‎)', 'sy', '963'],\n ['Taiwan (台灣)', 'tw', '886'],\n ['Tajikistan', 'tj', '992'],\n ['Tanzania', 'tz', '255'],\n ['Thailand (ไทย)', 'th', '66'],\n ['Timor-Leste', 'tl', '670'],\n ['Togo', 'tg', '228'],\n ['Tokelau', 'tk', '690'],\n ['Tonga', 'to', '676'],\n ['Trinidad and Tobago', 'tt', '1868'],\n ['Tunisia (‫تونس‬‎)', 'tn', '216'],\n ['Turkey (Türkiye)', 'tr', '90'],\n ['Turkmenistan', 'tm', '993'],\n ['Turks and Caicos Islands', 'tc', '1649'],\n ['Tuvalu', 'tv', '688'],\n ['U.S. Virgin Islands', 'vi', '1340'],\n ['Uganda', 'ug', '256'],\n ['Ukraine (Україна)', 'ua', '380'],\n ['United Arab Emirates (‫الإمارات العربية المتحدة‬‎)', 'ae', '971'],\n ['United Kingdom', 'gb', '44', 0],\n ['United States', 'us', '1', 0],\n ['Uruguay', 'uy', '598'],\n ['Uzbekistan (Oʻzbekiston)', 'uz', '998'],\n ['Vanuatu', 'vu', '678'],\n ['Vatican City (Città del Vaticano)', 'va', '39', 1],\n ['Venezuela', 've', '58'],\n ['Vietnam (Việt Nam)', 'vn', '84'],\n ['Wallis and Futuna (Wallis-et-Futuna)', 'wf', '681'],\n ['Western Sahara (‫الصحراء الغربية‬‎)', 'eh', '212', 1],\n ['Yemen (‫اليمن‬‎)', 'ye', '967'],\n ['Zambia', 'zm', '260'],\n ['Zimbabwe', 'zw', '263'],\n ['Åland Islands', 'ax', '358', 1]];\n\nexport const Examples: any = {\n '001': '001',\n AC: '40123',\n AD: '312345',\n AE: '501234567',\n AF: '701234567',\n AG: '2684641234',\n AI: '2642351234',\n AL: '662123456',\n AM: '77123456',\n AO: '923123456',\n AR: '91123456789',\n AS: '6847331234',\n AT: '664123456',\n AU: '412345678',\n AW: '5601234',\n AX: '412345678',\n AZ: '401234567',\n BA: '61123456',\n BB: '2462501234',\n BD: '1812345678',\n BE: '470123456',\n BF: '70123456',\n BG: '48123456',\n BH: '36001234',\n BI: '79561234',\n BJ: '90011234',\n BL: '690001234',\n BM: '4413701234',\n BN: '7123456',\n BO: '71234567',\n BQ: '3181234',\n BR: '11961234567',\n BS: '2423591234',\n BT: '17123456',\n BW: '71123456',\n BY: '294911911',\n BZ: '6221234',\n CA: '5062345678',\n CC: '412345678',\n CD: '991234567',\n CF: '70012345',\n CG: '061234567',\n CH: '781234567',\n CI: '01234567',\n CK: '71234',\n CL: '221234567',\n CM: '671234567',\n CN: '13123456789',\n CO: '3211234567',\n CR: '83123456',\n CU: '51234567',\n CV: '9911234',\n CW: '95181234',\n CX: '412345678',\n CY: '96123456',\n CZ: '601123456',\n DE: '15123456789',\n DJ: '77831001',\n DK: '32123456',\n DM: '7672251234',\n DO: '8092345678',\n DZ: '551234567',\n EC: '991234567',\n EE: '51234567',\n EG: '1001234567',\n EH: '650123456',\n ER: '7123456',\n ES: '612345678',\n ET: '911234567',\n FI: '412345678',\n FJ: '7012345',\n FK: '51234',\n FM: '3501234',\n FO: '211234',\n FR: '612345678',\n GA: '06031234',\n GB: '7400123456',\n GD: '4734031234',\n GE: '555123456',\n GF: '694201234',\n GG: '7781123456',\n GH: '231234567',\n GI: '57123456',\n GL: '221234',\n GM: '3012345',\n GN: '601123456',\n GP: '690001234',\n GQ: '222123456',\n GR: '6912345678',\n GT: '51234567',\n GU: '6713001234',\n GW: '955012345',\n GY: '6091234',\n HK: '51234567',\n HN: '91234567',\n HR: '921234567',\n HT: '34101234',\n HU: '201234567',\n ID: '812345678',\n IE: '850123456',\n IL: '502345678',\n IM: '7924123456',\n IN: '8123456789',\n IO: '3801234',\n IQ: '7912345678',\n IR: '9123456789',\n IS: '6111234',\n IT: '3123456789',\n JE: '7797712345',\n JM: '8762101234',\n JO: '790123456',\n JP: '9012345678',\n KE: '712123456',\n KG: '700123456',\n KH: '91234567',\n KI: '72001234',\n KM: '3212345',\n KN: '8697652917',\n KP: '1921234567',\n KR: '1000000000',\n KW: '50012345',\n KY: '3453231234',\n KZ: '7710009998',\n LA: '2023123456',\n LB: '71123456',\n LC: '7582845678',\n LI: '660234567',\n LK: '712345678',\n LR: '770123456',\n LS: '50123456',\n LT: '61234567',\n LU: '628123456',\n LV: '21234567',\n LY: '912345678',\n MA: '650123456',\n MC: '612345678',\n MD: '62112345',\n ME: '67622901',\n MF: '690001234',\n MG: '321234567',\n MH: '2351234',\n MK: '72345678',\n ML: '65012345',\n MM: '92123456',\n MN: '88123456',\n MO: '66123456',\n MP: '6702345678',\n MQ: '696201234',\n MR: '22123456',\n MS: '6644923456',\n MT: '96961234',\n MU: '52512345',\n MV: '7712345',\n MW: '991234567',\n MX: '12221234567',\n MY: '123456789',\n MZ: '821234567',\n NA: '811234567',\n NC: '751234',\n NE: '93123456',\n NF: '381234',\n NG: '8021234567',\n NI: '81234567',\n NL: '612345678',\n NO: '40612345',\n NP: '9841234567',\n NR: '5551234',\n NU: '8884012',\n NZ: '211234567',\n OM: '92123456',\n PA: '61234567',\n PE: '912345678',\n PF: '87123456',\n PG: '70123456',\n PH: '9051234567',\n PK: '3012345678',\n PL: '512345678',\n PM: '551234',\n PR: '7872345678',\n PS: '599123456',\n PT: '912345678',\n PW: '6201234',\n PY: '961456789',\n QA: '33123456',\n RE: '692123456',\n RO: '712034567',\n RS: '601234567',\n RU: '9123456789',\n RW: '720123456',\n SA: '512345678',\n SB: '7421234',\n SC: '2510123',\n SD: '911231234',\n SE: '701234567',\n SG: '81234567',\n SH: '51234',\n SI: '31234567',\n SJ: '41234567',\n SK: '912123456',\n SL: '25123456',\n SM: '66661212',\n SN: '701234567',\n SO: '71123456',\n SR: '7412345',\n SS: '977123456',\n ST: '9812345',\n SV: '70123456',\n SX: '7215205678',\n SY: '944567890',\n SZ: '76123456',\n TA: '8999',\n TC: '6492311234',\n TD: '63012345',\n TG: '90112345',\n TH: '812345678',\n TJ: '917123456',\n TK: '7290',\n TL: '77212345',\n TM: '66123456',\n TN: '20123456',\n TO: '7715123',\n TR: '5012345678',\n TT: '8682911234',\n TV: '901234',\n TW: '912345678',\n TZ: '621234567',\n UA: '501234567',\n UG: '712345678',\n US: '2015550123',\n UY: '94231234',\n UZ: '912345678',\n VA: '3123456789',\n VC: '7844301234',\n VE: '4121234567',\n VG: '2843001234',\n VI: '3406421234',\n VN: '912345678',\n VU: '5912345',\n WF: '501234',\n WS: '7212345',\n XK: '43201234',\n YE: '712345678',\n YT: '639012345',\n ZA: '711234567',\n ZM: '955123456',\n ZW: '712345678',\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any,@rx-angular/prefer-no-layout-sensitive-apis,@rx-angular/no-explicit-change-detection-apis */\nimport { CdkMenuTrigger } from '@angular/cdk/menu';\nimport { NgClass, NgFor,NgIf } from '@angular/common';\nimport {\n ChangeDetectorRef,\n Component,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, FormsModule,NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport {\n AsYouType,\n CountryCode,\n E164Number,\n getExampleNumber,\n parsePhoneNumberFromString,\n PhoneNumber,\n} from 'libphonenumber-js';\n\nimport { FwIconComponent } from '../icon/icon.component';\nimport { FwMenuComponent } from '../menu/menu.component';\nimport { FwMenuContainerComponent } from '../menu/menu-container/menu-container.component';\nimport { FwMenuItemComponent } from '../menu/menu-item/menu-item.component';\nimport { FwMenuSeparatorComponent } from '../menu/menu-separator/menu-separator.component';\nimport { CountryCodeData, Examples } from './country-code.data';\nimport { Country, PhoneNumberFormat } from './phone-input.model';\n\n@Component({\n selector: 'fw-phone-input',\n templateUrl: './phone-input.component.html',\n styleUrls: ['./phone-input.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FwPhoneInputComponent),\n multi: true,\n }],\n imports: [\n NgIf,\n CdkMenuTrigger,\n FwIconComponent,\n NgClass,\n FwMenuContainerComponent,\n FwMenuComponent,\n NgFor,\n FwMenuItemComponent,\n FwMenuSeparatorComponent,\n ReactiveFormsModule,\n FormsModule,\n ],\n})\nexport class FwPhoneInputComponent implements OnInit, OnChanges, ControlValueAccessor {\n @Input() preferredCountries: Array<string> = ['us'];\n @Input() onlyCountries: Array<string> = [];\n @Input() enableCountrySearch = true;\n @Input() showCountrySelector?: boolean = true;\n @Input() size?: 'small' | 'medium' | 'large' = 'medium';\n @Input() rightIcon?: string;\n /**\n * @deprecated please use fw-wrapped-input instead\n */\n @Input() helperText?: string;\n /**\n * @deprecated please use fw-wrapped-input instead\n */\n @Input() errorText?: string;\n @Input() placeholder?: string;\n @Input() readOnly?: boolean;\n @HostBinding('class.errored') @Input() error?: boolean = false;\n\n @Input() value: E164Number | string | undefined;\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n this._disabled = Boolean(value);\n }\n\n @Input()\n get format(): PhoneNumberFormat {\n return this._format;\n }\n\n set format(value: PhoneNumberFormat) {\n this._format = value;\n this.phoneFormattedNational = this.formattedPhoneNumber;\n }\n\n @Output() countryChanged = new EventEmitter<Country>();\n\n @ViewChild(CdkMenuTrigger) trigger: CdkMenuTrigger;\n phoneFormattedNational: string | undefined;\n allCountryList: Array<Country> = [];\n preferredCountryList: Array<Country> = [];\n selectedCountry: Country | undefined;\n selectedCountryCode: CountryCode | undefined;\n filteredCountryItems: Array<FwMenuItemComponent> = [];\n\n private _value: E164Number | string | undefined;\n private _disabled = false;\n private _format: PhoneNumberFormat = 'national';\n private _numberObject: PhoneNumber | undefined;\n private _previousFormattedNumber: string | undefined;\n\n static getPhoneNumberPlaceHolder(countryISOCode: CountryCode): string | undefined {\n const result = getExampleNumber(countryISOCode, Examples);\n return Boolean(result) ? result.number.toString() : undefined;\n }\n\n onTouched = (): void => {\n };\n\n onChange: any = () => {\n };\n\n constructor(\n private _changeDetectorRef: ChangeDetectorRef,\n ) {\n this.fetchCountryData();\n }\n\n ngOnInit(): void {\n if (this.preferredCountries.length) {\n this.preferredCountries.forEach((iso2) => {\n const preferredCountry = this.allCountryList\n .filter((c) => c.iso2 === iso2)\n .shift();\n if (preferredCountry) {\n this.preferredCountryList.push(preferredCountry);\n }\n });\n }\n if (this.onlyCountries.length) {\n this.allCountryList = this.allCountryList.filter((c) =>\n this.onlyCountries.includes(c.iso2),\n );\n }\n if (this._numberObject && this._numberObject.country) {\n // If an existing number is present, we use it to determine selectedCountry\n this.selectedCountry = this.getCountry(this._numberObject.country);\n } else {\n if (this.preferredCountryList.length) {\n this.selectedCountry = this.preferredCountryList[0];\n } else {\n this.selectedCountry = this.allCountryList[0];\n }\n }\n this.countryChanged.emit(this.selectedCountry);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.value) {\n this.writeValue(changes.value.currentValue);\n }\n }\n\n public phoneNumberChange(): void {\n try {\n this._numberObject = parsePhoneNumberFromString(\n this.phoneFormattedNational?.toString() || '',\n this.selectedCountry?.iso2.toUpperCase() as CountryCode,\n );\n this.formatAsYouTypeIfEnabled();\n this.value = this._numberObject?.number;\n if (this._numberObject && this._numberObject.isValid()) {\n if (this.phoneFormattedNational !== this.formattedPhoneNumber) {\n this.phoneFormattedNational = this.formattedPhoneNumber;\n }\n if (\n this.selectedCountry?.iso2 !== this._numberObject.country &&\n Boolean(this._numberObject.country)\n ) {\n this.selectedCountry = this.getCountry(this._numberObject.country);\n this.countryChanged.emit(this.selectedCountry);\n }\n }\n } catch (e) {\n // if no possible numbers are there,\n // then the full number is passed so that validator could be triggered and proper error could be shown\n this.value = this.phoneFormattedNational?.toString();\n }\n this.onChange(this.value);\n this._changeDetectorRef.markForCheck();\n }\n\n protected countrySelect(isoValue: string, el: HTMLElement): void {\n if (this.phoneFormattedNational) {\n this.phoneFormattedNational = this._numberObject?.nationalNumber;\n }\n this.selectedCountry = this.getCountry(isoValue);\n this.countryChanged.emit(this.selectedCountry);\n this.phoneNumberChange();\n this.trigger.close();\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n el.focus();\n }\n\n protected filteredItemsChange(menuItems): void {\n this.filteredCountryItems = menuItems;\n }\n\n public getCountry(code: string): Country {\n return (\n this.allCountryList.find((c) => c.iso2 === code.toLowerCase()) || {\n name: 'UN',\n iso2: 'UN',\n dialCode: '',\n priority: 0,\n areaCodes: undefined,\n flagClass: 'UN',\n placeHolder: '',\n }\n );\n }\n\n public buttonKeyPress(event: KeyboardEvent): void {\n if (this.trigger) {\n if (event.key === 'Escape') {\n this.trigger.close();\n }\n if (this.trigger.isOpen() && event.key === 'Tab') {\n this.trigger.close();\n }\n if (event.key === 'Enter') {\n this.trigger.open();\n }\n }\n }\n\n public inputKeyPress(event: KeyboardEvent): void {\n const allowedKeys = ['Backspace', 'Escape', 'ArrowLeft', 'ArrowRight', 'Meta', 'Tab'];\n const pattern = /[0-9+\\- ]/;\n if (!allowedKeys.includes(event.key) && !event.metaKey && !event.ctrlKey && !pattern.test(event.key)) {\n event.preventDefault();\n }\n if (this.trigger && this.trigger.isOpen() && event.key === 'Tab') {\n this.trigger.close();\n }\n }\n\n protected fetchCountryData(): void {\n CountryCodeData.forEach((c) => {\n const country: Country = {\n name: c[0].toString(),\n iso2: c[1].toString(),\n dialCode: c[2].toString(),\n priority: Number(c[3]) || 0,\n areaCodes: (c[4] as string[]) || undefined,\n flagClass: c[1].toString().toUpperCase(),\n placeHolder: '',\n };\n this.allCountryList.push(country);\n });\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabled = isDisabled;\n this._changeDetectorRef.markForCheck();\n }\n\n writeValue(value: any): void {\n if (value) {\n this._numberObject = parsePhoneNumberFromString(value);\n if (this._numberObject) {\n const countryCode = this._numberObject.country;\n this.phoneFormattedNational = this.formattedPhoneNumber;\n if (!countryCode) {\n return;\n }\n setTimeout(() => {\n this.selectedCountry = this.getCountry(countryCode);\n if (\n this.selectedCountry.dialCode &&\n !this.preferredCountries.includes(this.selectedCountry.iso2)\n ) {\n this.preferredCountryList.push(this.selectedCountry);\n }\n this.countryChanged.emit(this.selectedCountry);\n this._changeDetectorRef.markForCheck();\n }, 1);\n } else {\n this.phoneFormattedNational = value;\n }\n }\n this._changeDetectorRef.markForCheck();\n }\n\n private get formattedPhoneNumber(): string {\n if (!this._numberObject) {\n return this.phoneFormattedNational?.toString() || '';\n }\n switch (this.format) {\n case 'national':\n return this._numberObject.formatNational();\n case 'international':\n return this._numberObject.formatInternational();\n default:\n return this._numberObject.nationalNumber.toString();\n }\n }\n\n private formatAsYouTypeIfEnabled(): void {\n if (this.format === 'default') {\n return;\n }\n const asYouType: AsYouType = new AsYouType(\n this.selectedCountry?.iso2.toUpperCase() as CountryCode,\n );\n // To avoid caret positioning we apply formatting only if the caret is at the end:\n if (\n this.phoneFormattedNational\n ?.toString()\n .startsWith(this._previousFormattedNumber || '')\n ) {\n this.phoneFormattedNational = asYouType.input(this.phoneFormattedNational.toString());\n }\n this._previousFormattedNumber = this.phoneFormattedNational?.toString();\n }\n}\n","<div class=\"full-container\">\n <div [class]=\"['input-container', size, showCountrySelector?'country-selector':'no-country-selector']\">\n <button\n *ngIf=\"showCountrySelector\"\n (keydown)=\"buttonKeyPress($event)\"\n [cdkMenuTriggerFor]=\"countryMenu\"\n [cdkMenuPosition]=\"[{originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top', offsetY: 2, offsetX: -2}]\"\n [disabled]=\"disabled\">\n <div class=\"country-text\">\n <span class=\"indicator-wrapper\">\n <fw-icon>chevron-down</fw-icon>\n </span>\n <span class=\"country-selector-flag flag\" [ngClass]=\"selectedCountry?.flagClass.toLowerCase()\">\n </span>\n <span class=\"country-selector-code\" *ngIf=\"selectedCountry?.dialCode && format==='national'\">\n +{{ selectedCountry.dialCode }}\n </span>\n </div>\n </button>\n <ng-template #countryMenu>\n <fw-menu-container width=\"300px\" maxHeight=\"500px\" shadow=\"large\" [showFilter]=\"enableCountrySearch\">\n <fw-menu\n [value]=\"selectedCountryCode\" (change)=\"countrySelect($any($event), focusableInput)\"\n (filteredItemsChange)=\"filteredItemsChange($event)\">\n <ng-container *ngIf=\"!filteredCountryItems?.length\">\n <fw-menu-item\n *ngFor=\"let country of preferredCountryList\"\n [title]=\"country?.dialCode ? country.name+' +'+country.dialCode : country.name\"\n [value]=\"country.iso2\">\n <p class=\"icon-wrapper\">\n <span class=\"flag\" [ngClass]=\"country.flagClass.toLowerCase()\"></span>\n </p>\n </fw-menu-item>\n <fw-menu-separator></fw-menu-separator>\n </ng-container>\n <ng-container>\n <fw-menu-item\n *ngFor=\"let country of allCountryList\"\n [title]=\"country?.dialCode ? country.name+' +'+country.dialCode : country.name\"\n [value]=\"country.iso2\">\n <p class=\"icon-wrapper\">\n <span class=\"flag\" [ngClass]=\"country.flagClass.toLowerCase()\"></span>\n </p>\n </fw-menu-item>\n </ng-container>\n </fw-menu>\n </fw-menu-container>\n </ng-template>\n <input\n type=\"tel\"\n autocomplete=\"tel\"\n (click)=\"trigger.close()\"\n (blur)=\"onTouched()\"\n (keydown)=\"inputKeyPress($event)\"\n [(ngModel)]=\"phoneFormattedNational\"\n (ngModelChange)=\"phoneNumberChange()\"\n [placeholder]=\"placeholder || ''\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [maxLength]=\"15\"\n #focusableInput>\n <fw-icon class=\"error-icon\">warning-circle</fw-icon>\n <fw-icon *ngIf=\"!!rightIcon\">{{ rightIcon }}</fw-icon>\n <ng-content></ng-content>\n </div>\n <p class=\"helper-text\" *ngIf=\"!!helperText\">{{ helperText }}</p>\n <p class=\"error-text\" *ngIf=\"!!errorText\">{{ errorText }}</p>\n</div>\n","import { CdkMenuModule } from '@angular/cdk/menu';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { FwButtonModule } from '../button/button.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwMenuModule } from '../menu/menu.module';\nimport { FwPhoneInputComponent } from './phone-input.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CdkMenuModule,\n FwButtonModule,\n FwIconModule,\n FwMenuModule,\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n FwPhoneInputComponent,\n ],\n exports: [\n FwPhoneInputComponent,\n ],\n})\nexport class FwPhoneInputModule {\n}\n","import { Location } from '@angular/common';\nimport { Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\n\nimport { FwIconComponent } from '../../icon/icon.component';\n\n@Component({\n selector: 'fw-back-button',\n templateUrl: './back-button.component.html',\n styleUrls: ['./back-button.component.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [FwIconComponent],\n})\nexport class FwBackButtonComponent {\n @Input() backFunction?: () => {};\n @HostBinding('attr.class') class = 'fw-back-button';\n\n constructor(public location: Location) {\n }\n\n handleClick(): void {\n if (this.backFunction) {\n this.backFunction();\n } else {\n this.location.back();\n }\n }\n}\n","<button (click)=\"handleClick()\">\n <fw-icon>arrow-back</fw-icon>\n</button>\n","import { NgIf } from '@angular/common';\nimport { Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\n\nimport { FwIconComponent } from '../icon/icon.component';\nimport { IconType } from '../icon/icon.types';\nimport { FwBackButtonComponent } from './back-button/back-button.component';\n\n@Component({\n selector: 'fw-section-heading',\n templateUrl: './section-heading.component.html',\n styleUrls: ['./section-heading.component.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [\n NgIf,\n FwBackButtonComponent,\n FwIconComponent,\n ],\n})\nexport class FwSectionHeadingComponent {\n @HostBinding('attr.class') class = 'fw-section-heading';\n @Input() title: string;\n @Input() description?: string;\n @Input() backButton?: boolean = false;\n @Input() backFunction?: () => {};\n @Input() icon?: IconType;\n\n constructor() {\n }\n}\n","<div class=\"heading-area\">\n <fw-back-button *ngIf=\"backButton\" [backFunction]=\"backFunction\"></fw-back-button>\n <fw-icon *ngIf=\"icon\" class=\"heading-icon\">{{ icon }}</fw-icon>\n <ng-content select=\"fw-icon\"></ng-content>\n <div>\n <h2 class=\"vision-h2 section-heading\">{{ title }}\n <ng-content select=\"fw-chip\"></ng-content>\n </h2>\n <p *ngIf=\"description\" class=\"vision-p2\">{{ description }}</p>\n <ng-content select=\"p\"></ng-content>\n </div>\n</div>\n<div class=\"right-content\">\n <ng-content></ng-content>\n</div>\n","import { NgIf } from '@angular/common';\nimport { Component, Input } from '@angular/core';\n\nimport { FwIconComponent } from '../../icon/icon.component';\nimport { IconType } from '../../icon/icon.types';\n\n@Component({\n selector: 'fw-subsection-heading',\n templateUrl: './subsection-heading.component.html',\n styleUrls: ['./subsection-heading.component.scss'],\n imports: [NgIf, FwIconComponent],\n})\nexport class FwSubsectionHeadingComponent {\n @Input() title: string;\n @Input() icon?: IconType;\n\n constructor() {\n }\n\n}\n","<div class=\"heading-area\">\n <fw-icon *ngIf=\"icon\">{{ icon }}</fw-icon>\n <h3 class=\"vision-h3 subsection-heading\">{{ title }}</h3>\n</div>\n<div class=\"right-content\">\n <ng-content></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwButtonModule } from '../button/button.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwBackButtonComponent } from './back-button/back-button.component';\nimport { FwSectionHeadingComponent } from './section-heading.component';\nimport { FwSubsectionHeadingComponent } from './subsection-heading/subsection-heading.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwButtonModule,\n FwIconModule,\n FwBackButtonComponent,\n FwSectionHeadingComponent,\n FwSubsectionHeadingComponent,\n ],\n exports: [\n FwBackButtonComponent,\n FwSectionHeadingComponent,\n FwSubsectionHeadingComponent,\n ],\n})\nexport class FwSectionHeadingModule {\n}\n","export class FwSnackbarTimerService {\n private timerId: number;\n private now = 0;\n private remainingDuration = 0;\n private resolver: () => void;\n\n start(duration: number): Promise<void> {\n return new Promise<void>((resolve) => {\n this.remainingDuration = duration;\n this.resolver = resolve;\n this.continue();\n });\n }\n\n stop(): void {\n clearTimeout(this.timerId);\n this.remainingDuration = 0;\n }\n\n pause(): void {\n clearTimeout(this.timerId);\n this.remainingDuration =\n this.remainingDuration - new Date().getTime() - this.now;\n }\n\n continue(): void {\n this.now = new Date().getTime();\n this.timerId = window.setTimeout(() => {\n this.resolver();\n }, this.remainingDuration);\n }\n}\n","/* eslint-disable @rx-angular/no-explicit-change-detection-apis */\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n HostBinding,\n input,\n output,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { FwButtonComponent } from '../../button/button.component';\nimport { FwIconComponent } from '../../icon/icon.component';\nimport { IconType } from '../../icon/icon.types';\nimport { FwIconButtonComponent } from '../../icon-button/icon-button.component';\nimport { FwSnackbarMessage } from '../snackbar-message.model';\nimport { FwSnackbarTimerService } from '../snackbar-timer.service';\n\n@Component({\n selector: 'fw-snackbar',\n styleUrls: ['./snackbar.component.scss'],\n templateUrl: './snackbar.component.html',\n providers: [FwSnackbarTimerService],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n FwIconComponent,\n NgTemplateOutlet,\n FwButtonComponent,\n FwIconButtonComponent,\n ],\n})\n\nexport class FwSnackbarComponent implements AfterViewInit {\n message = input.required<FwSnackbarMessage>();\n messageDuration = input(9000);\n ready = output<FwSnackbarComponent>();\n dismiss = output<string>();\n action = output<string>();\n\n private defaultIcons: Record<FwSnackbarMessage['severity'], IconType> = {\n success: 'done-check-tracked',\n warning: 'warning-circle',\n error: 'warning',\n info: 'information-circle',\n };\n\n icon = computed(() => this.message().icon || this.defaultIcons[this.message().severity]);\n\n showClose = computed(() => {\n const msg = this.message();\n return msg.showClose !== undefined ? msg.showClose : msg.severity === 'error';\n });\n\n duration = computed(() => {\n const msg = this.message();\n if (msg.duration) {\n return msg.duration;\n }\n return msg.severity === 'error' ? 29000 : this.messageDuration();\n });\n\n color = computed<FwButtonComponent['color']>(() => {\n const severity = this.message().severity;\n const colors: Record<FwSnackbarMessage['severity'], FwButtonComponent['color']> = {\n success: 'success',\n warning: 'warning',\n error: 'danger',\n info: 'primary',\n }\n return colors[severity] || 'primary';\n });\n\n isTemplateRef = computed(() => this.message().message instanceof TemplateRef);\n\n @HostBinding('class') get cssClass(): string {\n const cssClass = 'fw-snackbar';\n const severity = this.message()?.severity;\n if (severity) {\n return cssClass + ' ' + this.color();\n } else {\n return cssClass;\n }\n }\n\n constructor(private cdr: ChangeDetectorRef, private timerService: FwSnackbarTimerService) {\n }\n\n ngAfterViewInit(): void {\n this.ready.emit(this);\n this.cdr.markForCheck();\n }\n\n startTimer(): void {\n this.timerService.start(this.duration()).then(() => {\n this.handleDismiss();\n this.cdr.markForCheck();\n });\n }\n\n stopTimer(): void {\n this.timerService.stop();\n this.cdr.markForCheck();\n }\n\n handleDismiss(): void {\n this.dismiss.emit(this.message().id);\n this.cdr.markForCheck();\n }\n\n handleAction(): void {\n const msg = this.message();\n this.action.emit(msg.id);\n if (msg.action) {\n msg.action();\n }\n this.cdr.markForCheck();\n }\n\n}\n","@if (message(); as msg) {\n @if (icon()) {\n <fw-icon>{{ icon() }}</fw-icon>\n }\n @if (isTemplateRef()) {\n <ng-container *ngTemplateOutlet=\"$any(msg.message); context: msg.templateContext\"></ng-container>\n } @else {\n @if (msg.message) {\n <h4 class=\"vision-h4\">{{ msg.message }}</h4>\n }\n }\n @if (msg.actionText) {\n <fw-button\n size=\"small\"\n variant=\"ghost\"\n [color]=\"color()\"\n (click)=\"handleAction()\"\n >\n {{ msg.actionText }}\n </fw-button>\n }\n @if (showClose()) {\n <fw-icon-button\n icon=\"close\"\n size=\"small\"\n [color]=\"msg.severity\"\n (click)=\"handleDismiss()\"\n ></fw-icon-button>\n }\n @if (!msg.actionText && !showClose()) {\n <div></div>\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { FwSnackbarMessage } from './snackbar-message.model';\n\nexport function genMessageId(): string {\n return String.prototype.padStart(24, Math.floor(Math.random() * Date.now()).toString(16));\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FwSnackbarService {\n readonly messages$ = new BehaviorSubject<FwSnackbarMessage[]>([]);\n private messageQueue: FwSnackbarMessage[] = [];\n\n show(message: FwSnackbarMessage): void {\n if (!message.id) {\n message.id = genMessageId();\n }\n\n this.messageQueue.push(message);\n this.messages$.next(this.messageQueue);\n }\n\n dismiss(messageId: string): void {\n this.messageQueue = this.messageQueue.filter((v) => v.id !== messageId);\n this.messages$.next(this.messageQueue);\n }\n\n dismissAll(): void {\n this.messageQueue = [];\n this.messages$.next(this.messageQueue);\n }\n}\n\n","import { NgFor,NgIf } from '@angular/common';\nimport {\n ChangeDetectorRef,\n Component,\n HostBinding,\n OnDestroy,\n ViewEncapsulation,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { FwButtonComponent } from '../../button/button.component';\nimport { FwSnackbarService } from '../snackbar.service';\nimport { FwSnackbarComponent } from '../snackbar/snackbar.component';\nimport { FwSnackbarMessage } from '../snackbar-message.model';\n\n@Component({\n selector: 'fw-snackbar-container',\n templateUrl: './snackbar-container.component.html',\n styleUrls: ['./snackbar-container.component.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [\n NgIf,\n FwButtonComponent,\n NgFor,\n FwSnackbarComponent,\n ],\n})\nexport class FwSnackbarContainerComponent implements OnDestroy {\n @HostBinding('attr.class') get classes(): string {\n return 'fw-snackbar-container';\n };\n\n limit = 10;\n messages: FwSnackbarMessage[] = [];\n\n private subscriptions = {\n messages: Subscription.EMPTY,\n };\n\n constructor(private cdr: ChangeDetectorRef, private snackbarService: FwSnackbarService) {\n this.subscriptions.messages = this.snackbarService.messages$.subscribe((messages: FwSnackbarMessage[]) => {\n this.messages = messages;\n // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis\n this.cdr.markForCheck();\n });\n }\n\n ngOnDestroy(): void {\n for (const subscription of Object.values(this.subscriptions)) {\n subscription.unsubscribe();\n }\n }\n\n onReady(snackbar: FwSnackbarComponent): void {\n const currentMessage = this.messages[this.messages.length - 1];\n currentMessage.ref = snackbar;\n snackbar.startTimer();\n }\n\n onDismiss(messageId: string): void {\n const message = this.messages.find(currentMessage => currentMessage.id === messageId);\n if (message?.ref) {\n message.ref.stopTimer();\n }\n if (message?.id) {\n this.snackbarService.dismiss(message.id);\n }\n // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis\n this.cdr.markForCheck();\n }\n\n clearAll(): void {\n this.snackbarService.dismissAll();\n // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis\n this.cdr.markForCheck();\n }\n}\n","<div role=\"list\">\n <div class=\"buttons\">\n <fw-button\n *ngIf=\"messages.length > 0\" (click)=\"clearAll()\"\n class=\"clear-all\" aria-label=\"clear all\"\n color=\"slate\" size=\"small\" variant=\"ghost\">\n Clear All\n </fw-button>\n </div>\n <fw-snackbar\n *ngFor=\"let message of messages; index as $index\"\n (ready)=\"onReady($event)\"\n (dismiss)=\"onDismiss($event)\"\n [message]=\"message\"\n [attr.aria-label]=\"message.message\"\n role=\"listitem\"\n ></fw-snackbar>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwButtonModule } from '../button/button.module';\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwIconButtonModule } from '../icon-button/icon-button.module';\nimport { FwSnackbarComponent } from './snackbar/snackbar.component';\nimport { FwSnackbarContainerComponent } from './snackbar-container/snackbar-container.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwButtonModule,\n FwIconButtonModule,\n FwIconModule,\n FwSnackbarComponent,\n FwSnackbarContainerComponent,\n ],\n exports: [\n FwSnackbarComponent,\n FwSnackbarContainerComponent,\n ],\n})\nexport class FwSnackbarModule {\n}\n","import { NgClass, NgIf } from '@angular/common';\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\n\nimport { FwIconComponent } from '../icon/icon.component';\nimport { IconType } from '../icon/icon.types';\n\n@Component({\n selector: 'fw-step',\n templateUrl: './step.component.html',\n styleUrls: ['./step.component.scss'],\n imports: [\n NgClass,\n NgIf,\n FwIconComponent,\n ],\n})\nexport class FwStepComponent implements OnChanges {\n @Input() stepNumber: number;\n @Input() color?: 'slate' | 'success' | 'error' | 'warning' | 'info' = 'slate';\n @Input() variant?: 'number' | 'icon' | 'decorator' = 'number';\n @Input() alignment?: 'left' | 'center' = 'left';\n @Input() backgroundColor?: string = 'var(--card-background)';\n @Input() title: string;\n @Input() description?: string;\n @Input() icon?: IconType;\n @Input() disabled?: boolean;\n @Input() active?: boolean;\n @Input() completed?: boolean;\n @Input() done?: boolean;\n @Input() status?: 'default' | 'active' | 'completed' | 'done' | 'disabled' | 'error' | 'warning' | 'info';\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() select: EventEmitter<number> = new EventEmitter<number>();\n\n handleClick(): void {\n if (this.completed && !this.done && !this.disabled) {\n this.select.emit(this.stepNumber);\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.status) {\n this.active = false;\n this.disabled = false;\n this.completed = false;\n this.done = false;\n this.color = 'slate';\n switch (changes.status.currentValue) {\n case 'active':\n this.active = true;\n break;\n case 'completed':\n this.completed = true;\n break;\n case 'done':\n this.done = true;\n break;\n case 'disabled':\n this.disabled = true;\n break;\n case 'error':\n this.color = 'error';\n break;\n case 'warning':\n this.color = 'warning';\n break;\n case 'info':\n this.color = 'info';\n break;\n case 'default':\n default:\n // handled in init\n break;\n }\n }\n if (changes.active && changes.active.previousValue === false) {\n this.status = 'active';\n }\n if (changes.completed && changes.completed.previousValue === false) {\n this.status = 'completed';\n }\n if (changes.done && changes.done.previousValue === false) {\n this.status = 'done';\n }\n if (changes.disabled && changes.disabled.previousValue === false) {\n this.status = 'disabled';\n }\n if (this.color === 'slate' && !this.active && !this.completed && !this.done && !this.disabled) {\n this.status = 'default';\n }\n }\n}\n\n@Component({\n selector: 'fw-step-decorator',\n template: '<ng-content></ng-content>',\n styleUrls: [],\n})\nexport class FwStepDecoratorComponent {\n}\n","<div\n [ngClass]=\"['step-wrapper', 'step-color-'+color, 'step-alignment-'+alignment]\"\n [class.disabled]=\"disabled\"\n [class.active]=\"active\"\n [class.completed]=\"completed\"\n [class.done]=\"done\"\n (click)=\"handleClick()\">\n <div class=\"step-connector\"></div>\n <div class=\"step-content\" [style]=\"{backgroundColor: backgroundColor}\">\n <div\n class=\"step-decorator-wrapper\"\n [style]=\"{outlineColor: backgroundColor, backgroundColor: backgroundColor}\">\n <div *ngIf=\"done; else notDone\" class=\"step-done\" [style]=\"{outlineColor: backgroundColor}\">\n <fw-icon size=\"small\">done-check</fw-icon>\n </div>\n </div>\n <ng-template #notDone>\n <div *ngIf=\"variant==='number'\" class=\"step-number\">\n <h5 class=\"vision-h5\">{{ stepNumber }}</h5>\n </div>\n <div *ngIf=\"variant==='icon'\" class=\"step-icon\">\n <fw-icon size=\"small\">{{ icon }}</fw-icon>\n </div>\n <div *ngIf=\"variant==='decorator'\" class=\"step-decorator\">\n <ng-content select=\"fw-step-decorator\"></ng-content>\n </div>\n </ng-template>\n <div class=\"step-text\">\n <h4 class=\"vision-h4\">{{ title }}</h4>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n </div>\n</div>\n","import {\n AfterContentInit,\n Component,\n ContentChildren,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n QueryList,\n SimpleChanges,\n} from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\nimport { Subscription } from 'rxjs';\n\nimport { FwStepComponent } from './step.component';\n\n@Component({\n selector: 'fw-stepper',\n template: '<ng-content select=\"fw-step\"></ng-content>',\n styleUrls: [],\n})\nexport class FwStepperComponent implements OnChanges, OnDestroy, AfterContentInit {\n @Input() activeStep: number = 1;\n @Input() doneStep?: number;\n @Input() alignment?: 'left' | 'center' = 'left';\n @Input() backgroundColor?: string = 'var(--card-background)';\n @Output() stepChange: EventEmitter<number> = new EventEmitter<number>();\n @ContentChildren(FwStepComponent) steps: QueryList<FwStepComponent>;\n\n @HostBinding('style') get style(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(`\n display: flex;\n background-color: ${this.backgroundColor};\n `);\n }\n\n private subscriptions: Subscription[] = [];\n\n constructor(private sanitizer: DomSanitizer) {\n }\n\n ngOnDestroy(): void {\n for (const subscription of this.subscriptions) {\n subscription.unsubscribe();\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes) {\n this.updateSteps();\n }\n }\n\n ngAfterContentInit(): void {\n this.steps.forEach(step => {\n const sub = step.select.subscribe(step => this.handleSelect(step));\n this.subscriptions.push(sub);\n });\n this.updateSteps();\n }\n\n handleSelect(step?: number): void {\n this.activeStep = step;\n this.stepChange.emit(parseInt(step.toString())); // weirdly passing out step directly fails the eqeqeq\n this.updateSteps();\n }\n\n updateSteps(): void {\n if (this.steps && this.steps.length > 0) {\n this.steps.forEach(step => {\n if (step.stepNumber < this.activeStep) {\n step.completed = true;\n step.active = false;\n step.done = false;\n step.backgroundColor = this.backgroundColor;\n step.alignment = this.alignment;\n }\n if (step.stepNumber.toString() === this.activeStep.toString()) {\n step.completed = false;\n step.active = true;\n step.done = false;\n step.backgroundColor = this.backgroundColor;\n step.alignment = this.alignment;\n }\n if (step.stepNumber > this.activeStep) {\n step.completed = false;\n step.active = false;\n step.done = false;\n step.backgroundColor = this.backgroundColor;\n step.alignment = this.alignment;\n }\n if (Boolean(this.doneStep) && step.stepNumber <= this.doneStep) {\n step.done = true;\n }\n });\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwIconButtonModule } from '../icon-button/icon-button.module';\nimport { FwStepComponent, FwStepDecoratorComponent } from './step.component';\nimport { FwStepperComponent } from './stepper.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n FwIconButtonModule,\n FwStepComponent,\n FwStepDecoratorComponent,\n FwStepperComponent,\n ],\n exports: [\n FwStepComponent,\n FwStepDecoratorComponent,\n FwStepperComponent,\n ],\n})\nexport class FwStepperModule {\n}\n","/* eslint @angular-eslint/directive-class-suffix: 0 */\n/* eslint @angular-eslint/directive-selector: 0 */\n\nimport {\n CdkCell,\n CdkCellDef,\n CdkColumnDef,\n CdkFooterCell,\n CdkFooterCellDef,\n CdkHeaderCell,\n CdkHeaderCellDef,\n} from '@angular/cdk/table';\nimport { Directive, HostBinding, Input } from '@angular/core';\n\n/**\n * Cell definition for the fw-table.\n * Captures the template of a column's data row cell as well as cell-specific properties.\n */\n@Directive({\n selector: '[fwCellDef]',\n providers: [{ provide: CdkCellDef, useExisting: FwCellDef }],\n})\nexport class FwCellDef extends CdkCellDef {\n}\n\n/**\n * Header cell definition for the fw-table.\n * Captures the template of a column's header cell and as well as cell-specific properties.\n */\n@Directive({\n selector: '[fwHeaderCellDef]',\n providers: [{ provide: CdkHeaderCellDef, useExisting: FwHeaderCellDef }],\n})\nexport class FwHeaderCellDef extends CdkHeaderCellDef {\n}\n\n/**\n * Footer cell definition for the fw-table.\n * Captures the template of a column's footer cell and as well as cell-specific properties.\n */\n@Directive({\n selector: '[fwFooterCellDef]',\n providers: [{ provide: CdkFooterCellDef, useExisting: FwFooterCellDef }],\n})\nexport class FwFooterCellDef extends CdkFooterCellDef {\n}\n\n/**\n * Column definition for the fw-table.\n * Defines a set of cells available for a table column.\n */\n@Directive({\n selector: '[fwColumnDef]',\n providers: [\n { provide: CdkColumnDef, useExisting: FwColumnDef },\n ],\n})\nexport class FwColumnDef extends CdkColumnDef {\n /** Unique name for this column. */\n @Input('fwColumnDef')\n override get name(): string {\n return this._name;\n }\n\n override set name(name: string) {\n this._setNameInput(name);\n }\n\n /**\n * Add \"fw-column-\" prefix in addition to \"cdk-column-\" prefix.\n * In the future, this will only add \"fw-column-\" and columnCssClassName\n * will change from type string[] to string.\n * @docs-private\n */\n protected override _updateColumnCssClassName(): void {\n super._updateColumnCssClassName();\n this._columnCssClassName!.push(`fw-column-${this.cssClassFriendlyName}`);\n }\n}\n\n/** Header cell template container that adds the right classes and role. */\n@Directive({\n selector: 'fw-header-cell, th[fw-header-cell]',\n})\nexport class FwHeaderCell extends CdkHeaderCell {\n @HostBinding() class: string = 'fw-header-cell';\n @HostBinding() role: string = 'columnheader';\n}\n\n/** Footer cell template container that adds the right classes and role. */\n@Directive({\n selector: 'fw-footer-cell, td[fw-footer-cell]',\n})\nexport class FwFooterCell extends CdkFooterCell {\n @HostBinding() class: string = 'fw-footer-cell';\n}\n\n/** Cell template container that adds the right classes and role. */\n@Directive({\n selector: 'fw-cell, td[fw-cell]',\n})\nexport class FwCell extends CdkCell {\n @HostBinding() class: string = 'fw-cell';\n}\n","/* eslint @angular-eslint/directive-class-suffix: 0 */\n/* eslint @angular-eslint/directive-selector: 0 */\n/* eslint @angular-eslint/component-class-suffix:0 */\n\nimport { CdkCellOutlet,CdkFooterRow, CdkFooterRowDef, CdkHeaderRow, CdkHeaderRowDef, CdkNoDataRow, CdkRow, CdkRowDef } from '@angular/cdk/table';\nimport { ChangeDetectionStrategy, Component, Directive, HostBinding, Input, ViewEncapsulation } from '@angular/core';\n\nconst ROW_TEMPLATE = '<ng-container cdkCellOutlet></ng-container>';\n\n/**\n * Header row definition for the fw-table.\n * Captures the header row's template and other header properties such as the columns to display.\n */\n@Directive({\n selector: '[fwHeaderRowDef]',\n providers: [{ provide: CdkHeaderRowDef, useExisting: FwHeaderRowDef }],\n})\nexport class FwHeaderRowDef extends CdkHeaderRowDef {\n @Input('fwHeaderRowDef') override columns: string[];\n\n @Input('fwHeaderRowDefSticky')\n set stickyInput(value: boolean) {\n this.sticky = value;\n }\n}\n\n/**\n * Footer row definition for the fw-table.\n * Captures the footer row's template and other footer properties such as the columns to display.\n */\n@Directive({\n selector: '[fwFooterRowDef]',\n providers: [{ provide: CdkFooterRowDef, useExisting: FwFooterRowDef }],\n})\nexport class FwFooterRowDef extends CdkFooterRowDef {\n @Input('fwFooterRowDef') override columns: string[];\n\n @Input('fwFooterRowDefSticky')\n set stickyInput(value: boolean) {\n this.sticky = value;\n }\n}\n\n/**\n * Data row definition for the fw-table.\n * Captures the data row's template and other properties such as the columns to display and\n * a when predicate that describes when this row should be used.\n */\n@Directive({\n selector: '[fwRowDef]',\n providers: [{ provide: CdkRowDef, useExisting: FwRowDef }],\n})\nexport class FwRowDef<T> extends CdkRowDef<T> {\n @Input('fwRowDefColumns') columns: string[];\n @Input('fwRowDefWhen') when: (index: number, rowData: T) => boolean;\n}\n\n/** Header template container that contains the cell outlet. Adds the right class and role. */\n@Component({\n selector: 'fw-header-row, tr[fw-header-row]',\n template: ROW_TEMPLATE,\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'fwHeaderRow',\n providers: [{ provide: CdkHeaderRow, useExisting: FwHeaderRow }],\n imports: [CdkCellOutlet],\n})\nexport class FwHeaderRow extends CdkHeaderRow {\n @HostBinding() class = 'fw-header-row';\n @HostBinding() role = 'row';\n}\n\n/** Footer template container that contains the cell outlet. Adds the right class and role. */\n@Component({\n selector: 'fw-footer-row, tr[fw-footer-row]',\n template: ROW_TEMPLATE,\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'fwFooterRow',\n providers: [{ provide: CdkFooterRow, useExisting: FwFooterRow }],\n imports: [CdkCellOutlet],\n})\nexport class FwFooterRow extends CdkFooterRow {\n @HostBinding() class = 'fw-footer-row';\n @HostBinding() role = 'row';\n}\n\n/** Data row template container that contains the cell outlet. Adds the right class and role. */\n@Component({\n selector: 'fw-row, tr[fw-row]',\n template: ROW_TEMPLATE,\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'fwRow',\n providers: [{ provide: CdkRow, useExisting: FwRow }],\n imports: [CdkCellOutlet],\n})\nexport class FwRow extends CdkRow {\n @HostBinding() class = 'fw-row';\n @HostBinding() role = 'row';\n}\n\n/** Row that can be used to display a message when no data is shown in the table. */\n@Directive({\n selector: 'ng-template[fwNoDataRow]',\n providers: [{ provide: CdkNoDataRow, useExisting: FwNoDataRow }],\n})\nexport class FwNoDataRow extends CdkNoDataRow {\n override _contentClassName = 'fw-no-data-row';\n}\n","import { _DisposeViewRepeaterStrategy, _VIEW_REPEATER_STRATEGY } from '@angular/cdk/collections';\nimport { _COALESCED_STYLE_SCHEDULER, _CoalescedStyleScheduler, CDK_TABLE, CdkTable, DataRowOutlet, FooterRowOutlet,HeaderRowOutlet, NoDataRowOutlet, STICKY_POSITIONING_LISTENER } from '@angular/cdk/table';\nimport { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fw-table, table[fw-table]',\n exportAs: 'fwTable',\n templateUrl: 'table.component.html',\n styleUrls: ['table.component.scss'],\n providers: [\n { provide: CdkTable, useExisting: FwTableComponent },\n { provide: CDK_TABLE, useExisting: FwTableComponent },\n { provide: _COALESCED_STYLE_SCHEDULER, useClass: _CoalescedStyleScheduler },\n { provide: _VIEW_REPEATER_STRATEGY, useClass: _DisposeViewRepeaterStrategy },\n // Prevent nested tables from seeing this table's StickyPositioningListener.\n { provide: STICKY_POSITIONING_LISTENER, useValue: null },\n ],\n encapsulation: ViewEncapsulation.None,\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n imports: [\n HeaderRowOutlet,\n DataRowOutlet,\n NoDataRowOutlet,\n FooterRowOutlet,\n ],\n})\nexport class FwTableComponent<T> extends CdkTable<T> {\n @HostBinding() class: string = ['fw-table', this.fixedLayout ? 'fixedLayout' : ''].join(' ');\n /** Overrides the sticky CSS class set by the `CdkTable`. */\n protected override stickyCssClass = 'fw-table-sticky';\n\n /** Overrides the need to add position: sticky on every sticky cell element in `CdkTable`. */\n protected override needsPositionStickyOnElement = false;\n}\n","<ng-container headerRowOutlet></ng-container>\n<ng-container rowOutlet></ng-container>\n<ng-container noDataRowOutlet></ng-container>\n<ng-container footerRowOutlet></ng-container>\n","import { _DisposeViewRepeaterStrategy, _VIEW_REPEATER_STRATEGY } from '@angular/cdk/collections';\nimport { _COALESCED_STYLE_SCHEDULER, _CoalescedStyleScheduler, CDK_TABLE, CdkTable, DataRowOutlet, FooterRowOutlet,HeaderRowOutlet, NoDataRowOutlet, STICKY_POSITIONING_LISTENER } from '@angular/cdk/table';\nimport { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fw-table-dense, table[fw-table-dense]',\n exportAs: 'fwTableDense',\n templateUrl: 'table.component.html',\n styleUrls: ['table-dense.component.scss'],\n providers: [\n { provide: CdkTable, useExisting: FwTableDenseComponent },\n { provide: CDK_TABLE, useExisting: FwTableDenseComponent },\n { provide: _COALESCED_STYLE_SCHEDULER, useClass: _CoalescedStyleScheduler },\n { provide: _VIEW_REPEATER_STRATEGY, useClass: _DisposeViewRepeaterStrategy },\n // Prevent nested tables from seeing this table's StickyPositioningListener.\n { provide: STICKY_POSITIONING_LISTENER, useValue: null },\n ],\n encapsulation: ViewEncapsulation.None,\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n imports: [\n HeaderRowOutlet,\n DataRowOutlet,\n NoDataRowOutlet,\n FooterRowOutlet,\n ],\n})\nexport class FwTableDenseComponent<T> extends CdkTable<T> {\n @HostBinding() class: string = ['fw-table-dense', this.fixedLayout ? 'fixedLayout' : ''].join(' ');\n /** Overrides the sticky CSS class set by the `CdkTable`. */\n protected override stickyCssClass = 'fw-table-sticky';\n\n /** Overrides the need to add position: sticky on every sticky cell element in `CdkTable`. */\n protected override needsPositionStickyOnElement = false;\n}\n","import { CdkTableModule } from '@angular/cdk/table';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwCell, FwCellDef, FwColumnDef, FwFooterCell, FwFooterCellDef, FwHeaderCell, FwHeaderCellDef } from './cell';\nimport { FwFooterRow, FwFooterRowDef, FwHeaderRow, FwHeaderRowDef, FwNoDataRow, FwRow, FwRowDef } from './row';\nimport { FwTableComponent } from './table.component';\nimport { FwTableDenseComponent } from './table-dense.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CdkTableModule,\n CommonModule,\n FwCell,\n FwCellDef,\n FwColumnDef,\n FwFooterCell,\n FwFooterCellDef,\n FwHeaderCell,\n FwHeaderCellDef,\n FwTableComponent,\n FwTableDenseComponent,\n FwRow,\n FwRowDef,\n FwFooterRow,\n FwFooterRowDef,\n FwHeaderRow,\n FwHeaderRowDef,\n FwNoDataRow,\n ],\n exports: [\n FwCell,\n FwCellDef,\n FwColumnDef,\n FwFooterCell,\n FwFooterCellDef,\n FwFooterRow,\n FwFooterRowDef,\n FwHeaderCell,\n FwHeaderCellDef,\n FwHeaderRow,\n FwHeaderRowDef,\n FwNoDataRow,\n FwRow,\n FwRowDef,\n FwTableComponent,\n FwTableDenseComponent,\n ],\n})\nexport class FwTableModule {\n}\n","import { NgIf } from '@angular/common';\nimport { Component, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';\n\nimport { IconType } from '../../../components/icon/icon.types';\nimport { FwIconComponent } from '../../icon/icon.component';\nimport { FwTabPanelComponent } from '../tab-panel/tab-panel.component';\n\n@Component({\n selector: 'fw-tab',\n templateUrl: './tab.component.html',\n styleUrls: ['./tab.component.scss'],\n imports: [NgIf, FwIconComponent],\n})\nexport class FwTabComponent {\n @Input() title: string;\n @Input() panel?: FwTabPanelComponent;\n @Input() color: 'primary' | 'secondary' = 'primary';\n @Input() icon?: IconType;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() select: EventEmitter<FwTabComponent> = new EventEmitter<FwTabComponent>();\n @HostBinding('class.active') @Input() active: boolean = false;\n @HostBinding('class.disabled') @Input() disabled: boolean = false;\n @HostBinding('role') role = 'button';\n @HostBinding('tabindex') @Input() tabindex = '';\n\n @HostBinding('class') get cssClass(): string {\n return ['fw-tab', this.color].join(' ');\n }\n\n @HostListener('click') onClick(): void {\n this.handleSelect();\n }\n\n @HostListener('window:keyup', ['$event']) keyEvent(event: KeyboardEvent): void {\n if (event.key === 'Enter' && event.target['attributes']?.['label']?.['nodeValue'] === this.title) {\n this.handleSelect();\n }\n }\n\n handleSelect(): void {\n if (!this.disabled) {\n this.active = true;\n if (this.panel) {\n this.panel.active = true;\n }\n this.select.emit(this);\n }\n }\n\n}\n","<fw-icon *ngIf=\"icon\" size=\"medium\">{{ icon }}</fw-icon>\n<h4 class=\"vision-h4\">{{ title }}</h4>\n<ng-content select=\"fw-badge\"></ng-content>\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'fw-tab-panel',\n templateUrl: './tab-panel.component.html',\n styleUrls: ['./tab-panel.component.scss'],\n})\nexport class FwTabPanelComponent {\n @HostBinding('class.active') @Input() active: boolean = false;\n\n}\n","<ng-content></ng-content>\n","import {\n AfterContentInit,\n Component,\n ContentChildren,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n Output,\n QueryList,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { FwTabComponent } from './tab/tab.component';\n\n@Component({\n selector: 'fw-tabs',\n templateUrl: './tabs.component.html',\n styleUrls: ['./tabs.component.scss'],\n})\nexport class FwTabsComponent implements AfterContentInit, OnDestroy {\n @Input() activeTabIndex: number;\n @Input() activeTab?: FwTabComponent;\n @Input() bordered?: boolean = false;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() select: EventEmitter<FwTabComponent> = new EventEmitter<FwTabComponent>();\n @ContentChildren(FwTabComponent) tabs: QueryList<FwTabComponent>;\n\n @HostBinding('class') get cssClass(): string {\n return ['fw-tabs', this.bordered ? 'bordered' : ''].join(' ');\n }\n\n private subscriptions: Array<Subscription> = [];\n\n ngOnDestroy(): void {\n for (const subscription of this.subscriptions) {\n subscription.unsubscribe();\n }\n }\n\n ngAfterContentInit(): void {\n if (this.activeTabIndex <= this.tabs.length) {\n this.activeTab = this.tabs.get(this.activeTabIndex);\n this.activeTab.active = true;\n if (this.activeTab.panel) {\n this.activeTab.panel.active = true;\n }\n }\n this.tabs.forEach(tab => {\n const sub = tab.select.subscribe(selected => this.handleTabChange(selected));\n this.subscriptions.push(sub);\n });\n }\n\n handleTabChange(tab: FwTabComponent): void {\n this.activeTab = tab;\n this.tabs.forEach((t, index) => {\n if (t !== tab) {\n t.active = false;\n if (t.panel) {\n t.panel.active = false;\n }\n } else {\n this.activeTabIndex = index;\n }\n });\n this.select.emit(tab);\n }\n}\n","<ng-content select=\"fw-tab\"></ng-content>\n<ng-content></ng-content>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwTabComponent } from './tab/tab.component';\nimport { FwTabPanelComponent } from './tab-panel/tab-panel.component';\nimport { FwTabsComponent } from './tabs.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwIconModule,\n FwTabComponent,\n FwTabPanelComponent,\n FwTabsComponent,\n ],\n exports: [\n FwTabComponent,\n FwTabPanelComponent,\n FwTabsComponent,\n ],\n})\nexport class FwTabsModule {\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, input } from '@angular/core';\n\n\n@Component({\n selector: 'fw-text',\n template: '<ng-content></ng-content>',\n styleUrls: ['./text.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [],\n})\nexport class FwTextComponent {\n variant = input<'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p1' | 'p2' | 'p3' | 'p4' | 'p5' | 'body'>('body');\n align? = input<'inherit' | 'left' | 'center' | 'right' | 'justify'>('inherit');\n display? = input<'initial' | 'flex' | 'block' | 'inline' | 'grow'>('block');\n color? = input<'inherit' | 'base' | 'contrast' | 'disabled' | 'light' | 'muted'>();\n margin? = input<boolean>(false);\n overflow? = input<boolean>(true);\n\n @HostBinding('attr.class') get classes(): string {\n const classes = ['fw-text', `text-${this.variant()}`];\n classes.push(`vision-${this.variant()}`);\n classes.push(`text-align-${this.align()}`);\n classes.push(`text-display-${this.display()}`);\n if (this.color()) {\n classes.push(`text-color-${this.color()}`);\n }\n if (this.margin()) {\n classes.push('text-margin');\n }\n if (!this.overflow()) {\n classes.push('text-no-overflow');\n }\n return classes.join(' ');\n };\n}\n","import { CdkTextareaAutosize } from '@angular/cdk/text-field';\nimport { NgIf,NgStyle } from '@angular/common';\nimport { Component, HostBinding, Input, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { min } from 'rxjs';\n\nimport { FwIconComponent } from '../icon/icon.component';\n\n@Component({\n selector: 'fw-textarea-input',\n templateUrl: './textarea-input.component.html',\n styleUrls: ['./textarea-input.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: FwTextAreaInputComponent,\n multi: true,\n }],\n imports: [\n NgStyle,\n CdkTextareaAutosize,\n FwIconComponent,\n NgIf,\n ],\n})\nexport class FwTextAreaInputComponent implements ControlValueAccessor {\n\n @Input() minRows: number = 2;\n @Input() maxRows: number = 15;\n @Input() disabled?: boolean = false;\n /**\n * @deprecated please use fw-wrapped-input instead\n */\n @Input() helperText?: string;\n /**\n * @deprecated please use fw-wrapped-input instead\n */\n @Input() errorText?: string;\n @Input() placeholder?: string;\n @Input() readOnly?: boolean;\n @Input() autofocus?: string;\n @Input() width?: string;\n // we bind this to host because that's where angular form apis put the error classes\n @HostBinding('class.errored') @Input() error?: boolean = false;\n @ViewChild(CdkTextareaAutosize) autosize!: CdkTextareaAutosize;\n\n @Input() value = '';\n externalControl: FormControl = null;\n\n public onTouch = (): void => {\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public onChange = (value: string): void => {\n };\n\n writeValue(obj: string): void {\n this.value = obj;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n changeHandler(event: KeyboardEvent): void {\n this.value = (event.target as HTMLInputElement).value;\n this.onChange(this.value);\n this.onTouch();\n\n setTimeout(() => {\n if (this.autosize) {\n this.autosize.resizeToFitContent(true);\n }\n });\n }\n\n blurHandler(): void {\n this.onTouch();\n }\n\n protected readonly min = min;\n}\n","<div class=\"textarea-wrapper\" [ngStyle]=\"{width: width}\">\n <textarea\n test-id=\"textarea\"\n cdkTextareaAutosize\n #autosize=\"cdkTextareaAutosize\"\n [cdkAutosizeMinRows]=\"minRows\"\n [cdkAutosizeMaxRows]=\"maxRows\"\n (keyup)=\"changeHandler($event)\"\n (blur)=\"blurHandler()\"\n [placeholder]=\"placeholder || ''\"\n [value]=\"value\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [autofocus]=\"autofocus\">\n </textarea>\n <fw-icon class=\"error-icon\">warning-circle</fw-icon>\n</div>\n<p class=\"vision-p4 helper-text\" *ngIf=\"!!helperText\">{{ helperText }}</p>\n<p class=\"vision-p4 error-text\" *ngIf=\"!!errorText\">{{ errorText }}</p>\n","import { TextFieldModule } from '@angular/cdk/text-field';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { FwIconModule } from '../icon/icon.module';\nimport { FwTextAreaInputComponent } from './textarea-input.component';\n\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n TextFieldModule,\n FwIconModule,\n FwTextAreaInputComponent,\n ],\n exports: [\n FwTextAreaInputComponent,\n ],\n})\nexport class FwTextAreaInputModule {\n}\n","import {\n ChangeDetectorRef,\n Component,\n computed,\n contentChildren,\n effect,\n ElementRef,\n inject,\n input,\n OnDestroy,\n OnInit,\n signal,\n viewChild,\n} from '@angular/core';\nimport { BehaviorSubject, debounce, distinctUntilChanged, timer } from 'rxjs';\n\nimport { FwChipComponent } from '../chip/chip.component';\nimport { FwChipModule } from '../chip/chip.module';\nimport { FwTooltipModule } from '../tooltip/tooltip.module';\n\n// the nature of this component is to handle a complex layout issue so disabling this lint rule\n/* eslint-disable @rx-angular/prefer-no-layout-sensitive-apis */\n\n@Component({\n selector: 'fw-chip-list',\n imports: [\n FwChipModule,\n FwTooltipModule,\n ],\n templateUrl: './chip-list.component.html',\n styleUrl: './chip-list.component.scss',\n})\nexport class FwChipListComponent implements OnInit, OnDestroy {\n changeDetector = inject(ChangeDetectorRef);\n hostElement = inject(ElementRef);\n childChipElementRefs = contentChildren<FwChipComponent, ElementRef>(FwChipComponent, { read: ElementRef });\n moreText = viewChild<ElementRef<HTMLParagraphElement>>('moreText');\n\n subscriptions = [];\n\n hiddenElementCount = signal(0);\n hiddenChips = signal<HTMLElement[]>([]);\n hiddenLabels = computed(() => {\n return this.hiddenChips().map(chip => {\n // this relies on the dom shape of the chip, might be fragile\n const contentSpan = chip.querySelector('span');\n return contentSpan.innerText;\n }).join(', ');\n });\n\n resizeDebounceMs = input(100);\n disableOverflow = input(false);\n\n childrenChanged = effect(() => {\n this.childChipElementRefs();\n this.calcChipOverflow();\n });\n\n resizeObserver = new ResizeObserver(() => {\n this.calcChipOverflow();\n });\n\n ngOnInit(): void {\n // wire up resize observer to rxjs and debouce\n const resize$ = new BehaviorSubject<ResizeObserverEntry[]>([]);\n const recalcOnResize$ = resize$.pipe(\n debounce(() => timer(this.resizeDebounceMs())), // debounce otherwise it can run EVERY frame\n distinctUntilChanged(),\n );\n\n const resizeObserver = new ResizeObserver((resizeEntries) => {\n resize$.next(resizeEntries);\n })\n resizeObserver.observe(this.hostElement.nativeElement, { });\n const sub = recalcOnResize$.subscribe(() => this.calcChipOverflow());\n this.subscriptions.push(sub);\n }\n\n calcChipOverflow(): void {\n if (this.disableOverflow()) {\n return;\n }\n\n const moreTextRef = this.moreText();\n if (!moreTextRef) {\n return;\n }\n\n const hostRect = (this.hostElement.nativeElement as HTMLElement).getBoundingClientRect();\n const chipElements = this.childChipElementRefs().map(ref => ref.nativeElement as HTMLElement);\n const moreTextElement = moreTextRef.nativeElement;\n\n chipElements.forEach(chip => chip.classList.remove('hidden'));\n moreTextElement.classList.remove('hidden');\n\n const visibleChips = chipElements.filter(chip => {\n const chipRect = chip.getBoundingClientRect();\n return !(chipRect.right > hostRect.right || chipRect.bottom > hostRect.bottom);\n });\n\n const overflowChips = chipElements.toSpliced(0, visibleChips.length);\n\n if (overflowChips.length > 0) {\n const lastVisibleChip = visibleChips[visibleChips.length - 1];\n const enoughRoomForMoreText = (hostRect.right - lastVisibleChip.getBoundingClientRect().right) > (moreTextElement.offsetWidth);\n\n if (!enoughRoomForMoreText) {\n overflowChips.push(lastVisibleChip);\n }\n\n this.hiddenChips.set(overflowChips);\n overflowChips.forEach(hiddenChip => {\n hiddenChip.classList.add('hidden');\n });\n } else {\n moreTextElement.classList.add('hidden');\n }\n\n // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis\n this.changeDetector.detectChanges();\n }\n ngOnDestroy(): void {\n this.subscriptions.forEach(sub => sub.unsubscribe());\n }\n}\n","<ng-content></ng-content>\n@if(!disableOverflow()) {\n <fw-tooltip [title]=\"hiddenLabels()\">\n <p #moreText> +{{hiddenChips().length}} more </p>\n </fw-tooltip>\n}\n","import { CdkMenuModule, CdkMenuTrigger } from '@angular/cdk/menu';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n effect,\n ElementRef,\n forwardRef,\n HostListener,\n inject,\n input,\n model,\n signal,\n viewChild,\n viewChildren,\n} from '@angular/core';\nimport { toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { combineLatest, map, Observable, of, switchMap, tap } from 'rxjs';\n\nimport { MenuRegisterDirective } from '../../directives/menu-register.directive';\nimport { FwChipModule } from '../chip/chip.module';\nimport { FwChipListComponent } from '../chip-list/chip-list.component';\nimport { FwIconComponent } from '../icon/icon.component';\nimport { FwMenuModule } from '../menu/menu.module';\nimport { FwMenuItemComponent } from '../menu/menu-item/menu-item.component';\nimport { FwProgressModule } from '../progress/progress.module';\nimport { FwTextInputModule } from '../text-input/text-input.module';\n\ntype OptionFetchingFn = (searchString: string) => Observable<string[]>;\n\n/**\n * Component for having a user select multiple values while also allowing arbitrary values to be added\n * @see [Vision Docs](https://cdn.flywheel.io/docs/vision/master/?path=/docs/form-controls-typeahead--docs)\n */\n@Component({\n selector: 'fw-typeahead',\n imports: [\n FwTextInputModule,\n FwChipModule,\n ReactiveFormsModule,\n FwMenuModule,\n CdkMenuModule,\n MenuRegisterDirective,\n FwProgressModule,\n FwChipListComponent,\n FwIconComponent,\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FwTypeaheadComponent),\n multi: true,\n },\n ],\n host: {\n '[class.errored]': 'hasAmbiguousInput()',\n '[class.fw-touched]': 'touched()',\n },\n templateUrl: './typeahead.component.html',\n styleUrl: './typeahead.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FwTypeaheadComponent implements ControlValueAccessor {\n @HostListener('document:click') outsideClick(): void {\n this.trigger().close();\n }\n\n trigger = viewChild.required(CdkMenuTrigger);\n changeDetector = inject(ChangeDetectorRef);\n loading = model(false);\n disabled = model(false);\n touched = signal(false);\n hasAmbiguousInput = signal(false);\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n\n writeValue(incomingValue: string[]): void {\n this.value.set(incomingValue);\n }\n\n onChange = (_: string[]): void => {\n };\n\n clearValue(): void {\n this.value.set([]);\n }\n\n registerOnChange(onChangeFn: typeof this.onChange): void {\n this.onChange = onChangeFn;\n }\n\n onTouched = (): void => {\n this.touched.set(true);\n };\n\n registerOnTouched(onTouchedFn): void {\n this.onTouched = () => {\n this.touched.set(true);\n onTouchedFn();\n };\n }\n\n @HostListener('click', ['$event']) onClick(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n }\n\n value = model<string[]>([]);\n value$ = toObservable(this.value);\n /* eslint-disable-next-line @angular-eslint/no-input-rename */\n optionsInput = input<string[] | OptionFetchingFn>([], { alias: 'options' });\n optionsInput$ = toObservable(this.optionsInput);\n\n maxOptionsHeight = input('400px');\n minOptionsHeight = input('0px');\n optionsWidth = input('');\n maxHeight = input('');\n\n selectType = input<'single' | 'multiple'>('multiple');\n\n notifyOnValueChanges = effect(() => {\n this.onChange(this.value());\n });\n\n searchValue = model('');\n searchValueChanges$ = toObservable(this.searchValue);\n\n handleSearchChange(event: KeyboardEvent): void {\n const keyIsAlphanumeric = event.key.length === 1;\n\n if (this.trigger().closed && keyIsAlphanumeric) {\n this.trigger().open();\n }\n const value = (event.target as HTMLInputElement).value;\n this.searchValue.set(value);\n\n // Clear error state when user starts typing or clears the input\n if (!value.trim() || this.hasAmbiguousInput()) {\n this.hasAmbiguousInput.set(false);\n this.errorText.set('');\n }\n }\n\n allowNew = input(true);\n placeholder = input('Enter tags...');\n errorText = signal<string>('');\n displayedPlaceholder = computed(() => {\n if (this.selectType() === 'single') {\n return this.value()[0] || this.placeholder();\n }\n else {\n return this.value().length === 0 ? this.placeholder() : '';\n }\n });\n highlightPlaceholder = computed(() => this.selectType() === 'single' && this.value().length === 1)\n\n /**\n * Options after they've been both filtered for matching the search and already selected\n */\n filteredOptions$: Observable<string[]> = combineLatest([\n this.searchValueChanges$,\n this.optionsInput$,\n ]).pipe(\n tap(() => this.loading.set(true)),\n\n // first determine if it's a function or static options\n switchMap(([searchString, optionInput]) => {\n if (typeof optionInput === 'function') {\n const fetchingFunction = optionInput as OptionFetchingFn;\n return fetchingFunction(searchString);\n } else {\n // if they're static options we need to do the search filtering\n const filteredOptionInput = optionInput?.filter(opt => opt.toLowerCase().includes(searchString.toLowerCase()));\n return of(filteredOptionInput);\n }\n\n }),\n\n // next filter out already selected values\n switchMap(options => combineLatest([of(options), this.value$])),\n map(([options, currentValue]) => {\n return options?.filter(option => {\n const alreadySelected = currentValue.find(val => val.toLowerCase() === option.toLowerCase());\n return !alreadySelected;\n });\n }),\n\n tap(() => this.loading.set(false)),\n );\n /**\n * Options after they've been both filtered for matching the search and already selected\n */\n filteredOptions = toSignal(this.filteredOptions$);\n\n\n closeChip(chipValue: string): void {\n const currentValue = this.value();\n const newValue = currentValue.filter(val => val !== chipValue);\n this.value.set(newValue);\n this.focusInput();\n // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis\n this.changeDetector.detectChanges();\n }\n\n displayNewOption = computed(() => {\n const newValue = this.searchValue();\n\n if (!newValue) {\n return false;\n }\n\n const directMatch = this.filteredOptions()?.includes?.(newValue);\n const loading = this.loading();\n const alreadySelected = Boolean(this.value().find(val => val.toLowerCase() === newValue.toLowerCase()));\n\n\n return this.allowNew() && !alreadySelected && (!directMatch || loading);\n });\n\n addValue = (newValue: string): void => {\n\n const isInOptions = this.filteredOptions()?.includes(newValue);\n const isNewWhileDisallowed = !this.allowNew() && !isInOptions;\n\n const isDuplicate = this.value().includes(newValue.toLowerCase());\n\n if (isNewWhileDisallowed || isDuplicate) {\n return;\n }\n\n if (this.selectType() === 'single') {\n this.value.set([newValue]);\n this.trigger().close();\n }\n else {\n this.value.update(prevValue => [\n ...prevValue || [],\n newValue,\n ]);\n }\n };\n\n handleOptionClick = (optionValue: string): void => {\n this.onTouched();\n this.searchValue.set('');\n // Clear error state when an option is selected\n this.hasAmbiguousInput.set(false);\n this.errorText.set('');\n this.focusInput();\n this.addValue(optionValue);\n };\n\n resetFocusOnOptionsChange = effect(() => {\n if (this.displayedOptions() || this.searchValue()) {\n this.focusedIndex.set(0);\n }\n });\n\n displayedOptions = viewChildren(FwMenuItemComponent);\n focusedIndex = signal(0);\n focusedOption = computed(() => {\n const options = this.displayedOptions();\n const focused = this.focusedIndex();\n\n const onlyOne = options.length === 1;\n return onlyOne ? this.searchValue() : options[focused]?.value;\n });\n\n inputRef = viewChild.required<ElementRef<HTMLInputElement>>('input');\n\n focusInput(e?: MouseEvent): void {\n e?.preventDefault();\n e?.stopPropagation();\n e?.stopImmediatePropagation();\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n this.inputRef().nativeElement.focus();\n }\n\n onFocusLoss(_: Event): void {\n this.onTouched();\n\n // Check if there's text in the search field that wasn't committed\n const hasUncommittedText = this.searchValue().trim().length > 0;\n\n if (hasUncommittedText) {\n this.hasAmbiguousInput.set(true);\n this.errorText.set('Field contains ambiguous input, please either clear, select from available options, or press enter to include input.');\n }\n }\n\n // eslint doesn't like keynames as object properties\n /* eslint-disable @typescript-eslint/naming-convention */\n keyHandlerMap: { [keycode: string]: (e: KeyboardEvent) => void } = {\n 'Enter': (event) => {\n event.preventDefault();\n event.stopPropagation();\n this.onTouched();\n const newValue = this.focusedOption() || this.searchValue();\n const duplicate = this.value().find(val => val.toLowerCase() === newValue.toLowerCase());\n\n if (!newValue || duplicate) {\n return;\n }\n\n this.addValue(newValue);\n this.searchValue.set('');\n // Clear error state when Enter is pressed to commit input\n this.hasAmbiguousInput.set(false);\n this.errorText.set('');\n },\n 'ArrowDown': () => {\n this.moveFocused('down');\n },\n 'ArrowUp': () => {\n this.moveFocused('up');\n },\n 'Backspace': () => {\n const searchIsEmpty = !this.searchValue(); // any falsy value is empty\n if (searchIsEmpty && this.value()?.length > 0) {\n this.closeChip(this.value()[this.value().length - 1]);\n }\n return !searchIsEmpty;\n },\n 'Tab': () => {\n if (this.trigger().isOpen()) {\n this.trigger().close();\n }\n },\n };\n\n /* eslint-enable */\n\n handleKey(e: KeyboardEvent): void {\n const handler = this.keyHandlerMap[e.key];\n handler?.(e);\n }\n\n setFocusByValue(value: string): void {\n const options = this.displayedOptions();\n const foundIndex = options.findIndex(opt => opt.value === value);\n const finalIndex = foundIndex === -1 ? 0 : foundIndex;\n this.focusedIndex.set(finalIndex);\n }\n\n private moveFocused(direction: 'up' | 'down'): void {\n const options = this.displayedOptions();\n const index = this.focusedIndex();\n\n const clampIndex = (n: number): number => {\n if (n < 0) {\n return options.length - 1;\n } else if (n >= options.length) {\n return 0;\n }\n\n return n;\n };\n\n const indexChange = direction === 'up' ? -1 : 1;\n\n const newIndex = clampIndex(index + indexChange);\n this.focusedIndex.set(newIndex);\n\n const newlyFocused = this.displayedOptions()[this.focusedIndex()];\n\n // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis\n newlyFocused.scrollIntoView();\n }\n\n}\n","<div class=\"full-container\">\n <div\n (click)=\"focusInput($event)\"\n class=\"input-container\"\n [class.disabled]=\"disabled()\"\n [style.max-height]=\"maxHeight()\"\n [cdkMenuTriggerFor]=\"menuContent\"\n fwMenuRegister\n #inputContainer>\n @if (selectType() === 'multiple') {\n <fw-chip-list class=\"chips\" [disableOverflow]=\"!!maxHeight()\">\n @for(val of value(); track val) {\n <fw-chip\n color=\"primary\"\n [showClose]=\"true\"\n [title]=\"val\"\n [selectable]=\"false\"\n (close)=\"closeChip(val)\"\n />\n }\n </fw-chip-list>\n }\n <input\n test-id=\"typeahead-input\"\n [class.highlight-placeholder]=\"highlightPlaceholder()\"\n [placeholder]=\"displayedPlaceholder()\"\n [disabled]=\"disabled()\"\n [value]=\"searchValue()\"\n (keyup)=\"handleSearchChange($event)\"\n (keydown)=\"handleKey($event)\"\n (focusout)=\"onFocusLoss($event)\"\n #input\n type=\"text\"\n />\n @if(loading()) {\n <fw-progress-spinner size=\"small\"/>\n }\n @if(selectType() === 'single' && value().length === 1) {\n <fw-icon class=\"clear-icon\" (click)=\"clearValue()\">close</fw-icon>\n }\n </div>\n @if(errorText()) {\n <p class=\"vision-p4 error-text\">{{ errorText() }}</p>\n }\n</div>\n<ng-template #menuContent>\n <fw-menu-container\n [maxHeight]=\"maxOptionsHeight()\"\n [minHeight]=\"minOptionsHeight()\"\n [width]=\"optionsWidth() || inputContainer.offsetWidth - 2 + 'px'\"\n >\n <fw-menu>\n @if(loading() && !displayNewOption()) {\n <fw-menu-item title=\"Searching...\" [disabled]=\"true\"/>\n } @else if(!loading()) {\n @for (option of filteredOptions(); track option) {\n <fw-menu-item\n (click)=\"handleOptionClick($event)\"\n (mouseenter)=\"setFocusByValue(option)\"\n [title]=\"option\"\n [focused]=\"focusedOption() === option\"\n [value]=\"option\"\n />\n }\n @empty {\n @if (!displayNewOption()) {\n <fw-menu-item title=\"No tag suggestions\" [disabled]=\"true\"/>\n }\n }\n }\n @if(displayNewOption()) {\n <fw-menu-item\n (click)=\"handleOptionClick($event)\"\n (mouseenter)=\"setFocusByValue(searchValue())\"\n [title]=\"searchValue()\"\n [value]=\"searchValue()\"\n [focused]=\"focusedOption() === searchValue()\">\n <p class=\"new-tag\">New</p>\n </fw-menu-item>\n }\n </fw-menu>\n </fw-menu-container>\n</ng-template>\n","import { NgIf } from '@angular/common';\nimport { Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\n\nimport { FwFormHeadingComponent } from '../form-heading/form-heading.component';\n\n@Component({\n selector: 'fw-wrapped-input',\n templateUrl: './wrapped-input.component.html',\n styleUrls: ['./wrapped-input.component.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [NgIf, FwFormHeadingComponent],\n})\nexport class FwWrappedInputComponent {\n @Input() title: string;\n @Input() status?: string;\n @Input() statusColor?: 'slate' | 'primary' | 'secondary' | 'red' | 'green' | 'orange' = 'slate';\n @Input() description?: string;\n @Input() helperText?: string;\n @Input() errorText?: string;\n @Input() required?: boolean;\n\n @HostBinding('class.fw-wrapped-input') class = true;\n}\n\n\n","<label>\n <fw-form-heading\n *ngIf=\"title\" [title]=\"title\" [description]=\"description\"\n [required]=\"required\" [status]=\"status\" [statusColor]=\"statusColor\">\n </fw-form-heading>\n <ng-content select=\"fw-form-heading\"></ng-content>\n</label>\n<div class=\"input-wrapper\">\n <ng-content\n select=\"fw-button-toggle, fw-date-input, fw-text-input, fw-number-input, fw-phone-input, fw-textarea-input, fw-select, fw-multi-select, fw-checkbox, fw-typeahead\"></ng-content>\n</div>\n<p class=\"vision-p4 helper-text\" *ngIf=\"!!helperText && !errorText\">{{ helperText }}</p>\n<p class=\"vision-p4 error-text\" *ngIf=\"!!errorText\">{{ errorText }}</p>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwFormHeadingModule } from '../form-heading/form-heading.module';\nimport { FwWrappedInputComponent } from './wrapped-input.component';\n\n/**\n * @deprecated import component directly, intent to remove in v20\n */\n@NgModule({\n imports: [\n CommonModule,\n FwFormHeadingModule,\n FwWrappedInputComponent,\n ],\n exports: [\n FwWrappedInputComponent,\n ],\n})\nexport class FwWrappedInputModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["delayMap","positionMap","i1.FwTooltipComponent","i1","i2","i1.TranslationService","i2.MenuManagerService","i1.FwSnackbarTimerService","i1.FwSnackbarService","i1.FwChipComponent","i2.FwMenuComponent","i3.FwMenuContainerComponent","i4.FwMenuItemComponent","i5","i6.FwProgressSpinnerComponent"],"mappings":"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"}