@mozaic-ds/angular 0.29.1 → 0.30.0
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.
- package/adeo/components/autocomplete/autocomplete.component.d.ts +6 -13
- package/adeo/components/dropdown/dropdown.component.d.ts +3 -11
- package/adeo/components/listbox/listbox.component.d.ts +1 -0
- package/adeo/components/listbox/listbox.module.d.ts +2 -1
- package/adeo/esm2020/components/autocomplete/autocomplete.component.mjs +19 -43
- package/adeo/esm2020/components/dropdown/dropdown.component.mjs +8 -33
- package/adeo/esm2020/components/listbox/listbox.component.mjs +7 -3
- package/adeo/esm2020/components/listbox/listbox.module.mjs +5 -4
- package/adeo/fesm2015/mozaic-ds-angular.mjs +764 -806
- package/adeo/fesm2015/mozaic-ds-angular.mjs.map +1 -1
- package/adeo/fesm2020/mozaic-ds-angular.mjs +758 -800
- package/adeo/fesm2020/mozaic-ds-angular.mjs.map +1 -1
- package/adeo/package.json +1 -1
- package/bricoman/components/autocomplete/autocomplete.component.d.ts +6 -13
- package/bricoman/components/dropdown/dropdown.component.d.ts +3 -11
- package/bricoman/components/listbox/listbox.component.d.ts +1 -0
- package/bricoman/components/listbox/listbox.module.d.ts +2 -1
- package/bricoman/esm2020/components/autocomplete/autocomplete.component.mjs +19 -43
- package/bricoman/esm2020/components/dropdown/dropdown.component.mjs +8 -33
- package/bricoman/esm2020/components/listbox/listbox.component.mjs +7 -3
- package/bricoman/esm2020/components/listbox/listbox.module.mjs +5 -4
- package/bricoman/fesm2015/mozaic-ds-angular.mjs +764 -806
- package/bricoman/fesm2015/mozaic-ds-angular.mjs.map +1 -1
- package/bricoman/fesm2020/mozaic-ds-angular.mjs +758 -800
- package/bricoman/fesm2020/mozaic-ds-angular.mjs.map +1 -1
- package/bricoman/package.json +1 -1
- package/components/autocomplete/autocomplete.component.d.ts +6 -13
- package/components/dropdown/dropdown.component.d.ts +3 -11
- package/components/listbox/listbox.component.d.ts +1 -0
- package/components/listbox/listbox.module.d.ts +2 -1
- package/esm2020/components/autocomplete/autocomplete.component.mjs +19 -43
- package/esm2020/components/dropdown/dropdown.component.mjs +8 -33
- package/esm2020/components/listbox/listbox.component.mjs +7 -3
- package/esm2020/components/listbox/listbox.module.mjs +5 -4
- package/fesm2015/mozaic-ds-angular.mjs +764 -806
- package/fesm2015/mozaic-ds-angular.mjs.map +1 -1
- package/fesm2020/mozaic-ds-angular.mjs +758 -800
- package/fesm2020/mozaic-ds-angular.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -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/tag/tag.component.ts","../../../../projects/kit/components/tag/tag.component.html","../../../../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/listbox/listbox.component.ts","../../../../projects/kit/components/listbox/listbox.component.html","../../../../projects/kit/components/text-input/text-input.component.ts","../../../../projects/kit/components/autocomplete/autocomplete.component.ts","../../../../projects/kit/components/autocomplete/autocomplete.component.html","../../../../projects/kit/components/tag/tag.module.ts","../../../../projects/kit/components/taglist/taglist.module.ts","../../../../projects/kit/components/listbox/listbox.module.ts","../../../../projects/kit/components/text-input/text-input.module.ts","../../../../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})\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})\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})\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})\nexport class IconComponent implements OnChanges {\n @Input() public iconName: string = '';\n @Input() public size?: IconSize;\n\n constructor(private readonly iconService: IconService, private readonly elementRef: ElementRef) {}\n\n ngOnChanges({ iconName }: SimpleChanges) {\n this.needRenderIcon(iconName?.currentValue, iconName?.previousValue) &&\n this.drawIcon(iconName?.currentValue, iconName?.previousValue);\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 previousIconName &&\n this.elementRef.nativeElement.classList.remove(this.getSizeClass(previousIconName));\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})\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})\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})\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 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})\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 { 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})\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})\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})\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 {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { ListboxItem, Type } from './model/listbox-item';\nimport { BehaviorSubject, distinctUntilChanged, filter, fromEvent, Subject, takeUntil } from 'rxjs';\n\n@Component({\n selector: 'moz-listbox',\n templateUrl: './listbox.component.html',\n styleUrls: ['./listbox.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ListboxComponent implements OnDestroy, AfterViewInit, OnInit {\n @ViewChild('listbox', { read: ElementRef }) listboxElementRef!: ElementRef;\n @ViewChild('content', { read: ElementRef }) contentElementRef!: ElementRef;\n\n @Input() public listboxItems: any = [];\n @Input() public multiple: boolean = false;\n @Input() public selectedItems: ListboxItem[] | ListboxItem | undefined;\n @Input() public type?: Type = 'options';\n @Input() public overlay?: boolean = false;\n @Input() public maxWidth?: string;\n @Input() public maxHeight?: string;\n @Input() public width?: string;\n @Input() public disabled?: boolean;\n @Input() public withoutOverflow?: boolean;\n\n @Output() public itemsSelected = new EventEmitter<ListboxItem[] | ListboxItem>();\n @Output() public scrollEnd = new EventEmitter<boolean>();\n @Output() public isOpenChange = new EventEmitter<boolean>();\n public uuid = Math.random();\n public originalParent?: HTMLElement | null;\n public destroyed = new Subject();\n\n private _isOpen: BehaviorSubject<boolean> = new BehaviorSubject(false);\n\n constructor(private eRef: ElementRef) {}\n\n public get isOpen(): boolean {\n return this._isOpen.getValue();\n }\n\n @Input()\n set isOpen(value: boolean) {\n if (value !== this._isOpen.getValue()) {\n this._isOpen.next(value);\n }\n }\n\n @HostListener('document:click', ['$event'])\n clickout(event: Event) {\n const firstChild = this.contentElementRef?.nativeElement?.firstChild;\n if (this.listboxElementRef?.nativeElement && firstChild) {\n const listboxHtmlElementContainsClickTarget = this.listboxElementRef?.nativeElement.contains(\n event.target\n );\n const contentContainsClickTarget = firstChild?.contains(event.target);\n if (\n (!listboxHtmlElementContainsClickTarget && !contentContainsClickTarget) ||\n this.disabled\n ) {\n this.closeListbox();\n }\n }\n }\n\n ngOnInit(): void {\n this._isOpen\n .pipe(\n distinctUntilChanged(),\n filter((isOpen) => isOpen),\n takeUntil(this.destroyed)\n )\n .subscribe(() => {\n this.openListbox();\n });\n\n this._isOpen\n .pipe(\n distinctUntilChanged(),\n filter((isOpen) => !isOpen),\n takeUntil(this.destroyed)\n )\n .subscribe(() => {\n this.closeListbox();\n });\n }\n\n ngAfterViewInit(): void {\n fromEvent(window, 'resize')\n .pipe(takeUntil(this.destroyed))\n .subscribe(() => {\n this.closeListbox();\n });\n this.addScrollListeners(this.eRef.nativeElement);\n this.scroll();\n }\n\n public addScrollListeners(element: HTMLElement): void {\n if (element) {\n fromEvent(element, 'scroll')\n .pipe(takeUntil(this.destroyed))\n .subscribe(() => {\n this.closeListbox();\n });\n if (element.parentElement) {\n this.addScrollListeners(element.parentElement);\n }\n }\n }\n\n public scroll(): void {\n fromEvent(window, 'scroll')\n .pipe(takeUntil(this.destroyed))\n .subscribe(() => {\n this.closeListbox();\n });\n }\n\n public openListbox(): void {\n if (this.contentElementRef?.nativeElement?.firstChild) {\n this.isOpen = true;\n this.isOpenChange.emit(this.isOpen);\n const listBox = this.listboxElementRef.nativeElement;\n const contentElement = this.contentElementRef.nativeElement.firstChild;\n const inputRect = contentElement.getBoundingClientRect();\n const listBoxRect = listBox.getBoundingClientRect();\n listBox.style.position = 'absolute';\n setTimeout(() => {\n const listBoxHeight = listBox.firstChild.offsetHeight;\n const listBoxBottom = inputRect.bottom + window.scrollY + listBoxHeight;\n if (listBoxBottom > window.innerHeight) {\n listBox.style.top = inputRect.top - listBoxHeight + window.scrollY + 'px';\n }\n }, 1);\n listBox.style.top = inputRect.bottom + window.scrollY + 'px';\n listBox.style.left = inputRect.left + window.scrollX + 'px';\n listBox.style.maxHeight = this.maxHeight;\n listBox.style.maxWidth = this.maxWidth;\n listBox.style.zIndex = '2000000000';\n if (this.withoutOverflow) {\n if (listBoxRect.right > window.innerWidth) {\n listBox.style.left = window.innerWidth - listBoxRect.width + 'px';\n }\n if (listBoxRect.bottom > window.innerHeight) {\n listBox.style.top = window.innerHeight - listBoxRect.height + 'px';\n }\n }\n if (this.type === 'options') {\n listBox.style.width = inputRect.width + 'px';\n }\n this.originalParent = listBox.parentElement;\n document.body.appendChild(listBox);\n }\n }\n\n public closeListbox(): void {\n this.isOpen = false;\n if (this.originalParent && this.listboxElementRef) {\n this.isOpenChange.emit(this.isOpen);\n this.originalParent.appendChild(this.listboxElementRef.nativeElement);\n this.originalParent = null;\n }\n }\n\n public selectedItemEvent(listboxItem: 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);\n }\n } else {\n this.selectedItems = listboxItem;\n }\n if (this.type === 'actions') {\n this.closeListbox();\n }\n this.itemsSelected.emit(this.selectedItems);\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 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 };\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 getInputName(): string | null {\n return !this.multiple ? `listboxradio-${this.uuid}` : null;\n }\n\n public scrollEvent(event: Event) {\n const target = event.target as HTMLElement;\n const scrollTop = target.scrollTop;\n const scrollHeight = target.scrollHeight;\n const offsetHeight = target.offsetHeight;\n const isAtEnd = scrollTop + offsetHeight >= scrollHeight;\n\n if (isAtEnd) {\n this.scrollEnd.emit(true);\n }\n }\n\n public getItems(): ListboxItem[][] {\n const hasNestedArray = this.listboxItems.filter(Array.isArray).length;\n\n if (hasNestedArray === 0) {\n return [this.listboxItems];\n }\n\n return this.listboxItems;\n }\n\n public trackByIndex(index: number): number {\n return index;\n }\n\n ngOnDestroy() {\n if (this.listboxElementRef) {\n const mozListbox = this.listboxElementRef.nativeElement;\n mozListbox?.parentNode?.removeChild(mozListbox);\n }\n this.destroyed.next(null);\n this.destroyed.complete();\n }\n\n getListboxItemId(listboxItem: ListboxItem): string {\n var item = listboxItem.value.trim().replace(' ', '-');\n return `listboxItem-${item}`;\n }\n}\n","<div class=\"mc-listbox__container\">\n <div #content>\n <ng-content select=\"[reference]\"></ng-content>\n </div>\n <div #listbox>\n <ng-container *ngIf=\"isOpen\">\n <ng-container *ngIf=\"type === 'options'; else actions\">\n <div\n class=\"mc-listbox\"\n [ngClass]=\"classObject()\"\n [ngStyle]=\"styleObject()\"\n [attr.role]=\"getRole()\"\n (scroll)=\"scrollEvent($event)\"\n >\n <ul class=\"mc-listbox__list\" [attr.role]=\"getRoleList()\" tabindex=\"0\">\n <li\n class=\"mc-listbox__tile\"\n [ngClass]=\"setClassObjectTile(listboxItem)\"\n *ngFor=\"let listboxItem of listboxItems; let i = index\"\n [id]=\"getListboxItemId(listboxItem)\"\n >\n <moz-icon\n *ngIf=\"listboxItem.icon\"\n class=\"mc-listbox__icon\"\n [iconName]=\"listboxItem.icon\"\n [ngClass]=\"{ 'is-danger': listboxItem.danger }\"\n ></moz-icon>\n <span\n *ngIf=\"listboxItem.countryCode\"\n class=\"flag flag:{{ listboxItem.countryCode }}\"\n style=\"--CountryFlagIcon-height: 1rem\"\n >\n \n </span>\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\">{{ listboxItem.label }}</label>\n </li>\n </ul>\n </div>\n </ng-container>\n <ng-template #actions>\n <div\n #listbox\n class=\"mc-listbox-options__container\"\n [attr.role]=\"getRole()\"\n [attr.aria-label]=\"getRole()\"\n >\n <ul\n *ngFor=\"let list of getItems(); let i = index; trackBy: trackByIndex\"\n class=\"mc-listbox-options__list\"\n >\n <li\n *ngFor=\"let listboxItem of list; let j = index; trackBy: trackByIndex\"\n class=\"mc-listbox-options__tile\"\n [ngClass]=\"{ 'is-disabled': listboxItem.disabled }\"\n >\n <moz-icon\n *ngIf=\"listboxItem && listboxItem.icon\"\n class=\"mc-listbox-options__icon\"\n [iconName]=\"listboxItem.icon\"\n [ngClass]=\"{ 'is-danger': listboxItem.danger }\"\n ></moz-icon>\n <button\n type=\"button\"\n class=\"mc-listbox-options__item\"\n [disabled]=\"listboxItem.disabled\"\n [ngClass]=\"{ 'is-danger': listboxItem.danger, 'is-disabled': listboxItem.disabled }\"\n (click)=\"selectedItemEvent(listboxItem)\"\n >\n {{ listboxItem.label }}\n </button>\n </li>\n </ul>\n </div>\n </ng-template>\n </ng-container>\n </div>\n</div>\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})\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 {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\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 { TaglistComponent } from '../taglist/taglist.component';\nimport { TagItem } from '../tag/tag-type';\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})\nexport class AutocompleteComponent implements ControlValueAccessor {\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 showTagList: boolean = false;\n @Input() public maxShowingSelectedTags: number = 5;\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\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 @ViewChild('taglist', { static: false }) taglistComponent!: TaglistComponent;\n\n public selectedItems: ListboxItem[] | ListboxItem | undefined;\n public originalListboxParent?: HTMLElement | null;\n public initialListboxItems: ListboxItem[] = [];\n onChange: any = () => {};\n onTouch: any = () => {};\n public noResults: boolean = false;\n _searchValue: string = '';\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 constructor(private cd: ChangeDetectorRef) {}\n\n ngOnChanges(): void {\n this.initialListboxItems = this.listboxItems.map((x) => ({ ...x }));\n }\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 }\n this.invalid = false;\n this.writeValue(listboxItemSelected);\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 getTagItemsFromSelectedItems(): TagItem[] {\n if (!this.selectedItems) {\n return [];\n }\n return (this.selectedItems as ListboxItem[]).map(\n (selectedItem) => ({ id: selectedItem.value, label: selectedItem.label } as TagItem)\n );\n }\n\n public removeTagEvent($event: TagItem): void {\n const selectedItems = (this.selectedItems as ListboxItem[]).filter(\n (selectedItem) => selectedItem.value !== $event.id\n );\n this.writeValue(selectedItems);\n if (this.getTagItemsFromSelectedItems().length === 0) {\n this.taglistComponent.closeTaglistLayer();\n }\n this.cd.detectChanges();\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.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","<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 >\n <div class=\"mc-autocomplete__main\" reference>\n <moz-tag\n *ngIf=\"showSelectedTag && multiple && getSelectedListboxItems().length > 0\"\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 <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 <div class=\"mc-autocomplete__loader mc-loader mc-loader--s\" *ngIf=\"loading\">\n <span class=\"mc-loader__spinner\">\n <moz-loader class=\"mc-loader__icon\" size=\"s\"></moz-loader>\n </span>\n </div>\n <button\n class=\"mc-autocomplete__clear\"\n type=\"button\"\n *ngIf=\"canClearField()\"\n (click)=\"clearFieldEvent()\"\n >\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 </div>\n </div>\n </moz-listbox>\n</div>\n<div class=\"mc-autocomplete__error\" *ngIf=\"invalid\">\n {{ errorContentText }}\n</div>\n<div class=\"mc-autocomplete__taglist\" *ngIf=\"showTagList && multiple && !openState\">\n <moz-taglist\n #taglist\n (removeTag)=\"removeTagEvent($event)\"\n [tagItems]=\"getTagItemsFromSelectedItems()\"\n [max]=\"maxShowingSelectedTags\"\n [layerTagsTitle]=\"layerTagsTitle\"\n [layerTagsIcon]=\"layerTagsIcon\"\n ></moz-taglist>\n</div>\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 { 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 { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ListboxComponent } from './listbox.component';\nimport { IconModule } from '../icon/icon.module';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [ListboxComponent],\n imports: [CommonModule, FormsModule, IconModule],\n exports: [ListboxComponent],\n})\nexport class ListboxModule {}\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 { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AutocompleteComponent } from './autocomplete.component';\nimport { TaglistModule } from '../taglist/taglist.module';\nimport { TagModule } from '../tag/tag.module';\nimport { ListboxModule } from '../listbox/listbox.module';\nimport { IconModule } from '../icon/icon.module';\nimport { LoaderModule } from '../loader/loader.module';\nimport { TextInputModule } from '../text-input/text-input.module';\nimport { FormsModule } from '@angular/forms';\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})\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 AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n EventEmitter,\n Inject,\n Input,\n Optional,\n Output,\n TemplateRef,\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})\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})\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})\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})\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(private cd: ChangeDetectorRef, public elementRef: ElementRef) {\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})\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})\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})\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 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})\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() {\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 }\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})\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 styleUrls: ['./moz-datatable-management.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\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})\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})\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})\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})\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})\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})\nexport class MozDatatableSortDirective implements OnInit {\n @Input('mozDatatableSort') columnDef?: ColumnDef;\n @Output() sortEmitter = new EventEmitter<unknown>();\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {}\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})\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})\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})\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 Output,\n ViewChild,\n forwardRef,\n} from '@angular/core';\nimport { ListboxItem } from '../listbox/model/listbox-item';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { TagItem } from '../tag/tag-type';\nimport { TaglistComponent } from '../taglist/taglist.component';\nimport { ButtonSizes } from '../button/button';\nimport { IconSize } from '../icon/icon-size';\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})\nexport class DropdownComponent implements ControlValueAccessor {\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 showSelectedTag: boolean = false;\n @Input() public showTagList: boolean = false;\n @Input() public maxShowingSelectedTags: number = 5;\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\n @Output() public scrollEnd = new EventEmitter<boolean>();\n @Output() public isOpen = new EventEmitter<boolean>();\n\n @ViewChild('taglist', { static: false }) taglistComponent!: TaglistComponent;\n\n public selectedItems: ListboxItem[] | ListboxItem | undefined;\n public iconSize = IconSize;\n constructor(private cd: ChangeDetectorRef) {}\n\n onChange: any = () => {};\n onTouch: any = () => {};\n\n writeValue(value: ListboxItem[] | ListboxItem | undefined): void {\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 if (this.openState) {\n this.openState = false;\n } else {\n this.openState = true;\n }\n }\n\n public itemsSelectedListboxEvent(listboxItemSelected: ListboxItem[] | ListboxItem): void {\n if (!this.multiple) {\n this.openState = false;\n }\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[])\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 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 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 getTagItemsFromSelectedItems(): TagItem[] {\n if (!this.selectedItems) {\n return [];\n }\n return (this.selectedItems as ListboxItem[]).map(\n (selectedItem) => ({ id: selectedItem.value, label: selectedItem.label } as TagItem)\n );\n }\n\n public removeTagEvent($event: TagItem): void {\n const selectedItems = (this.selectedItems as ListboxItem[]).filter(\n (selectedItem) => selectedItem.value !== $event.id\n );\n\n this.writeValue(selectedItems);\n if (this.getTagItemsFromSelectedItems().length === 0) {\n this.taglistComponent.closeTaglistLayer();\n }\n\n this.cd.detectChanges();\n }\n\n public scrollEndEvent($event: boolean): void {\n this.scrollEnd.emit($event);\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 >\n <div class=\"mc-dropdown__main\" reference>\n <moz-tag\n *ngIf=\"showSelectedTag && multiple && getSelectedListboxItems().length > 0\"\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 <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 <moz-icon *ngIf=\"getIcon()\" [size]=\"iconSize.L\" [iconName]=\"getIcon()\"></moz-icon>\n <ng-container *ngIf=\"multiple; else monoSelection\">{{\n getLabelFromMultipleSelection()\n }}</ng-container>\n <ng-template #monoSelection>{{ getLabelFromMonoSelection() }}</ng-template>\n </div>\n </button>\n\n <div class=\"mc-dropdown__tools\">\n <div class=\"mc-dropdown__loader mc-loader mc-loader--s\" *ngIf=\"loading\">\n <span class=\"mc-loader__spinner\">\n <moz-loader class=\"mc-loader__icon\" size=\"s\"></moz-loader>\n </span>\n </div>\n <button\n class=\"mc-dropdown__clear\"\n type=\"button\"\n *ngIf=\"canClearField()\"\n (click)=\"clearFieldEvent()\"\n >\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 </div>\n </div>\n </moz-listbox>\n</div>\n<div class=\"mc-dropdow__taglist\" *ngIf=\"showTagList && multiple && !openState\">\n <moz-taglist\n #taglist\n (removeTag)=\"removeTagEvent($event)\"\n [tagItems]=\"getTagItemsFromSelectedItems()\"\n [max]=\"maxShowingSelectedTags\"\n [layerTagsTitle]=\"layerTagsTitle\"\n [layerTagsIcon]=\"layerTagsIcon\"\n ></moz-taglist>\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})\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})\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})\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 styleUrls: ['./uploaded-files.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\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})\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})\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 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})\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(private cdRef: ChangeDetectorRef, private elementRef: ElementRef) {}\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})\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})\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})\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(@Inject(MODAL_CONFIG) private config: ModalConfig, private cd: ChangeDetectorRef) {}\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})\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})\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})\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})\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})\nexport class NotificationFooterComponent {}\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 { 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 private readonly container!: ComponentRef<NotificationContainerComponent>;\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.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 const componentFactory = this.componentFactoryResolver.resolveComponentFactory(\n NotificationContainerComponent\n );\n return componentFactory.create(this.injector);\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 styleUrls: ['./option-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\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})\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})\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})\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})\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})\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 { ListboxItem } from '../listbox';\nimport { Subject } from 'rxjs';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\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})\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 > </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 { ListboxModule } from '../listbox';\nimport { FieldModule } from '../field';\nimport { TextInputModule } from '../text-input';\nimport { FormsModule } from '@angular/forms';\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})\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})\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})\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})\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(@Inject(Injector) private injector: Injector, private cd: ChangeDetectorRef) {}\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})\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})\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})\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})\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})\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})\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})\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})\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\n public localOpen = false;\n public activeSubFeature?: MozSidebarFeatureComponent;\n\n public defaultOptions: SidebarOptions = { active: '', opened: true, closeOnSelect: true };\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.opened.emit(this.localOpen);\n }\n\n toggleUser() {\n if (!this.userCmp) return;\n this.userCmp.localOpen = !this.userCmp?.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\n this.featuresCmp?.forEach((it) => {\n clearAndHanddleCat(it);\n });\n this.utilitiesCmp?.forEach((it) => {\n clearAndHanddleCat(it);\n });\n item.selected = !item.selected;\n if (this.options?.closeOnSelect) {\n if (item instanceof MozSidebarFeatureComponent && item._category) {\n this.localOpen = true;\n } else {\n this.localOpen = false;\n }\n }\n }\n\n selectSubFeature(item: MozSidebarFeatureComponent) {\n this.activeSubFeature = item;\n }\n\n closeSubFeature() {\n this.activeSubFeature = undefined;\n }\n}\n","<nav class=\"mc-sidebar\" [ngClass]=\"localOpen ? '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]=\"localOpen ? 'is-open' : 'is-close'\">\n <a href=\"#\" [routerLink]=\"homeCmp.link\">\n <span class=\"mc-sidebar-feature-group__container\" [ngClass]=\"localOpen ? '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=\"localOpen\">\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': localOpen && item.selected, 'is-close': !localOpen || !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': localOpen, 'is-close': !localOpen }\">\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=\"localOpen\">\n <span class=\"mc-sidebar-feature-group__label\">\n <ng-container *ngTemplateOutlet=\"item.tmplText\"></ng-container>\n </span>\n <div *ngIf=\"localOpen && 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': localOpen, 'is-close': !localOpen }\">\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=\"localOpen\" [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': localOpen, 'is-close': !localOpen }\">\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]=\"localOpen ? 'is-open' : 'is-close'\">\n <button class=\"mc-sidebar-user__header\">\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=\"localOpen\">\n <p class=\"mc-sidebar-user__header__information\">\n <ng-container *ngTemplateOutlet=\"userCmp.templateRef\"></ng-container>\n </p>\n <span (click)=\"toggleUser()\" *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 <ul *ngIf=\"userCmp.features?.length && userCmp.localOpen\" [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': localOpen, 'is-close': !localOpen }\">\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]=\"localOpen ? '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})\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})\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})\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})\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})\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})\nexport class TextAreaComponent {\n private _invalid = false;\n\n private _valid = false;\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 @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 @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})\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})\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})\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","i2.TagComponent","i1.TaglistService","i2.LayerService","i3","i4.TagComponent","i4.TaglistComponent","i5.ListboxComponent","i6.IconComponent","i7.LoaderComponent","i8.TextInputComponent","i2.LinkComponent","i1.GlobalEventsService","i2","i4.ButtonComponent","i5.SelectComponent","i3.ButtonComponent","i4.CheckboxComponent","i5.IconComponent","i6.ToggleComponent","i1.LayerService","i2.ButtonComponent","i3.IconComponent","i2.PaginationComponent","i3.SelectComponent","i4","i6.MozDatatableFooterComponent","i7.MozDatatableSelectionComponent","i8.MozDatatableSortDirective","i2.ListboxComponent","i3.LoaderComponent","i4.IconComponent","i5.TagComponent","i6.TaglistComponent","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/tag/tag.component.ts","../../../../projects/kit/components/tag/tag.component.html","../../../../projects/kit/components/listbox/listbox.component.ts","../../../../projects/kit/components/listbox/listbox.component.html","../../../../projects/kit/components/text-input/text-input.component.ts","../../../../projects/kit/components/autocomplete/autocomplete.component.ts","../../../../projects/kit/components/autocomplete/autocomplete.component.html","../../../../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/tag/tag.module.ts","../../../../projects/kit/components/taglist/taglist.module.ts","../../../../projects/kit/components/listbox/listbox.module.ts","../../../../projects/kit/components/text-input/text-input.module.ts","../../../../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})\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})\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})\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})\nexport class IconComponent implements OnChanges {\n @Input() public iconName: string = '';\n @Input() public size?: IconSize;\n\n constructor(private readonly iconService: IconService, private readonly elementRef: ElementRef) {}\n\n ngOnChanges({ iconName }: SimpleChanges) {\n this.needRenderIcon(iconName?.currentValue, iconName?.previousValue) &&\n this.drawIcon(iconName?.currentValue, iconName?.previousValue);\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 previousIconName &&\n this.elementRef.nativeElement.classList.remove(this.getSizeClass(previousIconName));\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})\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})\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})\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 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})\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 {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { ListboxItem, Type } from './model/listbox-item';\nimport { BehaviorSubject, distinctUntilChanged, filter, fromEvent, Subject, takeUntil } from 'rxjs';\n\n@Component({\n selector: 'moz-listbox',\n templateUrl: './listbox.component.html',\n styleUrls: ['./listbox.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ListboxComponent implements OnDestroy, AfterViewInit, OnInit {\n @ViewChild('listbox', { read: ElementRef }) listboxElementRef!: ElementRef;\n @ViewChild('content', { read: ElementRef }) contentElementRef!: ElementRef;\n\n @Input() public listboxItems: any = [];\n @Input() public multiple: boolean = false;\n @Input() public selectedItems: ListboxItem[] | ListboxItem | undefined;\n @Input() public type?: Type = 'options';\n @Input() public overlay?: boolean = false;\n @Input() public maxWidth?: string;\n @Input() public maxHeight?: string;\n @Input() public width?: string;\n @Input() public disabled?: boolean;\n @Input() public withoutOverflow?: boolean;\n\n @Output() public itemsSelected = new EventEmitter<ListboxItem[] | ListboxItem>();\n @Output() public scrollEnd = new EventEmitter<boolean>();\n @Output() public isOpenChange = new EventEmitter<boolean>();\n public uuid = Math.random();\n public originalParent?: HTMLElement | null;\n public destroyed = new Subject();\n\n private _isOpen: BehaviorSubject<boolean> = new BehaviorSubject(false);\n\n constructor(private eRef: ElementRef) {}\n\n public get isOpen(): boolean {\n return this._isOpen.getValue();\n }\n\n @Input()\n set isOpen(value: boolean) {\n if (value !== this._isOpen.getValue()) {\n this._isOpen.next(value);\n }\n }\n\n @HostListener('document:click', ['$event'])\n clickout(event: Event) {\n const firstChild = this.contentElementRef?.nativeElement?.firstChild;\n if (this.listboxElementRef?.nativeElement && firstChild) {\n const listboxHtmlElementContainsClickTarget = this.listboxElementRef?.nativeElement.contains(\n event.target\n );\n const contentContainsClickTarget = firstChild?.contains(event.target);\n if (\n (!listboxHtmlElementContainsClickTarget && !contentContainsClickTarget) ||\n this.disabled\n ) {\n this.closeListbox();\n }\n }\n }\n\n ngOnInit(): void {\n this._isOpen\n .pipe(\n distinctUntilChanged(),\n filter((isOpen) => isOpen),\n takeUntil(this.destroyed)\n )\n .subscribe(() => {\n this.openListbox();\n });\n\n this._isOpen\n .pipe(\n distinctUntilChanged(),\n filter((isOpen) => !isOpen),\n takeUntil(this.destroyed)\n )\n .subscribe(() => {\n this.closeListbox();\n });\n }\n\n ngAfterViewInit(): void {\n fromEvent(window, 'resize')\n .pipe(takeUntil(this.destroyed))\n .subscribe(() => {\n this.closeListbox();\n });\n this.addScrollListeners(this.eRef.nativeElement);\n this.scroll();\n }\n\n public addScrollListeners(element: HTMLElement): void {\n if (element) {\n fromEvent(element, 'scroll')\n .pipe(takeUntil(this.destroyed))\n .subscribe(() => {\n this.closeListbox();\n });\n if (element.parentElement) {\n this.addScrollListeners(element.parentElement);\n }\n }\n }\n\n public scroll(): void {\n fromEvent(window, 'scroll')\n .pipe(takeUntil(this.destroyed))\n .subscribe(() => {\n this.closeListbox();\n });\n }\n\n public openListbox(): void {\n if (this.contentElementRef?.nativeElement?.firstChild) {\n this.isOpen = true;\n this.isOpenChange.emit(this.isOpen);\n const listBox = this.listboxElementRef.nativeElement;\n const contentElement = this.contentElementRef.nativeElement.firstChild;\n const inputRect = contentElement.getBoundingClientRect();\n const listBoxRect = listBox.getBoundingClientRect();\n listBox.style.position = 'absolute';\n setTimeout(() => {\n const listBoxHeight = listBox.firstChild.offsetHeight;\n const listBoxBottom = inputRect.bottom + window.scrollY + listBoxHeight;\n if (listBoxBottom > window.innerHeight) {\n listBox.style.top = inputRect.top - listBoxHeight + window.scrollY + 'px';\n }\n }, 1);\n listBox.style.top = inputRect.bottom + window.scrollY + 'px';\n listBox.style.left = inputRect.left + window.scrollX + 'px';\n listBox.style.maxHeight = this.maxHeight;\n listBox.style.maxWidth = this.maxWidth;\n listBox.style.zIndex = '2000000000';\n if (this.withoutOverflow) {\n if (listBoxRect.right > window.innerWidth) {\n listBox.style.left = window.innerWidth - listBoxRect.width + 'px';\n }\n if (listBoxRect.bottom > window.innerHeight) {\n listBox.style.top = window.innerHeight - listBoxRect.height + 'px';\n }\n }\n if (this.type === 'options') {\n listBox.style.width = inputRect.width + 'px';\n }\n this.originalParent = listBox.parentElement;\n document.body.appendChild(listBox);\n }\n }\n\n public closeListbox(): void {\n this.isOpen = false;\n if (this.originalParent && this.listboxElementRef) {\n this.isOpenChange.emit(this.isOpen);\n this.originalParent.appendChild(this.listboxElementRef.nativeElement);\n this.originalParent = null;\n }\n }\n\n public selectedItemEvent(listboxItem: 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);\n }\n } else {\n this.selectedItems = listboxItem;\n }\n if (this.type === 'actions') {\n this.closeListbox();\n }\n this.itemsSelected.emit(this.selectedItems);\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 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 };\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 getInputName(): string | null {\n return !this.multiple ? `listboxradio-${this.uuid}` : null;\n }\n\n public scrollEvent(event: Event) {\n const target = event.target as HTMLElement;\n const scrollTop = target.scrollTop;\n const scrollHeight = target.scrollHeight;\n const offsetHeight = target.offsetHeight;\n const isAtEnd = scrollTop + offsetHeight >= scrollHeight;\n\n if (isAtEnd) {\n this.scrollEnd.emit(true);\n }\n }\n\n public getItems(): ListboxItem[][] {\n const hasNestedArray = this.listboxItems.filter(Array.isArray).length;\n\n if (hasNestedArray === 0) {\n return [this.listboxItems];\n }\n\n return this.listboxItems;\n }\n\n public trackByIndex(index: number): number {\n return index;\n }\n\n ngOnDestroy() {\n if (this.listboxElementRef) {\n const mozListbox = this.listboxElementRef.nativeElement;\n mozListbox?.parentNode?.removeChild(mozListbox);\n }\n this.destroyed.next(null);\n this.destroyed.complete();\n }\n\n getListboxItemId(listboxItem: ListboxItem): string {\n var item = listboxItem.value.trim().replace(' ', '-');\n return `listboxItem-${item}`;\n }\n\n onScrollEvent(index: number): void {\n console.log('Index visible actuel : ', index);\n }\n}\n","<div class=\"mc-listbox__container\">\n <div #content>\n <ng-content select=\"[reference]\"></ng-content>\n </div>\n <div #listbox>\n <ng-container *ngIf=\"isOpen\">\n <ng-container *ngIf=\"type === 'options'; else actions\">\n <div\n class=\"mc-listbox\"\n [ngClass]=\"classObject()\"\n [ngStyle]=\"styleObject()\"\n [attr.role]=\"getRole()\"\n (scroll)=\"scrollEvent($event)\"\n >\n <cdk-virtual-scroll-viewport\n [itemSize]=\"50\"\n class=\"mc-listbox__scroll\"\n style=\"height: 220px\"\n >\n <ul class=\"mc-listbox__list\" [attr.role]=\"getRoleList()\" tabindex=\"0\">\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 >\n <moz-icon\n *ngIf=\"listboxItem.icon\"\n class=\"mc-listbox__icon\"\n [iconName]=\"listboxItem.icon\"\n [ngClass]=\"{ 'is-danger': listboxItem.danger }\"\n ></moz-icon>\n <span\n *ngIf=\"listboxItem.countryCode\"\n class=\"flag flag:{{ listboxItem.countryCode }}\"\n style=\"--CountryFlagIcon-height: 1rem\"\n >\n \n </span>\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 </div>\n </ng-container>\n <ng-template #actions>\n <div\n #listbox\n class=\"mc-listbox-options__container\"\n [attr.role]=\"getRole()\"\n [attr.aria-label]=\"getRole()\"\n >\n <ul\n *ngFor=\"let list of getItems(); let i = index; trackBy: trackByIndex\"\n class=\"mc-listbox-options__list\"\n >\n <li\n *ngFor=\"let listboxItem of list; let j = index; trackBy: trackByIndex\"\n class=\"mc-listbox-options__tile\"\n [ngClass]=\"{ 'is-disabled': listboxItem.disabled }\"\n >\n <moz-icon\n *ngIf=\"listboxItem && listboxItem.icon\"\n class=\"mc-listbox-options__icon\"\n [iconName]=\"listboxItem.icon\"\n [ngClass]=\"{ 'is-danger': listboxItem.danger }\"\n ></moz-icon>\n <button\n type=\"button\"\n class=\"mc-listbox-options__item\"\n [disabled]=\"listboxItem.disabled\"\n [ngClass]=\"{ 'is-danger': listboxItem.danger, 'is-disabled': listboxItem.disabled }\"\n (click)=\"selectedItemEvent(listboxItem)\"\n >\n {{ listboxItem.label }}\n </button>\n </li>\n </ul>\n </div>\n </ng-template>\n </ng-container>\n </div>\n</div>\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})\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 {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n Output,\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';\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})\nexport class AutocompleteComponent implements ControlValueAccessor, OnChanges {\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\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 _searchValue: string = '';\n\n constructor(private 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 }\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 }\n this.invalid = false;\n this.writeValue(listboxItemSelected);\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.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","<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 >\n <div class=\"mc-autocomplete__main\" reference>\n <moz-tag\n *ngIf=\"showSelectedTag && multiple && getSelectedListboxItems().length > 0\"\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 <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 <div class=\"mc-autocomplete__loader mc-loader mc-loader--s\" *ngIf=\"loading\">\n <span class=\"mc-loader__spinner\">\n <moz-loader class=\"mc-loader__icon\" size=\"s\"></moz-loader>\n </span>\n </div>\n <button\n class=\"mc-autocomplete__clear\"\n type=\"button\"\n *ngIf=\"canClearField()\"\n (click)=\"clearFieldEvent()\"\n >\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 </div>\n </div>\n </moz-listbox>\n</div>\n<div class=\"mc-autocomplete__error\" *ngIf=\"invalid\">\n {{ errorContentText }}\n</div>\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})\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})\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})\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 { 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 { 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 { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ListboxComponent } from './listbox.component';\nimport { IconModule } from '../icon/icon.module';\nimport { FormsModule } from '@angular/forms';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\n\n@NgModule({\n declarations: [ListboxComponent],\n imports: [CommonModule, FormsModule, IconModule, ScrollingModule],\n exports: [ListboxComponent],\n})\nexport class ListboxModule {}\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 { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AutocompleteComponent } from './autocomplete.component';\nimport { TaglistModule } from '../taglist/taglist.module';\nimport { TagModule } from '../tag/tag.module';\nimport { ListboxModule } from '../listbox/listbox.module';\nimport { IconModule } from '../icon/icon.module';\nimport { LoaderModule } from '../loader/loader.module';\nimport { TextInputModule } from '../text-input/text-input.module';\nimport { FormsModule } from '@angular/forms';\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})\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 AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n EventEmitter,\n Inject,\n Input,\n Optional,\n Output,\n TemplateRef,\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})\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})\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})\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})\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(private cd: ChangeDetectorRef, public elementRef: ElementRef) {\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})\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})\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})\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 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})\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() {\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 }\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})\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 styleUrls: ['./moz-datatable-management.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\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})\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})\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})\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})\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})\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})\nexport class MozDatatableSortDirective implements OnInit {\n @Input('mozDatatableSort') columnDef?: ColumnDef;\n @Output() sortEmitter = new EventEmitter<unknown>();\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {}\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})\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})\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})\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 Component,\n EventEmitter,\n Input,\n Output,\n forwardRef,\n} from '@angular/core';\nimport { ListboxItem } from '../listbox/model/listbox-item';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ButtonSizes } from '../button/button';\nimport { IconSize } from '../icon/icon-size';\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})\nexport class DropdownComponent implements ControlValueAccessor {\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 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\n @Output() public scrollEnd = new EventEmitter<boolean>();\n @Output() public isOpen = new EventEmitter<boolean>();\n\n public selectedItems: ListboxItem[] | ListboxItem | undefined;\n public iconSize = IconSize;\n\n constructor() {}\n\n onChange: any = () => {};\n onTouch: any = () => {};\n\n writeValue(value: ListboxItem[] | ListboxItem | undefined): void {\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 if (this.openState) {\n this.openState = false;\n } else {\n this.openState = true;\n }\n }\n\n public itemsSelectedListboxEvent(listboxItemSelected: ListboxItem[] | ListboxItem): void {\n if (!this.multiple) {\n this.openState = false;\n }\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[])\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 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 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","<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 >\n <div class=\"mc-dropdown__main\" reference>\n <moz-tag\n *ngIf=\"showSelectedTag && multiple && getSelectedListboxItems().length > 0\"\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 <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 <moz-icon *ngIf=\"getIcon()\" [size]=\"iconSize.L\" [iconName]=\"getIcon()\"></moz-icon>\n <ng-container *ngIf=\"multiple; else monoSelection\">{{\n getLabelFromMultipleSelection()\n }}</ng-container>\n <ng-template #monoSelection>{{ getLabelFromMonoSelection() }}</ng-template>\n </div>\n </button>\n\n <div class=\"mc-dropdown__tools\">\n <div class=\"mc-dropdown__loader mc-loader mc-loader--s\" *ngIf=\"loading\">\n <span class=\"mc-loader__spinner\">\n <moz-loader class=\"mc-loader__icon\" size=\"s\"></moz-loader>\n </span>\n </div>\n <button\n class=\"mc-dropdown__clear\"\n type=\"button\"\n *ngIf=\"canClearField()\"\n (click)=\"clearFieldEvent()\"\n >\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 </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})\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})\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})\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 styleUrls: ['./uploaded-files.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\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})\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})\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 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})\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(private cdRef: ChangeDetectorRef, private elementRef: ElementRef) {}\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})\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})\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})\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(@Inject(MODAL_CONFIG) private config: ModalConfig, private cd: ChangeDetectorRef) {}\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})\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})\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})\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})\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})\nexport class NotificationFooterComponent {}\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 { 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 private readonly container!: ComponentRef<NotificationContainerComponent>;\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.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 const componentFactory = this.componentFactoryResolver.resolveComponentFactory(\n NotificationContainerComponent\n );\n return componentFactory.create(this.injector);\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 styleUrls: ['./option-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\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})\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})\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})\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})\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})\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 { ListboxItem } from '../listbox';\nimport { Subject } from 'rxjs';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\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})\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 > </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 { ListboxModule } from '../listbox';\nimport { FieldModule } from '../field';\nimport { TextInputModule } from '../text-input';\nimport { FormsModule } from '@angular/forms';\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})\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})\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})\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})\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(@Inject(Injector) private injector: Injector, private cd: ChangeDetectorRef) {}\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})\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})\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})\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})\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})\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})\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})\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})\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\n public localOpen = false;\n public activeSubFeature?: MozSidebarFeatureComponent;\n\n public defaultOptions: SidebarOptions = { active: '', opened: true, closeOnSelect: true };\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.opened.emit(this.localOpen);\n }\n\n toggleUser() {\n if (!this.userCmp) return;\n this.userCmp.localOpen = !this.userCmp?.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\n this.featuresCmp?.forEach((it) => {\n clearAndHanddleCat(it);\n });\n this.utilitiesCmp?.forEach((it) => {\n clearAndHanddleCat(it);\n });\n item.selected = !item.selected;\n if (this.options?.closeOnSelect) {\n if (item instanceof MozSidebarFeatureComponent && item._category) {\n this.localOpen = true;\n } else {\n this.localOpen = false;\n }\n }\n }\n\n selectSubFeature(item: MozSidebarFeatureComponent) {\n this.activeSubFeature = item;\n }\n\n closeSubFeature() {\n this.activeSubFeature = undefined;\n }\n}\n","<nav class=\"mc-sidebar\" [ngClass]=\"localOpen ? '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]=\"localOpen ? 'is-open' : 'is-close'\">\n <a href=\"#\" [routerLink]=\"homeCmp.link\">\n <span class=\"mc-sidebar-feature-group__container\" [ngClass]=\"localOpen ? '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=\"localOpen\">\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': localOpen && item.selected, 'is-close': !localOpen || !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': localOpen, 'is-close': !localOpen }\">\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=\"localOpen\">\n <span class=\"mc-sidebar-feature-group__label\">\n <ng-container *ngTemplateOutlet=\"item.tmplText\"></ng-container>\n </span>\n <div *ngIf=\"localOpen && 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': localOpen, 'is-close': !localOpen }\">\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=\"localOpen\" [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': localOpen, 'is-close': !localOpen }\">\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]=\"localOpen ? 'is-open' : 'is-close'\">\n <button class=\"mc-sidebar-user__header\">\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=\"localOpen\">\n <p class=\"mc-sidebar-user__header__information\">\n <ng-container *ngTemplateOutlet=\"userCmp.templateRef\"></ng-container>\n </p>\n <span (click)=\"toggleUser()\" *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 <ul *ngIf=\"userCmp.features?.length && userCmp.localOpen\" [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': localOpen, 'is-close': !localOpen }\">\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]=\"localOpen ? '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})\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})\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})\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})\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})\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})\nexport class TextAreaComponent {\n private _invalid = false;\n\n private _valid = false;\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 @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 @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})\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})\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})\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","i2.TagComponent","i3","i4.ListboxComponent","i5.IconComponent","i6.LoaderComponent","i7.TextInputComponent","i1.TaglistService","i2.LayerService","i4.TagComponent","i2.LinkComponent","i1.GlobalEventsService","i2","i4.ButtonComponent","i5.SelectComponent","i6.IconComponent","i3.ButtonComponent","i4.CheckboxComponent","i6.ToggleComponent","i1.LayerService","i2.ButtonComponent","i3.IconComponent","i2.PaginationComponent","i3.SelectComponent","i4","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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"}
|