@mozaic-ds/angular 0.31.0-rc.7 → 0.31.0-rc.8

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":"mozaic-ds-angular.mjs","sources":["../../../../projects/kit/common/utils/boolean-property.ts","../../../../projects/kit/common/utils/generate-id.ts","../../../../projects/kit/common/utils/get-random-number.ts","../../../../projects/kit/common/utils/overwrite-style.ts","../../../../projects/kit/components/accordion/accordion.component.ts","../../../../projects/kit/components/accordion/accordion.component.html","../../../../projects/kit/components/accordion/accordion.module.ts","../../../../projects/kit/components/container/container.component.ts","../../../../projects/kit/components/container/container.component.html","../../../../projects/kit/components/bottom-bar/bottom-bar.component.ts","../../../../projects/kit/components/bottom-bar/bottom-bar.component.html","../../../../projects/kit/components/container/container.module.ts","../../../../projects/kit/components/bottom-bar/bottom-bar.module.ts","../../../../projects/kit/components/icon/icon-size.ts","../../../../projects/kit/components/icon/icon.service.ts","../../../../projects/kit/components/icon/icon.component.ts","../../../../projects/kit/components/icon/icon.component.html","../../../../projects/kit/components/loader/loader.ts","../../../../projects/kit/components/loader/loader.component.ts","../../../../projects/kit/components/loader/loader.component.html","../../../../projects/kit/components/button/button.component.ts","../../../../projects/kit/components/button/button.component.html","../../../../projects/kit/components/action-bar/action-bar.component.ts","../../../../projects/kit/components/action-bar/action-bar.component.html","../../../../projects/kit/components/button/button.module.ts","../../../../projects/kit/components/icon/icon.module.ts","../../../../projects/kit/components/loader/loader.service.ts","../../../../projects/kit/components/loader/loader.module.ts","../../../../projects/kit/components/action-bar/action-bar.module.ts","../../../../projects/kit/components/action-bar/types/index.ts","../../../../projects/kit/components/listbox/listbox.component.ts","../../../../projects/kit/components/listbox/listbox.component.html","../../../../projects/kit/components/listbox/listbox.module.ts","../../../../projects/kit/components/tag/tag.component.ts","../../../../projects/kit/components/tag/tag.component.html","../../../../projects/kit/components/tag/tag.module.ts","../../../../projects/kit/components/layer/tokens/layer-config.token.ts","../../../../projects/kit/components/layer/tokens/layer-data.token.ts","../../../../projects/kit/components/layer/tokens/layer-ref.token.ts","../../../../projects/kit/components/taglist/components/taglist-layer-content/taglist-layer-content.component.ts","../../../../projects/kit/components/taglist/components/taglist-layer-content/taglist-layer-content.component.html","../../../../projects/kit/components/taglist/services/taglist.service.ts","../../../../projects/kit/components/layer/classes/layer-injector.ts","../../../../projects/kit/components/layer/classes/layer-ref.ts","../../../../projects/kit/components/layer/layer-animation.ts","../../../../projects/kit/components/layer/layer.component.ts","../../../../projects/kit/components/layer/layer.component.html","../../../../projects/kit/components/layer/layer.service.ts","../../../../projects/kit/components/taglist/taglist.component.ts","../../../../projects/kit/components/taglist/taglist.component.html","../../../../projects/kit/components/taglist/taglist.module.ts","../../../../projects/kit/components/text-input/text-input.component.ts","../../../../projects/kit/components/text-input/text-input.module.ts","../../../../projects/kit/components/autocomplete/autocomplete.component.ts","../../../../projects/kit/components/autocomplete/autocomplete.component.html","../../../../projects/kit/components/autocomplete/autocomplete.module.ts","../../../../projects/kit/components/badge/badge.ts","../../../../projects/kit/components/badge/badge.component.ts","../../../../projects/kit/components/badge/badge.component.html","../../../../projects/kit/components/badge/badge.module.ts","../../../../projects/kit/components/link/link.component.ts","../../../../projects/kit/components/link/link.component.html","../../../../projects/kit/components/breadcrumb/breadcrumb.component.ts","../../../../projects/kit/components/breadcrumb/breadcrumb.component.html","../../../../projects/kit/components/link/link.module.ts","../../../../projects/kit/components/breadcrumb/breadcrumb.module.ts","../../../../projects/kit/components/built-it-menu/built-it-menu.component.ts","../../../../projects/kit/components/built-it-menu/built-it-menu.component.html","../../../../projects/kit/components/built-it-menu/built-it-menu.module.ts","../../../../projects/kit/common/global-events/global-events.service.ts","../../../../projects/kit/common/global-events/global-events.module.ts","../../../../projects/kit/components/checkbox/checkbox.component.ts","../../../../projects/kit/components/checkbox/checkbox.component.html","../../../../projects/kit/components/checkbox-group/checkbox-group.component.ts","../../../../projects/kit/components/checkbox-group/checkbox-group.component.html","../../../../projects/kit/components/checkbox/checkbox.module.ts","../../../../projects/kit/components/checkbox-group/checkbox-group.module.ts","../../../../projects/kit/components/select/select.component.ts","../../../../projects/kit/components/select/select.component.html","../../../../projects/kit/components/select/select.module.ts","../../../../projects/kit/components/select/select-size.ts","../../../../projects/kit/components/pagination/pagination.ts","../../../../projects/kit/components/pagination/pagination.component.ts","../../../../projects/kit/components/pagination/pagination.component.html","../../../../projects/kit/components/pagination/pagination.module.ts","../../../../projects/kit/components/toggle/toggle.component.ts","../../../../projects/kit/components/toggle/toggle.component.html","../../../../projects/kit/components/toggle/toggle.module.ts","../../../../projects/kit/components/datatable-management/components/moz-datatable-management-content/moz-datatable-management-content.component.ts","../../../../projects/kit/components/datatable-management/components/moz-datatable-management-content/moz-datatable-management-content.component.html","../../../../projects/kit/components/datatable-management/moz-datatable-management.component.ts","../../../../projects/kit/components/datatable-management/moz-datatable-management.component.html","../../../../projects/kit/components/datatable-management/moz-datatable-management.module.ts","../../../../projects/kit/components/datatable/components/selection/moz-datatable-selection.component.ts","../../../../projects/kit/components/datatable/components/selection/moz-datatable-selection.component.html","../../../../projects/kit/components/datatable/components/header/moz-datatable-header-cell.component.ts","../../../../projects/kit/components/datatable/components/header/moz-datatable-header-cell.component.html","../../../../projects/kit/components/datatable/components/content/moz-datatable-content-cell.component.ts","../../../../projects/kit/components/datatable/components/content/moz-datatable-content-cell.component.html","../../../../projects/kit/components/datatable/components/row/moz-datatable-row-expansion-content.component.ts","../../../../projects/kit/components/datatable/components/row/moz-datatable-row-expansion-content.component.html","../../../../projects/kit/components/datatable/components/footer/moz-datatable-footer.component.ts","../../../../projects/kit/components/datatable/components/footer/moz-datatable-footer.component.html","../../../../projects/kit/components/datatable/directives/moz-datatable-sort.directive.ts","../../../../projects/kit/components/datatable/moz-datatable.component.ts","../../../../projects/kit/components/datatable/moz-datatable.component.html","../../../../projects/kit/components/datatable/components/caption/moz-datatable-caption.component.ts","../../../../projects/kit/components/datatable/components/caption/moz-datatable-caption.component.html","../../../../projects/kit/components/datatable/moz-datatable.module.ts","../../../../projects/kit/components/dividers/divider.component.ts","../../../../projects/kit/components/dividers/divider.component.html","../../../../projects/kit/components/dividers/divider.module.ts","../../../../projects/kit/components/dropdown/dropdown.component.ts","../../../../projects/kit/components/dropdown/dropdown.component.html","../../../../projects/kit/components/dropdown/dropdown.module.ts","../../../../projects/kit/components/field/directives/input-icon.directive.ts","../../../../projects/kit/components/field/field-error.component.ts","../../../../projects/kit/components/field/field-error.component.html","../../../../projects/kit/components/field/field.component.ts","../../../../projects/kit/components/field/field.component.html","../../../../projects/kit/components/field/field.module.ts","../../../../projects/kit/components/file-uploader/components/uploaded-files/uploaded-files.component.ts","../../../../projects/kit/components/file-uploader/components/uploaded-files/uploaded-files.component.html","../../../../projects/kit/components/file-uploader/directives/moz-drag-n-drop.directive.ts","../../../../projects/kit/components/file-uploader/file-uploader.component.ts","../../../../projects/kit/components/file-uploader/file-uploader.component.html","../../../../projects/kit/components/file-uploader/file-uploader.module.ts","../../../../projects/kit/components/header/model/header.ts","../../../../projects/kit/components/header/header.component.ts","../../../../projects/kit/components/header/header.component.html","../../../../projects/kit/components/header/header.module.ts","../../../../projects/kit/components/heading/heading.component.ts","../../../../projects/kit/components/heading/heading.component.html","../../../../projects/kit/components/heading/heading.module.ts","../../../../projects/kit/components/kpi/model/kpi.ts","../../../../projects/kit/components/kpi/kpi.component.ts","../../../../projects/kit/components/kpi/kpi.component.html","../../../../projects/kit/components/kpi/kpi.module.ts","../../../../projects/kit/components/layer/layer.module.ts","../../../../projects/kit/components/modal/modal-animation.ts","../../../../projects/kit/components/modal/tokens/modal-config.token.ts","../../../../projects/kit/components/modal/modal.component.ts","../../../../projects/kit/components/modal/modal.component.html","../../../../projects/kit/components/modal/tokens/modal-data.token.ts","../../../../projects/kit/components/modal/tokens/modal-ref.token.ts","../../../../projects/kit/components/modal/classes/modal-injector.ts","../../../../projects/kit/components/modal/classes/modal-config.ts","../../../../projects/kit/components/modal/classes/modal-ref.ts","../../../../projects/kit/components/modal/modal.service.ts","../../../../projects/kit/components/modal/modal.module.ts","../../../../projects/kit/components/notification/notification.ts","../../../../projects/kit/components/notification/notification-animation.ts","../../../../projects/kit/components/notification/notification.component.ts","../../../../projects/kit/components/notification/notification.component.html","../../../../projects/kit/components/notification/notification-title.ts","../../../../projects/kit/components/notification/notification-message.ts","../../../../projects/kit/components/notification/notification-container.component.ts","../../../../projects/kit/components/notification/notification-container.component.html","../../../../projects/kit/components/notification/notification-footer.ts","../../../../projects/kit/components/notification/notification.service.ts","../../../../projects/kit/components/notification/notification.module.ts","../../../../projects/kit/components/option-buttons/option-button/option-button.component.ts","../../../../projects/kit/components/option-buttons/option-button/option-button.component.html","../../../../projects/kit/components/option-buttons/option-buttons.component.ts","../../../../projects/kit/components/option-buttons/option-buttons.component.html","../../../../projects/kit/components/option-buttons/option-buttons.module.ts","../../../../projects/kit/components/option-cards/option-card/option-card.component.ts","../../../../projects/kit/components/option-cards/option-card/option-card.component.html","../../../../projects/kit/components/option-cards/option-cards.component.ts","../../../../projects/kit/components/option-cards/option-cards.component.html","../../../../projects/kit/components/option-cards/option-cards.module.ts","../../../../projects/kit/components/overlay/overlay.component.ts","../../../../projects/kit/components/overlay/overlay.component.html","../../../../projects/kit/components/overlay/overlay.module.ts","../../../../projects/kit/components/password-input/password-input.component.ts","../../../../projects/kit/components/password-input/password-input.component.html","../../../../projects/kit/components/password-input/password-input.module.ts","../../../../projects/kit/components/phone-number/phone-number.component.ts","../../../../projects/kit/components/phone-number/phone-number.component.html","../../../../projects/kit/components/phone-number/phone-number.module.ts","../../../../projects/kit/components/progress-bar/progress-bar.component.ts","../../../../projects/kit/components/progress-bar/progress-bar.component.html","../../../../projects/kit/components/progress-bar/progress-bar.module.ts","../../../../projects/kit/components/quantity-selector/quantity-selector.component.ts","../../../../projects/kit/components/quantity-selector/quantity-selector.component.html","../../../../projects/kit/components/quantity-selector/quantity-selector.module.ts","../../../../projects/kit/components/radio/radio.component.ts","../../../../projects/kit/components/radio/radio.component.html","../../../../projects/kit/components/radio/radio.module.ts","../../../../projects/kit/components/rating-stars/input/stars-input.component.ts","../../../../projects/kit/components/rating-stars/input/stars-input.component.html","../../../../projects/kit/components/rating-stars/input/stars-input.module.ts","../../../../projects/kit/components/rating-stars/model/rating-stars.ts","../../../../projects/kit/components/rating-stars/result/stars-result.component.ts","../../../../projects/kit/components/rating-stars/result/stars-result.component.html","../../../../projects/kit/components/rating-stars/result/stars-result.module.ts","../../../../projects/kit/components/segmented-control/segmented-control-size.ts","../../../../projects/kit/components/segmented-control/segmented-control.component.ts","../../../../projects/kit/components/segmented-control/segmented-control.component.html","../../../../projects/kit/components/segmented-control/segmented-control-button/segmented-control-button.component.ts","../../../../projects/kit/components/segmented-control/segmented-control-button/segmented-control-button.component.html","../../../../projects/kit/components/segmented-control/segmented-control.module.ts","../../../../projects/kit/components/sidebar/components/feature/moz-sidebar-feature.component.ts","../../../../projects/kit/components/sidebar/components/feature/moz-sidebar-feature.component.html","../../../../projects/kit/components/sidebar/components/home/moz-sidebar-home.component.ts","../../../../projects/kit/components/sidebar/components/home/moz-sidebar-home.component.html","../../../../projects/kit/components/sidebar/components/user/moz-sidebar-user.component.ts","../../../../projects/kit/components/sidebar/components/user/moz-sidebar-user.component.html","../../../../projects/kit/components/sidebar/components/utility/moz-sidebar-utilty.component.ts","../../../../projects/kit/components/sidebar/components/utility/moz-sidebar-utility.component.html","../../../../projects/kit/components/sidebar/moz-sidebar.component.ts","../../../../projects/kit/components/sidebar/moz-sidebar.component.html","../../../../projects/kit/components/sidebar/moz-sidebar.module.ts","../../../../projects/kit/components/stepper-bar/stepper-bar.component.ts","../../../../projects/kit/components/stepper-bar/stepper-bar.component.html","../../../../projects/kit/components/stepper-bar/stepper-bar.module.ts","../../../../projects/kit/components/stepper/step.component.ts","../../../../projects/kit/components/stepper/step.component.html","../../../../projects/kit/components/stepper/stepper.component.ts","../../../../projects/kit/components/stepper/stepper.component.html","../../../../projects/kit/components/stepper/stepper.module.ts","../../../../projects/kit/components/tabs/tab.component.ts","../../../../projects/kit/components/tabs/tab.component.html","../../../../projects/kit/components/tabs/tab-selectors.ts","../../../../projects/kit/components/tabs/tabs.component.ts","../../../../projects/kit/components/tabs/tabs.component.html","../../../../projects/kit/components/tabs/tabs.module.ts","../../../../projects/kit/components/text-area/text-area.component.ts","../../../../projects/kit/components/text-area/text-area.module.ts","../../../../projects/kit/components/tooltip/service/tooltip.service.ts","../../../../projects/kit/components/tooltip/directive/tooltip.directive.ts","../../../../projects/kit/components/tooltip/tooltip.component.ts","../../../../projects/kit/components/tooltip/tooltip.component.html","../../../../projects/kit/components/tooltip/tooltip.module.ts","../../../../projects/kit/components/card/card.component.ts","../../../../projects/kit/components/card/card.component.html","../../../../projects/kit/components/card/card.module.ts","../../../../projects/kit/mozaic-ds-angular.ts"],"sourcesContent":["export function castBooleanProperty(value: unknown): value is boolean {\n return `${value}` !== 'false' && value != null;\n}\n","export const generateId = () => {\n const generateParts = () =>\n Math.floor((1 + Math.random()) * 0x10000)\n .toString(16)\n .substring(1);\n return generateParts() + '-' + generateParts();\n};\n","export const getRandomNumber = (min: number, max: number): number => {\n const minN = Math.ceil(min);\n const maxN = Math.floor(max);\n\n return Math.floor(Math.random() * (maxN - minN)) + minN;\n};\n","import { ElementRef } from '@angular/core';\n\nexport const overwriteStyle = (\n { nativeElement }: ElementRef,\n oldClassName: string,\n newClassName: string\n): void => {\n nativeElement.classList.remove(oldClassName);\n nativeElement.classList.add(newClassName);\n};\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { AccordionSize } from './accordion';\n\n@Component({\n selector: 'moz-accordion',\n templateUrl: './accordion.component.html',\n styleUrls: ['./accordion.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class AccordionComponent {\n @Input() isOpen = false;\n @Input() disabled = false;\n @Input() noPadding = false;\n @Input() size: AccordionSize = 'm';\n\n public get isHidden() {\n return !this.isOpen;\n }\n\n public get isSizeS() {\n return this.size === 's';\n }\n\n public changeState() {\n this.isOpen = !this.isOpen;\n }\n}\n","<div\n class=\"mc-accordion\"\n [ngClass]=\"{\n 'is-open': isOpen,\n 'mc-accordion--s': isSizeS,\n 'mc-accordion--no-padding': noPadding\n }\"\n>\n <div class=\"mc-accordion__header\">\n <ng-content select=\"[beforeLabel]\"></ng-content>\n\n <h2 class=\"mc-accordion__title\">\n <button\n id=\"accordion\"\n class=\"mc-accordion__trigger\"\n aria-controls=\"content\"\n [attr.aria-expanded]=\"isOpen\"\n [disabled]=\"disabled\"\n (click)=\"changeState()\"\n >\n <ng-content select=\"[label]\"></ng-content>\n <ng-content select=\"[afterLabel]\"></ng-content>\n </button>\n </h2>\n </div>\n <div\n id=\"content\"\n class=\"mc-accordion__content\"\n [attr.aria-hidden]=\"isHidden\"\n aria-labelledby=\"accordion\"\n >\n <ng-content select=\"[content]\"></ng-content>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AccordionComponent } from './accordion.component';\n\n@NgModule({\n declarations: [AccordionComponent],\n imports: [CommonModule, FormsModule],\n exports: [AccordionComponent],\n})\nexport class AccordionModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\n\n/**\n * > The container defines the main content width as well as the minimum negative space between the horizontal edges of the screen and the content.\n *\n * The `moz-container` component is the **Angular** implementation of the **Container** component of Mozaic Design System.<br/>\n * The full specification of this component is available in [the associated documentation](https://mozaic.adeo.cloud/foundations/layout/container/).\n */\n@Component({\n selector: 'moz-container',\n templateUrl: './container.component.html',\n styleUrls: ['./container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class.ml-container]': 'true',\n '[class.ml-container--fluid]': 'fluid',\n },\n standalone: false,\n})\nexport class ContainerComponent {\n /**\n * Allows the container to be fluid\n * @see [Documentation](https://mozaic.adeo.cloud/foundations/layout/container/#the-fluid-container)\n */\n @Input() public fluid = false;\n}\n","<ng-content></ng-content>\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'moz-bottom-bar',\n templateUrl: './bottom-bar.component.html',\n styleUrls: ['./bottom-bar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class BottomBarComponent {\n /**\n * Applies a `position: fixed` to the component and position it at the bottom of the page\n */\n @Input() fixed = false;\n}\n","<moz-container [ngClass]=\"{'mc-bottom-bar': true, 'mc-bottom-bar--fixed': fixed}\" [fluid]=\"true\">\n <ng-content></ng-content>\n</moz-container>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ContainerComponent } from './container.component';\n\n\n\n@NgModule({\n declarations: [ContainerComponent],\n imports: [\n CommonModule\n ],\n exports: [ContainerComponent]\n})\nexport class ContainerModule { }\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ContainerModule } from '../container/container.module';\nimport { BottomBarComponent } from './bottom-bar.component';\n\n@NgModule({\n declarations: [BottomBarComponent],\n exports: [BottomBarComponent],\n imports: [CommonModule, ContainerModule],\n})\nexport class BottomBarModule {}\n","export enum IconSize {\n S = '16px',\n M = '24px',\n L = '32px',\n XL = '48px',\n XXL = '64px',\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Host, Injectable } from '@angular/core';\nimport { catchError, finalize, Observable, of, shareReplay, tap, throwError } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IconService {\n private cachedIcons = new Map<string, string>();\n private cachedRequests = new Map<string, Observable<string>>();\n\n constructor(@Host() private http: HttpClient) {}\n\n public getIcon(name: string): Observable<string> {\n const cacheIcon = this.cachedIcons.get(name);\n const cachedRequest = this.cachedRequests.get(name);\n\n if (cacheIcon) {\n return of(cacheIcon);\n }\n if (cachedRequest) {\n return cachedRequest;\n }\n const url = `/assets/moz-icons/${name}.svg`;\n const request = this.http.get(url, { responseType: 'text' }).pipe(\n tap((svg) => this.cachedIcons.set(name, svg)),\n catchError(() => throwError(() => this.getNotFoundError(name))),\n finalize(() => this.cachedRequests.delete(name)),\n shareReplay({ refCount: true, bufferSize: 1 })\n );\n this.cachedRequests.set(name, request);\n return request;\n }\n\n private getNotFoundError(name: string): Error {\n return Error(\n `\n The icon (${name}) you are trying to display does not exist.\n Maybe the name is incorrect.\n => (See all available icons: http://mozaic.adeo.cloud/Foundations/Icons/catalog/)`\n );\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnChanges,\n SimpleChanges,\n ViewEncapsulation,\n} from '@angular/core';\nimport { first } from 'rxjs';\nimport { IconSize } from './icon-size';\nimport { IconService } from './icon.service';\n\n@Component({\n selector: 'moz-icon',\n templateUrl: './icon.component.html',\n styleUrls: ['./icon.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { '[class.icon]': 'true' },\n standalone: false,\n})\nexport class IconComponent implements OnChanges {\n @Input() public iconName: string = '';\n @Input() public size?: IconSize;\n\n constructor(\n private readonly iconService: IconService,\n private readonly elementRef: ElementRef,\n ) {}\n\n ngOnChanges({ iconName }: SimpleChanges) {\n if (this.needRenderIcon(iconName?.currentValue, iconName?.previousValue)) {\n this.drawIcon(iconName?.currentValue, iconName?.previousValue);\n }\n }\n\n private needRenderIcon(currentIconName?: string, previousIconName?: string): boolean {\n return !!currentIconName && currentIconName !== previousIconName;\n }\n\n private getSizeClass(name: string) {\n const [size] = name.match(/\\d\\dpx/) || [];\n const strategy = {\n [IconSize.S]: 'icons-size-s',\n [IconSize.M]: 'icons-size-m',\n [IconSize.L]: 'icons-size-l',\n [IconSize.XL]: 'icons-size-xl',\n [IconSize.XXL]: 'icons-size-xxl',\n };\n\n if (this.size) {\n return strategy[this.size || null] || strategy[IconSize.S];\n }\n\n return strategy[(size as IconSize) || null] || strategy[IconSize.S];\n }\n\n private drawIcon(iconName: string, previousIconName?: string) {\n this.iconService\n .getIcon(iconName)\n .pipe(first())\n .subscribe((svg) => {\n this.elementRef.nativeElement.innerHTML = svg;\n if (previousIconName) {\n this.elementRef.nativeElement.classList.remove(this.getSizeClass(previousIconName));\n }\n this.elementRef.nativeElement.classList.add(this.getSizeClass(iconName));\n });\n }\n}\n","","export type LoaderSize = 's' | 'm' | 'l';\n\nexport type LoaderTheme = 'primary' | 'dark' | 'light';\n\nexport const CIRCLE_VIEW_BOX_SIZES = {\n s: '0 0 24 24',\n m: '0 0 32 32',\n l: '0 0 64 64',\n};\n\nexport const CIRCLE_RADIUSES = {\n s: 6,\n m: 9,\n l: 19,\n};\n\nexport type LoaderConfig = {\n size: LoaderSize;\n text: string;\n};\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { CIRCLE_RADIUSES, CIRCLE_VIEW_BOX_SIZES, LoaderSize, LoaderTheme } from './loader';\n\n@Component({\n selector: 'moz-loader',\n templateUrl: './loader.component.html',\n styleUrls: ['./loader.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { '[class.loader]': '!isOverlay' },\n standalone: false,\n})\nexport class LoaderComponent {\n @Input() size: LoaderSize = 'm';\n\n @Input() theme: LoaderTheme = 'primary';\n\n @Input() isOverlay: boolean = false;\n\n @Input() text: string = '';\n\n @Input() hideOverlay: boolean = true;\n\n public get viewText(): boolean {\n return this.isOverlay && !!this.text;\n }\n\n public get overlayCssClasses() {\n return {\n 'mc-overlay-loader': true,\n 'is-visible': !this.hideOverlay,\n };\n }\n\n public get loaderCssClasses() {\n return {\n 'mc-loader': true,\n [`mc-loader--${this.size}`]: true,\n [`mc-loader--${this.theme}`]: this.theme !== 'primary',\n };\n }\n\n public get viewBoxSize(): string {\n return CIRCLE_VIEW_BOX_SIZES[this.size];\n }\n\n public get radius(): number {\n return CIRCLE_RADIUSES[this.size];\n }\n\n constructor(public readonly cd: ChangeDetectorRef) {}\n}\n","<ng-template #loader>\n <div [ngClass]=\"loaderCssClasses\">\n <span class=\"mc-loader__spinner\">\n <svg class=\"mc-loader__icon\" xmlns=\"http://www.w3.org/2000/svg\" [attr.viewBox]=\"viewBoxSize\">\n <circle class=\"mc-loader__path\" cx=\"50%\" cy=\"50%\" [attr.r]=\"radius\" />\n </svg>\n </span>\n\n <span class=\"mc-loader__text\" *ngIf=\"viewText\">{{ text }}</span>\n </div>\n</ng-template>\n\n<div [ngClass]=\"overlayCssClasses\" tabindex=\"-1\" role=\"dialog\" *ngIf=\"isOverlay; else loader\">\n <ng-container [ngTemplateOutlet]=\"loader\"></ng-container>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n ButtonIconPosition,\n ButtonSizes,\n ButtonThemes,\n ButtonVariations,\n ButtonWithBehavior,\n} from './button';\n\n@Component({\n selector: 'button[moz-button]',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class ButtonComponent {\n @Input() public iconPosition: ButtonIconPosition = 'left';\n\n @Input() public onlyIcon = false;\n\n @Input() public theme: ButtonThemes = 'primary';\n\n @Input() variation: ButtonVariations = 'solid';\n\n @Input() widthBehavior: ButtonWithBehavior = 'fit';\n\n @Input() size: ButtonSizes = 'm';\n\n public get iconPositionIsRight(): boolean {\n return this.iconPosition === 'right';\n }\n\n public get viewContent() {\n return !this.onlyIcon;\n }\n\n private generateThemeCssClassName(variation: ButtonVariations, theme: ButtonThemes): string {\n const themePart = theme === 'primary' ? '' : `-${theme}`;\n return `mc-button--${variation}${themePart}`;\n }\n\n @HostBinding('class')\n public get hostCssClasses() {\n const squareClass = this.onlyIcon ? 'mc-button--square' : '';\n const iconPositionIsRightClass = this.iconPositionIsRight ? 'icon-right-position' : '';\n const themeClass = this.generateThemeCssClassName(this.variation, this.theme);\n const widthBehaviorClass = `mc-button--${this.widthBehavior}`;\n const sizeClass = `mc-button--${this.size}`;\n return `mc-button ${squareClass} ${iconPositionIsRightClass} ${themeClass} ${sizeClass} ${widthBehaviorClass}`;\n }\n}\n","<ng-content select=\"moz-icon\"></ng-content>\n<div class=\"content\" *ngIf=\"viewContent\"><ng-content></ng-content></div>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { BottomBarComponent } from '../bottom-bar';\nimport { Status } from './types';\n\n@Component({\n selector: 'moz-action-bar',\n templateUrl: './action-bar.component.html',\n styleUrls: ['./action-bar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class ActionBarComponent extends BottomBarComponent {\n /** The loading status used to display a loader and to disable the buttons */\n @Input() loading: boolean = false;\n /** The status to display in the action bar */\n @Input() status: Status = null;\n /** Defines the label associated with the status */\n @Input() statusLabel: string | undefined;\n /** Button label linked to the primary action */\n @Input() labelPrimary: string | undefined;\n /** Button label linked to the secondary action */\n @Input() labelSecondary: string | undefined;\n /** Button label linked to the danger action */\n @Input() labelDanger: string | undefined;\n /** Should the actions be disabled */\n @Input() disabled: boolean = false;\n /** Emits an event when the primary button is clicked */\n @Output() primaryClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n /** Emits an event when the secondary button is clicked */\n @Output() secondaryClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n /** Emits an event when the danger button is clicked */\n @Output() dangerClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n\n public getStatusIcon(): string {\n return this.status && this.status === 'warning'\n ? 'Navigation_Notification_Warning_24px'\n : 'Navigation_Notification_Circle--Available_24px';\n }\n\n public getIconClasses(): string {\n return `mc-action-bar__icon ${this.status ? 'is-' + this.status : ''}`;\n }\n\n public isDisabled(): boolean {\n return this.disabled || this.loading;\n }\n\n public onPrimaryClick(event: MouseEvent): void {\n this.primaryClick.emit(event);\n }\n\n public onSecondaryClick(event: MouseEvent): void {\n this.secondaryClick.emit(event);\n }\n\n public onDangerClick(event: MouseEvent): void {\n this.dangerClick.emit(event);\n }\n}\n","<moz-container\n [ngClass]=\"{ 'mc-bottom-bar': true, 'mc-action-bar': true, 'mc-bottom-bar--fixed': fixed }\"\n [fluid]=\"true\"\n>\n <div *ngIf=\"status || loading\" class=\"mc-action-bar__status\">\n <moz-icon\n [iconName]=\"getStatusIcon()\"\n [ngClass]=\"getIconClasses()\"\n *ngIf=\"!loading; else loader\"\n />\n <ng-template #loader><moz-loader size=\"s\" /></ng-template>\n {{ statusLabel }}\n </div>\n <!-- Secondary button -->\n <ng-content select=\"[secondary]\"></ng-content>\n <button\n moz-button\n variation=\"bordered\"\n *ngIf=\"labelSecondary\"\n size=\"s\"\n theme=\"neutral\"\n (click)=\"onSecondaryClick($event)\"\n [disabled]=\"isDisabled()\"\n >\n {{ labelSecondary }}\n </button>\n <!-- Primary button -->\n <ng-content select=\"[primary]\"></ng-content>\n <button\n moz-button\n variation=\"solid\"\n *ngIf=\"labelPrimary\"\n size=\"s\"\n theme=\"primary\"\n (click)=\"onPrimaryClick($event)\"\n [disabled]=\"isDisabled()\"\n >\n {{ labelPrimary }}\n </button>\n <!-- Danger button -->\n <ng-content select=\"[danger]\"></ng-content>\n <button\n moz-button\n variation=\"bordered\"\n *ngIf=\"labelDanger\"\n size=\"s\"\n theme=\"danger\"\n (click)=\"onDangerClick($event)\"\n [disabled]=\"isDisabled()\"\n >\n {{ labelDanger }}\n </button>\n</moz-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ButtonComponent } from './button.component';\n\n@NgModule({\n declarations: [ButtonComponent],\n imports: [CommonModule],\n exports: [ButtonComponent],\n})\nexport class ButtonModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { IconComponent } from './icon.component';\n\n@NgModule({\n declarations: [IconComponent],\n imports: [CommonModule],\n exports: [IconComponent],\n})\nexport class IconModule {}\n","import { DOCUMENT } from '@angular/common';\nimport {\n ApplicationRef,\n ComponentFactoryResolver,\n ComponentRef,\n EmbeddedViewRef,\n Inject,\n Injectable,\n Injector,\n} from '@angular/core';\nimport { LoaderConfig } from './loader';\nimport { LoaderComponent } from './loader.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LoaderService {\n private _loaderRef: ComponentRef<LoaderComponent>;\n\n private get _loaderComponent(): LoaderComponent {\n return this._loaderRef.instance;\n }\n\n constructor(\n private readonly applicationRef: ApplicationRef,\n private readonly componentFactoryResolver: ComponentFactoryResolver,\n private readonly injector: Injector,\n @Inject(DOCUMENT) private readonly document: Document\n ) {\n this._loaderRef = this.createComponentRef();\n this._loaderComponent.isOverlay = true;\n this._loaderComponent.theme = 'light';\n this.appendLoaderToBody(this._loaderRef);\n }\n\n public startLoad(config?: Partial<LoaderConfig>) {\n const { size = 'l', text = '' } = config || {};\n this._loaderComponent.size = size;\n this._loaderComponent.text = text;\n this._loaderComponent.hideOverlay = false;\n this._loaderComponent.cd.markForCheck();\n }\n\n public stopLoad() {\n this._loaderComponent.hideOverlay = true;\n this._loaderComponent.cd.markForCheck();\n }\n\n private createComponentRef(): ComponentRef<LoaderComponent> {\n return this.componentFactoryResolver\n .resolveComponentFactory(LoaderComponent)\n .create(this.injector);\n }\n\n private appendLoaderToBody(componentRef: ComponentRef<LoaderComponent>): void {\n const componentHostView = componentRef.hostView as EmbeddedViewRef<unknown>;\n const componentHtmlElement = componentHostView.rootNodes[0] as HTMLElement;\n this.applicationRef.attachView(componentHostView);\n this.document.body.appendChild(componentHtmlElement);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { LoaderComponent } from './loader.component';\nimport { LoaderService } from './loader.service';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [LoaderComponent],\n providers: [LoaderService],\n exports: [LoaderComponent],\n})\nexport class LoaderModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { BottomBarModule } from '../bottom-bar/bottom-bar.module';\nimport { ButtonModule } from '../button';\nimport { ContainerModule } from '../container';\nimport { IconModule } from '../icon/icon.module';\nimport { LoaderModule } from '../loader/loader.module';\nimport { ActionBarComponent } from './action-bar.component';\n\n@NgModule({\n declarations: [ActionBarComponent],\n exports: [ActionBarComponent],\n imports: [CommonModule, BottomBarModule, IconModule, ContainerModule, LoaderModule, ButtonModule],\n})\nexport class ActionBarModule {}\n","export const Status = {\n warning: 'warning',\n success: 'success',\n null: null,\n} as const;\n\nexport type Status = (typeof Status)[keyof typeof Status];\n\nexport const statusesString =\n Object.values(Status)\n .filter((v) => !!v)\n .join(' | ') + '| null';\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { ListboxItem, Type } from './model/listbox-item';\nimport { ConnectedPosition } from '@angular/cdk/overlay';\n\n@Component({\n selector: 'moz-listbox',\n templateUrl: './listbox.component.html',\n styleUrls: ['./listbox.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class ListboxComponent implements OnChanges {\n @Input() listboxItems: any = [];\n @Input() isOpen = false;\n @Input() type: Type = 'options';\n @Input() public maxWidth?: string;\n @Input() public maxHeight?: string;\n @Input() public width?: string;\n @Input() public disabled?: boolean;\n @Input() public overlay: boolean = false;\n @Input() public multiple: boolean = false;\n @Input() public selectedItems: ListboxItem[] | ListboxItem | undefined;\n @Input() public useVirtualScroll?: boolean = false;\n @Input() public overlayPositions: ConnectedPosition[] = [];\n @Output() public itemsSelected = new EventEmitter<ListboxItem[] | ListboxItem>();\n @Output() public scrollEnd = new EventEmitter<boolean>();\n @Output() public isOpenChange = new EventEmitter<boolean>();\n\n @ViewChild('content', { read: ElementRef }) contentElementRef!: ElementRef;\n\n public uuid = window.crypto.getRandomValues(new Uint32Array(1))[0];\n public listboxWidth = '100%';\n\n constructor() {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['isOpen']?.currentValue) {\n const elementWidth = this.contentElementRef.nativeElement.firstChild.offsetWidth;\n this.listboxWidth = elementWidth ? elementWidth + 'px' : '100%';\n }\n }\n\n public getRole(): string | null {\n return this.type !== 'options' ? 'listbox' : null;\n }\n\n public getRoleList(): string {\n return this.type === 'options' ? 'listbox' : 'group';\n }\n\n public styleObject(): Object {\n return {\n '--listbox-maxwidth': this.maxWidth,\n '--listbox-width': this.width,\n };\n }\n\n public classObject(): Object {\n return {\n 'mc-listbox--options': this.type === 'options',\n 'mc-listbox--actions': this.type === 'actions',\n 'mc-listbox--overlay': this.overlay,\n 'mc-listbox--multi': this.multiple,\n 'is-open': this.isOpen,\n 'is-virtual-scroll': this.useVirtualScroll,\n };\n }\n\n public classObjectInput(): Object {\n return {\n 'mc-checkbox__input': this.multiple,\n };\n }\n\n public getInputType(): Object {\n return this.multiple ? 'checkbox' : 'radio';\n }\n\n public setItemId(index: number): string {\n return `listboxItem-${index + this.uuid}`;\n }\n\n public setClassObjectTile(item: ListboxItem): Object {\n return {\n 'is-disabled': item.disabled ?? this.disabled,\n };\n }\n\n public closeListbox(): void {\n this.isOpen = false;\n this.isOpenChange.emit(this.isOpen);\n }\n\n public selectedItemEvent(listboxItem: Partial<ListboxItem>): void {\n if (this.multiple) {\n if (!this.selectedItems) {\n this.selectedItems = [];\n }\n const index = (this.selectedItems as ListboxItem[]).findIndex(\n (selectedItem) => selectedItem.value === listboxItem.value,\n );\n if (index !== -1) {\n (this.selectedItems as ListboxItem[]).splice(index, 1);\n } else {\n (this.selectedItems as ListboxItem[]).push(listboxItem as ListboxItem);\n }\n } else {\n this.selectedItems = listboxItem as ListboxItem;\n }\n if (this.type === 'actions') {\n this.closeListbox();\n }\n this.itemsSelected.emit(this.selectedItems);\n }\n\n public getInputName(): string | null {\n return !this.multiple ? `listboxradio-${this.uuid}` : null;\n }\n\n public getListboxItemId(listboxItem: ListboxItem): string {\n const item = listboxItem.value.trim().replace(' ', '-');\n return `listboxItem-${item}`;\n }\n\n public isChecked(listboxItem: ListboxItem): boolean {\n let listBoxItemFounded;\n if (this.multiple) {\n listBoxItemFounded =\n this.selectedItems &&\n (this.selectedItems as ListboxItem[]).find(\n (selectedItem) => selectedItem.value === listboxItem.value,\n );\n } else {\n listBoxItemFounded =\n (this.selectedItems && (this.selectedItems as ListboxItem).value) == listboxItem.value ||\n null;\n }\n return listBoxItemFounded != null;\n }\n\n public getItems(): Array<ListboxItem[]> {\n const hasNestedArray =\n Array.isArray(this.listboxItems) && this.listboxItems.some(Array.isArray);\n\n if (!hasNestedArray) {\n return [this.listboxItems as ListboxItem[]];\n }\n\n return this.listboxItems as Array<ListboxItem[]>;\n }\n\n public trackByIndex(index: number): number {\n return index;\n }\n\n public getDynamicHeight(): string {\n const itemCount = this.listboxItems.length;\n const itemHeight = 46; // Fixed height of an element (in pixels)\n const maxVisibleItems = 5; // Maximum number of visible elements\n return `${Math.min(itemCount, maxVisibleItems) * itemHeight}px`;\n }\n}\n","<div class=\"mc-listbox__container\">\n <div #content cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\">\n <ng-content select=\"[reference]\"></ng-content>\n </div>\n <ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"isOpen\"\n [cdkConnectedOverlayWidth]=\"listboxWidth\"\n (backdropClick)=\"closeListbox()\"\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\n >\n @if (type === 'options') {\n <div\n class=\"mc-listbox\"\n [ngClass]=\"classObject()\"\n [ngStyle]=\"styleObject()\"\n [attr.role]=\"getRole()\"\n >\n @if (useVirtualScroll) {\n <!-- Virtual Scroll activé -->\n <cdk-virtual-scroll-viewport\n [itemSize]=\"50\"\n class=\"mc-listbox__scroll\"\n [style.height]=\"getDynamicHeight()\"\n >\n <ul class=\"mc-listbox__list\" [attr.role]=\"getRoleList()\">\n <li\n class=\"mc-listbox__tile\"\n [ngClass]=\"setClassObjectTile(listboxItem)\"\n *cdkVirtualFor=\"let listboxItem of listboxItems; let i = index\"\n [id]=\"getListboxItemId(listboxItem)\"\n role=\"option\"\n >\n @if (listboxItem && listboxItem.icon) {\n <moz-icon\n class=\"mc-listbox__icon\"\n [iconName]=\"listboxItem.icon\"\n [ngClass]=\"{ 'is-danger': listboxItem.danger }\"\n ></moz-icon>\n }\n @if (listboxItem.countryCode) {\n <span\n class=\"flag flag:{{ listboxItem.countryCode }}\"\n style=\"--CountryFlagIcon-height: 1rem\"\n >\n &nbsp;\n </span>\n }\n <input\n class=\"mc-listbox__input\"\n [id]=\"setItemId(i)\"\n [disabled]=\"listboxItem.disabled\"\n (change)=\"selectedItemEvent(listboxItem)\"\n [type]=\"getInputType()\"\n [name]=\"getInputName()\"\n [checked]=\"isChecked(listboxItem)\"\n [ngClass]=\"classObjectInput()\"\n [value]=\"listboxItem.value\"\n />\n <label [for]=\"setItemId(i)\" class=\"mc-listbox__label\">{{\n listboxItem.label\n }}</label>\n </li>\n </ul>\n </cdk-virtual-scroll-viewport>\n } @else {\n <!-- Virtual Scroll désactivé -->\n <ul class=\"mc-listbox__list\" [attr.role]=\"getRoleList()\">\n @for (listboxItem of listboxItems; track listboxItem.value; let i = $index) {\n <li\n class=\"mc-listbox__tile\"\n [ngClass]=\"setClassObjectTile(listboxItem)\"\n [id]=\"getListboxItemId(listboxItem)\"\n >\n @if (listboxItem && listboxItem.icon) {\n <moz-icon\n class=\"mc-listbox__icon\"\n [iconName]=\"listboxItem.icon\"\n [ngClass]=\"{ 'is-danger': listboxItem.danger }\"\n ></moz-icon>\n }\n @if (listboxItem.countryCode) {\n <span\n class=\"flag flag:{{ listboxItem.countryCode }}\"\n style=\"--CountryFlagIcon-height: 1rem\"\n >\n &nbsp;\n </span>\n }\n <!-- Contenu des items -->\n <input\n class=\"mc-listbox__input\"\n [id]=\"setItemId(i)\"\n [disabled]=\"listboxItem.disabled\"\n (change)=\"selectedItemEvent(listboxItem)\"\n [type]=\"getInputType()\"\n [name]=\"getInputName()\"\n [checked]=\"isChecked(listboxItem)\"\n [ngClass]=\"classObjectInput()\"\n [value]=\"listboxItem.value\"\n />\n <label [for]=\"setItemId(i)\" class=\"mc-listbox__label\">\n {{ listboxItem.label }}\n </label>\n </li>\n }\n </ul>\n }\n </div>\n } @else {\n <div\n #listbox\n class=\"mc-listbox-options__container\"\n [attr.role]=\"getRole()\"\n [attr.aria-label]=\"getRole()\"\n >\n @for (list of getItems(); track trackByIndex; let i = $index) {\n <ul class=\"mc-listbox-options__list\">\n @for (listboxItem of list; track trackByIndex; let j = $index) {\n <li\n class=\"mc-listbox-options__tile\"\n [ngClass]=\"{ 'is-disabled': listboxItem.disabled }\"\n >\n @if (listboxItem && listboxItem.icon) {\n <moz-icon\n class=\"mc-listbox-options__icon\"\n [iconName]=\"listboxItem.icon\"\n [ngClass]=\"{ 'is-danger': listboxItem.danger }\"\n ></moz-icon>\n }\n @if (listboxItem.countryCode) {\n <span\n class=\"flag flag:{{ listboxItem.countryCode }}\"\n style=\"--CountryFlagIcon-height: 1rem\"\n >\n &nbsp;\n </span>\n }\n <button\n type=\"button\"\n class=\"mc-listbox-options__item\"\n [disabled]=\"listboxItem.disabled\"\n [ngClass]=\"{\n 'is-danger': listboxItem.danger,\n 'is-disabled': listboxItem.disabled,\n }\"\n (click)=\"selectedItemEvent(listboxItem)\"\n >\n {{ listboxItem.label }}\n </button>\n </li>\n }\n </ul>\n }\n </div>\n }\n </ng-template>\n</div>\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { IconModule } from '../icon';\nimport { ListboxComponent } from './listbox.component';\n\n@NgModule({\n declarations: [ListboxComponent],\n imports: [OverlayModule, IconModule, CommonModule],\n exports: [ListboxComponent],\n})\nexport class ListboxModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { TagType } from './tag-type';\n\n@Component({\n selector: 'moz-tag, a[moz-tag]',\n templateUrl: './tag.component.html',\n styleUrls: ['./tag.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class TagComponent {\n @Input() type: TagType;\n\n @Input() size: 's' | 'm' = 's';\n\n @Input() select: boolean = false;\n\n @Output() selectChange = new EventEmitter<boolean>();\n\n @Output() clickOnRemove = new EventEmitter<void>();\n\n constructor(private elementRef: ElementRef<HTMLElement>) {\n this.type = this.getDefaultType();\n }\n\n @HostBinding('class')\n public get hostCssClasses() {\n return `${this.tagCssClass} ${this.sizeCssClass}`;\n }\n\n public get labelCssClass(): string {\n return `${this.tagCssClass}__label`;\n }\n\n private get tagName(): string {\n return this.elementRef?.nativeElement.tagName.toLowerCase();\n }\n\n private get hostIsLink(): boolean {\n return this.tagName === 'a';\n }\n\n private get tagCssClass() {\n return `mc-tag-${this.type}`;\n }\n\n private get sizeCssClass() {\n return `${this.tagCssClass}--${this.size}`;\n }\n\n private getDefaultType(): TagType {\n return this.hostIsLink ? 'link' : 'text';\n }\n\n public emitRemove() {\n this.clickOnRemove.emit();\n }\n\n public emitSelectChanges($event: boolean) {\n this.selectChange.emit($event);\n }\n}\n","<ng-template #labelTemplate>\n <span [ngClass]=\"labelCssClass\">\n <ng-content></ng-content>\n </span>\n</ng-template>\n\n<ng-container [ngSwitch]=\"type\">\n <ng-container *ngSwitchCase=\"'selectable'\">\n <input\n class=\"mc-tag-selectable__input\"\n type=\"checkbox\"\n id=\"selectable\"\n [ngModel]=\"select\"\n (ngModelChange)=\"emitSelectChanges($event)\"\n />\n <label class=\"mc-tag-selectable__pill\" for=\"selectable\">\n <ng-container [ngTemplateOutlet]=\"labelTemplate\"></ng-container>\n </label>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'removable'\">\n <ng-container [ngTemplateOutlet]=\"labelTemplate\"></ng-container>\n <button class=\"mc-tag-removable__remove\" (click)=\"emitRemove()\"></button>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <ng-container [ngTemplateOutlet]=\"labelTemplate\"></ng-container>\n </ng-container>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { TagComponent } from './tag.component';\n\n@NgModule({\n imports: [CommonModule, FormsModule],\n declarations: [TagComponent],\n exports: [TagComponent],\n})\nexport class TagModule {}\n","import { InjectionToken } from '@angular/core';\n\nexport const LAYER_CONFIG = new InjectionToken('LAYER_CONFIG_TOKEN');\n","import { InjectionToken } from '@angular/core';\n\nexport const LAYER_DATA = new InjectionToken('LAYER_DATA_TOKEN');\n","import { InjectionToken } from '@angular/core';\n\nexport const LAYER_REF = new InjectionToken('LAYER_DATA_TOKEN');\n","import { ChangeDetectionStrategy, Component, Inject, ViewEncapsulation } from '@angular/core';\nimport { TagItem, TagType } from '../../../tag/tag-type';\nimport { LAYER_DATA, LAYER_REF } from '../../../layer/tokens';\nimport { LayerRef } from '../../../layer/interfaces/layer-ref';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'moz-taglist-layer-content',\n templateUrl: './taglist-layer-content.component.html',\n styleUrls: ['./taglist-layer-content.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { '[class.mc-taglist__manage]': 'true' },\n standalone: false,\n})\nexport class TaglistLayerContentComponent {\n public tagType: TagType = 'removable';\n public tagItems: TagItem[] = [];\n public tagSize: 's' | 'm' = 's';\n private _removedTagFromLayer$;\n private taglistService;\n private destroyed = new Subject();\n\n constructor(\n @Inject(LAYER_DATA) public readonly data: any,\n @Inject(LAYER_REF) public readonly layerRef: LayerRef,\n ) {\n this.taglistService = data.taglistService;\n this.tagSize = data.size;\n this.tagType = data.type;\n this._removedTagFromLayer$ = data._removedTagFromLayer$;\n this.taglistService.tagItems$.subscribe((tagItems: TagItem[]) => {\n this.tagItems = tagItems;\n });\n }\n\n public removeTagEvent(tagItem: TagItem): void {\n this._removedTagFromLayer$.next(tagItem);\n this.taglistService.setTagItems(this.tagItems.filter((tag) => tag.id !== tagItem.id));\n }\n}\n","<div class=\"mc-taglist__body\">\n <div class=\"mc-taglist\">\n <moz-tag\n [type]=\"tagType\"\n *ngFor=\"let tagItem of tagItems\"\n [size]=\"tagSize\"\n (clickOnRemove)=\"removeTagEvent(tagItem)\"\n >\n {{ tagItem.label }}\n </moz-tag>\n </div>\n</div>\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { TagItem } from '../../tag/tag-type';\n\n@Injectable()\nexport class TaglistService {\n public _tagItems$ = new BehaviorSubject<TagItem[]>([]);\n public tagItems$ = this._tagItems$.asObservable();\n\n setTagItems(tagItems: TagItem[]): void {\n this._tagItems$.next(tagItems);\n }\n\n getTagItems(): TagItem[] {\n return this._tagItems$.getValue();\n }\n}\n","import { Injector } from '@angular/core';\nimport { LayerDIParams } from '../interfaces/layer-di-params';\nimport { LayerRef } from '../interfaces/layer-ref';\nimport { LAYER_CONFIG, LAYER_DATA, LAYER_REF } from '../tokens';\n\nexport class LayerInjector implements Injector {\n private readonly parentInjector: Injector;\n private readonly layerRef: LayerRef;\n private additionalTokens!: WeakMap<object, unknown>;\n\n constructor({ injector, layerRef }: LayerDIParams) {\n this.parentInjector = injector;\n this.layerRef = layerRef;\n\n this.initAdditionalTokens();\n }\n\n public get(token: unknown, notFoundValue?: unknown, flags?: unknown): any;\n public get(token: any, notFoundValue?: any): any {\n const value = this.additionalTokens.get(token);\n\n if (value) {\n return value;\n }\n\n return this.parentInjector.get<any>(token, notFoundValue);\n }\n\n private initAdditionalTokens(): void {\n this.additionalTokens = new WeakMap();\n this.additionalTokens.set(LAYER_REF, this.layerRef);\n this.additionalTokens.set(LAYER_CONFIG, this.layerRef.config);\n this.additionalTokens.set(LAYER_DATA, this.layerRef.config.data);\n }\n}\n","import { ComponentRef } from '@angular/core';\nimport { BehaviorSubject, first, Observable, Subject } from 'rxjs';\nimport { LayerConfig } from '../interfaces';\nimport { LayerRef } from '../interfaces/layer-ref';\nimport { LayerComponent } from '../layer.component';\n\nexport class LayerRefModel<R = unknown> implements LayerRef<R> {\n private readonly _config$ = new BehaviorSubject<LayerConfig>({});\n\n private _componentRef!: ComponentRef<LayerComponent>;\n\n private _afterClosed$ = new Subject<R | undefined>();\n\n public get afterClosed$(): Observable<R | undefined> {\n return this._afterClosed$.pipe(first());\n }\n\n public get config$() {\n return this._config$.asObservable();\n }\n\n public get config() {\n return this._config$.getValue();\n }\n\n public get componentRef(): ComponentRef<LayerComponent> {\n return this._componentRef;\n }\n\n constructor(public layerConfig: LayerConfig) {\n this.init(layerConfig);\n }\n\n public init(config: LayerConfig): void {\n this.updateConfig(config);\n }\n\n public updateConfig(config: LayerConfig): void {\n this._config$.next({ ...this.config, ...config });\n }\n\n close(result?: R): void {\n this._afterClosed$.next(result);\n }\n\n setComponentRef(componentRef: ComponentRef<LayerComponent>): void {\n this._componentRef = componentRef;\n }\n\n destroy(): void {\n this._config$.complete();\n this._afterClosed$.complete();\n }\n}\n","import { animate, group, query, style, transition, trigger } from '@angular/animations';\n\nexport const layerAnimation = trigger('layerAnimation', [\n transition(\n ':enter',\n group([\n query('.mc-layer', [\n style({ transform: 'translateX(250px)' }),\n animate(200, style({ transform: 'translateX(0)' })),\n ]),\n ])\n ),\n transition(\n ':leave',\n group([\n query('.mc-layer', [\n style({ transform: 'translateX(0)' }),\n animate(200, style({ transform: 'translateX(250px)' })),\n ]),\n ])\n ),\n]);\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentRef,\n Inject,\n Type,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { LayerConfig } from './interfaces';\nimport { LayerRef } from './interfaces/layer-ref';\nimport { layerAnimation } from './layer-animation';\nimport { LAYER_CONFIG, LAYER_REF } from './tokens';\n\n@Component({\n selector: 'moz-layer',\n templateUrl: './layer.component.html',\n styleUrls: ['./layer.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n animations: [layerAnimation],\n host: { '[@layerAnimation]': 'true' },\n standalone: false,\n})\nexport class LayerComponent implements AfterViewInit {\n @ViewChild('content', { read: ViewContainerRef, static: true })\n private readonly contentViewRef!: ViewContainerRef;\n public childComponentRef?: ComponentRef<any>;\n public childComponentType!: Type<any>;\n\n public get extended(): boolean {\n return this.config.extended!;\n }\n\n public get position(): string {\n return this.config.position || 'right';\n }\n\n public get title(): string {\n return this.config.title || 'Layer title';\n }\n\n public get closeOnOverlay(): boolean {\n return this.config.closeOnOverlay!;\n }\n\n public get icon(): string {\n return this.config.icon!;\n }\n\n constructor(\n @Inject(LAYER_REF) private readonly layerRef: LayerRef,\n @Inject(LAYER_CONFIG) private readonly config: LayerConfig,\n private readonly cd: ChangeDetectorRef,\n ) {}\n\n closeOnOutsideCLick(): void {\n if (this.closeOnOverlay) {\n this.close();\n }\n }\n\n ngAfterViewInit(): void {\n this.initChildComponent(this.childComponentType);\n }\n\n private initChildComponent(componentType: Type<any>): void {\n this.childComponentRef = this.contentViewRef.createComponent(componentType);\n this.cd.detectChanges();\n }\n\n public close() {\n this.layerRef.close();\n }\n}\n","<div\n class=\"mc-layer\"\n [ngClass]=\"[position === 'left' ? 'mc-layer--ltr' : '']\"\n role=\"dialog\"\n aria-labelledby=\"layerTitle\"\n aria-modal=\"true\"\n aria-hidden=\"true\"\n tabindex=\"-1\"\n>\n <div\n class=\"mc-layer__dialog is-open\"\n role=\"document\"\n [ngClass]=\"[extended ? 'mc-layer__dialog--extend' : '']\"\n >\n <div class=\"mc-layer__header\">\n <span class=\"mc-layer__icon\" *ngIf=\"icon\">\n <moz-icon iconName=\"{{ icon }}\"></moz-icon>\n </span>\n <h2 class=\"mc-layer__title\" id=\"layerTitle\">{{ title }}</h2>\n <button class=\"mc-layer__close\" type=\"button\" (click)=\"close()\">\n <span class=\"mc-layer__close-text\">Close</span>\n </button>\n </div>\n <div class=\"mc-layer__body mc-layer__body--overflowing\">\n <ng-template class=\"mc-layer__content\" #content></ng-template>\n </div>\n </div>\n</div>\n<div\n class=\"mc-layer-overlay is-visible\"\n (click)=\"closeOnOutsideCLick()\"\n tabindex=\"-1\"\n role=\"dialog\"\n></div>\n","import { DOCUMENT } from '@angular/common';\nimport {\n ApplicationRef,\n ComponentFactoryResolver,\n ComponentRef,\n EmbeddedViewRef,\n Inject,\n Injectable,\n Injector,\n Type,\n} from '@angular/core';\nimport { LayerInjector } from './classes/layer-injector';\nimport { LayerRefModel } from './classes/layer-ref';\nimport { LayerConfig } from './interfaces';\nimport { LayerRef } from './interfaces/layer-ref';\nimport { LayerComponent } from './layer.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LayerService {\n constructor(\n private readonly componentFactoryResolver: ComponentFactoryResolver,\n private readonly injector: Injector,\n private readonly applicationRef: ApplicationRef,\n @Inject(DOCUMENT) private readonly document: Document\n ) {}\n\n public open<T, K>(component: Type<T>, config: LayerConfig<K> = {}) {\n const layerRef = this.createLayer(config);\n this.applyChildComponent({ component, layerRef });\n return layerRef;\n }\n\n private createLayer<T>(config: LayerConfig<T>) {\n const layerRef = new LayerRefModel(config);\n const layerInjector = new LayerInjector({ injector: this.injector, layerRef });\n const componentRef = this.createComponentRef(layerInjector);\n layerRef.setComponentRef(componentRef);\n this.appendLayerComponentToBody(componentRef);\n this.initModalRefAfterClosedObserver(layerRef, componentRef);\n return layerRef;\n }\n\n private initModalRefAfterClosedObserver(\n layerRef: LayerRef,\n componentRef: ComponentRef<LayerComponent>\n ): void {\n layerRef.afterClosed$.subscribe(() => componentRef.destroy());\n }\n\n private createComponentRef(injector: LayerInjector): ComponentRef<LayerComponent> {\n return this.componentFactoryResolver.resolveComponentFactory(LayerComponent).create(injector);\n }\n\n private appendLayerComponentToBody(componentRef: ComponentRef<LayerComponent>): void {\n const componentHostView = componentRef.hostView as EmbeddedViewRef<unknown>;\n const componentHtmlElement = componentHostView.rootNodes[0] as HTMLElement;\n this.applicationRef.attachView(componentHostView);\n this.document.body.appendChild(componentHtmlElement);\n }\n\n private applyChildComponent<T>({\n layerRef,\n component,\n }: {\n layerRef: LayerRefModel;\n component: Type<T>;\n }): void {\n const { instance } = layerRef.componentRef;\n instance.childComponentType = component;\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n ViewEncapsulation,\n} from '@angular/core';\nimport { TagItem, TagType } from '../tag/tag-type';\nimport { LayerService } from '../layer/layer.service';\nimport { TaglistLayerContentComponent } from './components/taglist-layer-content/taglist-layer-content.component';\nimport { Subject, takeUntil } from 'rxjs';\nimport { LayerRef } from '../layer/interfaces/layer-ref';\nimport { TaglistService } from './services/taglist.service';\n\n@Component({\n selector: 'moz-taglist',\n templateUrl: './taglist.component.html',\n styleUrls: ['./taglist.component.scss'],\n providers: [TaglistService],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class TaglistComponent implements OnDestroy, OnInit, OnChanges {\n @Input() tagItems: TagItem[] = [];\n @Input() tagSize: 's' | 'm' = 's';\n @Input() showAllTitle: string = 'Show all';\n @Input() showAll: boolean = false;\n @Input() layerTagsTitle?: string = 'Tags';\n @Input() layerTagsIcon?: string = 'Navigation_Display_Setting_24px';\n @Input() max: number = 5;\n @Input() tagType: TagType = 'removable';\n @Output() removeTag = new EventEmitter<TagItem>();\n\n private _removedTagFromLayer$ = new Subject<TagItem>();\n private destroyed = new Subject();\n private taglistLayerRef!: LayerRef<TaglistLayerContentComponent>;\n\n constructor(\n public taglistService: TaglistService,\n private layerService: LayerService,\n private cdRef: ChangeDetectorRef,\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['tagItems'] && changes['tagItems'].currentValue) {\n this.taglistService.setTagItems(this.tagItems);\n }\n }\n\n ngOnInit(): void {\n this.taglistService.setTagItems(this.tagItems);\n\n this.taglistService.tagItems$.pipe(takeUntil(this.destroyed)).subscribe((tagItems) => {\n this.tagItems = tagItems;\n this.cdRef.markForCheck();\n });\n }\n\n public showAllEvent(): void {\n this.taglistLayerRef = this.layerService.open(TaglistLayerContentComponent, {\n title: this.layerTagsTitle ?? 'Settings',\n icon: this.layerTagsIcon ?? 'Navigation_Display_Setting_24px',\n data: {\n tags: this.tagItems,\n type: this.tagType,\n size: this.tagSize,\n _removedTagFromLayer$: this._removedTagFromLayer$,\n taglistService: this.taglistService,\n },\n });\n\n this._removedTagFromLayer$\n .pipe(takeUntil(this.destroyed))\n .subscribe((tagItem) => this.removeTagEvent(tagItem));\n }\n\n public removeTagEvent(tagItem: TagItem) {\n this.removeTag.emit(tagItem);\n this.taglistService.setTagItems(this.tagItems.filter((tag) => tag.id !== tagItem.id));\n }\n\n public closeTaglistLayer(): void {\n if (this.taglistLayerRef) {\n this.taglistLayerRef.close();\n }\n }\n\n ngOnDestroy(): void {\n this.destroyed.next(null);\n this.destroyed.complete();\n }\n}\n","<div class=\"mc-taglist\">\n <ng-container *ngFor=\"let tagItem of taglistService.getTagItems(); let i = index\">\n <moz-tag\n class=\"tag-selected\"\n *ngIf=\"i < max || showAll\"\n type=\"removable\"\n [size]=\"tagSize\"\n [type]=\"tagType\"\n (clickOnRemove)=\"removeTagEvent(tagItem)\"\n >\n {{ tagItem.label }}\n </moz-tag>\n </ng-container>\n <ng-container *ngIf=\"!showAll && tagItems.length > max\">\n <a\n moz-tag\n [size]=\"tagSize\"\n class=\"tag-selected mc-taglist__showhide\"\n (click)=\"showAllEvent()\"\n >{{ showAllTitle }}</a\n >\n </ng-container>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TaglistComponent } from './taglist.component';\nimport { TagModule } from '../tag/tag.module';\nimport { TaglistLayerContentComponent } from './components/taglist-layer-content/taglist-layer-content.component';\nimport { ButtonModule } from '../button/button.module';\n\n@NgModule({\n declarations: [TaglistComponent, TaglistLayerContentComponent],\n imports: [CommonModule, TagModule, ButtonModule],\n exports: [TaglistComponent, TaglistLayerContentComponent],\n})\nexport class TaglistModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { castBooleanProperty } from '../../common/utils';\nimport { TextInputSize } from './text-input';\n\n@Component({\n selector: 'input[moz-input]',\n template: '',\n styleUrls: ['./text-input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class TextInputComponent {\n @Input() public size: TextInputSize = 'm';\n\n private _invalid = false;\n\n private _valid = false;\n\n constructor(private readonly elementRef: ElementRef<HTMLInputElement>) {}\n\n @HostBinding('class')\n public get hostCssClasses() {\n const validClass = this.valid ? 'is-valid' : '';\n const invalidClass = this.invalid ? 'is-invalid' : '';\n const sizeCssClass = this.isRadioButton || this.isCheckbox ? '' : `mc-text-input--${this.size}`;\n return `${this.inputClass} ${sizeCssClass} ${validClass} ${invalidClass}`;\n }\n\n @HostListener('input', ['$event'])\n onInput(event: Event) {\n const value = (event.target as HTMLInputElement).value;\n const maxlength = this.elementRef.nativeElement.getAttribute('maxlength');\n const inputType = this.elementRef.nativeElement.getAttribute('type');\n if (maxlength && inputType && inputType === 'number') {\n (event.target as HTMLInputElement).value = value.slice(0, +maxlength);\n }\n }\n\n public get invalid(): boolean {\n return this._invalid || false;\n }\n\n public get valid(): boolean {\n const valid = this._valid || false;\n return !this.invalid && valid;\n }\n\n private get typeElement() {\n return this.elementRef.nativeElement.type || 'text';\n }\n\n private get isRadioButton() {\n return this.typeElement === 'radio';\n }\n\n private get isCheckbox() {\n return this.typeElement === 'checkbox';\n }\n\n private get inputClass() {\n if (this.isCheckbox) {\n return 'mc-checkbox__input';\n }\n if (this.isRadioButton) {\n return 'mc-radio__input';\n }\n return 'mc-text-input';\n }\n\n @Input() public set invalid(val: boolean) {\n this._invalid = castBooleanProperty(val);\n }\n\n @Input() public set valid(val: boolean) {\n this._valid = castBooleanProperty(val);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { IconModule } from '../icon/icon.module';\nimport { TextInputComponent } from './text-input.component';\n\n@NgModule({\n declarations: [TextInputComponent],\n imports: [CommonModule, FormsModule, IconModule],\n exports: [TextInputComponent],\n})\nexport class TextInputModule {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n ViewChild,\n forwardRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ListboxItem } from '../listbox/model/listbox-item';\nimport { TextInputSize } from '../text-input/text-input';\nimport { ListboxComponent } from '../listbox/listbox.component';\n\n@Component({\n selector: 'moz-autocomplete',\n templateUrl: './autocomplete.component.html',\n styleUrls: ['./autocomplete.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AutocompleteComponent),\n multi: true,\n },\n ],\n standalone: false,\n})\nexport class AutocompleteComponent implements ControlValueAccessor, OnChanges {\n @ViewChild(ListboxComponent) listboxComponent!: ListboxComponent;\n\n @Input() public listboxItems: ListboxItem[] = [];\n @Input() public multiple: boolean = false;\n @Input() public placeholder: string = 'Placeholder';\n @Input() public disabled: boolean = false;\n @Input() public loading: boolean = false;\n @Input() public clearfield: boolean = false;\n @Input() public valid: boolean = false;\n @Input() public invalid: boolean = false;\n @Input() public size: TextInputSize = 's';\n @Input() public showSelectedTag: boolean = false;\n @Input() public layerTagsTitle: string = 'Autocomplete tags';\n @Input() public layerTagsIcon: string = 'Navigation_Display_Setting_24px';\n @Input() public errorContentText: string = 'No results found';\n @Input() public withSearchFilter: boolean = true;\n @Input() public openState: boolean = false;\n @Input() public labelClearButton: string = 'Clear';\n @Input() public useVirtualScroll: boolean = false;\n @Input() public maxSelectable: number = Infinity;\n\n @Output() public searchUpdated = new EventEmitter<string>();\n @Output() public inputClicked = new EventEmitter<boolean>();\n @Output() public scrollEnd = new EventEmitter<boolean>();\n @Output() public isOpen = new EventEmitter<boolean>();\n\n public selectedItems: ListboxItem[] | ListboxItem | undefined;\n public originalListboxParent?: HTMLElement | null;\n public initialListboxItems: ListboxItem[] = [];\n public noResults: boolean = false;\n public originallyDisabledItems: Set<string> = new Set();\n\n _searchValue: string = '';\n\n constructor(private readonly cd: ChangeDetectorRef) {}\n\n get searchValue(): string {\n return this._searchValue;\n }\n\n @Input() set searchValue(value: string) {\n this._searchValue = value;\n this.cd.detectChanges();\n this.cd.markForCheck();\n }\n\n ngOnChanges(): void {\n this.initialListboxItems = this.listboxItems.map((x) => ({ ...x }));\n this.originallyDisabledItems = new Set(\n this.listboxItems.filter((item) => item.disabled).map((item) => item.value),\n );\n }\n\n onChange: any = () => {};\n onTouch: any = () => {};\n\n writeValue(value: ListboxItem[] | ListboxItem | undefined): void {\n if (!this.multiple && value) {\n this.searchValue = (value as ListboxItem).label || '';\n }\n this.noResults = false;\n this.selectedItems = value;\n this.onChange(value);\n this.onTouch();\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n public openChangeEvent($event: boolean): void {\n this.isOpen.emit($event);\n }\n\n public openListbox(): void {\n this.openState = true;\n this.inputClicked.emit(true);\n }\n\n public closeListbox(): void {\n this.openState = false;\n this.listboxItems = this.initialListboxItems;\n }\n\n public itemsSelectedListboxEvent(listboxItemSelected: ListboxItem[] | ListboxItem): void {\n if (!this.multiple) {\n this.searchValue = (listboxItemSelected as ListboxItem).label;\n this.closeListbox();\n } else {\n const selectedItems = listboxItemSelected as ListboxItem[];\n\n if (selectedItems.length > this.maxSelectable) {\n return;\n }\n\n this.selectedItems = selectedItems;\n\n this.updateItemsDisabledState(selectedItems);\n }\n\n this.invalid = false;\n this.writeValue(listboxItemSelected);\n }\n\n public isItemDisabled(item: ListboxItem): boolean {\n if (!this.multiple) {\n return false;\n }\n\n const selectedItems = this.getSelectedListboxItems();\n return selectedItems.length >= this.maxSelectable && !selectedItems.includes(item);\n }\n\n public clearFieldEvent(): void {\n if (!this.disabled) {\n this.selectedItems = undefined;\n this.openState = false;\n if (!this.multiple) {\n this.searchValue = '';\n }\n this.writeValue(this.selectedItems);\n }\n }\n\n public getMultiSelectedLabel(): string {\n if (this.multiple) {\n return (this.selectedItems as ListboxItem[])\n .map((selectedItem) => selectedItem.label)\n .join(', ');\n }\n return '';\n }\n\n public getSelectedListboxItems(): ListboxItem[] {\n if (this.multiple && this.selectedItems) {\n return this.selectedItems as ListboxItem[];\n }\n return [];\n }\n\n public getSelectedListboxItem(): ListboxItem | undefined {\n if (!this.multiple && this.selectedItems) {\n return this.selectedItems as ListboxItem;\n }\n return undefined;\n }\n\n public canClearField(): boolean {\n if (this.multiple) {\n return !this.disabled && this.clearfield && this.getSelectedListboxItems().length > 0;\n } else {\n return !this.disabled && this.clearfield && this.getSelectedListboxItem() != null;\n }\n }\n\n public searchEvent(): void {\n if (this.withSearchFilter) {\n this.noResults = false;\n this.invalid = false;\n if (this.searchValue.length > 0) {\n this.listboxItems = [\n ...this.initialListboxItems.filter((listboxItem) =>\n listboxItem.label.toLocaleLowerCase().includes(this.searchValue.toLocaleLowerCase()),\n ),\n ];\n if (this.listboxItems.length === 0) {\n this.openState = false;\n this.noResults = true;\n this.invalid = true;\n } else {\n this.openState = true;\n }\n } else {\n this.listboxItems = this.initialListboxItems;\n this.openState = true;\n }\n }\n this.updateItemsDisabledState(this.getSelectedListboxItems());\n this.searchUpdated.emit(this.searchValue);\n this.cd.detectChanges();\n }\n\n public focusinEvent(): void {\n this.openListbox();\n }\n\n public focusoutEvent($event: any): void {\n if ($event.relatedTarget && !$event.relatedTarget.classList.contains('mc-listbox__list')) {\n this.closeListbox();\n }\n }\n\n public scrollEndEvent($event: boolean): void {\n this.scrollEnd.emit($event);\n }\n\n private updateItemsDisabledState(selectedItems: ListboxItem[]): void {\n const isLimitReached = selectedItems.length >= this.maxSelectable;\n\n this.listboxItems.forEach((item) => {\n const isSelected = selectedItems.some((selectedItem) => selectedItem.value === item.value);\n\n item.disabled =\n this.originallyDisabledItems.has(item.value) || (isLimitReached && !isSelected);\n });\n\n this.cd.detectChanges();\n }\n}\n","<div\n id=\"js-autocomplete\"\n class=\"mc-autocomplete mc-autocomplete--clearable\"\n [ngClass]=\"{ 'mc-autocomplete--multi': multiple }\"\n [ngStyle]=\"{\n '--autocomplete-tag-width':\n showSelectedTag && multiple && getSelectedListboxItems().length > 0 ? '3.5rem' : '',\n '--autocomplete-width': '100%',\n }\"\n>\n <moz-listbox\n #listbox\n [listboxItems]=\"listboxItems\"\n [(isOpen)]=\"openState\"\n [multiple]=\"multiple\"\n [selectedItems]=\"selectedItems\"\n (itemsSelected)=\"itemsSelectedListboxEvent($event)\"\n (scrollEnd)=\"scrollEndEvent($event)\"\n (isOpenChange)=\"openChangeEvent($event)\"\n [useVirtualScroll]=\"useVirtualScroll\"\n >\n <div class=\"mc-autocomplete__main\" reference>\n @if (showSelectedTag && multiple && getSelectedListboxItems().length > 0) {\n <moz-tag\n [type]=\"disabled ? 'text' : 'removable'\"\n class=\"mc-autocomplete__tag\"\n [ngClass]=\"{ 'mc-tag-removable mc-tag-removable--s': !disabled }\"\n [size]=\"'s'\"\n (clickOnRemove)=\"clearFieldEvent()\"\n >\n {{ getSelectedListboxItems().length }}</moz-tag\n >\n }\n\n <div class=\"mc-left-icon-input\">\n <moz-icon\n class=\"mc-left-icon-input__icon\"\n [iconName]=\"'Navigation_Display_Search_24px'\"\n ></moz-icon>\n <input\n moz-input\n [type]=\"'text'\"\n [invalid]=\"invalid\"\n class=\"mc-left-icon-input__input mc-text-input mc-autocomplete__trigger\"\n [valid]=\"valid\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [size]=\"size\"\n [(ngModel)]=\"searchValue\"\n (ngModelChange)=\"searchEvent()\"\n (focusin)=\"focusinEvent()\"\n (focusout)=\"focusoutEvent($event)\"\n (click)=\"openListbox()\"\n />\n </div>\n\n <div class=\"mc-autocomplete__tools\">\n @if (loading) {\n <div class=\"mc-autocomplete__loader mc-loader mc-loader--s\">\n <span class=\"mc-loader__spinner\">\n <moz-loader class=\"mc-loader__icon\" size=\"s\"></moz-loader>\n </span>\n </div>\n }\n @if (canClearField()) {\n <button class=\"mc-autocomplete__clear\" type=\"button\" (click)=\"clearFieldEvent()\">\n <moz-icon\n class=\"mc-autocomplete__clear-icon\"\n [iconName]=\"'Navigation_Control_Tag--Cross_24px'\"\n ></moz-icon\n ><span class=\"mc-autocomplete__clear-text\">{{ labelClearButton }}</span>\n </button>\n }\n </div>\n </div>\n </moz-listbox>\n</div>\n@if (invalid) {\n <div class=\"mc-autocomplete__error\">\n {{ errorContentText }}\n </div>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { IconModule } from '../icon/icon.module';\nimport { ListboxModule } from '../listbox/listbox.module';\nimport { LoaderModule } from '../loader/loader.module';\nimport { TagModule } from '../tag/tag.module';\nimport { TaglistModule } from '../taglist/taglist.module';\nimport { TextInputModule } from '../text-input/text-input.module';\nimport { AutocompleteComponent } from './autocomplete.component';\n\n@NgModule({\n declarations: [AutocompleteComponent],\n imports: [\n CommonModule,\n TagModule,\n FormsModule,\n TaglistModule,\n ListboxModule,\n IconModule,\n LoaderModule,\n TextInputModule,\n ],\n exports: [AutocompleteComponent],\n})\nexport class AutocompleteModule {}\n","export type BadgeType = 'information' | 'success' | 'warning' | 'danger' | 'neutral';\nexport type BadgeTypeCssClass = `mc-badge--${BadgeType}`;\nexport const BADGE_TYPE = ['information', 'success', 'warning', 'danger', 'neutral'];\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { BadgeType, BADGE_TYPE } from './badge';\n\n@Component({\n selector: '[moz-badge]',\n templateUrl: './badge.component.html',\n styleUrls: ['./badge.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class BadgeComponent {\n @HostBinding('class') public badgeClasses = `mc-badge mc-badge--information`;\n\n @Input() set type(type: unknown) {\n if (!this.validateType(type)) return;\n this.badgeClasses = `mc-badge mc-badge--${type}`;\n }\n\n private validateType(type: unknown): type is BadgeType {\n if (typeof type !== 'string') return false;\n return BADGE_TYPE.includes(type);\n }\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BadgeComponent } from './badge.component';\n\n@NgModule({\n declarations: [BadgeComponent],\n imports: [CommonModule],\n exports: [BadgeComponent],\n})\nexport class BadgeModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Inject,\n Input,\n Optional,\n Output,\n} from '@angular/core';\nimport { RouterLinkActive, RouterLinkWithHref } from '@angular/router';\nimport { LinkIconPosition, LinkSize, LinkTheme } from './model/link-utils';\n\n@Component({\n selector: `moz-link`,\n templateUrl: './link.component.html',\n styleUrls: ['./link.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class LinkComponent {\n @Input() public size: LinkSize = 'm';\n @Input() public theme?: LinkTheme;\n @Input() public iconPosition?: LinkIconPosition;\n @Input() public disabled?: boolean = false;\n @Input() public showIcon?: boolean = false;\n @Input() public active?: boolean = false;\n @Input() public href?: string = '';\n\n @Output() clickLinkEvent = new EventEmitter<string>();\n\n constructor(\n @Optional()\n @Inject(RouterLinkActive)\n public readonly routerLinkActive: RouterLinkActive | null,\n @Optional()\n @Inject(RouterLinkWithHref)\n public readonly routerLink: RouterLinkWithHref | null,\n ) {}\n\n public check($event: Event): void {\n if (this.disabled) {\n $event.stopPropagation();\n $event.preventDefault();\n }\n }\n}\n","<ng-container *ngIf=\"active; else notActive\">\n <span\n [ngClass]=\"[\n theme ? 'mc-link--' + theme : '',\n size ? 'mc-link--' + size : '',\n disabled ? 'is-disabled' : ''\n ]\"\n class=\"mc-link mc-breadcrumb__current\"\n >\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n </span>\n</ng-container>\n<ng-template #notActive>\n <a\n class=\"mc-link\"\n [attr.href]=\"href || null\"\n [ngClass]=\"[\n theme ? 'mc-link--' + theme : '',\n size ? 'mc-link--' + size : '',\n disabled ? 'is-disabled' : ''\n ]\"\n (click)=\"check($event)\"\n >\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n </a>\n</ng-template>\n<ng-template #contentTpl>\n <moz-icon\n *ngIf=\"showIcon && iconPosition && iconPosition === 'left'\"\n [iconName]=\"'Navigation_Arrow_Arrow--Left_24px'\"\n class=\"mc-link__icon mc-link__icon--left\"\n ></moz-icon>\n <ng-content></ng-content>\n <moz-icon\n *ngIf=\"showIcon && iconPosition !== 'left'\"\n [iconName]=\"'Navigation_Arrow_Arrow--Right_24px'\"\n class=\"mc-link__icon mc-link__icon--right\"\n ></moz-icon>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { BreadcrumbItem } from './model/breadcrumb-item';\n\n@Component({\n selector: 'moz-breadcrumb',\n templateUrl: './breadcrumb.component.html',\n styleUrls: ['./breadcrumb.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class BreadcrumbComponent {\n @Input() public items: BreadcrumbItem[] = [];\n @Input() public darkMode: boolean = false;\n @Input() public responsive: boolean = false;\n @Input() public noPadding: boolean = true;\n\n @Output() clickLinkEvent = new EventEmitter<string>();\n\n public getActiveItemIndex(): number {\n if (this.responsive) {\n return this.items.findIndex((item) => item.active) - 1;\n }\n return 1;\n }\n\n public navigate(item: BreadcrumbItem): void {\n this.clickLinkEvent.emit(item.route);\n }\n}\n","<nav\n class=\"mc-breadcrumb\"\n [ngClass]=\"[\n darkMode ? 'mc-breadcrumb--dark' : '',\n responsive ? 'mc-breadcrumb--responsive' : '',\n noPadding ? 'mc-breadcrumb--no-padding' : ''\n ]\"\n aria-label=\"Breadcrumb\"\n>\n <ul class=\"mc-breadcrumb__container\">\n <ng-container *ngFor=\"let item of items; let i = index\">\n <li\n class=\"mc-breadcrumb__item is-active\"\n [ngClass]=\"{ 'is-active': responsive && i === getActiveItemIndex() }\"\n (clickLinkEvent)=\"navigate(item)\"\n >\n <moz-link\n *ngIf=\"!item.href; else withHref\"\n [size]=\"'s'\"\n [theme]=\"darkMode ? 'light' : ''\"\n routerLinkActive\n [routerLink]=\"item.route\"\n [active]=\"item.active\"\n >{{ item.label }}</moz-link\n >\n <ng-template #withHref>\n <moz-link\n *ngIf=\"!item.href; else withHref\"\n [size]=\"'s'\"\n [theme]=\"darkMode ? 'light' : ''\"\n [href]=\"item.href\"\n [active]=\"item.active\"\n >{{ item.label }}</moz-link\n >\n </ng-template>\n </li>\n </ng-container>\n </ul>\n</nav>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { LinkComponent } from './link.component';\nimport { IconModule } from '../icon';\n\n@NgModule({\n declarations: [LinkComponent],\n imports: [CommonModule, IconModule],\n exports: [LinkComponent],\n})\nexport class LinkModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { BreadcrumbComponent } from './breadcrumb.component';\nimport { LinkModule } from '../link';\nimport { RouterModule } from '@angular/router';\n\n@NgModule({\n declarations: [BreadcrumbComponent],\n imports: [CommonModule, LinkModule, RouterModule],\n exports: [BreadcrumbComponent],\n})\nexport class BreadcrumbModule {}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { BuiltItMenu } from './model/built-it-menu';\n\n@Component({\n selector: 'moz-built-it-menu',\n templateUrl: './built-it-menu.component.html',\n styleUrls: ['./built-it-menu.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class BuiltItMenuComponent {\n @Input() menuItems: BuiltItMenu[] = [];\n @Input() modelValue: number = 0;\n @Output() clickMenuItem = new EventEmitter<BuiltItMenu>();\n\n protected navigate(menuItem: BuiltItMenu, index: number): void {\n if (!menuItem.disabled) {\n this.modelValue = index;\n this.clickMenuItem.emit({\n label: menuItem.label,\n route: menuItem.route,\n link: menuItem.link,\n });\n }\n }\n}\n","<nav class=\"mc-menu\" aria-label=\"menu\">\n <ul class=\"mc-menu__list\">\n <li\n class=\"mc-menu__item\"\n *ngFor=\"let menuItem of menuItems; index as i\"\n (click)=\"navigate(menuItem, i)\"\n >\n <ng-container *ngIf=\"menuItem.link; else noLink\">\n <a\n class=\"mc-menu__link\"\n [ngClass]=\"{ 'is-active': i === modelValue, 'is-disabled': menuItem.disabled }\"\n [href]=\"menuItem.link\"\n target=\"_blank\"\n >\n <ng-container *ngIf=\"menuItem.icon\">\n <moz-icon\n mozInputIcon\n [iconName]=\"menuItem.icon\"\n [style.fill]=\"\n menuItem.disabled || i === modelValue ? 'white' : menuItem.iconColor || 'black'\n \"\n ></moz-icon> </ng-container\n ><span class=\"mc-menu__label\">{{ menuItem.label }}</span>\n </a>\n </ng-container>\n <ng-template #noLink>\n <button\n type=\"button\"\n [ngClass]=\"{ 'is-active': i === modelValue, 'is-disabled': menuItem.disabled }\"\n class=\"mc-menu__link\"\n >\n <ng-container *ngIf=\"menuItem.icon\">\n <moz-icon\n mozInputIcon\n [iconName]=\"menuItem.icon\"\n [style.fill]=\"\n (menuItem.disabled !== null && menuItem.disabled) || i === modelValue\n ? 'white'\n : menuItem.iconColor || 'black'\n \"\n ></moz-icon>\n </ng-container>\n <span class=\"mc-menu__label\">{{ menuItem.label }}</span>\n </button>\n </ng-template>\n </li>\n </ul>\n</nav>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { BuiltItMenuComponent } from './built-it-menu.component';\nimport { IconModule } from '../icon/icon.module';\n\n@NgModule({\n declarations: [BuiltItMenuComponent],\n imports: [CommonModule, IconModule],\n exports: [BuiltItMenuComponent],\n})\nexport class BuiltItMenuModule {}\n","import { Injectable } from '@angular/core';\nimport { fromEvent, Observable, shareReplay } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class GlobalEventsService {\n private readonly eventHandlers = new Map<string, Observable<Event>>();\n\n public get window() {\n return this._window;\n }\n\n constructor(private readonly _window: Window) {}\n\n public getWindowEvent<T extends Event>(eventName: string): Observable<T> {\n const cachedHandler = this.eventHandlers.get(eventName);\n if (cachedHandler) {\n return cachedHandler as Observable<T>;\n }\n const eventHandler = fromEvent<T>(this.window, eventName).pipe(\n shareReplay({ refCount: true, bufferSize: 1 })\n );\n this.eventHandlers.set(eventName, eventHandler);\n return eventHandler;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { GlobalEventsService } from './global-events.service';\n\n@NgModule({\n providers: [GlobalEventsService, { provide: Window, useValue: window }],\n})\nexport class GlobalEventsModule {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { generateId } from '../../common';\n\nexport const CHECKBOX_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckboxComponent),\n multi: true,\n};\n\n@Component({\n selector: 'moz-checkbox',\n templateUrl: './checkbox.component.html',\n styleUrls: ['./checkbox.component.scss'],\n providers: [CHECKBOX_CONTROL_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class.mc-checkbox]': 'true',\n },\n standalone: false,\n})\nexport class CheckboxComponent implements ControlValueAccessor {\n @Input() public disabled = false;\n\n @Input() public indeterminate = false;\n\n @Input() public invalid = false;\n\n @Input() public id?: string;\n\n private toggleEvent: EventEmitter<string> = new EventEmitter<string>();\n\n private _checked = false;\n\n constructor(\n private cd: ChangeDetectorRef,\n public elementRef: ElementRef,\n ) {\n if (!this.id) {\n this.id = generateId();\n }\n }\n\n public get checked() {\n return this._checked;\n }\n\n @Input()\n public set checked(v) {\n this._checked = v;\n this.onChange(this._checked);\n this.onTouch();\n }\n\n writeValue(value: any) {\n this.checked = !!value;\n this.toggleEvent.emit(this.id);\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n onChange: any = () => {};\n\n onTouch: any = () => {};\n\n toggle() {\n this.writeValue(!this.checked);\n }\n\n public refreshView(): void {\n this.cd.markForCheck();\n this.cd.detectChanges();\n }\n\n public getToggleEvent(): EventEmitter<string> {\n return this.toggleEvent;\n }\n}\n","<input\n [id]=\"id\"\n type=\"checkbox\"\n class=\"mc-checkbox__input\"\n [checked]=\"checked\"\n (click)=\"toggle()\"\n [ngClass]=\"{ 'is-invalid': invalid }\"\n [disabled]=\"disabled\"\n [indeterminate]=\"indeterminate\"\n/>\n<label [for]=\"id\" class=\"mc-checkbox__label\">\n <ng-content></ng-content>\n</label>\n","import {\n AfterContentInit,\n Component,\n ContentChildren,\n Input,\n QueryList,\n Renderer2,\n ViewEncapsulation,\n forwardRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CheckboxComponent } from '../checkbox/checkbox.component';\n\n@Component({\n selector: 'moz-checkbox-group',\n templateUrl: './checkbox-group.component.html',\n styleUrls: ['./checkbox-group.component.scss'],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckboxGroupComponent),\n multi: true,\n },\n ],\n standalone: false,\n})\nexport class CheckboxGroupComponent implements ControlValueAccessor, AfterContentInit {\n @Input() public legend: string = '';\n @Input() public requirementText: string = '';\n @Input() public helpId: string = '';\n @Input() public helpText: string = '';\n @Input() public inline: boolean = false;\n\n @ContentChildren(CheckboxComponent)\n public checkboxComponents?: QueryList<CheckboxComponent>;\n\n private _checkboxSelectedId: string[] = [];\n\n constructor(private renderer: Renderer2) {}\n\n get checkboxSelectedId(): string[] {\n return this._checkboxSelectedId;\n }\n\n @Input() set checkboxSelectedId(value: string[]) {\n this._checkboxSelectedId = value;\n this.writeValue(value);\n }\n\n onChange: any = () => {};\n onTouch: any = () => {};\n\n writeValue(selectedCheckboxGroup?: string[]): void {\n if (selectedCheckboxGroup) {\n this.onChange(selectedCheckboxGroup);\n this.updateOptionCardChecked(selectedCheckboxGroup);\n this.onTouch();\n this._checkboxSelectedId = selectedCheckboxGroup;\n }\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n ngAfterContentInit() {\n if (this.checkboxComponents) {\n this.checkboxComponents.forEach((checkboxComponent) => {\n const className = `mc-field__item`;\n const nativeElement = checkboxComponent.elementRef.nativeElement;\n this.renderer.addClass(nativeElement, className);\n checkboxComponent.getToggleEvent().subscribe((id) => {\n this.selectedCheckboxGroupEvent(id);\n });\n });\n }\n }\n\n updateOptionCardChecked(checkboxSelected?: string[]): void {\n this.checkboxComponents?.forEach((checkbox) => {\n checkbox.checked = checkboxSelected?.includes(checkbox.id ?? '') ?? false;\n checkbox.refreshView();\n });\n }\n\n selectedCheckboxGroupEvent(selectedCheckboxId: string): void {\n const index = this.checkboxSelectedId.findIndex((value) => value === selectedCheckboxId);\n if (index !== -1) {\n this.checkboxSelectedId = [\n ...this.checkboxSelectedId.slice(0, index),\n ...this.checkboxSelectedId.slice(index + 1),\n ];\n } else {\n this.checkboxSelectedId = [...this.checkboxSelectedId, selectedCheckboxId];\n }\n }\n}\n","<fieldset class=\"mc-field mc-field--group\">\n <legend *ngIf=\"legend\" class=\"mc-field__legend\">\n {{ legend }}\n <span\n *ngIf=\"requirementText\"\n class=\"mc-field__requirement\"\n [attr.aria-hidden]=\"!requirementText\"\n >\n {{ requirementText }}\n </span>\n </legend>\n <span *ngIf=\"helpText && helpId\" id=\"{{ helpId }}\" class=\"mc-field__help\"> {{ helpText }}</span>\n\n <div class=\"mc-field__container\" [ngClass]=\"{ 'mc-field__container--inline': inline }\">\n <ng-content select=\"moz-checkbox\"></ng-content>\n </div>\n</fieldset>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { CheckboxComponent } from './checkbox.component';\n\n@NgModule({\n declarations: [CheckboxComponent],\n imports: [CommonModule],\n exports: [CheckboxComponent],\n})\n/**\n * @deprecated remove in 0.21 version\n */\nexport class CheckboxModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { CheckboxGroupComponent } from './checkbox-group.component';\nimport { FormsModule } from '@angular/forms';\nimport { CheckboxModule } from '../checkbox/checkbox.module';\n\n@NgModule({\n declarations: [CheckboxGroupComponent],\n imports: [CommonModule, CheckboxModule, FormsModule],\n exports: [CheckboxGroupComponent],\n})\nexport class CheckboxGroupModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { SelectSize } from './select-size';\n\n@Component({\n selector: 'select[moz-`select`]',\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class SelectComponent {\n @Input() size: SelectSize = 'm';\n\n @HostBinding('class')\n public get hostCssClasses() {\n const staticClasses = 'mc-select';\n const sizeCssClass = `mc-select--${this.size}`;\n const dynamicClasses = `${sizeCssClass}`;\n return `${staticClasses} ${dynamicClasses}`;\n }\n}\n","<ng-content select=\"option\"></ng-content>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SelectComponent } from './select.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [SelectComponent],\n exports: [SelectComponent],\n})\nexport class SelectModule {}\n","export enum SELECT_SIZE {\n S = 's',\n M = 'm',\n}\n\nexport type SelectSize = 's' | 'm';\n","export type Page = { title: string; value: number };\n\nexport const PAGINATION_FIRST_PAGE = 1;\n\nexport const PAGINATION_MIN_NUMBER_OF_PAGES = 1;\n\nexport const PAGINATION_PAGE_STEP = 1;\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n forwardRef,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { debounceTime, map, Observable, shareReplay, startWith } from 'rxjs';\nimport { GlobalEventsService } from '../../common';\nimport { IconSize } from '../icon/icon-size';\nimport { SELECT_SIZE, SelectSize } from '../select/select-size';\nimport {\n Page,\n PAGINATION_FIRST_PAGE,\n PAGINATION_MIN_NUMBER_OF_PAGES,\n PAGINATION_PAGE_STEP,\n} from './pagination';\n\nexport const PAGINATION_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PaginationComponent),\n multi: true,\n};\n\n@Component({\n selector: 'moz-pagination',\n templateUrl: './pagination.component.html',\n styleUrls: ['./pagination.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [PAGINATION_CONTROL_VALUE_ACCESSOR],\n standalone: false,\n})\nexport class PaginationComponent implements ControlValueAccessor, AfterViewInit, OnChanges {\n @Input() numberOfPages = PAGINATION_MIN_NUMBER_OF_PAGES;\n @Output() pageChangeEvent = new EventEmitter<number>();\n\n @Input() disable = false;\n @Input() light = false;\n @Input() pageLabel = 'Page';\n @Input() pageOfLabel = 'of';\n\n public currentPage = PAGINATION_FIRST_PAGE;\n\n public pages: Page[] = [];\n\n public rightIconName!: Observable<string>;\n\n public leftIconName!: Observable<string>;\n\n public selectSize: Observable<SelectSize>;\n\n private readonly smallResolution = 1024;\n\n constructor(\n private readonly globalEventService: GlobalEventsService,\n private readonly cd: ChangeDetectorRef,\n ) {\n const isSmall = this.displayIsSmall().pipe(shareReplay({ refCount: true, bufferSize: 1 }));\n this.initializeIcons(isSmall);\n this.selectSize = isSmall.pipe(map((isSmall) => this.chooseSelectSize(isSmall)));\n }\n\n public get viewSelect() {\n return !this.light;\n }\n\n public get isFirstPage(): boolean {\n return this.currentPage <= PAGINATION_FIRST_PAGE;\n }\n\n public get isLastPage(): boolean {\n return this.currentPage >= this.numberOfPages;\n }\n\n public get disabledSelect() {\n return this.numberOfPages <= PAGINATION_MIN_NUMBER_OF_PAGES;\n }\n\n @Input() pageTitleMask = (page: number, numberOfPages: number) =>\n `${this.pageLabel} ${page} ${this.pageOfLabel} ${numberOfPages}`;\n\n public onChange: any = () => {};\n\n public onTouch: any = () => {};\n\n ngAfterViewInit() {\n this.reinitializeNumberOfPagesAtInvalidValue();\n if (this.viewSelect) {\n this.pages = this.initializePages(this.numberOfPages);\n }\n this.cd.detectChanges();\n }\n\n ngOnChanges({ numberOfPages, pageTitleMask }: SimpleChanges) {\n if (\n this.needRenderPages(\n this.viewSelect,\n numberOfPages?.currentValue,\n numberOfPages?.previousValue,\n pageTitleMask?.currentValue,\n pageTitleMask?.previousValue,\n )\n ) {\n this.reinitializeNumberOfPagesAtInvalidValue();\n }\n this.pages = this.initializePages(this.numberOfPages);\n }\n\n public writeValue(value: any) {\n if (!value || value === this.currentPage || value > this.numberOfPages) return;\n this.currentPage = value;\n this.cd.markForCheck();\n this.onChange(value);\n }\n\n public registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n public nextPage() {\n this.writeValue(this.currentPage + PAGINATION_PAGE_STEP);\n this.pageChangeEvent.emit(this.currentPage);\n this.cd.markForCheck();\n }\n\n public previousPage() {\n this.writeValue(this.currentPage - PAGINATION_PAGE_STEP);\n this.pageChangeEvent.emit(this.currentPage);\n this.cd.markForCheck();\n }\n\n public compareWithPages(page: number, currentPage?: number): boolean {\n return page === currentPage;\n }\n\n private initializePages(numberOfPages: number): Page[] {\n return new Array(numberOfPages).fill(null).map((_, index) => ({\n title: this.pageTitleMask(index + 1, numberOfPages),\n value: index + 1,\n }));\n }\n\n private initializeIcons(isSmall: Observable<boolean>) {\n const iconSize = isSmall.pipe(\n map((isSmall) => this.chooseIconSize(isSmall)),\n shareReplay({ refCount: true, bufferSize: 1 }),\n );\n\n this.leftIconName = iconSize.pipe(\n map((iconSize) => `Navigation_Arrow_Arrow--Left_${iconSize}`),\n );\n\n this.rightIconName = iconSize.pipe(\n map((iconSize) => `Navigation_Arrow_Arrow--Right_${iconSize}`),\n );\n }\n\n private displayIsSmall(): Observable<boolean> {\n const resizeEvent = this.globalEventService.getWindowEvent('resize').pipe(debounceTime(100));\n const displayWidth = resizeEvent.pipe(\n map((event) => (event?.target as Window)?.innerWidth),\n startWith(this.globalEventService.window.innerWidth),\n );\n return displayWidth.pipe(map((width) => width < this.smallResolution));\n }\n\n private reinitializeNumberOfPagesAtInvalidValue() {\n if (!this.numberOfPages || this.numberOfPages < PAGINATION_MIN_NUMBER_OF_PAGES) {\n this.numberOfPages = PAGINATION_MIN_NUMBER_OF_PAGES;\n }\n }\n\n private chooseIconSize(isSmall: boolean): IconSize {\n return isSmall ? IconSize.L : IconSize.M;\n }\n\n private chooseSelectSize(isSmall: boolean): SelectSize {\n return isSmall ? SELECT_SIZE.M : SELECT_SIZE.S;\n }\n\n private needRenderPages(\n viewSelect: boolean,\n numberOfPagesPrevious?: number,\n numberOfPagesCurrent?: number,\n pageTitleMaskPrevious?: unknown,\n pageTitleMaskCurrent?: unknown,\n ): boolean {\n const numberOfPageHasChanges = numberOfPagesPrevious !== numberOfPagesCurrent;\n const maskHasChanges = pageTitleMaskPrevious !== pageTitleMaskCurrent;\n return viewSelect && (numberOfPageHasChanges || maskHasChanges);\n }\n}\n","<nav class=\"mc-pagination\" role=\"navigation\" aria-label=\"pagination\">\n <button\n moz-button\n theme=\"neutral\"\n class=\"mc-pagination__button\"\n [disabled]=\"isFirstPage || disable\"\n [onlyIcon]=\"true\"\n [size]=\"(selectSize | async)!\"\n (click)=\"previousPage()\"\n *ngIf=\"leftIconName | async; let icon\"\n >\n <moz-icon [iconName]=\"icon\"></moz-icon>\n </button>\n <div *ngIf=\"viewSelect\">\n <select\n moz-select\n [ngModel]=\"currentPage\"\n (change)=\"onChange(currentPage); this.pageChangeEvent.emit(this.currentPage)\"\n (ngModelChange)=\"writeValue($event)\"\n [compareWith]=\"compareWithPages\"\n [size]=\"(selectSize | async)!\"\n [disabled]=\"disabledSelect || disable\"\n >\n <option *ngFor=\"let page of pages\" [ngValue]=\"page.value\">{{ page.title }}</option>\n </select>\n </div>\n\n <button\n moz-button\n theme=\"neutral\"\n class=\"mc-pagination__button\"\n [disabled]=\"isLastPage || disable\"\n (click)=\"nextPage()\"\n [size]=\"(selectSize | async)!\"\n [onlyIcon]=\"true\"\n *ngIf=\"rightIconName | async; let icon\"\n >\n <moz-icon [iconName]=\"icon\"></moz-icon>\n </button>\n</nav>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { GlobalEventsModule } from '../../common';\nimport { ButtonModule } from '../button';\nimport { IconModule } from '../icon/public-api';\nimport { SelectModule } from '../select/public-api';\nimport { PaginationComponent } from './pagination.component';\n\n@NgModule({\n imports: [CommonModule, FormsModule, ButtonModule, SelectModule, IconModule, GlobalEventsModule],\n declarations: [PaginationComponent],\n exports: [PaginationComponent],\n})\nexport class PaginationModule {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n forwardRef,\n HostBinding,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { generateId } from '../../common';\nimport { ToggleSize } from './toggle-size';\n\nexport const TOGGLE_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ToggleComponent),\n multi: true,\n};\n\n@Component({\n selector: 'moz-toggle',\n templateUrl: './toggle.component.html',\n styleUrls: ['./toggle.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [TOGGLE_CONTROL_VALUE_ACCESSOR],\n standalone: false,\n})\nexport class ToggleComponent implements ControlValueAccessor {\n @Input() public disabled = false;\n\n @Input() public size: ToggleSize = 'm';\n\n private _checked = false;\n\n public get checked() {\n return this._checked;\n }\n\n public toggleId: string;\n\n constructor(private readonly cdRef: ChangeDetectorRef) {\n this.toggleId = generateId();\n }\n\n @Input()\n public set checked(v) {\n this._checked = v;\n this.onChange(this._checked);\n this.onTouch();\n }\n\n public writeValue(value: any) {\n this.checked = !!value;\n this.cdRef.markForCheck();\n }\n\n public registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n public onChange: any = () => {};\n\n onTouch: any = () => {};\n\n toggle() {\n this.writeValue(!this.checked);\n }\n\n @HostBinding('class')\n public get hostCssClasses() {\n const sizeClass = `mc-toggle--${this.size}`;\n return `mc-toggle ${sizeClass}`;\n }\n}\n","<input\n [id]=\"toggleId\"\n type=\"checkbox\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n class=\"mc-toggle__input\"\n (click)=\"toggle()\"\n/>\n<label class=\"mc-toggle__label\" [for]=\"toggleId\">\n <span class=\"mc-toggle__content\">\n <ng-content></ng-content>\n </span>\n</label>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ToggleComponent } from './toggle.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [ToggleComponent],\n exports: [ToggleComponent],\n})\nexport class ToggleModule {}\n","import { ChangeDetectionStrategy, Component, Inject, ViewEncapsulation } from '@angular/core';\nimport { LAYER_DATA, LAYER_REF } from '../../../layer/tokens';\nimport { LayerRef } from '../../../layer/interfaces';\nimport { ColumnDef } from '../../../datatable/model/column-def';\nimport { DatatableSettings } from '../../../datatable/model/datatable-settings';\n\n@Component({\n selector: 'moz-datatable-management-content',\n templateUrl: './moz-datatable-management-content.component.html',\n styleUrls: ['./moz-datatable-management-content.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { '[class.manage-settings]': 'true' },\n standalone: false,\n})\nexport class MozDatatableManagementContentComponent {\n public mouseYCoordinate: number | null = null;\n public distanceTopGrabbedVsPointer: number | null = null;\n public draggingColumn: ColumnDef | null = null;\n public draggingColumnField: string | null = null;\n public draggingColumnIndex: number | null = null;\n public hoveredColumnIndex: number | null = null;\n public columnDefs: ColumnDef[] = [];\n public datatableSettings: DatatableSettings;\n public firstColumnFixed?: boolean;\n\n constructor(\n @Inject(LAYER_DATA) public readonly data: DatatableSettings,\n @Inject(LAYER_REF) public readonly layerRef: LayerRef,\n ) {\n this.datatableSettings = data;\n this.firstColumnFixed = this.datatableSettings.fixFirstColumn;\n this.columnDefs = data.columnDefs.map((x) => ({ ...x }));\n }\n\n public close(data?: unknown): void {\n this.layerRef.close(data);\n }\n\n public dragStartEvent($event: MouseEvent, columnDef: ColumnDef, index: number): void {\n this.mouseYCoordinate = $event.clientY;\n this.draggingColumn = columnDef;\n this.draggingColumnIndex = index;\n this.draggingColumnField = columnDef.field;\n }\n\n public dragEvent($event: MouseEvent): void {\n this.mouseYCoordinate = $event.clientY;\n }\n\n public dragOverEvent(index: number): void {\n this.hoveredColumnIndex = index;\n this.updateColumnDefsList();\n }\n\n public dragEndEvent(): void {\n this.draggingColumnField = null;\n this.hoveredColumnIndex = null;\n }\n\n public hideColumnChangeEvent(item: ColumnDef): void {\n item.hide = item.hide ? false : true;\n }\n\n public updateColumnDefsList(): void {\n if (\n this.draggingColumnIndex != null &&\n this.hoveredColumnIndex != null &&\n this.draggingColumnIndex != this.hoveredColumnIndex\n ) {\n // Allows to swap the position of 2 elements when there is a drag over\n [this.columnDefs[this.draggingColumnIndex], this.columnDefs[this.hoveredColumnIndex]] = [\n this.columnDefs[this.hoveredColumnIndex],\n this.columnDefs[this.draggingColumnIndex],\n ];\n this.draggingColumnIndex = this.hoveredColumnIndex;\n }\n }\n\n public applyEvent(): void {\n this.close({ columnDefs: this.columnDefs, firstColumnFixed: this.firstColumnFixed });\n }\n\n public resetEvent(): void {\n this.columnDefs = this.datatableSettings.columnDefs.map((x) => Object.assign({}, x));\n this.firstColumnFixed = this.datatableSettings.fixFirstColumn;\n }\n}\n","<div class=\"settings__body\">\n <span class=\"settings__title\">{{\n datatableSettings.labels?.settings?.columnsLockTitle || 'Columns lock'\n }}</span>\n <div class=\"settings__toggle-column-lock\">\n <moz-toggle [size]=\"'s'\" [(ngModel)]=\"firstColumnFixed\">{{\n datatableSettings.labels?.settings?.fixFirstColumnTitle || 'Fix the first column'\n }}</moz-toggle>\n </div>\n <span class=\"settings__title\">{{\n datatableSettings.labels?.settings?.columnsDisplayTitle || 'Columns display'\n }}</span>\n <div class=\"settings__columns-container\">\n <div\n *ngIf=\"mouseYCoordinate\"\n class=\"settings__columns-container-item settings__columns-container-item-ghost\"\n [style.top.px]=\"mouseYCoordinate + (distanceTopGrabbedVsPointer || 0)\"\n >\n <div class=\"settings__column-icon-value\">\n <moz-icon iconName=\"Navigation_Display_MovingBlock_24px\"></moz-icon>\n <moz-checkbox [checked]=\"!draggingColumn?.hide\"> </moz-checkbox>\n <span class=\"settings__column-value\">{{ draggingColumn?.headerName }}</span>\n </div>\n </div>\n\n <div\n *ngFor=\"let columnDef of columnDefs; let index = index\"\n class=\"settings__columns-container-item\"\n [class.settings__columns-container-item-invisible]=\"draggingColumnField === columnDef.field\"\n [draggable]=\"true\"\n (dragstart)=\"dragStartEvent($event, columnDef, index)\"\n (drag)=\"dragEvent($event)\"\n (dragover)=\"dragOverEvent(index)\"\n (dragend)=\"dragEndEvent()\"\n >\n <div class=\"settings__column-icon-value\">\n <moz-icon iconName=\"Navigation_Display_MovingBlock_24px\"></moz-icon>\n <moz-checkbox [checked]=\"!columnDef.hide\" (change)=\"hideColumnChangeEvent(columnDef)\">\n </moz-checkbox>\n <span class=\"settings__column-value\">{{ columnDef.headerName }}</span>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"settings__footer\">\n <button aria-label=\"apply settings\" moz-button [size]=\"'m'\" (click)=\"applyEvent()\">\n {{ datatableSettings.labels?.settings?.applyButtonTitle || 'Apply' }}\n </button>\n <button\n aria-label=\"reset settings\"\n moz-button\n [size]=\"'m'\"\n [variation]=\"'bordered'\"\n (click)=\"resetEvent()\"\n >\n {{ datatableSettings.labels?.settings?.resetButtonTitle || 'Reset' }}\n </button>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n} from '@angular/core';\nimport { LayerService } from '../layer/layer.service';\nimport { MozDatatableManagementContentComponent } from './components/moz-datatable-management-content/moz-datatable-management-content.component';\nimport { DatatableSettings } from '../datatable/model/datatable-settings';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'moz-datatable-management',\n templateUrl: './moz-datatable-management.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class MozDatatableManagementComponent implements OnDestroy {\n @Input() public datatableSettings?: DatatableSettings;\n @Output() public columnsOrderUpdate = new EventEmitter<unknown>();\n private subscription!: Subscription;\n\n constructor(private layerService: LayerService) {}\n\n ngOnDestroy(): void {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n public clickSettingsEvent(): void {\n const layerRef = this.layerService.open(MozDatatableManagementContentComponent, {\n title: this.datatableSettings?.labels?.settings?.layerTitle || 'Settings',\n icon: 'Navigation_Display_Setting_24px',\n data: this.datatableSettings,\n });\n this.subscription = layerRef.afterClosed$.subscribe((result) => {\n if (this.datatableSettings && result) {\n this.datatableSettings.columnDefs = (result as any).columnDefs;\n this.datatableSettings.fixFirstColumn = (result as any).firstColumnFixed;\n this.columnsOrderUpdateEvent(result);\n }\n });\n }\n\n public columnsOrderUpdateEvent(result: unknown): void {\n this.columnsOrderUpdate.emit(result);\n }\n}\n","<button\n moz-button\n size=\"s\"\n variation=\"bordered\"\n widthBehavior=\"fit\"\n theme=\"neutral\"\n [onlyIcon]=\"true\"\n (click)=\"clickSettingsEvent()\"\n>\n <moz-icon iconName=\"Navigation_Display_Setting_24px\"></moz-icon>\n</button>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { CheckboxModule } from '../checkbox/checkbox.module';\nimport { PaginationModule } from '../pagination/pagination.module';\nimport { ButtonModule } from '../button/button.module';\nimport { IconModule } from '../icon/icon.module';\nimport { ToggleModule } from '../toggle/toggle.module';\nimport { MozDatatableManagementComponent } from './moz-datatable-management.component';\nimport { MozDatatableManagementContentComponent } from './components/moz-datatable-management-content/moz-datatable-management-content.component';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [MozDatatableManagementComponent, MozDatatableManagementContentComponent],\n imports: [\n CommonModule,\n FormsModule,\n PaginationModule,\n ButtonModule,\n CheckboxModule,\n IconModule,\n ToggleModule,\n ],\n exports: [MozDatatableManagementComponent, MozDatatableManagementContentComponent],\n})\nexport class MozDatatableManagementModule {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { RowData } from '../../model/row-data';\nimport { SelectionSettings } from '../../model/selection-settings';\n\n@Component({\n selector: 'moz-datatable-selection',\n templateUrl: './moz-datatable-selection.component.html',\n styleUrls: ['./moz-datatable-selection.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class MozDatatableSelectionComponent implements OnChanges {\n @Input() public selectionSettings?: SelectionSettings;\n @Input() public paginationEnabled?: boolean;\n @Input() public allowAllSelected = true;\n @Input() public rowData?: RowData[];\n @Output() public updateSelectionAllEmitter = new EventEmitter<SelectionSettings>();\n\n public isIndeterminate: boolean = false;\n\n constructor(private ref: ChangeDetectorRef) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['rowData']) {\n this.updateSelection();\n }\n }\n\n public selectAll(): void {\n if (this.selectionSettings) {\n this.selectionSettings.excludedIds = [];\n this.selectionSettings.selectedIds = [];\n this.updateSelectedValueOnRowData(true);\n this.isIndeterminate = this.isSelectionIndeterminate();\n this.selectionSettings.allSelected = true;\n this.updateSelectionAllEmitter.emit(this.selectionSettings);\n this.ref.markForCheck();\n }\n }\n\n public clearAll(): void {\n if (this.selectionSettings) {\n this.selectionSettings.excludedIds = [];\n this.selectionSettings.selectedIds = [];\n this.updateSelectedValueOnRowData(false);\n this.isIndeterminate = this.isSelectionIndeterminate();\n this.selectionSettings.allSelected = false;\n this.updateSelectionAllEmitter.emit(this.selectionSettings);\n this.ref.markForCheck();\n }\n }\n\n public isAllPageRowAreSelected(): boolean {\n return this.canSwitchtoAllSelectedMode() || (this.selectionSettings?.allSelected ?? false);\n }\n\n public onUdpateSelectionRow(row: RowData): void {\n this.handleCountItemSelection(row);\n }\n\n public onUdpateSelectionAllPageRows($event: any): void {\n this.updateSelectedValueOnRowData($event.target.checked);\n this.handleCountAllSelection(this.isAllPageRowAreSelected());\n }\n\n public handleCountItemSelection(row: RowData): void {\n if (this.selectionSettings != null) {\n const selectionIdentifierFieldKey = this.selectionSettings.selectionIdentifierFieldKey;\n if (this.selectionSettings.allSelected) {\n if (row.selected) {\n this.selectionSettings.excludedIds = [\n ...this.selectionSettings.excludedIds.filter((deselectedId) => {\n return deselectedId !== this.getId(row);\n }),\n ];\n } else {\n if (this.paginationEnabled) {\n this.selectionSettings.excludedIds = [\n ...this.selectionSettings.excludedIds,\n this.getId(row),\n ];\n } else {\n this.selectionSettings.selectedIds = [\n ...this.selectionSettings.selectedIds.filter(\n (selectedId) => selectedId !== this.getId(row),\n ),\n ];\n\n this.selectionSettings.allSelected = false;\n }\n if (\n this.selectionSettings.excludedIds.length ===\n this.selectionSettings.totalSelectableItems\n ) {\n this.selectionSettings.excludedIds = [];\n\n this.selectionSettings.allSelected = false;\n }\n }\n } else {\n if (row.selected) {\n this.selectionSettings.selectedIds = [\n ...this.selectionSettings.selectedIds,\n this.getId(row),\n ];\n if (this.canSwitchtoAllSelectedMode()) {\n this.switchtoAllSelectedMode();\n }\n } else {\n this.selectionSettings.selectedIds = [\n ...this.selectionSettings.selectedIds.filter((selectedId) => {\n return selectedId !== this.getId(row);\n }),\n ];\n }\n }\n this.isIndeterminate = this.isSelectionIndeterminate();\n this.ref.markForCheck();\n }\n }\n\n private canSwitchtoAllSelectedMode(): boolean {\n if (this.selectionSettings != null) {\n return (\n this.selectionSettings.selectedIds.length === this.selectionSettings.totalSelectableItems &&\n this.allowAllSelected\n );\n }\n return false;\n }\n\n private switchtoAllSelectedMode(): void {\n if (this.selectionSettings != null) {\n if (this.paginationEnabled) {\n this.selectionSettings.selectedIds = [];\n }\n\n this.selectionSettings.allSelected = true;\n }\n }\n\n private handleCountAllSelection(allPageRowsSelected: boolean): void {\n if (this.selectionSettings) {\n const selectionIdentifierFieldKey = this.selectionSettings.selectionIdentifierFieldKey;\n if (this.selectionSettings?.allSelected) {\n if (this.isIndeterminate && this.rowData) {\n this.rowData\n .filter((row) => !row.disableSelection)\n .forEach((row) => {\n if (this.selectionSettings) {\n const index = this.selectionSettings.excludedIds.indexOf(this.getId(row), 0);\n if (index > -1) {\n this.selectionSettings.excludedIds.splice(index, 1);\n this.selectionSettings.excludedIds = [...this.selectionSettings.excludedIds];\n }\n }\n });\n if (this.canSwitchtoAllSelectedMode()) {\n this.switchtoAllSelectedMode();\n\n this.rowData = this.rowData\n ?.filter((row) => !row.disableSelection)\n .map((row) => {\n row.selected = true;\n return row;\n });\n }\n } else {\n if (this.rowData) {\n this.selectionSettings.excludedIds = [\n ...this.selectionSettings.excludedIds,\n ...this.rowData.filter((row) => !row.disableSelection).map((row) => this.getId(row)),\n ];\n if (\n this.selectionSettings.excludedIds.length ===\n this.selectionSettings.totalSelectableItems\n ) {\n this.selectionSettings.excludedIds = [];\n this.selectionSettings.allSelected = false;\n }\n if (this.canSwitchtoAllSelectedMode()) {\n this.selectionSettings.allSelected = false;\n this.selectionSettings.selectedIds = [];\n this.selectionSettings.excludedIds = [];\n this.rowData = this.rowData\n ?.filter((row) => !row.disableSelection)\n .map((row) => {\n row.selected = false;\n return row;\n });\n }\n }\n }\n } else {\n if (allPageRowsSelected && this.rowData) {\n this.rowData\n .filter((row) => !row.disableSelection)\n .filter((row) => !(this.selectionSettings?.selectedIds || []).includes(this.getId(row)))\n .forEach((row) => {\n if (this.selectionSettings) {\n this.selectionSettings.selectedIds = [\n ...this.selectionSettings.selectedIds,\n this.getId(row),\n ];\n }\n });\n if (this.canSwitchtoAllSelectedMode()) {\n this.switchtoAllSelectedMode();\n }\n } else {\n if (this.rowData) {\n const allRowOnPage = this.rowData\n .filter((row) => !row.disableSelection)\n .map((row) => this.getId(row));\n const allRowSelectedOnPage = this.rowData\n .filter((row) => !row.disableSelection && row.selected)\n .map((row) => this.getId(row));\n const rowSelectedOnOtherPages = this.selectionSettings.selectedIds.filter(\n (element) => !allRowOnPage.includes(element),\n );\n this.selectionSettings.selectedIds = [\n ...rowSelectedOnOtherPages,\n ...allRowSelectedOnPage,\n ];\n\n if (this.canSwitchtoAllSelectedMode()) {\n this.switchtoAllSelectedMode();\n }\n }\n }\n }\n }\n this.isIndeterminate = this.isSelectionIndeterminate();\n this.ref.markForCheck();\n }\n\n private updateSelection(): void {\n if (this.selectionSettings && this.rowData) {\n if (this.selectionSettings?.selectedIds) {\n this.rowData.forEach((row) => {\n const existInSelectedIds =\n this.selectionSettings?.selectedIds.includes(\n '' + row[this.selectionSettings.selectionIdentifierFieldKey],\n ) ?? false;\n const existInExcludedIds =\n this.selectionSettings?.excludedIds.includes(\n '' + row[this.selectionSettings.selectionIdentifierFieldKey],\n ) ?? false;\n\n if ((this.selectionSettings?.allSelected || existInSelectedIds) && !existInExcludedIds) {\n row.selected = true;\n } else {\n row.selected = false;\n }\n });\n }\n if (this.canSwitchtoAllSelectedMode()) {\n this.switchtoAllSelectedMode();\n this.selectionSettings.excludedIds = [];\n }\n this.isIndeterminate = this.isSelectionIndeterminate();\n\n this.selectionSettings.allSelected = this.isAllPageRowAreSelected();\n this.ref.markForCheck();\n }\n }\n\n private updateSelectedValueOnRowData(selected: boolean): void {\n this.rowData = this.rowData\n ?.filter((row) => !row.disableSelection)\n .map((row) => {\n row.selected = selected;\n return row;\n });\n }\n\n private isSelectionIndeterminate(): boolean {\n if (this.selectionSettings) {\n if (\n (!this.selectionSettings.allSelected &&\n this.rowData\n ?.filter((row) => !row.disableSelection)\n .map((row) => {\n if (this.selectionSettings) {\n return row[this.selectionSettings.selectionIdentifierFieldKey];\n }\n })\n .every((item) => (this.selectionSettings?.selectedIds || []).includes('' + item))) ||\n (!this.selectionSettings.allSelected && this.selectionSettings.selectedIds.length === 0) ||\n (this.selectionSettings.allSelected &&\n this.rowData &&\n !this.rowData\n .map((row) => {\n if (this.selectionSettings) {\n return row[this.selectionSettings.selectionIdentifierFieldKey];\n }\n })\n .some((id) => (this.selectionSettings?.excludedIds || []).includes('' + id))) ||\n this.canSwitchtoAllSelectedMode()\n ) {\n return false;\n }\n return true;\n }\n return false;\n }\n\n /**\n * if the value is an object so the resulted id == '[object Object]'\n * @param row\n * @private\n */\n private getId(row: RowData) {\n if (!this.selectionSettings?.selectionIdentifierFieldKey) {\n return '';\n }\n const rowElement = row[this.selectionSettings?.selectionIdentifierFieldKey];\n if (typeof rowElement === 'object') {\n return rowElement;\n }\n return '' + rowElement;\n }\n}\n","<div class=\"mc-datatable__selection\">\n <ng-container *ngIf=\"selectionSettings && selectionSettings.labels && paginationEnabled\">\n <div class=\"mc-datatable__topbar-selection\">\n <ng-container *ngIf=\"selectionSettings.selectedIds.length || selectionSettings.allSelected\">\n <div class=\"center-selection-label\">\n <div *ngIf=\"selectionSettings.allSelected; else notAllSelected\">\n <ng-container *ngIf=\"selectionSettings.excludedIds.length > 0; else exludedIdsEmpty\">\n <span>\n <b\n >{{\n selectionSettings.totalSelectableItems - selectionSettings.excludedIds.length\n }}\n {{ selectionSettings.labels.selectedLabel || 'selected' }}</b\n >\n <ng-container\n *ngIf=\"\n selectionSettings.totalSelectableItems -\n selectionSettings.excludedIds.length ===\n 1;\n else plurialAllSelected\n \"\n >\n {{ selectionSettings.labels.rowOnPageLabel || 'row on the page. ' }}-\n </ng-container>\n <ng-template #plurialAllSelected>\n {{ selectionSettings.labels.rowsOnPageLabel || 'rows on the page. ' }}-\n </ng-template>\n\n {{ selectionSettings.labels.rowsOnPageLabel || 'rows on the page. ' }}-\n <a href=\"/\" (click)=\"selectAll(); $event.preventDefault()\">\n {{ selectionSettings.labels.selectAllLabel || 'Select all' }}\n {{ selectionSettings.totalSelectableItems }}\n {{ selectionSettings.labels.rowsOfTableLabel || 'rows of the table' }}\n </a>\n </span>\n </ng-container>\n <ng-template #exludedIdsEmpty>\n <span>\n {{\n selectionSettings.labels.rowsSelectedLabel ||\n 'All rows are selected in the table.'\n }}\n -\n <a href=\"/\" (click)=\"clearAll(); $event.preventDefault()\">\n {{ selectionSettings.labels.clearSelectionLabel || 'Clear selection' }}\n </a>\n </span>\n </ng-template>\n </div>\n <ng-template #notAllSelected>\n <span>\n <b\n >{{ selectionSettings.selectedIds.length }}\n {{ selectionSettings.labels.selectedLabel || 'selected' }}</b\n >\n <ng-container\n *ngIf=\"selectionSettings.selectedIds && selectionSettings.selectedIds.length > 0\"\n >\n <ng-container\n *ngIf=\"\n selectionSettings.selectedIds && selectionSettings.selectedIds.length === 1;\n else plurialNotAllSelected\n \"\n >\n {{ selectionSettings.labels.rowOnPageLabel || 'row on the page. ' }}-\n </ng-container>\n <ng-template #plurialNotAllSelected>\n {{ selectionSettings.labels.rowsOnPageLabel || 'rows on the page. ' }}-\n </ng-template>\n <a href=\"/\" (click)=\"selectAll(); $event.preventDefault()\">\n {{ selectionSettings.labels.selectAllLabel || 'Select all' }}\n {{ selectionSettings.totalSelectableItems }}\n {{ selectionSettings.labels.rowsOfTableLabel || 'rows of the table' }}\n </a>\n </ng-container>\n </span>\n </ng-template>\n </div>\n </ng-container>\n </div>\n </ng-container>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n Input,\n TemplateRef,\n} from '@angular/core';\n\n@Component({\n selector: 'moz-datatable-header-cell',\n templateUrl: './moz-datatable-header-cell.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class MozDatatableHeaderCellComponent {\n @Input() public field?: string;\n @ContentChild(TemplateRef) public templateRef!: TemplateRef<unknown>;\n}\n","<ng-content></ng-content>\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n Input,\n TemplateRef,\n} from '@angular/core';\n\n@Component({\n selector: 'moz-datatable-content-cell',\n templateUrl: './moz-datatable-content-cell.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class MozDatatableContentCellComponent {\n @Input() public field?: string;\n @ContentChild(TemplateRef) public templateRef!: TemplateRef<unknown>;\n}\n","<ng-content></ng-content>\n","import { ChangeDetectionStrategy, Component, ContentChild, TemplateRef } from '@angular/core';\n\n@Component({\n selector: 'moz-datatable-row-expansion-content',\n templateUrl: './moz-datatable-row-expansion-content.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class MozDatatableRowExpansionContentComponent {\n @ContentChild(TemplateRef) public templateRef!: TemplateRef<unknown>;\n}\n","<ng-content></ng-content>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { FooterSettings } from '../../model/footer-settings';\n\n@Component({\n selector: 'moz-datatable-footer',\n templateUrl: './moz-datatable-footer.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class MozDatatableFooterComponent implements OnChanges {\n @Input() public footerSettings?: FooterSettings;\n @Input() public isLoading?: boolean;\n @Output() public rowPerPageChangeEmitter = new EventEmitter<number>();\n @Output() public pageChangeEmitter = new EventEmitter<number>();\n\n public selectedRowPerPage!: number;\n public currentPage!: number;\n public totalItems!: number;\n\n ngOnChanges(changes: SimpleChanges): void {\n if (\n (changes['isLoading'] &&\n changes['isLoading'].currentValue !== changes['isLoading'].previousValue) ||\n (changes['footerSettings'] &&\n changes['footerSettings'].currentValue !== changes['footerSettings'].previousValue)\n ) {\n this.selectedRowPerPage = this.footerSettings?.pagination?.rowPerPage?.selected ?? 0;\n this.currentPage = this.footerSettings?.pagination?.currentPage ?? 0;\n this.totalItems = this.footerSettings?.pagination?.totalItems ?? 0;\n }\n }\n\n public calculateNumberOfPage(): number {\n // case NAN\n if (this.totalItems === 0 && this.selectedRowPerPage === 0) {\n return 0;\n }\n // case INFINITY\n if (this.totalItems === 1 && this.selectedRowPerPage === 0) {\n return 0;\n }\n // case nullable\n if (this.totalItems == null || this.selectedRowPerPage == null) {\n return 0;\n }\n return Math.ceil(this.totalItems / this.selectedRowPerPage);\n }\n\n public calculateCountEnd(): number {\n if (this.selectedRowPerPage == null) {\n return 0;\n }\n const count = this.selectedRowPerPage * this.currentPage;\n if (count > this.totalItems) {\n return this.totalItems;\n }\n return count;\n }\n\n public calculateCountStart(): number {\n if (this.selectedRowPerPage == null || this.totalItems == null) {\n return 0;\n }\n if (this.selectedRowPerPage === 0 || this.currentPage === 0 || this.totalItems === 0) {\n return 0;\n }\n return this.selectedRowPerPage * (this.currentPage - 1) + 1;\n }\n}\n","<div class=\"mc-datatable__footer\">\n <div class=\"mc-datatable__select\">\n <label for=\"selectRows\" class=\"mc-datatable__select-label\">{{\n footerSettings?.labels?.rowPerPage || 'Rows per page'\n }}</label>\n <select\n moz-select\n id=\"selectRows\"\n size=\"s\"\n [(ngModel)]=\"selectedRowPerPage\"\n (change)=\"rowPerPageChangeEmitter.emit(selectedRowPerPage)\"\n [disabled]=\"calculateNumberOfPage() === 0 || isLoading || false\"\n >\n <option\n *ngFor=\"let value of footerSettings?.pagination?.rowPerPage?.options\"\n [ngValue]=\"value\"\n >\n {{ value }}\n </option>\n </select>\n </div>\n <div class=\"mc-datatable__count\" *ngIf=\"!isLoading\">\n <strong>{{ calculateCountStart() }}-{{ calculateCountEnd() }}</strong> /\n <strong\n >{{ footerSettings?.pagination?.totalItems || 0 }}\n {{ footerSettings?.labels?.items || 'Items' }}</strong\n >\n </div>\n <div class=\"mc-datatable__pagination\">\n <moz-pagination\n [numberOfPages]=\"calculateNumberOfPage()\"\n [disable]=\"isLoading || false\"\n [(ngModel)]=\"currentPage\"\n (pageChangeEvent)=\"pageChangeEmitter.emit(currentPage)\"\n [pageLabel]=\"footerSettings?.labels?.page || 'Page'\"\n [pageOfLabel]=\"footerSettings?.labels?.of || 'of'\"\n >\n </moz-pagination>\n </div>\n</div>\n","import {\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnInit,\n Output,\n Renderer2,\n} from '@angular/core';\nimport { ColumnDef } from '../model/column-def';\n\n@Directive({\n selector: '[mozDatatableSort]',\n standalone: false,\n})\nexport class MozDatatableSortDirective implements OnInit {\n @Input('mozDatatableSort') columnDef?: ColumnDef;\n @Output() sortEmitter = new EventEmitter<unknown>();\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n ) {}\n\n ngOnInit() {\n if (this.columnDef?.sort) {\n const sortIcon = this.renderer.createElement('span');\n this.renderer.addClass(sortIcon, 'mc-datatable__sort-arrow');\n this.updateSortDirection(sortIcon, true);\n this.renderer.appendChild(this.elementRef.nativeElement, sortIcon);\n }\n }\n\n @HostListener('click', ['$event'])\n onSortClick($event: any) {\n this.updateSortDirection($event.target, false);\n }\n\n private updateSortDirection(htmlSpanElement: HTMLSpanElement, init: boolean): void {\n if (this.columnDef?.sort) {\n if (htmlSpanElement.classList.contains('mc-datatable__sort-arrow')) {\n if (!init) {\n this.columnDef.sort.direction =\n this.columnDef.sort.direction == undefined\n ? 'ASC'\n : this.columnDef.sort.direction === 'ASC'\n ? 'DESC'\n : undefined;\n }\n if (this.columnDef.sort.direction === 'ASC') {\n this.renderer.addClass(htmlSpanElement, 'is-sorted-asc');\n this.renderer.removeClass(htmlSpanElement, 'is-sorted-desc');\n } else if (this.columnDef.sort.direction === 'DESC') {\n this.renderer.addClass(htmlSpanElement, 'is-sorted-desc');\n this.renderer.removeClass(htmlSpanElement, 'is-sorted-asc');\n } else {\n this.renderer.removeClass(htmlSpanElement, 'is-sorted-desc');\n this.renderer.removeClass(htmlSpanElement, 'is-sorted-asc');\n }\n this.sortEmitter.emit({\n direction: this.columnDef.sort.direction,\n field: this.columnDef.field,\n });\n }\n }\n }\n}\n","import {\n Component,\n Input,\n ContentChildren,\n QueryList,\n AfterContentInit,\n TemplateRef,\n ContentChild,\n Output,\n EventEmitter,\n ViewChild,\n ViewEncapsulation,\n ElementRef,\n} from '@angular/core';\nimport { RowData } from './model/row-data';\nimport { SelectionSettings } from './model/selection-settings';\nimport { MozDatatableSelectionComponent } from './components/selection/moz-datatable-selection.component';\nimport { MozDatatableHeaderCellComponent } from './components/header/moz-datatable-header-cell.component';\nimport { MozDatatableContentCellComponent } from './components/content/moz-datatable-content-cell.component';\nimport { DatatableSettings } from './model/datatable-settings';\nimport { FooterSettings } from './model/footer-settings';\nimport { MozDatatableRowExpansionContentComponent } from './components/row/moz-datatable-row-expansion-content.component';\nimport { ColumnDef } from './model/column-def';\n\n@Component({\n selector: 'moz-datatable',\n styleUrls: ['./moz-datatable.component.scss'],\n templateUrl: './moz-datatable.component.html',\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class MozDatatableComponent implements AfterContentInit {\n @Input() public footerSettings?: FooterSettings;\n @Input() public selectionSettings?: SelectionSettings;\n @Input() public allowAllSelected = true;\n @Input() public datatableSettings?: DatatableSettings;\n @Input() public tableSummary = 'Table displaying data';\n\n // FROM BODY DATATABLE\n @Output() rowClick = new EventEmitter<RowData>();\n @Output() sortColumn = new EventEmitter<unknown>();\n @Output() rowSelected = new EventEmitter<SelectionSettings>();\n @Output() rowAllSelected = new EventEmitter<SelectionSettings>();\n @Output() emptyBodyButtonClicked = new EventEmitter<boolean>();\n\n @ViewChild(MozDatatableSelectionComponent)\n public selectionComponent?: MozDatatableSelectionComponent;\n\n // FROM PAGINATION FOOTER\n @Output() pageChange = new EventEmitter<number>();\n @Output() rowPerPageChange = new EventEmitter<number>();\n\n @ViewChild('thSelection', { static: false }) thSelectionRef?: ElementRef;\n @ViewChild('thSubRow', { static: false }) thSubRowRef?: ElementRef;\n\n @ContentChildren(MozDatatableHeaderCellComponent)\n public headerCellComponents?: QueryList<MozDatatableHeaderCellComponent>;\n\n @ContentChildren(MozDatatableContentCellComponent)\n public contentCellComponents?: QueryList<MozDatatableContentCellComponent>;\n\n @ContentChild(MozDatatableRowExpansionContentComponent)\n public expansionContentComponent?: MozDatatableRowExpansionContentComponent;\n\n public customHeaderCellsMap: Map<string, TemplateRef<any>> = new Map<string, TemplateRef<any>>();\n public customContentCellsMap: Map<string, TemplateRef<any>> = new Map<string, TemplateRef<any>>();\n public expandedRows: boolean[] = [];\n\n ngAfterContentInit(): void {\n this.buildCustomHeaderMap();\n this.buildCustomContentMap();\n }\n\n public resetSelection(): void {\n this.selectionComponent?.clearAll();\n }\n\n public buildCustomHeaderMap(): void {\n if (this.headerCellComponents) {\n this.headerCellComponents.forEach((header) => {\n if (header.field && header.templateRef) {\n this.customHeaderCellsMap.set(header.field, header.templateRef);\n }\n });\n }\n }\n\n public buildCustomContentMap(): void {\n if (this.contentCellComponents) {\n this.contentCellComponents.forEach((cell) => {\n if (cell.field && cell.templateRef) {\n this.customContentCellsMap.set(cell.field, cell.templateRef);\n }\n });\n }\n }\n\n public getCustomExpansionRowContent(): TemplateRef<any> | undefined {\n return this.expansionContentComponent?.templateRef;\n }\n\n public toggleRowExpansion(index: number): void {\n this.expandedRows[index] = !this.expandedRows[index];\n }\n\n public hasSubRow(): boolean {\n return (this.datatableSettings?.rowData.filter((row) => row['subRow']).length || 0) > 0;\n }\n\n public getCustomHeader(columnId: string): TemplateRef<any> | undefined {\n return this.customHeaderCellsMap.get(columnId);\n }\n\n public getCustomContent(columnId: string): TemplateRef<any> | undefined {\n return this.customContentCellsMap.get(columnId);\n }\n\n public getColspanForExpansionRow(): number {\n return this.datatableSettings?.activateSelection\n ? (this.datatableSettings?.columnDefs?.length || 0) + 2\n : (this.datatableSettings?.columnDefs?.length || 0) + 1;\n }\n\n public emptyButtonClickEvent(): void {\n this.emptyBodyButtonClicked.emit(true);\n }\n\n public rowClickEvent(event: MouseEvent, rowClick: RowData): void {\n if (event.target instanceof HTMLInputElement) {\n event.stopPropagation();\n return;\n }\n this.rowClick.emit(rowClick);\n }\n\n public selectionAllRowEvent($event: SelectionSettings) {\n this.rowAllSelected.emit($event);\n }\n\n public selectionRowEvent($event: Event) {\n this.rowSelected.emit(this.selectionSettings);\n $event.stopPropagation();\n }\n\n public rowPerPageChangeEvent($event: number): void {\n this.rowPerPageChange.emit($event);\n }\n\n public pageChangeEvent($event: number): void {\n this.pageChange.emit($event);\n }\n\n public sortEvent($event: unknown) {\n this.sortColumn.emit($event);\n }\n\n public getStyleLeftForColumnFixed(): number {\n return this.datatableSettings?.activateSelection && this.thSelectionRef\n ? this.thSelectionRef.nativeElement.clientWidth\n : 0;\n }\n\n public getLeftValueFixFirstColumn(): number {\n let value = 0;\n if (this.datatableSettings?.activateSelection && this.thSelectionRef) {\n value += this.thSelectionRef.nativeElement.clientWidth;\n }\n if (this.hasSubRow() && this.thSubRowRef) {\n value += this.thSubRowRef.nativeElement.clientWidth;\n }\n return value;\n }\n\n public getUnhiddenColumns(): ColumnDef[] {\n return this.datatableSettings?.columnDefs.filter((headTitle) => !headTitle.hide) || [];\n }\n\n public getColumns(): any {\n return this.datatableSettings?.isLoading\n ? ['', '', '', '', '']\n : this.datatableSettings?.columnDefs;\n }\n\n public getFields(): any {\n return this.datatableSettings?.isLoading\n ? ['', '', '', '', '']\n : this.datatableSettings?.rowData;\n }\n}\n","<div class=\"mc-datatable\" [ngClass]=\"{ ' mc-datatable-height': datatableSettings?.fixHeaderRow }\">\n <div class=\"mc-datatable__header\">\n <ng-content select=\"moz-datatable-caption\"></ng-content>\n <div>\n <moz-datatable-selection\n [selectionSettings]=\"selectionSettings\"\n [allowAllSelected]=\"allowAllSelected\"\n [paginationEnabled]=\"datatableSettings?.activatePagination\"\n [rowData]=\"datatableSettings?.rowData\"\n (updateSelectionAllEmitter)=\"selectionAllRowEvent($event)\"\n ></moz-datatable-selection>\n </div>\n </div>\n <div\n class=\"mc-datatable__container\"\n [ngClass]=\"{ ' mc-datatable-height': datatableSettings?.fixHeaderRow }\"\n >\n <div\n class=\"mc-datatable__main\"\n [ngClass]=\"{ ' mc-datatable-height': datatableSettings?.fixHeaderRow }\"\n >\n <table class=\"mc-datatable__table\" summary=\"{{ tableSummary }}\">\n <thead [ngClass]=\"{ 'fix-header-row': datatableSettings?.fixHeaderRow }\">\n <tr *ngIf=\"getColumns() && getColumns().length > 0\">\n <th\n class=\"mc-datatable__cell-checkbox moz-datatable__th mc-datatable__fix-first-column\"\n *ngIf=\"\n datatableSettings?.activateSelection &&\n selectionComponent &&\n selectionSettings &&\n ((datatableSettings?.rowData || []).length > 0 || datatableSettings?.isLoading)\n \"\n id=\"checkAllPageRows\"\n #thSelection\n >\n <ng-container *ngIf=\"datatableSettings?.isLoading; else notLoadingCheckbox\">\n <div class=\"skeleton-box mu-mb-100 checkbox-loading\"></div>\n </ng-container>\n <ng-template #notLoadingCheckbox>\n <moz-checkbox\n (change)=\"\n selectionComponent.onUdpateSelectionAllPageRows($event);\n selectionRowEvent($event)\n \"\n [indeterminate]=\"selectionComponent.isIndeterminate\"\n [checked]=\"\n (selectionSettings.allSelected && !selectionComponent.isIndeterminate) ||\n (!selectionSettings.allSelected &&\n !selectionComponent.isIndeterminate &&\n (this.selectionSettings.selectedIds || []).length > 0)\n \"\n [disabled]=\"datatableSettings?.isLoading || false\"\n >\n </moz-checkbox>\n </ng-template>\n </th>\n <th\n *ngIf=\"hasSubRow() && !datatableSettings?.isLoading\"\n class=\"mc-datatable__fix-first-column\"\n [style.left.px]=\"getStyleLeftForColumnFixed()\"\n #thSubRow\n ></th>\n <ng-container *ngFor=\"let columnDef of getColumns()\">\n <th\n class=\"moz-datatable__th\"\n *ngIf=\"!columnDef.hide\"\n [ngClass]=\"{\n 'mc-datatable__fix-first-column':\n datatableSettings?.fixFirstColumn &&\n getUnhiddenColumns()[0].field === columnDef.field\n }\"\n [style.left.px]=\"getLeftValueFixFirstColumn()\"\n id=\"th-{{ columnDef.field }}\"\n >\n <ng-container *ngIf=\"datatableSettings?.isLoading; else notLoadingHeading\">\n <div class=\"skeleton-box mu-mb-100 cells-loading\"></div>\n </ng-container>\n\n <ng-template #notLoadingHeading>\n <div\n [mozDatatableSort]=\"columnDef\"\n [ngClass]=\"{ header: columnDef.sort }\"\n (sortEmitter)=\"sortEvent($event)\"\n >\n <ng-container\n *ngIf=\"\n getCustomHeader(columnDef.field) as customHeader;\n else defaultHeaderCell\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n customHeader;\n context: {\n $implicit: {\n content: columnDef\n }\n }\n \"\n ></ng-container>\n </ng-container>\n <ng-template #defaultHeaderCell>\n {{ columnDef.headerName | uppercase }}\n </ng-template>\n </div>\n </ng-template>\n </th>\n </ng-container>\n </tr>\n </thead>\n <tbody>\n <ng-container\n *ngIf=\"\n (datatableSettings?.rowData?.length || 0) > 0 || datatableSettings?.isLoading;\n else emptyBody\n \"\n >\n <ng-container *ngFor=\"let row of getFields(); index as i\">\n <tr\n class=\"mc-datatable__row-parent\"\n (click)=\"rowClickEvent($event, row)\"\n [ngClass]=\"{ selected: row.selected }\"\n >\n <td\n class=\"mc-datatable__fix-first-column\"\n *ngIf=\"datatableSettings?.activateSelection && selectionComponent\"\n [ngClass]=\"{ selected: row.selected }\"\n >\n <ng-container *ngIf=\"datatableSettings?.isLoading; else notLoadingCheckbox\">\n <div class=\"skeleton-box mu-mb-100 checkbox-loading\"></div>\n </ng-container>\n <ng-template #notLoadingCheckbox>\n <moz-checkbox\n (change)=\"\n selectionComponent.onUdpateSelectionRow(row); selectionRowEvent($event)\n \"\n [(ngModel)]=\"row.selected\"\n [checked]=\"row.selected || false\"\n [disabled]=\"row.disableSelection || false\"\n id=\"checkRow-{{ i }}\"\n >\n </moz-checkbox>\n </ng-template>\n </td>\n <ng-container *ngIf=\"hasSubRow() && !datatableSettings?.isLoading\">\n <td\n *ngIf=\"row['subRow']; else noSubRow\"\n class=\"mc-datatable__cell-button mc-datatable__fix-first-column\"\n [style.left.px]=\"getStyleLeftForColumnFixed()\"\n [ngClass]=\"{ selected: row.selected }\"\n >\n <button\n class=\"mc-datatable__expand mc-datatable__btn\"\n (click)=\"toggleRowExpansion(i); $event.stopPropagation()\"\n >\n <span class=\"mc-datatable__btn-icon\">\n <ng-container *ngIf=\"!expandedRows[i]; else subrowClosed\">\n <moz-icon [iconName]=\"'Navigation_Control_Circle--More_24px'\"></moz-icon>\n </ng-container>\n <ng-template #subrowClosed>\n <moz-icon [iconName]=\"'Navigation_Control_Circle--Less_24px'\"></moz-icon>\n </ng-template>\n </span>\n </button>\n </td>\n <ng-template #noSubRow\n ><td\n class=\"mc-datatable__cell-button mc-datatable__fix-first-column\"\n [style.left.px]=\"getStyleLeftForColumnFixed()\"\n [ngClass]=\"{ selected: row.selected }\"\n ></td\n ></ng-template>\n </ng-container>\n <ng-container *ngFor=\"let columnDef of getColumns()\">\n <td\n *ngIf=\"!columnDef.hide\"\n [ngClass]=\"{\n 'mc-datatable__fix-first-column':\n datatableSettings?.fixFirstColumn &&\n getUnhiddenColumns()[0].field === columnDef.field\n }\"\n [style.left.px]=\"getLeftValueFixFirstColumn()\"\n id=\"row-{{ i }}-{{ columnDef.field }}\"\n >\n <ng-container *ngIf=\"datatableSettings?.isLoading; else notLoadingCells\">\n <div class=\"skeleton-box mu-mb-100 cells-loading\"></div>\n </ng-container>\n <ng-template #notLoadingCells>\n <ng-container\n *ngIf=\"\n getCustomContent(columnDef.field) as customContent;\n else defaultContentCell\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n customContent;\n context: {\n $implicit: {\n row: row,\n index: i,\n columnDefs: datatableSettings?.columnDefs,\n content: row[columnDef.field]\n }\n }\n \"\n ></ng-container>\n </ng-container>\n <ng-template #defaultContentCell>\n {{ row[columnDef.field] }}\n </ng-template>\n </ng-template>\n </td>\n </ng-container>\n </tr>\n <ng-container>\n <tr *ngIf=\"expandedRows[i]\">\n <td [attr.colspan]=\"getColspanForExpansionRow()\">\n <ng-container\n *ngIf=\"getCustomExpansionRowContent() as expansionRowContentComponent\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n expansionRowContentComponent;\n context: {\n $implicit: {\n subRowContent: row['subRow'],\n index: i,\n }\n }\n \"\n ></ng-container>\n </ng-container>\n </td>\n </tr>\n </ng-container>\n </ng-container>\n </ng-container>\n <ng-template #emptyBody>\n <tr>\n <td class=\"mc-datatable__empty--td\" [attr.colspan]=\"getColspanForExpansionRow()\">\n <div class=\"mc-datatable__empty\">\n <p>\n <strong>\n {{\n datatableSettings?.labels?.emptyBodyTitle || 'There is no result.'\n }}</strong\n ><br />\n {{\n datatableSettings?.labels?.emptyBodyDescription ||\n 'Please try changing your filters.'\n }}\n </p>\n <div *ngIf=\"datatableSettings?.activateEmptyBodyButton\">\n <button\n moz-button\n [theme]=\"'neutral'\"\n [size]=\"'s'\"\n [variation]=\"'bordered'\"\n (click)=\"emptyButtonClickEvent()\"\n >\n <moz-icon\n iconName=\"{{\n datatableSettings?.icons?.emptyBodyButtonIcon ||\n 'Navigation_Display_Filter_24px'\n }}\"\n ></moz-icon>\n {{ datatableSettings?.labels?.emptyBodyButtonTitle || 'Change filters' }}\n </button>\n </div>\n </div>\n </td>\n </tr>\n </ng-template>\n </tbody>\n </table>\n </div>\n <moz-datatable-footer\n *ngIf=\"datatableSettings?.activatePagination\"\n [footerSettings]=\"footerSettings\"\n [isLoading]=\"datatableSettings?.isLoading\"\n (rowPerPageChangeEmitter)=\"rowPerPageChangeEvent($event)\"\n (pageChangeEmitter)=\"pageChangeEvent($event)\"\n ></moz-datatable-footer>\n </div>\n</div>\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n ViewChild,\n} from '@angular/core';\n\n@Component({\n selector: 'moz-datatable-caption',\n templateUrl: './moz-datatable-caption.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class MozDatatableCaptionComponent implements AfterViewInit {\n @ViewChild('parentRef') parentRef?: ElementRef;\n public showParent: boolean = true;\n\n constructor(private cdRef: ChangeDetectorRef) {}\n\n ngAfterViewInit() {\n if (\n this.parentRef?.nativeElement.children &&\n this.parentRef?.nativeElement.children.length === 0\n ) {\n this.showParent = false;\n }\n this.cdRef.detectChanges();\n }\n}\n","<div class=\"mc-datatable__topbar\">\n <div class=\"mc-datatable__topbar-edition\">\n <ng-content select=\"[edition]\"></ng-content>\n </div>\n <div class=\"mc-datatable__topbar-actions\">\n <ng-content select=\"[actions]\"></ng-content>\n </div>\n</div>\n<div class=\"mc-datatable__filters\" #parentRef *ngIf=\"showParent\">\n <ng-content select=\"[filters]\"></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { CheckboxModule } from '../checkbox/checkbox.module';\nimport { FormsModule } from '@angular/forms';\nimport { MozDatatableComponent } from './moz-datatable.component';\nimport { MozDatatableContentCellComponent } from './components/content/moz-datatable-content-cell.component';\nimport { MozDatatableHeaderCellComponent } from './components/header/moz-datatable-header-cell.component';\nimport { MozDatatableFooterComponent } from './components/footer/moz-datatable-footer.component';\nimport { MozDatatableCaptionComponent } from './components/caption/moz-datatable-caption.component';\nimport { MozDatatableSelectionComponent } from './components/selection/moz-datatable-selection.component';\nimport { PaginationModule } from '../pagination/pagination.module';\nimport { SelectModule } from '../select/select.module';\nimport { ButtonModule } from '../button/button.module';\nimport { MozDatatableRowExpansionContentComponent } from './components/row/moz-datatable-row-expansion-content.component';\nimport { MozDatatableSortDirective } from './directives/moz-datatable-sort.directive';\nimport { IconModule } from '../icon/icon.module';\nimport { ToggleModule } from '../toggle/toggle.module';\n\n@NgModule({\n declarations: [\n MozDatatableComponent,\n MozDatatableContentCellComponent,\n MozDatatableHeaderCellComponent,\n MozDatatableFooterComponent,\n MozDatatableCaptionComponent,\n MozDatatableRowExpansionContentComponent,\n MozDatatableSelectionComponent,\n MozDatatableSortDirective,\n ],\n imports: [\n CommonModule,\n PaginationModule,\n SelectModule,\n FormsModule,\n ButtonModule,\n CheckboxModule,\n IconModule,\n ToggleModule,\n ],\n exports: [\n MozDatatableComponent,\n MozDatatableContentCellComponent,\n MozDatatableHeaderCellComponent,\n MozDatatableFooterComponent,\n MozDatatableCaptionComponent,\n MozDatatableRowExpansionContentComponent,\n MozDatatableSelectionComponent,\n MozDatatableSortDirective,\n ],\n})\nexport class MozDatatableModule {}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { DividerPosition, DividerSize, DividerType } from './model/divider';\n\n@Component({\n selector: 'moz-dividers',\n templateUrl: './divider.component.html',\n styleUrls: ['./divider.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class DividerComponent {\n @Input() type?: DividerType = 'default';\n @Input() position?: DividerPosition = 'bottom';\n @Input() size?: DividerSize = 'm';\n}\n","<div\n class=\"mc-divider-{{ type }} mc-divider-{{ position }} mc-divider-{{ position }}--{{\n size\n }} mc-divider-{{ position }}--{{ type }} .custom-width\"\n>\n <ng-content select=\"[content]\"></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { DividerComponent } from './divider.component';\n\n@NgModule({\n declarations: [DividerComponent],\n imports: [CommonModule],\n exports: [DividerComponent],\n})\nexport class DividerModule {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n forwardRef,\n inject,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ButtonSizes } from '../button/button';\nimport { IconSize } from '../icon/icon-size';\nimport { ListboxItem } from '../listbox/model/listbox-item';\n\n@Component({\n selector: 'moz-dropdown',\n templateUrl: './dropdown.component.html',\n styleUrls: ['./dropdown.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DropdownComponent),\n multi: true,\n },\n ],\n standalone: false,\n})\nexport class DropdownComponent implements ControlValueAccessor, OnChanges {\n @Input() public listboxItems: ListboxItem[] = [];\n @Input() public multiple: boolean = false;\n @Input() public maxSelectable: number = Infinity;\n @Input() public placeholder: string = 'Placeholder';\n @Input() public disabled: boolean = false;\n @Input() public loading: boolean = false;\n @Input() public clearfield: boolean = false;\n @Input() public valid: boolean = false;\n @Input() public invalid: boolean = false;\n @Input() public showSelectedTag: boolean = false;\n @Input() public size: ButtonSizes = 'm';\n @Input() public layerTagsTitle: string = 'Dropdown tags';\n @Input() public layerTagsIcon: string = 'Navigation_Display_Setting_24px';\n @Input() public openState: boolean = false;\n @Input() public labelClearButton: string = 'Clear';\n @Input() public useVirtualScroll: boolean = false;\n\n @Output() public scrollEnd = new EventEmitter<boolean>();\n @Output() public isOpen = new EventEmitter<boolean>();\n\n public selectedItems: ListboxItem[] | ListboxItem | undefined;\n public initialListboxItems: ListboxItem[] = [];\n public iconSize = IconSize;\n\n private readonly cdr = inject(ChangeDetectorRef);\n\n constructor() {}\n\n onChange: any = () => {};\n onTouch: any = () => {};\n\n ngOnChanges(): void {\n this.initialListboxItems = this.listboxItems.map((item) => ({ ...item }));\n }\n\n writeValue(value: ListboxItem[] | ListboxItem | undefined): void {\n this.selectedItems = value;\n this.onChange(value);\n this.onTouch();\n this.cdr.detectChanges();\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n public openChangeEvent($event: boolean): void {\n this.isOpen.emit($event);\n }\n\n public openListbox(): void {\n this.openState = !this.openState;\n }\n\n public itemsSelectedListboxEvent(listboxItemSelected: ListboxItem[] | ListboxItem): void {\n if (!this.multiple) {\n this.openState = false;\n }\n this.updateItemsDisabledState(listboxItemSelected);\n this.writeValue(listboxItemSelected);\n }\n\n public clearFieldEvent(): void {\n if (!this.disabled) {\n this.selectedItems = undefined;\n this.openState = false;\n this.writeValue(this.selectedItems);\n }\n }\n\n public getMultiSelectedLabel(): string {\n if (this.multiple) {\n return (this.selectedItems as ListboxItem[]).map((item) => item.label).join(', ');\n }\n return '';\n }\n\n public getSelectedListboxItems(): ListboxItem[] {\n if (this.multiple && this.selectedItems) {\n return this.selectedItems as ListboxItem[];\n }\n return [];\n }\n\n public getSelectedListboxItem(): ListboxItem | undefined {\n if (!this.multiple && this.selectedItems) {\n return this.selectedItems as ListboxItem;\n }\n return undefined;\n }\n\n public getLabelFromMultipleSelection(): string {\n return this.getSelectedListboxItems().length > 0\n ? this.getMultiSelectedLabel()\n : this.placeholder;\n }\n\n public getIcon(): string {\n return this.getSelectedListboxItems().length > 0 && this.selectedItems\n ? ''\n : ((this.selectedItems as ListboxItem)?.icon ?? '');\n }\n\n public getCountryFlag(): string {\n return this.getSelectedListboxItems().length > 0 && this.selectedItems\n ? ''\n : ((this.selectedItems as ListboxItem)?.countryCode ?? '');\n }\n\n public getLabelFromMonoSelection(): string {\n return this.getSelectedListboxItem()?.label ?? this.placeholder;\n }\n\n public canClearField(): boolean {\n if (this.multiple) {\n return !this.disabled && this.clearfield && this.getSelectedListboxItems().length > 0;\n } else {\n return !this.disabled && this.clearfield && this.getSelectedListboxItem() != null;\n }\n }\n\n public scrollEndEvent($event: boolean): void {\n this.scrollEnd.emit($event);\n }\n\n private updateItemsDisabledState(selectedItems: ListboxItem[] | ListboxItem): void {\n const isLimitReached =\n this.multiple && (selectedItems as ListboxItem[]).length >= this.maxSelectable;\n\n this.listboxItems.forEach((item) => {\n const originalItem = this.initialListboxItems.find(\n (initItem) => initItem.value === item.value,\n );\n const isSelected = this.multiple\n ? (selectedItems as ListboxItem[]).some((selectedItem) => selectedItem.value === item.value)\n : selectedItems === item;\n\n item.disabled = (originalItem?.disabled ?? false) || (isLimitReached && !isSelected);\n });\n }\n}\n","<div\n class=\"mc-dropdown mc-dropdown--clearable\"\n [ngClass]=\"{ 'mc-dropdown--multi': multiple }\"\n [ngStyle]=\"{\n '--dropdown-tag-width':\n showSelectedTag && multiple && getSelectedListboxItems().length > 0 ? '3.5rem' : '',\n '--dropdown-width': '100%',\n }\"\n>\n <moz-listbox\n [listboxItems]=\"listboxItems\"\n [(isOpen)]=\"openState\"\n [multiple]=\"multiple\"\n [selectedItems]=\"selectedItems\"\n (itemsSelected)=\"itemsSelectedListboxEvent($event)\"\n (scrollEnd)=\"scrollEndEvent($event)\"\n (isOpenChange)=\"openChangeEvent($event)\"\n [useVirtualScroll]=\"useVirtualScroll\"\n >\n <div class=\"mc-dropdown__main\" reference>\n @if (showSelectedTag && multiple && getSelectedListboxItems().length > 0) {\n <moz-tag\n class=\"mc-dropdown__tag\"\n [ngClass]=\"{ 'mc-tag-removable mc-tag-removable--s': !disabled }\"\n [type]=\"disabled ? 'text' : 'removable'\"\n [size]=\"'s'\"\n (clickOnRemove)=\"clearFieldEvent()\"\n >\n {{ getSelectedListboxItems().length }}</moz-tag\n >\n }\n\n <button\n type=\"button\"\n id=\"trigger\"\n class=\"mc-select mc-dropdown__trigger mc-button--{{ size }}\"\n [ngClass]=\"{\n 'is-open': openState,\n 'is-invalid': invalid,\n 'is-valid': valid,\n }\"\n aria-haspopup=\"listbox\"\n [disabled]=\"disabled\"\n aria-expanded=\"false\"\n (click)=\"openListbox()\"\n >\n <div class=\"mc-dropdown__selected-items\">\n @if (multiple) {\n {{ getLabelFromMultipleSelection() }}\n } @else {\n @if (getIcon()) {\n <moz-icon [size]=\"iconSize.L\" [iconName]=\"getIcon()\"></moz-icon>\n }\n @if (getCountryFlag()) {\n <span class=\"flag flag:{{ getCountryFlag() }}\" style=\"--CountryFlagIcon-height: 1rem\">\n &nbsp;\n </span>\n }\n {{ getLabelFromMonoSelection() }}\n }\n </div>\n </button>\n\n <div class=\"mc-dropdown__tools\">\n @if (loading) {\n <div class=\"mc-dropdown__loader mc-loader mc-loader--s\">\n <span class=\"mc-loader__spinner\">\n <moz-loader class=\"mc-loader__icon\" size=\"s\"></moz-loader>\n </span>\n </div>\n }\n @if (canClearField()) {\n <button class=\"mc-dropdown__clear\" type=\"button\" (click)=\"clearFieldEvent()\">\n <moz-icon\n class=\"mc-dropdown__clear-icon\"\n [iconName]=\"'Navigation_Control_Tag--Cross_24px'\"\n ></moz-icon>\n <span class=\"mc-dropdown__clear-text\">{{ labelClearButton }}</span>\n </button>\n }\n </div>\n </div>\n </moz-listbox>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { DropdownComponent } from './dropdown.component';\nimport { ListboxModule } from '../listbox/listbox.module';\nimport { LoaderModule } from '../loader/loader.module';\nimport { IconModule } from '../icon/icon.module';\nimport { TagModule } from '../tag/tag.module';\nimport { FormsModule } from '@angular/forms';\nimport { TaglistModule } from '../taglist/taglist.module';\n\n@NgModule({\n declarations: [DropdownComponent],\n imports: [\n CommonModule,\n FormsModule,\n ListboxModule,\n LoaderModule,\n IconModule,\n TagModule,\n TaglistModule,\n ],\n exports: [DropdownComponent],\n})\nexport class DropdownModule {}\n","import { Directive, InjectionToken } from '@angular/core';\n\nexport const MOZ_INPUT_ICON = new InjectionToken<InputIconDirective>('MozInputIcon');\n\n@Directive({\n selector: '[mozInputIcon]',\n providers: [{ provide: MOZ_INPUT_ICON, useExisting: InputIconDirective }],\n standalone: false,\n})\nexport class InputIconDirective {}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'moz-field-error',\n templateUrl: './field-error.component.html',\n styleUrls: ['./field-error.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.mc-field__error-message]': 'true',\n },\n standalone: false,\n})\nexport class FieldErrorComponent {}\n","<ng-content></ng-content>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Input,\n QueryList,\n ViewEncapsulation,\n} from '@angular/core';\nimport { map, startWith } from 'rxjs';\nimport { InputIconDirective, MOZ_INPUT_ICON } from './directives/input-icon.directive';\n\n@Component({\n selector: 'moz-field',\n templateUrl: './field.component.html',\n styleUrls: ['./field.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class.mc-field]': 'true',\n },\n standalone: false,\n})\nexport class FieldComponent {\n @Input() public label = '';\n\n @Input() public requirementText = '';\n\n @Input() public helpText = '';\n\n @ContentChildren(MOZ_INPUT_ICON, { descendants: true })\n InputIconDirective?: QueryList<InputIconDirective>;\n\n public get viewLabel() {\n return !!(this.label || this.requirementText || this.helpText);\n }\n\n public get hasInputIcon() {\n return this.InputIconDirective?.changes.pipe(\n startWith(!!this.InputIconDirective?.length),\n map(() => !!this.InputIconDirective?.length),\n );\n }\n\n constructor(private readonly cd: ChangeDetectorRef) {}\n\n ngAfterViewInit() {\n this.cd.detectChanges();\n }\n}\n","<label class=\"mc-field__label\" *ngIf=\"viewLabel\">\n <span class=\"field__label-text\">{{ label }}</span>\n <span *ngIf=\"requirementText\" [attr.aria-hidden]=\"requirementText\" class=\"mc-field__requirement\">\n {{ requirementText }}\n </span>\n <span *ngIf=\"helpText\" id=\"helptext\" class=\"mc-field__help\">\n {{ helpText }}\n </span>\n</label>\n\n<ng-content></ng-content>\n\n<ng-template #inputIconTemplate>\n <ng-content select=\"[mozInputIcon]\"></ng-content>\n</ng-template>\n\n<ng-template #inputTemplate>\n <ng-content select=\"[moz-input]\"></ng-content>\n</ng-template>\n\n<div class=\"mc-left-icon-input\" *ngIf=\"hasInputIcon | async; else withoutIcon\">\n <ng-container [ngTemplateOutlet]=\"inputIconTemplate\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"inputTemplate\"></ng-container>\n</div>\n\n<ng-template #withoutIcon>\n <ng-container [ngTemplateOutlet]=\"inputTemplate\"></ng-container>\n</ng-template>\n\n<ng-content select=\"moz-field-error\"></ng-content>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { InputIconDirective } from './directives/input-icon.directive';\nimport { FieldErrorComponent } from './field-error.component';\nimport { FieldComponent } from './field.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [FieldComponent, FieldErrorComponent, InputIconDirective],\n exports: [FieldComponent, FieldErrorComponent, InputIconDirective],\n})\nexport class FieldModule {}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\n\n@Component({\n selector: 'moz-uploaded-files',\n templateUrl: './uploaded-files.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class UploadedFilesComponent {\n @Input() uploadedFiles: File[] | null = [];\n @Input() formControlNameForFiles: string[] = [];\n @Input() validatorsForFiles?: Function;\n @Input() allowedTypes: string[] = [];\n @Input() fileTypeErrorText?: string;\n\n @Output() deletedFile = new EventEmitter<File>();\n\n public filesFormGroup!: FormGroup;\n\n deleteFile(file: File): void {\n this.deletedFile.emit(file);\n }\n\n isFileValid(file: File): string | null {\n if (this.validatorsForFiles) {\n return this.validatorsForFiles(file);\n } else {\n return this.isValidType(file) ? null : this.fileTypeErrorText || '';\n }\n }\n\n isValidType(file: File): boolean {\n if (!this.allowedTypes || this.allowedTypes.length === 0) {\n return true;\n }\n\n if (!this.allowedTypes.includes(file.type)) {\n return false;\n }\n\n return true;\n }\n}\n","<ul class=\"mc-fileuploader__files\">\n <ng-container *ngFor=\"let file of uploadedFiles\">\n <li\n class=\"mc-fileuploader__file mc-fileuploader__file--is-valid\"\n *ngIf=\"isFileValid(file) === null; else isInvalid\"\n >\n <span class=\"mc-fileuploader__file-name\">{{ file.name }}</span>\n <span class=\"mc-fileuploader__file-icon\"></span>\n <button type=\"button\" class=\"mc-fileuploader__delete\" (click)=\"deleteFile(file)\"></button>\n </li>\n <ng-template #isInvalid>\n <li class=\"mc-fileuploader__file mc-fileuploader__file--is-invalid\">\n <span class=\"mc-fileuploader__file-name\">{{ file.name }}</span>\n <span class=\"mc-fileuploader__file-icon\"></span>\n <button type=\"button\" class=\"mc-fileuploader__delete\" (click)=\"deleteFile(file)\"></button>\n <div class=\"mc-fileuploader__file-message\">{{ isFileValid(file) }}</div>\n </li>\n </ng-template>\n </ng-container>\n</ul>\n","import { Directive, Output, EventEmitter, HostBinding, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[mozDragNDrop]',\n standalone: false,\n})\nexport class MozDragNDropDirective {\n @HostBinding('class.fileover') fileOver: boolean = false;\n @Output() fileDroppedEvent = new EventEmitter<File[]>();\n\n // Dragover listener\n @HostListener('dragover', ['$event']) onDragOver(evt: Event) {\n evt.preventDefault();\n evt.stopPropagation();\n this.fileOver = true;\n }\n\n // Dragleave listener\n @HostListener('dragleave', ['$event']) public onDragLeave(evt: Event) {\n evt.preventDefault();\n evt.stopPropagation();\n this.fileOver = false;\n }\n\n // Drop listener\n @HostListener('drop', ['$event']) public ondrop(evt: any) {\n evt.preventDefault();\n evt.stopPropagation();\n this.fileOver = false;\n const files = evt.dataTransfer.files;\n if (files.length > 0) {\n this.fileDroppedEvent.emit(files as File[]);\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n ViewEncapsulation,\n forwardRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'moz-file-uploader',\n templateUrl: './file-uploader.component.html',\n styleUrls: ['./file-uploader.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FileUploaderComponent),\n multi: true,\n },\n ],\n standalone: false,\n})\nexport class FileUploaderComponent implements ControlValueAccessor {\n @Input() allowedTypes: string[] = [];\n @Input() multiple: boolean = false;\n @Input() disabled: boolean = false;\n @Input() btnLabel?: string;\n @Input() attachmentLabel?: string;\n @Input() mandatoryLabel?: string;\n @Input() helpText?: string;\n @Input() fileTypeErrorText?: string;\n @Input() validatorsForFiles?: Function;\n\n public uploadedFiles: File[] = [];\n public uuid = Math.random();\n\n constructor(private readonly cdRef: ChangeDetectorRef) {}\n\n onChange: any = () => {};\n onTouch: any = () => {};\n\n public writeValue(files: File[]): void {\n this.uploadedFiles = [...(files ?? [])];\n this.onChange(this.uploadedFiles);\n this.onTouch();\n this.cdRef.markForCheck();\n }\n\n public registerOnChange(fn: (file: File[]) => void) {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: () => void) {\n this.onTouch = fn;\n }\n\n public uploadFileFromInput(event: Event): void {\n const target = event.target as HTMLInputElement;\n const files = target.files as FileList;\n\n if (files?.length) {\n this.uploadFile(Array.from(files));\n }\n\n this.writeValue(this.uploadedFiles);\n\n target.value = '';\n }\n\n public deleteFile(file: File): void {\n const filteredFiles = (this.uploadedFiles ?? []).filter(\n (uploadedFile) => uploadedFile !== file,\n );\n this.writeValue(filteredFiles.length > 0 ? filteredFiles : []);\n }\n\n public getAllowedTypesAsString(): string {\n if (this.allowedTypes && this.allowedTypes.length > 0) {\n return this.allowedTypes.join(', ');\n }\n return '';\n }\n\n public fileDropped(files: File[]): void {\n if (files.length) {\n this.uploadFile(Array.from(files));\n }\n }\n\n private uploadFile(files: File[]): void {\n if (this.multiple) {\n this.writeValue([...(this.uploadedFiles ?? []), ...files]);\n } else {\n this.writeValue(files);\n }\n }\n}\n","<div class=\"mc-field\" mozDragNDrop (fileDroppedEvent)=\"fileDropped($event)\">\n <label\n class=\"mc-field__label\"\n for=\"fileuploader_{{ uuid }}\"\n *ngIf=\"attachmentLabel || mandatoryLabel || helpText\"\n >\n <label class=\"mc-field__label\" for=\"fileuploader_{{ uuid }}\" *ngIf=\"attachmentLabel\">\n {{ attachmentLabel }}\n </label>\n <span class=\"mc-field__requirement\" *ngIf=\"mandatoryLabel\">\n {{ mandatoryLabel }}\n </span>\n <span class=\"mc-field__help\" *ngIf=\"helpText\"> {{ helpText }} </span>\n </label>\n\n <div class=\"mc-field__element mc-fileuploader\">\n <input\n type=\"file\"\n class=\"mc-fileuploader__input\"\n id=\"fileuploader_{{ uuid }}\"\n accept=\"{{ getAllowedTypesAsString() }}\"\n [disabled]=\"disabled\"\n (change)=\"uploadFileFromInput($event)\"\n [multiple]=\"multiple\"\n />\n <label for=\"fileuploader_{{ uuid }}\" class=\"mc-fileuploader__label\">\n <span class=\"mc-fileuploader__label--center\">\n {{ btnLabel }}\n </span>\n </label>\n <moz-uploaded-files\n [uploadedFiles]=\"uploadedFiles\"\n (deletedFile)=\"deleteFile($event)\"\n [validatorsForFiles]=\"validatorsForFiles\"\n [fileTypeErrorText]=\"fileTypeErrorText\"\n [allowedTypes]=\"allowedTypes\"\n ></moz-uploaded-files>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FileUploaderComponent } from './file-uploader.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { UploadedFilesComponent } from './components/uploaded-files/uploaded-files.component';\nimport { MozDragNDropDirective } from './directives/moz-drag-n-drop.directive';\n\n@NgModule({\n declarations: [FileUploaderComponent, UploadedFilesComponent, MozDragNDropDirective],\n imports: [CommonModule, FormsModule, ReactiveFormsModule],\n exports: [FileUploaderComponent, UploadedFilesComponent, MozDragNDropDirective],\n})\nexport class FileUploaderModule {}\n","export type titleSizes = 's' | 'm' | 'l' | 'xl';\nexport enum Direction {\n Up = 'Up',\n Down = 'Down',\n}\n","import {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n QueryList,\n ViewChild,\n} from '@angular/core';\nimport { BadgeType } from '../badge/badge';\nimport { Direction, titleSizes } from './model/header';\nimport { fromEvent, map, pairwise, startWith } from 'rxjs';\nimport { BreadcrumbComponent } from '../breadcrumb';\n\n@Component({\n selector: 'moz-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class HeaderComponent implements AfterViewInit, AfterContentInit {\n @Input() public title: string = '';\n @Input() public subtitle: string = '';\n @Input() public badgeType: BadgeType = 'information';\n @Input() public badgeContent: string = '';\n @Input() public size: titleSizes = 'm';\n @Input() public showShadow: boolean = true;\n @Input() public sticky: boolean = false;\n @Input() public activateAnimation: boolean = false;\n @Input() public showBack: boolean = false;\n @Input() public backButtonLabel: string = 'Back';\n\n @Output() public backEvent = new EventEmitter<boolean>();\n @Output() public directionChangeEvent = new EventEmitter<Direction>();\n @Output() public headerStateEvent = new EventEmitter<string>();\n\n @ViewChild('tabsRef') tabsRef?: ElementRef;\n @ViewChild('header') header!: ElementRef;\n @ViewChild('iconsWrapper') icons!: ElementRef;\n @ViewChild('selectorWrapper') selector!: ElementRef;\n @ContentChild(BreadcrumbComponent) breadcrumb?: BreadcrumbComponent;\n\n @ContentChildren('*') contentChildren!: QueryList<ElementRef>;\n\n public headerHeight = 0;\n public pinned = false;\n public unfixed = false;\n public unpinned = false;\n public direction?: Direction = Direction.Up;\n public showActions: boolean = true;\n public showBreadcrumb: boolean = true;\n public showTabs: boolean = true;\n private animate: boolean = false;\n\n constructor(\n private cdRef: ChangeDetectorRef,\n private elementRef: ElementRef,\n ) {}\n\n ngAfterViewInit(): void {\n this.headerHeight = this.header.nativeElement.offsetHeight;\n\n this.showActions =\n (this.icons && this.icons.nativeElement.children.length > 0) ||\n (this.selector && this.selector.nativeElement.children.length > 0);\n if (\n this.tabsRef == null ||\n (this.tabsRef?.nativeElement.children && this.tabsRef?.nativeElement.children.length === 0)\n ) {\n this.showTabs = false;\n }\n\n if (this.activateAnimation && this.sticky) {\n this.animate = true;\n this.scrollWithAnimationAndSticky();\n } else if (this.activateAnimation && !this.sticky) {\n this.scrollWithOnlyAnimation();\n }\n this.cdRef.detectChanges();\n }\n ngAfterContentInit(): void {\n this.showBreadcrumb = !!this.breadcrumb;\n this.cdRef.detectChanges();\n }\n\n public onParentScrollWithOnlyAnimation(parentElement: HTMLElement): void {\n let previousState = 'unfixed';\n const headerHeight = this.header.nativeElement.offsetHeight;\n\n let lastScrollTop = parentElement.scrollTop || 0;\n\n const handleScroll = () => {\n const currentScrollTop = parentElement.scrollTop || 0;\n\n if (currentScrollTop === 0) {\n this.unfixed = true;\n this.pinned = false;\n this.unpinned = false;\n this.headerStateEvent.emit('unfixed');\n previousState = 'unfixed';\n } else if (currentScrollTop < lastScrollTop && currentScrollTop > headerHeight) {\n this.pinned = true;\n this.unpinned = false;\n this.unfixed = false;\n this.headerStateEvent.emit('pinned');\n if (previousState !== 'unfixed') {\n this.triggerAnimation();\n } else {\n this.animate = false;\n }\n previousState = 'pinned';\n } else if (currentScrollTop > lastScrollTop && currentScrollTop > headerHeight) {\n this.unpinned = true;\n this.pinned = false;\n this.unfixed = false;\n this.headerStateEvent.emit('unpinned');\n if (previousState !== 'unfixed') {\n this.triggerAnimation();\n } else {\n this.animate = false;\n }\n previousState = 'unpinned';\n }\n this.direction = currentScrollTop > lastScrollTop ? Direction.Down : Direction.Up;\n this.directionChangeEvent.emit(this.direction);\n lastScrollTop = currentScrollTop;\n\n this.cdRef.detectChanges();\n };\n\n parentElement.addEventListener('scroll', handleScroll);\n }\n\n public scrollWithOnlyAnimation(): void {\n if (this.activateAnimation && !this.sticky) {\n const parentElement = this.findParentWithScroll(this.elementRef.nativeElement);\n\n if (parentElement) {\n this.onParentScrollWithOnlyAnimation(parentElement);\n } else {\n let previousState = 'unfixed';\n const headerHeight = this.header.nativeElement.getBoundingClientRect().height;\n fromEvent(window, 'scroll')\n .pipe(\n map(() => window.scrollY),\n startWith(0),\n pairwise(),\n map(([y1, y2]): Direction => {\n if (y2 === 0) {\n this.unfixed = true;\n this.pinned = false;\n this.unpinned = false;\n this.animate = false;\n this.headerStateEvent.emit('unfixed');\n previousState = 'unfixed';\n } else if (y2 < y1 && y2 > headerHeight) {\n this.pinned = true;\n this.unpinned = false;\n this.unfixed = false;\n previousState = 'pinned';\n this.headerStateEvent.emit('pinned');\n if (previousState !== 'unfixed') {\n this.triggerAnimation();\n } else {\n this.animate = false;\n }\n } else if (y2 > y1 && y2 > headerHeight) {\n this.unpinned = true;\n this.pinned = false;\n this.unfixed = false;\n this.headerStateEvent.emit('unpinned');\n if (previousState !== 'unfixed') {\n this.triggerAnimation();\n } else {\n this.animate = false;\n }\n previousState = 'unpinned';\n }\n return y2 < y1 ? Direction.Up : Direction.Down;\n }),\n )\n .subscribe((direction) => {\n this.direction = direction;\n this.directionChangeEvent.emit(this.direction);\n this.cdRef.detectChanges();\n });\n }\n }\n }\n\n public onParentScrollWithAnimationAndSticky(parentElement: HTMLElement): void {\n let lastScrollTop = parentElement.scrollTop || 0;\n\n const handleScroll = () => {\n const currentScrollTop = parentElement.scrollTop || 0;\n if (currentScrollTop > lastScrollTop) {\n this.direction = Direction.Down;\n } else {\n this.direction = Direction.Up;\n }\n this.directionChangeEvent.emit(this.direction);\n lastScrollTop = currentScrollTop;\n\n this.cdRef.detectChanges();\n };\n\n parentElement.addEventListener('scroll', handleScroll);\n }\n\n public scrollWithAnimationAndSticky(): void {\n if (this.animate && this.sticky) {\n const parentElement = this.findParentWithScroll(this.elementRef.nativeElement);\n\n if (parentElement) {\n this.onParentScrollWithAnimationAndSticky(parentElement);\n } else {\n fromEvent(window, 'scroll')\n .pipe(\n map(() => window.scrollY),\n pairwise(),\n map(([y1, y2]): Direction => {\n return y2 < y1 ? Direction.Up : Direction.Down;\n }),\n )\n .subscribe((direction) => {\n this.direction = direction;\n this.directionChangeEvent.emit(this.direction);\n this.cdRef.detectChanges();\n });\n }\n }\n }\n\n public findParentWithScroll(element: HTMLElement): HTMLElement | null {\n if (element.parentElement) {\n const parent = element.parentElement;\n const hasOverflow = window.getComputedStyle(parent).overflow;\n if (hasOverflow === 'auto' || hasOverflow === 'scroll') {\n return parent;\n } else {\n return this.findParentWithScroll(parent);\n }\n }\n return null;\n }\n\n public get headerClasses(): object {\n return {\n 'mc-header--shadow': this.showShadow,\n 'mc-header--sticky': this.sticky,\n 'mc-header--animate': this.animate,\n 'mc-header--up': this.animate && this.sticky && this.direction === 'Up',\n 'mc-header--down': this.animate && this.sticky && this.direction !== 'Up',\n 'mc-header--unfixed': this.activateAnimation && !this.sticky && this.unfixed,\n 'mc-header--unpinned': this.activateAnimation && !this.sticky && this.unpinned,\n 'mc-header--pinned': this.activateAnimation && !this.sticky && this.pinned,\n };\n }\n\n public back(): void {\n this.backEvent.emit(true);\n }\n\n public triggerAnimation(): void {\n this.animate = true;\n }\n}\n","<div #header class=\"mc-header\" [ngClass]=\"headerClasses\">\n <div class=\"mc-header__container\">\n\n <ng-content select=\"moz-breadcrumb\"></ng-content>\n\n <div class=\"mc-header__actions\" *ngIf=\"showActions\">\n <div class=\"mc-header__icons\">\n <div #iconsWrapper>\n <ng-content select=\"[icons]\"></ng-content>\n </div>\n </div>\n <div class=\"mc-header__selector\">\n <div #selectorWrapper>\n <ng-content select=\"[selector]\"></ng-content>\n </div>\n </div>\n </div>\n <div class=\"mc-header__content\">\n <div class=\"mc-header__content-main\">\n <button\n class=\"mc-header__back\"\n type=\"button\"\n *ngIf=\"showBack && !showBreadcrumb\"\n (click)=\"back()\"\n >\n <moz-icon iconName=\"Navigation_Arrow_Back_24px\"></moz-icon>\n <span class=\"mc-header__back-label\">{{ backButtonLabel }}</span>\n </button>\n <h1 class=\"mc-header__title mc-header__title--{{ size }}\">{{ title }}</h1>\n </div>\n <div\n class=\"mc-header__content-aside\"\n [ngClass]=\"[showBack && !showBreadcrumb ? 'can-navigate' : '']\"\n >\n <span class=\"mc-header__subtitle\" *ngIf=\"subtitle\">{{ subtitle }}</span>\n <div *ngIf=\"badgeContent\" moz-badge [type]=\"badgeType || 'information'\">\n {{ badgeContent }}\n </div>\n </div>\n </div>\n </div>\n <div class=\"mc-header__tabs mc-divider-top mc-divider-top--light\" #tabsRef *ngIf=\"showTabs\">\n <ng-container ngProjectAs=\"'moz-tabs'\">\n <ng-content select=\"moz-tabs\"></ng-content>\n </ng-container>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { HeaderComponent } from './header.component';\nimport { BadgeModule } from '../badge/badge.module';\nimport { IconModule } from '../icon/icon.module';\n\n@NgModule({\n declarations: [HeaderComponent],\n imports: [CommonModule, BadgeModule, IconModule],\n exports: [HeaderComponent],\n})\nexport class HeaderModule {}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { HeadingWeightType } from './heading-weight-type';\nimport { HeadingResponsiveAlignment } from './heading-alignment';\n\n@Component({\n selector: 'moz-heading',\n templateUrl: './heading.component.html',\n styleUrls: ['./heading.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class HeadingComponent {\n @Input() size: string = 'm';\n @Input() weight?: HeadingWeightType;\n @Input() underline: boolean = false;\n @Input() lightest: boolean = false;\n @Input() alignment?: HeadingResponsiveAlignment;\n @Input() lineHeightXS: boolean = false;\n @Input() underlineColor?: string;\n}\n","<p\n class=\"mt-heading\"\n [ngClass]=\"[\n underline\n ? 'mt-heading--underline'\n : weight && weight !== 'regular'\n ? 'mt-heading--' + weight\n : '',\n lightest ? 'mt-heading--lightest' : '',\n size ? 'mt-heading--' + size : 'mt-heading--s',\n lightest ? 'mt-heading--lightest' : '',\n alignment ? 'mt-heading--' + alignment : '',\n lineHeightXS ? 'mt-heading--line-height-xs' : '',\n underlineColor && underlineColor !== 'primary' ? 'mt-heading--line-' + underlineColor : ''\n ]\"\n>\n <ng-content></ng-content>\n</p>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { HeadingComponent } from './heading.component';\n\n@NgModule({\n declarations: [HeadingComponent],\n imports: [CommonModule],\n exports: [HeadingComponent],\n})\nexport class HeadingModule {}\n","export enum KpiSize {\n LARGE = 'large',\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { KpiSize } from './model/kpi';\n\n@Component({\n selector: 'moz-kpi',\n templateUrl: './kpi.component.html',\n styleUrls: ['./kpi.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class KpiComponent {\n @Input() value: string = '';\n @Input() iconname: string = '';\n @Input() iconcolor: string = '';\n @Input() label: string = '';\n @Input() type: string = '';\n @Input() detail: string = '';\n @Input() size: string | undefined = KpiSize.LARGE;\n\n public getSize(): string {\n if (this.size && this.size.length > 0) {\n return this.size;\n }\n\n let size = 'small';\n if (this.label && this.label.length > 0 && !this.detail) {\n size = 'medium';\n } else if (this.detail && this.detail.length > 0) {\n size = 'large';\n }\n return size;\n }\n\n public labelOutsideContent(): boolean {\n return this.label != null && this.label.length > 0 && this.getSize() !== 'large';\n }\n}\n","<div class=\"mc-kpi mc-kpi--{{ getSize() }} mc-kpi--{{ type }}\">\n <span class=\"mc-kpi__label\" *ngIf=\"labelOutsideContent()\">{{ label }}</span>\n <div class=\"mc-kpi__content\">\n <div class=\"mc-kpi__main\">\n <span class=\"mc-kpi__label\" *ngIf=\"!labelOutsideContent()\">{{ label }}</span>\n <span class=\"mc-kpi__value\">{{ value }}</span>\n </div>\n <div class=\"mc-kpi__aside\" ref=\"aside\" *ngIf=\"iconname || detail\">\n <span class=\"mc-kpi__detail\" *ngIf=\"detail\">{{ detail }}</span>\n <span class=\"mc-kpi__icon\" *ngIf=\"iconname\"\n ><moz-icon [iconName]=\"iconname\" [ngStyle]=\"{ fill: iconcolor }\"></moz-icon\n ></span>\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { KpiComponent } from './kpi.component';\nimport { IconModule } from '../icon/icon.module';\n\n@NgModule({\n declarations: [KpiComponent],\n imports: [CommonModule, IconModule],\n exports: [KpiComponent],\n})\nexport class KpiModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { LayerComponent } from './layer.component';\nimport { LayerService } from './layer.service';\nimport { IconModule } from '../icon/icon.module';\n\n@NgModule({\n imports: [CommonModule, IconModule],\n providers: [LayerService],\n declarations: [LayerComponent],\n exports: [LayerComponent],\n})\nexport class LayerModule {}\n","import { animate, group, query, style, transition, trigger } from '@angular/animations';\n\nexport const modalAnimation = trigger('modalAnimation', [\n transition(\n ':enter',\n group([\n query('.mc-modal', [\n style({ opacity: 0, transform: 'scale(0.7)' }),\n animate(200, style({ opacity: 1, transform: 'scale(1)' })),\n ]),\n ])\n ),\n transition(\n ':leave',\n group([\n query('.mc-modal', [\n style({ opacity: 1, transform: 'scale(1)' }),\n animate(200, style({ opacity: 0, transform: 'scale(0.1)' })),\n ]),\n ])\n ),\n]);\n","import { InjectionToken } from '@angular/core';\n\nexport const MODAL_CONFIG = new InjectionToken('MODAL_CONFIG');\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentRef,\n Inject,\n Input,\n OnDestroy,\n Type,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { modalAnimation } from './modal-animation';\nimport { ModalRef } from './interfaces/modal-ref';\nimport { MODAL_CONFIG } from './tokens/modal-config.token';\nimport { ModalConfig } from './interfaces/modal-config';\n\n@Component({\n selector: 'moz-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n animations: [modalAnimation],\n host: { '[@modalAnimation]': 'true' },\n standalone: false,\n})\nexport class ModalComponent implements AfterViewInit, OnDestroy {\n @Input() public modalRef!: ModalRef;\n @Input() public childComponentType!: Type<any>;\n @ViewChild('content', { read: ViewContainerRef, static: true })\n private readonly contentViewRef!: ViewContainerRef;\n\n public childComponentRef?: ComponentRef<any>;\n\n constructor(\n @Inject(MODAL_CONFIG) private config: ModalConfig,\n private cd: ChangeDetectorRef,\n ) {}\n\n public get icon(): string {\n return this.config.icon!;\n }\n\n public get title(): string {\n return this.config.title!;\n }\n\n public get hasCross(): boolean {\n return this.config.hasCross!;\n }\n\n public get minHeight(): string {\n return `${this.config.minHeight}px`;\n }\n\n public get layerIndex(): number {\n return this.config.layerIndex!;\n }\n\n public get modalContainerIndex(): number {\n return this.layerIndex + 1;\n }\n\n public get closeOnOverlay(): boolean {\n return this.config.closeOnOverlay!;\n }\n\n public ngAfterViewInit() {\n this.initChildComponent(this.childComponentType);\n }\n\n public ngOnDestroy(): void {\n this.modalRef.destroy();\n }\n\n public closeOnOutsideCLick(): void {\n if (this.closeOnOverlay) {\n this.close();\n }\n }\n\n public close() {\n this.modalRef.close();\n }\n\n private initChildComponent(componentType: Type<any>): void {\n this.childComponentRef = this.contentViewRef.createComponent(componentType);\n this.cd.detectChanges();\n }\n}\n","<div\n tabindex=\"-1\"\n role=\"dialog\"\n aria-labelledby=\"modal_title\"\n class=\"mc-modal\"\n [style.zIndex]=\"modalContainerIndex\"\n>\n <div role=\"document\" class=\"mc-modal__dialog is-open\" [style.minHeight]=\"minHeight\">\n <header class=\"mc-modal__header mc-divider-bottom mc-divider-bottom--light\">\n <span class=\"mc-modal__icon\" *ngIf=\"icon\">\n <moz-icon iconName=\"{{ icon }}\"></moz-icon>\n </span>\n <h2 class=\"mc-modal__title\" id=\"modalTitle\">{{ title }}</h2>\n <button class=\"mc-modal__close\" type=\"button\" (click)=\"close()\" *ngIf=\"hasCross\">\n <span class=\"mc-modal__close-text\">Close</span>\n </button>\n </header>\n <main class=\"mc-modal__body\">\n <article class=\"mc-modal__content\">\n <ng-template #content></ng-template>\n </article>\n </main>\n </div>\n</div>\n<div\n tabindex=\"-1\"\n role=\"dialog\"\n (click)=\"closeOnOutsideCLick()\"\n class=\"mc-modal-overlay is-visible\"\n [style.zIndex]=\"layerIndex\"\n></div>\n","import { InjectionToken } from '@angular/core';\n\nexport const MODAL_DATA = new InjectionToken('MODAL_DATA');\n","import { InjectionToken } from '@angular/core';\n\nexport const MODAL_REF = new InjectionToken('MODAL_REF');\n","import { Injector } from '@angular/core';\nimport { MODAL_REF, MODAL_CONFIG, MODAL_DATA } from '../tokens';\nimport { ModalRef } from '../interfaces/modal-ref';\nimport { ModalDIParams } from '../interfaces/modal-di-params';\n\nexport class ModalInjector implements Injector {\n private readonly parentInjector: Injector;\n private readonly modalRef: ModalRef;\n private additionalTokens!: WeakMap<object, unknown>;\n\n constructor({ injector, modalRef }: ModalDIParams) {\n this.parentInjector = injector;\n this.modalRef = modalRef;\n\n this.initAdditionalTokens();\n }\n\n public get(token: unknown, notFoundValue?: unknown, flags?: unknown): any;\n public get(token: any, notFoundValue?: any): any {\n const value = this.additionalTokens.get(token);\n\n if (value) {\n return value;\n }\n\n return this.parentInjector.get<any>(token, notFoundValue);\n }\n\n private initAdditionalTokens(): void {\n this.additionalTokens = new WeakMap();\n this.additionalTokens.set(MODAL_REF, this.modalRef);\n this.additionalTokens.set(MODAL_CONFIG, this.modalRef.config);\n this.additionalTokens.set(MODAL_DATA, this.modalRef.config.data);\n }\n}\n","import { ModalConfig } from '../interfaces/modal-config';\n\nexport class ModalConfigModel implements ModalConfig {\n title: string = '';\n hasCross: boolean = true;\n data?: unknown;\n layerIndex?: number;\n minHeight: number = 65;\n\n constructor(config: ModalConfig) {\n Object.assign(this, config);\n }\n}\n","import { ComponentRef } from '@angular/core';\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\nimport { getRandomNumber } from '../../../common';\nimport { ModalRef } from '../interfaces/modal-ref';\nimport { ModalConfig } from '../interfaces/modal-config';\nimport { ModalComponent } from '../modal.component';\n\nexport class ModalRefModel implements ModalRef {\n private readonly _config$ = new BehaviorSubject<ModalConfig>({});\n private readonly _afterClosed$ = new Subject<unknown>();\n\n private readonly _id = String(getRandomNumber(1, 100000));\n private _modalElement!: HTMLElement;\n private _componentRef!: ComponentRef<ModalComponent>;\n\n constructor(public modalConfig: ModalConfig) {\n this.init(modalConfig);\n }\n public get afterClosed$(): Observable<unknown> {\n return this._afterClosed$.asObservable();\n }\n\n public get config$(): Observable<ModalConfig> {\n return this._config$.asObservable();\n }\n\n public get config(): ModalConfig {\n return this._config$.getValue();\n }\n\n public get id(): string {\n return this._id;\n }\n\n public get modalElement(): HTMLElement {\n return this._modalElement;\n }\n\n public get componentRef(): ComponentRef<ModalComponent> {\n return this._componentRef;\n }\n\n public init(config: ModalConfig): void {\n this.updateConfig(config);\n }\n\n public updateConfig(config: ModalConfig): void {\n this._config$.next({ ...this.config, ...config });\n }\n\n public close<T = unknown>(result?: T): void {\n this._afterClosed$.next(result);\n }\n\n public setModalElement(element: HTMLElement): void {\n this._modalElement = element;\n }\n\n public setComponentRef(componentRef: ComponentRef<ModalComponent>): void {\n this._componentRef = componentRef;\n }\n\n public destroy(): void {\n this._config$.complete();\n this._afterClosed$.complete();\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n ApplicationRef,\n ComponentFactoryResolver,\n ComponentRef,\n EmbeddedViewRef,\n Inject,\n Injectable,\n Injector,\n Type,\n} from '@angular/core';\nimport { delay } from 'rxjs/operators';\nimport { ModalConfig } from './interfaces/modal-config';\nimport { ModalRef } from './interfaces/modal-ref';\nimport { ModalInjector } from './classes/modal-injector';\nimport { ModalConfigModel } from './classes/modal-config';\nimport { ModalRefModel } from './classes/modal-ref';\nimport { ModalComponent } from './modal.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ModalService {\n private _layer: number = 100;\n\n constructor(\n private readonly componentFactoryResolver: ComponentFactoryResolver,\n private readonly injector: Injector,\n private readonly applicationRef: ApplicationRef,\n @Inject(DOCUMENT) private readonly document: Document\n ) {}\n\n public open(component: Type<any>, config: ModalConfig = {}): ModalRef {\n this.addLayer();\n const modalRef = this.createModal({ ...config, layerIndex: this._layer });\n this.applyDataForCreatedModalInstance({ component, modalRef });\n\n return modalRef;\n }\n\n private createModal(config: ModalConfig) {\n const modalRef: ModalRef = new ModalRefModel(new ModalConfigModel(config));\n const modalInjector = new ModalInjector({ injector: this.injector, modalRef });\n const componentRef = this.createComponentRef(modalInjector);\n\n modalRef.setComponentRef(componentRef);\n this.initModalRefAfterClosedObserver(modalRef, componentRef);\n this.appendModalComponentToBody(componentRef);\n\n return modalRef;\n }\n\n private createComponentRef(modalInjector: ModalInjector): ComponentRef<ModalComponent> {\n return this.componentFactoryResolver\n .resolveComponentFactory(ModalComponent)\n .create(modalInjector);\n }\n\n private initModalRefAfterClosedObserver(\n modalRef: ModalRef,\n componentRef: ComponentRef<ModalComponent>\n ): void {\n const destroyDelayInMs = 50;\n modalRef.afterClosed$.pipe(delay(destroyDelayInMs)).subscribe(() => componentRef.destroy());\n }\n\n private appendModalComponentToBody(componentRef: ComponentRef<ModalComponent>): void {\n const componentHostView = componentRef.hostView as EmbeddedViewRef<unknown>;\n const componentHtmlElement = componentHostView.rootNodes[0] as HTMLElement;\n this.applicationRef.attachView(componentHostView);\n this.document.body.appendChild(componentHtmlElement);\n }\n\n private applyDataForCreatedModalInstance({\n modalRef,\n component,\n }: {\n modalRef: ModalRef;\n component: Type<any>;\n }): void {\n const { instance: modalInstance } = modalRef.componentRef;\n modalInstance.childComponentType = component;\n modalInstance.modalRef = modalRef;\n }\n\n private addLayer() {\n this._layer += 1;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { IconModule } from '../icon';\nimport { ModalComponent } from './modal.component';\nimport { ModalService } from './modal.service';\n\n@NgModule({\n declarations: [ModalComponent],\n imports: [CommonModule, IconModule],\n providers: [ModalService],\n exports: [ModalComponent],\n})\nexport class ModalModule {}\n","import { InjectionToken } from '@angular/core';\n\nexport type NotificationType = 'information' | 'success' | 'warning' | 'danger';\nexport type NotificationDirection = 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left';\n\nexport type NotificationSize = 'm' | 's';\n\nexport type Notification = {\n type?: NotificationType;\n title?: string;\n message: string;\n closable?: boolean;\n duration?: number;\n};\n\nexport type NotificationConfig = { duration: number };\n\nexport const NOTIFICATION_CONFIG = new InjectionToken<NotificationConfig>('NOTIFICATION_CONFIG');\n\nexport class NotificationConfigFactory {\n static create(config: Partial<NotificationConfig> = {}): NotificationConfig {\n return { duration: 3000, ...config };\n }\n}\n","import { animate, group, query, style, transition, trigger } from '@angular/animations';\n\nexport const NotificationAnimation = trigger('fadeIn', [\n transition(':enter', [\n style({ opacity: 0, transform: 'translateY({{enterOffsetY}}%)' }),\n animate('300ms ease-out', style({ opacity: 1, transform: 'translateY(0)' })),\n ]),\n transition(':leave', [\n group([\n query('.mc-notification__title', [animate('200ms', style({ opacity: 0, height: 0 }))], {\n optional: true,\n }),\n query('.mc-notification__message', [animate('200ms', style({ opacity: 0, height: 0 }))], {\n optional: true,\n }),\n query(\n '.mc-notification-closable__close',\n [animate('0ms', style({ opacity: 0, height: 0 }))],\n {\n optional: true,\n }\n ),\n query(':self', [\n animate(\n '300ms',\n style({ opacity: 0, height: 0, transform: 'translateY({{leaveOffsetY}}%)' })\n ),\n ]),\n ]),\n ]),\n]);\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NotificationSize, NotificationType } from './notification';\n\n@Component({\n selector: 'moz-notification',\n templateUrl: './notification.component.html',\n styleUrls: ['./notification.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class NotificationComponent {\n @Input() type?: NotificationType = 'information';\n @Input() size: NotificationSize = 'm';\n @Input() closable: boolean = false;\n\n @Output() closeEvent = new EventEmitter<boolean>();\n\n @HostBinding('class')\n public get hostCssClasses() {\n const staticClasses = 'mc-notification';\n const closableCssClass = this.closable ? 'mc-notification-closable' : '';\n const sizeCssClass = `mc-notification--${this.size}`;\n const typeCssClass = `mc-notification--${this.type}`;\n const dynamicClasses = `${sizeCssClass} ${typeCssClass}`;\n return `${staticClasses} ${dynamicClasses} ${closableCssClass}`;\n }\n\n public close(): void {\n this.closeEvent.emit(true);\n }\n}\n","<div class=\"mc-notification__content\">\n <ng-content select=\"[mozNotificationTitle]\"></ng-content>\n <ng-content select=\"[mozNotificationMessage]\"></ng-content>\n <ng-content select=\"[mozNotificationFooter]\"></ng-content>\n <button\n *ngIf=\"closable\"\n type=\"button\"\n class=\"mc-notification-closable__close\"\n title=\"Close\"\n (click)=\"close()\"\n ></button>\n</div>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n template: '<ng-content></ng-content>',\n selector: '[mozNotificationTitle]',\n styleUrls: ['./notification.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { '[class.mc-notification__title]': 'true' },\n standalone: false,\n})\nexport class NotificationTitleComponent {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n template: '<ng-content></ng-content>',\n selector: '[mozNotificationMessage]',\n styleUrls: ['./notification.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { '[class.mc-notification__message]': 'true' },\n standalone: false,\n})\nexport class NotificationMessageComponent {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n Input,\n Renderer2,\n} from '@angular/core';\nimport { BehaviorSubject, timer } from 'rxjs';\nimport {\n Notification,\n NotificationConfig,\n NOTIFICATION_CONFIG,\n NotificationDirection,\n} from './notification';\nimport { NotificationAnimation } from './notification-animation';\n\n@Component({\n selector: 'moz-notification-container',\n templateUrl: './notification-container.component.html',\n styleUrls: ['./notification-container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [NotificationAnimation],\n standalone: false,\n})\nexport class NotificationContainerComponent {\n @Input() public position: NotificationDirection = 'top-right';\n animationPosition: 'top' | 'bottom' = 'top';\n enterOffsetY = 0;\n leaveOffsetY = 0;\n private readonly _notifications = new BehaviorSubject<Notification[]>([]);\n\n constructor(\n @Inject(NOTIFICATION_CONFIG) private readonly notificationConfig: NotificationConfig,\n private renderer: Renderer2,\n private elt: ElementRef,\n ) {\n this.calculatePosition();\n }\n\n public get notifications() {\n return this._notifications.asObservable();\n }\n\n public add(notification: Notification) {\n this._notifications.next([...this._notifications.value, notification]);\n this.autoRemove(notification);\n }\n\n calculatePosition() {\n switch (this.position) {\n case 'top-right':\n this.setPosition(0, 'auto', 'auto', 0);\n break;\n case 'top-left':\n this.setPosition(0, 'auto', 0, 'auto');\n break;\n case 'bottom-right':\n this.setPosition('auto', 0, 'auto', 0);\n break;\n case 'bottom-left':\n this.setPosition('auto', 0, 0, 'auto');\n break;\n }\n\n if (this.position.includes('top')) {\n this.renderer.setStyle(this.elt.nativeElement, 'flex-direction', 'column');\n this.enterOffsetY = 100;\n this.leaveOffsetY = -100;\n } else {\n this.renderer.setStyle(this.elt.nativeElement, 'flex-direction', 'column-reverse');\n this.enterOffsetY = -100;\n this.leaveOffsetY = 100;\n }\n }\n\n setPosition(\n top: number | string,\n bottom: number | string,\n left: number | string,\n right: number | string,\n ) {\n this.renderer.setStyle(this.elt.nativeElement, 'top', top);\n this.renderer.setStyle(this.elt.nativeElement, 'bottom', bottom);\n this.renderer.setStyle(this.elt.nativeElement, 'left', left);\n this.renderer.setStyle(this.elt.nativeElement, 'right', right);\n }\n\n private autoRemove(notification: Notification): void {\n const duration =\n notification?.duration !== undefined\n ? notification.duration\n : this.notificationConfig.duration;\n if (duration > 0) {\n timer(duration).subscribe(() => this.remove(notification));\n }\n }\n\n public remove(notification: Notification): void {\n const isExist = this._notifications.value.includes(notification);\n if (isExist) {\n const newState = this._notifications.value.filter((n) => n !== notification);\n this._notifications.next(newState);\n }\n }\n}\n","<ng-container *ngFor=\"let notification of notifications | async\">\n <moz-notification size=\"s\" [type]=\"notification.type\" [@fadeIn]=\"{ value: null, params: { enterOffsetY, leaveOffsetY}}\" [closable]=\"!!notification.closable\" (closeEvent)=\" remove(notification)\">\n <h3 mozNotificationTitle *ngIf=\"notification.title\">{{ notification.title }}</h3>\n <p mozNotificationMessage *ngIf=\"notification.message\">{{ notification.message }}</p>\n </moz-notification>\n</ng-container>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n template: '<ng-content></ng-content>',\n selector: '[mozNotificationFooter]',\n styleUrls: ['./notification.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { '[class.mc-notification__footer]': 'true' },\n standalone: false,\n})\nexport class NotificationFooterComponent {}\n","import { DOCUMENT } from '@angular/common';\nimport {\n ApplicationRef,\n ComponentRef,\n EmbeddedViewRef,\n EnvironmentInjector,\n Inject,\n Injectable,\n createComponent,\n} from '@angular/core';\nimport { Notification } from './notification';\nimport { NotificationContainerComponent } from './notification-container.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NotificationService {\n set direction(value: 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left') {\n this.container.instance.position = value;\n this.container.instance.calculatePosition();\n }\n\n private readonly container!: ComponentRef<NotificationContainerComponent>;\n\n constructor(\n private readonly applicationRef: ApplicationRef,\n private readonly environmentInjector: EnvironmentInjector,\n @Inject(DOCUMENT) private readonly document: Document\n ) {\n this.container = this.createContainer();\n this.appendNotificationContainerToBody(this.container);\n }\n\n public add(notification: Notification) {\n this.container.instance.add(notification);\n }\n\n private createContainer(): ComponentRef<NotificationContainerComponent> {\n return createComponent(NotificationContainerComponent, {\n environmentInjector: this.environmentInjector,\n });\n }\n\n private appendNotificationContainerToBody(\n componentRef: ComponentRef<NotificationContainerComponent>\n ): void {\n const componentHostView = componentRef.hostView as EmbeddedViewRef<unknown>;\n const componentHtmlElement = componentHostView.rootNodes[0] as HTMLElement;\n this.applicationRef.attachView(componentHostView);\n this.document.body.appendChild(componentHtmlElement);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { NotificationConfig, NotificationConfigFactory, NOTIFICATION_CONFIG } from './notification';\nimport { NotificationContainerComponent } from './notification-container.component';\nimport { NotificationFooterComponent } from './notification-footer';\nimport { NotificationMessageComponent } from './notification-message';\nimport { NotificationTitleComponent } from './notification-title';\nimport { NotificationComponent } from './notification.component';\nimport { NotificationService } from './notification.service';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [\n NotificationComponent,\n NotificationTitleComponent,\n NotificationMessageComponent,\n NotificationFooterComponent,\n NotificationContainerComponent,\n ],\n providers: [\n NotificationService,\n {\n provide: NOTIFICATION_CONFIG,\n useValue: NotificationConfigFactory.create(),\n },\n ],\n exports: [\n NotificationComponent,\n NotificationTitleComponent,\n NotificationMessageComponent,\n NotificationFooterComponent,\n ],\n})\nexport class NotificationModule {\n static forRoot(\n config: Partial<NotificationConfig> = {}\n ): ModuleWithProviders<NotificationModule> {\n return {\n ngModule: NotificationModule,\n providers: [\n {\n provide: NOTIFICATION_CONFIG,\n useValue: NotificationConfigFactory.create(config),\n },\n ],\n };\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport { generateId } from '../../../common';\n\n@Component({\n selector: 'moz-option-button',\n templateUrl: './option-button.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class OptionButtonComponent {\n @Input() name?: string;\n @Input() value?: string;\n @Input() id!: string;\n @Output() clicked: EventEmitter<string> = new EventEmitter<string>();\n checked: boolean = false;\n\n constructor(private readonly cdRef: ChangeDetectorRef) {\n if (!this.id) {\n this.id = generateId();\n }\n }\n\n buttonClicked(): void {\n this.clicked.emit(this.id);\n }\n\n refreshView(): void {\n this.cdRef.markForCheck();\n }\n}\n","<div class=\"mc-option-button\">\n <input\n type=\"radio\"\n name=\"{{ name }}\"\n value=\"{{ value }}\"\n id=\"{{ id }}\"\n class=\"mc-option-button__input\"\n [checked]=\"checked\"\n (click)=\"buttonClicked()\"\n />\n <label class=\"mc-option-button__label\" for=\"{{ id }}\"><ng-content></ng-content></label>\n</div>\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n QueryList,\n ViewEncapsulation,\n forwardRef,\n} from '@angular/core';\nimport { OptionButtonComponent } from './option-button/option-button.component';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { OptionButtonSelected } from './public-api';\n\n@Component({\n selector: 'moz-option-buttons',\n templateUrl: './option-buttons.component.html',\n styleUrls: ['./option-buttons.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => OptionButtonsComponent),\n multi: true,\n },\n ],\n standalone: false,\n})\nexport class OptionButtonsComponent implements ControlValueAccessor, AfterContentInit {\n @ContentChildren(OptionButtonComponent)\n public optionButtonComponents?: QueryList<OptionButtonComponent>;\n\n public optionButtonSelected?: OptionButtonSelected;\n\n onChange: any = () => {};\n onTouch: any = () => {};\n\n ngAfterContentInit() {\n this.optionButtonComponents?.toArray().forEach((optionButton) => {\n optionButton.clicked.subscribe((id) => {\n this.writeValue({ id: id });\n });\n });\n }\n\n writeValue(value: OptionButtonSelected): void {\n if (value) {\n this.optionButtonSelected = value;\n this.onChange(value);\n this.onTouch();\n this.optionButtonComponents?.toArray().forEach((optionButton) => {\n if (optionButton.id === value.id) {\n optionButton.checked = true;\n optionButton.refreshView();\n }\n });\n }\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n}\n","<div class=\"mc-option-group\">\n <ng-content></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { OptionButtonsComponent } from './option-buttons.component';\nimport { OptionButtonComponent } from './option-button/option-button.component';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n imports: [CommonModule, FormsModule],\n declarations: [OptionButtonsComponent, OptionButtonComponent],\n exports: [OptionButtonsComponent, OptionButtonComponent],\n})\nexport class OptionButtonsModule {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport { OptionCardSelected, OptionCardType } from '../model/option-card';\n\n@Component({\n selector: 'moz-option-card',\n templateUrl: './option-card.component.html',\n styleUrls: ['./option-card.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class OptionCardComponent {\n @Input() public id!: string;\n @Input() public name?: string;\n @Input() public label?: string;\n @Input() public disabled: boolean = false;\n @Output() clicked: EventEmitter<OptionCardSelected> = new EventEmitter<OptionCardSelected>();\n\n public checked: boolean = false;\n public centered: boolean = false;\n public small: boolean = false;\n public noPadding: boolean = false;\n\n public type: OptionCardType = 'radio';\n\n constructor(private cd: ChangeDetectorRef) {}\n\n public cardChanged(id: string) {\n this.clicked.emit({ id: id });\n }\n\n public refreshView(): void {\n this.cd.markForCheck();\n this.cd.detectChanges();\n }\n}\n","<div\n class=\"mc-option-card\"\n [ngClass]=\"[\n centered ? 'mc-option-card--centered' : '',\n small ? 'mc-option-card--small' : '',\n noPadding ? 'mc-option-card--no-padding' : ''\n ]\"\n>\n <input\n type=\"{{ type }}\"\n name=\"{{ name }}\"\n id=\"{{ id }}\"\n class=\"mc-{{ type }}__input mc-option-card__input\"\n (change)=\"cardChanged(id)\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n />\n <label for=\"{{ id }}\" class=\"mc-option-card__label\">\n <span class=\"mc-option-card__label-text\">{{ label }}</span>\n </label>\n <div class=\"mc-option-card__content\">\n <ng-content select=\"[content]\"></ng-content>\n </div>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Inject,\n Injector,\n Input,\n OnInit,\n QueryList,\n ViewEncapsulation,\n forwardRef,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n FormControl,\n FormControlName,\n FormGroupDirective,\n NG_VALUE_ACCESSOR,\n NgControl,\n} from '@angular/forms';\nimport { OptionCardComponent } from './option-card/option-card.component';\nimport { OptionCardSelected, OptionCardType } from './model/option-card';\n\n@Component({\n selector: 'moz-option-cards',\n templateUrl: './option-cards.component.html',\n styleUrls: ['./option-cards.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => OptionCardsComponent),\n multi: true,\n },\n ],\n standalone: false,\n})\nexport class OptionCardsComponent implements ControlValueAccessor, OnInit {\n @ContentChildren(OptionCardComponent)\n public optionCardComponents?: QueryList<OptionCardComponent>;\n\n private _selectedOptionCards: OptionCardSelected[] = [];\n\n public control!: FormControl;\n\n public onOptionCardsChange: any = () => {};\n public onOptionCardsTouch: any = () => {};\n\n @Input()\n public optionCardType: OptionCardType = 'radio';\n\n @Input()\n public centered: boolean = false;\n\n @Input()\n public small: boolean = false;\n\n @Input()\n public noPadding: boolean = false;\n\n get selectedOptionCards(): OptionCardSelected[] {\n return this._selectedOptionCards;\n }\n\n set selectedOptionCards(value: OptionCardSelected[]) {\n this._selectedOptionCards = value;\n if (this.control) {\n this.control.setValue(this.selectedOptionCards);\n this.control.markAsDirty();\n this.control.markAsTouched();\n } else {\n this.writeValue(this.selectedOptionCards);\n }\n }\n\n constructor(@Inject(Injector) private injector: Injector) {}\n\n ngOnInit(): void {\n const ngControl = this.injector.get(NgControl);\n if (ngControl instanceof FormControlName) {\n this.control = this.injector.get(FormGroupDirective).getControl(ngControl);\n }\n }\n\n ngAfterContentInit() {\n this.optionCardComponents?.toArray().forEach((optionCard) => {\n optionCard.centered = this.centered;\n optionCard.noPadding = this.noPadding;\n optionCard.small = this.small;\n optionCard.type = this.optionCardType;\n optionCard.clicked.subscribe((optionCardSelected) => {\n this.selectedCardEvent(optionCardSelected);\n });\n });\n }\n\n writeValue(selectedOptionCards?: OptionCardSelected[]): void {\n if (selectedOptionCards) {\n this.onOptionCardsChange(selectedOptionCards);\n this.updateOptionCardChecked(selectedOptionCards);\n }\n }\n\n registerOnChange(fn: any): void {\n this.onOptionCardsChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onOptionCardsTouch = fn;\n }\n\n updateOptionCardChecked(selectedOptionCards?: OptionCardSelected[]): void {\n this.optionCardComponents?.toArray().forEach((optionCard) => {\n if (\n selectedOptionCards?.find((selectedOptionCard) => selectedOptionCard.id === optionCard.id)\n ) {\n optionCard.checked = true;\n } else if (this.optionCardType === 'radio') {\n optionCard.checked = false;\n }\n optionCard.refreshView();\n });\n }\n\n selectedCardEvent(selectedCard: OptionCardSelected): void {\n if (!this.optionCardType || this.optionCardType === 'radio') {\n this.selectedOptionCards = [];\n }\n const index = this.selectedOptionCards.findIndex((value) => value.id === selectedCard.id);\n if (index !== -1) {\n this.selectedOptionCards = [\n ...this.selectedOptionCards.slice(0, index),\n ...this.selectedOptionCards.slice(index + 1),\n ];\n } else {\n this.selectedOptionCards = [...this.selectedOptionCards, selectedCard];\n }\n }\n}\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { OptionCardsComponent } from './option-cards.component';\nimport { OptionCardComponent } from './option-card/option-card.component';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n imports: [CommonModule, FormsModule],\n declarations: [OptionCardsComponent, OptionCardComponent],\n exports: [OptionCardsComponent, OptionCardComponent],\n})\nexport class OptionCardsModule {}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'moz-overlay',\n templateUrl: './overlay.component.html',\n styleUrls: ['./overlay.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class OverlayComponent {\n @Input() public isVisible = false;\n}\n","<div class=\"mc-overlay\" [ngClass]=\"{ 'is-visible': isVisible }\">\n <ng-content select=\"[content]\"></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OverlayComponent } from './overlay.component';\n\n@NgModule({\n declarations: [OverlayComponent],\n imports: [CommonModule],\n exports: [OverlayComponent],\n})\nexport class OverlayModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n Inject,\n Injector,\n Input,\n OnInit,\n forwardRef,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n FormControl,\n FormControlName,\n FormGroupDirective,\n NG_VALUE_ACCESSOR,\n NgControl,\n} from '@angular/forms';\n\n@Component({\n selector: 'moz-password-input',\n templateUrl: './password-input.component.html',\n styleUrls: ['./password-input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PasswordInputComponent),\n multi: true,\n },\n ],\n standalone: false,\n})\nexport class PasswordInputComponent implements OnInit, ControlValueAccessor {\n @Input() public showLabel: string = 'Show';\n @Input() public hideLabel: string = 'Hide';\n @Input() public placeholder: string = 'Placeholder';\n @Input() public name: string = 'name';\n @Input() public id: string = 'id';\n @Input() public valid: boolean = false;\n @Input() public invalid: boolean = false;\n @Input() public disabled: boolean = false;\n\n public value: string = '';\n public hidePassword: boolean = false;\n\n public control!: FormControl;\n public onPasswordInputChange: any = () => {};\n public onPasswordInputTouch: any = () => {};\n\n constructor(@Inject(Injector) private injector: Injector) {}\n\n ngOnInit(): void {\n const ngControl = this.injector.get(NgControl);\n if (ngControl instanceof FormControlName) {\n this.control = this.injector.get(FormGroupDirective).getControl(ngControl);\n }\n }\n\n writeValue(value: string): void {\n if (value) {\n this.value = value;\n this.onPasswordInputChange(value);\n }\n }\n\n registerOnChange(fn: any): void {\n this.onPasswordInputChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onPasswordInputTouch = fn;\n }\n\n public showPassword(): void {\n this.hidePassword = !this.hidePassword;\n }\n\n public passwordChange($event: Event): void {\n const value = ($event.target as HTMLInputElement).value;\n if (this.control) {\n this.control.setValue(value);\n this.control.markAsDirty();\n this.control.markAsTouched();\n } else {\n this.writeValue(value);\n }\n }\n}\n","<div class=\"mc-password-input\">\n <input\n [ngClass]=\"[invalid ? 'is-invalid' : '', valid ? 'is-valid' : '']\"\n type=\"{{ hidePassword ? 'text' : 'password' }}\"\n class=\"mc-text-input mc-password-input__control\"\n id=\"{{ id }}\"\n placeholder=\"{{ placeholder }}\"\n name=\"{{ name }}\"\n value=\"{{ value }}\"\n [disabled]=\"disabled\"\n (input)=\"passwordChange($event)\"\n />\n <button\n type=\"button\"\n class=\"mc-password-input__button\"\n role=\"switch\"\n [disabled]=\"disabled\"\n aria-pressed=\"false\"\n (click)=\"showPassword()\"\n >\n {{ hidePassword ? hideLabel : showLabel }}\n </button>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { PasswordInputComponent } from './password-input.component';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [PasswordInputComponent],\n imports: [CommonModule, FormsModule],\n exports: [PasswordInputComponent],\n})\nexport class PasswordInputModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n forwardRef,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ListboxItem } from '../listbox/model/listbox-item';\n\n@Component({\n selector: 'moz-phone-number',\n templateUrl: './phone-number.component.html',\n styleUrls: ['./phone-number.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PhoneNumberComponent),\n multi: true,\n },\n ],\n standalone: false,\n})\nexport class PhoneNumberComponent implements ControlValueAccessor {\n @Input() public phoneNumbersByCountry: ListboxItem[] = [];\n @Input() public label?: string;\n @Input() public valid: boolean = false;\n @Input() public invalid: boolean = false;\n @Input() public errorMessage?: string;\n @Input() public placeholder?: string;\n @Input() public withFlag: boolean = true;\n @Input() public requirementText?: string;\n @Input() public helpText?: string;\n @Input() public phoneNumber?: string;\n @Input() public openState: boolean = false;\n @Input() public disabled: boolean = false;\n\n @Output() public phoneNumberContentChangeEvent = new EventEmitter<string>();\n @Output() public phoneNumberContentBlurEvent = new EventEmitter<string>();\n\n public selectedPhoneNumber: ListboxItem | undefined;\n public originalListboxParent?: HTMLElement | null;\n public destroyed = new Subject();\n public phoneNumberTypeChange: any = () => {};\n public onTouch: any = () => {};\n\n @ViewChild('button', { read: ElementRef }) buttonElementRef!: ElementRef;\n\n writeValue(value: ListboxItem | undefined): void {\n this.selectedPhoneNumber = value;\n this.phoneNumberTypeChange(value);\n }\n\n public registerOnChange(fn: any) {\n this.phoneNumberTypeChange = fn;\n }\n\n public registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n public openListbox(): void {\n if (this.openState) {\n this.openState = false;\n } else {\n this.openState = true;\n }\n }\n\n public itemsSelectedListboxEvent(listboxItemSelected: ListboxItem | ListboxItem[]): void {\n this.writeValue(listboxItemSelected as ListboxItem);\n this.openState = false;\n }\n\n public phoneNumberBlur($event: any): void {\n if ($event?.currentTarget?.value) {\n this.phoneNumberContentBlurEvent.emit($event.currentTarget.value);\n }\n }\n\n public phoneNumberContentChange($event: string): void {\n this.phoneNumberContentChangeEvent.emit($event);\n }\n}\n","<moz-listbox\n #listbox\n [listboxItems]=\"phoneNumbersByCountry\"\n [(isOpen)]=\"openState\"\n [selectedItems]=\"selectedPhoneNumber\"\n (itemsSelected)=\"itemsSelectedListboxEvent($event)\"\n>\n <moz-field\n reference\n [label]=\"label || ''\"\n [requirementText]=\"requirementText || ''\"\n [helpText]=\"helpText || ''\"\n >\n <div id=\"mc-phone-number\" class=\"mc-phone-number\">\n <div class=\"mc-phone-number__dropdown\">\n <button\n #button\n type=\"button\"\n [disabled]=\"disabled\"\n id=\"dropdown_country\"\n class=\"mc-phone-number__button\"\n [ngClass]=\"{ disabled: disabled }\"\n (click)=\"openListbox()\"\n >\n <ng-container *ngIf=\"withFlag; else noFlag\">\n <span\n *ngIf=\"selectedPhoneNumber?.countryCode\"\n class=\"flag flag:{{ selectedPhoneNumber?.countryCode }}\"\n style=\"--CountryFlagIcon-height: 1rem\"\n >&nbsp;</span\n >\n </ng-container>\n <ng-template #noFlag>\n <span class=\"mc-phone-number__flag\">\n {{ selectedPhoneNumber?.countryCode }}\n </span></ng-template\n >\n <span class=\"mc-phone-number__indicator\">{{ selectedPhoneNumber?.value }}</span>\n </button>\n </div>\n\n <input\n moz-input\n [type]=\"'tel'\"\n class=\"mc-phone-number__input\"\n id=\"smallField\"\n [invalid]=\"invalid\"\n [valid]=\"valid\"\n [disabled]=\"disabled\"\n [(ngModel)]=\"phoneNumber\"\n placeholder=\"{{ placeholder }}\"\n (ngModelChange)=\"phoneNumberContentChange($event)\"\n (blur)=\"phoneNumberBlur($event)\"\n />\n </div>\n <moz-field-error *ngIf=\"invalid\">{{ errorMessage }}</moz-field-error>\n </moz-field>\n</moz-listbox>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { PhoneNumberComponent } from './phone-number.component';\nimport { FieldModule } from '../field';\nimport { TextInputModule } from '../text-input';\nimport { FormsModule } from '@angular/forms';\nimport { ListboxModule } from '../listbox/listbox.module';\n\n@NgModule({\n imports: [CommonModule, FormsModule, ListboxModule, FieldModule, TextInputModule],\n declarations: [PhoneNumberComponent],\n exports: [PhoneNumberComponent],\n})\nexport class PhoneNumberModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ProgressBarSize } from './progress-bar-size';\nimport { ProgressBarTheme } from './progress-bar-theme';\n\n@Component({\n selector: 'moz-progress-bar',\n templateUrl: './progress-bar.component.html',\n styleUrls: ['./progress-bar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class ProgressBarComponent {\n @Input() public size: ProgressBarSize = 'm';\n\n @Input() public theme: ProgressBarTheme = 'default';\n\n @Input() public percent = 0;\n\n @Input() public displayPercentage: boolean = false;\n\n public get indicatorWidth() {\n return { width: `${this.percent}%` };\n }\n\n @HostBinding('class')\n public get hostCssClasses() {\n const sizeClass = `mc-progressbar--${this.size}`;\n const themeClass = `mc-progressbar--${this.theme}`;\n const textClass = this.displayPercentage ? `mc-progressbar--percent` : '';\n return `mc-progressbar ${sizeClass} ${themeClass} ${textClass}`;\n }\n}\n","<div\n class=\"mc-progressbar__indicator\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"percent\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [ngStyle]=\"indicatorWidth\"\n>\n <div *ngIf=\"displayPercentage\" class=\"mc-progressbar__percentage\">{{ percent }}%</div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ProgressBarComponent } from './progress-bar.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [ProgressBarComponent],\n exports: [ProgressBarComponent],\n})\nexport class ProgressBarModule {}\n","import { ChangeDetectionStrategy, Component, Input, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { QuantitySelectorSizes } from './model/quantity-selector';\n\n@Component({\n selector: 'moz-quantity-selector',\n templateUrl: './quantity-selector.component.html',\n styleUrls: ['./quantity-selector.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => QuantitySelectorComponent),\n multi: true,\n },\n ],\n standalone: false,\n})\nexport class QuantitySelectorComponent implements ControlValueAccessor {\n @Input() public label: string = '';\n @Input() public id: string = '';\n @Input() public placeholder: string = '';\n @Input() public valueMin: number = 0;\n @Input() public valueMax: number = 100;\n @Input() public inputAriaLabel: string = '';\n @Input() public decrementAriaLabel: string = '';\n @Input() public incrementAriaLabel: string = '';\n @Input() public size: QuantitySelectorSizes = 'm';\n @Input() public disabled: boolean = false;\n\n public value: number = 0;\n public onQuantitySelectorChange: any = () => {};\n public onQuantitySelectorTouch: any = () => {};\n\n public decrement(): void {\n if (this.value > this.valueMin) {\n this.writeValue(this.value - 1);\n }\n }\n\n public increment(): void {\n if (this.value < this.valueMax) {\n this.writeValue(this.value + 1);\n }\n }\n\n public contentChange($event: Event): void {\n const value = ($event.target as HTMLInputElement).value;\n if (value && +value <= this.valueMax && +value >= this.valueMin) {\n this.writeValue(+value);\n } else {\n ($event.target as HTMLInputElement).value = '' + this.value;\n }\n }\n\n public writeValue(value: number): void {\n this.value = value;\n this.onQuantitySelectorChange(value);\n }\n\n public registerOnChange(fn: any): void {\n this.onQuantitySelectorChange = fn;\n }\n\n public registerOnTouched(fn: any): void {\n this.onQuantitySelectorTouch = fn;\n }\n}\n","<moz-field [label]=\"label\">\n <div class=\"mc-quantity-selector\">\n <button\n [ngClass]=\"[\n value === valueMin || disabled ? 'is-disabled' : '',\n size ? 'mc-button--' + size : ''\n ]\"\n class=\"mc-button mc-button--square mc-button--bordered mc-quantity-selector__button-left\"\n [attr.aria-controls]=\"id || 'quantity-selector'\"\n [attr.aria-label]=\"decrementAriaLabel || 'Decrement'\"\n aria-hidden=\"true\"\n tabindex=\"-1\"\n [disabled]=\"value === valueMin || disabled\"\n type=\"button\"\n (click)=\"decrement()\"\n >\n <moz-icon class=\"mc-button__icon\" iconName=\"Navigation_Control_Less_48px\"></moz-icon>\n </button>\n\n <input\n [ngClass]=\"[size ? 'mc-text-input--' + size : '']\"\n [disabled]=\"disabled\"\n id=\"{{ id || 'quantity-selector' }}\"\n class=\"mc-text-input mc-quantity-selector__input\"\n name=\"quantity-selector-input\"\n [attr.aria-label]=\"inputAriaLabel || 'QuantitySelector'\"\n [attr.aria-valuemin]=\"valueMin\"\n [attr.aria-valuemax]=\"valueMax\"\n [attr.aria-valuenow]=\"value\"\n (change)=\"contentChange($event)\"\n [value]=\"value\"\n placeholder=\"{{ placeholder }}\"\n type=\"number\"\n />\n\n <button\n [ngClass]=\"[\n value === valueMax || disabled ? 'is-disabled' : '',\n size ? 'mc-button--' + size : ''\n ]\"\n class=\"mc-button mc-button--square mc-button--bordered mc-quantity-selector__button-right\"\n [attr.aria-controls]=\"id || 'quantity-selector'\"\n [attr.aria-label]=\"incrementAriaLabel || 'Increment'\"\n aria-hidden=\"true\"\n [disabled]=\"value === valueMax || disabled\"\n tabindex=\"-1\"\n type=\"button\"\n (click)=\"increment()\"\n >\n <moz-icon class=\"mc-button__icon\" iconName=\"Navigation_Control_More_48px\"></moz-icon>\n </button>\n </div>\n</moz-field>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { QuantitySelectorComponent } from './quantity-selector.component';\nimport { FieldModule } from '../field/field.module';\nimport { IconModule } from '../icon';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [QuantitySelectorComponent],\n imports: [CommonModule, FieldModule, IconModule, FormsModule],\n exports: [QuantitySelectorComponent],\n})\nexport class QuantitySelectorModule {}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { generateId } from '../../common';\n\n@Component({\n selector: 'moz-radio',\n templateUrl: './radio.component.html',\n styleUrls: ['./radio.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RadioComponent),\n multi: true,\n },\n ],\n standalone: false,\n})\nexport class RadioComponent implements ControlValueAccessor {\n @Input() public id?: string;\n @Input() public name: string = '';\n @Input() public invalid: boolean = false;\n @Input() public disabled: boolean = false;\n\n private toggleEvent: EventEmitter<string> = new EventEmitter<string>();\n\n private _checked = false;\n\n constructor() {\n if (!this.id) {\n this.id = generateId();\n }\n }\n\n public get checked() {\n return this._checked;\n }\n\n @Input()\n public set checked(v) {\n this._checked = v;\n this.onChange(this._checked);\n this.onTouch();\n }\n\n onChange: any = () => {};\n onTouch: any = () => {};\n\n writeValue(checked: boolean): void {\n this.checked = !!checked;\n this.toggleEvent.emit(this.id);\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n toggle() {\n this.writeValue(!this.checked);\n }\n}\n","<div class=\"mc-radio\">\n <input\n id=\"{{ id }}\"\n type=\"radio\"\n class=\"mc-radio__input\"\n name=\"{{ name }}\"\n (change)=\"toggle()\"\n [ngClass]=\"{ 'is-invalid': invalid }\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n />\n <label for=\"{{ id }}\" class=\"mc-radio__label\"><ng-content select=\"[label]\"></ng-content></label>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RadioComponent } from './radio.component';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [RadioComponent],\n imports: [CommonModule, FormsModule],\n exports: [RadioComponent],\n})\nexport class RadioModule {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n Injector,\n Input,\n OnInit,\n forwardRef,\n} from '@angular/core';\nimport { StarsSize } from '../model/rating-stars';\nimport {\n ControlValueAccessor,\n FormControl,\n FormControlName,\n FormGroupDirective,\n NG_VALUE_ACCESSOR,\n NgControl,\n} from '@angular/forms';\n\ntype RatingStar = {\n label: string;\n checked: boolean;\n};\n\n@Component({\n selector: 'moz-stars-input',\n templateUrl: './stars-input.component.html',\n styleUrls: ['./stars-input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => StarsInputComponent),\n multi: true,\n },\n ],\n standalone: false,\n})\nexport class StarsInputComponent implements OnInit, ControlValueAccessor {\n @Input() size: StarsSize = 'm';\n @Input() ratingLabels: string[] = ['Very bad', 'Bad', 'Medium', 'Good', 'Excellent'];\n @Input() unselectedText: string = 'No opinion given';\n @Input() name: string = 'rating';\n\n public onRatingStarChange: any = () => {};\n public onRatingStarTouch: any = () => {};\n\n public ratingStars: RatingStar[] = [];\n public selectedStar?: number;\n public control!: FormControl;\n\n constructor(\n @Inject(Injector) private injector: Injector,\n private cd: ChangeDetectorRef,\n ) {}\n\n ngOnInit(): void {\n this.ratingLabels.forEach((ratingLabel) => {\n this.ratingStars.push({ label: ratingLabel, checked: false });\n });\n const ngControl = this.injector && this.injector.get(NgControl);\n if (ngControl instanceof FormControlName) {\n this.control = this.injector.get(FormGroupDirective).getControl(ngControl);\n }\n }\n\n writeValue(value: number): void {\n if (value) {\n this.selectedStar = value;\n this.updateChecked();\n this.onRatingStarChange(value);\n }\n }\n\n registerOnChange(fn: any): void {\n this.onRatingStarChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onRatingStarTouch = fn;\n }\n\n private updateChecked(): void {\n if (this.selectedStar) {\n for (const [index, ratingStar] of this.ratingStars.entries()) {\n ratingStar.checked = true;\n\n if (index + 1 === this.selectedStar) {\n break;\n }\n }\n }\n }\n\n public clickStarEvent(index: number): void {\n if (this.control) {\n this.control.setValue(index);\n this.control.markAsDirty();\n this.control.markAsTouched();\n } else {\n this.writeValue(index);\n }\n }\n}\n","<div class=\"mc-stars-input mc-stars-input--{{ size }}\">\n <input\n type=\"radio\"\n name=\"{{ name }}\"\n value=\"0\"\n id=\"{{ name + '0' }}\"\n checked\n class=\"mc-stars-input__radio\"\n [attr.aria-label]=\"unselectedText\"\n />\n <ng-container *ngFor=\"let ratingStar of ratingStars; index as i\">\n <input\n type=\"radio\"\n name=\"{{ name }}\"\n (click)=\"clickStarEvent(i + 1)\"\n value=\"{{ i + 1 }}\"\n id=\"ratingstar{{ i + 1 }}\"\n [checked]=\"ratingStar.checked\"\n class=\"mc-stars-input__radio\"\n />\n <label for=\"ratingstar{{ i + 1 }}\" class=\"mc-stars-input__label\">\n <span class=\"mc-stars-input__text\">{{ ratingStar.label }}</span>\n </label>\n </ng-container>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { StarsInputComponent } from './stars-input.component';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n imports: [CommonModule, FormsModule],\n declarations: [StarsInputComponent],\n exports: [StarsInputComponent],\n})\nexport class StarsInputModule {}\n","export type RatingMapType = {\n [key: string]: number;\n};\n\nexport const RatingMap: RatingMapType = {\n '0.5': 10,\n '1': 20,\n '1.5': 30,\n '2': 40,\n '2.5': 50,\n '3': 60,\n '3.5': 70,\n '4': 80,\n '4.5': 90,\n '5': 100,\n};\n\nexport type StarsSize = 's' | 'm' | 'l' | 'xl';\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { RatingMap, StarsSize } from '../model/rating-stars';\n\n@Component({\n selector: 'moz-stars-result',\n templateUrl: './stars-result.component.html',\n styleUrls: ['./stars-result.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class StarsResultComponent {\n @Input() size: StarsSize = 'm';\n\n _score: number = 0;\n\n get score(): number {\n return this._score;\n }\n\n @Input() set score(score: number) {\n this._score = RatingMap[score];\n }\n}\n","<div class=\"mc-stars-result mc-stars-result--{{ size }} mc-stars-result--score-{{ score }}\">\n <span class=\"mc-stars-result__visual\"></span>\n <span class=\"mc-stars-result__label mc-stars-result__label--score\"\n ><ng-content select=\"[content]\"></ng-content\n ></span>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { StarsResultComponent } from './stars-result.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [StarsResultComponent],\n exports: [StarsResultComponent],\n})\nexport class StarsResultModule {}\n","export type SegmentedControlSize = 's' | 'm';\nexport const segmentedControlSizeDefault: SegmentedControlSize = 's';\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { SegmentedControlSize, segmentedControlSizeDefault } from './segmented-control-size';\n\n@Component({\n selector: 'moz-segmented-control',\n templateUrl: './segmented-control.component.html',\n styleUrls: ['./segmented-control.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class SegmentedControlComponent {\n @Input() size: SegmentedControlSize = segmentedControlSizeDefault;\n @Input() full = false;\n @Input() nowrap = false;\n}\n","<div class=\"mc-segmented-control\"\n [class.mc-segmented-control--m]=\"size ==='m'\"\n [class.mc-segmented-control--full]=\"full\"\n [class.mc-segmented-control--nowrap]=\"nowrap\">\n <ng-content></ng-content>\n</div>\n","import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'moz-segmented-control-button',\n templateUrl: './segmented-control-button.component.html',\n styleUrls: ['./segmented-control-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class SegmentedControlButtonComponent {\n @HostBinding('class') segment = 'mc-segmented-control__segment';\n @HostBinding('attr.tabindex') tabIndex = 0;\n}\n","<span class=\"mc-segmented-control__content\">\n <span class=\"mc-segmented-control__icon\"></span>\n <span class=\"mc-segmented-control__label\"><ng-content></ng-content></span>\n</span>\n","import { SegmentedControlComponent } from './segmented-control.component';\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SegmentedControlButtonComponent } from './segmented-control-button/segmented-control-button.component';\n\n@NgModule({\n declarations: [SegmentedControlComponent, SegmentedControlButtonComponent],\n imports: [CommonModule],\n exports: [SegmentedControlComponent, SegmentedControlButtonComponent],\n})\nexport class SegmentedControlModule {}\n","import { forwardRef } from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n Input,\n QueryList,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n selector: 'moz-sidebar-feature, a[moz-sidebar-feature]',\n templateUrl: './moz-sidebar-feature.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class MozSidebarFeatureComponent {\n @ContentChildren(forwardRef(() => MozSidebarFeatureComponent))\n public featuresCmp?: QueryList<MozSidebarFeatureComponent>;\n\n @ContentChild('icon', { static: false }) public tmplIcon!: TemplateRef<unknown>;\n @ContentChild('text', { static: false }) public tmplText!: TemplateRef<unknown>;\n\n @Input() link?: string | string[];\n @Input() selected = false;\n @Input() disable = false;\n\n public _category = false;\n public _subCategory = false;\n public localOpen = false;\n\n constructor() {}\n\n @Input()\n get category() {\n return this._category;\n }\n set category(value: boolean | '') {\n this._category = value === '';\n }\n\n @Input()\n get subCategory() {\n return this._subCategory;\n }\n set subCategory(value: boolean | '') {\n this._subCategory = value === '';\n }\n}\n","<ng-content></ng-content>\n","import {\n Component,\n ChangeDetectionStrategy,\n ContentChild,\n TemplateRef,\n Input,\n} from '@angular/core';\n\n@Component({\n selector: 'moz-sidebar-home, a[moz-sidebar-home]',\n templateUrl: './moz-sidebar-home.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class MozSidebarHomeComponent {\n @Input() link?: string | string[];\n @Input() selected = false;\n\n @ContentChild('icon') public tmplIcon!: TemplateRef<unknown>;\n @ContentChild('text') public tmplText!: TemplateRef<unknown>;\n}\n","<ng-content></ng-content>\n","import {\n Component,\n ChangeDetectionStrategy,\n ContentChild,\n TemplateRef,\n ContentChildren,\n QueryList,\n} from '@angular/core';\n\n@Component({\n selector: 'moz-sidebar-user',\n templateUrl: './moz-sidebar-user.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class MozSidebarUserComponent {\n @ContentChild(TemplateRef) public templateRef!: TemplateRef<unknown>;\n\n @ContentChild('picture', { static: false }) public tmplPicture!: TemplateRef<unknown>;\n @ContentChildren('feature') public features!: QueryList<TemplateRef<unknown>>;\n\n public localOpen = false;\n}\n","<ng-content></ng-content>\n","import { forwardRef } from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n Input,\n QueryList,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n selector: 'moz-sidebar-utility, a[moz-sidebar-utility]',\n templateUrl: './moz-sidebar-utility.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class MozSidebarUtilityComponent {\n @ContentChildren(forwardRef(() => MozSidebarUtilityComponent))\n public featuresCmp?: QueryList<MozSidebarUtilityComponent>;\n\n @ContentChild('icon', { static: false }) public tmplIcon!: TemplateRef<unknown>;\n @ContentChild('text', { static: false }) public tmplText!: TemplateRef<unknown>;\n\n @Input() link?: string | string[];\n @Input() selected = false;\n @Input() disable = false;\n\n public _category = false;\n\n @Input()\n get category() {\n return this._category;\n }\n set category(value: boolean | '') {\n this._category = value === '';\n }\n}\n","<ng-content></ng-content>\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n EventEmitter,\n Inject,\n Input,\n OnInit,\n Optional,\n Output,\n QueryList,\n forwardRef,\n} from '@angular/core';\nimport { RouterLinkActive, RouterLinkWithHref } from '@angular/router';\nimport { MozSidebarFeatureComponent } from './components/feature/moz-sidebar-feature.component';\nimport { MozSidebarHomeComponent } from './components/home/moz-sidebar-home.component';\nimport { MozSidebarUserComponent } from './components/user/moz-sidebar-user.component';\nimport { MozSidebarUtilityComponent } from './components/utility/moz-sidebar-utilty.component';\nimport { SidebarOptions } from './model/models';\n\n@Component({\n selector: 'moz-sidebar',\n styleUrls: ['./moz-sidebar.component.scss'],\n templateUrl: './moz-sidebar.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class MozSidebarComponent implements OnInit {\n @ContentChild(MozSidebarHomeComponent)\n public homeCmp?: MozSidebarHomeComponent;\n\n @ContentChildren(forwardRef(() => MozSidebarFeatureComponent))\n public featuresCmp?: QueryList<MozSidebarFeatureComponent>;\n\n @ContentChildren(MozSidebarUtilityComponent)\n public utilitiesCmp?: QueryList<MozSidebarUtilityComponent>;\n\n @ContentChild(MozSidebarUserComponent)\n public userCmp?: MozSidebarUserComponent;\n\n @Input() options?: SidebarOptions;\n\n @Output() opened: EventEmitter<boolean> = new EventEmitter();\n @Output() hovered: EventEmitter<boolean> = new EventEmitter();\n\n public localOpen = false;\n public isHover = false;\n public activeSubFeature?: MozSidebarFeatureComponent;\n\n public defaultOptions: SidebarOptions = {\n openOnHover: false,\n opened: true,\n closeOnSelect: true,\n };\n\n constructor(\n @Optional()\n @Inject(RouterLinkActive)\n public readonly routerLinkActive: RouterLinkActive | null,\n @Optional()\n @Inject(RouterLinkWithHref)\n public readonly routerLink: RouterLinkWithHref | null,\n ) {}\n\n ngOnInit() {\n this.options = { ...this.defaultOptions, ...this.options };\n this.localOpen = this.options.opened || false;\n }\n\n toggleSidebar() {\n this.localOpen = !this.localOpen;\n this.emitOpened();\n }\n\n toggleUser() {\n if (!this.userCmp) return;\n this.userCmp.localOpen = this.shouldBeOpen() ? !this.userCmp.localOpen : true;\n if (!this.shouldBeOpen()) this.toggleSidebar();\n }\n\n setIsHover(isHover: boolean) {\n if (!this.options?.openOnHover) return;\n this.isHover = isHover;\n this.hovered.emit(this.isHover);\n this.emitOpened();\n }\n\n shouldBeOpen() {\n if (this.options?.openOnHover) return this.localOpen || this.isHover;\n return this.localOpen;\n }\n\n select(\n item: MozSidebarFeatureComponent | MozSidebarHomeComponent | MozSidebarUtilityComponent,\n ): void {\n const clearAndHanddleCat = (elem: any) => {\n if (elem !== item && !elem.featuresCmp.some((it: any) => it === item)) {\n elem.selected = false;\n }\n elem.featuresCmp?.length && elem.featuresCmp.forEach((it: any) => clearAndHanddleCat(it));\n };\n this.featuresCmp?.forEach((it) => {\n clearAndHanddleCat(it);\n });\n this.utilitiesCmp?.forEach((it) => {\n clearAndHanddleCat(it);\n });\n\n item.selected = this.shouldBeOpen() ? !item.selected : true;\n if (this.options?.openOnHover) return;\n if (item instanceof MozSidebarFeatureComponent && item._category) {\n this.localOpen = true;\n this.emitOpened();\n } else {\n if (this.options?.closeOnSelect) {\n this.localOpen = false;\n this.emitOpened();\n }\n }\n }\n\n selectSubFeature(item: MozSidebarFeatureComponent) {\n this.activeSubFeature = item;\n }\n\n closeSubFeature() {\n this.activeSubFeature = undefined;\n }\n\n emitOpened() {\n this.opened.emit(this.shouldBeOpen());\n }\n}\n","<nav class=\"mc-sidebar\" (mouseenter)=\"setIsHover(true)\" (mouseleave)=\"setIsHover(false)\" [ngClass]=\"shouldBeOpen() ? 'is-open' : 'is-close'\">\n <div class=\"mc-sidebar__container\" [ngClass]=\"{'has-bottom-panel': userCmp}\">\n <button class=\"mc-sidebar__trigger\" type=\"button\" id=\"mc-sidebar__trigger\" (click)=\"toggleSidebar()\">\n <span class=\"mc-sidebar__trigger__container\">\n <moz-icon *ngIf=\"!localOpen\" [iconName]=\"'Navigation_Arrow_DoubleArrow--Right_24px'\"></moz-icon>\n <moz-icon *ngIf=\"localOpen\" [iconName]=\"'Navigation_Arrow_DoubleArrow--Left_24px'\"></moz-icon>\n </span>\n </button>\n <ng-container *ngTemplateOutlet=\"sidebarHome\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"separator\"></ng-container>\n\n <div class=\"mc-sidebar-section\">\n <ul [ngClass]=\"{'is-hidden': activeSubFeature && localOpen,\n 'is-visible': !activeSubFeature || !localOpen}\">\n <li *ngFor=\"let item of featuresCmp\">\n <ng-container *ngTemplateOutlet=\"sidebarFeatures; context: {item: item}\"></ng-container>\n </li>\n </ul>\n <ng-container *ngTemplateOutlet=\"tmplSubFeature; context: {feature: activeSubFeature}\"></ng-container>\n </div>\n <div class=\"mc-sidebar__utilities\">\n <div *ngFor=\"let utility of utilitiesCmp\">\n <ng-container *ngTemplateOutlet=\"separator\"></ng-container>\n <ul>\n <li class=\"mc-sidebar__utilities__item\">\n <ng-container *ngTemplateOutlet=\"sidebarUtility; context: {utility: utility}\"></ng-container>\n </li>\n </ul>\n </div>\n </div>\n\n </div>\n <ng-container *ngTemplateOutlet=\"sidebarUser\"></ng-container>\n</nav>\n\n<ng-template #sidebarHome>\n <ng-container *ngIf=\"homeCmp\">\n <button class=\"mc-sidebar-feature-group\" [ngClass]=\"shouldBeOpen() ? 'is-open' : 'is-close'\">\n <a href=\"#\" [routerLink]=\"homeCmp.link\">\n <span class=\"mc-sidebar-feature-group__container\" [ngClass]=\"shouldBeOpen() ? 'is-open' : 'is-close'\" (click)=\"select(homeCmp)\">\n <span class=\"mc-sidebar-feature-group__icon\">\n <ng-container *ngTemplateOutlet=\"homeCmp.tmplIcon\"></ng-container>\n </span>\n <ng-container *ngIf=\"shouldBeOpen()\">\n <span class=\"mc-sidebar-feature-group__label\">\n <ng-container *ngTemplateOutlet=\"homeCmp.tmplText\"></ng-container>\n </span>\n </ng-container>\n </span>\n </a>\n </button >\n </ng-container>\n</ng-template>\n\n<ng-template #sidebarFeatures let-item=\"item\">\n <ng-container *ngTemplateOutlet=\"tmplFeatureGroup\"></ng-container>\n\n <ul *ngIf=\"item?.category\" class=\"mc-sidebar-feature-group__content\" [ngClass]=\"{ 'is-open': shouldBeOpen() && item.selected, 'is-close': !shouldBeOpen() || !item.selected }\">\n <li *ngFor=\"let innerItem of item.featuresCmp\" id=\"innerFeature\">\n <ng-template *ngTemplateOutlet=\"tmplFeature; context: {feature: innerItem}\"></ng-template>\n </li>\n </ul>\n\n <ng-template #tmplFeatureGroup>\n <button class=\"mc-sidebar-feature-group\" (click)=\"select(item)\" [ngClass]=\"{ 'is-selected': item.selected && !item.category, 'is-open': shouldBeOpen(), 'is-close': !shouldBeOpen() }\">\n <a href=\"#\" [routerLink]=\"item.link\">\n <span class=\"mc-sidebar-feature-group__container\" [routerLink]=\"item.link\">\n <span class=\"mc-sidebar-feature-group__icon\">\n <ng-container *ngTemplateOutlet=\"item.tmplIcon\"></ng-container>\n </span>\n <div style=\"display:flex;\" *ngIf=\"shouldBeOpen()\">\n <span class=\"mc-sidebar-feature-group__label\">\n <ng-container *ngTemplateOutlet=\"item.tmplText\"></ng-container>\n </span>\n <div *ngIf=\"shouldBeOpen() && item?.category\">\n <moz-icon *ngIf=\"!item.selected\" [iconName]=\"'Navigation_Control_More_16px'\"></moz-icon>\n\n <moz-icon *ngIf=\"item.selected\" [iconName]=\"'Navigation_Control_Less_16px'\"></moz-icon>\n </div>\n </div>\n </span>\n </a>\n </button>\n </ng-template>\n\n</ng-template>\n\n<ng-template #tmplFeature let-feature=\"feature\">\n <button class=\"mc-sidebar-feature\" [ngClass]=\"{ 'is-selected': feature.selected, 'is-open': shouldBeOpen(), 'is-close': !shouldBeOpen() }\">\n <a href=\"#\" [routerLink]=\"feature.link\">\n <span class=\"mc-sidebar-feature__container\" (click)=\"feature.subCategory ? selectSubFeature(feature) : select(feature)\">\n <span class=\"mc-sidebar-feature__label\">\n <ng-container *ngTemplateOutlet=\"feature.tmplText\"></ng-container>\n </span>\n </span>\n </a>\n </button>\n</ng-template>\n\n<ng-template #tmplSubFeature let-feature=\"feature\">\n <div class=\"mc-sidebar-sub-feature\" *ngIf=\"!!feature\">\n <button class=\"mc-sidebar-sub-feature__trigger\" (click)=\"closeSubFeature()\">\n <span class=\"mc-sidebar-sub-feature__container\">\n <moz-icon *ngIf=\"shouldBeOpen()\" [iconName]=\"'Navigation_Arrow_Back_24px'\"></moz-icon>\n <span class=\"mc-sidebar-sub-feature__trigger__label\">\n <ng-container *ngTemplateOutlet=\"feature.tmplText\"></ng-container>\n </span>\n </span>\n </button>\n <ul>\n <li *ngFor=\"let item of feature.featuresCmp\" class=\"mc-sidebar-sub-feature__item\" id=\"sub-features\">\n <ng-template *ngTemplateOutlet=\"tmplFeature; context: {feature: item}\"></ng-template>\n </li>\n </ul>\n </div>\n</ng-template>\n\n<ng-template #sidebarUtility let-utility=\"utility\">\n <button class=\"mc-sidebar-segment\" [ngClass]=\"{ 'is-selected': utility.selected, 'is-open': shouldBeOpen(), 'is-close': !shouldBeOpen() }\">\n <a href=\"#\" [routerLink]=\"utility.link\">\n <span class=\"mc-sidebar-segment__container\" (click)=\"select(utility)\">\n <span class=\"mc-sidebar-segment__icon\">\n <ng-container *ngTemplateOutlet=\"utility.tmplIcon\"></ng-container>\n </span>\n <span class=\"mc-sidebar-segment__label\">\n <ng-container *ngTemplateOutlet=\"utility.tmplText\"></ng-container>\n </span>\n </span>\n </a>\n </button>\n</ng-template>\n\n<ng-template #sidebarUser>\n <ng-container *ngIf=\"userCmp && userCmp.templateRef\">\n <div class=\"mc-sidebar-user\" [ngClass]=\"shouldBeOpen() ? 'is-open' : 'is-close'\">\n <button class=\"mc-sidebar-user__header\" (click)=\"toggleUser()\">\n <span class=\"mc-sidebar-user__header__picture\">\n <ng-template #tmplProfilPicture>\n <ng-container *ngTemplateOutlet=\"userCmp.tmplPicture\"></ng-container>\n </ng-template>\n <moz-icon *ngIf=\"!userCmp.tmplPicture; else tmplProfilPicture\" [iconName]=\"'User_Account_Profile--View_24px'\"></moz-icon>\n </span>\n <div style=\"display:flex; width: 100%;\" *ngIf=\"shouldBeOpen()\">\n <p class=\"mc-sidebar-user__header__information\">\n <ng-container *ngTemplateOutlet=\"userCmp.templateRef\"></ng-container>\n </p>\n <span *ngIf=\"userCmp?.features?.length\" class=\"mc-sidebar-user__header__information__icon\">\n <moz-icon *ngIf=\"!userCmp.localOpen\" [iconName]=\"'Navigation_Control_More_16px'\"></moz-icon>\n\n <moz-icon *ngIf=\"userCmp.localOpen\" [iconName]=\"'Navigation_Control_Less_16px'\"></moz-icon>\n </span>\n </div>\n </button>\n\n\n <ul *ngIf=\"userCmp.features?.length && userCmp.localOpen && shouldBeOpen()\" [ngClass]=\"userCmp.localOpen ? 'is-open' : 'is-close'\"\n id=\"user-content\" ref=\"content\" class=\"mc-sidebar-user__content\">\n <li *ngFor=\"let userFeature of userCmp.features\">\n <button class=\"mc-sidebar-feature\" [ngClass]=\"{ 'is-open': shouldBeOpen(), 'is-close': !shouldBeOpen() }\">\n <span class=\"mc-sidebar-feature__container\">\n <span class=\"mc-sidebar-feature__label\">\n <ng-container *ngTemplateOutlet=\"userFeature\"></ng-container>\n </span>\n </span>\n </button>\n </li>\n </ul>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #separator>\n <span role=\"separator\" class=\"mc-sidebar-separator\" [ngClass]=\"shouldBeOpen() ? 'is-open' : 'is-close'\">\n </span>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, provideRouter } from '@angular/router';\nimport { IconModule } from '../icon/icon.module';\nimport { MozSidebarFeatureComponent } from './components/feature/moz-sidebar-feature.component';\nimport { MozSidebarHomeComponent } from './components/home/moz-sidebar-home.component';\nimport { MozSidebarUserComponent } from './components/user/moz-sidebar-user.component';\nimport { MozSidebarComponent } from './moz-sidebar.component';\nimport { MozSidebarUtilityComponent } from './components/utility/moz-sidebar-utilty.component';\n\n@NgModule({\n declarations: [\n MozSidebarComponent,\n MozSidebarHomeComponent,\n MozSidebarFeatureComponent,\n MozSidebarUtilityComponent,\n MozSidebarUserComponent,\n ],\n imports: [CommonModule, IconModule, RouterModule.forChild([])],\n providers: [provideRouter([])],\n exports: [\n MozSidebarComponent,\n MozSidebarHomeComponent,\n MozSidebarFeatureComponent,\n MozSidebarUtilityComponent,\n MozSidebarUserComponent,\n ],\n})\nexport class MozSidebarModule {}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { BottomBarComponent } from '../bottom-bar';\nimport { StepperBarEvent } from './types';\n\n@Component({\n selector: 'moz-stepper-bar',\n templateUrl: './stepper-bar.component.html',\n styleUrls: ['./stepper-bar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class StepperBarComponent extends BottomBarComponent {\n @Input() stepsNb: number = 1;\n /**\n * Label for the button 'next'\n */\n @Input() nextButtonLabel: string = 'Next';\n\n /**\n * Label for the button 'previous'\n */\n @Input() prevButtonLabel: string = 'Back';\n\n /**\n * Label for the button 'cancel'\n */\n @Input() cancelButtonLabel: string = 'Cancel';\n\n /**\n * Label for the button 'validate'\n */\n @Input() validateButtonLabel: string = 'Validate';\n\n /**\n * Whether the next button should be enabled, this can be used to prevent user to click the 'next' or 'validate' button.\n */\n @Input() nextBtnEnabled: boolean = true;\n\n /**\n * Emits StepperBarEvents upon actions on the bar elements\n */\n @Output() changed: EventEmitter<StepperBarEvent> = new EventEmitter<StepperBarEvent>();\n\n private currentStep = 1;\n\n public getCurrentStep(): number {\n return this.currentStep;\n }\n\n public handleNext(): void {\n if (this.currentStep < this.stepsNb) {\n this.currentStep += 1;\n this.changed.emit({ type: 'next-step', currentStep: this.currentStep });\n }\n }\n\n public handlePrevious(): void {\n const newStep = this.currentStep - 1;\n if (newStep >= 1) {\n this.currentStep = newStep;\n this.changed.emit({ type: 'previous-step', currentStep: this.currentStep });\n }\n }\n\n public handleSubmit(): void {\n this.changed.emit({ type: 'validate' });\n }\n\n public handleCancel(): void {\n this.changed.emit({ type: 'cancel' });\n }\n}\n","<moz-container\n [ngClass]=\"{ 'mc-bottom-bar': true, 'mc-stepper-bar': true, 'mc-bottom-bar--fixed': fixed }\"\n [fluid]=\"true\"\n>\n <button moz-button size=\"s\" variation=\"bordered\" theme=\"danger\" (click)=\"handleCancel()\">\n {{ cancelButtonLabel }}\n </button>\n <div class=\"mc-stepper-bar__actions\">\n <button\n moz-button\n *ngIf=\"getCurrentStep() > 1\"\n variation=\"bordered\"\n theme=\"neutral\"\n size=\"s\"\n (click)=\"handlePrevious()\"\n >\n {{ prevButtonLabel }}\n </button>\n <button\n moz-button\n class=\"mc-stepper-bar__next\"\n size=\"s\"\n [disabled]=\"!nextBtnEnabled\"\n (click)=\"getCurrentStep() < stepsNb ? handleNext() : handleSubmit()\"\n >\n {{ getCurrentStep() < stepsNb ? nextButtonLabel : validateButtonLabel }}\n </button>\n </div>\n</moz-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ButtonModule } from '../button/button.module';\nimport { ContainerModule } from '../container';\nimport { StepperBarComponent } from './stepper-bar.component';\n\n@NgModule({\n declarations: [StepperBarComponent],\n imports: [CommonModule, ContainerModule, ButtonModule],\n exports: [StepperBarComponent],\n})\nexport class StepperBarModule {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { StepState } from './step-state';\n\n@Component({\n selector: 'moz-step',\n templateUrl: './step.component.html',\n styleUrls: ['./stepper.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class StepComponent {\n @Input() public title = '';\n\n private _state: StepState = '';\n\n private _index = 0;\n\n public get validated(): boolean {\n return this.state === 'validated';\n }\n public get isCurrent(): boolean {\n return this.state === 'current';\n }\n\n public get indicator() {\n return this.index + 1;\n }\n\n public get index() {\n return this._index;\n }\n\n public set index(newIndex: number) {\n this._index = newIndex;\n this.cd.markForCheck();\n }\n\n public get state() {\n return this._state;\n }\n\n public set state(newState: StepState) {\n this._state = newState;\n this.cd.markForCheck();\n }\n\n constructor(private cd: ChangeDetectorRef) {}\n\n @HostBinding('class')\n public get hostCssClasses() {\n const stateClass = this.state ? `mc-stepper__item--${this.state}` : '';\n return `mc-stepper__item ${stateClass}`;\n }\n}\n","<span class=\"mc-stepper__indicator\" aria-hidden=\"true\">\n <moz-icon\n *ngIf=\"validated\"\n class=\"mc-stepper__icon\"\n iconName=\"Navigation_Notification_Available_16px\"\n ></moz-icon>\n <ng-container *ngIf=\"isCurrent\">{{ indicator }}</ng-container>\n</span>\n<div class=\"mc-stepper__detail\">\n <span class=\"mc-stepper__title\">{{ title }}</span>\n <span class=\"mc-stepper__label\">\n <ng-content></ng-content>\n </span>\n</div>\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n QueryList,\n SimpleChanges,\n} from '@angular/core';\nimport { StepState } from './step-state';\nimport { StepComponent } from './step.component';\n\n@Component({\n selector: 'moz-stepper',\n templateUrl: './stepper.component.html',\n styleUrls: ['./stepper.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class StepperComponent implements AfterViewInit, OnChanges {\n @Input() selectStepIndex: number = 0;\n\n @Input() viewCompact = false;\n\n @ContentChildren(StepComponent) private steps?: QueryList<StepComponent>;\n @ContentChildren(StepComponent, { read: ElementRef })\n private stepElements?: QueryList<ElementRef>;\n\n public ngAfterViewInit() {\n if (!this.steps) return;\n this.initStepIndex(this.steps);\n this.selectStep(this.steps, this.selectStepIndex);\n this.initCssVariablesForSteps(this.stepElements!);\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n this.updateSelectStepAtChanges(changes);\n }\n\n @HostBinding('class')\n public get hostCssClasses() {\n const viewCompactClass = this.viewCompact ? `mc-stepper--compact` : '';\n return `mc-stepper ${viewCompactClass}`;\n }\n\n private initStepIndex(steps: QueryList<StepComponent>) {\n steps.forEach((step, index) => (step.index = index));\n }\n\n private initCssVariablesForSteps(stepElements: QueryList<ElementRef>) {\n stepElements.forEach(this.initCssVariablesForStep);\n }\n\n private initCssVariablesForStep(\n elementRef: ElementRef,\n currentIndex: number,\n elementRefs: ElementRef[],\n ): void {\n elementRef.nativeElement.style = `--steps: ${elementRefs.length}; --current: ${\n currentIndex + 1\n }`;\n }\n\n private selectStep(steps: QueryList<StepComponent>, selectStepIndex: number) {\n steps.forEach((step) => this.updateStateStep(step, selectStepIndex));\n }\n\n private updateStateStep(step: StepComponent, selectStepIndex: number) {\n const oldState = step.state;\n const newState = this.stateDefinitionForStep(step.index, selectStepIndex);\n const hasChanges = oldState !== newState;\n if (!hasChanges) return;\n step.state = newState;\n }\n\n private stateDefinitionForStep(stepIndex: number, selectStepIndex: number): StepState {\n const isCurrentStep = stepIndex === selectStepIndex;\n const isValidatedStep = stepIndex < selectStepIndex;\n if (isCurrentStep) return 'current';\n if (isValidatedStep) return 'validated';\n return '';\n }\n\n private updateSelectStepAtChanges({ selectStepIndex }: SimpleChanges) {\n if (\n !this.steps ||\n !selectStepIndex ||\n selectStepIndex.currentValue === selectStepIndex.previousValue\n )\n return;\n this.selectStep(this.steps, selectStepIndex.currentValue);\n }\n}\n","<ol class=\"mc-stepper__list\">\n <ng-content select=\"moz-step\"></ng-content>\n</ol>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { IconModule } from '../icon/icon.module';\nimport { StepComponent } from './step.component';\nimport { StepperComponent } from './stepper.component';\n\n@NgModule({\n imports: [CommonModule, IconModule],\n declarations: [StepperComponent, StepComponent],\n exports: [StepperComponent, StepComponent],\n})\nexport class StepperModule {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n Inject,\n Input,\n Optional,\n ViewEncapsulation,\n} from '@angular/core';\nimport { RouterLinkActive, RouterLinkWithHref } from '@angular/router';\n\n@Component({\n selector: `a[moz-tab],span[moz-tab],div[moz-tab]`,\n templateUrl: './tab.component.html',\n styleUrls: ['./tab.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.mc-tabs__item]': 'true',\n '[class.mc-tabs__link]': 'true',\n '[class.mc-tabs__link--outline]': 'true',\n '[class.mc-tabs__link--selected]': 'selected',\n '[class.mc-tabs__link--disabled]': 'disabled',\n },\n standalone: false,\n})\nexport class TabComponent<T = any> {\n @HostBinding('attr.tab-index')\n public index: number = 0;\n\n @Input() public disabled = false;\n\n @Input() public data: T | null = null;\n\n public selected = false;\n\n constructor(\n @Optional()\n @Inject(RouterLinkActive)\n public readonly routerLinkActive: RouterLinkActive | null,\n @Optional()\n @Inject(RouterLinkWithHref)\n public readonly routerLink: RouterLinkWithHref | null,\n public readonly cdRef: ChangeDetectorRef,\n ) {}\n\n public get isAvailableTabForSelection() {\n return !this.selected && !this.disabled;\n }\n\n public get isActiveTab() {\n return !!this.routerLinkActive?.isActive;\n }\n\n public get link() {\n return this.routerLink?.href || null;\n }\n}\n","<button type=\"button\"\n aria-selected=\"true\"\n role=\"tab\"\n class=\"mc-tabs__element\"\n [class.mc-tabs__element--selected]=\"selected\">\n <span class=\"mc-tabs__text\"><ng-content></ng-content></span>\n</button>\n","export const TAB_SELECTORS = 'a,div,span';\nexport const TABS_SELECTOR = 'moz-tabs';\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Host,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n Output,\n QueryList,\n SimpleChanges,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport {\n combineLatest,\n delay,\n filter,\n first,\n fromEvent,\n map,\n merge,\n of,\n Subject,\n switchMap,\n takeUntil,\n tap,\n} from 'rxjs';\nimport { TABS_SELECTOR, TAB_SELECTORS } from './tab-selectors';\nimport { TabComponent } from './tab.component';\n\n@Component({\n selector: TABS_SELECTOR,\n templateUrl: './tabs.component.html',\n styleUrls: ['./tabs.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class.mc-tabs]': 'true',\n '[class.mc-tabs--full]': 'viewFullWidth',\n '[class.mc-tabs--full-centered]': 'fullWidthCenter',\n '[class.mc-tabs--no-shadow]': 'hideShadow',\n },\n standalone: false,\n})\nexport class TabsComponent implements AfterViewInit, OnDestroy, OnChanges {\n @Input() fullWidth = false;\n\n @Input() fullWidthCenter = false;\n\n @Input() hideShadow = false;\n\n @Input() selectTabIndex: number | null = null;\n\n @Output() selectedTabChange = new EventEmitter<TabComponent>();\n\n @ContentChildren(TabComponent) tabs?: QueryList<TabComponent>;\n\n private afterViewInit = new Subject<boolean>();\n\n private viewDestroyed = new Subject<boolean>();\n\n constructor(\n private readonly elementRef: ElementRef<HTMLElement>,\n private readonly cd: ChangeDetectorRef,\n @Host()\n @Optional()\n private readonly router: Router | null,\n ) {\n this.initBehaviorSelectForTab();\n }\n\n public get viewFullWidth(): boolean {\n return this.fullWidth && !this.fullWidthCenter;\n }\n\n public ngAfterViewInit() {\n this.afterViewInit.next(true);\n }\n\n public ngOnChanges({ selectTabIndex }: SimpleChanges) {\n if (selectTabIndex && typeof selectTabIndex.currentValue === 'number') {\n this.selectTabAtChanges(selectTabIndex.currentValue);\n }\n }\n\n public ngOnDestroy(): void {\n this.viewDestroyed.next(true);\n this.viewDestroyed.complete();\n }\n\n private initBehaviorSelectForTab() {\n const afterFullNavigateAndRender = this.getAfterFullNavigateAndRenderEvent();\n const tabsAfterNavigate = afterFullNavigateAndRender.pipe(\n map(() => this.tabs),\n filter(Boolean),\n );\n\n tabsAfterNavigate\n .pipe(\n tap((tabs) => this.initTabIndex(tabs)),\n tap((tabs) => this.initFirstSelectionTab(tabs)),\n switchMap((tabs) => this.getAllTabEvents(tabs)),\n tap((tab) => this.selectTab(this.tabs!, tab)),\n takeUntil(this.viewDestroyed),\n )\n .subscribe();\n }\n\n private initTabIndex(tabs: QueryList<TabComponent>) {\n tabs.forEach((tab, index) => (tab.index = index));\n this.cd.markForCheck();\n }\n\n private initFirstSelectionTab(tabs: QueryList<TabComponent>) {\n const activeTab = tabs.find((tab) => tab.isActiveTab);\n const selectTabByIndex =\n typeof this.selectTabIndex === 'number' && tabs.get(this.selectTabIndex);\n const firstSelectedTab = selectTabByIndex || activeTab || tabs.first;\n if (firstSelectedTab) {\n firstSelectedTab.selected = true;\n firstSelectedTab.cdRef.markForCheck();\n this.tryNavigateToTab(firstSelectedTab);\n }\n }\n\n private tryNavigateToTab(tab: TabComponent) {\n if (!tab.link || tab.isActiveTab) return;\n this.router?.navigate([tab.link]);\n }\n\n private selectTabAtChanges(selectTabIndex: number) {\n const newSelectTab = this.tabs?.get(selectTabIndex);\n if (!newSelectTab || !this.tabs) return;\n this.selectTab(this.tabs, newSelectTab);\n this.tryNavigateToTab(newSelectTab);\n }\n\n private getTabSelectionEvents(tabs: QueryList<TabComponent>) {\n const indexClickedTab = this.getIndexClickedTab();\n const clickedTab = indexClickedTab.pipe(map((tabIndex) => tabs.get(+tabIndex)));\n return clickedTab.pipe(\n filter(Boolean),\n filter((tab) => tab.isAvailableTabForSelection),\n );\n }\n\n private getTabActiveEvents(tabs: QueryList<TabComponent>) {\n const tabWithLink = tabs.filter(({ routerLinkActive }) => !!routerLinkActive);\n const tabsActiveEvent = tabWithLink.map((tab) => {\n return tab.routerLinkActive!.isActiveChange.pipe(\n filter(Boolean),\n map(() => tab),\n );\n });\n\n return merge(...tabsActiveEvent);\n }\n\n private getAfterFullNavigateAndRenderEvent() {\n const eventNavigationEnd =\n this.router?.events.pipe(\n filter((event) => event instanceof NavigationEnd),\n first(),\n ) || of(true);\n\n return combineLatest([eventNavigationEnd, this.afterViewInit]).pipe(delay(0));\n }\n\n private getIndexClickedTab() {\n return fromEvent<PointerEvent>(this.elementRef.nativeElement, 'click').pipe(\n map((event) => event.target as HTMLElement),\n filter(this.filterTabsElement.bind(this)),\n map((targetElement) => targetElement.closest(TAB_SELECTORS)),\n filter((tabElement): tabElement is HTMLAnchorElement => !!tabElement),\n map((tabElement) => tabElement.getAttribute('tab-index') as string),\n );\n }\n\n private getAllTabEvents(tabs: QueryList<TabComponent>) {\n return merge(this.getTabSelectionEvents(tabs), this.getTabActiveEvents(tabs));\n }\n\n private filterTabsElement({ nodeName }: HTMLElement) {\n return nodeName.toLowerCase() !== TABS_SELECTOR;\n }\n\n private selectTab(tabs: QueryList<TabComponent>, clickedTab: TabComponent) {\n tabs.forEach((tab) => {\n tab.selected = tab === clickedTab;\n tab.cdRef.markForCheck();\n });\n this.selectedTabChange.emit(clickedTab);\n\n this.cd.markForCheck();\n }\n}\n","<div class=\"mc-tabs__nav\" role=\"tablist\">\n <ng-content select=\"div [moz-tab]\"></ng-content>\n</div>\n\n\n\n\n\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TabComponent } from './tab.component';\nimport { TabsComponent } from './tabs.component';\n\n@NgModule({\n declarations: [TabsComponent, TabComponent],\n imports: [CommonModule],\n exports: [TabsComponent, TabComponent],\n})\nexport class TabsModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { castBooleanProperty } from '../../common';\n\n@Component({\n selector: 'textarea[moz-text-area]',\n template: '',\n styleUrls: ['./text-area.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class TextAreaComponent {\n private _invalid = false;\n\n private _valid = false;\n\n @HostBinding('class')\n public get hostCssClasses() {\n const staticClasses = 'mc-textarea';\n const validClass = this.valid ? 'is-valid' : '';\n const invalidClass = this.invalid ? 'is-invalid' : '';\n const dynamicClasses = `${validClass} ${invalidClass}`;\n return `${staticClasses} ${dynamicClasses}`;\n }\n\n public get invalid(): boolean {\n return this._invalid || false;\n }\n\n public get valid(): boolean {\n const valid = this._valid || false;\n return !this.invalid && valid;\n }\n\n @Input() public set invalid(val: boolean) {\n this._invalid = castBooleanProperty(val);\n }\n\n @Input() public set valid(val: boolean) {\n this._valid = castBooleanProperty(val);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { TextAreaComponent } from './text-area.component';\n\n@NgModule({\n declarations: [TextAreaComponent],\n exports: [TextAreaComponent],\n})\nexport class TextAreaModule {}\n","import { ElementRef, Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TooltipService {\n private currentTooltip: ElementRef | null = null;\n private hideTooltipSubject = new Subject<void>();\n private mutationObserver: MutationObserver | null = null;\n\n constructor() {\n this.mutationObserver = new MutationObserver(this.mutationObserverCallback.bind(this));\n\n this.mutationObserver.observe(document.body, {\n childList: true,\n subtree: true,\n });\n }\n\n public get hideTooltip$(): Observable<void> {\n return this.hideTooltipSubject.asObservable();\n }\n\n public setCurrentTooltip(tooltip: ElementRef): void {\n this.currentTooltip = tooltip;\n }\n\n private mutationObserverCallback(): void {\n if (this.currentTooltip && !document.body.contains(this.currentTooltip.nativeElement)) {\n this.hideTooltipSubject.next();\n }\n }\n}\n","import {\n Directive,\n ElementRef,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Renderer2,\n} from '@angular/core';\nimport { Subscription, tap } from 'rxjs';\nimport { TooltipService } from '../service/tooltip.service';\n\n@Directive({\n selector: '[mozTooltipDirective]',\n standalone: false,\n})\nexport class TooltipDirective implements OnInit, OnDestroy {\n @Input('mozTooltipDirective') tooltipContent: string = '';\n @Input() tooltipPosition: string = 'top';\n public tooltip: HTMLElement | null = null;\n public offset: number = 16;\n private hideTooltipSubscription: Subscription | undefined;\n\n constructor(\n private el: ElementRef,\n private renderer: Renderer2,\n private readonly tooltipService: TooltipService,\n ) {}\n\n @HostListener('mouseover')\n onMouseIn(): void {\n if (!this.tooltip) this.showTooltip();\n }\n\n @HostListener('mouseleave')\n onMouseOut(): void {\n if (this.tooltip) this.hideTooltip();\n }\n\n ngOnInit(): void {\n this.hideTooltipSubscription = this.tooltipService.hideTooltip$\n .pipe(tap(() => this.hideTooltip()))\n .subscribe();\n }\n\n ngOnDestroy(): void {\n this.hideTooltip();\n this.hideTooltipSubscription?.unsubscribe();\n }\n\n showTooltip(): void {\n this.tooltipService.setCurrentTooltip(this.el);\n this.tooltip = this.renderer.createElement('span');\n\n this.renderer.appendChild(this.tooltip, this.renderer.createText(this.tooltipContent));\n\n this.renderer.appendChild(document.body, this.tooltip);\n\n this.renderer.addClass(this.tooltip, 'mc-tooltip__content');\n this.renderer.addClass(this.tooltip, `mc-tooltip__content-${this.tooltipPosition}`);\n\n this.renderer.setStyle(this.tooltip, '-webkit-transition', `opacity 500ms`);\n this.renderer.setStyle(this.tooltip, '-moz-transition', `opacity 500ms`);\n this.renderer.setStyle(this.tooltip, '-o-transition', `opacity 500ms`);\n this.renderer.setStyle(this.tooltip, 'transition', `opacity 500ms`);\n\n this.setPosition();\n this.renderer.addClass(this.tooltip, 'mc-tooltip__content-show');\n }\n\n hideTooltip(): void {\n if (this.renderer && this.tooltip) {\n this.renderer.removeChild(document.body, this.tooltip);\n this.tooltip = null;\n }\n }\n\n setPosition(): void {\n if (this.tooltip) {\n const hostPos = this.el.nativeElement.getBoundingClientRect();\n const tooltipPos = this.tooltip.getBoundingClientRect();\n const scrollPos =\n window.scrollY || document.documentElement.scrollTop || document.body.scrollTop || 0;\n\n let top, left;\n\n if (this.tooltipPosition === 'top') {\n top = hostPos.top - tooltipPos.height - this.offset;\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\n }\n\n if (this.tooltipPosition === 'bottom') {\n top = hostPos.bottom + this.offset;\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\n }\n\n if (this.tooltipPosition === 'left') {\n top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;\n left = hostPos.left - tooltipPos.width - this.offset;\n }\n\n if (this.tooltipPosition === 'right') {\n top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;\n left = hostPos.right + this.offset;\n }\n\n if (top) {\n this.renderer.setStyle(this.tooltip, 'top', `${top + scrollPos}px`);\n this.renderer.setStyle(this.tooltip, 'left', `${left}px`);\n }\n }\n }\n}\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { TooltipPosition } from './tooltip-position';\n\n@Component({\n selector: 'moz-tooltip',\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class TooltipComponent {\n @Input() tooltipContent: string = '';\n @Input() tooltipPosition: TooltipPosition = 'top';\n}\n","<div\n class=\"mc-tooltip__main\"\n mozTooltipDirective=\"{{ tooltipContent }}\"\n tooltipPosition=\"{{ tooltipPosition }}\"\n>\n <ng-content></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TooltipComponent } from './tooltip.component';\nimport { TooltipDirective } from './directive/tooltip.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [TooltipComponent, TooltipDirective],\n exports: [TooltipComponent],\n})\nexport class TooltipModule {}\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { CardImageRatio } from './model/card';\n\n@Component({\n selector: 'moz-card',\n templateUrl: './card.component.html',\n styleUrls: ['./card.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class CardComponent {\n @Input() public outlined: boolean = false;\n @Input() public fluid: boolean = false;\n @Input() public imageSrc?: string;\n @Input() public imageAlt?: string;\n @Input() public imageRatio?: CardImageRatio = '4x3';\n}\n","<div class=\"mc-card\" [ngClass]=\"{ 'mc-card--bordered': outlined, 'mc-card--fluid': fluid }\">\n <figure class=\"mc-card__visual\" [ngClass]=\"[imageRatio ? 'mc-card__visual--' + imageRatio : '']\">\n <img src=\"{{ imageSrc }}\" alt=\"{{ imageAlt }}\" class=\"mc-card__img\" />\n </figure>\n <article class=\"mc-card__content\">\n <ng-content select=\"[title]\"></ng-content>\n <ng-content select=\"[subtitle]\"></ng-content>\n <div class=\"mc-card__body\">\n <ng-content select=\"[content]\"></ng-content>\n </div>\n <footer class=\"mc-card__footer\">\n <ng-content select=\"[footer]\"></ng-content>\n </footer>\n </article>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { CardComponent } from './card.component';\n\n@NgModule({\n declarations: [CardComponent],\n imports: [CommonModule],\n exports: [CardComponent],\n})\nexport class CardModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.ContainerComponent","i1","i1.IconService","i2.IconComponent","i3.ContainerComponent","i4.LoaderComponent","i5.ButtonComponent","i3.IconComponent","i4","OverlayModule","i2","i2.TagComponent","i1.TaglistService","i2.LayerService","i3","i4.TagComponent","i4.ListboxComponent","i5.IconComponent","i6.LoaderComponent","i7.TextInputComponent","i2.LinkComponent","i1.GlobalEventsService","i4.ButtonComponent","i5.SelectComponent","i6.IconComponent","i3.ButtonComponent","i4.CheckboxComponent","i6.ToggleComponent","i1.LayerService","i2.ButtonComponent","i2.PaginationComponent","i3.SelectComponent","i6.MozDatatableFooterComponent","i7.MozDatatableSelectionComponent","i8.MozDatatableSortDirective","i2.ListboxComponent","i3.LoaderComponent","i4.IconComponent","i5.TagComponent","i2.UploadedFilesComponent","i3.MozDragNDropDirective","i2.BadgeComponent","i2.NotificationComponent","i3.NotificationTitleComponent","i4.NotificationMessageComponent","i3.ListboxComponent","i4.FieldComponent","i5.FieldErrorComponent","i6.TextInputComponent","i2.FieldComponent","delay","i1.TooltipService","i1.TooltipDirective"],"mappings":"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"}
1
+ {"version":3,"file":"mozaic-ds-angular.mjs","sources":["../../../../projects/kit/common/utils/boolean-property.ts","../../../../projects/kit/common/utils/generate-id.ts","../../../../projects/kit/common/utils/get-random-number.ts","../../../../projects/kit/common/utils/overwrite-style.ts","../../../../projects/kit/components/accordion/accordion.component.ts","../../../../projects/kit/components/accordion/accordion.component.html","../../../../projects/kit/components/accordion/accordion.module.ts","../../../../projects/kit/components/container/container.component.ts","../../../../projects/kit/components/container/container.component.html","../../../../projects/kit/components/bottom-bar/bottom-bar.component.ts","../../../../projects/kit/components/bottom-bar/bottom-bar.component.html","../../../../projects/kit/components/container/container.module.ts","../../../../projects/kit/components/bottom-bar/bottom-bar.module.ts","../../../../projects/kit/components/icon/icon-size.ts","../../../../projects/kit/components/icon/icon.service.ts","../../../../projects/kit/components/icon/icon.component.ts","../../../../projects/kit/components/icon/icon.component.html","../../../../projects/kit/components/loader/loader.ts","../../../../projects/kit/components/loader/loader.component.ts","../../../../projects/kit/components/loader/loader.component.html","../../../../projects/kit/components/button/button.component.ts","../../../../projects/kit/components/button/button.component.html","../../../../projects/kit/components/action-bar/action-bar.component.ts","../../../../projects/kit/components/action-bar/action-bar.component.html","../../../../projects/kit/components/button/button.module.ts","../../../../projects/kit/components/icon/icon.module.ts","../../../../projects/kit/components/loader/loader.service.ts","../../../../projects/kit/components/loader/loader.module.ts","../../../../projects/kit/components/action-bar/action-bar.module.ts","../../../../projects/kit/components/action-bar/types/index.ts","../../../../projects/kit/components/listbox/listbox.component.ts","../../../../projects/kit/components/listbox/listbox.component.html","../../../../projects/kit/components/listbox/listbox.module.ts","../../../../projects/kit/components/tag/tag.component.ts","../../../../projects/kit/components/tag/tag.component.html","../../../../projects/kit/components/tag/tag.module.ts","../../../../projects/kit/components/layer/tokens/layer-config.token.ts","../../../../projects/kit/components/layer/tokens/layer-data.token.ts","../../../../projects/kit/components/layer/tokens/layer-ref.token.ts","../../../../projects/kit/components/taglist/components/taglist-layer-content/taglist-layer-content.component.ts","../../../../projects/kit/components/taglist/components/taglist-layer-content/taglist-layer-content.component.html","../../../../projects/kit/components/taglist/services/taglist.service.ts","../../../../projects/kit/components/layer/classes/layer-injector.ts","../../../../projects/kit/components/layer/classes/layer-ref.ts","../../../../projects/kit/components/layer/layer-animation.ts","../../../../projects/kit/components/layer/layer.component.ts","../../../../projects/kit/components/layer/layer.component.html","../../../../projects/kit/components/layer/layer.service.ts","../../../../projects/kit/components/taglist/taglist.component.ts","../../../../projects/kit/components/taglist/taglist.component.html","../../../../projects/kit/components/taglist/taglist.module.ts","../../../../projects/kit/components/text-input/text-input.component.ts","../../../../projects/kit/components/text-input/text-input.module.ts","../../../../projects/kit/components/autocomplete/autocomplete.component.ts","../../../../projects/kit/components/autocomplete/autocomplete.component.html","../../../../projects/kit/components/autocomplete/autocomplete.module.ts","../../../../projects/kit/components/badge/badge.ts","../../../../projects/kit/components/badge/badge.component.ts","../../../../projects/kit/components/badge/badge.component.html","../../../../projects/kit/components/badge/badge.module.ts","../../../../projects/kit/components/link/link.component.ts","../../../../projects/kit/components/link/link.component.html","../../../../projects/kit/components/breadcrumb/breadcrumb.component.ts","../../../../projects/kit/components/breadcrumb/breadcrumb.component.html","../../../../projects/kit/components/link/link.module.ts","../../../../projects/kit/components/breadcrumb/breadcrumb.module.ts","../../../../projects/kit/components/built-it-menu/built-it-menu.component.ts","../../../../projects/kit/components/built-it-menu/built-it-menu.component.html","../../../../projects/kit/components/built-it-menu/built-it-menu.module.ts","../../../../projects/kit/common/global-events/global-events.service.ts","../../../../projects/kit/common/global-events/global-events.module.ts","../../../../projects/kit/components/checkbox/checkbox.component.ts","../../../../projects/kit/components/checkbox/checkbox.component.html","../../../../projects/kit/components/checkbox-group/checkbox-group.component.ts","../../../../projects/kit/components/checkbox-group/checkbox-group.component.html","../../../../projects/kit/components/checkbox/checkbox.module.ts","../../../../projects/kit/components/checkbox-group/checkbox-group.module.ts","../../../../projects/kit/components/select/select.component.ts","../../../../projects/kit/components/select/select.component.html","../../../../projects/kit/components/select/select.module.ts","../../../../projects/kit/components/select/select-size.ts","../../../../projects/kit/components/pagination/pagination.ts","../../../../projects/kit/components/pagination/pagination.component.ts","../../../../projects/kit/components/pagination/pagination.component.html","../../../../projects/kit/components/pagination/pagination.module.ts","../../../../projects/kit/components/toggle/toggle.component.ts","../../../../projects/kit/components/toggle/toggle.component.html","../../../../projects/kit/components/toggle/toggle.module.ts","../../../../projects/kit/components/datatable-management/components/moz-datatable-management-content/moz-datatable-management-content.component.ts","../../../../projects/kit/components/datatable-management/components/moz-datatable-management-content/moz-datatable-management-content.component.html","../../../../projects/kit/components/datatable-management/moz-datatable-management.component.ts","../../../../projects/kit/components/datatable-management/moz-datatable-management.component.html","../../../../projects/kit/components/datatable-management/moz-datatable-management.module.ts","../../../../projects/kit/components/datatable/components/selection/moz-datatable-selection.component.ts","../../../../projects/kit/components/datatable/components/selection/moz-datatable-selection.component.html","../../../../projects/kit/components/datatable/components/header/moz-datatable-header-cell.component.ts","../../../../projects/kit/components/datatable/components/header/moz-datatable-header-cell.component.html","../../../../projects/kit/components/datatable/components/content/moz-datatable-content-cell.component.ts","../../../../projects/kit/components/datatable/components/content/moz-datatable-content-cell.component.html","../../../../projects/kit/components/datatable/components/row/moz-datatable-row-expansion-content.component.ts","../../../../projects/kit/components/datatable/components/row/moz-datatable-row-expansion-content.component.html","../../../../projects/kit/components/datatable/components/footer/moz-datatable-footer.component.ts","../../../../projects/kit/components/datatable/components/footer/moz-datatable-footer.component.html","../../../../projects/kit/components/datatable/directives/moz-datatable-sort.directive.ts","../../../../projects/kit/components/datatable/moz-datatable.component.ts","../../../../projects/kit/components/datatable/moz-datatable.component.html","../../../../projects/kit/components/datatable/components/caption/moz-datatable-caption.component.ts","../../../../projects/kit/components/datatable/components/caption/moz-datatable-caption.component.html","../../../../projects/kit/components/datatable/moz-datatable.module.ts","../../../../projects/kit/components/dividers/divider.component.ts","../../../../projects/kit/components/dividers/divider.component.html","../../../../projects/kit/components/dividers/divider.module.ts","../../../../projects/kit/components/dropdown/dropdown.component.ts","../../../../projects/kit/components/dropdown/dropdown.component.html","../../../../projects/kit/components/dropdown/dropdown.module.ts","../../../../projects/kit/components/field/directives/input-icon.directive.ts","../../../../projects/kit/components/field/field-error.component.ts","../../../../projects/kit/components/field/field-error.component.html","../../../../projects/kit/components/field/field.component.ts","../../../../projects/kit/components/field/field.component.html","../../../../projects/kit/components/field/field.module.ts","../../../../projects/kit/components/file-uploader/components/uploaded-files/uploaded-files.component.ts","../../../../projects/kit/components/file-uploader/components/uploaded-files/uploaded-files.component.html","../../../../projects/kit/components/file-uploader/directives/moz-drag-n-drop.directive.ts","../../../../projects/kit/components/file-uploader/file-uploader.component.ts","../../../../projects/kit/components/file-uploader/file-uploader.component.html","../../../../projects/kit/components/file-uploader/file-uploader.module.ts","../../../../projects/kit/components/header/model/header.ts","../../../../projects/kit/components/header/header.component.ts","../../../../projects/kit/components/header/header.component.html","../../../../projects/kit/components/header/header.module.ts","../../../../projects/kit/components/heading/heading.component.ts","../../../../projects/kit/components/heading/heading.component.html","../../../../projects/kit/components/heading/heading.module.ts","../../../../projects/kit/components/kpi/model/kpi.ts","../../../../projects/kit/components/kpi/kpi.component.ts","../../../../projects/kit/components/kpi/kpi.component.html","../../../../projects/kit/components/kpi/kpi.module.ts","../../../../projects/kit/components/layer/layer.module.ts","../../../../projects/kit/components/modal/modal-animation.ts","../../../../projects/kit/components/modal/tokens/modal-config.token.ts","../../../../projects/kit/components/modal/modal.component.ts","../../../../projects/kit/components/modal/modal.component.html","../../../../projects/kit/components/modal/tokens/modal-data.token.ts","../../../../projects/kit/components/modal/tokens/modal-ref.token.ts","../../../../projects/kit/components/modal/classes/modal-injector.ts","../../../../projects/kit/components/modal/classes/modal-config.ts","../../../../projects/kit/components/modal/classes/modal-ref.ts","../../../../projects/kit/components/modal/modal.service.ts","../../../../projects/kit/components/modal/modal.module.ts","../../../../projects/kit/components/notification/notification.ts","../../../../projects/kit/components/notification/notification-animation.ts","../../../../projects/kit/components/notification/notification.component.ts","../../../../projects/kit/components/notification/notification.component.html","../../../../projects/kit/components/notification/notification-title.ts","../../../../projects/kit/components/notification/notification-message.ts","../../../../projects/kit/components/notification/notification-container.component.ts","../../../../projects/kit/components/notification/notification-container.component.html","../../../../projects/kit/components/notification/notification-footer.ts","../../../../projects/kit/components/notification/notification.service.ts","../../../../projects/kit/components/notification/notification.module.ts","../../../../projects/kit/components/option-buttons/option-button/option-button.component.ts","../../../../projects/kit/components/option-buttons/option-button/option-button.component.html","../../../../projects/kit/components/option-buttons/option-buttons.component.ts","../../../../projects/kit/components/option-buttons/option-buttons.component.html","../../../../projects/kit/components/option-buttons/option-buttons.module.ts","../../../../projects/kit/components/option-cards/option-card/option-card.component.ts","../../../../projects/kit/components/option-cards/option-card/option-card.component.html","../../../../projects/kit/components/option-cards/option-cards.component.ts","../../../../projects/kit/components/option-cards/option-cards.component.html","../../../../projects/kit/components/option-cards/option-cards.module.ts","../../../../projects/kit/components/overlay/overlay.component.ts","../../../../projects/kit/components/overlay/overlay.component.html","../../../../projects/kit/components/overlay/overlay.module.ts","../../../../projects/kit/components/password-input/password-input.component.ts","../../../../projects/kit/components/password-input/password-input.component.html","../../../../projects/kit/components/password-input/password-input.module.ts","../../../../projects/kit/components/phone-number/phone-number.component.ts","../../../../projects/kit/components/phone-number/phone-number.component.html","../../../../projects/kit/components/phone-number/phone-number.module.ts","../../../../projects/kit/components/progress-bar/progress-bar.component.ts","../../../../projects/kit/components/progress-bar/progress-bar.component.html","../../../../projects/kit/components/progress-bar/progress-bar.module.ts","../../../../projects/kit/components/quantity-selector/quantity-selector.component.ts","../../../../projects/kit/components/quantity-selector/quantity-selector.component.html","../../../../projects/kit/components/quantity-selector/quantity-selector.module.ts","../../../../projects/kit/components/radio/radio.component.ts","../../../../projects/kit/components/radio/radio.component.html","../../../../projects/kit/components/radio/radio.module.ts","../../../../projects/kit/components/rating-stars/input/stars-input.component.ts","../../../../projects/kit/components/rating-stars/input/stars-input.component.html","../../../../projects/kit/components/rating-stars/input/stars-input.module.ts","../../../../projects/kit/components/rating-stars/model/rating-stars.ts","../../../../projects/kit/components/rating-stars/result/stars-result.component.ts","../../../../projects/kit/components/rating-stars/result/stars-result.component.html","../../../../projects/kit/components/rating-stars/result/stars-result.module.ts","../../../../projects/kit/components/segmented-control/segmented-control-size.ts","../../../../projects/kit/components/segmented-control/segmented-control.component.ts","../../../../projects/kit/components/segmented-control/segmented-control.component.html","../../../../projects/kit/components/segmented-control/segmented-control-button/segmented-control-button.component.ts","../../../../projects/kit/components/segmented-control/segmented-control-button/segmented-control-button.component.html","../../../../projects/kit/components/segmented-control/segmented-control.module.ts","../../../../projects/kit/components/sidebar/components/feature/moz-sidebar-feature.component.ts","../../../../projects/kit/components/sidebar/components/feature/moz-sidebar-feature.component.html","../../../../projects/kit/components/sidebar/components/home/moz-sidebar-home.component.ts","../../../../projects/kit/components/sidebar/components/home/moz-sidebar-home.component.html","../../../../projects/kit/components/sidebar/components/user/moz-sidebar-user.component.ts","../../../../projects/kit/components/sidebar/components/user/moz-sidebar-user.component.html","../../../../projects/kit/components/sidebar/components/utility/moz-sidebar-utilty.component.ts","../../../../projects/kit/components/sidebar/components/utility/moz-sidebar-utility.component.html","../../../../projects/kit/components/sidebar/moz-sidebar.component.ts","../../../../projects/kit/components/sidebar/moz-sidebar.component.html","../../../../projects/kit/components/sidebar/moz-sidebar.module.ts","../../../../projects/kit/components/stepper-bar/stepper-bar.component.ts","../../../../projects/kit/components/stepper-bar/stepper-bar.component.html","../../../../projects/kit/components/stepper-bar/stepper-bar.module.ts","../../../../projects/kit/components/stepper/step.component.ts","../../../../projects/kit/components/stepper/step.component.html","../../../../projects/kit/components/stepper/stepper.component.ts","../../../../projects/kit/components/stepper/stepper.component.html","../../../../projects/kit/components/stepper/stepper.module.ts","../../../../projects/kit/components/tabs/tab.component.ts","../../../../projects/kit/components/tabs/tab.component.html","../../../../projects/kit/components/tabs/tab-selectors.ts","../../../../projects/kit/components/tabs/tabs.component.ts","../../../../projects/kit/components/tabs/tabs.component.html","../../../../projects/kit/components/tabs/tabs.module.ts","../../../../projects/kit/components/text-area/text-area.component.ts","../../../../projects/kit/components/text-area/text-area.module.ts","../../../../projects/kit/components/tooltip/service/tooltip.service.ts","../../../../projects/kit/components/tooltip/directive/tooltip.directive.ts","../../../../projects/kit/components/tooltip/tooltip.component.ts","../../../../projects/kit/components/tooltip/tooltip.component.html","../../../../projects/kit/components/tooltip/tooltip.module.ts","../../../../projects/kit/components/card/card.component.ts","../../../../projects/kit/components/card/card.component.html","../../../../projects/kit/components/card/card.module.ts","../../../../projects/kit/mozaic-ds-angular.ts"],"sourcesContent":["export function castBooleanProperty(value: unknown): value is boolean {\n return `${value}` !== 'false' && value != null;\n}\n","export const generateId = () => {\n const generateParts = () =>\n Math.floor((1 + Math.random()) * 0x10000)\n .toString(16)\n .substring(1);\n return generateParts() + '-' + generateParts();\n};\n","export const getRandomNumber = (min: number, max: number): number => {\n const minN = Math.ceil(min);\n const maxN = Math.floor(max);\n\n return Math.floor(Math.random() * (maxN - minN)) + minN;\n};\n","import { ElementRef } from '@angular/core';\n\nexport const overwriteStyle = (\n { nativeElement }: ElementRef,\n oldClassName: string,\n newClassName: string\n): void => {\n nativeElement.classList.remove(oldClassName);\n nativeElement.classList.add(newClassName);\n};\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { AccordionSize } from './accordion';\n\n@Component({\n selector: 'moz-accordion',\n templateUrl: './accordion.component.html',\n styleUrls: ['./accordion.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class AccordionComponent {\n @Input() isOpen = false;\n @Input() disabled = false;\n @Input() noPadding = false;\n @Input() size: AccordionSize = 'm';\n\n public get isHidden() {\n return !this.isOpen;\n }\n\n public get isSizeS() {\n return this.size === 's';\n }\n\n public changeState() {\n this.isOpen = !this.isOpen;\n }\n}\n","<div\n class=\"mc-accordion\"\n [ngClass]=\"{\n 'is-open': isOpen,\n 'mc-accordion--s': isSizeS,\n 'mc-accordion--no-padding': noPadding\n }\"\n>\n <div class=\"mc-accordion__header\">\n <ng-content select=\"[beforeLabel]\"></ng-content>\n\n <h2 class=\"mc-accordion__title\">\n <button\n id=\"accordion\"\n class=\"mc-accordion__trigger\"\n aria-controls=\"content\"\n [attr.aria-expanded]=\"isOpen\"\n [disabled]=\"disabled\"\n (click)=\"changeState()\"\n >\n <ng-content select=\"[label]\"></ng-content>\n <ng-content select=\"[afterLabel]\"></ng-content>\n </button>\n </h2>\n </div>\n <div\n id=\"content\"\n class=\"mc-accordion__content\"\n [attr.aria-hidden]=\"isHidden\"\n aria-labelledby=\"accordion\"\n >\n <ng-content select=\"[content]\"></ng-content>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AccordionComponent } from './accordion.component';\n\n@NgModule({\n declarations: [AccordionComponent],\n imports: [CommonModule, FormsModule],\n exports: [AccordionComponent],\n})\nexport class AccordionModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\n\n/**\n * > The container defines the main content width as well as the minimum negative space between the horizontal edges of the screen and the content.\n *\n * The `moz-container` component is the **Angular** implementation of the **Container** component of Mozaic Design System.<br/>\n * The full specification of this component is available in [the associated documentation](https://mozaic.adeo.cloud/foundations/layout/container/).\n */\n@Component({\n selector: 'moz-container',\n templateUrl: './container.component.html',\n styleUrls: ['./container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class.ml-container]': 'true',\n '[class.ml-container--fluid]': 'fluid',\n },\n standalone: false,\n})\nexport class ContainerComponent {\n /**\n * Allows the container to be fluid\n * @see [Documentation](https://mozaic.adeo.cloud/foundations/layout/container/#the-fluid-container)\n */\n @Input() public fluid = false;\n}\n","<ng-content></ng-content>\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'moz-bottom-bar',\n templateUrl: './bottom-bar.component.html',\n styleUrls: ['./bottom-bar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class BottomBarComponent {\n /**\n * Applies a `position: fixed` to the component and position it at the bottom of the page\n */\n @Input() fixed = false;\n}\n","<moz-container [ngClass]=\"{'mc-bottom-bar': true, 'mc-bottom-bar--fixed': fixed}\" [fluid]=\"true\">\n <ng-content></ng-content>\n</moz-container>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ContainerComponent } from './container.component';\n\n\n\n@NgModule({\n declarations: [ContainerComponent],\n imports: [\n CommonModule\n ],\n exports: [ContainerComponent]\n})\nexport class ContainerModule { }\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ContainerModule } from '../container/container.module';\nimport { BottomBarComponent } from './bottom-bar.component';\n\n@NgModule({\n declarations: [BottomBarComponent],\n exports: [BottomBarComponent],\n imports: [CommonModule, ContainerModule],\n})\nexport class BottomBarModule {}\n","export enum IconSize {\n S = '16px',\n M = '24px',\n L = '32px',\n XL = '48px',\n XXL = '64px',\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Host, Injectable } from '@angular/core';\nimport { catchError, finalize, Observable, of, shareReplay, tap, throwError } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IconService {\n private cachedIcons = new Map<string, string>();\n private cachedRequests = new Map<string, Observable<string>>();\n\n constructor(@Host() private http: HttpClient) {}\n\n public getIcon(name: string): Observable<string> {\n const cacheIcon = this.cachedIcons.get(name);\n const cachedRequest = this.cachedRequests.get(name);\n\n if (cacheIcon) {\n return of(cacheIcon);\n }\n if (cachedRequest) {\n return cachedRequest;\n }\n const url = `/assets/moz-icons/${name}.svg`;\n const request = this.http.get(url, { responseType: 'text' }).pipe(\n tap((svg) => this.cachedIcons.set(name, svg)),\n catchError(() => throwError(() => this.getNotFoundError(name))),\n finalize(() => this.cachedRequests.delete(name)),\n shareReplay({ refCount: true, bufferSize: 1 })\n );\n this.cachedRequests.set(name, request);\n return request;\n }\n\n private getNotFoundError(name: string): Error {\n return Error(\n `\n The icon (${name}) you are trying to display does not exist.\n Maybe the name is incorrect.\n => (See all available icons: http://mozaic.adeo.cloud/Foundations/Icons/catalog/)`\n );\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnChanges,\n SimpleChanges,\n ViewEncapsulation,\n} from '@angular/core';\nimport { first } from 'rxjs';\nimport { IconSize } from './icon-size';\nimport { IconService } from './icon.service';\n\n@Component({\n selector: 'moz-icon',\n templateUrl: './icon.component.html',\n styleUrls: ['./icon.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { '[class.icon]': 'true' },\n standalone: false,\n})\nexport class IconComponent implements OnChanges {\n @Input() public iconName: string = '';\n @Input() public size?: IconSize;\n\n constructor(\n private readonly iconService: IconService,\n private readonly elementRef: ElementRef,\n ) {}\n\n ngOnChanges({ iconName }: SimpleChanges) {\n if (this.needRenderIcon(iconName?.currentValue, iconName?.previousValue)) {\n this.drawIcon(iconName?.currentValue, iconName?.previousValue);\n }\n }\n\n private needRenderIcon(currentIconName?: string, previousIconName?: string): boolean {\n return !!currentIconName && currentIconName !== previousIconName;\n }\n\n private getSizeClass(name: string) {\n const [size] = name.match(/\\d\\dpx/) || [];\n const strategy = {\n [IconSize.S]: 'icons-size-s',\n [IconSize.M]: 'icons-size-m',\n [IconSize.L]: 'icons-size-l',\n [IconSize.XL]: 'icons-size-xl',\n [IconSize.XXL]: 'icons-size-xxl',\n };\n\n if (this.size) {\n return strategy[this.size || null] || strategy[IconSize.S];\n }\n\n return strategy[(size as IconSize) || null] || strategy[IconSize.S];\n }\n\n private drawIcon(iconName: string, previousIconName?: string) {\n this.iconService\n .getIcon(iconName)\n .pipe(first())\n .subscribe((svg) => {\n this.elementRef.nativeElement.innerHTML = svg;\n if (previousIconName) {\n this.elementRef.nativeElement.classList.remove(this.getSizeClass(previousIconName));\n }\n this.elementRef.nativeElement.classList.add(this.getSizeClass(iconName));\n });\n }\n}\n","","export type LoaderSize = 's' | 'm' | 'l';\n\nexport type LoaderTheme = 'primary' | 'dark' | 'light';\n\nexport const CIRCLE_VIEW_BOX_SIZES = {\n s: '0 0 24 24',\n m: '0 0 32 32',\n l: '0 0 64 64',\n};\n\nexport const CIRCLE_RADIUSES = {\n s: 6,\n m: 9,\n l: 19,\n};\n\nexport type LoaderConfig = {\n size: LoaderSize;\n text: string;\n};\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { CIRCLE_RADIUSES, CIRCLE_VIEW_BOX_SIZES, LoaderSize, LoaderTheme } from './loader';\n\n@Component({\n selector: 'moz-loader',\n templateUrl: './loader.component.html',\n styleUrls: ['./loader.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { '[class.loader]': '!isOverlay' },\n standalone: false,\n})\nexport class LoaderComponent {\n @Input() size: LoaderSize = 'm';\n\n @Input() theme: LoaderTheme = 'primary';\n\n @Input() isOverlay: boolean = false;\n\n @Input() text: string = '';\n\n @Input() hideOverlay: boolean = true;\n\n public get viewText(): boolean {\n return this.isOverlay && !!this.text;\n }\n\n public get overlayCssClasses() {\n return {\n 'mc-overlay-loader': true,\n 'is-visible': !this.hideOverlay,\n };\n }\n\n public get loaderCssClasses() {\n return {\n 'mc-loader': true,\n [`mc-loader--${this.size}`]: true,\n [`mc-loader--${this.theme}`]: this.theme !== 'primary',\n };\n }\n\n public get viewBoxSize(): string {\n return CIRCLE_VIEW_BOX_SIZES[this.size];\n }\n\n public get radius(): number {\n return CIRCLE_RADIUSES[this.size];\n }\n\n constructor(public readonly cd: ChangeDetectorRef) {}\n}\n","<ng-template #loader>\n <div [ngClass]=\"loaderCssClasses\">\n <span class=\"mc-loader__spinner\">\n <svg class=\"mc-loader__icon\" xmlns=\"http://www.w3.org/2000/svg\" [attr.viewBox]=\"viewBoxSize\">\n <circle class=\"mc-loader__path\" cx=\"50%\" cy=\"50%\" [attr.r]=\"radius\" />\n </svg>\n </span>\n\n <span class=\"mc-loader__text\" *ngIf=\"viewText\">{{ text }}</span>\n </div>\n</ng-template>\n\n<div [ngClass]=\"overlayCssClasses\" tabindex=\"-1\" role=\"dialog\" *ngIf=\"isOverlay; else loader\">\n <ng-container [ngTemplateOutlet]=\"loader\"></ng-container>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n ButtonIconPosition,\n ButtonSizes,\n ButtonThemes,\n ButtonVariations,\n ButtonWithBehavior,\n} from './button';\n\n@Component({\n selector: 'button[moz-button]',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class ButtonComponent {\n @Input() public iconPosition: ButtonIconPosition = 'left';\n\n @Input() public onlyIcon = false;\n\n @Input() public theme: ButtonThemes = 'primary';\n\n @Input() variation: ButtonVariations = 'solid';\n\n @Input() widthBehavior: ButtonWithBehavior = 'fit';\n\n @Input() size: ButtonSizes = 'm';\n\n public get iconPositionIsRight(): boolean {\n return this.iconPosition === 'right';\n }\n\n public get viewContent() {\n return !this.onlyIcon;\n }\n\n private generateThemeCssClassName(variation: ButtonVariations, theme: ButtonThemes): string {\n const themePart = theme === 'primary' ? '' : `-${theme}`;\n return `mc-button--${variation}${themePart}`;\n }\n\n @HostBinding('class')\n public get hostCssClasses() {\n const squareClass = this.onlyIcon ? 'mc-button--square' : '';\n const iconPositionIsRightClass = this.iconPositionIsRight ? 'icon-right-position' : '';\n const themeClass = this.generateThemeCssClassName(this.variation, this.theme);\n const widthBehaviorClass = `mc-button--${this.widthBehavior}`;\n const sizeClass = `mc-button--${this.size}`;\n return `mc-button ${squareClass} ${iconPositionIsRightClass} ${themeClass} ${sizeClass} ${widthBehaviorClass}`;\n }\n}\n","<ng-content select=\"moz-icon\"></ng-content>\n<div class=\"content\" *ngIf=\"viewContent\"><ng-content></ng-content></div>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { BottomBarComponent } from '../bottom-bar';\nimport { Status } from './types';\n\n@Component({\n selector: 'moz-action-bar',\n templateUrl: './action-bar.component.html',\n styleUrls: ['./action-bar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class ActionBarComponent extends BottomBarComponent {\n /** The loading status used to display a loader and to disable the buttons */\n @Input() loading: boolean = false;\n /** The status to display in the action bar */\n @Input() status: Status = null;\n /** Defines the label associated with the status */\n @Input() statusLabel: string | undefined;\n /** Button label linked to the primary action */\n @Input() labelPrimary: string | undefined;\n /** Button label linked to the secondary action */\n @Input() labelSecondary: string | undefined;\n /** Button label linked to the danger action */\n @Input() labelDanger: string | undefined;\n /** Should the actions be disabled */\n @Input() disabled: boolean = false;\n /** Emits an event when the primary button is clicked */\n @Output() primaryClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n /** Emits an event when the secondary button is clicked */\n @Output() secondaryClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n /** Emits an event when the danger button is clicked */\n @Output() dangerClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n\n public getStatusIcon(): string {\n return this.status && this.status === 'warning'\n ? 'Navigation_Notification_Warning_24px'\n : 'Navigation_Notification_Circle--Available_24px';\n }\n\n public getIconClasses(): string {\n return `mc-action-bar__icon ${this.status ? 'is-' + this.status : ''}`;\n }\n\n public isDisabled(): boolean {\n return this.disabled || this.loading;\n }\n\n public onPrimaryClick(event: MouseEvent): void {\n this.primaryClick.emit(event);\n }\n\n public onSecondaryClick(event: MouseEvent): void {\n this.secondaryClick.emit(event);\n }\n\n public onDangerClick(event: MouseEvent): void {\n this.dangerClick.emit(event);\n }\n}\n","<moz-container\n [ngClass]=\"{ 'mc-bottom-bar': true, 'mc-action-bar': true, 'mc-bottom-bar--fixed': fixed }\"\n [fluid]=\"true\"\n>\n <div *ngIf=\"status || loading\" class=\"mc-action-bar__status\">\n <moz-icon\n [iconName]=\"getStatusIcon()\"\n [ngClass]=\"getIconClasses()\"\n *ngIf=\"!loading; else loader\"\n />\n <ng-template #loader><moz-loader size=\"s\" /></ng-template>\n {{ statusLabel }}\n </div>\n <!-- Secondary button -->\n <ng-content select=\"[secondary]\"></ng-content>\n <button\n moz-button\n variation=\"bordered\"\n *ngIf=\"labelSecondary\"\n size=\"s\"\n theme=\"neutral\"\n (click)=\"onSecondaryClick($event)\"\n [disabled]=\"isDisabled()\"\n >\n {{ labelSecondary }}\n </button>\n <!-- Primary button -->\n <ng-content select=\"[primary]\"></ng-content>\n <button\n moz-button\n variation=\"solid\"\n *ngIf=\"labelPrimary\"\n size=\"s\"\n theme=\"primary\"\n (click)=\"onPrimaryClick($event)\"\n [disabled]=\"isDisabled()\"\n >\n {{ labelPrimary }}\n </button>\n <!-- Danger button -->\n <ng-content select=\"[danger]\"></ng-content>\n <button\n moz-button\n variation=\"bordered\"\n *ngIf=\"labelDanger\"\n size=\"s\"\n theme=\"danger\"\n (click)=\"onDangerClick($event)\"\n [disabled]=\"isDisabled()\"\n >\n {{ labelDanger }}\n </button>\n</moz-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ButtonComponent } from './button.component';\n\n@NgModule({\n declarations: [ButtonComponent],\n imports: [CommonModule],\n exports: [ButtonComponent],\n})\nexport class ButtonModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { IconComponent } from './icon.component';\n\n@NgModule({\n declarations: [IconComponent],\n imports: [CommonModule],\n exports: [IconComponent],\n})\nexport class IconModule {}\n","import { DOCUMENT } from '@angular/common';\nimport {\n ApplicationRef,\n ComponentFactoryResolver,\n ComponentRef,\n EmbeddedViewRef,\n Inject,\n Injectable,\n Injector,\n} from '@angular/core';\nimport { LoaderConfig } from './loader';\nimport { LoaderComponent } from './loader.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LoaderService {\n private _loaderRef: ComponentRef<LoaderComponent>;\n\n private get _loaderComponent(): LoaderComponent {\n return this._loaderRef.instance;\n }\n\n constructor(\n private readonly applicationRef: ApplicationRef,\n private readonly componentFactoryResolver: ComponentFactoryResolver,\n private readonly injector: Injector,\n @Inject(DOCUMENT) private readonly document: Document\n ) {\n this._loaderRef = this.createComponentRef();\n this._loaderComponent.isOverlay = true;\n this._loaderComponent.theme = 'light';\n this.appendLoaderToBody(this._loaderRef);\n }\n\n public startLoad(config?: Partial<LoaderConfig>) {\n const { size = 'l', text = '' } = config || {};\n this._loaderComponent.size = size;\n this._loaderComponent.text = text;\n this._loaderComponent.hideOverlay = false;\n this._loaderComponent.cd.markForCheck();\n }\n\n public stopLoad() {\n this._loaderComponent.hideOverlay = true;\n this._loaderComponent.cd.markForCheck();\n }\n\n private createComponentRef(): ComponentRef<LoaderComponent> {\n return this.componentFactoryResolver\n .resolveComponentFactory(LoaderComponent)\n .create(this.injector);\n }\n\n private appendLoaderToBody(componentRef: ComponentRef<LoaderComponent>): void {\n const componentHostView = componentRef.hostView as EmbeddedViewRef<unknown>;\n const componentHtmlElement = componentHostView.rootNodes[0] as HTMLElement;\n this.applicationRef.attachView(componentHostView);\n this.document.body.appendChild(componentHtmlElement);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { LoaderComponent } from './loader.component';\nimport { LoaderService } from './loader.service';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [LoaderComponent],\n providers: [LoaderService],\n exports: [LoaderComponent],\n})\nexport class LoaderModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { BottomBarModule } from '../bottom-bar/bottom-bar.module';\nimport { ButtonModule } from '../button';\nimport { ContainerModule } from '../container';\nimport { IconModule } from '../icon/icon.module';\nimport { LoaderModule } from '../loader/loader.module';\nimport { ActionBarComponent } from './action-bar.component';\n\n@NgModule({\n declarations: [ActionBarComponent],\n exports: [ActionBarComponent],\n imports: [CommonModule, BottomBarModule, IconModule, ContainerModule, LoaderModule, ButtonModule],\n})\nexport class ActionBarModule {}\n","export const Status = {\n warning: 'warning',\n success: 'success',\n null: null,\n} as const;\n\nexport type Status = (typeof Status)[keyof typeof Status];\n\nexport const statusesString =\n Object.values(Status)\n .filter((v) => !!v)\n .join(' | ') + '| null';\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { ListboxItem, Type } from './model/listbox-item';\nimport { ConnectedPosition } from '@angular/cdk/overlay';\n\n@Component({\n selector: 'moz-listbox',\n templateUrl: './listbox.component.html',\n styleUrls: ['./listbox.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class ListboxComponent implements OnChanges {\n @Input() listboxItems: any = [];\n @Input() isOpen = false;\n @Input() type: Type = 'options';\n @Input() public maxWidth?: string;\n @Input() public maxHeight?: string;\n @Input() public width?: string;\n @Input() public disabled?: boolean;\n @Input() public overlay: boolean = false;\n @Input() public multiple: boolean = false;\n @Input() public selectedItems: ListboxItem[] | ListboxItem | undefined;\n @Input() public useVirtualScroll?: boolean = false;\n @Input() public overlayPositions: ConnectedPosition[] = [];\n @Output() public itemsSelected = new EventEmitter<ListboxItem[] | ListboxItem>();\n @Output() public scrollEnd = new EventEmitter<boolean>();\n @Output() public isOpenChange = new EventEmitter<boolean>();\n\n @ViewChild('content', { read: ElementRef }) contentElementRef!: ElementRef;\n\n public uuid = window.crypto.getRandomValues(new Uint32Array(1))[0];\n public listboxWidth = '100%';\n\n constructor() {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['isOpen']?.currentValue) {\n const elementWidth = this.contentElementRef.nativeElement.firstChild.offsetWidth;\n this.listboxWidth = elementWidth ? elementWidth + 'px' : '100%';\n }\n }\n\n public getRole(): string | null {\n return this.type !== 'options' ? 'listbox' : null;\n }\n\n public getRoleList(): string {\n return this.type === 'options' ? 'listbox' : 'group';\n }\n\n public styleObject(): Object {\n return {\n '--listbox-maxwidth': this.maxWidth,\n '--listbox-width': this.width,\n };\n }\n\n public classObject(): Object {\n return {\n 'mc-listbox--options': this.type === 'options',\n 'mc-listbox--actions': this.type === 'actions',\n 'mc-listbox--overlay': this.overlay,\n 'mc-listbox--multi': this.multiple,\n 'is-open': this.isOpen,\n 'is-virtual-scroll': this.useVirtualScroll,\n };\n }\n\n public classObjectInput(): Object {\n return {\n 'mc-checkbox__input': this.multiple,\n };\n }\n\n public getInputType(): Object {\n return this.multiple ? 'checkbox' : 'radio';\n }\n\n public setItemId(index: number): string {\n return `listboxItem-${index + this.uuid}`;\n }\n\n public setClassObjectTile(item: ListboxItem): Object {\n return {\n 'is-disabled': item.disabled ?? this.disabled,\n };\n }\n\n public closeListbox(): void {\n this.isOpen = false;\n this.isOpenChange.emit(this.isOpen);\n }\n\n public selectedItemEvent(listboxItem: Partial<ListboxItem>): void {\n if (this.multiple) {\n if (!this.selectedItems) {\n this.selectedItems = [];\n }\n const index = (this.selectedItems as ListboxItem[]).findIndex(\n (selectedItem) => selectedItem.value === listboxItem.value,\n );\n if (index !== -1) {\n (this.selectedItems as ListboxItem[]).splice(index, 1);\n } else {\n (this.selectedItems as ListboxItem[]).push(listboxItem as ListboxItem);\n }\n } else {\n this.selectedItems = listboxItem as ListboxItem;\n }\n if (this.type === 'actions') {\n this.closeListbox();\n }\n this.itemsSelected.emit(this.selectedItems);\n }\n\n public getInputName(): string | null {\n return !this.multiple ? `listboxradio-${this.uuid}` : null;\n }\n\n public getListboxItemId(listboxItem: ListboxItem): string {\n const item = listboxItem.value.trim().replace(' ', '-');\n return `listboxItem-${item}`;\n }\n\n public isChecked(listboxItem: ListboxItem): boolean {\n let listBoxItemFounded;\n if (this.multiple) {\n listBoxItemFounded =\n this.selectedItems &&\n (this.selectedItems as ListboxItem[]).find(\n (selectedItem) => selectedItem.value === listboxItem.value,\n );\n } else {\n listBoxItemFounded =\n (this.selectedItems && (this.selectedItems as ListboxItem).value) == listboxItem.value ||\n null;\n }\n return listBoxItemFounded != null;\n }\n\n public getItems(): Array<ListboxItem[]> {\n const hasNestedArray =\n Array.isArray(this.listboxItems) && this.listboxItems.some(Array.isArray);\n\n if (!hasNestedArray) {\n return [this.listboxItems as ListboxItem[]];\n }\n\n return this.listboxItems as Array<ListboxItem[]>;\n }\n\n public trackByIndex(index: number): number {\n return index;\n }\n\n public getDynamicHeight(): string {\n const itemCount = this.listboxItems.length;\n const itemHeight = 46; // Fixed height of an element (in pixels)\n const maxVisibleItems = 5; // Maximum number of visible elements\n return `${Math.min(itemCount, maxVisibleItems) * itemHeight}px`;\n }\n}\n","<div class=\"mc-listbox__container\">\n <div #content cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\">\n <ng-content select=\"[reference]\"></ng-content>\n </div>\n <ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"isOpen\"\n [cdkConnectedOverlayWidth]=\"listboxWidth\"\n (backdropClick)=\"closeListbox()\"\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\n >\n @if (type === 'options') {\n <div\n class=\"mc-listbox\"\n [ngClass]=\"classObject()\"\n [ngStyle]=\"styleObject()\"\n [attr.role]=\"getRole()\"\n >\n @if (useVirtualScroll) {\n <!-- Virtual Scroll activé -->\n <cdk-virtual-scroll-viewport\n [itemSize]=\"50\"\n class=\"mc-listbox__scroll\"\n [style.height]=\"getDynamicHeight()\"\n >\n <ul class=\"mc-listbox__list\" [attr.role]=\"getRoleList()\">\n <li\n class=\"mc-listbox__tile\"\n [ngClass]=\"setClassObjectTile(listboxItem)\"\n *cdkVirtualFor=\"let listboxItem of listboxItems; let i = index\"\n [id]=\"getListboxItemId(listboxItem)\"\n role=\"option\"\n >\n @if (listboxItem && listboxItem.icon) {\n <moz-icon\n class=\"mc-listbox__icon\"\n [iconName]=\"listboxItem.icon\"\n [ngClass]=\"{ 'is-danger': listboxItem.danger }\"\n ></moz-icon>\n }\n @if (listboxItem.countryCode) {\n <span\n class=\"flag flag:{{ listboxItem.countryCode }}\"\n style=\"--CountryFlagIcon-height: 1rem\"\n >\n &nbsp;\n </span>\n }\n <input\n class=\"mc-listbox__input\"\n [id]=\"setItemId(i)\"\n [disabled]=\"listboxItem.disabled\"\n (change)=\"selectedItemEvent(listboxItem)\"\n [type]=\"getInputType()\"\n [name]=\"getInputName()\"\n [checked]=\"isChecked(listboxItem)\"\n [ngClass]=\"classObjectInput()\"\n [value]=\"listboxItem.value\"\n />\n <label [for]=\"setItemId(i)\" class=\"mc-listbox__label\">{{\n listboxItem.label\n }}</label>\n </li>\n </ul>\n </cdk-virtual-scroll-viewport>\n } @else {\n <!-- Virtual Scroll désactivé -->\n <ul class=\"mc-listbox__list\" [attr.role]=\"getRoleList()\">\n @for (listboxItem of listboxItems; track listboxItem.value; let i = $index) {\n <li\n class=\"mc-listbox__tile\"\n [ngClass]=\"setClassObjectTile(listboxItem)\"\n [id]=\"getListboxItemId(listboxItem)\"\n >\n @if (listboxItem && listboxItem.icon) {\n <moz-icon\n class=\"mc-listbox__icon\"\n [iconName]=\"listboxItem.icon\"\n [ngClass]=\"{ 'is-danger': listboxItem.danger }\"\n ></moz-icon>\n }\n @if (listboxItem.countryCode) {\n <span\n class=\"flag flag:{{ listboxItem.countryCode }}\"\n style=\"--CountryFlagIcon-height: 1rem\"\n >\n &nbsp;\n </span>\n }\n <!-- Contenu des items -->\n <input\n class=\"mc-listbox__input\"\n [id]=\"setItemId(i)\"\n [disabled]=\"listboxItem.disabled\"\n (change)=\"selectedItemEvent(listboxItem)\"\n [type]=\"getInputType()\"\n [name]=\"getInputName()\"\n [checked]=\"isChecked(listboxItem)\"\n [ngClass]=\"classObjectInput()\"\n [value]=\"listboxItem.value\"\n />\n <label [for]=\"setItemId(i)\" class=\"mc-listbox__label\">\n {{ listboxItem.label }}\n </label>\n </li>\n }\n </ul>\n }\n </div>\n } @else {\n <div\n #listbox\n class=\"mc-listbox-options__container\"\n [attr.role]=\"getRole()\"\n [attr.aria-label]=\"getRole()\"\n >\n @for (list of getItems(); track trackByIndex; let i = $index) {\n <ul class=\"mc-listbox-options__list\">\n @for (listboxItem of list; track trackByIndex; let j = $index) {\n <li\n class=\"mc-listbox-options__tile\"\n [ngClass]=\"{ 'is-disabled': listboxItem.disabled }\"\n >\n @if (listboxItem && listboxItem.icon) {\n <moz-icon\n class=\"mc-listbox-options__icon\"\n [iconName]=\"listboxItem.icon\"\n [ngClass]=\"{ 'is-danger': listboxItem.danger }\"\n ></moz-icon>\n }\n @if (listboxItem.countryCode) {\n <span\n class=\"flag flag:{{ listboxItem.countryCode }}\"\n style=\"--CountryFlagIcon-height: 1rem\"\n >\n &nbsp;\n </span>\n }\n <button\n type=\"button\"\n class=\"mc-listbox-options__item\"\n [disabled]=\"listboxItem.disabled\"\n [ngClass]=\"{\n 'is-danger': listboxItem.danger,\n 'is-disabled': listboxItem.disabled,\n }\"\n (click)=\"selectedItemEvent(listboxItem)\"\n >\n {{ listboxItem.label }}\n </button>\n </li>\n }\n </ul>\n }\n </div>\n }\n </ng-template>\n</div>\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { IconModule } from '../icon';\nimport { ListboxComponent } from './listbox.component';\n\n@NgModule({\n declarations: [ListboxComponent],\n imports: [OverlayModule, IconModule, CommonModule],\n exports: [ListboxComponent],\n})\nexport class ListboxModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { TagType } from './tag-type';\n\n@Component({\n selector: 'moz-tag, a[moz-tag]',\n templateUrl: './tag.component.html',\n styleUrls: ['./tag.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class TagComponent {\n @Input() type: TagType;\n\n @Input() size: 's' | 'm' = 's';\n\n @Input() select: boolean = false;\n\n @Output() selectChange = new EventEmitter<boolean>();\n\n @Output() clickOnRemove = new EventEmitter<void>();\n\n constructor(private elementRef: ElementRef<HTMLElement>) {\n this.type = this.getDefaultType();\n }\n\n @HostBinding('class')\n public get hostCssClasses() {\n return `${this.tagCssClass} ${this.sizeCssClass}`;\n }\n\n public get labelCssClass(): string {\n return `${this.tagCssClass}__label`;\n }\n\n private get tagName(): string {\n return this.elementRef?.nativeElement.tagName.toLowerCase();\n }\n\n private get hostIsLink(): boolean {\n return this.tagName === 'a';\n }\n\n private get tagCssClass() {\n return `mc-tag-${this.type}`;\n }\n\n private get sizeCssClass() {\n return `${this.tagCssClass}--${this.size}`;\n }\n\n private getDefaultType(): TagType {\n return this.hostIsLink ? 'link' : 'text';\n }\n\n public emitRemove() {\n this.clickOnRemove.emit();\n }\n\n public emitSelectChanges($event: boolean) {\n this.selectChange.emit($event);\n }\n}\n","<ng-template #labelTemplate>\n <span [ngClass]=\"labelCssClass\">\n <ng-content></ng-content>\n </span>\n</ng-template>\n\n<ng-container [ngSwitch]=\"type\">\n <ng-container *ngSwitchCase=\"'selectable'\">\n <input\n class=\"mc-tag-selectable__input\"\n type=\"checkbox\"\n id=\"selectable\"\n [ngModel]=\"select\"\n (ngModelChange)=\"emitSelectChanges($event)\"\n />\n <label class=\"mc-tag-selectable__pill\" for=\"selectable\">\n <ng-container [ngTemplateOutlet]=\"labelTemplate\"></ng-container>\n </label>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'removable'\">\n <ng-container [ngTemplateOutlet]=\"labelTemplate\"></ng-container>\n <button class=\"mc-tag-removable__remove\" (click)=\"emitRemove()\"></button>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <ng-container [ngTemplateOutlet]=\"labelTemplate\"></ng-container>\n </ng-container>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { TagComponent } from './tag.component';\n\n@NgModule({\n imports: [CommonModule, FormsModule],\n declarations: [TagComponent],\n exports: [TagComponent],\n})\nexport class TagModule {}\n","import { InjectionToken } from '@angular/core';\n\nexport const LAYER_CONFIG = new InjectionToken('LAYER_CONFIG_TOKEN');\n","import { InjectionToken } from '@angular/core';\n\nexport const LAYER_DATA = new InjectionToken('LAYER_DATA_TOKEN');\n","import { InjectionToken } from '@angular/core';\n\nexport const LAYER_REF = new InjectionToken('LAYER_DATA_TOKEN');\n","import { ChangeDetectionStrategy, Component, Inject, ViewEncapsulation } from '@angular/core';\nimport { TagItem, TagType } from '../../../tag/tag-type';\nimport { LAYER_DATA, LAYER_REF } from '../../../layer/tokens';\nimport { LayerRef } from '../../../layer/interfaces/layer-ref';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'moz-taglist-layer-content',\n templateUrl: './taglist-layer-content.component.html',\n styleUrls: ['./taglist-layer-content.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { '[class.mc-taglist__manage]': 'true' },\n standalone: false,\n})\nexport class TaglistLayerContentComponent {\n public tagType: TagType = 'removable';\n public tagItems: TagItem[] = [];\n public tagSize: 's' | 'm' = 's';\n private _removedTagFromLayer$;\n private taglistService;\n private destroyed = new Subject();\n\n constructor(\n @Inject(LAYER_DATA) public readonly data: any,\n @Inject(LAYER_REF) public readonly layerRef: LayerRef,\n ) {\n this.taglistService = data.taglistService;\n this.tagSize = data.size;\n this.tagType = data.type;\n this._removedTagFromLayer$ = data._removedTagFromLayer$;\n this.taglistService.tagItems$.subscribe((tagItems: TagItem[]) => {\n this.tagItems = tagItems;\n });\n }\n\n public removeTagEvent(tagItem: TagItem): void {\n this._removedTagFromLayer$.next(tagItem);\n this.taglistService.setTagItems(this.tagItems.filter((tag) => tag.id !== tagItem.id));\n }\n}\n","<div class=\"mc-taglist__body\">\n <div class=\"mc-taglist\">\n <moz-tag\n [type]=\"tagType\"\n *ngFor=\"let tagItem of tagItems\"\n [size]=\"tagSize\"\n (clickOnRemove)=\"removeTagEvent(tagItem)\"\n >\n {{ tagItem.label }}\n </moz-tag>\n </div>\n</div>\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { TagItem } from '../../tag/tag-type';\n\n@Injectable()\nexport class TaglistService {\n public _tagItems$ = new BehaviorSubject<TagItem[]>([]);\n public tagItems$ = this._tagItems$.asObservable();\n\n setTagItems(tagItems: TagItem[]): void {\n this._tagItems$.next(tagItems);\n }\n\n getTagItems(): TagItem[] {\n return this._tagItems$.getValue();\n }\n}\n","import { Injector } from '@angular/core';\nimport { LayerDIParams } from '../interfaces/layer-di-params';\nimport { LayerRef } from '../interfaces/layer-ref';\nimport { LAYER_CONFIG, LAYER_DATA, LAYER_REF } from '../tokens';\n\nexport class LayerInjector implements Injector {\n private readonly parentInjector: Injector;\n private readonly layerRef: LayerRef;\n private additionalTokens!: WeakMap<object, unknown>;\n\n constructor({ injector, layerRef }: LayerDIParams) {\n this.parentInjector = injector;\n this.layerRef = layerRef;\n\n this.initAdditionalTokens();\n }\n\n public get(token: unknown, notFoundValue?: unknown, flags?: unknown): any;\n public get(token: any, notFoundValue?: any): any {\n const value = this.additionalTokens.get(token);\n\n if (value) {\n return value;\n }\n\n return this.parentInjector.get<any>(token, notFoundValue);\n }\n\n private initAdditionalTokens(): void {\n this.additionalTokens = new WeakMap();\n this.additionalTokens.set(LAYER_REF, this.layerRef);\n this.additionalTokens.set(LAYER_CONFIG, this.layerRef.config);\n this.additionalTokens.set(LAYER_DATA, this.layerRef.config.data);\n }\n}\n","import { ComponentRef } from '@angular/core';\nimport { BehaviorSubject, first, Observable, Subject } from 'rxjs';\nimport { LayerConfig } from '../interfaces';\nimport { LayerRef } from '../interfaces/layer-ref';\nimport { LayerComponent } from '../layer.component';\n\nexport class LayerRefModel<R = unknown> implements LayerRef<R> {\n private readonly _config$ = new BehaviorSubject<LayerConfig>({});\n\n private _componentRef!: ComponentRef<LayerComponent>;\n\n private _afterClosed$ = new Subject<R | undefined>();\n\n public get afterClosed$(): Observable<R | undefined> {\n return this._afterClosed$.pipe(first());\n }\n\n public get config$() {\n return this._config$.asObservable();\n }\n\n public get config() {\n return this._config$.getValue();\n }\n\n public get componentRef(): ComponentRef<LayerComponent> {\n return this._componentRef;\n }\n\n constructor(public layerConfig: LayerConfig) {\n this.init(layerConfig);\n }\n\n public init(config: LayerConfig): void {\n this.updateConfig(config);\n }\n\n public updateConfig(config: LayerConfig): void {\n this._config$.next({ ...this.config, ...config });\n }\n\n close(result?: R): void {\n this._afterClosed$.next(result);\n }\n\n setComponentRef(componentRef: ComponentRef<LayerComponent>): void {\n this._componentRef = componentRef;\n }\n\n destroy(): void {\n this._config$.complete();\n this._afterClosed$.complete();\n }\n}\n","import { animate, group, query, style, transition, trigger } from '@angular/animations';\n\nexport const layerAnimation = trigger('layerAnimation', [\n transition(\n ':enter',\n group([\n query('.mc-layer', [\n style({ transform: 'translateX(250px)' }),\n animate(200, style({ transform: 'translateX(0)' })),\n ]),\n ])\n ),\n transition(\n ':leave',\n group([\n query('.mc-layer', [\n style({ transform: 'translateX(0)' }),\n animate(200, style({ transform: 'translateX(250px)' })),\n ]),\n ])\n ),\n]);\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentRef,\n Inject,\n Type,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { LayerConfig } from './interfaces';\nimport { LayerRef } from './interfaces/layer-ref';\nimport { layerAnimation } from './layer-animation';\nimport { LAYER_CONFIG, LAYER_REF } from './tokens';\n\n@Component({\n selector: 'moz-layer',\n templateUrl: './layer.component.html',\n styleUrls: ['./layer.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n animations: [layerAnimation],\n host: { '[@layerAnimation]': 'true' },\n standalone: false,\n})\nexport class LayerComponent implements AfterViewInit {\n @ViewChild('content', { read: ViewContainerRef, static: true })\n private readonly contentViewRef!: ViewContainerRef;\n public childComponentRef?: ComponentRef<any>;\n public childComponentType!: Type<any>;\n\n public get extended(): boolean {\n return this.config.extended!;\n }\n\n public get position(): string {\n return this.config.position || 'right';\n }\n\n public get title(): string {\n return this.config.title || 'Layer title';\n }\n\n public get closeOnOverlay(): boolean {\n return this.config.closeOnOverlay!;\n }\n\n public get icon(): string {\n return this.config.icon!;\n }\n\n constructor(\n @Inject(LAYER_REF) private readonly layerRef: LayerRef,\n @Inject(LAYER_CONFIG) private readonly config: LayerConfig,\n private readonly cd: ChangeDetectorRef,\n ) {}\n\n closeOnOutsideCLick(): void {\n if (this.closeOnOverlay) {\n this.close();\n }\n }\n\n ngAfterViewInit(): void {\n this.initChildComponent(this.childComponentType);\n }\n\n private initChildComponent(componentType: Type<any>): void {\n this.childComponentRef = this.contentViewRef.createComponent(componentType);\n this.cd.detectChanges();\n }\n\n public close() {\n this.layerRef.close();\n }\n}\n","<div\n class=\"mc-layer\"\n [ngClass]=\"[position === 'left' ? 'mc-layer--ltr' : '']\"\n role=\"dialog\"\n aria-labelledby=\"layerTitle\"\n aria-modal=\"true\"\n aria-hidden=\"true\"\n tabindex=\"-1\"\n>\n <div\n class=\"mc-layer__dialog is-open\"\n role=\"document\"\n [ngClass]=\"[extended ? 'mc-layer__dialog--extend' : '']\"\n >\n <div class=\"mc-layer__header\">\n <span class=\"mc-layer__icon\" *ngIf=\"icon\">\n <moz-icon iconName=\"{{ icon }}\"></moz-icon>\n </span>\n <h2 class=\"mc-layer__title\" id=\"layerTitle\">{{ title }}</h2>\n <button class=\"mc-layer__close\" type=\"button\" (click)=\"close()\">\n <span class=\"mc-layer__close-text\">Close</span>\n </button>\n </div>\n <div class=\"mc-layer__body mc-layer__body--overflowing\">\n <ng-template class=\"mc-layer__content\" #content></ng-template>\n </div>\n </div>\n</div>\n<div\n class=\"mc-layer-overlay is-visible\"\n (click)=\"closeOnOutsideCLick()\"\n tabindex=\"-1\"\n role=\"dialog\"\n></div>\n","import { DOCUMENT } from '@angular/common';\nimport {\n ApplicationRef,\n ComponentFactoryResolver,\n ComponentRef,\n EmbeddedViewRef,\n Inject,\n Injectable,\n Injector,\n Type,\n} from '@angular/core';\nimport { LayerInjector } from './classes/layer-injector';\nimport { LayerRefModel } from './classes/layer-ref';\nimport { LayerConfig } from './interfaces';\nimport { LayerRef } from './interfaces/layer-ref';\nimport { LayerComponent } from './layer.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LayerService {\n constructor(\n private readonly componentFactoryResolver: ComponentFactoryResolver,\n private readonly injector: Injector,\n private readonly applicationRef: ApplicationRef,\n @Inject(DOCUMENT) private readonly document: Document\n ) {}\n\n public open<T, K>(component: Type<T>, config: LayerConfig<K> = {}) {\n const layerRef = this.createLayer(config);\n this.applyChildComponent({ component, layerRef });\n return layerRef;\n }\n\n private createLayer<T>(config: LayerConfig<T>) {\n const layerRef = new LayerRefModel(config);\n const layerInjector = new LayerInjector({ injector: this.injector, layerRef });\n const componentRef = this.createComponentRef(layerInjector);\n layerRef.setComponentRef(componentRef);\n this.appendLayerComponentToBody(componentRef);\n this.initModalRefAfterClosedObserver(layerRef, componentRef);\n return layerRef;\n }\n\n private initModalRefAfterClosedObserver(\n layerRef: LayerRef,\n componentRef: ComponentRef<LayerComponent>\n ): void {\n layerRef.afterClosed$.subscribe(() => componentRef.destroy());\n }\n\n private createComponentRef(injector: LayerInjector): ComponentRef<LayerComponent> {\n return this.componentFactoryResolver.resolveComponentFactory(LayerComponent).create(injector);\n }\n\n private appendLayerComponentToBody(componentRef: ComponentRef<LayerComponent>): void {\n const componentHostView = componentRef.hostView as EmbeddedViewRef<unknown>;\n const componentHtmlElement = componentHostView.rootNodes[0] as HTMLElement;\n this.applicationRef.attachView(componentHostView);\n this.document.body.appendChild(componentHtmlElement);\n }\n\n private applyChildComponent<T>({\n layerRef,\n component,\n }: {\n layerRef: LayerRefModel;\n component: Type<T>;\n }): void {\n const { instance } = layerRef.componentRef;\n instance.childComponentType = component;\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n ViewEncapsulation,\n} from '@angular/core';\nimport { TagItem, TagType } from '../tag/tag-type';\nimport { LayerService } from '../layer/layer.service';\nimport { TaglistLayerContentComponent } from './components/taglist-layer-content/taglist-layer-content.component';\nimport { Subject, takeUntil } from 'rxjs';\nimport { LayerRef } from '../layer/interfaces/layer-ref';\nimport { TaglistService } from './services/taglist.service';\n\n@Component({\n selector: 'moz-taglist',\n templateUrl: './taglist.component.html',\n styleUrls: ['./taglist.component.scss'],\n providers: [TaglistService],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class TaglistComponent implements OnDestroy, OnInit, OnChanges {\n @Input() tagItems: TagItem[] = [];\n @Input() tagSize: 's' | 'm' = 's';\n @Input() showAllTitle: string = 'Show all';\n @Input() showAll: boolean = false;\n @Input() layerTagsTitle?: string = 'Tags';\n @Input() layerTagsIcon?: string = 'Navigation_Display_Setting_24px';\n @Input() max: number = 5;\n @Input() tagType: TagType = 'removable';\n @Output() removeTag = new EventEmitter<TagItem>();\n\n private _removedTagFromLayer$ = new Subject<TagItem>();\n private destroyed = new Subject();\n private taglistLayerRef!: LayerRef<TaglistLayerContentComponent>;\n\n constructor(\n public taglistService: TaglistService,\n private layerService: LayerService,\n private cdRef: ChangeDetectorRef,\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['tagItems'] && changes['tagItems'].currentValue) {\n this.taglistService.setTagItems(this.tagItems);\n }\n }\n\n ngOnInit(): void {\n this.taglistService.setTagItems(this.tagItems);\n\n this.taglistService.tagItems$.pipe(takeUntil(this.destroyed)).subscribe((tagItems) => {\n this.tagItems = tagItems;\n this.cdRef.markForCheck();\n });\n }\n\n public showAllEvent(): void {\n this.taglistLayerRef = this.layerService.open(TaglistLayerContentComponent, {\n title: this.layerTagsTitle ?? 'Settings',\n icon: this.layerTagsIcon ?? 'Navigation_Display_Setting_24px',\n data: {\n tags: this.tagItems,\n type: this.tagType,\n size: this.tagSize,\n _removedTagFromLayer$: this._removedTagFromLayer$,\n taglistService: this.taglistService,\n },\n });\n\n this._removedTagFromLayer$\n .pipe(takeUntil(this.destroyed))\n .subscribe((tagItem) => this.removeTagEvent(tagItem));\n }\n\n public removeTagEvent(tagItem: TagItem) {\n this.removeTag.emit(tagItem);\n this.taglistService.setTagItems(this.tagItems.filter((tag) => tag.id !== tagItem.id));\n }\n\n public closeTaglistLayer(): void {\n if (this.taglistLayerRef) {\n this.taglistLayerRef.close();\n }\n }\n\n ngOnDestroy(): void {\n this.destroyed.next(null);\n this.destroyed.complete();\n }\n}\n","<div class=\"mc-taglist\">\n <ng-container *ngFor=\"let tagItem of taglistService.getTagItems(); let i = index\">\n <moz-tag\n class=\"tag-selected\"\n *ngIf=\"i < max || showAll\"\n type=\"removable\"\n [size]=\"tagSize\"\n [type]=\"tagType\"\n (clickOnRemove)=\"removeTagEvent(tagItem)\"\n >\n {{ tagItem.label }}\n </moz-tag>\n </ng-container>\n <ng-container *ngIf=\"!showAll && tagItems.length > max\">\n <a\n moz-tag\n [size]=\"tagSize\"\n class=\"tag-selected mc-taglist__showhide\"\n (click)=\"showAllEvent()\"\n >{{ showAllTitle }}</a\n >\n </ng-container>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TaglistComponent } from './taglist.component';\nimport { TagModule } from '../tag/tag.module';\nimport { TaglistLayerContentComponent } from './components/taglist-layer-content/taglist-layer-content.component';\nimport { ButtonModule } from '../button/button.module';\n\n@NgModule({\n declarations: [TaglistComponent, TaglistLayerContentComponent],\n imports: [CommonModule, TagModule, ButtonModule],\n exports: [TaglistComponent, TaglistLayerContentComponent],\n})\nexport class TaglistModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { castBooleanProperty } from '../../common/utils';\nimport { TextInputSize } from './text-input';\n\n@Component({\n selector: 'input[moz-input]',\n template: '',\n styleUrls: ['./text-input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class TextInputComponent {\n @Input() public size: TextInputSize = 'm';\n\n private _invalid = false;\n\n private _valid = false;\n\n constructor(private readonly elementRef: ElementRef<HTMLInputElement>) {}\n\n @HostBinding('class')\n public get hostCssClasses() {\n const validClass = this.valid ? 'is-valid' : '';\n const invalidClass = this.invalid ? 'is-invalid' : '';\n const sizeCssClass = this.isRadioButton || this.isCheckbox ? '' : `mc-text-input--${this.size}`;\n return `${this.inputClass} ${sizeCssClass} ${validClass} ${invalidClass}`;\n }\n\n @HostListener('input', ['$event'])\n onInput(event: Event) {\n const value = (event.target as HTMLInputElement).value;\n const maxlength = this.elementRef.nativeElement.getAttribute('maxlength');\n const inputType = this.elementRef.nativeElement.getAttribute('type');\n if (maxlength && inputType && inputType === 'number') {\n (event.target as HTMLInputElement).value = value.slice(0, +maxlength);\n }\n }\n\n public get invalid(): boolean {\n return this._invalid || false;\n }\n\n public get valid(): boolean {\n const valid = this._valid || false;\n return !this.invalid && valid;\n }\n\n private get typeElement() {\n return this.elementRef.nativeElement.type || 'text';\n }\n\n private get isRadioButton() {\n return this.typeElement === 'radio';\n }\n\n private get isCheckbox() {\n return this.typeElement === 'checkbox';\n }\n\n private get inputClass() {\n if (this.isCheckbox) {\n return 'mc-checkbox__input';\n }\n if (this.isRadioButton) {\n return 'mc-radio__input';\n }\n return 'mc-text-input';\n }\n\n @Input() public set invalid(val: boolean) {\n this._invalid = castBooleanProperty(val);\n }\n\n @Input() public set valid(val: boolean) {\n this._valid = castBooleanProperty(val);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { IconModule } from '../icon/icon.module';\nimport { TextInputComponent } from './text-input.component';\n\n@NgModule({\n declarations: [TextInputComponent],\n imports: [CommonModule, FormsModule, IconModule],\n exports: [TextInputComponent],\n})\nexport class TextInputModule {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n ViewChild,\n forwardRef,\n model,\n signal,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ListboxComponent } from '../listbox/listbox.component';\nimport { ListboxItem } from '../listbox/model/listbox-item';\nimport { TextInputSize } from '../text-input/text-input';\n\n@Component({\n selector: 'moz-autocomplete',\n templateUrl: './autocomplete.component.html',\n styleUrls: ['./autocomplete.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AutocompleteComponent),\n multi: true,\n },\n ],\n standalone: false,\n})\nexport class AutocompleteComponent implements ControlValueAccessor, OnChanges {\n @ViewChild(ListboxComponent) listboxComponent!: ListboxComponent;\n\n @Input() public listboxItems: ListboxItem[] = [];\n @Input() public multiple: boolean = false;\n @Input() public placeholder: string = 'Placeholder';\n @Input() public disabled: boolean = false;\n @Input() public loading: boolean = false;\n @Input() public clearfield: boolean = false;\n @Input() public valid: boolean = false;\n @Input() public invalid: boolean = false;\n @Input() public size: TextInputSize = 's';\n @Input() public showSelectedTag: boolean = false;\n @Input() public layerTagsTitle: string = 'Autocomplete tags';\n @Input() public layerTagsIcon: string = 'Navigation_Display_Setting_24px';\n @Input() public errorContentText: string = 'No results found';\n @Input() public withSearchFilter: boolean = true;\n @Input() public openState: boolean = false;\n @Input() public labelClearButton: string = 'Clear';\n @Input() public useVirtualScroll: boolean = false;\n @Input() public maxSelectable: number = Infinity;\n\n @Output() public searchUpdated = new EventEmitter<string>();\n @Output() public inputClicked = new EventEmitter<boolean>();\n @Output() public scrollEnd = new EventEmitter<boolean>();\n @Output() public isOpen = new EventEmitter<boolean>();\n\n public selectedItems = model<ListboxItem[] | ListboxItem | undefined>(undefined);\n public originalListboxParent?: HTMLElement | null;\n public initialListboxItems: ListboxItem[] = [];\n public noResults: boolean = false;\n public originallyDisabledItems: Set<string> = new Set();\n public isDisabled = signal(false);\n\n _searchValue: string = '';\n\n constructor(private readonly cd: ChangeDetectorRef) {}\n\n get searchValue(): string {\n return this._searchValue;\n }\n\n @Input() set searchValue(value: string) {\n this._searchValue = value;\n this.cd.detectChanges();\n this.cd.markForCheck();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.initialListboxItems = this.listboxItems.map((x) => ({ ...x }));\n this.originallyDisabledItems = new Set(\n this.listboxItems.filter((item) => item.disabled).map((item) => item.value),\n );\n if (changes['disabled']) {\n this.isDisabled.set(changes['disabled'].currentValue);\n }\n }\n\n onChange: any = (value: any) => {};\n onTouch: any = () => {};\n\n writeValue(value: ListboxItem[] | ListboxItem | undefined): void {\n if (!this.multiple && value) {\n this.searchValue = (value as ListboxItem).label || '';\n }\n this.noResults = false;\n if (typeof value === 'undefined') {\n this.selectedItems.set(undefined);\n } else {\n this.selectedItems.set(Array.isArray(value) ? [...value] : { ...value });\n }\n this.onChange(value);\n this.onTouch();\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n public openChangeEvent($event: boolean): void {\n this.isOpen.emit($event);\n }\n\n public openListbox(): void {\n this.openState = true;\n this.inputClicked.emit(true);\n }\n\n public closeListbox(): void {\n this.openState = false;\n this.listboxItems = this.initialListboxItems;\n }\n\n public itemsSelectedListboxEvent(listboxItemSelected: ListboxItem[] | ListboxItem): void {\n if (!this.multiple) {\n this.searchValue = (listboxItemSelected as ListboxItem).label;\n this.closeListbox();\n } else {\n const selectedItems = listboxItemSelected as ListboxItem[];\n\n if (selectedItems.length > this.maxSelectable) {\n return;\n }\n\n this.selectedItems.set([...selectedItems]);\n\n this.updateItemsDisabledState(selectedItems);\n }\n\n this.invalid = false;\n this.writeValue(listboxItemSelected);\n }\n\n public isItemDisabled(item: ListboxItem): boolean {\n if (!this.multiple) {\n return false;\n }\n\n const selectedItems = this.getSelectedListboxItems();\n return selectedItems.length >= this.maxSelectable && !selectedItems.includes(item);\n }\n\n public clearFieldEvent(): void {\n if (!this.disabled) {\n this.selectedItems.set([]);\n this.openState = false;\n if (!this.multiple) {\n this.searchValue = '';\n }\n this.writeValue(this.selectedItems());\n }\n }\n\n public getMultiSelectedLabel(): string {\n if (this.multiple) {\n return (this.selectedItems() as ListboxItem[])\n .map((selectedItem) => selectedItem.label)\n .join(', ');\n }\n return '';\n }\n\n public getSelectedListboxItems(): ListboxItem[] {\n if (this.multiple && this.selectedItems) {\n return this.selectedItems() as ListboxItem[];\n }\n return [];\n }\n\n public getSelectedListboxItem(): ListboxItem | undefined {\n if (!this.multiple && this.selectedItems) {\n return this.selectedItems() as ListboxItem;\n }\n return undefined;\n }\n\n public canClearField(): boolean {\n if (this.multiple) {\n return !this.disabled && this.clearfield && this.getSelectedListboxItems().length > 0;\n } else {\n return !this.disabled && this.clearfield && this.getSelectedListboxItem() != null;\n }\n }\n\n public searchEvent(): void {\n if (this.withSearchFilter) {\n this.noResults = false;\n this.invalid = false;\n if (this.searchValue.length > 0) {\n this.listboxItems = [\n ...this.initialListboxItems.filter((listboxItem) =>\n listboxItem.label.toLocaleLowerCase().includes(this.searchValue.toLocaleLowerCase()),\n ),\n ];\n if (this.listboxItems.length === 0) {\n this.openState = false;\n this.noResults = true;\n this.invalid = true;\n } else {\n this.openState = true;\n }\n } else {\n this.listboxItems = this.initialListboxItems;\n this.openState = true;\n }\n }\n this.updateItemsDisabledState(this.getSelectedListboxItems());\n this.searchUpdated.emit(this.searchValue);\n this.cd.detectChanges();\n }\n\n public focusinEvent(): void {\n this.openListbox();\n }\n\n public focusoutEvent($event: any): void {\n if ($event.relatedTarget && !$event.relatedTarget.classList.contains('mc-listbox__list')) {\n this.closeListbox();\n }\n }\n\n public scrollEndEvent($event: boolean): void {\n this.scrollEnd.emit($event);\n }\n\n public setDisabledState?(isDisabled: boolean): void {\n this.isDisabled.set(isDisabled);\n }\n\n private updateItemsDisabledState(selectedItems: ListboxItem[]): void {\n const isLimitReached = selectedItems.length >= this.maxSelectable;\n\n this.listboxItems.forEach((item) => {\n const isSelected = selectedItems.some((selectedItem) => selectedItem.value === item.value);\n\n item.disabled =\n this.originallyDisabledItems.has(item.value) || (isLimitReached && !isSelected);\n });\n\n this.cd.detectChanges();\n }\n}\n","<div\n id=\"js-autocomplete\"\n class=\"mc-autocomplete mc-autocomplete--clearable\"\n [ngClass]=\"{ 'mc-autocomplete--multi': multiple }\"\n [ngStyle]=\"{\n '--autocomplete-tag-width':\n showSelectedTag && multiple && getSelectedListboxItems().length > 0 ? '3.5rem' : '',\n '--autocomplete-width': '100%',\n }\"\n>\n <moz-listbox\n #listbox\n [listboxItems]=\"listboxItems\"\n [(isOpen)]=\"openState\"\n [multiple]=\"multiple\"\n [selectedItems]=\"selectedItems()\"\n (itemsSelected)=\"itemsSelectedListboxEvent($event)\"\n (scrollEnd)=\"scrollEndEvent($event)\"\n (isOpenChange)=\"openChangeEvent($event)\"\n [useVirtualScroll]=\"useVirtualScroll\"\n >\n <div class=\"mc-autocomplete__main\" reference>\n @if (showSelectedTag && multiple && getSelectedListboxItems().length > 0) {\n <moz-tag\n [type]=\"disabled ? 'text' : 'removable'\"\n class=\"mc-autocomplete__tag\"\n [ngClass]=\"{ 'mc-tag-removable mc-tag-removable--s': !disabled }\"\n [size]=\"'s'\"\n (clickOnRemove)=\"clearFieldEvent()\"\n >\n {{ getSelectedListboxItems().length }}</moz-tag\n >\n }\n\n <div class=\"mc-left-icon-input\">\n <moz-icon\n class=\"mc-left-icon-input__icon\"\n [iconName]=\"'Navigation_Display_Search_24px'\"\n ></moz-icon>\n <input\n moz-input\n [type]=\"'text'\"\n [invalid]=\"invalid\"\n class=\"mc-left-icon-input__input mc-text-input mc-autocomplete__trigger\"\n [valid]=\"valid\"\n [placeholder]=\"placeholder\"\n [disabled]=\"isDisabled()\"\n [size]=\"size\"\n [(ngModel)]=\"searchValue\"\n (ngModelChange)=\"searchEvent()\"\n (focusin)=\"focusinEvent()\"\n (focusout)=\"focusoutEvent($event)\"\n (click)=\"openListbox()\"\n />\n </div>\n\n <div class=\"mc-autocomplete__tools\">\n @if (loading) {\n <div class=\"mc-autocomplete__loader mc-loader mc-loader--s\">\n <span class=\"mc-loader__spinner\">\n <moz-loader class=\"mc-loader__icon\" size=\"s\"></moz-loader>\n </span>\n </div>\n }\n @if (canClearField()) {\n <button class=\"mc-autocomplete__clear\" type=\"button\" (click)=\"clearFieldEvent()\">\n <moz-icon\n class=\"mc-autocomplete__clear-icon\"\n [iconName]=\"'Navigation_Control_Tag--Cross_24px'\"\n ></moz-icon\n ><span class=\"mc-autocomplete__clear-text\">{{ labelClearButton }}</span>\n </button>\n }\n </div>\n </div>\n </moz-listbox>\n</div>\n@if (invalid) {\n <div class=\"mc-autocomplete__error\">\n {{ errorContentText }}\n </div>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { IconModule } from '../icon/icon.module';\nimport { ListboxModule } from '../listbox/listbox.module';\nimport { LoaderModule } from '../loader/loader.module';\nimport { TagModule } from '../tag/tag.module';\nimport { TaglistModule } from '../taglist/taglist.module';\nimport { TextInputModule } from '../text-input/text-input.module';\nimport { AutocompleteComponent } from './autocomplete.component';\n\n@NgModule({\n declarations: [AutocompleteComponent],\n imports: [\n CommonModule,\n TagModule,\n FormsModule,\n TaglistModule,\n ListboxModule,\n IconModule,\n LoaderModule,\n TextInputModule,\n ],\n exports: [AutocompleteComponent],\n})\nexport class AutocompleteModule {}\n","export type BadgeType = 'information' | 'success' | 'warning' | 'danger' | 'neutral';\nexport type BadgeTypeCssClass = `mc-badge--${BadgeType}`;\nexport const BADGE_TYPE = ['information', 'success', 'warning', 'danger', 'neutral'];\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { BadgeType, BADGE_TYPE } from './badge';\n\n@Component({\n selector: '[moz-badge]',\n templateUrl: './badge.component.html',\n styleUrls: ['./badge.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class BadgeComponent {\n @HostBinding('class') public badgeClasses = `mc-badge mc-badge--information`;\n\n @Input() set type(type: unknown) {\n if (!this.validateType(type)) return;\n this.badgeClasses = `mc-badge mc-badge--${type}`;\n }\n\n private validateType(type: unknown): type is BadgeType {\n if (typeof type !== 'string') return false;\n return BADGE_TYPE.includes(type);\n }\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BadgeComponent } from './badge.component';\n\n@NgModule({\n declarations: [BadgeComponent],\n imports: [CommonModule],\n exports: [BadgeComponent],\n})\nexport class BadgeModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Inject,\n Input,\n Optional,\n Output,\n} from '@angular/core';\nimport { RouterLinkActive, RouterLinkWithHref } from '@angular/router';\nimport { LinkIconPosition, LinkSize, LinkTheme } from './model/link-utils';\n\n@Component({\n selector: `moz-link`,\n templateUrl: './link.component.html',\n styleUrls: ['./link.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class LinkComponent {\n @Input() public size: LinkSize = 'm';\n @Input() public theme?: LinkTheme;\n @Input() public iconPosition?: LinkIconPosition;\n @Input() public disabled?: boolean = false;\n @Input() public showIcon?: boolean = false;\n @Input() public active?: boolean = false;\n @Input() public href?: string = '';\n\n @Output() clickLinkEvent = new EventEmitter<string>();\n\n constructor(\n @Optional()\n @Inject(RouterLinkActive)\n public readonly routerLinkActive: RouterLinkActive | null,\n @Optional()\n @Inject(RouterLinkWithHref)\n public readonly routerLink: RouterLinkWithHref | null,\n ) {}\n\n public check($event: Event): void {\n if (this.disabled) {\n $event.stopPropagation();\n $event.preventDefault();\n }\n }\n}\n","<ng-container *ngIf=\"active; else notActive\">\n <span\n [ngClass]=\"[\n theme ? 'mc-link--' + theme : '',\n size ? 'mc-link--' + size : '',\n disabled ? 'is-disabled' : ''\n ]\"\n class=\"mc-link mc-breadcrumb__current\"\n >\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n </span>\n</ng-container>\n<ng-template #notActive>\n <a\n class=\"mc-link\"\n [attr.href]=\"href || null\"\n [ngClass]=\"[\n theme ? 'mc-link--' + theme : '',\n size ? 'mc-link--' + size : '',\n disabled ? 'is-disabled' : ''\n ]\"\n (click)=\"check($event)\"\n >\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n </a>\n</ng-template>\n<ng-template #contentTpl>\n <moz-icon\n *ngIf=\"showIcon && iconPosition && iconPosition === 'left'\"\n [iconName]=\"'Navigation_Arrow_Arrow--Left_24px'\"\n class=\"mc-link__icon mc-link__icon--left\"\n ></moz-icon>\n <ng-content></ng-content>\n <moz-icon\n *ngIf=\"showIcon && iconPosition !== 'left'\"\n [iconName]=\"'Navigation_Arrow_Arrow--Right_24px'\"\n class=\"mc-link__icon mc-link__icon--right\"\n ></moz-icon>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { BreadcrumbItem } from './model/breadcrumb-item';\n\n@Component({\n selector: 'moz-breadcrumb',\n templateUrl: './breadcrumb.component.html',\n styleUrls: ['./breadcrumb.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class BreadcrumbComponent {\n @Input() public items: BreadcrumbItem[] = [];\n @Input() public darkMode: boolean = false;\n @Input() public responsive: boolean = false;\n @Input() public noPadding: boolean = true;\n\n @Output() clickLinkEvent = new EventEmitter<string>();\n\n public getActiveItemIndex(): number {\n if (this.responsive) {\n return this.items.findIndex((item) => item.active) - 1;\n }\n return 1;\n }\n\n public navigate(item: BreadcrumbItem): void {\n this.clickLinkEvent.emit(item.route);\n }\n}\n","<nav\n class=\"mc-breadcrumb\"\n [ngClass]=\"[\n darkMode ? 'mc-breadcrumb--dark' : '',\n responsive ? 'mc-breadcrumb--responsive' : '',\n noPadding ? 'mc-breadcrumb--no-padding' : ''\n ]\"\n aria-label=\"Breadcrumb\"\n>\n <ul class=\"mc-breadcrumb__container\">\n <ng-container *ngFor=\"let item of items; let i = index\">\n <li\n class=\"mc-breadcrumb__item is-active\"\n [ngClass]=\"{ 'is-active': responsive && i === getActiveItemIndex() }\"\n (clickLinkEvent)=\"navigate(item)\"\n >\n <moz-link\n *ngIf=\"!item.href; else withHref\"\n [size]=\"'s'\"\n [theme]=\"darkMode ? 'light' : ''\"\n routerLinkActive\n [routerLink]=\"item.route\"\n [active]=\"item.active\"\n >{{ item.label }}</moz-link\n >\n <ng-template #withHref>\n <moz-link\n *ngIf=\"!item.href; else withHref\"\n [size]=\"'s'\"\n [theme]=\"darkMode ? 'light' : ''\"\n [href]=\"item.href\"\n [active]=\"item.active\"\n >{{ item.label }}</moz-link\n >\n </ng-template>\n </li>\n </ng-container>\n </ul>\n</nav>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { LinkComponent } from './link.component';\nimport { IconModule } from '../icon';\n\n@NgModule({\n declarations: [LinkComponent],\n imports: [CommonModule, IconModule],\n exports: [LinkComponent],\n})\nexport class LinkModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { BreadcrumbComponent } from './breadcrumb.component';\nimport { LinkModule } from '../link';\nimport { RouterModule } from '@angular/router';\n\n@NgModule({\n declarations: [BreadcrumbComponent],\n imports: [CommonModule, LinkModule, RouterModule],\n exports: [BreadcrumbComponent],\n})\nexport class BreadcrumbModule {}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { BuiltItMenu } from './model/built-it-menu';\n\n@Component({\n selector: 'moz-built-it-menu',\n templateUrl: './built-it-menu.component.html',\n styleUrls: ['./built-it-menu.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class BuiltItMenuComponent {\n @Input() menuItems: BuiltItMenu[] = [];\n @Input() modelValue: number = 0;\n @Output() clickMenuItem = new EventEmitter<BuiltItMenu>();\n\n protected navigate(menuItem: BuiltItMenu, index: number): void {\n if (!menuItem.disabled) {\n this.modelValue = index;\n this.clickMenuItem.emit({\n label: menuItem.label,\n route: menuItem.route,\n link: menuItem.link,\n });\n }\n }\n}\n","<nav class=\"mc-menu\" aria-label=\"menu\">\n <ul class=\"mc-menu__list\">\n <li\n class=\"mc-menu__item\"\n *ngFor=\"let menuItem of menuItems; index as i\"\n (click)=\"navigate(menuItem, i)\"\n >\n <ng-container *ngIf=\"menuItem.link; else noLink\">\n <a\n class=\"mc-menu__link\"\n [ngClass]=\"{ 'is-active': i === modelValue, 'is-disabled': menuItem.disabled }\"\n [href]=\"menuItem.link\"\n target=\"_blank\"\n >\n <ng-container *ngIf=\"menuItem.icon\">\n <moz-icon\n mozInputIcon\n [iconName]=\"menuItem.icon\"\n [style.fill]=\"\n menuItem.disabled || i === modelValue ? 'white' : menuItem.iconColor || 'black'\n \"\n ></moz-icon> </ng-container\n ><span class=\"mc-menu__label\">{{ menuItem.label }}</span>\n </a>\n </ng-container>\n <ng-template #noLink>\n <button\n type=\"button\"\n [ngClass]=\"{ 'is-active': i === modelValue, 'is-disabled': menuItem.disabled }\"\n class=\"mc-menu__link\"\n >\n <ng-container *ngIf=\"menuItem.icon\">\n <moz-icon\n mozInputIcon\n [iconName]=\"menuItem.icon\"\n [style.fill]=\"\n (menuItem.disabled !== null && menuItem.disabled) || i === modelValue\n ? 'white'\n : menuItem.iconColor || 'black'\n \"\n ></moz-icon>\n </ng-container>\n <span class=\"mc-menu__label\">{{ menuItem.label }}</span>\n </button>\n </ng-template>\n </li>\n </ul>\n</nav>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { BuiltItMenuComponent } from './built-it-menu.component';\nimport { IconModule } from '../icon/icon.module';\n\n@NgModule({\n declarations: [BuiltItMenuComponent],\n imports: [CommonModule, IconModule],\n exports: [BuiltItMenuComponent],\n})\nexport class BuiltItMenuModule {}\n","import { Injectable } from '@angular/core';\nimport { fromEvent, Observable, shareReplay } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class GlobalEventsService {\n private readonly eventHandlers = new Map<string, Observable<Event>>();\n\n public get window() {\n return this._window;\n }\n\n constructor(private readonly _window: Window) {}\n\n public getWindowEvent<T extends Event>(eventName: string): Observable<T> {\n const cachedHandler = this.eventHandlers.get(eventName);\n if (cachedHandler) {\n return cachedHandler as Observable<T>;\n }\n const eventHandler = fromEvent<T>(this.window, eventName).pipe(\n shareReplay({ refCount: true, bufferSize: 1 })\n );\n this.eventHandlers.set(eventName, eventHandler);\n return eventHandler;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { GlobalEventsService } from './global-events.service';\n\n@NgModule({\n providers: [GlobalEventsService, { provide: Window, useValue: window }],\n})\nexport class GlobalEventsModule {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { generateId } from '../../common';\n\nexport const CHECKBOX_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckboxComponent),\n multi: true,\n};\n\n@Component({\n selector: 'moz-checkbox',\n templateUrl: './checkbox.component.html',\n styleUrls: ['./checkbox.component.scss'],\n providers: [CHECKBOX_CONTROL_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class.mc-checkbox]': 'true',\n },\n standalone: false,\n})\nexport class CheckboxComponent implements ControlValueAccessor {\n @Input() public disabled = false;\n\n @Input() public indeterminate = false;\n\n @Input() public invalid = false;\n\n @Input() public id?: string;\n\n private toggleEvent: EventEmitter<string> = new EventEmitter<string>();\n\n private _checked = false;\n\n constructor(\n private cd: ChangeDetectorRef,\n public elementRef: ElementRef,\n ) {\n if (!this.id) {\n this.id = generateId();\n }\n }\n\n public get checked() {\n return this._checked;\n }\n\n @Input()\n public set checked(v) {\n this._checked = v;\n this.onChange(this._checked);\n this.onTouch();\n }\n\n writeValue(value: any) {\n this.checked = !!value;\n this.toggleEvent.emit(this.id);\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n onChange: any = () => {};\n\n onTouch: any = () => {};\n\n toggle() {\n this.writeValue(!this.checked);\n }\n\n public refreshView(): void {\n this.cd.markForCheck();\n this.cd.detectChanges();\n }\n\n public getToggleEvent(): EventEmitter<string> {\n return this.toggleEvent;\n }\n}\n","<input\n [id]=\"id\"\n type=\"checkbox\"\n class=\"mc-checkbox__input\"\n [checked]=\"checked\"\n (click)=\"toggle()\"\n [ngClass]=\"{ 'is-invalid': invalid }\"\n [disabled]=\"disabled\"\n [indeterminate]=\"indeterminate\"\n/>\n<label [for]=\"id\" class=\"mc-checkbox__label\">\n <ng-content></ng-content>\n</label>\n","import {\n AfterContentInit,\n Component,\n ContentChildren,\n Input,\n QueryList,\n Renderer2,\n ViewEncapsulation,\n forwardRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CheckboxComponent } from '../checkbox/checkbox.component';\n\n@Component({\n selector: 'moz-checkbox-group',\n templateUrl: './checkbox-group.component.html',\n styleUrls: ['./checkbox-group.component.scss'],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckboxGroupComponent),\n multi: true,\n },\n ],\n standalone: false,\n})\nexport class CheckboxGroupComponent implements ControlValueAccessor, AfterContentInit {\n @Input() public legend: string = '';\n @Input() public requirementText: string = '';\n @Input() public helpId: string = '';\n @Input() public helpText: string = '';\n @Input() public inline: boolean = false;\n\n @ContentChildren(CheckboxComponent)\n public checkboxComponents?: QueryList<CheckboxComponent>;\n\n private _checkboxSelectedId: string[] = [];\n\n constructor(private renderer: Renderer2) {}\n\n get checkboxSelectedId(): string[] {\n return this._checkboxSelectedId;\n }\n\n @Input() set checkboxSelectedId(value: string[]) {\n this._checkboxSelectedId = value;\n this.writeValue(value);\n }\n\n onChange: any = () => {};\n onTouch: any = () => {};\n\n writeValue(selectedCheckboxGroup?: string[]): void {\n if (selectedCheckboxGroup) {\n this.onChange(selectedCheckboxGroup);\n this.updateOptionCardChecked(selectedCheckboxGroup);\n this.onTouch();\n this._checkboxSelectedId = selectedCheckboxGroup;\n }\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n ngAfterContentInit() {\n if (this.checkboxComponents) {\n this.checkboxComponents.forEach((checkboxComponent) => {\n const className = `mc-field__item`;\n const nativeElement = checkboxComponent.elementRef.nativeElement;\n this.renderer.addClass(nativeElement, className);\n checkboxComponent.getToggleEvent().subscribe((id) => {\n this.selectedCheckboxGroupEvent(id);\n });\n });\n }\n }\n\n updateOptionCardChecked(checkboxSelected?: string[]): void {\n this.checkboxComponents?.forEach((checkbox) => {\n checkbox.checked = checkboxSelected?.includes(checkbox.id ?? '') ?? false;\n checkbox.refreshView();\n });\n }\n\n selectedCheckboxGroupEvent(selectedCheckboxId: string): void {\n const index = this.checkboxSelectedId.findIndex((value) => value === selectedCheckboxId);\n if (index !== -1) {\n this.checkboxSelectedId = [\n ...this.checkboxSelectedId.slice(0, index),\n ...this.checkboxSelectedId.slice(index + 1),\n ];\n } else {\n this.checkboxSelectedId = [...this.checkboxSelectedId, selectedCheckboxId];\n }\n }\n}\n","<fieldset class=\"mc-field mc-field--group\">\n <legend *ngIf=\"legend\" class=\"mc-field__legend\">\n {{ legend }}\n <span\n *ngIf=\"requirementText\"\n class=\"mc-field__requirement\"\n [attr.aria-hidden]=\"!requirementText\"\n >\n {{ requirementText }}\n </span>\n </legend>\n <span *ngIf=\"helpText && helpId\" id=\"{{ helpId }}\" class=\"mc-field__help\"> {{ helpText }}</span>\n\n <div class=\"mc-field__container\" [ngClass]=\"{ 'mc-field__container--inline': inline }\">\n <ng-content select=\"moz-checkbox\"></ng-content>\n </div>\n</fieldset>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { CheckboxComponent } from './checkbox.component';\n\n@NgModule({\n declarations: [CheckboxComponent],\n imports: [CommonModule],\n exports: [CheckboxComponent],\n})\n/**\n * @deprecated remove in 0.21 version\n */\nexport class CheckboxModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { CheckboxGroupComponent } from './checkbox-group.component';\nimport { FormsModule } from '@angular/forms';\nimport { CheckboxModule } from '../checkbox/checkbox.module';\n\n@NgModule({\n declarations: [CheckboxGroupComponent],\n imports: [CommonModule, CheckboxModule, FormsModule],\n exports: [CheckboxGroupComponent],\n})\nexport class CheckboxGroupModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { SelectSize } from './select-size';\n\n@Component({\n selector: 'select[moz-`select`]',\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class SelectComponent {\n @Input() size: SelectSize = 'm';\n\n @HostBinding('class')\n public get hostCssClasses() {\n const staticClasses = 'mc-select';\n const sizeCssClass = `mc-select--${this.size}`;\n const dynamicClasses = `${sizeCssClass}`;\n return `${staticClasses} ${dynamicClasses}`;\n }\n}\n","<ng-content select=\"option\"></ng-content>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SelectComponent } from './select.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [SelectComponent],\n exports: [SelectComponent],\n})\nexport class SelectModule {}\n","export enum SELECT_SIZE {\n S = 's',\n M = 'm',\n}\n\nexport type SelectSize = 's' | 'm';\n","export type Page = { title: string; value: number };\n\nexport const PAGINATION_FIRST_PAGE = 1;\n\nexport const PAGINATION_MIN_NUMBER_OF_PAGES = 1;\n\nexport const PAGINATION_PAGE_STEP = 1;\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n forwardRef,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { debounceTime, map, Observable, shareReplay, startWith } from 'rxjs';\nimport { GlobalEventsService } from '../../common';\nimport { IconSize } from '../icon/icon-size';\nimport { SELECT_SIZE, SelectSize } from '../select/select-size';\nimport {\n Page,\n PAGINATION_FIRST_PAGE,\n PAGINATION_MIN_NUMBER_OF_PAGES,\n PAGINATION_PAGE_STEP,\n} from './pagination';\n\nexport const PAGINATION_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PaginationComponent),\n multi: true,\n};\n\n@Component({\n selector: 'moz-pagination',\n templateUrl: './pagination.component.html',\n styleUrls: ['./pagination.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [PAGINATION_CONTROL_VALUE_ACCESSOR],\n standalone: false,\n})\nexport class PaginationComponent implements ControlValueAccessor, AfterViewInit, OnChanges {\n @Input() numberOfPages = PAGINATION_MIN_NUMBER_OF_PAGES;\n @Output() pageChangeEvent = new EventEmitter<number>();\n\n @Input() disable = false;\n @Input() light = false;\n @Input() pageLabel = 'Page';\n @Input() pageOfLabel = 'of';\n\n public currentPage = PAGINATION_FIRST_PAGE;\n\n public pages: Page[] = [];\n\n public rightIconName!: Observable<string>;\n\n public leftIconName!: Observable<string>;\n\n public selectSize: Observable<SelectSize>;\n\n private readonly smallResolution = 1024;\n\n constructor(\n private readonly globalEventService: GlobalEventsService,\n private readonly cd: ChangeDetectorRef,\n ) {\n const isSmall = this.displayIsSmall().pipe(shareReplay({ refCount: true, bufferSize: 1 }));\n this.initializeIcons(isSmall);\n this.selectSize = isSmall.pipe(map((isSmall) => this.chooseSelectSize(isSmall)));\n }\n\n public get viewSelect() {\n return !this.light;\n }\n\n public get isFirstPage(): boolean {\n return this.currentPage <= PAGINATION_FIRST_PAGE;\n }\n\n public get isLastPage(): boolean {\n return this.currentPage >= this.numberOfPages;\n }\n\n public get disabledSelect() {\n return this.numberOfPages <= PAGINATION_MIN_NUMBER_OF_PAGES;\n }\n\n @Input() pageTitleMask = (page: number, numberOfPages: number) =>\n `${this.pageLabel} ${page} ${this.pageOfLabel} ${numberOfPages}`;\n\n public onChange: any = () => {};\n\n public onTouch: any = () => {};\n\n ngAfterViewInit() {\n this.reinitializeNumberOfPagesAtInvalidValue();\n if (this.viewSelect) {\n this.pages = this.initializePages(this.numberOfPages);\n }\n this.cd.detectChanges();\n }\n\n ngOnChanges({ numberOfPages, pageTitleMask }: SimpleChanges) {\n if (\n this.needRenderPages(\n this.viewSelect,\n numberOfPages?.currentValue,\n numberOfPages?.previousValue,\n pageTitleMask?.currentValue,\n pageTitleMask?.previousValue,\n )\n ) {\n this.reinitializeNumberOfPagesAtInvalidValue();\n }\n this.pages = this.initializePages(this.numberOfPages);\n }\n\n public writeValue(value: any) {\n if (!value || value === this.currentPage || value > this.numberOfPages) return;\n this.currentPage = value;\n this.cd.markForCheck();\n this.onChange(value);\n }\n\n public registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n public nextPage() {\n this.writeValue(this.currentPage + PAGINATION_PAGE_STEP);\n this.pageChangeEvent.emit(this.currentPage);\n this.cd.markForCheck();\n }\n\n public previousPage() {\n this.writeValue(this.currentPage - PAGINATION_PAGE_STEP);\n this.pageChangeEvent.emit(this.currentPage);\n this.cd.markForCheck();\n }\n\n public compareWithPages(page: number, currentPage?: number): boolean {\n return page === currentPage;\n }\n\n private initializePages(numberOfPages: number): Page[] {\n return new Array(numberOfPages).fill(null).map((_, index) => ({\n title: this.pageTitleMask(index + 1, numberOfPages),\n value: index + 1,\n }));\n }\n\n private initializeIcons(isSmall: Observable<boolean>) {\n const iconSize = isSmall.pipe(\n map((isSmall) => this.chooseIconSize(isSmall)),\n shareReplay({ refCount: true, bufferSize: 1 }),\n );\n\n this.leftIconName = iconSize.pipe(\n map((iconSize) => `Navigation_Arrow_Arrow--Left_${iconSize}`),\n );\n\n this.rightIconName = iconSize.pipe(\n map((iconSize) => `Navigation_Arrow_Arrow--Right_${iconSize}`),\n );\n }\n\n private displayIsSmall(): Observable<boolean> {\n const resizeEvent = this.globalEventService.getWindowEvent('resize').pipe(debounceTime(100));\n const displayWidth = resizeEvent.pipe(\n map((event) => (event?.target as Window)?.innerWidth),\n startWith(this.globalEventService.window.innerWidth),\n );\n return displayWidth.pipe(map((width) => width < this.smallResolution));\n }\n\n private reinitializeNumberOfPagesAtInvalidValue() {\n if (!this.numberOfPages || this.numberOfPages < PAGINATION_MIN_NUMBER_OF_PAGES) {\n this.numberOfPages = PAGINATION_MIN_NUMBER_OF_PAGES;\n }\n }\n\n private chooseIconSize(isSmall: boolean): IconSize {\n return isSmall ? IconSize.L : IconSize.M;\n }\n\n private chooseSelectSize(isSmall: boolean): SelectSize {\n return isSmall ? SELECT_SIZE.M : SELECT_SIZE.S;\n }\n\n private needRenderPages(\n viewSelect: boolean,\n numberOfPagesPrevious?: number,\n numberOfPagesCurrent?: number,\n pageTitleMaskPrevious?: unknown,\n pageTitleMaskCurrent?: unknown,\n ): boolean {\n const numberOfPageHasChanges = numberOfPagesPrevious !== numberOfPagesCurrent;\n const maskHasChanges = pageTitleMaskPrevious !== pageTitleMaskCurrent;\n return viewSelect && (numberOfPageHasChanges || maskHasChanges);\n }\n}\n","<nav class=\"mc-pagination\" role=\"navigation\" aria-label=\"pagination\">\n <button\n moz-button\n theme=\"neutral\"\n class=\"mc-pagination__button\"\n [disabled]=\"isFirstPage || disable\"\n [onlyIcon]=\"true\"\n [size]=\"(selectSize | async)!\"\n (click)=\"previousPage()\"\n *ngIf=\"leftIconName | async; let icon\"\n >\n <moz-icon [iconName]=\"icon\"></moz-icon>\n </button>\n <div *ngIf=\"viewSelect\">\n <select\n moz-select\n [ngModel]=\"currentPage\"\n (change)=\"onChange(currentPage); this.pageChangeEvent.emit(this.currentPage)\"\n (ngModelChange)=\"writeValue($event)\"\n [compareWith]=\"compareWithPages\"\n [size]=\"(selectSize | async)!\"\n [disabled]=\"disabledSelect || disable\"\n >\n <option *ngFor=\"let page of pages\" [ngValue]=\"page.value\">{{ page.title }}</option>\n </select>\n </div>\n\n <button\n moz-button\n theme=\"neutral\"\n class=\"mc-pagination__button\"\n [disabled]=\"isLastPage || disable\"\n (click)=\"nextPage()\"\n [size]=\"(selectSize | async)!\"\n [onlyIcon]=\"true\"\n *ngIf=\"rightIconName | async; let icon\"\n >\n <moz-icon [iconName]=\"icon\"></moz-icon>\n </button>\n</nav>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { GlobalEventsModule } from '../../common';\nimport { ButtonModule } from '../button';\nimport { IconModule } from '../icon/public-api';\nimport { SelectModule } from '../select/public-api';\nimport { PaginationComponent } from './pagination.component';\n\n@NgModule({\n imports: [CommonModule, FormsModule, ButtonModule, SelectModule, IconModule, GlobalEventsModule],\n declarations: [PaginationComponent],\n exports: [PaginationComponent],\n})\nexport class PaginationModule {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n forwardRef,\n HostBinding,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { generateId } from '../../common';\nimport { ToggleSize } from './toggle-size';\n\nexport const TOGGLE_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ToggleComponent),\n multi: true,\n};\n\n@Component({\n selector: 'moz-toggle',\n templateUrl: './toggle.component.html',\n styleUrls: ['./toggle.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [TOGGLE_CONTROL_VALUE_ACCESSOR],\n standalone: false,\n})\nexport class ToggleComponent implements ControlValueAccessor {\n @Input() public disabled = false;\n\n @Input() public size: ToggleSize = 'm';\n\n private _checked = false;\n\n public get checked() {\n return this._checked;\n }\n\n public toggleId: string;\n\n constructor(private readonly cdRef: ChangeDetectorRef) {\n this.toggleId = generateId();\n }\n\n @Input()\n public set checked(v) {\n this._checked = v;\n this.onChange(this._checked);\n this.onTouch();\n }\n\n public writeValue(value: any) {\n this.checked = !!value;\n this.cdRef.markForCheck();\n }\n\n public registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n public onChange: any = () => {};\n\n onTouch: any = () => {};\n\n toggle() {\n this.writeValue(!this.checked);\n }\n\n @HostBinding('class')\n public get hostCssClasses() {\n const sizeClass = `mc-toggle--${this.size}`;\n return `mc-toggle ${sizeClass}`;\n }\n}\n","<input\n [id]=\"toggleId\"\n type=\"checkbox\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n class=\"mc-toggle__input\"\n (click)=\"toggle()\"\n/>\n<label class=\"mc-toggle__label\" [for]=\"toggleId\">\n <span class=\"mc-toggle__content\">\n <ng-content></ng-content>\n </span>\n</label>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ToggleComponent } from './toggle.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [ToggleComponent],\n exports: [ToggleComponent],\n})\nexport class ToggleModule {}\n","import { ChangeDetectionStrategy, Component, Inject, ViewEncapsulation } from '@angular/core';\nimport { LAYER_DATA, LAYER_REF } from '../../../layer/tokens';\nimport { LayerRef } from '../../../layer/interfaces';\nimport { ColumnDef } from '../../../datatable/model/column-def';\nimport { DatatableSettings } from '../../../datatable/model/datatable-settings';\n\n@Component({\n selector: 'moz-datatable-management-content',\n templateUrl: './moz-datatable-management-content.component.html',\n styleUrls: ['./moz-datatable-management-content.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { '[class.manage-settings]': 'true' },\n standalone: false,\n})\nexport class MozDatatableManagementContentComponent {\n public mouseYCoordinate: number | null = null;\n public distanceTopGrabbedVsPointer: number | null = null;\n public draggingColumn: ColumnDef | null = null;\n public draggingColumnField: string | null = null;\n public draggingColumnIndex: number | null = null;\n public hoveredColumnIndex: number | null = null;\n public columnDefs: ColumnDef[] = [];\n public datatableSettings: DatatableSettings;\n public firstColumnFixed?: boolean;\n\n constructor(\n @Inject(LAYER_DATA) public readonly data: DatatableSettings,\n @Inject(LAYER_REF) public readonly layerRef: LayerRef,\n ) {\n this.datatableSettings = data;\n this.firstColumnFixed = this.datatableSettings.fixFirstColumn;\n this.columnDefs = data.columnDefs.map((x) => ({ ...x }));\n }\n\n public close(data?: unknown): void {\n this.layerRef.close(data);\n }\n\n public dragStartEvent($event: MouseEvent, columnDef: ColumnDef, index: number): void {\n this.mouseYCoordinate = $event.clientY;\n this.draggingColumn = columnDef;\n this.draggingColumnIndex = index;\n this.draggingColumnField = columnDef.field;\n }\n\n public dragEvent($event: MouseEvent): void {\n this.mouseYCoordinate = $event.clientY;\n }\n\n public dragOverEvent(index: number): void {\n this.hoveredColumnIndex = index;\n this.updateColumnDefsList();\n }\n\n public dragEndEvent(): void {\n this.draggingColumnField = null;\n this.hoveredColumnIndex = null;\n }\n\n public hideColumnChangeEvent(item: ColumnDef): void {\n item.hide = item.hide ? false : true;\n }\n\n public updateColumnDefsList(): void {\n if (\n this.draggingColumnIndex != null &&\n this.hoveredColumnIndex != null &&\n this.draggingColumnIndex != this.hoveredColumnIndex\n ) {\n // Allows to swap the position of 2 elements when there is a drag over\n [this.columnDefs[this.draggingColumnIndex], this.columnDefs[this.hoveredColumnIndex]] = [\n this.columnDefs[this.hoveredColumnIndex],\n this.columnDefs[this.draggingColumnIndex],\n ];\n this.draggingColumnIndex = this.hoveredColumnIndex;\n }\n }\n\n public applyEvent(): void {\n this.close({ columnDefs: this.columnDefs, firstColumnFixed: this.firstColumnFixed });\n }\n\n public resetEvent(): void {\n this.columnDefs = this.datatableSettings.columnDefs.map((x) => Object.assign({}, x));\n this.firstColumnFixed = this.datatableSettings.fixFirstColumn;\n }\n}\n","<div class=\"settings__body\">\n <span class=\"settings__title\">{{\n datatableSettings.labels?.settings?.columnsLockTitle || 'Columns lock'\n }}</span>\n <div class=\"settings__toggle-column-lock\">\n <moz-toggle [size]=\"'s'\" [(ngModel)]=\"firstColumnFixed\">{{\n datatableSettings.labels?.settings?.fixFirstColumnTitle || 'Fix the first column'\n }}</moz-toggle>\n </div>\n <span class=\"settings__title\">{{\n datatableSettings.labels?.settings?.columnsDisplayTitle || 'Columns display'\n }}</span>\n <div class=\"settings__columns-container\">\n <div\n *ngIf=\"mouseYCoordinate\"\n class=\"settings__columns-container-item settings__columns-container-item-ghost\"\n [style.top.px]=\"mouseYCoordinate + (distanceTopGrabbedVsPointer || 0)\"\n >\n <div class=\"settings__column-icon-value\">\n <moz-icon iconName=\"Navigation_Display_MovingBlock_24px\"></moz-icon>\n <moz-checkbox [checked]=\"!draggingColumn?.hide\"> </moz-checkbox>\n <span class=\"settings__column-value\">{{ draggingColumn?.headerName }}</span>\n </div>\n </div>\n\n <div\n *ngFor=\"let columnDef of columnDefs; let index = index\"\n class=\"settings__columns-container-item\"\n [class.settings__columns-container-item-invisible]=\"draggingColumnField === columnDef.field\"\n [draggable]=\"true\"\n (dragstart)=\"dragStartEvent($event, columnDef, index)\"\n (drag)=\"dragEvent($event)\"\n (dragover)=\"dragOverEvent(index)\"\n (dragend)=\"dragEndEvent()\"\n >\n <div class=\"settings__column-icon-value\">\n <moz-icon iconName=\"Navigation_Display_MovingBlock_24px\"></moz-icon>\n <moz-checkbox [checked]=\"!columnDef.hide\" (change)=\"hideColumnChangeEvent(columnDef)\">\n </moz-checkbox>\n <span class=\"settings__column-value\">{{ columnDef.headerName }}</span>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"settings__footer\">\n <button aria-label=\"apply settings\" moz-button [size]=\"'m'\" (click)=\"applyEvent()\">\n {{ datatableSettings.labels?.settings?.applyButtonTitle || 'Apply' }}\n </button>\n <button\n aria-label=\"reset settings\"\n moz-button\n [size]=\"'m'\"\n [variation]=\"'bordered'\"\n (click)=\"resetEvent()\"\n >\n {{ datatableSettings.labels?.settings?.resetButtonTitle || 'Reset' }}\n </button>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n} from '@angular/core';\nimport { LayerService } from '../layer/layer.service';\nimport { MozDatatableManagementContentComponent } from './components/moz-datatable-management-content/moz-datatable-management-content.component';\nimport { DatatableSettings } from '../datatable/model/datatable-settings';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'moz-datatable-management',\n templateUrl: './moz-datatable-management.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class MozDatatableManagementComponent implements OnDestroy {\n @Input() public datatableSettings?: DatatableSettings;\n @Output() public columnsOrderUpdate = new EventEmitter<unknown>();\n private subscription!: Subscription;\n\n constructor(private layerService: LayerService) {}\n\n ngOnDestroy(): void {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n public clickSettingsEvent(): void {\n const layerRef = this.layerService.open(MozDatatableManagementContentComponent, {\n title: this.datatableSettings?.labels?.settings?.layerTitle || 'Settings',\n icon: 'Navigation_Display_Setting_24px',\n data: this.datatableSettings,\n });\n this.subscription = layerRef.afterClosed$.subscribe((result) => {\n if (this.datatableSettings && result) {\n this.datatableSettings.columnDefs = (result as any).columnDefs;\n this.datatableSettings.fixFirstColumn = (result as any).firstColumnFixed;\n this.columnsOrderUpdateEvent(result);\n }\n });\n }\n\n public columnsOrderUpdateEvent(result: unknown): void {\n this.columnsOrderUpdate.emit(result);\n }\n}\n","<button\n moz-button\n size=\"s\"\n variation=\"bordered\"\n widthBehavior=\"fit\"\n theme=\"neutral\"\n [onlyIcon]=\"true\"\n (click)=\"clickSettingsEvent()\"\n>\n <moz-icon iconName=\"Navigation_Display_Setting_24px\"></moz-icon>\n</button>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { CheckboxModule } from '../checkbox/checkbox.module';\nimport { PaginationModule } from '../pagination/pagination.module';\nimport { ButtonModule } from '../button/button.module';\nimport { IconModule } from '../icon/icon.module';\nimport { ToggleModule } from '../toggle/toggle.module';\nimport { MozDatatableManagementComponent } from './moz-datatable-management.component';\nimport { MozDatatableManagementContentComponent } from './components/moz-datatable-management-content/moz-datatable-management-content.component';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [MozDatatableManagementComponent, MozDatatableManagementContentComponent],\n imports: [\n CommonModule,\n FormsModule,\n PaginationModule,\n ButtonModule,\n CheckboxModule,\n IconModule,\n ToggleModule,\n ],\n exports: [MozDatatableManagementComponent, MozDatatableManagementContentComponent],\n})\nexport class MozDatatableManagementModule {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { RowData } from '../../model/row-data';\nimport { SelectionSettings } from '../../model/selection-settings';\n\n@Component({\n selector: 'moz-datatable-selection',\n templateUrl: './moz-datatable-selection.component.html',\n styleUrls: ['./moz-datatable-selection.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class MozDatatableSelectionComponent implements OnChanges {\n @Input() public selectionSettings?: SelectionSettings;\n @Input() public paginationEnabled?: boolean;\n @Input() public allowAllSelected = true;\n @Input() public rowData?: RowData[];\n @Output() public updateSelectionAllEmitter = new EventEmitter<SelectionSettings>();\n\n public isIndeterminate: boolean = false;\n\n constructor(private ref: ChangeDetectorRef) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['rowData']) {\n this.updateSelection();\n }\n }\n\n public selectAll(): void {\n if (this.selectionSettings) {\n this.selectionSettings.excludedIds = [];\n this.selectionSettings.selectedIds = [];\n this.updateSelectedValueOnRowData(true);\n this.isIndeterminate = this.isSelectionIndeterminate();\n this.selectionSettings.allSelected = true;\n this.updateSelectionAllEmitter.emit(this.selectionSettings);\n this.ref.markForCheck();\n }\n }\n\n public clearAll(): void {\n if (this.selectionSettings) {\n this.selectionSettings.excludedIds = [];\n this.selectionSettings.selectedIds = [];\n this.updateSelectedValueOnRowData(false);\n this.isIndeterminate = this.isSelectionIndeterminate();\n this.selectionSettings.allSelected = false;\n this.updateSelectionAllEmitter.emit(this.selectionSettings);\n this.ref.markForCheck();\n }\n }\n\n public isAllPageRowAreSelected(): boolean {\n return this.canSwitchtoAllSelectedMode() || (this.selectionSettings?.allSelected ?? false);\n }\n\n public onUdpateSelectionRow(row: RowData): void {\n this.handleCountItemSelection(row);\n }\n\n public onUdpateSelectionAllPageRows($event: any): void {\n this.updateSelectedValueOnRowData($event.target.checked);\n this.handleCountAllSelection(this.isAllPageRowAreSelected());\n }\n\n public handleCountItemSelection(row: RowData): void {\n if (this.selectionSettings != null) {\n const selectionIdentifierFieldKey = this.selectionSettings.selectionIdentifierFieldKey;\n if (this.selectionSettings.allSelected) {\n if (row.selected) {\n this.selectionSettings.excludedIds = [\n ...this.selectionSettings.excludedIds.filter((deselectedId) => {\n return deselectedId !== this.getId(row);\n }),\n ];\n } else {\n if (this.paginationEnabled) {\n this.selectionSettings.excludedIds = [\n ...this.selectionSettings.excludedIds,\n this.getId(row),\n ];\n } else {\n this.selectionSettings.selectedIds = [\n ...this.selectionSettings.selectedIds.filter(\n (selectedId) => selectedId !== this.getId(row),\n ),\n ];\n\n this.selectionSettings.allSelected = false;\n }\n if (\n this.selectionSettings.excludedIds.length ===\n this.selectionSettings.totalSelectableItems\n ) {\n this.selectionSettings.excludedIds = [];\n\n this.selectionSettings.allSelected = false;\n }\n }\n } else {\n if (row.selected) {\n this.selectionSettings.selectedIds = [\n ...this.selectionSettings.selectedIds,\n this.getId(row),\n ];\n if (this.canSwitchtoAllSelectedMode()) {\n this.switchtoAllSelectedMode();\n }\n } else {\n this.selectionSettings.selectedIds = [\n ...this.selectionSettings.selectedIds.filter((selectedId) => {\n return selectedId !== this.getId(row);\n }),\n ];\n }\n }\n this.isIndeterminate = this.isSelectionIndeterminate();\n this.ref.markForCheck();\n }\n }\n\n private canSwitchtoAllSelectedMode(): boolean {\n if (this.selectionSettings != null) {\n return (\n this.selectionSettings.selectedIds.length === this.selectionSettings.totalSelectableItems &&\n this.allowAllSelected\n );\n }\n return false;\n }\n\n private switchtoAllSelectedMode(): void {\n if (this.selectionSettings != null) {\n if (this.paginationEnabled) {\n this.selectionSettings.selectedIds = [];\n }\n\n this.selectionSettings.allSelected = true;\n }\n }\n\n private handleCountAllSelection(allPageRowsSelected: boolean): void {\n if (this.selectionSettings) {\n const selectionIdentifierFieldKey = this.selectionSettings.selectionIdentifierFieldKey;\n if (this.selectionSettings?.allSelected) {\n if (this.isIndeterminate && this.rowData) {\n this.rowData\n .filter((row) => !row.disableSelection)\n .forEach((row) => {\n if (this.selectionSettings) {\n const index = this.selectionSettings.excludedIds.indexOf(this.getId(row), 0);\n if (index > -1) {\n this.selectionSettings.excludedIds.splice(index, 1);\n this.selectionSettings.excludedIds = [...this.selectionSettings.excludedIds];\n }\n }\n });\n if (this.canSwitchtoAllSelectedMode()) {\n this.switchtoAllSelectedMode();\n\n this.rowData = this.rowData\n ?.filter((row) => !row.disableSelection)\n .map((row) => {\n row.selected = true;\n return row;\n });\n }\n } else {\n if (this.rowData) {\n this.selectionSettings.excludedIds = [\n ...this.selectionSettings.excludedIds,\n ...this.rowData.filter((row) => !row.disableSelection).map((row) => this.getId(row)),\n ];\n if (\n this.selectionSettings.excludedIds.length ===\n this.selectionSettings.totalSelectableItems\n ) {\n this.selectionSettings.excludedIds = [];\n this.selectionSettings.allSelected = false;\n }\n if (this.canSwitchtoAllSelectedMode()) {\n this.selectionSettings.allSelected = false;\n this.selectionSettings.selectedIds = [];\n this.selectionSettings.excludedIds = [];\n this.rowData = this.rowData\n ?.filter((row) => !row.disableSelection)\n .map((row) => {\n row.selected = false;\n return row;\n });\n }\n }\n }\n } else {\n if (allPageRowsSelected && this.rowData) {\n this.rowData\n .filter((row) => !row.disableSelection)\n .filter((row) => !(this.selectionSettings?.selectedIds || []).includes(this.getId(row)))\n .forEach((row) => {\n if (this.selectionSettings) {\n this.selectionSettings.selectedIds = [\n ...this.selectionSettings.selectedIds,\n this.getId(row),\n ];\n }\n });\n if (this.canSwitchtoAllSelectedMode()) {\n this.switchtoAllSelectedMode();\n }\n } else {\n if (this.rowData) {\n const allRowOnPage = this.rowData\n .filter((row) => !row.disableSelection)\n .map((row) => this.getId(row));\n const allRowSelectedOnPage = this.rowData\n .filter((row) => !row.disableSelection && row.selected)\n .map((row) => this.getId(row));\n const rowSelectedOnOtherPages = this.selectionSettings.selectedIds.filter(\n (element) => !allRowOnPage.includes(element),\n );\n this.selectionSettings.selectedIds = [\n ...rowSelectedOnOtherPages,\n ...allRowSelectedOnPage,\n ];\n\n if (this.canSwitchtoAllSelectedMode()) {\n this.switchtoAllSelectedMode();\n }\n }\n }\n }\n }\n this.isIndeterminate = this.isSelectionIndeterminate();\n this.ref.markForCheck();\n }\n\n private updateSelection(): void {\n if (this.selectionSettings && this.rowData) {\n if (this.selectionSettings?.selectedIds) {\n this.rowData.forEach((row) => {\n const existInSelectedIds =\n this.selectionSettings?.selectedIds.includes(\n '' + row[this.selectionSettings.selectionIdentifierFieldKey],\n ) ?? false;\n const existInExcludedIds =\n this.selectionSettings?.excludedIds.includes(\n '' + row[this.selectionSettings.selectionIdentifierFieldKey],\n ) ?? false;\n\n if ((this.selectionSettings?.allSelected || existInSelectedIds) && !existInExcludedIds) {\n row.selected = true;\n } else {\n row.selected = false;\n }\n });\n }\n if (this.canSwitchtoAllSelectedMode()) {\n this.switchtoAllSelectedMode();\n this.selectionSettings.excludedIds = [];\n }\n this.isIndeterminate = this.isSelectionIndeterminate();\n\n this.selectionSettings.allSelected = this.isAllPageRowAreSelected();\n this.ref.markForCheck();\n }\n }\n\n private updateSelectedValueOnRowData(selected: boolean): void {\n this.rowData = this.rowData\n ?.filter((row) => !row.disableSelection)\n .map((row) => {\n row.selected = selected;\n return row;\n });\n }\n\n private isSelectionIndeterminate(): boolean {\n if (this.selectionSettings) {\n if (\n (!this.selectionSettings.allSelected &&\n this.rowData\n ?.filter((row) => !row.disableSelection)\n .map((row) => {\n if (this.selectionSettings) {\n return row[this.selectionSettings.selectionIdentifierFieldKey];\n }\n })\n .every((item) => (this.selectionSettings?.selectedIds || []).includes('' + item))) ||\n (!this.selectionSettings.allSelected && this.selectionSettings.selectedIds.length === 0) ||\n (this.selectionSettings.allSelected &&\n this.rowData &&\n !this.rowData\n .map((row) => {\n if (this.selectionSettings) {\n return row[this.selectionSettings.selectionIdentifierFieldKey];\n }\n })\n .some((id) => (this.selectionSettings?.excludedIds || []).includes('' + id))) ||\n this.canSwitchtoAllSelectedMode()\n ) {\n return false;\n }\n return true;\n }\n return false;\n }\n\n /**\n * if the value is an object so the resulted id == '[object Object]'\n * @param row\n * @private\n */\n private getId(row: RowData) {\n if (!this.selectionSettings?.selectionIdentifierFieldKey) {\n return '';\n }\n const rowElement = row[this.selectionSettings?.selectionIdentifierFieldKey];\n if (typeof rowElement === 'object') {\n return rowElement;\n }\n return '' + rowElement;\n }\n}\n","<div class=\"mc-datatable__selection\">\n <ng-container *ngIf=\"selectionSettings && selectionSettings.labels && paginationEnabled\">\n <div class=\"mc-datatable__topbar-selection\">\n <ng-container *ngIf=\"selectionSettings.selectedIds.length || selectionSettings.allSelected\">\n <div class=\"center-selection-label\">\n <div *ngIf=\"selectionSettings.allSelected; else notAllSelected\">\n <ng-container *ngIf=\"selectionSettings.excludedIds.length > 0; else exludedIdsEmpty\">\n <span>\n <b\n >{{\n selectionSettings.totalSelectableItems - selectionSettings.excludedIds.length\n }}\n {{ selectionSettings.labels.selectedLabel || 'selected' }}</b\n >\n <ng-container\n *ngIf=\"\n selectionSettings.totalSelectableItems -\n selectionSettings.excludedIds.length ===\n 1;\n else plurialAllSelected\n \"\n >\n {{ selectionSettings.labels.rowOnPageLabel || 'row on the page. ' }}-\n </ng-container>\n <ng-template #plurialAllSelected>\n {{ selectionSettings.labels.rowsOnPageLabel || 'rows on the page. ' }}-\n </ng-template>\n\n {{ selectionSettings.labels.rowsOnPageLabel || 'rows on the page. ' }}-\n <a href=\"/\" (click)=\"selectAll(); $event.preventDefault()\">\n {{ selectionSettings.labels.selectAllLabel || 'Select all' }}\n {{ selectionSettings.totalSelectableItems }}\n {{ selectionSettings.labels.rowsOfTableLabel || 'rows of the table' }}\n </a>\n </span>\n </ng-container>\n <ng-template #exludedIdsEmpty>\n <span>\n {{\n selectionSettings.labels.rowsSelectedLabel ||\n 'All rows are selected in the table.'\n }}\n -\n <a href=\"/\" (click)=\"clearAll(); $event.preventDefault()\">\n {{ selectionSettings.labels.clearSelectionLabel || 'Clear selection' }}\n </a>\n </span>\n </ng-template>\n </div>\n <ng-template #notAllSelected>\n <span>\n <b\n >{{ selectionSettings.selectedIds.length }}\n {{ selectionSettings.labels.selectedLabel || 'selected' }}</b\n >\n <ng-container\n *ngIf=\"selectionSettings.selectedIds && selectionSettings.selectedIds.length > 0\"\n >\n <ng-container\n *ngIf=\"\n selectionSettings.selectedIds && selectionSettings.selectedIds.length === 1;\n else plurialNotAllSelected\n \"\n >\n {{ selectionSettings.labels.rowOnPageLabel || 'row on the page. ' }}-\n </ng-container>\n <ng-template #plurialNotAllSelected>\n {{ selectionSettings.labels.rowsOnPageLabel || 'rows on the page. ' }}-\n </ng-template>\n <a href=\"/\" (click)=\"selectAll(); $event.preventDefault()\">\n {{ selectionSettings.labels.selectAllLabel || 'Select all' }}\n {{ selectionSettings.totalSelectableItems }}\n {{ selectionSettings.labels.rowsOfTableLabel || 'rows of the table' }}\n </a>\n </ng-container>\n </span>\n </ng-template>\n </div>\n </ng-container>\n </div>\n </ng-container>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n Input,\n TemplateRef,\n} from '@angular/core';\n\n@Component({\n selector: 'moz-datatable-header-cell',\n templateUrl: './moz-datatable-header-cell.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class MozDatatableHeaderCellComponent {\n @Input() public field?: string;\n @ContentChild(TemplateRef) public templateRef!: TemplateRef<unknown>;\n}\n","<ng-content></ng-content>\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n Input,\n TemplateRef,\n} from '@angular/core';\n\n@Component({\n selector: 'moz-datatable-content-cell',\n templateUrl: './moz-datatable-content-cell.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class MozDatatableContentCellComponent {\n @Input() public field?: string;\n @ContentChild(TemplateRef) public templateRef!: TemplateRef<unknown>;\n}\n","<ng-content></ng-content>\n","import { ChangeDetectionStrategy, Component, ContentChild, TemplateRef } from '@angular/core';\n\n@Component({\n selector: 'moz-datatable-row-expansion-content',\n templateUrl: './moz-datatable-row-expansion-content.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class MozDatatableRowExpansionContentComponent {\n @ContentChild(TemplateRef) public templateRef!: TemplateRef<unknown>;\n}\n","<ng-content></ng-content>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { FooterSettings } from '../../model/footer-settings';\n\n@Component({\n selector: 'moz-datatable-footer',\n templateUrl: './moz-datatable-footer.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class MozDatatableFooterComponent implements OnChanges {\n @Input() public footerSettings?: FooterSettings;\n @Input() public isLoading?: boolean;\n @Output() public rowPerPageChangeEmitter = new EventEmitter<number>();\n @Output() public pageChangeEmitter = new EventEmitter<number>();\n\n public selectedRowPerPage!: number;\n public currentPage!: number;\n public totalItems!: number;\n\n ngOnChanges(changes: SimpleChanges): void {\n if (\n (changes['isLoading'] &&\n changes['isLoading'].currentValue !== changes['isLoading'].previousValue) ||\n (changes['footerSettings'] &&\n changes['footerSettings'].currentValue !== changes['footerSettings'].previousValue)\n ) {\n this.selectedRowPerPage = this.footerSettings?.pagination?.rowPerPage?.selected ?? 0;\n this.currentPage = this.footerSettings?.pagination?.currentPage ?? 0;\n this.totalItems = this.footerSettings?.pagination?.totalItems ?? 0;\n }\n }\n\n public calculateNumberOfPage(): number {\n // case NAN\n if (this.totalItems === 0 && this.selectedRowPerPage === 0) {\n return 0;\n }\n // case INFINITY\n if (this.totalItems === 1 && this.selectedRowPerPage === 0) {\n return 0;\n }\n // case nullable\n if (this.totalItems == null || this.selectedRowPerPage == null) {\n return 0;\n }\n return Math.ceil(this.totalItems / this.selectedRowPerPage);\n }\n\n public calculateCountEnd(): number {\n if (this.selectedRowPerPage == null) {\n return 0;\n }\n const count = this.selectedRowPerPage * this.currentPage;\n if (count > this.totalItems) {\n return this.totalItems;\n }\n return count;\n }\n\n public calculateCountStart(): number {\n if (this.selectedRowPerPage == null || this.totalItems == null) {\n return 0;\n }\n if (this.selectedRowPerPage === 0 || this.currentPage === 0 || this.totalItems === 0) {\n return 0;\n }\n return this.selectedRowPerPage * (this.currentPage - 1) + 1;\n }\n}\n","<div class=\"mc-datatable__footer\">\n <div class=\"mc-datatable__select\">\n <label for=\"selectRows\" class=\"mc-datatable__select-label\">{{\n footerSettings?.labels?.rowPerPage || 'Rows per page'\n }}</label>\n <select\n moz-select\n id=\"selectRows\"\n size=\"s\"\n [(ngModel)]=\"selectedRowPerPage\"\n (change)=\"rowPerPageChangeEmitter.emit(selectedRowPerPage)\"\n [disabled]=\"calculateNumberOfPage() === 0 || isLoading || false\"\n >\n <option\n *ngFor=\"let value of footerSettings?.pagination?.rowPerPage?.options\"\n [ngValue]=\"value\"\n >\n {{ value }}\n </option>\n </select>\n </div>\n <div class=\"mc-datatable__count\" *ngIf=\"!isLoading\">\n <strong>{{ calculateCountStart() }}-{{ calculateCountEnd() }}</strong> /\n <strong\n >{{ footerSettings?.pagination?.totalItems || 0 }}\n {{ footerSettings?.labels?.items || 'Items' }}</strong\n >\n </div>\n <div class=\"mc-datatable__pagination\">\n <moz-pagination\n [numberOfPages]=\"calculateNumberOfPage()\"\n [disable]=\"isLoading || false\"\n [(ngModel)]=\"currentPage\"\n (pageChangeEvent)=\"pageChangeEmitter.emit(currentPage)\"\n [pageLabel]=\"footerSettings?.labels?.page || 'Page'\"\n [pageOfLabel]=\"footerSettings?.labels?.of || 'of'\"\n >\n </moz-pagination>\n </div>\n</div>\n","import {\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnInit,\n Output,\n Renderer2,\n} from '@angular/core';\nimport { ColumnDef } from '../model/column-def';\n\n@Directive({\n selector: '[mozDatatableSort]',\n standalone: false,\n})\nexport class MozDatatableSortDirective implements OnInit {\n @Input('mozDatatableSort') columnDef?: ColumnDef;\n @Output() sortEmitter = new EventEmitter<unknown>();\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n ) {}\n\n ngOnInit() {\n if (this.columnDef?.sort) {\n const sortIcon = this.renderer.createElement('span');\n this.renderer.addClass(sortIcon, 'mc-datatable__sort-arrow');\n this.updateSortDirection(sortIcon, true);\n this.renderer.appendChild(this.elementRef.nativeElement, sortIcon);\n }\n }\n\n @HostListener('click', ['$event'])\n onSortClick($event: any) {\n this.updateSortDirection($event.target, false);\n }\n\n private updateSortDirection(htmlSpanElement: HTMLSpanElement, init: boolean): void {\n if (this.columnDef?.sort) {\n if (htmlSpanElement.classList.contains('mc-datatable__sort-arrow')) {\n if (!init) {\n this.columnDef.sort.direction =\n this.columnDef.sort.direction == undefined\n ? 'ASC'\n : this.columnDef.sort.direction === 'ASC'\n ? 'DESC'\n : undefined;\n }\n if (this.columnDef.sort.direction === 'ASC') {\n this.renderer.addClass(htmlSpanElement, 'is-sorted-asc');\n this.renderer.removeClass(htmlSpanElement, 'is-sorted-desc');\n } else if (this.columnDef.sort.direction === 'DESC') {\n this.renderer.addClass(htmlSpanElement, 'is-sorted-desc');\n this.renderer.removeClass(htmlSpanElement, 'is-sorted-asc');\n } else {\n this.renderer.removeClass(htmlSpanElement, 'is-sorted-desc');\n this.renderer.removeClass(htmlSpanElement, 'is-sorted-asc');\n }\n this.sortEmitter.emit({\n direction: this.columnDef.sort.direction,\n field: this.columnDef.field,\n });\n }\n }\n }\n}\n","import {\n Component,\n Input,\n ContentChildren,\n QueryList,\n AfterContentInit,\n TemplateRef,\n ContentChild,\n Output,\n EventEmitter,\n ViewChild,\n ViewEncapsulation,\n ElementRef,\n} from '@angular/core';\nimport { RowData } from './model/row-data';\nimport { SelectionSettings } from './model/selection-settings';\nimport { MozDatatableSelectionComponent } from './components/selection/moz-datatable-selection.component';\nimport { MozDatatableHeaderCellComponent } from './components/header/moz-datatable-header-cell.component';\nimport { MozDatatableContentCellComponent } from './components/content/moz-datatable-content-cell.component';\nimport { DatatableSettings } from './model/datatable-settings';\nimport { FooterSettings } from './model/footer-settings';\nimport { MozDatatableRowExpansionContentComponent } from './components/row/moz-datatable-row-expansion-content.component';\nimport { ColumnDef } from './model/column-def';\n\n@Component({\n selector: 'moz-datatable',\n styleUrls: ['./moz-datatable.component.scss'],\n templateUrl: './moz-datatable.component.html',\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class MozDatatableComponent implements AfterContentInit {\n @Input() public footerSettings?: FooterSettings;\n @Input() public selectionSettings?: SelectionSettings;\n @Input() public allowAllSelected = true;\n @Input() public datatableSettings?: DatatableSettings;\n @Input() public tableSummary = 'Table displaying data';\n\n // FROM BODY DATATABLE\n @Output() rowClick = new EventEmitter<RowData>();\n @Output() sortColumn = new EventEmitter<unknown>();\n @Output() rowSelected = new EventEmitter<SelectionSettings>();\n @Output() rowAllSelected = new EventEmitter<SelectionSettings>();\n @Output() emptyBodyButtonClicked = new EventEmitter<boolean>();\n\n @ViewChild(MozDatatableSelectionComponent)\n public selectionComponent?: MozDatatableSelectionComponent;\n\n // FROM PAGINATION FOOTER\n @Output() pageChange = new EventEmitter<number>();\n @Output() rowPerPageChange = new EventEmitter<number>();\n\n @ViewChild('thSelection', { static: false }) thSelectionRef?: ElementRef;\n @ViewChild('thSubRow', { static: false }) thSubRowRef?: ElementRef;\n\n @ContentChildren(MozDatatableHeaderCellComponent)\n public headerCellComponents?: QueryList<MozDatatableHeaderCellComponent>;\n\n @ContentChildren(MozDatatableContentCellComponent)\n public contentCellComponents?: QueryList<MozDatatableContentCellComponent>;\n\n @ContentChild(MozDatatableRowExpansionContentComponent)\n public expansionContentComponent?: MozDatatableRowExpansionContentComponent;\n\n public customHeaderCellsMap: Map<string, TemplateRef<any>> = new Map<string, TemplateRef<any>>();\n public customContentCellsMap: Map<string, TemplateRef<any>> = new Map<string, TemplateRef<any>>();\n public expandedRows: boolean[] = [];\n\n ngAfterContentInit(): void {\n this.buildCustomHeaderMap();\n this.buildCustomContentMap();\n }\n\n public resetSelection(): void {\n this.selectionComponent?.clearAll();\n }\n\n public buildCustomHeaderMap(): void {\n if (this.headerCellComponents) {\n this.headerCellComponents.forEach((header) => {\n if (header.field && header.templateRef) {\n this.customHeaderCellsMap.set(header.field, header.templateRef);\n }\n });\n }\n }\n\n public buildCustomContentMap(): void {\n if (this.contentCellComponents) {\n this.contentCellComponents.forEach((cell) => {\n if (cell.field && cell.templateRef) {\n this.customContentCellsMap.set(cell.field, cell.templateRef);\n }\n });\n }\n }\n\n public getCustomExpansionRowContent(): TemplateRef<any> | undefined {\n return this.expansionContentComponent?.templateRef;\n }\n\n public toggleRowExpansion(index: number): void {\n this.expandedRows[index] = !this.expandedRows[index];\n }\n\n public hasSubRow(): boolean {\n return (this.datatableSettings?.rowData.filter((row) => row['subRow']).length || 0) > 0;\n }\n\n public getCustomHeader(columnId: string): TemplateRef<any> | undefined {\n return this.customHeaderCellsMap.get(columnId);\n }\n\n public getCustomContent(columnId: string): TemplateRef<any> | undefined {\n return this.customContentCellsMap.get(columnId);\n }\n\n public getColspanForExpansionRow(): number {\n return this.datatableSettings?.activateSelection\n ? (this.datatableSettings?.columnDefs?.length || 0) + 2\n : (this.datatableSettings?.columnDefs?.length || 0) + 1;\n }\n\n public emptyButtonClickEvent(): void {\n this.emptyBodyButtonClicked.emit(true);\n }\n\n public rowClickEvent(event: MouseEvent, rowClick: RowData): void {\n if (event.target instanceof HTMLInputElement) {\n event.stopPropagation();\n return;\n }\n this.rowClick.emit(rowClick);\n }\n\n public selectionAllRowEvent($event: SelectionSettings) {\n this.rowAllSelected.emit($event);\n }\n\n public selectionRowEvent($event: Event) {\n this.rowSelected.emit(this.selectionSettings);\n $event.stopPropagation();\n }\n\n public rowPerPageChangeEvent($event: number): void {\n this.rowPerPageChange.emit($event);\n }\n\n public pageChangeEvent($event: number): void {\n this.pageChange.emit($event);\n }\n\n public sortEvent($event: unknown) {\n this.sortColumn.emit($event);\n }\n\n public getStyleLeftForColumnFixed(): number {\n return this.datatableSettings?.activateSelection && this.thSelectionRef\n ? this.thSelectionRef.nativeElement.clientWidth\n : 0;\n }\n\n public getLeftValueFixFirstColumn(): number {\n let value = 0;\n if (this.datatableSettings?.activateSelection && this.thSelectionRef) {\n value += this.thSelectionRef.nativeElement.clientWidth;\n }\n if (this.hasSubRow() && this.thSubRowRef) {\n value += this.thSubRowRef.nativeElement.clientWidth;\n }\n return value;\n }\n\n public getUnhiddenColumns(): ColumnDef[] {\n return this.datatableSettings?.columnDefs.filter((headTitle) => !headTitle.hide) || [];\n }\n\n public getColumns(): any {\n return this.datatableSettings?.isLoading\n ? ['', '', '', '', '']\n : this.datatableSettings?.columnDefs;\n }\n\n public getFields(): any {\n return this.datatableSettings?.isLoading\n ? ['', '', '', '', '']\n : this.datatableSettings?.rowData;\n }\n}\n","<div class=\"mc-datatable\" [ngClass]=\"{ ' mc-datatable-height': datatableSettings?.fixHeaderRow }\">\n <div class=\"mc-datatable__header\">\n <ng-content select=\"moz-datatable-caption\"></ng-content>\n <div>\n <moz-datatable-selection\n [selectionSettings]=\"selectionSettings\"\n [allowAllSelected]=\"allowAllSelected\"\n [paginationEnabled]=\"datatableSettings?.activatePagination\"\n [rowData]=\"datatableSettings?.rowData\"\n (updateSelectionAllEmitter)=\"selectionAllRowEvent($event)\"\n ></moz-datatable-selection>\n </div>\n </div>\n <div\n class=\"mc-datatable__container\"\n [ngClass]=\"{ ' mc-datatable-height': datatableSettings?.fixHeaderRow }\"\n >\n <div\n class=\"mc-datatable__main\"\n [ngClass]=\"{ ' mc-datatable-height': datatableSettings?.fixHeaderRow }\"\n >\n <table class=\"mc-datatable__table\" summary=\"{{ tableSummary }}\">\n <thead [ngClass]=\"{ 'fix-header-row': datatableSettings?.fixHeaderRow }\">\n <tr *ngIf=\"getColumns() && getColumns().length > 0\">\n <th\n class=\"mc-datatable__cell-checkbox moz-datatable__th mc-datatable__fix-first-column\"\n *ngIf=\"\n datatableSettings?.activateSelection &&\n selectionComponent &&\n selectionSettings &&\n ((datatableSettings?.rowData || []).length > 0 || datatableSettings?.isLoading)\n \"\n id=\"checkAllPageRows\"\n #thSelection\n >\n <ng-container *ngIf=\"datatableSettings?.isLoading; else notLoadingCheckbox\">\n <div class=\"skeleton-box mu-mb-100 checkbox-loading\"></div>\n </ng-container>\n <ng-template #notLoadingCheckbox>\n <moz-checkbox\n (change)=\"\n selectionComponent.onUdpateSelectionAllPageRows($event);\n selectionRowEvent($event)\n \"\n [indeterminate]=\"selectionComponent.isIndeterminate\"\n [checked]=\"\n (selectionSettings.allSelected && !selectionComponent.isIndeterminate) ||\n (!selectionSettings.allSelected &&\n !selectionComponent.isIndeterminate &&\n (this.selectionSettings.selectedIds || []).length > 0)\n \"\n [disabled]=\"datatableSettings?.isLoading || false\"\n >\n </moz-checkbox>\n </ng-template>\n </th>\n <th\n *ngIf=\"hasSubRow() && !datatableSettings?.isLoading\"\n class=\"mc-datatable__fix-first-column\"\n [style.left.px]=\"getStyleLeftForColumnFixed()\"\n #thSubRow\n ></th>\n <ng-container *ngFor=\"let columnDef of getColumns()\">\n <th\n class=\"moz-datatable__th\"\n *ngIf=\"!columnDef.hide\"\n [ngClass]=\"{\n 'mc-datatable__fix-first-column':\n datatableSettings?.fixFirstColumn &&\n getUnhiddenColumns()[0].field === columnDef.field\n }\"\n [style.left.px]=\"getLeftValueFixFirstColumn()\"\n id=\"th-{{ columnDef.field }}\"\n >\n <ng-container *ngIf=\"datatableSettings?.isLoading; else notLoadingHeading\">\n <div class=\"skeleton-box mu-mb-100 cells-loading\"></div>\n </ng-container>\n\n <ng-template #notLoadingHeading>\n <div\n [mozDatatableSort]=\"columnDef\"\n [ngClass]=\"{ header: columnDef.sort }\"\n (sortEmitter)=\"sortEvent($event)\"\n >\n <ng-container\n *ngIf=\"\n getCustomHeader(columnDef.field) as customHeader;\n else defaultHeaderCell\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n customHeader;\n context: {\n $implicit: {\n content: columnDef\n }\n }\n \"\n ></ng-container>\n </ng-container>\n <ng-template #defaultHeaderCell>\n {{ columnDef.headerName | uppercase }}\n </ng-template>\n </div>\n </ng-template>\n </th>\n </ng-container>\n </tr>\n </thead>\n <tbody>\n <ng-container\n *ngIf=\"\n (datatableSettings?.rowData?.length || 0) > 0 || datatableSettings?.isLoading;\n else emptyBody\n \"\n >\n <ng-container *ngFor=\"let row of getFields(); index as i\">\n <tr\n class=\"mc-datatable__row-parent\"\n (click)=\"rowClickEvent($event, row)\"\n [ngClass]=\"{ selected: row.selected }\"\n >\n <td\n class=\"mc-datatable__fix-first-column\"\n *ngIf=\"datatableSettings?.activateSelection && selectionComponent\"\n [ngClass]=\"{ selected: row.selected }\"\n >\n <ng-container *ngIf=\"datatableSettings?.isLoading; else notLoadingCheckbox\">\n <div class=\"skeleton-box mu-mb-100 checkbox-loading\"></div>\n </ng-container>\n <ng-template #notLoadingCheckbox>\n <moz-checkbox\n (change)=\"\n selectionComponent.onUdpateSelectionRow(row); selectionRowEvent($event)\n \"\n [(ngModel)]=\"row.selected\"\n [checked]=\"row.selected || false\"\n [disabled]=\"row.disableSelection || false\"\n id=\"checkRow-{{ i }}\"\n >\n </moz-checkbox>\n </ng-template>\n </td>\n <ng-container *ngIf=\"hasSubRow() && !datatableSettings?.isLoading\">\n <td\n *ngIf=\"row['subRow']; else noSubRow\"\n class=\"mc-datatable__cell-button mc-datatable__fix-first-column\"\n [style.left.px]=\"getStyleLeftForColumnFixed()\"\n [ngClass]=\"{ selected: row.selected }\"\n >\n <button\n class=\"mc-datatable__expand mc-datatable__btn\"\n (click)=\"toggleRowExpansion(i); $event.stopPropagation()\"\n >\n <span class=\"mc-datatable__btn-icon\">\n <ng-container *ngIf=\"!expandedRows[i]; else subrowClosed\">\n <moz-icon [iconName]=\"'Navigation_Control_Circle--More_24px'\"></moz-icon>\n </ng-container>\n <ng-template #subrowClosed>\n <moz-icon [iconName]=\"'Navigation_Control_Circle--Less_24px'\"></moz-icon>\n </ng-template>\n </span>\n </button>\n </td>\n <ng-template #noSubRow\n ><td\n class=\"mc-datatable__cell-button mc-datatable__fix-first-column\"\n [style.left.px]=\"getStyleLeftForColumnFixed()\"\n [ngClass]=\"{ selected: row.selected }\"\n ></td\n ></ng-template>\n </ng-container>\n <ng-container *ngFor=\"let columnDef of getColumns()\">\n <td\n *ngIf=\"!columnDef.hide\"\n [ngClass]=\"{\n 'mc-datatable__fix-first-column':\n datatableSettings?.fixFirstColumn &&\n getUnhiddenColumns()[0].field === columnDef.field\n }\"\n [style.left.px]=\"getLeftValueFixFirstColumn()\"\n id=\"row-{{ i }}-{{ columnDef.field }}\"\n >\n <ng-container *ngIf=\"datatableSettings?.isLoading; else notLoadingCells\">\n <div class=\"skeleton-box mu-mb-100 cells-loading\"></div>\n </ng-container>\n <ng-template #notLoadingCells>\n <ng-container\n *ngIf=\"\n getCustomContent(columnDef.field) as customContent;\n else defaultContentCell\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n customContent;\n context: {\n $implicit: {\n row: row,\n index: i,\n columnDefs: datatableSettings?.columnDefs,\n content: row[columnDef.field]\n }\n }\n \"\n ></ng-container>\n </ng-container>\n <ng-template #defaultContentCell>\n {{ row[columnDef.field] }}\n </ng-template>\n </ng-template>\n </td>\n </ng-container>\n </tr>\n <ng-container>\n <tr *ngIf=\"expandedRows[i]\">\n <td [attr.colspan]=\"getColspanForExpansionRow()\">\n <ng-container\n *ngIf=\"getCustomExpansionRowContent() as expansionRowContentComponent\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n expansionRowContentComponent;\n context: {\n $implicit: {\n subRowContent: row['subRow'],\n index: i,\n }\n }\n \"\n ></ng-container>\n </ng-container>\n </td>\n </tr>\n </ng-container>\n </ng-container>\n </ng-container>\n <ng-template #emptyBody>\n <tr>\n <td class=\"mc-datatable__empty--td\" [attr.colspan]=\"getColspanForExpansionRow()\">\n <div class=\"mc-datatable__empty\">\n <p>\n <strong>\n {{\n datatableSettings?.labels?.emptyBodyTitle || 'There is no result.'\n }}</strong\n ><br />\n {{\n datatableSettings?.labels?.emptyBodyDescription ||\n 'Please try changing your filters.'\n }}\n </p>\n <div *ngIf=\"datatableSettings?.activateEmptyBodyButton\">\n <button\n moz-button\n [theme]=\"'neutral'\"\n [size]=\"'s'\"\n [variation]=\"'bordered'\"\n (click)=\"emptyButtonClickEvent()\"\n >\n <moz-icon\n iconName=\"{{\n datatableSettings?.icons?.emptyBodyButtonIcon ||\n 'Navigation_Display_Filter_24px'\n }}\"\n ></moz-icon>\n {{ datatableSettings?.labels?.emptyBodyButtonTitle || 'Change filters' }}\n </button>\n </div>\n </div>\n </td>\n </tr>\n </ng-template>\n </tbody>\n </table>\n </div>\n <moz-datatable-footer\n *ngIf=\"datatableSettings?.activatePagination\"\n [footerSettings]=\"footerSettings\"\n [isLoading]=\"datatableSettings?.isLoading\"\n (rowPerPageChangeEmitter)=\"rowPerPageChangeEvent($event)\"\n (pageChangeEmitter)=\"pageChangeEvent($event)\"\n ></moz-datatable-footer>\n </div>\n</div>\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n ViewChild,\n} from '@angular/core';\n\n@Component({\n selector: 'moz-datatable-caption',\n templateUrl: './moz-datatable-caption.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class MozDatatableCaptionComponent implements AfterViewInit {\n @ViewChild('parentRef') parentRef?: ElementRef;\n public showParent: boolean = true;\n\n constructor(private cdRef: ChangeDetectorRef) {}\n\n ngAfterViewInit() {\n if (\n this.parentRef?.nativeElement.children &&\n this.parentRef?.nativeElement.children.length === 0\n ) {\n this.showParent = false;\n }\n this.cdRef.detectChanges();\n }\n}\n","<div class=\"mc-datatable__topbar\">\n <div class=\"mc-datatable__topbar-edition\">\n <ng-content select=\"[edition]\"></ng-content>\n </div>\n <div class=\"mc-datatable__topbar-actions\">\n <ng-content select=\"[actions]\"></ng-content>\n </div>\n</div>\n<div class=\"mc-datatable__filters\" #parentRef *ngIf=\"showParent\">\n <ng-content select=\"[filters]\"></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { CheckboxModule } from '../checkbox/checkbox.module';\nimport { FormsModule } from '@angular/forms';\nimport { MozDatatableComponent } from './moz-datatable.component';\nimport { MozDatatableContentCellComponent } from './components/content/moz-datatable-content-cell.component';\nimport { MozDatatableHeaderCellComponent } from './components/header/moz-datatable-header-cell.component';\nimport { MozDatatableFooterComponent } from './components/footer/moz-datatable-footer.component';\nimport { MozDatatableCaptionComponent } from './components/caption/moz-datatable-caption.component';\nimport { MozDatatableSelectionComponent } from './components/selection/moz-datatable-selection.component';\nimport { PaginationModule } from '../pagination/pagination.module';\nimport { SelectModule } from '../select/select.module';\nimport { ButtonModule } from '../button/button.module';\nimport { MozDatatableRowExpansionContentComponent } from './components/row/moz-datatable-row-expansion-content.component';\nimport { MozDatatableSortDirective } from './directives/moz-datatable-sort.directive';\nimport { IconModule } from '../icon/icon.module';\nimport { ToggleModule } from '../toggle/toggle.module';\n\n@NgModule({\n declarations: [\n MozDatatableComponent,\n MozDatatableContentCellComponent,\n MozDatatableHeaderCellComponent,\n MozDatatableFooterComponent,\n MozDatatableCaptionComponent,\n MozDatatableRowExpansionContentComponent,\n MozDatatableSelectionComponent,\n MozDatatableSortDirective,\n ],\n imports: [\n CommonModule,\n PaginationModule,\n SelectModule,\n FormsModule,\n ButtonModule,\n CheckboxModule,\n IconModule,\n ToggleModule,\n ],\n exports: [\n MozDatatableComponent,\n MozDatatableContentCellComponent,\n MozDatatableHeaderCellComponent,\n MozDatatableFooterComponent,\n MozDatatableCaptionComponent,\n MozDatatableRowExpansionContentComponent,\n MozDatatableSelectionComponent,\n MozDatatableSortDirective,\n ],\n})\nexport class MozDatatableModule {}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { DividerPosition, DividerSize, DividerType } from './model/divider';\n\n@Component({\n selector: 'moz-dividers',\n templateUrl: './divider.component.html',\n styleUrls: ['./divider.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class DividerComponent {\n @Input() type?: DividerType = 'default';\n @Input() position?: DividerPosition = 'bottom';\n @Input() size?: DividerSize = 'm';\n}\n","<div\n class=\"mc-divider-{{ type }} mc-divider-{{ position }} mc-divider-{{ position }}--{{\n size\n }} mc-divider-{{ position }}--{{ type }} .custom-width\"\n>\n <ng-content select=\"[content]\"></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { DividerComponent } from './divider.component';\n\n@NgModule({\n declarations: [DividerComponent],\n imports: [CommonModule],\n exports: [DividerComponent],\n})\nexport class DividerModule {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n forwardRef,\n inject,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ButtonSizes } from '../button/button';\nimport { IconSize } from '../icon/icon-size';\nimport { ListboxItem } from '../listbox/model/listbox-item';\n\n@Component({\n selector: 'moz-dropdown',\n templateUrl: './dropdown.component.html',\n styleUrls: ['./dropdown.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DropdownComponent),\n multi: true,\n },\n ],\n standalone: false,\n})\nexport class DropdownComponent implements ControlValueAccessor, OnChanges {\n @Input() public listboxItems: ListboxItem[] = [];\n @Input() public multiple: boolean = false;\n @Input() public maxSelectable: number = Infinity;\n @Input() public placeholder: string = 'Placeholder';\n @Input() public disabled: boolean = false;\n @Input() public loading: boolean = false;\n @Input() public clearfield: boolean = false;\n @Input() public valid: boolean = false;\n @Input() public invalid: boolean = false;\n @Input() public showSelectedTag: boolean = false;\n @Input() public size: ButtonSizes = 'm';\n @Input() public layerTagsTitle: string = 'Dropdown tags';\n @Input() public layerTagsIcon: string = 'Navigation_Display_Setting_24px';\n @Input() public openState: boolean = false;\n @Input() public labelClearButton: string = 'Clear';\n @Input() public useVirtualScroll: boolean = false;\n\n @Output() public scrollEnd = new EventEmitter<boolean>();\n @Output() public isOpen = new EventEmitter<boolean>();\n\n public selectedItems: ListboxItem[] | ListboxItem | undefined;\n public initialListboxItems: ListboxItem[] = [];\n public iconSize = IconSize;\n\n private readonly cdr = inject(ChangeDetectorRef);\n\n constructor() {}\n\n onChange: any = () => {};\n onTouch: any = () => {};\n\n ngOnChanges(): void {\n this.initialListboxItems = this.listboxItems.map((item) => ({ ...item }));\n }\n\n writeValue(value: ListboxItem[] | ListboxItem | undefined): void {\n this.selectedItems = value;\n this.onChange(value);\n this.onTouch();\n this.cdr.detectChanges();\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n public openChangeEvent($event: boolean): void {\n this.isOpen.emit($event);\n }\n\n public openListbox(): void {\n this.openState = !this.openState;\n }\n\n public itemsSelectedListboxEvent(listboxItemSelected: ListboxItem[] | ListboxItem): void {\n if (!this.multiple) {\n this.openState = false;\n }\n this.updateItemsDisabledState(listboxItemSelected);\n this.writeValue(listboxItemSelected);\n }\n\n public clearFieldEvent(): void {\n if (!this.disabled) {\n this.selectedItems = undefined;\n this.openState = false;\n this.writeValue(this.selectedItems);\n }\n }\n\n public getMultiSelectedLabel(): string {\n if (this.multiple) {\n return (this.selectedItems as ListboxItem[]).map((item) => item.label).join(', ');\n }\n return '';\n }\n\n public getSelectedListboxItems(): ListboxItem[] {\n if (this.multiple && this.selectedItems) {\n return this.selectedItems as ListboxItem[];\n }\n return [];\n }\n\n public getSelectedListboxItem(): ListboxItem | undefined {\n if (!this.multiple && this.selectedItems) {\n return this.selectedItems as ListboxItem;\n }\n return undefined;\n }\n\n public getLabelFromMultipleSelection(): string {\n return this.getSelectedListboxItems().length > 0\n ? this.getMultiSelectedLabel()\n : this.placeholder;\n }\n\n public getIcon(): string {\n return this.getSelectedListboxItems().length > 0 && this.selectedItems\n ? ''\n : ((this.selectedItems as ListboxItem)?.icon ?? '');\n }\n\n public getCountryFlag(): string {\n return this.getSelectedListboxItems().length > 0 && this.selectedItems\n ? ''\n : ((this.selectedItems as ListboxItem)?.countryCode ?? '');\n }\n\n public getLabelFromMonoSelection(): string {\n return this.getSelectedListboxItem()?.label ?? this.placeholder;\n }\n\n public canClearField(): boolean {\n if (this.multiple) {\n return !this.disabled && this.clearfield && this.getSelectedListboxItems().length > 0;\n } else {\n return !this.disabled && this.clearfield && this.getSelectedListboxItem() != null;\n }\n }\n\n public scrollEndEvent($event: boolean): void {\n this.scrollEnd.emit($event);\n }\n\n private updateItemsDisabledState(selectedItems: ListboxItem[] | ListboxItem): void {\n const isLimitReached =\n this.multiple && (selectedItems as ListboxItem[]).length >= this.maxSelectable;\n\n this.listboxItems.forEach((item) => {\n const originalItem = this.initialListboxItems.find(\n (initItem) => initItem.value === item.value,\n );\n const isSelected = this.multiple\n ? (selectedItems as ListboxItem[]).some((selectedItem) => selectedItem.value === item.value)\n : selectedItems === item;\n\n item.disabled = (originalItem?.disabled ?? false) || (isLimitReached && !isSelected);\n });\n }\n}\n","<div\n class=\"mc-dropdown mc-dropdown--clearable\"\n [ngClass]=\"{ 'mc-dropdown--multi': multiple }\"\n [ngStyle]=\"{\n '--dropdown-tag-width':\n showSelectedTag && multiple && getSelectedListboxItems().length > 0 ? '3.5rem' : '',\n '--dropdown-width': '100%',\n }\"\n>\n <moz-listbox\n [listboxItems]=\"listboxItems\"\n [(isOpen)]=\"openState\"\n [multiple]=\"multiple\"\n [selectedItems]=\"selectedItems\"\n (itemsSelected)=\"itemsSelectedListboxEvent($event)\"\n (scrollEnd)=\"scrollEndEvent($event)\"\n (isOpenChange)=\"openChangeEvent($event)\"\n [useVirtualScroll]=\"useVirtualScroll\"\n >\n <div class=\"mc-dropdown__main\" reference>\n @if (showSelectedTag && multiple && getSelectedListboxItems().length > 0) {\n <moz-tag\n class=\"mc-dropdown__tag\"\n [ngClass]=\"{ 'mc-tag-removable mc-tag-removable--s': !disabled }\"\n [type]=\"disabled ? 'text' : 'removable'\"\n [size]=\"'s'\"\n (clickOnRemove)=\"clearFieldEvent()\"\n >\n {{ getSelectedListboxItems().length }}</moz-tag\n >\n }\n\n <button\n type=\"button\"\n id=\"trigger\"\n class=\"mc-select mc-dropdown__trigger mc-button--{{ size }}\"\n [ngClass]=\"{\n 'is-open': openState,\n 'is-invalid': invalid,\n 'is-valid': valid,\n }\"\n aria-haspopup=\"listbox\"\n [disabled]=\"disabled\"\n aria-expanded=\"false\"\n (click)=\"openListbox()\"\n >\n <div class=\"mc-dropdown__selected-items\">\n <div>\n @if (multiple) {\n {{ getLabelFromMultipleSelection() }}\n } @else {\n @if (getIcon()) {\n <moz-icon [size]=\"iconSize.L\" [iconName]=\"getIcon()\"></moz-icon>\n }\n @if (getCountryFlag()) {\n <span\n class=\"flag flag:{{ getCountryFlag() }}\"\n style=\"--CountryFlagIcon-height: 1rem\"\n >\n &nbsp;\n </span>\n }\n {{ getLabelFromMonoSelection() }}\n }\n </div>\n </div>\n </button>\n\n <div class=\"mc-dropdown__tools\">\n @if (loading) {\n <div class=\"mc-dropdown__loader mc-loader mc-loader--s\">\n <span class=\"mc-loader__spinner\">\n <moz-loader class=\"mc-loader__icon\" size=\"s\"></moz-loader>\n </span>\n </div>\n }\n @if (canClearField()) {\n <button class=\"mc-dropdown__clear\" type=\"button\" (click)=\"clearFieldEvent()\">\n <moz-icon\n class=\"mc-dropdown__clear-icon\"\n [iconName]=\"'Navigation_Control_Tag--Cross_24px'\"\n ></moz-icon>\n <span class=\"mc-dropdown__clear-text\">{{ labelClearButton }}</span>\n </button>\n }\n </div>\n </div>\n </moz-listbox>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { DropdownComponent } from './dropdown.component';\nimport { ListboxModule } from '../listbox/listbox.module';\nimport { LoaderModule } from '../loader/loader.module';\nimport { IconModule } from '../icon/icon.module';\nimport { TagModule } from '../tag/tag.module';\nimport { FormsModule } from '@angular/forms';\nimport { TaglistModule } from '../taglist/taglist.module';\n\n@NgModule({\n declarations: [DropdownComponent],\n imports: [\n CommonModule,\n FormsModule,\n ListboxModule,\n LoaderModule,\n IconModule,\n TagModule,\n TaglistModule,\n ],\n exports: [DropdownComponent],\n})\nexport class DropdownModule {}\n","import { Directive, InjectionToken } from '@angular/core';\n\nexport const MOZ_INPUT_ICON = new InjectionToken<InputIconDirective>('MozInputIcon');\n\n@Directive({\n selector: '[mozInputIcon]',\n providers: [{ provide: MOZ_INPUT_ICON, useExisting: InputIconDirective }],\n standalone: false,\n})\nexport class InputIconDirective {}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'moz-field-error',\n templateUrl: './field-error.component.html',\n styleUrls: ['./field-error.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.mc-field__error-message]': 'true',\n },\n standalone: false,\n})\nexport class FieldErrorComponent {}\n","<ng-content></ng-content>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Input,\n QueryList,\n ViewEncapsulation,\n} from '@angular/core';\nimport { map, startWith } from 'rxjs';\nimport { InputIconDirective, MOZ_INPUT_ICON } from './directives/input-icon.directive';\n\n@Component({\n selector: 'moz-field',\n templateUrl: './field.component.html',\n styleUrls: ['./field.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class.mc-field]': 'true',\n },\n standalone: false,\n})\nexport class FieldComponent {\n @Input() public label = '';\n\n @Input() public requirementText = '';\n\n @Input() public helpText = '';\n\n @ContentChildren(MOZ_INPUT_ICON, { descendants: true })\n InputIconDirective?: QueryList<InputIconDirective>;\n\n public get viewLabel() {\n return !!(this.label || this.requirementText || this.helpText);\n }\n\n public get hasInputIcon() {\n return this.InputIconDirective?.changes.pipe(\n startWith(!!this.InputIconDirective?.length),\n map(() => !!this.InputIconDirective?.length),\n );\n }\n\n constructor(private readonly cd: ChangeDetectorRef) {}\n\n ngAfterViewInit() {\n this.cd.detectChanges();\n }\n}\n","<label class=\"mc-field__label\" *ngIf=\"viewLabel\">\n <span class=\"field__label-text\">{{ label }}</span>\n <span *ngIf=\"requirementText\" [attr.aria-hidden]=\"requirementText\" class=\"mc-field__requirement\">\n {{ requirementText }}\n </span>\n <span *ngIf=\"helpText\" id=\"helptext\" class=\"mc-field__help\">\n {{ helpText }}\n </span>\n</label>\n\n<ng-content></ng-content>\n\n<ng-template #inputIconTemplate>\n <ng-content select=\"[mozInputIcon]\"></ng-content>\n</ng-template>\n\n<ng-template #inputTemplate>\n <ng-content select=\"[moz-input]\"></ng-content>\n</ng-template>\n\n<div class=\"mc-left-icon-input\" *ngIf=\"hasInputIcon | async; else withoutIcon\">\n <ng-container [ngTemplateOutlet]=\"inputIconTemplate\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"inputTemplate\"></ng-container>\n</div>\n\n<ng-template #withoutIcon>\n <ng-container [ngTemplateOutlet]=\"inputTemplate\"></ng-container>\n</ng-template>\n\n<ng-content select=\"moz-field-error\"></ng-content>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { InputIconDirective } from './directives/input-icon.directive';\nimport { FieldErrorComponent } from './field-error.component';\nimport { FieldComponent } from './field.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [FieldComponent, FieldErrorComponent, InputIconDirective],\n exports: [FieldComponent, FieldErrorComponent, InputIconDirective],\n})\nexport class FieldModule {}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\n\n@Component({\n selector: 'moz-uploaded-files',\n templateUrl: './uploaded-files.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class UploadedFilesComponent {\n @Input() uploadedFiles: File[] | null = [];\n @Input() formControlNameForFiles: string[] = [];\n @Input() validatorsForFiles?: Function;\n @Input() allowedTypes: string[] = [];\n @Input() fileTypeErrorText?: string;\n\n @Output() deletedFile = new EventEmitter<File>();\n\n public filesFormGroup!: FormGroup;\n\n deleteFile(file: File): void {\n this.deletedFile.emit(file);\n }\n\n isFileValid(file: File): string | null {\n if (this.validatorsForFiles) {\n return this.validatorsForFiles(file);\n } else {\n return this.isValidType(file) ? null : this.fileTypeErrorText || '';\n }\n }\n\n isValidType(file: File): boolean {\n if (!this.allowedTypes || this.allowedTypes.length === 0) {\n return true;\n }\n\n if (!this.allowedTypes.includes(file.type)) {\n return false;\n }\n\n return true;\n }\n}\n","<ul class=\"mc-fileuploader__files\">\n <ng-container *ngFor=\"let file of uploadedFiles\">\n <li\n class=\"mc-fileuploader__file mc-fileuploader__file--is-valid\"\n *ngIf=\"isFileValid(file) === null; else isInvalid\"\n >\n <span class=\"mc-fileuploader__file-name\">{{ file.name }}</span>\n <span class=\"mc-fileuploader__file-icon\"></span>\n <button type=\"button\" class=\"mc-fileuploader__delete\" (click)=\"deleteFile(file)\"></button>\n </li>\n <ng-template #isInvalid>\n <li class=\"mc-fileuploader__file mc-fileuploader__file--is-invalid\">\n <span class=\"mc-fileuploader__file-name\">{{ file.name }}</span>\n <span class=\"mc-fileuploader__file-icon\"></span>\n <button type=\"button\" class=\"mc-fileuploader__delete\" (click)=\"deleteFile(file)\"></button>\n <div class=\"mc-fileuploader__file-message\">{{ isFileValid(file) }}</div>\n </li>\n </ng-template>\n </ng-container>\n</ul>\n","import { Directive, Output, EventEmitter, HostBinding, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[mozDragNDrop]',\n standalone: false,\n})\nexport class MozDragNDropDirective {\n @HostBinding('class.fileover') fileOver: boolean = false;\n @Output() fileDroppedEvent = new EventEmitter<File[]>();\n\n // Dragover listener\n @HostListener('dragover', ['$event']) onDragOver(evt: Event) {\n evt.preventDefault();\n evt.stopPropagation();\n this.fileOver = true;\n }\n\n // Dragleave listener\n @HostListener('dragleave', ['$event']) public onDragLeave(evt: Event) {\n evt.preventDefault();\n evt.stopPropagation();\n this.fileOver = false;\n }\n\n // Drop listener\n @HostListener('drop', ['$event']) public ondrop(evt: any) {\n evt.preventDefault();\n evt.stopPropagation();\n this.fileOver = false;\n const files = evt.dataTransfer.files;\n if (files.length > 0) {\n this.fileDroppedEvent.emit(files as File[]);\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n ViewEncapsulation,\n forwardRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'moz-file-uploader',\n templateUrl: './file-uploader.component.html',\n styleUrls: ['./file-uploader.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FileUploaderComponent),\n multi: true,\n },\n ],\n standalone: false,\n})\nexport class FileUploaderComponent implements ControlValueAccessor {\n @Input() allowedTypes: string[] = [];\n @Input() multiple: boolean = false;\n @Input() disabled: boolean = false;\n @Input() btnLabel?: string;\n @Input() attachmentLabel?: string;\n @Input() mandatoryLabel?: string;\n @Input() helpText?: string;\n @Input() fileTypeErrorText?: string;\n @Input() validatorsForFiles?: Function;\n\n public uploadedFiles: File[] = [];\n public uuid = Math.random();\n\n constructor(private readonly cdRef: ChangeDetectorRef) {}\n\n onChange: any = () => {};\n onTouch: any = () => {};\n\n public writeValue(files: File[]): void {\n this.uploadedFiles = [...(files ?? [])];\n this.onChange(this.uploadedFiles);\n this.onTouch();\n this.cdRef.markForCheck();\n }\n\n public registerOnChange(fn: (file: File[]) => void) {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: () => void) {\n this.onTouch = fn;\n }\n\n public uploadFileFromInput(event: Event): void {\n const target = event.target as HTMLInputElement;\n const files = target.files as FileList;\n\n if (files?.length) {\n this.uploadFile(Array.from(files));\n }\n\n this.writeValue(this.uploadedFiles);\n\n target.value = '';\n }\n\n public deleteFile(file: File): void {\n const filteredFiles = (this.uploadedFiles ?? []).filter(\n (uploadedFile) => uploadedFile !== file,\n );\n this.writeValue(filteredFiles.length > 0 ? filteredFiles : []);\n }\n\n public getAllowedTypesAsString(): string {\n if (this.allowedTypes && this.allowedTypes.length > 0) {\n return this.allowedTypes.join(', ');\n }\n return '';\n }\n\n public fileDropped(files: File[]): void {\n if (files.length) {\n this.uploadFile(Array.from(files));\n }\n }\n\n private uploadFile(files: File[]): void {\n if (this.multiple) {\n this.writeValue([...(this.uploadedFiles ?? []), ...files]);\n } else {\n this.writeValue(files);\n }\n }\n}\n","<div class=\"mc-field\" mozDragNDrop (fileDroppedEvent)=\"fileDropped($event)\">\n <label\n class=\"mc-field__label\"\n for=\"fileuploader_{{ uuid }}\"\n *ngIf=\"attachmentLabel || mandatoryLabel || helpText\"\n >\n <label class=\"mc-field__label\" for=\"fileuploader_{{ uuid }}\" *ngIf=\"attachmentLabel\">\n {{ attachmentLabel }}\n </label>\n <span class=\"mc-field__requirement\" *ngIf=\"mandatoryLabel\">\n {{ mandatoryLabel }}\n </span>\n <span class=\"mc-field__help\" *ngIf=\"helpText\"> {{ helpText }} </span>\n </label>\n\n <div class=\"mc-field__element mc-fileuploader\">\n <input\n type=\"file\"\n class=\"mc-fileuploader__input\"\n id=\"fileuploader_{{ uuid }}\"\n accept=\"{{ getAllowedTypesAsString() }}\"\n [disabled]=\"disabled\"\n (change)=\"uploadFileFromInput($event)\"\n [multiple]=\"multiple\"\n />\n <label for=\"fileuploader_{{ uuid }}\" class=\"mc-fileuploader__label\">\n <span class=\"mc-fileuploader__label--center\">\n {{ btnLabel }}\n </span>\n </label>\n <moz-uploaded-files\n [uploadedFiles]=\"uploadedFiles\"\n (deletedFile)=\"deleteFile($event)\"\n [validatorsForFiles]=\"validatorsForFiles\"\n [fileTypeErrorText]=\"fileTypeErrorText\"\n [allowedTypes]=\"allowedTypes\"\n ></moz-uploaded-files>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FileUploaderComponent } from './file-uploader.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { UploadedFilesComponent } from './components/uploaded-files/uploaded-files.component';\nimport { MozDragNDropDirective } from './directives/moz-drag-n-drop.directive';\n\n@NgModule({\n declarations: [FileUploaderComponent, UploadedFilesComponent, MozDragNDropDirective],\n imports: [CommonModule, FormsModule, ReactiveFormsModule],\n exports: [FileUploaderComponent, UploadedFilesComponent, MozDragNDropDirective],\n})\nexport class FileUploaderModule {}\n","export type titleSizes = 's' | 'm' | 'l' | 'xl';\nexport enum Direction {\n Up = 'Up',\n Down = 'Down',\n}\n","import {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n QueryList,\n ViewChild,\n} from '@angular/core';\nimport { BadgeType } from '../badge/badge';\nimport { Direction, titleSizes } from './model/header';\nimport { fromEvent, map, pairwise, startWith } from 'rxjs';\nimport { BreadcrumbComponent } from '../breadcrumb';\n\n@Component({\n selector: 'moz-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class HeaderComponent implements AfterViewInit, AfterContentInit {\n @Input() public title: string = '';\n @Input() public subtitle: string = '';\n @Input() public badgeType: BadgeType = 'information';\n @Input() public badgeContent: string = '';\n @Input() public size: titleSizes = 'm';\n @Input() public showShadow: boolean = true;\n @Input() public sticky: boolean = false;\n @Input() public activateAnimation: boolean = false;\n @Input() public showBack: boolean = false;\n @Input() public backButtonLabel: string = 'Back';\n\n @Output() public backEvent = new EventEmitter<boolean>();\n @Output() public directionChangeEvent = new EventEmitter<Direction>();\n @Output() public headerStateEvent = new EventEmitter<string>();\n\n @ViewChild('tabsRef') tabsRef?: ElementRef;\n @ViewChild('header') header!: ElementRef;\n @ViewChild('iconsWrapper') icons!: ElementRef;\n @ViewChild('selectorWrapper') selector!: ElementRef;\n @ContentChild(BreadcrumbComponent) breadcrumb?: BreadcrumbComponent;\n\n @ContentChildren('*') contentChildren!: QueryList<ElementRef>;\n\n public headerHeight = 0;\n public pinned = false;\n public unfixed = false;\n public unpinned = false;\n public direction?: Direction = Direction.Up;\n public showActions: boolean = true;\n public showBreadcrumb: boolean = true;\n public showTabs: boolean = true;\n private animate: boolean = false;\n\n constructor(\n private cdRef: ChangeDetectorRef,\n private elementRef: ElementRef,\n ) {}\n\n ngAfterViewInit(): void {\n this.headerHeight = this.header.nativeElement.offsetHeight;\n\n this.showActions =\n (this.icons && this.icons.nativeElement.children.length > 0) ||\n (this.selector && this.selector.nativeElement.children.length > 0);\n if (\n this.tabsRef == null ||\n (this.tabsRef?.nativeElement.children && this.tabsRef?.nativeElement.children.length === 0)\n ) {\n this.showTabs = false;\n }\n\n if (this.activateAnimation && this.sticky) {\n this.animate = true;\n this.scrollWithAnimationAndSticky();\n } else if (this.activateAnimation && !this.sticky) {\n this.scrollWithOnlyAnimation();\n }\n this.cdRef.detectChanges();\n }\n ngAfterContentInit(): void {\n this.showBreadcrumb = !!this.breadcrumb;\n this.cdRef.detectChanges();\n }\n\n public onParentScrollWithOnlyAnimation(parentElement: HTMLElement): void {\n let previousState = 'unfixed';\n const headerHeight = this.header.nativeElement.offsetHeight;\n\n let lastScrollTop = parentElement.scrollTop || 0;\n\n const handleScroll = () => {\n const currentScrollTop = parentElement.scrollTop || 0;\n\n if (currentScrollTop === 0) {\n this.unfixed = true;\n this.pinned = false;\n this.unpinned = false;\n this.headerStateEvent.emit('unfixed');\n previousState = 'unfixed';\n } else if (currentScrollTop < lastScrollTop && currentScrollTop > headerHeight) {\n this.pinned = true;\n this.unpinned = false;\n this.unfixed = false;\n this.headerStateEvent.emit('pinned');\n if (previousState !== 'unfixed') {\n this.triggerAnimation();\n } else {\n this.animate = false;\n }\n previousState = 'pinned';\n } else if (currentScrollTop > lastScrollTop && currentScrollTop > headerHeight) {\n this.unpinned = true;\n this.pinned = false;\n this.unfixed = false;\n this.headerStateEvent.emit('unpinned');\n if (previousState !== 'unfixed') {\n this.triggerAnimation();\n } else {\n this.animate = false;\n }\n previousState = 'unpinned';\n }\n this.direction = currentScrollTop > lastScrollTop ? Direction.Down : Direction.Up;\n this.directionChangeEvent.emit(this.direction);\n lastScrollTop = currentScrollTop;\n\n this.cdRef.detectChanges();\n };\n\n parentElement.addEventListener('scroll', handleScroll);\n }\n\n public scrollWithOnlyAnimation(): void {\n if (this.activateAnimation && !this.sticky) {\n const parentElement = this.findParentWithScroll(this.elementRef.nativeElement);\n\n if (parentElement) {\n this.onParentScrollWithOnlyAnimation(parentElement);\n } else {\n let previousState = 'unfixed';\n const headerHeight = this.header.nativeElement.getBoundingClientRect().height;\n fromEvent(window, 'scroll')\n .pipe(\n map(() => window.scrollY),\n startWith(0),\n pairwise(),\n map(([y1, y2]): Direction => {\n if (y2 === 0) {\n this.unfixed = true;\n this.pinned = false;\n this.unpinned = false;\n this.animate = false;\n this.headerStateEvent.emit('unfixed');\n previousState = 'unfixed';\n } else if (y2 < y1 && y2 > headerHeight) {\n this.pinned = true;\n this.unpinned = false;\n this.unfixed = false;\n previousState = 'pinned';\n this.headerStateEvent.emit('pinned');\n if (previousState !== 'unfixed') {\n this.triggerAnimation();\n } else {\n this.animate = false;\n }\n } else if (y2 > y1 && y2 > headerHeight) {\n this.unpinned = true;\n this.pinned = false;\n this.unfixed = false;\n this.headerStateEvent.emit('unpinned');\n if (previousState !== 'unfixed') {\n this.triggerAnimation();\n } else {\n this.animate = false;\n }\n previousState = 'unpinned';\n }\n return y2 < y1 ? Direction.Up : Direction.Down;\n }),\n )\n .subscribe((direction) => {\n this.direction = direction;\n this.directionChangeEvent.emit(this.direction);\n this.cdRef.detectChanges();\n });\n }\n }\n }\n\n public onParentScrollWithAnimationAndSticky(parentElement: HTMLElement): void {\n let lastScrollTop = parentElement.scrollTop || 0;\n\n const handleScroll = () => {\n const currentScrollTop = parentElement.scrollTop || 0;\n if (currentScrollTop > lastScrollTop) {\n this.direction = Direction.Down;\n } else {\n this.direction = Direction.Up;\n }\n this.directionChangeEvent.emit(this.direction);\n lastScrollTop = currentScrollTop;\n\n this.cdRef.detectChanges();\n };\n\n parentElement.addEventListener('scroll', handleScroll);\n }\n\n public scrollWithAnimationAndSticky(): void {\n if (this.animate && this.sticky) {\n const parentElement = this.findParentWithScroll(this.elementRef.nativeElement);\n\n if (parentElement) {\n this.onParentScrollWithAnimationAndSticky(parentElement);\n } else {\n fromEvent(window, 'scroll')\n .pipe(\n map(() => window.scrollY),\n pairwise(),\n map(([y1, y2]): Direction => {\n return y2 < y1 ? Direction.Up : Direction.Down;\n }),\n )\n .subscribe((direction) => {\n this.direction = direction;\n this.directionChangeEvent.emit(this.direction);\n this.cdRef.detectChanges();\n });\n }\n }\n }\n\n public findParentWithScroll(element: HTMLElement): HTMLElement | null {\n if (element.parentElement) {\n const parent = element.parentElement;\n const hasOverflow = window.getComputedStyle(parent).overflow;\n if (hasOverflow === 'auto' || hasOverflow === 'scroll') {\n return parent;\n } else {\n return this.findParentWithScroll(parent);\n }\n }\n return null;\n }\n\n public get headerClasses(): object {\n return {\n 'mc-header--shadow': this.showShadow,\n 'mc-header--sticky': this.sticky,\n 'mc-header--animate': this.animate,\n 'mc-header--up': this.animate && this.sticky && this.direction === 'Up',\n 'mc-header--down': this.animate && this.sticky && this.direction !== 'Up',\n 'mc-header--unfixed': this.activateAnimation && !this.sticky && this.unfixed,\n 'mc-header--unpinned': this.activateAnimation && !this.sticky && this.unpinned,\n 'mc-header--pinned': this.activateAnimation && !this.sticky && this.pinned,\n };\n }\n\n public back(): void {\n this.backEvent.emit(true);\n }\n\n public triggerAnimation(): void {\n this.animate = true;\n }\n}\n","<div #header class=\"mc-header\" [ngClass]=\"headerClasses\">\n <div class=\"mc-header__container\">\n\n <ng-content select=\"moz-breadcrumb\"></ng-content>\n\n <div class=\"mc-header__actions\" *ngIf=\"showActions\">\n <div class=\"mc-header__icons\">\n <div #iconsWrapper>\n <ng-content select=\"[icons]\"></ng-content>\n </div>\n </div>\n <div class=\"mc-header__selector\">\n <div #selectorWrapper>\n <ng-content select=\"[selector]\"></ng-content>\n </div>\n </div>\n </div>\n <div class=\"mc-header__content\">\n <div class=\"mc-header__content-main\">\n <button\n class=\"mc-header__back\"\n type=\"button\"\n *ngIf=\"showBack && !showBreadcrumb\"\n (click)=\"back()\"\n >\n <moz-icon iconName=\"Navigation_Arrow_Back_24px\"></moz-icon>\n <span class=\"mc-header__back-label\">{{ backButtonLabel }}</span>\n </button>\n <h1 class=\"mc-header__title mc-header__title--{{ size }}\">{{ title }}</h1>\n </div>\n <div\n class=\"mc-header__content-aside\"\n [ngClass]=\"[showBack && !showBreadcrumb ? 'can-navigate' : '']\"\n >\n <span class=\"mc-header__subtitle\" *ngIf=\"subtitle\">{{ subtitle }}</span>\n <div *ngIf=\"badgeContent\" moz-badge [type]=\"badgeType || 'information'\">\n {{ badgeContent }}\n </div>\n </div>\n </div>\n </div>\n <div class=\"mc-header__tabs mc-divider-top mc-divider-top--light\" #tabsRef *ngIf=\"showTabs\">\n <ng-container ngProjectAs=\"'moz-tabs'\">\n <ng-content select=\"moz-tabs\"></ng-content>\n </ng-container>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { HeaderComponent } from './header.component';\nimport { BadgeModule } from '../badge/badge.module';\nimport { IconModule } from '../icon/icon.module';\n\n@NgModule({\n declarations: [HeaderComponent],\n imports: [CommonModule, BadgeModule, IconModule],\n exports: [HeaderComponent],\n})\nexport class HeaderModule {}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { HeadingWeightType } from './heading-weight-type';\nimport { HeadingResponsiveAlignment } from './heading-alignment';\n\n@Component({\n selector: 'moz-heading',\n templateUrl: './heading.component.html',\n styleUrls: ['./heading.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class HeadingComponent {\n @Input() size: string = 'm';\n @Input() weight?: HeadingWeightType;\n @Input() underline: boolean = false;\n @Input() lightest: boolean = false;\n @Input() alignment?: HeadingResponsiveAlignment;\n @Input() lineHeightXS: boolean = false;\n @Input() underlineColor?: string;\n}\n","<p\n class=\"mt-heading\"\n [ngClass]=\"[\n underline\n ? 'mt-heading--underline'\n : weight && weight !== 'regular'\n ? 'mt-heading--' + weight\n : '',\n lightest ? 'mt-heading--lightest' : '',\n size ? 'mt-heading--' + size : 'mt-heading--s',\n lightest ? 'mt-heading--lightest' : '',\n alignment ? 'mt-heading--' + alignment : '',\n lineHeightXS ? 'mt-heading--line-height-xs' : '',\n underlineColor && underlineColor !== 'primary' ? 'mt-heading--line-' + underlineColor : ''\n ]\"\n>\n <ng-content></ng-content>\n</p>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { HeadingComponent } from './heading.component';\n\n@NgModule({\n declarations: [HeadingComponent],\n imports: [CommonModule],\n exports: [HeadingComponent],\n})\nexport class HeadingModule {}\n","export enum KpiSize {\n LARGE = 'large',\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { KpiSize } from './model/kpi';\n\n@Component({\n selector: 'moz-kpi',\n templateUrl: './kpi.component.html',\n styleUrls: ['./kpi.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class KpiComponent {\n @Input() value: string = '';\n @Input() iconname: string = '';\n @Input() iconcolor: string = '';\n @Input() label: string = '';\n @Input() type: string = '';\n @Input() detail: string = '';\n @Input() size: string | undefined = KpiSize.LARGE;\n\n public getSize(): string {\n if (this.size && this.size.length > 0) {\n return this.size;\n }\n\n let size = 'small';\n if (this.label && this.label.length > 0 && !this.detail) {\n size = 'medium';\n } else if (this.detail && this.detail.length > 0) {\n size = 'large';\n }\n return size;\n }\n\n public labelOutsideContent(): boolean {\n return this.label != null && this.label.length > 0 && this.getSize() !== 'large';\n }\n}\n","<div class=\"mc-kpi mc-kpi--{{ getSize() }} mc-kpi--{{ type }}\">\n <span class=\"mc-kpi__label\" *ngIf=\"labelOutsideContent()\">{{ label }}</span>\n <div class=\"mc-kpi__content\">\n <div class=\"mc-kpi__main\">\n <span class=\"mc-kpi__label\" *ngIf=\"!labelOutsideContent()\">{{ label }}</span>\n <span class=\"mc-kpi__value\">{{ value }}</span>\n </div>\n <div class=\"mc-kpi__aside\" ref=\"aside\" *ngIf=\"iconname || detail\">\n <span class=\"mc-kpi__detail\" *ngIf=\"detail\">{{ detail }}</span>\n <span class=\"mc-kpi__icon\" *ngIf=\"iconname\"\n ><moz-icon [iconName]=\"iconname\" [ngStyle]=\"{ fill: iconcolor }\"></moz-icon\n ></span>\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { KpiComponent } from './kpi.component';\nimport { IconModule } from '../icon/icon.module';\n\n@NgModule({\n declarations: [KpiComponent],\n imports: [CommonModule, IconModule],\n exports: [KpiComponent],\n})\nexport class KpiModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { LayerComponent } from './layer.component';\nimport { LayerService } from './layer.service';\nimport { IconModule } from '../icon/icon.module';\n\n@NgModule({\n imports: [CommonModule, IconModule],\n providers: [LayerService],\n declarations: [LayerComponent],\n exports: [LayerComponent],\n})\nexport class LayerModule {}\n","import { animate, group, query, style, transition, trigger } from '@angular/animations';\n\nexport const modalAnimation = trigger('modalAnimation', [\n transition(\n ':enter',\n group([\n query('.mc-modal', [\n style({ opacity: 0, transform: 'scale(0.7)' }),\n animate(200, style({ opacity: 1, transform: 'scale(1)' })),\n ]),\n ])\n ),\n transition(\n ':leave',\n group([\n query('.mc-modal', [\n style({ opacity: 1, transform: 'scale(1)' }),\n animate(200, style({ opacity: 0, transform: 'scale(0.1)' })),\n ]),\n ])\n ),\n]);\n","import { InjectionToken } from '@angular/core';\n\nexport const MODAL_CONFIG = new InjectionToken('MODAL_CONFIG');\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentRef,\n Inject,\n Input,\n OnDestroy,\n Type,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { modalAnimation } from './modal-animation';\nimport { ModalRef } from './interfaces/modal-ref';\nimport { MODAL_CONFIG } from './tokens/modal-config.token';\nimport { ModalConfig } from './interfaces/modal-config';\n\n@Component({\n selector: 'moz-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n animations: [modalAnimation],\n host: { '[@modalAnimation]': 'true' },\n standalone: false,\n})\nexport class ModalComponent implements AfterViewInit, OnDestroy {\n @Input() public modalRef!: ModalRef;\n @Input() public childComponentType!: Type<any>;\n @ViewChild('content', { read: ViewContainerRef, static: true })\n private readonly contentViewRef!: ViewContainerRef;\n\n public childComponentRef?: ComponentRef<any>;\n\n constructor(\n @Inject(MODAL_CONFIG) private config: ModalConfig,\n private cd: ChangeDetectorRef,\n ) {}\n\n public get icon(): string {\n return this.config.icon!;\n }\n\n public get title(): string {\n return this.config.title!;\n }\n\n public get hasCross(): boolean {\n return this.config.hasCross!;\n }\n\n public get minHeight(): string {\n return `${this.config.minHeight}px`;\n }\n\n public get layerIndex(): number {\n return this.config.layerIndex!;\n }\n\n public get modalContainerIndex(): number {\n return this.layerIndex + 1;\n }\n\n public get closeOnOverlay(): boolean {\n return this.config.closeOnOverlay!;\n }\n\n public ngAfterViewInit() {\n this.initChildComponent(this.childComponentType);\n }\n\n public ngOnDestroy(): void {\n this.modalRef.destroy();\n }\n\n public closeOnOutsideCLick(): void {\n if (this.closeOnOverlay) {\n this.close();\n }\n }\n\n public close() {\n this.modalRef.close();\n }\n\n private initChildComponent(componentType: Type<any>): void {\n this.childComponentRef = this.contentViewRef.createComponent(componentType);\n this.cd.detectChanges();\n }\n}\n","<div\n tabindex=\"-1\"\n role=\"dialog\"\n aria-labelledby=\"modal_title\"\n class=\"mc-modal\"\n [style.zIndex]=\"modalContainerIndex\"\n>\n <div role=\"document\" class=\"mc-modal__dialog is-open\" [style.minHeight]=\"minHeight\">\n <header class=\"mc-modal__header mc-divider-bottom mc-divider-bottom--light\">\n <span class=\"mc-modal__icon\" *ngIf=\"icon\">\n <moz-icon iconName=\"{{ icon }}\"></moz-icon>\n </span>\n <h2 class=\"mc-modal__title\" id=\"modalTitle\">{{ title }}</h2>\n <button class=\"mc-modal__close\" type=\"button\" (click)=\"close()\" *ngIf=\"hasCross\">\n <span class=\"mc-modal__close-text\">Close</span>\n </button>\n </header>\n <main class=\"mc-modal__body\">\n <article class=\"mc-modal__content\">\n <ng-template #content></ng-template>\n </article>\n </main>\n </div>\n</div>\n<div\n tabindex=\"-1\"\n role=\"dialog\"\n (click)=\"closeOnOutsideCLick()\"\n class=\"mc-modal-overlay is-visible\"\n [style.zIndex]=\"layerIndex\"\n></div>\n","import { InjectionToken } from '@angular/core';\n\nexport const MODAL_DATA = new InjectionToken('MODAL_DATA');\n","import { InjectionToken } from '@angular/core';\n\nexport const MODAL_REF = new InjectionToken('MODAL_REF');\n","import { Injector } from '@angular/core';\nimport { MODAL_REF, MODAL_CONFIG, MODAL_DATA } from '../tokens';\nimport { ModalRef } from '../interfaces/modal-ref';\nimport { ModalDIParams } from '../interfaces/modal-di-params';\n\nexport class ModalInjector implements Injector {\n private readonly parentInjector: Injector;\n private readonly modalRef: ModalRef;\n private additionalTokens!: WeakMap<object, unknown>;\n\n constructor({ injector, modalRef }: ModalDIParams) {\n this.parentInjector = injector;\n this.modalRef = modalRef;\n\n this.initAdditionalTokens();\n }\n\n public get(token: unknown, notFoundValue?: unknown, flags?: unknown): any;\n public get(token: any, notFoundValue?: any): any {\n const value = this.additionalTokens.get(token);\n\n if (value) {\n return value;\n }\n\n return this.parentInjector.get<any>(token, notFoundValue);\n }\n\n private initAdditionalTokens(): void {\n this.additionalTokens = new WeakMap();\n this.additionalTokens.set(MODAL_REF, this.modalRef);\n this.additionalTokens.set(MODAL_CONFIG, this.modalRef.config);\n this.additionalTokens.set(MODAL_DATA, this.modalRef.config.data);\n }\n}\n","import { ModalConfig } from '../interfaces/modal-config';\n\nexport class ModalConfigModel implements ModalConfig {\n title: string = '';\n hasCross: boolean = true;\n data?: unknown;\n layerIndex?: number;\n minHeight: number = 65;\n\n constructor(config: ModalConfig) {\n Object.assign(this, config);\n }\n}\n","import { ComponentRef } from '@angular/core';\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\nimport { getRandomNumber } from '../../../common';\nimport { ModalRef } from '../interfaces/modal-ref';\nimport { ModalConfig } from '../interfaces/modal-config';\nimport { ModalComponent } from '../modal.component';\n\nexport class ModalRefModel implements ModalRef {\n private readonly _config$ = new BehaviorSubject<ModalConfig>({});\n private readonly _afterClosed$ = new Subject<unknown>();\n\n private readonly _id = String(getRandomNumber(1, 100000));\n private _modalElement!: HTMLElement;\n private _componentRef!: ComponentRef<ModalComponent>;\n\n constructor(public modalConfig: ModalConfig) {\n this.init(modalConfig);\n }\n public get afterClosed$(): Observable<unknown> {\n return this._afterClosed$.asObservable();\n }\n\n public get config$(): Observable<ModalConfig> {\n return this._config$.asObservable();\n }\n\n public get config(): ModalConfig {\n return this._config$.getValue();\n }\n\n public get id(): string {\n return this._id;\n }\n\n public get modalElement(): HTMLElement {\n return this._modalElement;\n }\n\n public get componentRef(): ComponentRef<ModalComponent> {\n return this._componentRef;\n }\n\n public init(config: ModalConfig): void {\n this.updateConfig(config);\n }\n\n public updateConfig(config: ModalConfig): void {\n this._config$.next({ ...this.config, ...config });\n }\n\n public close<T = unknown>(result?: T): void {\n this._afterClosed$.next(result);\n }\n\n public setModalElement(element: HTMLElement): void {\n this._modalElement = element;\n }\n\n public setComponentRef(componentRef: ComponentRef<ModalComponent>): void {\n this._componentRef = componentRef;\n }\n\n public destroy(): void {\n this._config$.complete();\n this._afterClosed$.complete();\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n ApplicationRef,\n ComponentFactoryResolver,\n ComponentRef,\n EmbeddedViewRef,\n Inject,\n Injectable,\n Injector,\n Type,\n} from '@angular/core';\nimport { delay } from 'rxjs/operators';\nimport { ModalConfig } from './interfaces/modal-config';\nimport { ModalRef } from './interfaces/modal-ref';\nimport { ModalInjector } from './classes/modal-injector';\nimport { ModalConfigModel } from './classes/modal-config';\nimport { ModalRefModel } from './classes/modal-ref';\nimport { ModalComponent } from './modal.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ModalService {\n private _layer: number = 100;\n\n constructor(\n private readonly componentFactoryResolver: ComponentFactoryResolver,\n private readonly injector: Injector,\n private readonly applicationRef: ApplicationRef,\n @Inject(DOCUMENT) private readonly document: Document\n ) {}\n\n public open(component: Type<any>, config: ModalConfig = {}): ModalRef {\n this.addLayer();\n const modalRef = this.createModal({ ...config, layerIndex: this._layer });\n this.applyDataForCreatedModalInstance({ component, modalRef });\n\n return modalRef;\n }\n\n private createModal(config: ModalConfig) {\n const modalRef: ModalRef = new ModalRefModel(new ModalConfigModel(config));\n const modalInjector = new ModalInjector({ injector: this.injector, modalRef });\n const componentRef = this.createComponentRef(modalInjector);\n\n modalRef.setComponentRef(componentRef);\n this.initModalRefAfterClosedObserver(modalRef, componentRef);\n this.appendModalComponentToBody(componentRef);\n\n return modalRef;\n }\n\n private createComponentRef(modalInjector: ModalInjector): ComponentRef<ModalComponent> {\n return this.componentFactoryResolver\n .resolveComponentFactory(ModalComponent)\n .create(modalInjector);\n }\n\n private initModalRefAfterClosedObserver(\n modalRef: ModalRef,\n componentRef: ComponentRef<ModalComponent>\n ): void {\n const destroyDelayInMs = 50;\n modalRef.afterClosed$.pipe(delay(destroyDelayInMs)).subscribe(() => componentRef.destroy());\n }\n\n private appendModalComponentToBody(componentRef: ComponentRef<ModalComponent>): void {\n const componentHostView = componentRef.hostView as EmbeddedViewRef<unknown>;\n const componentHtmlElement = componentHostView.rootNodes[0] as HTMLElement;\n this.applicationRef.attachView(componentHostView);\n this.document.body.appendChild(componentHtmlElement);\n }\n\n private applyDataForCreatedModalInstance({\n modalRef,\n component,\n }: {\n modalRef: ModalRef;\n component: Type<any>;\n }): void {\n const { instance: modalInstance } = modalRef.componentRef;\n modalInstance.childComponentType = component;\n modalInstance.modalRef = modalRef;\n }\n\n private addLayer() {\n this._layer += 1;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { IconModule } from '../icon';\nimport { ModalComponent } from './modal.component';\nimport { ModalService } from './modal.service';\n\n@NgModule({\n declarations: [ModalComponent],\n imports: [CommonModule, IconModule],\n providers: [ModalService],\n exports: [ModalComponent],\n})\nexport class ModalModule {}\n","import { InjectionToken } from '@angular/core';\n\nexport type NotificationType = 'information' | 'success' | 'warning' | 'danger';\nexport type NotificationDirection = 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left';\n\nexport type NotificationSize = 'm' | 's';\n\nexport type Notification = {\n type?: NotificationType;\n title?: string;\n message: string;\n closable?: boolean;\n duration?: number;\n};\n\nexport type NotificationConfig = { duration: number };\n\nexport const NOTIFICATION_CONFIG = new InjectionToken<NotificationConfig>('NOTIFICATION_CONFIG');\n\nexport class NotificationConfigFactory {\n static create(config: Partial<NotificationConfig> = {}): NotificationConfig {\n return { duration: 3000, ...config };\n }\n}\n","import { animate, group, query, style, transition, trigger } from '@angular/animations';\n\nexport const NotificationAnimation = trigger('fadeIn', [\n transition(':enter', [\n style({ opacity: 0, transform: 'translateY({{enterOffsetY}}%)' }),\n animate('300ms ease-out', style({ opacity: 1, transform: 'translateY(0)' })),\n ]),\n transition(':leave', [\n group([\n query('.mc-notification__title', [animate('200ms', style({ opacity: 0, height: 0 }))], {\n optional: true,\n }),\n query('.mc-notification__message', [animate('200ms', style({ opacity: 0, height: 0 }))], {\n optional: true,\n }),\n query(\n '.mc-notification-closable__close',\n [animate('0ms', style({ opacity: 0, height: 0 }))],\n {\n optional: true,\n }\n ),\n query(':self', [\n animate(\n '300ms',\n style({ opacity: 0, height: 0, transform: 'translateY({{leaveOffsetY}}%)' })\n ),\n ]),\n ]),\n ]),\n]);\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NotificationSize, NotificationType } from './notification';\n\n@Component({\n selector: 'moz-notification',\n templateUrl: './notification.component.html',\n styleUrls: ['./notification.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class NotificationComponent {\n @Input() type?: NotificationType = 'information';\n @Input() size: NotificationSize = 'm';\n @Input() closable: boolean = false;\n\n @Output() closeEvent = new EventEmitter<boolean>();\n\n @HostBinding('class')\n public get hostCssClasses() {\n const staticClasses = 'mc-notification';\n const closableCssClass = this.closable ? 'mc-notification-closable' : '';\n const sizeCssClass = `mc-notification--${this.size}`;\n const typeCssClass = `mc-notification--${this.type}`;\n const dynamicClasses = `${sizeCssClass} ${typeCssClass}`;\n return `${staticClasses} ${dynamicClasses} ${closableCssClass}`;\n }\n\n public close(): void {\n this.closeEvent.emit(true);\n }\n}\n","<div class=\"mc-notification__content\">\n <ng-content select=\"[mozNotificationTitle]\"></ng-content>\n <ng-content select=\"[mozNotificationMessage]\"></ng-content>\n <ng-content select=\"[mozNotificationFooter]\"></ng-content>\n <button\n *ngIf=\"closable\"\n type=\"button\"\n class=\"mc-notification-closable__close\"\n title=\"Close\"\n (click)=\"close()\"\n ></button>\n</div>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n template: '<ng-content></ng-content>',\n selector: '[mozNotificationTitle]',\n styleUrls: ['./notification.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { '[class.mc-notification__title]': 'true' },\n standalone: false,\n})\nexport class NotificationTitleComponent {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n template: '<ng-content></ng-content>',\n selector: '[mozNotificationMessage]',\n styleUrls: ['./notification.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { '[class.mc-notification__message]': 'true' },\n standalone: false,\n})\nexport class NotificationMessageComponent {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n Input,\n Renderer2,\n} from '@angular/core';\nimport { BehaviorSubject, timer } from 'rxjs';\nimport {\n Notification,\n NotificationConfig,\n NOTIFICATION_CONFIG,\n NotificationDirection,\n} from './notification';\nimport { NotificationAnimation } from './notification-animation';\n\n@Component({\n selector: 'moz-notification-container',\n templateUrl: './notification-container.component.html',\n styleUrls: ['./notification-container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [NotificationAnimation],\n standalone: false,\n})\nexport class NotificationContainerComponent {\n @Input() public position: NotificationDirection = 'top-right';\n animationPosition: 'top' | 'bottom' = 'top';\n enterOffsetY = 0;\n leaveOffsetY = 0;\n private readonly _notifications = new BehaviorSubject<Notification[]>([]);\n\n constructor(\n @Inject(NOTIFICATION_CONFIG) private readonly notificationConfig: NotificationConfig,\n private renderer: Renderer2,\n private elt: ElementRef,\n ) {\n this.calculatePosition();\n }\n\n public get notifications() {\n return this._notifications.asObservable();\n }\n\n public add(notification: Notification) {\n this._notifications.next([...this._notifications.value, notification]);\n this.autoRemove(notification);\n }\n\n calculatePosition() {\n switch (this.position) {\n case 'top-right':\n this.setPosition(0, 'auto', 'auto', 0);\n break;\n case 'top-left':\n this.setPosition(0, 'auto', 0, 'auto');\n break;\n case 'bottom-right':\n this.setPosition('auto', 0, 'auto', 0);\n break;\n case 'bottom-left':\n this.setPosition('auto', 0, 0, 'auto');\n break;\n }\n\n if (this.position.includes('top')) {\n this.renderer.setStyle(this.elt.nativeElement, 'flex-direction', 'column');\n this.enterOffsetY = 100;\n this.leaveOffsetY = -100;\n } else {\n this.renderer.setStyle(this.elt.nativeElement, 'flex-direction', 'column-reverse');\n this.enterOffsetY = -100;\n this.leaveOffsetY = 100;\n }\n }\n\n setPosition(\n top: number | string,\n bottom: number | string,\n left: number | string,\n right: number | string,\n ) {\n this.renderer.setStyle(this.elt.nativeElement, 'top', top);\n this.renderer.setStyle(this.elt.nativeElement, 'bottom', bottom);\n this.renderer.setStyle(this.elt.nativeElement, 'left', left);\n this.renderer.setStyle(this.elt.nativeElement, 'right', right);\n }\n\n private autoRemove(notification: Notification): void {\n const duration =\n notification?.duration !== undefined\n ? notification.duration\n : this.notificationConfig.duration;\n if (duration > 0) {\n timer(duration).subscribe(() => this.remove(notification));\n }\n }\n\n public remove(notification: Notification): void {\n const isExist = this._notifications.value.includes(notification);\n if (isExist) {\n const newState = this._notifications.value.filter((n) => n !== notification);\n this._notifications.next(newState);\n }\n }\n}\n","<ng-container *ngFor=\"let notification of notifications | async\">\n <moz-notification size=\"s\" [type]=\"notification.type\" [@fadeIn]=\"{ value: null, params: { enterOffsetY, leaveOffsetY}}\" [closable]=\"!!notification.closable\" (closeEvent)=\" remove(notification)\">\n <h3 mozNotificationTitle *ngIf=\"notification.title\">{{ notification.title }}</h3>\n <p mozNotificationMessage *ngIf=\"notification.message\">{{ notification.message }}</p>\n </moz-notification>\n</ng-container>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n template: '<ng-content></ng-content>',\n selector: '[mozNotificationFooter]',\n styleUrls: ['./notification.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { '[class.mc-notification__footer]': 'true' },\n standalone: false,\n})\nexport class NotificationFooterComponent {}\n","import { DOCUMENT } from '@angular/common';\nimport {\n ApplicationRef,\n ComponentRef,\n EmbeddedViewRef,\n EnvironmentInjector,\n Inject,\n Injectable,\n createComponent,\n} from '@angular/core';\nimport { Notification } from './notification';\nimport { NotificationContainerComponent } from './notification-container.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NotificationService {\n set direction(value: 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left') {\n this.container.instance.position = value;\n this.container.instance.calculatePosition();\n }\n\n private readonly container!: ComponentRef<NotificationContainerComponent>;\n\n constructor(\n private readonly applicationRef: ApplicationRef,\n private readonly environmentInjector: EnvironmentInjector,\n @Inject(DOCUMENT) private readonly document: Document\n ) {\n this.container = this.createContainer();\n this.appendNotificationContainerToBody(this.container);\n }\n\n public add(notification: Notification) {\n this.container.instance.add(notification);\n }\n\n private createContainer(): ComponentRef<NotificationContainerComponent> {\n return createComponent(NotificationContainerComponent, {\n environmentInjector: this.environmentInjector,\n });\n }\n\n private appendNotificationContainerToBody(\n componentRef: ComponentRef<NotificationContainerComponent>\n ): void {\n const componentHostView = componentRef.hostView as EmbeddedViewRef<unknown>;\n const componentHtmlElement = componentHostView.rootNodes[0] as HTMLElement;\n this.applicationRef.attachView(componentHostView);\n this.document.body.appendChild(componentHtmlElement);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { NotificationConfig, NotificationConfigFactory, NOTIFICATION_CONFIG } from './notification';\nimport { NotificationContainerComponent } from './notification-container.component';\nimport { NotificationFooterComponent } from './notification-footer';\nimport { NotificationMessageComponent } from './notification-message';\nimport { NotificationTitleComponent } from './notification-title';\nimport { NotificationComponent } from './notification.component';\nimport { NotificationService } from './notification.service';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [\n NotificationComponent,\n NotificationTitleComponent,\n NotificationMessageComponent,\n NotificationFooterComponent,\n NotificationContainerComponent,\n ],\n providers: [\n NotificationService,\n {\n provide: NOTIFICATION_CONFIG,\n useValue: NotificationConfigFactory.create(),\n },\n ],\n exports: [\n NotificationComponent,\n NotificationTitleComponent,\n NotificationMessageComponent,\n NotificationFooterComponent,\n ],\n})\nexport class NotificationModule {\n static forRoot(\n config: Partial<NotificationConfig> = {}\n ): ModuleWithProviders<NotificationModule> {\n return {\n ngModule: NotificationModule,\n providers: [\n {\n provide: NOTIFICATION_CONFIG,\n useValue: NotificationConfigFactory.create(config),\n },\n ],\n };\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport { generateId } from '../../../common';\n\n@Component({\n selector: 'moz-option-button',\n templateUrl: './option-button.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class OptionButtonComponent {\n @Input() name?: string;\n @Input() value?: string;\n @Input() id!: string;\n @Output() clicked: EventEmitter<string> = new EventEmitter<string>();\n checked: boolean = false;\n\n constructor(private readonly cdRef: ChangeDetectorRef) {\n if (!this.id) {\n this.id = generateId();\n }\n }\n\n buttonClicked(): void {\n this.clicked.emit(this.id);\n }\n\n refreshView(): void {\n this.cdRef.markForCheck();\n }\n}\n","<div class=\"mc-option-button\">\n <input\n type=\"radio\"\n name=\"{{ name }}\"\n value=\"{{ value }}\"\n id=\"{{ id }}\"\n class=\"mc-option-button__input\"\n [checked]=\"checked\"\n (click)=\"buttonClicked()\"\n />\n <label class=\"mc-option-button__label\" for=\"{{ id }}\"><ng-content></ng-content></label>\n</div>\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n QueryList,\n ViewEncapsulation,\n forwardRef,\n} from '@angular/core';\nimport { OptionButtonComponent } from './option-button/option-button.component';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { OptionButtonSelected } from './public-api';\n\n@Component({\n selector: 'moz-option-buttons',\n templateUrl: './option-buttons.component.html',\n styleUrls: ['./option-buttons.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => OptionButtonsComponent),\n multi: true,\n },\n ],\n standalone: false,\n})\nexport class OptionButtonsComponent implements ControlValueAccessor, AfterContentInit {\n @ContentChildren(OptionButtonComponent)\n public optionButtonComponents?: QueryList<OptionButtonComponent>;\n\n public optionButtonSelected?: OptionButtonSelected;\n\n onChange: any = () => {};\n onTouch: any = () => {};\n\n ngAfterContentInit() {\n this.optionButtonComponents?.toArray().forEach((optionButton) => {\n optionButton.clicked.subscribe((id) => {\n this.writeValue({ id: id });\n });\n });\n }\n\n writeValue(value: OptionButtonSelected): void {\n if (value) {\n this.optionButtonSelected = value;\n this.onChange(value);\n this.onTouch();\n this.optionButtonComponents?.toArray().forEach((optionButton) => {\n if (optionButton.id === value.id) {\n optionButton.checked = true;\n optionButton.refreshView();\n }\n });\n }\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n}\n","<div class=\"mc-option-group\">\n <ng-content></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { OptionButtonsComponent } from './option-buttons.component';\nimport { OptionButtonComponent } from './option-button/option-button.component';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n imports: [CommonModule, FormsModule],\n declarations: [OptionButtonsComponent, OptionButtonComponent],\n exports: [OptionButtonsComponent, OptionButtonComponent],\n})\nexport class OptionButtonsModule {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport { OptionCardSelected, OptionCardType } from '../model/option-card';\n\n@Component({\n selector: 'moz-option-card',\n templateUrl: './option-card.component.html',\n styleUrls: ['./option-card.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class OptionCardComponent {\n @Input() public id!: string;\n @Input() public name?: string;\n @Input() public label?: string;\n @Input() public disabled: boolean = false;\n @Output() clicked: EventEmitter<OptionCardSelected> = new EventEmitter<OptionCardSelected>();\n\n public checked: boolean = false;\n public centered: boolean = false;\n public small: boolean = false;\n public noPadding: boolean = false;\n\n public type: OptionCardType = 'radio';\n\n constructor(private cd: ChangeDetectorRef) {}\n\n public cardChanged(id: string) {\n this.clicked.emit({ id: id });\n }\n\n public refreshView(): void {\n this.cd.markForCheck();\n this.cd.detectChanges();\n }\n}\n","<div\n class=\"mc-option-card\"\n [ngClass]=\"[\n centered ? 'mc-option-card--centered' : '',\n small ? 'mc-option-card--small' : '',\n noPadding ? 'mc-option-card--no-padding' : ''\n ]\"\n>\n <input\n type=\"{{ type }}\"\n name=\"{{ name }}\"\n id=\"{{ id }}\"\n class=\"mc-{{ type }}__input mc-option-card__input\"\n (change)=\"cardChanged(id)\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n />\n <label for=\"{{ id }}\" class=\"mc-option-card__label\">\n <span class=\"mc-option-card__label-text\">{{ label }}</span>\n </label>\n <div class=\"mc-option-card__content\">\n <ng-content select=\"[content]\"></ng-content>\n </div>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Inject,\n Injector,\n Input,\n OnInit,\n QueryList,\n ViewEncapsulation,\n forwardRef,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n FormControl,\n FormControlName,\n FormGroupDirective,\n NG_VALUE_ACCESSOR,\n NgControl,\n} from '@angular/forms';\nimport { OptionCardComponent } from './option-card/option-card.component';\nimport { OptionCardSelected, OptionCardType } from './model/option-card';\n\n@Component({\n selector: 'moz-option-cards',\n templateUrl: './option-cards.component.html',\n styleUrls: ['./option-cards.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => OptionCardsComponent),\n multi: true,\n },\n ],\n standalone: false,\n})\nexport class OptionCardsComponent implements ControlValueAccessor, OnInit {\n @ContentChildren(OptionCardComponent)\n public optionCardComponents?: QueryList<OptionCardComponent>;\n\n private _selectedOptionCards: OptionCardSelected[] = [];\n\n public control!: FormControl;\n\n public onOptionCardsChange: any = () => {};\n public onOptionCardsTouch: any = () => {};\n\n @Input()\n public optionCardType: OptionCardType = 'radio';\n\n @Input()\n public centered: boolean = false;\n\n @Input()\n public small: boolean = false;\n\n @Input()\n public noPadding: boolean = false;\n\n get selectedOptionCards(): OptionCardSelected[] {\n return this._selectedOptionCards;\n }\n\n set selectedOptionCards(value: OptionCardSelected[]) {\n this._selectedOptionCards = value;\n if (this.control) {\n this.control.setValue(this.selectedOptionCards);\n this.control.markAsDirty();\n this.control.markAsTouched();\n } else {\n this.writeValue(this.selectedOptionCards);\n }\n }\n\n constructor(@Inject(Injector) private injector: Injector) {}\n\n ngOnInit(): void {\n const ngControl = this.injector.get(NgControl);\n if (ngControl instanceof FormControlName) {\n this.control = this.injector.get(FormGroupDirective).getControl(ngControl);\n }\n }\n\n ngAfterContentInit() {\n this.optionCardComponents?.toArray().forEach((optionCard) => {\n optionCard.centered = this.centered;\n optionCard.noPadding = this.noPadding;\n optionCard.small = this.small;\n optionCard.type = this.optionCardType;\n optionCard.clicked.subscribe((optionCardSelected) => {\n this.selectedCardEvent(optionCardSelected);\n });\n });\n }\n\n writeValue(selectedOptionCards?: OptionCardSelected[]): void {\n if (selectedOptionCards) {\n this.onOptionCardsChange(selectedOptionCards);\n this.updateOptionCardChecked(selectedOptionCards);\n }\n }\n\n registerOnChange(fn: any): void {\n this.onOptionCardsChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onOptionCardsTouch = fn;\n }\n\n updateOptionCardChecked(selectedOptionCards?: OptionCardSelected[]): void {\n this.optionCardComponents?.toArray().forEach((optionCard) => {\n if (\n selectedOptionCards?.find((selectedOptionCard) => selectedOptionCard.id === optionCard.id)\n ) {\n optionCard.checked = true;\n } else if (this.optionCardType === 'radio') {\n optionCard.checked = false;\n }\n optionCard.refreshView();\n });\n }\n\n selectedCardEvent(selectedCard: OptionCardSelected): void {\n if (!this.optionCardType || this.optionCardType === 'radio') {\n this.selectedOptionCards = [];\n }\n const index = this.selectedOptionCards.findIndex((value) => value.id === selectedCard.id);\n if (index !== -1) {\n this.selectedOptionCards = [\n ...this.selectedOptionCards.slice(0, index),\n ...this.selectedOptionCards.slice(index + 1),\n ];\n } else {\n this.selectedOptionCards = [...this.selectedOptionCards, selectedCard];\n }\n }\n}\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { OptionCardsComponent } from './option-cards.component';\nimport { OptionCardComponent } from './option-card/option-card.component';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n imports: [CommonModule, FormsModule],\n declarations: [OptionCardsComponent, OptionCardComponent],\n exports: [OptionCardsComponent, OptionCardComponent],\n})\nexport class OptionCardsModule {}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'moz-overlay',\n templateUrl: './overlay.component.html',\n styleUrls: ['./overlay.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class OverlayComponent {\n @Input() public isVisible = false;\n}\n","<div class=\"mc-overlay\" [ngClass]=\"{ 'is-visible': isVisible }\">\n <ng-content select=\"[content]\"></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OverlayComponent } from './overlay.component';\n\n@NgModule({\n declarations: [OverlayComponent],\n imports: [CommonModule],\n exports: [OverlayComponent],\n})\nexport class OverlayModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n Inject,\n Injector,\n Input,\n OnInit,\n forwardRef,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n FormControl,\n FormControlName,\n FormGroupDirective,\n NG_VALUE_ACCESSOR,\n NgControl,\n} from '@angular/forms';\n\n@Component({\n selector: 'moz-password-input',\n templateUrl: './password-input.component.html',\n styleUrls: ['./password-input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PasswordInputComponent),\n multi: true,\n },\n ],\n standalone: false,\n})\nexport class PasswordInputComponent implements OnInit, ControlValueAccessor {\n @Input() public showLabel: string = 'Show';\n @Input() public hideLabel: string = 'Hide';\n @Input() public placeholder: string = 'Placeholder';\n @Input() public name: string = 'name';\n @Input() public id: string = 'id';\n @Input() public valid: boolean = false;\n @Input() public invalid: boolean = false;\n @Input() public disabled: boolean = false;\n\n public value: string = '';\n public hidePassword: boolean = false;\n\n public control!: FormControl;\n public onPasswordInputChange: any = () => {};\n public onPasswordInputTouch: any = () => {};\n\n constructor(@Inject(Injector) private injector: Injector) {}\n\n ngOnInit(): void {\n const ngControl = this.injector.get(NgControl);\n if (ngControl instanceof FormControlName) {\n this.control = this.injector.get(FormGroupDirective).getControl(ngControl);\n }\n }\n\n writeValue(value: string): void {\n if (value) {\n this.value = value;\n this.onPasswordInputChange(value);\n }\n }\n\n registerOnChange(fn: any): void {\n this.onPasswordInputChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onPasswordInputTouch = fn;\n }\n\n public showPassword(): void {\n this.hidePassword = !this.hidePassword;\n }\n\n public passwordChange($event: Event): void {\n const value = ($event.target as HTMLInputElement).value;\n if (this.control) {\n this.control.setValue(value);\n this.control.markAsDirty();\n this.control.markAsTouched();\n } else {\n this.writeValue(value);\n }\n }\n}\n","<div class=\"mc-password-input\">\n <input\n [ngClass]=\"[invalid ? 'is-invalid' : '', valid ? 'is-valid' : '']\"\n type=\"{{ hidePassword ? 'text' : 'password' }}\"\n class=\"mc-text-input mc-password-input__control\"\n id=\"{{ id }}\"\n placeholder=\"{{ placeholder }}\"\n name=\"{{ name }}\"\n value=\"{{ value }}\"\n [disabled]=\"disabled\"\n (input)=\"passwordChange($event)\"\n />\n <button\n type=\"button\"\n class=\"mc-password-input__button\"\n role=\"switch\"\n [disabled]=\"disabled\"\n aria-pressed=\"false\"\n (click)=\"showPassword()\"\n >\n {{ hidePassword ? hideLabel : showLabel }}\n </button>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { PasswordInputComponent } from './password-input.component';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [PasswordInputComponent],\n imports: [CommonModule, FormsModule],\n exports: [PasswordInputComponent],\n})\nexport class PasswordInputModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n forwardRef,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ListboxItem } from '../listbox/model/listbox-item';\n\n@Component({\n selector: 'moz-phone-number',\n templateUrl: './phone-number.component.html',\n styleUrls: ['./phone-number.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PhoneNumberComponent),\n multi: true,\n },\n ],\n standalone: false,\n})\nexport class PhoneNumberComponent implements ControlValueAccessor {\n @Input() public phoneNumbersByCountry: ListboxItem[] = [];\n @Input() public label?: string;\n @Input() public valid: boolean = false;\n @Input() public invalid: boolean = false;\n @Input() public errorMessage?: string;\n @Input() public placeholder?: string;\n @Input() public withFlag: boolean = true;\n @Input() public requirementText?: string;\n @Input() public helpText?: string;\n @Input() public phoneNumber?: string;\n @Input() public openState: boolean = false;\n @Input() public disabled: boolean = false;\n\n @Output() public phoneNumberContentChangeEvent = new EventEmitter<string>();\n @Output() public phoneNumberContentBlurEvent = new EventEmitter<string>();\n\n public selectedPhoneNumber: ListboxItem | undefined;\n public originalListboxParent?: HTMLElement | null;\n public destroyed = new Subject();\n public phoneNumberTypeChange: any = () => {};\n public onTouch: any = () => {};\n\n @ViewChild('button', { read: ElementRef }) buttonElementRef!: ElementRef;\n\n writeValue(value: ListboxItem | undefined): void {\n this.selectedPhoneNumber = value;\n this.phoneNumberTypeChange(value);\n }\n\n public registerOnChange(fn: any) {\n this.phoneNumberTypeChange = fn;\n }\n\n public registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n public openListbox(): void {\n if (this.openState) {\n this.openState = false;\n } else {\n this.openState = true;\n }\n }\n\n public itemsSelectedListboxEvent(listboxItemSelected: ListboxItem | ListboxItem[]): void {\n this.writeValue(listboxItemSelected as ListboxItem);\n this.openState = false;\n }\n\n public phoneNumberBlur($event: any): void {\n if ($event?.currentTarget?.value) {\n this.phoneNumberContentBlurEvent.emit($event.currentTarget.value);\n }\n }\n\n public phoneNumberContentChange($event: string): void {\n this.phoneNumberContentChangeEvent.emit($event);\n }\n}\n","<moz-listbox\n #listbox\n [listboxItems]=\"phoneNumbersByCountry\"\n [(isOpen)]=\"openState\"\n [selectedItems]=\"selectedPhoneNumber\"\n (itemsSelected)=\"itemsSelectedListboxEvent($event)\"\n>\n <moz-field\n reference\n [label]=\"label || ''\"\n [requirementText]=\"requirementText || ''\"\n [helpText]=\"helpText || ''\"\n >\n <div id=\"mc-phone-number\" class=\"mc-phone-number\">\n <div class=\"mc-phone-number__dropdown\">\n <button\n #button\n type=\"button\"\n [disabled]=\"disabled\"\n id=\"dropdown_country\"\n class=\"mc-phone-number__button\"\n [ngClass]=\"{ disabled: disabled }\"\n (click)=\"openListbox()\"\n >\n <ng-container *ngIf=\"withFlag; else noFlag\">\n <span\n *ngIf=\"selectedPhoneNumber?.countryCode\"\n class=\"flag flag:{{ selectedPhoneNumber?.countryCode }}\"\n style=\"--CountryFlagIcon-height: 1rem\"\n >&nbsp;</span\n >\n </ng-container>\n <ng-template #noFlag>\n <span class=\"mc-phone-number__flag\">\n {{ selectedPhoneNumber?.countryCode }}\n </span></ng-template\n >\n <span class=\"mc-phone-number__indicator\">{{ selectedPhoneNumber?.value }}</span>\n </button>\n </div>\n\n <input\n moz-input\n [type]=\"'tel'\"\n class=\"mc-phone-number__input\"\n id=\"smallField\"\n [invalid]=\"invalid\"\n [valid]=\"valid\"\n [disabled]=\"disabled\"\n [(ngModel)]=\"phoneNumber\"\n placeholder=\"{{ placeholder }}\"\n (ngModelChange)=\"phoneNumberContentChange($event)\"\n (blur)=\"phoneNumberBlur($event)\"\n />\n </div>\n <moz-field-error *ngIf=\"invalid\">{{ errorMessage }}</moz-field-error>\n </moz-field>\n</moz-listbox>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { PhoneNumberComponent } from './phone-number.component';\nimport { FieldModule } from '../field';\nimport { TextInputModule } from '../text-input';\nimport { FormsModule } from '@angular/forms';\nimport { ListboxModule } from '../listbox/listbox.module';\n\n@NgModule({\n imports: [CommonModule, FormsModule, ListboxModule, FieldModule, TextInputModule],\n declarations: [PhoneNumberComponent],\n exports: [PhoneNumberComponent],\n})\nexport class PhoneNumberModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ProgressBarSize } from './progress-bar-size';\nimport { ProgressBarTheme } from './progress-bar-theme';\n\n@Component({\n selector: 'moz-progress-bar',\n templateUrl: './progress-bar.component.html',\n styleUrls: ['./progress-bar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class ProgressBarComponent {\n @Input() public size: ProgressBarSize = 'm';\n\n @Input() public theme: ProgressBarTheme = 'default';\n\n @Input() public percent = 0;\n\n @Input() public displayPercentage: boolean = false;\n\n public get indicatorWidth() {\n return { width: `${this.percent}%` };\n }\n\n @HostBinding('class')\n public get hostCssClasses() {\n const sizeClass = `mc-progressbar--${this.size}`;\n const themeClass = `mc-progressbar--${this.theme}`;\n const textClass = this.displayPercentage ? `mc-progressbar--percent` : '';\n return `mc-progressbar ${sizeClass} ${themeClass} ${textClass}`;\n }\n}\n","<div\n class=\"mc-progressbar__indicator\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"percent\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [ngStyle]=\"indicatorWidth\"\n>\n <div *ngIf=\"displayPercentage\" class=\"mc-progressbar__percentage\">{{ percent }}%</div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ProgressBarComponent } from './progress-bar.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [ProgressBarComponent],\n exports: [ProgressBarComponent],\n})\nexport class ProgressBarModule {}\n","import { ChangeDetectionStrategy, Component, Input, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { QuantitySelectorSizes } from './model/quantity-selector';\n\n@Component({\n selector: 'moz-quantity-selector',\n templateUrl: './quantity-selector.component.html',\n styleUrls: ['./quantity-selector.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => QuantitySelectorComponent),\n multi: true,\n },\n ],\n standalone: false,\n})\nexport class QuantitySelectorComponent implements ControlValueAccessor {\n @Input() public label: string = '';\n @Input() public id: string = '';\n @Input() public placeholder: string = '';\n @Input() public valueMin: number = 0;\n @Input() public valueMax: number = 100;\n @Input() public inputAriaLabel: string = '';\n @Input() public decrementAriaLabel: string = '';\n @Input() public incrementAriaLabel: string = '';\n @Input() public size: QuantitySelectorSizes = 'm';\n @Input() public disabled: boolean = false;\n\n public value: number = 0;\n public onQuantitySelectorChange: any = () => {};\n public onQuantitySelectorTouch: any = () => {};\n\n public decrement(): void {\n if (this.value > this.valueMin) {\n this.writeValue(this.value - 1);\n }\n }\n\n public increment(): void {\n if (this.value < this.valueMax) {\n this.writeValue(this.value + 1);\n }\n }\n\n public contentChange($event: Event): void {\n const value = ($event.target as HTMLInputElement).value;\n if (value && +value <= this.valueMax && +value >= this.valueMin) {\n this.writeValue(+value);\n } else {\n ($event.target as HTMLInputElement).value = '' + this.value;\n }\n }\n\n public writeValue(value: number): void {\n this.value = value;\n this.onQuantitySelectorChange(value);\n }\n\n public registerOnChange(fn: any): void {\n this.onQuantitySelectorChange = fn;\n }\n\n public registerOnTouched(fn: any): void {\n this.onQuantitySelectorTouch = fn;\n }\n}\n","<moz-field [label]=\"label\">\n <div class=\"mc-quantity-selector\">\n <button\n [ngClass]=\"[\n value === valueMin || disabled ? 'is-disabled' : '',\n size ? 'mc-button--' + size : ''\n ]\"\n class=\"mc-button mc-button--square mc-button--bordered mc-quantity-selector__button-left\"\n [attr.aria-controls]=\"id || 'quantity-selector'\"\n [attr.aria-label]=\"decrementAriaLabel || 'Decrement'\"\n aria-hidden=\"true\"\n tabindex=\"-1\"\n [disabled]=\"value === valueMin || disabled\"\n type=\"button\"\n (click)=\"decrement()\"\n >\n <moz-icon class=\"mc-button__icon\" iconName=\"Navigation_Control_Less_48px\"></moz-icon>\n </button>\n\n <input\n [ngClass]=\"[size ? 'mc-text-input--' + size : '']\"\n [disabled]=\"disabled\"\n id=\"{{ id || 'quantity-selector' }}\"\n class=\"mc-text-input mc-quantity-selector__input\"\n name=\"quantity-selector-input\"\n [attr.aria-label]=\"inputAriaLabel || 'QuantitySelector'\"\n [attr.aria-valuemin]=\"valueMin\"\n [attr.aria-valuemax]=\"valueMax\"\n [attr.aria-valuenow]=\"value\"\n (change)=\"contentChange($event)\"\n [value]=\"value\"\n placeholder=\"{{ placeholder }}\"\n type=\"number\"\n />\n\n <button\n [ngClass]=\"[\n value === valueMax || disabled ? 'is-disabled' : '',\n size ? 'mc-button--' + size : ''\n ]\"\n class=\"mc-button mc-button--square mc-button--bordered mc-quantity-selector__button-right\"\n [attr.aria-controls]=\"id || 'quantity-selector'\"\n [attr.aria-label]=\"incrementAriaLabel || 'Increment'\"\n aria-hidden=\"true\"\n [disabled]=\"value === valueMax || disabled\"\n tabindex=\"-1\"\n type=\"button\"\n (click)=\"increment()\"\n >\n <moz-icon class=\"mc-button__icon\" iconName=\"Navigation_Control_More_48px\"></moz-icon>\n </button>\n </div>\n</moz-field>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { QuantitySelectorComponent } from './quantity-selector.component';\nimport { FieldModule } from '../field/field.module';\nimport { IconModule } from '../icon';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [QuantitySelectorComponent],\n imports: [CommonModule, FieldModule, IconModule, FormsModule],\n exports: [QuantitySelectorComponent],\n})\nexport class QuantitySelectorModule {}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { generateId } from '../../common';\n\n@Component({\n selector: 'moz-radio',\n templateUrl: './radio.component.html',\n styleUrls: ['./radio.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RadioComponent),\n multi: true,\n },\n ],\n standalone: false,\n})\nexport class RadioComponent implements ControlValueAccessor {\n @Input() public id?: string;\n @Input() public name: string = '';\n @Input() public invalid: boolean = false;\n @Input() public disabled: boolean = false;\n\n private toggleEvent: EventEmitter<string> = new EventEmitter<string>();\n\n private _checked = false;\n\n constructor() {\n if (!this.id) {\n this.id = generateId();\n }\n }\n\n public get checked() {\n return this._checked;\n }\n\n @Input()\n public set checked(v) {\n this._checked = v;\n this.onChange(this._checked);\n this.onTouch();\n }\n\n onChange: any = () => {};\n onTouch: any = () => {};\n\n writeValue(checked: boolean): void {\n this.checked = !!checked;\n this.toggleEvent.emit(this.id);\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n toggle() {\n this.writeValue(!this.checked);\n }\n}\n","<div class=\"mc-radio\">\n <input\n id=\"{{ id }}\"\n type=\"radio\"\n class=\"mc-radio__input\"\n name=\"{{ name }}\"\n (change)=\"toggle()\"\n [ngClass]=\"{ 'is-invalid': invalid }\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n />\n <label for=\"{{ id }}\" class=\"mc-radio__label\"><ng-content select=\"[label]\"></ng-content></label>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RadioComponent } from './radio.component';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [RadioComponent],\n imports: [CommonModule, FormsModule],\n exports: [RadioComponent],\n})\nexport class RadioModule {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n Injector,\n Input,\n OnInit,\n forwardRef,\n} from '@angular/core';\nimport { StarsSize } from '../model/rating-stars';\nimport {\n ControlValueAccessor,\n FormControl,\n FormControlName,\n FormGroupDirective,\n NG_VALUE_ACCESSOR,\n NgControl,\n} from '@angular/forms';\n\ntype RatingStar = {\n label: string;\n checked: boolean;\n};\n\n@Component({\n selector: 'moz-stars-input',\n templateUrl: './stars-input.component.html',\n styleUrls: ['./stars-input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => StarsInputComponent),\n multi: true,\n },\n ],\n standalone: false,\n})\nexport class StarsInputComponent implements OnInit, ControlValueAccessor {\n @Input() size: StarsSize = 'm';\n @Input() ratingLabels: string[] = ['Very bad', 'Bad', 'Medium', 'Good', 'Excellent'];\n @Input() unselectedText: string = 'No opinion given';\n @Input() name: string = 'rating';\n\n public onRatingStarChange: any = () => {};\n public onRatingStarTouch: any = () => {};\n\n public ratingStars: RatingStar[] = [];\n public selectedStar?: number;\n public control!: FormControl;\n\n constructor(\n @Inject(Injector) private injector: Injector,\n private cd: ChangeDetectorRef,\n ) {}\n\n ngOnInit(): void {\n this.ratingLabels.forEach((ratingLabel) => {\n this.ratingStars.push({ label: ratingLabel, checked: false });\n });\n const ngControl = this.injector && this.injector.get(NgControl);\n if (ngControl instanceof FormControlName) {\n this.control = this.injector.get(FormGroupDirective).getControl(ngControl);\n }\n }\n\n writeValue(value: number): void {\n if (value) {\n this.selectedStar = value;\n this.updateChecked();\n this.onRatingStarChange(value);\n }\n }\n\n registerOnChange(fn: any): void {\n this.onRatingStarChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onRatingStarTouch = fn;\n }\n\n private updateChecked(): void {\n if (this.selectedStar) {\n for (const [index, ratingStar] of this.ratingStars.entries()) {\n ratingStar.checked = true;\n\n if (index + 1 === this.selectedStar) {\n break;\n }\n }\n }\n }\n\n public clickStarEvent(index: number): void {\n if (this.control) {\n this.control.setValue(index);\n this.control.markAsDirty();\n this.control.markAsTouched();\n } else {\n this.writeValue(index);\n }\n }\n}\n","<div class=\"mc-stars-input mc-stars-input--{{ size }}\">\n <input\n type=\"radio\"\n name=\"{{ name }}\"\n value=\"0\"\n id=\"{{ name + '0' }}\"\n checked\n class=\"mc-stars-input__radio\"\n [attr.aria-label]=\"unselectedText\"\n />\n <ng-container *ngFor=\"let ratingStar of ratingStars; index as i\">\n <input\n type=\"radio\"\n name=\"{{ name }}\"\n (click)=\"clickStarEvent(i + 1)\"\n value=\"{{ i + 1 }}\"\n id=\"ratingstar{{ i + 1 }}\"\n [checked]=\"ratingStar.checked\"\n class=\"mc-stars-input__radio\"\n />\n <label for=\"ratingstar{{ i + 1 }}\" class=\"mc-stars-input__label\">\n <span class=\"mc-stars-input__text\">{{ ratingStar.label }}</span>\n </label>\n </ng-container>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { StarsInputComponent } from './stars-input.component';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n imports: [CommonModule, FormsModule],\n declarations: [StarsInputComponent],\n exports: [StarsInputComponent],\n})\nexport class StarsInputModule {}\n","export type RatingMapType = {\n [key: string]: number;\n};\n\nexport const RatingMap: RatingMapType = {\n '0.5': 10,\n '1': 20,\n '1.5': 30,\n '2': 40,\n '2.5': 50,\n '3': 60,\n '3.5': 70,\n '4': 80,\n '4.5': 90,\n '5': 100,\n};\n\nexport type StarsSize = 's' | 'm' | 'l' | 'xl';\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { RatingMap, StarsSize } from '../model/rating-stars';\n\n@Component({\n selector: 'moz-stars-result',\n templateUrl: './stars-result.component.html',\n styleUrls: ['./stars-result.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class StarsResultComponent {\n @Input() size: StarsSize = 'm';\n\n _score: number = 0;\n\n get score(): number {\n return this._score;\n }\n\n @Input() set score(score: number) {\n this._score = RatingMap[score];\n }\n}\n","<div class=\"mc-stars-result mc-stars-result--{{ size }} mc-stars-result--score-{{ score }}\">\n <span class=\"mc-stars-result__visual\"></span>\n <span class=\"mc-stars-result__label mc-stars-result__label--score\"\n ><ng-content select=\"[content]\"></ng-content\n ></span>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { StarsResultComponent } from './stars-result.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [StarsResultComponent],\n exports: [StarsResultComponent],\n})\nexport class StarsResultModule {}\n","export type SegmentedControlSize = 's' | 'm';\nexport const segmentedControlSizeDefault: SegmentedControlSize = 's';\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { SegmentedControlSize, segmentedControlSizeDefault } from './segmented-control-size';\n\n@Component({\n selector: 'moz-segmented-control',\n templateUrl: './segmented-control.component.html',\n styleUrls: ['./segmented-control.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class SegmentedControlComponent {\n @Input() size: SegmentedControlSize = segmentedControlSizeDefault;\n @Input() full = false;\n @Input() nowrap = false;\n}\n","<div class=\"mc-segmented-control\"\n [class.mc-segmented-control--m]=\"size ==='m'\"\n [class.mc-segmented-control--full]=\"full\"\n [class.mc-segmented-control--nowrap]=\"nowrap\">\n <ng-content></ng-content>\n</div>\n","import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'moz-segmented-control-button',\n templateUrl: './segmented-control-button.component.html',\n styleUrls: ['./segmented-control-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class SegmentedControlButtonComponent {\n @HostBinding('class') segment = 'mc-segmented-control__segment';\n @HostBinding('attr.tabindex') tabIndex = 0;\n}\n","<span class=\"mc-segmented-control__content\">\n <span class=\"mc-segmented-control__icon\"></span>\n <span class=\"mc-segmented-control__label\"><ng-content></ng-content></span>\n</span>\n","import { SegmentedControlComponent } from './segmented-control.component';\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SegmentedControlButtonComponent } from './segmented-control-button/segmented-control-button.component';\n\n@NgModule({\n declarations: [SegmentedControlComponent, SegmentedControlButtonComponent],\n imports: [CommonModule],\n exports: [SegmentedControlComponent, SegmentedControlButtonComponent],\n})\nexport class SegmentedControlModule {}\n","import { forwardRef } from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n Input,\n QueryList,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n selector: 'moz-sidebar-feature, a[moz-sidebar-feature]',\n templateUrl: './moz-sidebar-feature.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class MozSidebarFeatureComponent {\n @ContentChildren(forwardRef(() => MozSidebarFeatureComponent))\n public featuresCmp?: QueryList<MozSidebarFeatureComponent>;\n\n @ContentChild('icon', { static: false }) public tmplIcon!: TemplateRef<unknown>;\n @ContentChild('text', { static: false }) public tmplText!: TemplateRef<unknown>;\n\n @Input() link?: string | string[];\n @Input() selected = false;\n @Input() disable = false;\n\n public _category = false;\n public _subCategory = false;\n public localOpen = false;\n\n constructor() {}\n\n @Input()\n get category() {\n return this._category;\n }\n set category(value: boolean | '') {\n this._category = value === '';\n }\n\n @Input()\n get subCategory() {\n return this._subCategory;\n }\n set subCategory(value: boolean | '') {\n this._subCategory = value === '';\n }\n}\n","<ng-content></ng-content>\n","import {\n Component,\n ChangeDetectionStrategy,\n ContentChild,\n TemplateRef,\n Input,\n} from '@angular/core';\n\n@Component({\n selector: 'moz-sidebar-home, a[moz-sidebar-home]',\n templateUrl: './moz-sidebar-home.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class MozSidebarHomeComponent {\n @Input() link?: string | string[];\n @Input() selected = false;\n\n @ContentChild('icon') public tmplIcon!: TemplateRef<unknown>;\n @ContentChild('text') public tmplText!: TemplateRef<unknown>;\n}\n","<ng-content></ng-content>\n","import {\n Component,\n ChangeDetectionStrategy,\n ContentChild,\n TemplateRef,\n ContentChildren,\n QueryList,\n} from '@angular/core';\n\n@Component({\n selector: 'moz-sidebar-user',\n templateUrl: './moz-sidebar-user.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class MozSidebarUserComponent {\n @ContentChild(TemplateRef) public templateRef!: TemplateRef<unknown>;\n\n @ContentChild('picture', { static: false }) public tmplPicture!: TemplateRef<unknown>;\n @ContentChildren('feature') public features!: QueryList<TemplateRef<unknown>>;\n\n public localOpen = false;\n}\n","<ng-content></ng-content>\n","import { forwardRef } from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n Input,\n QueryList,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n selector: 'moz-sidebar-utility, a[moz-sidebar-utility]',\n templateUrl: './moz-sidebar-utility.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class MozSidebarUtilityComponent {\n @ContentChildren(forwardRef(() => MozSidebarUtilityComponent))\n public featuresCmp?: QueryList<MozSidebarUtilityComponent>;\n\n @ContentChild('icon', { static: false }) public tmplIcon!: TemplateRef<unknown>;\n @ContentChild('text', { static: false }) public tmplText!: TemplateRef<unknown>;\n\n @Input() link?: string | string[];\n @Input() selected = false;\n @Input() disable = false;\n\n public _category = false;\n\n @Input()\n get category() {\n return this._category;\n }\n set category(value: boolean | '') {\n this._category = value === '';\n }\n}\n","<ng-content></ng-content>\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n EventEmitter,\n Inject,\n Input,\n OnInit,\n Optional,\n Output,\n QueryList,\n forwardRef,\n} from '@angular/core';\nimport { RouterLinkActive, RouterLinkWithHref } from '@angular/router';\nimport { MozSidebarFeatureComponent } from './components/feature/moz-sidebar-feature.component';\nimport { MozSidebarHomeComponent } from './components/home/moz-sidebar-home.component';\nimport { MozSidebarUserComponent } from './components/user/moz-sidebar-user.component';\nimport { MozSidebarUtilityComponent } from './components/utility/moz-sidebar-utilty.component';\nimport { SidebarOptions } from './model/models';\n\n@Component({\n selector: 'moz-sidebar',\n styleUrls: ['./moz-sidebar.component.scss'],\n templateUrl: './moz-sidebar.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class MozSidebarComponent implements OnInit {\n @ContentChild(MozSidebarHomeComponent)\n public homeCmp?: MozSidebarHomeComponent;\n\n @ContentChildren(forwardRef(() => MozSidebarFeatureComponent))\n public featuresCmp?: QueryList<MozSidebarFeatureComponent>;\n\n @ContentChildren(MozSidebarUtilityComponent)\n public utilitiesCmp?: QueryList<MozSidebarUtilityComponent>;\n\n @ContentChild(MozSidebarUserComponent)\n public userCmp?: MozSidebarUserComponent;\n\n @Input() options?: SidebarOptions;\n\n @Output() opened: EventEmitter<boolean> = new EventEmitter();\n @Output() hovered: EventEmitter<boolean> = new EventEmitter();\n\n public localOpen = false;\n public isHover = false;\n public activeSubFeature?: MozSidebarFeatureComponent;\n\n public defaultOptions: SidebarOptions = {\n openOnHover: false,\n opened: true,\n closeOnSelect: true,\n };\n\n constructor(\n @Optional()\n @Inject(RouterLinkActive)\n public readonly routerLinkActive: RouterLinkActive | null,\n @Optional()\n @Inject(RouterLinkWithHref)\n public readonly routerLink: RouterLinkWithHref | null,\n ) {}\n\n ngOnInit() {\n this.options = { ...this.defaultOptions, ...this.options };\n this.localOpen = this.options.opened || false;\n }\n\n toggleSidebar() {\n this.localOpen = !this.localOpen;\n this.emitOpened();\n }\n\n toggleUser() {\n if (!this.userCmp) return;\n this.userCmp.localOpen = this.shouldBeOpen() ? !this.userCmp.localOpen : true;\n if (!this.shouldBeOpen()) this.toggleSidebar();\n }\n\n setIsHover(isHover: boolean) {\n if (!this.options?.openOnHover) return;\n this.isHover = isHover;\n this.hovered.emit(this.isHover);\n this.emitOpened();\n }\n\n shouldBeOpen() {\n if (this.options?.openOnHover) return this.localOpen || this.isHover;\n return this.localOpen;\n }\n\n select(\n item: MozSidebarFeatureComponent | MozSidebarHomeComponent | MozSidebarUtilityComponent,\n ): void {\n const clearAndHanddleCat = (elem: any) => {\n if (elem !== item && !elem.featuresCmp.some((it: any) => it === item)) {\n elem.selected = false;\n }\n elem.featuresCmp?.length && elem.featuresCmp.forEach((it: any) => clearAndHanddleCat(it));\n };\n this.featuresCmp?.forEach((it) => {\n clearAndHanddleCat(it);\n });\n this.utilitiesCmp?.forEach((it) => {\n clearAndHanddleCat(it);\n });\n\n item.selected = this.shouldBeOpen() ? !item.selected : true;\n if (this.options?.openOnHover) return;\n if (item instanceof MozSidebarFeatureComponent && item._category) {\n this.localOpen = true;\n this.emitOpened();\n } else {\n if (this.options?.closeOnSelect) {\n this.localOpen = false;\n this.emitOpened();\n }\n }\n }\n\n selectSubFeature(item: MozSidebarFeatureComponent) {\n this.activeSubFeature = item;\n }\n\n closeSubFeature() {\n this.activeSubFeature = undefined;\n }\n\n emitOpened() {\n this.opened.emit(this.shouldBeOpen());\n }\n}\n","<nav class=\"mc-sidebar\" (mouseenter)=\"setIsHover(true)\" (mouseleave)=\"setIsHover(false)\" [ngClass]=\"shouldBeOpen() ? 'is-open' : 'is-close'\">\n <div class=\"mc-sidebar__container\" [ngClass]=\"{'has-bottom-panel': userCmp}\">\n <button class=\"mc-sidebar__trigger\" type=\"button\" id=\"mc-sidebar__trigger\" (click)=\"toggleSidebar()\">\n <span class=\"mc-sidebar__trigger__container\">\n <moz-icon *ngIf=\"!localOpen\" [iconName]=\"'Navigation_Arrow_DoubleArrow--Right_24px'\"></moz-icon>\n <moz-icon *ngIf=\"localOpen\" [iconName]=\"'Navigation_Arrow_DoubleArrow--Left_24px'\"></moz-icon>\n </span>\n </button>\n <ng-container *ngTemplateOutlet=\"sidebarHome\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"separator\"></ng-container>\n\n <div class=\"mc-sidebar-section\">\n <ul [ngClass]=\"{'is-hidden': activeSubFeature && localOpen,\n 'is-visible': !activeSubFeature || !localOpen}\">\n <li *ngFor=\"let item of featuresCmp\">\n <ng-container *ngTemplateOutlet=\"sidebarFeatures; context: {item: item}\"></ng-container>\n </li>\n </ul>\n <ng-container *ngTemplateOutlet=\"tmplSubFeature; context: {feature: activeSubFeature}\"></ng-container>\n </div>\n <div class=\"mc-sidebar__utilities\">\n <div *ngFor=\"let utility of utilitiesCmp\">\n <ng-container *ngTemplateOutlet=\"separator\"></ng-container>\n <ul>\n <li class=\"mc-sidebar__utilities__item\">\n <ng-container *ngTemplateOutlet=\"sidebarUtility; context: {utility: utility}\"></ng-container>\n </li>\n </ul>\n </div>\n </div>\n\n </div>\n <ng-container *ngTemplateOutlet=\"sidebarUser\"></ng-container>\n</nav>\n\n<ng-template #sidebarHome>\n <ng-container *ngIf=\"homeCmp\">\n <button class=\"mc-sidebar-feature-group\" [ngClass]=\"shouldBeOpen() ? 'is-open' : 'is-close'\">\n <a href=\"#\" [routerLink]=\"homeCmp.link\">\n <span class=\"mc-sidebar-feature-group__container\" [ngClass]=\"shouldBeOpen() ? 'is-open' : 'is-close'\" (click)=\"select(homeCmp)\">\n <span class=\"mc-sidebar-feature-group__icon\">\n <ng-container *ngTemplateOutlet=\"homeCmp.tmplIcon\"></ng-container>\n </span>\n <ng-container *ngIf=\"shouldBeOpen()\">\n <span class=\"mc-sidebar-feature-group__label\">\n <ng-container *ngTemplateOutlet=\"homeCmp.tmplText\"></ng-container>\n </span>\n </ng-container>\n </span>\n </a>\n </button >\n </ng-container>\n</ng-template>\n\n<ng-template #sidebarFeatures let-item=\"item\">\n <ng-container *ngTemplateOutlet=\"tmplFeatureGroup\"></ng-container>\n\n <ul *ngIf=\"item?.category\" class=\"mc-sidebar-feature-group__content\" [ngClass]=\"{ 'is-open': shouldBeOpen() && item.selected, 'is-close': !shouldBeOpen() || !item.selected }\">\n <li *ngFor=\"let innerItem of item.featuresCmp\" id=\"innerFeature\">\n <ng-template *ngTemplateOutlet=\"tmplFeature; context: {feature: innerItem}\"></ng-template>\n </li>\n </ul>\n\n <ng-template #tmplFeatureGroup>\n <button class=\"mc-sidebar-feature-group\" (click)=\"select(item)\" [ngClass]=\"{ 'is-selected': item.selected && !item.category, 'is-open': shouldBeOpen(), 'is-close': !shouldBeOpen() }\">\n <a href=\"#\" [routerLink]=\"item.link\">\n <span class=\"mc-sidebar-feature-group__container\" [routerLink]=\"item.link\">\n <span class=\"mc-sidebar-feature-group__icon\">\n <ng-container *ngTemplateOutlet=\"item.tmplIcon\"></ng-container>\n </span>\n <div style=\"display:flex;\" *ngIf=\"shouldBeOpen()\">\n <span class=\"mc-sidebar-feature-group__label\">\n <ng-container *ngTemplateOutlet=\"item.tmplText\"></ng-container>\n </span>\n <div *ngIf=\"shouldBeOpen() && item?.category\">\n <moz-icon *ngIf=\"!item.selected\" [iconName]=\"'Navigation_Control_More_16px'\"></moz-icon>\n\n <moz-icon *ngIf=\"item.selected\" [iconName]=\"'Navigation_Control_Less_16px'\"></moz-icon>\n </div>\n </div>\n </span>\n </a>\n </button>\n </ng-template>\n\n</ng-template>\n\n<ng-template #tmplFeature let-feature=\"feature\">\n <button class=\"mc-sidebar-feature\" [ngClass]=\"{ 'is-selected': feature.selected, 'is-open': shouldBeOpen(), 'is-close': !shouldBeOpen() }\">\n <a href=\"#\" [routerLink]=\"feature.link\">\n <span class=\"mc-sidebar-feature__container\" (click)=\"feature.subCategory ? selectSubFeature(feature) : select(feature)\">\n <span class=\"mc-sidebar-feature__label\">\n <ng-container *ngTemplateOutlet=\"feature.tmplText\"></ng-container>\n </span>\n </span>\n </a>\n </button>\n</ng-template>\n\n<ng-template #tmplSubFeature let-feature=\"feature\">\n <div class=\"mc-sidebar-sub-feature\" *ngIf=\"!!feature\">\n <button class=\"mc-sidebar-sub-feature__trigger\" (click)=\"closeSubFeature()\">\n <span class=\"mc-sidebar-sub-feature__container\">\n <moz-icon *ngIf=\"shouldBeOpen()\" [iconName]=\"'Navigation_Arrow_Back_24px'\"></moz-icon>\n <span class=\"mc-sidebar-sub-feature__trigger__label\">\n <ng-container *ngTemplateOutlet=\"feature.tmplText\"></ng-container>\n </span>\n </span>\n </button>\n <ul>\n <li *ngFor=\"let item of feature.featuresCmp\" class=\"mc-sidebar-sub-feature__item\" id=\"sub-features\">\n <ng-template *ngTemplateOutlet=\"tmplFeature; context: {feature: item}\"></ng-template>\n </li>\n </ul>\n </div>\n</ng-template>\n\n<ng-template #sidebarUtility let-utility=\"utility\">\n <button class=\"mc-sidebar-segment\" [ngClass]=\"{ 'is-selected': utility.selected, 'is-open': shouldBeOpen(), 'is-close': !shouldBeOpen() }\">\n <a href=\"#\" [routerLink]=\"utility.link\">\n <span class=\"mc-sidebar-segment__container\" (click)=\"select(utility)\">\n <span class=\"mc-sidebar-segment__icon\">\n <ng-container *ngTemplateOutlet=\"utility.tmplIcon\"></ng-container>\n </span>\n <span class=\"mc-sidebar-segment__label\">\n <ng-container *ngTemplateOutlet=\"utility.tmplText\"></ng-container>\n </span>\n </span>\n </a>\n </button>\n</ng-template>\n\n<ng-template #sidebarUser>\n <ng-container *ngIf=\"userCmp && userCmp.templateRef\">\n <div class=\"mc-sidebar-user\" [ngClass]=\"shouldBeOpen() ? 'is-open' : 'is-close'\">\n <button class=\"mc-sidebar-user__header\" (click)=\"toggleUser()\">\n <span class=\"mc-sidebar-user__header__picture\">\n <ng-template #tmplProfilPicture>\n <ng-container *ngTemplateOutlet=\"userCmp.tmplPicture\"></ng-container>\n </ng-template>\n <moz-icon *ngIf=\"!userCmp.tmplPicture; else tmplProfilPicture\" [iconName]=\"'User_Account_Profile--View_24px'\"></moz-icon>\n </span>\n <div style=\"display:flex; width: 100%;\" *ngIf=\"shouldBeOpen()\">\n <p class=\"mc-sidebar-user__header__information\">\n <ng-container *ngTemplateOutlet=\"userCmp.templateRef\"></ng-container>\n </p>\n <span *ngIf=\"userCmp?.features?.length\" class=\"mc-sidebar-user__header__information__icon\">\n <moz-icon *ngIf=\"!userCmp.localOpen\" [iconName]=\"'Navigation_Control_More_16px'\"></moz-icon>\n\n <moz-icon *ngIf=\"userCmp.localOpen\" [iconName]=\"'Navigation_Control_Less_16px'\"></moz-icon>\n </span>\n </div>\n </button>\n\n\n <ul *ngIf=\"userCmp.features?.length && userCmp.localOpen && shouldBeOpen()\" [ngClass]=\"userCmp.localOpen ? 'is-open' : 'is-close'\"\n id=\"user-content\" ref=\"content\" class=\"mc-sidebar-user__content\">\n <li *ngFor=\"let userFeature of userCmp.features\">\n <button class=\"mc-sidebar-feature\" [ngClass]=\"{ 'is-open': shouldBeOpen(), 'is-close': !shouldBeOpen() }\">\n <span class=\"mc-sidebar-feature__container\">\n <span class=\"mc-sidebar-feature__label\">\n <ng-container *ngTemplateOutlet=\"userFeature\"></ng-container>\n </span>\n </span>\n </button>\n </li>\n </ul>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #separator>\n <span role=\"separator\" class=\"mc-sidebar-separator\" [ngClass]=\"shouldBeOpen() ? 'is-open' : 'is-close'\">\n </span>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, provideRouter } from '@angular/router';\nimport { IconModule } from '../icon/icon.module';\nimport { MozSidebarFeatureComponent } from './components/feature/moz-sidebar-feature.component';\nimport { MozSidebarHomeComponent } from './components/home/moz-sidebar-home.component';\nimport { MozSidebarUserComponent } from './components/user/moz-sidebar-user.component';\nimport { MozSidebarComponent } from './moz-sidebar.component';\nimport { MozSidebarUtilityComponent } from './components/utility/moz-sidebar-utilty.component';\n\n@NgModule({\n declarations: [\n MozSidebarComponent,\n MozSidebarHomeComponent,\n MozSidebarFeatureComponent,\n MozSidebarUtilityComponent,\n MozSidebarUserComponent,\n ],\n imports: [CommonModule, IconModule, RouterModule.forChild([])],\n providers: [provideRouter([])],\n exports: [\n MozSidebarComponent,\n MozSidebarHomeComponent,\n MozSidebarFeatureComponent,\n MozSidebarUtilityComponent,\n MozSidebarUserComponent,\n ],\n})\nexport class MozSidebarModule {}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { BottomBarComponent } from '../bottom-bar';\nimport { StepperBarEvent } from './types';\n\n@Component({\n selector: 'moz-stepper-bar',\n templateUrl: './stepper-bar.component.html',\n styleUrls: ['./stepper-bar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class StepperBarComponent extends BottomBarComponent {\n @Input() stepsNb: number = 1;\n /**\n * Label for the button 'next'\n */\n @Input() nextButtonLabel: string = 'Next';\n\n /**\n * Label for the button 'previous'\n */\n @Input() prevButtonLabel: string = 'Back';\n\n /**\n * Label for the button 'cancel'\n */\n @Input() cancelButtonLabel: string = 'Cancel';\n\n /**\n * Label for the button 'validate'\n */\n @Input() validateButtonLabel: string = 'Validate';\n\n /**\n * Whether the next button should be enabled, this can be used to prevent user to click the 'next' or 'validate' button.\n */\n @Input() nextBtnEnabled: boolean = true;\n\n /**\n * Emits StepperBarEvents upon actions on the bar elements\n */\n @Output() changed: EventEmitter<StepperBarEvent> = new EventEmitter<StepperBarEvent>();\n\n private currentStep = 1;\n\n public getCurrentStep(): number {\n return this.currentStep;\n }\n\n public handleNext(): void {\n if (this.currentStep < this.stepsNb) {\n this.currentStep += 1;\n this.changed.emit({ type: 'next-step', currentStep: this.currentStep });\n }\n }\n\n public handlePrevious(): void {\n const newStep = this.currentStep - 1;\n if (newStep >= 1) {\n this.currentStep = newStep;\n this.changed.emit({ type: 'previous-step', currentStep: this.currentStep });\n }\n }\n\n public handleSubmit(): void {\n this.changed.emit({ type: 'validate' });\n }\n\n public handleCancel(): void {\n this.changed.emit({ type: 'cancel' });\n }\n}\n","<moz-container\n [ngClass]=\"{ 'mc-bottom-bar': true, 'mc-stepper-bar': true, 'mc-bottom-bar--fixed': fixed }\"\n [fluid]=\"true\"\n>\n <button moz-button size=\"s\" variation=\"bordered\" theme=\"danger\" (click)=\"handleCancel()\">\n {{ cancelButtonLabel }}\n </button>\n <div class=\"mc-stepper-bar__actions\">\n <button\n moz-button\n *ngIf=\"getCurrentStep() > 1\"\n variation=\"bordered\"\n theme=\"neutral\"\n size=\"s\"\n (click)=\"handlePrevious()\"\n >\n {{ prevButtonLabel }}\n </button>\n <button\n moz-button\n class=\"mc-stepper-bar__next\"\n size=\"s\"\n [disabled]=\"!nextBtnEnabled\"\n (click)=\"getCurrentStep() < stepsNb ? handleNext() : handleSubmit()\"\n >\n {{ getCurrentStep() < stepsNb ? nextButtonLabel : validateButtonLabel }}\n </button>\n </div>\n</moz-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ButtonModule } from '../button/button.module';\nimport { ContainerModule } from '../container';\nimport { StepperBarComponent } from './stepper-bar.component';\n\n@NgModule({\n declarations: [StepperBarComponent],\n imports: [CommonModule, ContainerModule, ButtonModule],\n exports: [StepperBarComponent],\n})\nexport class StepperBarModule {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { StepState } from './step-state';\n\n@Component({\n selector: 'moz-step',\n templateUrl: './step.component.html',\n styleUrls: ['./stepper.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class StepComponent {\n @Input() public title = '';\n\n private _state: StepState = '';\n\n private _index = 0;\n\n public get validated(): boolean {\n return this.state === 'validated';\n }\n public get isCurrent(): boolean {\n return this.state === 'current';\n }\n\n public get indicator() {\n return this.index + 1;\n }\n\n public get index() {\n return this._index;\n }\n\n public set index(newIndex: number) {\n this._index = newIndex;\n this.cd.markForCheck();\n }\n\n public get state() {\n return this._state;\n }\n\n public set state(newState: StepState) {\n this._state = newState;\n this.cd.markForCheck();\n }\n\n constructor(private cd: ChangeDetectorRef) {}\n\n @HostBinding('class')\n public get hostCssClasses() {\n const stateClass = this.state ? `mc-stepper__item--${this.state}` : '';\n return `mc-stepper__item ${stateClass}`;\n }\n}\n","<span class=\"mc-stepper__indicator\" aria-hidden=\"true\">\n <moz-icon\n *ngIf=\"validated\"\n class=\"mc-stepper__icon\"\n iconName=\"Navigation_Notification_Available_16px\"\n ></moz-icon>\n <ng-container *ngIf=\"isCurrent\">{{ indicator }}</ng-container>\n</span>\n<div class=\"mc-stepper__detail\">\n <span class=\"mc-stepper__title\">{{ title }}</span>\n <span class=\"mc-stepper__label\">\n <ng-content></ng-content>\n </span>\n</div>\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n QueryList,\n SimpleChanges,\n} from '@angular/core';\nimport { StepState } from './step-state';\nimport { StepComponent } from './step.component';\n\n@Component({\n selector: 'moz-stepper',\n templateUrl: './stepper.component.html',\n styleUrls: ['./stepper.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class StepperComponent implements AfterViewInit, OnChanges {\n @Input() selectStepIndex: number = 0;\n\n @Input() viewCompact = false;\n\n @ContentChildren(StepComponent) private steps?: QueryList<StepComponent>;\n @ContentChildren(StepComponent, { read: ElementRef })\n private stepElements?: QueryList<ElementRef>;\n\n public ngAfterViewInit() {\n if (!this.steps) return;\n this.initStepIndex(this.steps);\n this.selectStep(this.steps, this.selectStepIndex);\n this.initCssVariablesForSteps(this.stepElements!);\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n this.updateSelectStepAtChanges(changes);\n }\n\n @HostBinding('class')\n public get hostCssClasses() {\n const viewCompactClass = this.viewCompact ? `mc-stepper--compact` : '';\n return `mc-stepper ${viewCompactClass}`;\n }\n\n private initStepIndex(steps: QueryList<StepComponent>) {\n steps.forEach((step, index) => (step.index = index));\n }\n\n private initCssVariablesForSteps(stepElements: QueryList<ElementRef>) {\n stepElements.forEach(this.initCssVariablesForStep);\n }\n\n private initCssVariablesForStep(\n elementRef: ElementRef,\n currentIndex: number,\n elementRefs: ElementRef[],\n ): void {\n elementRef.nativeElement.style = `--steps: ${elementRefs.length}; --current: ${\n currentIndex + 1\n }`;\n }\n\n private selectStep(steps: QueryList<StepComponent>, selectStepIndex: number) {\n steps.forEach((step) => this.updateStateStep(step, selectStepIndex));\n }\n\n private updateStateStep(step: StepComponent, selectStepIndex: number) {\n const oldState = step.state;\n const newState = this.stateDefinitionForStep(step.index, selectStepIndex);\n const hasChanges = oldState !== newState;\n if (!hasChanges) return;\n step.state = newState;\n }\n\n private stateDefinitionForStep(stepIndex: number, selectStepIndex: number): StepState {\n const isCurrentStep = stepIndex === selectStepIndex;\n const isValidatedStep = stepIndex < selectStepIndex;\n if (isCurrentStep) return 'current';\n if (isValidatedStep) return 'validated';\n return '';\n }\n\n private updateSelectStepAtChanges({ selectStepIndex }: SimpleChanges) {\n if (\n !this.steps ||\n !selectStepIndex ||\n selectStepIndex.currentValue === selectStepIndex.previousValue\n )\n return;\n this.selectStep(this.steps, selectStepIndex.currentValue);\n }\n}\n","<ol class=\"mc-stepper__list\">\n <ng-content select=\"moz-step\"></ng-content>\n</ol>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { IconModule } from '../icon/icon.module';\nimport { StepComponent } from './step.component';\nimport { StepperComponent } from './stepper.component';\n\n@NgModule({\n imports: [CommonModule, IconModule],\n declarations: [StepperComponent, StepComponent],\n exports: [StepperComponent, StepComponent],\n})\nexport class StepperModule {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n Inject,\n Input,\n Optional,\n ViewEncapsulation,\n} from '@angular/core';\nimport { RouterLinkActive, RouterLinkWithHref } from '@angular/router';\n\n@Component({\n selector: `a[moz-tab],span[moz-tab],div[moz-tab]`,\n templateUrl: './tab.component.html',\n styleUrls: ['./tab.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.mc-tabs__item]': 'true',\n '[class.mc-tabs__link]': 'true',\n '[class.mc-tabs__link--outline]': 'true',\n '[class.mc-tabs__link--selected]': 'selected',\n '[class.mc-tabs__link--disabled]': 'disabled',\n },\n standalone: false,\n})\nexport class TabComponent<T = any> {\n @HostBinding('attr.tab-index')\n public index: number = 0;\n\n @Input() public disabled = false;\n\n @Input() public data: T | null = null;\n\n public selected = false;\n\n constructor(\n @Optional()\n @Inject(RouterLinkActive)\n public readonly routerLinkActive: RouterLinkActive | null,\n @Optional()\n @Inject(RouterLinkWithHref)\n public readonly routerLink: RouterLinkWithHref | null,\n public readonly cdRef: ChangeDetectorRef,\n ) {}\n\n public get isAvailableTabForSelection() {\n return !this.selected && !this.disabled;\n }\n\n public get isActiveTab() {\n return !!this.routerLinkActive?.isActive;\n }\n\n public get link() {\n return this.routerLink?.href || null;\n }\n}\n","<button type=\"button\"\n aria-selected=\"true\"\n role=\"tab\"\n class=\"mc-tabs__element\"\n [class.mc-tabs__element--selected]=\"selected\">\n <span class=\"mc-tabs__text\"><ng-content></ng-content></span>\n</button>\n","export const TAB_SELECTORS = 'a,div,span';\nexport const TABS_SELECTOR = 'moz-tabs';\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Host,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n Output,\n QueryList,\n SimpleChanges,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport {\n combineLatest,\n delay,\n filter,\n first,\n fromEvent,\n map,\n merge,\n of,\n Subject,\n switchMap,\n takeUntil,\n tap,\n} from 'rxjs';\nimport { TABS_SELECTOR, TAB_SELECTORS } from './tab-selectors';\nimport { TabComponent } from './tab.component';\n\n@Component({\n selector: TABS_SELECTOR,\n templateUrl: './tabs.component.html',\n styleUrls: ['./tabs.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class.mc-tabs]': 'true',\n '[class.mc-tabs--full]': 'viewFullWidth',\n '[class.mc-tabs--full-centered]': 'fullWidthCenter',\n '[class.mc-tabs--no-shadow]': 'hideShadow',\n },\n standalone: false,\n})\nexport class TabsComponent implements AfterViewInit, OnDestroy, OnChanges {\n @Input() fullWidth = false;\n\n @Input() fullWidthCenter = false;\n\n @Input() hideShadow = false;\n\n @Input() selectTabIndex: number | null = null;\n\n @Output() selectedTabChange = new EventEmitter<TabComponent>();\n\n @ContentChildren(TabComponent) tabs?: QueryList<TabComponent>;\n\n private afterViewInit = new Subject<boolean>();\n\n private viewDestroyed = new Subject<boolean>();\n\n constructor(\n private readonly elementRef: ElementRef<HTMLElement>,\n private readonly cd: ChangeDetectorRef,\n @Host()\n @Optional()\n private readonly router: Router | null,\n ) {\n this.initBehaviorSelectForTab();\n }\n\n public get viewFullWidth(): boolean {\n return this.fullWidth && !this.fullWidthCenter;\n }\n\n public ngAfterViewInit() {\n this.afterViewInit.next(true);\n }\n\n public ngOnChanges({ selectTabIndex }: SimpleChanges) {\n if (selectTabIndex && typeof selectTabIndex.currentValue === 'number') {\n this.selectTabAtChanges(selectTabIndex.currentValue);\n }\n }\n\n public ngOnDestroy(): void {\n this.viewDestroyed.next(true);\n this.viewDestroyed.complete();\n }\n\n private initBehaviorSelectForTab() {\n const afterFullNavigateAndRender = this.getAfterFullNavigateAndRenderEvent();\n const tabsAfterNavigate = afterFullNavigateAndRender.pipe(\n map(() => this.tabs),\n filter(Boolean),\n );\n\n tabsAfterNavigate\n .pipe(\n tap((tabs) => this.initTabIndex(tabs)),\n tap((tabs) => this.initFirstSelectionTab(tabs)),\n switchMap((tabs) => this.getAllTabEvents(tabs)),\n tap((tab) => this.selectTab(this.tabs!, tab)),\n takeUntil(this.viewDestroyed),\n )\n .subscribe();\n }\n\n private initTabIndex(tabs: QueryList<TabComponent>) {\n tabs.forEach((tab, index) => (tab.index = index));\n this.cd.markForCheck();\n }\n\n private initFirstSelectionTab(tabs: QueryList<TabComponent>) {\n const activeTab = tabs.find((tab) => tab.isActiveTab);\n const selectTabByIndex =\n typeof this.selectTabIndex === 'number' && tabs.get(this.selectTabIndex);\n const firstSelectedTab = selectTabByIndex || activeTab || tabs.first;\n if (firstSelectedTab) {\n firstSelectedTab.selected = true;\n firstSelectedTab.cdRef.markForCheck();\n this.tryNavigateToTab(firstSelectedTab);\n }\n }\n\n private tryNavigateToTab(tab: TabComponent) {\n if (!tab.link || tab.isActiveTab) return;\n this.router?.navigate([tab.link]);\n }\n\n private selectTabAtChanges(selectTabIndex: number) {\n const newSelectTab = this.tabs?.get(selectTabIndex);\n if (!newSelectTab || !this.tabs) return;\n this.selectTab(this.tabs, newSelectTab);\n this.tryNavigateToTab(newSelectTab);\n }\n\n private getTabSelectionEvents(tabs: QueryList<TabComponent>) {\n const indexClickedTab = this.getIndexClickedTab();\n const clickedTab = indexClickedTab.pipe(map((tabIndex) => tabs.get(+tabIndex)));\n return clickedTab.pipe(\n filter(Boolean),\n filter((tab) => tab.isAvailableTabForSelection),\n );\n }\n\n private getTabActiveEvents(tabs: QueryList<TabComponent>) {\n const tabWithLink = tabs.filter(({ routerLinkActive }) => !!routerLinkActive);\n const tabsActiveEvent = tabWithLink.map((tab) => {\n return tab.routerLinkActive!.isActiveChange.pipe(\n filter(Boolean),\n map(() => tab),\n );\n });\n\n return merge(...tabsActiveEvent);\n }\n\n private getAfterFullNavigateAndRenderEvent() {\n const eventNavigationEnd =\n this.router?.events.pipe(\n filter((event) => event instanceof NavigationEnd),\n first(),\n ) || of(true);\n\n return combineLatest([eventNavigationEnd, this.afterViewInit]).pipe(delay(0));\n }\n\n private getIndexClickedTab() {\n return fromEvent<PointerEvent>(this.elementRef.nativeElement, 'click').pipe(\n map((event) => event.target as HTMLElement),\n filter(this.filterTabsElement.bind(this)),\n map((targetElement) => targetElement.closest(TAB_SELECTORS)),\n filter((tabElement): tabElement is HTMLAnchorElement => !!tabElement),\n map((tabElement) => tabElement.getAttribute('tab-index') as string),\n );\n }\n\n private getAllTabEvents(tabs: QueryList<TabComponent>) {\n return merge(this.getTabSelectionEvents(tabs), this.getTabActiveEvents(tabs));\n }\n\n private filterTabsElement({ nodeName }: HTMLElement) {\n return nodeName.toLowerCase() !== TABS_SELECTOR;\n }\n\n private selectTab(tabs: QueryList<TabComponent>, clickedTab: TabComponent) {\n tabs.forEach((tab) => {\n tab.selected = tab === clickedTab;\n tab.cdRef.markForCheck();\n });\n this.selectedTabChange.emit(clickedTab);\n\n this.cd.markForCheck();\n }\n}\n","<div class=\"mc-tabs__nav\" role=\"tablist\">\n <ng-content select=\"div [moz-tab]\"></ng-content>\n</div>\n\n\n\n\n\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TabComponent } from './tab.component';\nimport { TabsComponent } from './tabs.component';\n\n@NgModule({\n declarations: [TabsComponent, TabComponent],\n imports: [CommonModule],\n exports: [TabsComponent, TabComponent],\n})\nexport class TabsModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { castBooleanProperty } from '../../common';\n\n@Component({\n selector: 'textarea[moz-text-area]',\n template: '',\n styleUrls: ['./text-area.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class TextAreaComponent {\n private _invalid = false;\n\n private _valid = false;\n\n @HostBinding('class')\n public get hostCssClasses() {\n const staticClasses = 'mc-textarea';\n const validClass = this.valid ? 'is-valid' : '';\n const invalidClass = this.invalid ? 'is-invalid' : '';\n const dynamicClasses = `${validClass} ${invalidClass}`;\n return `${staticClasses} ${dynamicClasses}`;\n }\n\n public get invalid(): boolean {\n return this._invalid || false;\n }\n\n public get valid(): boolean {\n const valid = this._valid || false;\n return !this.invalid && valid;\n }\n\n @Input() public set invalid(val: boolean) {\n this._invalid = castBooleanProperty(val);\n }\n\n @Input() public set valid(val: boolean) {\n this._valid = castBooleanProperty(val);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { TextAreaComponent } from './text-area.component';\n\n@NgModule({\n declarations: [TextAreaComponent],\n exports: [TextAreaComponent],\n})\nexport class TextAreaModule {}\n","import { ElementRef, Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TooltipService {\n private currentTooltip: ElementRef | null = null;\n private hideTooltipSubject = new Subject<void>();\n private mutationObserver: MutationObserver | null = null;\n\n constructor() {\n this.mutationObserver = new MutationObserver(this.mutationObserverCallback.bind(this));\n\n this.mutationObserver.observe(document.body, {\n childList: true,\n subtree: true,\n });\n }\n\n public get hideTooltip$(): Observable<void> {\n return this.hideTooltipSubject.asObservable();\n }\n\n public setCurrentTooltip(tooltip: ElementRef): void {\n this.currentTooltip = tooltip;\n }\n\n private mutationObserverCallback(): void {\n if (this.currentTooltip && !document.body.contains(this.currentTooltip.nativeElement)) {\n this.hideTooltipSubject.next();\n }\n }\n}\n","import {\n Directive,\n ElementRef,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Renderer2,\n} from '@angular/core';\nimport { Subscription, tap } from 'rxjs';\nimport { TooltipService } from '../service/tooltip.service';\n\n@Directive({\n selector: '[mozTooltipDirective]',\n standalone: false,\n})\nexport class TooltipDirective implements OnInit, OnDestroy {\n @Input('mozTooltipDirective') tooltipContent: string = '';\n @Input() tooltipPosition: string = 'top';\n public tooltip: HTMLElement | null = null;\n public offset: number = 16;\n private hideTooltipSubscription: Subscription | undefined;\n\n constructor(\n private el: ElementRef,\n private renderer: Renderer2,\n private readonly tooltipService: TooltipService,\n ) {}\n\n @HostListener('mouseover')\n onMouseIn(): void {\n if (!this.tooltip) this.showTooltip();\n }\n\n @HostListener('mouseleave')\n onMouseOut(): void {\n if (this.tooltip) this.hideTooltip();\n }\n\n ngOnInit(): void {\n this.hideTooltipSubscription = this.tooltipService.hideTooltip$\n .pipe(tap(() => this.hideTooltip()))\n .subscribe();\n }\n\n ngOnDestroy(): void {\n this.hideTooltip();\n this.hideTooltipSubscription?.unsubscribe();\n }\n\n showTooltip(): void {\n this.tooltipService.setCurrentTooltip(this.el);\n this.tooltip = this.renderer.createElement('span');\n\n this.renderer.appendChild(this.tooltip, this.renderer.createText(this.tooltipContent));\n\n this.renderer.appendChild(document.body, this.tooltip);\n\n this.renderer.addClass(this.tooltip, 'mc-tooltip__content');\n this.renderer.addClass(this.tooltip, `mc-tooltip__content-${this.tooltipPosition}`);\n\n this.renderer.setStyle(this.tooltip, '-webkit-transition', `opacity 500ms`);\n this.renderer.setStyle(this.tooltip, '-moz-transition', `opacity 500ms`);\n this.renderer.setStyle(this.tooltip, '-o-transition', `opacity 500ms`);\n this.renderer.setStyle(this.tooltip, 'transition', `opacity 500ms`);\n\n this.setPosition();\n this.renderer.addClass(this.tooltip, 'mc-tooltip__content-show');\n }\n\n hideTooltip(): void {\n if (this.renderer && this.tooltip) {\n this.renderer.removeChild(document.body, this.tooltip);\n this.tooltip = null;\n }\n }\n\n setPosition(): void {\n if (this.tooltip) {\n const hostPos = this.el.nativeElement.getBoundingClientRect();\n const tooltipPos = this.tooltip.getBoundingClientRect();\n const scrollPos =\n window.scrollY || document.documentElement.scrollTop || document.body.scrollTop || 0;\n\n let top, left;\n\n if (this.tooltipPosition === 'top') {\n top = hostPos.top - tooltipPos.height - this.offset;\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\n }\n\n if (this.tooltipPosition === 'bottom') {\n top = hostPos.bottom + this.offset;\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\n }\n\n if (this.tooltipPosition === 'left') {\n top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;\n left = hostPos.left - tooltipPos.width - this.offset;\n }\n\n if (this.tooltipPosition === 'right') {\n top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;\n left = hostPos.right + this.offset;\n }\n\n if (top) {\n this.renderer.setStyle(this.tooltip, 'top', `${top + scrollPos}px`);\n this.renderer.setStyle(this.tooltip, 'left', `${left}px`);\n }\n }\n }\n}\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { TooltipPosition } from './tooltip-position';\n\n@Component({\n selector: 'moz-tooltip',\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class TooltipComponent {\n @Input() tooltipContent: string = '';\n @Input() tooltipPosition: TooltipPosition = 'top';\n}\n","<div\n class=\"mc-tooltip__main\"\n mozTooltipDirective=\"{{ tooltipContent }}\"\n tooltipPosition=\"{{ tooltipPosition }}\"\n>\n <ng-content></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TooltipComponent } from './tooltip.component';\nimport { TooltipDirective } from './directive/tooltip.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [TooltipComponent, TooltipDirective],\n exports: [TooltipComponent],\n})\nexport class TooltipModule {}\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { CardImageRatio } from './model/card';\n\n@Component({\n selector: 'moz-card',\n templateUrl: './card.component.html',\n styleUrls: ['./card.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class CardComponent {\n @Input() public outlined: boolean = false;\n @Input() public fluid: boolean = false;\n @Input() public imageSrc?: string;\n @Input() public imageAlt?: string;\n @Input() public imageRatio?: CardImageRatio = '4x3';\n}\n","<div class=\"mc-card\" [ngClass]=\"{ 'mc-card--bordered': outlined, 'mc-card--fluid': fluid }\">\n <figure class=\"mc-card__visual\" [ngClass]=\"[imageRatio ? 'mc-card__visual--' + imageRatio : '']\">\n <img src=\"{{ imageSrc }}\" alt=\"{{ imageAlt }}\" class=\"mc-card__img\" />\n </figure>\n <article class=\"mc-card__content\">\n <ng-content select=\"[title]\"></ng-content>\n <ng-content select=\"[subtitle]\"></ng-content>\n <div class=\"mc-card__body\">\n <ng-content select=\"[content]\"></ng-content>\n </div>\n <footer class=\"mc-card__footer\">\n <ng-content select=\"[footer]\"></ng-content>\n </footer>\n </article>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { CardComponent } from './card.component';\n\n@NgModule({\n declarations: [CardComponent],\n imports: [CommonModule],\n exports: [CardComponent],\n})\nexport class CardModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.ContainerComponent","i1","i1.IconService","i2.IconComponent","i3.ContainerComponent","i4.LoaderComponent","i5.ButtonComponent","i3.IconComponent","i4","OverlayModule","i2","i2.TagComponent","i1.TaglistService","i2.LayerService","i3","i4.TagComponent","i4.ListboxComponent","i5.IconComponent","i6.LoaderComponent","i7.TextInputComponent","i2.LinkComponent","i1.GlobalEventsService","i4.ButtonComponent","i5.SelectComponent","i6.IconComponent","i3.ButtonComponent","i4.CheckboxComponent","i6.ToggleComponent","i1.LayerService","i2.ButtonComponent","i2.PaginationComponent","i3.SelectComponent","i6.MozDatatableFooterComponent","i7.MozDatatableSelectionComponent","i8.MozDatatableSortDirective","i2.ListboxComponent","i3.LoaderComponent","i4.IconComponent","i5.TagComponent","i2.UploadedFilesComponent","i3.MozDragNDropDirective","i2.BadgeComponent","i2.NotificationComponent","i3.NotificationTitleComponent","i4.NotificationMessageComponent","i3.ListboxComponent","i4.FieldComponent","i5.FieldErrorComponent","i6.TextInputComponent","i2.FieldComponent","delay","i1.TooltipService","i1.TooltipDirective"],"mappings":"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"}