@progressio_resources/gravity-design-system 2.6.17 → 2.6.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"progressio_resources-gravity-design-system.mjs","sources":["../../../projects/gravity-design-system/src/lib/components/gravity-icon/gravity-icon.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-icon/gravity-icon.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-button/gravity-button.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-button/gravity-button.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-dropdown-list/filter-by.pipe.ts","../../../projects/gravity-design-system/src/lib/components/gravity-checkbox/gravity-checkbox.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-checkbox/gravity-checkbox.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-dropdown-list/gravity-dropdown-list.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-dropdown-list/gravity-dropdown-list.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-text-field/gravity-text-field.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-text-field/gravity-text-field.component.html","../../../projects/gravity-design-system/src/lib/vendor/gravity-tooltip/gravity-tooltip.component.ts","../../../projects/gravity-design-system/src/lib/vendor/gravity-tooltip/gravity-tooltip.component.html","../../../projects/gravity-design-system/src/lib/vendor/gravity-tooltip/options.service.ts","../../../projects/gravity-design-system/src/lib/vendor/gravity-tooltip/options.ts","../../../projects/gravity-design-system/src/lib/vendor/gravity-tooltip/gravity-tooltip.directive.ts","../../../projects/gravity-design-system/src/lib/vendor/gravity-tooltip/gravity-tooltip.module.ts","../../../projects/gravity-design-system/src/lib/components/gravity-calendar/gravity-calendar.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-calendar/gravity-calendar.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-radio-button/gravity-radio-button.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-radio-button/gravity-radio-button.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-switch/gravity-switch.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-switch/gravity-switch.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-dialog/gravity-dialog.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-dialog/gravity-dialog.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-notification/gravity-notification.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-notification/gravity-notification.component.html","../../../projects/gravity-design-system/src/lib/services/gravity-instant-notifications.service.ts","../../../projects/gravity-design-system/src/lib/components/gravity-notification-instant/gravity-notification-instant-container.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-notification-instant/gravity-notification-instant-container.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-attach-file/gravity-attach-file.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-attach-file/gravity-attach-file.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-table/gravity-table.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-table/gravity-table.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-tree-view/models/node-selected-state.ts","../../../projects/gravity-design-system/src/lib/components/gravity-tree-view/service/tree-service.ts","../../../projects/gravity-design-system/src/lib/components/gravity-tree-view/node/node-toggle/node-toggle.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-tree-view/node/node-toggle/node-toggle.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-tree-view/node/node-checkbox/node-checkbox.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-tree-view/node/node-checkbox/node-checkbox.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-tree-view/node/node-name/node-name.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-tree-view/node/node-name/node-name.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-tree-view/node/node.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-tree-view/node/node.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-tree-view/gravity-tree-view.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-tree-view/gravity-tree-view.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-stepper/gravity-stepper.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-stepper/gravity-stepper.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-offcanvas/gravity-offcanvas.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-offcanvas/gravity-offcanvas.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-text-field-number-only/gravity-text-field-number-only.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-text-field-number-only/gravity-text-field-number-only.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-icon-button/gravity-icon-button.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-icon-button/gravity-icon-button.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-status-indicator/gravity-status-indicator.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-status-indicator/gravity-status-indicator.component.html","../../../projects/gravity-design-system/src/lib/gravity-design-system.module.ts","../../../projects/gravity-design-system/src/lib/services/gravity-dialog-manager.service.ts","../../../projects/gravity-design-system/src/public-api.ts","../../../projects/gravity-design-system/src/progressio_resources-gravity-design-system.ts"],"sourcesContent":["import {Component, Input} from '@angular/core';\n\n@Component({\n selector: 'gravity-icon',\n templateUrl: './gravity-icon.component.html',\n styleUrls: ['./gravity-icon.component.scss']\n})\nexport class GravityIconComponent {\n @Input() public customIconColorVariable: string;\n @Input() public iconName: string;\n @Input() public iconSize: 'lg-24' | 'md-16' | 'sm-12' | 'xl-32';\n @Input() public hoverIcon: boolean;\n @Input() public size: 'sm' | 'md' | 'lg';\n\n public static isOldIcon(iconName: string): boolean {\n return OLD_ICONS[iconName] != undefined;\n }\n\n public static isNewIcon(iconName: string): boolean {\n return ICONS[iconName] != undefined;\n }\n}\n\nexport enum OLD_ICONS {\n 'uncheck',\n 'arrow-back'\n}\n\nexport enum ICONS {\n 'addressbook',\n 'arrow-down',\n 'arrow-left',\n 'arrow-right',\n 'arrow-up',\n 'bell',\n 'calendar',\n 'check',\n 'chevron-double-down',\n 'chevron-double-up',\n 'copy',\n 'download',\n 'eye-closed',\n 'eye-open',\n 'graphics',\n 'happy-face',\n 'home',\n 'information-circle',\n 'internal-processing',\n 'language',\n 'mail',\n 'menu',\n 'more-options',\n 'news',\n 'plus',\n 'question-circle',\n 'rates',\n 'report',\n 'search',\n 'security',\n 'settings',\n 'sign-out',\n 'success-circle',\n 'swaps',\n 'swaps-arrow-left',\n 'swaps-arrow-right',\n 'trash',\n 'unlock',\n 'unsuccess',\n 'update',\n 'user',\n 'warning-circle'\n}\n","<svg-icon [class.with-hover]=\"hoverIcon\" class=\"{{size}} {{iconSize}}\" [style.--icon-color]=\"customIconColorVariable\"\n [name]=\"iconSize ? 'gt-icon-' + iconName + '-' + iconSize : iconName\"></svg-icon>\n","import {Component, Input} from '@angular/core';\nimport {GravityIconComponent} from \"../gravity-icon/gravity-icon.component\";\n\n@Component({\n selector: 'gravity-button',\n templateUrl: './gravity-button.component.html',\n styleUrls: ['./gravity-button.component.scss'],\n})\nexport class GravityButtonComponent {\n @Input() public cypressTag: string;\n @Input() public disabled: boolean;\n @Input() public customState: 'active' | 'hover' | 'pressed' | null;\n @Input() public iconName: string | undefined;\n @Input() public isLoading: boolean = false;\n @Input() public showContent: boolean = true;\n @Input() public size: 'sm' | 'md' | 'lg' = \"md\";\n @Input() public type: 'primary' | 'secondary' | 'tertiary' | 'positive' | 'negative' | 'disabled';\n\n public isNewIcon(iconName: string): boolean {\n return GravityIconComponent.isNewIcon(iconName);\n }\n}\n","<button [attr.data-cy]=\"cypressTag\" [disabled]=\"disabled\" [style]=\"isLoading ? {'pointer-events': 'none'} : {}\"\n class=\"border-radius-sm gravity-button-{{type}} gravity-size-{{size}} hr-label {{size}}-bold {{customState}}\">\n <ng-container *ngIf=\"!isLoading\">\n <gravity-icon [style.--icon-color]=\"'var(--button-text-color)'\" [size]=\"isNewIcon(iconName) ? null : 'md'\"\n [hoverIcon]=\"false\" [iconName]=\"iconName\" *ngIf=\"iconName\"\n [iconSize]=\"isNewIcon(iconName) ? 'md-16' : null\"></gravity-icon>\n <span class=\"button-content-wrapper\" *ngIf=\"showContent\">\n <ng-content></ng-content>\n </span>\n </ng-container>\n <ng-container *ngIf=\"isLoading\">\n <ngb-progressbar [animated]=\"true\" [striped]=\"true\" [value]=\"100\"></ngb-progressbar>\n </ng-container>\n</button>\n","import { Pipe, PipeTransform } from '@angular/core';\n\n/**\n * filters an array based on searctext\n */\n@Pipe({\n name: 'filterBy'\n})\nexport class FilterByPipe implements PipeTransform {\n public transform(array: any[], searchText?: string, keyName?: string) {\n if (!array || !searchText || !Array.isArray(array)) {\n return array;\n }\n if (typeof array[0] === 'string') {\n return array.filter((item) => item.toLowerCase().indexOf(searchText.trim().toLowerCase()) > -1);\n }\n // filter array, items which match and return true will be\n // kept, false will be filtered out\n if (!keyName) {\n return array.filter((item: any) => {\n for (const key in item) {\n if (typeof item[key] !== 'object' && item[key].toString().toLowerCase().indexOf(searchText.trim().toLowerCase()) > -1) {\n return true;\n }\n }\n return false;\n });\n } else {\n return array.filter((item: any) => {\n if (typeof item[keyName] !== 'object' && item[keyName].toString().toLowerCase().indexOf(searchText.trim().toLowerCase()) > -1) {\n return true;\n }\n return false;\n });\n }\n\n }\n}\n","import {AfterViewInit, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges} from '@angular/core';\n\n@Component({\n selector: 'gravity-checkbox',\n templateUrl: './gravity-checkbox.component.html',\n styleUrls: ['./gravity-checkbox.component.scss']\n})\nexport class GravityCheckboxComponent implements AfterViewInit, OnChanges {\n @Input() public checked: boolean = false;\n @Input() public disabled: boolean = false;\n @Input() public name: string;\n @Input() public size: 'md' | 'sm' = 'sm';\n @Input() public value: string;\n @Output() public change: EventEmitter<{ value: string, checked: boolean }> = new EventEmitter<{\n value: string,\n checked: boolean\n }>();\n\n public isCheckboxChecked: boolean = false;\n\n ngAfterViewInit() {\n this.isCheckboxChecked = this.checked;\n this.change.emit({value: this.value, checked: this.isCheckboxChecked});\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['checked']) {\n this.isCheckboxChecked = changes['checked'].currentValue;\n }\n }\n\n toggleCheckbox(): void {\n if (!this.disabled) {\n this.isCheckboxChecked = !this.isCheckboxChecked;\n this.change.emit({value: this.value, checked: this.isCheckboxChecked});\n }\n }\n}\n","<div class=\"gravity-checkbox-field size-{{size}}\" [class.disabled]=\"disabled\">\n <input [checked]=\"isCheckboxChecked\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [value]=\"value\"\n\n type=\"checkbox\">\n <span class=\"checkmark\" (click)=\"toggleCheckbox()\">\n <gravity-icon [iconName]=\"'check'\" [iconSize]=\"'sm-12'\" *ngIf=\"isCheckboxChecked\"></gravity-icon>\n </span>\n <label>\n <ng-content></ng-content>\n </label>\n</div>\n","import {\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnChanges,\n Output,\n SimpleChanges\n} from '@angular/core';\nimport {GravityIconComponent} from \"../gravity-icon/gravity-icon.component\";\nimport {FilterByPipe} from \"./filter-by.pipe\";\n\n@Component({\n selector: 'gravity-dropdown-list',\n templateUrl: './gravity-dropdown-list.component.html',\n styleUrls: ['./gravity-dropdown-list.component.scss'],\n providers: [FilterByPipe]\n})\nexport class GravityDropdownListComponent implements OnChanges {\n @Output('response') public selectedItemsResponse: EventEmitter<any[] | any> = new EventEmitter();\n\n @Input() public clearable: boolean = true;\n @Input() public config?: { label: string; value: string; };\n @Input() public currentLang: string = 'en';\n @Input() public customValues: Array<any> | any;\n @Input() public cypressTag: string;\n @Input() public hasError: boolean = false;\n @Input() public iconLeft: string;\n @Input() public isDisabled: boolean = false;\n @Input() public isReadonly: boolean = false;\n @Input() public items: Array<any>;\n @Input() public label: string;\n @Input() public multiple: boolean = false;\n @Input() public placeholder: string;\n @Input() public required: boolean = false;\n @Input() public supportText: string;\n\n // Sizes\n @Input() public size: 'sm' | 'md' = 'md';\n @Input() public width: 'short' | 'medium' | 'full' | 'fit' = 'short';\n\n public availableOptions: any[] = [];\n public dropdownOpened: boolean = false;\n public searchText: string = '';\n public selectedItems: any[] = [];\n\n constructor(private readonly filterByPipe: FilterByPipe, private _eref: ElementRef) {\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['items']?.currentValue) {\n this.availableOptions = this.items;\n }\n\n if (changes['customValues']?.currentValue) {\n if (this.multiple) {\n changes['customValues'].currentValue.forEach((item: any) => {\n if (item) {\n let option: any;\n\n if (this.config) {\n option = this.availableOptions.find((availableOption: any) => availableOption[this.config.value] == item);\n } else {\n option = this.availableOptions.find((availableOption: any) => availableOption == item);\n }\n\n if (option) {\n let indexOfItem: number = this.selectedItems.findIndex((availableOption: any) => availableOption == option);\n\n if (indexOfItem == -1) {\n this.selectedItems.push(option);\n }\n }\n }\n });\n } else {\n let item: any = changes['customValues'].currentValue;\n\n if (item) {\n let option: any;\n\n if (this.config) {\n option = this.availableOptions.find((availableOption: any) => availableOption[this.config.value] == item);\n } else {\n option = this.availableOptions.find((availableOption: any) => availableOption == item);\n }\n\n if (option) {\n let indexOfItem: number = this.selectedItems.findIndex((availableOption: any) => availableOption == option);\n\n if (indexOfItem == -1) {\n this.selectedItems.push(option);\n }\n }\n }\n }\n }\n }\n\n public getStatus(): string {\n if (this.isDisabled) {\n return 'disabled';\n } else if (this.isReadonly) {\n return 'readonly';\n } else if (this.hasError) {\n return 'error';\n } else if (this.dropdownOpened) {\n return 'open';\n } else if (this.selectedItems.length > 0) {\n return 'selected';\n } else {\n return 'active';\n }\n }\n\n public isIconLeftNew(): boolean {\n if (this.iconLeft) {\n return GravityIconComponent.isNewIcon(this.iconLeft);\n }\n\n return false;\n }\n\n public toggleDropdown(): void {\n if (!this.isDisabled && !this.isReadonly) {\n this.dropdownOpened = !this.dropdownOpened;\n\n if (!this.dropdownOpened) {\n if (this.multiple) {\n if (this.selectedItems?.length > 0) {\n this.selectedItemsResponse.emit(this.selectedItems);\n }\n } else {\n if (this.selectedItems[0]) {\n this.selectedItemsResponse.emit(this.selectedItems[0]);\n }\n }\n\n this.searchText = '';\n this.availableOptions = this.items;\n }\n }\n }\n\n public selectItem(itemToAdd: any): void {\n if (this.multiple) {\n let indexOfItem: number = this.selectedItems.findIndex((item: any) => item == itemToAdd);\n\n if (indexOfItem == -1) {\n this.selectedItems.push(itemToAdd);\n } else {\n this.selectedItems.splice(indexOfItem, 1);\n }\n } else {\n this.selectedItems = [itemToAdd];\n // this.selectedItemsResponse.emit(itemToAdd);\n this.toggleDropdown();\n }\n }\n\n public checkIfSelected(itemToFind: any): boolean {\n return !!this.selectedItems.find((item: any) => itemToFind == item);\n }\n\n public clearSelection(): void {\n this.selectedItems = [];\n\n if (this.multiple) {\n this.selectedItemsResponse.emit(this.selectedItems);\n } else {\n this.selectedItemsResponse.emit(null);\n }\n }\n\n public filterItems(): void {\n this.availableOptions = this.filterByPipe.transform(this.items, this.searchText);\n }\n\n @HostListener('document:click', ['$event']) onDocumentClick($event: PointerEvent): void {\n if (!this._eref.nativeElement.contains($event.target) && this.dropdownOpened) {\n this.dropdownOpened = false;\n\n if (this.multiple) {\n this.selectedItemsResponse.emit(this.selectedItems);\n } else {\n this.selectedItemsResponse.emit(this.selectedItems[0]);\n }\n\n this.searchText = '';\n this.availableOptions = this.items;\n }\n }\n}\n","<label class=\"hr-label sm-bold {{getStatus()}}\" *ngIf=\"label\">\n {{label}} <span *ngIf=\"required || hasError\">*</span>\n</label>\n<div [attr.data-cy]=\"cypressTag\" class=\"gravity-input-field {{size}} {{width}}-width {{getStatus()}}\"\n (click)=\"toggleDropdown()\">\n <gravity-icon class=\"left\" [iconName]=\"iconLeft\" [iconSize]=\"isIconLeftNew() ? 'md-16' : null\"\n *ngIf=\"iconLeft\"></gravity-icon>\n <p class=\"hr-label {{size}}-regular value\">\n <ng-container *ngIf=\"selectedItems.length == 0\">\n {{placeholder ? placeholder : label}}\n </ng-container>\n <ng-container *ngIf=\"selectedItems.length > 0\">\n <ng-container *ngFor=\"let item of selectedItems; let i = index\">\n {{config ? item[config.label] : item}}{{i != selectedItems.length - 1 ? ',' : ''}}\n </ng-container>\n </ng-container>\n </p>\n <gravity-icon class=\"right\" [iconName]=\"dropdownOpened ? 'arrow-up': 'arrow-down'\" [iconSize]=\"'md-16'\"\n *ngIf=\"!isReadonly\"></gravity-icon>\n <div class=\"dropdown-panel\" (click)=\"$event.stopPropagation()\" *ngIf=\"dropdownOpened\"\n [attr.data-cy]=\"cypressTag + '_panel'\">\n <div class=\"search-input\">\n <gravity-icon class=\"search-icon\" [iconName]=\"'search'\" [iconSize]=\"'sm-12'\"></gravity-icon>\n <input autocomplete=\"off\" class=\"hr-label {{size}}-regular\" (input)=\"filterItems()\"\n [attr.data-cy]=\"cypressTag + '_search_input'\" autofocus\n [(ngModel)]=\"searchText\" placeholder=\"{{currentLang == 'es' ? 'Limpiar' : 'Search input'}}\">\n <gravity-icon class=\"pointer reset-icon\" (click)=\"searchText = ''; filterItems()\" [iconName]=\"'unsuccess'\"\n [iconSize]=\"'sm-12'\" *ngIf=\"searchText?.length > 0\"></gravity-icon>\n </div>\n <div class=\"items\">\n <div class=\"hr-label item {{size}}-regular pointer\" [class.selected]=\"checkIfSelected(item)\"\n (click)=\"selectItem(item)\" *ngFor=\"let item of availableOptions\">\n <gravity-checkbox [checked]=\"checkIfSelected(item)\" *ngIf=\"multiple\">\n {{config ? item[config.label] : item}}\n </gravity-checkbox>\n <ng-container *ngIf=\"!multiple\">{{config ? item[config.label] : item}}</ng-container>\n </div>\n <div class=\"hr-label item {{size}}-bold no-results\" *ngIf=\"availableOptions.length === 0\">\n {{currentLang == 'es' ? 'Sin resultados' : 'No results'}}\n </div>\n </div>\n <div class=\"dropdown-footer\" *ngIf=\"selectedItems.length > 0\" [class.not-clearable]=\"!clearable\">\n <p class=\"hr-label pointer sm-regular\" (click)=\"clearSelection()\" *ngIf=\"clearable\"\n [attr.data-cy]=\"cypressTag + '_clear'\">\n {{currentLang == 'es' ? 'Limpiar' : 'Clear selection'}}\n </p>\n <p class=\"hr-label pointer sm-bold\" (click)=\"$event.stopPropagation(); toggleDropdown()\"\n *ngIf=\"availableOptions.length != 0\" [attr.data-cy]=\"cypressTag + '_apply'\">\n {{currentLang == 'es' ? 'Aplicar' : 'Apply'}}\n </p>\n </div>\n </div>\n</div>\n<p class=\"hr-label sm-regular supporting-text {{getStatus()}} {{size}}\" *ngIf=\"supportText\">\n <gravity-icon [iconName]=\"'question-circle'\" *ngIf=\"hasError\" [iconSize]=\"'md-16'\"></gravity-icon>\n {{supportText}}\n</p>\n<p class=\"hr-label sm-regular supporting-text {{getStatus()}} {{size}}\"\n *ngIf=\"!supportText && getStatus() == 'active' && selectedItems.length == 0 && required\">\n {{currentLang == 'es' ? 'Requerido' : 'Required'}}\n</p>\n","import {Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild} from '@angular/core';\nimport {GravityIconComponent} from \"../gravity-icon/gravity-icon.component\";\n\n@Component({\n selector: 'gravity-text-field',\n templateUrl: './gravity-text-field.component.html',\n styleUrls: ['./gravity-text-field.component.scss']\n})\nexport class GravityTextFieldComponent implements OnInit, OnChanges {\n @Output('clickIconLeft') public leftIconResponse: EventEmitter<void> = new EventEmitter();\n @Output('clickIconRight') public rightIconResponse: EventEmitter<void> = new EventEmitter();\n @Output('response') public textFieldValueResponse: EventEmitter<string> = new EventEmitter();\n\n @ViewChild('inputElement', {static: false}) private inputElement: any;\n @ViewChild('textAreaElement', {static: false}) private textAreaElement: any;\n\n // Component\n @Input() public currentLang: string = 'en';\n @Input() public customInputValue: string;\n @Input() public customState: 'default' | 'active' | 'hover' | 'typing' | 'typed' | 'typed-error' | 'typed-positive' | 'disabled' | 'readonly' | 'autofill' = 'default';\n @Input() public cypressTag: string;\n @Input() public label: string;\n @Input() public prefix: string = \"\";\n @Input() public required: boolean;\n @Input() public supportText: string;\n @Input() public textFieldType: 'input' | 'textarea' = \"input\";\n\n // Icons\n @Input() public clickOnLeftIcon: boolean = false;\n @Input() public clickOnRightIcon: boolean = false;\n @Input() public iconLeft: string;\n @Input() public iconRight: string;\n\n // Input | Textarea\n @Input() public autocomplete: string = 'off';\n @Input() public inputContentType: 'email' | 'number' | 'password' | 'tel' | 'text' = \"text\";\n @Input() public placeholder: string;\n @Input() public validations: { maxLength?: number; minLength?: number };\n\n // Sizes\n @Input() public size: 'sm' | 'md' = 'md';\n @Input() public width: 'short' | 'medium' | 'full' | 'fit' = 'short';\n\n public focusInput: boolean = false;\n public inputValue: string = '';\n\n ngOnInit(): void {\n this.inputValue = this.customInputValue ? this.customInputValue : '';\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['customInputValue']) {\n this.inputValue = changes['customInputValue'].currentValue ? changes['customInputValue'].currentValue : '';\n }\n }\n\n public getPlaceholder(): string {\n if (this.placeholder && this.placeholder != '') {\n return this.placeholder;\n } else {\n return this.label;\n }\n }\n\n public clearInput(): void {\n this.changeInputValue(true);\n }\n\n public changeInputValue(clearInput: boolean = false): void {\n if (clearInput) {\n this.inputValue = '';\n } else if (this.textFieldType == 'input') {\n this.inputValue = this.inputElement.nativeElement.value;\n } else {\n this.inputValue = this.textAreaElement.nativeElement.value;\n }\n\n if (this.inputValue == '') {\n this.textFieldValueResponse.emit('');\n } else {\n this.textFieldValueResponse.emit(this.prefix + this.inputValue);\n }\n }\n\n public handleIconClick(iconPosition: 'left' | 'right'): void {\n if (iconPosition == 'left' && this.clickOnLeftIcon) {\n this.leftIconResponse.emit();\n }\n\n if (iconPosition == 'right' && this.clickOnRightIcon) {\n this.rightIconResponse.emit();\n }\n }\n\n public getTextFieldStatus(): string {\n if (this.customState == 'default') {\n if (!this.focusInput && !this.inputValue) {\n return 'active';\n } else if (!this.focusInput && this.inputValue) {\n return 'typed';\n } else {\n return 'typing';\n }\n } else {\n return this.customState;\n }\n }\n\n public getTextFieldInputFontSize(): string {\n return 'hr-label ' + this.size + '-regular';\n }\n\n public isNewIcon(iconPosition: 'left' | 'right'): boolean {\n if (iconPosition == 'left') {\n return GravityIconComponent.isNewIcon(this.iconLeft);\n } else {\n return GravityIconComponent.isNewIcon(this.iconRight);\n }\n }\n\n public onKeyDownEvent($event: KeyboardEvent): void {\n if (this.inputContentType == 'number') {\n let navigationKeys = ['Backspace', 'Delete', 'Tab', 'Escape', 'Enter', 'Home', 'End', 'ArrowLeft', 'ArrowRight', 'Clear', 'Copy', 'Paste'];\n\n if (\n navigationKeys.indexOf($event.key) > -1 || // Allow: navigation keys: backspace, delete, arrows etc.\n ($event.key === 'a' && $event.ctrlKey === true) || // Allow: Ctrl+A\n ($event.key === 'c' && $event.ctrlKey === true) || // Allow: Ctrl+C\n ($event.key === 'v' && $event.ctrlKey === true) || // Allow: Ctrl+V\n ($event.key === 'x' && $event.ctrlKey === true) || // Allow: Ctrl+X\n ($event.key === 'a' && $event.metaKey === true) || // Allow: Cmd+A (Mac)\n ($event.key === 'c' && $event.metaKey === true) || // Allow: Cmd+C (Mac)\n ($event.key === 'v' && $event.metaKey === true) || // Allow: Cmd+V (Mac)\n ($event.key === 'x' && $event.metaKey === true) ||// Allow: Cmd+X (Mac)\n ($event.key === '.') || ($event.key === ',') // Allow: dot and comma for decimal\n ) {\n // let it happen, don't do anything\n return;\n }\n\n // Ensure that it is a number and stop the keypress\n if (\n ($event.shiftKey || ($event.keyCode < 48 || $event.keyCode > 57)) &&\n ($event.keyCode < 96 || $event.keyCode > 105)\n ) {\n $event.preventDefault();\n }\n }\n }\n}\n","<label class=\"hr-label sm-bold {{getTextFieldStatus()}}\" [class.custom-label-size]=\"size == 'sm'\" *ngIf=\"label\">\n {{label}} <span *ngIf=\"required || getTextFieldStatus() == 'typed-error'\">*</span>\n</label>\n<div class=\"gravity-input-field {{size}} {{width}}-width {{getTextFieldStatus()}}\">\n <ng-container *ngIf=\"iconLeft\">\n <ng-container [ngTemplateOutlet]=\"icons\" [ngTemplateOutletContext]=\"{iconPosition: 'left'}\"></ng-container>\n </ng-container>\n <span class=\"{{getTextFieldInputFontSize()}} prefix\">{{prefix}}</span>\n <input [attr.data-cy]=\"cypressTag\"\n [attr.disabled]=\"customState == 'disabled' ? true : null\"\n [attr.readonly]=\"customState == 'readonly' ? true : null\"\n [autocomplete]=\"autocomplete\"\n [maxLength]=\"validations?.maxLength ? validations?.maxLength : 100\"\n [minLength]=\"validations?.minLength ? validations?.minLength : 0\"\n [placeholder]=\"getPlaceholder()\"\n [type]=\"inputContentType != 'number' ? inputContentType : 'text'\"\n [value]=\"inputValue\"\n\n (blur)=\"focusInput = false\"\n (change)=\"changeInputValue()\"\n (focus)=\"focusInput = true\"\n (keydown)=\"onKeyDownEvent($event)\"\n (keyup)=\"changeInputValue()\"\n\n class=\"{{getTextFieldInputFontSize()}}\"\n\n #inputElement\n\n *ngIf=\"textFieldType == 'input'\">\n <textarea [attr.data-cy]=\"cypressTag\"\n [attr.disabled]=\"customState == 'disabled' ? true : null\"\n [attr.readonly]=\"customState == 'readonly' ? true : null\"\n [maxLength]=\"validations?.maxLength ? validations?.maxLength : 200\"\n [minLength]=\"validations?.minLength ? validations?.minLength : 0\"\n [placeholder]=\"getPlaceholder()\"\n [value]=\"inputValue\"\n\n (blur)=\"focusInput = false\"\n (change)=\"changeInputValue()\"\n (focus)=\"focusInput = true\"\n (keydown)=\"onKeyDownEvent($event)\"\n (keyup)=\"changeInputValue()\"\n\n class=\"{{getTextFieldInputFontSize()}}\"\n rows=\"1\"\n\n #textAreaElement\n\n *ngIf=\"textFieldType == 'textarea'\"></textarea>\n <ng-container *ngIf=\"iconRight\">\n <ng-container [ngTemplateOutlet]=\"icons\" [ngTemplateOutletContext]=\"{iconPosition: 'right'}\"></ng-container>\n </ng-container>\n</div>\n<p class=\"hr-label sm-regular supporting-text {{getTextFieldStatus()}} {{size}}\"\n [class.custom-label-size]=\"size == 'sm'\" *ngIf=\"supportText\">\n <gravity-icon [iconName]=\"'question-circle'\" *ngIf=\"getTextFieldStatus() == 'typed-error'\"\n [iconSize]=\"'md-16'\"></gravity-icon>\n {{supportText}}\n</p>\n<p class=\"hr-label sm-regular supporting-text {{getTextFieldStatus()}} {{size}}\"\n [class.custom-label-size]=\"size == 'sm'\"\n *ngIf=\"!supportText && getTextFieldStatus() == 'active' && inputValue == '' && required\">\n {{currentLang == 'es' ? 'Requerido' : 'Required'}}\n</p>\n\n<ng-template #icons let-iconPosition=\"iconPosition\">\n <gravity-icon (click)=\"$event.stopPropagation(); handleIconClick(iconPosition)\" class=\"{{iconPosition}}\"\n [class.pointer]=\"(iconPosition == 'left' && clickOnLeftIcon) || (iconPosition == 'right' && clickOnRightIcon)\"\n [iconName]=\"iconPosition == 'left' ? iconLeft : iconRight\"\n [iconSize]=\"isNewIcon(iconPosition) ? 'md-16' : null\"></gravity-icon>\n</ng-template>\n","import {Component, ElementRef, EventEmitter, HostBinding, HostListener, Input, OnInit, Renderer2} from '@angular/core';\n\n@Component({\n selector: 'tooltip',\n templateUrl: './gravity-tooltip.component.html',\n host: {'class': 'tooltip'},\n styleUrls: ['./gravity-tooltip.component.sass']\n})\n\nexport class GravityTooltipComponent implements OnInit {\n _show: boolean = false;\n events = new EventEmitter();\n\n @Input() data: any;\n\n @HostBinding('style.top') hostStyleTop!: 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\n @HostListener('transitionend', ['$event'])\n transitionEnd() {\n if (this.show) {\n this.events.emit({\n type: 'shown'\n });\n }\n }\n\n @Input() set show(value: boolean) {\n if (value) {\n this.setPosition();\n }\n this._show = this.hostClassShow = value;\n }\n\n get show(): boolean {\n return this._show;\n }\n\n get placement() {\n return this.data.options.placement;\n }\n\n get autoPlacement() {\n return this.data.options.autoPlacement;\n }\n\n get element() {\n return this.data.element;\n }\n\n get elementPosition() {\n return this.data.elementPosition;\n }\n\n get options() {\n return this.data.options;\n }\n\n get value() {\n return this.data.value;\n }\n\n get tooltipOffset(): number {\n return Number(this.data.options.offset);\n }\n\n get isThemeLight() {\n return this.options['theme'] === 'light';\n }\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {\n }\n\n ngOnInit() {\n this.setCustomClass();\n this.setStyles();\n }\n\n setPosition(): void {\n if (this.setHostStyle(this.placement)) {\n this.setPlacementClass(this.placement);\n return;\n } else {\n /* Is tooltip outside the visible area */\n const placements = ['top', 'right', 'bottom', 'left'];\n let isPlacementSet;\n\n for (const placement of placements) {\n if (this.setHostStyle(placement)) {\n this.setPlacementClass(placement);\n isPlacementSet = true;\n return;\n }\n }\n\n /* Set original placement */\n if (!isPlacementSet) {\n this.setHostStyle(this.placement, true);\n this.setPlacementClass(this.placement);\n }\n }\n }\n\n\n setPlacementClass(placement: string): void {\n this.renderer.addClass(this.elementRef.nativeElement, 'tooltip-' + placement);\n }\n\n setHostStyle(placement: string, disableAutoPlacement: boolean = false): boolean {\n const isSvg = this.element instanceof SVGElement;\n const tooltip = this.elementRef.nativeElement;\n const isCustomPosition = !this.elementPosition.right;\n\n let elementHeight = isSvg ? this.element.getBoundingClientRect().height : this.element.offsetHeight;\n let elementWidth = isSvg ? this.element.getBoundingClientRect().width : this.element.offsetWidth;\n const tooltipHeight = tooltip.clientHeight;\n const tooltipWidth = tooltip.clientWidth;\n const scrollY = window.pageYOffset;\n\n if (isCustomPosition) {\n elementHeight = 0;\n elementWidth = 0;\n }\n\n let topStyle;\n let leftStyle;\n\n if (placement === 'top') {\n topStyle = (this.elementPosition.top + scrollY) - (tooltipHeight + this.tooltipOffset);\n }\n\n if (placement === 'bottom') {\n topStyle = (this.elementPosition.top + scrollY) + elementHeight + this.tooltipOffset;\n }\n\n if (placement === 'top' || placement === 'bottom') {\n leftStyle = (this.elementPosition.left + elementWidth / 2) - tooltipWidth / 2;\n }\n\n if (placement === 'left') {\n leftStyle = this.elementPosition.left - tooltipWidth - this.tooltipOffset;\n }\n\n if (placement === 'right') {\n leftStyle = this.elementPosition.left + elementWidth + this.tooltipOffset;\n }\n\n if (placement === 'left' || placement === 'right') {\n topStyle = (this.elementPosition.top + scrollY) + elementHeight / 2 - tooltip.clientHeight / 2;\n }\n\n /* Is tooltip outside the visible area */\n if (this.autoPlacement && !disableAutoPlacement) {\n const topEdge = topStyle;\n const bottomEdge = topStyle + tooltipHeight;\n const leftEdge = leftStyle;\n const rightEdge = leftStyle + tooltipWidth;\n const bodyHeight = window.innerHeight + scrollY;\n const bodyWidth = document.body.clientWidth;\n\n if (topEdge < 0 || bottomEdge > bodyHeight || leftEdge < 0 || rightEdge > bodyWidth) {\n return false;\n }\n }\n\n this.hostStyleTop = topStyle + 'px';\n this.hostStyleLeft = leftStyle + 'px';\n return true;\n }\n\n setZIndex(): void {\n if (this.options['zIndex'] !== 0) {\n this.hostStyleZIndex = this.options['zIndex'];\n }\n }\n\n setPointerEvents(): void {\n if (this.options['pointerEvents']) {\n this.hostStylePointerEvents = this.options['pointerEvents'];\n }\n }\n\n setCustomClass() {\n if (this.options['tooltipClass']) {\n this.options['tooltipClass'].split(' ').forEach((className: any) => {\n this.renderer.addClass(this.elementRef.nativeElement, className);\n });\n }\n }\n\n setAnimationDuration() {\n if (Number(this.options['animationDuration']) != this.options['animationDurationDefault']) {\n this.hostStyleTransition = 'opacity ' + this.options['animationDuration'] + 'ms';\n }\n }\n\n setStyles() {\n this.setZIndex();\n this.setPointerEvents();\n this.setAnimationDuration();\n\n this.hostClassShadow = this.options['shadow'];\n this.hostClassLight = this.isThemeLight;\n this.hostStyleMaxWidth = this.options['maxWidth'];\n this.hostStyleWidth = this.options['width'] ? this.options['width'] : '';\n }\n}\n","<div *ngIf=\"isThemeLight\" class=\"tooltip-arrow\"></div>\n\n<div *ngIf=\"options['contentType'] === 'template' else htmlOrStringTemplate\">\n <ng-container *ngTemplateOutlet=\"value\"></ng-container>\n</div>\n\n<ng-template #htmlOrStringTemplate>\n <div [innerHTML]=\"value\"></div>\n</ng-template>\n","import { InjectionToken } from '@angular/core';\nimport { TooltipOptions } from './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 TooltipOptionsService = new InjectionToken<TooltipOptions>('TooltipOptions');\n","export const defaultOptions = {\n 'placement': 'top',\n 'autoPlacement': true,\n 'contentType': 'string',\n 'showDelay': 0,\n 'hideDelay': 300,\n 'hideDelayMobile': 0,\n 'hideDelayTouchscreen': 0,\n 'zIndex': 0,\n 'animationDuration': 300,\n 'animationDurationDefault': 300,\n 'trigger': 'hover',\n 'tooltipClass': '',\n 'display': true,\n 'displayMobile': true,\n 'displayTouchscreen': true,\n 'shadow': true,\n 'theme': 'dark',\n 'offset': 8,\n 'maxWidth': '',\n 'id': false,\n 'hideDelayAfterClick': 2000\n}\n\nexport const backwardCompatibilityOptions: any = {\n 'delay': 'showDelay',\n 'show-delay': 'showDelay',\n 'hide-delay': 'hideDelay',\n 'hide-delay-mobile': 'hideDelayTouchscreen',\n 'hideDelayMobile': 'hideDelayTouchscreen',\n 'z-index': 'zIndex',\n 'animation-duration': 'animationDuration',\n 'animation-duration-default': 'animationDurationDefault',\n 'tooltip-class': 'tooltipClass',\n 'display-mobile': 'displayTouchscreen',\n 'displayMobile': 'displayTouchscreen',\n 'max-width': 'maxWidth'\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 Optional,\n Output,\n SimpleChanges,\n TemplateRef\n} from '@angular/core';\nimport {GravityTooltipComponent} from './gravity-tooltip.component';\nimport {TooltipOptionsService} from './options.service';\nimport {backwardCompatibilityOptions, defaultOptions} from './options';\nimport {TooltipOptions} from './options.interface';\n\nexport interface AdComponent {\n data: any;\n show: boolean;\n close: boolean;\n events: any;\n}\n\n@Directive({\n selector: '[tooltip]',\n exportAs: 'tooltip',\n})\n\nexport class GravityTooltipDirective implements OnChanges {\n\n hideTimeoutId!: number;\n destroyTimeoutId!: number;\n hideAfterClickTimeoutId!: number;\n createTimeoutId!: number;\n showTimeoutId!: number;\n componentRef: any;\n elementPosition: any;\n _id: any;\n _options: any = {};\n _defaultOptions: any;\n _destroyDelay!: number;\n componentSubscribe: any;\n _contentType: \"string\" | \"html\" | \"template\" = \"string\";\n _showDelay!: number;\n _hideDelay!: number;\n _zIndex!: number;\n _tooltipClass!: string;\n _animationDuration!: number;\n _maxWidth!: string;\n\n @Input('options') set options(value: TooltipOptions) {\n if (value && defaultOptions) {\n this._options = value;\n }\n }\n\n get options() {\n return this._options;\n }\n\n @Input('tooltip') tooltipValue!: string | TemplateRef<any>;\n @Input('placement') placement!: string;\n @Input('autoPlacement') autoPlacement!: boolean;\n\n // Content type\n @Input('content-type') set contentTypeBackwardCompatibility(value: \"string\" | \"html\" | \"template\") {\n if (value) {\n this._contentType = value;\n }\n }\n\n @Input('contentType') set contentType(value: \"string\" | \"html\" | \"template\") {\n if (value) {\n this._contentType = value;\n }\n }\n\n get contentType() {\n return this._contentType;\n }\n\n @Input('hide-delay-mobile') hideDelayMobile!: number;\n @Input('hideDelayTouchscreen') hideDelayTouchscreen!: number;\n\n // z-index\n @Input('z-index') set zIndexBackwardCompatibility(value: number) {\n if (value) {\n this._zIndex = value;\n }\n }\n\n @Input('zIndex') set zIndex(value: number) {\n if (value) {\n this._zIndex = value;\n }\n }\n\n get zIndex() {\n return this._zIndex;\n }\n\n // Animation duration\n @Input('animation-duration') set animationDurationBackwardCompatibility(value: number) {\n if (value) {\n this._animationDuration = value;\n }\n }\n\n @Input('animationDuration') set animationDuration(value: number) {\n if (value) {\n this._animationDuration = value;\n }\n }\n\n get animationDuration() {\n return this._animationDuration;\n }\n\n\n @Input('trigger') trigger!: string;\n\n // Tooltip class\n @Input('tooltip-class') set tooltipClassBackwardCompatibility(value: string) {\n if (value) {\n this._tooltipClass = value;\n }\n }\n\n @Input('tooltipClass') set tooltipClass(value: string) {\n if (value) {\n this._tooltipClass = value;\n }\n }\n\n get tooltipClass() {\n return this._tooltipClass;\n }\n\n @Input('display') display!: boolean;\n @Input('display-mobile') displayMobile!: boolean;\n @Input('displayTouchscreen') displayTouchscreen!: boolean;\n @Input('shadow') shadow!: boolean;\n @Input('theme') theme!: \"dark\" | \"light\";\n @Input('offset') offset!: number;\n @Input('width') width!: string;\n\n // Max width\n @Input('max-width') set maxWidthBackwardCompatibility(value: string) {\n if (value) {\n this._maxWidth = value;\n }\n }\n\n @Input('maxWidth') set maxWidth(value: string) {\n if (value) {\n this._maxWidth = value;\n }\n }\n\n get maxWidth() {\n return this._maxWidth;\n }\n\n\n @Input('id') id: any;\n\n // Show delay\n @Input('show-delay') set showDelayBackwardCompatibility(value: number) {\n if (value) {\n this._showDelay = value;\n }\n }\n\n @Input('showDelay') set showDelay(value: number) {\n if (value) {\n this._showDelay = value;\n }\n }\n\n get showDelay() {\n return this._showDelay;\n }\n\n // Hide delay\n @Input('hide-delay') set hideDelayBackwardCompatibility(value: number) {\n if (value) {\n this._hideDelay = value;\n }\n }\n\n @Input('hideDelay') set hideDelay(value: number) {\n if (value) {\n this._hideDelay = value;\n }\n }\n\n get hideDelay() {\n return this._hideDelay;\n }\n\n @Input('hideDelayAfterClick') hideDelayAfterClick!: number;\n @Input('pointerEvents') pointerEvents!: 'auto' | 'none';\n @Input('position') position!: { top: number, left: number };\n\n get isTooltipDestroyed() {\n return this.componentRef && this.componentRef.hostView.destroyed;\n }\n\n get destroyDelay() {\n if (this._destroyDelay) {\n return this._destroyDelay;\n } else {\n return Number(this.getHideDelay()) + Number(this.options['animationDuration']);\n }\n }\n\n set destroyDelay(value: number) {\n this._destroyDelay = value;\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 @Output() events: EventEmitter<any> = new EventEmitter<any>();\n\n constructor(\n @Optional() @Inject(TooltipOptionsService) private initOptions: any,\n private elementRef: ElementRef,\n private componentFactoryResolver: ComponentFactoryResolver,\n private appRef: ApplicationRef,\n private injector: Injector) {\n }\n\n @HostListener('focusin')\n @HostListener('mouseenter')\n onMouseEnter() {\n if (this.isDisplayOnHover == false) {\n return;\n }\n\n this.show();\n }\n\n @HostListener('focusout')\n @HostListener('mouseleave')\n onMouseLeave() {\n if (this.options['trigger'] === 'hover') {\n this.destroyTooltip();\n }\n }\n\n @HostListener('click')\n onClick() {\n if (this.isDisplayOnClick == false) {\n return;\n }\n\n this.show();\n this.hideAfterClickTimeoutId = window.setTimeout(() => {\n this.destroyTooltip();\n }, this.options['hideDelayAfterClick'])\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.initOptions = this.renameProperties(this.initOptions);\n let changedOptions = this.getProperties(changes);\n changedOptions = this.renameProperties(changedOptions);\n\n this.applyOptionsDefault(defaultOptions, changedOptions);\n }\n\n ngOnDestroy(): void {\n this.destroyTooltip({\n fast: true\n });\n\n if (this.componentSubscribe) {\n this.componentSubscribe.unsubscribe();\n }\n }\n\n getShowDelay() {\n return this.options['showDelay'];\n }\n\n getHideDelay() {\n const hideDelay = this.options['hideDelay'];\n const hideDelayTouchscreen = this.options['hideDelayTouchscreen'];\n\n return this.isTouchScreen ? hideDelayTouchscreen : hideDelay;\n }\n\n getProperties(changes: SimpleChanges) {\n let directiveProperties: any = {};\n let customProperties: any = {};\n let allProperties: any;\n\n for (var prop in changes) {\n if (prop !== 'options' && prop !== 'tooltipValue') {\n directiveProperties[prop] = changes[prop].currentValue;\n }\n if (prop === 'options') {\n customProperties = changes[prop].currentValue;\n }\n }\n\n allProperties = Object.assign({}, customProperties, directiveProperties);\n return allProperties;\n }\n\n renameProperties(options: any) {\n for (var prop in options) {\n if (backwardCompatibilityOptions[prop]) {\n options[backwardCompatibilityOptions[prop]] = options[prop];\n delete options[prop];\n }\n }\n\n return options;\n }\n\n getElementPosition(): void {\n this.elementPosition = this.elementRef.nativeElement.getBoundingClientRect();\n }\n\n createTooltip(): void {\n this.clearTimeouts();\n this.getElementPosition();\n\n this.createTimeoutId = window.setTimeout(() => {\n this.appendComponentToBody(GravityTooltipComponent);\n }, this.getShowDelay());\n\n this.showTimeoutId = window.setTimeout(() => {\n this.showTooltipElem();\n }, this.getShowDelay());\n }\n\n destroyTooltip(options = {\n fast: false\n }): void {\n this.clearTimeouts();\n\n if (this.isTooltipDestroyed == false) {\n this.hideTimeoutId = window.setTimeout(() => {\n this.hideTooltip();\n }, options.fast ? 0 : this.getHideDelay());\n\n this.destroyTimeoutId = window.setTimeout(() => {\n if (!this.componentRef || this.isTooltipDestroyed) {\n return;\n }\n\n this.appRef.detachView(this.componentRef.hostView);\n this.componentRef.destroy();\n this.events.emit({\n type: 'hidden',\n position: this.tooltipPosition\n });\n }, options.fast ? 0 : this.destroyDelay);\n }\n }\n\n showTooltipElem(): void {\n this.clearTimeouts();\n (<AdComponent>this.componentRef.instance).show = true;\n this.events.emit({\n type: 'show',\n position: this.tooltipPosition\n });\n }\n\n hideTooltip(): void {\n if (!this.componentRef || this.isTooltipDestroyed) {\n return;\n }\n (<AdComponent>this.componentRef.instance).show = false;\n this.events.emit({\n type: 'hide',\n position: this.tooltipPosition\n });\n }\n\n appendComponentToBody(component: any): void {\n this.componentRef = this.componentFactoryResolver\n .resolveComponentFactory(component)\n .create(this.injector);\n\n (<AdComponent>this.componentRef.instance).data = {\n value: this.tooltipValue,\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\n this.componentSubscribe = (<AdComponent>this.componentRef.instance).events.subscribe((event: any) => {\n this.handleEvents(event);\n });\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 get isDisplayOnHover(): boolean {\n if (this.options['display'] == false) {\n return false;\n }\n\n if (this.options['displayTouchscreen'] == false && this.isTouchScreen) {\n return false;\n }\n\n return this.options['trigger'] === 'hover';\n }\n\n get isDisplayOnClick(): boolean {\n if (this.options['display'] == false) {\n return false;\n }\n\n if (this.options['displayTouchscreen'] == false && this.isTouchScreen) {\n return false;\n }\n\n return this.options['trigger'] == 'click';\n\n\n }\n\n get isTouchScreen() {\n var prefixes = ' -webkit- -moz- -o- -ms- '.split(' ');\n var mq = function (query: any) {\n return window.matchMedia(query).matches;\n }\n\n if (('ontouchstart' in window)) {\n return true;\n }\n\n // include the 'heartz' as a way to have a non matching MQ to help terminate the join\n // https://git.io/vznFH\n var query = ['(', prefixes.join('touch-enabled),('), 'heartz', ')'].join('');\n return mq(query);\n }\n\n applyOptionsDefault(defaultOptions: any, options: any): void {\n this.options = Object.assign({}, defaultOptions, this.initOptions || {}, this.options, options);\n }\n\n handleEvents(event: any) {\n if (event.type === 'shown') {\n this.events.emit({\n type: 'shown',\n position: this.tooltipPosition\n });\n }\n }\n\n public show() {\n if (!this.tooltipValue) {\n return;\n }\n\n if (!this.componentRef || this.isTooltipDestroyed) {\n this.createTooltip();\n } else if (!this.isTooltipDestroyed) {\n this.showTooltipElem();\n }\n }\n\n public hide() {\n this.destroyTooltip();\n }\n}\n","import {ModuleWithProviders, NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {GravityTooltipDirective} from './gravity-tooltip.directive';\nimport {GravityTooltipComponent} from './gravity-tooltip.component';\nimport {TooltipOptions} from './options.interface';\nimport {TooltipOptionsService} from './options.service';\n\n@NgModule({\n declarations: [\n GravityTooltipDirective,\n GravityTooltipComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n GravityTooltipDirective,\n GravityTooltipComponent\n ]\n})\nexport class GravityTooltipModule {\n static forRoot(initOptions: TooltipOptions): ModuleWithProviders<GravityTooltipModule> {\n return {\n ngModule: GravityTooltipModule,\n providers: [\n {\n provide: TooltipOptionsService,\n useValue: initOptions\n }\n ]\n };\n }\n}\n","import {Component, EventEmitter, Input, OnChanges, Output, SimpleChanges} from '@angular/core';\n\n@Component({\n selector: 'gravity-calendar',\n templateUrl: './gravity-calendar.component.html',\n styleUrls: ['./gravity-calendar.component.scss']\n})\nexport class GravityCalendarComponent implements OnChanges {\n @Output('response') public calendarResponse: EventEmitter<Date> = new EventEmitter();\n\n @Input() public calendarType: 'day' | 'month' | 'year' = 'day';\n @Input() public currentLang: string = 'en';\n @Input() public cypressTag: string;\n @Input() public datesConfig: {\n customDate?: 'today' | Date;\n defaultDays?: number;\n maxDate?: 'today' | Date;\n minDate?: Date;\n };\n @Input() public label: string;\n @Input() public required: boolean;\n @Input() public state: 'readonly' | 'disabled' | 'enabled' = \"enabled\";\n @Input() public supportTextContent: string;\n @Input() public supportTextType: 'neutro' | 'negative' | 'positive' = \"neutro\";\n\n public bsDatepickerConfig = {\n containerClass: 'gravity-datepicker-dialog',\n isAnimated: true,\n selectFromOtherMonth: true,\n showWeekNumbers: false\n };\n\n public readonly elementId: string;\n public focusInput: boolean = false;\n public maxDate: Date;\n public minDate: Date;\n public selectedDate: Date;\n\n constructor() {\n let milliseconds: number = new Date().getTime();\n let randomNumber: number = Math.random() * 10;\n\n this.elementId = '' + (milliseconds * randomNumber / 2);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['datesConfig']) {\n if (changes['datesConfig'].currentValue.defaultDays) {\n this.selectedDate = new Date(new Date().setDate(new Date().getDate() - changes['datesConfig'].currentValue.defaultDays));\n }\n\n if (changes['datesConfig'].currentValue.customDate) {\n this.selectedDate = changes['datesConfig'].currentValue.customDate == 'today' ? new Date() : changes['datesConfig'].currentValue.customDate;\n }\n\n if (changes['datesConfig'].currentValue.minDate) {\n this.minDate = changes['datesConfig'].currentValue.minDate;\n }\n\n if (changes['datesConfig'].currentValue.maxDate) {\n this.maxDate = changes['datesConfig'].currentValue.maxDate == 'today' ? new Date() : changes['datesConfig'].currentValue.maxDate;\n }\n }\n }\n\n updateSelectedDate($event: Date): void {\n this.selectedDate = $event;\n this.calendarResponse.emit(this.selectedDate);\n }\n\n resetCalendar(newDate: Date): void {\n this.selectedDate = newDate;\n this.calendarResponse.emit(this.selectedDate);\n }\n\n getBsDatepickerContainer(): string {\n return '.gravity-calendar-field[elementId=\"' + this.elementId + '\"]'\n }\n}\n","<label class=\"hr-body-text sm-regular {{state}}\" [class.empty]=\"!selectedDate && !focusInput\"\n [class.focused]=\"focusInput\" [class.full-input]=\"selectedDate && !focusInput\">\n {{label}}\n <ng-container *ngIf=\"required\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Requerido <span class=\"text-negative\">*</span></ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Required <span class=\"text-negative\">*</span></ng-container>\n </ng-container>\n <ng-container *ngIf=\"state == 'readonly'\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Sólo lectura</ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Readonly</ng-container>\n </ng-container>\n <ng-container *ngIf=\"state == 'disabled'\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Deshabilitado</ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Disabled</ng-container>\n </ng-container>\n</label>\n<div class=\"gravity-calendar-field {{state}}\" [class.empty]=\"!selectedDate && !focusInput\"\n [class.focused]=\"focusInput\" [class.full-input]=\"selectedDate && !focusInput\" [attr.elementId]=\"elementId\">\n <gravity-icon class=\"placement-left\" [hoverIcon]=\"false\" [iconName]=\"'calendar'\" [iconSize]=\"'md-16'\"></gravity-icon>\n <input [attr.data-cy]=\"cypressTag\"\n [disabled]=\"state != 'enabled' ? true : null\"\n\n [style.cursor]=\"state == 'enabled' ? 'pointer' : 'text'\"\n\n (blur)=\"focusInput = false\"\n (bsValueChange)=\"updateSelectedDate($event)\"\n (focus)=\"focusInput = true\"\n (onHidden)=\"focusInput = false\"\n\n class=\"hr-label md-regular\"\n bsDatepicker\n placeholder=\"Select your {{calendarType == 'day' ? 'date' : 'month'}}\"\n\n [bsConfig]=\"bsDatepickerConfig\"\n [container]=\"getBsDatepickerContainer()\"\n [maxDate]=\"maxDate ? maxDate : null\"\n [minDate]=\"minDate ? minDate : null\"\n [minMode]=\"calendarType\"\n\n [(bsValue)]=\"selectedDate\">\n</div>\n<p class=\"hr-body-text sm-regular support-text text-{{supportTextType}}\" *ngIf=\"supportTextContent\">\n {{supportTextContent}}\n</p>\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\n\n@Component({\n selector: 'gravity-radio-button',\n templateUrl: './gravity-radio-button.component.html',\n styleUrls: ['./gravity-radio-button.component.scss']\n})\nexport class GravityRadioButtonComponent {\n @Input() public checked: boolean = false;\n @Input() public disabled: boolean = false;\n @Input() public name: string;\n @Input() public size: 'md' | 'sm' = 'sm';\n @Input() public value: string;\n @Output() public onChange: EventEmitter<string> = new EventEmitter<string>();\n\n public onChangeEvent(value: string): void {\n this.onChange.emit(value);\n }\n}\n","<input [checked]=\"checked\" class=\"size-{{size}}\" (click)=\"onChangeEvent(value)\" [disabled]=\"disabled\" [id]=\"value\"\n [name]=\"name\" type=\"radio\" [value]=\"value\">\n<label>\n <ng-content></ng-content>\n</label>\n","import {AfterViewInit, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges} from '@angular/core';\n\n@Component({\n selector: 'gravity-switch',\n templateUrl: './gravity-switch.component.html',\n styleUrls: ['./gravity-switch.component.scss']\n})\nexport class GravitySwitchComponent implements AfterViewInit, OnChanges {\n @Input() public checked: boolean = false;\n @Input() public cypressTag: string;\n @Input() public disabled: boolean = false;\n @Input() public size: 'md' | 'sm' = 'md';\n @Input() public textOptions: {\n above?: string;\n left?: string;\n right?: string;\n below?: string;\n };\n @Output() public response: EventEmitter<boolean> = new EventEmitter();\n\n public isSwitchActive: boolean = false;\n\n ngAfterViewInit() {\n this.isSwitchActive = this.checked;\n this.response.emit(this.isSwitchActive);\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['checked']) {\n this.isSwitchActive = changes['checked'].currentValue;\n }\n }\n\n public toggleSwitch(): void {\n if (!this.disabled) {\n this.isSwitchActive = !this.isSwitchActive;\n this.response.emit(this.isSwitchActive);\n }\n }\n}\n","<div class=\"gravity-switch size-{{size}}\" [class.with-above-text]=\"textOptions?.above\"\n [class.with-below-text]=\"textOptions?.below\">\n <span class=\"hr-body-text sm-regular\" *ngIf=\"textOptions?.left\">{{ textOptions.left }}</span>\n <div [attr.data-cy]=\"cypressTag\" class=\"switch\" [class.disabled]=\"disabled\" (click)=\"toggleSwitch()\">\n <span class=\"hr-body-text sm-regular above-text\" *ngIf=\"textOptions?.above\">{{ textOptions.above }}</span>\n <input type=\"checkbox\" [checked]=\"isSwitchActive\">\n <span class=\"slider\"></span>\n <span class=\"hr-body-text sm-regular below-text\" *ngIf=\"textOptions?.below\">{{ textOptions.below }}</span>\n </div>\n <span class=\"hr-body-text sm-regular\" *ngIf=\"textOptions?.right\">{{ textOptions.right }}</span>\n</div>\n","import {Component, Input, TemplateRef} from '@angular/core';\nimport {NgbActiveModal} from \"@ng-bootstrap/ng-bootstrap\";\nimport {GravityIconComponent} from \"../gravity-icon/gravity-icon.component\";\n\n@Component({\n templateUrl: './gravity-dialog.component.html',\n styleUrls: ['./gravity-dialog.component.scss']\n})\nexport class GravityDialogComponent {\n @Input() public dialogContent: GravityDialogContentInterface;\n\n constructor(private readonly ngbActiveModal: NgbActiveModal) {\n }\n\n public closeModal(): void {\n this.ngbActiveModal.close();\n }\n\n public isNewIcon(iconName: string): boolean {\n return GravityIconComponent.isNewIcon(iconName);\n }\n}\n\nexport interface GravityDialogContentInterface {\n closeIconCypressTag?: string;\n componentInputs?: any;\n contentTemplateRef?: TemplateRef<any>;\n contentTemplateComponent?: any;\n footerTemplateRef?: TemplateRef<any>;\n footerTemplateComponent?: any;\n showCloseIcon?: boolean;\n titleIconName?: string;\n title: string;\n}\n","<div class=\"dialog-header\">\n <div class=\"hr-title lg-bold title\">\n <gravity-icon class=\"title-icon\" *ngIf=\"dialogContent.titleIconName && dialogContent.titleIconName.length > 0\"\n [iconName]=\"dialogContent.titleIconName\" [title]=\"dialogContent.titleIconName\"\n [size]=\"isNewIcon(dialogContent.titleIconName) ? null : 'md'\"\n [iconSize]=\"isNewIcon(dialogContent.titleIconName) ? 'lg-24' : null\"></gravity-icon>\n {{ dialogContent.title }}\n </div>\n <gravity-icon [attr.data-cy]=\"dialogContent.closeIconCypressTag\" class=\"close\" (click)=\"closeModal()\"\n [iconName]=\"'unsuccess'\" *ngIf=\"dialogContent.showCloseIcon\" [iconSize]=\"'md-16'\"\n [title]=\"'Close'\"></gravity-icon>\n</div>\n\n<div class=\"dialog-body\" [class.with-footer]=\"dialogContent.footerTemplateRef || dialogContent.footerTemplateComponent\">\n <ng-container *ngIf=\"dialogContent.contentTemplateRef\">\n <ng-container *ngTemplateOutlet=\"dialogContent.contentTemplateRef\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"dialogContent.contentTemplateComponent\">\n <ng-container\n *ngComponentOutlet=\"dialogContent.contentTemplateComponent; inputs: dialogContent.componentInputs\"></ng-container>\n </ng-container>\n</div>\n\n<div class=\"dialog-footer\" *ngIf=\"dialogContent.footerTemplateRef || dialogContent.footerTemplateComponent\">\n <ng-container *ngIf=\"dialogContent.footerTemplateRef\">\n <ng-container *ngTemplateOutlet=\"dialogContent.footerTemplateRef\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"dialogContent.footerTemplateComponent\">\n <ng-container *ngComponentOutlet=\"dialogContent.footerTemplateComponent\"></ng-container>\n </ng-container>\n</div>\n","import {Component, Input} from '@angular/core';\nimport {NgbActiveModal} from \"@ng-bootstrap/ng-bootstrap\";\nimport {GravityNotificationContent} from \"./gravity-notification-content.interface\";\n\n@Component({\n templateUrl: './gravity-notification.component.html',\n styleUrls: ['./gravity-notification.component.scss']\n})\nexport class GravityNotificationComponent {\n @Input() public notificationContent: GravityNotificationContent;\n\n constructor(private readonly ngbActiveModal: NgbActiveModal) {\n }\n\n public closeModal(): void {\n this.ngbActiveModal.close();\n }\n}\n","<main class=\"alert-content {{notificationContent.state}}\">\n <gravity-icon class=\"close\" (click)=\"closeModal()\" data-cy=\"gravity_notification_informative_close_icon\"\n [iconName]=\"'unsuccess'\" [title]=\"'Close'\" [iconSize]=\"'md-16'\"></gravity-icon>\n\n <div class=\"title\">\n <!--TODO ebiazzetti change icons-->\n <gravity-icon class=\"title-icon\" [iconName]=\"'notification_' + notificationContent.state\" [size]=\"'md'\"></gravity-icon>\n <h1 class=\"hr-title lg-bold\">{{notificationContent.title}}</h1>\n </div>\n\n <div class=\"content\">\n <h2 class=\"hr-body-text md-regular\">{{notificationContent.text}}</h2>\n <h2 class=\"hr-body-text md-regular\" *ngIf=\"notificationContent.errorCode\">\n Error code: <b>{{notificationContent.errorCode}}</b>\n </h2>\n </div>\n</main>\n","import {Injectable} from '@angular/core';\nimport {GravityNotificationContent} from \"../components/gravity-notification/gravity-notification-content.interface\";\n\n@Injectable({providedIn: 'root'})\nexport class GravityInstantNotificationsService {\n public readonly notifications: GravityNotificationContent[] = [];\n\n public showNotification(content: GravityNotificationContent): void {\n this.notifications.push(content);\n }\n\n public hideNotification(index: number): void {\n this.notifications.splice(index, 1);\n }\n\n public clearNotifications(): void {\n this.notifications.splice(0, this.notifications.length);\n }\n}\n","import {Component, Input} from '@angular/core';\nimport {GravityInstantNotificationsService} from \"../../services/gravity-instant-notifications.service\";\n\n@Component({\n selector: 'gravity-notification-instant-container',\n templateUrl: './gravity-notification-instant-container.component.html',\n styleUrls: ['./gravity-notification-instant-container.component.scss']\n})\nexport class GravityNotificationInstantContainerComponent {\n @Input() public delay: number = 5000;\n\n constructor(public readonly gravityInstantNotificationsService: GravityInstantNotificationsService) {\n }\n}\n","<ngb-toast [autohide]=\"true\" [delay]=\"delay\"\n\n (hidden)=\"gravityInstantNotificationsService.hideNotification(i)\"\n\n *ngFor=\"let notification of gravityInstantNotificationsService.notifications; index as i\">\n <main class=\"alert-content {{notification.state}}\">\n <gravity-icon class=\"close\" (click)=\"gravityInstantNotificationsService.hideNotification(i)\"\n data-cy=\"gravity_notification_instant_close_icon\" [iconName]=\"'unsuccess'\" [iconSize]=\"'md-16'\"\n [title]=\"'Close'\"></gravity-icon>\n\n <div class=\"title\">\n <!--TODO ebiazzetti change icons-->\n <gravity-icon class=\"title-icon\" [iconName]=\"'notification_' + notification.state\" [size]=\"'md'\"></gravity-icon>\n <h1 class=\"hr-title lg-bold\">{{notification.title}}</h1>\n </div>\n\n <div class=\"content\">\n <h2 class=\"hr-body-text md-regular\">{{notification.text}}</h2>\n </div>\n </main>\n</ngb-toast>\n","import {AfterViewInit, Component, EventEmitter, Input, Output} from '@angular/core';\n\n@Component({\n selector: 'gravity-attach-file',\n templateUrl: './gravity-attach-file.component.html',\n styleUrls: ['./gravity-attach-file.component.scss']\n})\nexport class GravityAttachFileComponent implements AfterViewInit {\n @Output('response') public fileValueAsBase64StringResponse: EventEmitter<string> = new EventEmitter();\n\n @Input() public currentLang: string = 'en';\n @Input() public cypressTag: string;\n @Input() public inputId: string = '';\n @Input() public label: string;\n @Input() public required: boolean;\n @Input() public state: 'readonly' | 'disabled' | 'enabled' = \"enabled\";\n @Input() public supportedDocumentTypes: ('*' | '.pdf' | '.doc' | '.docx' | '.jpg' | '.png' | '.jpeg' | 'audio/*' | 'video/*' | 'image/*')[];\n @Input() public supportTextContent: string;\n @Input() public supportTextType: 'neutro' | 'negative' | 'positive';\n\n public file: File;\n public supportedTypes: string = '';\n\n ngAfterViewInit(): void {\n if (this.supportedDocumentTypes) {\n this.supportedDocumentTypes.forEach((value: string, index: number) => {\n this.supportedTypes += value;\n\n if (index != this.supportedDocumentTypes.length - 1) {\n this.supportedTypes += ',';\n }\n })\n } else {\n this.supportedTypes = \"*\";\n }\n }\n\n public handleFileInput($event: any) {\n this.file = $event.target.files[0];\n if (this.file) {\n GravityAttachFileComponent.convertFileToBase64(this.file).then((base64String: string) => {\n this.fileValueAsBase64StringResponse.emit(base64String);\n }).catch((error) => {\n console.error('Error loading file:', error.message);\n });\n }\n }\n\n public static convertFileToBase64(file: File): Promise<string> {\n return new Promise<string>((resolve, reject) => {\n const reader = new FileReader();\n\n reader.onload = () => {\n const base64String = reader.result as string;\n const base64WithoutPrefix = base64String.split(',')[1];\n resolve(base64WithoutPrefix);\n };\n\n reader.onerror = () => {\n reject(new Error('Failed to read the file.'));\n };\n\n reader.readAsDataURL(file);\n });\n }\n\n public removeFile(): void {\n this.file = null;\n this.fileValueAsBase64StringResponse.emit('');\n }\n}\n","<label class=\"hr-body-text sm-regular {{state}}\" [class.empty]=\"!file\" [class.full-input]=\"file\" *ngIf=\"label\">\n {{label}}\n <ng-container *ngIf=\"required\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Requerido <span class=\"text-negative\">*</span></ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Required <span class=\"text-negative\">*</span></ng-container>\n </ng-container>\n <ng-container *ngIf=\"state == 'readonly'\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Sólo lectura</ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Readonly</ng-container>\n </ng-container>\n <ng-container *ngIf=\"state == 'disabled'\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Deshabilitado</ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Disabled</ng-container>\n </ng-container>\n</label>\n<div class=\"gravity-attach-file {{state}}\" [class.empty]=\"!file\" [class.full-input]=\"file\">\n <ng-container *ngIf=\"!file\">\n <input autocomplete=\"off\" class=\"hr-label md-regular\" hidden id=\"fileInput-{{inputId}}\" type=\"file\"\n [accept]=\"supportedTypes\"\n [attr.data-cy]=\"cypressTag\"\n [attr.disabled]=\"state == 'disabled' ? true : null\"\n [attr.readonly]=\"state == 'readonly' ? true : null\"\n\n (change)=\"handleFileInput($event)\">\n <label for=\"fileInput-{{inputId}}\">\n <gravity-button [iconName]=\"'clip'\" [type]=\"'tertiary'\" [size]=\"'md'\">\n {{label}}\n </gravity-button>\n </label>\n </ng-container>\n <ng-container *ngIf=\"file\">\n <label>\n <gravity-button (click)=\"removeFile()\" [iconName]=\"'clip'\" [type]=\"'tertiary'\" [size]=\"'md'\">\n {{currentLang == 'en' ? 'Remove file' : 'Remover archivo'}}\n </gravity-button>\n </label>\n <h3 class=\"hr-body-text sm-bold\">{{currentLang == 'en' ? 'File' : 'Archivo'}}: {{file.name}}</h3>\n </ng-container>\n</div>\n<p class=\"hr-body-text sm-regular support-text text-{{supportTextType}}\" *ngIf=\"supportTextContent\">\n {{supportTextContent}}\n</p>\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n HostListener,\n Input,\n OnChanges,\n Renderer2,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\n\n@Component({\n selector: 'gravity-table',\n templateUrl: './gravity-table.component.html',\n styleUrls: ['./gravity-table.component.scss']\n})\nexport class GravityTableComponent implements AfterViewInit, OnChanges {\n @Input() public tableDensity: 'standard' | 'compressed' = \"standard\";\n @Input() public tableSizeInput: 'xl' | 'lg' | 'md' | 'sm' | 'auto' = \"auto\";\n @ViewChild('tableContainer') public readonly tableContainer: ElementRef;\n\n private tableElement: ElementRef = null;\n public tableId: string;\n public tableSize: 'xl' | 'lg' | 'md' | 'sm' = 'xl';\n\n constructor(private readonly renderer: Renderer2) {\n let milliseconds: number = new Date().getTime();\n let randomNumber: number = Math.random() * 10;\n\n this.tableId = '' + (milliseconds * randomNumber / 2);\n }\n\n ngAfterViewInit(): void {\n this.tableElement = this.tableContainer?.nativeElement?.childNodes[0];\n this.renderer.setAttribute(this.tableElement, 'table-id', this.tableId);\n this.initializeComponent();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (this.tableElement) {\n if (changes['tableDensity']) {\n this.adjustTableDensity(changes['tableDensity'].currentValue);\n }\n\n if (changes['tableSizeInput']) {\n this.tableSizeInput = changes['tableSizeInput'].currentValue;\n this.onResize();\n }\n }\n }\n\n private getTableHeaders(): string[] {\n let tableHeaderItems: NodeList = document.querySelectorAll('table[table-id=\"' + this.tableId + '\"] thead tr th');\n let tableHeaders: string[] = [];\n\n tableHeaderItems.forEach((tableHeaderItem: Node) => {\n tableHeaders.push(tableHeaderItem.childNodes[0].nodeValue);\n });\n\n return tableHeaders;\n }\n\n public initializeComponent(): void {\n let tableHeaders: string[] = this.getTableHeaders();\n this.initializeTable(tableHeaders);\n this.adjustTableDensity(this.tableDensity);\n this.adjustButtonsSize();\n this.onResize();\n }\n\n private initializeTable(tableHeaders: string[]): void {\n //Set corresponding tableHeader as an attribute of each td\n let tableBody: NodeList = document.querySelectorAll('table[table-id=\"' + this.tableId + '\"] tbody tr td');\n tableBody.forEach((tableBodyRow: Node, index: number) => {\n this.renderer.setAttribute(tableBodyRow, 'header-name', tableHeaders[index % tableHeaders.length]);\n });\n\n //Creates a copy of mobile-menu-trigger element for each tr\n let tableBodyRows: NodeList = document.querySelectorAll('table[table-id=\"' + this.tableId + '\"] tbody tr');\n let closeButtons: NodeList = document.querySelectorAll('gravity-button[id-reference=\"close-button\"]');\n\n tableBodyRows.forEach((tr: Node, index: number) => {\n let actionColum: NodeList = null;\n\n if (tr.firstChild) {\n actionColum = tr.firstChild.parentElement.querySelectorAll('td.actions-column');\n }\n\n if (actionColum?.length > 0) {\n let mobileMenuTrigger: HTMLDivElement = document.createElement('div');\n this.renderer.addClass(mobileMenuTrigger, 'mobile-menu-trigger');\n this.renderer.setAttribute(mobileMenuTrigger, 'cloned-node', 'true');\n\n let menuToggle: HTMLDivElement = document.createElement('div');\n this.renderer.addClass(menuToggle, 'menu-toggle');\n menuToggle.appendChild(document.createElement('span'));\n menuToggle.appendChild(document.createElement('span'));\n menuToggle.appendChild(document.createElement('span'));\n menuToggle.addEventListener(\"click\", () => {\n if (menuToggle.classList.contains('open')) {\n this.renderer.removeClass(menuToggle, 'open');\n this.renderer.removeClass(menuToggle.parentElement.lastElementChild, 'open');\n } else {\n this.renderer.addClass(menuToggle, 'open');\n this.renderer.addClass(menuToggle.parentElement.lastElementChild, 'open');\n }\n });\n mobileMenuTrigger.appendChild(menuToggle);\n\n let panel: HTMLDivElement = document.createElement('div');\n this.renderer.addClass(panel, 'panel');\n\n let closeButtonFromNodeList: Node = closeButtons.item(index);\n let closeButtonRemoved: Node = closeButtonFromNodeList.parentNode.removeChild(closeButtonFromNodeList);\n this.renderer.setAttribute(closeButtonRemoved, 'cloned-button', 'true');\n closeButtonRemoved.addEventListener(\"click\", () => {\n this.renderer.removeClass(menuToggle, 'open');\n this.renderer.removeClass(menuToggle.parentElement.lastElementChild, 'open');\n });\n\n panel.append(closeButtonRemoved);\n\n mobileMenuTrigger.appendChild(panel);\n\n tr.insertBefore(mobileMenuTrigger, tr.firstChild);\n }\n });\n }\n\n private adjustTableDensity(densityValue: 'standard' | 'compressed'): void {\n this.renderer.removeClass(this.tableElement, 'standard-table');\n this.renderer.removeClass(this.tableElement, 'compressed-table');\n\n this.renderer.addClass(this.tableElement, densityValue + '-table');\n }\n\n private adjustButtonsSize(): void {\n let actionsColumns: NodeList = document.querySelectorAll('table[table-id=\"' + this.tableId + '\"] .actions-column');\n actionsColumns.forEach((actionsColumn: Node) => {\n actionsColumn.childNodes.forEach((gravityButton: Node) => {\n let button: Node = gravityButton.childNodes[0];\n\n this.renderer.removeClass(button, 'gravity-size-lg');\n this.renderer.removeClass(button, 'gravity-size-md');\n this.renderer.removeClass(button, 'gravity-size-sm');\n this.renderer.removeClass(button, 'lg-bold');\n this.renderer.removeClass(button, 'md-bold');\n this.renderer.removeClass(button, 'sm-bold');\n\n this.renderer.addClass(button, 'gravity-size-sm');\n this.renderer.addClass(button, 'sm-bold');\n });\n });\n }\n\n @HostListener('window:resize', ['$event'])\n private onResize(): void {\n if (window.innerWidth <= 576) {\n this.tableSize = 'sm';\n } else if (window.innerWidth <= 992) {\n this.tableSize = 'md';\n } else if (window.innerWidth <= 1440) {\n this.tableSize = 'lg';\n } else {\n this.tableSize = 'xl';\n }\n\n this.adjustTableSize();\n }\n\n private adjustTableSize(): void {\n this.renderer.removeClass(this.tableElement, 'sm-table');\n this.renderer.removeClass(this.tableElement, 'md-table');\n this.renderer.removeClass(this.tableElement, 'lg-table');\n this.renderer.removeClass(this.tableElement, 'xl-table');\n\n if (this.tableSizeInput != 'auto') {\n this.tableSize = this.tableSizeInput;\n }\n\n this.renderer.addClass(this.tableElement, this.tableSize + '-table');\n this.adjustTable();\n }\n\n private adjustTable(): void {\n if (this.tableSize == 'md' || this.tableSize == 'sm') {\n let tableBodyRows: NodeList = document.querySelectorAll('table[table-id=\"' + this.tableId + '\"] tbody tr');\n\n tableBodyRows.forEach((tr: Node) => {\n if (tr.firstChild) {\n let trActionsColum: Node = tr.firstChild.parentElement.querySelectorAll('td.actions-column')[0];\n let mobileMenuTrigger: Node = tr.firstChild.parentElement.querySelectorAll('.mobile-menu-trigger[cloned-node=\"true\"]')[0];\n\n if (mobileMenuTrigger) {\n let mobileMenuTriggerPanel: Node = mobileMenuTrigger.lastChild;\n\n if (trActionsColum && mobileMenuTriggerPanel) {\n this.appendNodesList(mobileMenuTriggerPanel, trActionsColum.childNodes);\n }\n }\n }\n });\n }\n\n if (this.tableSize == 'lg' || this.tableSize == 'xl') {\n let tableBodyRows: NodeList = document.querySelectorAll('table[table-id=\"' + this.tableId + '\"] tbody tr');\n\n tableBodyRows.forEach((tr: Node) => {\n if (tr.firstChild) {\n let trActionsColum: Node = tr.firstChild.parentElement.querySelectorAll('td.actions-column')[0];\n let mobileMenuTrigger: Node = tr.firstChild.parentElement.querySelectorAll('.mobile-menu-trigger[cloned-node=\"true\"]')[0];\n\n if (trActionsColum && mobileMenuTrigger) {\n this.appendNodesList(trActionsColum, mobileMenuTrigger.lastChild.childNodes);\n }\n }\n });\n }\n }\n\n private appendNodesList(elementToAppend: Node, nodesList: NodeListOf<ChildNode>): Node {\n if (this.tableSize == 'md' || this.tableSize == 'sm') {\n let nodeListIndex: number = nodesList.length - 1;\n\n while (nodesList.length != 0) {\n let removedNode: Node = nodesList.item(nodeListIndex).parentNode.removeChild(nodesList.item(nodeListIndex));\n elementToAppend.insertBefore(removedNode, elementToAppend.firstChild);\n nodeListIndex--;\n }\n\n return elementToAppend;\n }\n\n if (this.tableSize == 'lg' || this.tableSize == 'xl') {\n let nodeListIndex: number = nodesList.length - 1;\n\n while (nodesList.length > 1) {\n let item: Node = nodesList.item(nodeListIndex);\n let closeButtonNode: Node = item.parentNode.querySelectorAll('gravity-button[id-reference=\"close-button\"]').item(0);\n\n if (item != closeButtonNode) {\n let removedNode: Node = item.parentNode.removeChild(item);\n elementToAppend.insertBefore(removedNode, elementToAppend.firstChild);\n }\n\n nodeListIndex--;\n }\n\n return elementToAppend;\n }\n }\n}\n","<div class=\"table-container {{tableSize}}\" #tableContainer>\n <ng-content></ng-content>\n</div>\n\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n","export enum NodeSelectedState {\n checked,\n unChecked,\n indeterminate\n}\n","import {Injectable, OnDestroy} from '@angular/core';\nimport {BehaviorSubject, Observable, Subscription} from 'rxjs';\nimport {debounceTime, distinctUntilChanged} from 'rxjs/operators';\nimport {NodeItem} from '../models/node-item';\nimport {NodeState} from '../models/node-state';\nimport {NodeSelectedState} from '../models/node-selected-state';\nimport {TreeCallbacks} from '../models/tree-callbacks';\n\n@Injectable()\nexport class TreeService implements OnDestroy {\n private readonly filterChangeSubjectSubscription: Subscription;\n\n public callbacks: TreeCallbacks;\n public filterValue: string = '';\n public nodeItems: NodeItem<any>[];\n public selectedItems: any[] = [];\n public treeState: NodeState[];\n\n private filterChangeSubject = new BehaviorSubject(this.filterValue);\n private selectedItemsSubject = new BehaviorSubject(this.selectedItems);\n private selectedStates: NodeState[] = [];\n\n constructor() {\n this.filterChangeSubjectSubscription = this.filterChangeSubject.pipe(debounceTime(300), distinctUntilChanged()).subscribe(() => {\n this.filterTraverse(this.treeState, this.filterValue);\n });\n }\n\n ngOnDestroy() {\n this.filterChangeSubjectSubscription.unsubscribe();\n }\n\n public connect(): Observable<any[]> {\n return this.selectedItemsSubject.asObservable();\n }\n\n public setInitialState(): void {\n this.setInitialSelectedState(this.treeState);\n }\n\n private setInitialSelectedState(nodeStates: NodeState[]): void {\n for (const state of nodeStates) {\n if (state.nodeItem.selected && (!state.children || state.children.length === 0)) {\n this.toggleSelectedState(state, true);\n }\n\n this.setInitialSelectedState(state.children);\n }\n }\n\n public clear(): void {\n for (let state of this.selectedStates) {\n state.selected = false;\n state.selectedState = NodeSelectedState.unChecked;\n }\n\n this.selectedItems.length = 0;\n this.selectedStates.length = 0;\n }\n\n private filterTraverse(states: NodeState[], filter: string): boolean {\n let results: boolean[] = [];\n\n for (let state of states) {\n if (state.children.length > 0) {\n state.hasFilteredChildren = false;\n state.hasFilteredChildren = this.filterTraverse(state.children, filter);\n\n if (this.applyFilter(state, filter)) {\n state.hasFilteredChildren = true;\n }\n\n results.push(state.hasFilteredChildren);\n }\n }\n\n return results.some((item: boolean) => item);\n }\n\n private applyFilter(state: NodeState, filter: string): boolean {\n state.filteredChildren = this.filter(state.children, filter);\n return state.filteredChildren.length > 0;\n }\n\n private filter(states: NodeState[], value: string): NodeState[] {\n return states.filter((nodeState: NodeState) => nodeState.hasFilteredChildren || value === '' || nodeState.nodeItem.name.toLowerCase().indexOf(value) !== -1);\n }\n\n public checkboxClick(state: NodeState): void {\n this.toggleSelectedState(state, false);\n\n if (this.callbacks?.toggle) {\n this.callbacks.toggle(state.nodeItem);\n }\n }\n\n private toggleSelectedState(state: NodeState, ignoreDisabled: boolean): void {\n if (state.disabled && !ignoreDisabled) {\n return;\n }\n\n if (state.selectedState === NodeSelectedState.unChecked) {\n this.setChecked(state, true, ignoreDisabled);\n } else if (state.selectedState === NodeSelectedState.checked) {\n this.setUnchecked(state, true, ignoreDisabled);\n } else {\n if (this.anyActiveSelected(state) && !state.selected) {\n this.setUnchecked(state, true, ignoreDisabled);\n } else {\n this.setChecked(state, true, ignoreDisabled);\n }\n }\n\n if (state.parent) {\n this.childStateChanged(state.parent);\n }\n }\n\n private setChecked(state: NodeState, propagate: boolean, ignoreDisabled?: boolean): void {\n if (state.disabled && !ignoreDisabled) {\n return;\n }\n\n state.selectedState = NodeSelectedState.checked;\n state.selected = true;\n\n if (TreeService.hasNoChildren(state)) {\n this.addSelected(state);\n } else if (propagate) {\n for (const child of state.children) {\n this.setChecked(child, propagate, ignoreDisabled);\n }\n }\n }\n\n private setUnchecked(state: NodeState, propagate: boolean, ignoreDisabled?: boolean) {\n if (state.disabled && !ignoreDisabled) {\n return;\n }\n\n state.selectedState = NodeSelectedState.unChecked;\n state.selected = false;\n\n if (TreeService.hasNoChildren(state)) {\n this.removeSelected(state.nodeItem.item);\n\n if (this.callbacks?.unSelect) {\n this.callbacks.unSelect(state.nodeItem);\n }\n } else if (propagate) {\n for (const child of state.children) {\n this.setUnchecked(child, propagate, ignoreDisabled);\n }\n }\n\n if (!this.anyChildSelected(state)) {\n this.removeSelected(state.nodeItem.item);\n }\n }\n\n private removeSelected(item: any): void {\n let index = this.selectedItems.indexOf(item);\n if (index !== -1) {\n this.selectedItems.splice(index, 1);\n }\n }\n\n private static hasNoChildren(state: NodeState): boolean {\n return !state.children || state.children.length === 0;\n }\n\n private addSelected(state: NodeState): void {\n this.selectedItems.push(state.nodeItem.item);\n this.selectedStates.push(state);\n\n if (this.callbacks?.select) {\n this.callbacks.select(state.nodeItem);\n }\n }\n\n public reEvaluateSelectedState(state: NodeState): void {\n if (!TreeService.hasNoChildren(state)) {\n this.childStateChanged(state);\n\n for (const child of state.children) {\n this.reEvaluateSelectedState(child);\n }\n }\n }\n\n public childStateChanged(state: NodeState): void {\n if (this.anyChildSelected(state)) {\n if (state.nodeItem.id != '0') {\n let itemIndex = this.selectedItems.indexOf(state.nodeItem.item);\n\n if (itemIndex === -1) {\n this.selectedItems.push(state.nodeItem.item);\n }\n }\n\n if (this.allChildrenSelected(state)) {\n this.setChecked(state, false);\n } else {\n state.selectedState = NodeSelectedState.indeterminate;\n state.selected = false;\n }\n } else {\n this.setUnchecked(state, false);\n }\n\n if (state.parent) {\n this.childStateChanged(state.parent);\n }\n }\n\n private anyChildSelected(state: NodeState): boolean {\n return state.children.find((item: NodeState) => item.selectedState === NodeSelectedState.checked || item.selectedState === NodeSelectedState.indeterminate) != null;\n }\n\n public static initState(parent: NodeState, nodeItem: NodeItem<any>): NodeState {\n return {\n parent: parent,\n children: [],\n filteredChildren: [],\n hasFilteredChildren: false,\n nodeItem: nodeItem,\n expanded: nodeItem.expanded !== false,\n disabled: nodeItem.disabled === true,\n selectedState: NodeSelectedState.unChecked,\n selected: false,\n showCheckbox: nodeItem.showCheckbox\n };\n }\n\n private allChildrenSelected(state: NodeState): boolean {\n if (state.nodeItem.children) {\n return state.children.every(it => it.selectedState === NodeSelectedState.checked) && state.children.length === state.nodeItem.children.length;\n } else {\n return state.children.every(it => it.selectedState === NodeSelectedState.checked);\n }\n }\n\n private anyActiveSelected(state: NodeState): boolean {\n let result = state.children.filter(it => !it.disabled && it.selected).length > 0;\n\n for (const child of state.children) {\n if (!TreeService.hasNoChildren(child) && this.anyActiveSelected(child)) {\n result = true;\n }\n }\n\n return result;\n }\n\n public filterChanged(value: string) {\n this.filterValue = value;\n this.filterChangeSubject.next(value);\n }\n}\n","import {Component, Input} from '@angular/core';\nimport {NodeState} from '../../models/node-state';\n\n@Component({\n selector: 'node-toggle',\n templateUrl: './node-toggle.component.html',\n styleUrls: ['./node-toggle.component.scss']\n})\nexport class NodeToggleComponent {\n @Input() public state: NodeState;\n}\n","<div class=\"node-toggle-wrapper\" [class.collapsable]=\"state.nodeItem?.children?.length > 0\"\n (click)=\"state.expanded = !state.expanded\">\n <gravity-icon [iconName]=\"state.expanded ? 'arrow-down' : 'arrow-right'\" [iconSize]=\"'md-16'\"\n *ngIf=\"state.nodeItem?.children?.length > 0\"></gravity-icon>\n</div>\n","import {Component, Input} from '@angular/core';\nimport {TreeService} from '../../service/tree-service';\nimport {NodeState} from \"../../models/node-state\";\n\n@Component({\n selector: 'node-checkbox',\n templateUrl: './node-checkbox.component.html',\n styleUrls: ['./node-checkbox.component.scss']\n})\nexport class NodeCheckboxComponent {\n @Input() public state: NodeState;\n\n constructor(private readonly treeService: TreeService) {\n }\n\n public clickOnCheckbox(): void {\n if (!this.state.disabled) {\n this.treeService.checkboxClick(this.state);\n\n setTimeout(() => {\n this.treeService.reEvaluateSelectedState(this.state);\n }, 1);\n }\n }\n}\n","<gravity-icon class=\"border-radius-sm checkbox-icon\" [class.unselect]=\"state.selectedState == 1\"\n [class.select]=\"state.selectedState != 1\" [class.disabled]=\"state.disabled\"\n\n (click)=\"clickOnCheckbox()\"\n\n [iconName]=\"state.selectedState == 2 ? 'uncheck' : 'check'\"\n [iconSize]=\"state.selectedState == 2 ? null : 'lg-24'\"\n [size]=\"state.selectedState == 2 ? 'md' : null\"></gravity-icon>\n","import {Component, Input} from '@angular/core';\nimport {NodeState} from '../../models/node-state';\n\n@Component({\n selector: 'node-name',\n templateUrl: './node-name.component.html',\n styleUrls: ['./node-name.component.scss']\n})\nexport class NodeNameComponent {\n @Input() public state: NodeState;\n}\n","<div [class.disabled]=\"state.disabled\" class=\"node-name\">\n <span class=\"hr-label md-regular\">{{state.nodeItem.name}}</span>\n</div>\n","import {Component, Input} from '@angular/core';\nimport {NodeState} from '../models/node-state';\n\n@Component({\n selector: 'tree-node',\n templateUrl: './node.component.html',\n styleUrls: ['./node.component.scss']\n})\nexport class NodeComponent {\n @Input() public nodeState: NodeState;\n}\n","<div class=\"node-container\">\n <div class=\"node-content\">\n <node-toggle [state]=\"nodeState\"></node-toggle>\n <node-checkbox [state]=\"nodeState\" *ngIf=\"nodeState.showCheckbox\"></node-checkbox>\n <node-name [state]=\"nodeState\"></node-name>\n </div>\n <div class=\"collapsible-wrapper\" *ngIf=\"nodeState.nodeItem.children\"\n [class.collapsed]=\"!nodeState.expanded && nodeState.nodeItem.children.length > 0 && nodeState.filteredChildren.length > 0\">\n <div class=\"collapsible\">\n <tree-node class=\"node-offset\" [nodeState]=\"child\"\n *ngFor=\"let child of nodeState.filteredChildren\"></tree-node>\n </div>\n </div>\n</div>\n","import {Component, EventEmitter, Input, OnChanges, OnDestroy, Output, SimpleChanges} from '@angular/core';\nimport {TreeService} from \"./service/tree-service\";\nimport {Subscription, timer} from \"rxjs\";\nimport {NodeItem} from \"./models/node-item\";\nimport {TreeCallbacks} from \"./models/tree-callbacks\";\nimport {NodeState} from \"./models/node-state\";\n\n@Component({\n selector: 'gravity-tree-view',\n templateUrl: './gravity-tree-view.component.html',\n styleUrls: ['./gravity-tree-view.component.scss'],\n providers: [TreeService]\n})\nexport class GravityTreeViewComponent implements OnDestroy, OnChanges {\n private readonly treeServiceSubscription: Subscription;\n\n @Input() callbacks: TreeCallbacks;\n @Input() nodeItems: NodeItem<any>[];\n @Input() showFilterInput: boolean = false;\n @Output() selectedItems = new EventEmitter<any>();\n\n constructor(public readonly treeService: TreeService) {\n this.treeServiceSubscription = treeService.connect().subscribe((items: any[]) => {\n const subscription = timer(0).subscribe(() => {\n this.selectedItems.emit(items);\n subscription.unsubscribe();\n });\n });\n }\n\n ngOnDestroy() {\n this.treeServiceSubscription.unsubscribe();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.callbacks) {\n this.treeService.callbacks = this.callbacks;\n }\n\n if (changes.nodeItems) {\n this.initialize();\n }\n }\n\n public initialize(): void {\n this.treeService.callbacks = this.callbacks;\n this.treeService.nodeItems = this.nodeItems;\n\n this.treeService.treeState = this.initTreeStructure(null, this.treeService.nodeItems);\n this.treeService.clear();\n this.treeService.setInitialState();\n }\n\n private initTreeStructure(parent: NodeState, nodeItems: NodeItem<any>[]): NodeState[] {\n const treeStructure: NodeState[] = [];\n\n nodeItems.forEach((nodeItem: NodeItem<any>) => {\n const nodeState: NodeState = TreeService.initState(parent, nodeItem);\n\n if (nodeItem.children) {\n nodeState.children = this.initTreeStructure(nodeState, nodeItem.children);\n nodeState.filteredChildren = nodeState.children;\n }\n\n treeStructure.push(nodeState);\n });\n\n return treeStructure;\n }\n\n public changeFilter(newValue: string): void {\n this.treeService.filterChanged(newValue.toLowerCase());\n }\n}\n","<gravity-text-field [label]=\"'Change filter'\" *ngIf=\"showFilterInput\"\n (response)=\"changeFilter($event)\"></gravity-text-field>\n<tree-node [nodeState]=\"state\" *ngFor=\"let state of treeService.treeState\"></tree-node>\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\n\n@Component({\n selector: 'gravity-stepper',\n templateUrl: './gravity-stepper.component.html',\n styleUrls: ['./gravity-stepper.component.scss']\n})\nexport class GravityStepperComponent {\n @Input() public currentLang: string = 'en';\n @Input() public stepLabels: string[];\n\n @Output('currentStep') public currentStepResponse: EventEmitter<number> = new EventEmitter<number>();\n\n public currentStep: number = 1;\n\n public goNext(): void {\n this.currentStep++;\n this.currentStepResponse.emit(this.currentStep);\n }\n\n public goBack(): void {\n this.currentStep--;\n this.currentStepResponse.emit(this.currentStep);\n }\n\n public reset(): void {\n this.currentStep = 1;\n this.currentStepResponse.emit(this.currentStep);\n }\n}\n","<div class=\"stepper-header\">\n <div class=\"step\" *ngFor=\"let stepLabel of stepLabels; let index = index\"\n [class.current]=\"(index + 1) == currentStep\"\n [class.pending]=\"(index + 1) > currentStep\"\n [class.completed]=\"(index + 1) < currentStep\"\n [style.--step-width]=\"(100 / stepLabels.length) + '%'\">\n <hr>\n <div class=\"step-content gravity-padding-right-md\">\n <gravity-icon class=\"border-radius-rounded gravity-margin-top-xs gravity-margin-right-sm gravity-padding-xs\"\n [style.--icon-color]=\"'var(--gravity-icon-color)'\" [iconName]=\"'check'\"\n [iconSize]=\"'xl-32'\"></gravity-icon>\n <div>\n <p class=\"step-number hr-label md-regular\">\n {{currentLang == 'es' ? 'Paso' : 'Step'}} 0{{index + 1}}\n </p>\n <p class=\"step-text hr-label md-bold\">{{stepLabel}}</p>\n <p class=\"border-radius-rounded hr-label md-regular step-state\"\n [class.current]=\"(index + 1) == currentStep\"\n [class.pending]=\"(index + 1) > currentStep\"\n [class.completed]=\"(index + 1) < currentStep\">\n {{currentLang == 'en' ? ((index + 1) == currentStep ? 'In progress' : (index + 1) > currentStep ? 'Pending' : 'Completed') : ''}}\n {{currentLang == 'es' ? ((index + 1) == currentStep ? 'En progreso' : (index + 1) > currentStep ? 'Pendiente' : 'Completado') : ''}}\n </p>\n </div>\n </div>\n </div>\n <div class=\"gravity-margin-top-xs mobile\">\n <p class=\"border-radius-xs current gravity-margin-right-xs hr-label md-regular step-state\">\n {{currentLang == 'en' ? 'In progress' : 'En progreso'}}\n </p>\n <p class=\"step-number gravity-margin-right-xs hr-label md-regular\">\n {{currentLang == 'es' ? 'Paso' : 'Step'}} 0{{currentStep}}:\n </p>\n <p class=\"step-text hr-label md-bold\">{{stepLabels[currentStep - 1]}}</p>\n </div>\n</div>\n<div class=\"stepper-content\">\n <ng-content></ng-content>\n</div>\n","import {Component, inject, TemplateRef, ViewChild} from '@angular/core';\nimport {NgbOffcanvas} from '@ng-bootstrap/ng-bootstrap';\nimport {NgbOffcanvasOptions} from \"@ng-bootstrap/ng-bootstrap/offcanvas/offcanvas-config\";\n\n@Component({\n selector: 'gravity-offcanvas',\n templateUrl: './gravity-offcanvas.component.html',\n styleUrls: ['./gravity-offcanvas.component.scss']\n})\nexport class GravityOffcanvasComponent {\n @ViewChild('offcanvasContent', {static: false}) private readonly offcanvasContent: TemplateRef<any>;\n\n private readonly offcanvasService: NgbOffcanvas = inject(NgbOffcanvas);\n\n public open(options?: NgbOffcanvasOptions): void {\n this.offcanvasService.open(this.offcanvasContent, options);\n }\n\n public dismiss(): void {\n this.offcanvasService.dismiss();\n }\n}\n","<ng-template #offcanvasContent>\n <ng-content></ng-content>\n</ng-template>\n","import {Component, EventEmitter, Input, Output, Renderer2, ViewChild} from '@angular/core';\n\n@Component({\n selector: 'gravity-text-field-number-only',\n templateUrl: './gravity-text-field-number-only.component.html',\n styleUrls: ['./gravity-text-field-number-only.component.scss', './gravity-text-field-number-only.variables.scss']\n})\nexport class GravityTextFieldNumberOnlyComponent {\n @Output('response') public textFieldValueResponse: EventEmitter<string> = new EventEmitter();\n @ViewChild('digitContainer0', {static: false}) private digitContainer0: any;\n @ViewChild('digitContainer1', {static: false}) private digitContainer1: any;\n @ViewChild('digitContainer2', {static: false}) private digitContainer2: any;\n @ViewChild('digitContainer3', {static: false}) private digitContainer3: any;\n @ViewChild('digitContainer4', {static: false}) private digitContainer4: any;\n @ViewChild('digitContainer5', {static: false}) private digitContainer5: any;\n\n // Component\n @Input() public currentLang: string = 'en';\n @Input() public customState: 'default' | 'active' | 'hover' | 'typing' | 'typed' | 'typed-error' | 'typed-positive' | 'disabled' | 'readonly' = 'default';\n @Input() public cypressTag: string;\n @Input() public label: string;\n @Input() public required: boolean;\n @Input() public size: 'sm' | 'md' = 'md';\n @Input() public supportText: string;\n\n public focusInput: boolean = false;\n public inputValue: string = '';\n\n constructor(private readonly renderer: Renderer2) {\n }\n\n public clearInput(): void {\n this.inputValue = '';\n }\n\n public getTextFieldStatus(): string {\n if (this.customState == 'default') {\n if (!this.focusInput && !this.inputValue) {\n return 'active';\n } else if (!this.focusInput && this.inputValue) {\n return 'typed';\n } else {\n return 'typing';\n }\n } else {\n return this.customState;\n }\n }\n\n public onKeyDownEvent($event: KeyboardEvent): void {\n let navigationKeys = ['Backspace', 'Delete', 'Tab', 'Escape', 'Enter', 'Home', 'End', 'ArrowLeft', 'ArrowRight', 'Clear', 'Copy', 'Paste'];\n\n if (\n navigationKeys.indexOf($event.key) > -1 || // Allow: navigation keys: backspace, delete, arrows etc.\n ($event.key === 'a' && $event.ctrlKey === true) || // Allow: Ctrl+A\n ($event.key === 'c' && $event.ctrlKey === true) || // Allow: Ctrl+C\n ($event.key === 'v' && $event.ctrlKey === true) || // Allow: Ctrl+V\n ($event.key === 'x' && $event.ctrlKey === true) || // Allow: Ctrl+X\n ($event.key === 'a' && $event.metaKey === true) || // Allow: Cmd+A (Mac)\n ($event.key === 'c' && $event.metaKey === true) || // Allow: Cmd+C (Mac)\n ($event.key === 'v' && $event.metaKey === true) || // Allow: Cmd+V (Mac)\n ($event.key === 'x' && $event.metaKey === true) // Allow: Cmd+X (Mac)\n ) {\n // let it happen, don't do anything\n return;\n }\n\n // Ensure that it is a number and stop the keypress\n if (\n ($event.shiftKey || ($event.keyCode < 48 || $event.keyCode > 57)) &&\n ($event.keyCode < 96 || $event.keyCode > 105)\n ) {\n $event.preventDefault();\n }\n }\n\n public returnValue(): void {\n if (this.inputValue == '') {\n this.textFieldValueResponse.emit('');\n } else {\n this.textFieldValueResponse.emit(this.inputValue);\n }\n }\n\n public setFocus(textareaElement: HTMLTextAreaElement): void {\n let containers: any[] = [this.digitContainer0, this.digitContainer1, this.digitContainer2, this.digitContainer3, this.digitContainer4, this.digitContainer5];\n\n for (let index = 0; index < containers.length; index++) {\n if (index == textareaElement.selectionStart) {\n this.renderer.addClass(containers[index].nativeElement, 'focused');\n } else {\n this.renderer.removeClass(containers[index].nativeElement, 'focused');\n }\n }\n\n if (textareaElement.selectionStart == 6) {\n this.renderer.addClass(textareaElement, 'hide-caret');\n } else {\n this.renderer.removeClass(textareaElement, 'hide-caret');\n }\n }\n}\n","<div class=\"{{size}}\" style=\"width: fit-content\">\n <label class=\"hr-label sm-bold {{getTextFieldStatus()}}\" [class.custom-label-size]=\"size == 'sm'\" *ngIf=\"label\">\n {{label}} <span *ngIf=\"required || getTextFieldStatus() == 'typed-error'\">*</span>\n </label>\n <div class=\"text-field-number-only-wrapper {{getTextFieldStatus()}}\">\n <textarea [attr.data-cy]=\"cypressTag\"\n [attr.disabled]=\"customState == 'disabled' ? true : null\"\n [attr.readonly]=\"customState == 'readonly' ? true : null\"\n #textAreaElement\n\n autocomplete=\"off\"\n class=\"hr-label {{size}}-regular\"\n cols=\"6\"\n maxlength=\"6\"\n minlength=\"6\"\n inputmode=\"numeric\"\n placeholder=\"______\"\n rows=\"1\"\n type=\"text\"\n\n [(ngModel)]=\"inputValue\"\n\n (blur)=\"focusInput = false\"\n (click)=\"setFocus(textAreaElement)\"\n (focus)=\"focusInput = true\"\n (keydown)=\"onKeyDownEvent($event)\"\n (keyup)=\"setFocus(textAreaElement); returnValue()\"></textarea>\n <div class=\"digit-container\" #digitContainer0></div>\n <div class=\"digit-container\" #digitContainer1></div>\n <div class=\"digit-container\" #digitContainer2></div>\n <div class=\"digit-container\" #digitContainer3></div>\n <div class=\"digit-container\" #digitContainer4></div>\n <div class=\"digit-container\" #digitContainer5></div>\n <div class=\"overflow\"></div>\n </div>\n <p class=\"hr-label sm-regular supporting-text {{getTextFieldStatus()}}\" [class.custom-label-size]=\"size == 'sm'\"\n *ngIf=\"supportText\">\n <gravity-icon [iconName]=\"'question-circle'\" *ngIf=\"getTextFieldStatus() == 'typed-error'\"\n [iconSize]=\"'sm-12'\"></gravity-icon>\n {{supportText}}\n </p>\n <p class=\"hr-label sm-regular supporting-text {{getTextFieldStatus()}}\" [class.custom-label-size]=\"size == 'sm'\"\n *ngIf=\"!supportText && getTextFieldStatus() == 'active' && inputValue == '' && required\">\n {{currentLang == 'es' ? 'Requerido' : 'Required'}}\n </p>\n</div>\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\n\n@Component({\n selector: 'gravity-icon-button',\n templateUrl: './gravity-icon-button.component.html',\n styleUrls: ['./gravity-icon-button.component.scss']\n})\nexport class GravityIconButtonComponent {\n @Input() public icon: string;\n @Input() public state: 'active' | 'pressed' | 'disabled' = 'active';\n @Input() public type: 'primary' | 'secondary' = \"primary\";\n\n @Output() public clickOnIcon: EventEmitter<void> = new EventEmitter<void>();\n\n public onClick(): void {\n if (this.state != 'disabled') {\n this.clickOnIcon.emit();\n }\n }\n}\n","<div class=\"gravity-icon-button {{type}} {{state}}\" (click)=\"onClick()\">\n <gravity-icon [iconName]=\"icon\" [iconSize]=\"'md-16'\"></gravity-icon>\n</div>\n","import {Component, Input} from '@angular/core';\n\n@Component({\n selector: 'gravity-status-indicator',\n templateUrl: './gravity-status-indicator.component.html',\n styleUrls: ['./gravity-status-indicator.component.scss']\n})\nexport class GravityStatusIndicatorComponent {\n @Input() public icon: string;\n @Input() public status: 'positive' | 'negative' | 'neutro' = 'neutro';\n @Input() public text: string;\n}\n","<div class=\"gravity-status-indicator hr-body-text sm-regular {{status}}\">\n {{text}}\n <gravity-icon [iconName]=\"icon\" [iconSize]=\"'sm-12'\" *ngIf=\"icon\"></gravity-icon>\n</div>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from \"@angular/common\";\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\nimport {GravityButtonComponent} from './components/gravity-button/gravity-button.component';\nimport {GravityDropdownListComponent} from \"./components/gravity-dropdown-list/gravity-dropdown-list.component\";\nimport {GravityTextFieldComponent} from \"./components/gravity-text-field/gravity-text-field.component\";\nimport {GravityTooltipModule} from \"./vendor/gravity-tooltip\";\nimport {AngularSvgIconPreloaderModule} from \"angular-svg-icon-preloader\";\nimport {AngularSvgIconModule} from \"angular-svg-icon\";\nimport {GravityCalendarComponent} from \"./components/gravity-calendar/gravity-calendar.component\";\nimport {\n NgbDatepickerModule,\n NgbOffcanvasModule,\n NgbProgressbarModule,\n NgbToastModule\n} from \"@ng-bootstrap/ng-bootstrap\";\nimport {GravityRadioButtonComponent} from './components/gravity-radio-button/gravity-radio-button.component';\nimport {GravitySwitchComponent} from './components/gravity-switch/gravity-switch.component';\nimport {GravityCheckboxComponent} from './components/gravity-checkbox/gravity-checkbox.component';\nimport {GravityDialogComponent} from \"./components/gravity-dialog/gravity-dialog.component\";\nimport {GravityIconComponent} from \"./components/gravity-icon/gravity-icon.component\";\nimport {GravityNotificationComponent} from \"./components/gravity-notification/gravity-notification.component\";\nimport {\n GravityNotificationInstantContainerComponent\n} from \"./components/gravity-notification-instant/gravity-notification-instant-container.component\";\nimport {GravityAttachFileComponent} from \"./components/gravity-attach-file/gravity-attach-file.component\";\nimport {GravityTableComponent} from \"./components/gravity-table/gravity-table.component\";\nimport {GravityTreeViewComponent} from \"./components/gravity-tree-view/gravity-tree-view.component\";\nimport {NodeComponent} from \"./components/gravity-tree-view/node/node.component\";\nimport {NodeToggleComponent} from \"./components/gravity-tree-view/node/node-toggle/node-toggle.component\";\nimport {NodeCheckboxComponent} from \"./components/gravity-tree-view/node/node-checkbox/node-checkbox.component\";\nimport {NodeNameComponent} from \"./components/gravity-tree-view/node/node-name/node-name.component\";\nimport {GravityStepperComponent} from \"./components/gravity-stepper/gravity-stepper.component\";\nimport {BsDatepickerModule} from \"ngx-bootstrap/datepicker\";\nimport {GravityOffcanvasComponent} from \"./components/gravity-offcanvas/gravity-offcanvas.component\";\nimport {\n GravityTextFieldNumberOnlyComponent\n} from \"./components/gravity-text-field-number-only/gravity-text-field-number-only.component\";\nimport {FilterByPipe} from \"./components/gravity-dropdown-list/filter-by.pipe\";\nimport {GravityIconButtonComponent} from \"./components/gravity-icon-button/gravity-icon-button.component\";\nimport {\n GravityStatusIndicatorComponent\n} from \"./components/gravity-status-indicator/gravity-status-indicator.component\";\n\n@NgModule({\n declarations: [\n GravityAttachFileComponent,\n GravityButtonComponent,\n GravityCalendarComponent,\n GravityCheckboxComponent,\n GravityDialogComponent,\n GravityDropdownListComponent,\n GravityIconButtonComponent,\n GravityIconComponent,\n GravityNotificationComponent,\n GravityNotificationInstantContainerComponent,\n GravityOffcanvasComponent,\n GravityRadioButtonComponent,\n GravityStatusIndicatorComponent,\n GravityStepperComponent,\n GravitySwitchComponent,\n GravityTableComponent,\n GravityTextFieldComponent,\n GravityTextFieldNumberOnlyComponent,\n GravityTreeViewComponent,\n\n NodeComponent,\n NodeToggleComponent,\n NodeCheckboxComponent,\n NodeNameComponent,\n\n FilterByPipe\n ],\n imports: [\n AngularSvgIconModule.forRoot(),\n AngularSvgIconPreloaderModule.forRoot({\n configUrl: './assets/gravity/json/icons.json',\n }),\n BsDatepickerModule,\n CommonModule,\n FormsModule,\n GravityTooltipModule.forRoot({}),\n NgbDatepickerModule,\n NgbOffcanvasModule,\n NgbProgressbarModule,\n NgbToastModule,\n ReactiveFormsModule\n ],\n exports: [\n GravityAttachFileComponent,\n GravityButtonComponent,\n GravityCalendarComponent,\n GravityCheckboxComponent,\n GravityDialogComponent,\n GravityDropdownListComponent,\n GravityIconButtonComponent,\n GravityIconComponent,\n GravityNotificationInstantContainerComponent,\n GravityOffcanvasComponent,\n GravityRadioButtonComponent,\n GravityStatusIndicatorComponent,\n GravityStepperComponent,\n GravitySwitchComponent,\n GravityTableComponent,\n GravityTextFieldComponent,\n GravityTextFieldNumberOnlyComponent,\n GravityTooltipModule,\n GravityTreeViewComponent\n ]\n})\nexport class GravityDesignSystemModule {\n}\n","import {Injectable} from \"@angular/core\";\nimport {NgbModal, NgbModalRef} from \"@ng-bootstrap/ng-bootstrap\";\nimport {\n GravityDialogComponent,\n GravityDialogContentInterface\n} from \"../components/gravity-dialog/gravity-dialog.component\";\nimport {GravityInstantNotificationsService} from \"./gravity-instant-notifications.service\";\nimport {GravityNotificationComponent} from \"../components/gravity-notification/gravity-notification.component\";\nimport {GravityNotificationContent} from \"../components/gravity-notification/gravity-notification-content.interface\";\n\n@Injectable({providedIn: \"root\"})\nexport class GravityDialogManagerService {\n constructor(private readonly ngbModal: NgbModal, private readonly gravityInstantNotificationsService: GravityInstantNotificationsService) {\n }\n\n public openModal(gravityDialogContentInterface: GravityDialogContentInterface, scrollableDialog: boolean = false, modalSize: 'sm' | 'md' | 'lg' | 'xl' | 'fit' = 'md', backdrop: boolean | 'static' = true): NgbModalRef {\n const modalRef = this.ngbModal.open(GravityDialogComponent, {\n centered: true,\n scrollable: scrollableDialog,\n size: modalSize,\n backdrop: backdrop\n });\n modalRef.componentInstance.dialogContent = gravityDialogContentInterface;\n return modalRef;\n }\n\n public throwInformativeNotification(notificationContent: GravityNotificationContent): void {\n const modalRef = this.ngbModal.open(GravityNotificationComponent, {\n modalDialogClass: 'informative-notification',\n centered: true\n });\n modalRef.componentInstance.notificationContent = notificationContent;\n }\n\n public throwInstantNotification(notificationContent: GravityNotificationContent): void {\n this.gravityInstantNotificationsService.showNotification(notificationContent);\n }\n\n public closeModal(modalToClose: NgbModalRef, returnValue?: any): any {\n modalToClose.close(returnValue);\n }\n\n public closeAllModals(): boolean {\n if (this.ngbModal.hasOpenModals()) {\n this.ngbModal.dismissAll('dismiss all modals');\n }\n\n return true;\n }\n}\n","/*\n * Public API Surface of gravity-design-system\n */\n\nexport * from './lib/gravity-design-system.module';\n\n//Components\nexport * from './lib/components/gravity-attach-file/gravity-attach-file.component';\nexport * from './lib/components/gravity-button/gravity-button.component';\nexport * from './lib/components/gravity-calendar/gravity-calendar.component';\nexport * from './lib/components/gravity-checkbox/gravity-checkbox.component';\nexport * from './lib/components/gravity-dialog/gravity-dialog.component';\nexport * from './lib/components/gravity-dropdown-list/gravity-dropdown-list.component';\nexport * from './lib/components/gravity-icon/gravity-icon.component';\nexport * from './lib/components/gravity-icon-button/gravity-icon-button.component';\nexport * from './lib/components/gravity-notification-instant/gravity-notification-instant-container.component';\nexport * from './lib/components/gravity-offcanvas/gravity-offcanvas.component';\nexport * from './lib/components/gravity-radio-button/gravity-radio-button.component';\nexport * from './lib/components/gravity-status-indicator/gravity-status-indicator.component';\nexport * from './lib/components/gravity-stepper/gravity-stepper.component';\nexport * from './lib/components/gravity-switch/gravity-switch.component';\nexport * from './lib/components/gravity-table/gravity-table.component';\nexport * from './lib/components/gravity-text-field/gravity-text-field.component';\nexport * from './lib/components/gravity-text-field-number-only/gravity-text-field-number-only.component';\nexport * from './lib/components/gravity-tree-view/gravity-tree-view.component';\n\n//Services\nexport * from './lib/services/gravity-dialog-manager.service';\n\n//Vendor\nexport * from './lib/vendor/gravity-tooltip';\n\n//Models and interfaces\nexport * from './lib/components/gravity-notification/gravity-notification-content.interface';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3.GravityIconComponent","i2.GravityIconComponent","i1.FilterByPipe","i3","i4.GravityCheckboxComponent","i5.GravityIconComponent","i1.GravityInstantNotificationsService","i4.GravityIconComponent","i2.GravityButtonComponent","i1.GravityButtonComponent","i1.TreeService","i2.NodeToggleComponent","i3.NodeCheckboxComponent","i4.NodeNameComponent","i3.GravityTextFieldComponent","i4.NodeComponent","i1.GravityIconComponent","i2.GravityInstantNotificationsService"],"mappings":"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"}
1
+ {"version":3,"file":"progressio_resources-gravity-design-system.mjs","sources":["../../../projects/gravity-design-system/src/lib/components/gravity-icon/gravity-icon.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-icon/gravity-icon.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-button/gravity-button.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-button/gravity-button.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-dropdown-list/filter-by.pipe.ts","../../../projects/gravity-design-system/src/lib/components/gravity-checkbox/gravity-checkbox.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-checkbox/gravity-checkbox.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-dropdown-list/gravity-dropdown-list.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-dropdown-list/gravity-dropdown-list.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-text-field/gravity-text-field.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-text-field/gravity-text-field.component.html","../../../projects/gravity-design-system/src/lib/vendor/gravity-tooltip/gravity-tooltip.component.ts","../../../projects/gravity-design-system/src/lib/vendor/gravity-tooltip/gravity-tooltip.component.html","../../../projects/gravity-design-system/src/lib/vendor/gravity-tooltip/options.service.ts","../../../projects/gravity-design-system/src/lib/vendor/gravity-tooltip/options.ts","../../../projects/gravity-design-system/src/lib/vendor/gravity-tooltip/gravity-tooltip.directive.ts","../../../projects/gravity-design-system/src/lib/vendor/gravity-tooltip/gravity-tooltip.module.ts","../../../projects/gravity-design-system/src/lib/components/gravity-calendar/gravity-calendar.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-calendar/gravity-calendar.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-radio-button/gravity-radio-button.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-radio-button/gravity-radio-button.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-switch/gravity-switch.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-switch/gravity-switch.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-dialog/gravity-dialog.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-dialog/gravity-dialog.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-notification/gravity-notification.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-notification/gravity-notification.component.html","../../../projects/gravity-design-system/src/lib/services/gravity-instant-notifications.service.ts","../../../projects/gravity-design-system/src/lib/components/gravity-notification-instant/gravity-notification-instant-container.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-notification-instant/gravity-notification-instant-container.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-attach-file/gravity-attach-file.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-attach-file/gravity-attach-file.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-table/gravity-table.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-table/gravity-table.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-tree-view/models/node-selected-state.ts","../../../projects/gravity-design-system/src/lib/components/gravity-tree-view/service/tree-service.ts","../../../projects/gravity-design-system/src/lib/components/gravity-tree-view/node/node-toggle/node-toggle.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-tree-view/node/node-toggle/node-toggle.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-tree-view/node/node-checkbox/node-checkbox.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-tree-view/node/node-checkbox/node-checkbox.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-tree-view/node/node-name/node-name.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-tree-view/node/node-name/node-name.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-tree-view/node/node.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-tree-view/node/node.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-tree-view/gravity-tree-view.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-tree-view/gravity-tree-view.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-stepper/gravity-stepper.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-stepper/gravity-stepper.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-offcanvas/gravity-offcanvas.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-offcanvas/gravity-offcanvas.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-text-field-number-only/gravity-text-field-number-only.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-text-field-number-only/gravity-text-field-number-only.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-icon-button/gravity-icon-button.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-icon-button/gravity-icon-button.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-status-indicator/gravity-status-indicator.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-status-indicator/gravity-status-indicator.component.html","../../../projects/gravity-design-system/src/lib/gravity-design-system.module.ts","../../../projects/gravity-design-system/src/lib/services/gravity-dialog-manager.service.ts","../../../projects/gravity-design-system/src/public-api.ts","../../../projects/gravity-design-system/src/progressio_resources-gravity-design-system.ts"],"sourcesContent":["import {Component, Input} from '@angular/core';\n\n@Component({\n selector: 'gravity-icon',\n templateUrl: './gravity-icon.component.html',\n styleUrls: ['./gravity-icon.component.scss']\n})\nexport class GravityIconComponent {\n @Input() public customIconColorVariable: string;\n @Input() public iconName: string;\n @Input() public iconSize: 'lg-24' | 'md-16' | 'sm-12' | 'xl-32';\n @Input() public hoverIcon: boolean;\n @Input() public size: 'sm' | 'md' | 'lg';\n\n public static isOldIcon(iconName: string): boolean {\n return OLD_ICONS[iconName] != undefined;\n }\n\n public static isNewIcon(iconName: string): boolean {\n return ICONS[iconName] != undefined;\n }\n}\n\nexport enum OLD_ICONS {\n 'uncheck',\n 'arrow-back'\n}\n\nexport enum ICONS {\n 'addressbook',\n 'arrow-down',\n 'arrow-left',\n 'arrow-right',\n 'arrow-up',\n 'bell',\n 'calendar',\n 'check',\n 'chevron-double-down',\n 'chevron-double-up',\n 'copy',\n 'download',\n 'eye-closed',\n 'eye-open',\n 'graphics',\n 'happy-face',\n 'home',\n 'information-circle',\n 'internal-processing',\n 'language',\n 'mail',\n 'menu',\n 'more-options',\n 'news',\n 'plus',\n 'question-circle',\n 'rates',\n 'report',\n 'search',\n 'security',\n 'settings',\n 'sign-out',\n 'success-circle',\n 'swaps',\n 'swaps-arrow-left',\n 'swaps-arrow-right',\n 'trash',\n 'unlock',\n 'unsuccess',\n 'update',\n 'user',\n 'warning-circle'\n}\n","<svg-icon [class.with-hover]=\"hoverIcon\" class=\"{{size}} {{iconSize}}\" [style.--icon-color]=\"customIconColorVariable\"\n [name]=\"iconSize ? 'gt-icon-' + iconName + '-' + iconSize : iconName\"></svg-icon>\n","import {Component, Input} from '@angular/core';\nimport {GravityIconComponent} from \"../gravity-icon/gravity-icon.component\";\n\n@Component({\n selector: 'gravity-button',\n templateUrl: './gravity-button.component.html',\n styleUrls: ['./gravity-button.component.scss'],\n})\nexport class GravityButtonComponent {\n @Input() public cypressTag: string;\n @Input() public disabled: boolean;\n @Input() public customState: 'active' | 'hover' | 'pressed' | null;\n @Input() public iconPosition: 'left' | 'right' = 'left';\n @Input() public iconName: string | undefined;\n @Input() public isLoading: boolean = false;\n @Input() public showContent: boolean = true;\n @Input() public size: 'sm' | 'md' | 'lg' = \"md\";\n @Input() public type: 'primary' | 'secondary' | 'tertiary' | 'positive' | 'negative' | 'disabled';\n\n public isNewIcon(iconName: string): boolean {\n return GravityIconComponent.isNewIcon(iconName);\n }\n}\n","<button [attr.data-cy]=\"cypressTag\" [disabled]=\"disabled\" [style]=\"isLoading ? {'pointer-events': 'none'} : {}\"\n class=\"border-radius-sm gravity-button-{{type}} gravity-size-{{size}} hr-label {{size}}-bold {{customState}}\">\n <ng-container *ngIf=\"!isLoading\">\n <gravity-icon [style.--icon-color]=\"'var(--button-text-color)'\" [size]=\"isNewIcon(iconName) ? null : 'md'\"\n [hoverIcon]=\"false\" [iconName]=\"iconName\" *ngIf=\"iconName && iconPosition == 'left'\"\n [iconSize]=\"isNewIcon(iconName) ? 'md-16' : null\" class=\"icon-{{iconPosition}}\"></gravity-icon>\n <span class=\"button-content-wrapper\" *ngIf=\"showContent\">\n <ng-content></ng-content>\n </span>\n <gravity-icon [style.--icon-color]=\"'var(--button-text-color)'\" [size]=\"isNewIcon(iconName) ? null : 'md'\"\n [hoverIcon]=\"false\" [iconName]=\"iconName\" *ngIf=\"iconName && iconPosition == 'right'\"\n [iconSize]=\"isNewIcon(iconName) ? 'md-16' : null\" class=\"icon-{{iconPosition}}\"></gravity-icon>\n </ng-container>\n <ng-container *ngIf=\"isLoading\">\n <ngb-progressbar [animated]=\"true\" [striped]=\"true\" [value]=\"100\"></ngb-progressbar>\n </ng-container>\n</button>\n","import { Pipe, PipeTransform } from '@angular/core';\n\n/**\n * filters an array based on searctext\n */\n@Pipe({\n name: 'filterBy'\n})\nexport class FilterByPipe implements PipeTransform {\n public transform(array: any[], searchText?: string, keyName?: string) {\n if (!array || !searchText || !Array.isArray(array)) {\n return array;\n }\n if (typeof array[0] === 'string') {\n return array.filter((item) => item.toLowerCase().indexOf(searchText.trim().toLowerCase()) > -1);\n }\n // filter array, items which match and return true will be\n // kept, false will be filtered out\n if (!keyName) {\n return array.filter((item: any) => {\n for (const key in item) {\n if (typeof item[key] !== 'object' && item[key].toString().toLowerCase().indexOf(searchText.trim().toLowerCase()) > -1) {\n return true;\n }\n }\n return false;\n });\n } else {\n return array.filter((item: any) => {\n if (typeof item[keyName] !== 'object' && item[keyName].toString().toLowerCase().indexOf(searchText.trim().toLowerCase()) > -1) {\n return true;\n }\n return false;\n });\n }\n\n }\n}\n","import {AfterViewInit, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges} from '@angular/core';\n\n@Component({\n selector: 'gravity-checkbox',\n templateUrl: './gravity-checkbox.component.html',\n styleUrls: ['./gravity-checkbox.component.scss']\n})\nexport class GravityCheckboxComponent implements AfterViewInit, OnChanges {\n @Input() public checked: boolean = false;\n @Input() public disabled: boolean = false;\n @Input() public name: string;\n @Input() public size: 'md' | 'sm' = 'sm';\n @Input() public value: string;\n @Output() public change: EventEmitter<{ value: string, checked: boolean }> = new EventEmitter<{\n value: string,\n checked: boolean\n }>();\n\n public isCheckboxChecked: boolean = false;\n\n ngAfterViewInit() {\n this.isCheckboxChecked = this.checked;\n this.change.emit({value: this.value, checked: this.isCheckboxChecked});\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['checked']) {\n this.isCheckboxChecked = changes['checked'].currentValue;\n }\n }\n\n toggleCheckbox(): void {\n if (!this.disabled) {\n this.isCheckboxChecked = !this.isCheckboxChecked;\n this.change.emit({value: this.value, checked: this.isCheckboxChecked});\n }\n }\n}\n","<div class=\"gravity-checkbox-field size-{{size}}\" [class.disabled]=\"disabled\">\n <input [checked]=\"isCheckboxChecked\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [value]=\"value\"\n\n type=\"checkbox\">\n <span class=\"checkmark\" (click)=\"toggleCheckbox()\">\n <gravity-icon [iconName]=\"'check'\" [iconSize]=\"'sm-12'\" *ngIf=\"isCheckboxChecked\"></gravity-icon>\n </span>\n <label>\n <ng-content></ng-content>\n </label>\n</div>\n","import {\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport {GravityIconComponent} from \"../gravity-icon/gravity-icon.component\";\nimport {FilterByPipe} from \"./filter-by.pipe\";\n\n@Component({\n selector: 'gravity-dropdown-list',\n templateUrl: './gravity-dropdown-list.component.html',\n styleUrls: ['./gravity-dropdown-list.component.scss'],\n providers: [FilterByPipe]\n})\nexport class GravityDropdownListComponent implements OnChanges {\n @Output('response') public selectedItemsResponse: EventEmitter<any[] | any> = new EventEmitter();\n\n @Input() public clearable: boolean = true;\n @Input() public config?: { label: string; value: string; };\n @Input() public currentLang: string = 'en';\n @Input() public customValues: Array<any> | any;\n @Input() public cypressTag: string;\n @Input() public hasError: boolean = false;\n @Input() public iconLeft: string;\n @Input() public isDisabled: boolean = false;\n @Input() public isReadonly: boolean = false;\n @Input() public items: Array<any>;\n @Input() public label: string;\n @Input() public multiple: boolean = false;\n @Input() public placeholder: string;\n @Input() public required: boolean = false;\n @Input() public supportText: string;\n\n // Sizes\n @Input() public size: 'sm' | 'md' = 'md';\n @Input() public width: 'short' | 'medium' | 'full' | 'fit' = 'short';\n\n @ViewChild('searchInput')\n set watch(searchInput: ElementRef<HTMLInputElement>) {\n if (searchInput) {\n searchInput.nativeElement.focus();\n }\n };\n\n public availableOptions: any[] = [];\n public dropdownOpened: boolean = false;\n public searchText: string = '';\n public selectedItems: any[] = [];\n\n constructor(private readonly filterByPipe: FilterByPipe, private _eref: ElementRef) {\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['items']?.currentValue) {\n this.availableOptions = this.items;\n }\n\n if (changes['customValues']?.currentValue) {\n if (this.multiple) {\n changes['customValues'].currentValue.forEach((item: any) => {\n if (item) {\n let option: any;\n\n if (this.config) {\n option = this.availableOptions.find((availableOption: any) => availableOption[this.config.value] == item);\n } else {\n option = this.availableOptions.find((availableOption: any) => availableOption == item);\n }\n\n if (option) {\n let indexOfItem: number = this.selectedItems.findIndex((availableOption: any) => availableOption == option);\n\n if (indexOfItem == -1) {\n this.selectedItems.push(option);\n }\n }\n }\n });\n } else {\n let item: any = changes['customValues'].currentValue;\n\n if (item) {\n let option: any;\n\n if (this.config) {\n option = this.availableOptions.find((availableOption: any) => availableOption[this.config.value] == item);\n } else {\n option = this.availableOptions.find((availableOption: any) => availableOption == item);\n }\n\n if (option) {\n let indexOfItem: number = this.selectedItems.findIndex((availableOption: any) => availableOption == option);\n\n if (indexOfItem == -1) {\n this.selectedItems.push(option);\n }\n }\n }\n }\n }\n }\n\n public getStatus(): string {\n if (this.isDisabled) {\n return 'disabled';\n } else if (this.isReadonly) {\n return 'readonly';\n } else if (this.hasError) {\n return 'error';\n } else if (this.dropdownOpened) {\n return 'open';\n } else if (this.selectedItems.length > 0) {\n return 'selected';\n } else {\n return 'active';\n }\n }\n\n public isIconLeftNew(): boolean {\n if (this.iconLeft) {\n return GravityIconComponent.isNewIcon(this.iconLeft);\n }\n\n return false;\n }\n\n public toggleDropdown(): void {\n if (!this.isDisabled && !this.isReadonly) {\n this.dropdownOpened = !this.dropdownOpened;\n\n if (!this.dropdownOpened) {\n if (this.multiple) {\n if (this.selectedItems?.length > 0) {\n this.selectedItemsResponse.emit(this.selectedItems);\n }\n } else {\n if (this.selectedItems[0]) {\n this.selectedItemsResponse.emit(this.selectedItems[0]);\n }\n }\n\n this.searchText = '';\n this.availableOptions = this.items;\n }\n }\n }\n\n public selectItem(itemToAdd: any): void {\n if (this.multiple) {\n let indexOfItem: number = this.selectedItems.findIndex((item: any) => item == itemToAdd);\n\n if (indexOfItem == -1) {\n this.selectedItems.push(itemToAdd);\n } else {\n this.selectedItems.splice(indexOfItem, 1);\n }\n } else {\n this.selectedItems = [itemToAdd];\n // this.selectedItemsResponse.emit(itemToAdd);\n this.toggleDropdown();\n }\n }\n\n public checkIfSelected(itemToFind: any): boolean {\n return !!this.selectedItems.find((item: any) => itemToFind == item);\n }\n\n public clearSelection(): void {\n this.selectedItems = [];\n\n if (this.multiple) {\n this.selectedItemsResponse.emit(this.selectedItems);\n } else {\n this.selectedItemsResponse.emit(null);\n }\n }\n\n public filterItems(): void {\n this.availableOptions = this.filterByPipe.transform(this.items, this.searchText);\n }\n\n @HostListener('document:click', ['$event']) onDocumentClick($event: PointerEvent): void {\n if (!this._eref.nativeElement.contains($event.target) && this.dropdownOpened) {\n this.dropdownOpened = false;\n\n if (this.multiple) {\n if (this.selectedItems?.length > 0) {\n this.selectedItemsResponse.emit(this.selectedItems);\n }\n } else {\n if (this.selectedItems[0]) {\n this.selectedItemsResponse.emit(this.selectedItems[0]);\n }\n }\n\n this.searchText = '';\n this.availableOptions = this.items;\n }\n }\n}\n","<label class=\"hr-label sm-bold {{getStatus()}}\" *ngIf=\"label\">\n {{ label }} <span *ngIf=\"required || hasError\">*</span>\n</label>\n<div [attr.data-cy]=\"cypressTag\" class=\"gravity-input-field {{size}} {{width}}-width {{getStatus()}}\"\n (click)=\"toggleDropdown()\">\n <gravity-icon class=\"left\" [iconName]=\"iconLeft\" [iconSize]=\"isIconLeftNew() ? 'md-16' : null\"\n *ngIf=\"iconLeft\"></gravity-icon>\n <p class=\"hr-label {{size}}-regular value\">\n <ng-container *ngIf=\"selectedItems.length == 0\">\n {{ placeholder ? placeholder : label }}\n </ng-container>\n <ng-container *ngIf=\"selectedItems.length > 0\">\n <ng-container *ngFor=\"let item of selectedItems; let i = index\">\n {{ config ? item[config.label] : item }}{{ i != selectedItems.length - 1 ? ',' : '' }}\n </ng-container>\n </ng-container>\n </p>\n <gravity-icon class=\"right\" [iconName]=\"dropdownOpened ? 'arrow-up': 'arrow-down'\" [iconSize]=\"'md-16'\"\n *ngIf=\"!isReadonly\"></gravity-icon>\n <div class=\"dropdown-panel\" (click)=\"$event.stopPropagation()\" *ngIf=\"dropdownOpened\"\n [attr.data-cy]=\"cypressTag + '_panel'\">\n <div class=\"search-input\">\n <gravity-icon class=\"search-icon\" [iconName]=\"'search'\" [iconSize]=\"'sm-12'\"></gravity-icon>\n <input autocomplete=\"off\" class=\"hr-label {{size}}-regular\" (input)=\"filterItems()\"\n [attr.data-cy]=\"cypressTag + '_search_input'\" #searchInput\n [(ngModel)]=\"searchText\" placeholder=\"{{currentLang == 'es' ? 'Buscar' : 'Search input'}}\">\n <gravity-icon class=\"pointer reset-icon\" (click)=\"searchText = ''; filterItems()\" [iconName]=\"'unsuccess'\"\n [iconSize]=\"'sm-12'\" *ngIf=\"searchText?.length > 0\"></gravity-icon>\n </div>\n <div class=\"items\">\n <div class=\"hr-label item {{size}}-regular pointer\" [class.selected]=\"checkIfSelected(item)\"\n (click)=\"selectItem(item)\" *ngFor=\"let item of availableOptions\">\n <gravity-checkbox [checked]=\"checkIfSelected(item)\" *ngIf=\"multiple\">\n {{ config ? item[config.label] : item }}\n </gravity-checkbox>\n <ng-container *ngIf=\"!multiple\">{{ config ? item[config.label] : item }}</ng-container>\n </div>\n <div class=\"hr-label item {{size}}-bold no-results\" *ngIf=\"availableOptions.length === 0\">\n {{ currentLang == 'es' ? 'Sin resultados' : 'No results' }}\n </div>\n </div>\n <div class=\"dropdown-footer\" *ngIf=\"selectedItems.length > 0\" [class.not-clearable]=\"!clearable\">\n <p class=\"hr-label pointer sm-regular\" (click)=\"clearSelection()\" *ngIf=\"clearable\"\n [attr.data-cy]=\"cypressTag + '_clear'\">\n {{ currentLang == 'es' ? 'Limpiar' : 'Clear selection' }}\n </p>\n <p class=\"hr-label pointer sm-bold\" (click)=\"$event.stopPropagation(); toggleDropdown()\"\n *ngIf=\"availableOptions.length != 0\" [attr.data-cy]=\"cypressTag + '_apply'\">\n {{ currentLang == 'es' ? 'Aplicar' : 'Apply' }}\n </p>\n </div>\n </div>\n</div>\n<p class=\"hr-label sm-regular supporting-text {{getStatus()}} {{size}}\" *ngIf=\"supportText\">\n <gravity-icon [iconName]=\"'question-circle'\" *ngIf=\"hasError\" [iconSize]=\"'md-16'\"></gravity-icon>\n {{ supportText }}\n</p>\n<p class=\"hr-label sm-regular supporting-text {{getStatus()}} {{size}}\"\n *ngIf=\"!supportText && getStatus() == 'active' && selectedItems.length == 0 && required\">\n {{ currentLang == 'es' ? 'Requerido' : 'Required' }}\n</p>\n","import {Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild} from '@angular/core';\nimport {GravityIconComponent} from \"../gravity-icon/gravity-icon.component\";\n\n@Component({\n selector: 'gravity-text-field',\n templateUrl: './gravity-text-field.component.html',\n styleUrls: ['./gravity-text-field.component.scss']\n})\nexport class GravityTextFieldComponent implements OnInit, OnChanges {\n @Output('clickIconLeft') public leftIconResponse: EventEmitter<void> = new EventEmitter();\n @Output('clickIconRight') public rightIconResponse: EventEmitter<void> = new EventEmitter();\n @Output('response') public textFieldValueResponse: EventEmitter<string> = new EventEmitter();\n\n @ViewChild('inputElement', {static: false}) private inputElement: any;\n @ViewChild('textAreaElement', {static: false}) private textAreaElement: any;\n\n // Component\n @Input() public currentLang: string = 'en';\n @Input() public customInputValue: string;\n @Input() public customState: 'default' | 'active' | 'hover' | 'typing' | 'typed' | 'typed-error' | 'typed-positive' | 'disabled' | 'readonly' | 'autofill' = 'default';\n @Input() public cypressTag: string;\n @Input() public label: string;\n @Input() public prefix: string = \"\";\n @Input() public required: boolean;\n @Input() public supportText: string;\n @Input() public textFieldType: 'input' | 'textarea' = \"input\";\n\n // Icons\n @Input() public clickOnLeftIcon: boolean = false;\n @Input() public clickOnRightIcon: boolean = false;\n @Input() public iconLeft: string;\n @Input() public iconRight: string;\n\n // Input | Textarea\n @Input() public autocomplete: string = 'off';\n @Input() public inputContentType: 'email' | 'number' | 'password' | 'tel' | 'text' = \"text\";\n @Input() public placeholder: string;\n @Input() public validations: { maxLength?: number; minLength?: number };\n\n // Sizes\n @Input() public size: 'sm' | 'md' = 'md';\n @Input() public width: 'short' | 'medium' | 'full' | 'fit' = 'short';\n\n public focusInput: boolean = false;\n public inputValue: string = '';\n\n ngOnInit(): void {\n this.inputValue = this.customInputValue ? this.customInputValue : '';\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['customInputValue']) {\n this.inputValue = changes['customInputValue'].currentValue ? changes['customInputValue'].currentValue : '';\n }\n }\n\n public getPlaceholder(): string {\n if (this.placeholder && this.placeholder != '') {\n return this.placeholder;\n } else {\n return this.label;\n }\n }\n\n public clearInput(): void {\n this.changeInputValue(true);\n }\n\n public changeInputValue(clearInput: boolean = false): void {\n if (clearInput) {\n this.inputValue = '';\n } else if (this.textFieldType == 'input') {\n this.inputValue = this.inputElement.nativeElement.value;\n } else {\n this.inputValue = this.textAreaElement.nativeElement.value;\n }\n\n if (this.inputValue == '') {\n this.textFieldValueResponse.emit('');\n } else {\n this.textFieldValueResponse.emit(this.prefix + this.inputValue);\n }\n }\n\n public handleIconClick(iconPosition: 'left' | 'right'): void {\n if (iconPosition == 'left' && this.clickOnLeftIcon) {\n this.leftIconResponse.emit();\n }\n\n if (iconPosition == 'right' && this.clickOnRightIcon) {\n this.rightIconResponse.emit();\n }\n }\n\n public getTextFieldStatus(): string {\n if (this.customState == 'default') {\n if (!this.focusInput && !this.inputValue) {\n return 'active';\n } else if (!this.focusInput && this.inputValue) {\n return 'typed';\n } else {\n return 'typing';\n }\n } else {\n return this.customState;\n }\n }\n\n public getTextFieldInputFontSize(): string {\n return 'hr-label ' + this.size + '-regular';\n }\n\n public isNewIcon(iconPosition: 'left' | 'right'): boolean {\n if (iconPosition == 'left') {\n return GravityIconComponent.isNewIcon(this.iconLeft);\n } else {\n return GravityIconComponent.isNewIcon(this.iconRight);\n }\n }\n\n public onKeyDownEvent($event: KeyboardEvent): void {\n if (this.inputContentType == 'number') {\n let navigationKeys = ['Backspace', 'Delete', 'Tab', 'Escape', 'Enter', 'Home', 'End', 'ArrowLeft', 'ArrowRight', 'Clear', 'Copy', 'Paste'];\n\n if (\n navigationKeys.indexOf($event.key) > -1 || // Allow: navigation keys: backspace, delete, arrows etc.\n ($event.key === 'a' && $event.ctrlKey === true) || // Allow: Ctrl+A\n ($event.key === 'c' && $event.ctrlKey === true) || // Allow: Ctrl+C\n ($event.key === 'v' && $event.ctrlKey === true) || // Allow: Ctrl+V\n ($event.key === 'x' && $event.ctrlKey === true) || // Allow: Ctrl+X\n ($event.key === 'a' && $event.metaKey === true) || // Allow: Cmd+A (Mac)\n ($event.key === 'c' && $event.metaKey === true) || // Allow: Cmd+C (Mac)\n ($event.key === 'v' && $event.metaKey === true) || // Allow: Cmd+V (Mac)\n ($event.key === 'x' && $event.metaKey === true) ||// Allow: Cmd+X (Mac)\n ($event.key === '.') || ($event.key === ',') // Allow: dot and comma for decimal\n ) {\n // let it happen, don't do anything\n return;\n }\n\n // Ensure that it is a number and stop the keypress\n if (\n ($event.shiftKey || ($event.keyCode < 48 || $event.keyCode > 57)) &&\n ($event.keyCode < 96 || $event.keyCode > 105)\n ) {\n $event.preventDefault();\n }\n }\n }\n}\n","<label class=\"hr-label sm-bold {{getTextFieldStatus()}}\" [class.custom-label-size]=\"size == 'sm'\" *ngIf=\"label\">\n {{label}} <span *ngIf=\"required || getTextFieldStatus() == 'typed-error'\">*</span>\n</label>\n<div class=\"gravity-input-field {{size}} {{width}}-width {{getTextFieldStatus()}}\">\n <ng-container *ngIf=\"iconLeft\">\n <ng-container [ngTemplateOutlet]=\"icons\" [ngTemplateOutletContext]=\"{iconPosition: 'left'}\"></ng-container>\n </ng-container>\n <span class=\"{{getTextFieldInputFontSize()}} prefix\">{{prefix}}</span>\n <input [attr.data-cy]=\"cypressTag\"\n [attr.disabled]=\"customState == 'disabled' ? true : null\"\n [attr.readonly]=\"customState == 'readonly' ? true : null\"\n [autocomplete]=\"autocomplete\"\n [maxLength]=\"validations?.maxLength ? validations?.maxLength : 100\"\n [minLength]=\"validations?.minLength ? validations?.minLength : 0\"\n [placeholder]=\"getPlaceholder()\"\n [type]=\"inputContentType != 'number' ? inputContentType : 'text'\"\n [value]=\"inputValue\"\n\n (blur)=\"focusInput = false\"\n (change)=\"changeInputValue()\"\n (focus)=\"focusInput = true\"\n (keydown)=\"onKeyDownEvent($event)\"\n (keyup)=\"changeInputValue()\"\n\n class=\"{{getTextFieldInputFontSize()}}\"\n\n #inputElement\n\n *ngIf=\"textFieldType == 'input'\">\n <textarea [attr.data-cy]=\"cypressTag\"\n [attr.disabled]=\"customState == 'disabled' ? true : null\"\n [attr.readonly]=\"customState == 'readonly' ? true : null\"\n [maxLength]=\"validations?.maxLength ? validations?.maxLength : 200\"\n [minLength]=\"validations?.minLength ? validations?.minLength : 0\"\n [placeholder]=\"getPlaceholder()\"\n [value]=\"inputValue\"\n\n (blur)=\"focusInput = false\"\n (change)=\"changeInputValue()\"\n (focus)=\"focusInput = true\"\n (keydown)=\"onKeyDownEvent($event)\"\n (keyup)=\"changeInputValue()\"\n\n class=\"{{getTextFieldInputFontSize()}}\"\n rows=\"1\"\n\n #textAreaElement\n\n *ngIf=\"textFieldType == 'textarea'\"></textarea>\n <ng-container *ngIf=\"iconRight\">\n <ng-container [ngTemplateOutlet]=\"icons\" [ngTemplateOutletContext]=\"{iconPosition: 'right'}\"></ng-container>\n </ng-container>\n</div>\n<p class=\"hr-label sm-regular supporting-text {{getTextFieldStatus()}} {{size}}\"\n [class.custom-label-size]=\"size == 'sm'\" *ngIf=\"supportText\">\n <gravity-icon [iconName]=\"'question-circle'\" *ngIf=\"getTextFieldStatus() == 'typed-error'\"\n [iconSize]=\"'md-16'\"></gravity-icon>\n {{supportText}}\n</p>\n<p class=\"hr-label sm-regular supporting-text {{getTextFieldStatus()}} {{size}}\"\n [class.custom-label-size]=\"size == 'sm'\"\n *ngIf=\"!supportText && getTextFieldStatus() == 'active' && inputValue == '' && required\">\n {{currentLang == 'es' ? 'Requerido' : 'Required'}}\n</p>\n\n<ng-template #icons let-iconPosition=\"iconPosition\">\n <gravity-icon (click)=\"$event.stopPropagation(); handleIconClick(iconPosition)\" class=\"{{iconPosition}}\"\n [class.pointer]=\"(iconPosition == 'left' && clickOnLeftIcon) || (iconPosition == 'right' && clickOnRightIcon)\"\n [iconName]=\"iconPosition == 'left' ? iconLeft : iconRight\"\n [iconSize]=\"isNewIcon(iconPosition) ? 'md-16' : null\"></gravity-icon>\n</ng-template>\n","import {Component, ElementRef, EventEmitter, HostBinding, HostListener, Input, OnInit, Renderer2} from '@angular/core';\n\n@Component({\n selector: 'tooltip',\n templateUrl: './gravity-tooltip.component.html',\n host: {'class': 'tooltip'},\n styleUrls: ['./gravity-tooltip.component.sass']\n})\n\nexport class GravityTooltipComponent implements OnInit {\n _show: boolean = false;\n events = new EventEmitter();\n\n @Input() data: any;\n\n @HostBinding('style.top') hostStyleTop!: 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\n @HostListener('transitionend', ['$event'])\n transitionEnd() {\n if (this.show) {\n this.events.emit({\n type: 'shown'\n });\n }\n }\n\n @Input() set show(value: boolean) {\n if (value) {\n this.setPosition();\n }\n this._show = this.hostClassShow = value;\n }\n\n get show(): boolean {\n return this._show;\n }\n\n get placement() {\n return this.data.options.placement;\n }\n\n get autoPlacement() {\n return this.data.options.autoPlacement;\n }\n\n get element() {\n return this.data.element;\n }\n\n get elementPosition() {\n return this.data.elementPosition;\n }\n\n get options() {\n return this.data.options;\n }\n\n get value() {\n return this.data.value;\n }\n\n get tooltipOffset(): number {\n return Number(this.data.options.offset);\n }\n\n get isThemeLight() {\n return this.options['theme'] === 'light';\n }\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {\n }\n\n ngOnInit() {\n this.setCustomClass();\n this.setStyles();\n }\n\n setPosition(): void {\n if (this.setHostStyle(this.placement)) {\n this.setPlacementClass(this.placement);\n return;\n } else {\n /* Is tooltip outside the visible area */\n const placements = ['top', 'right', 'bottom', 'left'];\n let isPlacementSet;\n\n for (const placement of placements) {\n if (this.setHostStyle(placement)) {\n this.setPlacementClass(placement);\n isPlacementSet = true;\n return;\n }\n }\n\n /* Set original placement */\n if (!isPlacementSet) {\n this.setHostStyle(this.placement, true);\n this.setPlacementClass(this.placement);\n }\n }\n }\n\n\n setPlacementClass(placement: string): void {\n this.renderer.addClass(this.elementRef.nativeElement, 'tooltip-' + placement);\n }\n\n setHostStyle(placement: string, disableAutoPlacement: boolean = false): boolean {\n const isSvg = this.element instanceof SVGElement;\n const tooltip = this.elementRef.nativeElement;\n const isCustomPosition = !this.elementPosition.right;\n\n let elementHeight = isSvg ? this.element.getBoundingClientRect().height : this.element.offsetHeight;\n let elementWidth = isSvg ? this.element.getBoundingClientRect().width : this.element.offsetWidth;\n const tooltipHeight = tooltip.clientHeight;\n const tooltipWidth = tooltip.clientWidth;\n const scrollY = window.pageYOffset;\n\n if (isCustomPosition) {\n elementHeight = 0;\n elementWidth = 0;\n }\n\n let topStyle;\n let leftStyle;\n\n if (placement === 'top') {\n topStyle = (this.elementPosition.top + scrollY) - (tooltipHeight + this.tooltipOffset);\n }\n\n if (placement === 'bottom') {\n topStyle = (this.elementPosition.top + scrollY) + elementHeight + this.tooltipOffset;\n }\n\n if (placement === 'top' || placement === 'bottom') {\n leftStyle = (this.elementPosition.left + elementWidth / 2) - tooltipWidth / 2;\n }\n\n if (placement === 'left') {\n leftStyle = this.elementPosition.left - tooltipWidth - this.tooltipOffset;\n }\n\n if (placement === 'right') {\n leftStyle = this.elementPosition.left + elementWidth + this.tooltipOffset;\n }\n\n if (placement === 'left' || placement === 'right') {\n topStyle = (this.elementPosition.top + scrollY) + elementHeight / 2 - tooltip.clientHeight / 2;\n }\n\n /* Is tooltip outside the visible area */\n if (this.autoPlacement && !disableAutoPlacement) {\n const topEdge = topStyle;\n const bottomEdge = topStyle + tooltipHeight;\n const leftEdge = leftStyle;\n const rightEdge = leftStyle + tooltipWidth;\n const bodyHeight = window.innerHeight + scrollY;\n const bodyWidth = document.body.clientWidth;\n\n if (topEdge < 0 || bottomEdge > bodyHeight || leftEdge < 0 || rightEdge > bodyWidth) {\n return false;\n }\n }\n\n this.hostStyleTop = topStyle + 'px';\n this.hostStyleLeft = leftStyle + 'px';\n return true;\n }\n\n setZIndex(): void {\n if (this.options['zIndex'] !== 0) {\n this.hostStyleZIndex = this.options['zIndex'];\n }\n }\n\n setPointerEvents(): void {\n if (this.options['pointerEvents']) {\n this.hostStylePointerEvents = this.options['pointerEvents'];\n }\n }\n\n setCustomClass() {\n if (this.options['tooltipClass']) {\n this.options['tooltipClass'].split(' ').forEach((className: any) => {\n this.renderer.addClass(this.elementRef.nativeElement, className);\n });\n }\n }\n\n setAnimationDuration() {\n if (Number(this.options['animationDuration']) != this.options['animationDurationDefault']) {\n this.hostStyleTransition = 'opacity ' + this.options['animationDuration'] + 'ms';\n }\n }\n\n setStyles() {\n this.setZIndex();\n this.setPointerEvents();\n this.setAnimationDuration();\n\n this.hostClassShadow = this.options['shadow'];\n this.hostClassLight = this.isThemeLight;\n this.hostStyleMaxWidth = this.options['maxWidth'];\n this.hostStyleWidth = this.options['width'] ? this.options['width'] : '';\n }\n}\n","<div *ngIf=\"isThemeLight\" class=\"tooltip-arrow\"></div>\n\n<div *ngIf=\"options['contentType'] === 'template' else htmlOrStringTemplate\">\n <ng-container *ngTemplateOutlet=\"value\"></ng-container>\n</div>\n\n<ng-template #htmlOrStringTemplate>\n <div [innerHTML]=\"value\"></div>\n</ng-template>\n","import { InjectionToken } from '@angular/core';\nimport { TooltipOptions } from './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 TooltipOptionsService = new InjectionToken<TooltipOptions>('TooltipOptions');\n","export const defaultOptions = {\n 'placement': 'top',\n 'autoPlacement': true,\n 'contentType': 'string',\n 'showDelay': 0,\n 'hideDelay': 300,\n 'hideDelayMobile': 0,\n 'hideDelayTouchscreen': 0,\n 'zIndex': 0,\n 'animationDuration': 300,\n 'animationDurationDefault': 300,\n 'trigger': 'hover',\n 'tooltipClass': '',\n 'display': true,\n 'displayMobile': true,\n 'displayTouchscreen': true,\n 'shadow': true,\n 'theme': 'dark',\n 'offset': 8,\n 'maxWidth': '',\n 'id': false,\n 'hideDelayAfterClick': 2000\n}\n\nexport const backwardCompatibilityOptions: any = {\n 'delay': 'showDelay',\n 'show-delay': 'showDelay',\n 'hide-delay': 'hideDelay',\n 'hide-delay-mobile': 'hideDelayTouchscreen',\n 'hideDelayMobile': 'hideDelayTouchscreen',\n 'z-index': 'zIndex',\n 'animation-duration': 'animationDuration',\n 'animation-duration-default': 'animationDurationDefault',\n 'tooltip-class': 'tooltipClass',\n 'display-mobile': 'displayTouchscreen',\n 'displayMobile': 'displayTouchscreen',\n 'max-width': 'maxWidth'\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 Optional,\n Output,\n SimpleChanges,\n TemplateRef\n} from '@angular/core';\nimport {GravityTooltipComponent} from './gravity-tooltip.component';\nimport {TooltipOptionsService} from './options.service';\nimport {backwardCompatibilityOptions, defaultOptions} from './options';\nimport {TooltipOptions} from './options.interface';\n\nexport interface AdComponent {\n data: any;\n show: boolean;\n close: boolean;\n events: any;\n}\n\n@Directive({\n selector: '[tooltip]',\n exportAs: 'tooltip',\n})\n\nexport class GravityTooltipDirective implements OnChanges {\n\n hideTimeoutId!: number;\n destroyTimeoutId!: number;\n hideAfterClickTimeoutId!: number;\n createTimeoutId!: number;\n showTimeoutId!: number;\n componentRef: any;\n elementPosition: any;\n _id: any;\n _options: any = {};\n _defaultOptions: any;\n _destroyDelay!: number;\n componentSubscribe: any;\n _contentType: \"string\" | \"html\" | \"template\" = \"string\";\n _showDelay!: number;\n _hideDelay!: number;\n _zIndex!: number;\n _tooltipClass!: string;\n _animationDuration!: number;\n _maxWidth!: string;\n\n @Input('options') set options(value: TooltipOptions) {\n if (value && defaultOptions) {\n this._options = value;\n }\n }\n\n get options() {\n return this._options;\n }\n\n @Input('tooltip') tooltipValue!: string | TemplateRef<any>;\n @Input('placement') placement!: string;\n @Input('autoPlacement') autoPlacement!: boolean;\n\n // Content type\n @Input('content-type') set contentTypeBackwardCompatibility(value: \"string\" | \"html\" | \"template\") {\n if (value) {\n this._contentType = value;\n }\n }\n\n @Input('contentType') set contentType(value: \"string\" | \"html\" | \"template\") {\n if (value) {\n this._contentType = value;\n }\n }\n\n get contentType() {\n return this._contentType;\n }\n\n @Input('hide-delay-mobile') hideDelayMobile!: number;\n @Input('hideDelayTouchscreen') hideDelayTouchscreen!: number;\n\n // z-index\n @Input('z-index') set zIndexBackwardCompatibility(value: number) {\n if (value) {\n this._zIndex = value;\n }\n }\n\n @Input('zIndex') set zIndex(value: number) {\n if (value) {\n this._zIndex = value;\n }\n }\n\n get zIndex() {\n return this._zIndex;\n }\n\n // Animation duration\n @Input('animation-duration') set animationDurationBackwardCompatibility(value: number) {\n if (value) {\n this._animationDuration = value;\n }\n }\n\n @Input('animationDuration') set animationDuration(value: number) {\n if (value) {\n this._animationDuration = value;\n }\n }\n\n get animationDuration() {\n return this._animationDuration;\n }\n\n\n @Input('trigger') trigger!: string;\n\n // Tooltip class\n @Input('tooltip-class') set tooltipClassBackwardCompatibility(value: string) {\n if (value) {\n this._tooltipClass = value;\n }\n }\n\n @Input('tooltipClass') set tooltipClass(value: string) {\n if (value) {\n this._tooltipClass = value;\n }\n }\n\n get tooltipClass() {\n return this._tooltipClass;\n }\n\n @Input('display') display!: boolean;\n @Input('display-mobile') displayMobile!: boolean;\n @Input('displayTouchscreen') displayTouchscreen!: boolean;\n @Input('shadow') shadow!: boolean;\n @Input('theme') theme!: \"dark\" | \"light\";\n @Input('offset') offset!: number;\n @Input('width') width!: string;\n\n // Max width\n @Input('max-width') set maxWidthBackwardCompatibility(value: string) {\n if (value) {\n this._maxWidth = value;\n }\n }\n\n @Input('maxWidth') set maxWidth(value: string) {\n if (value) {\n this._maxWidth = value;\n }\n }\n\n get maxWidth() {\n return this._maxWidth;\n }\n\n\n @Input('id') id: any;\n\n // Show delay\n @Input('show-delay') set showDelayBackwardCompatibility(value: number) {\n if (value) {\n this._showDelay = value;\n }\n }\n\n @Input('showDelay') set showDelay(value: number) {\n if (value) {\n this._showDelay = value;\n }\n }\n\n get showDelay() {\n return this._showDelay;\n }\n\n // Hide delay\n @Input('hide-delay') set hideDelayBackwardCompatibility(value: number) {\n if (value) {\n this._hideDelay = value;\n }\n }\n\n @Input('hideDelay') set hideDelay(value: number) {\n if (value) {\n this._hideDelay = value;\n }\n }\n\n get hideDelay() {\n return this._hideDelay;\n }\n\n @Input('hideDelayAfterClick') hideDelayAfterClick!: number;\n @Input('pointerEvents') pointerEvents!: 'auto' | 'none';\n @Input('position') position!: { top: number, left: number };\n\n get isTooltipDestroyed() {\n return this.componentRef && this.componentRef.hostView.destroyed;\n }\n\n get destroyDelay() {\n if (this._destroyDelay) {\n return this._destroyDelay;\n } else {\n return Number(this.getHideDelay()) + Number(this.options['animationDuration']);\n }\n }\n\n set destroyDelay(value: number) {\n this._destroyDelay = value;\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 @Output() events: EventEmitter<any> = new EventEmitter<any>();\n\n constructor(\n @Optional() @Inject(TooltipOptionsService) private initOptions: any,\n private elementRef: ElementRef,\n private componentFactoryResolver: ComponentFactoryResolver,\n private appRef: ApplicationRef,\n private injector: Injector) {\n }\n\n @HostListener('focusin')\n @HostListener('mouseenter')\n onMouseEnter() {\n if (this.isDisplayOnHover == false) {\n return;\n }\n\n this.show();\n }\n\n @HostListener('focusout')\n @HostListener('mouseleave')\n onMouseLeave() {\n if (this.options['trigger'] === 'hover') {\n this.destroyTooltip();\n }\n }\n\n @HostListener('click')\n onClick() {\n if (this.isDisplayOnClick == false) {\n return;\n }\n\n this.show();\n this.hideAfterClickTimeoutId = window.setTimeout(() => {\n this.destroyTooltip();\n }, this.options['hideDelayAfterClick'])\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.initOptions = this.renameProperties(this.initOptions);\n let changedOptions = this.getProperties(changes);\n changedOptions = this.renameProperties(changedOptions);\n\n this.applyOptionsDefault(defaultOptions, changedOptions);\n }\n\n ngOnDestroy(): void {\n this.destroyTooltip({\n fast: true\n });\n\n if (this.componentSubscribe) {\n this.componentSubscribe.unsubscribe();\n }\n }\n\n getShowDelay() {\n return this.options['showDelay'];\n }\n\n getHideDelay() {\n const hideDelay = this.options['hideDelay'];\n const hideDelayTouchscreen = this.options['hideDelayTouchscreen'];\n\n return this.isTouchScreen ? hideDelayTouchscreen : hideDelay;\n }\n\n getProperties(changes: SimpleChanges) {\n let directiveProperties: any = {};\n let customProperties: any = {};\n let allProperties: any;\n\n for (var prop in changes) {\n if (prop !== 'options' && prop !== 'tooltipValue') {\n directiveProperties[prop] = changes[prop].currentValue;\n }\n if (prop === 'options') {\n customProperties = changes[prop].currentValue;\n }\n }\n\n allProperties = Object.assign({}, customProperties, directiveProperties);\n return allProperties;\n }\n\n renameProperties(options: any) {\n for (var prop in options) {\n if (backwardCompatibilityOptions[prop]) {\n options[backwardCompatibilityOptions[prop]] = options[prop];\n delete options[prop];\n }\n }\n\n return options;\n }\n\n getElementPosition(): void {\n this.elementPosition = this.elementRef.nativeElement.getBoundingClientRect();\n }\n\n createTooltip(): void {\n this.clearTimeouts();\n this.getElementPosition();\n\n this.createTimeoutId = window.setTimeout(() => {\n this.appendComponentToBody(GravityTooltipComponent);\n }, this.getShowDelay());\n\n this.showTimeoutId = window.setTimeout(() => {\n this.showTooltipElem();\n }, this.getShowDelay());\n }\n\n destroyTooltip(options = {\n fast: false\n }): void {\n this.clearTimeouts();\n\n if (this.isTooltipDestroyed == false) {\n this.hideTimeoutId = window.setTimeout(() => {\n this.hideTooltip();\n }, options.fast ? 0 : this.getHideDelay());\n\n this.destroyTimeoutId = window.setTimeout(() => {\n if (!this.componentRef || this.isTooltipDestroyed) {\n return;\n }\n\n this.appRef.detachView(this.componentRef.hostView);\n this.componentRef.destroy();\n this.events.emit({\n type: 'hidden',\n position: this.tooltipPosition\n });\n }, options.fast ? 0 : this.destroyDelay);\n }\n }\n\n showTooltipElem(): void {\n this.clearTimeouts();\n (<AdComponent>this.componentRef.instance).show = true;\n this.events.emit({\n type: 'show',\n position: this.tooltipPosition\n });\n }\n\n hideTooltip(): void {\n if (!this.componentRef || this.isTooltipDestroyed) {\n return;\n }\n (<AdComponent>this.componentRef.instance).show = false;\n this.events.emit({\n type: 'hide',\n position: this.tooltipPosition\n });\n }\n\n appendComponentToBody(component: any): void {\n this.componentRef = this.componentFactoryResolver\n .resolveComponentFactory(component)\n .create(this.injector);\n\n (<AdComponent>this.componentRef.instance).data = {\n value: this.tooltipValue,\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\n this.componentSubscribe = (<AdComponent>this.componentRef.instance).events.subscribe((event: any) => {\n this.handleEvents(event);\n });\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 get isDisplayOnHover(): boolean {\n if (this.options['display'] == false) {\n return false;\n }\n\n if (this.options['displayTouchscreen'] == false && this.isTouchScreen) {\n return false;\n }\n\n return this.options['trigger'] === 'hover';\n }\n\n get isDisplayOnClick(): boolean {\n if (this.options['display'] == false) {\n return false;\n }\n\n if (this.options['displayTouchscreen'] == false && this.isTouchScreen) {\n return false;\n }\n\n return this.options['trigger'] == 'click';\n\n\n }\n\n get isTouchScreen() {\n var prefixes = ' -webkit- -moz- -o- -ms- '.split(' ');\n var mq = function (query: any) {\n return window.matchMedia(query).matches;\n }\n\n if (('ontouchstart' in window)) {\n return true;\n }\n\n // include the 'heartz' as a way to have a non matching MQ to help terminate the join\n // https://git.io/vznFH\n var query = ['(', prefixes.join('touch-enabled),('), 'heartz', ')'].join('');\n return mq(query);\n }\n\n applyOptionsDefault(defaultOptions: any, options: any): void {\n this.options = Object.assign({}, defaultOptions, this.initOptions || {}, this.options, options);\n }\n\n handleEvents(event: any) {\n if (event.type === 'shown') {\n this.events.emit({\n type: 'shown',\n position: this.tooltipPosition\n });\n }\n }\n\n public show() {\n if (!this.tooltipValue) {\n return;\n }\n\n if (!this.componentRef || this.isTooltipDestroyed) {\n this.createTooltip();\n } else if (!this.isTooltipDestroyed) {\n this.showTooltipElem();\n }\n }\n\n public hide() {\n this.destroyTooltip();\n }\n}\n","import {ModuleWithProviders, NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {GravityTooltipDirective} from './gravity-tooltip.directive';\nimport {GravityTooltipComponent} from './gravity-tooltip.component';\nimport {TooltipOptions} from './options.interface';\nimport {TooltipOptionsService} from './options.service';\n\n@NgModule({\n declarations: [\n GravityTooltipDirective,\n GravityTooltipComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n GravityTooltipDirective,\n GravityTooltipComponent\n ]\n})\nexport class GravityTooltipModule {\n static forRoot(initOptions: TooltipOptions): ModuleWithProviders<GravityTooltipModule> {\n return {\n ngModule: GravityTooltipModule,\n providers: [\n {\n provide: TooltipOptionsService,\n useValue: initOptions\n }\n ]\n };\n }\n}\n","import {Component, EventEmitter, Input, OnChanges, Output, SimpleChanges} from '@angular/core';\n\n@Component({\n selector: 'gravity-calendar',\n templateUrl: './gravity-calendar.component.html',\n styleUrls: ['./gravity-calendar.component.scss']\n})\nexport class GravityCalendarComponent implements OnChanges {\n @Output('response') public calendarResponse: EventEmitter<Date> = new EventEmitter();\n\n @Input() public calendarType: 'day' | 'month' | 'year' = 'day';\n @Input() public currentLang: string = 'en';\n @Input() public cypressTag: string;\n @Input() public datesConfig: {\n customDate?: 'today' | Date;\n defaultDays?: number;\n maxDate?: 'today' | Date;\n minDate?: Date;\n };\n @Input() public label: string;\n @Input() public required: boolean;\n @Input() public state: 'readonly' | 'disabled' | 'enabled' = \"enabled\";\n @Input() public supportTextContent: string;\n @Input() public supportTextType: 'neutro' | 'negative' | 'positive' = \"neutro\";\n\n public bsDatepickerConfig = {\n containerClass: 'gravity-datepicker-dialog',\n isAnimated: true,\n selectFromOtherMonth: true,\n showWeekNumbers: false\n };\n\n public readonly elementId: string;\n public focusInput: boolean = false;\n public maxDate: Date;\n public minDate: Date;\n public selectedDate: Date;\n\n constructor() {\n let milliseconds: number = new Date().getTime();\n let randomNumber: number = Math.random() * 10;\n\n this.elementId = '' + (milliseconds * randomNumber / 2);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['datesConfig']) {\n if (changes['datesConfig'].currentValue.defaultDays) {\n this.selectedDate = new Date(new Date().setDate(new Date().getDate() - changes['datesConfig'].currentValue.defaultDays));\n }\n\n if (changes['datesConfig'].currentValue.customDate) {\n this.selectedDate = changes['datesConfig'].currentValue.customDate == 'today' ? new Date() : changes['datesConfig'].currentValue.customDate;\n }\n\n if (changes['datesConfig'].currentValue.minDate) {\n this.minDate = changes['datesConfig'].currentValue.minDate;\n }\n\n if (changes['datesConfig'].currentValue.maxDate) {\n this.maxDate = changes['datesConfig'].currentValue.maxDate == 'today' ? new Date() : changes['datesConfig'].currentValue.maxDate;\n }\n }\n }\n\n updateSelectedDate($event: Date): void {\n this.selectedDate = $event;\n this.calendarResponse.emit(this.selectedDate);\n }\n\n resetCalendar(newDate: Date): void {\n this.selectedDate = newDate;\n this.calendarResponse.emit(this.selectedDate);\n }\n\n getBsDatepickerContainer(): string {\n return '.gravity-calendar-field[elementId=\"' + this.elementId + '\"]'\n }\n}\n","<label class=\"hr-body-text sm-regular {{state}}\" [class.empty]=\"!selectedDate && !focusInput\"\n [class.focused]=\"focusInput\" [class.full-input]=\"selectedDate && !focusInput\">\n {{label}}\n <ng-container *ngIf=\"required\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Requerido <span class=\"text-negative\">*</span></ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Required <span class=\"text-negative\">*</span></ng-container>\n </ng-container>\n <ng-container *ngIf=\"state == 'readonly'\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Sólo lectura</ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Readonly</ng-container>\n </ng-container>\n <ng-container *ngIf=\"state == 'disabled'\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Deshabilitado</ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Disabled</ng-container>\n </ng-container>\n</label>\n<div class=\"gravity-calendar-field {{state}}\" [class.empty]=\"!selectedDate && !focusInput\"\n [class.focused]=\"focusInput\" [class.full-input]=\"selectedDate && !focusInput\" [attr.elementId]=\"elementId\">\n <gravity-icon class=\"placement-left\" [hoverIcon]=\"false\" [iconName]=\"'calendar'\" [iconSize]=\"'md-16'\"></gravity-icon>\n <input [attr.data-cy]=\"cypressTag\"\n [disabled]=\"state != 'enabled' ? true : null\"\n\n [style.cursor]=\"state == 'enabled' ? 'pointer' : 'text'\"\n\n (blur)=\"focusInput = false\"\n (bsValueChange)=\"updateSelectedDate($event)\"\n (focus)=\"focusInput = true\"\n (onHidden)=\"focusInput = false\"\n\n class=\"hr-label md-regular\"\n bsDatepicker\n placeholder=\"Select your {{calendarType == 'day' ? 'date' : 'month'}}\"\n\n [bsConfig]=\"bsDatepickerConfig\"\n [container]=\"getBsDatepickerContainer()\"\n [maxDate]=\"maxDate ? maxDate : null\"\n [minDate]=\"minDate ? minDate : null\"\n [minMode]=\"calendarType\"\n\n [(bsValue)]=\"selectedDate\">\n</div>\n<p class=\"hr-body-text sm-regular support-text text-{{supportTextType}}\" *ngIf=\"supportTextContent\">\n {{supportTextContent}}\n</p>\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\n\n@Component({\n selector: 'gravity-radio-button',\n templateUrl: './gravity-radio-button.component.html',\n styleUrls: ['./gravity-radio-button.component.scss']\n})\nexport class GravityRadioButtonComponent {\n @Input() public checked: boolean = false;\n @Input() public disabled: boolean = false;\n @Input() public name: string;\n @Input() public size: 'md' | 'sm' = 'sm';\n @Input() public value: string;\n @Output() public onChange: EventEmitter<string> = new EventEmitter<string>();\n\n public onChangeEvent(value: string): void {\n this.onChange.emit(value);\n }\n}\n","<input [checked]=\"checked\" class=\"size-{{size}}\" (click)=\"onChangeEvent(value)\" [disabled]=\"disabled\" [id]=\"value\"\n [name]=\"name\" type=\"radio\" [value]=\"value\">\n<label>\n <ng-content></ng-content>\n</label>\n","import {AfterViewInit, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges} from '@angular/core';\n\n@Component({\n selector: 'gravity-switch',\n templateUrl: './gravity-switch.component.html',\n styleUrls: ['./gravity-switch.component.scss']\n})\nexport class GravitySwitchComponent implements AfterViewInit, OnChanges {\n @Input() public checked: boolean = false;\n @Input() public cypressTag: string;\n @Input() public disabled: boolean = false;\n @Input() public size: 'md' | 'sm' = 'md';\n @Input() public textOptions: {\n above?: string;\n left?: string;\n right?: string;\n below?: string;\n };\n @Output() public response: EventEmitter<boolean> = new EventEmitter();\n\n public isSwitchActive: boolean = false;\n\n ngAfterViewInit() {\n this.isSwitchActive = this.checked;\n this.response.emit(this.isSwitchActive);\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['checked']) {\n this.isSwitchActive = changes['checked'].currentValue;\n }\n }\n\n public toggleSwitch(): void {\n if (!this.disabled) {\n this.isSwitchActive = !this.isSwitchActive;\n this.response.emit(this.isSwitchActive);\n }\n }\n}\n","<div class=\"gravity-switch size-{{size}}\" [class.with-above-text]=\"textOptions?.above\"\n [class.with-below-text]=\"textOptions?.below\">\n <span class=\"hr-body-text sm-regular\" *ngIf=\"textOptions?.left\">{{ textOptions.left }}</span>\n <div [attr.data-cy]=\"cypressTag\" class=\"switch\" [class.disabled]=\"disabled\" (click)=\"toggleSwitch()\">\n <span class=\"hr-body-text sm-regular above-text\" *ngIf=\"textOptions?.above\">{{ textOptions.above }}</span>\n <input type=\"checkbox\" [checked]=\"isSwitchActive\">\n <span class=\"slider\"></span>\n <span class=\"hr-body-text sm-regular below-text\" *ngIf=\"textOptions?.below\">{{ textOptions.below }}</span>\n </div>\n <span class=\"hr-body-text sm-regular\" *ngIf=\"textOptions?.right\">{{ textOptions.right }}</span>\n</div>\n","import {Component, Input, TemplateRef} from '@angular/core';\nimport {NgbActiveModal} from \"@ng-bootstrap/ng-bootstrap\";\nimport {GravityIconComponent} from \"../gravity-icon/gravity-icon.component\";\n\n@Component({\n templateUrl: './gravity-dialog.component.html',\n styleUrls: ['./gravity-dialog.component.scss']\n})\nexport class GravityDialogComponent {\n @Input() public dialogContent: GravityDialogContentInterface;\n\n constructor(private readonly ngbActiveModal: NgbActiveModal) {\n }\n\n public closeModal(): void {\n this.ngbActiveModal.close();\n }\n\n public isNewIcon(iconName: string): boolean {\n return GravityIconComponent.isNewIcon(iconName);\n }\n}\n\nexport interface GravityDialogContentInterface {\n closeIconCypressTag?: string;\n componentInputs?: any;\n contentTemplateRef?: TemplateRef<any>;\n contentTemplateComponent?: any;\n footerTemplateRef?: TemplateRef<any>;\n footerTemplateComponent?: any;\n showCloseIcon?: boolean;\n titleIconName?: string;\n title: string;\n}\n","<div class=\"dialog-header\">\n <div class=\"hr-title lg-bold title\">\n <gravity-icon class=\"title-icon\" *ngIf=\"dialogContent.titleIconName && dialogContent.titleIconName.length > 0\"\n [iconName]=\"dialogContent.titleIconName\" [title]=\"dialogContent.titleIconName\"\n [size]=\"isNewIcon(dialogContent.titleIconName) ? null : 'md'\"\n [iconSize]=\"isNewIcon(dialogContent.titleIconName) ? 'lg-24' : null\"></gravity-icon>\n {{ dialogContent.title }}\n </div>\n <gravity-icon [attr.data-cy]=\"dialogContent.closeIconCypressTag\" class=\"close\" (click)=\"closeModal()\"\n [iconName]=\"'unsuccess'\" *ngIf=\"dialogContent.showCloseIcon\" [iconSize]=\"'md-16'\"\n [title]=\"'Close'\"></gravity-icon>\n</div>\n\n<div class=\"dialog-body\" [class.with-footer]=\"dialogContent.footerTemplateRef || dialogContent.footerTemplateComponent\">\n <ng-container *ngIf=\"dialogContent.contentTemplateRef\">\n <ng-container *ngTemplateOutlet=\"dialogContent.contentTemplateRef\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"dialogContent.contentTemplateComponent\">\n <ng-container\n *ngComponentOutlet=\"dialogContent.contentTemplateComponent; inputs: dialogContent.componentInputs\"></ng-container>\n </ng-container>\n</div>\n\n<div class=\"dialog-footer\" *ngIf=\"dialogContent.footerTemplateRef || dialogContent.footerTemplateComponent\">\n <ng-container *ngIf=\"dialogContent.footerTemplateRef\">\n <ng-container *ngTemplateOutlet=\"dialogContent.footerTemplateRef\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"dialogContent.footerTemplateComponent\">\n <ng-container *ngComponentOutlet=\"dialogContent.footerTemplateComponent\"></ng-container>\n </ng-container>\n</div>\n","import {Component, Input} from '@angular/core';\nimport {NgbActiveModal} from \"@ng-bootstrap/ng-bootstrap\";\nimport {GravityNotificationContent} from \"./gravity-notification-content.interface\";\n\n@Component({\n templateUrl: './gravity-notification.component.html',\n styleUrls: ['./gravity-notification.component.scss']\n})\nexport class GravityNotificationComponent {\n @Input() public notificationContent: GravityNotificationContent;\n\n constructor(private readonly ngbActiveModal: NgbActiveModal) {\n }\n\n public closeModal(): void {\n this.ngbActiveModal.close();\n }\n}\n","<main class=\"alert-content {{notificationContent.state}}\">\n <gravity-icon class=\"close\" (click)=\"closeModal()\" data-cy=\"gravity_notification_informative_close_icon\"\n [iconName]=\"'unsuccess'\" [title]=\"'Close'\" [iconSize]=\"'md-16'\"></gravity-icon>\n\n <div class=\"title\">\n <!--TODO ebiazzetti change icons-->\n <gravity-icon class=\"title-icon\" [iconName]=\"'notification_' + notificationContent.state\" [size]=\"'md'\"></gravity-icon>\n <h1 class=\"hr-title lg-bold\">{{notificationContent.title}}</h1>\n </div>\n\n <div class=\"content\">\n <h2 class=\"hr-body-text md-regular\">{{notificationContent.text}}</h2>\n <h2 class=\"hr-body-text md-regular\" *ngIf=\"notificationContent.errorCode\">\n Error code: <b>{{notificationContent.errorCode}}</b>\n </h2>\n </div>\n</main>\n","import {Injectable} from '@angular/core';\nimport {GravityNotificationContent} from \"../components/gravity-notification/gravity-notification-content.interface\";\n\n@Injectable({providedIn: 'root'})\nexport class GravityInstantNotificationsService {\n public readonly notifications: GravityNotificationContent[] = [];\n\n public showNotification(content: GravityNotificationContent): void {\n this.notifications.push(content);\n }\n\n public hideNotification(index: number): void {\n this.notifications.splice(index, 1);\n }\n\n public clearNotifications(): void {\n this.notifications.splice(0, this.notifications.length);\n }\n}\n","import {Component, Input} from '@angular/core';\nimport {GravityInstantNotificationsService} from \"../../services/gravity-instant-notifications.service\";\n\n@Component({\n selector: 'gravity-notification-instant-container',\n templateUrl: './gravity-notification-instant-container.component.html',\n styleUrls: ['./gravity-notification-instant-container.component.scss']\n})\nexport class GravityNotificationInstantContainerComponent {\n @Input() public delay: number = 5000;\n\n constructor(public readonly gravityInstantNotificationsService: GravityInstantNotificationsService) {\n }\n}\n","<ngb-toast [autohide]=\"true\" [delay]=\"delay\"\n\n (hidden)=\"gravityInstantNotificationsService.hideNotification(i)\"\n\n *ngFor=\"let notification of gravityInstantNotificationsService.notifications; index as i\">\n <main class=\"alert-content {{notification.state}}\">\n <gravity-icon class=\"close\" (click)=\"gravityInstantNotificationsService.hideNotification(i)\"\n data-cy=\"gravity_notification_instant_close_icon\" [iconName]=\"'unsuccess'\" [iconSize]=\"'md-16'\"\n [title]=\"'Close'\"></gravity-icon>\n\n <div class=\"title\">\n <!--TODO ebiazzetti change icons-->\n <gravity-icon class=\"title-icon\" [iconName]=\"'notification_' + notification.state\" [size]=\"'md'\"></gravity-icon>\n <h1 class=\"hr-title lg-bold\">{{notification.title}}</h1>\n </div>\n\n <div class=\"content\">\n <h2 class=\"hr-body-text md-regular\">{{notification.text}}</h2>\n </div>\n </main>\n</ngb-toast>\n","import {AfterViewInit, Component, EventEmitter, Input, Output} from '@angular/core';\n\n@Component({\n selector: 'gravity-attach-file',\n templateUrl: './gravity-attach-file.component.html',\n styleUrls: ['./gravity-attach-file.component.scss']\n})\nexport class GravityAttachFileComponent implements AfterViewInit {\n @Output('response') public fileValueAsBase64StringResponse: EventEmitter<string> = new EventEmitter();\n\n @Input() public currentLang: string = 'en';\n @Input() public cypressTag: string;\n @Input() public inputId: string = '';\n @Input() public label: string;\n @Input() public required: boolean;\n @Input() public state: 'readonly' | 'disabled' | 'enabled' = \"enabled\";\n @Input() public supportedDocumentTypes: ('*' | '.pdf' | '.doc' | '.docx' | '.jpg' | '.png' | '.jpeg' | 'audio/*' | 'video/*' | 'image/*')[];\n @Input() public supportTextContent: string;\n @Input() public supportTextType: 'neutro' | 'negative' | 'positive';\n\n public file: File;\n public supportedTypes: string = '';\n\n ngAfterViewInit(): void {\n if (this.supportedDocumentTypes) {\n this.supportedDocumentTypes.forEach((value: string, index: number) => {\n this.supportedTypes += value;\n\n if (index != this.supportedDocumentTypes.length - 1) {\n this.supportedTypes += ',';\n }\n })\n } else {\n this.supportedTypes = \"*\";\n }\n }\n\n public handleFileInput($event: any) {\n this.file = $event.target.files[0];\n if (this.file) {\n GravityAttachFileComponent.convertFileToBase64(this.file).then((base64String: string) => {\n this.fileValueAsBase64StringResponse.emit(base64String);\n }).catch((error) => {\n console.error('Error loading file:', error.message);\n });\n }\n }\n\n public static convertFileToBase64(file: File): Promise<string> {\n return new Promise<string>((resolve, reject) => {\n const reader = new FileReader();\n\n reader.onload = () => {\n const base64String = reader.result as string;\n const base64WithoutPrefix = base64String.split(',')[1];\n resolve(base64WithoutPrefix);\n };\n\n reader.onerror = () => {\n reject(new Error('Failed to read the file.'));\n };\n\n reader.readAsDataURL(file);\n });\n }\n\n public removeFile(): void {\n this.file = null;\n this.fileValueAsBase64StringResponse.emit('');\n }\n}\n","<label class=\"hr-body-text sm-regular {{state}}\" [class.empty]=\"!file\" [class.full-input]=\"file\" *ngIf=\"label\">\n {{label}}\n <ng-container *ngIf=\"required\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Requerido <span class=\"text-negative\">*</span></ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Required <span class=\"text-negative\">*</span></ng-container>\n </ng-container>\n <ng-container *ngIf=\"state == 'readonly'\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Sólo lectura</ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Readonly</ng-container>\n </ng-container>\n <ng-container *ngIf=\"state == 'disabled'\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Deshabilitado</ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Disabled</ng-container>\n </ng-container>\n</label>\n<div class=\"gravity-attach-file {{state}}\" [class.empty]=\"!file\" [class.full-input]=\"file\">\n <ng-container *ngIf=\"!file\">\n <input autocomplete=\"off\" class=\"hr-label md-regular\" hidden id=\"fileInput-{{inputId}}\" type=\"file\"\n [accept]=\"supportedTypes\"\n [attr.data-cy]=\"cypressTag\"\n [attr.disabled]=\"state == 'disabled' ? true : null\"\n [attr.readonly]=\"state == 'readonly' ? true : null\"\n\n (change)=\"handleFileInput($event)\">\n <label for=\"fileInput-{{inputId}}\">\n <gravity-button [iconName]=\"'clip'\" [type]=\"'tertiary'\" [size]=\"'md'\">\n {{label}}\n </gravity-button>\n </label>\n </ng-container>\n <ng-container *ngIf=\"file\">\n <label>\n <gravity-button (click)=\"removeFile()\" [iconName]=\"'clip'\" [type]=\"'tertiary'\" [size]=\"'md'\">\n {{currentLang == 'en' ? 'Remove file' : 'Remover archivo'}}\n </gravity-button>\n </label>\n <h3 class=\"hr-body-text sm-bold\">{{currentLang == 'en' ? 'File' : 'Archivo'}}: {{file.name}}</h3>\n </ng-container>\n</div>\n<p class=\"hr-body-text sm-regular support-text text-{{supportTextType}}\" *ngIf=\"supportTextContent\">\n {{supportTextContent}}\n</p>\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n HostListener,\n Input,\n OnChanges,\n Renderer2,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\n\n@Component({\n selector: 'gravity-table',\n templateUrl: './gravity-table.component.html',\n styleUrls: ['./gravity-table.component.scss']\n})\nexport class GravityTableComponent implements AfterViewInit, OnChanges {\n @Input() public tableDensity: 'standard' | 'compressed' = \"standard\";\n @Input() public tableSizeInput: 'xl' | 'lg' | 'md' | 'sm' | 'auto' = \"auto\";\n @ViewChild('tableContainer') public readonly tableContainer: ElementRef;\n\n private tableElement: ElementRef = null;\n public tableId: string;\n public tableSize: 'xl' | 'lg' | 'md' | 'sm' = 'xl';\n\n constructor(private readonly renderer: Renderer2) {\n let milliseconds: number = new Date().getTime();\n let randomNumber: number = Math.random() * 10;\n\n this.tableId = '' + (milliseconds * randomNumber / 2);\n }\n\n ngAfterViewInit(): void {\n this.tableElement = this.tableContainer?.nativeElement?.childNodes[0];\n this.renderer.setAttribute(this.tableElement, 'table-id', this.tableId);\n this.initializeComponent();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (this.tableElement) {\n if (changes['tableDensity']) {\n this.adjustTableDensity(changes['tableDensity'].currentValue);\n }\n\n if (changes['tableSizeInput']) {\n this.tableSizeInput = changes['tableSizeInput'].currentValue;\n this.onResize();\n }\n }\n }\n\n private getTableHeaders(): string[] {\n let tableHeaderItems: NodeList = document.querySelectorAll('table[table-id=\"' + this.tableId + '\"] thead tr th');\n let tableHeaders: string[] = [];\n\n tableHeaderItems.forEach((tableHeaderItem: Node) => {\n tableHeaders.push(tableHeaderItem.childNodes[0].nodeValue);\n });\n\n return tableHeaders;\n }\n\n public initializeComponent(): void {\n let tableHeaders: string[] = this.getTableHeaders();\n this.initializeTable(tableHeaders);\n this.adjustTableDensity(this.tableDensity);\n this.adjustButtonsSize();\n this.onResize();\n }\n\n private initializeTable(tableHeaders: string[]): void {\n //Set corresponding tableHeader as an attribute of each td\n let tableBody: NodeList = document.querySelectorAll('table[table-id=\"' + this.tableId + '\"] tbody tr td');\n tableBody.forEach((tableBodyRow: Node, index: number) => {\n this.renderer.setAttribute(tableBodyRow, 'header-name', tableHeaders[index % tableHeaders.length]);\n });\n\n //Creates a copy of mobile-menu-trigger element for each tr\n let tableBodyRows: NodeList = document.querySelectorAll('table[table-id=\"' + this.tableId + '\"] tbody tr');\n let closeButtons: NodeList = document.querySelectorAll('gravity-button[id-reference=\"close-button\"]');\n\n tableBodyRows.forEach((tr: Node, index: number) => {\n let actionColum: NodeList = null;\n\n if (tr.firstChild) {\n actionColum = tr.firstChild.parentElement.querySelectorAll('td.actions-column');\n }\n\n if (actionColum?.length > 0) {\n let mobileMenuTrigger: HTMLDivElement = document.createElement('div');\n this.renderer.addClass(mobileMenuTrigger, 'mobile-menu-trigger');\n this.renderer.setAttribute(mobileMenuTrigger, 'cloned-node', 'true');\n\n let menuToggle: HTMLDivElement = document.createElement('div');\n this.renderer.addClass(menuToggle, 'menu-toggle');\n menuToggle.appendChild(document.createElement('span'));\n menuToggle.appendChild(document.createElement('span'));\n menuToggle.appendChild(document.createElement('span'));\n menuToggle.addEventListener(\"click\", () => {\n if (menuToggle.classList.contains('open')) {\n this.renderer.removeClass(menuToggle, 'open');\n this.renderer.removeClass(menuToggle.parentElement.lastElementChild, 'open');\n } else {\n this.renderer.addClass(menuToggle, 'open');\n this.renderer.addClass(menuToggle.parentElement.lastElementChild, 'open');\n }\n });\n mobileMenuTrigger.appendChild(menuToggle);\n\n let panel: HTMLDivElement = document.createElement('div');\n this.renderer.addClass(panel, 'panel');\n\n let closeButtonFromNodeList: Node = closeButtons.item(index);\n let closeButtonRemoved: Node = closeButtonFromNodeList.parentNode.removeChild(closeButtonFromNodeList);\n this.renderer.setAttribute(closeButtonRemoved, 'cloned-button', 'true');\n closeButtonRemoved.addEventListener(\"click\", () => {\n this.renderer.removeClass(menuToggle, 'open');\n this.renderer.removeClass(menuToggle.parentElement.lastElementChild, 'open');\n });\n\n panel.append(closeButtonRemoved);\n\n mobileMenuTrigger.appendChild(panel);\n\n tr.insertBefore(mobileMenuTrigger, tr.firstChild);\n }\n });\n }\n\n private adjustTableDensity(densityValue: 'standard' | 'compressed'): void {\n this.renderer.removeClass(this.tableElement, 'standard-table');\n this.renderer.removeClass(this.tableElement, 'compressed-table');\n\n this.renderer.addClass(this.tableElement, densityValue + '-table');\n }\n\n private adjustButtonsSize(): void {\n let actionsColumns: NodeList = document.querySelectorAll('table[table-id=\"' + this.tableId + '\"] .actions-column');\n actionsColumns.forEach((actionsColumn: Node) => {\n actionsColumn.childNodes.forEach((gravityButton: Node) => {\n let button: Node = gravityButton.childNodes[0];\n\n this.renderer.removeClass(button, 'gravity-size-lg');\n this.renderer.removeClass(button, 'gravity-size-md');\n this.renderer.removeClass(button, 'gravity-size-sm');\n this.renderer.removeClass(button, 'lg-bold');\n this.renderer.removeClass(button, 'md-bold');\n this.renderer.removeClass(button, 'sm-bold');\n\n this.renderer.addClass(button, 'gravity-size-sm');\n this.renderer.addClass(button, 'sm-bold');\n });\n });\n }\n\n @HostListener('window:resize', ['$event'])\n private onResize(): void {\n if (window.innerWidth <= 576) {\n this.tableSize = 'sm';\n } else if (window.innerWidth <= 992) {\n this.tableSize = 'md';\n } else if (window.innerWidth <= 1440) {\n this.tableSize = 'lg';\n } else {\n this.tableSize = 'xl';\n }\n\n this.adjustTableSize();\n }\n\n private adjustTableSize(): void {\n this.renderer.removeClass(this.tableElement, 'sm-table');\n this.renderer.removeClass(this.tableElement, 'md-table');\n this.renderer.removeClass(this.tableElement, 'lg-table');\n this.renderer.removeClass(this.tableElement, 'xl-table');\n\n if (this.tableSizeInput != 'auto') {\n this.tableSize = this.tableSizeInput;\n }\n\n this.renderer.addClass(this.tableElement, this.tableSize + '-table');\n this.adjustTable();\n }\n\n private adjustTable(): void {\n if (this.tableSize == 'md' || this.tableSize == 'sm') {\n let tableBodyRows: NodeList = document.querySelectorAll('table[table-id=\"' + this.tableId + '\"] tbody tr');\n\n tableBodyRows.forEach((tr: Node) => {\n if (tr.firstChild) {\n let trActionsColum: Node = tr.firstChild.parentElement.querySelectorAll('td.actions-column')[0];\n let mobileMenuTrigger: Node = tr.firstChild.parentElement.querySelectorAll('.mobile-menu-trigger[cloned-node=\"true\"]')[0];\n\n if (mobileMenuTrigger) {\n let mobileMenuTriggerPanel: Node = mobileMenuTrigger.lastChild;\n\n if (trActionsColum && mobileMenuTriggerPanel) {\n this.appendNodesList(mobileMenuTriggerPanel, trActionsColum.childNodes);\n }\n }\n }\n });\n }\n\n if (this.tableSize == 'lg' || this.tableSize == 'xl') {\n let tableBodyRows: NodeList = document.querySelectorAll('table[table-id=\"' + this.tableId + '\"] tbody tr');\n\n tableBodyRows.forEach((tr: Node) => {\n if (tr.firstChild) {\n let trActionsColum: Node = tr.firstChild.parentElement.querySelectorAll('td.actions-column')[0];\n let mobileMenuTrigger: Node = tr.firstChild.parentElement.querySelectorAll('.mobile-menu-trigger[cloned-node=\"true\"]')[0];\n\n if (trActionsColum && mobileMenuTrigger) {\n this.appendNodesList(trActionsColum, mobileMenuTrigger.lastChild.childNodes);\n }\n }\n });\n }\n }\n\n private appendNodesList(elementToAppend: Node, nodesList: NodeListOf<ChildNode>): Node {\n if (this.tableSize == 'md' || this.tableSize == 'sm') {\n let nodeListIndex: number = nodesList.length - 1;\n\n while (nodesList.length != 0) {\n let removedNode: Node = nodesList.item(nodeListIndex).parentNode.removeChild(nodesList.item(nodeListIndex));\n elementToAppend.insertBefore(removedNode, elementToAppend.firstChild);\n nodeListIndex--;\n }\n\n return elementToAppend;\n }\n\n if (this.tableSize == 'lg' || this.tableSize == 'xl') {\n let nodeListIndex: number = nodesList.length - 1;\n\n while (nodesList.length > 1) {\n let item: Node = nodesList.item(nodeListIndex);\n let closeButtonNode: Node = item.parentNode.querySelectorAll('gravity-button[id-reference=\"close-button\"]').item(0);\n\n if (item != closeButtonNode) {\n let removedNode: Node = item.parentNode.removeChild(item);\n elementToAppend.insertBefore(removedNode, elementToAppend.firstChild);\n }\n\n nodeListIndex--;\n }\n\n return elementToAppend;\n }\n }\n}\n","<div class=\"table-container {{tableSize}}\" #tableContainer>\n <ng-content></ng-content>\n</div>\n\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n<gravity-button id-reference=\"close-button\" [iconName]=\"'unsuccess'\" [type]=\"'tertiary'\" [size]=\"'sm'\">Close menu</gravity-button>\n","export enum NodeSelectedState {\n checked,\n unChecked,\n indeterminate\n}\n","import {Injectable, OnDestroy} from '@angular/core';\nimport {BehaviorSubject, Observable, Subscription} from 'rxjs';\nimport {debounceTime, distinctUntilChanged} from 'rxjs/operators';\nimport {NodeItem} from '../models/node-item';\nimport {NodeState} from '../models/node-state';\nimport {NodeSelectedState} from '../models/node-selected-state';\nimport {TreeCallbacks} from '../models/tree-callbacks';\n\n@Injectable()\nexport class TreeService implements OnDestroy {\n private readonly filterChangeSubjectSubscription: Subscription;\n\n public callbacks: TreeCallbacks;\n public filterValue: string = '';\n public nodeItems: NodeItem<any>[];\n public selectedItems: any[] = [];\n public treeState: NodeState[];\n\n private filterChangeSubject = new BehaviorSubject(this.filterValue);\n private selectedItemsSubject = new BehaviorSubject(this.selectedItems);\n private selectedStates: NodeState[] = [];\n\n constructor() {\n this.filterChangeSubjectSubscription = this.filterChangeSubject.pipe(debounceTime(300), distinctUntilChanged()).subscribe(() => {\n this.filterTraverse(this.treeState, this.filterValue);\n });\n }\n\n ngOnDestroy() {\n this.filterChangeSubjectSubscription.unsubscribe();\n }\n\n public connect(): Observable<any[]> {\n return this.selectedItemsSubject.asObservable();\n }\n\n public setInitialState(): void {\n this.setInitialSelectedState(this.treeState);\n }\n\n private setInitialSelectedState(nodeStates: NodeState[]): void {\n for (const state of nodeStates) {\n if (state.nodeItem.selected && (!state.children || state.children.length === 0)) {\n this.toggleSelectedState(state, true);\n }\n\n this.setInitialSelectedState(state.children);\n }\n }\n\n public clear(): void {\n for (let state of this.selectedStates) {\n state.selected = false;\n state.selectedState = NodeSelectedState.unChecked;\n }\n\n this.selectedItems.length = 0;\n this.selectedStates.length = 0;\n }\n\n private filterTraverse(states: NodeState[], filter: string): boolean {\n let results: boolean[] = [];\n\n for (let state of states) {\n if (state.children.length > 0) {\n state.hasFilteredChildren = false;\n state.hasFilteredChildren = this.filterTraverse(state.children, filter);\n\n if (this.applyFilter(state, filter)) {\n state.hasFilteredChildren = true;\n }\n\n results.push(state.hasFilteredChildren);\n }\n }\n\n return results.some((item: boolean) => item);\n }\n\n private applyFilter(state: NodeState, filter: string): boolean {\n state.filteredChildren = this.filter(state.children, filter);\n return state.filteredChildren.length > 0;\n }\n\n private filter(states: NodeState[], value: string): NodeState[] {\n return states.filter((nodeState: NodeState) => nodeState.hasFilteredChildren || value === '' || nodeState.nodeItem.name.toLowerCase().indexOf(value) !== -1);\n }\n\n public checkboxClick(state: NodeState): void {\n this.toggleSelectedState(state, false);\n\n if (this.callbacks?.toggle) {\n this.callbacks.toggle(state.nodeItem);\n }\n }\n\n private toggleSelectedState(state: NodeState, ignoreDisabled: boolean): void {\n if (state.disabled && !ignoreDisabled) {\n return;\n }\n\n if (state.selectedState === NodeSelectedState.unChecked) {\n this.setChecked(state, true, ignoreDisabled);\n } else if (state.selectedState === NodeSelectedState.checked) {\n this.setUnchecked(state, true, ignoreDisabled);\n } else {\n if (this.anyActiveSelected(state) && !state.selected) {\n this.setUnchecked(state, true, ignoreDisabled);\n } else {\n this.setChecked(state, true, ignoreDisabled);\n }\n }\n\n if (state.parent) {\n this.childStateChanged(state.parent);\n }\n }\n\n private setChecked(state: NodeState, propagate: boolean, ignoreDisabled?: boolean): void {\n if (state.disabled && !ignoreDisabled) {\n return;\n }\n\n state.selectedState = NodeSelectedState.checked;\n state.selected = true;\n\n if (TreeService.hasNoChildren(state)) {\n this.addSelected(state);\n } else if (propagate) {\n for (const child of state.children) {\n this.setChecked(child, propagate, ignoreDisabled);\n }\n }\n }\n\n private setUnchecked(state: NodeState, propagate: boolean, ignoreDisabled?: boolean) {\n if (state.disabled && !ignoreDisabled) {\n return;\n }\n\n state.selectedState = NodeSelectedState.unChecked;\n state.selected = false;\n\n if (TreeService.hasNoChildren(state)) {\n this.removeSelected(state.nodeItem.item);\n\n if (this.callbacks?.unSelect) {\n this.callbacks.unSelect(state.nodeItem);\n }\n } else if (propagate) {\n for (const child of state.children) {\n this.setUnchecked(child, propagate, ignoreDisabled);\n }\n }\n\n if (!this.anyChildSelected(state)) {\n this.removeSelected(state.nodeItem.item);\n }\n }\n\n private removeSelected(item: any): void {\n let index = this.selectedItems.indexOf(item);\n if (index !== -1) {\n this.selectedItems.splice(index, 1);\n }\n }\n\n private static hasNoChildren(state: NodeState): boolean {\n return !state.children || state.children.length === 0;\n }\n\n private addSelected(state: NodeState): void {\n this.selectedItems.push(state.nodeItem.item);\n this.selectedStates.push(state);\n\n if (this.callbacks?.select) {\n this.callbacks.select(state.nodeItem);\n }\n }\n\n public reEvaluateSelectedState(state: NodeState): void {\n if (!TreeService.hasNoChildren(state)) {\n this.childStateChanged(state);\n\n for (const child of state.children) {\n this.reEvaluateSelectedState(child);\n }\n }\n }\n\n public childStateChanged(state: NodeState): void {\n if (this.anyChildSelected(state)) {\n if (state.nodeItem.id != '0') {\n let itemIndex = this.selectedItems.indexOf(state.nodeItem.item);\n\n if (itemIndex === -1) {\n this.selectedItems.push(state.nodeItem.item);\n }\n }\n\n if (this.allChildrenSelected(state)) {\n this.setChecked(state, false);\n } else {\n state.selectedState = NodeSelectedState.indeterminate;\n state.selected = false;\n }\n } else {\n this.setUnchecked(state, false);\n }\n\n if (state.parent) {\n this.childStateChanged(state.parent);\n }\n }\n\n private anyChildSelected(state: NodeState): boolean {\n return state.children.find((item: NodeState) => item.selectedState === NodeSelectedState.checked || item.selectedState === NodeSelectedState.indeterminate) != null;\n }\n\n public static initState(parent: NodeState, nodeItem: NodeItem<any>): NodeState {\n return {\n parent: parent,\n children: [],\n filteredChildren: [],\n hasFilteredChildren: false,\n nodeItem: nodeItem,\n expanded: nodeItem.expanded !== false,\n disabled: nodeItem.disabled === true,\n selectedState: NodeSelectedState.unChecked,\n selected: false,\n showCheckbox: nodeItem.showCheckbox\n };\n }\n\n private allChildrenSelected(state: NodeState): boolean {\n if (state.nodeItem.children) {\n return state.children.every(it => it.selectedState === NodeSelectedState.checked) && state.children.length === state.nodeItem.children.length;\n } else {\n return state.children.every(it => it.selectedState === NodeSelectedState.checked);\n }\n }\n\n private anyActiveSelected(state: NodeState): boolean {\n let result = state.children.filter(it => !it.disabled && it.selected).length > 0;\n\n for (const child of state.children) {\n if (!TreeService.hasNoChildren(child) && this.anyActiveSelected(child)) {\n result = true;\n }\n }\n\n return result;\n }\n\n public filterChanged(value: string) {\n this.filterValue = value;\n this.filterChangeSubject.next(value);\n }\n}\n","import {Component, Input} from '@angular/core';\nimport {NodeState} from '../../models/node-state';\n\n@Component({\n selector: 'node-toggle',\n templateUrl: './node-toggle.component.html',\n styleUrls: ['./node-toggle.component.scss']\n})\nexport class NodeToggleComponent {\n @Input() public state: NodeState;\n}\n","<div class=\"node-toggle-wrapper\" [class.collapsable]=\"state.nodeItem?.children?.length > 0\"\n (click)=\"state.expanded = !state.expanded\">\n <gravity-icon [iconName]=\"state.expanded ? 'arrow-down' : 'arrow-right'\" [iconSize]=\"'md-16'\"\n *ngIf=\"state.nodeItem?.children?.length > 0\"></gravity-icon>\n</div>\n","import {Component, Input} from '@angular/core';\nimport {TreeService} from '../../service/tree-service';\nimport {NodeState} from \"../../models/node-state\";\n\n@Component({\n selector: 'node-checkbox',\n templateUrl: './node-checkbox.component.html',\n styleUrls: ['./node-checkbox.component.scss']\n})\nexport class NodeCheckboxComponent {\n @Input() public state: NodeState;\n\n constructor(private readonly treeService: TreeService) {\n }\n\n public clickOnCheckbox(): void {\n if (!this.state.disabled) {\n this.treeService.checkboxClick(this.state);\n\n setTimeout(() => {\n this.treeService.reEvaluateSelectedState(this.state);\n }, 1);\n }\n }\n}\n","<gravity-icon class=\"border-radius-sm checkbox-icon\" [class.unselect]=\"state.selectedState == 1\"\n [class.select]=\"state.selectedState != 1\" [class.disabled]=\"state.disabled\"\n\n (click)=\"clickOnCheckbox()\"\n\n [iconName]=\"state.selectedState == 2 ? 'uncheck' : 'check'\"\n [iconSize]=\"state.selectedState == 2 ? null : 'lg-24'\"\n [size]=\"state.selectedState == 2 ? 'md' : null\"></gravity-icon>\n","import {Component, Input} from '@angular/core';\nimport {NodeState} from '../../models/node-state';\n\n@Component({\n selector: 'node-name',\n templateUrl: './node-name.component.html',\n styleUrls: ['./node-name.component.scss']\n})\nexport class NodeNameComponent {\n @Input() public state: NodeState;\n}\n","<div [class.disabled]=\"state.disabled\" class=\"node-name\">\n <span class=\"hr-label md-regular\">{{state.nodeItem.name}}</span>\n</div>\n","import {Component, Input} from '@angular/core';\nimport {NodeState} from '../models/node-state';\n\n@Component({\n selector: 'tree-node',\n templateUrl: './node.component.html',\n styleUrls: ['./node.component.scss']\n})\nexport class NodeComponent {\n @Input() public nodeState: NodeState;\n}\n","<div class=\"node-container\">\n <div class=\"node-content\">\n <node-toggle [state]=\"nodeState\"></node-toggle>\n <node-checkbox [state]=\"nodeState\" *ngIf=\"nodeState.showCheckbox\"></node-checkbox>\n <node-name [state]=\"nodeState\"></node-name>\n </div>\n <div class=\"collapsible-wrapper\" *ngIf=\"nodeState.nodeItem.children\"\n [class.collapsed]=\"!nodeState.expanded && nodeState.nodeItem.children.length > 0 && nodeState.filteredChildren.length > 0\">\n <div class=\"collapsible\">\n <tree-node class=\"node-offset\" [nodeState]=\"child\"\n *ngFor=\"let child of nodeState.filteredChildren\"></tree-node>\n </div>\n </div>\n</div>\n","import {Component, EventEmitter, Input, OnChanges, OnDestroy, Output, SimpleChanges} from '@angular/core';\nimport {TreeService} from \"./service/tree-service\";\nimport {Subscription, timer} from \"rxjs\";\nimport {NodeItem} from \"./models/node-item\";\nimport {TreeCallbacks} from \"./models/tree-callbacks\";\nimport {NodeState} from \"./models/node-state\";\n\n@Component({\n selector: 'gravity-tree-view',\n templateUrl: './gravity-tree-view.component.html',\n styleUrls: ['./gravity-tree-view.component.scss'],\n providers: [TreeService]\n})\nexport class GravityTreeViewComponent implements OnDestroy, OnChanges {\n private readonly treeServiceSubscription: Subscription;\n\n @Input() callbacks: TreeCallbacks;\n @Input() nodeItems: NodeItem<any>[];\n @Input() showFilterInput: boolean = false;\n @Output() selectedItems = new EventEmitter<any>();\n\n constructor(public readonly treeService: TreeService) {\n this.treeServiceSubscription = treeService.connect().subscribe((items: any[]) => {\n const subscription = timer(0).subscribe(() => {\n this.selectedItems.emit(items);\n subscription.unsubscribe();\n });\n });\n }\n\n ngOnDestroy() {\n this.treeServiceSubscription.unsubscribe();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.callbacks) {\n this.treeService.callbacks = this.callbacks;\n }\n\n if (changes.nodeItems) {\n this.initialize();\n }\n }\n\n public initialize(): void {\n this.treeService.callbacks = this.callbacks;\n this.treeService.nodeItems = this.nodeItems;\n\n this.treeService.treeState = this.initTreeStructure(null, this.treeService.nodeItems);\n this.treeService.clear();\n this.treeService.setInitialState();\n }\n\n private initTreeStructure(parent: NodeState, nodeItems: NodeItem<any>[]): NodeState[] {\n const treeStructure: NodeState[] = [];\n\n nodeItems.forEach((nodeItem: NodeItem<any>) => {\n const nodeState: NodeState = TreeService.initState(parent, nodeItem);\n\n if (nodeItem.children) {\n nodeState.children = this.initTreeStructure(nodeState, nodeItem.children);\n nodeState.filteredChildren = nodeState.children;\n }\n\n treeStructure.push(nodeState);\n });\n\n return treeStructure;\n }\n\n public changeFilter(newValue: string): void {\n this.treeService.filterChanged(newValue.toLowerCase());\n }\n}\n","<gravity-text-field [label]=\"'Change filter'\" *ngIf=\"showFilterInput\"\n (response)=\"changeFilter($event)\"></gravity-text-field>\n<tree-node [nodeState]=\"state\" *ngFor=\"let state of treeService.treeState\"></tree-node>\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\n\n@Component({\n selector: 'gravity-stepper',\n templateUrl: './gravity-stepper.component.html',\n styleUrls: ['./gravity-stepper.component.scss']\n})\nexport class GravityStepperComponent {\n @Input() public currentLang: string = 'en';\n @Input() public stepLabels: string[];\n\n @Output('currentStep') public currentStepResponse: EventEmitter<number> = new EventEmitter<number>();\n\n public currentStep: number = 1;\n\n public goNext(): void {\n this.currentStep++;\n this.currentStepResponse.emit(this.currentStep);\n }\n\n public goBack(): void {\n this.currentStep--;\n this.currentStepResponse.emit(this.currentStep);\n }\n\n public reset(): void {\n this.currentStep = 1;\n this.currentStepResponse.emit(this.currentStep);\n }\n}\n","<div class=\"stepper-header\">\n <div class=\"step\" *ngFor=\"let stepLabel of stepLabels; let index = index\"\n [class.current]=\"(index + 1) == currentStep\"\n [class.pending]=\"(index + 1) > currentStep\"\n [class.completed]=\"(index + 1) < currentStep\"\n [style.--step-width]=\"(100 / stepLabels.length) + '%'\">\n <hr>\n <div class=\"step-content gravity-padding-right-md\">\n <gravity-icon class=\"border-radius-rounded gravity-margin-top-xs gravity-margin-right-sm gravity-padding-xs\"\n [style.--icon-color]=\"'var(--gravity-icon-color)'\" [iconName]=\"'check'\"\n [iconSize]=\"'xl-32'\"></gravity-icon>\n <div>\n <p class=\"step-number hr-label md-regular\">\n {{currentLang == 'es' ? 'Paso' : 'Step'}} 0{{index + 1}}\n </p>\n <p class=\"step-text hr-label md-bold\">{{stepLabel}}</p>\n <p class=\"border-radius-rounded hr-label md-regular step-state\"\n [class.current]=\"(index + 1) == currentStep\"\n [class.pending]=\"(index + 1) > currentStep\"\n [class.completed]=\"(index + 1) < currentStep\">\n {{currentLang == 'en' ? ((index + 1) == currentStep ? 'In progress' : (index + 1) > currentStep ? 'Pending' : 'Completed') : ''}}\n {{currentLang == 'es' ? ((index + 1) == currentStep ? 'En progreso' : (index + 1) > currentStep ? 'Pendiente' : 'Completado') : ''}}\n </p>\n </div>\n </div>\n </div>\n <div class=\"gravity-margin-top-xs mobile\">\n <p class=\"border-radius-xs current gravity-margin-right-xs hr-label md-regular step-state\">\n {{currentLang == 'en' ? 'In progress' : 'En progreso'}}\n </p>\n <p class=\"step-number gravity-margin-right-xs hr-label md-regular\">\n {{currentLang == 'es' ? 'Paso' : 'Step'}} 0{{currentStep}}:\n </p>\n <p class=\"step-text hr-label md-bold\">{{stepLabels[currentStep - 1]}}</p>\n </div>\n</div>\n<div class=\"stepper-content\">\n <ng-content></ng-content>\n</div>\n","import {Component, inject, TemplateRef, ViewChild} from '@angular/core';\nimport {NgbOffcanvas} from '@ng-bootstrap/ng-bootstrap';\nimport {NgbOffcanvasOptions} from \"@ng-bootstrap/ng-bootstrap/offcanvas/offcanvas-config\";\n\n@Component({\n selector: 'gravity-offcanvas',\n templateUrl: './gravity-offcanvas.component.html',\n styleUrls: ['./gravity-offcanvas.component.scss']\n})\nexport class GravityOffcanvasComponent {\n @ViewChild('offcanvasContent', {static: false}) private readonly offcanvasContent: TemplateRef<any>;\n\n private readonly offcanvasService: NgbOffcanvas = inject(NgbOffcanvas);\n\n public open(options?: NgbOffcanvasOptions): void {\n this.offcanvasService.open(this.offcanvasContent, options);\n }\n\n public dismiss(): void {\n this.offcanvasService.dismiss();\n }\n}\n","<ng-template #offcanvasContent>\n <ng-content></ng-content>\n</ng-template>\n","import {Component, EventEmitter, Input, Output, Renderer2, ViewChild} from '@angular/core';\n\n@Component({\n selector: 'gravity-text-field-number-only',\n templateUrl: './gravity-text-field-number-only.component.html',\n styleUrls: ['./gravity-text-field-number-only.component.scss', './gravity-text-field-number-only.variables.scss']\n})\nexport class GravityTextFieldNumberOnlyComponent {\n @Output('response') public textFieldValueResponse: EventEmitter<string> = new EventEmitter();\n @ViewChild('digitContainer0', {static: false}) private digitContainer0: any;\n @ViewChild('digitContainer1', {static: false}) private digitContainer1: any;\n @ViewChild('digitContainer2', {static: false}) private digitContainer2: any;\n @ViewChild('digitContainer3', {static: false}) private digitContainer3: any;\n @ViewChild('digitContainer4', {static: false}) private digitContainer4: any;\n @ViewChild('digitContainer5', {static: false}) private digitContainer5: any;\n\n // Component\n @Input() public currentLang: string = 'en';\n @Input() public customState: 'default' | 'active' | 'hover' | 'typing' | 'typed' | 'typed-error' | 'typed-positive' | 'disabled' | 'readonly' = 'default';\n @Input() public cypressTag: string;\n @Input() public label: string;\n @Input() public required: boolean;\n @Input() public size: 'sm' | 'md' = 'md';\n @Input() public supportText: string;\n\n public focusInput: boolean = false;\n public inputValue: string = '';\n\n constructor(private readonly renderer: Renderer2) {\n }\n\n public clearInput(): void {\n this.inputValue = '';\n }\n\n public getTextFieldStatus(): string {\n if (this.customState == 'default') {\n if (!this.focusInput && !this.inputValue) {\n return 'active';\n } else if (!this.focusInput && this.inputValue) {\n return 'typed';\n } else {\n return 'typing';\n }\n } else {\n return this.customState;\n }\n }\n\n public onKeyDownEvent($event: KeyboardEvent): void {\n let navigationKeys = ['Backspace', 'Delete', 'Tab', 'Escape', 'Enter', 'Home', 'End', 'ArrowLeft', 'ArrowRight', 'Clear', 'Copy', 'Paste'];\n\n if (\n navigationKeys.indexOf($event.key) > -1 || // Allow: navigation keys: backspace, delete, arrows etc.\n ($event.key === 'a' && $event.ctrlKey === true) || // Allow: Ctrl+A\n ($event.key === 'c' && $event.ctrlKey === true) || // Allow: Ctrl+C\n ($event.key === 'v' && $event.ctrlKey === true) || // Allow: Ctrl+V\n ($event.key === 'x' && $event.ctrlKey === true) || // Allow: Ctrl+X\n ($event.key === 'a' && $event.metaKey === true) || // Allow: Cmd+A (Mac)\n ($event.key === 'c' && $event.metaKey === true) || // Allow: Cmd+C (Mac)\n ($event.key === 'v' && $event.metaKey === true) || // Allow: Cmd+V (Mac)\n ($event.key === 'x' && $event.metaKey === true) // Allow: Cmd+X (Mac)\n ) {\n // let it happen, don't do anything\n return;\n }\n\n // Ensure that it is a number and stop the keypress\n if (\n ($event.shiftKey || ($event.keyCode < 48 || $event.keyCode > 57)) &&\n ($event.keyCode < 96 || $event.keyCode > 105)\n ) {\n $event.preventDefault();\n }\n }\n\n public returnValue(): void {\n if (this.inputValue == '') {\n this.textFieldValueResponse.emit('');\n } else {\n this.textFieldValueResponse.emit(this.inputValue);\n }\n }\n\n public setFocus(textareaElement: HTMLTextAreaElement): void {\n let containers: any[] = [this.digitContainer0, this.digitContainer1, this.digitContainer2, this.digitContainer3, this.digitContainer4, this.digitContainer5];\n\n for (let index = 0; index < containers.length; index++) {\n if (index == textareaElement.selectionStart) {\n this.renderer.addClass(containers[index].nativeElement, 'focused');\n } else {\n this.renderer.removeClass(containers[index].nativeElement, 'focused');\n }\n }\n\n if (textareaElement.selectionStart == 6) {\n this.renderer.addClass(textareaElement, 'hide-caret');\n } else {\n this.renderer.removeClass(textareaElement, 'hide-caret');\n }\n }\n}\n","<div class=\"{{size}}\" style=\"width: fit-content\">\n <label class=\"hr-label sm-bold {{getTextFieldStatus()}}\" [class.custom-label-size]=\"size == 'sm'\" *ngIf=\"label\">\n {{label}} <span *ngIf=\"required || getTextFieldStatus() == 'typed-error'\">*</span>\n </label>\n <div class=\"text-field-number-only-wrapper {{getTextFieldStatus()}}\">\n <textarea [attr.data-cy]=\"cypressTag\"\n [attr.disabled]=\"customState == 'disabled' ? true : null\"\n [attr.readonly]=\"customState == 'readonly' ? true : null\"\n #textAreaElement\n\n autocomplete=\"off\"\n class=\"hr-label {{size}}-regular\"\n cols=\"6\"\n maxlength=\"6\"\n minlength=\"6\"\n inputmode=\"numeric\"\n placeholder=\"______\"\n rows=\"1\"\n type=\"text\"\n\n [(ngModel)]=\"inputValue\"\n\n (blur)=\"focusInput = false\"\n (click)=\"setFocus(textAreaElement)\"\n (focus)=\"focusInput = true\"\n (keydown)=\"onKeyDownEvent($event)\"\n (keyup)=\"setFocus(textAreaElement); returnValue()\"></textarea>\n <div class=\"digit-container\" #digitContainer0></div>\n <div class=\"digit-container\" #digitContainer1></div>\n <div class=\"digit-container\" #digitContainer2></div>\n <div class=\"digit-container\" #digitContainer3></div>\n <div class=\"digit-container\" #digitContainer4></div>\n <div class=\"digit-container\" #digitContainer5></div>\n <div class=\"overflow\"></div>\n </div>\n <p class=\"hr-label sm-regular supporting-text {{getTextFieldStatus()}}\" [class.custom-label-size]=\"size == 'sm'\"\n *ngIf=\"supportText\">\n <gravity-icon [iconName]=\"'question-circle'\" *ngIf=\"getTextFieldStatus() == 'typed-error'\"\n [iconSize]=\"'sm-12'\"></gravity-icon>\n {{supportText}}\n </p>\n <p class=\"hr-label sm-regular supporting-text {{getTextFieldStatus()}}\" [class.custom-label-size]=\"size == 'sm'\"\n *ngIf=\"!supportText && getTextFieldStatus() == 'active' && inputValue == '' && required\">\n {{currentLang == 'es' ? 'Requerido' : 'Required'}}\n </p>\n</div>\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\n\n@Component({\n selector: 'gravity-icon-button',\n templateUrl: './gravity-icon-button.component.html',\n styleUrls: ['./gravity-icon-button.component.scss']\n})\nexport class GravityIconButtonComponent {\n @Input() public icon: string;\n @Input() public state: 'active' | 'pressed' | 'disabled' = 'active';\n @Input() public type: 'primary' | 'secondary' = \"primary\";\n\n @Output() public clickOnIcon: EventEmitter<void> = new EventEmitter<void>();\n\n public onClick(): void {\n if (this.state != 'disabled') {\n this.clickOnIcon.emit();\n }\n }\n}\n","<div class=\"gravity-icon-button {{type}} {{state}}\" (click)=\"onClick()\">\n <gravity-icon [iconName]=\"icon\" [iconSize]=\"'md-16'\"></gravity-icon>\n</div>\n","import {Component, Input} from '@angular/core';\n\n@Component({\n selector: 'gravity-status-indicator',\n templateUrl: './gravity-status-indicator.component.html',\n styleUrls: ['./gravity-status-indicator.component.scss']\n})\nexport class GravityStatusIndicatorComponent {\n @Input() public icon: string;\n @Input() public status: 'positive' | 'negative' | 'neutro' = 'neutro';\n @Input() public text: string;\n}\n","<div class=\"gravity-status-indicator hr-body-text sm-regular {{status}}\">\n {{text}}\n <gravity-icon [iconName]=\"icon\" [iconSize]=\"'sm-12'\" *ngIf=\"icon\"></gravity-icon>\n</div>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from \"@angular/common\";\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\nimport {GravityButtonComponent} from './components/gravity-button/gravity-button.component';\nimport {GravityDropdownListComponent} from \"./components/gravity-dropdown-list/gravity-dropdown-list.component\";\nimport {GravityTextFieldComponent} from \"./components/gravity-text-field/gravity-text-field.component\";\nimport {GravityTooltipModule} from \"./vendor/gravity-tooltip\";\nimport {AngularSvgIconPreloaderModule} from \"angular-svg-icon-preloader\";\nimport {AngularSvgIconModule} from \"angular-svg-icon\";\nimport {GravityCalendarComponent} from \"./components/gravity-calendar/gravity-calendar.component\";\nimport {\n NgbDatepickerModule,\n NgbOffcanvasModule,\n NgbProgressbarModule,\n NgbToastModule\n} from \"@ng-bootstrap/ng-bootstrap\";\nimport {GravityRadioButtonComponent} from './components/gravity-radio-button/gravity-radio-button.component';\nimport {GravitySwitchComponent} from './components/gravity-switch/gravity-switch.component';\nimport {GravityCheckboxComponent} from './components/gravity-checkbox/gravity-checkbox.component';\nimport {GravityDialogComponent} from \"./components/gravity-dialog/gravity-dialog.component\";\nimport {GravityIconComponent} from \"./components/gravity-icon/gravity-icon.component\";\nimport {GravityNotificationComponent} from \"./components/gravity-notification/gravity-notification.component\";\nimport {\n GravityNotificationInstantContainerComponent\n} from \"./components/gravity-notification-instant/gravity-notification-instant-container.component\";\nimport {GravityAttachFileComponent} from \"./components/gravity-attach-file/gravity-attach-file.component\";\nimport {GravityTableComponent} from \"./components/gravity-table/gravity-table.component\";\nimport {GravityTreeViewComponent} from \"./components/gravity-tree-view/gravity-tree-view.component\";\nimport {NodeComponent} from \"./components/gravity-tree-view/node/node.component\";\nimport {NodeToggleComponent} from \"./components/gravity-tree-view/node/node-toggle/node-toggle.component\";\nimport {NodeCheckboxComponent} from \"./components/gravity-tree-view/node/node-checkbox/node-checkbox.component\";\nimport {NodeNameComponent} from \"./components/gravity-tree-view/node/node-name/node-name.component\";\nimport {GravityStepperComponent} from \"./components/gravity-stepper/gravity-stepper.component\";\nimport {BsDatepickerModule} from \"ngx-bootstrap/datepicker\";\nimport {GravityOffcanvasComponent} from \"./components/gravity-offcanvas/gravity-offcanvas.component\";\nimport {\n GravityTextFieldNumberOnlyComponent\n} from \"./components/gravity-text-field-number-only/gravity-text-field-number-only.component\";\nimport {FilterByPipe} from \"./components/gravity-dropdown-list/filter-by.pipe\";\nimport {GravityIconButtonComponent} from \"./components/gravity-icon-button/gravity-icon-button.component\";\nimport {\n GravityStatusIndicatorComponent\n} from \"./components/gravity-status-indicator/gravity-status-indicator.component\";\n\n@NgModule({\n declarations: [\n GravityAttachFileComponent,\n GravityButtonComponent,\n GravityCalendarComponent,\n GravityCheckboxComponent,\n GravityDialogComponent,\n GravityDropdownListComponent,\n GravityIconButtonComponent,\n GravityIconComponent,\n GravityNotificationComponent,\n GravityNotificationInstantContainerComponent,\n GravityOffcanvasComponent,\n GravityRadioButtonComponent,\n GravityStatusIndicatorComponent,\n GravityStepperComponent,\n GravitySwitchComponent,\n GravityTableComponent,\n GravityTextFieldComponent,\n GravityTextFieldNumberOnlyComponent,\n GravityTreeViewComponent,\n\n NodeComponent,\n NodeToggleComponent,\n NodeCheckboxComponent,\n NodeNameComponent,\n\n FilterByPipe\n ],\n imports: [\n AngularSvgIconModule.forRoot(),\n AngularSvgIconPreloaderModule.forRoot({\n configUrl: './assets/gravity/json/icons.json',\n }),\n BsDatepickerModule,\n CommonModule,\n FormsModule,\n GravityTooltipModule.forRoot({}),\n NgbDatepickerModule,\n NgbOffcanvasModule,\n NgbProgressbarModule,\n NgbToastModule,\n ReactiveFormsModule\n ],\n exports: [\n GravityAttachFileComponent,\n GravityButtonComponent,\n GravityCalendarComponent,\n GravityCheckboxComponent,\n GravityDialogComponent,\n GravityDropdownListComponent,\n GravityIconButtonComponent,\n GravityIconComponent,\n GravityNotificationInstantContainerComponent,\n GravityOffcanvasComponent,\n GravityRadioButtonComponent,\n GravityStatusIndicatorComponent,\n GravityStepperComponent,\n GravitySwitchComponent,\n GravityTableComponent,\n GravityTextFieldComponent,\n GravityTextFieldNumberOnlyComponent,\n GravityTooltipModule,\n GravityTreeViewComponent\n ]\n})\nexport class GravityDesignSystemModule {\n}\n","import {Injectable} from \"@angular/core\";\nimport {NgbModal, NgbModalRef} from \"@ng-bootstrap/ng-bootstrap\";\nimport {\n GravityDialogComponent,\n GravityDialogContentInterface\n} from \"../components/gravity-dialog/gravity-dialog.component\";\nimport {GravityInstantNotificationsService} from \"./gravity-instant-notifications.service\";\nimport {GravityNotificationComponent} from \"../components/gravity-notification/gravity-notification.component\";\nimport {GravityNotificationContent} from \"../components/gravity-notification/gravity-notification-content.interface\";\n\n@Injectable({providedIn: \"root\"})\nexport class GravityDialogManagerService {\n constructor(private readonly ngbModal: NgbModal, private readonly gravityInstantNotificationsService: GravityInstantNotificationsService) {\n }\n\n public openModal(gravityDialogContentInterface: GravityDialogContentInterface, scrollableDialog: boolean = false, modalSize: 'sm' | 'md' | 'lg' | 'xl' | 'fit' = 'md', backdrop: boolean | 'static' = true): NgbModalRef {\n const modalRef = this.ngbModal.open(GravityDialogComponent, {\n centered: true,\n scrollable: scrollableDialog,\n size: modalSize,\n backdrop: backdrop\n });\n modalRef.componentInstance.dialogContent = gravityDialogContentInterface;\n return modalRef;\n }\n\n public throwInformativeNotification(notificationContent: GravityNotificationContent): void {\n const modalRef = this.ngbModal.open(GravityNotificationComponent, {\n modalDialogClass: 'informative-notification',\n centered: true\n });\n modalRef.componentInstance.notificationContent = notificationContent;\n }\n\n public throwInstantNotification(notificationContent: GravityNotificationContent): void {\n this.gravityInstantNotificationsService.showNotification(notificationContent);\n }\n\n public closeModal(modalToClose: NgbModalRef, returnValue?: any): any {\n modalToClose.close(returnValue);\n }\n\n public closeAllModals(): boolean {\n if (this.ngbModal.hasOpenModals()) {\n this.ngbModal.dismissAll('dismiss all modals');\n }\n\n return true;\n }\n}\n","/*\n * Public API Surface of gravity-design-system\n */\n\nexport * from './lib/gravity-design-system.module';\n\n//Components\nexport * from './lib/components/gravity-attach-file/gravity-attach-file.component';\nexport * from './lib/components/gravity-button/gravity-button.component';\nexport * from './lib/components/gravity-calendar/gravity-calendar.component';\nexport * from './lib/components/gravity-checkbox/gravity-checkbox.component';\nexport * from './lib/components/gravity-dialog/gravity-dialog.component';\nexport * from './lib/components/gravity-dropdown-list/gravity-dropdown-list.component';\nexport * from './lib/components/gravity-icon/gravity-icon.component';\nexport * from './lib/components/gravity-icon-button/gravity-icon-button.component';\nexport * from './lib/components/gravity-notification-instant/gravity-notification-instant-container.component';\nexport * from './lib/components/gravity-offcanvas/gravity-offcanvas.component';\nexport * from './lib/components/gravity-radio-button/gravity-radio-button.component';\nexport * from './lib/components/gravity-status-indicator/gravity-status-indicator.component';\nexport * from './lib/components/gravity-stepper/gravity-stepper.component';\nexport * from './lib/components/gravity-switch/gravity-switch.component';\nexport * from './lib/components/gravity-table/gravity-table.component';\nexport * from './lib/components/gravity-text-field/gravity-text-field.component';\nexport * from './lib/components/gravity-text-field-number-only/gravity-text-field-number-only.component';\nexport * from './lib/components/gravity-tree-view/gravity-tree-view.component';\n\n//Services\nexport * from './lib/services/gravity-dialog-manager.service';\n\n//Vendor\nexport * from './lib/vendor/gravity-tooltip';\n\n//Models and interfaces\nexport * from './lib/components/gravity-notification/gravity-notification-content.interface';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3.GravityIconComponent","i2.GravityIconComponent","i1.FilterByPipe","i3","i4.GravityCheckboxComponent","i5.GravityIconComponent","i1.GravityInstantNotificationsService","i4.GravityIconComponent","i2.GravityButtonComponent","i1.GravityButtonComponent","i1.TreeService","i2.NodeToggleComponent","i3.NodeCheckboxComponent","i4.NodeNameComponent","i3.GravityTextFieldComponent","i4.NodeComponent","i1.GravityIconComponent","i2.GravityInstantNotificationsService"],"mappings":"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"}