@agorapulse/ui-components 13.1.5 → 13.1.6
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/agorapulse-ui-components-13.1.6.tgz +0 -0
- package/esm2020/src/lib/tags/tag-list.component.mjs +74 -8
- package/esm2020/src/lib/tags/tag.component.mjs +21 -6
- package/esm2020/src/lib/tags-selector/tags-selector.component.mjs +2 -2
- package/esm2020/src/lib/text-measurement/text-measurement.service.mjs +27 -0
- package/fesm2015/agorapulse-ui-components.mjs +274 -171
- package/fesm2015/agorapulse-ui-components.mjs.map +1 -1
- package/fesm2020/agorapulse-ui-components.mjs +273 -170
- package/fesm2020/agorapulse-ui-components.mjs.map +1 -1
- package/package.json +1 -1
- package/src/lib/tags/tag-list.component.d.ts +22 -3
- package/src/lib/tags/tag.component.d.ts +9 -2
- package/src/lib/text-measurement/text-measurement.service.d.ts +8 -0
- package/agorapulse-ui-components-13.1.5.tgz +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agorapulse-ui-components.mjs","sources":["../../../libs/ui-components/src/lib/directives/autosize-textarea.directive.ts","../../../libs/ui-components/src/lib/add-comment/add-comment.component.ts","../../../libs/ui-components/src/lib/add-comment/add-comment.component.html","../../../libs/ui-components/src/lib/avatar/avatar.component.ts","../../../libs/ui-components/src/lib/avatar/avatar.component.html","../../../libs/ui-components/src/lib/modal/modal.component.ts","../../../libs/ui-components/src/lib/modal/modal.component.html","../../../libs/ui-components/src/lib/confirm-modal/confirm-modal.component.ts","../../../libs/ui-components/src/lib/confirm-modal/confirm-modal.component.html","../../../libs/ui-components/src/lib/datepicker/datepicker.component.ts","../../../libs/ui-components/src/lib/datepicker/datepicker.component.html","../../../libs/ui-components/src/lib/dots-stepper/dots-stepper.component.ts","../../../libs/ui-components/src/lib/dots-stepper/dots-stepper.component.html","../../../libs/ui-components/src/lib/directives/frozen-gif.directive.ts","../../../libs/ui-components/src/lib/directives/default-image.directive.ts","../../../libs/ui-components/src/lib/image-carousel/image-carousel.component.ts","../../../libs/ui-components/src/lib/image-carousel/image-carousel.component.html","../../../libs/ui-components/src/lib/feature-onboarding/feature-onboarding.component.ts","../../../libs/ui-components/src/lib/feature-onboarding/feature-onboarding.component.html","../../../libs/ui-components/src/lib/lead-modal/lead-modal.component.ts","../../../libs/ui-components/src/lib/lead-modal/lead-modal.component.html","../../../libs/ui-components/src/lib/media-display-overlay/media-display-overlay-dialog.component.ts","../../../libs/ui-components/src/lib/media-display-overlay/media-display-overlay-dialog.component.html","../../../libs/ui-components/src/lib/overlay/overlay-dialog.component.ts","../../../libs/ui-components/src/lib/overlay/overlay-dialog.component.html","../../../libs/ui-components/src/lib/overlay-in-div/overlay-in-div.component.ts","../../../libs/ui-components/src/lib/overlay-in-div/overlay-in-div.component.html","../../../libs/ui-components/src/lib/places/place.component.ts","../../../libs/ui-components/src/lib/places/place.component.html","../../../libs/ui-components/src/lib/places/place-list.component.ts","../../../libs/ui-components/src/lib/places/place-list.component.html","../../../libs/ui-components/src/lib/popmenu/options.ts","../../../libs/ui-components/src/lib/popmenu/popmenu-options.service.ts","../../../libs/ui-components/src/lib/popmenu/popmenu.component.ts","../../../libs/ui-components/src/lib/popmenu/popmenu.component.html","../../../libs/ui-components/src/lib/popmenu/popmenu.directive.ts","../../../libs/ui-components/src/lib/popmenu/popmenu.module.ts","../../../libs/ui-components/src/lib/splashscreen/splashscreen.component.ts","../../../libs/ui-components/src/lib/splashscreen/splashscreen.component.html","../../../libs/ui-components/src/lib/tags/tag.component.ts","../../../libs/ui-components/src/lib/tags/tag.component.html","../../../libs/ui-components/src/lib/tags/tag-list.component.ts","../../../libs/ui-components/src/lib/tags/tag-list.component.html","../../../libs/ui-components/src/lib/try-popup/try-popup.component.ts","../../../libs/ui-components/src/lib/try-popup/try-popup.component.html","../../../libs/ui-components/src/lib/tags-selector/tags-selector.component.ts","../../../libs/ui-components/src/lib/tags-selector/tags-selector.component.html","../../../libs/ui-components/src/lib/tooltip-neo/tooltip-neo.const.ts","../../../libs/ui-components/src/lib/tooltip-neo/tooltip-neo.service.ts","../../../libs/ui-components/src/lib/tooltip-neo/tooltip-neo.component.ts","../../../libs/ui-components/src/lib/tooltip-neo/tooltip-neo.component.html","../../../libs/ui-components/src/lib/tooltip-neo/tooltip-neo.directive.ts","../../../libs/ui-components/src/lib/timepicker/timepicker.component.ts","../../../libs/ui-components/src/lib/timepicker/timepicker.component.html","../../../libs/ui-components/src/lib/notification/notification.component.ts","../../../libs/ui-components/src/lib/notification/notification.component.html","../../../libs/ui-components/src/lib/stepper/stepper.component.ts","../../../libs/ui-components/src/lib/stepper/stepper.component.html","../../../libs/ui-components/src/lib/snackbar/snackbar.component.ts","../../../libs/ui-components/src/lib/snackbar/snackbar.component.html","../../../libs/ui-components/src/lib/paginator/paginator-button/paginator-button.component.ts","../../../libs/ui-components/src/lib/paginator/paginator-button/paginator-button.component.html","../../../libs/ui-components/src/lib/paginator/paginator.component.ts","../../../libs/ui-components/src/lib/paginator/paginator.component.html","../../../libs/ui-components/src/lib/slide-toggle/slide-toggle.component.ts","../../../libs/ui-components/src/lib/slide-toggle/slide-toggle.component.html","../../../libs/ui-components/src/lib/snackbars-thread/utils/const/snackbars-thread.const.ts","../../../libs/ui-components/src/lib/snackbars-thread/service/snackbars-thread.service.ts","../../../libs/ui-components/src/lib/snackbars-thread/component/snackbars-thread.component.ts","../../../libs/ui-components/src/lib/snackbars-thread/component/snackbars-thread.component.html","../../../libs/ui-components/src/lib/star-rating/star-rating.component.ts","../../../libs/ui-components/src/lib/star-rating/star-rating.component.html","../../../libs/ui-components/src/lib/directives/ellipsis.directive.ts","../../../libs/ui-components/src/lib/directives/equal-validator.directive.ts","../../../libs/ui-components/src/lib/directives/multi-style-text.directive.ts","../../../libs/ui-components/src/lib/directives/truncate-tooltip.directive.ts","../../../libs/ui-components/src/lib/password-input/password-input.component.ts","../../../libs/ui-components/src/lib/password-input/password-input.component.html","../../../libs/ui-components/src/lib/agorapulse-ui-components.module.ts","../../../libs/ui-components/src/lib/overlay/overlay-dialog-service.component.ts","../../../libs/ui-components/src/lib/snackbars-thread/model/snackbars-thread.model.ts","../../../libs/ui-components/index.ts","../../../libs/ui-components/agorapulse-ui-components.ts"],"sourcesContent":["import { AfterContentChecked, Directive, ElementRef, HostListener } from '@angular/core';\n\n@Directive({\n selector: 'textarea[ap-autosize]'\n})\n/**\n * expand textarea to fit content. Doesn't shrink.\n */\nexport class AutosizeTextareaDirective implements AfterContentChecked {\n\n static maxHeight: number = 200;\n\n constructor(public element: ElementRef) {}\n\n @HostListener('input')\n public onInput() {\n this.resize();\n }\n\n public ngAfterContentChecked() {\n this.resize();\n }\n\n public resize() {\n const style = this.element.nativeElement.style;\n const scrollHeight = this.element.nativeElement.scrollHeight;\n const actualHeight = this.element.nativeElement.offsetHeight;\n if (AutosizeTextareaDirective.maxHeight < scrollHeight) {\n // we arrived at the max\n style.overflow = 'auto';\n style.height = `${AutosizeTextareaDirective.maxHeight}px`;\n } else if (actualHeight < scrollHeight) {\n style.overflow = 'hidden';\n style.height = `${scrollHeight}px`;\n }\n }\n\n}\n","import {\n ChangeDetectionStrategy,\n Component, EventEmitter, forwardRef,\n Input, Output, TemplateRef,\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from \"@angular/forms\";\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-add-comment',\n templateUrl: './add-comment.component.html',\n styleUrls: ['./add-comment.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AddCommentComponent),\n multi: true\n }]\n})\nexport class AddCommentComponent implements ControlValueAccessor {\n\n @Input() placeholder: string = 'Add a comment';\n @Input() customTemplate: TemplateRef<any>;\n @Input() disable: boolean = false;\n\n @Output() action: EventEmitter<string> = new EventEmitter();\n\n _commentValue: string = '';\n public get commentValue(): string {\n return this._commentValue;\n }\n\n public set commentValue(value: string) {\n this._commentValue = value;\n this.propagateChange(value);\n }\n\n propagateChange: any = () => {};\n\n registerOnChange(fn: any): void {\n this.propagateChange = fn;\n }\n\n registerOnTouched(fn: any): void { }\n\n setDisabledState(isDisabled: boolean): void {\n this.disable = isDisabled;\n }\n\n writeValue(obj: any): void {\n this._commentValue = obj != undefined ? obj : '';\n this.propagateChange(this._commentValue);\n }\n\n onChange(event) {\n const value = event.target.value;\n this._commentValue = value != undefined ? value : '';\n this.propagateChange(value);\n }\n}\n","<div class=\"add-comment\">\n <textarea ap-autosize\n dir=\"auto\"\n matInput\n rows=\"1\"\n [placeholder]=\"placeholder\"\n [value]=\"_commentValue\"\n (keyup)=\"onChange($event)\"\n (change)=\"onChange($event)\">\n </textarea>\n\n <ng-template\n #defaultTemplate\n let-action=\"action\">\n <div class=\"default-template\">\n <button mat-stroked-button color=\"secondary\" (click)=\"action.emit('send')\">\n Send\n </button>\n </div>\n </ng-template>\n\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n action: action\n }\">\n </ng-template>\n</div>\n","import {ChangeDetectionStrategy, Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\nimport {customSvgsSymbolIds, flagSymbolIds, officialSymbolIds, symbolIds, SymbolType} from \"@agorapulse/ui-symbol\";\n\nconst SizeMap: {[key: string]: string} = {\n 'large': '64',\n 'normal': '48',\n 'medium': '40',\n 'medium-sm': '36',\n 'small': '32',\n 'mini': '24',\n 'mini-sm': '16',\n 'micro': '12',\n 'facebook': '40',\n 'linkedin': '40',\n 'instagram': '40',\n 'youtube': '40',\n 'google': '40',\n 'twitter': '48'\n};\n\nconst SizeMapNumbers: {[key: string]: number} = {\n 'large': 64,\n 'normal': 48,\n 'medium': 40,\n 'medium-sm': 36,\n 'small': 32,\n 'mini': 24,\n 'mini-sm': 16,\n 'micro': 12,\n 'facebook': 40,\n 'linkedin': 40,\n 'instagram': 40,\n 'youtube': 40,\n 'google': 40,\n 'twitter': 48\n};\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-avatar',\n styleUrls: ['./avatar.component.scss'],\n templateUrl: './avatar.component.html'\n})\nexport class AvatarComponent implements OnInit, OnChanges {\n\n @Input() border = '';\n @Input() defaultImageEnabled = true; // DEPRECATED default avatar if we don't have username\n @Input() fallbackSymbolId: SymbolType<typeof symbolIds> | SymbolType<typeof officialSymbolIds> |\n SymbolType<typeof customSvgsSymbolIds> | SymbolType<typeof flagSymbolIds> = 'single-neutral';\n @Input() fallbackSymbolSize: string | 'none' | 'pico' | 'nano' | 'micro' | 'mini' | 'small' | 'medium' | 'normal' | 'large' = 'mini';\n @Input() imageUrl: string;\n @Input() loading: 'auto' | 'lazy' | 'eager' = 'auto';\n @Input() outerBorderHidden = false;\n @Input() size:\n 'large' | 'normal'| 'medium' | 'medium-sm' | 'small' | 'mini' | 'mini-sm' | 'micro' |\n 'facebook' | 'twitter' | 'linkedin' | 'instagram' | 'youtube' | 'google' = 'medium';\n @Input() social: 'facebook' | 'instagram' | 'linkedin' | 'twitter' | 'youtube' | 'google';\n @Input() username: string; // used to display initials\n @Input() rounded = false;\n @Input() online = false;\n @Input() imageUrls: string[];\n\n socialSize: string;\n sizeMap = SizeMap;\n sizeMapNumbers = SizeMapNumbers;\n\n ngOnInit(): void {\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.social?.currentValue || changes.size?.currentValue) {\n if (this.social === 'google') {\n switch (this.size) {\n case 'medium-sm':\n this.socialSize = '14';\n break;\n case 'mini':\n this.socialSize = '15';\n break;\n case 'mini-sm':\n this.socialSize = '10';\n break; \n default:\n this.socialSize = '19';\n }\n } else {\n switch (this.size) {\n case 'medium-sm':\n case 'mini':\n this.socialSize = '12';\n break;\n case 'mini-sm':\n this.socialSize = '8';\n break; \n default:\n this.socialSize = '16';\n }\n }\n }\n if (changes.defaultImageEnabled && changes.defaultImageEnabled.currentValue) {\n console.warn(\"'defaultImageEnabled' attribute is deprecated.\")\n }\n }\n\n\n onError(): void {\n this.imageUrl = null;\n }\n\n}\n","<div class=\"ap-avatar-container {{size}}\"\n [style.width]=\"imageUrls ? (imageUrls.length < 4 ? sizeMapNumbers[size] * (imageUrls.length / 3 + 1) + 'px' : sizeMapNumbers[size] * 1.5 + 'px') : sizeMapNumbers[size] + 'px'\">\n <!-- simple avatar -->\n <div *ngIf=\"imageUrl || imageUrls; else noPicture\">\n <img *ngIf=\"imageUrl && !imageUrls\"\n class=\"ap-avatar {{size}}\"\n [class.outer-border]=\"!outerBorderHidden\"\n [class.rounded]=\"rounded\"\n [attr.border]=\"border\"\n [attr.loading]=\"loading\"\n [attr.height]=\"sizeMap[size]\"\n [attr.width]=\"sizeMap[size]\"\n [src]=\"imageUrl\"\n (error)=\"onError()\"/>\n <div *ngIf=\"imageUrls && !imageUrl\"\n class=\"multi-avatar-container\">\n <div *ngFor=\"let url of imageUrls | slice: 0:3; let i = index\">\n <img *ngIf=\"url\" class=\"ap-avatar {{size}} multi\"\n [class.outer-border]=\"!outerBorderHidden\"\n [class.rounded]=\"rounded\"\n [style.z-index]=\"i\"\n [style.left]=\"i * sizeMapNumbers[size] / 3 + 'px'\"\n [attr.border]=\"border\"\n [attr.loading]=\"loading\"\n [attr.height]=\"sizeMap[size]\"\n [attr.width]=\"sizeMap[size]\"\n [src]=\"url\"\n (error)=\"onError()\"/>\n <span *ngIf=\"!url\"\n class=\"ap-avatar ap-avatar-username {{size}} multi\"\n [style.z-index]=\"i\"\n [style.left]=\"i * sizeMapNumbers[size] / 3 + 'px'\"\n [class.outer-border]=\"!outerBorderHidden\"\n [class.rounded]=\"rounded\"\n [attr.border]=\"border\">\n <ng-container *ngIf=\"username; else symbol\">\n {{username.charAt(0).toUpperCase()}}\n </ng-container>\n <ng-template #symbol>\n <ap-symbol\n [size]=\"fallbackSymbolSize\"\n [symbolId]=\"fallbackSymbolId\">\n </ap-symbol>\n </ng-template>\n </span>\n </div>\n </div>\n </div>\n <!-- image with first letter of screen name -->\n <ng-template #noPicture>\n <span\n class=\"ap-avatar ap-avatar-username {{size}}\"\n [class.outer-border]=\"!outerBorderHidden\"\n [class.rounded]=\"rounded\"\n [attr.border]=\"border\">\n <ng-container *ngIf=\"username; else symbol\">\n {{username.charAt(0).toUpperCase()}}\n </ng-container>\n <ng-template #symbol>\n <ap-symbol\n [size]=\"fallbackSymbolSize\"\n [symbolId]=\"fallbackSymbolId\">\n </ap-symbol>\n </ng-template>\n </span>\n </ng-template>\n\n <div *ngIf=\"social\"\n class=\"social-symbol-wrapper {{social}} {{size}}\">\n <ap-symbol [symbolId]=\"social === 'google' ? social + '-my-business-official' : social + '-official'\"\n [size]=\"socialSize\">\n </ap-symbol>\n </div>\n <div *ngIf=\"online\" class=\"online-indicator {{size}}\"></div>\n\n</div>\n<label>\n <ng-content></ng-content>\n</label>\n","import {ChangeDetectionStrategy, Component, Input, TemplateRef} from '@angular/core';\nimport {MatDialog, MatDialogRef} from '@angular/material/dialog';\nimport {MatDialogConfig} from '@angular/material/dialog';\nimport {ComponentType} from '@angular/cdk/portal';\n\nexport interface ModalConfig extends ModalConfigBase {\n closable?: boolean;\n headerBottomBorderEnabled?: boolean;\n}\n\nexport interface ModalConfigBase {\n backdropCloseEnable?: boolean;\n matDialogConfig?: MatDialogConfig;\n}\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-modal',\n templateUrl: 'modal.component.html',\n styleUrls: ['modal.component.scss']\n})\nexport class ModalComponent {\n\n static readonly PANEL_CLASS = 'modal-container';\n\n constructor(\n public dialogRef: MatDialogRef<ComponentType<any>>) {\n dialogRef.disableClose = true;\n }\n\n @Input() closable: boolean;\n @Input() headerBottomBorderEnabled: boolean;\n @Input() footerTemplate: TemplateRef<any>;\n @Input() footerVisible = true;\n @Input() headerTemplate: TemplateRef<any>;\n @Input() headerVisible = true;\n @Input() mainTemplate: TemplateRef<any>;\n @Input() config: MatDialogConfig;\n @Input() containerStyle: {[arg: string]: string} = {};\n @Input() headerStyle: {[arg: string]: string} = {};\n @Input() contentStyle: {[arg: string]: string} = {};\n @Input() footerStyle: {[arg: string]: string} = {};\n @Input() defaultLayout = true;\n\n /**\n * Use it to open a modal containing the {@link componentType} component, with the right configuration.\n */\n static openWithComponent<T>(\n matDialog: MatDialog,\n config: ModalConfigBase,\n componentType: ComponentType<T>): MatDialogRef<T> {\n let matDialogConfig: MatDialogConfig;\n if (config) {\n matDialogConfig = config.matDialogConfig;\n if (matDialogConfig) {\n matDialogConfig.panelClass = Array.isArray(config.matDialogConfig.panelClass)\n ? [ ...config.matDialogConfig.panelClass, ModalComponent.PANEL_CLASS ] // in case where the panelClass is an array\n : [ config.matDialogConfig.panelClass , ModalComponent.PANEL_CLASS]; // in the other case, it's a String\n } else {\n matDialogConfig = { panelClass: ModalComponent.PANEL_CLASS };\n }\n } else {\n matDialogConfig = {\n panelClass: ModalComponent.PANEL_CLASS\n };\n }\n matDialogConfig.autoFocus = false; // Prevent first button to be focused\n\n const dialogRef = matDialog.open(componentType, matDialogConfig);\n if (config.backdropCloseEnable === true) {\n dialogRef.disableClose = false;\n }\n return dialogRef;\n }\n\n /**\n * Use it to open a modal containing the provided templates, with the right configuration.\n */\n static openWithTemplates(\n matDialog: MatDialog,\n headerTemplate: TemplateRef<any>,\n mainTemplate: TemplateRef<any>,\n footerTemplate?: TemplateRef<any>,\n config?: ModalConfig): MatDialogRef<ModalComponent> {\n const dialogRef = ModalComponent.openWithComponent(matDialog, config, ModalComponent);\n dialogRef.componentInstance.closable = (config && config.closable) ? config.closable : false;\n dialogRef.componentInstance.headerBottomBorderEnabled = (config && config.headerBottomBorderEnabled) ? config.headerBottomBorderEnabled : false;\n dialogRef.componentInstance.headerTemplate = headerTemplate;\n dialogRef.componentInstance.mainTemplate = mainTemplate;\n dialogRef.componentInstance.footerTemplate = footerTemplate;\n return dialogRef;\n }\n\n close(): void {\n this.dialogRef.close();\n }\n}\n","<div\n [ngStyle]=\"containerStyle\"\n [ngClass]=\"{'modal-wrapper': true, 'default-layout': defaultLayout}\">\n <button\n *ngIf=\"closable\"\n class=\"circle close-button\"\n mat-flat-button\n (click)=\"close()\">\n <ap-symbol symbolId=\"close\"></ap-symbol>\n </button>\n <div\n *ngIf=\"headerTemplate && headerVisible\"\n [ngStyle]=\"headerStyle\"\n [ngClass]=\"{header: defaultLayout}\"\n [class.border-bottom]=\"headerBottomBorderEnabled\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"></ng-template>\n </div>\n <div\n *ngIf=\"mainTemplate\"\n [ngStyle]=\"contentStyle\"\n [ngClass]=\"{content: defaultLayout}\">\n <ng-template [ngTemplateOutlet]=\"mainTemplate\"></ng-template>\n </div>\n <div\n *ngIf=\"footerTemplate && footerVisible\"\n [ngStyle]=\"footerStyle\"\n [ngClass]=\"{footer: defaultLayout}\">\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"></ng-template>\n </div>\n</div>\n","import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\nimport {ComponentType} from '@angular/cdk/portal';\nimport {MatDialog, MatDialogRef} from '@angular/material/dialog';\nimport {ModalComponent, ModalConfig} from '../modal/modal.component';\nimport {ConfirmModalTexts} from './confirm-modal-texts.model';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-confirm-modal',\n templateUrl: 'confirm-modal.component.html',\n})\nexport class ConfirmModalComponent {\n\n @Input() contentText: string = '';\n @Input() footerCancelButtonId: string = 'cancel';\n @Input() footerCancelButtonLabel: string = '';\n @Input() footerConfirmButtonId: string = 'confirm';\n @Input() footerConfirmButtonLabel: string = '';\n @Input() headerTitle: string = '';\n\n constructor(\n public dialogRef: MatDialogRef<ComponentType<any>>) {\n dialogRef.disableClose = true;\n }\n\n onCancel() {\n this.dialogRef.close(false);\n }\n\n onConfirm() {\n this.dialogRef.close(true);\n }\n\n static open(dialog: MatDialog, confirmModalTexts: ConfirmModalTexts, modalConfig: ModalConfig = null) {\n if (!modalConfig) {\n modalConfig = {};\n }\n if (!modalConfig.matDialogConfig) {\n modalConfig.matDialogConfig = {\n width: '550px'\n };\n }\n const confirmModal = ModalComponent.openWithComponent(dialog, modalConfig, ConfirmModalComponent);\n confirmModal.componentInstance.contentText = confirmModalTexts.contentText;\n confirmModal.componentInstance.footerConfirmButtonId = confirmModalTexts.footerConfirmButtonId;\n confirmModal.componentInstance.footerConfirmButtonLabel = confirmModalTexts.footerConfirmButtonLabel;\n confirmModal.componentInstance.footerCancelButtonId = confirmModalTexts.footerCancelButtonId;\n confirmModal.componentInstance.footerCancelButtonLabel = confirmModalTexts.footerCancelButtonLabel;\n confirmModal.componentInstance.headerTitle = confirmModalTexts.headerTitle;\n return confirmModal;\n }\n}\n","<ng-template #headerTemplate>\n <h2>{{headerTitle}}</h2>\n</ng-template>\n\n<ng-template #mainTemplate>\n <p>{{contentText}}</p>\n</ng-template>\n\n<ng-template #footerTemplate>\n <button mat-flat-button (click)=\"onCancel()\" [id]=\"footerCancelButtonId\">\n {{ footerCancelButtonLabel }}\n </button>\n <button mat-flat-button color=\"primary\" cdkFocusInitial [id]=footerConfirmButtonId\n (click)=\"onConfirm()\">\n {{ footerConfirmButtonLabel }}\n </button>\n</ng-template>\n\n<ap-modal [closable]=\"true\"\n [headerTemplate]=\"headerTemplate\"\n [mainTemplate]=\"mainTemplate\"\n [footerTemplate]=\"footerTemplate\"\n></ap-modal>\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n ViewChild\n} from '@angular/core';\nimport {DaterangepickerComponent} from \"ngx-daterangepicker-material\";\nimport moment from 'moment';\nimport {Moment} from 'moment';\n\nexport enum DatepickerMode {\n Single = 'Single',\n Multiple = 'Multiple',\n Range = 'Range'\n}\n\nexport interface Period {\n startDate: Moment;\n endDate: Moment;\n}\n\nexport interface I18nDatePicker {\n ranges: {\n yesterday: string;\n lastWeek: string;\n last30Days: string;\n lastMonth: string;\n thisMonth: string;\n }\n}\n\nenum SideEnum {\n left = \"left\",\n right = \"right\"\n}\n\n// TODO fix css for range mode (more lateral padding)\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-datepicker',\n templateUrl: './datepicker.component.html',\n styleUrls: ['./datepicker.component.scss']\n})\nexport class DatepickerComponent implements OnInit, OnChanges, AfterViewInit {\n @ViewChild('datepickerRef') datepickerRef: DaterangepickerComponent;\n\n @Input() firstDayOfWeek: string;\n @Input() i18n: I18nDatePicker = {\n ranges: {\n yesterday: 'Yesterday',\n lastWeek: 'Last Week',\n last30Days: 'Last 30 days',\n lastMonth: 'Previous month',\n thisMonth: 'This Month',\n }\n };\n @Input() locale;\n @Input() maxDate: Moment;\n @Input() minDate: Moment;\n @Input() mode: DatepickerMode;\n @Input() selectedDate: Moment;\n @Input() selectedDates: Moment[] = [];\n @Input() selectedPeriod: Period = {startDate: null, endDate: null};\n @Input() showRanges: boolean;\n\n @Output() dateSelected = new EventEmitter<any>();\n @Output() periodSelected = new EventEmitter<Period>();\n\n DatepickerMode = DatepickerMode;\n doubleCalendarWidth = 528; // 231px calendar table * 2 = 462 (+ 16px x-padding * 4 = 64)\n localeConfig: {\n customRangeLabel: string;\n daysOfWeek: string[];\n monthNames: string[];\n firstDay: number;\n };\n ranges: {[period: string]: [Moment, Moment]} = {};\n rangePickerWidth = 150;\n width: number;\n pageSet = false;\n\n constructor(public changeDetectorRef: ChangeDetectorRef) {}\n\n ngOnInit() {\n this.initRanges();\n this.initDatePickerLocale();\n }\n\n ngOnChanges(changes) {\n this.setWidth();\n if (this.datepickerRef) {\n setTimeout(() => {\n this.datepickerRef.updateCalendars();\n this.changeDetectorRef.detectChanges();\n }, 100);\n }\n if (changes.selectedPeriod?.currentValue && this.datepickerRef) {\n if (this.selectedPeriod.startDate === null && this.selectedPeriod.endDate === null) {\n this.datepickerRef.clear();\n } else {\n this.datepickerRef.setStartDate(this.selectedPeriod.startDate);\n this.datepickerRef.setEndDate(this.selectedPeriod.endDate);\n }\n }\n if (changes.mode?.currentValue === DatepickerMode.Single && this.datepickerRef) {\n this.setCalendarCurrentPage();\n }\n }\n ngAfterViewInit(): void {\n if (this.datepickerRef) {\n setTimeout(() => {\n this.datepickerRef.updateCalendars();\n this.setCalendarCurrentPage();\n }, 100);\n }\n }\n\n initDatePickerLocale() {\n if (this.locale) {\n moment.locale(this.locale);\n }\n let firstDayOfWeekIndex: number;\n if (this.firstDayOfWeek === \"sunday\") {\n firstDayOfWeekIndex = 0;\n } else if (this.firstDayOfWeek === \"monday\") {\n firstDayOfWeekIndex = 1;\n } else {\n firstDayOfWeekIndex = moment.localeData().firstDayOfWeek();\n }\n this.localeConfig = {\n customRangeLabel: 'custom',\n daysOfWeek: moment.weekdaysMin(),\n monthNames: moment.months(),\n firstDay: firstDayOfWeekIndex\n };\n }\n\n initRanges() {\n this.ranges[this.i18n.ranges.yesterday] = [moment().subtract(1, 'days'), moment().subtract(1, 'days')];\n this.ranges[this.i18n.ranges.lastWeek] = [moment().subtract(7, 'days'), moment().subtract(1, 'days')];\n this.ranges[this.i18n.ranges.last30Days] = [moment().subtract(30, 'days'), moment().subtract(1, 'days')];\n this.ranges[this.i18n.ranges.lastMonth] = [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')];\n this.ranges[this.i18n.ranges.thisMonth] = [moment().startOf('month'), moment().endOf('month')];\n }\n\n isCustomDate = (date: any) => {\n const classes: string[] = [];\n if (this.mode === DatepickerMode.Multiple) {\n classes.push(this.isSelected(date) ? 'active' : 'force-inactive');\n } else if (this.mode === DatepickerMode.Single) {\n classes.push(this.selectedDate && this.selectedDate.isSame(date, 'day') ? 'active' : 'force-inactive');\n } else if (this.mode === DatepickerMode.Range) {\n classes.push('range-picker-mode');\n // Workaround to fix the auto-active today date when no date is selected\n if (moment().isSame(date, 'day')\n && !this.selectedPeriod?.startDate\n && !this.selectedPeriod?.endDate) {\n classes.push('force-inactive');\n }\n }\n return classes;\n }\n\n private isSelected(date: any) {\n return this.selectedDates && this.selectedDates.some(selectedDate => selectedDate.isSame(date, 'day'));\n }\n\n onStartDateChanged(event: any) {\n const date = event.startDate;\n if (this.mode !== DatepickerMode.Range) {\n this.selectedDate = date;\n this.datepickerRef.setEndDate(date);\n if (this.pageSet) {\n this.pageSet = false;\n } else {\n this.dateSelected.emit(date.clone());\n if (this.mode === DatepickerMode.Multiple) {\n this.selectedDates.push(date);\n }\n }\n if (this.datepickerRef) {\n this.datepickerRef.updateCalendars();\n }\n }\n }\n\n onDatesUpdated(event: any) {\n if (this.mode === DatepickerMode.Range) {\n this.periodSelected.emit({\n startDate: event.startDate?.clone(),\n endDate: event.endDate?.clone()\n });\n }\n if (this.datepickerRef) {\n this.datepickerRef.updateCalendars();\n }\n }\n\n onNextMonth() {\n this.datepickerRef.leftCalendar.month = this.datepickerRef.leftCalendar.month.add(1, 'months').clone();\n this.datepickerRef.rightCalendar.month = this.datepickerRef.rightCalendar.month.add(1, 'months').clone();\n this.datepickerRef.clickNext(SideEnum.left);\n this.datepickerRef.clickNext(SideEnum.right);\n }\n\n onPreviousMonth() {\n this.datepickerRef.leftCalendar.month = this.datepickerRef.leftCalendar.month.subtract(1, 'months').clone();\n this.datepickerRef.rightCalendar.month = this.datepickerRef.rightCalendar.month.subtract(1, 'months').clone();\n this.datepickerRef.clickPrev(SideEnum.left);\n this.datepickerRef.clickPrev(SideEnum.right);\n }\n\n /**\n * Ugly hack used here to open the calendar on the right day if they are selected dates\n * * https://github.com/fetrarij/ngx-daterangepicker-material/issues/139\n */\n setCalendarCurrentPage(): void {\n const selectedFirstDate = this.selectedDates.length > 0 ? this.selectedDates[0] : this.selectedDate;\n if (selectedFirstDate && selectedFirstDate.isValid() && this.mode !== DatepickerMode.Range) {\n const endDate = selectedFirstDate.clone();\n endDate.add(1, 'month');\n this.pageSet = true;\n this.datepickerRef.setStartDate(selectedFirstDate);\n this.datepickerRef.setEndDate(endDate);\n this.datepickerRef.updateView();\n }\n this.changeDetectorRef.detectChanges();\n }\n\n\n setWidth() {\n this.width = this.showRanges && this.mode === DatepickerMode.Range ? this.doubleCalendarWidth + this.rangePickerWidth : this.doubleCalendarWidth;\n }\n\n}\n","<div class=\"custom-calendar\" [style.width]=\"width + 'px'\">\n <div class=\"custom-header\">\n <div class=\"month-header\"\n *ngIf=\"this.datepickerRef.leftCalendar.month\">\n <div class=\"month-arrow-button\" (click)=\"onPreviousMonth()\">\n <ap-symbol\n [symbolId]=\"'arrow-left-1'\"\n [color]=\"'#858FA1'\"\n [size]=\"'14'\"></ap-symbol>\n </div>\n <div class=\"month-label\">\n {{ this.datepickerRef.leftCalendar.month.locale(locale).format('MMMM YYYY') }}\n </div>\n </div>\n <div class=\"month-header\"\n *ngIf=\"this.datepickerRef.rightCalendar.month\">\n <div class=\"month-label\">\n {{ this.datepickerRef.rightCalendar.month.locale(locale).format('MMMM YYYY') }}\n </div>\n <div class=\"month-arrow-button\" (click)=\"onNextMonth()\">\n <ap-symbol\n [symbolId]=\"'arrow-right-1'\"\n [color]=\"'#858FA1'\"\n [size]=\"'14'\"></ap-symbol>\n </div>\n </div>\n <div class=\"header-filler\" *ngIf=\"showRanges && mode === DatepickerMode.Range\">\n </div>\n </div>\n <ngx-daterangepicker-material\n #datepickerRef\n [class.hide-ranges]=\"!showRanges\"\n [alwaysShowCalendars]=\"true\"\n [autoApply]=\"true\"\n [customRangeDirection]=\"true\"\n [isCustomDate]=\"isCustomDate\"\n [locale]=\"localeConfig\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [ranges]=\"showRanges && mode === DatepickerMode.Range ? ranges : null\"\n (datesUpdated)=\"onDatesUpdated($event)\"\n (startDateChanged)=\"onStartDateChanged($event)\">\n </ngx-daterangepicker-material>\n</div>\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-dots-stepper',\n templateUrl: './dots-stepper.component.html',\n styleUrls: ['./dots-stepper.component.scss']\n})\nexport class DotsStepperComponent implements OnChanges {\n\n @Input() disabled: boolean = false;\n @Input() forwardAllowed: boolean = true;\n @Input() index: number;\n @Input() items: any[] = [];\n @Input() size: string = '';\n\n @Output() dotClick: EventEmitter<number> = new EventEmitter<number>();\n\n currentItem: any;\n\n constructor() {\n }\n\n ngOnChanges() {\n this.currentItem = this.items[this.index];\n }\n\n onDotClick(event, item, index) {\n event.stopPropagation();\n if (this.disabled || (!this.forwardAllowed && index > this.index)) {\n return;\n }\n this.currentItem = item;\n this.index = index;\n this.dotClick.emit(this.index);\n }\n}\n","<div class=\"dots\"\n [ngClass]=\"{'small-dots': size == 'small'}\">\n <div class=\"dot\"\n *ngFor=\"let item of items; let i = index\"\n [ngClass]=\"{'active': item === currentItem, 'disabled': disabled || (!forwardAllowed && i > index) }\"\n (click)=\"onDotClick($event, item, i)\">\n </div>\n</div>\n","import {Directive, ElementRef, Input, OnChanges} from '@angular/core';\n\nexport class GifService {\n static isGif(src: String) {\n return src && src.split('?')[0].endsWith('.gif');\n }\n}\n\n/**\n * If the image is a GIF then replace the img element by a canvas containing a frozen gif.\n * Note 1: if the image is displayed under a condition, the condition must be applied on the parent of the image, so the\n * new canvas element will have the same condition.\n * Note 2: the image must not have the properties \"display\" and \"visibility\" in its style. Since they are used to frozen\n * the GIF. You need to apply this properties on the parent element.\n * Note 3: If the GIF is frozen, all the event are propagated to the image. However, all events are dispatched\n * with an Event instance. Ex: click event is not dispatched with a MouseEvent instance.\n */\n\n@Directive({\n selector: 'img[apFrozenGif]',\n host: {\n '[src]': 'src'\n }\n})\nexport class FrozenGifDirective implements OnChanges {\n @Input() src: string;\n @Input('apFrozen') frozen = true;\n // Add all the events that need to be propagated.\n @Input('apGifEvents') events: string[] = ['click'];\n\n private readonly element: HTMLImageElement;\n private canvas: HTMLCanvasElement;\n\n constructor(private elementRef: ElementRef) {\n const element = this.elementRef.nativeElement;\n if (!(element instanceof HTMLImageElement)) {\n return;\n }\n\n this.element = element;\n }\n\n ngOnChanges(changes: any): void {\n let freeze = false;\n if (changes.src) {\n freeze = true;\n }\n if (changes.frozen) {\n if (changes.frozen.currentValue) {\n freeze = true;\n } else {\n this.unfreeze();\n }\n }\n\n if (freeze) {\n this.freeze();\n }\n\n }\n\n private freeze() {\n if (!GifService.isGif(this.src) || !this.frozen) {\n this.unfreeze();\n return;\n }\n\n // hack to avoid displaying the GIF before replacing it by the canvas\n this.element.style.visibility = 'hidden';\n this.element.addEventListener('load', () => this.addCanvas());\n }\n\n private addCanvas() {\n if (this.canvas) {\n this.canvas.remove();\n }\n\n this.canvas = document.createElement('canvas');\n this.canvas.width = this.element.width;\n this.canvas.height = this.element.height;\n this.canvas.getContext('2d').drawImage(this.element, 0, 0, this.canvas.width, this.canvas.height);\n for (let i = 0; i < this.element.attributes.length; i++) {\n const attr = this.element.attributes[i];\n if (attr.name === 'id') { // avoid two elements with the same id\n this.canvas.setAttribute('id', attr.value + '_frozenGif');\n } else if (attr.name === 'style' && attr.value.includes('visibility: hidden;') || attr.value.includes('display: none;')) {\n // remove the added 'visibility: hidden' and 'display: none'\n const styleValue = attr.value;\n this.canvas.setAttribute('style', styleValue.replace('visibility: hidden;', '').replace('display: none;', ''));\n } else if (attr.name !== '\"') { // test for invalid attributes\n this.canvas.setAttribute(attr.name, attr.value);\n }\n }\n\n this.addEvents();\n\n this.element.parentNode.insertBefore(this.canvas, this.element);\n this.element.style.display = 'none';\n }\n\n private addEvents() {\n this.events.forEach((eventName: string) => {\n this.canvas.addEventListener(eventName, (ev: Event) => this.element.dispatchEvent(\n // wm: find a way to dispatch the right event type\n new Event(ev.type, ev)\n ));\n });\n }\n\n private unfreeze() {\n if (this.canvas) {\n this.canvas.remove();\n this.canvas = null;\n }\n this.element.style.visibility = 'inherit';\n this.element.style.display = 'inherit';\n }\n}\n","import {Directive, Input} from '@angular/core';\n\n@Directive({\n selector: 'img[default]',\n host: {\n '(error)': 'updateUrl()',\n '[src]': 'src'\n }\n})\nexport class DefaultImageDirective {\n @Input() src: string;\n @Input() default: string;\n\n updateUrl() {\n if (this.default) {\n this.src = this.default;\n } else {\n this.src = 'assets/lib-ui-components/img/default-avatar.png';\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input, OnChanges,\n Output, SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport {animate, AnimationBuilder, style} from '@angular/animations';\n\nexport enum InstagramCarouselItemType {\n IMAGE = 'photo',\n VIDEO = 'video'\n}\n\nexport interface InstagramCarouselItem {\n type: InstagramCarouselItemType;\n url: string;\n thumbnailUrl?: string;\n}\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-image-carousel',\n templateUrl: './image-carousel.component.html',\n styleUrls: ['./image-carousel.component.scss']\n})\nexport class ImageCarouselComponent implements OnChanges {\n\n public InstagramCarouselItemType = InstagramCarouselItemType;\n\n @ViewChild('carousel') private carousel: ElementRef;\n\n @Input() items: InstagramCarouselItem[] = [];\n @Input() dotsInside = false;\n @Input() soundEnabled = false;\n @Input() supportGif = true;\n @Input() tinyMode = false;\n\n @Output() currentImageChanged: EventEmitter<InstagramCarouselItem> = new EventEmitter<InstagramCarouselItem>();\n\n private _selectedIndex = 0;\n public carouselOffset = 0;\n public isPlaying: boolean;\n private mouseOver: boolean;\n public videoPlayers: HTMLVideoElement[] = [];\n\n constructor(private animationBuilder: AnimationBuilder) {\n }\n\n public get selectedIndex(): number {\n return this._selectedIndex;\n }\n\n public set selectedIndex(value: number) {\n this.videoPause(this.selectedIndex);\n if (value < 0) {\n value = 0;\n }\n if (value > this.items.length - 1) {\n value = this.items.length - 1;\n }\n this._selectedIndex = value;\n this.move();\n if (this.tinyMode && this.mouseOver) {\n this.videoPlay(this.selectedIndex);\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.items && changes.items.previousValue?.length > changes.items.currentValue.length) {\n const itemsLength: number = changes.items.currentValue.length - 1;\n if (this._selectedIndex > itemsLength) {\n this._selectedIndex = itemsLength;\n this.move();\n }\n }\n }\n\n isPrevButtonEnabled(): boolean {\n return this.selectedIndex > 0;\n }\n\n isNextButtonEnabled(): boolean {\n if (this.items && this.items[this.selectedIndex]) {\n return this.selectedIndex < this.items.length - 1;\n }\n return false;\n }\n\n isVideo(): boolean {\n if (this.items && this.items[this.selectedIndex]) {\n return this.items[this.selectedIndex].type === InstagramCarouselItemType.VIDEO;\n }\n return false;\n }\n\n dotsDisplayed(): boolean {\n if (this.items && this.items[this.selectedIndex]) {\n return this.items.length > 1;\n }\n return false;\n }\n\n prev(): void {\n this.selectedIndex -= 1;\n this.currentImageChanged.emit(this.items[this.selectedIndex]);\n }\n\n next(): void {\n this.selectedIndex += 1;\n this.currentImageChanged.emit(this.items[this.selectedIndex]);\n }\n\n play(event, index: number): void {\n if (!this.tinyMode) {\n const videoPlayer: HTMLVideoElement = this.videoPlayers[index];\n if (videoPlayer) {\n videoPlayer.paused ? this.videoPlay(index) : this.videoPause(index);\n }\n event.stopPropagation();\n }\n }\n\n move(instantaneous: boolean = false): void {\n this.carouselOffset = -this.carousel.nativeElement.offsetWidth * this.selectedIndex;\n this.animationBuilder.build(\n animate(instantaneous ? '1ms' : '250ms ease-in', style({transform: `translateX(${this.carouselOffset}px)`}))\n ).create(this.carousel.nativeElement).play();\n }\n\n onMouseEntersVideo(event, index) {\n this.mouseOver = true;\n if (this.tinyMode) {\n this.videoPlay(index);\n }\n }\n\n onMouseLeavesVideo(event, index) {\n this.mouseOver = false;\n if (this.tinyMode) {\n this.videoPause(index);\n }\n }\n\n @HostListener('window:resize', ['$event'])\n onResize(event) {\n this.move(true);\n }\n\n public registerVideoPlayer(event, index: number) {\n this.videoPlayers[index] = event.target;\n event.target.muted = !this.soundEnabled;\n }\n\n private videoPause(index: number) {\n const videoPlayer: HTMLVideoElement = this.videoPlayers[index];\n if (videoPlayer) {\n videoPlayer.pause();\n this.isPlaying = false;\n }\n }\n\n private videoPlay(index: number) {\n const videoPlayer: HTMLVideoElement = this.videoPlayers[index];\n if (videoPlayer) {\n videoPlayer.play();\n this.isPlaying = true;\n }\n }\n\n public switchSound() {\n this.soundEnabled = !this.soundEnabled;\n for (const player of this.videoPlayers) {\n player.muted = !this.soundEnabled;\n }\n }\n}\n","<section *ngIf=\"items && items.length > 0 && items[0].url\">\n <div class=\"carousel-wrapper\"\n (mouseenter)=\"onMouseEntersVideo($event, selectedIndex)\"\n (mouseleave)=\"onMouseLeavesVideo($event, selectedIndex)\">\n <ul class=\"carousel-inner\" #carousel>\n <li *ngFor=\"let item of items; let i = index\" class=\"carousel-item\">\n <ng-template [ngIf]=\"item.type === InstagramCarouselItemType.IMAGE && item.url\">\n <img apFrozenGif\n [apFrozen]=\"!supportGif\"\n [default]=\"'assets/img/default.png'\"\n [src]=\"item.url\">\n </ng-template>\n <ng-template [ngIf]=\"item.type === InstagramCarouselItemType.VIDEO && item.url\">\n <video [id]=\"'video-' + i\"\n [attr.poster]=\"item.thumbnailUrl\"\n [loop]=\"tinyMode\"\n [src]=\"item.url\"\n (click)=\"play($event, i)\"\n (ended)=\"isPlaying = false\"\n (loadstart)=\"registerVideoPlayer($event, i)\">\n </video>\n <svg class=\"play-button\"\n xmlns=\"http://www.w3.org/2000/svg\"\n (click)=\"play($event, i)\">\n <path *ngIf=\"!isPlaying\" d=\"M11,10 L18,13.74 18,22.28 11,26 M18,13.74 L26,18 26,18 18,22.28\"/>\n </svg>\n <mat-icon class=\"sound-button\"\n *ngIf=\"!tinyMode\"\n (click)=\"switchSound(); $event.stopPropagation();\">\n {{soundEnabled ? 'volume_up' : 'volume_off'}}\n </mat-icon>\n </ng-template>\n </li>\n </ul>\n\n <svg class=\"nav-button prev\"\n [ngClass]=\"{'disabled': !isPrevButtonEnabled(), 'tiny': tinyMode}\"\n (click)=\"prev(); $event.stopPropagation();\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 455 455\">\n <path d=\"M227.5,0C101.855,0,0,101.855,0,227.5S101.855,455,227.5,455S455,353.145,455,227.5S353.145,0,227.5,0z M199.476,355.589\n l-21.248-21.178L284.791,227.5L178.228,120.589l21.248-21.178L327.148,227.5L199.476,355.589z\"/>\n </svg>\n\n <svg class=\"nav-button next\"\n [ngClass]=\"{'disabled': !isNextButtonEnabled(), 'tiny': tinyMode}\"\n (click)=\"next(); $event.stopPropagation();\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 455 455\">\n <path d=\"M227.5,0C101.855,0,0,101.855,0,227.5S101.855,455,227.5,455S455,353.145,455,227.5S353.145,0,227.5,0z M199.476,355.589\n\t l-21.248-21.178L284.791,227.5L178.228,120.589l21.248-21.178L327.148,227.5L199.476,355.589z\"/>\n </svg>\n </div>\n <div [ngClass]=\"{'inside': dotsInside}\">\n <ap-dots-stepper\n fxLayout=\"row\"\n fxLayoutAlign=\"center\"\n size=\"small\"\n *ngIf=\"dotsDisplayed()\"\n [items]=\"items\"\n [index]=\"selectedIndex\"\n (dotClick)=\"selectedIndex = $event\"></ap-dots-stepper>\n </div>\n</section>\n","import {\n ChangeDetectionStrategy,\n Component\n} from '@angular/core';\nimport {MatDialogRef} from \"@angular/material/dialog\";\nimport {ComponentType} from \"@angular/cdk/overlay\";\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-feature-onboarding',\n templateUrl: './feature-onboarding.component.html',\n styleUrls: ['./feature-onboarding.component.scss']\n})\nexport class FeatureOnboardingComponent {\n\n // translations\n backButtonLabel: string = '';\n finishButtonLabel: string = '';\n nextButtonLabel: string = '';\n\n arrowsDisplayed: boolean = false; // To display arrows to switch element on carousel\n templates: any[]; // One template represent one element of the carousel\n slideDisplayedIndex: number = 0; // The current element displayed\n\n constructor(public dialogRef: MatDialogRef<ComponentType<any>>) {\n }\n\n onClickNext() {\n this.slideDisplayedIndex !== this.templates.length - 1 ? this.slideDisplayedIndex = this.slideDisplayedIndex + 1 : this.onCloseCarousel();\n }\n\n onClickPrevious() {\n this.slideDisplayedIndex = this.slideDisplayedIndex - 1;\n }\n\n onCloseCarousel() {\n this.dialogRef.close(true);\n }\n\n}\n","<ng-template #mainTemplate>\n <div class=\"carousel-main-container\">\n <div class=\"carousel-content\">\n <div *ngFor=\"let template of templates; let i = index\"\n class=\"carousel-slide-element\"\n [class.carousel-slide-element-not-displayed]=\"i !== slideDisplayedIndex\"\n [class.carousel-slide-element-active]=\"i === slideDisplayedIndex\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n <div class=\"carousel-dots-container\">\n <ap-dots-stepper\n fxLayout=\"row\"\n fxLayoutAlign=\"center\"\n size=\"small\"\n *ngIf=\"templates.length > 1\"\n [items]=\"templates\"\n [index]=\"slideDisplayedIndex\"\n (dotClick)=\"slideDisplayedIndex = $event\"></ap-dots-stepper>\n </div>\n </div>\n\n <div *ngIf=\"arrowsDisplayed\">\n <ap-symbol *ngIf=\"slideDisplayedIndex !== 0\"\n class=\"nav-button prev\"\n [symbolId]=\"'arrow-button-left'\"\n (click)=\"onClickPrevious()\">\n </ap-symbol>\n\n <ap-symbol class=\"nav-button next\"\n [symbolId]=\"'arrow-button-right'\"\n (click)=\"onClickNext(); $event.stopPropagation();\">\n </ap-symbol>\n </div>\n </div>\n\n <div class=\"carousel-footer\">\n <div class=\"button-container\">\n <button *ngIf=\"slideDisplayedIndex !== 0\"\n mat-flat-button\n class=\"carousel-previous-button\"\n (click)=\"onClickPrevious()\">\n {{backButtonLabel}}\n </button>\n <button mat-flat-button\n [color]=\"'primary'\"\n (click)=\"onClickNext()\">\n <div *ngIf=\"slideDisplayedIndex !== templates.length - 1\">{{nextButtonLabel}}</div>\n <div *ngIf=\"slideDisplayedIndex === templates.length - 1\">{{finishButtonLabel}}</div>\n </button>\n </div>\n </div>\n </div>\n</ng-template>\n\n<ap-modal class=\"design-system\"\n [closable]=\"false\"\n [mainTemplate]=\"mainTemplate\"\n></ap-modal>\n","import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {MatDialogRef} from '@angular/material/dialog';\nimport {MAT_DIALOG_DATA} from '@angular/material/dialog';\nimport {LeadInfo} from './lead-info.model';\n\nexport interface TranslatedStrings {\n agencyFieldLabel: string;\n agencyNoLabel: string;\n agencyYesLabel: string;\n profileFieldLabel: string;\n teamFieldLabel: string;\n teamMeLabel: string;\n title: string;\n validateButtonLabel: string;\n}\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-lead-modal',\n templateUrl: 'lead-modal.component.html',\n})\nexport class LeadModalComponent {\n\n constructor(\n public dialogRef: MatDialogRef<LeadModalComponent>,\n @Inject(MAT_DIALOG_DATA) public translatedStrings: TranslatedStrings) {\n dialogRef.disableClose = true;\n }\n\n plans = {\n PRO: 'pro',\n PREMIUM: 'premium',\n PREMIUM_PLUS: 'premium+',\n ENTERPRISE: 'enterprise',\n };\n\n orderedPlans = [\n this.plans.PRO,\n this.plans.PREMIUM,\n this.plans.PREMIUM_PLUS,\n this.plans.ENTERPRISE,\n ];\n\n qualifiedProfilePlan: string;\n qualifiedTeamPlan: string;\n profileType: string;\n\n onValidate(qualifiedProfilePlan: string, qualifiedTeamPlan: string, profileType: string): LeadInfo {\n const qualifiedPlan: string = this.orderedPlans.indexOf(qualifiedProfilePlan) > this.orderedPlans.indexOf(qualifiedTeamPlan)\n ? qualifiedProfilePlan\n : qualifiedTeamPlan;\n\n return {\n language: window.navigator && window.navigator.language ? window.navigator.language : '',\n qualifiedPlan: qualifiedPlan,\n qualifiedProfilePlan: qualifiedProfilePlan,\n qualifiedTeamPlan: qualifiedTeamPlan,\n profileType: profileType\n };\n }\n\n}\n","<ng-template #headerTemplate>\n <h1 mat-dialog-title>\n {{translatedStrings.title}}\n </h1>\n</ng-template>\n\n<ng-template #mainTemplate>\n <div mat-dialog-content>\n <div class=\"form-field\">\n <label for=\"profileField\">\n {{translatedStrings.profileFieldLabel}}\n </label>\n <mat-button-toggle-group\n [(ngModel)]=\"qualifiedProfilePlan\"\n id=\"profileField\"\n name=\"qualifiedProfilePlan\">\n <mat-button-toggle [value]=\"plans.PRO\">1 - 10</mat-button-toggle>\n <mat-button-toggle [value]=\"plans.PREMIUM\">11 - 25</mat-button-toggle>\n <mat-button-toggle [value]=\"plans.PREMIUM_PLUS\">26 - 40</mat-button-toggle>\n <mat-button-toggle [value]=\"plans.ENTERPRISE\">40+</mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n <div class=\"form-field\">\n <label for=\"teamField\">\n {{translatedStrings.teamFieldLabel}}\n </label>\n <mat-button-toggle-group\n [(ngModel)]=\"qualifiedTeamPlan\"\n id=\"teamField\"\n name=\"qualifiedTeamPlan\">\n <mat-button-toggle [value]=\"plans.PRO\">1 - 2</mat-button-toggle>\n <mat-button-toggle [value]=\"plans.PREMIUM\">3 - 4</mat-button-toggle>\n <mat-button-toggle [value]=\"plans.PREMIUM_PLUS\">5 - 8</mat-button-toggle>\n <mat-button-toggle [value]=\"plans.ENTERPRISE\">8+</mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n <div class=\"form-field\">\n <label for=\"agencyField\">\n {{translatedStrings.agencyFieldLabel}}\n </label>\n <mat-button-toggle-group\n [(ngModel)]=\"profileType\"\n id=\"agencyField\"\n class=\"agency-toggle\"\n name=\"profileType\">\n <mat-button-toggle value=\"agency\">{{translatedStrings.agencyYesLabel}}</mat-button-toggle>\n <mat-button-toggle value=\"none\">{{translatedStrings.agencyNoLabel}}</mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n </div>\n</ng-template>\n\n<ng-template #footerTemplate>\n <div>\n <button mat-flat-button\n color=\"primary\"\n [disabled]=\"!(qualifiedProfilePlan && qualifiedTeamPlan && profileType)\"\n [mat-dialog-close]=\"onValidate(qualifiedProfilePlan, qualifiedTeamPlan, profileType)\">\n {{translatedStrings.validateButtonLabel}}\n </button>\n </div>\n</ng-template>\n\n<ap-modal\n [headerTemplate]=\"headerTemplate\"\n [mainTemplate]=\"mainTemplate\"\n [footerTemplate]=\"footerTemplate\"\n></ap-modal>\n","import {ChangeDetectionStrategy, Component, HostListener, Inject, OnInit} from '@angular/core';\nimport {MatDialogConfig, MatDialogRef} from '@angular/material/dialog';\nimport {MAT_DIALOG_DATA} from '@angular/material/dialog';\n\nexport interface MediaDisplayData {\n urls: string[];\n url: string;\n mediaType: string;\n supportGif: boolean;\n}\n\nexport enum KEY_CODE {\n RIGHT_ARROW = 39,\n LEFT_ARROW = 37\n}\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-media-display-overlay',\n styleUrls: ['./media-display-overlay-dialog.component.scss'],\n templateUrl: './media-display-overlay-dialog.component.html'\n})\nexport class MediaDisplayOverlayDialogComponent implements OnInit {\n\n static config: MatDialogConfig = {\n position: {\n top: '10px',\n right: '10px',\n left: '10px'\n },\n height: '100%',\n width: '100%',\n maxWidth: 'none',\n panelClass: 'full-screen-modal',\n backdropClass: 'dark-backdrop'\n };\n\n currentUrlIndex = 1;\n urls: string[] = []; // all urls\n url: string; // current displayed url\n mediaType = 'image'; // 'image', 'video'\n supportGif = true;\n\n constructor(public dialogRef: MatDialogRef<MediaDisplayOverlayDialogComponent>,\n @Inject(MAT_DIALOG_DATA) public data: MediaDisplayData) {\n }\n\n ngOnInit(): void {\n // const data = ModalService.getModal('media-display-overlay') || {};\n if (this.data) {\n if (this.data.urls && this.data.urls.length > 0) {\n this.urls = this.data.urls;\n }\n if (this.data.url) {\n if (this.urls.length === 0) {\n this.urls = [this.data.url];\n }\n this.url = this.data.url;\n this.currentUrlIndex = this.urls.indexOf(this.data.url) + 1;\n }\n }\n }\n\n onClose() {\n this.dialogRef.close();\n }\n\n onNext($event: UIEvent) {\n if (this.currentUrlIndex < this.urls.length) {\n this.currentUrlIndex += 1;\n this.url = this.urls[this.currentUrlIndex - 1];\n }\n $event.stopPropagation();\n }\n\n onPrevious($event: UIEvent) {\n if (this.currentUrlIndex > 1) {\n this.currentUrlIndex -= 1;\n this.url = this.urls[this.currentUrlIndex - 1];\n }\n $event.stopPropagation();\n }\n\n @HostListener('window:keyup', ['$event'])\n keyEvent(event: KeyboardEvent) {\n\n if (event.keyCode === KEY_CODE.RIGHT_ARROW) {\n this.onNext(event);\n }\n\n if (event.keyCode === KEY_CODE.LEFT_ARROW) {\n this.onPrevious(event);\n }\n }\n}\n","<div class=\"full\" (click)=\"onClose()\">\n <div class=\"media-display ap-new\">\n <header class=\"ap-modal-header\">\n <ap-symbol\n id=\"close\"\n color=\"white\"\n size=\"micro\"\n (click)=\"onClose()\">\n </ap-symbol>\n </header>\n <content class=\"ap-modal-content\">\n <div *ngIf=\"urls.length > 1\"\n class=\"next-prev-container left\"\n [class.disabled]=\"currentUrlIndex <= 1\"\n (click)=\"onPrevious($event)\">\n <div class=\"icon-container\">\n <ap-symbol\n id=\"arrow-left-1\"\n [color]=\"currentUrlIndex <= 1 ? 'grey-blue' : 'white'\"\n size=\"small\">\n </ap-symbol>\n </div>\n </div>\n <div class=\"media-container\">\n <img *ngIf=\"url && mediaType =='image'\" apFrozenGif [apFrozen]=\"!supportGif\" [src]=\"url\" (click)=\"$event.stopPropagation()\">\n </div>\n <div *ngIf=\"urls.length > 1\"\n class=\"next-prev-container right\"\n [class.disabled]=\"currentUrlIndex >= urls.length\"\n (click)=\"onNext($event)\">\n <div class=\"icon-container\">\n <ap-symbol\n id=\"arrow-right-1\"\n [color]=\"currentUrlIndex >= urls.length ? 'grey-blue' : 'white'\"\n size=\"small\">\n </ap-symbol>\n </div>\n </div>\n </content>\n <footer *ngIf=\"urls && urls.length > 1\"\n class=\"ap-modal-footer\">\n <div class=\"index-container\">\n {{currentUrlIndex}} / {{urls.length}}\n </div>\n </footer>\n </div>\n</div>\n","import {Component, Inject} from '@angular/core';\nimport {OverlayRef} from '@angular/cdk/overlay';\nimport {InjectionToken} from '@angular/core';\n\nexport interface OverlayData {\n template: string;\n}\n\nexport class OverlayDialogRef {\n\n constructor(private overlayRef: OverlayRef) {\n }\n\n close(): void {\n this.overlayRef.dispose();\n }\n}\n\nexport const OVERLAY_DATA = new InjectionToken<OverlayData>('OVERLAY_DATA');\n\n@Component({\n selector: 'ap-overlay',\n styleUrls: ['./overlay-dialog.component.scss'],\n templateUrl: './overlay-dialog.component.html'\n})\nexport class OverlayDialogComponent {\n\n constructor(\n public dialogRef: OverlayDialogRef,\n @Inject(OVERLAY_DATA) public data: any) {\n }\n\n close() {\n this.dialogRef.close();\n }\n}\n","<div class=\"header-overlay\">\n <ap-symbol\n id=\"close\"\n color=\"#858fa1\"\n size=\"18\"\n (click)=\"close()\"\n class=\"\">\n\n </ap-symbol>\n</div>\n\n<div class=\"container-overlay\">\n <ng-container *ngTemplateOutlet=\"data\"></ng-container>\n</div>\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, Output} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-overlay-in-div',\n templateUrl: './overlay-in-div.component.html',\n styleUrls: ['./overlay-in-div.component.scss']\n})\nexport class OverlayInDivComponent {\n\n @Input() title: string;\n @Input() subtitle: string;\n @Input() imgPath: string;\n @Input() closable = true;\n\n @Output() close: EventEmitter<any> = new EventEmitter<any>();\n\n\n}\n","<div class=\"header-overlay\" *ngIf=\"closable\">\n <ap-symbol\n id=\"close\"\n color=\"#858fa1\"\n size=\"18\"\n (click)=\"this.close.emit('close')\"\n class=\"\">\n </ap-symbol>\n</div>\n\n<div class=\"splash-screen\">\n <img *ngIf=\"imgPath\" [src]=\"imgPath\"/>\n <h2 class=\"padding-y-l\">{{ title }}</h2>\n <h3 class=\"label\"> {{ subtitle }}</h3>\n</div>\n","import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-place',\n templateUrl: './place.component.html',\n styleUrls: ['./place.component.scss']\n})\nexport class PlaceComponent {\n\n @Input() service: string;\n}\n","<div class=\"place\">\n <ap-symbol\n [symbolId]=\"service + '-official'\"\n [size]=\"'micro'\">\n </ap-symbol>\n <ng-content></ng-content>\n</div>\n","import {ChangeDetectionStrategy, Component} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-place-list',\n templateUrl: './place-list.component.html',\n styleUrls: ['./place-list.component.scss']\n})\nexport class PlaceListComponent {\n\n}\n","<div class=\"place-list\">\n <ng-content></ng-content>\n</div>\n","export const defaultOptions = {\n 'apPopmenuBorder': true,\n 'apPopmenuDisabled': false,\n 'apPopmenuBackground': true,\n 'hasBackdrop': true,\n\t'placement': 'top',\n 'rounded' : true,\n\t'showDelay': 0,\n\t'hideDelay': 10,\n\t'hideDelayMobile': 0,\n\t'shadow': true,\n\t'theme': 'dark',\n\t'offset': 8,\n\t'maxWidth': '600',\n};\n","import {InjectionToken} from '@angular/core';\nimport {PopmenuOptions} from './popmenu-options.interface';\n\n/**\n * This is not a real service, but it looks like it from the outside.\n * It's just an InjectionToken used to import the config (initOptions) object, provided from the outside\n */\nexport const PopmenuOptionsService = new InjectionToken<PopmenuOptions>('PopmenuOptions');\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n Renderer2,\n ViewChild\n} from '@angular/core';\nimport {MatMenuTrigger} from '@angular/material/menu';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-popmenu',\n templateUrl: './popmenu.component.html',\n styleUrls: ['./popmenu.component.scss']\n})\nexport class PopmenuComponent implements AfterViewInit {\n\n @Input() data: any;\n events = new EventEmitter();\n arrowTopPosition = '50%';\n arrowBottomPosition = '50%';\n arrowLeftPosition: string;\n arrowRightPosition: string;\n arrowClass: string;\n below;\n before;\n @Output() menuClosed: EventEmitter<any> = new EventEmitter<any>();\n @Output() menuOpened: EventEmitter<any> = new EventEmitter<any>();\n @ViewChild(MatMenuTrigger) trigger: MatMenuTrigger;\n @HostBinding('style.top') hostStyleTop: string;\n @HostBinding('style.border-radius') hostStyleBorderRadius: string;\n @HostBinding('style.left') hostStyleLeft: string;\n @HostBinding('style.z-index') hostStyleZIndex: number;\n @HostBinding('style.transition') hostStyleTransition: string;\n @HostBinding('style.width') hostStyleWidth: string;\n @HostBinding('style.max-width') hostStyleMaxWidth: string;\n @HostBinding('style.pointer-events') hostStylePointerEvents: string;\n @HostBinding('class.tooltip-show') hostClassShow: boolean;\n @HostBinding('class.tooltip-shadow') hostClassShadow: boolean;\n @HostBinding('class.tooltip-light') hostClassLight: boolean;\n viewInit = false;\n\n _show = false;\n\n get show(): boolean {\n return this._show;\n }\n\n @Input() set show(value: boolean) {\n if (value) {\n this.setPosition();\n }\n this._show = value;\n }\n\n @Input() set close(value: boolean) {\n if (value) {\n this.trigger.closeMenu();\n }\n }\n get arrow() {\n return this.data.options.arrow && this.border;\n }\n\n get arrowOffset() {\n return this.data.options.arrowOffset;\n }\n\n get arrowPosition() {\n return this.data.options.arrowPosition;\n }\n\n get autoPlacement() {\n return this.data.options.autoPlacement;\n }\n\n get background() {\n return this.data.options.apPopmenuBackground;\n }\n\n get border() {\n return this.data.options.apPopmenuBorder;\n }\n\n get element() {\n return this.data.element;\n }\n\n get elementPosition() {\n return this.data.elementPosition;\n }\n\n get hasBackdrop() {\n return this.data.options.hasBackdrop;\n }\n\n get isThemeLight() {\n return this.options['theme'] === 'light';\n }\n\n get options() {\n return this.data.options;\n }\n\n get placement() {\n return this.data.options.placement;\n }\n\n get rounded() {\n return this.data.options.rounded;\n }\n\n get shadow() {\n return this.data.options.shadow;\n }\n\n get tooltipOffset(): number {\n return Number(this.data.options.offset);\n }\n\n get value() {\n return this.data.value;\n }\n\n constructor(public renderer: Renderer2,\n public elementRef: ElementRef,\n private changeDetectorRef: ChangeDetectorRef) {\n }\n\n ngAfterViewInit() {\n this.viewInit = true;\n }\n\n onMenuClosed() {\n // we set a timeout to wait for the menu to be really closed\n setTimeout(() => this.menuClosed.emit(), 200);\n }\n\n onMenuOpened() {\n // we set a timeout to wait for the menu to be really opened\n setTimeout(() => this.menuOpened.emit(), 100);\n }\n\n setHostStyle(placement: string): boolean {\n const isSvg = this.element instanceof SVGElement;\n const tooltip = this.elementRef.nativeElement;\n const isCustomPosition = !this.elementPosition.x;\n\n let elementHeight = !this.element.offsetHeight ? this.element.getBoundingClientRect().height : this.element.offsetHeight;\n let elementWidth = !this.element.offsetWidth ? this.element.getBoundingClientRect().width : this.element.offsetWidth;\n const tooltipHeight = tooltip.clientHeight;\n const tooltipWidth = tooltip.clientWidth;\n const scrollY = window.pageYOffset;\n\n let topStyle;\n let leftStyle;\n\n if (isCustomPosition) {\n if (placement && placement.split(' ')[0] === 'top') {\n this.below = false;\n }\n if (placement && placement.split(' ')[0] === 'bottom') {\n this.below = true;\n }\n elementHeight = 0;\n elementWidth = 0;\n topStyle = this.elementPosition.top;\n leftStyle = this.elementPosition.left;\n if (this.arrow && this.arrowPosition) {\n this.arrowClass = 'arrow-' + this.arrowPosition;\n switch (this.arrowPosition) {\n case 'left':\n case 'right':\n this.arrowLeftPosition = undefined;\n this.arrowRightPosition = undefined;\n this.arrowBottomPosition = 'auto';\n this.arrowTopPosition = this.arrowOffset + '%';\n break;\n case 'top':\n case 'bottom':\n this.arrowLeftPosition = this.arrowOffset + '%';\n this.arrowRightPosition = 'auto';\n this.arrowBottomPosition = undefined;\n this.arrowTopPosition = undefined;\n break;\n }\n }\n } else {\n\n if (placement.split(' ')[0] === 'top') {\n this.below = false;\n topStyle = this.elementPosition.top - this.tooltipOffset;\n topStyle += 8;\n }\n\n if (placement.split(' ')[0] === 'bottom') {\n this.below = true;\n topStyle = this.elementPosition.bottom + this.tooltipOffset;\n // We remove 8px due to the margin-top we put to display the arrow.\n topStyle -= 8;\n }\n\n if (placement.split(' ')[0] === 'left') {\n leftStyle = this.elementPosition.left - tooltipWidth - this.tooltipOffset;\n }\n\n if (placement.split(' ')[0] === 'right') {\n leftStyle = this.elementPosition.left + elementWidth + this.tooltipOffset;\n }\n\n if (placement.split(' ')[0] === 'left' || placement.split(' ')[0] === 'right') {\n topStyle = (this.elementPosition.top + scrollY) + elementHeight / 2 - tooltip.clientHeight / 2;\n }\n\n if (placement === 'right bottom') {\n this.below = true;\n this.before = false;\n this.arrowClass = 'arrow-left';\n topStyle = (this.elementPosition.top + scrollY);\n this.arrowRightPosition = undefined;\n this.arrowLeftPosition = undefined;\n this.arrowBottomPosition = 'auto';\n this.arrowTopPosition = this.arrowOffset ? (this.arrowOffset + '%') : (elementHeight / 2 + 'px');\n }\n\n if (placement === 'left bottom') {\n this.below = true;\n this.before = true;\n this.arrowClass = 'arrow-right';\n topStyle = (this.elementPosition.top + scrollY);\n this.arrowLeftPosition = undefined;\n this.arrowRightPosition = undefined;\n this.arrowBottomPosition = 'auto';\n this.arrowTopPosition = this.arrowOffset ? (this.arrowOffset + '%') : (elementHeight / 2 + 'px');\n }\n\n if (placement === 'right top') {\n this.below = false;\n this.before = false;\n this.arrowClass = 'arrow-left';\n topStyle = (this.elementPosition.top + elementHeight + scrollY);\n this.arrowLeftPosition = undefined;\n this.arrowRightPosition = undefined;\n this.arrowTopPosition = 'auto';\n this.arrowBottomPosition = this.arrowOffset ? (this.arrowOffset + '%') : (-(tooltip.clientHeight - elementHeight / 2) + 'px');\n }\n\n if (placement === 'left top') {\n this.below = false;\n this.before = true;\n this.arrowClass = 'arrow-right';\n topStyle = (this.elementPosition.top + elementHeight + scrollY);\n this.arrowRightPosition = undefined;\n this.arrowLeftPosition = undefined;\n this.arrowTopPosition = 'auto';\n this.arrowBottomPosition = this.arrowOffset ? (this.arrowOffset + '%') : (-(tooltip.clientHeight - elementHeight / 2) + 'px');\n }\n\n if (placement === 'bottom right') {\n this.before = false;\n this.below = true;\n this.arrowClass = 'arrow-top';\n leftStyle = this.elementPosition.left;\n this.arrowTopPosition = undefined;\n this.arrowRightPosition = 'auto';\n this.arrowLeftPosition = this.arrowOffset ? (this.arrowOffset + '%') : (((elementWidth / 2) - 4.5) + 'px');\n }\n\n if (placement === 'bottom left') {\n this.before = true;\n this.below = true;\n this.arrowClass = 'arrow-top';\n leftStyle = this.elementPosition.right;\n this.arrowTopPosition = undefined;\n this.arrowLeftPosition = 'auto';\n this.arrowRightPosition = this.arrowOffset ? (this.arrowOffset + '%') : (((elementWidth / 2) - 2.5) + 'px');\n }\n\n if (placement === 'top right') {\n this.before = false;\n this.below = false;\n this.arrowClass = 'arrow-bottom';\n leftStyle = this.elementPosition.left;\n this.arrowBottomPosition = undefined;\n this.arrowTopPosition = undefined;\n this.arrowRightPosition = 'auto';\n this.arrowLeftPosition = this.arrowOffset ? (this.arrowOffset + '%') : (((elementWidth / 2) - 4.5) + 'px');\n }\n\n if (placement === 'top left') {\n this.before = true;\n this.below = false;\n this.arrowClass = 'arrow-bottom';\n leftStyle = this.elementPosition.right;\n this.arrowBottomPosition = undefined;\n this.arrowTopPosition = undefined;\n this.arrowLeftPosition = 'auto';\n this.arrowRightPosition = this.arrowOffset ? (this.arrowOffset + '%') : (((elementWidth / 2) - 2.5) + 'px');\n }\n }\n\n // This line is PURE MAGIC and super important. It allows to force mat-menu\n // to reposition the menu with the new xPosition / yPosition.\n this.changeDetectorRef.detectChanges();\n\n const topEdge = topStyle;\n const bottomEdge = topStyle + tooltipHeight;\n const leftEdge = leftStyle;\n const rightEdge = leftStyle + tooltipWidth;\n\n if ((topEdge < 0 || bottomEdge > document.body.clientHeight ||\n leftEdge < 0 || rightEdge > document.body.clientWidth) && this.autoPlacement) {\n return false;\n }\n\n this.hostStyleTop = topStyle + 'px';\n this.hostStyleLeft = leftStyle + 'px';\n return true;\n }\n\n setPlacementClass(placement ?: string): void {\n this.renderer.addClass(this.elementRef.nativeElement, 'tooltip-' + (placement ? placement.split(' ')[0] : placement));\n this.renderer.addClass(this.elementRef.nativeElement, 'yPosition-' +\n (placement && placement.split(' ').length === 2 ? placement.split(' ')[1] : 'center'));\n\n if (this.elementRef.nativeElement.children && this.elementRef.nativeElement.children.length > 1) {\n const tooltipArrow = Array.from(this.elementRef.nativeElement.children).filter((\n child: HTMLElement) => child.getAttribute('id') === 'tooltipArrow');\n if (tooltipArrow && tooltipArrow.length === 1) {\n if (placement && placement.split(' ').length === 2 && placement.split(' ')[1] === 'bottom') {\n this.renderer.setStyle(tooltipArrow[0], 'top', this.arrowTopPosition);\n } else if (placement && placement.split(' ').length === 2 && placement.split(' ')[1] === 'top') {\n this.renderer.setStyle(tooltipArrow[0], 'top', this.arrowBottomPosition);\n }\n }\n }\n }\n\n setPosition(): void {\n if (this.setHostStyle(this.placement)) {\n this.setPlacementClass(this.placement);\n if (this.viewInit) {\n // We did this in order to reset overlayRef (multi web component needed with matmenu and cdk overlay)\n if (this.trigger[\"_overlayRef\"]) {\n this.trigger[\"_overlayRef\"].dispose();\n this.trigger[\"_overlayRef\"] = null;\n }\n this.trigger.openMenu();\n }\n return;\n } else {\n const placements = ['top', 'right', 'bottom', 'left'];\n\n for (const placement of placements) {\n if (this.setHostStyle(placement)) {\n this.setPlacementClass(placement);\n if (this.viewInit) {\n this.trigger.openMenu();\n }\n return;\n }\n }\n }\n\n }\n\n}\n","<button id=\"menuTrigger\" class=\"button-trigger\" mat-button\n [matMenuTriggerFor]=\"menu\" (menuClosed)=\"onMenuClosed()\" (menuOpened)=\"onMenuOpened()\">\n</button>\n<mat-menu #menu=\"matMenu\" [yPosition]=\"!below ? 'above': 'below'\" [xPosition]=\"!before? 'after': 'before'\" [overlapTrigger]=\"false\"\n [hasBackdrop]=\"hasBackdrop\"\n class=\"pop-menu {{arrow ? 'arrow-before ' + arrowClass : ''}} {{shadow ? 'shadow' : ''}} {{border ? '' : (shadow ? 'shadow-no-border' : '')}} {{rounded ? 'rounded-component' : ''}} {{ background ? '' : 'no-background'}}\">\n\n <div *ngIf=\"arrow\" class=\"{{arrow ? 'arrow-before ' + arrowClass : ''}}\" [ngStyle]=\"{'left': arrowLeftPosition, 'right': arrowRightPosition, 'top': arrowTopPosition, 'bottom': arrowBottomPosition}\"></div>\n <div (click)=\"$event.stopPropagation()\" class=\"{{rounded ? 'rounded-component' : ''}} outline-none\">\n <div class=\"{{border ? 'popover-content ' : ''}} {{rounded ? 'rounded-component' : ''}}\">\n <ng-container *ngTemplateOutlet=\"value\"></ng-container>\n </div>\n </div>\n</mat-menu>\n\n\n","import {\n ApplicationRef,\n ComponentFactoryResolver,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n EventEmitter,\n HostListener,\n Inject,\n Injector,\n Input,\n OnChanges,\n OnInit,\n Optional,\n Output,\n Renderer2, TemplateRef\n} from '@angular/core';\nimport {PopmenuOptions} from './popmenu-options.interface';\nimport {defaultOptions} from './options';\nimport {PopmenuOptionsService} from './popmenu-options.service';\nimport {PopmenuComponent} from './popmenu.component';\n\nexport interface AdComponent {\n data: any;\n show: boolean;\n close: boolean;\n menuClosed: any;\n menuOpened: any;\n}\n\n@Directive({\n selector: '[apPopmenu]'\n})\n\nexport class PopmenuDirective implements OnChanges, OnInit {\n\n hideTimeoutId: number;\n destroyTimeoutId: number;\n createTimeoutId: number;\n showTimeoutId: number;\n componentRef: any;\n elementPosition: any;\n componentSubscribe: any;\n _defaultOptions: any;\n @Input() apPopmenuBorder: boolean;\n @Input() apPopmenuDisabled: boolean;\n @Input() apPopmenuBackground: boolean = true;\n @Input() arrow: boolean;\n @Input() arrowOffset: number;\n @Input() arrowPosition: string;\n @Input() close = false;\n @Input() hasBackdrop: boolean = true;\n @Input() offset: number;\n @Input() placement: string;\n @Input() pointer = true;\n @Input('apPopmenu') popMenuValue: TemplateRef<any>;\n @Input() position: { top: number, left: number };\n @Input() rounded: boolean;\n @Input() shadow: boolean;\n @Output() menuClosed: EventEmitter<any> = new EventEmitter<any>();\n @Output() menuOpened: EventEmitter<any> = new EventEmitter<any>();\n\n _options: any = {};\n\n get options() {\n return this._options;\n }\n\n @Input('options') set options(value: PopmenuOptions) {\n if (value && defaultOptions) {\n this._options = value;\n }\n }\n\n get destroyDelay() {\n return Number(this.getHideDelay()) + Number(this.options['animationDuration']);\n }\n\n get isDisplayOnHover(): boolean {\n if (this.options['display'] === false) {\n return false;\n }\n\n if (this.options['displayTouchscreen'] === false) {\n return false;\n }\n\n if (this.options['trigger'] !== 'hover') {\n return false;\n }\n\n return true;\n }\n\n get isTooltipDestroyed() {\n return this.componentRef && this.componentRef.hostView.destroyed;\n }\n\n get tooltipPosition() {\n if (this.options['position']) {\n return this.options['position'];\n } else {\n return this.elementPosition;\n }\n }\n\n constructor(\n @Optional() @Inject(PopmenuOptionsService) private initOptions,\n public renderer: Renderer2,\n private elementRef: ElementRef,\n private componentFactoryResolver: ComponentFactoryResolver,\n private appRef: ApplicationRef,\n private injector: Injector) {\n }\n\n appendComponentToBody(component: any, data: any = {}): void {\n this.componentRef = this.componentFactoryResolver\n .resolveComponentFactory(component)\n .create(this.injector);\n\n (<AdComponent>this.componentRef.instance).data = {\n value: this.popMenuValue,\n element: this.elementRef.nativeElement,\n elementPosition: this.tooltipPosition,\n options: this.options\n };\n this.appRef.attachView(this.componentRef.hostView);\n const domElem = (this.componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n document.body.appendChild(domElem);\n this.componentSubscribe = (<AdComponent>this.componentRef.instance).menuClosed.subscribe((event: any) => {\n this.handleClose(event);\n });\n this.componentSubscribe = (<AdComponent>this.componentRef.instance).menuOpened.subscribe((event: any) => {\n this.handleOpen(event);\n });\n }\n\n handleClose(event: any) {\n this.menuClosed.emit();\n }\n\n handleOpen(event: any) {\n this.menuOpened.emit();\n }\n\n applyOptionsDefault(defaultOptions, options): void {\n this.options = Object.assign({}, defaultOptions, this.initOptions || {}, options);\n }\n\n clearTimeouts(): void {\n if (this.createTimeoutId) {\n clearTimeout(this.createTimeoutId);\n }\n\n if (this.showTimeoutId) {\n clearTimeout(this.showTimeoutId);\n }\n\n if (this.hideTimeoutId) {\n clearTimeout(this.hideTimeoutId);\n }\n\n if (this.destroyTimeoutId) {\n clearTimeout(this.destroyTimeoutId);\n }\n }\n\n createPopMenu(): void {\n this.clearTimeouts();\n\n this.createTimeoutId = window.setTimeout(() => {\n this.appendComponentToBody(PopmenuComponent);\n }, this.getShowDelay());\n\n this.showTimeoutId = window.setTimeout(() => {\n this.showTooltipElem();\n }, this.getShowDelay());\n }\n\n getElementPosition(): void {\n this.elementPosition = this.elementRef.nativeElement.getBoundingClientRect();\n }\n\n getHideDelay() {\n return this.options['hideDelay'];\n }\n\n getProperties(changes) {\n let properties = {};\n\n for (const prop in changes) {\n if (prop !== 'options' && prop !== 'tooltipValue') {\n properties[prop] = changes[prop].currentValue;\n }\n if (prop === 'options') {\n properties = changes[prop].currentValue;\n }\n }\n return properties;\n }\n\n getShowDelay() {\n return this.options['showDelay'];\n }\n\n ngOnChanges(changes) {\n if (changes.pointer) {\n if (!this.pointer) {\n this.renderer.removeStyle(this.elementRef.nativeElement, 'cursor');\n } else {\n this.renderer.setStyle(this.elementRef.nativeElement, 'cursor', 'pointer');\n }\n }\n if (changes.close && changes.close.currentValue) {\n this.hideTooltipElem();\n }\n const changedOptions = this.getProperties(changes);\n this.applyOptionsDefault(this.options && Object.keys(this.options).length > 0 ? this.options : defaultOptions, changedOptions);\n }\n\n ngOnInit(): void {\n if (this.pointer) {\n this.renderer.setStyle(this.elementRef.nativeElement, 'cursor', 'pointer');\n }\n }\n\n @HostListener('click')\n onClick() {\n if (this.apPopmenuDisabled) {\n return;\n }\n this.show();\n this.close = false;\n }\n\n public show() {\n this.getElementPosition();\n if (!this.componentRef || this.isTooltipDestroyed) {\n this.createPopMenu();\n } else if (!this.isTooltipDestroyed) {\n this.showTooltipElem();\n }\n }\n\n showTooltipElem(): void {\n (<AdComponent>this.componentRef.instance).data = {\n value: this.popMenuValue,\n element: this.elementRef.nativeElement,\n elementPosition: this.tooltipPosition,\n options: this.options\n };\n this.clearTimeouts();\n (<AdComponent>this.componentRef.instance).show = true;\n }\n\n hideTooltipElem(): void {\n if (this.componentRef) {\n (<AdComponent>this.componentRef.instance).close = true;\n }\n }\n\n}\n","import {ModuleWithProviders, NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {PopmenuDirective} from './popmenu.directive';\nimport {PopmenuOptions} from './popmenu-options.interface';\nimport {PopmenuOptionsService} from './popmenu-options.service';\nimport {PopmenuComponent} from './popmenu.component';\nimport {MatMenuModule} from '@angular/material/menu';\n\n@NgModule({\n declarations: [\n PopmenuDirective,\n PopmenuComponent\n ],\n imports: [\n CommonModule,\n MatMenuModule,\n ],\n exports: [\n PopmenuDirective\n ]\n})\nexport class PopmenuModule {\n\n static forRoot(initOptions: PopmenuOptions): ModuleWithProviders<PopmenuModule> {\n return {\n ngModule: PopmenuModule,\n providers: [\n {\n provide: PopmenuOptionsService,\n useValue: initOptions\n }\n ]\n };\n }\n}\n","import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-splashscreen',\n templateUrl: './splashscreen.component.html',\n styleUrls: ['./splashscreen.component.scss']\n})\nexport class SplashscreenComponent {\n @Input() cardLabels: string[] = [];\n @Input() cardDirection: 'vertical' | 'horizontal' = 'horizontal';\n @Input() disposition = 'row';\n @Input() imgHeight = 150;\n @Input() imgPaths: string[] = [];\n @Input() imgWidth = 150;\n @Input() title = '';\n /**\n * The container and the cards width. All:\n * - 100% of parent width\n * - default: 750px for the container and 50% of the container for each card\n */\n @Input() width: 'all' | 'default' = 'default';\n}\n","<div class=\"main-container ap-new {{width}}-width\">\n <h1>{{title}}</h1>\n <div class=\"info-container {{cardDirection}} {{width}}-width\">\n <ng-container *ngFor=\"let label of cardLabels; let i = index\">\n <div class=\"info-card {{width}}-width\">\n <div class=\"info-card-content {{disposition}}\">\n <div class=\"img-container\">\n <img src=\"{{imgPaths[i]}}\" height=\"{{imgHeight}}\" width=\"{{imgWidth}}\" />\n </div>\n <div class=\"text-container\">\n <p>{{label}}</p>\n </div>\n </div>\n <div class=\"button-container\" *ngIf=\"i == 0\">\n <ng-content select=\"ap-button.first\"></ng-content>\n </div>\n <div class=\"button-container\" *ngIf=\"i == 1\">\n <ng-content select=\"ap-button.second\"></ng-content>\n </div>\n </div>\n </ng-container>\n </div>\n <ng-content select=\"footer\"></ng-content>\n</div>\n","import {ChangeDetectionStrategy, Component, Input, Output, EventEmitter} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-tag',\n templateUrl: './tag.component.html',\n styleUrls: ['./tag.component.scss']\n})\nexport class TagComponent {\n\n @Input() color: string | 'blue' | 'red' | 'purple' | 'orange' | 'yellow' | 'green' = 'default';\n @Input() content: string;\n @Input() onlyText: boolean = false;\n @Input() removable: boolean = false;\n\n @Output() deleteTag = new EventEmitter<string>();\n\n onDeleteTag() {\n this.deleteTag.emit(this.content);\n }\n\n}\n","<div class=\"tag\"\n [ngClass]=\"color\"\n [class.big-padding]=\"onlyText\" \n [class.removable]=\"removable\">\n <div class=\"tag-label\">{{content}}</div>\n <div *ngIf=\"removable\"\n class=\"delete-cross\">\n <ap-symbol symbolId=\"remove-bold\"\n size=\"pico\"\n (click)=\"onDeleteTag()\">\n </ap-symbol>\n </div>\n</div>\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, Output} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-tag-list',\n templateUrl: './tag-list.component.html',\n styleUrls: ['./tag-list.component.scss']\n})\nexport class TagListComponent {\n\n @Input() removeTagsEnabled: boolean = false;\n @Input() tags: string[];\n\n @Output() deleteTag = new EventEmitter<string[]>();\n\n onDeleteTag(tag: string): void {\n this.tags.splice(this.tags.indexOf(tag), 1);\n this.deleteTag.emit(this.tags);\n }\n\n public trackByTagContent(index, entry: string) {\n return entry;\n }\n}\n","<div class=\"tags-list\">\n <div *ngFor=\"let tag of tags; trackBy: trackByTagContent;\">\n <ap-tag [content]=\"tag\"\n [removable]=\"removeTagsEnabled\"\n (deleteTag)=\"onDeleteTag($event)\"></ap-tag>\n </div>\n</div>\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, Output} from '@angular/core';\nimport {TryPopupTexts} from './try-popup-texts.model';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-try-popup',\n templateUrl: 'try-popup.component.html',\n styleUrls: ['try-popup.component.scss']\n})\n\nexport class TryPopupComponent {\n\n @Input() texts: TryPopupTexts;\n @Input() trialUrl: string;\n\n @Output() trialClicked: EventEmitter<any> = new EventEmitter<any>();\n @Output() closeClicked: EventEmitter<any> = new EventEmitter<any>();\n\n tryAgorapulsePopupVisible: boolean = true;\n logoUrl: string = 'assets/img/style/logos/logo-blue.svg';\n\n onClose() {\n this.tryAgorapulsePopupVisible = false;\n this.closeClicked.emit();\n }\n\n onButtonClick() {\n this.trialClicked.emit();\n this.onClose();\n window.open(this.trialUrl, '_blank');\n }\n}\n","<ng-template [ngIf]=\"tryAgorapulsePopupVisible\">\n <div class=\"try-popup\">\n <button (click)=\"onClose()\" class=\"close-button\" id=\"try-button\" mat-flat-button>\n <mat-icon>close</mat-icon>\n </button>\n\n <div class=\"row\">\n <div class=\"col s6\">\n <img class=\"agorapulse-logo\" [src]=\"logoUrl\" alt=\"Agorapulse\">\n <p class=\"subtitle\">\n {{texts.description}}\n </p>\n </div>\n\n <div class=\"col s6 button-container\">\n <button (click)=\"onButtonClick()\"\n color=\"primary\"\n mat-flat-button>\n {{texts.tryButtonLabel}}\n </button>\n </div>\n </div>\n </div>\n</ng-template>\n","import {\n AfterViewInit,\n Component,\n EventEmitter,\n Input, OnChanges,\n OnInit,\n Output, SimpleChanges,\n} from '@angular/core';\nimport {Observable, of, Subject} from \"rxjs\";\nimport {catchError, debounceTime, distinctUntilChanged, map, switchMap, tap} from \"rxjs/operators\";\n\nexport interface TagsSelectorLabels {\n placeholder: string;\n createTag: string;\n}\n\n@Component({\n selector: 'ap-tags-selector',\n templateUrl: './tags-selector.component.html',\n styleUrls: ['./tags-selector.component.scss']\n})\nexport class TagsSelectorComponent implements OnInit, OnChanges {\n\n readonly INFINITY = Number.MAX_SAFE_INTEGER;\n\n @Input() addTagEnabled: boolean = true;\n @Input() disabled: boolean = false;\n @Input() initialTags: string[] = [];\n @Input() labels: TagsSelectorLabels;\n @Input() loadingOnSearch: boolean = true;\n @Input() multipleEnabled: boolean = true;\n @Input() searchTagsFunction: (string) => Observable<string[]>;\n\n @Output() selectTags = new EventEmitter<string[]>();\n @Output() searchErrorMessage = new EventEmitter<string>();\n\n tags: string[] = [];\n tagsInput$: Subject<string> = new Subject<string>();\n tags$: Observable<string[]>;\n tagsLoading = false;\n\n constructor() { }\n\n ngOnInit(): void {\n this.tags = this.initialTags;\n this.setSearchFunction();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes?.initialTags?.currentValue) {\n this.tags = this.initialTags;\n }\n }\n\n onAdd(): void {\n this.tags$ = of([]);\n this.setSearchFunction();\n }\n\n onOpen(): void {\n this.tagsInput$.next('');\n }\n\n onTagsChange(): void {\n this.selectTags.emit(this.tags);\n }\n\n setSearchFunction(): void {\n this.tags$ = this.tagsInput$.pipe(\n debounceTime(this.loadingOnSearch ? 400 : 0),\n distinctUntilChanged(),\n tap(() => {\n this.tagsLoading = true;\n }),\n switchMap((term: string) => this.searchTagsFunction(term).pipe(\n catchError((response) => {\n this.searchErrorMessage.emit(response.error ? response.error.message: 'Error');\n return [];\n }),\n map(response => {\n this.tagsLoading = false;\n if (!response || Object.keys(response).length == 0) {\n return [];\n }\n return response;\n })\n )));\n }\n}\n","<!-- @JRA [multiple]=\"false\" break the component display and behavior, we use [maxSelectedItems]=\"1\" as efficient workaround -->\n<ng-select class=\"tags-select\"\n [disabled]=\"disabled\"\n [addTag]=\"addTagEnabled\"\n [maxSelectedItems]=\"multipleEnabled ? INFINITY : 1\"\n [multiple]=\"true\"\n [hideSelected]=\"true\"\n [placeholder]=\"labels.placeholder\"\n [loading]=\"tagsLoading\"\n [items]=\"tags$ | async\"\n [typeahead]=\"tagsInput$\"\n [minTermLength]=\"0\"\n [clearable]=\"false\"\n [(ngModel)]=\"tags\"\n (open)=\"onOpen()\"\n (change)=\"onTagsChange()\"\n (add)=\"onAdd()\"\n appendTo=\"body\">\n <ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\">\n <div *ngFor=\"let item of items\" class=\"tags-wrapper\">\n <ap-tag [content]=\"item\" [removable]=\"!disabled\" (deleteTag)=\"clear(item)\"></ap-tag>\n </div>\n </ng-template>\n <ng-template ng-option-tmp let-item=\"item\" let-search=\"searchTerm\">\n <div *ngIf=\"search\"><b>{{item.substring(0, search.length)}}</b>{{item.substring(search.length, item.length)}}</div>\n <div *ngIf=\"!search\">{{item}}</div>\n </ng-template>\n <ng-template ng-tag-tmp let-search=\"searchTerm\">\n <div class=\"add-tag\">\n <ap-symbol class=\"add-tag-icon\"\n symbolId=\"add-circle-bold-alternate\"\n size=\"micro\"\n ></ap-symbol>\n <div class=\"add-tag-preview\">{{labels.createTag}} \"{{search}}\"</div>\n </div>\n </ng-template>\n</ng-select>\n","import { ConnectionPositionPair } from '@angular/cdk/overlay';\n\nconst topLeftPosition: ConnectionPositionPair = {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetY: -12\n};\n\nconst topPosition: ConnectionPositionPair = {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n offsetY: -12\n};\n\nconst topRightPosition: ConnectionPositionPair = {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetY: -12\n};\n\nconst bottomLeftPosition: ConnectionPositionPair = {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: 12\n};\n\nconst bottomPosition: ConnectionPositionPair = {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n offsetY: 12\n};\n\nconst bottomRightPosition: ConnectionPositionPair = {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetY: 12\n};\n\nconst leftPostion: ConnectionPositionPair = {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n offsetX: -12\n};\n\nconst rightPosition: ConnectionPositionPair = {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n offsetX: 12\n};\n\nexport const tooltipNeoPositions: { [key: string]: ConnectionPositionPair } = {\n topLeft: topLeftPosition,\n top: topPosition,\n topRight: topRightPosition,\n left: leftPostion,\n right: rightPosition,\n bottomLeft: bottomLeftPosition,\n bottom: bottomPosition,\n bottomRight: bottomRightPosition\n};\n","import {Injectable} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TooltipNeoService {\n public clickOutside$: Subject<void> = new Subject<void>();\n}\n","import {\n Component,\n Input,\n ChangeDetectionStrategy,\n HostListener,\n ElementRef,\n OnInit,\n} from '@angular/core';\nimport { animate, style, transition, trigger } from '@angular/animations';\nimport { TooltipNeoParams } from './tooltip-neo.model';\nimport {TooltipNeoService} from \"./tooltip-neo.service\";\n\n@Component({\n selector: 'ap-tooltip-neo',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrls: ['./tooltip-neo.component.scss'],\n templateUrl: './tooltip-neo.component.html',\n animations: [\n trigger('neoTooltip', [\n transition(':enter', [\n style({ opacity: 0 }),\n animate(200, style({ opacity: 1 }))\n ]),\n transition(':leave', [animate(200, style({ opacity: 0 }))])\n ])\n ]\n})\nexport class TooltipNeoComponent implements OnInit {\n @Input() params: TooltipNeoParams;\n\n border: string;\n\n constructor(\n private _elementRef: ElementRef,\n private _tooltipNeoService: TooltipNeoService,\n ) {\n }\n\n ngOnInit() {\n this.params.borderColor\n ? this.border = `solid 1px ${this.params.borderColor}`\n : this.border = undefined;\n }\n\n @HostListener('document:click', ['$event'])\n onClickOutside(event) {\n if(!this._elementRef.nativeElement.contains(event.target)) {\n this._tooltipNeoService.clickOutside$.next();\n }\n }\n}\n","<div @neoTooltip [ngSwitch]=\"params.contentType\"\n class=\"tooltip {{params.maxWidth}}\"\n [style.background]=\"params.backgroundColor\"\n [style.border]=\"border\"\n >\n <div *ngIf=\"params.displayArrow\"\n class=\"arrow-tooltip {{params.position}}\"\n [class.border]=\"!!params.borderColor\"\n [style.background]=\"params.backgroundColor\"\n [style.borderTop]=\"border\"\n [style.borderRight]=\"border\"\n ></div>\n <ng-container *ngIf=\"params.title\">\n <div class=\"text title\">{{params.title}}</div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'text'\">\n <ng-container *ngIf=\"params.content\">\n <div class=\"text content\">{{params.content}}</div>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'template'\">\n <ng-container *ngTemplateOutlet=\"params.content\">\n </ng-container>\n </ng-container>\n</div>\n","import {\n ComponentRef,\n Directive,\n ElementRef,\n HostListener,\n Input, OnChanges,\n OnDestroy,\n OnInit, SimpleChanges,\n TemplateRef,\n} from '@angular/core';\nimport {ComponentPortal} from '@angular/cdk/portal';\nimport {Overlay, OverlayPositionBuilder, OverlayRef} from '@angular/cdk/overlay';\nimport {fromEvent, merge, of, Subject, Subscription} from 'rxjs';\nimport {delay, switchMap, takeUntil} from 'rxjs/operators';\nimport {tooltipNeoPositions} from './tooltip-neo.const';\nimport {TooltipNeoParams} from './tooltip-neo.model';\nimport {TooltipNeoService} from './tooltip-neo.service';\nimport {TooltipNeoComponent} from './tooltip-neo.component';\n\n@Directive({selector: '[apTooltipNeo]'})\nexport class TooltipNeoDirective implements OnInit, OnDestroy, OnChanges {\n @Input() apTooltipNeo: string | TooltipNeoParams;\n\n private allowDisplay: boolean;\n private destroy$: Subject<void> = new Subject<void>();\n private hide$: Subject<boolean> = new Subject<boolean>();\n private mouseEntered = false;\n private overlayRef: OverlayRef;\n private params: TooltipNeoParams;\n private show$: Subject<boolean> = new Subject<boolean>();\n private elementRefMouseLeave$: Subscription;\n\n static enableTooltip(content: string | TemplateRef<any>, contentType: string, display: boolean): boolean {\n return !!content && !!contentType && !!display;\n }\n\n constructor(\n private elementRef: ElementRef,\n private overlay: Overlay,\n private overlayPositionBuilder: OverlayPositionBuilder,\n private tooltipNeoService: TooltipNeoService,\n ) {\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes?.apTooltipNeo?.currentValue?.display || changes?.apTooltipNeo?.currentValue?.position) && this.mouseEntered) {\n this.setSettings();\n this.allowDisplay ? this.show$.next(true) : this.hide$.next(false);\n }\n }\n\n ngOnInit(): void {\n this.initiateTooltip();\n }\n\n ngOnDestroy(): void {\n this.detach();\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private setSettings(): void {\n if (typeof this.apTooltipNeo === 'object') {\n const {\n content,\n backgroundColor = '#ffffff',\n borderColor,\n contentType = 'text',\n display = true,\n displayArrow = true,\n maxWidth = 'full',\n position = 'top',\n title = ''\n } = this.apTooltipNeo as TooltipNeoParams;\n this.params = {content, backgroundColor, borderColor, contentType, display, displayArrow, maxWidth, position, title};\n this.allowDisplay = TooltipNeoDirective.enableTooltip(content, contentType, display);\n }\n if (typeof this.apTooltipNeo === 'string') {\n const content = this.apTooltipNeo as string;\n const backgroundColor = '#ffffff';\n const borderColor = undefined;\n const contentType = 'text';\n const display = true;\n const displayArrow = true;\n const maxWidth = 'full';\n const position = 'top';\n const title = '';\n this.params = {content, backgroundColor, borderColor, contentType, position, display, displayArrow, title, maxWidth};\n this.allowDisplay = TooltipNeoDirective.enableTooltip(content, contentType, display);\n }\n }\n\n private initiateTooltip(): void {\n merge(this.hide$, this.show$)\n .pipe(\n switchMap(bool => {\n if (!bool) {\n return of(bool);\n }\n return of(bool).pipe(delay(200));\n }),\n takeUntil(this.destroy$)\n )\n .subscribe(bool => {\n if (bool) {\n this.elementRefMouseLeave$ = fromEvent(this.elementRef.nativeElement, 'mouseleave')\n .subscribe(() => this.detach());\n const positionStrategy = this.overlayPositionBuilder\n .flexibleConnectedTo(this.elementRef)\n .withPositions([tooltipNeoPositions[this.params.position]]);\n const scrollStrategy = this.overlay.scrollStrategies.close();\n this.overlayRef = this.overlay.create({positionStrategy, scrollStrategy});\n const tooltipRef: ComponentRef<TooltipNeoComponent> = this.overlayRef.attach(new ComponentPortal(TooltipNeoComponent));\n tooltipRef.instance.params = this.params;\n } else {\n this.detach();\n }\n });\n this.tooltipNeoService.clickOutside$\n .pipe(\n takeUntil(this.destroy$)\n )\n .subscribe(() => this.hide$.next(false));\n }\n\n private detach(): void {\n this.overlayRef && this.overlayRef.hasAttached() && this.overlayRef.detach();\n this.elementRefMouseLeave$ && this.elementRefMouseLeave$.unsubscribe();\n }\n\n @HostListener('mouseenter')\n onMouseEnter(): void {\n this.setSettings();\n this.mouseEntered = true;\n this.allowDisplay && this.params && this.show$.next(true);\n }\n\n @HostListener('mouseleave')\n onMouseLeave(): void {\n this.mouseEntered = false;\n this.hide$.next(false);\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n ViewChild\n} from '@angular/core';\nimport {OverlayContainer} from \"@angular/cdk/overlay\";\nimport moment from 'moment';\nimport {CdkVirtualScrollViewport} from \"@angular/cdk/scrolling\";\n\n/**\n * Time in 24h format\n */\nexport interface Time {\n hours: number;\n minutes: number;\n best?: boolean;\n}\n\nexport enum TimeFormat {\n Meridian = 'Meridian',\n Default = 'Default'\n}\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-timepicker',\n templateUrl: './timepicker.component.html',\n styleUrls: ['./timepicker.component.scss']\n})\nexport class TimepickerComponent implements OnInit, OnChanges {\n @ViewChild('inputBox') inputBox: ElementRef;\n @ViewChild('inputTime') inputTime: ElementRef;\n @ViewChild(CdkVirtualScrollViewport) viewPort: CdkVirtualScrollViewport;\n\n @Input() disabled: boolean = false;\n @Input() format: TimeFormat = TimeFormat.Default;\n @Input() invalid: boolean = false;\n @Input() invalidationMessage: string;\n @Input() period: number = 15;\n @Input() placement: string = 'bottom';\n @Input() timeModel: string;\n @Output() timeModelChange: EventEmitter<Time> = new EventEmitter<Time>();\n\n closeMenu: boolean = false;\n openedMenu: boolean = false;\n position: {top: number, left: number} = null;\n previousTime: string = null;\n timeActive;\n TimeFormat = TimeFormat;\n timeFormat12 = /(^[01]?\\d)(:)([0-5]\\d)(am|pm)+?$/i;\n timeFormat12anySeparator = /(^[01]?\\d)([^0-9])([0-5]\\d)(am|pm)+?$/i;\n timeFormat12WithoutMinute = /(^[01]?\\d)(am|pm)+?$/i;\n timeFormat24 = /^([01]?[0-9]|2[0-3]):[0-5][0-9]$/;\n timeFormat24anySeparator = /^([01]?[0-9]|2[0-3])([^0-9])([0-5][0-9])$/;\n times: string[] = [];\n validated = false;\n listFocus = false;\n validationStarted = false;\n\n constructor(public changeDetectorRef: ChangeDetectorRef, private overlayContainer: OverlayContainer, private renderer: Renderer2) {\n const disableAnimations: boolean = true;\n // get overlay container to set property that disables animations\n const overlayContainerElement: HTMLElement = this.overlayContainer.getContainerElement();\n // angular animations renderer hooks up the logic to disable animations into setProperty\n this.renderer.setProperty( overlayContainerElement, \"@.disabled\", disableAnimations );\n }\n\n ngOnInit(): void {\n this.generateTimeSlots();\n }\n\n ngOnChanges(changes: any): void {\n this.generateTimeSlots();\n if (changes.placement && changes.placement.currentValue) {\n if (changes.placement.currentValue === 'top') {\n this.position = {\n top: 179, // height of picker\n left: this.inputBox.nativeElement.getBoundingClientRect().left\n };\n } else {\n this.position = { top: this.inputBox.nativeElement.getBoundingClientRect().top +\n this.inputBox.nativeElement.getBoundingClientRect().height ,\n left: this.inputBox.nativeElement.getBoundingClientRect().left};\n }\n setTimeout(() => {\n this.changeDetectorRef.markForCheck();\n }, 200);\n }\n }\n\n emitChanges(): void {\n const time24Format = this.format === TimeFormat.Default ? this.timeModel : TimepickerComponent.convert12To24(this.timeModel);\n const time: Time = {\n hours: this.getHoursFrom24(time24Format),\n minutes: this.getMinutesFrom24(time24Format),\n best: false,\n };\n this.timeModelChange.emit(time);\n this.closeMenu = true;\n this.changeDetectorRef.detectChanges();\n this.inputBox.nativeElement.focus();\n }\n\n getHoursFrom24(time24Format: string): number {\n return +(time24Format.split(':')[0]);\n }\n\n getMinutesFrom24(time24Format: string): number {\n return +(time24Format.split(':')[1]);\n }\n\n generateTimeSlots(): void {\n this.changeDetectorRef.detectChanges();\n this.times = Object.assign([], []);\n if (!this.timeModel) {\n this.timeModel = moment().format('HH:mm');\n }\n if (this.format === TimeFormat.Meridian) {\n if (!this.timeModel.includes('am') && !this.timeModel.includes('pm')) {\n this.timeModel = TimepickerComponent.convert24To12(this.timeModel);\n }\n } else {\n if (this.timeModel.includes('am') || this.timeModel.includes('pm')) {\n this.timeModel = TimepickerComponent.convert12To24(this.timeModel);\n }\n }\n for (let i = 0; i < 24; i++) {\n let hour = i;\n let meridian = '';\n if (this.format === TimeFormat.Meridian) {\n meridian = 'am';\n if (hour >= 12) {\n meridian = 'pm';\n if (hour > 12) {\n hour = hour - 12;\n }\n }\n if (hour === 0) {\n hour = 12;\n }\n }\n for (let j = 0; j < 60; j += this.period) {\n const time = hour + ':' + TimepickerComponent.toFixed(j, 10) + meridian;\n this.times = [...this.times, time];\n }\n }\n\n if (!this.timeModel) {\n this.timeModel = moment().format('HH:mm');\n if (this.format === TimeFormat.Meridian) {\n this.timeModel = moment().format('hh:mma');\n }\n }\n this.changeDetectorRef.detectChanges();\n }\n\n focusOnList(focusEnabled: boolean): void {\n this.listFocus = focusEnabled;\n\n }\n\n onMenuClosed(): void {\n this.closeMenu = true;\n this.openedMenu = false;\n this.listFocus = false;\n if (!this.validationStarted) {\n this.validate(this.timeModel);\n }\n this.viewPort.setRenderedContentOffset(0);\n this.viewPort.scrollToIndex(0);\n this.validated = false;\n this.validationStarted = false;\n }\n\n onModelChange(time): void {\n this.timeActive = null;\n if (!this.validated) {\n for (let i = 0; i < this.times.length; i++) {\n const checkTime = this.checkTime(time, this.times[i]);\n if (checkTime.match) {\n this.scrollToIndex(i);\n if (checkTime.exactMatch) {\n this.timeActive = i;\n }\n break;\n\n }\n }\n }\n this.validated = false;\n\n }\n\n openTimePicker() {\n this.previousTime = this.timeModel;\n this.closeMenu = false;\n if (this.placement === 'top') {\n this.position = {\n top: 179, // height of picker\n left: this.inputBox.nativeElement.getBoundingClientRect().left\n };\n } else {\n this.position = { top: (this.inputBox.nativeElement.getBoundingClientRect().top - 1) ,\n left: this.inputBox.nativeElement.getBoundingClientRect().left };\n }\n if (!this.openedMenu && !this.validated) {\n this.openedMenu = true;\n setTimeout(() => {\n this.onModelChange(this.timeModel);\n this.inputTime?.nativeElement.focus();\n this.inputTime?.nativeElement.select();\n }, 50);\n }\n this.validated = false;\n\n return false;\n }\n\n\n selectTime(time) {\n this.timeModel = time;\n this.emitChanges();\n }\n\n validate(time) {\n this.validationStarted = true;\n if (!this.listFocus) {\n if (this.timeFormat24anySeparator.test(time)) {\n time = time.replace(this.timeFormat24anySeparator, '$1:$3');\n } else if (this.timeFormat12anySeparator.test(time)) {\n time = time.replace(this.timeFormat12anySeparator, '$1:$3$4');\n }\n this.validated = true;\n let timeFound = false;\n for (let i = 0; i < this.times.length; i++) {\n const checkTime = this.checkTime(time, this.times[i]);\n if (checkTime.match && checkTime.exactMatch) {\n this.selectTime(this.times[i]);\n timeFound = true;\n break;\n }\n }\n if (!timeFound) {\n let validTime: boolean;\n if (this.format === TimeFormat.Meridian) {\n validTime = this.timeFormat12.test(time);\n if (!validTime) {\n validTime = this.timeFormat24.test(time);\n if (validTime) {\n time = TimepickerComponent.convert24To12(time)\n } else {\n validTime = this.timeFormat12WithoutMinute.test(time);\n if (validTime) {\n time = time.replace(this.timeFormat12WithoutMinute, '$1:00$2');\n }\n }\n }\n } else {\n validTime = this.timeFormat24.test(time);\n if (!validTime) {\n validTime = this.timeFormat12.test(time);\n if (validTime) {\n time = TimepickerComponent.convert12To24(time)\n }\n }\n }\n if (validTime) {\n this.selectTime(time);\n } else {\n this.selectTime(this.previousTime);\n }\n }\n }\n }\n\n scrollToIndex(i: number): void {\n this.viewPort.scrollToIndex( i, 'smooth');\n }\n\n static formatTime(time: Time, format: TimeFormat): string {\n let timeString = `${time.hours}` + ':' + `${time.minutes}`.padStart(2, '0');\n if (format === TimeFormat.Meridian) {\n timeString = TimepickerComponent.convert24To12(timeString);\n }\n return timeString;\n }\n\n private checkTime(term: string, termToMatch: string): { match: boolean, exactMatch: boolean } {\n let exactMatch = true;\n if (this.timeFormat24anySeparator.test(term)) {\n term = term.replace(this.timeFormat24anySeparator, '$1:$3');\n } else if (this.timeFormat12anySeparator.test(term)) {\n term = term.replace(this.timeFormat12anySeparator, '$1:$3$4');\n }\n if (term === '') {\n return { match: false, exactMatch: false };\n }\n const terms = term.split(':');\n if ((!isNaN(parseInt(terms[0]))) && terms[1]?.length >= 2 && !isNaN(parseInt(terms[1].substring(0, 2)))) {\n const hour = parseInt(terms[0]);\n let newHour = hour;\n let newMinutes = terms[1].substring(0, 2);\n const minutes = parseInt(newMinutes);\n if (minutes !== 0) {\n if (minutes <= 15) {\n newMinutes = '15';\n } else if (minutes <= 30) {\n newMinutes = '30';\n } else if (minutes <= 45) {\n newMinutes = '45';\n } else {\n newHour += 1;\n newMinutes = '00';\n }\n }\n if (parseInt(newMinutes) !== minutes || newHour !== hour) {\n exactMatch = false;\n }\n term = newHour + ':' + newMinutes + terms[1].substring(2, terms[1].length);\n }\n let meridian = '';\n if (this.format === TimeFormat.Meridian) {\n if (terms[0]) {\n if (!isNaN(parseInt(terms[0]))) {\n let hour = parseInt(terms[0]);\n if (hour > 12) {\n hour = hour - 12;\n term = hour + ':' + (terms[1] ? terms[1].substring(0, 2) : '00');\n meridian = 'pm';\n }\n if (!term.endsWith('am') && !term.endsWith('pm')) {\n term += meridian;\n }\n }\n }\n if (this.timeFormat12WithoutMinute.test(term)){\n term = term.substring(0, term.length - 2) + ':00' + term.substring(term.length - 2, term.length);\n }\n }\n return {match : termToMatch.startsWith(term), exactMatch};\n }\n\n private static convert12To24(time): string {\n const terms = time.split(':');\n const minutes = terms[1].substring(0, 2);\n const meridian = terms[1].substring(2, 4);\n let hour = parseInt(terms[0]);\n if (!isNaN(parseInt(terms[0]))) {\n if (meridian === 'pm' && hour < 12) {\n hour = hour + 12;\n }\n if (meridian === 'am' && hour === 12) {\n hour = 0;\n }\n }\n return hour + ':' + minutes;\n }\n\n private static convert24To12(time): string {\n const terms = time.split(':');\n let meridian = 'am';\n let hour = parseInt(terms[0]);\n if (!isNaN(parseInt(terms[0]))) {\n if (hour >= 12) {\n meridian = 'pm';\n if (hour > 12) {\n hour = hour - 12;\n }\n }\n if (hour === 0) {\n hour = 12;\n }\n }\n return hour + ':' + terms[1] + meridian\n }\n\n private static toFixed(num, fix): string {\n let fixedNum: string = num;\n if (num < fix) {\n fixedNum = '0' + fixedNum;\n }\n return fixedNum;\n }\n}\n","<div class=\"display-flex\" [class.meridian]=\"format === TimeFormat.Meridian\">\n <ng-template #timeOptionsTemplate >\n <input #inputTime\n *ngIf=\"placement == 'bottom'\"\n class=\"time-input menu\"\n type=\"text\"\n [(ngModel)]=\"timeModel\"\n (ngModelChange)=\"onModelChange($event)\"\n (blur)=\"validate($event?.target?.value)\"\n (keydown.enter)=\"validate($event?.target?.value)\"\n (mouseenter)=\"focusOnList(false)\">\n <div class=\"time-options-container {{placement}}\"\n (mouseenter)=\"focusOnList(true)\"\n (mouseleave)=\"focusOnList(false)\">\n <cdk-virtual-scroll-viewport style=\"height: 100%\" itemSize=\"33\" class=\"scroll\" minBufferPx=\"200\" maxBufferPx=\"200\" autofocus>\n <div style=\"visibility: hidden;max-height: 0\">€</div>\n <div *cdkVirtualFor=\"let item of times;let i = index\" (click)=\"selectTime(item)\" id=\"_apTime_{{i}}\" class=\"time-line\" [class.selected]=\"timeActive === i\">\n <span class=\"hour\">{{item}}</span>\n </div>\n </cdk-virtual-scroll-viewport>\n </div>\n <input #inputTime\n *ngIf=\"placement == 'top'\"\n class=\"time-input menu\"\n type=\"text\"\n [(ngModel)]=\"timeModel\"\n (ngModelChange)=\"onModelChange($event)\"\n (blur)=\"validate($event?.target?.value)\"\n (keydown.enter)=\"validate($event?.target?.value)\"\n (mouseenter)=\"focusOnList(false)\">\n\n </ng-template>\n\n <input #inputBox\n class=\"time-input\"\n [ngClass]=\"{'invalid': invalid}\"\n type=\"text\"\n [(ngModel)]=\"timeModel\"\n (click)=\"openTimePicker()\"\n [disabled]=\"disabled\"\n [apPopmenu]=\"timeOptionsTemplate\"\n [apTooltipNeo]=\"{content: invalidationMessage, display: invalidationMessage && invalid}\"\n [shadow]=\"false\"\n [apPopmenuBorder]=\"false\"\n [apPopmenuBackground]=\"false\"\n [hasBackdrop]=\"true\"\n [close]=\"closeMenu\"\n [pointer]=\"true\"\n [position]=\"position\"\n [placement]=\"placement\"\n [rounded]=\"true\"\n (menuClosed)=\"onMenuClosed()\"\n placement=\"bottom right\"\n color=\"secondary\"\n readonly>\n\n</div>\n","import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\n\n@Component({\n selector: 'ap-notification',\n templateUrl: './notification.component.html',\n styleUrls: ['./notification.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NotificationComponent {\n\n @Input() type: 'info'|'warning'|'error'|'success' = 'info';\n}\n","<div\n class=\"main\"\n [ngClass]=\"{'warning': type === 'warning', 'error': type === 'error', 'success': type === 'success'}\">\n <span class=\"border\"></span>\n <span class=\"icon\">\n <ng-content select=\"[icon]\"></ng-content>\n </span>\n <ng-content select=\"[text]\"></ng-content>\n</div>\n","import {\n Component,\n Input,\n Output,\n OnChanges,\n SimpleChanges,\n EventEmitter,\n ChangeDetectionStrategy\n} from '@angular/core';\nimport {Step} from './step.model';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-stepper',\n templateUrl: './stepper.component.html',\n styleUrls: ['./stepper.component.scss']\n})\nexport class StepperComponent implements OnChanges {\n\n @Input() currentStep: Step;\n @Input() steps: Step[] = []; // Immutable after init.\n @Output() stepClicked: EventEmitter<Step> = new EventEmitter<Step>();\n\n stepTexts: { [index: number]: string } = {};\n currentIndex = 0;\n\n constructor() {\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.steps?.length > 0 && this.currentStep) {\n this.currentIndex = this.steps.findIndex(step => step.id === this.currentStep.id);\n } else {\n this.currentIndex = 0;\n }\n }\n\n clickCurrentStep(step: Step): void {\n this.stepClicked.emit(step);\n }\n}\n\n\n","<div class=\"main\">\n <span class=\"item\"\n *ngFor=\"let step of steps; let index=index; let last=last\" >\n <span [ngClass]=\" {\n 'number': true,\n 'active': index === currentIndex,\n 'no-more-active': currentIndex > index,\n 'not-yet-active': currentIndex < index}\">\n {{index + 1}}\n </span>\n <span class=\"text\" [ngClass]=\"{'clickable': step.clickable}\" (click)=\"step.clickable ? clickCurrentStep(step) : false\">\n {{step.name}}\n </span>\n <ap-symbol\n *ngIf=\"!last\"\n [id]=\"'arrow-right-1'\"\n [size]=\"'12px'\">\n </ap-symbol>\n </span>\n</div>\n","import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {MAT_SNACK_BAR_DATA, MatSnackBarRef} from \"@angular/material/snack-bar\";\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-snackbar',\n templateUrl: 'snackbar.component.html',\n styleUrls: ['snackbar.component.scss']\n})\nexport class SnackBarComponent {\n constructor(public snackBarRef: MatSnackBarRef<SnackBarComponent>,\n @Inject(MAT_SNACK_BAR_DATA) public data: any) {\n\n }\n}\n","<div class=\"snackbar-content\">\n <div class=\"snackbar-text\" [innerHTML]=\"data.message\">\n </div>\n <ap-symbol\n class=\"snackbar-close\"\n symbolId=\"close\"\n size=\"12\"\n (click)=\"snackBarRef.dismiss()\">\n </ap-symbol>\n</div>\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, Output} from '@angular/core';\n\n@Component({\n selector: 'ap-paginator-button',\n templateUrl: './paginator-button.component.html',\n styleUrls: ['./paginator-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PaginatorButtonComponent {\n\n @Input() pageIndex = 0\n @Input() selectedPageIndex = 0;\n\n @Output() selectPage = new EventEmitter<number>();\n}\n","<button class=\"square\"\n mat-flat-button\n [color]=\"selectedPageIndex === pageIndex ? 'accent' : undefined\"\n (click)=\" selectPage.emit(pageIndex)\">\n {{pageIndex + 1}}\n</button>\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges} from '@angular/core';\n\n@Component({\n selector: 'ap-paginator',\n templateUrl: './paginator.component.html',\n styleUrls: ['./paginator.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PaginatorComponent implements OnChanges {\n\n @Input() itemCount = 0;\n @Input() itemCountPerPage = 10;\n @Input() edgeSize = 5;\n @Input() middleSize = 3;\n\n @Input() currentPageIndex = 0;\n @Output() currentPageIndexChange = new EventEmitter<number>();\n\n public pageCount = 0;\n public firstPageDisplayed = true;\n public lastPageDisplayed = true;\n\n ngOnChanges(changes: SimpleChanges) {\n // make sure middle size is an odd number\n if (changes.middleSize && this.middleSize % 2 === 0) {\n this.middleSize++;\n }\n if (this.itemCountPerPage && (changes.itemCount || changes.itemCountPerPage) || changes.currentPageIndex) {\n this.pageCount = Math.ceil(this.itemCount / this.itemCountPerPage);\n // make sure page index is between min and max page index\n this.currentPageIndex = Math.max(0, Math.min(this.pageCount - 1, this.currentPageIndex));\n this.firstPageDisplayed = this.currentPageIndex === 0;\n this.lastPageDisplayed = this.currentPageIndex === this.pageCount - 1;\n }\n }\n\n onSelectPage(pageIndex: number): void {\n this.currentPageIndexChange.emit(pageIndex);\n }\n}\n","<div class=\"item-index-overview\">\n {{(currentPageIndex * itemCountPerPage) + 1}}\n -{{lastPageDisplayed ? itemCount : (currentPageIndex + 1) * itemCountPerPage}}\n of {{itemCount}}\n</div>\n\n<div class=\"pages\">\n <button class=\"square\"\n mat-flat-button\n [disabled]=\"firstPageDisplayed\"\n (click)=\"onSelectPage(currentPageIndex - 1)\">\n <ap-symbol symbolId=\"arrow-left-1\"></ap-symbol>\n </button>\n <ng-container *ngIf=\"pageCount > edgeSize + 1; else allPagesDisplayed\">\n <ng-container *ngIf=\"currentPageIndex >= edgeSize - 1; else oneOfFirstPagesDisplayed\">\n <ng-container *ngIf=\"currentPageIndex <= pageCount - edgeSize; else oneOfLastPagesDisplayed\">\n <ap-paginator-button [pageIndex]=\"0\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\">\n </ap-paginator-button>\n <span class=\"ellipsis\">...</span>\n <ng-container *ngFor=\"let dummy of [].constructor(middleSize); let i = index\">\n <ap-paginator-button [pageIndex]=\"currentPageIndex + i - (middleSize - 1) / 2\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\">\n </ap-paginator-button>\n </ng-container>\n <span class=\"ellipsis\">...</span>\n <ap-paginator-button [pageIndex]=\"pageCount - 1\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\">\n </ap-paginator-button>\n </ng-container>\n </ng-container>\n <ng-template #oneOfFirstPagesDisplayed>\n <ng-container *ngFor=\"let dummy of [].constructor(edgeSize); let i = index\">\n <ap-paginator-button [pageIndex]=\"i\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\">\n </ap-paginator-button>\n </ng-container>\n <span class=\"ellipsis\">...</span>\n <ap-paginator-button [pageIndex]=\"pageCount - 1\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\">\n </ap-paginator-button>\n </ng-template>\n <ng-template #oneOfLastPagesDisplayed>\n <ap-paginator-button [pageIndex]=\"0\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\">\n </ap-paginator-button>\n <span class=\"ellipsis\">...</span>\n <ng-container *ngFor=\"let dummy of [].constructor(edgeSize); let i = index\">\n <ap-paginator-button [pageIndex]=\"pageCount - edgeSize + i\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\">\n </ap-paginator-button>\n </ng-container>\n </ng-template>\n </ng-container>\n <ng-template #allPagesDisplayed>\n <ng-container *ngFor=\"let dummy of [].constructor(pageCount); let i = index\">\n <ap-paginator-button [pageIndex]=\"i\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\">\n </ap-paginator-button>\n </ng-container>\n </ng-template>\n <button class=\"square\"\n mat-flat-button\n [disabled]=\"lastPageDisplayed\"\n (click)=\"onSelectPage(currentPageIndex + 1)\">\n <ap-symbol symbolId=\"arrow-right-1\"></ap-symbol>\n </button>\n</div>\n","import {Component, EventEmitter, forwardRef, Input, Output} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\n@Component({\n selector: 'ap-slide-toggle',\n templateUrl: './slide-toggle.component.html',\n styleUrls: ['./slide-toggle.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SlideToggleComponent),\n multi: true\n }\n ]\n})\nexport class SlideToggleComponent implements ControlValueAccessor {\n\n private _checked = false;\n\n @Input() set checked(status: boolean) {\n this._checked = status;\n this.onChanged(status);\n }\n\n get checked(): boolean {\n return this._checked;\n }\n\n @Input() disabled = false;\n\n @Output() checkedChange = new EventEmitter<boolean>();\n\n checkManuallyChange(checked: boolean): void {\n if (this._checked !== checked) {\n this.checkedChange.emit(checked);\n }\n }\n\n onClick(): void {\n if (!this.disabled) {\n this.checkedChange.emit(!this.checked);\n }\n }\n\n public onTouched: () => void = () => {\n }\n public onChanged: (checked: boolean) => void = () => {\n }\n\n registerOnChange(fn: any): void {\n this.onChanged = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n writeValue(status: boolean): void {\n this.checked = status;\n }\n}\n","<label\n class=\"switch\"\n [ngClass]=\"{checked:checked, enabled: !disabled}\"\n (click)=\"onClick()\">\n <span\n [ngClass]=\"{checked:checked}\"\n class=\"slider\">\n </span>\n</label>\n","export const snackbarTypesMap = {\n 0: \"info\",\n 1: \"success\",\n 2: \"warning\",\n 3: \"error\"\n};\n\nexport const snackbarIconsMap = {\n 0: \"messages-bubble-dot\",\n 1: \"check-circle\",\n 2: \"alert-circle\",\n 3: \"remove-circle\"\n};\n","import {Injectable} from \"@angular/core\";\nimport {DomSanitizer} from \"@angular/platform-browser\";\nimport {BehaviorSubject} from \"rxjs\";\nimport {\n SnackbarsThreadBase,\n SnackbarsThreadComplete\n} from \"../model/snackbars-thread.model\";\n\n@Injectable({\n providedIn: \"root\"\n})\n\nexport class SnackbarsThreadService {\n\n private _list = [];\n snackbarList = new BehaviorSubject<SnackbarsThreadComplete[]>([]);\n\n constructor(\n private domSanitizer: DomSanitizer\n ) {\n }\n\n private _emit() {\n this.snackbarList.next(this._list);\n }\n\n add(elem: SnackbarsThreadBase): void {\n const notification: SnackbarsThreadComplete = {\n id: Math.random().toString(36).substring(7) + Date.now().toString(),\n snackbarType: elem.snackbarType,\n snackbarText: this.domSanitizer.bypassSecurityTrustHtml(elem.snackbarText as string)\n };\n this._list.unshift(notification);\n while (this._list.length > 3) {\n this.remove(this._list.slice(-1).pop().id);\n }\n this._emit();\n setTimeout(() => this.remove(notification.id), 5000);\n }\n\n remove(id: string): void {\n const index = this._list.findIndex(el => el.id === id);\n index > -1 && this._list.splice(index, 1);\n this._emit();\n }\n}\n","import {Component} from \"@angular/core\";\nimport {animate, style, transition, trigger} from \"@angular/animations\";\nimport {SnackbarsThreadService} from \"../service/snackbars-thread.service\";\nimport {snackbarIconsMap, snackbarTypesMap} from \"../utils/const/snackbars-thread.const\";\n\n@Component({\n selector: \"app-snackbars-thread\",\n templateUrl: \"./snackbars-thread.component.html\",\n styleUrls: [\"./snackbars-thread.component.scss\"],\n animations: [\n trigger(\"fadeAnimation\", [\n transition(\":enter\", [\n style({\n height: 0,\n minHeight: 0,\n opacity: 0,\n transform: \"translateY(-5%)\",\n padding: 0\n }),\n // padding and min-height should be the same as in scss file\n animate(\n \"300ms ease-in\",\n style({height: \"*\", minHeight: \"72px\", padding: \"7px 3px 7px 7px\"})\n ),\n animate(\n \"200ms ease-in\",\n style({opacity: 0.5, transform: \"translateY(0%)\"})\n ),\n animate(\"200ms ease-in\", style({opacity: 1}))\n ]),\n transition(\":leave\", [\n animate(\n \"300ms ease-out\",\n style({\n opacity: 0,\n transform: \"translateY(-5%)\"\n })\n ),\n animate(\"300ms ease-out\", style({height: 0, minHeight: 0}))\n ])\n ])\n ]\n})\nexport class SnackbarsThreadComponent {\n\n SnackbarTypesMap = snackbarTypesMap;\n SnackbarIconsMap = snackbarIconsMap;\n\n constructor(\n public snackbarsThreadService: SnackbarsThreadService\n ) {\n }\n\n remove(id: string): void {\n this.snackbarsThreadService.remove(id);\n }\n}\n","<div class=\"thread-container\">\n <div @fadeAnimation\n *ngFor=\"let el of snackbarsThreadService.snackbarList | async\"\n class=\"item {{SnackbarTypesMap[el.snackbarType]}}\"\n >\n <div class=\"left\">\n <div class=\"icon {{SnackbarTypesMap[el.snackbarType]}}\">\n <ap-symbol\n [symbolId]=\"SnackbarIconsMap[el.snackbarType]\"\n [color]=\"'white'\"\n [size]=\"'mini'\">\n </ap-symbol>\n </div>\n <div class=\"text\">\n <div [innerHTML]=\"el.snackbarText\"></div>\n </div>\n </div>\n <div class=\"close\" (click)=\"remove(el.id)\">\n <div class=\"{{SnackbarTypesMap[el.snackbarType]}}\">\n <ap-symbol\n [symbolId]=\"'close'\"\n [size]=\"'12'\">\n </ap-symbol>\n </div>\n </div>\n </div>\n</div>\n","import {Component, Input, OnChanges, SimpleChanges} from '@angular/core';\n\n@Component({\n selector: 'ap-star-rating',\n templateUrl: './star-rating.component.html',\n styleUrls: ['./star-rating.component.scss']\n})\nexport class StarRatingComponent implements OnChanges {\n\n @Input() score: number = 0;\n @Input() maxScore: number = 5;\n @Input() size: 'medium' | 'small' | 'mini' | 'micro' | 'nano' = 'nano';\n @Input() colorOn: string = '#FBBC04';\n @Input() colorOff: string = '#DADCE0';\n\n filledStars: boolean[] = [];\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.score) {\n if (this.score >= 0) {\n for (let i = 0; i < this.maxScore; i++) {\n this.filledStars[i] = i < this.score;\n }\n } else {\n this.filledStars.length = 0;\n }\n }\n }\n}\n","<span class=\"star-rating\">\n <ap-symbol *ngFor=\"let activeStar of filledStars\"\n [color]=\"activeStar ? colorOn: colorOff\"\n [symbolId]=\"'rating-star'\"\n [size]=\"size\">\n </ap-symbol>\n</span>\n","import {AfterContentChecked, Directive, ElementRef, EventEmitter, Input, Output,} from '@angular/core';\n\n/**\n * Removes excess text from element until it fits in elements\n * and appends a ellipsis symbol to end of text. This requires that\n * the elements height be fixed\n *\n * @example\n * ```html\n * <p apEllipsis>Ullamco esse laborum</p>\n * ```\n *\n */\n@Directive({\n selector: '[apEllipsis]',\n})\nexport class EllipsisDirective implements AfterContentChecked {\n\n @Input() apEllipsisSeparator: string;\n @Input() apEllipsisClip: boolean = false;\n @Input() apEllipsisIndex: number;\n @Input() apEllipsisChar: string = '...';\n @Input() apEllipsisClickable: boolean = false;\n\n @Output() apEllipsisRemovedElementsCount = new EventEmitter<number>();\n @Output() apEllipsisRemovedText = new EventEmitter<string>();\n\n private get hasOverflow(): boolean {\n const el: HTMLElement = this.el.nativeElement;\n return (el.scrollHeight > el.offsetHeight) || (el.scrollWidth > el.offsetWidth);\n }\n\n constructor(private el: ElementRef) { }\n\n ngAfterContentChecked() {\n this.clipText();\n }\n\n private clipText(): void {\n const el: HTMLElement = this.el.nativeElement;\n let text = el.innerText;\n let removedText = '';\n if (this.apEllipsisIndex > -1) {\n removedText = text.substring(this.apEllipsisIndex, text.length - 1) + removedText;\n text = text.substring(0, this.apEllipsisIndex);\n el.innerText = `${text}${this.apEllipsisChar}`;\n\n if (this.apEllipsisClickable) {\n el.addEventListener('click', () => {\n el.innerText = `${text}${removedText}`;\n });\n }\n } else {\n while (this.hasOverflow && text.length > 0) {\n removedText = text[text.length - 1] + removedText;\n text = text.substring(0, text.length - 1);\n el.innerText = `${text}${this.apEllipsisChar}`;\n }\n }\n\n if (this.apEllipsisSeparator) {\n const removedElementsCount = removedText.split(this.apEllipsisSeparator)\n .filter(element => !!element && element.length > 0).length;\n if (removedElementsCount > 0) {\n this.apEllipsisRemovedElementsCount.emit(removedElementsCount);\n }\n }\n if (removedText && removedText.length > 0) {\n this.apEllipsisRemovedText.emit(removedText);\n }\n }\n\n private handleReadmore(): void {\n\n }\n}\n","// Based on https://scotch.io/tutorials/how-to-implement-a-custom-validator-directive-confirm-password-in-angular-2\nimport { Directive, forwardRef, Attribute } from '@angular/core';\nimport { Validator, AbstractControl, NG_VALIDATORS } from '@angular/forms';\n\n@Directive({\n selector: '[validateEqual][formControlName],[validateEqual][formControl],[validateEqual][ngModel]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => EqualValidatorDirective),\n multi: true\n }\n ]\n})\nexport class EqualValidatorDirective implements Validator {\n\n constructor(@Attribute('validateEqual') public validateEqual: string,\n @Attribute('validateEqualReference') public validateEqualReference: string) {}\n\n validate(self: AbstractControl): { [key: string]: any } {\n let other = self.root.get(this.validateEqual);\n if (other) {\n if (this.isReference()) {\n if (self.value === other.value) {\n delete other.errors['validateEqual'];\n if (!Object.keys(other.errors).length) {\n other.setErrors(null);\n }\n } else {\n other.setErrors({ validateEqual: false });\n }\n } else if (self.value !== other.value) {\n return { validateEqual: false };\n }\n }\n return null;\n }\n\n private isReference(): boolean {\n if (!this.validateEqualReference) {\n return false;\n }\n return this.validateEqualReference === 'true';\n }\n\n}\n","import {Directive, Input, Renderer2, ElementRef} from '@angular/core';\n\nconst PART_START = '<ng-container data-mst=\"';\nconst PARSE_MIDDLE = '\">';\nconst PARSE_END = '</ng-container>';\nconst CLASS_SEPARATOR = ',';\n\ninterface Part {\n content: string;\n clazz?: string[];\n}\n\n/**\n * This directive aims to parse simple string to extract some specific tags and to turn them into SPAN with styling classes attributes.\n * The specific tags must this schema: <ng-container data-mst=\"STYLING-CLASSES>TEXT</ng-container>.\n * Example: 'Lorem <ng-container data-mst=\"my-style\">ipsum</ng-container> dolor sit amet'.\n */\n@Directive({\n // tslint:disable-next-line:directive-selector\n selector: '[multiStyleText]'\n})\nexport class MultiStyleTextDirective {\n\n private childrenCreated: any[] = [];\n\n @Input() set multiStyleText(fullText: string) {\n // First remove previously added children (on update).\n for (const child of this.childrenCreated) {\n this.renderer.removeChild(this.elRef.nativeElement, child);\n }\n\n const parts = MultiStyleTextDirective.parse(fullText);\n\n for (const part of parts) {\n if (part.clazz) {\n const span = this.renderer.createElement('span');\n const text = this.renderer.createText(part.content);\n this.renderer.appendChild(span, text);\n part.clazz.forEach(clazz => this.renderer.addClass(span, clazz));\n this.renderer.appendChild(this.elRef.nativeElement, span);\n this.childrenCreated.push(span);\n } else {\n const text = this.renderer.createText(part.content);\n this.renderer.appendChild(this.elRef.nativeElement, text);\n this.childrenCreated.push(text);\n }\n }\n }\n\n public constructor(\n private elRef: ElementRef,\n private renderer: Renderer2\n ) {\n }\n\n private static parse(toParse: string): Part[] {\n const parts: Part[] = [];\n\n let startIndex = toParse.indexOf(PART_START);\n while (startIndex >= 0) {\n if (startIndex > 0) {\n // Optional start before parser start.\n parts.push({content: toParse.substr(0, startIndex)});\n }\n const elem = this.cutFirstGroup(toParse.substr(startIndex));\n if (elem === 'invalid') {\n return [];\n } else if (elem) {\n parts.push({content: elem.content, clazz: elem.classes});\n toParse = elem.rest;\n startIndex = toParse.indexOf(PART_START);\n } else {\n parts.push({content: toParse});\n }\n }\n // Very end\n if (toParse.length > 0) {\n parts.push({content: toParse});\n }\n return parts;\n }\n\n private static cutFirstGroup(toCut: string): {content: string, classes: string[], rest: string} | 'invalid' | null {\n if (!toCut.startsWith(PART_START)) {\n // String doesnt start with expected parser start.\n return null;\n }\n\n const afterParserStart = toCut.substr(PART_START.length);\n let index = afterParserStart.indexOf(PARSE_MIDDLE);\n if (index <= 0) {\n console.error('Not able to parse invalid string: ' + toCut);\n return 'invalid';\n }\n const classes = afterParserStart.substr(0, index);\n let rest = afterParserStart.substr(index + PARSE_MIDDLE.length);\n index = rest.indexOf(PARSE_END);\n if (index <= 0) {\n console.error('Not able to parse invalid string: ' + toCut);\n return 'invalid';\n }\n const content = rest.substr(0, index);\n rest = rest.substr(index + PARSE_END.length);\n\n return {content, classes: classes.split(CLASS_SEPARATOR), rest};\n }\n}\n","// Agorapulse\nimport {TooltipNeoDirective} from '../tooltip-neo/tooltip-neo.directive';\nimport {TooltipNeoParams} from '../tooltip-neo/tooltip-neo.model';\n// Angular\nimport {Directive, ElementRef, Input, OnDestroy, OnInit} from '@angular/core';\n// Third-parties\nimport {fromEvent, Subscription} from \"rxjs\";\n\n@Directive({selector: '[apTooltipNeo][truncateTooltip]'})\nexport class TruncateTooltipDirective implements OnInit, OnDestroy {\n\n @Input() truncateTooltip: string | TooltipNeoParams;\n\n private elementRefMouseOver$: Subscription;\n\n constructor(\n private tooltipNeo: TooltipNeoDirective,\n private elementRef: ElementRef<HTMLElement>\n ) {\n }\n\n private updateTruncateState(): void {\n const element = this.elementRef.nativeElement;\n const truncated = element.scrollWidth > element.clientWidth;\n this.tooltipNeo.apTooltipNeo = truncated ? this.truncateTooltip : '';\n }\n\n ngOnInit(): void {\n this.elementRefMouseOver$ = fromEvent(this.elementRef.nativeElement, 'mouseover')\n .subscribe(() => this.updateTruncateState());\n }\n\n ngOnDestroy(): void {\n this.elementRefMouseOver$.unsubscribe();\n }\n}\n","import { Component, ElementRef, forwardRef, Input, OnInit, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR, Validators } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\n export const PASSWORD_CONTROL_VALUE_ACCESSOR: any = { \n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PasswordInputComponent),\n multi: true\n };\n\n@Component({\n selector: 'ap-password-input',\n templateUrl: './password-input.component.html',\n styleUrls: ['./password-input.component.scss'],\n providers: [PASSWORD_CONTROL_VALUE_ACCESSOR]\n})\nexport class PasswordInputComponent implements OnInit, ControlValueAccessor {\n \n static type = ['text', 'password'];\n inputType: typeof PasswordInputComponent.type[number] = PasswordInputComponent.type[1];\n\n @Input() name: string;\n @Input() placeholder: string;\n @Input() fullWidth: boolean = false;\n disabled: boolean = false;\n\n @ViewChild('passwordInput') passwordInput: ElementRef;\n\n controler: FormControl = new FormControl('');\n changes: Subscription;\n\n constructor() { }\n\n /**\n * Change between visible and hidden password\n */\n toggleInputType(): void {\n this.inputType = PasswordInputComponent.type[PasswordInputComponent.type.indexOf(this.inputType) == 0 ? 1 : 0];\n }\n\n onChange = (password: string) => {};\n\n onTouch = () => {};\n\n writeValue(obj: string): void {\n this.controler.setValue(obj);\n }\n\n registerOnChange(fn: (password: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n ngOnInit(): void {\n this.changes = this.controler.valueChanges.subscribe((val: string) => {\n if (this.onChange) {\n this.onChange(val);\n }\n });\n }\n\n ngOnDestroy(): void {\n if (this.changes) {\n this.changes.unsubscribe();\n }\n }\n\n}\n","<div class=\"input-group\"\n [ngClass]=\"{'disabled': disabled, 'full-width': fullWidth}\">\n <input \n #passwordInput\n [type]=\"inputType\"\n [name]=\"name\"\n autocomplete=\"password\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [formControl]=\"controler\"\n (blur)=\"onTouch && onTouch()\">\n <ap-symbol\n (click)=\"toggleInputType()\"\n class=\"input-group-append\"\n [symbolId]=\"inputType === 'text' ? 'view-on' : 'view-off'\"\n size=\"micro\"\n state=\"full\">\n </ap-symbol>\n</div>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {OverlayModule} from '@angular/cdk/overlay';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\n\nimport {RippleGlobalOptions} from '@angular/material/core';\nimport {MatBadgeModule} from '@angular/material/badge';\nimport {MatBottomSheetModule} from '@angular/material/bottom-sheet';\nimport {MatButtonModule} from '@angular/material/button';\nimport {MatButtonToggleModule} from '@angular/material/button-toggle';\nimport {MatCardModule} from '@angular/material/card';\nimport {MatCheckboxModule} from '@angular/material/checkbox';\nimport {MatChipsModule} from '@angular/material/chips';\nimport {MatDialogModule} from '@angular/material/dialog';\nimport {MatDividerModule} from '@angular/material/divider';\nimport {MatExpansionModule} from '@angular/material/expansion';\nimport {MatGridListModule} from '@angular/material/grid-list';\nimport {MatIconModule} from '@angular/material/icon';\nimport {MatListModule} from '@angular/material/list';\nimport {MatMenuModule} from '@angular/material/menu';\nimport {MatProgressBarModule} from '@angular/material/progress-bar';\nimport {MatProgressSpinnerModule} from '@angular/material/progress-spinner';\nimport {MatRadioModule} from '@angular/material/radio';\nimport {MatSidenavModule} from '@angular/material/sidenav';\nimport {MatSliderModule} from '@angular/material/slider';\nimport {MatSlideToggleModule} from '@angular/material/slide-toggle';\nimport {MatSnackBarModule} from '@angular/material/snack-bar';\nimport {MatStepperModule} from '@angular/material/stepper';\nimport {MatTableModule} from '@angular/material/table';\nimport {MAT_TABS_CONFIG, MatTabsModule} from '@angular/material/tabs';\nimport {MatToolbarModule} from '@angular/material/toolbar';\nimport {NgSelectModule} from '@ng-select/ng-select';\n\nimport {AddCommentComponent} from './add-comment/add-comment.component';\nimport {AvatarComponent} from './avatar/avatar.component';\nimport {ConfirmModalComponent} from './confirm-modal/confirm-modal.component';\nimport {DatepickerComponent} from './datepicker/datepicker.component';\nimport {DotsStepperComponent} from './dots-stepper/dots-stepper.component';\nimport {ImageCarouselComponent} from './image-carousel/image-carousel.component';\nimport {FeatureOnboardingComponent} from './feature-onboarding/feature-onboarding.component';\nimport {LeadModalComponent} from './lead-modal/lead-modal.component';\nimport {MediaDisplayOverlayDialogComponent} from './media-display-overlay/media-display-overlay-dialog.component';\nimport {ModalComponent} from './modal/modal.component';\nimport {OverlayDialogComponent} from './overlay/overlay-dialog.component';\nimport {OverlayInDivComponent} from './overlay-in-div/overlay-in-div.component';\nimport {PlaceComponent} from './places/place.component';\nimport {PlaceListComponent} from './places/place-list.component';\nimport {PopmenuModule} from './popmenu/popmenu.module';\nimport {SplashscreenComponent} from './splashscreen/splashscreen.component';\nimport {TagComponent} from './tags/tag.component';\nimport {TagListComponent} from './tags/tag-list.component';\nimport {TryPopupComponent} from './try-popup/try-popup.component';\nimport {TagsSelectorComponent} from './tags-selector/tags-selector.component';\nimport {TimepickerComponent} from './timepicker/timepicker.component';\nimport {NotificationComponent} from './notification/notification.component';\nimport {StepperComponent} from './stepper/stepper.component';\nimport {SnackBarComponent} from './snackbar/snackbar.component';\nimport {PaginatorComponent} from './paginator/paginator.component';\nimport {PaginatorButtonComponent} from './paginator/paginator-button/paginator-button.component';\nimport {SlideToggleComponent} from './slide-toggle/slide-toggle.component';\nimport {SnackbarsThreadComponent} from './snackbars-thread/component/snackbars-thread.component';\nimport {StarRatingComponent} from './star-rating/star-rating.component';\n\n// Directives\nimport {AutosizeTextareaDirective} from './directives/autosize-textarea.directive';\nimport {DefaultImageDirective} from './directives/default-image.directive';\nimport {EllipsisDirective} from './directives/ellipsis.directive';\nimport {FrozenGifDirective} from './directives/frozen-gif.directive';\nimport {EqualValidatorDirective} from './directives/equal-validator.directive';\nimport {MultiStyleTextDirective} from './directives/multi-style-text.directive';\nimport {TruncateTooltipDirective} from './directives/truncate-tooltip.directive';\n\n// Modules\nimport {NgxDaterangepickerMd} from 'ngx-daterangepicker-material';\nimport {TooltipNeoDirective} from './tooltip-neo/tooltip-neo.directive';\nimport {TooltipNeoComponent} from './tooltip-neo/tooltip-neo.component';\nimport {AgorapulseUiSymbolModule} from '@agorapulse/ui-symbol';\nimport { PasswordInputComponent } from './password-input/password-input.component';\n\nconst globalRippleConfig: RippleGlobalOptions = {disabled: true};\n\n@NgModule({\n declarations: [\n // Components\n AddCommentComponent,\n AvatarComponent,\n AutosizeTextareaDirective,\n StepperComponent,\n ConfirmModalComponent,\n DatepickerComponent,\n DotsStepperComponent,\n EllipsisDirective,\n ImageCarouselComponent,\n FeatureOnboardingComponent,\n LeadModalComponent,\n MediaDisplayOverlayDialogComponent,\n ModalComponent,\n OverlayDialogComponent,\n OverlayInDivComponent,\n PasswordInputComponent,\n PlaceComponent,\n PlaceListComponent,\n SnackBarComponent,\n SplashscreenComponent,\n StarRatingComponent,\n TagComponent,\n TagListComponent,\n TagsSelectorComponent,\n TimepickerComponent,\n TryPopupComponent,\n NotificationComponent,\n PaginatorComponent,\n PaginatorButtonComponent,\n SlideToggleComponent,\n SnackbarsThreadComponent,\n TooltipNeoComponent,\n // Directives\n AutosizeTextareaDirective,\n DefaultImageDirective,\n FrozenGifDirective,\n SlideToggleComponent,\n EqualValidatorDirective,\n MultiStyleTextDirective,\n TruncateTooltipDirective,\n TooltipNeoDirective,\n ],\n imports: [\n AgorapulseUiSymbolModule,\n CommonModule,\n NgxDaterangepickerMd,\n FormsModule,\n ReactiveFormsModule,\n NgSelectModule,\n PopmenuModule,\n OverlayModule,\n // Components\n MatBadgeModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatChipsModule,\n MatExpansionModule,\n // MatFormFieldModule,\n MatCheckboxModule,\n MatIconModule,\n // MatInputModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatSliderModule,\n MatSlideToggleModule,\n // Navigation\n MatMenuModule,\n MatSidenavModule,\n MatToolbarModule,\n // Layout\n MatCardModule,\n MatDividerModule,\n // MatExpansionModule,\n MatGridListModule,\n MatListModule,\n MatTabsModule,\n MatStepperModule,\n // Popups & Modals\n MatBottomSheetModule,\n MatDialogModule,\n MatSnackBarModule,\n // Table\n MatTableModule,\n\n ],\n exports: [\n FormsModule,\n ReactiveFormsModule,\n // Components\n AddCommentComponent,\n AvatarComponent,\n StepperComponent,\n ConfirmModalComponent,\n DatepickerComponent,\n DotsStepperComponent,\n EllipsisDirective,\n ImageCarouselComponent,\n FeatureOnboardingComponent,\n LeadModalComponent,\n MediaDisplayOverlayDialogComponent,\n ModalComponent,\n OverlayDialogComponent,\n OverlayInDivComponent,\n PasswordInputComponent,\n PlaceComponent,\n PlaceListComponent,\n SnackBarComponent,\n SplashscreenComponent,\n StarRatingComponent,\n TagComponent,\n TagListComponent,\n TagsSelectorComponent,\n TimepickerComponent,\n TryPopupComponent,\n NotificationComponent,\n PaginatorComponent,\n PaginatorButtonComponent,\n SlideToggleComponent,\n SnackbarsThreadComponent,\n // Directives\n AutosizeTextareaDirective,\n DefaultImageDirective,\n FrozenGifDirective,\n EqualValidatorDirective,\n MultiStyleTextDirective,\n TruncateTooltipDirective,\n TooltipNeoDirective,\n // Modules\n NgSelectModule,\n PopmenuModule,\n // Components\n MatBadgeModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCheckboxModule,\n MatChipsModule,\n MatExpansionModule,\n // MatFormFieldModule,\n MatIconModule,\n // MatInputModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatSliderModule,\n MatSlideToggleModule,\n // Navigation\n MatMenuModule,\n MatSidenavModule,\n MatToolbarModule,\n // Layout\n MatCardModule,\n MatDividerModule,\n // MatExpansionModule,\n MatGridListModule,\n MatListModule,\n MatTabsModule,\n MatStepperModule,\n // Popups & Modals\n MatBottomSheetModule,\n MatDialogModule,\n MatSnackBarModule,\n // Table\n MatTableModule\n ],\n providers: [\n // Disable ripple effect\n // {provide: MAT_RIPPLE_GLOBAL_OPTIONS, useValue: {disabled: true}},\n // Disable tabs animation\n { provide: MAT_TABS_CONFIG, useValue: { animationDuration: '0ms' } }\n ]\n})\nexport class AgorapulseUiComponentsModule {\n}\n","import {ComponentRef, Injectable, Injector} from '@angular/core';\nimport {Overlay, OverlayConfig, OverlayRef} from '@angular/cdk/overlay';\nimport {ComponentPortal, PortalInjector} from '@angular/cdk/portal';\nimport {\n OVERLAY_DATA,\n OverlayDialogComponent,\n OverlayDialogRef\n} from './overlay-dialog.component';\n\ninterface OverlaywDialogConfig {\n panelClass?: string;\n hasBackdrop?: boolean;\n backdropClass?: string;\n template?: any;\n}\n\nconst DEFAULT_CONFIG: OverlaywDialogConfig = {\n hasBackdrop: true,\n backdropClass: 'dark-backdrop',\n panelClass: 'tm-file-preview-dialog-panel',\n template: null\n};\n\n@Injectable()\nexport class OverlayDialogService {\n\n constructor(\n private injector: Injector,\n private overlay: Overlay) { }\n\n open(config: OverlaywDialogConfig = {}) {\n const dialogConfig = { ...DEFAULT_CONFIG, ...config };\n const overlayRef = this.createOverlay(dialogConfig);\n const dialogRef = new OverlayDialogRef(overlayRef);\n const overlayComponent = this.attachDialogContainer(overlayRef, dialogConfig, dialogRef);\n\n return dialogRef;\n }\n\n private createOverlay(config: OverlaywDialogConfig) {\n const overlayConfig = this.getOverlayConfig(config);\n return this.overlay.create(overlayConfig);\n }\n\n private attachDialogContainer(overlayRef: OverlayRef, config: OverlaywDialogConfig, dialogRef: OverlayDialogRef) {\n const injector = this.createInjector(config, dialogRef);\n\n const containerPortal = new ComponentPortal(OverlayDialogComponent, null, injector);\n const containerRef: ComponentRef<OverlayDialogComponent> = overlayRef.attach(containerPortal);\n\n return containerRef.instance;\n }\n\n private createInjector(config: OverlaywDialogConfig, dialogRef: OverlayDialogRef): PortalInjector {\n const injectionTokens = new WeakMap();\n\n injectionTokens.set(OverlayDialogRef, dialogRef);\n injectionTokens.set(OVERLAY_DATA, config.template);\n\n return new PortalInjector(this.injector, injectionTokens);\n }\n\n private getOverlayConfig(config: OverlaywDialogConfig): OverlayConfig {\n const positionStrategy = this.overlay.position()\n .global()\n .centerHorizontally()\n .centerVertically();\n\n const overlayConfig = new OverlayConfig({\n hasBackdrop: config.hasBackdrop,\n backdropClass: config.backdropClass,\n panelClass: config.panelClass,\n scrollStrategy: this.overlay.scrollStrategies.block(),\n positionStrategy\n });\n\n return overlayConfig;\n }\n}\n","import {SafeHtml} from \"@angular/platform-browser\";\n\n/**\n * Info - 0\n * Success - 1\n * Warning - 2\n * Error - 3\n */\nexport type externalSnackbarTypeAllowed = 'info' | 'success' | 'warning' | 'error';\ntype internalSnackbarTypeAllowed = 0 | 1 | 2 | 3;\n\n/**\n * https://netbasal.com/a-smaller-bundle-with-const-enums-in-typescript-b7f786227e5e\n */\nexport const enum SnackbarTypeValues {\n INFO = 'info',\n SUCCESS = 'success',\n WARNING = 'warning',\n ERROR = 'error'\n}\n\nexport interface SnackbarsThreadBase {\n snackbarType: internalSnackbarTypeAllowed;\n snackbarText: string | SafeHtml;\n}\n\nexport interface SnackbarsThreadComplete extends SnackbarsThreadBase{\n id: string;\n}\n\nabstract class CodeStatus {\n protected constructor(\n public snackbarText: string,\n public snackbarType: internalSnackbarTypeAllowed\n ) {\n }\n}\n\nclass CodeStatusInfo extends CodeStatus {\n constructor(snackbarText: string) {\n super(snackbarText, 0);\n }\n}\n\nclass CodeStatusSuccess extends CodeStatus {\n constructor(snackbarText: string) {\n super(snackbarText, 1);\n }\n}\n\nclass CodeStatusWarning extends CodeStatus {\n constructor(snackbarText: string) {\n super(snackbarText, 2);\n }\n}\n\nclass CodeStatusError extends CodeStatus {\n constructor(snackbarText: string) {\n super(snackbarText, 3);\n }\n}\n\nexport function generateCodeStatus(text: string, type: externalSnackbarTypeAllowed): CodeStatus{\n switch (type) {\n case 'info':\n return new CodeStatusInfo(text);\n case 'success':\n return new CodeStatusSuccess(text);\n case 'warning':\n return new CodeStatusWarning(text);\n case 'error':\n return new CodeStatusError(text);\n default:\n return new CodeStatusInfo(text);\n }\n}\n","/*\n * Public API Surface of ui\n */\n\n// Module\nexport {AgorapulseUiComponentsModule} from './src/lib/agorapulse-ui-components.module';\n\n// Directive\nexport {AutosizeTextareaDirective} from './src/lib/directives/autosize-textarea.directive';\nexport {DefaultImageDirective} from './src/lib/directives/default-image.directive';\nexport {EllipsisDirective} from './src/lib/directives/ellipsis.directive';\nexport {FrozenGifDirective} from './src/lib/directives/frozen-gif.directive';\nexport {EqualValidatorDirective} from './src/lib/directives/equal-validator.directive';\nexport {MultiStyleTextDirective} from './src/lib/directives/multi-style-text.directive';\nexport {PopmenuDirective} from './src/lib/popmenu/popmenu.directive';\nexport {TruncateTooltipDirective} from './src/lib/directives/truncate-tooltip.directive';\nexport {TooltipNeoDirective} from './src/lib/tooltip-neo/tooltip-neo.directive';\n\n// Component\nexport {AddCommentComponent} from './src/lib/add-comment/add-comment.component';\nexport {AvatarComponent} from './src/lib/avatar/avatar.component';\nexport {StepperComponent} from './src/lib/stepper/stepper.component';\nexport {ConfirmModalComponent} from './src/lib/confirm-modal/confirm-modal.component';\nexport {DatepickerComponent, DatepickerMode, I18nDatePicker, Period} from './src/lib/datepicker/datepicker.component';\nexport {DotsStepperComponent} from './src/lib/dots-stepper/dots-stepper.component';\nexport {ImageCarouselComponent, InstagramCarouselItemType} from './src/lib/image-carousel/image-carousel.component';\nexport {FeatureOnboardingComponent} from './src/lib/feature-onboarding/feature-onboarding.component';\nexport {LeadModalComponent} from './src/lib/lead-modal/lead-modal.component';\nexport {MediaDisplayOverlayDialogComponent} from './src/lib/media-display-overlay/media-display-overlay-dialog.component';\nexport {ModalComponent, ModalConfig} from './src/lib/modal/modal.component';\nexport {OverlayDialogComponent} from './src/lib/overlay/overlay-dialog.component';\nexport {OverlayInDivComponent} from './src/lib/overlay-in-div/overlay-in-div.component';\nexport {OverlayDialogService} from './src/lib/overlay/overlay-dialog-service.component';\nexport {PaginatorComponent} from './src/lib/paginator/paginator.component';\nexport {PasswordInputComponent} from './src/lib/password-input/password-input.component';\nexport {PlaceComponent} from './src/lib/places/place.component';\nexport {PlaceListComponent} from './src/lib/places/place-list.component';\nexport {PopmenuComponent} from './src/lib/popmenu/popmenu.component';\nexport {PopmenuModule} from './src/lib/popmenu/popmenu.module';\nexport {SplashscreenComponent} from './src/lib/splashscreen/splashscreen.component';\nexport {SnackBarComponent} from './src/lib/snackbar/snackbar.component';\nexport {TagComponent} from './src/lib/tags/tag.component';\nexport {TagListComponent} from './src/lib/tags/tag-list.component';\nexport {TagsSelectorComponent} from './src/lib/tags-selector/tags-selector.component';\nexport {Time, TimeFormat} from './src/lib/timepicker/timepicker.component';\nexport {TryPopupComponent} from './src/lib/try-popup/try-popup.component';\nexport {NotificationComponent} from './src/lib/notification/notification.component';\nexport {TimepickerComponent} from './src/lib/timepicker/timepicker.component';\nexport {PaginatorButtonComponent} from './src/lib/paginator/paginator-button/paginator-button.component';\nexport {SlideToggleComponent} from './src/lib/slide-toggle/slide-toggle.component';\nexport {SnackbarsThreadComponent} from './src/lib/snackbars-thread/component/snackbars-thread.component';\nexport {StarRatingComponent} from './src/lib/star-rating/star-rating.component';\n\n// Service\nexport {SnackbarsThreadService} from './src/lib/snackbars-thread/service/snackbars-thread.service';\n\n// Model\nexport {Step} from './src/lib/stepper/step.model';\nexport {ConfirmModalTexts} from './src/lib/confirm-modal/confirm-modal-texts.model';\nexport {LeadInfo} from './src/lib/lead-modal/lead-info.model';\nexport {TryPopupTexts} from './src/lib/try-popup/try-popup-texts.model';\nexport {generateCodeStatus, SnackbarsThreadBase, SnackbarTypeValues, externalSnackbarTypeAllowed} from './src/lib/snackbars-thread/model/snackbars-thread.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.AutosizeTextareaDirective","i4","i1","i2","i3","i3.ModalComponent","i3.DotsStepperComponent","i5.FrozenGifDirective","i6.DefaultImageDirective","i2.DotsStepperComponent","i5.ModalComponent","i6","i4.ModalComponent","i5","i4.FrozenGifDirective","i1.TagComponent","i2.TagComponent","i1.TooltipNeoService","i2.TooltipNeoService","i5.PopmenuDirective","i6.TooltipNeoDirective","i3.PaginatorButtonComponent","i1.SnackbarsThreadService","i1.TooltipNeoDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agorapulse-ui-components.mjs","sources":["../../../libs/ui-components/src/lib/directives/autosize-textarea.directive.ts","../../../libs/ui-components/src/lib/add-comment/add-comment.component.ts","../../../libs/ui-components/src/lib/add-comment/add-comment.component.html","../../../libs/ui-components/src/lib/avatar/avatar.component.ts","../../../libs/ui-components/src/lib/avatar/avatar.component.html","../../../libs/ui-components/src/lib/modal/modal.component.ts","../../../libs/ui-components/src/lib/modal/modal.component.html","../../../libs/ui-components/src/lib/confirm-modal/confirm-modal.component.ts","../../../libs/ui-components/src/lib/confirm-modal/confirm-modal.component.html","../../../libs/ui-components/src/lib/datepicker/datepicker.component.ts","../../../libs/ui-components/src/lib/datepicker/datepicker.component.html","../../../libs/ui-components/src/lib/dots-stepper/dots-stepper.component.ts","../../../libs/ui-components/src/lib/dots-stepper/dots-stepper.component.html","../../../libs/ui-components/src/lib/directives/frozen-gif.directive.ts","../../../libs/ui-components/src/lib/directives/default-image.directive.ts","../../../libs/ui-components/src/lib/image-carousel/image-carousel.component.ts","../../../libs/ui-components/src/lib/image-carousel/image-carousel.component.html","../../../libs/ui-components/src/lib/feature-onboarding/feature-onboarding.component.ts","../../../libs/ui-components/src/lib/feature-onboarding/feature-onboarding.component.html","../../../libs/ui-components/src/lib/lead-modal/lead-modal.component.ts","../../../libs/ui-components/src/lib/lead-modal/lead-modal.component.html","../../../libs/ui-components/src/lib/media-display-overlay/media-display-overlay-dialog.component.ts","../../../libs/ui-components/src/lib/media-display-overlay/media-display-overlay-dialog.component.html","../../../libs/ui-components/src/lib/overlay/overlay-dialog.component.ts","../../../libs/ui-components/src/lib/overlay/overlay-dialog.component.html","../../../libs/ui-components/src/lib/overlay-in-div/overlay-in-div.component.ts","../../../libs/ui-components/src/lib/overlay-in-div/overlay-in-div.component.html","../../../libs/ui-components/src/lib/places/place.component.ts","../../../libs/ui-components/src/lib/places/place.component.html","../../../libs/ui-components/src/lib/places/place-list.component.ts","../../../libs/ui-components/src/lib/places/place-list.component.html","../../../libs/ui-components/src/lib/popmenu/options.ts","../../../libs/ui-components/src/lib/popmenu/popmenu-options.service.ts","../../../libs/ui-components/src/lib/popmenu/popmenu.component.ts","../../../libs/ui-components/src/lib/popmenu/popmenu.component.html","../../../libs/ui-components/src/lib/popmenu/popmenu.directive.ts","../../../libs/ui-components/src/lib/popmenu/popmenu.module.ts","../../../libs/ui-components/src/lib/splashscreen/splashscreen.component.ts","../../../libs/ui-components/src/lib/splashscreen/splashscreen.component.html","../../../libs/ui-components/src/lib/tooltip-neo/tooltip-neo.const.ts","../../../libs/ui-components/src/lib/tooltip-neo/tooltip-neo.service.ts","../../../libs/ui-components/src/lib/tooltip-neo/tooltip-neo.component.ts","../../../libs/ui-components/src/lib/tooltip-neo/tooltip-neo.component.html","../../../libs/ui-components/src/lib/tooltip-neo/tooltip-neo.directive.ts","../../../libs/ui-components/src/lib/tags/tag.component.ts","../../../libs/ui-components/src/lib/tags/tag.component.html","../../../libs/ui-components/src/lib/text-measurement/text-measurement.service.ts","../../../libs/ui-components/src/lib/tags/tag-list.component.ts","../../../libs/ui-components/src/lib/tags/tag-list.component.html","../../../libs/ui-components/src/lib/try-popup/try-popup.component.ts","../../../libs/ui-components/src/lib/try-popup/try-popup.component.html","../../../libs/ui-components/src/lib/tags-selector/tags-selector.component.ts","../../../libs/ui-components/src/lib/tags-selector/tags-selector.component.html","../../../libs/ui-components/src/lib/timepicker/timepicker.component.ts","../../../libs/ui-components/src/lib/timepicker/timepicker.component.html","../../../libs/ui-components/src/lib/notification/notification.component.ts","../../../libs/ui-components/src/lib/notification/notification.component.html","../../../libs/ui-components/src/lib/stepper/stepper.component.ts","../../../libs/ui-components/src/lib/stepper/stepper.component.html","../../../libs/ui-components/src/lib/snackbar/snackbar.component.ts","../../../libs/ui-components/src/lib/snackbar/snackbar.component.html","../../../libs/ui-components/src/lib/paginator/paginator-button/paginator-button.component.ts","../../../libs/ui-components/src/lib/paginator/paginator-button/paginator-button.component.html","../../../libs/ui-components/src/lib/paginator/paginator.component.ts","../../../libs/ui-components/src/lib/paginator/paginator.component.html","../../../libs/ui-components/src/lib/slide-toggle/slide-toggle.component.ts","../../../libs/ui-components/src/lib/slide-toggle/slide-toggle.component.html","../../../libs/ui-components/src/lib/snackbars-thread/utils/const/snackbars-thread.const.ts","../../../libs/ui-components/src/lib/snackbars-thread/service/snackbars-thread.service.ts","../../../libs/ui-components/src/lib/snackbars-thread/component/snackbars-thread.component.ts","../../../libs/ui-components/src/lib/snackbars-thread/component/snackbars-thread.component.html","../../../libs/ui-components/src/lib/star-rating/star-rating.component.ts","../../../libs/ui-components/src/lib/star-rating/star-rating.component.html","../../../libs/ui-components/src/lib/directives/ellipsis.directive.ts","../../../libs/ui-components/src/lib/directives/equal-validator.directive.ts","../../../libs/ui-components/src/lib/directives/multi-style-text.directive.ts","../../../libs/ui-components/src/lib/directives/truncate-tooltip.directive.ts","../../../libs/ui-components/src/lib/password-input/password-input.component.ts","../../../libs/ui-components/src/lib/password-input/password-input.component.html","../../../libs/ui-components/src/lib/agorapulse-ui-components.module.ts","../../../libs/ui-components/src/lib/overlay/overlay-dialog-service.component.ts","../../../libs/ui-components/src/lib/snackbars-thread/model/snackbars-thread.model.ts","../../../libs/ui-components/index.ts","../../../libs/ui-components/agorapulse-ui-components.ts"],"sourcesContent":["import { AfterContentChecked, Directive, ElementRef, HostListener } from '@angular/core';\n\n@Directive({\n selector: 'textarea[ap-autosize]'\n})\n/**\n * expand textarea to fit content. Doesn't shrink.\n */\nexport class AutosizeTextareaDirective implements AfterContentChecked {\n\n static maxHeight: number = 200;\n\n constructor(public element: ElementRef) {}\n\n @HostListener('input')\n public onInput() {\n this.resize();\n }\n\n public ngAfterContentChecked() {\n this.resize();\n }\n\n public resize() {\n const style = this.element.nativeElement.style;\n const scrollHeight = this.element.nativeElement.scrollHeight;\n const actualHeight = this.element.nativeElement.offsetHeight;\n if (AutosizeTextareaDirective.maxHeight < scrollHeight) {\n // we arrived at the max\n style.overflow = 'auto';\n style.height = `${AutosizeTextareaDirective.maxHeight}px`;\n } else if (actualHeight < scrollHeight) {\n style.overflow = 'hidden';\n style.height = `${scrollHeight}px`;\n }\n }\n\n}\n","import {\n ChangeDetectionStrategy,\n Component, EventEmitter, forwardRef,\n Input, Output, TemplateRef,\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from \"@angular/forms\";\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-add-comment',\n templateUrl: './add-comment.component.html',\n styleUrls: ['./add-comment.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AddCommentComponent),\n multi: true\n }]\n})\nexport class AddCommentComponent implements ControlValueAccessor {\n\n @Input() placeholder: string = 'Add a comment';\n @Input() customTemplate: TemplateRef<any>;\n @Input() disable: boolean = false;\n\n @Output() action: EventEmitter<string> = new EventEmitter();\n\n _commentValue: string = '';\n public get commentValue(): string {\n return this._commentValue;\n }\n\n public set commentValue(value: string) {\n this._commentValue = value;\n this.propagateChange(value);\n }\n\n propagateChange: any = () => {};\n\n registerOnChange(fn: any): void {\n this.propagateChange = fn;\n }\n\n registerOnTouched(fn: any): void { }\n\n setDisabledState(isDisabled: boolean): void {\n this.disable = isDisabled;\n }\n\n writeValue(obj: any): void {\n this._commentValue = obj != undefined ? obj : '';\n this.propagateChange(this._commentValue);\n }\n\n onChange(event) {\n const value = event.target.value;\n this._commentValue = value != undefined ? value : '';\n this.propagateChange(value);\n }\n}\n","<div class=\"add-comment\">\n <textarea ap-autosize\n dir=\"auto\"\n matInput\n rows=\"1\"\n [placeholder]=\"placeholder\"\n [value]=\"_commentValue\"\n (keyup)=\"onChange($event)\"\n (change)=\"onChange($event)\">\n </textarea>\n\n <ng-template\n #defaultTemplate\n let-action=\"action\">\n <div class=\"default-template\">\n <button mat-stroked-button color=\"secondary\" (click)=\"action.emit('send')\">\n Send\n </button>\n </div>\n </ng-template>\n\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n action: action\n }\">\n </ng-template>\n</div>\n","import {ChangeDetectionStrategy, Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\nimport {customSvgsSymbolIds, flagSymbolIds, officialSymbolIds, symbolIds, SymbolType} from \"@agorapulse/ui-symbol\";\n\nconst SizeMap: {[key: string]: string} = {\n 'large': '64',\n 'normal': '48',\n 'medium': '40',\n 'medium-sm': '36',\n 'small': '32',\n 'mini': '24',\n 'mini-sm': '16',\n 'micro': '12',\n 'facebook': '40',\n 'linkedin': '40',\n 'instagram': '40',\n 'youtube': '40',\n 'google': '40',\n 'twitter': '48'\n};\n\nconst SizeMapNumbers: {[key: string]: number} = {\n 'large': 64,\n 'normal': 48,\n 'medium': 40,\n 'medium-sm': 36,\n 'small': 32,\n 'mini': 24,\n 'mini-sm': 16,\n 'micro': 12,\n 'facebook': 40,\n 'linkedin': 40,\n 'instagram': 40,\n 'youtube': 40,\n 'google': 40,\n 'twitter': 48\n};\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-avatar',\n styleUrls: ['./avatar.component.scss'],\n templateUrl: './avatar.component.html'\n})\nexport class AvatarComponent implements OnInit, OnChanges {\n\n @Input() border = '';\n @Input() defaultImageEnabled = true; // DEPRECATED default avatar if we don't have username\n @Input() fallbackSymbolId: SymbolType<typeof symbolIds> | SymbolType<typeof officialSymbolIds> |\n SymbolType<typeof customSvgsSymbolIds> | SymbolType<typeof flagSymbolIds> = 'single-neutral';\n @Input() fallbackSymbolSize: string | 'none' | 'pico' | 'nano' | 'micro' | 'mini' | 'small' | 'medium' | 'normal' | 'large' = 'mini';\n @Input() imageUrl: string;\n @Input() loading: 'auto' | 'lazy' | 'eager' = 'auto';\n @Input() outerBorderHidden = false;\n @Input() size:\n 'large' | 'normal'| 'medium' | 'medium-sm' | 'small' | 'mini' | 'mini-sm' | 'micro' |\n 'facebook' | 'twitter' | 'linkedin' | 'instagram' | 'youtube' | 'google' = 'medium';\n @Input() social: 'facebook' | 'instagram' | 'linkedin' | 'twitter' | 'youtube' | 'google';\n @Input() username: string; // used to display initials\n @Input() rounded = false;\n @Input() online = false;\n @Input() imageUrls: string[];\n\n socialSize: string;\n sizeMap = SizeMap;\n sizeMapNumbers = SizeMapNumbers;\n\n ngOnInit(): void {\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.social?.currentValue || changes.size?.currentValue) {\n if (this.social === 'google') {\n switch (this.size) {\n case 'medium-sm':\n this.socialSize = '14';\n break;\n case 'mini':\n this.socialSize = '15';\n break;\n case 'mini-sm':\n this.socialSize = '10';\n break; \n default:\n this.socialSize = '19';\n }\n } else {\n switch (this.size) {\n case 'medium-sm':\n case 'mini':\n this.socialSize = '12';\n break;\n case 'mini-sm':\n this.socialSize = '8';\n break; \n default:\n this.socialSize = '16';\n }\n }\n }\n if (changes.defaultImageEnabled && changes.defaultImageEnabled.currentValue) {\n console.warn(\"'defaultImageEnabled' attribute is deprecated.\")\n }\n }\n\n\n onError(): void {\n this.imageUrl = null;\n }\n\n}\n","<div class=\"ap-avatar-container {{size}}\"\n [style.width]=\"imageUrls ? (imageUrls.length < 4 ? sizeMapNumbers[size] * (imageUrls.length / 3 + 1) + 'px' : sizeMapNumbers[size] * 1.5 + 'px') : sizeMapNumbers[size] + 'px'\">\n <!-- simple avatar -->\n <div *ngIf=\"imageUrl || imageUrls; else noPicture\">\n <img *ngIf=\"imageUrl && !imageUrls\"\n class=\"ap-avatar {{size}}\"\n [class.outer-border]=\"!outerBorderHidden\"\n [class.rounded]=\"rounded\"\n [attr.border]=\"border\"\n [attr.loading]=\"loading\"\n [attr.height]=\"sizeMap[size]\"\n [attr.width]=\"sizeMap[size]\"\n [src]=\"imageUrl\"\n (error)=\"onError()\"/>\n <div *ngIf=\"imageUrls && !imageUrl\"\n class=\"multi-avatar-container\">\n <div *ngFor=\"let url of imageUrls | slice: 0:3; let i = index\">\n <img *ngIf=\"url\" class=\"ap-avatar {{size}} multi\"\n [class.outer-border]=\"!outerBorderHidden\"\n [class.rounded]=\"rounded\"\n [style.z-index]=\"i\"\n [style.left]=\"i * sizeMapNumbers[size] / 3 + 'px'\"\n [attr.border]=\"border\"\n [attr.loading]=\"loading\"\n [attr.height]=\"sizeMap[size]\"\n [attr.width]=\"sizeMap[size]\"\n [src]=\"url\"\n (error)=\"onError()\"/>\n <span *ngIf=\"!url\"\n class=\"ap-avatar ap-avatar-username {{size}} multi\"\n [style.z-index]=\"i\"\n [style.left]=\"i * sizeMapNumbers[size] / 3 + 'px'\"\n [class.outer-border]=\"!outerBorderHidden\"\n [class.rounded]=\"rounded\"\n [attr.border]=\"border\">\n <ng-container *ngIf=\"username; else symbol\">\n {{username.charAt(0).toUpperCase()}}\n </ng-container>\n <ng-template #symbol>\n <ap-symbol\n [size]=\"fallbackSymbolSize\"\n [symbolId]=\"fallbackSymbolId\">\n </ap-symbol>\n </ng-template>\n </span>\n </div>\n </div>\n </div>\n <!-- image with first letter of screen name -->\n <ng-template #noPicture>\n <span\n class=\"ap-avatar ap-avatar-username {{size}}\"\n [class.outer-border]=\"!outerBorderHidden\"\n [class.rounded]=\"rounded\"\n [attr.border]=\"border\">\n <ng-container *ngIf=\"username; else symbol\">\n {{username.charAt(0).toUpperCase()}}\n </ng-container>\n <ng-template #symbol>\n <ap-symbol\n [size]=\"fallbackSymbolSize\"\n [symbolId]=\"fallbackSymbolId\">\n </ap-symbol>\n </ng-template>\n </span>\n </ng-template>\n\n <div *ngIf=\"social\"\n class=\"social-symbol-wrapper {{social}} {{size}}\">\n <ap-symbol [symbolId]=\"social === 'google' ? social + '-my-business-official' : social + '-official'\"\n [size]=\"socialSize\">\n </ap-symbol>\n </div>\n <div *ngIf=\"online\" class=\"online-indicator {{size}}\"></div>\n\n</div>\n<label>\n <ng-content></ng-content>\n</label>\n","import {ChangeDetectionStrategy, Component, Input, TemplateRef} from '@angular/core';\nimport {MatDialog, MatDialogRef} from '@angular/material/dialog';\nimport {MatDialogConfig} from '@angular/material/dialog';\nimport {ComponentType} from '@angular/cdk/portal';\n\nexport interface ModalConfig extends ModalConfigBase {\n closable?: boolean;\n headerBottomBorderEnabled?: boolean;\n}\n\nexport interface ModalConfigBase {\n backdropCloseEnable?: boolean;\n matDialogConfig?: MatDialogConfig;\n}\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-modal',\n templateUrl: 'modal.component.html',\n styleUrls: ['modal.component.scss']\n})\nexport class ModalComponent {\n\n static readonly PANEL_CLASS = 'modal-container';\n\n constructor(\n public dialogRef: MatDialogRef<ComponentType<any>>) {\n dialogRef.disableClose = true;\n }\n\n @Input() closable: boolean;\n @Input() headerBottomBorderEnabled: boolean;\n @Input() footerTemplate: TemplateRef<any>;\n @Input() footerVisible = true;\n @Input() headerTemplate: TemplateRef<any>;\n @Input() headerVisible = true;\n @Input() mainTemplate: TemplateRef<any>;\n @Input() config: MatDialogConfig;\n @Input() containerStyle: {[arg: string]: string} = {};\n @Input() headerStyle: {[arg: string]: string} = {};\n @Input() contentStyle: {[arg: string]: string} = {};\n @Input() footerStyle: {[arg: string]: string} = {};\n @Input() defaultLayout = true;\n\n /**\n * Use it to open a modal containing the {@link componentType} component, with the right configuration.\n */\n static openWithComponent<T>(\n matDialog: MatDialog,\n config: ModalConfigBase,\n componentType: ComponentType<T>): MatDialogRef<T> {\n let matDialogConfig: MatDialogConfig;\n if (config) {\n matDialogConfig = config.matDialogConfig;\n if (matDialogConfig) {\n matDialogConfig.panelClass = Array.isArray(config.matDialogConfig.panelClass)\n ? [ ...config.matDialogConfig.panelClass, ModalComponent.PANEL_CLASS ] // in case where the panelClass is an array\n : [ config.matDialogConfig.panelClass , ModalComponent.PANEL_CLASS]; // in the other case, it's a String\n } else {\n matDialogConfig = { panelClass: ModalComponent.PANEL_CLASS };\n }\n } else {\n matDialogConfig = {\n panelClass: ModalComponent.PANEL_CLASS\n };\n }\n matDialogConfig.autoFocus = false; // Prevent first button to be focused\n\n const dialogRef = matDialog.open(componentType, matDialogConfig);\n if (config.backdropCloseEnable === true) {\n dialogRef.disableClose = false;\n }\n return dialogRef;\n }\n\n /**\n * Use it to open a modal containing the provided templates, with the right configuration.\n */\n static openWithTemplates(\n matDialog: MatDialog,\n headerTemplate: TemplateRef<any>,\n mainTemplate: TemplateRef<any>,\n footerTemplate?: TemplateRef<any>,\n config?: ModalConfig): MatDialogRef<ModalComponent> {\n const dialogRef = ModalComponent.openWithComponent(matDialog, config, ModalComponent);\n dialogRef.componentInstance.closable = (config && config.closable) ? config.closable : false;\n dialogRef.componentInstance.headerBottomBorderEnabled = (config && config.headerBottomBorderEnabled) ? config.headerBottomBorderEnabled : false;\n dialogRef.componentInstance.headerTemplate = headerTemplate;\n dialogRef.componentInstance.mainTemplate = mainTemplate;\n dialogRef.componentInstance.footerTemplate = footerTemplate;\n return dialogRef;\n }\n\n close(): void {\n this.dialogRef.close();\n }\n}\n","<div\n [ngStyle]=\"containerStyle\"\n [ngClass]=\"{'modal-wrapper': true, 'default-layout': defaultLayout}\">\n <button\n *ngIf=\"closable\"\n class=\"circle close-button\"\n mat-flat-button\n (click)=\"close()\">\n <ap-symbol symbolId=\"close\"></ap-symbol>\n </button>\n <div\n *ngIf=\"headerTemplate && headerVisible\"\n [ngStyle]=\"headerStyle\"\n [ngClass]=\"{header: defaultLayout}\"\n [class.border-bottom]=\"headerBottomBorderEnabled\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"></ng-template>\n </div>\n <div\n *ngIf=\"mainTemplate\"\n [ngStyle]=\"contentStyle\"\n [ngClass]=\"{content: defaultLayout}\">\n <ng-template [ngTemplateOutlet]=\"mainTemplate\"></ng-template>\n </div>\n <div\n *ngIf=\"footerTemplate && footerVisible\"\n [ngStyle]=\"footerStyle\"\n [ngClass]=\"{footer: defaultLayout}\">\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"></ng-template>\n </div>\n</div>\n","import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\nimport {ComponentType} from '@angular/cdk/portal';\nimport {MatDialog, MatDialogRef} from '@angular/material/dialog';\nimport {ModalComponent, ModalConfig} from '../modal/modal.component';\nimport {ConfirmModalTexts} from './confirm-modal-texts.model';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-confirm-modal',\n templateUrl: 'confirm-modal.component.html',\n})\nexport class ConfirmModalComponent {\n\n @Input() contentText: string = '';\n @Input() footerCancelButtonId: string = 'cancel';\n @Input() footerCancelButtonLabel: string = '';\n @Input() footerConfirmButtonId: string = 'confirm';\n @Input() footerConfirmButtonLabel: string = '';\n @Input() headerTitle: string = '';\n\n constructor(\n public dialogRef: MatDialogRef<ComponentType<any>>) {\n dialogRef.disableClose = true;\n }\n\n onCancel() {\n this.dialogRef.close(false);\n }\n\n onConfirm() {\n this.dialogRef.close(true);\n }\n\n static open(dialog: MatDialog, confirmModalTexts: ConfirmModalTexts, modalConfig: ModalConfig = null) {\n if (!modalConfig) {\n modalConfig = {};\n }\n if (!modalConfig.matDialogConfig) {\n modalConfig.matDialogConfig = {\n width: '550px'\n };\n }\n const confirmModal = ModalComponent.openWithComponent(dialog, modalConfig, ConfirmModalComponent);\n confirmModal.componentInstance.contentText = confirmModalTexts.contentText;\n confirmModal.componentInstance.footerConfirmButtonId = confirmModalTexts.footerConfirmButtonId;\n confirmModal.componentInstance.footerConfirmButtonLabel = confirmModalTexts.footerConfirmButtonLabel;\n confirmModal.componentInstance.footerCancelButtonId = confirmModalTexts.footerCancelButtonId;\n confirmModal.componentInstance.footerCancelButtonLabel = confirmModalTexts.footerCancelButtonLabel;\n confirmModal.componentInstance.headerTitle = confirmModalTexts.headerTitle;\n return confirmModal;\n }\n}\n","<ng-template #headerTemplate>\n <h2>{{headerTitle}}</h2>\n</ng-template>\n\n<ng-template #mainTemplate>\n <p>{{contentText}}</p>\n</ng-template>\n\n<ng-template #footerTemplate>\n <button mat-flat-button (click)=\"onCancel()\" [id]=\"footerCancelButtonId\">\n {{ footerCancelButtonLabel }}\n </button>\n <button mat-flat-button color=\"primary\" cdkFocusInitial [id]=footerConfirmButtonId\n (click)=\"onConfirm()\">\n {{ footerConfirmButtonLabel }}\n </button>\n</ng-template>\n\n<ap-modal [closable]=\"true\"\n [headerTemplate]=\"headerTemplate\"\n [mainTemplate]=\"mainTemplate\"\n [footerTemplate]=\"footerTemplate\"\n></ap-modal>\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n ViewChild\n} from '@angular/core';\nimport {DaterangepickerComponent} from \"ngx-daterangepicker-material\";\nimport moment from 'moment';\nimport {Moment} from 'moment';\n\nexport enum DatepickerMode {\n Single = 'Single',\n Multiple = 'Multiple',\n Range = 'Range'\n}\n\nexport interface Period {\n startDate: Moment;\n endDate: Moment;\n}\n\nexport interface I18nDatePicker {\n ranges: {\n yesterday: string;\n lastWeek: string;\n last30Days: string;\n lastMonth: string;\n thisMonth: string;\n }\n}\n\nenum SideEnum {\n left = \"left\",\n right = \"right\"\n}\n\n// TODO fix css for range mode (more lateral padding)\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-datepicker',\n templateUrl: './datepicker.component.html',\n styleUrls: ['./datepicker.component.scss']\n})\nexport class DatepickerComponent implements OnInit, OnChanges, AfterViewInit {\n @ViewChild('datepickerRef') datepickerRef: DaterangepickerComponent;\n\n @Input() firstDayOfWeek: string;\n @Input() i18n: I18nDatePicker = {\n ranges: {\n yesterday: 'Yesterday',\n lastWeek: 'Last Week',\n last30Days: 'Last 30 days',\n lastMonth: 'Previous month',\n thisMonth: 'This Month',\n }\n };\n @Input() locale;\n @Input() maxDate: Moment;\n @Input() minDate: Moment;\n @Input() mode: DatepickerMode;\n @Input() selectedDate: Moment;\n @Input() selectedDates: Moment[] = [];\n @Input() selectedPeriod: Period = {startDate: null, endDate: null};\n @Input() showRanges: boolean;\n\n @Output() dateSelected = new EventEmitter<any>();\n @Output() periodSelected = new EventEmitter<Period>();\n\n DatepickerMode = DatepickerMode;\n doubleCalendarWidth = 528; // 231px calendar table * 2 = 462 (+ 16px x-padding * 4 = 64)\n localeConfig: {\n customRangeLabel: string;\n daysOfWeek: string[];\n monthNames: string[];\n firstDay: number;\n };\n ranges: {[period: string]: [Moment, Moment]} = {};\n rangePickerWidth = 150;\n width: number;\n pageSet = false;\n\n constructor(public changeDetectorRef: ChangeDetectorRef) {}\n\n ngOnInit() {\n this.initRanges();\n this.initDatePickerLocale();\n }\n\n ngOnChanges(changes) {\n this.setWidth();\n if (this.datepickerRef) {\n setTimeout(() => {\n this.datepickerRef.updateCalendars();\n this.changeDetectorRef.detectChanges();\n }, 100);\n }\n if (changes.selectedPeriod?.currentValue && this.datepickerRef) {\n if (this.selectedPeriod.startDate === null && this.selectedPeriod.endDate === null) {\n this.datepickerRef.clear();\n } else {\n this.datepickerRef.setStartDate(this.selectedPeriod.startDate);\n this.datepickerRef.setEndDate(this.selectedPeriod.endDate);\n }\n }\n if (changes.mode?.currentValue === DatepickerMode.Single && this.datepickerRef) {\n this.setCalendarCurrentPage();\n }\n }\n ngAfterViewInit(): void {\n if (this.datepickerRef) {\n setTimeout(() => {\n this.datepickerRef.updateCalendars();\n this.setCalendarCurrentPage();\n }, 100);\n }\n }\n\n initDatePickerLocale() {\n if (this.locale) {\n moment.locale(this.locale);\n }\n let firstDayOfWeekIndex: number;\n if (this.firstDayOfWeek === \"sunday\") {\n firstDayOfWeekIndex = 0;\n } else if (this.firstDayOfWeek === \"monday\") {\n firstDayOfWeekIndex = 1;\n } else {\n firstDayOfWeekIndex = moment.localeData().firstDayOfWeek();\n }\n this.localeConfig = {\n customRangeLabel: 'custom',\n daysOfWeek: moment.weekdaysMin(),\n monthNames: moment.months(),\n firstDay: firstDayOfWeekIndex\n };\n }\n\n initRanges() {\n this.ranges[this.i18n.ranges.yesterday] = [moment().subtract(1, 'days'), moment().subtract(1, 'days')];\n this.ranges[this.i18n.ranges.lastWeek] = [moment().subtract(7, 'days'), moment().subtract(1, 'days')];\n this.ranges[this.i18n.ranges.last30Days] = [moment().subtract(30, 'days'), moment().subtract(1, 'days')];\n this.ranges[this.i18n.ranges.lastMonth] = [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')];\n this.ranges[this.i18n.ranges.thisMonth] = [moment().startOf('month'), moment().endOf('month')];\n }\n\n isCustomDate = (date: any) => {\n const classes: string[] = [];\n if (this.mode === DatepickerMode.Multiple) {\n classes.push(this.isSelected(date) ? 'active' : 'force-inactive');\n } else if (this.mode === DatepickerMode.Single) {\n classes.push(this.selectedDate && this.selectedDate.isSame(date, 'day') ? 'active' : 'force-inactive');\n } else if (this.mode === DatepickerMode.Range) {\n classes.push('range-picker-mode');\n // Workaround to fix the auto-active today date when no date is selected\n if (moment().isSame(date, 'day')\n && !this.selectedPeriod?.startDate\n && !this.selectedPeriod?.endDate) {\n classes.push('force-inactive');\n }\n }\n return classes;\n }\n\n private isSelected(date: any) {\n return this.selectedDates && this.selectedDates.some(selectedDate => selectedDate.isSame(date, 'day'));\n }\n\n onStartDateChanged(event: any) {\n const date = event.startDate;\n if (this.mode !== DatepickerMode.Range) {\n this.selectedDate = date;\n this.datepickerRef.setEndDate(date);\n if (this.pageSet) {\n this.pageSet = false;\n } else {\n this.dateSelected.emit(date.clone());\n if (this.mode === DatepickerMode.Multiple) {\n this.selectedDates.push(date);\n }\n }\n if (this.datepickerRef) {\n this.datepickerRef.updateCalendars();\n }\n }\n }\n\n onDatesUpdated(event: any) {\n if (this.mode === DatepickerMode.Range) {\n this.periodSelected.emit({\n startDate: event.startDate?.clone(),\n endDate: event.endDate?.clone()\n });\n }\n if (this.datepickerRef) {\n this.datepickerRef.updateCalendars();\n }\n }\n\n onNextMonth() {\n this.datepickerRef.leftCalendar.month = this.datepickerRef.leftCalendar.month.add(1, 'months').clone();\n this.datepickerRef.rightCalendar.month = this.datepickerRef.rightCalendar.month.add(1, 'months').clone();\n this.datepickerRef.clickNext(SideEnum.left);\n this.datepickerRef.clickNext(SideEnum.right);\n }\n\n onPreviousMonth() {\n this.datepickerRef.leftCalendar.month = this.datepickerRef.leftCalendar.month.subtract(1, 'months').clone();\n this.datepickerRef.rightCalendar.month = this.datepickerRef.rightCalendar.month.subtract(1, 'months').clone();\n this.datepickerRef.clickPrev(SideEnum.left);\n this.datepickerRef.clickPrev(SideEnum.right);\n }\n\n /**\n * Ugly hack used here to open the calendar on the right day if they are selected dates\n * * https://github.com/fetrarij/ngx-daterangepicker-material/issues/139\n */\n setCalendarCurrentPage(): void {\n const selectedFirstDate = this.selectedDates.length > 0 ? this.selectedDates[0] : this.selectedDate;\n if (selectedFirstDate && selectedFirstDate.isValid() && this.mode !== DatepickerMode.Range) {\n const endDate = selectedFirstDate.clone();\n endDate.add(1, 'month');\n this.pageSet = true;\n this.datepickerRef.setStartDate(selectedFirstDate);\n this.datepickerRef.setEndDate(endDate);\n this.datepickerRef.updateView();\n }\n this.changeDetectorRef.detectChanges();\n }\n\n\n setWidth() {\n this.width = this.showRanges && this.mode === DatepickerMode.Range ? this.doubleCalendarWidth + this.rangePickerWidth : this.doubleCalendarWidth;\n }\n\n}\n","<div class=\"custom-calendar\" [style.width]=\"width + 'px'\">\n <div class=\"custom-header\">\n <div class=\"month-header\"\n *ngIf=\"this.datepickerRef.leftCalendar.month\">\n <div class=\"month-arrow-button\" (click)=\"onPreviousMonth()\">\n <ap-symbol\n [symbolId]=\"'arrow-left-1'\"\n [color]=\"'#858FA1'\"\n [size]=\"'14'\"></ap-symbol>\n </div>\n <div class=\"month-label\">\n {{ this.datepickerRef.leftCalendar.month.locale(locale).format('MMMM YYYY') }}\n </div>\n </div>\n <div class=\"month-header\"\n *ngIf=\"this.datepickerRef.rightCalendar.month\">\n <div class=\"month-label\">\n {{ this.datepickerRef.rightCalendar.month.locale(locale).format('MMMM YYYY') }}\n </div>\n <div class=\"month-arrow-button\" (click)=\"onNextMonth()\">\n <ap-symbol\n [symbolId]=\"'arrow-right-1'\"\n [color]=\"'#858FA1'\"\n [size]=\"'14'\"></ap-symbol>\n </div>\n </div>\n <div class=\"header-filler\" *ngIf=\"showRanges && mode === DatepickerMode.Range\">\n </div>\n </div>\n <ngx-daterangepicker-material\n #datepickerRef\n [class.hide-ranges]=\"!showRanges\"\n [alwaysShowCalendars]=\"true\"\n [autoApply]=\"true\"\n [customRangeDirection]=\"true\"\n [isCustomDate]=\"isCustomDate\"\n [locale]=\"localeConfig\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [ranges]=\"showRanges && mode === DatepickerMode.Range ? ranges : null\"\n (datesUpdated)=\"onDatesUpdated($event)\"\n (startDateChanged)=\"onStartDateChanged($event)\">\n </ngx-daterangepicker-material>\n</div>\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-dots-stepper',\n templateUrl: './dots-stepper.component.html',\n styleUrls: ['./dots-stepper.component.scss']\n})\nexport class DotsStepperComponent implements OnChanges {\n\n @Input() disabled: boolean = false;\n @Input() forwardAllowed: boolean = true;\n @Input() index: number;\n @Input() items: any[] = [];\n @Input() size: string = '';\n\n @Output() dotClick: EventEmitter<number> = new EventEmitter<number>();\n\n currentItem: any;\n\n constructor() {\n }\n\n ngOnChanges() {\n this.currentItem = this.items[this.index];\n }\n\n onDotClick(event, item, index) {\n event.stopPropagation();\n if (this.disabled || (!this.forwardAllowed && index > this.index)) {\n return;\n }\n this.currentItem = item;\n this.index = index;\n this.dotClick.emit(this.index);\n }\n}\n","<div class=\"dots\"\n [ngClass]=\"{'small-dots': size == 'small'}\">\n <div class=\"dot\"\n *ngFor=\"let item of items; let i = index\"\n [ngClass]=\"{'active': item === currentItem, 'disabled': disabled || (!forwardAllowed && i > index) }\"\n (click)=\"onDotClick($event, item, i)\">\n </div>\n</div>\n","import {Directive, ElementRef, Input, OnChanges} from '@angular/core';\n\nexport class GifService {\n static isGif(src: String) {\n return src && src.split('?')[0].endsWith('.gif');\n }\n}\n\n/**\n * If the image is a GIF then replace the img element by a canvas containing a frozen gif.\n * Note 1: if the image is displayed under a condition, the condition must be applied on the parent of the image, so the\n * new canvas element will have the same condition.\n * Note 2: the image must not have the properties \"display\" and \"visibility\" in its style. Since they are used to frozen\n * the GIF. You need to apply this properties on the parent element.\n * Note 3: If the GIF is frozen, all the event are propagated to the image. However, all events are dispatched\n * with an Event instance. Ex: click event is not dispatched with a MouseEvent instance.\n */\n\n@Directive({\n selector: 'img[apFrozenGif]',\n host: {\n '[src]': 'src'\n }\n})\nexport class FrozenGifDirective implements OnChanges {\n @Input() src: string;\n @Input('apFrozen') frozen = true;\n // Add all the events that need to be propagated.\n @Input('apGifEvents') events: string[] = ['click'];\n\n private readonly element: HTMLImageElement;\n private canvas: HTMLCanvasElement;\n\n constructor(private elementRef: ElementRef) {\n const element = this.elementRef.nativeElement;\n if (!(element instanceof HTMLImageElement)) {\n return;\n }\n\n this.element = element;\n }\n\n ngOnChanges(changes: any): void {\n let freeze = false;\n if (changes.src) {\n freeze = true;\n }\n if (changes.frozen) {\n if (changes.frozen.currentValue) {\n freeze = true;\n } else {\n this.unfreeze();\n }\n }\n\n if (freeze) {\n this.freeze();\n }\n\n }\n\n private freeze() {\n if (!GifService.isGif(this.src) || !this.frozen) {\n this.unfreeze();\n return;\n }\n\n // hack to avoid displaying the GIF before replacing it by the canvas\n this.element.style.visibility = 'hidden';\n this.element.addEventListener('load', () => this.addCanvas());\n }\n\n private addCanvas() {\n if (this.canvas) {\n this.canvas.remove();\n }\n\n this.canvas = document.createElement('canvas');\n this.canvas.width = this.element.width;\n this.canvas.height = this.element.height;\n this.canvas.getContext('2d').drawImage(this.element, 0, 0, this.canvas.width, this.canvas.height);\n for (let i = 0; i < this.element.attributes.length; i++) {\n const attr = this.element.attributes[i];\n if (attr.name === 'id') { // avoid two elements with the same id\n this.canvas.setAttribute('id', attr.value + '_frozenGif');\n } else if (attr.name === 'style' && attr.value.includes('visibility: hidden;') || attr.value.includes('display: none;')) {\n // remove the added 'visibility: hidden' and 'display: none'\n const styleValue = attr.value;\n this.canvas.setAttribute('style', styleValue.replace('visibility: hidden;', '').replace('display: none;', ''));\n } else if (attr.name !== '\"') { // test for invalid attributes\n this.canvas.setAttribute(attr.name, attr.value);\n }\n }\n\n this.addEvents();\n\n this.element.parentNode.insertBefore(this.canvas, this.element);\n this.element.style.display = 'none';\n }\n\n private addEvents() {\n this.events.forEach((eventName: string) => {\n this.canvas.addEventListener(eventName, (ev: Event) => this.element.dispatchEvent(\n // wm: find a way to dispatch the right event type\n new Event(ev.type, ev)\n ));\n });\n }\n\n private unfreeze() {\n if (this.canvas) {\n this.canvas.remove();\n this.canvas = null;\n }\n this.element.style.visibility = 'inherit';\n this.element.style.display = 'inherit';\n }\n}\n","import {Directive, Input} from '@angular/core';\n\n@Directive({\n selector: 'img[default]',\n host: {\n '(error)': 'updateUrl()',\n '[src]': 'src'\n }\n})\nexport class DefaultImageDirective {\n @Input() src: string;\n @Input() default: string;\n\n updateUrl() {\n if (this.default) {\n this.src = this.default;\n } else {\n this.src = 'assets/lib-ui-components/img/default-avatar.png';\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input, OnChanges,\n Output, SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport {animate, AnimationBuilder, style} from '@angular/animations';\n\nexport enum InstagramCarouselItemType {\n IMAGE = 'photo',\n VIDEO = 'video'\n}\n\nexport interface InstagramCarouselItem {\n type: InstagramCarouselItemType;\n url: string;\n thumbnailUrl?: string;\n}\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-image-carousel',\n templateUrl: './image-carousel.component.html',\n styleUrls: ['./image-carousel.component.scss']\n})\nexport class ImageCarouselComponent implements OnChanges {\n\n public InstagramCarouselItemType = InstagramCarouselItemType;\n\n @ViewChild('carousel') private carousel: ElementRef;\n\n @Input() items: InstagramCarouselItem[] = [];\n @Input() dotsInside = false;\n @Input() soundEnabled = false;\n @Input() supportGif = true;\n @Input() tinyMode = false;\n\n @Output() currentImageChanged: EventEmitter<InstagramCarouselItem> = new EventEmitter<InstagramCarouselItem>();\n\n private _selectedIndex = 0;\n public carouselOffset = 0;\n public isPlaying: boolean;\n private mouseOver: boolean;\n public videoPlayers: HTMLVideoElement[] = [];\n\n constructor(private animationBuilder: AnimationBuilder) {\n }\n\n public get selectedIndex(): number {\n return this._selectedIndex;\n }\n\n public set selectedIndex(value: number) {\n this.videoPause(this.selectedIndex);\n if (value < 0) {\n value = 0;\n }\n if (value > this.items.length - 1) {\n value = this.items.length - 1;\n }\n this._selectedIndex = value;\n this.move();\n if (this.tinyMode && this.mouseOver) {\n this.videoPlay(this.selectedIndex);\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.items && changes.items.previousValue?.length > changes.items.currentValue.length) {\n const itemsLength: number = changes.items.currentValue.length - 1;\n if (this._selectedIndex > itemsLength) {\n this._selectedIndex = itemsLength;\n this.move();\n }\n }\n }\n\n isPrevButtonEnabled(): boolean {\n return this.selectedIndex > 0;\n }\n\n isNextButtonEnabled(): boolean {\n if (this.items && this.items[this.selectedIndex]) {\n return this.selectedIndex < this.items.length - 1;\n }\n return false;\n }\n\n isVideo(): boolean {\n if (this.items && this.items[this.selectedIndex]) {\n return this.items[this.selectedIndex].type === InstagramCarouselItemType.VIDEO;\n }\n return false;\n }\n\n dotsDisplayed(): boolean {\n if (this.items && this.items[this.selectedIndex]) {\n return this.items.length > 1;\n }\n return false;\n }\n\n prev(): void {\n this.selectedIndex -= 1;\n this.currentImageChanged.emit(this.items[this.selectedIndex]);\n }\n\n next(): void {\n this.selectedIndex += 1;\n this.currentImageChanged.emit(this.items[this.selectedIndex]);\n }\n\n play(event, index: number): void {\n if (!this.tinyMode) {\n const videoPlayer: HTMLVideoElement = this.videoPlayers[index];\n if (videoPlayer) {\n videoPlayer.paused ? this.videoPlay(index) : this.videoPause(index);\n }\n event.stopPropagation();\n }\n }\n\n move(instantaneous: boolean = false): void {\n this.carouselOffset = -this.carousel.nativeElement.offsetWidth * this.selectedIndex;\n this.animationBuilder.build(\n animate(instantaneous ? '1ms' : '250ms ease-in', style({transform: `translateX(${this.carouselOffset}px)`}))\n ).create(this.carousel.nativeElement).play();\n }\n\n onMouseEntersVideo(event, index) {\n this.mouseOver = true;\n if (this.tinyMode) {\n this.videoPlay(index);\n }\n }\n\n onMouseLeavesVideo(event, index) {\n this.mouseOver = false;\n if (this.tinyMode) {\n this.videoPause(index);\n }\n }\n\n @HostListener('window:resize', ['$event'])\n onResize(event) {\n this.move(true);\n }\n\n public registerVideoPlayer(event, index: number) {\n this.videoPlayers[index] = event.target;\n event.target.muted = !this.soundEnabled;\n }\n\n private videoPause(index: number) {\n const videoPlayer: HTMLVideoElement = this.videoPlayers[index];\n if (videoPlayer) {\n videoPlayer.pause();\n this.isPlaying = false;\n }\n }\n\n private videoPlay(index: number) {\n const videoPlayer: HTMLVideoElement = this.videoPlayers[index];\n if (videoPlayer) {\n videoPlayer.play();\n this.isPlaying = true;\n }\n }\n\n public switchSound() {\n this.soundEnabled = !this.soundEnabled;\n for (const player of this.videoPlayers) {\n player.muted = !this.soundEnabled;\n }\n }\n}\n","<section *ngIf=\"items && items.length > 0 && items[0].url\">\n <div class=\"carousel-wrapper\"\n (mouseenter)=\"onMouseEntersVideo($event, selectedIndex)\"\n (mouseleave)=\"onMouseLeavesVideo($event, selectedIndex)\">\n <ul class=\"carousel-inner\" #carousel>\n <li *ngFor=\"let item of items; let i = index\" class=\"carousel-item\">\n <ng-template [ngIf]=\"item.type === InstagramCarouselItemType.IMAGE && item.url\">\n <img apFrozenGif\n [apFrozen]=\"!supportGif\"\n [default]=\"'assets/img/default.png'\"\n [src]=\"item.url\">\n </ng-template>\n <ng-template [ngIf]=\"item.type === InstagramCarouselItemType.VIDEO && item.url\">\n <video [id]=\"'video-' + i\"\n [attr.poster]=\"item.thumbnailUrl\"\n [loop]=\"tinyMode\"\n [src]=\"item.url\"\n (click)=\"play($event, i)\"\n (ended)=\"isPlaying = false\"\n (loadstart)=\"registerVideoPlayer($event, i)\">\n </video>\n <svg class=\"play-button\"\n xmlns=\"http://www.w3.org/2000/svg\"\n (click)=\"play($event, i)\">\n <path *ngIf=\"!isPlaying\" d=\"M11,10 L18,13.74 18,22.28 11,26 M18,13.74 L26,18 26,18 18,22.28\"/>\n </svg>\n <mat-icon class=\"sound-button\"\n *ngIf=\"!tinyMode\"\n (click)=\"switchSound(); $event.stopPropagation();\">\n {{soundEnabled ? 'volume_up' : 'volume_off'}}\n </mat-icon>\n </ng-template>\n </li>\n </ul>\n\n <svg class=\"nav-button prev\"\n [ngClass]=\"{'disabled': !isPrevButtonEnabled(), 'tiny': tinyMode}\"\n (click)=\"prev(); $event.stopPropagation();\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 455 455\">\n <path d=\"M227.5,0C101.855,0,0,101.855,0,227.5S101.855,455,227.5,455S455,353.145,455,227.5S353.145,0,227.5,0z M199.476,355.589\n l-21.248-21.178L284.791,227.5L178.228,120.589l21.248-21.178L327.148,227.5L199.476,355.589z\"/>\n </svg>\n\n <svg class=\"nav-button next\"\n [ngClass]=\"{'disabled': !isNextButtonEnabled(), 'tiny': tinyMode}\"\n (click)=\"next(); $event.stopPropagation();\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 455 455\">\n <path d=\"M227.5,0C101.855,0,0,101.855,0,227.5S101.855,455,227.5,455S455,353.145,455,227.5S353.145,0,227.5,0z M199.476,355.589\n\t l-21.248-21.178L284.791,227.5L178.228,120.589l21.248-21.178L327.148,227.5L199.476,355.589z\"/>\n </svg>\n </div>\n <div [ngClass]=\"{'inside': dotsInside}\">\n <ap-dots-stepper\n fxLayout=\"row\"\n fxLayoutAlign=\"center\"\n size=\"small\"\n *ngIf=\"dotsDisplayed()\"\n [items]=\"items\"\n [index]=\"selectedIndex\"\n (dotClick)=\"selectedIndex = $event\"></ap-dots-stepper>\n </div>\n</section>\n","import {\n ChangeDetectionStrategy,\n Component\n} from '@angular/core';\nimport {MatDialogRef} from \"@angular/material/dialog\";\nimport {ComponentType} from \"@angular/cdk/overlay\";\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-feature-onboarding',\n templateUrl: './feature-onboarding.component.html',\n styleUrls: ['./feature-onboarding.component.scss']\n})\nexport class FeatureOnboardingComponent {\n\n // translations\n backButtonLabel: string = '';\n finishButtonLabel: string = '';\n nextButtonLabel: string = '';\n\n arrowsDisplayed: boolean = false; // To display arrows to switch element on carousel\n templates: any[]; // One template represent one element of the carousel\n slideDisplayedIndex: number = 0; // The current element displayed\n\n constructor(public dialogRef: MatDialogRef<ComponentType<any>>) {\n }\n\n onClickNext() {\n this.slideDisplayedIndex !== this.templates.length - 1 ? this.slideDisplayedIndex = this.slideDisplayedIndex + 1 : this.onCloseCarousel();\n }\n\n onClickPrevious() {\n this.slideDisplayedIndex = this.slideDisplayedIndex - 1;\n }\n\n onCloseCarousel() {\n this.dialogRef.close(true);\n }\n\n}\n","<ng-template #mainTemplate>\n <div class=\"carousel-main-container\">\n <div class=\"carousel-content\">\n <div *ngFor=\"let template of templates; let i = index\"\n class=\"carousel-slide-element\"\n [class.carousel-slide-element-not-displayed]=\"i !== slideDisplayedIndex\"\n [class.carousel-slide-element-active]=\"i === slideDisplayedIndex\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n <div class=\"carousel-dots-container\">\n <ap-dots-stepper\n fxLayout=\"row\"\n fxLayoutAlign=\"center\"\n size=\"small\"\n *ngIf=\"templates.length > 1\"\n [items]=\"templates\"\n [index]=\"slideDisplayedIndex\"\n (dotClick)=\"slideDisplayedIndex = $event\"></ap-dots-stepper>\n </div>\n </div>\n\n <div *ngIf=\"arrowsDisplayed\">\n <ap-symbol *ngIf=\"slideDisplayedIndex !== 0\"\n class=\"nav-button prev\"\n [symbolId]=\"'arrow-button-left'\"\n (click)=\"onClickPrevious()\">\n </ap-symbol>\n\n <ap-symbol class=\"nav-button next\"\n [symbolId]=\"'arrow-button-right'\"\n (click)=\"onClickNext(); $event.stopPropagation();\">\n </ap-symbol>\n </div>\n </div>\n\n <div class=\"carousel-footer\">\n <div class=\"button-container\">\n <button *ngIf=\"slideDisplayedIndex !== 0\"\n mat-flat-button\n class=\"carousel-previous-button\"\n (click)=\"onClickPrevious()\">\n {{backButtonLabel}}\n </button>\n <button mat-flat-button\n [color]=\"'primary'\"\n (click)=\"onClickNext()\">\n <div *ngIf=\"slideDisplayedIndex !== templates.length - 1\">{{nextButtonLabel}}</div>\n <div *ngIf=\"slideDisplayedIndex === templates.length - 1\">{{finishButtonLabel}}</div>\n </button>\n </div>\n </div>\n </div>\n</ng-template>\n\n<ap-modal class=\"design-system\"\n [closable]=\"false\"\n [mainTemplate]=\"mainTemplate\"\n></ap-modal>\n","import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {MatDialogRef} from '@angular/material/dialog';\nimport {MAT_DIALOG_DATA} from '@angular/material/dialog';\nimport {LeadInfo} from './lead-info.model';\n\nexport interface TranslatedStrings {\n agencyFieldLabel: string;\n agencyNoLabel: string;\n agencyYesLabel: string;\n profileFieldLabel: string;\n teamFieldLabel: string;\n teamMeLabel: string;\n title: string;\n validateButtonLabel: string;\n}\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-lead-modal',\n templateUrl: 'lead-modal.component.html',\n})\nexport class LeadModalComponent {\n\n constructor(\n public dialogRef: MatDialogRef<LeadModalComponent>,\n @Inject(MAT_DIALOG_DATA) public translatedStrings: TranslatedStrings) {\n dialogRef.disableClose = true;\n }\n\n plans = {\n PRO: 'pro',\n PREMIUM: 'premium',\n PREMIUM_PLUS: 'premium+',\n ENTERPRISE: 'enterprise',\n };\n\n orderedPlans = [\n this.plans.PRO,\n this.plans.PREMIUM,\n this.plans.PREMIUM_PLUS,\n this.plans.ENTERPRISE,\n ];\n\n qualifiedProfilePlan: string;\n qualifiedTeamPlan: string;\n profileType: string;\n\n onValidate(qualifiedProfilePlan: string, qualifiedTeamPlan: string, profileType: string): LeadInfo {\n const qualifiedPlan: string = this.orderedPlans.indexOf(qualifiedProfilePlan) > this.orderedPlans.indexOf(qualifiedTeamPlan)\n ? qualifiedProfilePlan\n : qualifiedTeamPlan;\n\n return {\n language: window.navigator && window.navigator.language ? window.navigator.language : '',\n qualifiedPlan: qualifiedPlan,\n qualifiedProfilePlan: qualifiedProfilePlan,\n qualifiedTeamPlan: qualifiedTeamPlan,\n profileType: profileType\n };\n }\n\n}\n","<ng-template #headerTemplate>\n <h1 mat-dialog-title>\n {{translatedStrings.title}}\n </h1>\n</ng-template>\n\n<ng-template #mainTemplate>\n <div mat-dialog-content>\n <div class=\"form-field\">\n <label for=\"profileField\">\n {{translatedStrings.profileFieldLabel}}\n </label>\n <mat-button-toggle-group\n [(ngModel)]=\"qualifiedProfilePlan\"\n id=\"profileField\"\n name=\"qualifiedProfilePlan\">\n <mat-button-toggle [value]=\"plans.PRO\">1 - 10</mat-button-toggle>\n <mat-button-toggle [value]=\"plans.PREMIUM\">11 - 25</mat-button-toggle>\n <mat-button-toggle [value]=\"plans.PREMIUM_PLUS\">26 - 40</mat-button-toggle>\n <mat-button-toggle [value]=\"plans.ENTERPRISE\">40+</mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n <div class=\"form-field\">\n <label for=\"teamField\">\n {{translatedStrings.teamFieldLabel}}\n </label>\n <mat-button-toggle-group\n [(ngModel)]=\"qualifiedTeamPlan\"\n id=\"teamField\"\n name=\"qualifiedTeamPlan\">\n <mat-button-toggle [value]=\"plans.PRO\">1 - 2</mat-button-toggle>\n <mat-button-toggle [value]=\"plans.PREMIUM\">3 - 4</mat-button-toggle>\n <mat-button-toggle [value]=\"plans.PREMIUM_PLUS\">5 - 8</mat-button-toggle>\n <mat-button-toggle [value]=\"plans.ENTERPRISE\">8+</mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n <div class=\"form-field\">\n <label for=\"agencyField\">\n {{translatedStrings.agencyFieldLabel}}\n </label>\n <mat-button-toggle-group\n [(ngModel)]=\"profileType\"\n id=\"agencyField\"\n class=\"agency-toggle\"\n name=\"profileType\">\n <mat-button-toggle value=\"agency\">{{translatedStrings.agencyYesLabel}}</mat-button-toggle>\n <mat-button-toggle value=\"none\">{{translatedStrings.agencyNoLabel}}</mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n </div>\n</ng-template>\n\n<ng-template #footerTemplate>\n <div>\n <button mat-flat-button\n color=\"primary\"\n [disabled]=\"!(qualifiedProfilePlan && qualifiedTeamPlan && profileType)\"\n [mat-dialog-close]=\"onValidate(qualifiedProfilePlan, qualifiedTeamPlan, profileType)\">\n {{translatedStrings.validateButtonLabel}}\n </button>\n </div>\n</ng-template>\n\n<ap-modal\n [headerTemplate]=\"headerTemplate\"\n [mainTemplate]=\"mainTemplate\"\n [footerTemplate]=\"footerTemplate\"\n></ap-modal>\n","import {ChangeDetectionStrategy, Component, HostListener, Inject, OnInit} from '@angular/core';\nimport {MatDialogConfig, MatDialogRef} from '@angular/material/dialog';\nimport {MAT_DIALOG_DATA} from '@angular/material/dialog';\n\nexport interface MediaDisplayData {\n urls: string[];\n url: string;\n mediaType: string;\n supportGif: boolean;\n}\n\nexport enum KEY_CODE {\n RIGHT_ARROW = 39,\n LEFT_ARROW = 37\n}\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-media-display-overlay',\n styleUrls: ['./media-display-overlay-dialog.component.scss'],\n templateUrl: './media-display-overlay-dialog.component.html'\n})\nexport class MediaDisplayOverlayDialogComponent implements OnInit {\n\n static config: MatDialogConfig = {\n position: {\n top: '10px',\n right: '10px',\n left: '10px'\n },\n height: '100%',\n width: '100%',\n maxWidth: 'none',\n panelClass: 'full-screen-modal',\n backdropClass: 'dark-backdrop'\n };\n\n currentUrlIndex = 1;\n urls: string[] = []; // all urls\n url: string; // current displayed url\n mediaType = 'image'; // 'image', 'video'\n supportGif = true;\n\n constructor(public dialogRef: MatDialogRef<MediaDisplayOverlayDialogComponent>,\n @Inject(MAT_DIALOG_DATA) public data: MediaDisplayData) {\n }\n\n ngOnInit(): void {\n // const data = ModalService.getModal('media-display-overlay') || {};\n if (this.data) {\n if (this.data.urls && this.data.urls.length > 0) {\n this.urls = this.data.urls;\n }\n if (this.data.url) {\n if (this.urls.length === 0) {\n this.urls = [this.data.url];\n }\n this.url = this.data.url;\n this.currentUrlIndex = this.urls.indexOf(this.data.url) + 1;\n }\n }\n }\n\n onClose() {\n this.dialogRef.close();\n }\n\n onNext($event: UIEvent) {\n if (this.currentUrlIndex < this.urls.length) {\n this.currentUrlIndex += 1;\n this.url = this.urls[this.currentUrlIndex - 1];\n }\n $event.stopPropagation();\n }\n\n onPrevious($event: UIEvent) {\n if (this.currentUrlIndex > 1) {\n this.currentUrlIndex -= 1;\n this.url = this.urls[this.currentUrlIndex - 1];\n }\n $event.stopPropagation();\n }\n\n @HostListener('window:keyup', ['$event'])\n keyEvent(event: KeyboardEvent) {\n\n if (event.keyCode === KEY_CODE.RIGHT_ARROW) {\n this.onNext(event);\n }\n\n if (event.keyCode === KEY_CODE.LEFT_ARROW) {\n this.onPrevious(event);\n }\n }\n}\n","<div class=\"full\" (click)=\"onClose()\">\n <div class=\"media-display ap-new\">\n <header class=\"ap-modal-header\">\n <ap-symbol\n id=\"close\"\n color=\"white\"\n size=\"micro\"\n (click)=\"onClose()\">\n </ap-symbol>\n </header>\n <content class=\"ap-modal-content\">\n <div *ngIf=\"urls.length > 1\"\n class=\"next-prev-container left\"\n [class.disabled]=\"currentUrlIndex <= 1\"\n (click)=\"onPrevious($event)\">\n <div class=\"icon-container\">\n <ap-symbol\n id=\"arrow-left-1\"\n [color]=\"currentUrlIndex <= 1 ? 'grey-blue' : 'white'\"\n size=\"small\">\n </ap-symbol>\n </div>\n </div>\n <div class=\"media-container\">\n <img *ngIf=\"url && mediaType =='image'\" apFrozenGif [apFrozen]=\"!supportGif\" [src]=\"url\" (click)=\"$event.stopPropagation()\">\n </div>\n <div *ngIf=\"urls.length > 1\"\n class=\"next-prev-container right\"\n [class.disabled]=\"currentUrlIndex >= urls.length\"\n (click)=\"onNext($event)\">\n <div class=\"icon-container\">\n <ap-symbol\n id=\"arrow-right-1\"\n [color]=\"currentUrlIndex >= urls.length ? 'grey-blue' : 'white'\"\n size=\"small\">\n </ap-symbol>\n </div>\n </div>\n </content>\n <footer *ngIf=\"urls && urls.length > 1\"\n class=\"ap-modal-footer\">\n <div class=\"index-container\">\n {{currentUrlIndex}} / {{urls.length}}\n </div>\n </footer>\n </div>\n</div>\n","import {Component, Inject} from '@angular/core';\nimport {OverlayRef} from '@angular/cdk/overlay';\nimport {InjectionToken} from '@angular/core';\n\nexport interface OverlayData {\n template: string;\n}\n\nexport class OverlayDialogRef {\n\n constructor(private overlayRef: OverlayRef) {\n }\n\n close(): void {\n this.overlayRef.dispose();\n }\n}\n\nexport const OVERLAY_DATA = new InjectionToken<OverlayData>('OVERLAY_DATA');\n\n@Component({\n selector: 'ap-overlay',\n styleUrls: ['./overlay-dialog.component.scss'],\n templateUrl: './overlay-dialog.component.html'\n})\nexport class OverlayDialogComponent {\n\n constructor(\n public dialogRef: OverlayDialogRef,\n @Inject(OVERLAY_DATA) public data: any) {\n }\n\n close() {\n this.dialogRef.close();\n }\n}\n","<div class=\"header-overlay\">\n <ap-symbol\n id=\"close\"\n color=\"#858fa1\"\n size=\"18\"\n (click)=\"close()\"\n class=\"\">\n\n </ap-symbol>\n</div>\n\n<div class=\"container-overlay\">\n <ng-container *ngTemplateOutlet=\"data\"></ng-container>\n</div>\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, Output} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-overlay-in-div',\n templateUrl: './overlay-in-div.component.html',\n styleUrls: ['./overlay-in-div.component.scss']\n})\nexport class OverlayInDivComponent {\n\n @Input() title: string;\n @Input() subtitle: string;\n @Input() imgPath: string;\n @Input() closable = true;\n\n @Output() close: EventEmitter<any> = new EventEmitter<any>();\n\n\n}\n","<div class=\"header-overlay\" *ngIf=\"closable\">\n <ap-symbol\n id=\"close\"\n color=\"#858fa1\"\n size=\"18\"\n (click)=\"this.close.emit('close')\"\n class=\"\">\n </ap-symbol>\n</div>\n\n<div class=\"splash-screen\">\n <img *ngIf=\"imgPath\" [src]=\"imgPath\"/>\n <h2 class=\"padding-y-l\">{{ title }}</h2>\n <h3 class=\"label\"> {{ subtitle }}</h3>\n</div>\n","import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-place',\n templateUrl: './place.component.html',\n styleUrls: ['./place.component.scss']\n})\nexport class PlaceComponent {\n\n @Input() service: string;\n}\n","<div class=\"place\">\n <ap-symbol\n [symbolId]=\"service + '-official'\"\n [size]=\"'micro'\">\n </ap-symbol>\n <ng-content></ng-content>\n</div>\n","import {ChangeDetectionStrategy, Component} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-place-list',\n templateUrl: './place-list.component.html',\n styleUrls: ['./place-list.component.scss']\n})\nexport class PlaceListComponent {\n\n}\n","<div class=\"place-list\">\n <ng-content></ng-content>\n</div>\n","export const defaultOptions = {\n 'apPopmenuBorder': true,\n 'apPopmenuDisabled': false,\n 'apPopmenuBackground': true,\n 'hasBackdrop': true,\n\t'placement': 'top',\n 'rounded' : true,\n\t'showDelay': 0,\n\t'hideDelay': 10,\n\t'hideDelayMobile': 0,\n\t'shadow': true,\n\t'theme': 'dark',\n\t'offset': 8,\n\t'maxWidth': '600',\n};\n","import {InjectionToken} from '@angular/core';\nimport {PopmenuOptions} from './popmenu-options.interface';\n\n/**\n * This is not a real service, but it looks like it from the outside.\n * It's just an InjectionToken used to import the config (initOptions) object, provided from the outside\n */\nexport const PopmenuOptionsService = new InjectionToken<PopmenuOptions>('PopmenuOptions');\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n Renderer2,\n ViewChild\n} from '@angular/core';\nimport {MatMenuTrigger} from '@angular/material/menu';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-popmenu',\n templateUrl: './popmenu.component.html',\n styleUrls: ['./popmenu.component.scss']\n})\nexport class PopmenuComponent implements AfterViewInit {\n\n @Input() data: any;\n events = new EventEmitter();\n arrowTopPosition = '50%';\n arrowBottomPosition = '50%';\n arrowLeftPosition: string;\n arrowRightPosition: string;\n arrowClass: string;\n below;\n before;\n @Output() menuClosed: EventEmitter<any> = new EventEmitter<any>();\n @Output() menuOpened: EventEmitter<any> = new EventEmitter<any>();\n @ViewChild(MatMenuTrigger) trigger: MatMenuTrigger;\n @HostBinding('style.top') hostStyleTop: string;\n @HostBinding('style.border-radius') hostStyleBorderRadius: string;\n @HostBinding('style.left') hostStyleLeft: string;\n @HostBinding('style.z-index') hostStyleZIndex: number;\n @HostBinding('style.transition') hostStyleTransition: string;\n @HostBinding('style.width') hostStyleWidth: string;\n @HostBinding('style.max-width') hostStyleMaxWidth: string;\n @HostBinding('style.pointer-events') hostStylePointerEvents: string;\n @HostBinding('class.tooltip-show') hostClassShow: boolean;\n @HostBinding('class.tooltip-shadow') hostClassShadow: boolean;\n @HostBinding('class.tooltip-light') hostClassLight: boolean;\n viewInit = false;\n\n _show = false;\n\n get show(): boolean {\n return this._show;\n }\n\n @Input() set show(value: boolean) {\n if (value) {\n this.setPosition();\n }\n this._show = value;\n }\n\n @Input() set close(value: boolean) {\n if (value) {\n this.trigger.closeMenu();\n }\n }\n get arrow() {\n return this.data.options.arrow && this.border;\n }\n\n get arrowOffset() {\n return this.data.options.arrowOffset;\n }\n\n get arrowPosition() {\n return this.data.options.arrowPosition;\n }\n\n get autoPlacement() {\n return this.data.options.autoPlacement;\n }\n\n get background() {\n return this.data.options.apPopmenuBackground;\n }\n\n get border() {\n return this.data.options.apPopmenuBorder;\n }\n\n get element() {\n return this.data.element;\n }\n\n get elementPosition() {\n return this.data.elementPosition;\n }\n\n get hasBackdrop() {\n return this.data.options.hasBackdrop;\n }\n\n get isThemeLight() {\n return this.options['theme'] === 'light';\n }\n\n get options() {\n return this.data.options;\n }\n\n get placement() {\n return this.data.options.placement;\n }\n\n get rounded() {\n return this.data.options.rounded;\n }\n\n get shadow() {\n return this.data.options.shadow;\n }\n\n get tooltipOffset(): number {\n return Number(this.data.options.offset);\n }\n\n get value() {\n return this.data.value;\n }\n\n constructor(public renderer: Renderer2,\n public elementRef: ElementRef,\n private changeDetectorRef: ChangeDetectorRef) {\n }\n\n ngAfterViewInit() {\n this.viewInit = true;\n }\n\n onMenuClosed() {\n // we set a timeout to wait for the menu to be really closed\n setTimeout(() => this.menuClosed.emit(), 200);\n }\n\n onMenuOpened() {\n // we set a timeout to wait for the menu to be really opened\n setTimeout(() => this.menuOpened.emit(), 100);\n }\n\n setHostStyle(placement: string): boolean {\n const isSvg = this.element instanceof SVGElement;\n const tooltip = this.elementRef.nativeElement;\n const isCustomPosition = !this.elementPosition.x;\n\n let elementHeight = !this.element.offsetHeight ? this.element.getBoundingClientRect().height : this.element.offsetHeight;\n let elementWidth = !this.element.offsetWidth ? this.element.getBoundingClientRect().width : this.element.offsetWidth;\n const tooltipHeight = tooltip.clientHeight;\n const tooltipWidth = tooltip.clientWidth;\n const scrollY = window.pageYOffset;\n\n let topStyle;\n let leftStyle;\n\n if (isCustomPosition) {\n if (placement && placement.split(' ')[0] === 'top') {\n this.below = false;\n }\n if (placement && placement.split(' ')[0] === 'bottom') {\n this.below = true;\n }\n elementHeight = 0;\n elementWidth = 0;\n topStyle = this.elementPosition.top;\n leftStyle = this.elementPosition.left;\n if (this.arrow && this.arrowPosition) {\n this.arrowClass = 'arrow-' + this.arrowPosition;\n switch (this.arrowPosition) {\n case 'left':\n case 'right':\n this.arrowLeftPosition = undefined;\n this.arrowRightPosition = undefined;\n this.arrowBottomPosition = 'auto';\n this.arrowTopPosition = this.arrowOffset + '%';\n break;\n case 'top':\n case 'bottom':\n this.arrowLeftPosition = this.arrowOffset + '%';\n this.arrowRightPosition = 'auto';\n this.arrowBottomPosition = undefined;\n this.arrowTopPosition = undefined;\n break;\n }\n }\n } else {\n\n if (placement.split(' ')[0] === 'top') {\n this.below = false;\n topStyle = this.elementPosition.top - this.tooltipOffset;\n topStyle += 8;\n }\n\n if (placement.split(' ')[0] === 'bottom') {\n this.below = true;\n topStyle = this.elementPosition.bottom + this.tooltipOffset;\n // We remove 8px due to the margin-top we put to display the arrow.\n topStyle -= 8;\n }\n\n if (placement.split(' ')[0] === 'left') {\n leftStyle = this.elementPosition.left - tooltipWidth - this.tooltipOffset;\n }\n\n if (placement.split(' ')[0] === 'right') {\n leftStyle = this.elementPosition.left + elementWidth + this.tooltipOffset;\n }\n\n if (placement.split(' ')[0] === 'left' || placement.split(' ')[0] === 'right') {\n topStyle = (this.elementPosition.top + scrollY) + elementHeight / 2 - tooltip.clientHeight / 2;\n }\n\n if (placement === 'right bottom') {\n this.below = true;\n this.before = false;\n this.arrowClass = 'arrow-left';\n topStyle = (this.elementPosition.top + scrollY);\n this.arrowRightPosition = undefined;\n this.arrowLeftPosition = undefined;\n this.arrowBottomPosition = 'auto';\n this.arrowTopPosition = this.arrowOffset ? (this.arrowOffset + '%') : (elementHeight / 2 + 'px');\n }\n\n if (placement === 'left bottom') {\n this.below = true;\n this.before = true;\n this.arrowClass = 'arrow-right';\n topStyle = (this.elementPosition.top + scrollY);\n this.arrowLeftPosition = undefined;\n this.arrowRightPosition = undefined;\n this.arrowBottomPosition = 'auto';\n this.arrowTopPosition = this.arrowOffset ? (this.arrowOffset + '%') : (elementHeight / 2 + 'px');\n }\n\n if (placement === 'right top') {\n this.below = false;\n this.before = false;\n this.arrowClass = 'arrow-left';\n topStyle = (this.elementPosition.top + elementHeight + scrollY);\n this.arrowLeftPosition = undefined;\n this.arrowRightPosition = undefined;\n this.arrowTopPosition = 'auto';\n this.arrowBottomPosition = this.arrowOffset ? (this.arrowOffset + '%') : (-(tooltip.clientHeight - elementHeight / 2) + 'px');\n }\n\n if (placement === 'left top') {\n this.below = false;\n this.before = true;\n this.arrowClass = 'arrow-right';\n topStyle = (this.elementPosition.top + elementHeight + scrollY);\n this.arrowRightPosition = undefined;\n this.arrowLeftPosition = undefined;\n this.arrowTopPosition = 'auto';\n this.arrowBottomPosition = this.arrowOffset ? (this.arrowOffset + '%') : (-(tooltip.clientHeight - elementHeight / 2) + 'px');\n }\n\n if (placement === 'bottom right') {\n this.before = false;\n this.below = true;\n this.arrowClass = 'arrow-top';\n leftStyle = this.elementPosition.left;\n this.arrowTopPosition = undefined;\n this.arrowRightPosition = 'auto';\n this.arrowLeftPosition = this.arrowOffset ? (this.arrowOffset + '%') : (((elementWidth / 2) - 4.5) + 'px');\n }\n\n if (placement === 'bottom left') {\n this.before = true;\n this.below = true;\n this.arrowClass = 'arrow-top';\n leftStyle = this.elementPosition.right;\n this.arrowTopPosition = undefined;\n this.arrowLeftPosition = 'auto';\n this.arrowRightPosition = this.arrowOffset ? (this.arrowOffset + '%') : (((elementWidth / 2) - 2.5) + 'px');\n }\n\n if (placement === 'top right') {\n this.before = false;\n this.below = false;\n this.arrowClass = 'arrow-bottom';\n leftStyle = this.elementPosition.left;\n this.arrowBottomPosition = undefined;\n this.arrowTopPosition = undefined;\n this.arrowRightPosition = 'auto';\n this.arrowLeftPosition = this.arrowOffset ? (this.arrowOffset + '%') : (((elementWidth / 2) - 4.5) + 'px');\n }\n\n if (placement === 'top left') {\n this.before = true;\n this.below = false;\n this.arrowClass = 'arrow-bottom';\n leftStyle = this.elementPosition.right;\n this.arrowBottomPosition = undefined;\n this.arrowTopPosition = undefined;\n this.arrowLeftPosition = 'auto';\n this.arrowRightPosition = this.arrowOffset ? (this.arrowOffset + '%') : (((elementWidth / 2) - 2.5) + 'px');\n }\n }\n\n // This line is PURE MAGIC and super important. It allows to force mat-menu\n // to reposition the menu with the new xPosition / yPosition.\n this.changeDetectorRef.detectChanges();\n\n const topEdge = topStyle;\n const bottomEdge = topStyle + tooltipHeight;\n const leftEdge = leftStyle;\n const rightEdge = leftStyle + tooltipWidth;\n\n if ((topEdge < 0 || bottomEdge > document.body.clientHeight ||\n leftEdge < 0 || rightEdge > document.body.clientWidth) && this.autoPlacement) {\n return false;\n }\n\n this.hostStyleTop = topStyle + 'px';\n this.hostStyleLeft = leftStyle + 'px';\n return true;\n }\n\n setPlacementClass(placement ?: string): void {\n this.renderer.addClass(this.elementRef.nativeElement, 'tooltip-' + (placement ? placement.split(' ')[0] : placement));\n this.renderer.addClass(this.elementRef.nativeElement, 'yPosition-' +\n (placement && placement.split(' ').length === 2 ? placement.split(' ')[1] : 'center'));\n\n if (this.elementRef.nativeElement.children && this.elementRef.nativeElement.children.length > 1) {\n const tooltipArrow = Array.from(this.elementRef.nativeElement.children).filter((\n child: HTMLElement) => child.getAttribute('id') === 'tooltipArrow');\n if (tooltipArrow && tooltipArrow.length === 1) {\n if (placement && placement.split(' ').length === 2 && placement.split(' ')[1] === 'bottom') {\n this.renderer.setStyle(tooltipArrow[0], 'top', this.arrowTopPosition);\n } else if (placement && placement.split(' ').length === 2 && placement.split(' ')[1] === 'top') {\n this.renderer.setStyle(tooltipArrow[0], 'top', this.arrowBottomPosition);\n }\n }\n }\n }\n\n setPosition(): void {\n if (this.setHostStyle(this.placement)) {\n this.setPlacementClass(this.placement);\n if (this.viewInit) {\n // We did this in order to reset overlayRef (multi web component needed with matmenu and cdk overlay)\n if (this.trigger[\"_overlayRef\"]) {\n this.trigger[\"_overlayRef\"].dispose();\n this.trigger[\"_overlayRef\"] = null;\n }\n this.trigger.openMenu();\n }\n return;\n } else {\n const placements = ['top', 'right', 'bottom', 'left'];\n\n for (const placement of placements) {\n if (this.setHostStyle(placement)) {\n this.setPlacementClass(placement);\n if (this.viewInit) {\n this.trigger.openMenu();\n }\n return;\n }\n }\n }\n\n }\n\n}\n","<button id=\"menuTrigger\" class=\"button-trigger\" mat-button\n [matMenuTriggerFor]=\"menu\" (menuClosed)=\"onMenuClosed()\" (menuOpened)=\"onMenuOpened()\">\n</button>\n<mat-menu #menu=\"matMenu\" [yPosition]=\"!below ? 'above': 'below'\" [xPosition]=\"!before? 'after': 'before'\" [overlapTrigger]=\"false\"\n [hasBackdrop]=\"hasBackdrop\"\n class=\"pop-menu {{arrow ? 'arrow-before ' + arrowClass : ''}} {{shadow ? 'shadow' : ''}} {{border ? '' : (shadow ? 'shadow-no-border' : '')}} {{rounded ? 'rounded-component' : ''}} {{ background ? '' : 'no-background'}}\">\n\n <div *ngIf=\"arrow\" class=\"{{arrow ? 'arrow-before ' + arrowClass : ''}}\" [ngStyle]=\"{'left': arrowLeftPosition, 'right': arrowRightPosition, 'top': arrowTopPosition, 'bottom': arrowBottomPosition}\"></div>\n <div (click)=\"$event.stopPropagation()\" class=\"{{rounded ? 'rounded-component' : ''}} outline-none\">\n <div class=\"{{border ? 'popover-content ' : ''}} {{rounded ? 'rounded-component' : ''}}\">\n <ng-container *ngTemplateOutlet=\"value\"></ng-container>\n </div>\n </div>\n</mat-menu>\n\n\n","import {\n ApplicationRef,\n ComponentFactoryResolver,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n EventEmitter,\n HostListener,\n Inject,\n Injector,\n Input,\n OnChanges,\n OnInit,\n Optional,\n Output,\n Renderer2, TemplateRef\n} from '@angular/core';\nimport {PopmenuOptions} from './popmenu-options.interface';\nimport {defaultOptions} from './options';\nimport {PopmenuOptionsService} from './popmenu-options.service';\nimport {PopmenuComponent} from './popmenu.component';\n\nexport interface AdComponent {\n data: any;\n show: boolean;\n close: boolean;\n menuClosed: any;\n menuOpened: any;\n}\n\n@Directive({\n selector: '[apPopmenu]'\n})\n\nexport class PopmenuDirective implements OnChanges, OnInit {\n\n hideTimeoutId: number;\n destroyTimeoutId: number;\n createTimeoutId: number;\n showTimeoutId: number;\n componentRef: any;\n elementPosition: any;\n componentSubscribe: any;\n _defaultOptions: any;\n @Input() apPopmenuBorder: boolean;\n @Input() apPopmenuDisabled: boolean;\n @Input() apPopmenuBackground: boolean = true;\n @Input() arrow: boolean;\n @Input() arrowOffset: number;\n @Input() arrowPosition: string;\n @Input() close = false;\n @Input() hasBackdrop: boolean = true;\n @Input() offset: number;\n @Input() placement: string;\n @Input() pointer = true;\n @Input('apPopmenu') popMenuValue: TemplateRef<any>;\n @Input() position: { top: number, left: number };\n @Input() rounded: boolean;\n @Input() shadow: boolean;\n @Output() menuClosed: EventEmitter<any> = new EventEmitter<any>();\n @Output() menuOpened: EventEmitter<any> = new EventEmitter<any>();\n\n _options: any = {};\n\n get options() {\n return this._options;\n }\n\n @Input('options') set options(value: PopmenuOptions) {\n if (value && defaultOptions) {\n this._options = value;\n }\n }\n\n get destroyDelay() {\n return Number(this.getHideDelay()) + Number(this.options['animationDuration']);\n }\n\n get isDisplayOnHover(): boolean {\n if (this.options['display'] === false) {\n return false;\n }\n\n if (this.options['displayTouchscreen'] === false) {\n return false;\n }\n\n if (this.options['trigger'] !== 'hover') {\n return false;\n }\n\n return true;\n }\n\n get isTooltipDestroyed() {\n return this.componentRef && this.componentRef.hostView.destroyed;\n }\n\n get tooltipPosition() {\n if (this.options['position']) {\n return this.options['position'];\n } else {\n return this.elementPosition;\n }\n }\n\n constructor(\n @Optional() @Inject(PopmenuOptionsService) private initOptions,\n public renderer: Renderer2,\n private elementRef: ElementRef,\n private componentFactoryResolver: ComponentFactoryResolver,\n private appRef: ApplicationRef,\n private injector: Injector) {\n }\n\n appendComponentToBody(component: any, data: any = {}): void {\n this.componentRef = this.componentFactoryResolver\n .resolveComponentFactory(component)\n .create(this.injector);\n\n (<AdComponent>this.componentRef.instance).data = {\n value: this.popMenuValue,\n element: this.elementRef.nativeElement,\n elementPosition: this.tooltipPosition,\n options: this.options\n };\n this.appRef.attachView(this.componentRef.hostView);\n const domElem = (this.componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n document.body.appendChild(domElem);\n this.componentSubscribe = (<AdComponent>this.componentRef.instance).menuClosed.subscribe((event: any) => {\n this.handleClose(event);\n });\n this.componentSubscribe = (<AdComponent>this.componentRef.instance).menuOpened.subscribe((event: any) => {\n this.handleOpen(event);\n });\n }\n\n handleClose(event: any) {\n this.menuClosed.emit();\n }\n\n handleOpen(event: any) {\n this.menuOpened.emit();\n }\n\n applyOptionsDefault(defaultOptions, options): void {\n this.options = Object.assign({}, defaultOptions, this.initOptions || {}, options);\n }\n\n clearTimeouts(): void {\n if (this.createTimeoutId) {\n clearTimeout(this.createTimeoutId);\n }\n\n if (this.showTimeoutId) {\n clearTimeout(this.showTimeoutId);\n }\n\n if (this.hideTimeoutId) {\n clearTimeout(this.hideTimeoutId);\n }\n\n if (this.destroyTimeoutId) {\n clearTimeout(this.destroyTimeoutId);\n }\n }\n\n createPopMenu(): void {\n this.clearTimeouts();\n\n this.createTimeoutId = window.setTimeout(() => {\n this.appendComponentToBody(PopmenuComponent);\n }, this.getShowDelay());\n\n this.showTimeoutId = window.setTimeout(() => {\n this.showTooltipElem();\n }, this.getShowDelay());\n }\n\n getElementPosition(): void {\n this.elementPosition = this.elementRef.nativeElement.getBoundingClientRect();\n }\n\n getHideDelay() {\n return this.options['hideDelay'];\n }\n\n getProperties(changes) {\n let properties = {};\n\n for (const prop in changes) {\n if (prop !== 'options' && prop !== 'tooltipValue') {\n properties[prop] = changes[prop].currentValue;\n }\n if (prop === 'options') {\n properties = changes[prop].currentValue;\n }\n }\n return properties;\n }\n\n getShowDelay() {\n return this.options['showDelay'];\n }\n\n ngOnChanges(changes) {\n if (changes.pointer) {\n if (!this.pointer) {\n this.renderer.removeStyle(this.elementRef.nativeElement, 'cursor');\n } else {\n this.renderer.setStyle(this.elementRef.nativeElement, 'cursor', 'pointer');\n }\n }\n if (changes.close && changes.close.currentValue) {\n this.hideTooltipElem();\n }\n const changedOptions = this.getProperties(changes);\n this.applyOptionsDefault(this.options && Object.keys(this.options).length > 0 ? this.options : defaultOptions, changedOptions);\n }\n\n ngOnInit(): void {\n if (this.pointer) {\n this.renderer.setStyle(this.elementRef.nativeElement, 'cursor', 'pointer');\n }\n }\n\n @HostListener('click')\n onClick() {\n if (this.apPopmenuDisabled) {\n return;\n }\n this.show();\n this.close = false;\n }\n\n public show() {\n this.getElementPosition();\n if (!this.componentRef || this.isTooltipDestroyed) {\n this.createPopMenu();\n } else if (!this.isTooltipDestroyed) {\n this.showTooltipElem();\n }\n }\n\n showTooltipElem(): void {\n (<AdComponent>this.componentRef.instance).data = {\n value: this.popMenuValue,\n element: this.elementRef.nativeElement,\n elementPosition: this.tooltipPosition,\n options: this.options\n };\n this.clearTimeouts();\n (<AdComponent>this.componentRef.instance).show = true;\n }\n\n hideTooltipElem(): void {\n if (this.componentRef) {\n (<AdComponent>this.componentRef.instance).close = true;\n }\n }\n\n}\n","import {ModuleWithProviders, NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {PopmenuDirective} from './popmenu.directive';\nimport {PopmenuOptions} from './popmenu-options.interface';\nimport {PopmenuOptionsService} from './popmenu-options.service';\nimport {PopmenuComponent} from './popmenu.component';\nimport {MatMenuModule} from '@angular/material/menu';\n\n@NgModule({\n declarations: [\n PopmenuDirective,\n PopmenuComponent\n ],\n imports: [\n CommonModule,\n MatMenuModule,\n ],\n exports: [\n PopmenuDirective\n ]\n})\nexport class PopmenuModule {\n\n static forRoot(initOptions: PopmenuOptions): ModuleWithProviders<PopmenuModule> {\n return {\n ngModule: PopmenuModule,\n providers: [\n {\n provide: PopmenuOptionsService,\n useValue: initOptions\n }\n ]\n };\n }\n}\n","import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-splashscreen',\n templateUrl: './splashscreen.component.html',\n styleUrls: ['./splashscreen.component.scss']\n})\nexport class SplashscreenComponent {\n @Input() cardLabels: string[] = [];\n @Input() cardDirection: 'vertical' | 'horizontal' = 'horizontal';\n @Input() disposition = 'row';\n @Input() imgHeight = 150;\n @Input() imgPaths: string[] = [];\n @Input() imgWidth = 150;\n @Input() title = '';\n /**\n * The container and the cards width. All:\n * - 100% of parent width\n * - default: 750px for the container and 50% of the container for each card\n */\n @Input() width: 'all' | 'default' = 'default';\n}\n","<div class=\"main-container ap-new {{width}}-width\">\n <h1>{{title}}</h1>\n <div class=\"info-container {{cardDirection}} {{width}}-width\">\n <ng-container *ngFor=\"let label of cardLabels; let i = index\">\n <div class=\"info-card {{width}}-width\">\n <div class=\"info-card-content {{disposition}}\">\n <div class=\"img-container\">\n <img src=\"{{imgPaths[i]}}\" height=\"{{imgHeight}}\" width=\"{{imgWidth}}\" />\n </div>\n <div class=\"text-container\">\n <p>{{label}}</p>\n </div>\n </div>\n <div class=\"button-container\" *ngIf=\"i == 0\">\n <ng-content select=\"ap-button.first\"></ng-content>\n </div>\n <div class=\"button-container\" *ngIf=\"i == 1\">\n <ng-content select=\"ap-button.second\"></ng-content>\n </div>\n </div>\n </ng-container>\n </div>\n <ng-content select=\"footer\"></ng-content>\n</div>\n","import { ConnectionPositionPair } from '@angular/cdk/overlay';\n\nconst topLeftPosition: ConnectionPositionPair = {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetY: -12\n};\n\nconst topPosition: ConnectionPositionPair = {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n offsetY: -12\n};\n\nconst topRightPosition: ConnectionPositionPair = {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetY: -12\n};\n\nconst bottomLeftPosition: ConnectionPositionPair = {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: 12\n};\n\nconst bottomPosition: ConnectionPositionPair = {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n offsetY: 12\n};\n\nconst bottomRightPosition: ConnectionPositionPair = {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetY: 12\n};\n\nconst leftPostion: ConnectionPositionPair = {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n offsetX: -12\n};\n\nconst rightPosition: ConnectionPositionPair = {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n offsetX: 12\n};\n\nexport const tooltipNeoPositions: { [key: string]: ConnectionPositionPair } = {\n topLeft: topLeftPosition,\n top: topPosition,\n topRight: topRightPosition,\n left: leftPostion,\n right: rightPosition,\n bottomLeft: bottomLeftPosition,\n bottom: bottomPosition,\n bottomRight: bottomRightPosition\n};\n","import {Injectable} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TooltipNeoService {\n public clickOutside$: Subject<void> = new Subject<void>();\n}\n","import {\n Component,\n Input,\n ChangeDetectionStrategy,\n HostListener,\n ElementRef,\n OnInit,\n} from '@angular/core';\nimport { animate, style, transition, trigger } from '@angular/animations';\nimport { TooltipNeoParams } from './tooltip-neo.model';\nimport {TooltipNeoService} from \"./tooltip-neo.service\";\n\n@Component({\n selector: 'ap-tooltip-neo',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrls: ['./tooltip-neo.component.scss'],\n templateUrl: './tooltip-neo.component.html',\n animations: [\n trigger('neoTooltip', [\n transition(':enter', [\n style({ opacity: 0 }),\n animate(200, style({ opacity: 1 }))\n ]),\n transition(':leave', [animate(200, style({ opacity: 0 }))])\n ])\n ]\n})\nexport class TooltipNeoComponent implements OnInit {\n @Input() params: TooltipNeoParams;\n\n border: string;\n\n constructor(\n private _elementRef: ElementRef,\n private _tooltipNeoService: TooltipNeoService,\n ) {\n }\n\n ngOnInit() {\n this.params.borderColor\n ? this.border = `solid 1px ${this.params.borderColor}`\n : this.border = undefined;\n }\n\n @HostListener('document:click', ['$event'])\n onClickOutside(event) {\n if(!this._elementRef.nativeElement.contains(event.target)) {\n this._tooltipNeoService.clickOutside$.next();\n }\n }\n}\n","<div @neoTooltip [ngSwitch]=\"params.contentType\"\n class=\"tooltip {{params.maxWidth}}\"\n [style.background]=\"params.backgroundColor\"\n [style.border]=\"border\"\n >\n <div *ngIf=\"params.displayArrow\"\n class=\"arrow-tooltip {{params.position}}\"\n [class.border]=\"!!params.borderColor\"\n [style.background]=\"params.backgroundColor\"\n [style.borderTop]=\"border\"\n [style.borderRight]=\"border\"\n ></div>\n <ng-container *ngIf=\"params.title\">\n <div class=\"text title\">{{params.title}}</div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'text'\">\n <ng-container *ngIf=\"params.content\">\n <div class=\"text content\">{{params.content}}</div>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'template'\">\n <ng-container *ngTemplateOutlet=\"params.content\">\n </ng-container>\n </ng-container>\n</div>\n","import {\n ComponentRef,\n Directive,\n ElementRef,\n HostListener,\n Input, OnChanges,\n OnDestroy,\n OnInit, SimpleChanges,\n TemplateRef,\n} from '@angular/core';\nimport {ComponentPortal} from '@angular/cdk/portal';\nimport {Overlay, OverlayPositionBuilder, OverlayRef} from '@angular/cdk/overlay';\nimport {fromEvent, merge, of, Subject, Subscription} from 'rxjs';\nimport {delay, switchMap, takeUntil} from 'rxjs/operators';\nimport {tooltipNeoPositions} from './tooltip-neo.const';\nimport {TooltipNeoParams} from './tooltip-neo.model';\nimport {TooltipNeoService} from './tooltip-neo.service';\nimport {TooltipNeoComponent} from './tooltip-neo.component';\n\n@Directive({selector: '[apTooltipNeo]'})\nexport class TooltipNeoDirective implements OnInit, OnDestroy, OnChanges {\n @Input() apTooltipNeo: string | TooltipNeoParams;\n\n private allowDisplay: boolean;\n private destroy$: Subject<void> = new Subject<void>();\n private hide$: Subject<boolean> = new Subject<boolean>();\n private mouseEntered = false;\n private overlayRef: OverlayRef;\n private params: TooltipNeoParams;\n private show$: Subject<boolean> = new Subject<boolean>();\n private elementRefMouseLeave$: Subscription;\n\n static enableTooltip(content: string | TemplateRef<any>, contentType: string, display: boolean): boolean {\n return !!content && !!contentType && !!display;\n }\n\n constructor(\n private elementRef: ElementRef,\n private overlay: Overlay,\n private overlayPositionBuilder: OverlayPositionBuilder,\n private tooltipNeoService: TooltipNeoService,\n ) {\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes?.apTooltipNeo?.currentValue?.display || changes?.apTooltipNeo?.currentValue?.position) && this.mouseEntered) {\n this.setSettings();\n this.allowDisplay ? this.show$.next(true) : this.hide$.next(false);\n }\n }\n\n ngOnInit(): void {\n this.initiateTooltip();\n }\n\n ngOnDestroy(): void {\n this.detach();\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private setSettings(): void {\n if (typeof this.apTooltipNeo === 'object') {\n const {\n content,\n backgroundColor = '#ffffff',\n borderColor,\n contentType = 'text',\n display = true,\n displayArrow = true,\n maxWidth = 'full',\n position = 'top',\n title = ''\n } = this.apTooltipNeo as TooltipNeoParams;\n this.params = {content, backgroundColor, borderColor, contentType, display, displayArrow, maxWidth, position, title};\n this.allowDisplay = TooltipNeoDirective.enableTooltip(content, contentType, display);\n }\n if (typeof this.apTooltipNeo === 'string') {\n const content = this.apTooltipNeo as string;\n const backgroundColor = '#ffffff';\n const borderColor = undefined;\n const contentType = 'text';\n const display = true;\n const displayArrow = true;\n const maxWidth = 'full';\n const position = 'top';\n const title = '';\n this.params = {content, backgroundColor, borderColor, contentType, position, display, displayArrow, title, maxWidth};\n this.allowDisplay = TooltipNeoDirective.enableTooltip(content, contentType, display);\n }\n }\n\n private initiateTooltip(): void {\n merge(this.hide$, this.show$)\n .pipe(\n switchMap(bool => {\n if (!bool) {\n return of(bool);\n }\n return of(bool).pipe(delay(200));\n }),\n takeUntil(this.destroy$)\n )\n .subscribe(bool => {\n if (bool) {\n this.elementRefMouseLeave$ = fromEvent(this.elementRef.nativeElement, 'mouseleave')\n .subscribe(() => this.detach());\n const positionStrategy = this.overlayPositionBuilder\n .flexibleConnectedTo(this.elementRef)\n .withPositions([tooltipNeoPositions[this.params.position]]);\n const scrollStrategy = this.overlay.scrollStrategies.close();\n this.overlayRef = this.overlay.create({positionStrategy, scrollStrategy});\n const tooltipRef: ComponentRef<TooltipNeoComponent> = this.overlayRef.attach(new ComponentPortal(TooltipNeoComponent));\n tooltipRef.instance.params = this.params;\n } else {\n this.detach();\n }\n });\n this.tooltipNeoService.clickOutside$\n .pipe(\n takeUntil(this.destroy$)\n )\n .subscribe(() => this.hide$.next(false));\n }\n\n private detach(): void {\n this.overlayRef && this.overlayRef.hasAttached() && this.overlayRef.detach();\n this.elementRefMouseLeave$ && this.elementRefMouseLeave$.unsubscribe();\n }\n\n @HostListener('mouseenter')\n onMouseEnter(): void {\n this.setSettings();\n this.mouseEntered = true;\n this.allowDisplay && this.params && this.show$.next(true);\n }\n\n @HostListener('mouseleave')\n onMouseLeave(): void {\n this.mouseEntered = false;\n this.hide$.next(false);\n }\n}\n","import {ChangeDetectionStrategy, Component, Input, Output, EventEmitter, ElementRef, NgZone, OnDestroy} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-tag',\n templateUrl: './tag.component.html',\n styleUrls: ['./tag.component.scss']\n})\nexport class TagComponent implements OnDestroy {\n\n @Input() color: string | 'blue' | 'red' | 'purple' | 'orange' | 'yellow' | 'green' = 'default';\n @Input() content: string;\n @Input() onlyText: boolean = false;\n @Input() removable: boolean = false;\n\n @Output() deleteTag = new EventEmitter<string>();\n\n private observer: ResizeObserver;\n tooltipEnabled: boolean = false;\n\n constructor(private elementRef: ElementRef,\n private zone: NgZone) {\n }\n\n ngAfterViewInit(): void {\n this.observer = new ResizeObserver(entries => {\n this.zone.run(() => {\n this.tooltipEnabled = entries[0].target.scrollWidth > this.elementRef.nativeElement.clientWidth;\n });\n });\n this.observer.observe(this.elementRef.nativeElement.getElementsByClassName('tag-label')[0]);\n }\n\n ngOnDestroy() {\n this.observer.unobserve(this.elementRef.nativeElement.children[0]);\n }\n\n onDeleteTag() {\n this.deleteTag.emit(this.content);\n }\n\n}\n","<div class=\"tag\"\n [ngClass]=\"color\"\n [class.big-padding]=\"onlyText\"\n [class.removable]=\"removable\"\n [apTooltipNeo]=\"tooltipEnabled ? content : ''\" >\n <div class=\"tag-label\">{{content}}</div>\n <div *ngIf=\"removable\"\n class=\"delete-cross\">\n <ap-symbol symbolId=\"remove-bold\"\n size=\"pico\"\n (click)=\"onDeleteTag()\">\n </ap-symbol>\n </div>\n</div>\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class TextMeasurementService {\n private textDiv: HTMLDivElement;\n\n constructor() {\n const lDiv = document.createElement('div');\n\n document.body.appendChild(lDiv);\n lDiv.style.position = \"absolute\";\n lDiv.style.left = '-1000';\n lDiv.style.top = '-1000';\n\n this.textDiv = lDiv;\n }\n\n public calculateTextWidth(text: string, fontSize: number, fontFamily: string) {\n this.textDiv.textContent = text;\n this.textDiv.style.fontSize = fontSize + \"px\";\n this.textDiv.style.fontFamily = fontFamily;\n return this.textDiv.clientWidth;\n }\n\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy, ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter, HostListener,\n Input, NgZone, OnChanges, OnDestroy,\n OnInit,\n Output, SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport {TextMeasurementService} from \"../text-measurement/text-measurement.service\";\nimport {BehaviorSubject} from \"rxjs\";\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-tag-list',\n templateUrl: './tag-list.component.html',\n styleUrls: ['./tag-list.component.scss']\n})\nexport class TagListComponent implements AfterViewInit, OnChanges, OnDestroy {\n\n @Input() removeTagsEnabled: boolean = false;\n @Input() responsive: boolean = false;\n @Input() seeLessTranslation: string = 'See less';\n @Input() tags: string[];\n\n @Output() deleteTag = new EventEmitter<string[]>();\n\n expanded: boolean = false;\n howManyItemsLeft = 0;\n responsiveTags: string[] = [];\n private observer: ResizeObserver;\n private width$ = new BehaviorSubject<number>(0);\n\n constructor(private elementRef: ElementRef,\n private changeDetectorRef: ChangeDetectorRef,\n private textMeasurementService: TextMeasurementService,\n private zone: NgZone) {\n }\n\n ngAfterViewInit(): void {\n if (this.responsive) {\n this.generateResponsiveTags(this.elementRef.nativeElement.getElementsByClassName('tags-list')[0].offsetWidth);\n\n this.observer = new ResizeObserver(entries => {\n this.zone.run(() => {\n this.width$.next(entries[0].contentRect.width);\n });\n });\n\n this.observer.observe(this.elementRef.nativeElement.getElementsByClassName('tags-list')[0]);\n this.width$.subscribe(width => {\n this.generateResponsiveTags(width);\n })\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.tags.currentValue) {\n this.generateResponsiveTags(this.elementRef.nativeElement.getElementsByClassName('tags-list')[0].offsetWidth);\n }\n }\n\n ngOnDestroy() {\n this.observer.unobserve(this.elementRef.nativeElement.getElementsByClassName('tags-list')[0]);\n }\n\n onExpand() {\n this.expanded = !this.expanded;\n }\n\n onDeleteTag(tag: string): void {\n this.tags.splice(this.tags.indexOf(tag), 1);\n this.deleteTag.emit(this.tags);\n }\n\n onResize() {\n this.generateResponsiveTags(this.elementRef.nativeElement.children[0].offsetWidth);\n }\n\n public trackByTagContent(index, entry: string) {\n return entry;\n }\n\n private generateResponsiveTags(width: number) {\n let seeMoreElementWidth = this.textMeasurementService.calculateTextWidth('+'.concat(this.tags.length.toString()), 14, 'Averta');\n seeMoreElementWidth += 1 + 8 + 8 + 1; // border-left + padding-left + padding-right + border-right\n let elementWidth = width;\n elementWidth -= seeMoreElementWidth;\n let currentIndex = 0;\n for (let index = 0; index < this.tags.length; index++) {\n let textWidth = this.textMeasurementService.calculateTextWidth(this.tags[index], 14, 'Averta');\n textWidth += 1 + 8 + (this.removeTagsEnabled ? 25 : 8) + 1 + 4; // border-left + padding-left + padding-right + border-right + tag spacing\n elementWidth -= textWidth;\n if (elementWidth <= 0) {\n break;\n }\n currentIndex = index;\n }\n if (currentIndex + 1 === (this.tags.length)) {\n this.expanded = false;\n }\n this.howManyItemsLeft = this.tags.length - (currentIndex + 1);\n this.responsiveTags = this.tags.slice(0, currentIndex + 1);\n this.changeDetectorRef.markForCheck();\n }\n\n\n\n}\n","<div class=\"tags-list\" (window:resize)=\"onResize()\">\n <ng-container *ngIf=\"responsive; else defaultTags\">\n <ng-container *ngFor=\"let tag of expanded ? tags : responsiveTags\">\n <ap-tag [content]=\"tag\"\n [removable]=\"removeTagsEnabled\"\n (deleteTag)=\"onDeleteTag($event)\"></ap-tag>\n </ng-container>\n <button *ngIf=\"!expanded && responsiveTags.length !== tags.length\"\n class=\"tag-expand\"\n (click)=\"onExpand()\">\n +{{howManyItemsLeft}}\n </button>\n <button *ngIf=\"expanded\"\n class=\"tag-retract\"\n (click)=\"onExpand()\">\n {{seeLessTranslation}}\n </button>\n </ng-container>\n\n <ng-template #defaultTags>\n <ng-container *ngFor=\"let tag of tags; trackBy: trackByTagContent;\">\n <ap-tag [content]=\"tag\"\n [removable]=\"removeTagsEnabled\"\n (deleteTag)=\"onDeleteTag($event)\"></ap-tag>\n </ng-container>\n </ng-template>\n</div>\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, Output} from '@angular/core';\nimport {TryPopupTexts} from './try-popup-texts.model';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-try-popup',\n templateUrl: 'try-popup.component.html',\n styleUrls: ['try-popup.component.scss']\n})\n\nexport class TryPopupComponent {\n\n @Input() texts: TryPopupTexts;\n @Input() trialUrl: string;\n\n @Output() trialClicked: EventEmitter<any> = new EventEmitter<any>();\n @Output() closeClicked: EventEmitter<any> = new EventEmitter<any>();\n\n tryAgorapulsePopupVisible: boolean = true;\n logoUrl: string = 'assets/img/style/logos/logo-blue.svg';\n\n onClose() {\n this.tryAgorapulsePopupVisible = false;\n this.closeClicked.emit();\n }\n\n onButtonClick() {\n this.trialClicked.emit();\n this.onClose();\n window.open(this.trialUrl, '_blank');\n }\n}\n","<ng-template [ngIf]=\"tryAgorapulsePopupVisible\">\n <div class=\"try-popup\">\n <button (click)=\"onClose()\" class=\"close-button\" id=\"try-button\" mat-flat-button>\n <mat-icon>close</mat-icon>\n </button>\n\n <div class=\"row\">\n <div class=\"col s6\">\n <img class=\"agorapulse-logo\" [src]=\"logoUrl\" alt=\"Agorapulse\">\n <p class=\"subtitle\">\n {{texts.description}}\n </p>\n </div>\n\n <div class=\"col s6 button-container\">\n <button (click)=\"onButtonClick()\"\n color=\"primary\"\n mat-flat-button>\n {{texts.tryButtonLabel}}\n </button>\n </div>\n </div>\n </div>\n</ng-template>\n","import {\n AfterViewInit,\n Component,\n EventEmitter,\n Input, OnChanges,\n OnInit,\n Output, SimpleChanges,\n} from '@angular/core';\nimport {Observable, of, Subject} from \"rxjs\";\nimport {catchError, debounceTime, distinctUntilChanged, map, switchMap, tap} from \"rxjs/operators\";\n\nexport interface TagsSelectorLabels {\n placeholder: string;\n createTag: string;\n}\n\n@Component({\n selector: 'ap-tags-selector',\n templateUrl: './tags-selector.component.html',\n styleUrls: ['./tags-selector.component.scss']\n})\nexport class TagsSelectorComponent implements OnInit, OnChanges {\n\n readonly INFINITY = Number.MAX_SAFE_INTEGER;\n\n @Input() addTagEnabled: boolean = true;\n @Input() disabled: boolean = false;\n @Input() initialTags: string[] = [];\n @Input() labels: TagsSelectorLabels;\n @Input() loadingOnSearch: boolean = true;\n @Input() multipleEnabled: boolean = true;\n @Input() searchTagsFunction: (string) => Observable<string[]>;\n\n @Output() selectTags = new EventEmitter<string[]>();\n @Output() searchErrorMessage = new EventEmitter<string>();\n\n tags: string[] = [];\n tagsInput$: Subject<string> = new Subject<string>();\n tags$: Observable<string[]>;\n tagsLoading = false;\n\n constructor() { }\n\n ngOnInit(): void {\n this.tags = this.initialTags;\n this.setSearchFunction();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes?.initialTags?.currentValue) {\n this.tags = this.initialTags;\n }\n }\n\n onAdd(): void {\n this.tags$ = of([]);\n this.setSearchFunction();\n }\n\n onOpen(): void {\n this.tagsInput$.next('');\n }\n\n onTagsChange(): void {\n this.selectTags.emit(this.tags);\n }\n\n setSearchFunction(): void {\n this.tags$ = this.tagsInput$.pipe(\n debounceTime(this.loadingOnSearch ? 400 : 0),\n distinctUntilChanged(),\n tap(() => {\n this.tagsLoading = true;\n }),\n switchMap((term: string) => this.searchTagsFunction(term).pipe(\n catchError((response) => {\n this.searchErrorMessage.emit(response.error ? response.error.message: 'Error');\n return [];\n }),\n map(response => {\n this.tagsLoading = false;\n if (!response || Object.keys(response).length == 0) {\n return [];\n }\n return response;\n })\n )));\n }\n}\n","<!-- @JRA [multiple]=\"false\" break the component display and behavior, we use [maxSelectedItems]=\"1\" as efficient workaround -->\n<ng-select class=\"tags-select\"\n [disabled]=\"disabled\"\n [addTag]=\"addTagEnabled\"\n [maxSelectedItems]=\"multipleEnabled ? INFINITY : 1\"\n [multiple]=\"true\"\n [hideSelected]=\"true\"\n [placeholder]=\"labels.placeholder\"\n [loading]=\"tagsLoading\"\n [items]=\"tags$ | async\"\n [typeahead]=\"tagsInput$\"\n [minTermLength]=\"0\"\n [clearable]=\"false\"\n [(ngModel)]=\"tags\"\n (open)=\"onOpen()\"\n (change)=\"onTagsChange()\"\n (add)=\"onAdd()\"\n appendTo=\"body\">\n <ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\">\n <div *ngFor=\"let item of items\" class=\"tags-wrapper\">\n <ap-tag [content]=\"item\" [removable]=\"!disabled\" (deleteTag)=\"clear(item)\"></ap-tag>\n </div>\n </ng-template>\n <ng-template ng-option-tmp let-item=\"item\" let-search=\"searchTerm\">\n <div *ngIf=\"search\"><b>{{item.substring(0, search.length)}}</b>{{item.substring(search.length, item.length)}}</div>\n <div *ngIf=\"!search\">{{item}}</div>\n </ng-template>\n <ng-template ng-tag-tmp let-search=\"searchTerm\">\n <div class=\"add-tag\">\n <ap-symbol class=\"add-tag-icon\"\n symbolId=\"add-circle-bold-alternate\"\n size=\"micro\"\n ></ap-symbol>\n <div class=\"add-tag-preview\">{{labels.createTag}} \"{{search}}\"</div>\n </div>\n </ng-template>\n</ng-select>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n ViewChild\n} from '@angular/core';\nimport {OverlayContainer} from \"@angular/cdk/overlay\";\nimport moment from 'moment';\nimport {CdkVirtualScrollViewport} from \"@angular/cdk/scrolling\";\n\n/**\n * Time in 24h format\n */\nexport interface Time {\n hours: number;\n minutes: number;\n best?: boolean;\n}\n\nexport enum TimeFormat {\n Meridian = 'Meridian',\n Default = 'Default'\n}\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-timepicker',\n templateUrl: './timepicker.component.html',\n styleUrls: ['./timepicker.component.scss']\n})\nexport class TimepickerComponent implements OnInit, OnChanges {\n @ViewChild('inputBox') inputBox: ElementRef;\n @ViewChild('inputTime') inputTime: ElementRef;\n @ViewChild(CdkVirtualScrollViewport) viewPort: CdkVirtualScrollViewport;\n\n @Input() disabled: boolean = false;\n @Input() format: TimeFormat = TimeFormat.Default;\n @Input() invalid: boolean = false;\n @Input() invalidationMessage: string;\n @Input() period: number = 15;\n @Input() placement: string = 'bottom';\n @Input() timeModel: string;\n @Output() timeModelChange: EventEmitter<Time> = new EventEmitter<Time>();\n\n closeMenu: boolean = false;\n openedMenu: boolean = false;\n position: {top: number, left: number} = null;\n previousTime: string = null;\n timeActive;\n TimeFormat = TimeFormat;\n timeFormat12 = /(^[01]?\\d)(:)([0-5]\\d)(am|pm)+?$/i;\n timeFormat12anySeparator = /(^[01]?\\d)([^0-9])([0-5]\\d)(am|pm)+?$/i;\n timeFormat12WithoutMinute = /(^[01]?\\d)(am|pm)+?$/i;\n timeFormat24 = /^([01]?[0-9]|2[0-3]):[0-5][0-9]$/;\n timeFormat24anySeparator = /^([01]?[0-9]|2[0-3])([^0-9])([0-5][0-9])$/;\n times: string[] = [];\n validated = false;\n listFocus = false;\n validationStarted = false;\n\n constructor(public changeDetectorRef: ChangeDetectorRef, private overlayContainer: OverlayContainer, private renderer: Renderer2) {\n const disableAnimations: boolean = true;\n // get overlay container to set property that disables animations\n const overlayContainerElement: HTMLElement = this.overlayContainer.getContainerElement();\n // angular animations renderer hooks up the logic to disable animations into setProperty\n this.renderer.setProperty( overlayContainerElement, \"@.disabled\", disableAnimations );\n }\n\n ngOnInit(): void {\n this.generateTimeSlots();\n }\n\n ngOnChanges(changes: any): void {\n this.generateTimeSlots();\n if (changes.placement && changes.placement.currentValue) {\n if (changes.placement.currentValue === 'top') {\n this.position = {\n top: 179, // height of picker\n left: this.inputBox.nativeElement.getBoundingClientRect().left\n };\n } else {\n this.position = { top: this.inputBox.nativeElement.getBoundingClientRect().top +\n this.inputBox.nativeElement.getBoundingClientRect().height ,\n left: this.inputBox.nativeElement.getBoundingClientRect().left};\n }\n setTimeout(() => {\n this.changeDetectorRef.markForCheck();\n }, 200);\n }\n }\n\n emitChanges(): void {\n const time24Format = this.format === TimeFormat.Default ? this.timeModel : TimepickerComponent.convert12To24(this.timeModel);\n const time: Time = {\n hours: this.getHoursFrom24(time24Format),\n minutes: this.getMinutesFrom24(time24Format),\n best: false,\n };\n this.timeModelChange.emit(time);\n this.closeMenu = true;\n this.changeDetectorRef.detectChanges();\n this.inputBox.nativeElement.focus();\n }\n\n getHoursFrom24(time24Format: string): number {\n return +(time24Format.split(':')[0]);\n }\n\n getMinutesFrom24(time24Format: string): number {\n return +(time24Format.split(':')[1]);\n }\n\n generateTimeSlots(): void {\n this.changeDetectorRef.detectChanges();\n this.times = Object.assign([], []);\n if (!this.timeModel) {\n this.timeModel = moment().format('HH:mm');\n }\n if (this.format === TimeFormat.Meridian) {\n if (!this.timeModel.includes('am') && !this.timeModel.includes('pm')) {\n this.timeModel = TimepickerComponent.convert24To12(this.timeModel);\n }\n } else {\n if (this.timeModel.includes('am') || this.timeModel.includes('pm')) {\n this.timeModel = TimepickerComponent.convert12To24(this.timeModel);\n }\n }\n for (let i = 0; i < 24; i++) {\n let hour = i;\n let meridian = '';\n if (this.format === TimeFormat.Meridian) {\n meridian = 'am';\n if (hour >= 12) {\n meridian = 'pm';\n if (hour > 12) {\n hour = hour - 12;\n }\n }\n if (hour === 0) {\n hour = 12;\n }\n }\n for (let j = 0; j < 60; j += this.period) {\n const time = hour + ':' + TimepickerComponent.toFixed(j, 10) + meridian;\n this.times = [...this.times, time];\n }\n }\n\n if (!this.timeModel) {\n this.timeModel = moment().format('HH:mm');\n if (this.format === TimeFormat.Meridian) {\n this.timeModel = moment().format('hh:mma');\n }\n }\n this.changeDetectorRef.detectChanges();\n }\n\n focusOnList(focusEnabled: boolean): void {\n this.listFocus = focusEnabled;\n\n }\n\n onMenuClosed(): void {\n this.closeMenu = true;\n this.openedMenu = false;\n this.listFocus = false;\n if (!this.validationStarted) {\n this.validate(this.timeModel);\n }\n this.viewPort.setRenderedContentOffset(0);\n this.viewPort.scrollToIndex(0);\n this.validated = false;\n this.validationStarted = false;\n }\n\n onModelChange(time): void {\n this.timeActive = null;\n if (!this.validated) {\n for (let i = 0; i < this.times.length; i++) {\n const checkTime = this.checkTime(time, this.times[i]);\n if (checkTime.match) {\n this.scrollToIndex(i);\n if (checkTime.exactMatch) {\n this.timeActive = i;\n }\n break;\n\n }\n }\n }\n this.validated = false;\n\n }\n\n openTimePicker() {\n this.previousTime = this.timeModel;\n this.closeMenu = false;\n if (this.placement === 'top') {\n this.position = {\n top: 179, // height of picker\n left: this.inputBox.nativeElement.getBoundingClientRect().left\n };\n } else {\n this.position = { top: (this.inputBox.nativeElement.getBoundingClientRect().top - 1) ,\n left: this.inputBox.nativeElement.getBoundingClientRect().left };\n }\n if (!this.openedMenu && !this.validated) {\n this.openedMenu = true;\n setTimeout(() => {\n this.onModelChange(this.timeModel);\n this.inputTime?.nativeElement.focus();\n this.inputTime?.nativeElement.select();\n }, 50);\n }\n this.validated = false;\n\n return false;\n }\n\n\n selectTime(time) {\n this.timeModel = time;\n this.emitChanges();\n }\n\n validate(time) {\n this.validationStarted = true;\n if (!this.listFocus) {\n if (this.timeFormat24anySeparator.test(time)) {\n time = time.replace(this.timeFormat24anySeparator, '$1:$3');\n } else if (this.timeFormat12anySeparator.test(time)) {\n time = time.replace(this.timeFormat12anySeparator, '$1:$3$4');\n }\n this.validated = true;\n let timeFound = false;\n for (let i = 0; i < this.times.length; i++) {\n const checkTime = this.checkTime(time, this.times[i]);\n if (checkTime.match && checkTime.exactMatch) {\n this.selectTime(this.times[i]);\n timeFound = true;\n break;\n }\n }\n if (!timeFound) {\n let validTime: boolean;\n if (this.format === TimeFormat.Meridian) {\n validTime = this.timeFormat12.test(time);\n if (!validTime) {\n validTime = this.timeFormat24.test(time);\n if (validTime) {\n time = TimepickerComponent.convert24To12(time)\n } else {\n validTime = this.timeFormat12WithoutMinute.test(time);\n if (validTime) {\n time = time.replace(this.timeFormat12WithoutMinute, '$1:00$2');\n }\n }\n }\n } else {\n validTime = this.timeFormat24.test(time);\n if (!validTime) {\n validTime = this.timeFormat12.test(time);\n if (validTime) {\n time = TimepickerComponent.convert12To24(time)\n }\n }\n }\n if (validTime) {\n this.selectTime(time);\n } else {\n this.selectTime(this.previousTime);\n }\n }\n }\n }\n\n scrollToIndex(i: number): void {\n this.viewPort.scrollToIndex( i, 'smooth');\n }\n\n static formatTime(time: Time, format: TimeFormat): string {\n let timeString = `${time.hours}` + ':' + `${time.minutes}`.padStart(2, '0');\n if (format === TimeFormat.Meridian) {\n timeString = TimepickerComponent.convert24To12(timeString);\n }\n return timeString;\n }\n\n private checkTime(term: string, termToMatch: string): { match: boolean, exactMatch: boolean } {\n let exactMatch = true;\n if (this.timeFormat24anySeparator.test(term)) {\n term = term.replace(this.timeFormat24anySeparator, '$1:$3');\n } else if (this.timeFormat12anySeparator.test(term)) {\n term = term.replace(this.timeFormat12anySeparator, '$1:$3$4');\n }\n if (term === '') {\n return { match: false, exactMatch: false };\n }\n const terms = term.split(':');\n if ((!isNaN(parseInt(terms[0]))) && terms[1]?.length >= 2 && !isNaN(parseInt(terms[1].substring(0, 2)))) {\n const hour = parseInt(terms[0]);\n let newHour = hour;\n let newMinutes = terms[1].substring(0, 2);\n const minutes = parseInt(newMinutes);\n if (minutes !== 0) {\n if (minutes <= 15) {\n newMinutes = '15';\n } else if (minutes <= 30) {\n newMinutes = '30';\n } else if (minutes <= 45) {\n newMinutes = '45';\n } else {\n newHour += 1;\n newMinutes = '00';\n }\n }\n if (parseInt(newMinutes) !== minutes || newHour !== hour) {\n exactMatch = false;\n }\n term = newHour + ':' + newMinutes + terms[1].substring(2, terms[1].length);\n }\n let meridian = '';\n if (this.format === TimeFormat.Meridian) {\n if (terms[0]) {\n if (!isNaN(parseInt(terms[0]))) {\n let hour = parseInt(terms[0]);\n if (hour > 12) {\n hour = hour - 12;\n term = hour + ':' + (terms[1] ? terms[1].substring(0, 2) : '00');\n meridian = 'pm';\n }\n if (!term.endsWith('am') && !term.endsWith('pm')) {\n term += meridian;\n }\n }\n }\n if (this.timeFormat12WithoutMinute.test(term)){\n term = term.substring(0, term.length - 2) + ':00' + term.substring(term.length - 2, term.length);\n }\n }\n return {match : termToMatch.startsWith(term), exactMatch};\n }\n\n private static convert12To24(time): string {\n const terms = time.split(':');\n const minutes = terms[1].substring(0, 2);\n const meridian = terms[1].substring(2, 4);\n let hour = parseInt(terms[0]);\n if (!isNaN(parseInt(terms[0]))) {\n if (meridian === 'pm' && hour < 12) {\n hour = hour + 12;\n }\n if (meridian === 'am' && hour === 12) {\n hour = 0;\n }\n }\n return hour + ':' + minutes;\n }\n\n private static convert24To12(time): string {\n const terms = time.split(':');\n let meridian = 'am';\n let hour = parseInt(terms[0]);\n if (!isNaN(parseInt(terms[0]))) {\n if (hour >= 12) {\n meridian = 'pm';\n if (hour > 12) {\n hour = hour - 12;\n }\n }\n if (hour === 0) {\n hour = 12;\n }\n }\n return hour + ':' + terms[1] + meridian\n }\n\n private static toFixed(num, fix): string {\n let fixedNum: string = num;\n if (num < fix) {\n fixedNum = '0' + fixedNum;\n }\n return fixedNum;\n }\n}\n","<div class=\"display-flex\" [class.meridian]=\"format === TimeFormat.Meridian\">\n <ng-template #timeOptionsTemplate >\n <input #inputTime\n *ngIf=\"placement == 'bottom'\"\n class=\"time-input menu\"\n type=\"text\"\n [(ngModel)]=\"timeModel\"\n (ngModelChange)=\"onModelChange($event)\"\n (blur)=\"validate($event?.target?.value)\"\n (keydown.enter)=\"validate($event?.target?.value)\"\n (mouseenter)=\"focusOnList(false)\">\n <div class=\"time-options-container {{placement}}\"\n (mouseenter)=\"focusOnList(true)\"\n (mouseleave)=\"focusOnList(false)\">\n <cdk-virtual-scroll-viewport style=\"height: 100%\" itemSize=\"33\" class=\"scroll\" minBufferPx=\"200\" maxBufferPx=\"200\" autofocus>\n <div style=\"visibility: hidden;max-height: 0\">€</div>\n <div *cdkVirtualFor=\"let item of times;let i = index\" (click)=\"selectTime(item)\" id=\"_apTime_{{i}}\" class=\"time-line\" [class.selected]=\"timeActive === i\">\n <span class=\"hour\">{{item}}</span>\n </div>\n </cdk-virtual-scroll-viewport>\n </div>\n <input #inputTime\n *ngIf=\"placement == 'top'\"\n class=\"time-input menu\"\n type=\"text\"\n [(ngModel)]=\"timeModel\"\n (ngModelChange)=\"onModelChange($event)\"\n (blur)=\"validate($event?.target?.value)\"\n (keydown.enter)=\"validate($event?.target?.value)\"\n (mouseenter)=\"focusOnList(false)\">\n\n </ng-template>\n\n <input #inputBox\n class=\"time-input\"\n [ngClass]=\"{'invalid': invalid}\"\n type=\"text\"\n [(ngModel)]=\"timeModel\"\n (click)=\"openTimePicker()\"\n [disabled]=\"disabled\"\n [apPopmenu]=\"timeOptionsTemplate\"\n [apTooltipNeo]=\"{content: invalidationMessage, display: invalidationMessage && invalid}\"\n [shadow]=\"false\"\n [apPopmenuBorder]=\"false\"\n [apPopmenuBackground]=\"false\"\n [hasBackdrop]=\"true\"\n [close]=\"closeMenu\"\n [pointer]=\"true\"\n [position]=\"position\"\n [placement]=\"placement\"\n [rounded]=\"true\"\n (menuClosed)=\"onMenuClosed()\"\n placement=\"bottom right\"\n color=\"secondary\"\n readonly>\n\n</div>\n","import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\n\n@Component({\n selector: 'ap-notification',\n templateUrl: './notification.component.html',\n styleUrls: ['./notification.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NotificationComponent {\n\n @Input() type: 'info'|'warning'|'error'|'success' = 'info';\n}\n","<div\n class=\"main\"\n [ngClass]=\"{'warning': type === 'warning', 'error': type === 'error', 'success': type === 'success'}\">\n <span class=\"border\"></span>\n <span class=\"icon\">\n <ng-content select=\"[icon]\"></ng-content>\n </span>\n <ng-content select=\"[text]\"></ng-content>\n</div>\n","import {\n Component,\n Input,\n Output,\n OnChanges,\n SimpleChanges,\n EventEmitter,\n ChangeDetectionStrategy\n} from '@angular/core';\nimport {Step} from './step.model';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-stepper',\n templateUrl: './stepper.component.html',\n styleUrls: ['./stepper.component.scss']\n})\nexport class StepperComponent implements OnChanges {\n\n @Input() currentStep: Step;\n @Input() steps: Step[] = []; // Immutable after init.\n @Output() stepClicked: EventEmitter<Step> = new EventEmitter<Step>();\n\n stepTexts: { [index: number]: string } = {};\n currentIndex = 0;\n\n constructor() {\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.steps?.length > 0 && this.currentStep) {\n this.currentIndex = this.steps.findIndex(step => step.id === this.currentStep.id);\n } else {\n this.currentIndex = 0;\n }\n }\n\n clickCurrentStep(step: Step): void {\n this.stepClicked.emit(step);\n }\n}\n\n\n","<div class=\"main\">\n <span class=\"item\"\n *ngFor=\"let step of steps; let index=index; let last=last\" >\n <span [ngClass]=\" {\n 'number': true,\n 'active': index === currentIndex,\n 'no-more-active': currentIndex > index,\n 'not-yet-active': currentIndex < index}\">\n {{index + 1}}\n </span>\n <span class=\"text\" [ngClass]=\"{'clickable': step.clickable}\" (click)=\"step.clickable ? clickCurrentStep(step) : false\">\n {{step.name}}\n </span>\n <ap-symbol\n *ngIf=\"!last\"\n [id]=\"'arrow-right-1'\"\n [size]=\"'12px'\">\n </ap-symbol>\n </span>\n</div>\n","import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {MAT_SNACK_BAR_DATA, MatSnackBarRef} from \"@angular/material/snack-bar\";\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-snackbar',\n templateUrl: 'snackbar.component.html',\n styleUrls: ['snackbar.component.scss']\n})\nexport class SnackBarComponent {\n constructor(public snackBarRef: MatSnackBarRef<SnackBarComponent>,\n @Inject(MAT_SNACK_BAR_DATA) public data: any) {\n\n }\n}\n","<div class=\"snackbar-content\">\n <div class=\"snackbar-text\" [innerHTML]=\"data.message\">\n </div>\n <ap-symbol\n class=\"snackbar-close\"\n symbolId=\"close\"\n size=\"12\"\n (click)=\"snackBarRef.dismiss()\">\n </ap-symbol>\n</div>\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, Output} from '@angular/core';\n\n@Component({\n selector: 'ap-paginator-button',\n templateUrl: './paginator-button.component.html',\n styleUrls: ['./paginator-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PaginatorButtonComponent {\n\n @Input() pageIndex = 0\n @Input() selectedPageIndex = 0;\n\n @Output() selectPage = new EventEmitter<number>();\n}\n","<button class=\"square\"\n mat-flat-button\n [color]=\"selectedPageIndex === pageIndex ? 'accent' : undefined\"\n (click)=\" selectPage.emit(pageIndex)\">\n {{pageIndex + 1}}\n</button>\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges} from '@angular/core';\n\n@Component({\n selector: 'ap-paginator',\n templateUrl: './paginator.component.html',\n styleUrls: ['./paginator.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PaginatorComponent implements OnChanges {\n\n @Input() itemCount = 0;\n @Input() itemCountPerPage = 10;\n @Input() edgeSize = 5;\n @Input() middleSize = 3;\n\n @Input() currentPageIndex = 0;\n @Output() currentPageIndexChange = new EventEmitter<number>();\n\n public pageCount = 0;\n public firstPageDisplayed = true;\n public lastPageDisplayed = true;\n\n ngOnChanges(changes: SimpleChanges) {\n // make sure middle size is an odd number\n if (changes.middleSize && this.middleSize % 2 === 0) {\n this.middleSize++;\n }\n if (this.itemCountPerPage && (changes.itemCount || changes.itemCountPerPage) || changes.currentPageIndex) {\n this.pageCount = Math.ceil(this.itemCount / this.itemCountPerPage);\n // make sure page index is between min and max page index\n this.currentPageIndex = Math.max(0, Math.min(this.pageCount - 1, this.currentPageIndex));\n this.firstPageDisplayed = this.currentPageIndex === 0;\n this.lastPageDisplayed = this.currentPageIndex === this.pageCount - 1;\n }\n }\n\n onSelectPage(pageIndex: number): void {\n this.currentPageIndexChange.emit(pageIndex);\n }\n}\n","<div class=\"item-index-overview\">\n {{(currentPageIndex * itemCountPerPage) + 1}}\n -{{lastPageDisplayed ? itemCount : (currentPageIndex + 1) * itemCountPerPage}}\n of {{itemCount}}\n</div>\n\n<div class=\"pages\">\n <button class=\"square\"\n mat-flat-button\n [disabled]=\"firstPageDisplayed\"\n (click)=\"onSelectPage(currentPageIndex - 1)\">\n <ap-symbol symbolId=\"arrow-left-1\"></ap-symbol>\n </button>\n <ng-container *ngIf=\"pageCount > edgeSize + 1; else allPagesDisplayed\">\n <ng-container *ngIf=\"currentPageIndex >= edgeSize - 1; else oneOfFirstPagesDisplayed\">\n <ng-container *ngIf=\"currentPageIndex <= pageCount - edgeSize; else oneOfLastPagesDisplayed\">\n <ap-paginator-button [pageIndex]=\"0\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\">\n </ap-paginator-button>\n <span class=\"ellipsis\">...</span>\n <ng-container *ngFor=\"let dummy of [].constructor(middleSize); let i = index\">\n <ap-paginator-button [pageIndex]=\"currentPageIndex + i - (middleSize - 1) / 2\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\">\n </ap-paginator-button>\n </ng-container>\n <span class=\"ellipsis\">...</span>\n <ap-paginator-button [pageIndex]=\"pageCount - 1\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\">\n </ap-paginator-button>\n </ng-container>\n </ng-container>\n <ng-template #oneOfFirstPagesDisplayed>\n <ng-container *ngFor=\"let dummy of [].constructor(edgeSize); let i = index\">\n <ap-paginator-button [pageIndex]=\"i\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\">\n </ap-paginator-button>\n </ng-container>\n <span class=\"ellipsis\">...</span>\n <ap-paginator-button [pageIndex]=\"pageCount - 1\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\">\n </ap-paginator-button>\n </ng-template>\n <ng-template #oneOfLastPagesDisplayed>\n <ap-paginator-button [pageIndex]=\"0\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\">\n </ap-paginator-button>\n <span class=\"ellipsis\">...</span>\n <ng-container *ngFor=\"let dummy of [].constructor(edgeSize); let i = index\">\n <ap-paginator-button [pageIndex]=\"pageCount - edgeSize + i\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\">\n </ap-paginator-button>\n </ng-container>\n </ng-template>\n </ng-container>\n <ng-template #allPagesDisplayed>\n <ng-container *ngFor=\"let dummy of [].constructor(pageCount); let i = index\">\n <ap-paginator-button [pageIndex]=\"i\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\">\n </ap-paginator-button>\n </ng-container>\n </ng-template>\n <button class=\"square\"\n mat-flat-button\n [disabled]=\"lastPageDisplayed\"\n (click)=\"onSelectPage(currentPageIndex + 1)\">\n <ap-symbol symbolId=\"arrow-right-1\"></ap-symbol>\n </button>\n</div>\n","import {Component, EventEmitter, forwardRef, Input, Output} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\n@Component({\n selector: 'ap-slide-toggle',\n templateUrl: './slide-toggle.component.html',\n styleUrls: ['./slide-toggle.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SlideToggleComponent),\n multi: true\n }\n ]\n})\nexport class SlideToggleComponent implements ControlValueAccessor {\n\n private _checked = false;\n\n @Input() set checked(status: boolean) {\n this._checked = status;\n this.onChanged(status);\n }\n\n get checked(): boolean {\n return this._checked;\n }\n\n @Input() disabled = false;\n\n @Output() checkedChange = new EventEmitter<boolean>();\n\n checkManuallyChange(checked: boolean): void {\n if (this._checked !== checked) {\n this.checkedChange.emit(checked);\n }\n }\n\n onClick(): void {\n if (!this.disabled) {\n this.checkedChange.emit(!this.checked);\n }\n }\n\n public onTouched: () => void = () => {\n }\n public onChanged: (checked: boolean) => void = () => {\n }\n\n registerOnChange(fn: any): void {\n this.onChanged = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n writeValue(status: boolean): void {\n this.checked = status;\n }\n}\n","<label\n class=\"switch\"\n [ngClass]=\"{checked:checked, enabled: !disabled}\"\n (click)=\"onClick()\">\n <span\n [ngClass]=\"{checked:checked}\"\n class=\"slider\">\n </span>\n</label>\n","export const snackbarTypesMap = {\n 0: \"info\",\n 1: \"success\",\n 2: \"warning\",\n 3: \"error\"\n};\n\nexport const snackbarIconsMap = {\n 0: \"messages-bubble-dot\",\n 1: \"check-circle\",\n 2: \"alert-circle\",\n 3: \"remove-circle\"\n};\n","import {Injectable} from \"@angular/core\";\nimport {DomSanitizer} from \"@angular/platform-browser\";\nimport {BehaviorSubject} from \"rxjs\";\nimport {\n SnackbarsThreadBase,\n SnackbarsThreadComplete\n} from \"../model/snackbars-thread.model\";\n\n@Injectable({\n providedIn: \"root\"\n})\n\nexport class SnackbarsThreadService {\n\n private _list = [];\n snackbarList = new BehaviorSubject<SnackbarsThreadComplete[]>([]);\n\n constructor(\n private domSanitizer: DomSanitizer\n ) {\n }\n\n private _emit() {\n this.snackbarList.next(this._list);\n }\n\n add(elem: SnackbarsThreadBase): void {\n const notification: SnackbarsThreadComplete = {\n id: Math.random().toString(36).substring(7) + Date.now().toString(),\n snackbarType: elem.snackbarType,\n snackbarText: this.domSanitizer.bypassSecurityTrustHtml(elem.snackbarText as string)\n };\n this._list.unshift(notification);\n while (this._list.length > 3) {\n this.remove(this._list.slice(-1).pop().id);\n }\n this._emit();\n setTimeout(() => this.remove(notification.id), 5000);\n }\n\n remove(id: string): void {\n const index = this._list.findIndex(el => el.id === id);\n index > -1 && this._list.splice(index, 1);\n this._emit();\n }\n}\n","import {Component} from \"@angular/core\";\nimport {animate, style, transition, trigger} from \"@angular/animations\";\nimport {SnackbarsThreadService} from \"../service/snackbars-thread.service\";\nimport {snackbarIconsMap, snackbarTypesMap} from \"../utils/const/snackbars-thread.const\";\n\n@Component({\n selector: \"app-snackbars-thread\",\n templateUrl: \"./snackbars-thread.component.html\",\n styleUrls: [\"./snackbars-thread.component.scss\"],\n animations: [\n trigger(\"fadeAnimation\", [\n transition(\":enter\", [\n style({\n height: 0,\n minHeight: 0,\n opacity: 0,\n transform: \"translateY(-5%)\",\n padding: 0\n }),\n // padding and min-height should be the same as in scss file\n animate(\n \"300ms ease-in\",\n style({height: \"*\", minHeight: \"72px\", padding: \"7px 3px 7px 7px\"})\n ),\n animate(\n \"200ms ease-in\",\n style({opacity: 0.5, transform: \"translateY(0%)\"})\n ),\n animate(\"200ms ease-in\", style({opacity: 1}))\n ]),\n transition(\":leave\", [\n animate(\n \"300ms ease-out\",\n style({\n opacity: 0,\n transform: \"translateY(-5%)\"\n })\n ),\n animate(\"300ms ease-out\", style({height: 0, minHeight: 0}))\n ])\n ])\n ]\n})\nexport class SnackbarsThreadComponent {\n\n SnackbarTypesMap = snackbarTypesMap;\n SnackbarIconsMap = snackbarIconsMap;\n\n constructor(\n public snackbarsThreadService: SnackbarsThreadService\n ) {\n }\n\n remove(id: string): void {\n this.snackbarsThreadService.remove(id);\n }\n}\n","<div class=\"thread-container\">\n <div @fadeAnimation\n *ngFor=\"let el of snackbarsThreadService.snackbarList | async\"\n class=\"item {{SnackbarTypesMap[el.snackbarType]}}\"\n >\n <div class=\"left\">\n <div class=\"icon {{SnackbarTypesMap[el.snackbarType]}}\">\n <ap-symbol\n [symbolId]=\"SnackbarIconsMap[el.snackbarType]\"\n [color]=\"'white'\"\n [size]=\"'mini'\">\n </ap-symbol>\n </div>\n <div class=\"text\">\n <div [innerHTML]=\"el.snackbarText\"></div>\n </div>\n </div>\n <div class=\"close\" (click)=\"remove(el.id)\">\n <div class=\"{{SnackbarTypesMap[el.snackbarType]}}\">\n <ap-symbol\n [symbolId]=\"'close'\"\n [size]=\"'12'\">\n </ap-symbol>\n </div>\n </div>\n </div>\n</div>\n","import {Component, Input, OnChanges, SimpleChanges} from '@angular/core';\n\n@Component({\n selector: 'ap-star-rating',\n templateUrl: './star-rating.component.html',\n styleUrls: ['./star-rating.component.scss']\n})\nexport class StarRatingComponent implements OnChanges {\n\n @Input() score: number = 0;\n @Input() maxScore: number = 5;\n @Input() size: 'medium' | 'small' | 'mini' | 'micro' | 'nano' = 'nano';\n @Input() colorOn: string = '#FBBC04';\n @Input() colorOff: string = '#DADCE0';\n\n filledStars: boolean[] = [];\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.score) {\n if (this.score >= 0) {\n for (let i = 0; i < this.maxScore; i++) {\n this.filledStars[i] = i < this.score;\n }\n } else {\n this.filledStars.length = 0;\n }\n }\n }\n}\n","<span class=\"star-rating\">\n <ap-symbol *ngFor=\"let activeStar of filledStars\"\n [color]=\"activeStar ? colorOn: colorOff\"\n [symbolId]=\"'rating-star'\"\n [size]=\"size\">\n </ap-symbol>\n</span>\n","import {AfterContentChecked, Directive, ElementRef, EventEmitter, Input, Output,} from '@angular/core';\n\n/**\n * Removes excess text from element until it fits in elements\n * and appends a ellipsis symbol to end of text. This requires that\n * the elements height be fixed\n *\n * @example\n * ```html\n * <p apEllipsis>Ullamco esse laborum</p>\n * ```\n *\n */\n@Directive({\n selector: '[apEllipsis]',\n})\nexport class EllipsisDirective implements AfterContentChecked {\n\n @Input() apEllipsisSeparator: string;\n @Input() apEllipsisClip: boolean = false;\n @Input() apEllipsisIndex: number;\n @Input() apEllipsisChar: string = '...';\n @Input() apEllipsisClickable: boolean = false;\n\n @Output() apEllipsisRemovedElementsCount = new EventEmitter<number>();\n @Output() apEllipsisRemovedText = new EventEmitter<string>();\n\n private get hasOverflow(): boolean {\n const el: HTMLElement = this.el.nativeElement;\n return (el.scrollHeight > el.offsetHeight) || (el.scrollWidth > el.offsetWidth);\n }\n\n constructor(private el: ElementRef) { }\n\n ngAfterContentChecked() {\n this.clipText();\n }\n\n private clipText(): void {\n const el: HTMLElement = this.el.nativeElement;\n let text = el.innerText;\n let removedText = '';\n if (this.apEllipsisIndex > -1) {\n removedText = text.substring(this.apEllipsisIndex, text.length - 1) + removedText;\n text = text.substring(0, this.apEllipsisIndex);\n el.innerText = `${text}${this.apEllipsisChar}`;\n\n if (this.apEllipsisClickable) {\n el.addEventListener('click', () => {\n el.innerText = `${text}${removedText}`;\n });\n }\n } else {\n while (this.hasOverflow && text.length > 0) {\n removedText = text[text.length - 1] + removedText;\n text = text.substring(0, text.length - 1);\n el.innerText = `${text}${this.apEllipsisChar}`;\n }\n }\n\n if (this.apEllipsisSeparator) {\n const removedElementsCount = removedText.split(this.apEllipsisSeparator)\n .filter(element => !!element && element.length > 0).length;\n if (removedElementsCount > 0) {\n this.apEllipsisRemovedElementsCount.emit(removedElementsCount);\n }\n }\n if (removedText && removedText.length > 0) {\n this.apEllipsisRemovedText.emit(removedText);\n }\n }\n\n private handleReadmore(): void {\n\n }\n}\n","// Based on https://scotch.io/tutorials/how-to-implement-a-custom-validator-directive-confirm-password-in-angular-2\nimport { Directive, forwardRef, Attribute } from '@angular/core';\nimport { Validator, AbstractControl, NG_VALIDATORS } from '@angular/forms';\n\n@Directive({\n selector: '[validateEqual][formControlName],[validateEqual][formControl],[validateEqual][ngModel]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => EqualValidatorDirective),\n multi: true\n }\n ]\n})\nexport class EqualValidatorDirective implements Validator {\n\n constructor(@Attribute('validateEqual') public validateEqual: string,\n @Attribute('validateEqualReference') public validateEqualReference: string) {}\n\n validate(self: AbstractControl): { [key: string]: any } {\n let other = self.root.get(this.validateEqual);\n if (other) {\n if (this.isReference()) {\n if (self.value === other.value) {\n delete other.errors['validateEqual'];\n if (!Object.keys(other.errors).length) {\n other.setErrors(null);\n }\n } else {\n other.setErrors({ validateEqual: false });\n }\n } else if (self.value !== other.value) {\n return { validateEqual: false };\n }\n }\n return null;\n }\n\n private isReference(): boolean {\n if (!this.validateEqualReference) {\n return false;\n }\n return this.validateEqualReference === 'true';\n }\n\n}\n","import {Directive, Input, Renderer2, ElementRef} from '@angular/core';\n\nconst PART_START = '<ng-container data-mst=\"';\nconst PARSE_MIDDLE = '\">';\nconst PARSE_END = '</ng-container>';\nconst CLASS_SEPARATOR = ',';\n\ninterface Part {\n content: string;\n clazz?: string[];\n}\n\n/**\n * This directive aims to parse simple string to extract some specific tags and to turn them into SPAN with styling classes attributes.\n * The specific tags must this schema: <ng-container data-mst=\"STYLING-CLASSES>TEXT</ng-container>.\n * Example: 'Lorem <ng-container data-mst=\"my-style\">ipsum</ng-container> dolor sit amet'.\n */\n@Directive({\n // tslint:disable-next-line:directive-selector\n selector: '[multiStyleText]'\n})\nexport class MultiStyleTextDirective {\n\n private childrenCreated: any[] = [];\n\n @Input() set multiStyleText(fullText: string) {\n // First remove previously added children (on update).\n for (const child of this.childrenCreated) {\n this.renderer.removeChild(this.elRef.nativeElement, child);\n }\n\n const parts = MultiStyleTextDirective.parse(fullText);\n\n for (const part of parts) {\n if (part.clazz) {\n const span = this.renderer.createElement('span');\n const text = this.renderer.createText(part.content);\n this.renderer.appendChild(span, text);\n part.clazz.forEach(clazz => this.renderer.addClass(span, clazz));\n this.renderer.appendChild(this.elRef.nativeElement, span);\n this.childrenCreated.push(span);\n } else {\n const text = this.renderer.createText(part.content);\n this.renderer.appendChild(this.elRef.nativeElement, text);\n this.childrenCreated.push(text);\n }\n }\n }\n\n public constructor(\n private elRef: ElementRef,\n private renderer: Renderer2\n ) {\n }\n\n private static parse(toParse: string): Part[] {\n const parts: Part[] = [];\n\n let startIndex = toParse.indexOf(PART_START);\n while (startIndex >= 0) {\n if (startIndex > 0) {\n // Optional start before parser start.\n parts.push({content: toParse.substr(0, startIndex)});\n }\n const elem = this.cutFirstGroup(toParse.substr(startIndex));\n if (elem === 'invalid') {\n return [];\n } else if (elem) {\n parts.push({content: elem.content, clazz: elem.classes});\n toParse = elem.rest;\n startIndex = toParse.indexOf(PART_START);\n } else {\n parts.push({content: toParse});\n }\n }\n // Very end\n if (toParse.length > 0) {\n parts.push({content: toParse});\n }\n return parts;\n }\n\n private static cutFirstGroup(toCut: string): {content: string, classes: string[], rest: string} | 'invalid' | null {\n if (!toCut.startsWith(PART_START)) {\n // String doesnt start with expected parser start.\n return null;\n }\n\n const afterParserStart = toCut.substr(PART_START.length);\n let index = afterParserStart.indexOf(PARSE_MIDDLE);\n if (index <= 0) {\n console.error('Not able to parse invalid string: ' + toCut);\n return 'invalid';\n }\n const classes = afterParserStart.substr(0, index);\n let rest = afterParserStart.substr(index + PARSE_MIDDLE.length);\n index = rest.indexOf(PARSE_END);\n if (index <= 0) {\n console.error('Not able to parse invalid string: ' + toCut);\n return 'invalid';\n }\n const content = rest.substr(0, index);\n rest = rest.substr(index + PARSE_END.length);\n\n return {content, classes: classes.split(CLASS_SEPARATOR), rest};\n }\n}\n","// Agorapulse\nimport {TooltipNeoDirective} from '../tooltip-neo/tooltip-neo.directive';\nimport {TooltipNeoParams} from '../tooltip-neo/tooltip-neo.model';\n// Angular\nimport {Directive, ElementRef, Input, OnDestroy, OnInit} from '@angular/core';\n// Third-parties\nimport {fromEvent, Subscription} from \"rxjs\";\n\n@Directive({selector: '[apTooltipNeo][truncateTooltip]'})\nexport class TruncateTooltipDirective implements OnInit, OnDestroy {\n\n @Input() truncateTooltip: string | TooltipNeoParams;\n\n private elementRefMouseOver$: Subscription;\n\n constructor(\n private tooltipNeo: TooltipNeoDirective,\n private elementRef: ElementRef<HTMLElement>\n ) {\n }\n\n private updateTruncateState(): void {\n const element = this.elementRef.nativeElement;\n const truncated = element.scrollWidth > element.clientWidth;\n this.tooltipNeo.apTooltipNeo = truncated ? this.truncateTooltip : '';\n }\n\n ngOnInit(): void {\n this.elementRefMouseOver$ = fromEvent(this.elementRef.nativeElement, 'mouseover')\n .subscribe(() => this.updateTruncateState());\n }\n\n ngOnDestroy(): void {\n this.elementRefMouseOver$.unsubscribe();\n }\n}\n","import { Component, ElementRef, forwardRef, Input, OnInit, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR, Validators } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\n export const PASSWORD_CONTROL_VALUE_ACCESSOR: any = { \n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PasswordInputComponent),\n multi: true\n };\n\n@Component({\n selector: 'ap-password-input',\n templateUrl: './password-input.component.html',\n styleUrls: ['./password-input.component.scss'],\n providers: [PASSWORD_CONTROL_VALUE_ACCESSOR]\n})\nexport class PasswordInputComponent implements OnInit, ControlValueAccessor {\n \n static type = ['text', 'password'];\n inputType: typeof PasswordInputComponent.type[number] = PasswordInputComponent.type[1];\n\n @Input() name: string;\n @Input() placeholder: string;\n @Input() fullWidth: boolean = false;\n disabled: boolean = false;\n\n @ViewChild('passwordInput') passwordInput: ElementRef;\n\n controler: FormControl = new FormControl('');\n changes: Subscription;\n\n constructor() { }\n\n /**\n * Change between visible and hidden password\n */\n toggleInputType(): void {\n this.inputType = PasswordInputComponent.type[PasswordInputComponent.type.indexOf(this.inputType) == 0 ? 1 : 0];\n }\n\n onChange = (password: string) => {};\n\n onTouch = () => {};\n\n writeValue(obj: string): void {\n this.controler.setValue(obj);\n }\n\n registerOnChange(fn: (password: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n ngOnInit(): void {\n this.changes = this.controler.valueChanges.subscribe((val: string) => {\n if (this.onChange) {\n this.onChange(val);\n }\n });\n }\n\n ngOnDestroy(): void {\n if (this.changes) {\n this.changes.unsubscribe();\n }\n }\n\n}\n","<div class=\"input-group\"\n [ngClass]=\"{'disabled': disabled, 'full-width': fullWidth}\">\n <input \n #passwordInput\n [type]=\"inputType\"\n [name]=\"name\"\n autocomplete=\"password\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [formControl]=\"controler\"\n (blur)=\"onTouch && onTouch()\">\n <ap-symbol\n (click)=\"toggleInputType()\"\n class=\"input-group-append\"\n [symbolId]=\"inputType === 'text' ? 'view-on' : 'view-off'\"\n size=\"micro\"\n state=\"full\">\n </ap-symbol>\n</div>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {OverlayModule} from '@angular/cdk/overlay';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\n\nimport {RippleGlobalOptions} from '@angular/material/core';\nimport {MatBadgeModule} from '@angular/material/badge';\nimport {MatBottomSheetModule} from '@angular/material/bottom-sheet';\nimport {MatButtonModule} from '@angular/material/button';\nimport {MatButtonToggleModule} from '@angular/material/button-toggle';\nimport {MatCardModule} from '@angular/material/card';\nimport {MatCheckboxModule} from '@angular/material/checkbox';\nimport {MatChipsModule} from '@angular/material/chips';\nimport {MatDialogModule} from '@angular/material/dialog';\nimport {MatDividerModule} from '@angular/material/divider';\nimport {MatExpansionModule} from '@angular/material/expansion';\nimport {MatGridListModule} from '@angular/material/grid-list';\nimport {MatIconModule} from '@angular/material/icon';\nimport {MatListModule} from '@angular/material/list';\nimport {MatMenuModule} from '@angular/material/menu';\nimport {MatProgressBarModule} from '@angular/material/progress-bar';\nimport {MatProgressSpinnerModule} from '@angular/material/progress-spinner';\nimport {MatRadioModule} from '@angular/material/radio';\nimport {MatSidenavModule} from '@angular/material/sidenav';\nimport {MatSliderModule} from '@angular/material/slider';\nimport {MatSlideToggleModule} from '@angular/material/slide-toggle';\nimport {MatSnackBarModule} from '@angular/material/snack-bar';\nimport {MatStepperModule} from '@angular/material/stepper';\nimport {MatTableModule} from '@angular/material/table';\nimport {MAT_TABS_CONFIG, MatTabsModule} from '@angular/material/tabs';\nimport {MatToolbarModule} from '@angular/material/toolbar';\nimport {NgSelectModule} from '@ng-select/ng-select';\n\nimport {AddCommentComponent} from './add-comment/add-comment.component';\nimport {AvatarComponent} from './avatar/avatar.component';\nimport {ConfirmModalComponent} from './confirm-modal/confirm-modal.component';\nimport {DatepickerComponent} from './datepicker/datepicker.component';\nimport {DotsStepperComponent} from './dots-stepper/dots-stepper.component';\nimport {ImageCarouselComponent} from './image-carousel/image-carousel.component';\nimport {FeatureOnboardingComponent} from './feature-onboarding/feature-onboarding.component';\nimport {LeadModalComponent} from './lead-modal/lead-modal.component';\nimport {MediaDisplayOverlayDialogComponent} from './media-display-overlay/media-display-overlay-dialog.component';\nimport {ModalComponent} from './modal/modal.component';\nimport {OverlayDialogComponent} from './overlay/overlay-dialog.component';\nimport {OverlayInDivComponent} from './overlay-in-div/overlay-in-div.component';\nimport {PlaceComponent} from './places/place.component';\nimport {PlaceListComponent} from './places/place-list.component';\nimport {PopmenuModule} from './popmenu/popmenu.module';\nimport {SplashscreenComponent} from './splashscreen/splashscreen.component';\nimport {TagComponent} from './tags/tag.component';\nimport {TagListComponent} from './tags/tag-list.component';\nimport {TryPopupComponent} from './try-popup/try-popup.component';\nimport {TagsSelectorComponent} from './tags-selector/tags-selector.component';\nimport {TimepickerComponent} from './timepicker/timepicker.component';\nimport {NotificationComponent} from './notification/notification.component';\nimport {StepperComponent} from './stepper/stepper.component';\nimport {SnackBarComponent} from './snackbar/snackbar.component';\nimport {PaginatorComponent} from './paginator/paginator.component';\nimport {PaginatorButtonComponent} from './paginator/paginator-button/paginator-button.component';\nimport {SlideToggleComponent} from './slide-toggle/slide-toggle.component';\nimport {SnackbarsThreadComponent} from './snackbars-thread/component/snackbars-thread.component';\nimport {StarRatingComponent} from './star-rating/star-rating.component';\n\n// Directives\nimport {AutosizeTextareaDirective} from './directives/autosize-textarea.directive';\nimport {DefaultImageDirective} from './directives/default-image.directive';\nimport {EllipsisDirective} from './directives/ellipsis.directive';\nimport {FrozenGifDirective} from './directives/frozen-gif.directive';\nimport {EqualValidatorDirective} from './directives/equal-validator.directive';\nimport {MultiStyleTextDirective} from './directives/multi-style-text.directive';\nimport {TruncateTooltipDirective} from './directives/truncate-tooltip.directive';\n\n// Modules\nimport {NgxDaterangepickerMd} from 'ngx-daterangepicker-material';\nimport {TooltipNeoDirective} from './tooltip-neo/tooltip-neo.directive';\nimport {TooltipNeoComponent} from './tooltip-neo/tooltip-neo.component';\nimport {AgorapulseUiSymbolModule} from '@agorapulse/ui-symbol';\nimport { PasswordInputComponent } from './password-input/password-input.component';\n\nconst globalRippleConfig: RippleGlobalOptions = {disabled: true};\n\n@NgModule({\n declarations: [\n // Components\n AddCommentComponent,\n AvatarComponent,\n AutosizeTextareaDirective,\n StepperComponent,\n ConfirmModalComponent,\n DatepickerComponent,\n DotsStepperComponent,\n EllipsisDirective,\n ImageCarouselComponent,\n FeatureOnboardingComponent,\n LeadModalComponent,\n MediaDisplayOverlayDialogComponent,\n ModalComponent,\n OverlayDialogComponent,\n OverlayInDivComponent,\n PasswordInputComponent,\n PlaceComponent,\n PlaceListComponent,\n SnackBarComponent,\n SplashscreenComponent,\n StarRatingComponent,\n TagComponent,\n TagListComponent,\n TagsSelectorComponent,\n TimepickerComponent,\n TryPopupComponent,\n NotificationComponent,\n PaginatorComponent,\n PaginatorButtonComponent,\n SlideToggleComponent,\n SnackbarsThreadComponent,\n TooltipNeoComponent,\n // Directives\n AutosizeTextareaDirective,\n DefaultImageDirective,\n FrozenGifDirective,\n SlideToggleComponent,\n EqualValidatorDirective,\n MultiStyleTextDirective,\n TruncateTooltipDirective,\n TooltipNeoDirective,\n ],\n imports: [\n AgorapulseUiSymbolModule,\n CommonModule,\n NgxDaterangepickerMd,\n FormsModule,\n ReactiveFormsModule,\n NgSelectModule,\n PopmenuModule,\n OverlayModule,\n // Components\n MatBadgeModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatChipsModule,\n MatExpansionModule,\n // MatFormFieldModule,\n MatCheckboxModule,\n MatIconModule,\n // MatInputModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatSliderModule,\n MatSlideToggleModule,\n // Navigation\n MatMenuModule,\n MatSidenavModule,\n MatToolbarModule,\n // Layout\n MatCardModule,\n MatDividerModule,\n // MatExpansionModule,\n MatGridListModule,\n MatListModule,\n MatTabsModule,\n MatStepperModule,\n // Popups & Modals\n MatBottomSheetModule,\n MatDialogModule,\n MatSnackBarModule,\n // Table\n MatTableModule,\n\n ],\n exports: [\n FormsModule,\n ReactiveFormsModule,\n // Components\n AddCommentComponent,\n AvatarComponent,\n StepperComponent,\n ConfirmModalComponent,\n DatepickerComponent,\n DotsStepperComponent,\n EllipsisDirective,\n ImageCarouselComponent,\n FeatureOnboardingComponent,\n LeadModalComponent,\n MediaDisplayOverlayDialogComponent,\n ModalComponent,\n OverlayDialogComponent,\n OverlayInDivComponent,\n PasswordInputComponent,\n PlaceComponent,\n PlaceListComponent,\n SnackBarComponent,\n SplashscreenComponent,\n StarRatingComponent,\n TagComponent,\n TagListComponent,\n TagsSelectorComponent,\n TimepickerComponent,\n TryPopupComponent,\n NotificationComponent,\n PaginatorComponent,\n PaginatorButtonComponent,\n SlideToggleComponent,\n SnackbarsThreadComponent,\n // Directives\n AutosizeTextareaDirective,\n DefaultImageDirective,\n FrozenGifDirective,\n EqualValidatorDirective,\n MultiStyleTextDirective,\n TruncateTooltipDirective,\n TooltipNeoDirective,\n // Modules\n NgSelectModule,\n PopmenuModule,\n // Components\n MatBadgeModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCheckboxModule,\n MatChipsModule,\n MatExpansionModule,\n // MatFormFieldModule,\n MatIconModule,\n // MatInputModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatSliderModule,\n MatSlideToggleModule,\n // Navigation\n MatMenuModule,\n MatSidenavModule,\n MatToolbarModule,\n // Layout\n MatCardModule,\n MatDividerModule,\n // MatExpansionModule,\n MatGridListModule,\n MatListModule,\n MatTabsModule,\n MatStepperModule,\n // Popups & Modals\n MatBottomSheetModule,\n MatDialogModule,\n MatSnackBarModule,\n // Table\n MatTableModule\n ],\n providers: [\n // Disable ripple effect\n // {provide: MAT_RIPPLE_GLOBAL_OPTIONS, useValue: {disabled: true}},\n // Disable tabs animation\n { provide: MAT_TABS_CONFIG, useValue: { animationDuration: '0ms' } }\n ]\n})\nexport class AgorapulseUiComponentsModule {\n}\n","import {ComponentRef, Injectable, Injector} from '@angular/core';\nimport {Overlay, OverlayConfig, OverlayRef} from '@angular/cdk/overlay';\nimport {ComponentPortal, PortalInjector} from '@angular/cdk/portal';\nimport {\n OVERLAY_DATA,\n OverlayDialogComponent,\n OverlayDialogRef\n} from './overlay-dialog.component';\n\ninterface OverlaywDialogConfig {\n panelClass?: string;\n hasBackdrop?: boolean;\n backdropClass?: string;\n template?: any;\n}\n\nconst DEFAULT_CONFIG: OverlaywDialogConfig = {\n hasBackdrop: true,\n backdropClass: 'dark-backdrop',\n panelClass: 'tm-file-preview-dialog-panel',\n template: null\n};\n\n@Injectable()\nexport class OverlayDialogService {\n\n constructor(\n private injector: Injector,\n private overlay: Overlay) { }\n\n open(config: OverlaywDialogConfig = {}) {\n const dialogConfig = { ...DEFAULT_CONFIG, ...config };\n const overlayRef = this.createOverlay(dialogConfig);\n const dialogRef = new OverlayDialogRef(overlayRef);\n const overlayComponent = this.attachDialogContainer(overlayRef, dialogConfig, dialogRef);\n\n return dialogRef;\n }\n\n private createOverlay(config: OverlaywDialogConfig) {\n const overlayConfig = this.getOverlayConfig(config);\n return this.overlay.create(overlayConfig);\n }\n\n private attachDialogContainer(overlayRef: OverlayRef, config: OverlaywDialogConfig, dialogRef: OverlayDialogRef) {\n const injector = this.createInjector(config, dialogRef);\n\n const containerPortal = new ComponentPortal(OverlayDialogComponent, null, injector);\n const containerRef: ComponentRef<OverlayDialogComponent> = overlayRef.attach(containerPortal);\n\n return containerRef.instance;\n }\n\n private createInjector(config: OverlaywDialogConfig, dialogRef: OverlayDialogRef): PortalInjector {\n const injectionTokens = new WeakMap();\n\n injectionTokens.set(OverlayDialogRef, dialogRef);\n injectionTokens.set(OVERLAY_DATA, config.template);\n\n return new PortalInjector(this.injector, injectionTokens);\n }\n\n private getOverlayConfig(config: OverlaywDialogConfig): OverlayConfig {\n const positionStrategy = this.overlay.position()\n .global()\n .centerHorizontally()\n .centerVertically();\n\n const overlayConfig = new OverlayConfig({\n hasBackdrop: config.hasBackdrop,\n backdropClass: config.backdropClass,\n panelClass: config.panelClass,\n scrollStrategy: this.overlay.scrollStrategies.block(),\n positionStrategy\n });\n\n return overlayConfig;\n }\n}\n","import {SafeHtml} from \"@angular/platform-browser\";\n\n/**\n * Info - 0\n * Success - 1\n * Warning - 2\n * Error - 3\n */\nexport type externalSnackbarTypeAllowed = 'info' | 'success' | 'warning' | 'error';\ntype internalSnackbarTypeAllowed = 0 | 1 | 2 | 3;\n\n/**\n * https://netbasal.com/a-smaller-bundle-with-const-enums-in-typescript-b7f786227e5e\n */\nexport const enum SnackbarTypeValues {\n INFO = 'info',\n SUCCESS = 'success',\n WARNING = 'warning',\n ERROR = 'error'\n}\n\nexport interface SnackbarsThreadBase {\n snackbarType: internalSnackbarTypeAllowed;\n snackbarText: string | SafeHtml;\n}\n\nexport interface SnackbarsThreadComplete extends SnackbarsThreadBase{\n id: string;\n}\n\nabstract class CodeStatus {\n protected constructor(\n public snackbarText: string,\n public snackbarType: internalSnackbarTypeAllowed\n ) {\n }\n}\n\nclass CodeStatusInfo extends CodeStatus {\n constructor(snackbarText: string) {\n super(snackbarText, 0);\n }\n}\n\nclass CodeStatusSuccess extends CodeStatus {\n constructor(snackbarText: string) {\n super(snackbarText, 1);\n }\n}\n\nclass CodeStatusWarning extends CodeStatus {\n constructor(snackbarText: string) {\n super(snackbarText, 2);\n }\n}\n\nclass CodeStatusError extends CodeStatus {\n constructor(snackbarText: string) {\n super(snackbarText, 3);\n }\n}\n\nexport function generateCodeStatus(text: string, type: externalSnackbarTypeAllowed): CodeStatus{\n switch (type) {\n case 'info':\n return new CodeStatusInfo(text);\n case 'success':\n return new CodeStatusSuccess(text);\n case 'warning':\n return new CodeStatusWarning(text);\n case 'error':\n return new CodeStatusError(text);\n default:\n return new CodeStatusInfo(text);\n }\n}\n","/*\n * Public API Surface of ui\n */\n\n// Module\nexport {AgorapulseUiComponentsModule} from './src/lib/agorapulse-ui-components.module';\n\n// Directive\nexport {AutosizeTextareaDirective} from './src/lib/directives/autosize-textarea.directive';\nexport {DefaultImageDirective} from './src/lib/directives/default-image.directive';\nexport {EllipsisDirective} from './src/lib/directives/ellipsis.directive';\nexport {FrozenGifDirective} from './src/lib/directives/frozen-gif.directive';\nexport {EqualValidatorDirective} from './src/lib/directives/equal-validator.directive';\nexport {MultiStyleTextDirective} from './src/lib/directives/multi-style-text.directive';\nexport {PopmenuDirective} from './src/lib/popmenu/popmenu.directive';\nexport {TruncateTooltipDirective} from './src/lib/directives/truncate-tooltip.directive';\nexport {TooltipNeoDirective} from './src/lib/tooltip-neo/tooltip-neo.directive';\n\n// Component\nexport {AddCommentComponent} from './src/lib/add-comment/add-comment.component';\nexport {AvatarComponent} from './src/lib/avatar/avatar.component';\nexport {StepperComponent} from './src/lib/stepper/stepper.component';\nexport {ConfirmModalComponent} from './src/lib/confirm-modal/confirm-modal.component';\nexport {DatepickerComponent, DatepickerMode, I18nDatePicker, Period} from './src/lib/datepicker/datepicker.component';\nexport {DotsStepperComponent} from './src/lib/dots-stepper/dots-stepper.component';\nexport {ImageCarouselComponent, InstagramCarouselItemType} from './src/lib/image-carousel/image-carousel.component';\nexport {FeatureOnboardingComponent} from './src/lib/feature-onboarding/feature-onboarding.component';\nexport {LeadModalComponent} from './src/lib/lead-modal/lead-modal.component';\nexport {MediaDisplayOverlayDialogComponent} from './src/lib/media-display-overlay/media-display-overlay-dialog.component';\nexport {ModalComponent, ModalConfig} from './src/lib/modal/modal.component';\nexport {OverlayDialogComponent} from './src/lib/overlay/overlay-dialog.component';\nexport {OverlayInDivComponent} from './src/lib/overlay-in-div/overlay-in-div.component';\nexport {OverlayDialogService} from './src/lib/overlay/overlay-dialog-service.component';\nexport {PaginatorComponent} from './src/lib/paginator/paginator.component';\nexport {PasswordInputComponent} from './src/lib/password-input/password-input.component';\nexport {PlaceComponent} from './src/lib/places/place.component';\nexport {PlaceListComponent} from './src/lib/places/place-list.component';\nexport {PopmenuComponent} from './src/lib/popmenu/popmenu.component';\nexport {PopmenuModule} from './src/lib/popmenu/popmenu.module';\nexport {SplashscreenComponent} from './src/lib/splashscreen/splashscreen.component';\nexport {SnackBarComponent} from './src/lib/snackbar/snackbar.component';\nexport {TagComponent} from './src/lib/tags/tag.component';\nexport {TagListComponent} from './src/lib/tags/tag-list.component';\nexport {TagsSelectorComponent} from './src/lib/tags-selector/tags-selector.component';\nexport {Time, TimeFormat} from './src/lib/timepicker/timepicker.component';\nexport {TryPopupComponent} from './src/lib/try-popup/try-popup.component';\nexport {NotificationComponent} from './src/lib/notification/notification.component';\nexport {TimepickerComponent} from './src/lib/timepicker/timepicker.component';\nexport {PaginatorButtonComponent} from './src/lib/paginator/paginator-button/paginator-button.component';\nexport {SlideToggleComponent} from './src/lib/slide-toggle/slide-toggle.component';\nexport {SnackbarsThreadComponent} from './src/lib/snackbars-thread/component/snackbars-thread.component';\nexport {StarRatingComponent} from './src/lib/star-rating/star-rating.component';\n\n// Service\nexport {SnackbarsThreadService} from './src/lib/snackbars-thread/service/snackbars-thread.service';\n\n// Model\nexport {Step} from './src/lib/stepper/step.model';\nexport {ConfirmModalTexts} from './src/lib/confirm-modal/confirm-modal-texts.model';\nexport {LeadInfo} from './src/lib/lead-modal/lead-info.model';\nexport {TryPopupTexts} from './src/lib/try-popup/try-popup-texts.model';\nexport {generateCodeStatus, SnackbarsThreadBase, SnackbarTypeValues, externalSnackbarTypeAllowed} from './src/lib/snackbars-thread/model/snackbars-thread.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.AutosizeTextareaDirective","i4","i1","i2","i3","i3.ModalComponent","i3.DotsStepperComponent","i5.FrozenGifDirective","i6.DefaultImageDirective","i2.DotsStepperComponent","i5.ModalComponent","i6","i4.ModalComponent","i5","i4.FrozenGifDirective","i1.TooltipNeoService","i2.TooltipNeoService","i3.TooltipNeoDirective","i1.TextMeasurementService","i2.TagComponent","i5.PopmenuDirective","i6.TooltipNeoDirective","i3.PaginatorButtonComponent","i1.SnackbarsThreadService","i1.TooltipNeoDirective"],"mappings":"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"}
|